/* Ravan revision: light/dark, scroll choreography and chrome details. */
:root{color-scheme:dark;--bg:#08090a;--panel:#0d0f12;--ink:#f3f3f0;--soft:#a5a8af;--dim:#6e737c;--line:#ffffff25;--accent:#d6ff68;--inverse:#08090a;--nav-bg:#08090ae8}
:root[data-theme=day]{color-scheme:light;--bg:#f0eee8;--panel:#e8e6df;--ink:#171a20;--soft:#535a64;--dim:#767c86;--line:#171a202c;--accent:#38552b;--inverse:#f0eee8;--nav-bg:#f0eee8eb}
html,body{background:var(--bg);color:var(--ink)}body{transition:background-color .45s,color .45s}.site-nav{position:relative;height:116px;background:var(--bg);border-color:var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:28px}.site-brand img{width:245px;height:74px;mix-blend-mode:normal}.nav-items{grid-column:2;grid-row:1;justify-content:flex-end;gap:25px}.nav-controls{grid-column:3;grid-row:1;display:flex;align-items:center;gap:12px}.site-footer img{width:165px;height:52px;mix-blend-mode:normal}.site-footer{color:var(--soft)}.nav-contact{border-color:var(--line)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:40px;padding:12px 15px;font-size:11px;line-height:1.2}.theme-icon{font-size:17px;line-height:1}.theme-toggle:hover{background:var(--ink);color:var(--bg)}.menu-button{color:var(--ink)}
.home-hero{height:max(800px,calc(100svh - 116px));min-height:800px;padding-top:36px;background:radial-gradient(ellipse at 76% 50%,#8b93aa12,transparent 57%)}.hero-title{margin-top:65px}.hero-topline{color:var(--soft)}.hero-description{color:var(--soft)}.hero-title em{color:var(--ink)}.hero-title .outline{-webkit-text-stroke-color:var(--soft)}#flow-canvas{inset:0 0 0 33%;width:67%;height:100%;touch-action:pan-y}.hero-bottom{color:var(--soft)}.hero-index{color:var(--dim)}.clients{background:var(--bg);padding-block:65px 75px}.client-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 40px}.client-logo{height:105px;opacity:.85}.client-logo img{max-width:190px;max-height:80px;width:100%;height:100%;object-fit:contain}.client-logo:hover{transform:translateY(-6px);opacity:1}.client-logo:after{font-size:14px;right:8px;top:8px}.client-logo:focus-visible{opacity:1}.client-grid .client-logo img{filter:brightness(0) invert(1)}
.eyebrow,.mono,.manifesto .body-copy,.work-head p,.project-info .mono,.project-info small,.work-count,.group-link .mono,.group-link span:last-child,.step-item .mono,.step-item p,.contact-details p,.contact-form label,.form-note,.group-hero .intro-copy,.group-hero .mono,.group-page .project-description{color:var(--soft)}.manifesto h2>span,.display-title>span{color:var(--dim)}.display-title .scroll-word,.manifesto h2 .scroll-word{color:inherit}.scroll-word{display:inline-block;will-change:opacity,transform;transition:none}.work,.approach{background:var(--panel)}.filter{border-color:var(--line);color:var(--soft)}.filter:hover,.filter[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.project-image{background:var(--panel)}.project-open{color:#fff}.group-link{border-color:var(--line)}.work-actions button{color:var(--ink);border-color:var(--line)}.work-actions button:hover{background:var(--ink);color:var(--bg)}.group-hero{background:radial-gradient(ellipse at right,#8996ae18,transparent 65%)}.contact-form input,.contact-form textarea,.contact-form select{background:var(--panel);color:var(--ink);border-color:var(--line)}.contact-form button{background:var(--ink);color:var(--bg)}.contact-orb{border-color:var(--line)}.contact-orb:hover{background:var(--ink);color:var(--bg)}.progress-bar{background:var(--accent)}
.capability-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;margin-top:80px;align-items:start}.connected-sticky{position:sticky;top:65px;align-self:start}.network{height:510px;perspective:900px;background:radial-gradient(circle,#bfc7da13,transparent 64%);position:relative}.network canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.network-core{width:180px;height:180px;transform:rotateX(var(--pointer-y,0deg)) rotateY(var(--pointer-x,0deg));color:var(--ink);font-size:11px;letter-spacing:.22em;background:radial-gradient(circle at 32% 18%,#e8eaee,#808690 16%,#15191d 48%,#a0a5ab 65%,#14181e 85%);box-shadow:inset -10px -10px 25px #0007;z-index:1}.network-webgl .network-core{background:transparent;box-shadow:none;border:none;pointer-events:none;color:#fff;text-shadow:0 1px 12px #000}.network-orbit{width:85%;border-color:var(--line);transform:rotate(calc(-25deg + var(--connected-progress,0)*160deg)) scaleY(.58) rotateY(var(--pointer-x,0deg));pointer-events:none}.network-orbit.second{width:95%;transform:rotate(calc(45deg - var(--connected-progress,0)*135deg)) scaleY(.6)}.network-label{z-index:2;top:auto;left:auto;right:auto;bottom:auto;border-color:var(--line);background:var(--bg);color:var(--soft);font-size:11px;padding:12px 18px;transform:translateY(calc(var(--connected-progress,0)*-12px))}.network .network-label:nth-of-type(1){top:12%;left:8%;right:auto;bottom:auto}.network .network-label:nth-of-type(2){top:29%;right:0;left:auto;bottom:auto}.network .network-label:nth-of-type(3){bottom:15%;right:8%;left:auto;top:auto}.network .network-label:nth-of-type(4){bottom:29%;left:0;right:auto;top:auto}.network-label.active{border-color:var(--ink);background:var(--ink);color:var(--bg);box-shadow:0 0 30px #9caad515}.connected-status{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.08em}.cap-card{min-height:335px;padding:30px 0 70px;position:relative;opacity:calc(.3 + var(--card-progress,1)*.7);transform:translateY(var(--card-offset,0px))}.cap-card>.mono{color:var(--soft);font-size:9px}.cap-card h3{font-size:clamp(32px,3.5vw,62px);font-weight:400;letter-spacing:-.05em;line-height:1.08;margin:25px 0}.cap-card p{font-size:15px;line-height:1.85;color:var(--soft);max-width:430px}.cap-line{position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}.cap-line:after{content:'';display:block;height:1px;width:calc(var(--card-progress,1)*100%);background:var(--ink)}
.approach{overflow:hidden;position:relative;padding-bottom:110px}.approach-head{position:relative;z-index:2}.process-sculpture{margin:15px auto -20px;height:245px;position:relative;width:90%;pointer-events:none;will-change:transform}.process-sculpture img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 28px #0002)}.process-signal{position:absolute;bottom:28px;left:calc(4% + var(--process-progress,0)*88%);height:5px;width:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px var(--accent)}.steps{position:relative;z-index:2;margin-top:40px;gap:35px}.step-item{border-color:var(--line);position:relative;opacity:calc(.45 + var(--step-progress,1)*.55)}.step-item:before{content:'';position:absolute;left:0;top:-1px;width:calc(var(--step-progress,1)*100%);height:1px;background:var(--ink)}.step-item h3{font-size:25px}.step-item p{max-width:240px}.step-item .mono{font-size:10px}.flow-rule svg{stroke:var(--soft)}
.flow-cursor,.cursor-glow{pointer-events:none;position:fixed;top:0;left:0;z-index:2147483646;opacity:0;will-change:transform}.flow-cursor:before{content:'';position:absolute;left:-13px;top:-13px;width:26px;height:26px;border-radius:50%;border:1px solid #e1e8edb3;box-shadow:0 0 7px #e4edff30,inset 0 0 7px #e4edff10;transition:width .2s,height .2s,left .2s,top .2s,border-color .2s}.flow-cursor:after{content:'';position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:#eef4ff}.cursor-glow:before{content:'';position:absolute;left:-65px;top:-65px;width:130px;height:130px;background:radial-gradient(circle,#ceddfd28,transparent 67%);border-radius:50%}.cursor-active .flow-cursor,.cursor-active .cursor-glow{opacity:1}.flow-cursor.is-link:before{width:44px;height:44px;left:-22px;top:-22px;border-color:#d6ff68}.flow-cursor.is-down:before{width:18px;height:18px;left:-9px;top:-9px}.flow-cursor.is-link:after{width:10px;height:10px;left:-5px;top:-5px;border-radius:0;background:none;border-top:1px solid #d6ff68;border-right:1px solid #d6ff68;transform:rotate(45deg)}
[data-theme=day] .client-grid .client-logo img{filter:brightness(0)}[data-theme=day] .site-brand img,[data-theme=day] .site-footer img,[data-theme=day] .brand img{filter:brightness(.58) contrast(1.7);mix-blend-mode:normal}[data-theme=day] .flow-cursor:before{border-color:#202d4e80}[data-theme=day] .flow-cursor:after{background:#202d4e}[data-theme=day] .cursor-glow:before{background:radial-gradient(circle,#5b759d24,transparent 67%)}[data-theme=day] .flow-cursor.is-link:after{border-color:#38552b;background:none}[data-theme=day] .flow-rule svg{filter:brightness(.3)}
/* The same theme travels with visitors into portfolio stories. Keep cinematic media captions white. */
.case-page .brand img{width:210px;height:65px;mix-blend-mode:normal}.case-page .theme-toggle{letter-spacing:0;text-transform:none}.case-page .nav-links,.case-page .navlinks{align-items:center}.case-page .nav,.case-page .navbar{background:var(--nav-bg);border-color:var(--line)}[data-theme=day] .case-page{--black:#f0eee8;--white:#171a20;--muted:#535a64;--line:#171a202c;--pearl:#252c37;--sky:#434b5a;--silver:#434b5a;--gold:#434b5a;--graphite:#68717d;background:var(--bg)!important;color:var(--ink)!important}[data-theme=day] .case-page .hero h1,[data-theme=day] .case-page .hero-summary,[data-theme=day] .case-page .hero-panel,[data-theme=day] .case-page .hero .eyebrow,[data-theme=day] .case-page .hero .meta-list li,[data-theme=day] .case-page .hero .meta-list strong,[data-theme=day] .case-page .finale-inner{color:#f3f3f0}[data-theme=day] .case-page .hero-media:after,[data-theme=day] .case-page .hero-video:after{background:linear-gradient(0deg,#171a20d9,#171a2020 80%)!important}[data-theme=day] .case-page .copy,[data-theme=day] .case-page .case-flow p,[data-theme=day] .case-page .tour p,[data-theme=day] .case-page .result-copy p,[data-theme=day] .case-page .metric p,[data-theme=day] .case-page .signal p,[data-theme=day] .case-page .eyebrow,[data-theme=day] .case-page .section-kicker,[data-theme=day] .case-page .nav-links,[data-theme=day] .case-page .navlinks{color:var(--soft)}[data-theme=day] .case-page .case-flow,[data-theme=day] .case-page .signal,[data-theme=day] .case-page .ticker,[data-theme=day] .case-page .tour,[data-theme=day] .case-page .footer{background:var(--panel);color:var(--ink)}[data-theme=day] .case-page .metric b,[data-theme=day] .case-page .tour-link{color:var(--ink)}[data-theme=day] .case-page .step,[data-theme=day] .case-page .metric,[data-theme=day] .case-page .tour-frame{border-color:var(--line)}
@media(hover:hover) and (pointer:fine){.cursor-active,.cursor-active a,.cursor-active button,.cursor-active summary,.cursor-active [data-lightbox]{cursor:none}}
@media(max-width:1050px){.site-brand img{width:210px}.site-nav{gap:15px}.nav-items{gap:15px}.theme-label{display:none}.theme-toggle{padding:11px}.capability-layout{gap:35px}.network{height:400px}}
@media(max-width:600px){.site-nav{height:90px;display:flex;gap:10px;padding-inline:22px}.site-brand img{width:185px;height:60px}.nav-controls{margin-left:auto;gap:8px}.nav-items{top:90px;background:var(--bg);padding:28px}.menu-button{padding:11px 13px}.theme-toggle{width:39px;height:39px;padding:0}.theme-icon{font-size:19px}.home-hero{min-height:825px;height:max(825px,calc(100svh - 90px));padding-top:33px}.hero-title{margin-top:45px;margin-bottom:25px;font-size:18vw}.hero-description{margin-top:300px}#flow-canvas{inset:240px 0 auto;width:100%;height:340px}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}.client-logo{height:68px}.client-logo img{max-width:112px;max-height:58px}.clients{padding-block:40px 50px}.capability-layout{display:grid;grid-template-columns:1fr;margin-top:35px;gap:30px}.connected-sticky{position:relative;top:0}.network{height:340px}.connected-status{font-size:8px}.cap-card{min-height:260px;padding:25px 0 35px}.cap-card h3{font-size:37px}.cap-card p{font-size:14px}.network-label{font-size:10px;padding:10px 14px}.process-sculpture{width:135%;margin-left:-17.5%;height:175px;margin-block:25px 0}.steps{grid-template-columns:1fr 1fr;gap:40px 24px;margin-top:30px}.step-item h3{font-size:22px}.step-item p{font-size:13px}.site-footer img{width:140px;height:45px}.case-page .brand img{width:145px;height:45px}.case-page .nav-links,.case-page .navlinks{gap:10px}.case-page .theme-toggle{width:30px;height:30px;padding:5px}.case-page .theme-icon{font-size:15px}.case-page .nav-links a:first-of-type{display:inline-block}.case-page .nav-links a:nth-of-type(2),.case-page .nav-links a:nth-of-type(3){display:none}}
@media(prefers-reduced-motion:reduce){.flow-cursor,.cursor-glow{display:none}.scroll-word{opacity:1!important;transform:none!important}.cap-card,.step-item{opacity:1;transform:none}.process-sculpture,.network-orbit,.network-core,.network-label{transform:none!important}.home-hero .hero-title,.home-hero .hero-description{transform:none!important}body{transition:none}}
/* Overlays stay legible on cinematic photographs in both themes. */
.case-page figure figcaption,.case-page .film-panel strong,.case-page .media-frame h2{color:#f3f3f0}.case-page .hero{--white:#f3f3f0;--black:#08090a;--muted:#bbc0c8;color:#f3f3f0}
