@font-face{font-family:Manrope;src:url('assets/manrope-variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Plex;src:url('assets/ibm-plex-mono.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#0b0b0d;--surface:#111114;--ivory:#f4eee4;--muted:#a6a3a0;--red:#c5263e;--line:rgba(244,238,228,.17);--pad:clamp(24px,5vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ivory);background:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{background:#d81c36;color:white}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}
button:disabled{cursor:default}
button:not(.button){-webkit-appearance:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-80px;z-index:100;padding:12px 22px;background:var(--ivory);color:var(--ink)}
.skip-link:focus{top:16px}
.section-shell{padding-left:var(--pad);padding-right:var(--pad);max-width:1600px;margin-inline:auto}
.eyebrow{font-family:Plex,monospace;font-size:10px;font-weight:400;line-height:1.65;letter-spacing:.13em}
.site-header{height:92px;position:absolute;z-index:30;top:0;left:0;width:100%;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(244,238,228,.12);transition:background .3s,border-color .3s}
.site-header.is-scrolled{position:fixed;background:rgba(11,11,13,.94);backdrop-filter:blur(16px);height:76px;border-color:var(--line)}
.wordmark-window{display:block;position:relative;width:156px;aspect-ratio:1010/210;overflow:hidden}
.wordmark-image{position:absolute;width:124.1584%;max-width:none;height:auto;left:-12.6733%;top:-433.3333%}
.main-nav{display:flex;gap:34px;align-items:center;font-size:12px}
.main-nav>a{position:relative;color:#d8d4ce}
.main-nav>a:hover{color:#fff}
.main-nav>a:not(.nav-invite)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav>a:hover::after{transform:scaleX(1)}
.main-nav .nav-invite{border:1px solid rgba(244,238,228,.32);padding:11px 18px;border-radius:2px;color:var(--ivory)}
.nav-invite span{margin-left:20px;color:#ff5265}
.menu-toggle{display:none}
.scroll-progress{position:absolute;height:1px;bottom:-1px;left:0;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.hero{position:relative;min-height:850px;height:min(100svh,1080px);display:flex;flex-direction:column;justify-content:center;isolation:isolate;overflow:hidden}
.hero-art{position:absolute;top:108px;bottom:88px;left:51%;right:var(--pad);z-index:-3;display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent}
.hero-scene{position:relative;width:100%;max-width:620px;aspect-ratio:1}
.hero-parallax{position:relative;width:100%;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0);transition:transform 1s ease-out;will-change:transform}
.hero-art .hero-scene img{position:relative;inset:auto;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none;transition:none}
.phantom-presence{position:relative;width:100%;animation:phantom-float 9s ease-in-out infinite;will-change:transform}
.hero-art[data-active=false] .phantom-presence{animation-play-state:paused}
.hero::before{content:"";position:absolute;inset:0;z-index:-4;background:radial-gradient(ellipse at 78% 48%,#28151d66,transparent 54%)}
.hero-content{padding:145px var(--pad) 140px;max-width:820px}
.hero-content>.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:34px;font-size:9px}
.live-dot{display:inline-block;flex:none;width:5px;height:5px;border-radius:50%;background:#ff334d;box-shadow:0 0 12px #ff334d77}
.hero h1{font-size:clamp(72px,7.5vw,116px);line-height:.92;letter-spacing:-.072em;font-weight:700;text-transform:uppercase}
.hero h1>.hero-pledge{display:block;margin-top:22px;font-size:.46em;letter-spacing:-.045em;line-height:1.1}
#shadow-transition{position:fixed;inset:0;width:100%;height:100%;z-index:90;pointer-events:none}
body[data-section-transition] #page-stage{opacity:var(--page-visibility,1);will-change:opacity;pointer-events:none}
body[data-section-transition] .reveal{transition:none}
h1[tabindex="-1"]:focus-visible,h2[tabindex="-1"]:focus-visible{outline:2px solid var(--red);outline-offset:10px}
.hero-description{font-size:15px;line-height:1.8;color:#bdbab5;margin-top:26px;max-width:390px}
.hero-actions{display:flex;align-items:center;gap:27px;margin-top:32px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:52px;padding:14px 22px;border:1px solid transparent;border-radius:2px;font-size:12px;font-weight:600;line-height:1.3;transition:background .25s,color .25s,transform .25s,border-color .25s}
.button span{font-size:20px;line-height:1;transition:transform .25s}
.button:hover span{transform:translate(2px,-2px)}
.button-ivory{color:#171719;background:var(--ivory)}
.button-ivory:hover{background:#fff}
.button-dark{background:var(--ink);color:var(--ivory)}
.button-dark:hover{background:#26262b}
.button-outline{background:transparent;border-color:#55525a}
.button-outline:hover{border-color:var(--ivory)}
.understated-link{font-size:11px;color:#c6c2bd;display:flex;gap:20px;align-items:center}
.understated-link:hover{color:white}
.hero-foot{position:absolute;bottom:32px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:end;gap:24px;font-family:Plex,monospace;font-size:8px;line-height:1.8;letter-spacing:.08em;color:#a8a5a3}
.scroll-cue{display:flex;gap:18px;align-items:center}
.scroll-cue span{font-size:19px;color:var(--ivory)}
.motion-toggle{font-family:Plex,monospace;border:0;padding:7px 0;background:transparent;font-size:8px;letter-spacing:.08em;display:flex;gap:10px;align-items:center;color:#d2cdc7}
.motion-indicator{font-size:10px;letter-spacing:1px}
.principle-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:98px;padding:25px var(--pad);display:flex;align-items:center;gap:30px;font-size:15px;letter-spacing:-.025em}
.principle-strip>i{height:4px;width:4px;background:var(--red);border-radius:50%}
.principle-strip>a{margin-left:auto;color:var(--muted);font-size:11px;letter-spacing:0}
.principle-strip>a span{margin-left:20px;color:var(--ivory)}
.work-section{padding-top:120px;padding-bottom:130px}
.section-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:end}
.section-intro>.eyebrow{grid-column:1/-1;margin-bottom:28px;color:#9f9b98}
.section-intro h2{font-size:clamp(40px,4.5vw,70px);line-height:1.12;letter-spacing:-.055em}
.section-lead{font-size:14px;color:var(--muted);max-width:420px;line-height:1.9;padding-bottom:5px}
.work-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:70px;align-items:start}
.work-so-far{display:grid;grid-template-columns:1fr 3fr;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-top:42px;align-items:start}
.work-so-far .eyebrow{font-size:9px;color:#fa465e;padding-top:4px}
.work-so-far>p:last-child{font-size:14px;line-height:1.9;color:var(--muted);max-width:740px}
.work-so-far+.work-layout{margin-top:44px}
.service-row{border-top:1px solid var(--line)}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-row>summary{list-style:none;display:grid;grid-template-columns:28px 1fr 16px;gap:14px;align-items:center;min-height:84px;cursor:pointer;font-size:19px;letter-spacing:-.04em}
.service-row>summary::-webkit-details-marker{display:none}
.service-index{font-family:Plex,monospace;color:#797779;font-size:9px;letter-spacing:0}
.service-plus{position:relative;width:12px;height:12px}
.service-plus::before,.service-plus::after{content:"";position:absolute;top:5px;left:0;width:12px;height:1px;background:#9f9b98;transition:transform .2s,background .2s}
.service-plus::after{transform:rotate(90deg)}
.service-row[open] .service-plus::after{transform:rotate(0)}
.service-row[open] .service-plus::before,.service-row[open] .service-plus::after{background:var(--red)}
.service-row[open]>summary{color:white}
.service-row[open] .service-index{color:#ff4358}
.service-body{padding:0 0 27px 42px;color:var(--muted);font-size:13px;line-height:1.9}
.service-body ul{padding:0;list-style:none;margin:17px 0 0;font-size:10px;color:#c4bfb9}
.service-body li::before{content:"↳";color:#e82d43;margin-right:10px}
.flow-visual{position:sticky;top:115px;padding:20px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#4a4549;min-width:0}
.visual-meta{display:flex;justify-content:space-between;font-family:Plex,monospace;font-size:8px;color:#817d7c;letter-spacing:.06em}
.visual-index{color:#c9c3bd}
.flow-map{width:100%;display:block;margin-top:8px}
.flow-rings{stroke-width:.6;opacity:.7}
.flow-paths{stroke:#595157;stroke-width:.9}
.flow-exit{stroke:#c7213a!important}
.flow-pulse-paths{stroke:#f63955;stroke-width:1.5;stroke-dasharray:12 300;animation:line-flow 5s linear infinite;opacity:.8}
.flow-input circle{fill:#18171b;stroke:#7f7179;stroke-width:1}
.flow-core{fill:#111114;stroke:#d2c7c6;stroke-width:1}
.flow-core-inner{fill:transparent;stroke:#6d6367;stroke-width:.5;stroke-dasharray:2 7}
.flow-core-label{fill:var(--ivory);font-size:19px;font-family:Manrope,sans-serif;letter-spacing:-.04em}
.flow-labels{fill:#a39c9d;font-family:Plex,monospace;font-size:9px}
.flow-output{fill:var(--red)}
.flow-output-label{fill:#898184;font-family:Plex,monospace;font-size:7px;letter-spacing:.1em}
.visual-caption{padding:0 8px 10px}
.visual-caption h3{font-size:20px;letter-spacing:-.035em;color:var(--ivory);margin-bottom:6px}
.visual-caption p{font-size:11px;color:#a29b9c}
.visual-caption>span{display:block;font-family:Plex,monospace;letter-spacing:.08em;font-size:7px;color:#767175;margin-top:26px}
.manifesto{position:relative;overflow:hidden;background:#c5263e;color:#100c10;padding-top:36px;padding-bottom:28px}
.manifesto::after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(17,5,10,.12);border-radius:50%;right:-230px;top:5%;pointer-events:none}
.manifesto-top,.manifesto-bottom{display:flex;justify-content:space-between;align-items:center}
.manifesto-top .eyebrow{font-size:9px}
.manifesto-mark{font-size:48px;line-height:1;font-weight:400}
.manifesto-body{padding-top:65px;padding-bottom:75px}
.manifesto h2{font-size:clamp(58px,7.6vw,116px);line-height:.96;font-weight:700;letter-spacing:-.065em}
.manifesto h2>span{display:block;font-size:.52em;line-height:1.18;margin-top:14px;letter-spacing:-.05em}
.manifesto-copy{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:50px;max-width:1060px}
.manifesto-copy p:first-child{font-size:24px;line-height:1.45;letter-spacing:-.035em;max-width:380px;font-weight:600}
.manifesto-copy p:last-child{font-size:12px;line-height:1.9;color:#33121b}
.manifesto-bottom{font-family:Plex,monospace;font-size:8px;letter-spacing:.09em;border-top:1px solid rgba(25,0,7,.28);padding-top:21px}
.approach-section{padding-top:120px;padding-bottom:100px}
.approach-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;padding:0;margin:65px 0 0;list-style:none}
.approach-steps li{border-top:1px solid var(--line);padding-top:20px;position:relative}
.approach-steps li::after{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#d44c67,#f4bac6);transform:scaleX(0);transform-origin:left;animation:step-trace 8s cubic-bezier(.4,0,.2,1) infinite;animation-delay:calc(var(--step)*-1.4s)}
.step-visual{display:block;width:100%;height:100px;margin-top:16px;overflow:visible}
.step-guide{fill:none;stroke:#69505d;stroke-width:.8;opacity:.65}
.step-accent{fill:none;stroke:#d56a82;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.step-point{fill:#f4bdc9}.step-stations circle{fill:var(--ink);stroke:#805262;stroke-width:1}
.step-scan{animation:halo-turn 10s linear infinite;transform-origin:0 0}
.step-beat{animation:step-beat 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.step-piece{animation:step-assemble 6s cubic-bezier(.65,0,.35,1) infinite}
.step-signal{stroke-dasharray:18 110;animation:step-signal 4.8s linear infinite}
.step-traveller{animation:step-travel 4.8s cubic-bezier(.4,0,.2,1) infinite}
.step-control{animation:step-control 9s cubic-bezier(.65,0,.35,1) infinite;transform-origin:0 0}
.approach-section[data-active=false] .step-motion,.approach-section[data-active=false] .approach-steps li::after{animation-play-state:paused}
@keyframes step-trace{0%,12%{transform:scaleX(0);opacity:0}20%{opacity:.9}58%{transform:scaleX(1);opacity:.9}78%,100%{transform:scaleX(1);opacity:0}}
@keyframes step-beat{0%,100%{transform:scale(.8);opacity:.35}50%{transform:scale(1.5);opacity:1}}
@keyframes step-assemble{0%,100%{transform:translate(var(--piece-x),var(--piece-y));opacity:.4}42%,64%{transform:translate(0,0);opacity:1}}
@keyframes step-signal{to{stroke-dashoffset:-128}}
@keyframes step-travel{0%,8%{transform:translateX(0);opacity:0}16%{opacity:1}82%{transform:translateX(104px);opacity:1}92%,100%{transform:translateX(104px);opacity:0}}
@keyframes step-control{0%,100%{transform:rotate(-35deg)}50%{transform:rotate(145deg)}}
.step-number{font-family:Plex,monospace;font-size:10px;color:#e92d47}
.approach-steps h3{font-size:21px;letter-spacing:-.045em;margin-top:21px;margin-bottom:14px}
.approach-steps p{font-size:12px;line-height:1.9;color:var(--muted)}
.approach-note{font-size:10px;color:#8f8b88;display:flex;align-items:center;gap:14px;margin-top:50px}
.small-cross{font-family:Plex,monospace;color:var(--red);font-size:20px}
.direction-section{padding-top:75px;padding-bottom:130px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}
.direction-copy>.eyebrow{color:#9f9b98;margin-bottom:30px}
.direction-copy h2{font-size:clamp(40px,4.3vw,66px);line-height:1.1;letter-spacing:-.055em}
.direction-copy h2>span{display:block;color:#8e8988}
.direction-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:27px;max-width:440px}
.direction-copy>.muted{color:#96918f;font-size:11px!important}
.horizon-visual{min-height:510px;position:relative;padding-top:290px}
.horizon-orbits{position:absolute;top:0;left:0;right:0;height:280px;overflow:hidden;perspective:700px}
.orbit-system{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--orbit-tilt-y,0deg)) rotateY(var(--orbit-tilt-x,0deg));transition:transform .5s ease-out}
.orbit-plane{position:absolute;width:230px;height:230px;left:50%;top:45%;margin:-115px 0 0 -115px;transform-style:preserve-3d;border:1px solid #63515c;border-radius:50%;transition:transform 1s cubic-bezier(.22,1,.36,1),border-color .7s,opacity .7s}
.orbit-one{transform:rotateX(66deg) rotateZ(-18deg) scale(.54);border-color:#e84862}
.orbit-two{transform:rotateX(66deg) rotateZ(18deg) scale(.86);border-color:#75525d}
.orbit-three{transform:rotateX(66deg) rotateZ(-12deg) scale(1.18);border-color:#3e343c}
.orbit-track{position:absolute;inset:-1px;border-radius:50%;animation:orbit-travel 19s linear infinite}
.orbit-track>i{position:absolute;width:5px;height:5px;left:50%;top:-2px;border-radius:50%;background:#f4c6ce;box-shadow:0 0 12px #ed466875}
.orbit-two .orbit-track{animation-duration:27s;animation-direction:reverse;animation-delay:-9s}
.orbit-three .orbit-track{animation-duration:36s;animation-delay:-19s}
.orbit-two .orbit-track>i{background:#e23d59;width:4px;height:4px}
.orbit-three .orbit-track>i{background:#a79a9f;width:3px;height:3px}
.orbit-core{position:absolute;left:50%;top:45%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#f54a65;box-shadow:0 0 28px 5px #c5263e45;animation:beacon 5s ease-in-out infinite}
.orbit-readout{position:absolute;bottom:14px;left:0;font-family:Plex,monospace;font-size:8px;color:#aa8f98;letter-spacing:.12em}
[data-horizon=next] .orbit-one{transform:translateY(23px) rotateX(55deg) rotateZ(-30deg) scale(.7)}
[data-horizon=next] .orbit-two{transform:translateY(-9px) rotateX(45deg) rotateY(25deg) rotateZ(30deg) scale(1);border-color:#c1788a}
[data-horizon=next] .orbit-three{transform:translateY(-38px) rotateX(62deg) rotateZ(-22deg) scale(1.23);border-color:#715360}
[data-horizon=horizon] .orbit-one{transform:rotateX(26deg) rotateY(-34deg) rotateZ(-32deg) scale(.88)}
[data-horizon=horizon] .orbit-two{transform:rotateX(69deg) rotateY(18deg) rotateZ(24deg) scale(1.16);border-color:#d2899a}
[data-horizon=horizon] .orbit-three{transform:rotateX(36deg) rotateY(64deg) rotateZ(35deg) scale(1.2);border-color:#96566a}
.horizon-visual[data-active=false] .orbit-track,.horizon-visual[data-active=false] .orbit-core{animation-play-state:paused}
[data-motion=paused] .orbit-plane,[data-motion=paused] .orbit-system{transition:none}
@keyframes orbit-travel{to{transform:rotate(360deg)}}
.horizon-tabs{display:flex;border-bottom:1px solid var(--line);position:relative}
.horizon-tabs button{border:0;background:transparent;color:#8f888b;padding:15px 0;margin-right:30px;font-family:Plex,monospace;font-size:9px;letter-spacing:.08em;position:relative}
.horizon-tabs button[aria-selected=true]{color:var(--ivory)}
.horizon-tabs button[aria-selected=true]::after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--red)}
.horizon-panel{padding-top:30px;max-width:380px}
.horizon-panel>.eyebrow{font-size:7px;color:#8b8185;margin-bottom:16px}
.horizon-panel h3{font-size:27px;line-height:1.25;letter-spacing:-.04em}
.horizon-panel>p:last-child{font-size:11px;line-height:1.9;color:#aaa2a3;margin-top:15px}
.start-section{background:var(--ivory);color:#1b191b}
.start-layout{padding-top:105px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:12%}
.start-copy>.eyebrow{color:#787070;margin-bottom:32px}
.start-copy h2{font-size:clamp(50px,5.6vw,86px);line-height:.99;font-weight:700;letter-spacing:-.065em}
.start-copy h2>span{color:#c81c34}
.start-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:28px;color:#675f60}
.contact-note{display:flex;gap:12px;align-items:flex-start;border-top:1px solid #c8c0b8;padding-top:20px;margin-top:48px;max-width:350px}
.note-dot{height:5px;width:5px;flex:none;display:block;background:#c21d35;border-radius:50%;margin-top:6px}
.contact-note p{font-size:10px;line-height:1.8;color:#79706e}
.brief-form{padding-top:7px}
.intent-field{border:0;margin:0 0 35px;padding:0}
.intent-field legend,.form-field label{display:block;font-size:11px;font-weight:600;margin-bottom:12px}
.intent-options{display:flex;flex-wrap:wrap;gap:8px}
.intent-choice{position:relative;cursor:pointer}
.intent-choice input{position:absolute;opacity:0;width:1px;height:1px}
.intent-choice>span{display:block;border:1px solid #c9c0b8;padding:9px 12px;font-size:10px;border-radius:2px;transition:background .2s,color .2s,border .2s}
.intent-choice input:checked+span{background:#252126;border-color:#252126;color:var(--ivory)}
.intent-choice input:focus-visible+span{outline:2px solid #c21d35;outline-offset:3px}
.form-field{margin-bottom:28px}
.form-field input,.form-field textarea,.form-field select{width:100%;color:#292427;background:transparent;border:0;border-bottom:1px solid #bdb2a9;border-radius:0;padding:9px 0 13px;box-shadow:none;font-size:12px;outline-offset:5px}
.form-field textarea{resize:vertical;min-height:110px;line-height:1.8}
.form-field ::placeholder{color:#9a8e89;opacity:1}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-field select{min-height:44px}
.brief-form>.button{width:100%;margin-top:5px}
.form-note{font-size:9px;line-height:1.9;color:#8e817c;margin-top:16px;max-width:420px}
.site-footer{padding-top:45px;padding-bottom:25px;overflow:hidden}
.footer-top{display:flex;justify-content:space-between;align-items:start;font-family:Plex,monospace;font-size:8px;letter-spacing:.1em;color:#a49b99}
.footer-top a{display:flex;gap:24px}
.footer-top a span{font-size:16px;color:var(--ivory)}
.footer-logo{display:block;margin-top:55px;margin-bottom:42px}
.footer-logo .wordmark-window{width:100%;max-width:1010px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;font-family:Plex,monospace;font-size:7px;letter-spacing:.06em;color:#8a8282}
.privacy-trigger{border:0;background:none;padding:0;font-family:inherit;font-size:inherit;letter-spacing:inherit;color:#b5aaa7}
.preview-label{color:#cfc2bb}
.dialog{width:min(630px,calc(100vw - 36px));max-height:88svh;border:1px solid #4b4148;border-radius:3px;background:#141216;color:var(--ivory);padding:30px;box-shadow:0 30px 100px #0008}
.dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.dialog-top>.eyebrow{font-size:8px;color:#a99a9d}
.dialog-close{border:0;background:none;font-size:30px;line-height:1;width:34px;height:34px;font-weight:300}
.dialog h2{font-size:34px;line-height:1.1;letter-spacing:-.05em}
.dialog-intro{color:#aca0a0;font-size:12px;margin-top:16px}
.brief-output{font-family:Manrope,sans-serif;background:#1c181e;color:#d9cecb;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;margin:25px 0;max-height:38svh;overflow:auto;border-left:2px solid #b81933}
.dialog-actions{display:flex;gap:12px}
.dialog-status{font-size:11px;margin-top:14px;color:#c6b8b7;min-height:18px}
.privacy-dialog>p{font-size:13px;line-height:1.85;color:#bcb0af;margin-top:20px}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}
.js .reveal.is-visible{opacity:1;transform:none}
[data-motion=paused] *,[data-motion=paused] *::before,[data-motion=paused] *::after{animation-play-state:paused!important}
[data-motion=paused] .hero-parallax{transform:none!important;will-change:auto}
[data-motion=paused] .reveal{opacity:1;transform:none;transition:none}
@keyframes line-flow{to{stroke-dashoffset:-312}}
@keyframes beacon{0%,100%{opacity:.75;box-shadow:0 0 20px 2px #c3153c22}50%{opacity:1;box-shadow:0 0 30px 7px #c3153c44}}
@keyframes phantom-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-.9%)}}
@media(min-width:1700px){.hero-content{padding-left:max(var(--pad),calc((100vw - 1440px)/2))}.hero-art img{object-position:60% center}.site-header{padding-inline:max(var(--pad),calc((100vw - 1440px)/2))}.hero-foot{left:max(var(--pad),calc((100vw - 1440px)/2));right:max(var(--pad),calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.hero{min-height:760px}.hero h1{font-size:88px}.hero-description{max-width:340px;font-size:13px}.hero-art img{object-position:58% center}.hero::before{background:linear-gradient(90deg,rgba(8,8,10,.75),rgba(8,8,10,.3) 45%,transparent 80%)}.main-nav{gap:22px;font-size:10px}.main-nav .nav-invite{padding:10px 13px}.section-intro,.work-layout{column-gap:7%}.service-row>summary{font-size:16px}.approach-steps{gap:24px}.approach-steps h3{font-size:18px}.start-layout{gap:8%}.footer-bottom{font-size:6px}}
@media(max-width:760px){
  :root{--pad:24px}html{scroll-padding-top:92px}
  .site-header,.site-header.is-scrolled{height:76px}.wordmark-window{width:136px}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;font-size:10px;padding:12px 0}.menu-toggle i{display:block;width:17px;height:9px;border-top:1px solid var(--ivory);border-bottom:1px solid var(--ivory);transition:transform .2s}.menu-toggle[aria-expanded=true] i{transform:rotate(-45deg)}
  .main-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:30px var(--pad) 38px;background:#111013;border-bottom:1px solid #59404a;font-size:18px;align-items:stretch;gap:24px}.main-nav.is-open{display:flex;flex-direction:column}.main-nav .nav-invite{font-size:14px;margin-top:8px;display:flex;justify-content:space-between;padding:15px}
  .hero{min-height:0;height:auto;display:flex;padding-top:76px}.hero-content{order:1;padding:53px var(--pad) 16px;max-width:none}.hero-content>.eyebrow{font-size:7px;letter-spacing:.09em;margin-bottom:28px}.hero h1{font-size:clamp(47px,14vw,88px);line-height:.94}.hero h1>.hero-pledge{font-size:.45em;margin-top:18px}.hero-description{font-size:12px;line-height:1.9;margin-top:22px;max-width:340px}.hero-actions{margin-top:25px;gap:24px}.hero-actions .button{min-height:48px;padding:13px 18px;gap:25px;font-size:11px}.understated-link{font-size:10px;gap:10px}.hero-art{position:relative;inset:auto;z-index:0;order:2;height:390px;margin-top:5px;overflow:hidden}.hero-art img{object-fit:cover;object-position:77% 50%;width:160%;max-width:none;transform:none;position:absolute;left:-53%;height:100%}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink),transparent 15%,transparent 83%,var(--ink))}.hero::before{display:none}.hero-content,.hero-foot{z-index:2}.hero-foot{position:relative;bottom:auto;left:auto;right:auto;order:3;padding:0 var(--pad) 25px;font-size:6px;gap:16px;align-items:center}.scroll-cue{display:none}.motion-toggle{font-size:7px}
  .principle-strip{padding-block:23px;min-height:76px;gap:18px;font-size:11px}.principle-strip>a{display:none}.principle-strip>i{width:3px;height:3px}
  .work-section,.approach-section{padding-top:75px;padding-bottom:75px}.section-intro{display:block}.section-intro>.eyebrow{margin-bottom:20px;font-size:8px}.section-intro h2{font-size:44px}.section-lead{font-size:12px;margin-top:25px;max-width:420px}.work-layout{display:flex;flex-direction:column;gap:40px;margin-top:36px}.service-list,.flow-visual{width:100%}.service-row>summary{font-size:18px;min-height:74px;grid-template-columns:24px 1fr 14px;gap:12px}.service-body{padding-left:36px;font-size:12px}.service-body ul{font-size:10px}.flow-visual{position:relative;top:auto;padding-top:17px}.flow-map{max-height:320px;margin-top:4px}.visual-caption{padding:0 5px 14px}.visual-caption h3{font-size:20px}.visual-caption>span{margin-top:18px;font-size:6px}
  .manifesto{padding-top:25px;padding-bottom:22px}.manifesto-mark{font-size:35px}.manifesto-top .eyebrow{font-size:7px}.manifesto-body{padding-top:40px;padding-bottom:40px}.manifesto h2{font-size:clamp(43px,10.4vw,70px);line-height:1.02}.manifesto h2>span{font-size:.49em;margin-top:12px}.manifesto-copy{display:block;margin-top:35px}.manifesto-copy p:first-child{font-size:22px;max-width:300px}.manifesto-copy p:last-child{font-size:11px;max-width:400px;margin-top:20px}.manifesto-bottom{font-size:6px;gap:20px;align-items:start}.manifesto-bottom>span{max-width:150px}
  .approach-steps{grid-template-columns:1fr 1fr;column-gap:24px;row-gap:35px;margin-top:40px}.step-number{font-size:9px}.approach-steps h3{font-size:18px;margin-top:25px;margin-bottom:12px}.approach-steps p{font-size:10px;line-height:1.9}.approach-note{font-size:9px;align-items:start;margin-top:35px;gap:10px}.small-cross{line-height:1.2}
  .direction-section{padding-top:65px;padding-bottom:75px;display:block}.direction-copy h2{font-size:43px;max-width:400px}.direction-copy>.eyebrow{font-size:8px;margin-bottom:22px}.direction-copy>p:not(.eyebrow){font-size:12px;margin-top:22px}.direction-copy>.muted{font-size:10px!important}.horizon-visual{padding-top:280px;min-height:510px;margin-top:15px}.horizon-orbits{height:270px}.horizon-tabs button{font-size:8px;margin-right:28px}.horizon-panel{padding-top:25px;max-width:390px}.horizon-panel h3{font-size:27px}.horizon-panel>p:last-child{font-size:11px}
  .start-layout{display:block;padding-top:70px;padding-bottom:65px}.start-copy h2{font-size:62px}.start-copy>.eyebrow{font-size:8px;margin-bottom:25px}.start-copy>p:not(.eyebrow){font-size:12px;margin-top:25px}.contact-note{margin-top:28px;max-width:380px;padding-top:17px}.brief-form{margin-top:42px}.intent-field{margin-bottom:28px}.form-pair{gap:20px}.form-field label,.intent-field legend{font-size:10px}.form-field input,.form-field textarea,.form-field select{font-size:11px}.form-note{font-size:8px}
  .site-footer{padding-top:30px;padding-bottom:24px}.footer-top{font-size:6px}.footer-logo{margin-top:38px;margin-bottom:28px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;font-size:6px;gap:13px}.footer-bottom>span:first-child{grid-column:1/-1}.footer-bottom .preview-label{text-align:right}.footer-bottom .privacy-trigger{text-align:left;grid-column:1}.footer-bottom>span:nth-child(2){grid-row:2;grid-column:2;text-align:right}
  .dialog{padding:22px}.dialog h2{font-size:28px}.dialog-top>.eyebrow{font-size:6px}.brief-output{padding:15px;font-size:11px}.dialog-actions .button{font-size:11px;gap:20px;padding:13px 16px}.privacy-dialog>p{font-size:12px}
}
@media(max-width:380px){.hero h1{font-size:47px}.hero-content>.eyebrow{font-size:6px}.hero-actions{gap:18px}.hero-art{height:345px}.service-row>summary{font-size:16px}.manifesto h2{font-size:39px}.start-copy h2{font-size:55px}.form-pair{grid-template-columns:1fr;gap:0}}
/* Keep supporting content readable without losing the editorial scale. */
.hero-description{font-size:16px}
.section-lead{font-size:15px}
.service-body{font-size:14px}
.service-body ul{font-size:12px}
.visual-caption p{font-size:13px}
.manifesto{color:var(--ivory)}
.manifesto-copy p:last-child{color:#f5dfe2;font-size:14px}
.manifesto-bottom{border-color:rgba(244,238,228,.3);font-size:9px}
.approach-steps p{font-size:14px}
.approach-note{font-size:12px}
.direction-copy>p:not(.eyebrow){font-size:14px}
.direction-copy>.muted{font-size:12px!important}
.horizon-panel>p:last-child{font-size:13px}
.start-copy>p:not(.eyebrow){font-size:14px}
.contact-note p{font-size:12px;color:#625654}
.intent-field legend,.form-field label{font-size:12px}
.intent-choice>span{font-size:12px}
.form-field input,.form-field textarea,.form-field select{font-size:14px}
.form-field ::placeholder{color:#746661}
.form-note{font-size:11px;color:#6f605a}
.footer-bottom{font-size:9px}
[data-motion=paused]{scroll-behavior:auto}
@media(max-width:760px){
  .hero-description,.section-lead,.service-body{font-size:14px}
  .hero-parallax{transform:none;will-change:auto}
  .work-so-far{grid-template-columns:1fr;gap:10px;padding:21px 0;margin-top:30px}
  .work-so-far .eyebrow{font-size:8px}
  .work-so-far>p:last-child{font-size:13px}
  .service-body ul,.visual-caption p{font-size:12px}
  .manifesto-copy p:last-child{font-size:14px}
  .manifesto-bottom{font-size:8px}
  .approach-steps p{font-size:13px}
  .approach-note{font-size:11px}
  .direction-copy>p:not(.eyebrow){font-size:14px}
  .direction-copy>.muted{font-size:12px!important}
  .horizon-panel>p:last-child{font-size:13px}
  .start-copy>p:not(.eyebrow){font-size:14px}
  .form-field input,.form-field textarea,.form-field select{font-size:16px}
  .footer-bottom{font-size:8px}
}
/* A shared circular visual language for the service and horizon diagrams. */
@keyframes halo-turn{to{transform:rotate(360deg)}}
.hero-scenarios{max-width:390px;margin-top:30px;border-top:1px solid #f4eee425;padding-top:18px}
.hero-scenarios>.eyebrow{font-size:7px;letter-spacing:.15em;color:#b9a4aa}
.scenario-options{display:flex;gap:18px;margin-top:11px}
.scenario-options button{background:none;border:0;border-bottom:1px solid transparent;padding:5px 0 8px;color:#a79da2;font-size:11px;transition:color .25s,border-color .25s}
.scenario-options button[aria-pressed=true]{color:var(--ivory);border-color:var(--red)}
.scenario-options button:hover{color:var(--ivory)}
.scenario-answer{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-top:13px;min-height:36px}
.scenario-answer p{font-size:11px;color:#c7bcc1;max-width:235px;line-height:1.6}
.scenario-answer a{font-size:9px;white-space:nowrap;color:#e8c8d0;line-height:1.8}
.scenario-answer a span{margin-left:8px;color:#ee5973}
.service-explorer{margin-top:40px}
.service-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line);gap:0}
.service-tabs button{display:grid;grid-template-columns:1fr auto;text-align:left;position:relative;padding:20px 18px 20px 0;background:transparent;border:0;color:#9b9298;font-size:17px;letter-spacing:-.035em;transition:color .25s}
.service-tabs button>span{grid-column:1/-1;font-family:Plex,monospace;font-size:8px;letter-spacing:.08em;margin-bottom:9px;color:#85737d}
.service-tabs button>i{font-style:normal;font-size:15px;opacity:.4}
.service-tabs button::after{content:"";position:absolute;bottom:-1px;left:0;right:18px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.service-tabs button[aria-selected=true],.service-tabs button:hover{color:var(--ivory)}
.service-tabs button[aria-selected=true]::after{transform:scaleX(1)}
.service-tabs button[aria-selected=true]>span,.service-tabs button[aria-selected=true]>i{color:#ed5872;opacity:1}
.service-explorer .work-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:9%;margin-top:34px}
.service-panels{min-width:0;min-height:390px;display:grid;align-items:center}
.service-panel:focus-visible{outline:2px solid var(--red);outline-offset:12px}
.service-panel>.eyebrow{font-size:8px;color:#b68f9c;margin-bottom:24px}
.service-panel>h3{font-size:clamp(30px,3vw,46px);line-height:1.15;letter-spacing:-.05em;max-width:430px}
.service-explorer .service-body{padding:0;margin-top:23px;font-size:14px;color:#b2a8ae;line-height:1.85}
.service-explorer .service-body ul{font-size:12px;line-height:2.1;margin-top:20px}
.service-panel>.understated-link{display:inline-flex;margin-top:27px;font-size:11px;color:#efc9d3}
.service-explorer .flow-visual{position:relative;top:auto;border-top:0;border-bottom:0;padding:10px 0;min-width:0}
.service-explorer .flow-map{width:100%;display:block;max-height:none;margin-top:4px;overflow:visible}
.flow-orbit-guide{fill:none;stroke:#59404f;stroke-width:.8;opacity:.5}
.flow-orbit-arc{fill:none;stroke:#be5470;stroke-width:1.2;stroke-dasharray:130 699;stroke-linecap:round}
.flow-orbit-dots{fill:none;stroke:#77616f;stroke-width:1;stroke-dasharray:1 14}
.flow-satellite{fill:#f6b2c3}.flow-satellite.secondary{fill:#d44968}
.flow-rotor{transform-origin:0 0;animation:halo-turn 19s linear infinite}
.flow-rotor-reverse{animation-direction:reverse;animation-duration:31s}
.service-explorer .flow-pulse-paths{animation:none;stroke:#e9607d;stroke-width:2;opacity:.85}
.flow-pulse-paths path{stroke-dasharray:9 180;animation:service-flow 3.6s linear infinite}
.flow-pulse-paths path:nth-child(2){animation-delay:-1.2s}.flow-pulse-paths path:nth-child(3){animation-delay:-2.4s}
@keyframes service-flow{to{stroke-dashoffset:-189}}
.service-explorer .flow-paths{stroke:#a26d81;stroke-width:1.25}
.service-explorer .flow-input circle{fill:#18131a;stroke:#b16e83;stroke-width:1.2;animation:service-node 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.flow-input circle:nth-child(2){animation-delay:-1.2s}.flow-input circle:nth-child(3){animation-delay:-2.4s}
@keyframes service-node{0%,70%,100%{transform:scale(1);stroke-opacity:.6}30%{transform:scale(1.18);stroke-opacity:1}}
.service-explorer .flow-labels{font-size:12px;fill:#c5b6bd}
.service-explorer .flow-core{fill:#100d12;stroke:#b98b9b;stroke-width:1.1}
.service-explorer .flow-core-inner{stroke:#6b3b50;stroke-width:1;stroke-dasharray:1 10}
.flow-core-kicker{font-family:Plex,monospace;font-size:8px;letter-spacing:1.8px;fill:#af8496}
.service-explorer .flow-core-label{font-size:24px;fill:#f3e4e9}
.service-explorer .visual-meta{font-size:8px;color:#a7929c}
.service-explorer .visual-caption{padding:0;text-align:center}
.service-explorer .visual-caption h3{font-size:23px}.service-explorer .visual-caption p{font-size:12px;line-height:1.8;margin-top:5px}
.service-explorer .visual-caption>span{font-size:6px;letter-spacing:.08em;line-height:1.7;margin-top:18px;color:#917b86}
.flow-visual[data-active=false] .flow-rotor,.flow-visual[data-active=false] .flow-pulse-paths path,.flow-visual[data-active=false] .flow-input circle{animation-play-state:paused}
[data-motion=paused] .service-tabs button::after{transition:none}
.scope-note{display:grid;grid-template-columns:1fr 3fr;gap:28px;border-top:1px solid var(--line);margin-top:56px;padding-top:30px}
.scope-note>.eyebrow{color:#cc7c8f;font-size:8px}
.scope-note>div{max-width:760px;color:#aaa1a6;font-size:13px;line-height:1.9}
.scope-note p+p{margin-top:12px}
@media(min-width:761px){.hero-content{padding-top:120px;padding-bottom:100px}}
@media(max-width:760px){
  .hero-art{inset:auto;position:relative;width:calc(100% - 2*var(--pad));height:auto;max-width:420px;aspect-ratio:1;align-self:center;margin:6px var(--pad) 22px;overflow:visible;background:transparent}
  .hero-art::after{content:none}
  .hero-scene{max-width:none}
  .scope-note{grid-template-columns:1fr;gap:12px;margin-top:36px;padding-top:24px}
  .hero-scenarios{margin-top:26px;padding-top:17px;max-width:none}
  .hero-scenarios>.eyebrow{font-size:7px}.scenario-options{justify-content:space-between;gap:12px}.scenario-options button{font-size:11px;min-height:44px}
  .scenario-answer{gap:10px}.scenario-answer p{max-width:210px;font-size:11px}.scenario-answer a{font-size:9px}
  .service-explorer{margin-top:23px}.service-tabs button{padding:17px 4px 17px 0;font-size:11px;display:block;letter-spacing:-.025em}
  .service-tabs button>span{display:block;font-size:7px;margin-bottom:7px}.service-tabs button>i{display:none}.service-tabs button::after{right:8px}
  .service-explorer .work-layout{grid-template-columns:1fr;gap:28px;margin-top:24px}
  .service-explorer .flow-visual{grid-row:1;padding:0}
  .service-explorer .flow-map{max-height:260px;margin-top:0}
  .service-explorer .visual-meta{font-size:7px}.service-explorer .visual-caption h3{font-size:21px}
  .service-explorer .visual-caption>span{display:none}
  .service-panels{min-height:380px;border-top:1px solid var(--line);padding-top:28px;align-items:start}
  .service-panel>.eyebrow{margin-bottom:17px;font-size:7px}.service-panel>h3{font-size:32px}
  .service-explorer .service-body{font-size:14px;margin-top:18px}.service-explorer .service-body ul{font-size:12px}
  .service-panel>.understated-link{margin-top:22px}
}
@media(max-width:360px){.service-tabs button{font-size:10px;padding-right:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}.hero-parallax,.phantom-presence{transform:none!important}.phantom-presence{animation:none!important;will-change:auto}}
