/* ============================================================
 * EntryRate — promoter site shared chrome
 * ------------------------------------------------------------
 * Layered on top of design-tokens.css. Apply <body class="entryrate">
 * to inherit the dark surface tokens. Page-specific layout
 * (bento, fee tables, etc.) stays inline on the consuming page.
 * ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap");

*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100vh}
body.entryrate{
  overflow-x:hidden;position:relative;
  font-feature-settings:"cv11","ss01","ss03";
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent);color:var(--bg)}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer}

/* Convenience aliases — 05_modern used --ink/--dim/--lime; tokens
   use --text/--text-muted/--signal. Keep both shapes addressable. */
body.entryrate{
  --ink:var(--text);
  --dim:var(--text-muted);
  --dim-2:var(--text-faint);
  --lime:var(--signal);
}

.mono{font-family:var(--font-mono)}
.serif{font-family:var(--font-italic);font-weight:400}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 28px;position:relative;z-index:2}

/* ─── Ambient beams + grain ─────────────────────────────── */
body.entryrate::before{
  content:"";position:fixed;inset:-10% -5% auto -5%;height:70vh;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 60% at 15% 0%, rgba(110,231,255,.18) 0%, transparent 60%),
    radial-gradient(60% 60% at 85% 10%, rgba(167,139,255,.14) 0%, transparent 60%),
    radial-gradient(40% 40% at 50% 100%, rgba(199,247,81,.06) 0%, transparent 70%);
  filter:blur(30px);
}
body.entryrate::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ─── Nav ───────────────────────────────────────────────── */
.nav{position:sticky;top:16px;z-index:50;margin-top:20px}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:10px 10px 10px 20px;border:1px solid var(--border);
  border-radius:14px;background:rgba(12,12,16,.6);backdrop-filter:blur(16px) saturate(140%);
  box-shadow:var(--shadow-soft);
}
.logo{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px;letter-spacing:-.01em;color:var(--text)}
.logo-mark{width:26px;height:26px;border-radius:8px;background:conic-gradient(from 210deg,var(--accent),var(--accent-2),var(--signal),var(--accent));position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 4px 20px rgba(110,231,255,.25)}
.logo-mark::after{content:"";position:absolute;inset:4px;border-radius:5px;background:var(--bg)}
.logo-mark::before{content:"";position:absolute;inset:8px;border-radius:3px;background:conic-gradient(from 30deg,var(--accent),var(--accent-2));filter:blur(2px)}
.logo .dim{color:var(--text-muted);font-weight:400}
.nav-links{display:flex;gap:4px;font-size:13px;color:var(--text-muted)}
.nav-links a{padding:8px 12px;border-radius:8px;transition:.2s;display:inline-flex;align-items:center;gap:6px}
.nav-links a:hover,.nav-links a.is-active{color:var(--text);background:var(--panel-2)}
.nav-links .new{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--bg);background:var(--accent);padding:2px 6px;border-radius:4px}
.nav-right{display:flex;align-items:center;gap:8px}

/* ─── Buttons + small bits ──────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:13px;font-weight:500;transition:.2s;cursor:pointer}
.btn:hover{background:var(--panel-2);border-color:var(--border-hi)}
.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}
.btn.primary:hover{background:var(--accent);border-color:var(--accent);box-shadow:0 8px 30px -10px rgba(110,231,255,.5)}
.btn.ghost{background:transparent}
.btn svg{width:14px;height:14px}
.kbd{font-family:var(--font-mono);font-size:11px;border:1px solid var(--border);padding:1px 5px;border-radius:4px;color:var(--text-muted)}

/* ─── Pills + section kickers ───────────────────────────── */
.pill{
  display:inline-flex;align-items:center;gap:10px;padding:5px 5px 5px 12px;border:1px solid var(--border);
  border-radius:999px;font-size:12px;color:var(--text-muted);background:rgba(12,12,16,.5);backdrop-filter:blur(10px)
}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 10px var(--signal)}
.pill b{color:var(--text);font-weight:500}
.pill .chip{font-family:var(--font-mono);font-size:10px;background:var(--panel-2);color:var(--text-muted);padding:4px 8px;border-radius:999px;border:1px solid var(--border)}

.section{padding:120px 0 40px;position:relative}
.sec-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.sec-kicker::before{content:"";width:24px;height:1px;background:var(--accent)}
h2.sec{font-size:clamp(38px,4.5vw,64px);line-height:1.05;letter-spacing:-.035em;font-weight:500;max-width:22ch;text-wrap:balance}
h2.sec em{font-family:var(--font-italic);font-style:italic;font-weight:400;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-lede{margin-top:16px;max-width:58ch;color:var(--text-muted);font-size:17px;line-height:1.55}

/* ─── Hero shell (page-level title block) ───────────────── */
.hero{padding:96px 0 60px;text-align:center;position:relative}
h1.title{
  margin-top:28px;
  font-weight:500;font-size:clamp(52px,7vw,104px);line-height:1;letter-spacing:-.04em;
  text-wrap:balance;
}
h1.title .grad{
  background:linear-gradient(180deg,#fff 20%, #8a8a95 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
h1.title em{
  font-family:var(--font-italic);font-style:italic;font-weight:400;
  background:linear-gradient(90deg,var(--accent),var(--accent-2) 70%,var(--signal));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.015em;
}
.sub{margin:28px auto 0;max-width:60ch;color:var(--text-muted);font-size:18px;line-height:1.55;font-weight:400}
.sub b{color:var(--text);font-weight:500}
.hero-cta{display:inline-flex;gap:10px;margin-top:36px;align-items:center;flex-wrap:wrap;justify-content:center}
.hero-cta .mono{color:var(--text-muted);font-size:12px;margin-left:12px}

/* ─── Footer ────────────────────────────────────────────── */
.foot{border-top:1px solid var(--border);padding:28px 0 40px;display:grid;grid-template-columns:1fr auto;gap:16px;font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}
.foot a:hover{color:var(--accent)}

/* ─── Animations ────────────────────────────────────────── */
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.rise{opacity:0}
.rise.on{animation:rise .9s var(--ease-out) forwards}
.d1{animation-delay:.08s}
.d2{animation-delay:.18s}
.d3{animation-delay:.28s}
.d4{animation-delay:.38s}
.d5{animation-delay:.48s}

/* ─── Forms ─────────────────────────────────────────────── */
.form-card{
  max-width:480px;margin:60px auto;padding:36px;
  border:1px solid var(--border);border-radius:18px;
  background:linear-gradient(180deg,var(--panel),var(--bg-2));
  box-shadow:var(--shadow-hard);
}
.form-card h1{font-size:32px;font-weight:500;letter-spacing:-.03em;margin-bottom:8px}
.form-card h1 em{font-family:var(--font-italic);font-style:italic;font-weight:400;color:var(--accent)}
.form-card p.lede{color:var(--text-muted);font-size:15px;line-height:1.55;margin-bottom:28px}
.field{display:block;margin-bottom:16px}
.field label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.field input,.field textarea,.field select{
  width:100%;padding:12px 14px;border-radius:10px;
  border:1px solid var(--border);background:var(--bg-2);color:var(--text);
  font-family:inherit;font-size:14px;transition:.2s;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(110,231,255,.15)}
.field textarea{min-height:96px;resize:vertical}
.form-card .btn.primary{width:100%;justify-content:center;padding:14px;font-size:14px;margin-top:8px}
.form-card .alt{margin-top:20px;text-align:center;font-size:13px;color:var(--text-muted)}
.form-card .alt a{color:var(--accent)}

/* ─── Mobile ────────────────────────────────────────────── */
@media (max-width:980px){
  .nav-links{display:none}
  .foot{grid-template-columns:1fr;text-align:center}
}
