@font-face {
  font-family: "Bessel Urbanist";
  src: url("assets/urbanist.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root{
  color-scheme:dark;
  --page:#05070B;--base:#080C14;--base-rgb:8,12,20;--surface-rgb:13,20,32;
  --fg:#E6EAF1;--muted:#97A4B8;--detail:#8FA0D6;--glow:59,106,229;--copper:#C38648;--on-accent:#080C14;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .22 -.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --k0:-0.0106em;--k1:-0.0056em;--k2:-0.0037em;--k3:-0.0169em;--k4:-0.0179em;
  --inset:12px;--radius:28px;--pad:64px;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*:before,*:after{box-sizing:inherit}
html,body{height:100%}
body{margin:0;background:var(--page);color:var(--fg);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--detail);outline-offset:3px}

/* The frame: one screen of sky */
.frame{position:relative;isolation:isolate;overflow:hidden;margin:var(--inset);min-height:calc(100% - 2*var(--inset));
  border-radius:var(--radius);border:1px solid rgba(214,224,240,.09);background:var(--base);display:flex;flex-direction:column}



/* Bessel cover art as the sky: cover B in layers, moving on one clock (v2).
   One 1920x1080 stage holds every layer and sits exactly where the flat plate sat
   (desktop 78% 50% / cover; <=700px 74% 0 / auto 72%), so the layers stay registered.
   The script at the end of <body> draws the wheeling stars and moves the nebula, ticks
   and gold; ?sky=20 plays it 20x faster for review. */
.frame{background:#0A1020}
.art{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;container-type:size}
.art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--base-rgb),.45),rgba(var(--base-rgb),0) 58%)}
.stage{--sw:max(100cqw,177.77778cqh);--px:.78;--py:.5;position:absolute;width:var(--sw);height:calc(var(--sw)*.5625);
  left:calc((100cqw - var(--sw))*var(--px));top:calc((100cqh - var(--sw)*.5625)*var(--py));overflow:hidden;
  background:radial-gradient(85% 95% at 100% 0%,rgba(59,106,229,.5) 0%,rgba(59,106,229,.26) 32%,rgba(59,106,229,.08) 60%,rgba(59,106,229,0) 80%),
    linear-gradient(180deg,#0B1226 0%,#0A1020 55%,#080C14 100%)}
.sky-loading .stage{visibility:hidden}
.stage>*{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.stage .orb{fill:none;stroke:#8FA0D6;stroke-width:1.2}
.sky-ticks line{stroke:#8FA0D6;stroke-width:1}
/* Moving groups get their own boxes; % origin = the orbit centre (1985, 120) and the nebula's (1650, 520). */
.sky-ticks,.sky-gold{transform-origin:103.385417% 11.111111%}
.sky-ticks svg,.sky-gold svg{display:block;width:100%;height:100%;overflow:visible}
.nebula{transform-origin:85.9375% 48.148148%}
.grain{opacity:.2;mix-blend-mode:soft-light}
@media(prefers-reduced-motion:no-preference){.nebula,.sky-ticks,.sky-gold{will-change:transform}}

/* Header: the kit's glass bar, inside the frame */
.site-header{position:relative;z-index:5;background:rgba(13,20,32,.3);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid rgba(214,224,240,.07)}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:74px;padding:0 calc(var(--pad) - 26px) 0 calc(var(--pad) - 30px)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;justify-self:start}
.brand img{width:34px;height:34px}
.wordmark{display:inline-flex;font-family:"Bessel Urbanist",sans-serif;font-weight:585;font-synthesis:none;font-size:31px;line-height:1}
.wordmark .g{display:block}
.site-header nav{display:flex;gap:44px;font-size:14px}
.site-header nav :is(a,button){position:relative;background:none;border:0;padding:6px 0;color:var(--muted);font:inherit;text-decoration:none;cursor:pointer}
.site-header nav :is(a,button):hover,.site-header nav [aria-current=page]{color:var(--fg)}
.site-header nav [aria-current=page]:after{content:"";position:absolute;left:50%;bottom:-3px;width:6px;height:1.5px;margin-left:-3px;border-radius:2px;background:var(--fg)}
.header-action{justify-self:end;display:flex;align-items:center;gap:20px;font-size:13px;padding:10px 14px;border-radius:8px;text-decoration:none;
  background:rgba(255,255,255,.045);border:1px solid rgba(214,224,240,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.header-action:hover{background:rgba(255,255,255,.08)}

/* Hero copy: bottom-left, like the reference */
.hero{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--pad) var(--pad);max-width:860px}
.status{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin:0 0 28px;padding:7px 13px 7px 11px;border-radius:999px;font-size:12px;color:var(--muted);
  background:rgba(255,255,255,.04);border:1px solid rgba(214,224,240,.13);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--detail)}
h1{margin:0 0 24px;font-size:clamp(42px,6vw,84px);line-height:1.02;letter-spacing:-.045em;font-weight:450}
.lede{margin:0 0 36px;max-width:560px;font-size:18px;line-height:1.6;color:var(--muted)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:48px;padding:0 20px;border-radius:8px;font-size:14px;font-weight:550;text-decoration:none;transition:background .18s,filter .18s}
.btn-primary{background:var(--fg);color:var(--on-accent)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-glass{color:var(--fg);background:rgba(255,255,255,.05);border:1px solid rgba(214,224,240,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.btn-glass:hover{background:rgba(255,255,255,.09)}
.legal{position:absolute;z-index:2;right:calc(var(--pad) - 26px);bottom:22px;margin:0;font-size:11px;color:rgba(214,224,240,.5)}

/* About / FAQ: glass sheets over the sky */
dialog.sheet{width:min(560px,calc(100% - 32px));max-height:min(78vh,720px);padding:0;border-radius:20px;color:var(--fg);overflow:auto;
  background:var(--grain),linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.01) 40%),rgba(var(--surface-rgb),.62);
  -webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);
  border:1px solid;border-color:rgba(230,234,241,.24) rgba(230,234,241,.1) rgba(230,234,241,.06) rgba(230,234,241,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 40px 100px rgba(0,0,0,.55)}
dialog.sheet::backdrop{background:rgba(3,5,9,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.sheet-in{padding:34px 36px 36px}
.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.sheet h2{margin:0;font-size:32px;line-height:1.1;letter-spacing:-.035em;font-weight:450}
.close{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid rgba(214,224,240,.18);background:rgba(255,255,255,.04);color:var(--fg);font:inherit;font-size:18px;line-height:1;cursor:pointer}
.sheet p{margin:0 0 14px;color:var(--muted);line-height:1.65}
.sheet .ph{color:rgba(214,224,240,.42);font-style:italic}
.sheet details{border-top:1px solid rgba(214,224,240,.1);padding:16px 0}
.sheet details:last-of-type{border-bottom:1px solid rgba(214,224,240,.1)}
.sheet summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.sheet summary::-webkit-details-marker{display:none}
.sheet summary:after{content:"+";color:var(--muted)}
.sheet details[open] summary:after{content:"–"}
.sheet details p{margin:12px 0 0;font-size:15px}

@media(max-width:900px){
  :root{--pad:36px}
  .site-header nav{gap:26px}
}
@media(max-width:700px){
  :root{--inset:8px;--radius:22px;--pad:22px}
  .bar{grid-template-columns:auto 1fr;min-height:64px;padding:0 18px}
  .site-header nav{justify-self:end;gap:18px;font-size:13px}
  .header-action{display:none}
  .wordmark{font-size:27px}.brand img{width:30px;height:30px}
  .stage{--sw:calc(72cqh*1.7777778);--px:.74;--py:0}
  .art:after{background:linear-gradient(0deg,rgba(var(--base-rgb),.92) 0,rgba(var(--base-rgb),.7) 34%,rgba(var(--base-rgb),0) 62%)}
  .hero{padding-top:90px;padding-bottom:58px}
  .lede{font-size:16px}
  .ctas{flex-direction:column}
  .btn{width:100%}
  .legal{left:var(--pad);right:auto;bottom:20px}
  .sheet-in{padding:26px 22px 28px}
}
@media(max-width:400px){.site-header nav{gap:13px;font-size:12px}.wordmark{font-size:24px}.brand img{width:27px;height:27px}.brand{gap:7px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
