/* Incru marketing site, neon-athletic theme, matched to the app redesign.
   Self-hosted Rajdhani (no third-party font requests). */

@font-face{ font-family:'Rajdhani'; font-style:normal; font-weight:500; font-display:swap; src:url('/fonts/rajdhani-500.woff2') format('woff2'); }
@font-face{ font-family:'Rajdhani'; font-style:normal; font-weight:600; font-display:swap; src:url('/fonts/rajdhani-600.woff2') format('woff2'); }
@font-face{ font-family:'Rajdhani'; font-style:normal; font-weight:700; font-display:swap; src:url('/fonts/rajdhani-700.woff2') format('woff2'); }

:root{
  --bg:#070a07; --bg2:#0c110c; --surface:#141a14; --surface2:#1e271e;
  --line:rgba(120,200,140,.12); --text:#ffffff; --muted:#eef4ee; --faint:#cdd5cd;
  --accent:#39FF6A; --accent-fg:#04120a; --accent-dim:rgba(57,255,106,.15);
  --radius:24px; --radius-sm:14px; --pill:999px; --tracking:.18em;
  --font-display:"Rajdhani","Avenir Next Condensed","Futura",system-ui,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;
  color-scheme:dark;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  min-height:100%; color:var(--text);
  font:17px/1.65 var(--font-body); -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(900px 520px at 18% -5%, rgba(57,255,106,.10), transparent 60%),
    radial-gradient(820px 620px at 100% 108%, rgba(57,255,106,.06), transparent 55%),
    var(--bg);
  background-attachment:fixed;
}
/* neon wave lines (matches the splash / sign-in background), drawn on the #waves canvas */
#waves{ position:fixed; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:.8; }
.wrap{ position:relative; z-index:1; }
a{ color:var(--accent); text-decoration:none; }
a:hover{ text-decoration:underline; }

/* nav */
.nav{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between;
  max-width:1040px; margin:0 auto; padding:22px 24px; }
.brand{ font-family:var(--font-display); font-weight:700; font-size:25px; letter-spacing:.28em;
  text-indent:.28em; text-transform:uppercase; color:var(--accent); text-shadow:0 0 22px var(--accent-dim); }
.nav-links{ display:flex; gap:24px; font-family:var(--font-display); font-weight:600; font-size:15px;
  letter-spacing:.1em; text-transform:uppercase; }
.nav-links a{ color:var(--muted); }
.nav-links a:hover{ color:var(--text); text-decoration:none; }

/* buttons */
.cta{ display:inline-flex; align-items:center; gap:10px;
  background:#2bb659; color:#04120a;
  font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:.06em; text-transform:uppercase;
  padding:15px 34px; border-radius:var(--pill); box-shadow:0 4px 14px rgba(0,0,0,.35);
  transition:transform .12s ease, background .12s ease; }
.cta:hover{ text-decoration:none; transform:translateY(-1px); background:#31c261; }
.cta:active{ transform:none; opacity:.94; }

/* hero */
.hero{ max-width:880px; margin:0 auto; padding:60px 24px 56px; text-align:center; }
.kicker{ font-family:var(--font-display); font-weight:600; font-size:14px; letter-spacing:var(--tracking);
  text-transform:uppercase; color:var(--accent); }
.hero h1{ font-family:var(--font-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(44px,9vw,84px); line-height:1; letter-spacing:.005em; margin:16px 0 0; }
.rule{ width:64px; height:4px; background:var(--accent); border-radius:2px;
  box-shadow:0 0 14px var(--accent); margin:24px auto; }
.lede{ font-size:clamp(17px,2.4vw,20px); color:var(--muted); max-width:560px; margin:0 auto 34px; line-height:1.6; }
.cta-note{ margin-top:14px; font-family:var(--font-display); font-weight:600; font-size:13px;
  letter-spacing:var(--tracking); text-transform:uppercase; color:var(--faint); }

/* sections */
.section{ max-width:1040px; margin:0 auto; padding:8px 24px; }
.sec-label{ font-family:var(--font-display); font-weight:700; font-size:14px; letter-spacing:var(--tracking);
  text-transform:uppercase; color:var(--faint); text-align:center; margin:40px 0 24px; }
/* core feature cards */
.feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; }
.feature .n{ font-family:var(--font-display); font-weight:700; font-size:14px; letter-spacing:.16em; color:var(--accent); }
.feature h3{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.01em;
  font-size:22px; line-height:1.12; margin:10px 0 10px; }
.feature p{ color:var(--muted); font-size:15.5px; line-height:1.6; }
@media (max-width:720px){ .feature-grid{ grid-template-columns:1fr; } }

/* pricing cards */
.price-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; }
.pcard{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; text-align:center; }
.pcard.max{ border-color:var(--accent); box-shadow:0 0 26px var(--accent-dim); }
.pcard .pname{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:24px; }
.pcard.max .pname{ color:var(--accent); }
.pcard .pprice{ font-family:var(--font-display); font-weight:700; font-size:36px; line-height:1; margin:12px 0 2px; }
.pcard .pprice small{ font-size:15px; color:var(--muted); font-weight:600; }
.pcard.max .pprice{ color:var(--accent); }
.pcard .pprice .was{ font-size:20px; font-weight:600; color:var(--faint); text-decoration:line-through; margin-right:8px; }
.pcard .palt{ font-size:14px; color:var(--muted); }
.pcard .pfree{ font-size:14px; color:var(--muted); margin-top:10px; line-height:1.5; }
.pcard .pbadge{ display:inline-block; margin-top:14px; font-family:var(--font-display); font-weight:700;
  font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-fg);
  background:var(--accent); padding:6px 13px; border-radius:var(--pill); }
.pcard .pnote{ font-size:13px; color:var(--muted); line-height:1.55; margin-top:14px; }
.pcard .pnote b{ color:var(--accent); font-weight:700; }

/* comparison table */
.compare-wrap{ overflow-x:auto; margin-top:8px; border:1px solid var(--line); border-radius:var(--radius); }
.compare{ width:100%; border-collapse:collapse; min-width:480px; background:var(--surface); }
.compare th, .compare td{ padding:13px 15px; text-align:center; border-bottom:1px solid var(--line); font-size:14.5px; color:var(--muted); }
.compare thead th{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:18px; color:var(--text); }
.compare th:first-child, .compare td:first-child{ text-align:left; font-weight:600; }
.compare tbody tr:last-child td{ border-bottom:none; }
.compare .max{ background:var(--accent-dim); }
.compare thead th.max{ color:var(--accent); }
.compare .yes{ color:var(--accent); font-weight:800; }
.compare td.max.yes{ color:var(--accent); }
.compare .no{ color:var(--faint); }
.compare .prices td{ font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--text); }
.compare .prices small{ display:block; font-size:11.5px; color:var(--muted); font-weight:600; letter-spacing:.01em; margin-top:2px; }
.compare .prices .u{ font-size:11.5px; color:var(--muted); font-weight:600; }
.compare .prices .was{ font-size:13px; color:var(--faint); text-decoration:line-through; font-weight:600; margin-right:7px; }
.fineprint{ font-size:12.5px; color:var(--faint); text-align:center; margin-top:18px; line-height:1.55; }

/* footer */
footer{ max-width:1040px; margin:60px auto 0; padding:26px 24px 60px; border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; justify-content:space-between;
  font-size:14px; color:var(--muted); }
footer nav{ display:flex; gap:22px; }
footer a{ color:var(--muted); }
footer a:hover{ color:var(--text); }

/* legal document pages */
.doc{ max-width:760px; margin:0 auto; padding:44px 24px 24px; }
.doc-kicker{ font-family:var(--font-display); font-weight:600; font-size:14px; letter-spacing:var(--tracking);
  text-transform:uppercase; color:var(--accent); }
.doc h1{ font-family:var(--font-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(34px,6vw,52px); letter-spacing:.01em; margin:12px 0 8px; }
.doc .updated{ font-size:13px; color:var(--faint); letter-spacing:.04em; }
.doc h2{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em;
  font-size:23px; color:var(--text); margin:38px 0 12px; padding-top:16px; border-top:1px solid var(--line); }
.doc h3{ font-family:var(--font-display); font-weight:600; font-size:17px; letter-spacing:.01em;
  color:var(--accent); margin:22px 0 8px; }
.doc p{ color:var(--muted); margin:0 0 14px; line-height:1.7; }
.doc ul{ margin:0 0 16px; padding-left:20px; }
.doc li{ color:var(--muted); margin-bottom:9px; line-height:1.65; }
.doc li b, .doc p b{ color:var(--text); font-weight:600; }
.doc .contact{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:18px 20px; margin-top:8px; }
.doc .contact p{ margin:0; color:var(--text); line-height:1.7; }
.doc .legal-uppercase{ text-transform:none; }

@media (max-width:560px){
  .nav{ padding:18px 20px; }
  .nav-links{ gap:16px; font-size:13px; }
  footer{ flex-direction:column; align-items:flex-start; }

  /* comparison table fits a phone with no horizontal scroll */
  .compare{ min-width:0; width:100%; table-layout:fixed; }
  .compare th, .compare td{ padding:8px 5px; font-size:11.5px; word-break:break-word; }
  .compare thead th{ font-size:13px; }
  .compare th:first-child, .compare td:first-child{ width:31%; font-size:11.5px; }
  .compare .prices td{ font-size:11.5px; }
  .compare .prices small{ font-size:9px; letter-spacing:0; }
  .compare .prices .u{ font-size:9px; }
  .compare .prices .was{ font-size:9.5px; margin-right:3px; }
}
