/* A live, lightweight sculpture. The rest of the portfolio stays editorial. */
.hero-interactive{min-height:750px;isolation:isolate;background:radial-gradient(ellipse at 79% 43%,#10244166,transparent 48%)}
.hero-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#91b4ff08 1px,transparent 1px),linear-gradient(90deg,#91b4ff08 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 20%,#000 100%)}
.hero-interactive .hero-content{padding-top:112px;pointer-events:none}
.hero-interactive .hero-content a{pointer-events:auto}
.hero-interactive h1{font-size:clamp(58px,5.25vw,82px);line-height:1.08;letter-spacing:-.065em;max-width:720px;margin:30px 0}
.hero-interactive h1 span{color:#a3c2ff;background:linear-gradient(110deg,#edf4ff 0%,#a6c5ff 42%,#719fff 80%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-interactive .hero-copy{max-width:430px;color:#ced7e0;font-size:17px}
.hero-interactive .hero-kicker{color:#bdcbdc}
.hero-interactive .hero-actions .button{background:#a9c8ff;border-color:#a9c8ff;color:#101a2d;box-shadow:0 0 40px #6999ff12}
.hero-interactive .hero-actions .button:hover{background:#d4e3ff;box-shadow:0 4px 34px #6999ff30}
.hero-invitation{font:11px/1.8 var(--mono);color:#a8bacf;margin-top:40px;max-width:400px}
.hero-invitation>span{color:#a8c9ff;margin-right:9px}
.system-playground{width:min(53vw,790px);position:absolute;left:50%;top:26px;z-index:1;user-select:none}
.system-topline{position:absolute;top:24px;left:50px;right:50px;display:flex;justify-content:space-between;align-items:center;z-index:2;color:#adbed3}
.system-topline>.eyebrow{font-size:9px;letter-spacing:.12em}
.system-motion{width:32px;height:32px;display:grid;place-items:center;border:1px solid #a5c6ff38;border-radius:50%;background:#101827b0;color:#c9deff;font-size:13px;transition:background .2s}
.system-motion:hover{background:#284367}
.system-stage{width:100%;height:560px;position:relative}
#system-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y;border-radius:20px;outline-offset:-10px}
#system-canvas:active{cursor:grabbing}
.system-fallback{width:100%;height:100%;object-fit:cover;mask-image:radial-gradient(ellipse,#000 40%,transparent 75%)}
.system-ready .system-fallback{display:none}
.system-orbit-label{position:absolute;font:9px var(--mono);text-transform:uppercase;letter-spacing:.13em;color:#b3c9e5;pointer-events:none}
.system-orbit-label::before{content:'+';color:#779bcc;margin-right:7px}
.orbit-label-one{left:8%;top:27%}.orbit-label-two{right:9%;top:43%}.orbit-label-three{left:16%;bottom:12%}
.system-console{position:relative;margin:-2px 50px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #789bd136;padding-top:22px}
.system-readout{display:flex;gap:10px;align-items:flex-start}.system-readout .eyebrow{font-size:8px;letter-spacing:.065em;color:#a5bddc}
.system-readout p{font-size:12px;color:#e0eaff;margin-top:5px;line-height:1.5;max-width:235px;min-height:36px}
.system-indicator{width:6px;height:6px;flex:0 0 6px;background:#bce994;box-shadow:0 0 12px #bce99477;border-radius:50%;margin-top:8px;transition:background .3s}
.system-playground[data-state="disrupted"] .system-indicator{background:#ffb56b;box-shadow:0 0 12px #ffb56b77}
.system-playground[data-state="adapted"] .system-indicator{background:#9acaff;box-shadow:0 0 12px #9acaff77}
.system-disrupt{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;white-space:nowrap;border:1px solid #7396c765;border-radius:4px;color:#e0edff;background:#17243899;padding:11px 13px;font-size:11px;transition:background .2s,border-color .2s}
.system-disrupt:hover{background:#293f61;border-color:#a2c6ff}.system-disrupt:disabled{opacity:.7;cursor:wait}.system-disrupt>span{font-size:16px;color:#acd0ff}
.system-instructions{text-align:center;margin:16px auto 0;font:9px/1.5 var(--mono);letter-spacing:.03em;color:#a3b5ce}
.hero-interactive .hero-bottom{margin-top:113px;padding-top:0;padding-bottom:29px;color:#b0bfd2;font-size:9px}
.hero-interactive .hero-bottom>a:hover{color:#e1ecff}
.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}
.system-playground [hidden]{display:none!important}
@media(min-width:1600px){.system-playground{left:50.5%;top:20px}.system-stage{height:580px}.hero-interactive{min-height:770px}.hero-interactive .hero-bottom{margin-top:128px}}
@media(min-width:901px) and (max-width:1150px){.hero-interactive{min-height:720px}.hero-interactive .hero-content{padding-top:102px}.hero-interactive h1{font-size:clamp(49px,6.3vw,67px);max-width:570px}.hero-interactive .hero-copy{max-width:350px;font-size:15px}.system-playground{left:51%;width:51vw;top:67px}.system-stage{height:440px}.system-topline{left:25px;right:28px;top:0}.system-console{margin:0 28px 0 22px;gap:12px;align-items:flex-start;flex-direction:column;padding-top:16px}.system-readout p{min-height:auto}.system-instructions{text-align:left;margin-left:22px;font-size:8px}.hero-interactive .hero-bottom{margin-top:160px}.system-orbit-label{font-size:8px}.orbit-label-one{left:4%}.orbit-label-two{right:6%}.orbit-label-three{left:9%}.hero-invitation{font-size:9px}}
@media(max-width:900px){.hero-interactive{min-height:0;background:radial-gradient(ellipse at 50% 62%,#10244177,transparent 45%)}.hero-grid{background-size:52px 52px;mask-image:linear-gradient(0deg,#000,transparent 90%)}.hero-interactive .hero-content{padding-top:48px}.hero-interactive h1{font-size:clamp(40px,9.1vw,67px);letter-spacing:-.06em;line-height:1.09;margin:25px 0 22px}.hero-interactive .hero-copy{font-size:14px;max-width:410px}.hero-interactive .hero-kicker{font-size:9px}.hero-interactive .hero-actions{margin-top:23px}.hero-invitation{font-size:9px;margin-top:26px}.system-playground{position:relative;left:auto;top:auto;width:100%;max-width:560px;margin:18px auto 0}.system-topline{left:28px;right:28px;top:8px}.system-topline>.eyebrow{font-size:8px}.system-stage{height:clamp(335px,85vw,460px)}.system-orbit-label{font-size:8px}.orbit-label-one{left:6%;top:26%}.orbit-label-two{right:6%}.orbit-label-three{left:12%;bottom:12%}.system-console{margin:0 23px;padding-top:17px;gap:12px;align-items:center}.system-readout .eyebrow{font-size:7px}.system-readout p{font-size:10px;max-width:190px;min-height:30px}.system-disrupt{font-size:9px;gap:10px;padding:10px}.system-instructions{font-size:8px;margin-top:15px}.hero-interactive .hero-bottom{margin-top:35px;padding-bottom:24px;font-size:7px;gap:12px;align-items:flex-start}.hero-interactive .hero-bottom>a{max-width:135px;text-align:right}.system-motion{width:29px;height:29px}}
@media(prefers-reduced-motion:no-preference){.hero-interactive .hero-kicker,.hero-interactive h1,.hero-interactive .hero-copy,.hero-interactive .hero-actions,.hero-invitation{animation:hero-arrive .9s both cubic-bezier(.2,.7,.3,1)}.hero-interactive h1{animation-delay:.08s}.hero-interactive .hero-copy{animation-delay:.16s}.hero-interactive .hero-actions{animation-delay:.23s}.hero-invitation{animation-delay:.3s}.system-playground{animation:system-arrive 1.4s both}.system-orbit-label{animation:hero-arrive 1.2s .4s both}@keyframes hero-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes system-arrive{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}}
@media(forced-colors:active){.hero-interactive h1 span{background:none;color:CanvasText;-webkit-text-fill-color:currentColor}.hero-interactive .hero-actions .button,.system-disrupt,.system-motion{border:1px solid ButtonText}.system-indicator{background:CanvasText}.hero-grid{display:none}}
