
:root {
  --ds-blue: #1d4ed8;
  --ds-blue-dark: #1e3a8a;
  --ds-red: #dc2626;
  --ds-slate: #0f172a;
  --ds-slate-soft: #475569;
  --ds-border: #dbeafe;
  --ds-surface: #f8fafc;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "Satoshi", ui-sans-serif, system-ui, sans-serif; color: var(--ds-slate); background: #fff; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
main { display: block; }
.ds-shell { min-height: 100vh; }
.ds-container { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.ds-nav { position: sticky; top: 0; z-index: 50; background: rgba(30,64,175,0.95); backdrop-filter: blur(12px); box-shadow: 0 4px 20px rgba(15,23,42,0.12); }
.ds-nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.25rem; }
.ds-brand { display: flex; align-items: center; gap: 0.85rem; }
.ds-brand img { width: 3rem; height: 3rem; border-radius: 9999px; object-fit: contain; background: #fff; box-shadow: 0 10px 30px rgba(15,23,42,0.2); }
.ds-brand-copy strong, .ds-section h1, .ds-section h2, .ds-card h3, .ds-footer h3, .ds-footer h4 { font-family: "General Sans", "Satoshi", ui-sans-serif, system-ui, sans-serif; }
.ds-brand-copy strong { display: block; color: #fff; letter-spacing: 0.08em; }
.ds-brand-copy span { display: block; color: #dbeafe; font-size: 0.78rem; }
.ds-nav-links { display: flex; flex-wrap: wrap; gap: 1rem; color: #fff; font-weight: 600; }
.ds-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(30,58,138,0.98), rgba(37,99,235,0.92), rgba(220,38,38,0.86)); color: #fff; }
.ds-hero::before, .ds-hero::after { content: ""; position: absolute; border-radius: 9999px; filter: blur(60px); opacity: 0.28; }
.ds-hero::before { width: 18rem; height: 18rem; right: -4rem; top: 3rem; background: #fff; }
.ds-hero::after { width: 14rem; height: 14rem; left: -3rem; bottom: 2rem; background: #fca5a5; }
.ds-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 2rem; align-items: center; padding: 5rem 0; }
.ds-pill { display: inline-flex; padding: 0.6rem 1rem; border-radius: 9999px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.18); color: #dbeafe; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; }
.ds-hero h1 { margin: 1rem 0; font-size: clamp(2.25rem, 5vw, 4.5rem); line-height: 1.05; }
.ds-hero p { color: #eff6ff; font-size: 1.05rem; line-height: 1.9; }
.ds-hero-card { border-radius: 2rem; padding: 1.25rem; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.16); box-shadow: 0 24px 64px rgba(15,23,42,0.18); }
.ds-hero-card img { border-radius: 1.5rem; aspect-ratio: 4 / 5; object-fit: cover; }
.ds-section { padding: 4.5rem 0; }
.ds-section-muted { background: var(--ds-surface); }
.ds-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.ds-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.ds-card { height: 100%; padding: 1.6rem; border-radius: 1.6rem; border: 1px solid var(--ds-border); background: #fff; box-shadow: 0 18px 44px rgba(15,23,42,0.06); }
.ds-card p, .ds-section p, .ds-list li, .ds-faq p { color: var(--ds-slate-soft); line-height: 1.85; }
.ds-card h3, .ds-section h2 { margin-top: 0; }
.ds-kicker { margin-bottom: 0.75rem; color: var(--ds-red); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; }
.ds-list { padding-left: 1.1rem; margin: 0; }
.ds-list li { margin-bottom: 0.7rem; }
.ds-cta-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.ds-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0.9rem 1.35rem; border-radius: 0.95rem; font-weight: 700; transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease; }
.ds-button:hover { transform: translateY(-2px); }
.ds-button-primary { background: linear-gradient(90deg, var(--ds-blue), var(--ds-red)); color: #fff; box-shadow: 0 18px 36px rgba(29,78,216,0.2); }
.ds-button-secondary { background: #fff; color: var(--ds-blue); border: 1px solid #bfdbfe; }
.ds-mini-links { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.ds-mini-links a { padding: 0.7rem 1rem; border-radius: 9999px; border: 1px solid #cbd5e1; background: #fff; color: var(--ds-slate); font-size: 0.92rem; font-weight: 700; }
.ds-faq { display: grid; gap: 1rem; }
.ds-footer { background: #0f172a; color: #fff; padding: 3rem 0; }
.ds-footer p, .ds-footer a { color: #cbd5e1; }
.ds-footer-grid { display: grid; grid-template-columns: 1.2fr 0.8fr 0.8fr; gap: 1.5rem; }
@media (max-width: 960px) {
  .ds-hero-grid, .ds-grid-2, .ds-grid-3, .ds-footer-grid { grid-template-columns: 1fr; }
  .ds-nav-inner { padding: 0.75rem 0; }
  .ds-nav-links { font-size: 0.92rem; }
}
@media (max-width: 640px) {
  .ds-container { width: min(100% - 1.25rem, 1120px); }
  .ds-hero-grid { padding: 4.2rem 0; }
}
