/* ========= Tokens ========= */
:root{
  --bg:#f7f9fc; --ink:#0f172a; --muted:#6b7280;
  --card:#fff; --line:#e6eaf0;
  --brand:#2563eb; --brand-2:#7c3aed;
  --glow:0 24px 60px rgba(37,99,235,.16);
  --radius:18px;
  --shadow:0 8px 24px rgba(0,0,0,.05);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b1220; --ink:#e5e7eb; --muted:#9aa4b2;
    --card:#121a2b; --line:#1e2940;
    --brand:#4f8cff; --brand-2:#7c3aed;
    --glow:0 24px 60px rgba(79,140,255,.18);
    --shadow:0 8px 28px rgba(0,0,0,.45);
  }
}

/* ========= Base ========= */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg); color:var(--ink);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:24px}
::selection{background:color-mix(in oklab,var(--brand) 28%, transparent)}

/* Accessibility */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;z-index:1000;background:#111;color:#fff;padding:8px 12px;border-radius:10px}
:focus-visible{outline:3px solid color-mix(in oklab,var(--brand) 45%,white); outline-offset:3px; border-radius:10px}

/* ========= Hero ========= */
.hero{
  background:
    radial-gradient(1200px 420px at 50% -80px, color-mix(in oklab,var(--brand) 35%, transparent), transparent),
    radial-gradient(900px 320px at 12% -60px, rgba(168,85,247,.18), rgba(168,85,247,0)),
    radial-gradient(900px 320px at 88% -60px, rgba(34,197,94,.18), rgba(34,197,94,0));
  border-bottom:1px solid var(--line);
}
.hero__inner{text-align:center;padding:80px 24px 40px}
.brand{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:8px}
.brand-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--brand-2))}
.title{font-size:clamp(30px,4.6vw,52px);line-height:1.05;margin:0 0 12px}
.grad{-webkit-background-clip:text;background-clip:text;color:transparent;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.sub{color:var(--muted);font-size:clamp(16px,2.4vw,18px);margin:0}

/* ========= Cards ========= */
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:26px}
.card{
  position:relative;
  display:grid; grid-template-columns:56px 1fr; gap:16px; align-items:flex-start;
  background:linear-gradient(180deg, color-mix(in oklab, var(--card) 92%, transparent), var(--card));
  border:1px solid var(--line); border-radius:var(--radius); padding:18px;
  box-shadow:var(--shadow);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.card::after{
  content:""; position:absolute; inset:-1px; border-radius:calc(var(--radius) + 1px);
  pointer-events:none;
  background:linear-gradient(180deg, color-mix(in oklab,var(--brand) 10%, transparent), transparent);
  opacity:.0; transition:opacity .2s ease;
}
.card:hover{transform:translateY(-4px); box-shadow:var(--glow); border-color:color-mix(in oklab,var(--brand) 28%,var(--line))}
.card:hover::after{opacity:1}
.card h2{margin:0 0 6px;font-size:18px;line-height:1.2;letter-spacing:.2px}
.card p{margin:0;color:var(--muted)}
.badge{display:inline-flex;gap:6px;align-items:center;padding:3px 8px;border-radius:999px;background:color-mix(in oklab,var(--brand) 10%, transparent);color:var(--brand);font-size:12px;font-weight:700;margin-left:6px}
.muted{color:var(--muted);font-weight:600}

.card-icon{
  display:grid;place-items:center;width:56px;height:56px;border-radius:14px;
  background:#eef2ff;border:1px solid #dbe3ff;color:#0f172a; flex:0 0 auto;
}
.card-icon--gift{background:#fff1f2;border-color:#ffd4d8;color:#7f1d1d}
.card-icon--shield{background:#ecfeff;border-color:#c8f7fb;color:#064e3b}
.card-icon--pad{background:#f5f3ff;border-color:#e3ddff;color:#4c1d95}

.card-body{display:grid;gap:8px}
.card-actions{margin-top:6px}

/* Buttons */
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;padding:12px 16px;border-radius:12px;font-weight:700;line-height:1}
.btn:hover{background:color-mix(in oklab,var(--brand) 85%, black)}
.btn-secondary{background:#e5e7eb;color:#111}
.btn-card{padding:10px 14px;border-radius:10px;align-self:start}

/* ========= Footer ========= */
.footer{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:28px;padding-top:18px;color:var(--muted);
}
.footer a{color:inherit}.footer a:hover{text-decoration:underline}

/* ========= Cookie banner ========= */
.cc{position:fixed;inset:auto 0 0 0;background:#0f172a;color:#fff;padding:12px;z-index:40}
.cc-inner{display:flex;gap:10px;align-items:center;justify-content:space-between;max-width:1120px;margin:0 auto}
.cc .actions{display:flex;gap:8px;flex-wrap:wrap}
.link{color:#93c5fd}
@media (max-width:700px){.cc-inner{flex-direction:column;align-items:flex-start}}

/* Motion preferences */
@media (prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important}
}
