
:root{
  --bg:#0a0f1f;
  --card:#111731;
  --muted:#9bb0d9;
  --text:#e7eeff;
  --accent:#61b3ff;
  --accent2:#46e3c3;
  --line: rgba(255,255,255,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#0a0f1f, #0b1430);color:var(--text)}
a{color:var(--accent);text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1100px,92%);margin:0 auto}

.header{position:sticky;top:0;z-index:10;background:rgba(12,17,36,.7);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px}
.logo{width:40px;height:40px;border-radius:12px;background:radial-gradient(circle at 30% 30%, #7bd3ff, #3f6fff);box-shadow:0 6px 24px rgba(97,179,255,.35)}
.brand h1{font-size:18px;margin:0;font-weight:800;letter-spacing:.2px}
.nav a{color:#dfe8ff;margin-left:14px}
.nav .btn{margin-left:16px}

.btn{appearance:none;border:0;border-radius:12px;padding:12px 16px;background:var(--accent);color:#032543;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(97,179,255,.35)}
.btn.secondary{background:#1a2447;color:#dbe6ff;border:1px solid var(--line)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#cfe2ff}

.hero{padding:48px 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 16px 60px rgba(0,0,0,.35)}
.kicker{color:var(--accent2);text-transform:uppercase;font-weight:800;letter-spacing:.14em;font-size:12px}
.big{font-size:36px;line-height:1.12;margin:.4rem 0 .7rem 0}
.sub{color:var(--muted);max-width:60ch}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}
.tile h3{margin:.2rem 0 .2rem 0}

.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}

.section{padding:26px 0}
.section .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.footer{margin-top:30px;border-top:1px solid var(--line);padding:20px 0;color:#a9b8dd}

@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
  .section .grid{grid-template-columns:1fr}
  .nav{display:none}
}
.badge{display:inline-flex;gap:8px;align-items:center;background:#0f1b3d;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:#a9bbe5;font-size:12px}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px}
/* Tool embedded page overrides */
.tool-frame{width:100%;min-height:1200px;border:0;border-radius:16px;box-shadow:0 16px 60px rgba(0,0,0,.35)}
.notice{background:#0f1c3f;border:1px dashed var(--line);padding:12px;border-radius:12px;color:#a9bae6}


/* --- Mobile enhancements --- */
@media (max-width: 640px){
  html, body { font-size: 18px; line-height: 1.35; }
  .header-inner { padding: 12px 0; }
  .brand h1 { font-size: 16px; }
  .btn { width: 100%; padding: 14px 18px; border-radius: 14px; font-size: 16px; }
  .cta-row { gap: 10px; }
  .card { padding: 16px; border-radius: 18px; }
  .big { font-size: 30px; }
  .features, .section .grid { grid-template-columns: 1fr; }
  .hero { padding: 32px 0; }
  .container { width: min(100%, 94%); padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
}
