/* ════════════════════════════════════════════════════════════════════════
   MaxedVision — dark, warm, editorial. Deep indigo-black + brand periwinkle.
   Bricolage Grotesque display, Geist body, Space Mono instrument labels.
   The motion and the writing carry it: lines arrive one at a time, each
   opens for the deeper story. Self-hosted fonts only.
   ════════════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Bricolage Grotesque';src:url('fonts/BricolageGrotesque-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'Geist';src:url('fonts/Geist-Variable.ttf') format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:'Space Mono';src:url('fonts/SpaceMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Space Mono';src:url('fonts/SpaceMono-Bold.ttf') format('truetype');font-weight:700;font-display:swap}

:root{
  --bg0:#0C0B16; --bg1:#13111F; --surface:#1A1830;
  --ink:#ECE9F5; --ink2:#A7A1C2; --hint:#6F6A88;
  --line:#272340; --rule:#34304F;
  --night:#100E1C; --night2:#241D49;
  --brand1:#6B6FF2; --brand2:#9B3FD8; --accent:#9A9DFF; --accent-deep:#3A2F9E;

  /* legacy names kept so existing pages resolve */
  --bg:var(--bg0); --win:var(--bg0); --bar:var(--bg1);
  --paper:var(--bg0); --paper2:var(--surface); --band:var(--bg1); --panel:var(--surface); --panel2:var(--night);

  --display:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sans:'Geist',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:'Space Mono',ui-monospace,"Cascadia Code","Courier New",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{min-height:100%;background:var(--bg0);scroll-behavior:smooth}
body{min-height:100vh;color:var(--ink);font-family:var(--sans);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(120% 80% at 50% -8%, #1A1736 0%, transparent 55%),
    radial-gradient(90% 60% at 100% 104%, #15122B 0%, transparent 60%),
    var(--bg0);
  background-attachment:fixed}
a{color:inherit;text-decoration:none}
::selection{background:rgba(110,113,242,.32)}

.window{min-height:100vh;display:flex;flex-direction:column;background:transparent}

/* ── Masthead ─────────────────────────────────────────────────────────── */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:rgba(12,11,22,.82);backdrop-filter:saturate(1.1) blur(8px);padding:13px 24px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.3px;color:var(--ink)}
.brand img{width:27px;height:27px;flex:none;filter:drop-shadow(0 0 10px rgba(107,111,242,.55))}
.tabs{display:flex;flex-wrap:wrap;gap:6px 24px}
.navbtn{font-family:var(--mono);font-size:12.5px;font-weight:400;letter-spacing:.3px;color:var(--ink2);cursor:pointer;
  padding:5px 1px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.navbtn:hover{color:var(--ink);border-bottom-color:var(--accent)}
.navbtn[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.navbtn:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}

/* ── Shell ────────────────────────────────────────────────────────────── */
.content{flex:1;padding:0 24px 30px}
.inner{max-width:1060px;margin:0 auto}
.lead{font-size:clamp(16px,1.6vw,19px);color:var(--ink2);max-width:62ch}
.link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.link:hover{color:var(--ink)}

h1,h2,h3{font-family:var(--display);color:var(--ink)}
h1{font-weight:700;letter-spacing:-1.6px;line-height:1.02;font-size:clamp(40px,6.4vw,76px)}
h2{font-weight:700;letter-spacing:-1px;line-height:1.08;font-size:clamp(26px,3.4vw,42px)}
h3{font-weight:600;letter-spacing:-.3px;font-size:21px}

/* ── Buttons (brand periwinkle→violet, popping on dark) ───────────────── */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:700;font-size:13.5px;letter-spacing:.3px;cursor:pointer;
  color:#fff;background:linear-gradient(135deg,#7E82FF,#6B6FF2 45%,#9B3FD8);border:1px solid #5A4FD0;padding:13px 22px;border-radius:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 0 var(--accent-deep),0 8px 22px rgba(107,111,242,.38);
  transition:transform .14s,box-shadow .14s}
.btn:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 0 var(--accent-deep),0 13px 28px rgba(107,111,242,.5)}
.btn:active{transform:translateY(0);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 var(--accent-deep)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.btn svg{width:16px;height:16px;flex:none}
.btn.ghost{background:transparent;color:var(--accent);border:none;border-radius:0;padding:13px 3px;border-bottom:2px solid var(--accent);box-shadow:none}
.btn.ghost:hover{transform:none;color:var(--ink);border-bottom-color:var(--brand2)}

/* ── The flow ─────────────────────────────────────────────────────────── */
.flow{max-width:780px;margin:0 auto;padding:clamp(28px,7vh,84px) 0 24px}
.flow-home{padding-top:0}

/* Homepage hero — big centered logo + wordmark, fills the first screen so
   the statements live below the fold and reveal as you scroll. */
.hero-lede{min-height:calc(100vh - 62px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:20px 0}
.hero-logo{width:clamp(116px,18vw,180px);height:auto;
  filter:drop-shadow(0 0 28px rgba(107,111,242,.6)) drop-shadow(0 0 64px rgba(155,63,216,.32));
  animation:seal 1.1s cubic-bezier(.2,.8,.2,1) both}
.hero-name{font-family:var(--display);font-weight:700;letter-spacing:-2px;line-height:1;font-size:clamp(48px,8.5vw,104px);color:var(--ink);
  animation:fadeUp .9s ease .15s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.lede{margin-bottom:clamp(30px,6vh,60px)}
.lede-star{width:60px;height:60px;display:block;filter:drop-shadow(0 0 18px rgba(107,111,242,.6)) drop-shadow(0 0 40px rgba(155,63,216,.32));
  animation:seal 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes seal{0%{opacity:0;transform:translateY(-14px) scale(.7) rotate(-20deg)}100%{opacity:1;transform:none}}
.kicker{font-family:var(--mono);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-top:20px}

.stmt{display:grid;grid-template-columns:46px 1fr;gap:20px;align-items:start;margin:clamp(28px,5.4vh,52px) 0}
.toggle{flex:none;width:38px;height:38px;margin-top:.4em;display:grid;place-items:center;cursor:pointer;
  background:transparent;border:1px solid var(--rule);border-radius:50%;color:var(--accent);font-size:15px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),background .2s,color .2s,border-color .2s}
.toggle .tg{display:block;line-height:1;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.toggle:hover{border-color:var(--accent);background:rgba(110,113,242,.12)}
.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.toggle[aria-expanded="true"]{background:var(--brand1);border-color:var(--brand1);color:#fff}
.toggle[aria-expanded="true"] .tg{transform:rotate(225deg)}
.line{font-family:var(--display);font-weight:700;letter-spacing:-1px;line-height:1.08;color:var(--ink);
  font-size:clamp(26px,4.2vw,46px);cursor:pointer}
.more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1),opacity .45s ease}
.more>div{overflow:hidden}
.more.open{grid-template-rows:1fr;opacity:1}
.more p{font-family:var(--sans);font-size:clamp(15px,1.65vw,17px);color:var(--ink2);line-height:1.68;max-width:60ch;margin-top:16px}
.more p+p{margin-top:12px}
.more .tag-word{font-family:var(--display);font-weight:700;color:var(--ink)}
.more .row-act{margin-top:20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}

.cta-final{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:clamp(40px,8vh,76px);padding-left:66px}

/* reveal-in — hidden ONLY when JS can bring it back (progressive enhancement) */
.reveal{transition:opacity .7s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.js .reveal{opacity:0;transform:translateY(24px)}
.reveal.in{opacity:1;transform:none}

/* ── Emories pin-drop flow ────────────────────────────────────────────── */
.pinflow{position:relative;height:clamp(190px,34vh,300px);display:grid;place-items:center;margin-bottom:6px}
.pinfly{width:clamp(92px,14vw,132px);height:auto;transform-origin:50% 100%;
  filter:drop-shadow(0 12px 30px rgba(107,111,242,.4));
  animation:flyin 1.95s cubic-bezier(.22,.72,.2,1) both}
@keyframes flyin{
  0%{transform:translate(210px,-250px) rotate(34deg) scale(.55);opacity:0}
  22%{opacity:1}
  62%{transform:translate(18px,-26px) rotate(-9deg) scale(1.06)}
  82%{transform:translate(0,10px) rotate(4deg) scale(.97)}
  100%{transform:translate(0,0) rotate(0) scale(1);opacity:1}}
.pingwrap{position:absolute;left:50%;top:calc(50% + 34px);width:0;height:0}
.pingwrap span{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;
  border:2px solid var(--brand1);opacity:0;animation:ping 1.7s ease-out 1.7s infinite}
.pingwrap span:nth-child(2){animation-delay:2.3s}
@keyframes ping{0%{transform:scale(.2);opacity:0}18%{opacity:.6}100%{transform:scale(3);opacity:0}}

/* ── Star divider ─────────────────────────────────────────────────────── */
.rule{height:1px;max-width:780px;margin:8px auto;background:linear-gradient(90deg,transparent,var(--rule) 50%,transparent)}

/* ── Colophon ─────────────────────────────────────────────────────────── */
.statusbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--bg1);padding:13px 22px;font-family:var(--mono);font-size:12px;color:var(--ink2);border-top:1px solid var(--line)}
.statusbar a{color:var(--accent);text-underline-offset:2px}
.statusbar a:hover{text-decoration:underline}

/* ── Long-form legal text ─────────────────────────────────────────────── */
.prose{padding-top:34px}
.prose h1{margin-bottom:6px}
.prose h2{font-family:var(--display);font-weight:700;letter-spacing:-.5px;font-size:clamp(20px,2.6vw,28px);margin:30px 0 10px;color:var(--ink)}
.prose h3{font-family:var(--display);font-weight:600;font-size:18px;margin:22px 0 8px}
.prose p,.prose li{color:var(--ink2);font-size:15.5px;line-height:1.75;max-width:78ch}
.prose ul,.prose ol{margin:8px 0 8px 22px}
.prose li{margin:5px 0}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.prose strong{color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line);margin:24px 0}

@media (max-width:680px){
  .topbar{padding:11px 16px}
  .content{padding:0 18px 26px}
  .stmt{grid-template-columns:34px 1fr;gap:14px}
  .toggle{width:32px;height:32px}
  .cta-final{padding-left:48px;gap:18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .reveal{opacity:1;transform:none}
  .lede-star,.pinfly,.hero-logo,.hero-name{opacity:1;transform:none}
}
