/* Better NYC v1 — design system: black canvas, flame orange, Inter */
:root{
  --bg:#05070d; --bg2:#0a0f1a; --card:#0d1424; --line:rgba(255,255,255,.08);
  --ink:#f5f2ec; --mut:#93a0b8; --dim:#5c6a86;
  --flame:#ff5c00; --flame2:#ff9a3d; --blue:#1e5aa8;
  --ok:#34d399; --radius:22px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;min-height:100vh}
::selection{background:var(--flame);color:#fff}
a{color:inherit}

/* ambient */
.ambient{position:fixed;inset:0;pointer-events:none;z-index:0}
.ambient::before{content:"";position:absolute;width:70vmax;height:70vmax;left:50%;top:-30vmax;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(255,92,0,.10) 0%,rgba(255,92,0,0) 60%)}
.ambient::after{content:"";position:absolute;width:60vmax;height:60vmax;left:-20vmax;bottom:-25vmax;
  background:radial-gradient(circle,rgba(30,90,168,.14) 0%,rgba(30,90,168,0) 60%)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.06;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2"/></filter><rect width="160" height="160" filter="url(%23n)" opacity="0.55"/></svg>')}

/* layout */
.shell{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 28px}
.nav{display:flex;align-items:center;justify-content:space-between;padding:26px 0}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.02em;font-size:22px}
.brand img{width:44px;height:44px;border-radius:12px}
.kicker{color:var(--flame);font-weight:800;letter-spacing:.35em;font-size:13px;text-transform:uppercase}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;
  font-family:inherit;font-weight:800;font-size:17px;letter-spacing:-.01em;color:#fff;
  background:linear-gradient(100deg,var(--flame),#ff8a1f);border-radius:16px;padding:16px 30px;
  box-shadow:0 14px 40px rgba(255,92,0,.35);transition:transform .15s ease,box-shadow .15s ease;text-decoration:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(255,92,0,.45)}
.btn:active{transform:translateY(0)}
.btn.ghost{background:transparent;box-shadow:none;border:1px solid var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--flame)}
.btn.block{width:100%}
.btn:disabled{opacity:.55;cursor:wait;transform:none}

/* hero */
.hero{text-align:center;padding:70px 0 30px}
.hero .logo{width:min(560px,86vw);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.hero h1{font-size:clamp(44px,7vw,84px);font-weight:900;letter-spacing:-.045em;line-height:1.0;margin:44px 0 20px}
.hero h1 .fl{background:linear-gradient(100deg,var(--flame),var(--flame2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(18px,2.6vw,24px);color:var(--mut);max-width:640px;margin:0 auto 36px;line-height:1.6;font-weight:500}
.hero p.lead b{color:var(--ink)}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.disclaimer{margin-top:26px;font-size:14px;color:var(--dim)}

/* sections */
.section{padding:70px 0}
.section h2{font-size:clamp(32px,4.6vw,52px);font-weight:900;letter-spacing:-.035em;line-height:1.05;margin:16px 0 14px}
.section p.sub{color:var(--mut);font-size:19px;line-height:1.65;max-width:620px;font-weight:500}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
@media(max-width:760px){.grid3{grid-template-columns:1fr}}
.card3{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px}
.card3 .n{font-size:15px;font-weight:900;color:var(--flame);letter-spacing:.25em}
.card3 h3{font-size:23px;font-weight:800;margin:12px 0 10px;letter-spacing:-.02em}
.card3 p{color:var(--mut);font-size:16.5px;line-height:1.6;font-weight:500}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
@media(max-width:760px){.vs{grid-template-columns:1fr}}
.vs .bad,.vs .good{border-radius:var(--radius);padding:32px 28px;border:1px solid var(--line)}
.vs .bad{background:#120b08}
.vs .good{background:linear-gradient(160deg,#0a1a33,#0d2242)}
.vs h3{font-size:20px;font-weight:800;letter-spacing:.14em;margin-bottom:18px}
.vs .bad h3{color:#ff7a5c}.vs .good h3{color:var(--flame2)}
.vs ul{list-style:none;display:grid;gap:12px}
.vs li{font-size:17px;color:var(--mut);font-weight:500;line-height:1.5;padding-left:30px;position:relative}
.vs li::before{position:absolute;left:0;top:1px;font-weight:900}
.vs .bad li::before{content:"✕";color:#ff5c47}
.vs .good li::before{content:"✓";color:var(--ok)}
.vs .good li b{color:var(--ink)}

/* app shell */
.app-wrap{max-width:560px;margin:0 auto;padding:34px 22px 90px}
.app-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.app-head .brand{font-size:18px}
.linklike{background:none;border:0;color:var(--dim);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}
.linklike:hover{color:var(--flame)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.panel h2{font-size:30px;font-weight:900;letter-spacing:-.03em;margin-bottom:8px}
.panel p.hint{color:var(--mut);font-size:15.5px;margin-bottom:22px;line-height:1.55}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--dim);margin-bottom:8px;text-transform:uppercase}
.field input{width:100%;background:#070b14;border:1px solid var(--line);border-radius:14px;color:var(--ink);
  font-family:inherit;font-size:17px;font-weight:600;padding:15px 16px;outline:none;transition:border-color .15s}
.field input:focus{border-color:var(--flame)}
.form-err{display:none;background:rgba(255,60,40,.1);border:1px solid rgba(255,60,40,.4);color:#ff8a7a;
  border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:600;margin-bottom:16px}
.form-err.show{display:block}
.switch{text-align:center;margin-top:18px;color:var(--mut);font-size:15px}
.switch button{background:none;border:0;color:var(--flame);font-family:inherit;font-weight:800;font-size:15px;cursor:pointer}

/* dashboard */
.hello{font-size:19px;color:var(--mut);font-weight:500;margin-bottom:6px}
.hello b{color:var(--ink)}
.total{margin:14px 0 4px}
.total .l{font-size:12px;font-weight:800;letter-spacing:.28em;color:var(--dim)}
.total .v{font-size:76px;font-weight:900;letter-spacing:-.045em;font-variant-numeric:tabular-nums;line-height:1.05}
.total .v span{font-size:26px;color:var(--dim);font-weight:700}
.bencards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.bencard{border-radius:18px;padding:20px 18px;position:relative;overflow:hidden}
.bencard.snap{background:linear-gradient(135deg,#12305e,#1e5aa8)}
.bencard.cash{background:#141c31;border:1px solid var(--line)}
.bencard .t{font-size:12px;font-weight:800;letter-spacing:.22em;color:#bcd0ee}
.bencard .amt{font-size:44px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:2px}
.bencard .s{font-size:13.5px;color:#bcd0ee;opacity:.75;font-weight:600;margin-top:2px}
.track{margin-top:22px}
.track .l{font-size:12px;font-weight:800;letter-spacing:.28em;color:var(--dim);margin-bottom:12px}
.pbar{height:12px;border-radius:99px;background:#1a2338;overflow:hidden}
.pbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--flame));transition:width .6s ease}
.steps{margin-top:14px;display:grid;gap:10px}
.step{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:var(--mut)}
.step .dot{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:900;background:#1a2338;color:var(--dim)}
.step.done{color:var(--ink)}
.step.done .dot{background:var(--ok);color:#06281c}
.okmsg{display:none;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.4);color:#7fe7bd;
  border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:600;margin-bottom:16px}
.okmsg.show{display:block}

footer{border-top:1px solid var(--line);padding:34px 0 60px;color:var(--dim);font-size:14px;text-align:center;line-height:1.7}
