/* Gabbi — shared styles */
:root{
  --navy:#0e1c34;
  --navy-2:#16294a;
  --navy-line:rgba(255,255,255,.12);
  --ink:#12203a;
  --body:#3d4a63;
  --muted:#6b7890;
  --paper:#f6f8fc;
  --white:#ffffff;
  --wa:#25d366;
  --wa-dark:#1da851;
  --accent:#37b6ad;         /* calm aqua */
  --danger:#e05656;
  --radius:16px;
  --wrap:1080px;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --display: "Poppins", var(--font);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font);color:var(--body);
  background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:600;letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:600;letter-spacing:-.01em}
h3{font-size:1.15rem;font-weight:600}
p{margin:0 0 1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.eyebrow{font-family:var(--display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  font-size:.75rem;color:var(--accent);margin:0 0 .75rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:600;
  font-size:1.02rem;text-decoration:none;padding:.85rem 1.5rem;border-radius:999px;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;border:0;cursor:pointer}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn-wa{background:var(--wa);color:#062915;box-shadow:0 8px 22px rgba(37,211,102,.35)}
.btn-wa:hover{background:var(--wa-dark);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--white);border:1.5px solid var(--navy-line)}
.btn-ghost:hover{border-color:#fff;transform:translateY(-2px)}
.btn svg{width:20px;height:20px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(14,28,52,.9);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--navy-line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand img{height:30px;width:auto}
.brand .word{font-family:var(--display);font-weight:600;color:#fff;font-size:1.25rem;letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a{color:rgba(255,255,255,.82);text-decoration:none;font-size:.95rem;font-weight:500}
.nav a:hover{color:#fff}
.nav .btn{padding:.55rem 1.1rem;font-size:.9rem}
@media(max-width:720px){ .nav a:not(.btn){display:none} }

/* Hero */
.hero{background:
    radial-gradient(1100px 520px at 78% -8%, rgba(55,182,173,.22), transparent 60%),
    radial-gradient(760px 420px at 6% 110%, rgba(37,211,102,.12), transparent 55%),
    var(--navy);
  color:#fff;padding:clamp(3.5rem,9vw,6.5rem) 0 clamp(3rem,7vw,5.5rem);text-align:center}
.hero .logo-lockup{height:clamp(70px,13vw,104px);width:auto;margin:0 auto 2rem;
  border-radius:20px}
.hero h1{color:#fff;max-width:16ch;margin-inline:auto}
.hero .lede{color:rgba(255,255,255,.82);font-size:clamp(1.05rem,2.2vw,1.25rem);max-width:52ch;
  margin:1rem auto 2rem}
.hero .cta-row{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.hero .reassure{margin-top:1.6rem;color:rgba(255,255,255,.6);font-size:.9rem;
  display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.hero .reassure span{display:inline-flex;align-items:center;gap:.4rem}

/* Sections */
section{padding:clamp(3rem,7vw,5rem) 0}
.section-head{text-align:center;max-width:60ch;margin:0 auto 3rem}
.section-head p{color:var(--muted);font-size:1.05rem}
.paper{background:var(--paper)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.step{background:#fff;border:1px solid #e7ecf4;border-radius:var(--radius);padding:1.75rem;
  box-shadow:0 1px 2px rgba(18,32,58,.04)}
.step .num{font-family:var(--display);font-weight:600;color:var(--accent);font-size:.9rem;
  letter-spacing:.1em}
.step .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(55,182,173,.12);color:var(--accent);margin:.5rem 0 1rem}
.step .ic svg{width:24px;height:24px}
.step h3{margin-bottom:.35rem}
.step p{color:var(--muted);margin:0;font-size:.97rem}
.step code{background:#eef2f8;color:var(--ink);padding:.1em .4em;border-radius:6px;font-size:.92em}
@media(max-width:760px){ .steps{grid-template-columns:1fr} }

/* Feature list */
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem 2rem;max-width:820px;margin:0 auto}
.feature{display:flex;gap:.9rem;align-items:flex-start}
.feature .tick{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:rgba(55,182,173,.15);
  color:var(--accent);display:grid;place-items:center;margin-top:2px}
.feature .tick svg{width:15px;height:15px}
.feature h3{margin:0 0 .15rem;font-size:1.02rem}
.feature p{margin:0;color:var(--muted);font-size:.94rem}
@media(max-width:640px){ .features{grid-template-columns:1fr} }

/* Responder band */
.band{background:var(--navy);color:#fff;border-radius:24px;padding:clamp(2rem,5vw,3.25rem);
  text-align:center;max-width:var(--wrap)}
.band h2{color:#fff}
.band p{color:rgba(255,255,255,.8);max-width:56ch;margin-inline:auto}

/* Safety notice */
.safety{background:rgba(224,86,86,.08);border-top:1px solid rgba(224,86,86,.2);
  border-bottom:1px solid rgba(224,86,86,.2)}
.safety .wrap{display:flex;gap:1rem;align-items:center;justify-content:center;text-align:center;
  padding:1.5rem 1.25rem;flex-wrap:wrap}
.safety .dot{color:var(--danger);flex:0 0 auto}
.safety p{margin:0;color:var(--ink);font-size:.98rem}
.safety strong{color:var(--danger)}

/* Footer */
.site-footer{background:var(--navy);color:rgba(255,255,255,.7);padding:3rem 0 2.25rem}
.site-footer .top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  padding-bottom:2rem;border-bottom:1px solid var(--navy-line)}
.site-footer .brand img{height:34px}
.site-footer .tag{max-width:34ch;margin:.75rem 0 0;font-size:.95rem}
.site-footer .cols{display:flex;gap:3rem;flex-wrap:wrap}
.site-footer h4{color:#fff;font-family:var(--display);font-size:.9rem;letter-spacing:.06em;
  text-transform:uppercase;margin:0 0 .8rem}
.site-footer a{color:rgba(255,255,255,.72);text-decoration:none;display:block;margin-bottom:.5rem;font-size:.95rem}
.site-footer a:hover{color:#fff}
.site-footer .legal{padding-top:1.5rem;font-size:.85rem;color:rgba(255,255,255,.5);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* Legal/policy pages */
.legal-page{max-width:760px;margin:0 auto;padding:3rem 1.25rem 5rem}
.legal-page .back{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);
  text-decoration:none;font-weight:600;font-size:.95rem;margin-bottom:1.5rem}
.legal-page h1{font-size:2rem}
.legal-page h2{font-size:1.2rem;margin-top:2rem}
.legal-page .muted{color:var(--muted);font-size:.92rem}
.legal-page code{background:#eef2f8;padding:.1em .4em;border-radius:6px}
.legal-page .box{border-left:3px solid var(--danger);padding:.75rem 1rem;margin:1.5rem 0;
  background:rgba(224,86,86,.06);border-radius:0 8px 8px 0}
.legal-page ul{padding-left:1.2rem}
.legal-page li{margin-bottom:.4rem}
