/* Reset, atmosphere, shared layout, header, hero, section headings. */
*,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; background:var(--bg); overflow-x:hidden; }
  body{
    margin:0;
    min-width:320px;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-sans);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  ::selection{ background:rgba(232,192,122,.24); color:#fff; }
  a{ color:inherit; text-decoration:none; }
  button{ font:inherit; color:inherit; }
  svg{ overflow:visible; }
  :focus-visible{ outline:1px solid rgba(232,192,122,.65); outline-offset:5px; }

  ::-webkit-scrollbar{ width:9px; }
  ::-webkit-scrollbar-track{ background:#05070e; }
  ::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,rgba(232,192,122,.38),rgba(119,216,208,.22));
    border:2px solid #05070e;
    border-radius:20px;
  }

  /* ── atmosphere ───────────────────────────────────────── */
  #space{
    position:fixed; inset:0; z-index:1;
    width:100%; height:100%;
    pointer-events:none;
  }
  .nebula{
    position:fixed; inset:-14%; z-index:0;
    pointer-events:none;
    background:
      radial-gradient(ellipse 44% 42% at 76% 16%,rgba(66,87,160,.18),transparent 64%),
      radial-gradient(ellipse 36% 38% at 15% 42%,rgba(92,58,128,.14),transparent 68%),
      radial-gradient(ellipse 58% 42% at 50% 103%,rgba(16,61,79,.20),transparent 70%),
      radial-gradient(ellipse 30% 24% at 61% 66%,rgba(29,64,96,.08),transparent 75%);
    filter:saturate(112%);
    animation:nebulaDrift 34s ease-in-out infinite alternate;
    will-change:transform;
  }
  .grain{
    position:fixed; inset:0; z-index:2;
    pointer-events:none; opacity:.035;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:180px 180px;
    mix-blend-mode:overlay;
  }
  .cursor-glow{
    position:fixed; left:0; top:0; z-index:2;
    width:520px; height:520px; margin:-260px 0 0 -260px;
    border-radius:50%; pointer-events:none;
    opacity:0;
    background:radial-gradient(circle,rgba(124,173,213,.09),rgba(86,104,184,.045) 34%,transparent 68%);
    transition:opacity .5s ease;
    will-change:transform;
  }
  #fx{
    position:fixed; inset:0; z-index:40;
    width:100%; height:100%;
    pointer-events:none;
    mix-blend-mode:screen;
    opacity:.92;
  }
  .scroll-progress{
    position:fixed; left:0; top:0; z-index:70;
    width:100%; height:1px;
    transform:scaleX(0); transform-origin:0 50%;
    background:linear-gradient(90deg,var(--gold),var(--teal));
    box-shadow:0 0 10px rgba(232,192,122,.35);
    pointer-events:none;
  }

  /* ── shared framework ─────────────────────────────────── */
  .shell{
    width:min(1240px,calc(100% - 56px));
    margin-inline:auto;
    position:relative;
  }
  main{ position:relative; z-index:3; }
  .sr-only{
    position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  /* ── header ───────────────────────────────────────────── */
  .site-header{
    position:fixed; inset:0 0 auto 0; z-index:60;
    height:78px;
    padding:0 clamp(20px,3vw,46px);
    display:flex; align-items:center; justify-content:space-between; gap:28px;
    border-bottom:1px solid transparent;
    transition:height .45s var(--ease),background .45s ease,border-color .45s ease,backdrop-filter .45s ease;
  }
  .site-header.is-scrolled{
    height:64px;
    background:rgba(4,6,13,.62);
    border-bottom-color:rgba(255,255,255,.055);
    backdrop-filter:blur(22px) saturate(130%);
    -webkit-backdrop-filter:blur(22px) saturate(130%);
  }
  .brand{
    display:flex; align-items:center; gap:12px;
    min-width:0;
  }
  .brand-mark{
    position:relative; width:32px; height:32px; flex:0 0 32px;
    display:grid; place-items:center;
    border:1px solid rgba(232,192,122,.34);
    border-radius:50%;
    background:radial-gradient(circle at 50% 40%,rgba(232,192,122,.10),transparent 66%);
  }
  .brand-mark i{
    position:absolute; inset:-1px; border-radius:50%;
    animation:spin 12s linear infinite;
  }
  .brand-mark i::before{
    content:""; position:absolute; left:50%; top:-2px;
    width:4px; height:4px; margin-left:-2px; border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 9px rgba(232,192,122,.95);
  }
  .brand-mark span{
    font:600 9px/1 var(--font-mono);
    color:rgba(244,220,169,.85);
    letter-spacing:.04em;
    transform:translateY(.5px);
  }
  .brand-name{ display:flex; flex-direction:column; gap:3px; min-width:0; }
  .brand-name b{ font-size:13px; font-weight:500; letter-spacing:.08em; white-space:nowrap; }
  .brand-name small{ font:9px/1 var(--font-mono); color:var(--dim); letter-spacing:.11em; white-space:nowrap; }
  .site-nav{ display:flex; align-items:center; gap:30px; margin-left:auto; }
  .site-nav a{
    position:relative; padding:5px 0;
    font-size:12px; letter-spacing:.14em; color:var(--muted);
    transition:color .3s ease;
  }
  .site-nav a::after{
    content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px;
    background:linear-gradient(90deg,var(--gold),transparent);
    transform:scaleX(0); transform-origin:0 50%;
    transition:transform .45s var(--ease);
  }
  .site-nav a:hover,.site-nav a.is-active{ color:var(--ink); }
  .site-nav a:hover::after,.site-nav a.is-active::after{ transform:scaleX(1); }
  .header-meta{
    display:flex; align-items:center; gap:9px;
    font:9px/1 var(--font-mono); letter-spacing:.17em; color:var(--dim);
    white-space:nowrap;
  }
  .status-dot{
    width:5px; height:5px; border-radius:50%; background:var(--gold);
    box-shadow:0 0 8px rgba(232,192,122,.8);
    animation:statusPulse 2.6s ease-in-out infinite;
  }

  /* ── hero ─────────────────────────────────────────────── */
  .hero{
    position:relative;
    min-height:min(820px,100svh);
    padding:clamp(132px,17vh,180px) 0 60px;
    display:flex; align-items:center;
    overflow:hidden;
  }
  .hero::after{
    content:"";
    position:absolute; left:clamp(20px,3vw,46px); right:clamp(20px,3vw,46px); bottom:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.09) 16%,rgba(232,192,122,.16) 52%,rgba(255,255,255,.06) 84%,transparent);
  }
  .hero-kicker{
    display:flex; align-items:center; flex-wrap:wrap; gap:13px;
    font:9px/1.4 var(--font-mono); letter-spacing:.22em; color:var(--dim);
    text-transform:uppercase;
  }
  .hero-kicker .rule{
    width:42px; height:1px;
    background:linear-gradient(90deg,var(--gold),transparent);
  }
  .hero-kicker .slash{ color:rgba(232,192,122,.45); }
  .hero-kicker .year{ color:rgba(205,213,227,.72); }
  .hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.46fr) minmax(340px,.72fr);
    align-items:center;
    gap:clamp(38px,6vw,92px);
    margin-top:clamp(36px,5vh,58px);
  }
  .hero-copy{ min-width:0; }
  .hero-title{
    margin:0;
    font-family:var(--font-sans);
    font-size:clamp(4.5rem,10.2vw,9.3rem);
    font-weight:500;
    line-height:.95;
    letter-spacing:.055em;
    background:linear-gradient(180deg,#fff 0%,#eef2f8 48%,#9ba8bd 100%);
    -webkit-background-clip:text; background-clip:text;
    color:transparent;
    filter:drop-shadow(0 18px 45px rgba(0,0,0,.28));
  }
  .hero-identity{
    display:flex; align-items:center; flex-wrap:wrap; gap:12px;
    margin:26px 0 0;
    font-size:13px; letter-spacing:.07em; color:var(--muted);
  }
  .hero-identity i{
    width:3px; height:3px; border-radius:50%;
    background:rgba(232,192,122,.7);
    box-shadow:0 0 7px rgba(232,192,122,.55);
  }
  .hero-facts{
    display:flex; align-items:stretch; flex-wrap:wrap; gap:0;
    margin:clamp(38px,6vh,66px) 0 0;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.08);
    max-width:680px;
  }
  .hero-facts .fact{
    display:flex; flex-direction:column; gap:8px;
    min-width:128px; padding-right:clamp(24px,3.3vw,48px);
  }
  .hero-facts .fact + .fact{
    padding-left:clamp(24px,3.3vw,48px);
    border-left:1px solid rgba(255,255,255,.07);
  }
  .hero-facts dt{
    font:9px/1 var(--font-mono); letter-spacing:.16em; color:var(--dim);
  }
  .hero-facts dd{
    margin:0;
    font:400 19px/1 var(--font-display);
    letter-spacing:.02em; color:rgba(235,240,248,.9);
    font-variant-numeric:tabular-nums;
  }

  .hero-console-wrap{
    position:relative;
    display:flex; justify-content:flex-end; align-items:center;
    min-height:470px;
  }
  .hero-dial{
    position:absolute;
    width:640px; height:640px;
    right:-128px; top:50%;
    transform:translateY(-50%);
    z-index:0;
    opacity:.72;
    pointer-events:none;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
  }
  .hero-dial svg{ width:100%; height:100%; }
  .dial-ring{ fill:none; stroke:rgba(232,192,122,.16); stroke-width:1; }
  .dial-ring.faint{ stroke:rgba(255,255,255,.09); }
  .dial-ring.teal{ stroke:rgba(119,216,208,.12); }
  .dial-tick{ stroke:rgba(255,255,255,.12); stroke-width:1; }
  .dial-tick.major{ stroke:rgba(232,192,122,.34); }
  .dial-rotor{
    transform-origin:300px 300px;
    animation:spin 96s linear infinite;
  }
  .dial-rotor.reverse{
    animation-duration:148s;
    animation-direction:reverse;
  }
  .dial-dot{
    fill:var(--gold);
    filter:drop-shadow(0 0 6px rgba(232,192,122,.9));
  }
  .dial-dot.teal{
    fill:var(--teal);
    filter:drop-shadow(0 0 6px rgba(119,216,208,.9));
  }
  .dial-year{
    font:9px var(--font-mono);
    fill:rgba(232,192,122,.44);
    letter-spacing:.2em;
  }

  .console{
    position:relative; z-index:2;
    width:min(390px,100%);
    padding:26px 26px 22px;
    border:1px solid rgba(255,255,255,.115);
    border-radius:28px;
    background:
      linear-gradient(155deg,rgba(19,26,45,.86),rgba(7,10,19,.78)),
      radial-gradient(circle at 85% 6%,rgba(232,192,122,.09),transparent 43%);
    box-shadow:
      0 36px 90px rgba(0,0,0,.46),
      0 1px 0 rgba(255,255,255,.08) inset,
      0 0 0 1px rgba(0,0,0,.12);
    backdrop-filter:blur(24px) saturate(128%);
    -webkit-backdrop-filter:blur(24px) saturate(128%);
    overflow:hidden;
  }
  .console::before{
    content:"";
    position:absolute; left:24px; right:24px; top:0; height:1px;
    background:linear-gradient(90deg,transparent,rgba(244,220,169,.72),rgba(119,216,208,.22),transparent);
    opacity:.7;
  }
  .console::after{
    content:"";
    position:absolute; width:180px; height:180px; right:-78px; top:-88px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(232,192,122,.12),transparent 68%);
    pointer-events:none;
  }
  .console-head{
    position:relative; z-index:1;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    font:9px/1 var(--font-mono); letter-spacing:.14em; color:var(--dim);
  }
  .console-head .live{ display:flex; align-items:center; gap:7px; color:rgba(232,192,122,.68); }
  .console-head .live i{
    width:5px; height:5px; border-radius:50%; background:var(--gold);
    box-shadow:0 0 8px rgba(232,192,122,.8);
    animation:statusPulse 2.6s ease-in-out infinite;
  }
  .console-hero{ position:relative; z-index:1; padding:29px 0 25px; }
  .console-value{
    font:400 clamp(4.7rem,6.6vw,6.3rem)/.88 var(--font-display);
    letter-spacing:-.035em; color:#fbf7ef;
    font-variant-numeric:tabular-nums;
    text-shadow:0 0 34px rgba(232,192,122,.12);
  }
  .console-value .decimal{ color:rgba(244,220,169,.93); }
  .console-label{
    display:flex; align-items:center; gap:9px;
    margin-top:15px;
    font-size:10px; letter-spacing:.15em; color:var(--muted);
  }
  .console-label em{
    font:9px var(--font-mono); font-style:normal; color:var(--dim); letter-spacing:.05em;
  }
  .console-grid{
    position:relative; z-index:1;
    display:grid; grid-template-columns:1fr 1fr;
    border-top:1px solid rgba(255,255,255,.085);
  }
  .console-grid > div{
    padding:16px 0 15px;
    display:flex; flex-direction:column; gap:8px;
  }
  .console-grid > div:nth-child(odd){ padding-right:14px; }
  .console-grid > div:nth-child(even){
    padding-left:20px;
    border-left:1px solid rgba(255,255,255,.06);
  }
  .console-grid > div:nth-last-child(-n+2){ padding-bottom:0; }
  .console-grid span{
    font:9px/1 var(--font-mono); letter-spacing:.13em; color:var(--dim);
  }
  .console-grid b{
    font:400 25px/1 var(--font-display);
    letter-spacing:-.01em; color:rgba(241,245,251,.94);
    font-variant-numeric:tabular-nums;
  }
  .console-grid b em{
    font:9px/1 var(--font-mono); font-style:normal;
    color:var(--dim); letter-spacing:.02em; margin-left:5px;
  }

  /* ── section headers ─────────────────────────────────── */
  .section{ position:relative; padding-top:clamp(84px,9vw,112px); }
  .section-head{
    display:flex; align-items:flex-end; justify-content:space-between; gap:30px;
    margin-bottom:30px;
  }
  .section-index{
    display:flex; align-items:center; gap:12px;
    font:9px/1 var(--font-mono); letter-spacing:.22em; color:rgba(232,192,122,.76);
  }
  .section-index::before{
    content:""; width:28px; height:1px;
    background:linear-gradient(90deg,var(--gold),transparent);
  }
  .section h2{
    margin:13px 0 0;
    font-size:clamp(1.95rem,3.2vw,2.85rem);
    font-weight:500; line-height:1.1;
    letter-spacing:.025em;
    color:rgba(242,245,250,.96);
  }
  .section-aside{
    padding-bottom:7px;
    font:9px/1.6 var(--font-mono); letter-spacing:.13em;
    color:var(--dim); text-align:right; white-space:nowrap;
  }
