:root{
  --paper:#f4f3ee;--ink:#11110f;--muted:#777771;--line:#d8d7d0;
  --acid:#dfff19;--black:#10100f;--soft:#e9e8e1;
  --display:"Manrope",sans-serif;--body:"DM Sans",sans-serif;--mono:"DM Mono",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.grain{position:fixed;inset:-50%;z-index:50;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:grain .2s steps(2) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(-2%,-1%)}}
.cursor-dot{position:fixed;width:9px;height:9px;border-radius:50%;background:var(--acid);z-index:100;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:0}
.section-pad{padding-left:clamp(22px,4.4vw,72px);padding-right:clamp(22px,4.4vw,72px)}
.header{height:82px;position:fixed;z-index:40;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(18px,3.5vw,56px);background:rgba(244,243,238,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(216,215,208,.75)}
.brand{width:82px;height:58px;display:flex;align-items:center}.brand img{width:100%;height:100%;object-fit:contain}
.header nav{display:flex;gap:30px;margin-left:auto;margin-right:44px}
.header nav a,.header-cta{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.header nav a{color:#555;position:relative}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--ink);transition:right .3s}.header nav a:hover:after{right:0}
.header-cta{display:flex;align-items:center;gap:9px;border:1px solid var(--ink);padding:11px 14px;transition:.25s}.header-cta:hover{background:var(--ink);color:var(--paper)}.header-cta span{font-size:14px}
.menu{display:none;border:0;background:none;width:38px;height:38px;padding:7px}.menu span{display:block;height:1px;background:#111;margin:7px 0}
.mobile-nav{display:none}
.kicker,.section-label,.hero-index,.reel-meta,.client-tags,.about-meta,.contact-kicker,.project-overlay,.project-meta p,.project-meta>span{font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.hero{padding-top:148px;padding-bottom:90px;min-height:100vh}
.hero-top,.section-label{display:flex;justify-content:space-between;align-items:center;color:#85857e}
.hero-top{border-bottom:1px solid var(--line);padding-bottom:15px}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.65fr);gap:8vw;padding:65px 0 72px}
.hero-title{font:600 clamp(48px,6.2vw,92px)/.94 var(--display);letter-spacing:-.075em;margin:0;max-width:1150px}
.hero-title span{font-weight:500;color:var(--ink)}
.hero-side{padding-top:10px;max-width:370px}.hero-side p{font-size:15px;line-height:1.45;letter-spacing:-.02em;margin:0 0 36px}
.hero-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.button{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);padding:13px 17px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ink);transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px);background:#292926}.button span{font-size:14px}
.quiet-link{font:10px var(--mono);text-transform:uppercase;border-bottom:1px solid #999;padding-bottom:4px}
.hero-reel{width:100%}.reel-frame{border-radius:0;position:relative;aspect-ratio:16/9;background:#171715;overflow:hidden}.reel-frame video{width:100%;height:100%;object-fit:cover;display:block;background:#171715}.reel-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 25%,transparent 70%,rgba(0,0,0,.35));pointer-events:none}
.reel-meta{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;color:#fff;z-index:2}.reel-meta-top{top:19px}.reel-meta-bottom{bottom:18px}.reel-meta i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);margin-right:7px}.reel-center{display:none}
.clients{padding-top:82px;padding-bottom:115px;border-top:1px solid var(--line);overflow:hidden}.client-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;padding:55px 0 65px}.client-intro h2{font:600 clamp(34px,4.3vw,62px)/.96 var(--display);letter-spacing:-.07em;margin:0}.client-intro p{font-size:13px;line-height:1.65;color:#65655f;max-width:450px;margin:5px 0 0}.client-marquee{margin:0 -72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.client-track{display:flex;width:max-content;animation:client-scroll 34s linear infinite}.client-track div{height:105px;min-width:235px;padding:0 38px;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;font:600 23px var(--display);letter-spacing:-.05em;color:#62625d}.client-track span{font-size:.5em;letter-spacing:.03em;margin-left:3px;color:#999}
@keyframes client-scroll{to{transform:translateX(-50%)}}.client-tags{display:flex;justify-content:space-between;padding-top:13px;color:#999}
.manifesto{padding-top:88px;padding-bottom:112px;border-top:1px solid var(--line)}.manifesto-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12vw;padding-top:58px}.manifesto h2,.work-heading h2,.services-intro h2,.estimate-intro h2,.about h2{font:600 clamp(38px,5.2vw,76px)/.94 var(--display);letter-spacing:-.075em;margin:0}.manifesto h2 em,.work-heading h2 em,.services-intro h2 em,.estimate-intro h2 em,.about h2 em{font-style:normal;color:inherit}.manifesto-copy{max-width:480px}.big-copy{font-size:18px;line-height:1.45;letter-spacing:-.025em;margin:4px 0 25px}.manifesto-copy>p:not(.big-copy){font-size:13px;line-height:1.65;color:#6b6b65}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);margin-top:54px;padding-top:14px}.facts strong{display:block;font:600 30px var(--display);letter-spacing:-.05em}.facts span{font:8px var(--mono);color:#888}
.work{padding-top:88px;padding-bottom:112px;border-top:1px solid var(--line)}.work-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;padding:55px 0 68px}.work-heading p{font-size:13px;line-height:1.65;color:#6b6b65;max-width:430px;margin:5px 0}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:104px 24px}.project.offset{padding-top:110px}.project-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#151514}.project-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1);filter:saturate(.9)}.project:hover .project-media video{transform:scale(1.045)}.project-overlay{position:absolute;z-index:3;left:18px;right:18px;top:17px;display:flex;justify-content:space-between;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4)}.play-toggle{position:absolute;z-index:4;right:16px;bottom:16px;background:rgba(255,255,255,.92);border:0;padding:9px 12px;font:9px var(--mono);text-transform:uppercase;cursor:pointer;transition:.2s}.play-toggle:hover{background:var(--acid)}.project-hover{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%) scale(.9);opacity:0;background:var(--acid);padding:13px 17px;font:9px var(--mono);letter-spacing:.08em;transition:.35s;z-index:3}.project-hover b{font-size:14px;margin-left:7px}.project:hover .project-hover{opacity:1;transform:translate(-50%,-50%) scale(1)}
.project-meta{display:flex;justify-content:space-between;padding-top:16px}.project-meta h3{font:600 20px var(--display);letter-spacing:-.045em;margin:0 0 5px}.project-meta p,.project-meta>span{margin:0;color:#888}
.services{background:var(--black);color:var(--paper);padding-top:88px;padding-bottom:105px}.services .section-label{color:#777}.services-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;padding:55px 0 76px}.services-intro p{color:#aaa;font-size:13px;line-height:1.65;max-width:420px;margin:5px 0}.service-list{border-top:1px solid #30302d}.service{display:grid;grid-template-columns:65px 1fr 25px;gap:20px;padding:28px 0;border-bottom:1px solid #30302d;transition:.3s}.service>span,.service>b{font:9px var(--mono);padding-top:8px}.service h3{font:600 clamp(25px,2.8vw,40px)/1 var(--display);letter-spacing:-.06em;margin:0}.service p{max-width:560px;color:#8d8d87;font-size:13px;line-height:1.5;margin:11px 0 0;transition:.25s}.service:hover{background:var(--acid);color:var(--ink);padding-left:16px;padding-right:16px}.service:hover p{color:#353500}.service b{font-size:14px}
.estimate{padding-top:88px;padding-bottom:110px;border-top:1px solid var(--line)}.estimate-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;padding:55px 0 62px}.estimate-intro p{font-size:13px;line-height:1.65;color:#6c6c66;max-width:420px;margin:5px 0}.estimate-card{display:grid;grid-template-columns:1.3fr .7fr;border:1px solid var(--line)}.estimate-options{padding:31px}.estimate-options label{display:block;font:9px var(--mono);color:#7c7c75;letter-spacing:.1em;margin-bottom:12px}.choices{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:30px}.choices button{border:1px solid var(--line);background:transparent;padding:10px 12px;color:var(--ink);font-size:10px;cursor:pointer;transition:.2s}.choices button:hover,.choices button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.estimate-total{background:var(--black);color:var(--paper);padding:32px;display:flex;flex-direction:column;justify-content:center}.estimate-total>span{font:9px var(--mono);color:#888}.estimate-total strong{font:600 clamp(28px,3.2vw,45px)/1 var(--display);letter-spacing:-.065em;margin:15px 0 16px}.estimate-total p{font-size:11px;line-height:1.5;color:#96968f;max-width:270px;margin:0 0 25px}.estimate-total .button.light{background:var(--acid);border-color:var(--acid);color:var(--ink);align-self:flex-start}.statement{background:var(--soft);padding:92px clamp(22px,4.4vw,72px);overflow:hidden}.statement-line{font:600 clamp(34px,4.8vw,64px)/.98 var(--display);letter-spacing:-.065em;margin:0}
.about{background:#e7e6df;padding-top:108px;padding-bottom:130px}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;padding-top:58px}.about-grid>div{max-width:470px;padding-top:7px}.about-grid p{font-size:13px;line-height:1.65;letter-spacing:-.01em;margin:0}.about-grid .muted{font-size:13px;line-height:1.65;color:#777770;margin-top:25px}.about-meta{border-top:1px solid #c6c5be;margin-top:52px;padding-top:13px;display:flex;justify-content:space-between;color:#777}
.contact{background:var(--acid);min-height:78vh}.contact>.section-pad{min-height:78vh;padding-top:82px;padding-bottom:24px;display:flex;flex-direction:column}.contact-kicker{color:#454b00}.contact-main{margin:auto 0}.contact h2{font:600 clamp(43px,6vw,82px)/.92 var(--display);letter-spacing:-.08em;margin:0 0 65px}.contact h2 em{font-style:normal;color:var(--ink)}.email{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #17170f;padding-bottom:15px;font:600 clamp(19px,2.5vw,34px) var(--display);letter-spacing:-.045em}.email span{font-size:25px}.contact footer{display:flex;justify-content:space-between;border-top:1px solid rgba(0,0,0,.2);padding-top:14px;font:9px var(--mono);letter-spacing:.08em}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@media(max-width:950px){
 .header nav{gap:20px;margin-right:24px}.hero{padding-top:135px}.hero-copy,.client-intro,.manifesto-grid,.work-heading,.services-intro,.estimate-intro,.about-grid{grid-template-columns:1fr;gap:35px}.hero-title{font-size:8.5vw}.hero-side{padding-top:0}.work-grid{gap:70px 18px}.project.offset{padding-top:75px}.estimate-card{grid-template-columns:1fr}.estimate-total{min-height:280px}
}
@media(max-width:650px){
 .header{height:72px;padding:8px 18px}.brand{width:72px;height:52px}.header nav,.header-cta{display:none}.menu{display:block}
 .mobile-nav{position:fixed;z-index:35;inset:0;background:var(--acid);display:flex;flex-direction:column;justify-content:center;padding:72px 24px;gap:8px;transform:translateY(-100%);transition:transform .5s cubic-bezier(.77,0,.18,1)}.mobile-nav.open{transform:none}.mobile-nav-kicker{font:9px var(--mono);margin-bottom:25px}.mobile-nav a{font:600 10.5vw/1 var(--display);letter-spacing:-.075em}
 .hero{padding-top:116px;padding-bottom:65px}.hero-top{font-size:8px}.hero-copy{padding:48px 0 45px}.hero-title{font-size:10.8vw}.hero-side p{font-size:16px}.hero-links{gap:16px}.reel-meta{font-size:7px;left:11px;right:11px}.reel-meta-top{top:12px}.reel-meta-bottom{bottom:11px}.reel-center{font-size:29px}
 .clients{padding-top:60px;padding-bottom:82px}.client-intro{padding:40px 0 48px}.client-intro h2,.manifesto h2,.work-heading h2,.services-intro h2,.estimate-intro h2,.about h2{font-size:9.8vw}.client-intro p{font-size:14px}.client-marquee{margin:0 -22px}.client-track div{height:82px;min-width:175px;font-size:18px;padding:0 24px}.client-tags{font-size:7px}
 .manifesto,.work{padding-top:78px;padding-bottom:90px}.manifesto-grid,.work-heading{padding-top:40px}.big-copy{font-size:20px}.manifesto-copy>p:not(.big-copy){font-size:13px}.facts{margin-top:40px}.facts strong{font-size:25px}
 .work-grid{grid-template-columns:1fr;gap:55px}.project.offset{padding-top:0}.project-meta h3{font-size:20px}.project-meta p,.project-meta>span{font-size:8px}.project-hover{display:none}
 .services{padding-top:78px;padding-bottom:90px}.services-intro{padding:40px 0 55px}.services-intro p,.estimate-intro p{font-size:14px}.service{grid-template-columns:32px 1fr 17px;gap:10px;padding:22px 0}.service h3{font-size:25px}.service p{font-size:12px}
 .estimate{padding-top:78px;padding-bottom:90px}.estimate-intro{padding:40px 0}.estimate-options{padding:21px}.choices{margin-bottom:22px}.choices button{font-size:9px;padding:9px 10px}.estimate-total{padding:25px}
 .statement{padding:72px 22px}.statement-line{font-size:11vw;letter-spacing:-.06em}
 .about{padding-top:78px;padding-bottom:90px}.about-grid{padding-top:42px}.about-grid p{font-size:15px}.about-grid .muted{font-size:13px}.about-meta{font-size:8px}
 .contact>.section-pad{min-height:72vh;padding-top:78px}.contact h2{font-size:10.8vw;margin-bottom:52px}.email{font-size:16px}.contact footer{flex-wrap:wrap;gap:10px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain{animation:none}.reveal{transition:none}.mobile-nav{transition:none}}

/* V11 motion system — intentionally restrained and conflict-free */
html{scroll-padding-top:92px}
.header{transition:height .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease}
.header:not(.scrolled){background:rgba(244,243,238,.42);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-bottom-color:rgba(216,215,208,.38)}
.header.scrolled{height:68px;background:rgba(244,243,238,.86);backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05);border-bottom-color:rgba(216,215,208,.85);box-shadow:0 8px 30px rgba(17,17,15,.055)}
.header.scrolled .brand{transform:scale(.9);transform-origin:left center}
.header.scrolled nav{gap:25px}
.header nav a,.header-cta{transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}
.header-cta{background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.header-cta:hover{transform:translateY(-2px)}
.menu{border-radius:999px;background:rgba(255,255,255,.56);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 7px 24px rgba(17,17,15,.08)}
.menu span{transition:transform .3s ease,opacity .2s ease}
.menu.open span:first-child{transform:translateY(4px) rotate(45deg)}
.menu.open span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* reveal more of the page, but never hide content permanently */
.motion-reveal{opacity:0;transform:translateY(22px);filter:blur(3px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease}
.motion-reveal.is-visible{opacity:1;transform:none;filter:none}
.motion-reveal[data-delay="1"]{transition-delay:.06s}.motion-reveal[data-delay="2"]{transition-delay:.12s}.motion-reveal[data-delay="3"]{transition-delay:.18s}

/* soft glass only where it helps readability */
.reel-meta span,.project-overlay span{padding:6px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(10,10,9,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.play-toggle{background:rgba(244,243,238,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.play-toggle:hover{transform:translateY(-2px)}
.project-media{isolation:isolate}
.project-media:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.14),transparent 30%,transparent 72%,rgba(0,0,0,.18));opacity:.7;transition:opacity .5s ease}
.project:hover .project-media:after{opacity:.42}

/* reference-like scroll motion: image scale is isolated from card transforms */
.hero-reel,.project-media{--reel-scale:1;--media-y:0px}
.hero-reel .reel-frame{border-radius:14px;transform:translateY(var(--media-y));}
.project-media video{transform:scale(var(--reel-scale)) translateY(var(--media-y));}
.project:hover .project-media video{transform:scale(calc(var(--reel-scale) + .045)) translateY(var(--media-y))}

/* animated section rules */
.section-label{position:relative;overflow:hidden}
.section-label:before{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.section-label.is-visible:before{transform:scaleX(1)}

/* services: quieter than the previous version */
.service{position:relative;overflow:hidden}
.service:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--acid);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.service:hover:before{transform:scaleY(1)}

/* estimate number transition */
#estimate-value{display:block;transition:opacity .2s ease,transform .2s ease}
#estimate-value.changing{opacity:.35;transform:translateY(4px)}

@media(max-width:650px){
 .header{height:70px}
 .header.scrolled{height:62px}
 .header.scrolled .brand{transform:scale(.86)}
 .header:not(.scrolled){background:rgba(244,243,238,.56)}
 .mobile-nav{z-index:45;padding-top:88px;overflow:auto;-webkit-overflow-scrolling:touch}
 .mobile-nav a{transition:transform .3s ease,opacity .3s ease}
 .mobile-nav.open a{animation:mobileLinkIn .5s both}
 .mobile-nav.open a:nth-of-type(2){animation-delay:.04s}.mobile-nav.open a:nth-of-type(3){animation-delay:.08s}.mobile-nav.open a:nth-of-type(4){animation-delay:.12s}.mobile-nav.open a:nth-of-type(5){animation-delay:.16s}
 @keyframes mobileLinkIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
 .reel-meta span,.project-overlay span{padding:4px 6px}
}
@media(prefers-reduced-motion:reduce){
 .header,.header-cta,.button,.reel-frame video,.project-media video,.motion-reveal,.section-label:before,.service:before,#estimate-value,.menu span{transition:none!important}
 .motion-reveal{opacity:1;transform:none;filter:none}
 .mobile-nav.open a{animation:none}
}

/* V13 clean showreel */
.reel-frame{border-radius:0;overflow:hidden}
.reel-frame video{border-radius:0}


/* V16 media polish: genuinely square showreel and reliable first-frame thumbnails */
.hero-reel,.hero-reel .reel-frame,.hero-reel .reel-frame video{border-radius:0 !important}
.hero-reel .reel-frame{clip-path:inset(0);overflow:hidden}
.reel-frame video{background:#171715;object-position:center}
.project-media,.project-media video{border-radius:0 !important}
.project-media video{background:#151514;object-position:center}

/* Contact social row */
.social-links{display:flex;gap:10px;align-items:center;margin-bottom:24px}
.social-links a{width:38px;height:38px;border:1px solid rgba(0,0,0,.24);display:grid;place-items:center;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.social-links a:hover{transform:translateY(-3px);background:rgba(255,255,255,.38);border-color:rgba(0,0,0,.55)}
.social-links svg{width:17px;height:17px;display:block}
.icon-arrow{display:inline-grid;place-items:center;width:25px;height:25px}
.icon-arrow svg{width:20px;height:20px;display:block}
@media(max-width:650px){.social-links{margin-bottom:20px}.social-links a{width:36px;height:36px}.icon-arrow{width:22px;height:22px}}

/* V17 client logo system: real image files can replace the included placeholders. */
.client-track .client-logo{height:105px;min-width:235px;padding:0 38px;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;flex-direction:column;gap:0}
.client-track .client-logo img{display:block;max-width:150px;max-height:34px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.62;transition:opacity .25s ease,filter .25s ease,transform .25s ease}
.client-track .client-logo span{display:none;font:600 18px var(--display);letter-spacing:-.05em;color:#62625d;white-space:nowrap}
.client-track .client-logo:hover img{opacity:1;filter:grayscale(0);transform:scale(1.025)}
.client-track .client-logo:hover span{color:var(--ink)}
@media(max-width:650px){.client-track .client-logo{height:82px;min-width:175px;padding:0 24px}.client-track .client-logo img{max-width:118px;max-height:27px}}

/* V18: local-video previews, reliable logo marquee, and showreel sound control */
.reel-frame,.reel-frame video,.project-media,.project-media video{border-radius:0!important}
.reel-frame video,.project-media video{display:block;background:#111;object-position:center}
.sound-toggle{position:absolute;z-index:8;right:16px;bottom:16px;width:38px;height:38px;border:1px solid rgba(255,255,255,.42);background:rgba(20,20,18,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s}
.sound-toggle:hover{background:rgba(223,255,25,.92);border-color:rgba(223,255,25,.92);color:#111;transform:translateY(-2px)}
.sound-toggle .icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sound-toggle .icon-sound-off{display:none}.sound-toggle.is-muted .icon-sound-on{display:none}.sound-toggle.is-muted .icon-sound-off{display:block}
.play-toggle{display:inline-flex;align-items:center;gap:7px}.play-glyph{font-size:8px;line-height:1}.play-label{line-height:1}
.client-track{display:flex;width:max-content;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
.client-set{display:flex;flex:none}
.client-track img{flex:none}
.client-marquee{position:relative}
@media(max-width:650px){.sound-toggle{right:10px;bottom:10px;width:35px;height:35px}.sound-toggle .icon{width:15px;height:15px}}

/* V19: process + FAQ — restrained additions, matching the approved visual system */
.process{padding-top:108px;padding-bottom:125px;border-top:1px solid var(--line)}
.process-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;padding:55px 0 65px}
.process-intro h2,.faq h2{font:600 clamp(55px,7.4vw,112px)/.86 var(--display);letter-spacing:-.075em;margin:0}
.process-intro p{font-size:15px;line-height:1.55;color:#6b6b65;max-width:430px;margin:5px 0}
.process-list{border-top:1px solid var(--line)}
.process-step{display:grid;grid-template-columns:55px 1fr 25px;gap:18px;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .3s ease,background .3s ease}
.process-step>span{font:9px var(--mono);color:#888;padding-top:8px}
.process-step h3{font:600 clamp(28px,3.5vw,46px)/.95 var(--display);letter-spacing:-.06em;margin:0}
.process-step p{font-size:13px;line-height:1.5;color:#6f6f69;max-width:560px;margin:9px 0 0}
.process-step:hover{padding-left:12px;padding-right:12px;background:rgba(255,255,255,.28)}
.faq{padding-top:105px;padding-bottom:130px;border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12vw;padding-top:58px}
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:21px 0;font:500 17px/1.25 var(--display);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{font:18px var(--body);transition:transform .25s ease}
.faq details[open] summary span{transform:rotate(45deg)}
.faq details p{font-size:13px;line-height:1.6;color:#6c6c66;max-width:560px;padding:0 0 23px;margin:0}
@media(max-width:950px){.process-intro,.faq-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:650px){.process,.faq{padding-top:78px;padding-bottom:90px}.process-intro{padding:40px 0 48px}.process-intro h2,.faq h2{font-size:14vw}.process-step{grid-template-columns:32px 1fr 18px;gap:10px;padding:21px 0}.process-step h3{font-size:28px}.process-step p{font-size:12px}.faq-grid{padding-top:42px}.faq summary{font-size:15px;padding:18px 0}.faq details p{font-size:12px}}

/* Keep all media corners square, including the hero frame. */
.hero-reel,.reel-frame,.reel-frame video,.project-media,.project-media video{border-radius:0!important}

/* V20 — portfolio CTA + deliverables section */
.portfolio-cta{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-top:96px;padding:28px 0 0;border-top:1px solid var(--line)}
.portfolio-cta p{margin:0;color:#777770;font-size:13px;line-height:1.5;max-width:420px}
.portfolio-cta .button{flex:none;min-width:0;justify-content:center;padding:12px 15px}
.deliverables{padding-top:108px;padding-bottom:130px;border-top:1px solid var(--line)}
.deliverables-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;padding:55px 0 65px}
.deliverables-intro h2{font:600 clamp(55px,7.4vw,112px)/.86 var(--display);letter-spacing:-.075em;margin:0}
.deliverables-intro p{font-size:15px;line-height:1.55;color:#6b6b65;max-width:430px;margin:5px 0}
.deliverables-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.deliverable{min-height:210px;padding:25px 30px 28px 0;border-bottom:1px solid var(--line);position:relative}
.deliverable:nth-child(odd){border-right:1px solid var(--line);padding-right:35px}
.deliverable:nth-child(even){padding-left:35px}
.deliverable>span{font:9px var(--mono);color:#888}
.deliverable h3{font:600 clamp(27px,3vw,42px)/.95 var(--display);letter-spacing:-.055em;margin:28px 0 10px}
.deliverable p{font-size:13px;line-height:1.55;color:#6c6c66;max-width:430px;margin:0}
@media(max-width:650px){
 .portfolio-cta{align-items:flex-start;flex-direction:column;margin-top:42px;gap:17px}
 .deliverables{padding-top:78px;padding-bottom:90px}
 .deliverables-intro{grid-template-columns:1fr;gap:35px;padding:40px 0 48px}
 .deliverables-intro h2{font-size:14vw}
 .deliverables-intro p{font-size:14px}
 .deliverables-grid{grid-template-columns:1fr}
 .deliverable,.deliverable:nth-child(odd),.deliverable:nth-child(even){min-height:0;padding:22px 0;border-right:0}
 .deliverable h3{font-size:29px;margin:22px 0 9px}
 .deliverable p{font-size:12px}
}

/* V22: stable client marquee + restrained portfolio CTA */
.portfolio-cta .button{white-space:nowrap}
@media(max-width:650px){.portfolio-cta{margin-top:58px;padding-top:22px;gap:16px}.portfolio-cta p{font-size:13px;max-width:360px}.portfolio-cta .button{padding:11px 14px}}


/* V23: client logo rendering + seamless marquee repair */
.client-track{display:flex;width:max-content;will-change:transform;transform:translate3d(0,0,0);animation:client-marquee-v23 32s linear infinite!important;animation-play-state:running!important}
.client-track.is-paused{animation-play-state:paused!important}
.client-set{display:flex;flex:none}
.client-track .client-logo{flex:0 0 235px;width:235px;height:105px;min-width:235px;display:flex;align-items:center;justify-content:center;padding:0 38px;border-right:1px solid var(--line);position:relative}
.client-track .client-logo img{display:block!important;max-width:150px;max-height:34px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72}
.client-track .client-logo span{display:none;font:600 18px var(--display);letter-spacing:-.05em;color:#62625d;white-space:nowrap}
@keyframes client-marquee-v23{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:650px){.client-track .client-logo{flex-basis:175px;width:175px;height:82px;min-width:175px;padding:0 24px}.client-track .client-logo img{max-width:118px;max-height:27px}.client-track .client-logo span{font-size:15px}}

/* V25 — supplied client logos: clean, monochrome, reliable seamless marquee */
.client-marquee{overflow:hidden}
.client-track{display:flex!important;width:max-content!important;animation:client-marquee-final 34s linear infinite!important;animation-play-state:running!important;will-change:transform}
.client-track.is-paused{animation-play-state:paused!important}
.client-set{display:flex!important;flex:none!important}
.client-track .client-logo{flex:0 0 235px!important;width:235px!important;height:105px!important;min-width:235px!important;padding:0 38px!important;border-right:1px solid var(--line);display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important}
.client-track .client-logo img{display:block!important;width:auto!important;height:auto!important;max-width:155px!important;max-height:38px!important;object-fit:contain!important;filter:grayscale(1) contrast(1.05)!important;opacity:.68!important;transition:opacity .25s ease,transform .25s ease!important}
.client-track .client-logo:hover img{opacity:1!important;transform:scale(1.035)!important}
.client-track .client-logo span{font:600 17px var(--display);letter-spacing:-.04em;color:#62625d;white-space:nowrap}
@keyframes client-marquee-final{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:650px){.client-track{animation-duration:28s!important}.client-track .client-logo{flex-basis:175px!important;width:175px!important;height:82px!important;min-width:175px!important;padding:0 24px!important}.client-track .client-logo img{max-width:120px!important;max-height:28px!important}.client-track .client-logo span{font-size:14px}}
