@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&display=swap');
:root{--bg:#101010;--fg:#f0efeb;--muted:#999995;--red:#f33b30;--line:#333;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,summary{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:7px}img{display:block;width:100%;height:100%;object-fit:cover}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:absolute;z-index:10;top:0;width:100%}.brand{font-size:30px;letter-spacing:-2px;font-weight:700;display:flex;align-items:center}.brand .oo{color:var(--red);letter-spacing:-7px;margin-right:6px}.brand small{font-size:9px;letter-spacing:1px;writing-mode:vertical-rl;margin-left:7px}nav{display:flex;gap:36px;font-size:14px}nav a:hover,.footer-info a:hover{color:var(--red)}.contact-link{border-bottom:1px solid #777;padding:10px 0;font-size:14px}.contact-link span{margin-left:34px;color:var(--red)}.progress{position:fixed;top:0;left:0;height:3px;background:var(--red);z-index:50;width:0}.hero{height:165vh;min-height:1050px}.hero-stage{height:100svh;min-height:710px;position:sticky;top:0;overflow:hidden}.hero-meta{position:absolute;top:125px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.7px;color:#989894}.hero-title{position:absolute;top:27%;left:0;width:100%;text-align:center;z-index:3}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:500}h1{font-size:clamp(75px,8.5vw,140px);font-weight:450;line-height:.96;letter-spacing:-.065em;margin:32px 0 24px}em{font-family:Georgia,serif;font-weight:400}h1 em{letter-spacing:-.055em}.red-dot{color:var(--red);font-size:.22em;vertical-align:middle;margin-left:15px}.hero-desc{font-size:16px;line-height:1.6;color:#bbb}.round-link{display:inline-flex;gap:20px;align-items:center;font-size:14px;margin-top:8px}.round-link span{width:38px;height:38px;border:1px solid #666;border-radius:50%;display:grid;place-items:center;transition:.3s}.round-link:hover span{background:var(--red);border-color:var(--red);transform:rotate(45deg)}.float{position:absolute;z-index:1;will-change:transform;filter:brightness(.8)}.float span{font-size:10px;letter-spacing:1px;display:block;margin-top:10px;color:#aaa}.f1{width:22%;height:25%;left:-3%;top:22%;transform:rotate(-8deg)}.f2{width:15%;height:23%;right:4%;top:20%;transform:rotate(9deg)}.f3{width:19%;height:22%;left:7%;bottom:13%;transform:rotate(5deg)}.f4{width:23%;height:24%;right:-6%;bottom:12%;transform:rotate(-8deg)}.hero-bottom{position:absolute;bottom:30px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1px;color:#aaa;z-index:4}.hero-bottom a{color:var(--fg)}.hero-bottom a span{margin-left:20px}.section{padding:120px 6%;scroll-margin-top:30px}.section-label{font-size:12px;letter-spacing:1.5px;margin-bottom:40px}.studio{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid var(--line)}h2{font-size:clamp(44px,5vw,80px);font-weight:450;letter-spacing:-.05em;line-height:1.08;margin:0 0 40px}.muted{color:var(--muted)}.studio-bottom{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.studio-bottom p{line-height:1.8;max-width:400px;color:#aaa}.stat{display:flex;flex-direction:column;gap:15px}.stat strong{font-size:100px;letter-spacing:-7px;font-weight:400}.stat strong span{color:var(--red);font-size:65px}.stat>span{font-size:14px;color:#aaa}.work{background:#eae9e5;color:#171717}.work-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.work-head p{color:#666;line-height:1.7;font-size:14px;padding-bottom:28px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 36px}.project{border:0;padding:0;text-align:left;background:none;color:inherit;cursor:pointer}.project:nth-child(even){padding-top:115px}.project-photo{height:390px;overflow:hidden;position:relative;background:#ccc}.project-photo img{transition:transform .8s cubic-bezier(.2,.6,.2,1)}.project:hover img{transform:scale(1.05)}.project-photo .project-open{position:absolute;bottom:20px;right:20px;background:var(--fg);width:45px;height:45px;display:grid;place-items:center;border-radius:50%;font-size:20px;transition:.3s}.project:hover .project-open{background:var(--red);color:white}.project-info{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;border-bottom:1px solid #bbb;padding:20px 0}.project-info h3{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:0 0 8px}.project-info p{font-size:12px;color:#666;margin:0;letter-spacing:.6px}.project-info>span{font-size:12px;padding-top:6px}.statement{height:100vh;min-height:650px;position:relative;overflow:hidden}.statement>img{position:absolute;inset:0;filter:brightness(.32);z-index:0}.statement-inner{position:relative;z-index:1;padding:90px 6%;height:100%;display:flex;flex-direction:column;justify-content:center}.statement h2{font-size:clamp(70px,10vw,150px);margin:20px 0}.statement h2 em{color:#ff5044}.statement-note{position:absolute;right:6%;bottom:60px;font-size:14px}.expertise{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.expertise>div>p{line-height:1.8}.services details{border-bottom:1px solid #3b3b3b}.services summary{cursor:pointer;display:flex;align-items:center;gap:25px;list-style:none;padding:28px 0;font-size:25px;letter-spacing:-.5px}.services summary::-webkit-details-marker{display:none}.services summary span{font-size:12px;color:#999;letter-spacing:0}.services summary b{font-size:23px;margin-left:auto;font-weight:400;color:var(--red)}.services details[open] summary b{transform:rotate(45deg)}.services details p{padding:0 35px 24px 40px;color:#aaa;line-height:1.7;margin:0}.process{border-top:1px solid #333}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:70px}.steps article{border-top:1px solid #555;padding-top:24px}.steps span{font-size:12px;color:var(--red);letter-spacing:1px}.steps h3{font-size:24px;font-weight:450;letter-spacing:-.6px}.steps p{font-size:15px;color:#aaa;line-height:1.7}footer{background:var(--red);color:#141414}.footer-title{font-size:clamp(60px,8.8vw,135px);letter-spacing:-.055em;line-height:1.03;display:block;position:relative}.footer-title>span{position:absolute;right:0;top:0}.footer-info{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin:80px 0}.footer-info div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-info span{font-size:11px;letter-spacing:1.3px;margin-bottom:14px}.footer-info a,.footer-info p{line-height:1.6;font-size:16px;margin:0}.footer-info a:hover{color:white}.footer-bottom{border-top:1px solid #9e3028;display:flex;justify-content:space-between;align-items:center;padding-top:32px;font-size:12px}.footer-bottom .oo{color:#eee}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.motion .reveal.visible{opacity:1;transform:translateY(0)}dialog{border:1px solid #555;background:#161616;color:var(--fg);padding:50px;max-width:1100px;width:90vw;max-height:90vh}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.close{position:sticky;top:0;margin-left:auto;display:block;width:40px;height:40px;border:1px solid #666;background:#111;color:white;cursor:pointer;font-size:20px;z-index:2}dialog h2{font-size:45px;margin:10px 0 15px}dialog p{color:#aaa;line-height:1.7}dialog img{height:auto;margin-top:25px}.skip{position:fixed;top:-100px;background:white;color:black;padding:15px;z-index:100}.skip:focus{top:10px}
@media(min-width:1600px){.section{padding-left:10%;padding-right:10%}.project-photo{height:500px}}@media(max-width:800px){header{height:80px;padding:0 6%}.brand{font-size:25px}nav{gap:18px}nav a{font-size:12px}nav a:last-child{display:none}.contact-link{font-size:12px}.contact-link span{margin-left:10px}.hero{height:140vh;min-height:900px}.hero-stage{min-height:680px}.hero-meta{top:105px;left:6%;right:6%;font-size:9px}.hero-meta span:last-child{display:none}.hero-title{top:30%}h1{font-size:clamp(65px,12vw,95px);margin-top:25px}.eyebrow{font-size:10px}.hero-desc{font-size:14px}.f1{width:32%;height:17%;top:18%;left:-13%}.f2{width:25%;height:17%;top:16%;right:-8%}.f3{width:32%;height:16%;left:-7%;bottom:10%}.f4{width:34%;height:18%;right:-9%;bottom:9%}.float span{display:none}.hero-bottom{font-size:9px;bottom:25px}.hero-bottom>span:first-child{display:none}.section{padding:75px 6%}.studio{grid-template-columns:1fr}.studio-bottom{gap:30px}.stat strong{font-size:80px}.work-head{display:block}.work-head p{padding-bottom:0}.project-grid{gap:36px 20px}.project:nth-child(even){padding-top:65px}.project-photo{height:250px}.project-info h3{font-size:19px}.project-info>span{display:none}.project-info p{font-size:10px}.expertise{grid-template-columns:1fr;gap:25px}.services summary{font-size:22px}.steps{grid-template-columns:1fr 1fr;gap:30px}.statement{height:80vh;min-height:550px}.statement h2{font-size:85px}.footer-info{grid-template-columns:1fr 1fr;margin:60px 0}.footer-info>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px;flex-wrap:wrap}.footer-title>span{font-size:60px}dialog{padding:20px}dialog h2{font-size:34px}}@media(max-width:480px){nav{display:none}.project-grid{grid-template-columns:1fr}.project:nth-child(even){padding-top:0}.project-photo{height:320px}.studio-bottom{grid-template-columns:1fr}.stat{padding-top:15px}.steps{grid-template-columns:1fr}.hero-title{top:31%}.hero-bottom{left:6%;right:6%}.section-label{margin-bottom:30px}.statement h2{font-size:74px}.footer-title{font-size:56px}.footer-title>span{font-size:40px;top:-35px}.footer-info{grid-template-columns:1fr}.footer-info>div:first-child{grid-column:auto}.footer-bottom>span{font-size:10px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.motion .reveal{opacity:1;transform:none;transition:none}.float,.hero-title,.statement>img{transform:none!important}.project-photo img{transition:none}}

/* Scroll choreography: depth, pinned typography, horizontal portfolio, full-bleed reveal. */
.motion .hero{height:220vh}.motion .hero-stage{perspective:1000px;perspective-origin:50% 45%}.motion .float{transform-style:preserve-3d;backface-visibility:hidden}.motion .hero-title{will-change:transform,opacity}.motion .studio{height:230vh;display:block;padding:0 6%;position:relative}.motion .studio>.pin-inner{position:sticky;top:0;min-height:100svh;display:grid;grid-template-columns:1fr 3fr;gap:30px;align-content:center;padding:90px 0}.scroll-word{color:#444;transition:color .08s linear}.motion .studio h2{max-width:900px;line-height:1.15}.motion .stat{will-change:transform,opacity}.motion .work{height:430vh;padding:0 6%;position:relative}.motion .work>.pin-inner{position:sticky;top:0;height:100svh;min-height:700px;overflow:hidden;padding:55px 0 40px}.motion .work-head{margin:0 0 25px;align-items:center}.motion .work-head h2{font-size:clamp(40px,4vw,65px);margin-bottom:0}.motion .work-head .section-label{margin-bottom:20px}.motion .work-head p{padding:0}.motion .project-grid{display:flex;gap:35px;width:100%;will-change:transform}.motion .project{flex:0 0 55%;padding:0!important}.motion .project-photo{height:clamp(260px,43vh,570px)}.motion .project-info{padding:15px 0}.motion .statement{height:260vh;min-height:0;overflow:visible}.motion .statement-stage{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden}.motion .statement-stage>img{position:absolute;inset:0;z-index:0;will-change:transform,filter}.motion .statement-inner{padding:65px 6%;z-index:1}.motion .statement h2{font-size:clamp(70px,10vw,150px);line-height:1.02}.motion .statement h2>span{display:block;will-change:transform,opacity}.motion .statement .eyebrow{margin-bottom:10px}.motion .statement-note{bottom:35px}.motion .steps article{transition:none}.motion .services details{transition:background .3s}.motion .services details[open]{background:#191919}
@media(max-width:800px){.motion .hero{height:180vh}.motion .studio{height:190vh}.motion .studio>.pin-inner{grid-template-columns:1fr;gap:5px;padding:55px 0;min-height:100svh}.motion .studio .section-label{margin-bottom:25px}.motion .studio h2{font-size:clamp(38px,7vw,60px);margin-bottom:20px}.motion .studio-bottom{grid-template-columns:1.5fr 1fr;gap:20px}.motion .studio-bottom p{font-size:14px;line-height:1.6}.motion .stat strong{font-size:65px}.motion .stat>span{font-size:12px}.motion .work{height:auto;padding:75px 6%}.motion .work>.pin-inner{position:static;height:auto;min-height:0;overflow:visible;padding:0}.motion .work-head p{margin:25px 0}.motion .project-grid{display:grid;grid-template-columns:1fr;gap:45px;transform:none!important}.motion .project{position:sticky;top:20px;background:#eae9e5;padding:0 0 15px!important}.motion .project-photo{height:52vh;max-height:480px}.motion .project-info{background:#eae9e5}.motion .statement{height:210vh}.motion .statement h2{font-size:clamp(60px,12vw,90px)}.motion .statement-inner{padding:55px 6%}}
@media(max-height:650px) and (min-width:801px){.motion .work>.pin-inner{min-height:0;padding-top:25px}.motion .work-head h2{font-size:36px}.motion .work-head .section-label{margin-bottom:10px}.motion .project-photo{height:40vh}.motion .studio>.pin-inner{padding:30px 0}.motion .studio h2{font-size:48px}.motion .stat strong{font-size:65px}}

/* The studio is a normal-flow section with fully visible content. */
.motion .studio{height:auto;display:grid;grid-template-columns:1fr 3fr;padding:120px 6%;position:relative}
.motion .studio .stat{transform:none;opacity:1;will-change:auto}
.motion .studio h2{color:var(--fg)}
@media(max-width:800px){.motion .studio{grid-template-columns:1fr;padding:75px 6%}}
@media(max-width:480px){.motion .studio-bottom{grid-template-columns:1fr}}
