*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:#15223d;
  line-height:1.55;
  background:#f6f9ff;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block}
a{color:#1b3a7a}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;letter-spacing:-.01em}
h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}
.container{width:100%;max-width:1000px;margin:0 auto;padding:0 24px}
@media (max-width:720px){.container{padding:0 18px}}
@media (max-width:460px){.container{padding:0 14px}}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(27,58,122,.08);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  min-height:64px;gap:10px;
  padding-top:10px;padding-bottom:10px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#15223d}
.brand img{height:36px;width:auto}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.nav a.navlink{
  text-decoration:none;color:#3b4a6b;font-weight:600;font-size:.95rem;
  padding:6px 2px;border-bottom:2px solid transparent;
}
.nav a.navlink:hover{color:#1b3a7a}
.nav a.navlink.active{font-weight:800;border-bottom-color:currentColor;color:#1b3a7a}

/* Hero */
.hero{
  position:relative;
  padding:88px 0 56px;text-align:center;
  background:
    radial-gradient(1000px 500px at 50% -10%,rgba(177,206,255,.75),transparent 60%),
    linear-gradient(180deg,#eaf1ff 0%,#f6f9ff 100%);
}
.eyebrow{
  display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#1b3a7a;background:#dde8ff;
  padding:6px 12px;border-radius:999px;margin-bottom:18px;
}
.hero h1{max-width:820px;margin-left:auto;margin-right:auto;color:#1b3a7a}
.hero-logo{height:60px;width:auto;margin:18px auto 24px;display:block}
.hero p.lead{font-size:1.15rem;color:#3b4a6b;max-width:640px;margin:0 auto}

/* Sections */
section{padding:64px 0}
.section-head{text-align:center;max-width:720px;margin:0 auto 36px}
.section-head p{color:#3b4a6b;font-size:1.05rem}

/* Product card */
.product-card{
  max-width:640px;margin:0 auto;
  background:#fff;border-radius:22px;padding:36px;
  border:1px solid rgba(27,58,122,.08);
  box-shadow:0 12px 32px -16px rgba(27,58,122,.18);
  display:flex;gap:24px;align-items:center;text-decoration:none;color:inherit;
  transition:transform .15s ease,box-shadow .15s ease;
}
.product-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -16px rgba(27,58,122,.26)}
.product-card > img{width:92px;height:92px;border-radius:20px;flex-shrink:0;box-shadow:0 6px 16px rgba(27,58,122,.15)}
.product-card .product-body h3{margin:0 0 6px;font-size:1.4rem;color:#1b3a7a}
.product-card .product-body p{margin:0 0 8px;color:#3b4a6b}
.product-card .product-cta{color:#1b3a7a;font-weight:700;font-size:.9rem}
.product-badges{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap}
.product-badges a{display:inline-block;transition:transform .15s ease}
.product-badges a:hover{transform:translateY(-2px)}
.product-card + .product-card{margin-top:22px}
@media (max-width:520px){
  .product-card{flex-direction:column;text-align:center;padding:28px}
  .product-card img{width:80px;height:80px}
}

/* Support / FAQ */
.support{background:#eef3fd}
.faq{
  max-width:720px;margin:0 auto;
}
.faq details{
  background:#fff;border-radius:14px;padding:0;margin:0 0 12px;
  border:1px solid rgba(27,58,122,.08);
  box-shadow:0 2px 8px rgba(15,23,42,.04);
  overflow:hidden;
}
.faq summary{
  cursor:pointer;padding:18px 22px;font-weight:700;color:#1b3a7a;
  list-style:none;position:relative;padding-right:46px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-size:1.4rem;font-weight:400;color:#6b7a9c;transition:transform .15s ease;
}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq .answer{padding:0 22px 18px;color:#3b4a6b}
.faq .answer p{margin:0 0 10px}
.faq .answer p:last-child{margin:0}

.contact-block{
  max-width:640px;margin:32px auto 0;text-align:center;
  background:#fff;border-radius:18px;padding:28px;
  border:1px solid rgba(27,58,122,.08);
}
.contact-block h3{margin:0 0 8px;color:#1b3a7a}
.contact-block p{margin:0;color:#3b4a6b}
.contact-block a{font-weight:700}

/* Footer */
footer{
  background:#0e1a36;color:#b9c3de;padding:36px 0 28px;text-align:center;font-size:.9rem;
}
footer a{color:#dbe4ff;text-decoration:none;margin:0 10px}
footer a:hover{text-decoration:underline}
.foot-links{margin-bottom:10px}

/* Legal (privacy page) */
.legal{max-width:760px;margin:0 auto;padding:60px 20px 20px}
.legal h1{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:6px}
.legal .updated{color:#6b7a9c;font-size:.9rem;margin-bottom:32px}
.legal h2{font-size:1.15rem;margin:28px 0 6px;color:#1b3a7a}
.legal h3{font-size:1rem;margin:18px 0 4px;color:#15223d}
.legal p{color:#3b4a6b;margin:0 0 12px}
