:root { --red:#ed1c24; --black:#000; --white:#fff; --line:#d8d8d8; --pad:clamp(22px,5vw,76px); --max:1480px; --scroll-progress:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--white); }
body { margin:0; background:var(--white); color:var(--black); font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--black); outline-offset:5px; }
.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; }

.site-header { min-height:82px; max-width:var(--max); margin:auto; padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.mini-mark { color:var(--red); font-family:Arial,Helvetica,sans-serif; font-size:18px; line-height:1; font-weight:700; letter-spacing:0; text-transform:none; }
.mini-mark:hover { color:var(--red); }
.header-code { margin:0; font:800 10px/1 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }

.hero { width:min(100%,var(--max)); min-height:calc(100svh - 82px); margin:auto; padding:clamp(64px,9vw,132px) var(--pad); display:grid; grid-template-columns:1.7fr .7fr; gap:clamp(44px,9vw,150px); align-items:end; }
.eyebrow,.kicker { margin:0 0 28px; font:900 11px/1 Arial,sans-serif; letter-spacing:.19em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(62px,9.1vw,142px); line-height:.78; letter-spacing:-.075em; font-weight:950; }
h1 em,.access h2 em { color:var(--red); font-style:normal; }
.hero-aside { padding-bottom:5px; }
.hero-aside p { margin:0 0 38px; max-width:360px; font-size:clamp(18px,1.5vw,22px); line-height:1.55; }
.hero-aside a { display:inline-flex; gap:22px; padding-bottom:8px; border-bottom:1px solid; font:900 11px/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }

.signal { background:var(--red); color:var(--white); padding:22px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) clamp(34px,4vw,60px); }
.signal-topline { display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.55); }
.signal-topline p { margin:0; padding:0 0 17px; font:900 9px/1 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.sphere-stage { position:relative; min-height:clamp(620px,72vw,900px); display:grid; place-items:center; overflow:hidden; isolation:isolate; }
.cloud-core { position:absolute; z-index:0; inset:50% auto auto 50%; transform:translate(-50%,-50%) skewX(-8deg); color:rgba(255,255,255,.13); font-family:Futura,"Arial Black",Arial,sans-serif; font-size:clamp(62px,12vw,185px); font-weight:950; font-style:oblique; letter-spacing:-.075em; white-space:nowrap; }
.content { position:relative; z-index:2; display:block; width:min(760px,94vw); height:min(760px,94vw); }
.tagcloud { margin:auto; color:var(--white); font-family:Futura,"Arial Black",Arial,sans-serif; font-size:clamp(14px,1.55vw,22px); font-weight:950; font-style:oblique; letter-spacing:-.035em; }
.tagcloud--item { cursor:crosshair; transition:color .18s ease,text-shadow .18s ease; }
.tagcloud--item:hover { color:var(--black); text-shadow:2px 2px 0 rgba(255,255,255,.35); }
.x-trigger { position:relative; display:inline-block; cursor:crosshair; }
.x-expansion { --origin-x:50vw; --origin-y:50vh; position:fixed; z-index:9999; left:var(--origin-x); top:var(--origin-y); color:rgba(255,255,255,.7); font-family:Futura,"Arial Black",Arial,sans-serif; font-size:100vmax; font-weight:950; font-style:oblique; line-height:.7; pointer-events:none; opacity:0; transform:translate(-50%,-50%) scale(.002); transform-origin:center; will-change:transform,opacity; }
.x-expansion.is-active { animation:xFullscreen 1s cubic-bezier(.16,.78,.22,1) both; }
@keyframes xFullscreen { 0%{opacity:.9;transform:translate(-50%,-50%) scale(.002)} 42%{opacity:.62} 78%{opacity:.25} 100%{opacity:0;transform:translate(-50%,-50%) scale(1.15)} }

.protocol { width:min(100%,var(--max)); margin:auto; padding:clamp(110px,13vw,190px) var(--pad); }
.section-heading { display:grid; grid-template-columns:.65fr 1.55fr .65fr; gap:clamp(30px,6vw,92px); align-items:start; }
.section-heading .kicker { color:var(--red); margin-top:12px; }
.section-heading h2,.access h2 { margin:0; font-size:clamp(48px,6.4vw,96px); line-height:.88; letter-spacing:-.065em; }
.section-note { margin:12px 0 0; font-size:15px; line-height:1.6; }
.protocol-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(78px,9vw,130px); border-top:1px solid var(--black); }
.protocol-grid article { min-height:460px; padding:25px clamp(24px,2.7vw,42px) 35px 0; border-right:1px solid var(--line); }
.protocol-grid article+article { padding-left:clamp(24px,2.7vw,42px); }
.protocol-grid article:last-child { border-right:0; }
.protocol-grid span { color:var(--red); font-size:clamp(44px,4.7vw,72px); line-height:1; letter-spacing:-.06em; }
.protocol-grid p { margin:14px 0 65px; font:900 10px/1 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.protocol-grid h3 { margin:0; font-size:clamp(35px,3.6vw,55px); line-height:.9; letter-spacing:-.055em; }

.access { min-height:80svh; display:flex; flex-direction:column; justify-content:center; background:var(--black); color:var(--white); padding:clamp(90px,11vw,160px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))); }
.access { position:relative; }
.access > * { position:relative; z-index:30; }
.access .kicker { color:var(--red); }
.access h2 { max-width:1100px; }
.access>p:last-child { margin:45px 0 0; color:#aaa; font-size:clamp(17px,1.4vw,21px); }
.error { min-height:100svh; }
.error > a { display:inline-block; align-self:flex-start; margin-top:42px; padding-bottom:8px; border-bottom:1px solid var(--red); font:900 11px/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
footer { display:grid; grid-template-columns:1fr auto 1fr; gap:30px; padding:30px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))); background:var(--white); font:900 9px/1 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
footer p { margin:0; } footer p:last-child { text-align:right; }
.scroll-flare { position:fixed; z-index:20; inset:0; overflow:hidden; pointer-events:none; opacity:calc(.65 + var(--scroll-progress) * .35); mix-blend-mode:normal; will-change:opacity; }
.scroll-flare .light { position:absolute; left:calc(82% - var(--scroll-progress) * 60%); top:calc(22% + var(--scroll-progress) * 50%); width:2px; height:2px; border-radius:50%; background:var(--white); box-shadow:0 0 calc(25px + var(--scroll-progress) * 44px) calc(8px + var(--scroll-progress) * 15px) rgba(255,255,255,1),0 0 calc(48px + var(--scroll-progress) * 70px) calc(17px + var(--scroll-progress) * 28px) rgba(255,255,255,.66); transform:scale(calc(.72 + var(--scroll-progress) * .92)); animation:flarePulse 6s ease-in-out infinite alternate; will-change:left,top,transform,box-shadow; }
.scroll-flare .flare { position:absolute; left:50%; top:50%; border-radius:50%; }
.scroll-flare .one { width:100px; height:100px; margin:-50px 0 0 -50px; box-shadow:inset 0 0 22px 2px rgba(255,255,255,.18),0 0 24px rgba(255,255,255,.12); }
.scroll-flare .two { width:200px; height:200px; margin:-100px 0 0 -100px; box-shadow:inset 0 0 105px 3px rgba(255,255,255,.18),0 0 18px 2px rgba(255,255,255,.16); }
.scroll-flare .three { width:600px; height:600px; margin:-300px 0 0 -300px; box-shadow:inset 0 0 30px 2px rgba(255,255,255,.3),0 0 20px 2px rgba(255,255,255,.2); }
.scroll-flare .four { left:70%; top:70%; width:100px; height:100px; margin:-50px 0 0 -50px; box-shadow:inset 0 0 90px 2px rgba(255,255,255,.22),0 0 25px rgba(255,255,255,.16); }
.scroll-flare .five { left:18%; top:26%; width:60px; height:60px; margin:-30px 0 0 -30px; box-shadow:inset 0 0 70px 2px rgba(255,255,255,.32),0 0 22px rgba(255,255,255,.2); }
.scroll-flare .six { left:78%; top:74%; width:22px; height:22px; margin:-11px 0 0 -11px; box-shadow:inset 0 0 18px 7px rgba(255,255,255,.5),0 0 9px rgba(255,255,255,.3); }
@keyframes flarePulse { from{filter:brightness(.88)} to{filter:brightness(1.12)} }
.hero-copy { transform:translateY(calc(var(--scroll-progress) * -3vh)); }

@media(max-width:800px){ .hero{grid-template-columns:1fr; align-items:center}.hero-aside{max-width:520px}.section-heading{grid-template-columns:1fr}.protocol-grid{grid-template-columns:1fr}.protocol-grid article,.protocol-grid article+article{min-height:auto;padding:30px 0 55px;border-right:0;border-bottom:1px solid var(--line)}.protocol-grid p{margin-bottom:35px}.sphere-stage{min-height:650px} }
@media(max-width:560px){ .site-header{min-height:70px}.header-code{display:none}.hero{min-height:calc(100svh - 70px);padding-top:55px;padding-bottom:55px}h1{font-size:clamp(55px,19vw,88px)}.signal{padding-inline:16px}.sphere-stage{min-height:500px}.content{width:96vw;height:96vw}.cloud-core{font-size:16vw}footer{grid-template-columns:1fr;gap:12px}footer p:last-child{text-align:left} }
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto}.x-expansion,.scroll-flare{display:none}.tagcloud--item{transition:none}.hero-copy{transform:none} }
