:root{--primary:#275fdc;--primary-dark:#1749b8;--text:#0f172a;--muted:#64748b;--bg:#fff;--soft:#f6f8fc;--border:#e5eaf3;--green:#16a34a}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid #eef2f7}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-weight:800;font-size:22px}
.brand img{height:42px;width:auto}
.navlinks{display:flex;align-items:center;gap:24px}
.navlinks a,.mobile-menu a{color:#334155;text-decoration:none;font-weight:650}
.navlinks a:hover,.mobile-menu a:hover{color:var(--primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;padding:13px 20px;font-weight:750;text-decoration:none;transition:.2s}
.btn-primary{background:var(--primary);color:white;box-shadow:0 12px 30px rgba(39,95,220,.20)}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}
.btn-outline{border:1px solid var(--border);color:var(--text);background:white}
.btn-outline:hover{border-color:#b9c9ed;color:var(--primary)}
.hamb{display:none;border:1px solid var(--border);background:white;border-radius:14px;width:44px;height:44px}
.mobile-menu{display:none;border-top:1px solid var(--border);padding:14px 24px 20px}
.mobile-menu a{display:block;padding:12px 4px}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#eef5ff 0%,#fff 88%)}
.hero:before{content:"";position:absolute;right:-80px;top:80px;width:320px;height:320px;border-radius:999px;background:#bdd3ff;filter:blur(80px);opacity:.65}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:86px 0}
.eyebrow{color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:14px;margin-bottom:12px}
.h1{font-size:clamp(40px,5vw,66px);line-height:1.04;margin:0 0 24px;font-weight:900;letter-spacing:-.045em}
.h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12;margin:0 0 18px;font-weight:900;letter-spacing:-.035em}
.h3{font-size:22px;margin:0 0 12px;font-weight:850}
.lead{font-size:20px;line-height:1.7;color:var(--muted);max-width:760px}
.muted{color:var(--muted);line-height:1.7}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}
.chip{display:inline-flex;align-items:center;border:1px solid var(--border);background:white;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700;box-shadow:0 6px 22px rgba(15,23,42,.04)}
.card{background:white;border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:0 14px 40px rgba(15,23,42,.07)}
.hero-card img.main{border-radius:18px;width:100%;max-height:420px;object-fit:contain;background:#f8fafc}
.section{padding:82px 0}
.section-soft{background:var(--soft)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.feature-list{display:grid;gap:14px;margin-top:22px}
.check{display:flex;gap:12px;align-items:flex-start}
.check b{color:var(--primary)}
.kpi{font-size:34px;font-weight:900;color:var(--primary);line-height:1}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--primary);text-decoration:none}
.page-hero{background:linear-gradient(180deg,#eef5ff,#fff);padding:72px 0 58px}
.toc{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.toc a{border:1px solid var(--border);border-radius:999px;padding:9px 14px;text-decoration:none;color:#334155;background:white;font-weight:650}
.content h2{font-size:34px;margin:48px 0 16px;letter-spacing:-.02em}
.content h3{font-size:24px;margin:28px 0 10px}
.content p,.content li{color:#475569;line-height:1.8;font-size:17px}
.content a{color:var(--primary);font-weight:700}
.faq-item{border:1px solid var(--border);border-radius:22px;background:white;padding:22px;margin-bottom:14px}
.faq-item h2,.faq-item h3{font-size:21px;margin:0 0 10px}
.case-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.case-meta span{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:750}
.cta{background:linear-gradient(135deg,#0f172a,#275fdc);color:white;border-radius:34px;padding:42px}
.cta p{color:#dbeafe}
.footer{border-top:1px solid var(--border);padding:34px 0;color:var(--muted)}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.footer a{color:#334155;text-decoration:none}
.footer a:hover{color:var(--primary)}
input,textarea{box-sizing:border-box}
.form-control{width:100%;border:1px solid #dbe3ef;background:#f8fafc;border-radius:14px;padding:13px 14px;font-size:15px;outline:none}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(39,95,220,.15)}
label{display:block;font-weight:750;color:#334155;margin:0 0 8px;font-size:14px}
.hidden{display:none!important}
.cookie-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:950px;background:white;border:1px solid var(--border);box-shadow:0 24px 70px rgba(15,23,42,.18);border-radius:28px;padding:24px;z-index:9999}
.store-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.store-row img{height:52px;width:auto}
.link-card{text-decoration:none;color:inherit;display:block}
.link-card:hover{transform:translateY(-2px);transition:.2s}
.table{width:100%;border-collapse:collapse;background:white;border-radius:20px;overflow:hidden;border:1px solid var(--border)}
.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:15px;vertical-align:top}
.table th{background:#f8fafc}
@media(max-width:900px){.hero-grid,.grid-2,.grid-3{grid-template-columns:1fr}
.navlinks,.nav .desktop-cta{display:none}
.hamb{display:inline-flex;align-items:center;justify-content:center}
.mobile-menu.open{display:block}
.hero-grid{padding:58px 0}
.section{padding:58px 0}
.cta{padding:28px}
.footer-grid{align-items:flex-start}
.table{display:block;overflow-x:auto}}

/* ── Button color consistency ─────────────────────────────────
   Ensure .btn-primary always shows white text on blue background,
   regardless of parent context (.content a, .mobile-menu a, etc.).
   The CTA variant (white bg on dark gradient) uses an explicit class. */

/* Default: white text on blue – everywhere */
.btn-primary,
a.btn-primary,
a.btn-primary:visited,
a.btn-primary:hover,
a.btn-primary:active,
button.btn-primary,
.content a.btn-primary,
.content a.btn-primary:visited,
.content a.btn-primary:hover,
.mobile-menu a.btn-primary,
.mobile-menu a.btn-primary:visited,
.mobile-menu a.btn-primary:hover {
  color: #ffffff !important;
}

/* Mobile menu: button styling */
.mobile-menu a.btn-primary {
  padding: 13px 20px;
  margin-top: 8px;
  text-align: center;
  display: block;
}

/* CTA inverted variant: blue text on white background (on dark gradient) */
.btn-primary.btn-cta-invert,
a.btn-primary.btn-cta-invert,
a.btn-primary.btn-cta-invert:visited,
a.btn-primary.btn-cta-invert:hover {
  background: #ffffff !important;
  color: var(--primary) !important;
}
a.btn-primary.btn-cta-invert:hover {
  background: #f0f4ff !important;
}
