@charset "UTF-8";
:root{--paper:#f4f1e8;--ink:#252925;--muted:#61655d;--orange:#bc3917;--orange-bright:#ef592a;--blue:#1745df;--line:#cbcbbf;--white:#fffdf7;--radius:4px;color-scheme:light;font-family:"Bahnschrift","Arial",sans-serif;font-synthesis:none;font-weight:400;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}body,a,button{ -webkit-tap-highlight-color:transparent}body{font-size:17px;line-height:1.55}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img,svg,canvas{max-width:100%}img{display:block}button{border:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:650;line-height:1.05;letter-spacing:-.055em}p{max-width:68ch}h2{font-size:clamp(38px,4.2vw,66px)}h3{font-size:32px}h4{font-size:38px}ul{padding:0;list-style:none}figure{margin:0}small{font-size:13px}a,button,input{outline-offset:5px}:focus-visible{outline:3px solid var(--blue)}::selection{background:#ffd1b8;color:#242823}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:10px;left:15px;z-index:100;background:var(--blue);color:#fff;padding:12px 20px;transform:translateY(-150%)}.skip:focus{transform:none}
.header{height:94px;padding:0 4%;display:flex;gap:30px;align-items:center;position:sticky;top:0;background:var(--paper);z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;margin-right:auto}.monogram{font-size:36px;line-height:1;font-weight:800;letter-spacing:-.08em}.monogram span{color:var(--orange-bright)}.brand-caption{font-size:12px;line-height:1.2;max-width:92px;font-weight:500}.header nav{display:flex;gap:28px;align-items:center}.header nav a{font-size:15px;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}.header nav a:hover{border-color:var(--orange)}.language{display:flex;gap:3px;border-left:1px solid var(--line);padding-left:20px}.language button{display:flex;align-items:center;gap:6px;background:transparent;padding:7px 9px;min-width:63px;min-height:44px;font-size:12px;border-radius:3px}.language svg{width:20px;height:14px;border-radius:1px}.language button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.menu-toggle{display:none;background:transparent}.eyebrow{font-family:"Consolas","Courier New",monospace;font-size:12px;letter-spacing:.1em;line-height:1.6;text-transform:uppercase;font-weight:600}.muted{color:var(--muted)}.button{display:inline-flex;gap:20px;align-items:center;justify-content:space-between;padding:13px 22px;border-radius:var(--radius);min-height:50px;font-size:15px;font-weight:550;border:1px solid var(--ink)}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:var(--blue);border-color:var(--blue)}.outline{background:transparent}.outline:hover{background:#e8e4da}.button span[aria-hidden]{font-size:22px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:40px;min-height:48px;border-bottom:1px solid var(--ink);font-weight:600;font-size:15px}.text-link span[aria-hidden]{font-size:25px}.fineprint{font-size:13px;color:var(--muted)}
main{max-width:1600px;margin:0 auto}.hero{display:grid;grid-template-columns:1.06fr 1fr;padding:62px 4% 45px;gap:30px;min-height:650px}.hero-copy{padding-top:10px;position:relative;z-index:2}.hero h1{font-size:clamp(70px,8.8vw,141px);line-height:.91;letter-spacing:-.07em;margin:25px 0 28px}.hero h1>span{display:block}.accent-word{color:var(--orange)}.hero-degree{font-size:22px;line-height:1.25;letter-spacing:-.025em}.hero-degree>span:last-child{font-size:17px;color:var(--muted)}.hero-intro{font-size:17px;line-height:1.5;max-width:430px;margin-top:19px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:25px 0 20px}.contact-short{font-size:14px;border-bottom:1px solid var(--ink);padding:10px 0;margin-left:3px}.availability{font-family:"Consolas",monospace;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.availability>span:first-child{width:7px;height:7px;border-radius:50%;background:var(--blue);flex-shrink:0}.hero-lab{display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-lab .scene{height:460px;aspect-ratio:auto;background:#e7e4da}.hero-note{display:flex;gap:23px;align-items:center;font-size:13px;padding-top:15px;color:var(--muted)}.hero-note>span{font-family:"Consolas",monospace;font-size:11px}.hero-note p{max-width:230px}.intro-strip{border-block:1px solid var(--line);padding:23px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.intro-strip p{font-size:24px;font-weight:600;letter-spacing:-.03em}.intro-strip>span,.intro-strip a{font-family:"Consolas",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.intro-strip a span[aria-hidden]{font-size:18px;margin-left:10px}
.scene{position:relative;background:#e7e8de;height:500px;overflow:hidden;border:1px solid #d7d6c9;isolation:isolate}.scene:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#c8c9bd55 1px,transparent 1px),linear-gradient(90deg,#c8c9bd55 1px,transparent 1px);background-size:38px 38px;pointer-events:none}.scene canvas{width:100%;height:100%;position:absolute;inset:0;display:block;opacity:0;transition:opacity .3s}.scene.live canvas{opacity:1}.scene-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.scene.live .scene-fallback{visibility:hidden}.scene-top,.scene-caption{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:10px;z-index:2;pointer-events:none}.scene-top{top:20px}.scene-index{font-family:"Consolas",monospace;font-size:10px;letter-spacing:.1em}.scene-dot{width:8px;height:8px;background:var(--orange-bright);border-radius:50%}.scene-caption{bottom:20px;font-size:11px;color:#555a51}.scene-caption>span:last-child{border:1px solid #aeb0a3;padding:2px 6px;font-family:"Consolas",monospace;font-size:10px}.scene[data-scene=parking]{background:#e0e6ef}.scene[data-scene=game]{background:#e5e2da}.scene[data-scene=robot]{background:#e0e3df}.scene[data-scene=web]{background:#e3ece6}.scene-load-failed .scene-caption:after{content:""}
.projects{padding:90px 4% 50px}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:end;margin-bottom:50px}.section-heading>.eyebrow{grid-column:1/-1;margin-bottom:20px}.section-heading>p:last-child{font-size:16px;color:var(--muted);max-width:400px;justify-self:end;line-height:1.55}.project-index{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-bottom:65px}.project-index a{padding:7px 16px 7px 0;margin-right:18px;min-height:44px;font-size:13px}.project-index a>span{font-size:10px;font-family:"Consolas",monospace;color:var(--orange);margin-right:9px}.project-row{padding-top:25px;margin-bottom:90px;border-top:1px solid var(--ink);scroll-margin-top:115px}.project-heading{display:flex;align-items:center;gap:25px;margin:0 0 30px}.project-number{font-family:"Consolas",monospace;font-size:14px;align-self:flex-start;margin-top:6px;color:var(--orange)}.project-heading h3{font-size:42px;margin-top:3px}.project-heading h3 a:hover{color:var(--blue)}.project-heading .eyebrow{color:var(--muted);font-size:10px}.status{font-family:"Consolas",monospace;font-size:10px;letter-spacing:.025em;text-transform:uppercase;line-height:1.5;border:1px solid var(--line);padding:7px 12px;border-radius:20px;background:transparent;display:inline-block;max-width:100%}.project-heading>.status{margin-left:auto;text-align:right}.project-composition{display:grid;grid-template-columns:1.22fr 1fr;gap:7%;align-items:center}.project-copy{padding:15px 0}.project-copy h4{margin-bottom:20px;max-width:400px}.project-copy>p{font-size:16px;color:var(--muted);max-width:450px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin:23px 0}.tags li{font-family:"Consolas",monospace;font-size:10px;padding:6px 10px;border:1px solid var(--line);line-height:1.4;background:#ffffff36}.project-stages{display:flex;flex-direction:column;margin:24px 0 25px}.stage{border-top:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:9px 0;min-height:38px;font-size:12px;color:var(--muted)}.stage b{font-family:"Consolas",monospace;font-size:10px;font-weight:400}.stage.is-active{color:var(--ink)}.stage.is-active b{color:var(--orange)}.project-cloudmetric .project-composition,.project-velaris .project-composition{grid-template-columns:1fr 1.22fr}.project-cloudmetric .scene,.project-velaris .scene{grid-column:2;grid-row:1}.project-cloudmetric .project-copy,.project-velaris .project-copy{grid-column:1;grid-row:1}.project-proa .scene{height:320px}.project-proa .project-stages{display:none}.project-proa{margin-bottom:40px}.project-proa .project-composition{grid-template-columns:1fr 1.2fr}.project-proa .project-copy h4{font-size:32px}.collective-note{font-size:13px;border-left:3px solid var(--orange-bright);padding-left:20px;margin:35px 0 20px;color:var(--muted);max-width:850px}
.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2.1fr;gap:8%;padding:85px 7%;background:#ebe8df}.about-portrait{align-self:start;max-width:310px;padding-top:45px}.about-portrait img{width:100%;aspect-ratio:1;object-fit:cover;filter:saturate(.75);border-radius:3px}.about-portrait>span{display:block;font-family:"Consolas",monospace;font-size:11px;margin-top:12px;color:var(--muted)}.about-copy h2{font-size:clamp(36px,3.5vw,53px);margin:17px 0 27px}.about-copy>p:not(.eyebrow){font-size:16px;color:var(--muted);margin:0 0 20px}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;margin-top:35px}.profile-facts>div{border-top:1px solid #b7b9ac;padding-top:12px}.profile-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:"Consolas",monospace;margin-bottom:5px}.profile-facts dd{font-size:13px;margin:0}.cv-section{padding:80px 7%;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}.cv-section h2{margin:17px 0 22px;font-size:50px}.cv-section p:not(.eyebrow){font-size:15px;color:var(--muted)}.cv-downloads{display:flex;flex-direction:column;justify-content:center}.cv-downloads a{display:flex;align-items:center;gap:20px;border-top:1px solid var(--ink);padding:25px 10px;min-height:100px}.cv-downloads a:last-child{border-bottom:1px solid var(--ink)}.cv-downloads a>span:nth-child(2){font-size:22px;font-weight:600;letter-spacing:-.03em}.cv-downloads small{display:block;color:var(--muted);font-family:"Consolas",monospace;font-size:10px;margin-top:3px;letter-spacing:.03em}.cv-downloads a>span:last-child{margin-left:auto;font-size:28px}.doc-symbol{display:grid;place-items:center;width:40px;height:50px;border:1px solid var(--line);font-size:25px;color:var(--orange)}.cv-downloads a:hover{background:#e9e6dc}.contact{padding:90px 7%;display:grid;grid-template-columns:1fr 1fr;gap:12%;background:var(--blue);color:#fffdf7}.contact h2{margin:17px 0 25px}.contact p:not(.eyebrow){font-size:15px;max-width:390px;opacity:.88}.contact-links{display:flex;flex-direction:column;justify-content:center}.contact-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #ffffff70;padding:20px 0;font-size:19px;overflow-wrap:anywhere}.contact-links a>span{font-size:29px;flex-shrink:0}.contact-links a:hover{color:#f6d285}footer{padding:50px 7% 25px;background:var(--ink);color:var(--paper)}.brand-footer{font-size:clamp(38px,5vw,72px);font-weight:650;letter-spacing:-.07em;display:flex;align-items:center;justify-content:space-between}footer>p{font-size:13px;color:#c3c6ba;margin-top:12px}.footer-bottom{border-top:1px solid #63665c;margin-top:45px;padding-top:20px;display:flex;gap:30px;align-items:center;justify-content:space-between;font-size:11px;color:#c3c6ba}.motion-toggle{background:transparent;font-size:11px;padding:10px 5px;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:4px}.footer-bottom a{padding:10px 0;min-height:44px}.language-changing main{opacity:.55;transition:opacity .12s}main{transition:opacity .15s}
.detail{padding:35px 5% 0}.back-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;min-height:44px;color:var(--muted);margin-bottom:28px}.detail-hero{display:grid;grid-template-columns:1fr 1.08fr;gap:6%;align-items:center;padding-bottom:65px}.detail-hero h1{font-size:clamp(50px,5.2vw,84px);margin:20px 0;overflow-wrap:break-word}.detail-tagline{font-size:27px;letter-spacing:-.04em;margin:0 0 22px;line-height:1.15}.detail-summary{margin-top:22px;font-size:16px;color:var(--muted)}.detail-index{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;margin-top:28px}.detail-index a{border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}.detail-overview{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;border-top:1px solid var(--ink);padding:65px 0}.detail-overview h2{font-size:43px;margin:18px 0 25px}.detail-overview p{font-size:16px;color:var(--muted)}.detail-overview aside{border-left:1px solid var(--line);padding-left:35px}.detail-overview aside h3{font-size:20px;margin-bottom:15px;letter-spacing:-.03em}.detail-overview aside p{font-size:14px;margin-bottom:28px}.process-section{padding:55px 0;border-top:1px solid var(--line)}.process-section .section-heading{display:block;margin-bottom:45px}.process-section h2{margin-top:15px;font-size:48px}.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.process-scene{position:sticky;top:115px}.process-scene>.scene{height:520px}.process-step{min-height:280px;padding:20px 0 50px;border-top:1px solid var(--line)}.process-step>span{font-family:"Consolas",monospace;font-size:12px;color:var(--orange)}.process-step h3{font-size:29px;margin:15px 0 20px}.process-step p{font-size:16px;color:var(--muted)}.results{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:70px 0;border-top:1px solid var(--ink)}.results h2{font-size:38px;margin:20px 0 25px}.results p:not(.eyebrow){font-size:16px;color:var(--muted)}.gallery{padding:65px 0;border-top:1px solid var(--line)}.gallery .section-heading{display:block}.gallery h2{margin-top:15px;font-size:48px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery-grid figure:first-child{grid-column:1/-1}.gallery-grid img{width:100%;height:auto;max-height:550px;object-fit:contain;background:#e5e4db;border:1px solid var(--line);padding:15px}.gallery-grid figcaption{font-family:"Consolas",monospace;font-size:11px;color:var(--muted);margin-top:12px}.detail:has([data-scene=game]) .gallery-grid{grid-template-columns:repeat(3,1fr)}.detail:has([data-scene=game]) .gallery-grid figure:first-child{grid-column:auto}.detail:has([data-scene=game]) .gallery-grid img{height:300px}.demo-section{border-top:1px solid var(--ink);padding:65px 0}.demo-section h2{font-size:45px;margin:15px 0 23px}.demo-section>p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:760px}.resource-actions{display:flex;gap:15px;flex-wrap:wrap;align-items:center;margin-top:25px}.document-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);min-height:48px;font-size:13px}.demo-state{font-size:12px;line-height:1.5;padding:13px 17px;border:1px dashed var(--line);color:var(--muted)}.embed-host{width:100%;margin:25px 0}.embed-host iframe{width:100%;height:650px;border:1px solid var(--line);background:#fff}.next-project{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px 0 55px;font-size:12px;color:var(--muted)}.next-project a{font-size:28px;letter-spacing:-.05em;color:var(--ink);font-weight:600}.credits{max-width:900px;padding:50px 5% 80px}.credits h1{font-size:64px;margin:20px 0 40px}.credits h2{font-size:32px;margin:38px 0 18px}.credits p{font-size:16px;color:var(--muted)}.credits ul li{margin-bottom:8px}.credits ul a{display:inline-flex;gap:30px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
@media(min-width:1601px){.header{padding-inline:max(4%,calc((100vw - 1472px)/2))}footer{padding-inline:max(7%,calc((100vw - 1376px)/2))}}
@media(max-width:1100px){.header{gap:18px;padding-inline:4%;height:82px}.brand-caption{display:none}.header nav{gap:22px}.language{padding-left:12px}.hero{padding-top:40px;min-height:600px;gap:20px}.hero h1{font-size:clamp(70px,9.5vw,105px)}.hero-lab .scene{height:420px}.hero-actions{gap:9px}.hero-actions .button{padding:12px 16px;font-size:13px;gap:15px}.hero-intro{font-size:16px}.hero-degree{font-size:19px}.scene{height:430px}.section-heading{column-gap:40px}.project-composition{gap:6%}.project-heading h3{font-size:36px}.project-copy h4{font-size:32px}.project-copy>p{font-size:15px}.tags{gap:5px}.about{gap:7%}.about-copy h2{font-size:41px}.cv-section h2{font-size:43px}.contact-links a{font-size:17px}.detail-hero{gap:5%}.detail-hero>.scene{height:430px}.detail-hero h1{font-size:58px}.detail-overview{gap:7%}.process-scene>.scene{height:430px}.detail h2{font-size:38px}}
@media(max-width:800px){.header nav{gap:15px}.header nav a{font-size:13px}.header{gap:14px}.language{padding-left:8px}.language button{min-width:56px;padding-inline:6px}.hero{gap:20px;min-height:580px;padding-top:35px}.hero h1{font-size:76px}.hero-degree{font-size:17px}.hero-intro{font-size:15px}.hero-actions{margin-top:20px}.hero-actions .button{font-size:12px;padding:11px 12px}.contact-short{font-size:12px}.availability{font-size:10px}.hero-lab .scene{height:380px}.hero-note{font-size:11px;gap:13px}.intro-strip{flex-wrap:wrap}.intro-strip p{font-size:21px}.intro-strip>span{display:none}.projects{padding-top:65px}.section-heading{column-gap:30px}.section-heading>p:last-child{font-size:14px}.project-index{gap:2px;margin-bottom:45px}.project-index a{margin-right:10px;font-size:12px;padding-right:8px}.project-heading>.status{max-width:180px;font-size:9px}.project-composition,.project-cloudmetric .project-composition,.project-velaris .project-composition{grid-template-columns:1fr 1fr;gap:5%}.scene{height:390px}.scene-top,.scene-caption{left:15px;right:15px}.project-copy h4{font-size:28px}.project-copy>p{font-size:14px}.tags li{font-size:9px;padding:5px 7px}.project-stages{margin-block:18px}.stage{font-size:11px;gap:10px}.about{grid-template-columns:1fr 2.1fr;padding:65px 5%;gap:6%}.about-copy h2{font-size:34px}.profile-facts{grid-template-columns:1fr}.cv-section,.contact{padding-inline:5%;gap:8%}.cv-section h2{font-size:37px}.cv-downloads a>span:nth-child(2){font-size:20px}.contact h2{font-size:43px}.contact-links a{font-size:15px}.detail-hero{grid-template-columns:1fr 1fr}.detail-hero h1{font-size:46px}.detail-tagline{font-size:22px}.detail-hero>.scene{height:370px}.detail-index{gap:12px}.detail-summary{font-size:14px}.detail-overview aside{padding-left:25px}.process-step h3{font-size:26px}.process-step p{font-size:15px}.process-scene>.scene{height:380px}.results h2{font-size:32px}.embed-host iframe{height:550px}}
@media(max-width:640px){html{scroll-padding-top:82px}.header{height:74px;padding-inline:20px;gap:10px}.monogram{font-size:31px}.menu-toggle{display:flex;align-items:center;gap:9px;padding:10px 4px;font-size:13px;min-height:44px;margin-left:auto}.brand{margin-right:0}.language{padding-left:8px}.language button{min-width:51px;gap:4px;padding-inline:5px;font-size:11px}.language svg{width:17px;height:12px}.header nav{position:absolute;top:73px;left:0;right:0;padding:20px;flex-wrap:wrap;gap:10px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.header nav a{font-size:16px;min-height:48px}.js .header nav{display:none}.js .header nav.is-open{display:flex}.hero{grid-template-columns:1fr;padding:36px 20px 28px;gap:23px;min-height:0}.hero h1{font-size:clamp(69px,18vw,104px);margin-top:23px;margin-bottom:25px}.hero-degree{font-size:20px}.hero-degree>span:last-child{font-size:15px}.hero-intro{font-size:15px;max-width:390px}.hero-actions{gap:10px;margin-bottom:17px}.hero-actions .button{font-size:13px;padding:12px 14px;gap:18px}.contact-short{font-size:13px;margin-left:0;min-height:44px}.availability{font-size:10px;line-height:1.6}.hero-lab .scene{height:330px}.hero-note{padding-top:10px;gap:20px;font-size:11px}.hero-note p{max-width:none}.intro-strip{padding:20px;gap:16px}.intro-strip p{font-size:18px}.intro-strip a{font-size:9px}.projects{padding:58px 20px 40px}.section-heading{display:block;margin-bottom:35px}.section-heading>.eyebrow{margin-bottom:18px}.section-heading h2{font-size:40px;line-height:1.06}.section-heading>p:last-child{margin-top:22px;max-width:410px;font-size:15px}.project-index{margin-bottom:38px;gap:0;padding-top:12px}.project-index a{font-size:11px;margin-right:12px;padding-right:2px;min-height:44px}.project-row{margin-bottom:56px;padding-top:20px}.project-heading{flex-wrap:wrap;gap:13px;margin-bottom:22px}.project-number{font-size:12px}.project-heading h3{font-size:34px;max-width:270px;overflow-wrap:break-word}.project-heading .eyebrow{font-size:9px}.project-heading>.status{margin-left:29px;text-align:left;max-width:100%;font-size:9px}.project-composition,.project-cloudmetric .project-composition,.project-velaris .project-composition,.project-proa .project-composition{display:flex;flex-direction:column;gap:24px;align-items:stretch}.project-row .scene{height:340px;width:100%}.project-copy{padding:0}.project-copy h4{font-size:32px;max-width:340px;margin-bottom:15px}.project-copy>p{font-size:15px}.tags{margin-block:19px}.tags li{font-size:10px;padding:6px 8px}.project-stages{margin-top:20px;margin-bottom:16px}.stage{font-size:12px;gap:17px;min-height:41px}.project-proa .scene{height:280px}.project-proa .project-copy h4{font-size:29px}.collective-note{font-size:12px;margin-top:30px;padding-left:15px}.about{grid-template-columns:1fr;padding:50px 20px;gap:30px}.about-portrait{max-width:145px;padding-top:0}.about-copy h2{font-size:37px;margin-top:18px}.about-copy>p:not(.eyebrow){font-size:15px}.profile-facts{grid-template-columns:1fr 1fr;gap:20px}.profile-facts dd{font-size:12px}.profile-facts dt{font-size:9px}.cv-section{grid-template-columns:1fr;padding:55px 20px;gap:30px}.cv-section h2{font-size:40px}.cv-downloads a{padding:19px 8px;min-height:95px}.cv-downloads a>span:nth-child(2){font-size:21px}.contact{grid-template-columns:1fr;padding:58px 20px;gap:35px}.contact h2{font-size:46px}.contact-links a{font-size:18px;padding-block:18px}.contact p:not(.eyebrow){font-size:15px}footer{padding:40px 20px 20px}.brand-footer{font-size:48px}.footer-bottom{margin-top:35px;gap:12px;flex-wrap:wrap;font-size:10px}.motion-toggle{font-size:10px}.detail{padding:25px 20px 0}.back-link{margin-bottom:20px}.detail-hero{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.detail-hero h1{font-size:clamp(46px,12vw,70px);margin-block:17px}.detail-tagline{font-size:25px}.detail-summary{font-size:15px}.detail-hero>.scene{height:340px}.detail-index{gap:13px;font-size:11px;margin-top:18px}.detail-overview{grid-template-columns:1fr;gap:35px;padding:45px 0}.detail-overview h2{font-size:35px}.detail-overview p{font-size:15px}.detail-overview aside{padding-left:20px}.detail-overview aside p{font-size:14px}.process-section{padding:40px 0}.process-section h2{font-size:36px}.process-layout{grid-template-columns:1fr;gap:25px}.process-scene{position:relative;top:auto}.process-scene>.scene{height:320px}.process-step{min-height:0;padding:22px 0 30px}.process-step h3{font-size:28px}.process-step p{font-size:15px}.results{grid-template-columns:1fr;padding:45px 0;gap:35px}.results h2{font-size:34px}.results p:not(.eyebrow){font-size:15px}.gallery{padding:40px 0}.gallery h2{font-size:37px}.gallery-grid,.detail:has([data-scene=game]) .gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-grid figure:first-child{grid-column:auto}.gallery-grid img{padding:8px}.detail:has([data-scene=game]) .gallery-grid img{height:260px}.demo-section{padding:45px 0}.demo-section h2{font-size:36px}.demo-section>p:not(.eyebrow){font-size:15px}.resource-actions{gap:12px}.resource-actions .button{font-size:13px;padding:12px 17px}.demo-state{font-size:11px}.document-link{font-size:12px}.embed-host iframe{height:480px}.next-project{align-items:flex-start;padding-block:28px 40px;font-size:10px}.next-project a{font-size:24px;max-width:200px}.credits{padding:30px 20px 55px}.credits h1{font-size:47px}.credits h2{font-size:29px}.credits p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}html.motion-reduced{scroll-behavior:auto}html.motion-reduced *,html.motion-reduced *::before,html.motion-reduced *::after{animation:none!important;transition:none!important}
/* Revision: the models sit directly on the page, with no coloured panel/grid. */
.scene,.hero-lab .scene,.scene[data-scene=parking],.scene[data-scene=game],.scene[data-scene=robot],.scene[data-scene=web]{background:transparent;border:0}
.scene::before{display:none}
.scene-top,.scene-caption{display:none!important}
.project-heading .eyebrow{font-family:inherit;font-size:19px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--blue);font-weight:650;margin-bottom:8px}
.detail-hero>div>.eyebrow{font-family:inherit;font-size:20px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--blue)}
.project-copy .text-link{background:var(--orange);color:var(--white);border:1px solid var(--orange);border-radius:4px;padding:13px 20px;min-height:54px;font-size:16px;gap:35px;transition:background .15s,transform .15s}
.project-copy .text-link:hover{background:#9f2d10;border-color:#9f2d10;transform:translateY(-2px)}
.scene-fallback{transform:none}
@media(max-width:800px){.project-heading .eyebrow{font-size:17px}.detail-hero>div>.eyebrow{font-size:18px}}
@media(max-width:640px){.project-heading .eyebrow{font-size:17px}.project-copy .text-link{font-size:15px;min-height:52px;padding:13px 19px;gap:32px}.scene-fallback{transform:none}}
@media print{.header,.scene,.language,.hero-lab,.project-index,.motion-toggle,.embed-demo,.embed-host{display:none!important}body{background:white;color:black}.hero,.project-composition,.about,.detail-hero,.process-layout{display:block}.projects,.about,.cv-section,.contact,.detail{padding:20px}.contact{background:white;color:black}a{text-decoration:underline}.project-row{break-inside:avoid}.process-step{min-height:0}footer{background:white;color:black}.brand-footer{font-size:30px}}

