/* flatkey v3 — brand system: paper white, ink, flatkey violet accent, real typefaces */
:root{
  --paper:#FFFFFF; --paper2:#F7F6FB; --ink:#0B0B0F; --ink2:#43434C; --ink3:#83838E;
  --line:#0B0B0F14; --line2:#0B0B0F0A;
  --violet:#5B21B6; --violet-deep:#4C1D95; --violet-hi:#7C3AED; --violet-tint:#F0EBFA;
  --green:#15803D; --green-tint:#E7F4EC; --warn:#D97706;
  --dark:#0A0A10; --dark2:#12121A; --dark-line:#FFFFFF1F; --dark-ink:#F5F5F2; --dark-ink3:#8E8E9C;
  --disp:"Space Grotesk",-apple-system,"Helvetica Neue",sans-serif;
  --sans:"Inter",-apple-system,"PingFang SC","Helvetica Neue",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums}
/* nav */
.nav{display:flex;align-items:center;gap:28px;padding:0 40px;height:64px;border-bottom:1px solid var(--line);background:#FFFFFFF2;backdrop-filter:blur(8px);position:relative;z-index:10}
.nav a{color:var(--ink2);text-decoration:none;font-size:14.5px;font-weight:600;white-space:nowrap}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--ink);font-weight:700}
.nav .sp{flex:1}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-size:21px;font-weight:700;letter-spacing:-.4px;color:var(--ink);text-decoration:none}
.logo img{width:28px;height:28px;display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:11px 20px;font-size:14.5px;font-weight:650;text-decoration:none;cursor:pointer;border:none;white-space:nowrap;min-height:44px;font-family:var(--sans);transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn.black{background:#070707;color:#fff}
.btn.white{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgba(11,11,15,.06)}
.btn.violet{background:var(--violet);color:#fff}
.btn.green{background:var(--green);color:#fff}
.btn.big{padding:14px 26px;font-size:16px;border-radius:10px}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:650;padding:6px 12px;border-radius:999px}
.pill.mint{background:var(--green-tint);color:#0F7A38}
.pill.tint{background:var(--violet-tint);color:var(--violet-deep)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
h1.display,h2.display{font-family:var(--disp);text-wrap:balance}
h1.display{font-size:64px;line-height:1.02;letter-spacing:-2.4px;font-weight:700}
h2.display{font-size:38px;line-height:1.06;letter-spacing:-1.3px;font-weight:700}
.sub{font-size:17.5px;line-height:1.6;color:var(--ink2);font-weight:450}
.card{background:#fff;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:var(--ink3);font-weight:600;text-align:left;padding:10px 14px;border-bottom:1.5px solid var(--ink)}
td{padding:11px 14px;font-size:14px;border-bottom:1px solid var(--line)}
.kbd{font-family:var(--mono);font-size:12px;background:var(--paper2);border:1px solid var(--line);border-radius:5px;padding:2px 7px}
.container{max-width:1240px;margin:0 auto;padding:0 40px}
/* mega footer — fal-style giant wordmark, brand ink on paper */
.megafoot{position:relative;overflow:hidden;background:var(--paper2);border-top:1px solid var(--line)}
.megafoot .inner{max-width:1240px;margin:0 auto;padding:34px 40px 0;display:flex;justify-content:space-between;align-items:flex-start}
.megafoot .legal{font-size:13px;color:var(--ink3);line-height:1.9}
.megafoot .legal a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.megafoot .word{display:flex;align-items:flex-end;gap:26px;margin:10px auto -58px;max-width:1240px;padding:0 40px;font-family:var(--disp);font-size:218px;font-weight:700;letter-spacing:-11px;line-height:.8;color:var(--ink);white-space:nowrap}
.megafoot .word img{width:150px;height:150px;margin-bottom:26px}
.stripe{height:10px;display:flex}
.stripe i{flex:1}
.stripe .s1{background:var(--ink)}.stripe .s2{background:var(--violet-hi)}.stripe .s3{background:var(--violet-deep)}.stripe .s4{background:var(--green)}.stripe .s5{background:#1E1B4B}
::selection{background:var(--violet-tint)}
/* legacy aliases for inner screens */
.btn.primary{background:var(--violet);color:#fff}
.btn.dark{background:#070707;color:#fff}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn.ghost.ondark{background:transparent;border:1px solid #ffffff55;color:#fff;box-shadow:none}
.btn.lime{background:var(--green);color:#fff}
.megafoot.slim{position:fixed;left:0;right:0;bottom:0;height:120px;background:transparent;border-top:none;overflow:hidden;pointer-events:none;z-index:4}
.megafoot.slim .word{position:absolute;right:10px;bottom:-58px;margin:0;padding:0;font-size:170px;letter-spacing:-8px;color:var(--ink);opacity:.08}
.megafoot.slim .word img{display:none}
.megafoot.slim .legal{position:absolute;left:40px;bottom:16px;font-size:12px}
