@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
/* An optional, keyboard-accessible opening and a persistent sound control. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.entry-open{overflow:hidden;overscroll-behavior:none}
html.entry-open{scroll-behavior:auto}
body.entry-open{position:fixed;inset:0;width:100%;overflow:clip}
.entry-screen{overscroll-behavior:contain}
.entry-screen{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:#f3f3f0;background:transparent;overflow:auto;isolation:isolate}
.entry-screen:not([open]){display:none}
.entry-screen[open]{display:flex;flex-direction:column;justify-content:space-between}
.entry-screen::backdrop{background:transparent}
.entry-screen:before,.entry-screen:after{content:'';position:absolute;top:0;bottom:0;width:50.1%;z-index:-2;background:#080b0c;transition:transform 1s cubic-bezier(.76,0,.24,1);pointer-events:none}
.entry-screen:before{left:0;border-right:1px solid #697c7c26}
.entry-screen:after{right:0}
.entry-screen.is-leaving:before{transform:translateX(-101%)}
.entry-screen.is-leaving:after{transform:translateX(101%)}
.entry-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#5a777721,transparent 58%),linear-gradient(#9bbbbb07 1px,transparent 1px),linear-gradient(90deg,#9bbbbb07 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.entry-top,.entry-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:0 4.2%;padding:1.5rem 0;font:400 .625rem/1.7 var(--mono);letter-spacing:.12em;color:#8c9c9c}
.entry-top{border-bottom:1px solid #253131;min-height:100px}.entry-top .wordmark{color:#f3f3f0;letter-spacing:-1.7px}
.entry-bottom{border-top:1px solid #253131;min-height:70px}
.entry-content{text-align:center;padding:2rem 1.25rem;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.entry-content .eyebrow{justify-content:center;font-size:.625rem;color:#a0b2b2;letter-spacing:.18em;margin:1.9rem 0 1rem}
.entry-content h2{font-size:clamp(3rem,7.6vw,7rem);line-height:1.1;letter-spacing:-.065em;font-weight:500}
.entry-content h2 em{font-family:Georgia,serif;font-weight:400;margin-left:.08em}
#entry-description{font-size:.9375rem;color:#9baaaa;margin:1.2rem 0 2rem}
.entry-enter{cursor:pointer;gap:3rem;min-height:52px}.entry-enter[hidden]{display:none}
.entry-quiet{background:none;color:#9baaaa;border:0;padding:1rem;cursor:pointer;font-size:.875rem;min-height:44px;margin-top:.3rem}.entry-quiet span{margin-left:.7rem}.entry-quiet:hover{color:white}
.entry-orbit{width:clamp(110px,19vh,210px);aspect-ratio:1;position:relative;display:grid;place-items:center}
.entry-orbit:before{content:'';position:absolute;inset:-18%;border:1px solid #9cbcbc0d;border-radius:50%}
.entry-orbit:after{content:'+';position:absolute;top:-23%;left:50%;color:#6e9292;font:300 1rem var(--mono)}
.entry-orbit>span{font:500 clamp(3rem,7vh,5rem)/1 var(--sans);letter-spacing:-.12em;color:#dbe6e6;text-shadow:0 0 35px #b7dede26;padding-right:.1em}
.entry-orbit i{position:absolute;inset:0;border:1px solid #89b0b032;border-radius:50%;animation:entry-orbit 30s linear infinite}
.entry-orbit i:after{content:'';position:absolute;top:-2px;left:50%;width:4px;height:4px;background:#c6dddd;border-radius:50%;box-shadow:0 0 12px #adcccc}
.entry-orbit i:nth-child(2){inset:12%;border-style:dashed;animation-direction:reverse;animation-duration:42s;opacity:.5}
.entry-orbit i:nth-child(3){inset:-8%;border-color:transparent;border-left-color:#77969630;border-right-color:#77969630;animation-duration:23s}
.entry-screen :is(.entry-top,.entry-content,.entry-bottom,.entry-grid){transition:opacity .25s,transform .4s}
.entry-screen.is-leaving :is(.entry-top,.entry-content,.entry-bottom,.entry-grid){opacity:0;transform:translateY(-12px);pointer-events:none}
.site-entering .header{animation:site-arrive .8s .55s both}
.site-entering .hero-heading .eyebrow{animation:site-arrive .9s .65s both}
.site-entering .hero-heading h1{animation:site-arrive 1.1s .75s both}
.site-entering .hero-summary{animation:site-arrive 1s 1s both}
.site-entering .hero-art{animation:art-arrive 1.6s .45s both}
.site-entering .hero-footer{animation:site-arrive 1s 1.2s both}
#hero-title:focus{outline:none}
.sound-dock{position:fixed;bottom:max(1rem,env(safe-area-inset-bottom));right:max(1rem,env(safe-area-inset-right));z-index:40;color:#c2cdcd;font:400 .6875rem var(--mono)}
.sound-dock[hidden],.sound-settings[hidden]{display:none}
.sound-bar{display:flex;width:max-content;margin-left:auto;background:#101717f5;border:1px solid #405050;box-shadow:0 4px 25px #0003;border-radius:4px}
.sound-bar button{background:none;border:0;color:inherit;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;padding:.65rem .8rem;font:inherit}
.sound-bar button:hover{color:white;background:#ffffff09}.sound-bar button:disabled{cursor:default}
#sound-toggle{width:44px;min-width:44px}#sound-settings-toggle{border-left:1px solid #405050;min-width:44px}
.sound-meter{display:flex;align-items:center;gap:2px;height:16px;width:18px}.sound-meter i{display:block;background:#afc6c6;width:2px;height:3px;transform-origin:center}
.is-playing .sound-meter i{height:12px;animation:sound-meter 1.2s ease-in-out infinite alternate}.is-playing .sound-meter i:nth-child(2){animation-delay:-.8s}.is-playing .sound-meter i:nth-child(3){animation-delay:-.3s}.is-playing .sound-meter i:nth-child(4){animation-delay:-.6s}
.sound-settings{width:260px;max-width:calc(100vw - 2rem);padding:1.25rem;background:#101717;border:1px solid #405050;box-shadow:0 6px 30px #0005;margin-bottom:.5rem;border-radius:4px}
.sound-heading{font-size:.625rem;letter-spacing:.12em;color:#8fa4a4;margin:0 0 1.5rem}
.sound-settings label{display:flex;justify-content:space-between;align-items:center;font:.875rem var(--body);color:#d3dddd}
#sound-volume{width:100%;margin:1rem 0 1.25rem;accent-color:#c8dada;height:24px;cursor:pointer}
.sound-ambience input{accent-color:#b7cdcd;width:18px;height:18px}
.sound-settings{max-height:calc(100dvh - 90px);overflow:auto;overscroll-behavior:contain}
.opening-options{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #354545}
#preview-opening{display:flex;justify-content:space-between;width:100%;min-height:36px;padding:.5rem .7rem;background:#233333;border:1px solid #405050;border-radius:2px;color:#d3dddd;font:.8125rem var(--body);cursor:pointer}
#preview-opening:hover{background:#304444;color:white}
#preview-opening:disabled{opacity:.5;cursor:default}
.sound-dock select:focus-visible{outline:2px solid #d8e5e5;outline-offset:3px}
#replay-intro{border:0;border-top:1px solid #354545;padding:1rem 0 0;margin:1.25rem 0 0;background:none;color:#a8baba;font:.75rem var(--body);cursor:pointer;width:100%;text-align:left;display:flex;justify-content:space-between}
.sound-dock :is(input,button):focus-visible{outline:2px solid #d8e5e5;outline-offset:3px}
body:has(.sound-dock:not([hidden])) .footer{padding-bottom:6rem}
@keyframes entry-orbit{to{transform:rotate(360deg)}}
@keyframes site-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes art-arrive{from{opacity:0;filter:blur(9px);transform:scale(1.035)}to{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes sound-meter{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@media(max-width:680px){.entry-top,.entry-bottom{margin:0 6%;font-size:.5625rem;gap:1rem}.entry-top{min-height:84px}.entry-top>span:last-child{max-width:115px;text-align:right}.entry-bottom>span:last-child{display:none}.entry-content{padding:2rem 6%}.entry-content .eyebrow{font-size:.5625rem;letter-spacing:.08em}.entry-content h2{font-size:clamp(2.75rem,11.5vw,4.5rem)}#entry-description{max-width:260px;line-height:1.7}.sound-dock{bottom:max(.65rem,env(safe-area-inset-bottom));right:.65rem}}
@media(max-height:650px){.entry-orbit{width:70px}.entry-orbit>span{font-size:2.5rem}.entry-content{padding:1.5rem 1rem}.entry-content .eyebrow{margin:1rem 0 .5rem}.entry-content h2{font-size:3rem}#entry-description{margin:.7rem 0 1rem}.entry-top{min-height:64px;padding:1rem 0}.entry-bottom{min-height:45px;padding:.75rem 0}}
@media(prefers-reduced-motion:reduce){.entry-orbit i,.is-playing .sound-meter i,.site-entering .header,.site-entering .hero-heading>*,.site-entering .hero-summary,.site-entering .hero-art,.site-entering .hero-footer{animation:none!important}.entry-screen:before,.entry-screen:after{transition:none}.is-playing .sound-meter i{height:8px}}
:root{--bg:#080909;--fg:#f3f3f0;--muted:#979b9b;--rule:#292c2c;--sans:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:#080909;background:#e6e8e7}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:7px}.skip-link{position:fixed;left:1rem;top:-6rem;background:#fff;color:#000;padding:.7rem;z-index:100}.skip-link:focus{top:1rem}.header{height:106px;margin:0 4.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);position:relative;z-index:10}.wordmark{font-family:var(--sans);font-size:1.65rem;font-weight:500;letter-spacing:-1.7px}.wordmark span{font-weight:800}.wordmark-dot{margin-left:2px}.header nav{display:flex;gap:2.7rem;font-size:.875rem;color:#b5b9b9}.header nav a:hover{color:#fff}.nav-contact{border:1px solid #535858;border-radius:100px;padding:.65rem 1.15rem;font-size:.875rem;display:flex;align-items:center;gap:1.6rem}.nav-contact:hover{background:var(--fg);color:var(--bg)}.hero{position:relative;min-height:850px;height:calc(100svh - 106px);max-height:1120px;isolation:isolate;overflow:hidden}.hero-content{position:relative;z-index:3;width:62%;padding:6.5rem 0 8rem 7.5%;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{font:500 .75rem/1.7 var(--mono);letter-spacing:.12em;margin:0 0 2rem;display:flex;align-items:center;gap:.8rem}.line{width:23px;height:1px;background:var(--fg)}h1{font:600 clamp(4.5rem,7.3vw,8.9rem)/.99 var(--sans);letter-spacing:-.075em;margin:0 0 2rem}h1 em{font-weight:500;font-style:normal}h1 .outlined{color:transparent;-webkit-text-stroke:1px #b4b8b8}.hero-intro{font-size:1.1rem;line-height:1.7;max-width:365px;color:#bfc2c2;margin-bottom:1.8rem}.button{display:inline-flex;align-items:center;gap:3rem;padding:1rem 1.4rem;border:1px solid var(--fg);font-size:.9375rem;font-weight:500;transition:background .2s,color .2s,transform .2s}.button-light{background:var(--fg);color:var(--bg)}.button-light:hover{background:transparent;color:#fff;transform:translateY(-2px)}.hero-note{color:#929797;font-size:.8125rem;margin-top:1rem}.hero-art{position:absolute;inset:0 0 0 31%;z-index:1;overflow:hidden;background:radial-gradient(ellipse at 60% 40%,#1b2020 0%,transparent 61%)}#code-field{position:absolute;inset:0;width:100%;height:100%;opacity:.7}.giant-name{position:absolute;font:800 clamp(10rem,25vw,32rem)/1 var(--sans);letter-spacing:-.09em;color:#ffffff05;top:23%;left:-2%;writing-mode:vertical-rl;transform:rotate(180deg)}.portrait-frame{position:absolute;inset:15% auto auto 18%;width:76%;max-width:640px;aspect-ratio:1;z-index:2}.orbit{width:630px;height:630px;border:1px solid #ffffff13;border-radius:50%;position:absolute;left:16%;top:11%;transform:rotate(-30deg) scaleX(.75);z-index:1}.orbit-two{transform:rotate(30deg) scaleX(.76);border-style:dashed;opacity:.45}.code-fragment{position:absolute;z-index:4;font:.75rem/1.9 var(--mono);color:#999f9f;letter-spacing:.02em}.code-fragment span{color:#545b5b;padding-right:1rem}.code-fragment em{color:#d2d5d5;font-style:normal}.code-top{top:11%;right:6%}.code-bottom{bottom:17%;right:5%;padding-left:1rem;border-left:1px solid #555b5b}.crosshair{position:absolute;color:#737b7b;font:300 1.4rem var(--mono);z-index:4}.crosshair-one{top:23%;right:7%}.crosshair-two{bottom:30%;left:24%}.art-caption{position:absolute;bottom:10%;left:41%;z-index:5;font:500 .75rem var(--mono);letter-spacing:.1em;white-space:nowrap}.art-caption span{display:block;color:#818888;margin-top:.6rem;font-size:.625rem;letter-spacing:.14em}.hero-footer{position:absolute;bottom:0;left:4.2%;right:4.2%;padding:1.6rem 0;border-top:1px solid var(--rule);display:flex;justify-content:space-between;z-index:5;font:.625rem var(--mono);letter-spacing:.1em;color:#9da3a3}.hero-footer a{color:#c5caca}.hero-footer a span{padding-left:1rem}.section{padding:8rem 7.5%}.intro{border-bottom:1px solid var(--rule)}h2{font:500 clamp(2.5rem,4.6vw,5.4rem)/1.15 var(--sans);letter-spacing:-.055em;margin:0}.muted{color:#6b7373}.intro-text{font-size:1.125rem;max-width:560px;color:#acb2b2;margin:2rem 0;line-height:1.8}.partnership h2 em{font-family:Georgia,serif;font-weight:400}.text-link{border-bottom:1px solid #606767;padding:.5rem 0;display:inline-flex;gap:2rem}.footer{margin:0 4.2%;border-top:1px solid var(--rule);padding:2rem 0;display:flex;align-items:center;justify-content:space-between;color:#999f9f;font-size:.8125rem}.footer .wordmark{color:var(--fg)}
@media(min-width:1700px){.hero-content{padding-top:8rem}.hero{min-height:960px}}@media(max-width:1000px){.hero{min-height:850px}.hero-content{width:77%;padding-top:5rem}.hero-art{left:24%;opacity:.7}.code-top{right:4%;max-width:250px}.header nav{gap:1.5rem}.hero-footer>span:last-child{display:none}}
@media(max-width:680px){.header{height:84px;margin:0 6%}.header nav{display:none}.wordmark{font-size:1.5rem}.nav-contact{padding:.5rem .9rem;gap:1rem}.hero{min-height:950px;height:auto;max-height:none}.hero-content{width:100%;padding:3rem 6% 5rem}.eyebrow{font-size:.6875rem;letter-spacing:.07em;margin-bottom:1.5rem}h1{font-size:clamp(3.8rem,12.5vw,5.7rem);letter-spacing:-.065em}.hero-intro{max-width:320px;margin-top:21rem;font-size:1rem}.hero-art{top:130px;left:0;right:0;height:500px;opacity:.9}.giant-name{font-size:13rem;left:6%;top:28%;writing-mode:horizontal-tb;transform:none}.orbit{width:360px;height:360px;top:15%;left:13%}.code-top{top:30%;right:5%;font-size:.625rem;opacity:.6}.code-bottom{bottom:17%;right:5%;font-size:.625rem}.art-caption{left:8%;bottom:16%;font-size:.625rem}.art-caption span{font-size:.5625rem}.crosshair-one{top:17%}.hero-footer{left:6%;right:6%;font-size:.5625rem;letter-spacing:0;gap:1rem}.section{padding:5rem 6%}.intro-text{font-size:1rem}.footer{margin:0 6%;flex-wrap:wrap;gap:1.5rem}.footer>span{display:none}.footer>a:last-child{font-size:.75rem}}
.reading-progress{height:2px;width:100%;position:fixed;top:0;left:0;z-index:50;background:#d5d9d9;transform:scaleX(0);transform-origin:left;pointer-events:none}.hero:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#080909 0%,transparent 49%),linear-gradient(0deg,#080909 4%,transparent 30%)}.hero-art:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#00000016 4px);opacity:.35}.portrait-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:grayscale(1) contrast(1.06);-webkit-mask-image:linear-gradient(to right,transparent,#000 20%,#000 80%,transparent),linear-gradient(to top,transparent 3%,#000 23%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 20%,#000 80%,transparent),linear-gradient(to top,transparent 3%,#000 23%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.hero-note,.header nav,.nav-contact{font-size:.875rem}.hero-footer,.art-caption span,.code-fragment,.eyebrow{font-size:.75rem}.hero-footer{line-height:1.6}.intro-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.asterisk{font-size:7rem;line-height:1;font-weight:300;color:#e3e7e7;transform:rotate(-12deg)}.intro>.intro-text{margin-left:38%;max-width:540px;margin-top:2.5rem;margin-bottom:5rem}.possibility-list{border-top:1px solid var(--rule);margin-top:4rem}.possibility{display:grid;grid-template-columns:.35fr 1.6fr 1.65fr .25fr;align-items:start;gap:2.5rem;padding:2.5rem .5rem 2.5rem 0;border-bottom:1px solid var(--rule);position:relative;transition:background .3s}.possibility:hover{background:#ffffff03}.row-number{font:400 .75rem var(--mono);color:#7c8585;padding-top:.45rem}.possibility h3{font:500 clamp(1.5rem,2.4vw,2.5rem)/1.2 var(--sans);letter-spacing:-.045em;margin:0}.possibility p{margin:0 0 1.4rem;color:#a9b1b1;font-size:1rem;line-height:1.8;max-width:420px}.row-tags{font:400 .75rem/1.7 var(--mono);letter-spacing:.04em;color:#778282}.row-mark{font-size:1.8rem;text-align:right;color:#768080;font-weight:300}.partnership{background:#101212;position:relative;border-bottom:1px solid var(--rule)}.partnership-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:9%}.partnership .intro-text{max-width:480px;margin:2rem 0 1.5rem}.partnership-small{color:#919d9d;font-size:1rem;line-height:1.8;max-width:470px;margin-bottom:2rem}.process{padding-top:.5rem}.process-step{position:relative;padding:0 0 2rem 2rem;border-left:1px solid #3b4545;margin-bottom:1rem}.process-step:before{content:'';position:absolute;left:-4px;top:5px;width:7px;height:7px;background:#758080}.process-step:last-child{padding-bottom:0;margin-bottom:0}.process-step>span{font:.75rem var(--mono);letter-spacing:.06em;color:#879393}.process-step h3{font:500 1.4rem/1.3 var(--sans);letter-spacing:-.025em;margin:1rem 0 .7rem}.process-step p{color:#9fa9a9;font-size:1rem;line-height:1.75;max-width:340px;margin:0}.text-link{font-size:.9375rem}.text-link:hover{border-color:white}.contact-section{background:var(--fg);color:var(--bg);padding-top:7rem;padding-bottom:2.5rem;position:relative;overflow:hidden}.contact-section h2{font-size:clamp(4rem,9.8vw,11rem);letter-spacing:-.07em;line-height:1.02}.contact-section h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.08em}.contact-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:3rem;padding-bottom:5rem}.contact-bottom p{color:#545d5d;font-size:1.125rem;line-height:1.7;margin:0}.contact-link{font:500 clamp(1.75rem,3vw,3.5rem) var(--sans);letter-spacing:-.04em;display:flex;gap:5rem;align-items:center;border-bottom:1px solid #a9b0b0;padding-bottom:.6rem;transition:gap .2s}.contact-link:hover{gap:6rem}.contact-coordinates{font:.75rem/1.7 var(--mono);display:flex;justify-content:space-between;letter-spacing:.07em;border-top:1px solid #c9cece;padding-top:1.5rem;color:#647070}.footer{font-size:.875rem}.footer a:last-child:hover{color:#fff}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal.visible{opacity:1;transform:none}.effects-paused .reveal{transition:none}.hero-art{--pointer-x:0px;--pointer-y:0px}.hero-art .code-top{transform:translate(var(--pointer-x),var(--pointer-y));transition:transform .4s ease-out}
@media(min-width:1001px){.portrait-frame{left:21%;top:14%}.hero-art{left:30%}.hero-content{max-width:1100px}}
@media(max-width:1000px){.partnership-layout{gap:5%}.asterisk{font-size:5rem}.possibility{gap:1.5rem;grid-template-columns:.3fr 1.5fr 1.7fr .15fr}.process-step{padding-left:1.5rem}.hero-footer{font-size:.75rem}}
@media(max-width:680px){.hero{min-height:1010px}.hero-content{padding-bottom:9rem}.hero-art{height:530px;top:155px}.hero-intro{margin-top:23rem}.hero:after{background:linear-gradient(0deg,#080909 3%,transparent 35%)}.portrait-frame{inset:auto auto 10% 50%;width:100%;max-width:400px;transform:translateX(-50%)}.portrait-frame img{object-position:center bottom}.hero-art .code-top{font-size:.75rem;max-width:240px;right:2%;top:21%}.code-bottom{font-size:.75rem;right:6%;bottom:2%;background:#08090966}.art-caption{font-size:.75rem;left:6%;bottom:12%}.art-caption span{font-size:.75rem;letter-spacing:0}.hero-note{font-size:.875rem;max-width:280px}.hero-footer{font-size:.75rem;padding:1.25rem 0;align-items:center}.hero-footer>span:first-child{max-width:100px}.hero-footer a{max-width:140px;text-align:right}.hero-footer a span{padding:0 .1rem}.intro-heading{gap:0}.asterisk{display:none}.intro>.intro-text{margin:1.5rem 0 3rem}.possibility-list{margin-top:3rem}.possibility{grid-template-columns:1.5rem 1fr 1.5rem;gap:.75rem;padding:2rem 0}.possibility h3{font-size:1.75rem}.possibility>div{grid-column:2;grid-row:2;margin-top:.5rem}.possibility h3 br{display:none}.row-mark{grid-column:3;grid-row:1;font-size:1.4rem}.possibility p{margin-bottom:1rem}.row-tags{font-size:.75rem}.partnership-layout{grid-template-columns:1fr;gap:4rem}.process-step{padding-bottom:1.5rem}.contact-section{padding-bottom:2rem}.contact-section h2{font-size:clamp(3.5rem,14vw,6rem)}.contact-bottom{align-items:flex-start;flex-direction:column;gap:2rem;padding-bottom:3.5rem}.contact-bottom p{font-size:1rem}.contact-link{font-size:2rem;gap:5rem}.contact-coordinates{font-size:.75rem;gap:1rem;letter-spacing:0}.contact-coordinates span{text-align:right}.footer>a:last-child{font-size:.875rem}.footer{gap:1rem}.eyebrow{font-size:.75rem;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

/* All decorative motion follows the same pause and visibility state. */
.hero-art{--effects-play-state:paused}
.effects-running .hero-art{--effects-play-state:running}
.hero-art{--audio-bass:0;--audio-voice:0;--audio-energy:0}
.hero-art:before{content:'';position:absolute;inset:8% 0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 60% 45%,#8bb4b455,transparent 65%);opacity:calc(var(--audio-energy)*.3)}
.effects-running .orbit{border-color:rgba(255,255,255,calc(.15 + var(--audio-voice)*.09))}
.effects-running .orbit:after{scale:calc(1 + var(--audio-bass)*.3);box-shadow:0 0 calc(12px + var(--audio-bass)*18px) rgba(196,221,221,calc(.5 + var(--audio-voice)*.25))}
.effects-running .crosshair{text-shadow:0 0 12px rgba(196,221,221,calc(var(--audio-voice)*.45))}
.orbit{border-color:#ffffff26;pointer-events:none}
.orbit:before{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;border-top-color:#c4d4d466;transform:rotate(35deg)}
.orbit:after{content:'';position:absolute;left:50%;top:-3px;width:5px;height:5px;border-radius:50%;background:#cfdddd;box-shadow:0 0 12px #c4dddd80}
.orbit-two:after{top:auto;bottom:-3px;width:4px;height:4px}
.code-line{white-space:nowrap}
.code-cursor{position:absolute;width:6px;height:12px;right:-12px;bottom:5px;background:#b7c5c5;opacity:.65}
.effects-ready .orbit-one{animation:orbit-forward 38s linear infinite}
.effects-ready .orbit-two{animation:orbit-backward 52s linear infinite}
.effects-ready .code-line{animation:code-reveal 14s linear infinite}
.effects-ready .code-line-second{animation-name:code-reveal-second}
.effects-ready .code-cursor{animation:cursor-pulse 2.4s ease-in-out infinite}
.effects-ready .code-bottom{animation:code-drift 9s ease-in-out infinite}
.effects-ready .crosshair{animation:crosshair-turn 16s ease-in-out infinite}
.effects-ready .crosshair-two{animation-delay:-8s}
.effects-ready .hero-art *, .effects-ready .hero-art *:before, .effects-ready .hero-art *:after{animation-play-state:var(--effects-play-state)}
.effects-paused .hero-art .code-top{transition:none}
@keyframes orbit-forward{from{transform:rotate(-30deg) scaleX(.75) rotate(0deg)}to{transform:rotate(-30deg) scaleX(.75) rotate(360deg)}}
@keyframes orbit-backward{from{transform:rotate(30deg) scaleX(.76) rotate(0deg)}to{transform:rotate(30deg) scaleX(.76) rotate(-360deg)}}
@keyframes code-reveal{0%,72%,100%{clip-path:inset(0 0 0 0)}78%,82%{clip-path:inset(0 100% 0 0)}96%{clip-path:inset(0 0 0 0)}}
@keyframes code-reveal-second{0%,72%,100%{clip-path:inset(0 0 0 0)}78%,88%{clip-path:inset(0 100% 0 0)}99%{clip-path:inset(0 0 0 0)}}
@keyframes cursor-pulse{0%,100%{opacity:.2}50%{opacity:.8}}
@keyframes code-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes crosshair-turn{0%,35%{transform:rotate(0);opacity:.5}55%,85%{transform:rotate(90deg);opacity:1}100%{transform:rotate(180deg);opacity:.5}}
@media(max-width:680px){.hero-art .code-top{font-size:.625rem;max-width:none;right:6%}.code-cursor{right:0;bottom:-9px;height:7px}.orbit{opacity:.65}.orbit-two{opacity:.35}}

.wordmark-dot{animation:wordmark-blink 1.8s steps(1,end) infinite}
@keyframes wordmark-blink{0%,65%{opacity:1}66%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.wordmark-dot{animation:none;opacity:1}}

/* Drawn icons keep the same shape on every OS and font stack. */
.icon{display:inline-block;width:1.15em;height:1.15em;flex:none;vertical-align:-.15em;pointer-events:none}
.icon[hidden]{display:none}
a,button,.interest-options label{-webkit-tap-highlight-color:rgba(150,180,180,.15)}
.button .icon{width:20px;height:20px}
.entry-quiet{display:inline-flex;align-items:center;justify-content:center;gap:.7rem}
.text-link{align-items:center}
.row-mark{display:flex;justify-content:flex-end;align-items:center}
.enquiry-back{display:inline-flex;align-items:center;gap:.4rem}
.contact-link .icon{width:1em;height:1em}
.enquiry-person img{flex-shrink:0}
#preview-opening{align-items:center;min-height:44px}
#replay-intro{align-items:center;min-height:44px}

/* Guided enquiry, in the same editorial palette as the site. */
.enquiry-section{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:start;background:#101212}
.enquiry-intro h2{font-size:clamp(2.5rem,3.9vw,4.6rem)}
.enquiry-intro h2 em{font-family:Georgia,serif;font-weight:400}
.enquiry-intro>p:not(.eyebrow){max-width:390px;color:#aeb7b7;margin:1.8rem 0;font-size:1.05rem}
.enquiry-person{display:flex;align-items:center;gap:1rem;margin:2rem 0;font-size:1rem}
.enquiry-person img{object-fit:cover;filter:grayscale(1);border-radius:50%}
.enquiry-person span{display:block;color:#99a5a5;font-size:.875rem;margin-top:.2rem}
.enquiry-next{border-top:1px solid #394141;max-width:390px;padding-top:1.4rem;margin-top:2.5rem}
.enquiry-next h3{font-size:1rem;font-weight:500;margin:0 0 .65rem}
.enquiry-next p{font-size:.9375rem;color:#aeb7b7;line-height:1.8;margin:0 0 1.5rem}
.enquiry-email{font-size:.875rem;color:#c8d0d0;text-decoration:underline;text-underline-offset:5px}
.enquiry-panel{background:#f3f3f0;color:#080909;padding:2.4rem;min-width:0}
.enquiry-panel [hidden]{display:none!important}
.enquiry-panel form{scroll-margin-top:2rem}
.enquiry-progress{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px solid #c6cccc;padding-bottom:1.5rem;margin-bottom:2rem;color:#6b7474;font:400 .75rem var(--mono)}
.enquiry-progress span{display:flex;gap:.5rem;align-items:center}
.enquiry-progress b{font:400 .875rem var(--body)}
.enquiry-progress .is-current{color:#080909}.enquiry-progress .is-current b{font-weight:700}
.enquiry-progress .is-complete{color:#424c4c}
.enquiry-panel fieldset{border:0;margin:0;padding:0;min-width:0}
.enquiry-panel legend{font:500 clamp(1.6rem,2.2vw,2.2rem)/1.2 var(--sans);letter-spacing:-.045em;padding:0;max-width:100%}
.enquiry-panel legend:focus{outline:none}
.field-help{color:#535e5e;font-size:.9375rem;margin:.8rem 0 1.8rem}
.interest-options{display:grid;gap:.65rem}
.interest-options label{display:flex;align-items:center;gap:.85rem;border:1px solid #c3cbcb;padding:.9rem 1rem;cursor:pointer;transition:background .2s,border-color .2s}
.interest-options label:hover{border-color:#5b6969;background:#e7ebe8}
.interest-options label:has(input:checked){background:#172020;color:#f3f3f0;border-color:#172020}
.interest-options input{position:absolute;opacity:0;width:1px;height:1px}
.interest-options label:has(input:focus-visible){outline:2px solid #080909;outline-offset:3px}
.interest-options b{font-size:1rem;font-weight:500;display:block}
.interest-options small{font-size:.875rem;color:#5b6767;display:block;margin-top:.15rem}
.interest-options label:has(input:checked) small{color:#c4cccc}
.interest-options i{font:400 1.35rem var(--mono);margin-left:auto;font-style:normal}
.interest-options label:has(input:checked) i{transform:rotate(45deg)}
.field-label{display:block;font-size:.9375rem;font-weight:500;margin:1.3rem 0 .5rem}
.field-label span{font-size:.8125rem;font-weight:400;color:#627070;margin-left:.4rem}
.enquiry-panel input:not([type=checkbox]),.enquiry-panel textarea,.enquiry-panel select{width:100%;border:1px solid #a7b2b2;border-radius:0;background:#fcfcfa;color:#111818;padding:.9rem;font:400 1rem/1.5 var(--body)}
.enquiry-panel textarea{resize:vertical;min-height:150px}
.enquiry-panel :is(input,textarea,select,button,a):focus-visible{outline:2px solid #162727;outline-offset:3px}
.enquiry-panel [aria-invalid=true]{border-color:#a3372c!important}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field-error,.submit-error{color:#922d24;font-size:.875rem;margin:.5rem 0}
.submit-error{border-left:2px solid #922d24;padding:.7rem 1rem;background:#f4e7e3}
.enquiry-review{padding:1rem 0;border-top:1px solid #c6cccc;margin-top:1.8rem}
.enquiry-review>span{font:.75rem var(--mono);color:#536262}
.enquiry-review p{font-size:.9375rem;margin:.5rem 0}
.enquiry-review button{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;cursor:pointer}
.enquiry-consent{font-size:.8125rem;color:#5c6868;margin:0 0 1rem}
.enquiry-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #c6cccc;margin-top:2rem;padding-top:1.5rem}
#enquiry-note{font-size:.8125rem;color:#596565;max-width:130px}
.enquiry-continue{background:#101717;color:#f3f3f0;border-color:#101717;cursor:pointer;gap:1.8rem;margin-left:auto;white-space:nowrap}
.enquiry-continue:hover{background:#303d3d}.enquiry-continue:disabled{opacity:.6;cursor:wait}
.enquiry-back{padding:.7rem 0;border:0;background:none;cursor:pointer;font-size:.9375rem;color:#394646}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.enquiry-success{padding:2rem 0}
.success-mark{display:grid;place-items:center;border:1px solid #879797;border-radius:50%;width:64px;height:64px;font-size:1.7rem;margin-bottom:2rem}
.enquiry-success h3{font:500 2.5rem/1.15 var(--sans);letter-spacing:-.055em;margin:1rem 0 1.5rem}
.enquiry-success>p:not(.eyebrow){color:#526060;overflow-wrap:anywhere}
.enquiry-success .text-link{background:none;cursor:pointer;border:0;border-bottom:1px solid #748282;margin-top:1rem}
.possibility{cursor:pointer}
.possibility .row-mark{padding:.15rem .35rem;transition:color .2s}
.possibility .row-mark:after{content:'';position:absolute;inset:0}
.possibility:hover .row-mark{color:#fff}
.possibility:has(.row-mark:focus-visible){outline:2px solid var(--fg);outline-offset:4px}
@media(max-width:1000px){.enquiry-section{grid-template-columns:1fr;gap:3rem}.enquiry-intro>p:not(.eyebrow),.enquiry-next{max-width:560px}.enquiry-panel{max-width:680px;width:100%}}
@media(max-width:680px){.enquiry-panel{padding:1.3rem}.enquiry-progress{gap:.4rem}.enquiry-progress span{gap:.3rem}.enquiry-progress b{font-size:.8125rem}.field-pair{grid-template-columns:1fr;gap:0}.enquiry-actions{gap:.7rem}.enquiry-continue{gap:1rem;padding:.85rem 1rem}.interest-options label{padding:.8rem}.enquiry-section{padding-left:6%;padding-right:6%}}
.inbox{max-width:1200px;margin:auto}.inbox h1{font-size:clamp(3rem,7vw,6rem)}.inbox-intro{color:#aebaba}.inbox-toolbar{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0;align-items:center}.inbox-toolbar select{background:#162020;color:#f3f3f0;border:1px solid #526060;padding:.6rem;margin-left:.5rem;font:inherit}.inbox button{cursor:pointer}.inbox .text-link{color:inherit;background:none;border:0;border-bottom:1px solid #586969}.inbox-card{border:1px solid #384545;padding:2rem;margin:1.5rem 0;background:#101717}.inbox-card-top{display:flex;justify-content:space-between;gap:1rem;font-size:.8125rem;color:#a3b3b3}.inbox-badge{font-family:var(--mono)}.inbox-card h2{font-size:2rem;margin:1.2rem 0 .5rem}.inbox-contact{color:#a3b3b3;overflow-wrap:anywhere}.inbox-interests{font:.8125rem var(--mono);color:#c1cccc}.inbox-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;border-top:1px solid #354343;padding-top:1.2rem}.inbox-timing{color:#a3b3b3}.inbox-card-actions{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;margin-top:1.8rem}.inbox [hidden]{display:none!important}@media(max-width:680px){.inbox-card{padding:1.25rem}.inbox-card-top{flex-wrap:wrap}.inbox-toolbar{flex-wrap:wrap}}

/* Mobile composition uses content rows, so typography never collides with the portrait. */
@media(max-width:680px){
  html{scroll-padding-top:1.5rem}
  .header{height:76px}
  .nav-contact{min-height:44px;gap:.8rem}
  .hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;height:auto;max-height:none}
  .hero-content{display:contents}
  .hero-heading{grid-row:1;position:relative;z-index:3;padding:2.5rem 6% 0;min-width:0}
  .hero-heading .eyebrow{font-size:.625rem;line-height:1.7;gap:.65rem;margin-bottom:1.25rem}
  .hero-heading .line{flex-shrink:0;width:18px}
  .hero-heading h1{font-size:clamp(2.25rem,11.4vw,4.8rem);line-height:1.02;letter-spacing:-.045em;margin:0}
  .hero-art{grid-row:2;position:relative;inset:auto;width:100%;height:clamp(270px,80vw,420px);margin-top:.5rem;opacity:.9}
  .portrait-frame{inset:auto auto 2% 50%;width:82%;max-width:380px}
  .orbit{width:80%;height:auto;aspect-ratio:1;left:10%;top:2%}
  .giant-name{font-size:clamp(8rem,40vw,15rem);top:24%}
  .hero-art .code-top{top:4%;right:6%;font-size:.5625rem;opacity:.55}
  .code-bottom{display:none}
  .art-caption{left:6%;bottom:5%;font-size:.625rem}
  .art-caption span{font-size:.5625rem;margin-top:.35rem}
  .crosshair-one{top:20%}
  .crosshair-two{left:10%;bottom:30%}
  .hero-summary{grid-row:3;position:relative;z-index:3;padding:1.25rem 6% 2rem;min-width:0}
  .hero-intro{margin:0 0 1.4rem;max-width:36rem;font-size:1rem}
  .hero-summary .button{display:flex;justify-content:space-between;width:100%;gap:1rem;min-height:54px;padding:.9rem 1.1rem}
  .hero-note{max-width:none;margin:.8rem 0 0;font-size:.75rem;line-height:1.7}
  .hero-footer{grid-row:4;position:relative;inset:auto;margin:0 6%;padding:1.1rem 0;gap:1.5rem;font-size:.625rem}
  .hero-footer a{display:inline-flex;align-items:center;justify-content:flex-end;gap:.6rem;min-height:44px}
  .section{padding-top:4rem;padding-bottom:4rem}
  .intro h2,.partnership h2{font-size:clamp(2rem,8.8vw,3.5rem)}
  .possibility{grid-template-columns:1.5rem minmax(0,1fr) 1.5rem;gap:.65rem;padding:1.75rem 0}
  .possibility h3{font-size:clamp(1.4rem,6.1vw,1.8rem);line-height:1.25;letter-spacing:-.025em}
  .possibility>div{grid-column:1/-1;grid-row:2;margin-top:.5rem}
  .possibility p{max-width:none;line-height:1.75}
  .row-tags{font-size:.6875rem;line-height:1.8}
  .possibility .row-mark{padding:.15rem 0}
  .partnership-layout{gap:2.8rem}
  .partnership .text-link{gap:1rem;font-size:.875rem;min-height:44px}
  .contact-section{padding-bottom:2rem}
  .contact-bottom{margin-top:2rem;padding-bottom:2rem}
  .contact-coordinates{flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.625rem}
  .enquiry-panel{padding:1.15rem}
  .enquiry-progress{gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.25rem}
  .enquiry-progress span{flex:1;flex-direction:column;align-items:flex-start;gap:.4rem}
  .enquiry-progress b{white-space:nowrap;font-size:.75rem}
  .enquiry-actions{flex-wrap:wrap;gap:.75rem}
  #enquiry-note{order:2;flex-basis:100%;max-width:none;text-align:center}
  .enquiry-continue{flex:1;justify-content:space-between;min-height:50px;padding:.85rem .9rem;gap:.65rem;font-size:.875rem}
  .enquiry-back{min-height:44px;font-size:.875rem}
  .enquiry-review button{min-height:44px}
  .interest-options label{padding:.8rem;gap:.5rem}
  .interest-options b{font-size:.9375rem}
  .interest-options small{font-size:.8125rem}
  .enquiry-email{display:inline-block;min-height:44px}
  .footer>a:last-child{display:inline-flex;align-items:center;gap:.5rem;min-height:44px}
}

/* Keep navigation in flow, then tuck it away while reading down the page. */
html.has-sticky-header{--header-height:80px;scroll-padding-top:calc(var(--header-height) + 1rem)}
.header[data-scroll-header]{position:sticky;top:0;z-index:30;height:var(--header-height);margin:0;padding:0 4.2%;border-bottom:0;background:transparent;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease}
.header[data-scroll-header]:after{content:'';position:absolute;bottom:0;left:4.2%;right:4.2%;height:1px;background:var(--rule);pointer-events:none}
.header[data-scroll-header].is-scrolled{background:#080b0cf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 4px 20px #0002}
.header[data-scroll-header].is-scrolled:after{left:0;right:0}
.header[data-scroll-header].is-hidden{transform:translateY(calc(-100% - 1px));pointer-events:none}
.entry-open .header[data-scroll-header]{transform:none;pointer-events:auto}
.has-sticky-header .hero{height:calc(100svh - var(--header-height))}
@media(max-width:680px){
  html.has-sticky-header{--header-height:76px}
  .header[data-scroll-header]{padding:0 6%}
  .header[data-scroll-header]:after{left:6%;right:6%}
  .has-sticky-header .hero{height:auto}
}
