/* ── Cari — shared site styles ─────────────────────────────
   Tokens + chrome (nav / footer / buttons) + legal-page typography.
   Page-specific styles live in each page's own <style> block.        */

:root{
  --navy:#0A2444;
  --navy-2:#133360;
  --navy-d:#022046;
  --ink:#233B58;
  --cream:#FBFAF6;
  --sand:#EDE6DA;
  --mint:#EEF8F3;
  --mint-2:#DFF1E8;
  --grey:#7A879C;
  --line:#E6E1D6;
  --line-2:#D8E4DD;
  --green:#2E9E0E;
  --green-d:#267D0B;
  --volt:#5FF500;
  --bub:#E9FFD6;
  --round:'Varela Round',sans-serif;
  --sans:'Heebo',sans-serif;
  --shadow:0 1px 2px rgba(10,36,68,.05),0 14px 34px -14px rgba(10,36,68,.22);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;
  font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4,.r{font-family:var(--round);color:var(--navy);line-height:1.22;font-weight:400}
a{color:var(--green)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* ── buttons ─────────────────────────────── */
.b{
  font-family:var(--round);font-size:16.5px;padding:15px 32px;border-radius:999px;
  text-decoration:none;display:inline-block;border:1.5px solid transparent;
  transition:.28s cubic-bezier(.16,1,.3,1);cursor:pointer;
}
.b1{background:var(--green);color:#fff;box-shadow:0 10px 26px rgba(46,158,14,.24)}
.b1:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(46,158,14,.34);background:var(--green-d)}
.b2{background:#fff;color:var(--navy);border-color:var(--line)}
.b2:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(10,36,68,.1)}
.b3{background:var(--volt);color:var(--navy)}
.b3:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(95,245,0,.32)}
.b4{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.b4:hover{background:rgba(255,255,255,.09);transform:translateY(-3px)}
.row{display:flex;gap:12px;flex-wrap:wrap}

/* ── nav ─────────────────────────────────── */
header.site{position:sticky;top:0;z-index:120;background:rgba(251,250,246,.88);backdrop-filter:blur(14px)}
header.site .wrap{height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}
header.site img{height:32px;display:block}
header.site .links{display:flex;gap:26px;font-size:15px}
header.site .links a{color:var(--grey);text-decoration:none;transition:.2s}
header.site .links a:hover{color:var(--navy)}
.nav-cta{
  font-family:var(--round);background:var(--navy);color:#fff;padding:11px 26px;border-radius:999px;
  text-decoration:none;font-size:15.5px;white-space:nowrap;transition:.28s cubic-bezier(.16,1,.3,1);
}
.nav-cta:hover{transform:translateY(-2px);background:var(--navy-d);box-shadow:0 10px 26px rgba(10,36,68,.22)}
@media(max-width:900px){header.site .links{display:none}}

/* ── footer ──────────────────────────────── */
footer.site{border-top:1px solid var(--line);padding:34px 0;font-size:14.5px;color:var(--grey);margin-top:80px}
footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;align-items:center}
footer.site a{color:var(--grey);text-decoration:none}
footer.site a:hover{color:var(--navy)}
footer.site .fl{display:flex;gap:18px;flex-wrap:wrap}

/* ── legal pages (terms / privacy) ───────── */
.legal{max-width:760px;margin:0 auto;padding:56px 24px 40px}
.legal .back{display:inline-block;color:var(--grey);text-decoration:none;font-size:14.5px;margin-bottom:26px}
.legal .back:hover{color:var(--navy)}
.legal h1{font-size:clamp(30px,4.4vw,42px);margin-bottom:10px}
.legal .updated{color:var(--grey);font-size:14.5px;margin-bottom:14px}
.legal .intro{
  background:#fff;border:1px solid var(--line);border-right:4px solid var(--volt);
  border-radius:12px;padding:18px 22px;font-size:15.5px;color:var(--grey);margin-bottom:40px;
}
.legal .intro b{color:var(--navy)}
.legal h2{font-size:22px;margin:38px 0 12px;padding-top:22px;border-top:1px solid var(--line)}
.legal h2:first-of-type{border-top:0;padding-top:0}
.legal h3{font-size:18px;margin:22px 0 8px}
.legal p{margin-bottom:14px}
.legal ul,.legal ol{margin:0 22px 16px 0}
.legal li{margin-bottom:8px}
.legal b,.legal strong{color:var(--navy);font-weight:500}
.legal table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:15.5px}
.legal th,.legal td{border:1px solid var(--line);padding:10px 14px;text-align:right}
.legal th{background:var(--mint);font-family:var(--round);color:var(--navy);font-weight:400}
.legal .contact{background:var(--mint);border-radius:14px;padding:22px 24px;margin-top:34px}
.legal .contact h2{border-top:0;padding-top:0;margin-top:0}

/* ── shared helpers ──────────────────────── */
.rv{opacity:0;transform:translateY(24px);transition:.8s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
}
