:root{
  --bg:#0b1220;
  --panel:#0f1a33;
  --text:#0c1220;
  --muted:#5b677a;
  --line:#e6e9f2;
  --card:#ffffff;
  --brand:#2f6bff;
  --brand2:#10b981;
  --shadow: 0 12px 32px rgba(10,18,32,.12);
  --radius: 18px;
  --max: 1120px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family:var(--font); color:var(--text); background:#f6f7fb; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; }

.container{ max-width:var(--max); margin:0 auto; padding:0 20px; }
.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{ left:20px; top:20px; width:auto; height:auto; background:#fff; padding:10px 12px; border-radius:10px; box-shadow:var(--shadow); }

.site-header{
  position:sticky; top:0; z-index:10;
  background: rgba(246,247,251,.85);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; }

.brand{ display:flex; align-items:center; gap:10px; }
.brand strong{ display:block; font-size:14px; letter-spacing:.2px; }
.brand small{ display:block; font-size:12px; color:var(--muted); margin-top:2px; }

.nav{ display:flex; align-items:center; gap:14px; }
.nav a{ font-size:14px; color:#1a2336; padding:8px 10px; border-radius:12px; }

.nav a[aria-current="page"]{ background:#eef2ff; color:#22306a; }

.nav a[aria-current="page"]:not(.btn){
  background:#eef2ff;
  color:#22306a;
}
/* Keep button styling even when it's the current page */
.nav a.btn[aria-current="page"]{
  background:var(--brand);
  color:#fff !important;
  box-shadow: 0 8px 18px rgba(47,107,255,.22);
}
.btn{
  background:var(--brand); color:#fff !important;
  padding:10px 14px; border-radius:14px;
  box-shadow: 0 8px 18px rgba(47,107,255,.22);
  text-decoration:none !important;
}
.btn:hover{ filter:brightness(1.03); }
.btn-small{ padding:8px 12px; border-radius:12px; }

.hero{
  background: radial-gradient(1200px 420px at 20% 0%, #dfe9ff, transparent),
              radial-gradient(900px 380px at 85% 10%, #d8fff0, transparent),
              linear-gradient(#ffffff, #f6f7fb);
  border-bottom:1px solid var(--line);
}
.hero-inner{ display:grid; grid-template-columns: 1.25fr .75fr; gap:24px; padding:46px 0; align-items:start; }
.h1{ font-size:40px; line-height:1.1; margin:0 0 12px; letter-spacing:-.4px; }
.lead{ font-size:16px; color:#2d3a52; max-width:64ch; line-height:1.6; margin:0 0 18px; }
.kicker{ display:inline-flex; align-items:center; gap:10px; font-size:13px; color:#22306a; background:#eef2ff; padding:8px 12px; border-radius:999px; }

.panel{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}

.trust{ display:grid; gap:10px; }
.trust-item{ display:flex; gap:10px; }
.badge{
  width:28px; height:28px; border-radius:10px;
  background: #eafff5; border:1px solid #c9f5e3;
  display:flex; align-items:center; justify-content:center;
  color:#0b7a52; font-weight:700;
}
.muted{ color:var(--muted); }
.hr{ height:1px; background:var(--line); margin:14px 0; border:0; }

.section{ padding:34px 0; }
.section h2{ margin:0 0 14px; font-size:22px; letter-spacing:-.2px; }
.grid3{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}
.card h3{ margin:0 0 8px; font-size:16px; }
.card p{ margin:0 0 12px; color:#2d3a52; line-height:1.55; }
.pill{
  display:inline-flex; font-size:12px; color:#0b7a52;
  background:#eafff5; border:1px solid #c9f5e3;
  padding:6px 10px; border-radius:999px;
}

.page{ padding:28px 0; }
.page h1{ margin:0 0 12px; font-size:28px; letter-spacing:-.2px; }
.prose{ max-width:74ch; line-height:1.75; color:#21304a; }
.prose p{ margin:0 0 12px; }
.prose ul{ margin:10px 0 14px 18px; }

.form-row{ display:grid; gap:8px; margin-bottom:12px; }
label{ font-size:13px; color:#2b3650; }
input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  font: inherit;
}
textarea{ min-height:130px; resize:vertical; }
.notice{
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  padding:12px;
}
.notice.ok{ border-color:#c9f5e3; background:#f2fffa; }
.notice.err{ border-color:#ffd0d0; background:#fff5f5; }

.site-footer{
  margin-top:30px;
  background:#0b1220;
  color:#eef3ff;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr 1.2fr;
  gap:20px;
  padding:34px 0;
}
.footer-title{ font-weight:700; margin-bottom:10px; font-size:13px; }
.footer-links{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.footer-links a{ color:#e8eeff; text-decoration:none; opacity:.9; }
.footer-links a:hover{ text-decoration:underline; opacity:1; }
.footer-brand{ font-weight:800; letter-spacing:.2px; margin-bottom:8px; }
.address{ font-style:normal; opacity:.9; line-height:1.55; }
.footer-bottom{ border-top:1px solid rgba(230,233,242,.15); padding:14px 0; }
.footer-bottom .muted{ color: rgba(238,243,255,.72); }

@media (max-width: 900px){
  .hero-inner{ grid-template-columns:1fr; }
  .grid3{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .nav{ gap:6px; flex-wrap:wrap; justify-content:flex-end; }
}
