:root{--paper:#f3f1eb;--white:#fffefa;--ink:#171719;--muted:#68676a;--line:#d7d4cd;--blue:#3448ef;--blue2:#6975ff;--yellow:#f1ed63;--pink:#f27798;--orange:#ff875c;--rail:88px;--pad:clamp(22px,5.5vw,84px);--max:1440px;--display:'Manrope',Arial,sans-serif;--editorial:'Space Grotesk',Arial,sans-serif;--mono:'DM Mono',monospace;--grad:linear-gradient(125deg,#3448ef 4%,#9b50e1 53%,#f27798 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;padding:12px;background:var(--yellow);color:var(--ink)}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.section-wrap{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}
/* A narrow index rail replaces the conventional top navigation. */
.site-header{position:fixed;z-index:40;left:0;top:0;bottom:0;width:var(--rail);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:25px 10px 20px;background:var(--ink);color:var(--paper);border-right:1px solid #333337}.brand{display:flex;align-items:center;gap:3px;font:700 15px var(--editorial);letter-spacing:-.09em;writing-mode:vertical-rl;transform:rotate(180deg)}.brand b,.brand>span+b{color:var(--yellow)}.site-nav{display:flex;flex-direction:column;align-items:center;gap:20px}.site-nav>a:not(.nav-cta){display:flex;flex-direction:column;align-items:center;gap:5px;color:#c4c2c2;transition:color .2s}.site-nav>a:not(.nav-cta):hover{color:var(--yellow)}.site-nav i{font:7px var(--mono);font-style:normal;color:#77767b}.site-nav>a:not(.nav-cta) span{font-size:9px;font-weight:600;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.06em}.nav-cta{width:40px;height:58px;display:grid;place-content:center;gap:4px;text-align:center;background:var(--yellow);color:var(--ink);font-size:7px;font-weight:800;writing-mode:vertical-rl;transform:rotate(180deg);transition:background .2s}.nav-cta:hover{background:var(--pink)}.nav-cta b{font-size:12px}.rail-footer{display:flex;flex-direction:column;gap:12px}.rail-footer a{font:7px var(--mono);color:#b5b3b4}.rail-footer a:hover{color:var(--yellow)}.menu-toggle{display:none}.eyebrow{margin:0 0 18px;font:8px var(--mono);letter-spacing:.12em;color:#69686a}.availability-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3f9768;margin-right:7px;box-shadow:0 0 0 3px #3f976822}.eyebrow-divider{margin:0 8px;color:#aaa8a4}.title-stop{color:var(--blue)}
/* Desktop canvas sits beside the vertical rail. */
.hero,.intro-section,.clients,.work,.motion,.services,.about,.tools,.contact,.site-footer{width:calc(100% - var(--rail));max-width:none;margin-left:var(--rail)}.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1.05fr .86fr;align-items:center;gap:7%;padding:70px max(var(--pad),calc((100vw - var(--rail) - var(--max))/2 + var(--pad))) 95px;background:var(--paper)}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(76px,9vw,128px);line-height:.78;letter-spacing:-.105em;font-weight:700;margin:0}.name-accent{color:var(--blue)}.mobile-only{display:none}.hero-role{font-size:clamp(16px,1.8vw,22px);font-weight:700;letter-spacing:-.04em;margin:25px 0 11px}.hero-role span{color:var(--blue)}.hero-intro{max-width:410px;margin:0;color:#59585a;font-size:12px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:23px}.button{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid transparent;border-radius:0;font-size:9px;font-weight:700;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:15px}.button-primary{background:var(--blue);color:white}.button-primary:hover{background:#202fca}.quiet-link{font-size:9px;font-weight:700;border-bottom:1px solid #aaa7a0;padding-bottom:5px}.quiet-link span{color:var(--blue);margin-left:6px}.hero-stats{display:flex;gap:clamp(20px,3vw,39px);max-width:440px;margin-top:41px;padding-top:14px;border-top:1px solid var(--line)}.hero-stats>div{display:grid;gap:4px}.hero-stats strong{font:600 24px var(--editorial);letter-spacing:-.06em}.hero-stats strong span{color:var(--blue)}.hero-stats small{font:7px var(--mono);letter-spacing:.06em;color:#737173}.hero-art{position:relative;height:min(620px,70vw);min-height:420px;margin:0;overflow:hidden;background:#ddd7d1;isolation:isolate}.hero-art>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.83) contrast(1.03);transition:transform .7s}.hero-art:hover>img{transform:scale(1.025)}.hero-art:before{content:"";position:absolute;z-index:1;inset:15px;border:1px solid #fff8;pointer-events:none}.hero-art figcaption{position:absolute;inset:0;z-index:2;pointer-events:none}.image-placeholder-label{position:absolute;top:29px;left:29px;padding:8px 10px;background:var(--yellow);color:var(--ink);font:7px var(--mono);letter-spacing:.06em}.hero-caption{position:absolute;bottom:46px;left:28px;color:#fff;font:8px/1.4 var(--mono);letter-spacing:.08em;text-shadow:0 1px 12px #000}.hero-caption-index{position:absolute;right:25px;bottom:22px;color:#fff;font:7px var(--mono);letter-spacing:.08em;text-shadow:0 1px 12px #000}.hero-stamp{position:absolute;z-index:3;right:-21px;top:24%;width:106px;height:106px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--blue);color:#fff;font:700 9px/1.3 var(--mono);transform:rotate(8deg)}.hero-stamp span{position:absolute;right:11px;top:9px;color:var(--yellow);font-size:13px}.hero-edge-note{position:absolute;right:var(--pad);bottom:29px;font:7px var(--mono);letter-spacing:.11em;color:#858184}.hero-edge-note span{color:var(--blue);padding:0 6px}
.intro-section{position:relative;overflow:hidden;background:var(--blue);color:white;padding:0}.intro-inner{position:relative;z-index:1;padding-top:53px;padding-bottom:48px}.intro-section .eyebrow{display:flex;justify-content:space-between;color:#d4d8ff;font-size:7px}.intro-section h2{font:600 clamp(67px,9vw,120px)/.78 var(--editorial);letter-spacing:-.105em;margin:34px 0 27px}.intro-section h2 em{font-style:normal;color:var(--yellow)}.intro-bottom{display:flex;align-items:center;justify-content:space-between;max-width:850px}.intro-mark{font:700 11px var(--mono);color:#cbd1ff}.intro-bottom p{max-width:370px;margin:0;color:#e2e4ff;font-size:10px;line-height:1.65}.intro-bottom a{font-size:9px;border-bottom:1px solid #bcc4ff;padding-bottom:6px}.intro-bottom a span{color:var(--yellow);margin-left:10px}.intro-outline{position:absolute;right:5%;top:14%;font:700 clamp(90px,15vw,200px)/.8 var(--editorial);letter-spacing:-.1em;color:#ffffff0b;pointer-events:none}
.clients{padding:73px max(var(--pad),calc((100vw - var(--rail) - var(--max))/2 + var(--pad))) 81px;background:#e6e2d9}.section-top>.eyebrow{margin-bottom:21px}.client-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.client-heading h2,.work-title-row h2,.motion-title-row h2,.services-heading h2{font:600 clamp(46px,6.5vw,82px)/.85 var(--editorial);letter-spacing:-.09em;margin:0}.client-heading h2 em,.work-title-row h2 em,.motion-title-row h2 em,.services-heading h2 em{font-style:normal;color:var(--blue)}.client-heading>p{max-width:305px;color:#646269;font-size:10px;line-height:1.7;margin:0 2% 4px 0}.client-wall{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #c5c0b7;border-left:1px solid #c5c0b7}.client-wall>span{min-height:65px;display:flex;align-items:center;justify-content:center;gap:4px;border-right:1px solid #c5c0b7;border-bottom:1px solid #c5c0b7;font-size:12px;font-weight:800;letter-spacing:-.055em;color:#343237;white-space:nowrap}.client-wall i{font-size:.62em;font-style:normal;color:#77737b}.client-wall sup{font-size:8px;color:var(--blue)}
.work{padding:82px max(var(--pad),calc((100vw - var(--rail) - var(--max))/2 + var(--pad))) 90px;background:var(--paper)}.work-heading{margin-bottom:28px}.work-title-row{display:flex;justify-content:space-between;align-items:end;gap:25px}.work-title-row>p{max-width:300px;margin:0 2% 4px 0;font-size:10px;line-height:1.7;color:#66636a}.work-explorer{display:grid;grid-template-columns:180px 1fr;gap:4.5%;align-items:start}.work-index{position:sticky;top:90px}.work-index>.eyebrow{font-size:7px;margin:3px 0 18px;color:#88838c}.filters{display:flex;flex-direction:column;border-top:1px solid var(--line)}.filter-button{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;width:100%;padding:11px 6px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:#77737a;font-size:9px;cursor:pointer;transition:color .18s,padding .18s}.filter-button:hover,.filter-button.active{color:var(--ink);padding-left:11px}.filter-button.active{background:var(--yellow)}.filter-button .filter-num{font:7px var(--mono);color:#98939a}.filter-button>b{font:7px var(--mono);color:var(--blue)}.gallery-status{margin:18px 0 0;font:7px/1.6 var(--mono);color:#77737a}.gallery-status span{color:var(--blue)}.show-more{margin-top:14px;padding:9px 10px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:8px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}.show-more:hover{background:var(--ink);color:white}.show-more span{margin-left:10px;color:var(--blue);font:7px var(--mono)}.show-more[hidden]{display:none}.work-index .placeholder-note{font-size:7px;line-height:1.5;margin-top:16px;color:#77737a}.work-index .placeholder-note span{color:var(--blue)}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-flow:dense;gap:10px}.gallery-item{position:relative;min-width:0;padding:0;border:0;background:#d4d1d4;color:#fff;text-align:left;cursor:pointer;overflow:hidden;grid-column:span 2;transition:transform .25s,box-shadow .25s}.gallery-item:nth-child(6n+1){grid-column:span 4;grid-row:span 2}.gallery-item:nth-child(6n+1)>img{height:100%;min-height:270px;aspect-ratio:auto}.gallery-item:nth-child(6n+2),.gallery-item:nth-child(6n+3){grid-column:span 2}.gallery-item[hidden]{display:none}.gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#171719df,transparent);pointer-events:none}.gallery-item>img{display:block;width:100%;aspect-ratio:1.16;object-fit:cover;transition:transform .45s,filter .3s}.gallery-item:hover{transform:translateY(-3px);box-shadow:0 12px 22px #26212a33}.gallery-item:hover>img{transform:scale(1.04);filter:saturate(1.1)}.gallery-meta{position:absolute;left:10px;right:10px;bottom:9px;z-index:1;display:grid;grid-template-columns:1fr auto;gap:3px 6px;align-items:center}.gallery-meta b{font-size:8px}.gallery-meta small{grid-column:1;color:#e4e0e8;font:6px var(--mono);letter-spacing:.07em}.gallery-meta i{grid-column:2;grid-row:1/3;color:var(--yellow);font:normal 13px var(--display)}.extra-work{display:block}.work-index>.placeholder-note{display:flex;gap:6px}
.motion{padding:79px max(var(--pad),calc((100vw - var(--rail) - var(--max))/2 + var(--pad))) 81px;background:#dce3f6;color:var(--ink)}.motion .section-top>.eyebrow{color:#666c8b}.motion-title-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:29px}.motion-title-row>p{max-width:300px;margin:0 2% 4px 0;color:#5c6072;font-size:10px;line-height:1.7}.motion-title-row h2 em{color:#ef6749}.motion-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.motion-feature .motion-poster{aspect-ratio:1.38}.motion-side{display:flex;flex-direction:column;gap:14px}.motion-side .motion-poster{aspect-ratio:2.14}.motion-card{min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.motion-poster{position:relative;display:block;overflow:hidden;background:#514493}.motion-poster img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .3s}.motion-card:hover .motion-poster img{transform:scale(1.04);filter:saturate(1.15)}.poster-purple img{filter:hue-rotate(30deg)}.poster-coral img{filter:hue-rotate(-35deg)}.play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:12px;font-style:normal;transition:transform .2s}.motion-card:hover .play-button{transform:translate(-50%,-50%) scale(1.1)}.motion-poster small{position:absolute;left:9px;top:9px;padding:6px 7px;background:var(--ink);color:white;font:6px var(--mono);letter-spacing:.07em}.motion-caption{display:flex;justify-content:space-between;gap:8px;padding-top:8px}.motion-caption b{font-size:9px}.motion-caption i{font:6px var(--mono);font-style:normal;color:#6a6c7b}.motion .placeholder-note{margin-top:17px;color:#606274;font-size:8px}.motion .placeholder-note span{color:var(--blue)}
.services{padding-top:82px;padding-bottom:86px;background:var(--ink);color:var(--paper)}.services .section-top>.eyebrow{color:#c4c0c5}.services-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.services-heading h2 em{color:var(--yellow)}.services-heading>p{max-width:295px;margin:0 2% 4px 0;color:#b2afb4;font-size:10px;line-height:1.7}.service-grid{display:flex;flex-direction:column;border-top:1px solid #49484b}.service-card{position:relative;display:grid;grid-template-columns:34px 54px 1.1fr 1.4fr 24px;align-items:center;gap:13px;min-height:83px;padding:10px 8px;border:0;border-bottom:1px solid #49484b;background:transparent;transition:background .2s,padding .2s}.service-card:hover{padding-inline:15px;background:#27272e}.service-card>span{font:7px var(--mono);color:#a39fa7}.service-icon{color:var(--yellow);font:500 25px var(--editorial);letter-spacing:-.1em}.service-icon span{font-size:.6em;color:var(--pink)}.service-card h3{margin:0;font-size:14px;font-weight:600;letter-spacing:-.035em}.service-card p{max-width:330px;margin:0;color:#b9b6bc;font-size:9px;line-height:1.6}.service-card>i{font:normal 14px var(--display);color:var(--pink);text-align:right}
.about{padding:79px max(var(--pad),calc((100vw - var(--rail) - var(--max))/2 + var(--pad))) 84px;background:var(--paper)}.about-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:26px}.about-top>span{font:7px var(--mono);color:#828087}.about-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:7%;align-items:center}.about-visual{position:relative;margin:0;height:440px;overflow:hidden;background:#d9d5da}.about-visual img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.84)}.about-visual figcaption{position:absolute;inset:0;pointer-events:none}.about-visual .image-placeholder-label{position:absolute;top:13px;left:13px;padding:7px 8px;background:var(--yellow);font:6px var(--mono)}.about-visual figcaption b{position:absolute;right:12px;bottom:12px;padding:9px;background:var(--blue);color:#fff;font:8px var(--mono)}.about-copy h2{margin:0 0 18px;font:600 clamp(52px,6vw,79px)/.84 var(--editorial);letter-spacing:-.095em}.about-copy h2 em{font-style:normal;color:var(--blue)}.about-copy>p:not(.eyebrow){max-width:540px;margin:0 0 9px;color:#5e5c60;font-size:9px;line-height:1.8}.about-copy>p.about-lede{margin-bottom:13px;color:var(--ink);font-size:12px;line-height:1.65}.about-socials{display:flex;gap:18px;margin-top:18px}.about-socials a{padding-bottom:4px;border-bottom:1px solid #aaa8ac;color:var(--blue);font:7px var(--mono)}.about-socials a:hover{border-color:var(--pink);color:#cb3977}
.tools{padding:0;background:linear-gradient(120deg,#ecea8a,#f0e46d 50%,#f7c765)}.tools-inner{position:relative;overflow:hidden;display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:7%;padding-top:49px;padding-bottom:50px}.tools .section-top>.eyebrow{color:#5d591f}.tools .section-top{position:relative;z-index:1}.tools h2{font:600 clamp(45px,6vw,72px)/.82 var(--editorial);letter-spacing:-.09em;margin:0}.tools h2 em{font-style:normal;color:#5f41c7}.tools-list{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px}.tool-group>p{margin:0 0 7px;font:7px var(--mono);letter-spacing:.1em;color:#605a33}.tool-chips{display:flex;flex-wrap:wrap;gap:6px}.tool-chips span{padding:7px 9px;border:1px solid #504b2c55;background:#fff9d879;color:#302e26;font-size:8px;font-weight:700;transition:background .18s,color .18s}.tool-chips span:hover{background:#563dcb;color:#fff}.tools-watermark{position:absolute;right:-13px;bottom:-70px;font:700 170px/.8 var(--editorial);letter-spacing:-.12em;color:#fff4;pointer-events:none}
.contact{padding:0;background:var(--blue);color:white}.contact-inner{display:grid;grid-template-columns:1.18fr .82fr;gap:8%;padding:58px max(var(--pad),calc((100vw - var(--rail) - var(--max))/2 + var(--pad)));background:linear-gradient(120deg,#293bd6 0%,#6548dc 52%,#bd4eaa 100%)}.contact-main{position:relative}.contact-main .eyebrow,.contact-details .eyebrow{color:#e0dcff}.contact h2{margin:0 0 20px;font:600 clamp(62px,8vw,105px)/.78 var(--editorial);letter-spacing:-.105em}.contact h2 em{font-style:normal;color:var(--yellow)}.contact-main>p:not(.eyebrow){max-width:320px;margin:0;color:#eeebff;font-size:10px;line-height:1.7}.contact-buttons{display:flex;gap:9px;margin-top:21px}.contact .button-primary{background:var(--yellow);color:var(--ink)}.contact .button-primary:hover{background:#fffca5}.contact .button-glass{border-color:#ffffff80;color:#fff}.contact .button-glass:hover{background:#ffffff20}.contact-details{align-self:end;padding:20px 0 0 20px;border-left:1px solid #ffffff60}.contact-details .eyebrow{margin-bottom:17px;font-size:7px}.contact-details>div{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.contact-details small{font:6px var(--mono);letter-spacing:.12em;color:#d6d0ff}.contact-details a,.contact-details span{font-size:8px;color:white;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:3px}.site-footer{min-height:58px;background:var(--ink);color:white}.footer-inner{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad);min-height:58px;display:flex;align-items:center;justify-content:space-between}.site-footer .brand{font-size:13px;writing-mode:initial;transform:none}.site-footer .brand b{color:var(--yellow)}.site-footer>div>span,.back-top{font:6px var(--mono);letter-spacing:.09em;color:#cac7ce}.back-top span{color:var(--yellow);padding-left:7px}.back-top:hover{color:#fff}
.detail-dialog{position:fixed;max-width:min(760px,calc(100% - 32px));max-height:90vh;padding:17px;border:1px solid #8d8c95;background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #111a}.detail-dialog::backdrop{background:#17171ed9;backdrop-filter:blur(5px)}.detail-dialog>img{display:block;max-width:100%;max-height:62vh;margin:0 auto 14px;object-fit:contain}.detail-dialog h2{margin:8px 45px 7px 0;font:600 20px var(--editorial)}.detail-dialog p{margin:0;color:#69676c;font-size:9px}.dialog-close{position:absolute;right:11px;top:11px;width:31px;height:31px;border:0;background:var(--yellow);color:var(--ink);font-size:19px;cursor:pointer}.dialog-close:hover{background:var(--pink)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .58s ease,transform .58s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}@keyframes gallery-in{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){:root{--rail:76px}.hero{grid-template-columns:1fr .8fr;gap:5%}.hero h1{font-size:clamp(68px,9vw,96px)}.hero-art{min-height:360px}.hero-stats{gap:16px}.hero-stats strong{font-size:22px}.client-wall{grid-template-columns:repeat(4,1fr)}.work-explorer{grid-template-columns:150px 1fr;gap:3%}.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-item{grid-column:span 2}.gallery-item:nth-child(6n+1){grid-column:span 4}.service-card{grid-template-columns:28px 39px 1fr 1.1fr 18px;gap:9px}.about-layout{grid-template-columns:.7fr 1.3fr;gap:5%}.about-visual{height:390px}}
@media(max-width:640px){:root{--rail:0px;--pad:22px}html{scroll-padding-top:64px}.site-header,.site-header.scrolled{position:sticky;top:0;bottom:auto;width:100%;height:64px;padding:0 var(--pad);flex-direction:row;justify-content:space-between;border-right:0;border-bottom:1px solid #35353b}.brand{writing-mode:initial;transform:none;font-size:18px}.menu-toggle{display:flex;align-items:center;gap:8px;padding:10px 0;border:0;background:transparent;color:white;font-size:9px}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:18px;height:1px;background:#fff;position:relative;transition:transform .2s}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.menu-toggle[aria-expanded=true] .menu-icon{background:transparent}.menu-toggle[aria-expanded=true] .menu-icon:before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(-45deg)}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:15px var(--pad) 21px;background:#17171cf7;border-bottom:1px solid #47464b;align-items:stretch;gap:0}.site-nav.open{display:flex;flex-direction:column}.site-nav>a:not(.nav-cta){display:flex;flex-direction:row;gap:10px;padding:12px 0;border-bottom:1px solid #ffffff1e}.site-nav>a:not(.nav-cta) span{writing-mode:initial;transform:none;font-size:10px}.site-nav i{font-size:7px}.nav-cta{width:auto;height:auto;display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding:12px 14px;writing-mode:initial;transform:none;text-align:left;font-size:9px}.nav-cta b{font-size:13px}.rail-footer{display:none}.hero,.intro-section,.clients,.work,.motion,.services,.about,.tools,.contact,.site-footer{width:100%;margin-left:0}.hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:43px var(--pad) 72px}.hero h1{font-size:clamp(76px,18vw,108px)}.mobile-only{display:initial}.hero .eyebrow{font-size:6px}.hero-role{font-size:15px;margin-top:18px}.hero-intro{font-size:10px}.hero-stats{justify-content:space-between;gap:7px;margin-top:28px}.hero-stats strong{font-size:21px}.hero-stats small{font-size:5px;letter-spacing:.03em}.hero-art{height:105vw;max-height:420px;min-height:300px;width:calc(100% - 10px);margin-right:10px}.hero-stamp{width:86px;height:86px;right:-10px;font-size:7px}.hero-caption{font-size:7px}.hero-edge-note{right:var(--pad);bottom:21px;font-size:5px}.intro-inner{padding-top:42px;padding-bottom:39px}.intro-section h2{font-size:clamp(68px,16vw,96px);margin:36px 0 24px}.intro-bottom{display:grid;grid-template-columns:1fr auto;gap:12px}.intro-bottom p{grid-column:1/-1;font-size:9px}.intro-bottom a{font-size:8px}.intro-outline{font-size:130px;top:22%}.clients,.work,.motion,.services,.tools{padding:66px var(--pad)}.section-top>.eyebrow{font-size:6px}.client-heading,.work-title-row,.motion-title-row,.services-heading{align-items:start;flex-direction:column;gap:13px}.client-heading h2,.work-title-row h2,.motion-title-row h2,.services-heading h2{font-size:58px}.client-heading>p,.work-title-row>p,.motion-title-row>p,.services-heading>p{font-size:9px;margin:0}.client-wall{grid-template-columns:repeat(3,1fr)}.client-wall>span{min-height:54px;font-size:9px}.work-explorer{grid-template-columns:1fr;gap:22px}.work-index{position:static}.work-index>.eyebrow{margin-bottom:11px}.filters{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.filter-button{grid-template-columns:20px 1fr auto;padding:9px 6px;font-size:8px}.filter-button:hover,.filter-button.active{padding-left:9px}.gallery-status{margin-top:12px}.show-more{margin-top:9px}.work-index .placeholder-note{margin-top:11px}.gallery-grid{grid-template-columns:repeat(6,1fr);gap:8px 6px}.gallery-item{grid-column:span 3}.gallery-item:nth-child(6n+1){grid-column:span 6}.gallery-item:nth-child(6n+1)>img{min-height:unset;aspect-ratio:1.45}.gallery-item>img{aspect-ratio:1.08}.gallery-meta{left:7px;right:7px;bottom:7px}.gallery-meta b{font-size:7px}.gallery-meta small{font-size:5px}.motion-layout{grid-template-columns:1fr;gap:18px}.motion-feature .motion-poster{aspect-ratio:1.5}.motion-side{display:grid;grid-template-columns:1fr 1fr;gap:9px}.motion-side .motion-poster{aspect-ratio:1.15}.motion-caption{flex-direction:column;align-items:start;gap:3px;padding-top:7px}.motion-caption b{font-size:8px}.motion-caption i{font-size:5px}.motion .placeholder-note{font-size:7px}.service-grid{gap:0}.service-card{grid-template-columns:23px 31px 1fr 17px;gap:8px;min-height:82px;padding:9px 4px}.service-card>span{grid-row:1/3;align-self:start;padding-top:4px;font-size:6px}.service-icon{grid-row:1/3;align-self:center;height:auto;margin:0;font-size:21px}.service-card h3{grid-column:3;align-self:end;font-size:9px}.service-card p{grid-column:3;grid-row:2;font-size:7px;align-self:start}.service-card>i{grid-column:4;grid-row:1/3;font-size:10px}.about{padding:65px var(--pad)}.about-top{margin-bottom:18px}.about-top>span{font-size:5px}.about-layout{grid-template-columns:1fr;gap:23px}.about-visual{height:auto;aspect-ratio:1.15}.about-copy h2{font-size:58px}.about-copy>p:not(.eyebrow){font-size:8px}.about-copy>p.about-lede{font-size:10px}.tools-inner{grid-template-columns:1fr;gap:21px;padding-top:39px;padding-bottom:39px}.tools h2{font-size:58px}.tools-list{gap:13px}.tool-group>p{font-size:6px}.tool-chips span{font-size:7px;padding:7px 8px}.tools-watermark{font-size:114px;bottom:-39px}.contact-inner{grid-template-columns:1fr;gap:32px;padding:52px var(--pad) 43px}.contact h2{font-size:clamp(65px,16vw,96px)}.contact-main>p:not(.eyebrow){font-size:9px}.contact-details{padding:17px 0 0;border-left:0;border-top:1px solid #ffffff60}.contact-info{grid-template-columns:1fr 1fr;gap:16px}.contact-info>div:first-child{grid-column:1/-1}.contact-info a,.contact-info span{font-size:8px}.footer-inner{min-height:54px;padding-inline:var(--pad)}.footer-inner>span,.back-top{font-size:5px}}
@media(max-width:390px){.client-wall>span{font-size:8px}.hero-stats small{font-size:4.5px}.service-card{grid-template-columns:19px 26px 1fr 14px;gap:6px}.service-card h3{font-size:8px}.service-card p{font-size:6px}.gallery-meta b{font-size:6.5px}.gallery-grid{gap:7px 5px}.contact-buttons .button{gap:12px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* Portfolio-first polish: let the work and portrait lead the page. */
@media (min-width: 801px) {
  .hero h1 { font-size: clamp(62px, 7.5vw, 102px); font-weight: 600; line-height: .84; }
  .hero-role { font-size: clamp(14px, 1.45vw, 18px); font-weight: 600; }
  .hero-intro, .client-heading > p, .work-title-row > p,
  .motion-title-row > p, .services-heading > p { color: #77747a; }
  .work-explorer { grid-template-columns: 138px minmax(0, 1fr); gap: 3%; }
  .gallery-grid { gap: 13px; }
  .gallery-meta b { font-size: 10px; }
  .client-heading h2, .work-title-row h2, .motion-title-row h2,
  .services-heading h2 { font-size: clamp(44px, 5.2vw, 72px); }
}

/* The profile portrait becomes a full-section image, with a dark text-safe gradient. */
.about { position: relative; isolation: isolate; overflow: hidden; min-height: 700px; color: #fff; background: #171719; }
.about-visual { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; margin: 0; background: #29282d; }
.about-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); }
.about-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,16,19,.96) 0%, rgba(16,16,19,.88) 33%, rgba(16,16,19,.55) 58%, rgba(16,16,19,.12) 100%); }
.about-visual figcaption { display: none; }
.about-inner { position: relative; z-index: 1; }
.about-top { color: #fff; }
.about-top > span { color: #dedbe0; }
.about-layout { display: block; }
.about-copy { max-width: 620px; }
.about-copy h2 { color: #fff; }
.about-copy h2 em { color: var(--yellow); }
.about-copy > p:not(.eyebrow) { color: #e0dde2; }
.about-copy > p.about-lede { color: #fff; }
.about-socials a { color: var(--yellow); border-color: #ffffff70; }

@media (max-width: 800px) {
  .about { min-height: 0; padding-block: 65px; }
  .about-visual { position: absolute; inset: 0; width: 100%; height: 100%; }
  .about-visual::after { background: linear-gradient(180deg, rgba(16,16,19,.76), rgba(16,16,19,.9)); }
  .about-layout { display: block; }
  .about-copy { max-width: 100%; }
  .about-copy h2 { color: #fff; }
}

@media (max-width: 520px) {
  .hero h1 { font-size: clamp(68px, 16vw, 94px); }
  .about { padding: 65px var(--pad); }
}
/* Keep the current placeholder from reading like a real full-bleed portrait. */


/* Hero portrait: full landscape canvas, without a frame or badge. */
.hero { display: flex; align-items: center; position: relative; isolation: isolate; min-height: 100svh; overflow: hidden; padding-top: 80px; padding-bottom: 80px; background: #111114; color: #fff; }
.hero-art { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; background: #111114; }
.hero-art > img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: grayscale(1) contrast(1.08); }
.hero-art:before { display: none; }
.hero:after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(10,10,12,.94) 0%,rgba(10,10,12,.82) 36%,rgba(10,10,12,.42) 64%,rgba(10,10,12,.12) 100%),linear-gradient(0deg,rgba(10,10,12,.5),transparent 32%); pointer-events: none; }
.hero-copy { width: min(100%,760px); color: #fff; text-shadow: 0 2px 22px #0005; }
.hero h1 { color: #fff; font-size: clamp(76px, 10vw, 142px); font-weight: 600; line-height: .8; }
.name-accent { color: var(--yellow); }
.title-stop,.hero-role span,.quiet-link span { color: var(--yellow); }
.hero .eyebrow,.hero .eyebrow-divider { color: #f1edf0; }
.hero-role { color: #fff; font-size: clamp(18px, 2vw, 25px); }
.hero-intro { max-width: 460px; color: #f0edf0; font-size: 14px; }
.hero-stats { border-color: #ffffff60; }
.hero-stats strong { color: #fff; font-size: 28px; }
.hero-stats small { color: #ded9df; }
.hero .button-primary { background: var(--yellow); color: #171719; }
.hero .button-primary:hover { background: #fff; }
.hero .quiet-link { color: #fff; border-color: #ffffff80; }
.hero-stamp { display: none; }
.hero-caption-index,.hero-caption { text-shadow: 0 1px 12px #000; }
.hero-edge-note { color: #e5e0e5; }

/* Replace the text-only client wall with a visual logo grid. */
.client-wall { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; border: 0; }
.client-logo { min-height: 122px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 14px; background: #fffefa; border: 1px solid #d4d0c8; }
.client-logo img { display: block; width: 100%; height: 66px; object-fit: contain; }
.client-logo span { color: #626067; font: 8px var(--mono); letter-spacing: .05em; text-align: center; }

/* Collection covers, client logo cards and brand tabs. */
.filters { gap: 0; }
.filter-button { display: flex; justify-content: space-between; font-size: 10px; }
.filter-button .filter-num,.filter-button>b { display: none; }
.work-explorer { grid-template-columns: 168px minmax(0,1fr); gap: 3.5%; }
.gallery-panel { min-width: 0; }
.gallery-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.gallery-item { grid-column: span 2; }
.gallery-item:nth-child(6n+1) { grid-column: span 4; grid-row: span 2; }
.gallery-item.category-cover,.gallery-item.brand-card { grid-column: span 2; grid-row: auto; }
.gallery-item.category-cover > img { aspect-ratio: 1.35; height: auto; min-height: 0; }
.gallery-item.brand-card > img { aspect-ratio: 1.15; object-fit: contain; background: #fffefa; padding: 18px; }
.gallery-item:after { background: linear-gradient(0deg,#171719e8 0%,#17171970 36%,transparent 80%); }
.gallery-item.category-cover .gallery-meta b,.gallery-item.brand-card .gallery-meta b { font-size: 12px; }
.gallery-item.category-cover .gallery-meta small,.gallery-item.brand-card .gallery-meta small { font-size: 7px; }
.gallery-back { margin: 0 0 14px; padding: 9px 12px; border: 1px solid var(--line); background: transparent; color: var(--ink); font: 9px var(--mono); cursor: pointer; }
.gallery-back:hover { background: var(--ink); color: #fff; }
.gallery-back[hidden],.brand-tabs[hidden] { display: none; }
.brand-tabs { display: flex; gap: 7px; overflow-x: auto; padding: 2px 2px 12px; margin-bottom: 10px; scrollbar-width: thin; }
.brand-tab { flex: 0 0 104px; min-height: 78px; display: grid; justify-items: center; align-content: center; gap: 5px; padding: 7px; border: 1px solid var(--line); background: #fffefa; color: var(--ink); cursor: pointer; }
.brand-tab img { width: 78px; height: 42px; object-fit: contain; }
.brand-tab span { font: 7px var(--mono); }
.brand-tab.active { border-color: var(--blue); box-shadow: inset 0 -3px var(--blue); }
.work-note { margin-top: 18px; color: #77747a; font: 8px/1.6 var(--mono); }
.gallery-status { min-height: 2.8em; }

/* Larger contact details and a stronger closing panel. */
.contact-inner { grid-template-columns: 1.05fr .95fr; gap: 9%; padding-top: 96px; padding-bottom: 92px; background: linear-gradient(125deg,#202fa9 0%,#4b3cbd 52%,#a3449f 100%); }
.contact h2 { font-size: clamp(82px, 10vw, 140px); }
.contact-main > p:not(.eyebrow) { max-width: 440px; font-size: 15px; line-height: 1.75; }
.contact-buttons { gap: 12px; margin-top: 30px; }
.contact-buttons .button { min-height: 52px; padding-inline: 20px; font-size: 12px; }
.contact-details { padding: 15px 0 0 34px; }
.contact-details .eyebrow { margin-bottom: 22px; font-size: 9px; }
.contact-details>div { gap: 8px; margin-bottom: 23px; }
.contact-details small { font-size: 8px; }
.contact-details a,.contact-details span { font-size: 15px; line-height: 1.45; }

@media (max-width: 900px) {
  .client-wall { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .work-explorer { grid-template-columns: 145px minmax(0,1fr); }
  .gallery-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .gallery-item.category-cover,.gallery-item.brand-card { grid-column: span 2; }
  .contact-inner { gap: 5%; }
  .contact-details { padding-left: 22px; }
}
@media (max-width: 640px) {
  .hero { display: flex; min-height: calc(100svh - 64px); padding: 54px var(--pad) 64px; }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: clamp(68px, 16vw, 108px); }
  .hero .eyebrow { font-size: 7px; }
  .hero-intro { font-size: 12px; }
  .hero-art > img { object-position: center 24%; }
  .hero:after { background: linear-gradient(90deg,rgba(10,10,12,.88),rgba(10,10,12,.58)),linear-gradient(0deg,rgba(10,10,12,.55),transparent 45%); }
  .hero-stats strong { font-size: 21px; }
  .client-wall { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  .client-logo { min-height: 88px; padding: 9px; gap: 4px; }
  .client-logo img { height: 49px; }
  .client-logo span { font-size: 6px; }
  .work-explorer { grid-template-columns: 1fr; gap: 18px; }
  .filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-button { min-height: 38px; padding: 8px; font-size: 8px; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .gallery-item,.gallery-item:nth-child(6n+1),.gallery-item.category-cover,.gallery-item.brand-card { grid-column: span 1; grid-row: auto; }
  .gallery-item.category-cover > img,.gallery-item.brand-card > img { aspect-ratio: .92; min-height: 0; }
  .gallery-item:nth-child(6n+1) > img { height: auto; min-height: 0; aspect-ratio: .92; }
  .gallery-item.project-card > img { aspect-ratio: .92; }
  .gallery-meta { left: 7px; right: 7px; bottom: 7px; }
  .gallery-item.category-cover .gallery-meta b,.gallery-item.brand-card .gallery-meta b { font-size: 9px; }
  .brand-tab { flex-basis: 88px; min-height: 68px; }
  .brand-tab img { width: 65px; height: 34px; }
  .contact-inner { grid-template-columns: 1fr; gap: 34px; padding: 64px var(--pad) 52px; }
  .contact h2 { font-size: clamp(66px, 16vw, 102px); }
  .contact-main > p:not(.eyebrow) { font-size: 13px; }
  .contact-details { padding: 20px 0 0; border-left: 0; border-top: 1px solid #ffffff70; }
  .contact-details a,.contact-details span { font-size: 13px; }
}
.empty-state { grid-column: 1 / -1; padding: 38px 22px; border: 1px solid var(--line); color: #706d75; background: #fffefa; font: 11px/1.7 var(--mono); }


/* Clearer hierarchy: compact client strip, prominent portfolio index, readable tools. */
.hero-art figcaption,.hero-edge-note { display:none; }
.clients { padding-top:48px; padding-bottom:52px; }
.client-heading h2 { font-size:clamp(34px,4vw,54px); }
.client-heading { margin-bottom:18px; }
.client-heading>p { font-size:9px; }
.client-wall { gap:8px; }
.client-logo { appearance:none; width:100%; min-height:92px; cursor:pointer; transition:transform .2s,border-color .2s,background .2s; }
.client-logo:hover,.client-logo:focus-visible { transform:translateY(-3px); border-color:#5442c9; background:#fff; outline:none; }
.client-logo img { height:60px; }
.client-logo span { display:none; }
.work { padding-top:104px; padding-bottom:112px; background:#eeece5; }
.work-title-row { margin-bottom:36px; }
.work-title-row h2 { font-size:clamp(64px,8vw,112px); }
.work-title-row>p { font-size:12px; }
.work-explorer { grid-template-columns:190px minmax(0,1fr); gap:4%; }
.gallery-grid { gap:16px; }
.gallery-item.category-cover>img { aspect-ratio:1.48; }
.gallery-item.category-cover .gallery-meta b { font-size:15px; }
.gallery-item.category-cover .gallery-meta small { font-size:8px; }
.tools-inner { overflow:visible; grid-template-columns:.62fr 1.38fr; gap:5%; padding-top:42px; padding-bottom:44px; }
.tools h2 { font-size:clamp(36px,4.2vw,54px); line-height:.93; }
.tools-list { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.tool-group>p { margin-bottom:12px; font-size:10px; }
.tool-chips { gap:9px; }
.tool-chips span { padding:12px 14px; font-size:13px; }
.tools-watermark { display:none; }
.contact-inner { gap:6%; padding-top:54px; padding-bottom:52px; }
.contact h2 { font-size:clamp(62px,7.2vw,94px); }
.contact-main>p:not(.eyebrow) { font-size:12px; }
.contact-buttons { margin-top:20px; }
.contact-details>div { margin-bottom:15px; }
.contact-details a,.contact-details span { font-size:12px; }
@media(max-width:900px) {
  .work { padding-top:78px; padding-bottom:84px; }
  .work-explorer { grid-template-columns:150px minmax(0,1fr); }
  .tools-list { grid-template-columns:1fr; }
  .contact-inner { padding-top:48px; padding-bottom:46px; }
}
@media(max-width:640px) {
  .clients { padding:44px var(--pad); }
  .client-heading h2 { font-size:48px; }
  .client-logo { min-height:74px; padding:7px; }
  .client-logo img { height:48px; }
  .work { padding:62px var(--pad) 68px; }
  .work-title-row { margin-bottom:20px; }
  .work-title-row h2 { font-size:64px; }
  .work-explorer { grid-template-columns:1fr; gap:18px; }
  .gallery-item.category-cover .gallery-meta b { font-size:10px; }
  .gallery-item.category-cover .gallery-meta small { font-size:6px; }
  .tools-inner { grid-template-columns:1fr; gap:22px; padding-top:36px; padding-bottom:38px; }
  .tools h2 { font-size:46px; }
  .tools-list { grid-template-columns:1fr 1fr; gap:12px; }
  .tool-group>p { font-size:8px; }
  .tool-chips span { padding:9px 10px; font-size:10px; }
  .contact-inner { gap:24px; padding:43px var(--pad) 38px; }
  .contact h2 { font-size:clamp(58px,14vw,82px); }
  .contact-main>p:not(.eyebrow) { font-size:11px; }
  .contact-details a,.contact-details span { font-size:11px; }
}
@media(max-width:390px) { .tools-list { grid-template-columns:1fr; } }


/* Keep project images clean and put pagination after the gallery. */
.project-card .gallery-meta { display:none; }
.show-more { display:flex; width:max-content; min-width:190px; justify-content:center; align-items:center; gap:14px; margin:24px auto 0; padding:14px 20px; border:1px solid #2a2930; background:#17171c; color:#fff; font:600 11px var(--mono); cursor:pointer; transition:background .2s,color .2s,transform .2s; }
.show-more:hover { background:var(--blue); border-color:var(--blue); transform:translateY(-2px); }
.show-more[hidden] { display:none; }
.cv-download { display:inline-flex; align-items:center; min-height:38px; padding:0 12px; border:1px solid #ffffff80; color:#fff; }
.cv-download:hover { color:var(--yellow); border-color:var(--yellow); }
@media(max-width:640px) {
  .show-more { width:100%; min-height:48px; margin-top:18px; }
  .hero-actions { flex-wrap:wrap; gap:12px; }
  .cv-download { flex-basis:auto; }
}
