/* Shared styling for the standalone legal pages (privacy / terms / accessibility).
   Tokens mirror the landing page so the pages read as the same site. */
:root{
  --lime:#C3DB1B;
  --lime-deep:#A9C20E;
  --lime-soft:#EAF3B6;
  --egg:#46283F;
  --egg-deep:#361E31;
  --egg-soft:#6E4F66;
  --cream:#FBF9F1;
  --cream-2:#F4F0E4;
  --white:#FFFFFF;
  --ink:#2C1A28;
  --muted:#8B7C86;
  --line:#ECE6DB;
  --shadow-sm:0 2px 8px rgba(70,40,63,.06);
  --shadow:0 18px 40px -18px rgba(70,40,63,.30);
  --r:22px;
  --maxw:1180px;
  --readw:74ch;
  --font-d:"Fredoka",system-ui,sans-serif;
  --font-b:"Nunito",system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
body{
  font-family:var(--font-b);font-weight:600;color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  line-height:1.62;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{font-family:var(--font-d);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.eyebrow{
  font-family:var(--font-d);font-weight:600;font-size:.82rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lime-deep);
}
:focus-visible{outline:3px solid var(--egg);outline-offset:3px;border-radius:6px;}

/* Keyboard users land here first — the docs are long, the nav is repeated. */
.skip{
  position:absolute;inset-inline-start:16px;top:-100px;z-index:100;
  background:var(--egg);color:#fff;padding:12px 20px;border-radius:100px;
  font-family:var(--font-d);font-weight:600;
}
/* Parked above the viewport rather than at a large inline offset: an
   off-canvas inline offset resolves to the right in RTL and drags the whole
   document sideways on narrow screens. */
.skip:focus{top:12px;}

/* ---------- nav ---------- */
header.nav{
  position:sticky;top:0;z-index:60;
  background:rgba(251,249,241,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand .mark{
  width:38px;height:38px;border-radius:11px;background:var(--lime);
  box-shadow:var(--shadow-sm);object-fit:cover;
}
.brand .word{font-family:var(--font-d);font-weight:700;font-size:1.5rem;color:var(--egg);letter-spacing:-.02em;}
.nav-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap;justify-content:flex-end;}
.nav-links a{font-weight:700;font-size:.95rem;color:var(--egg-soft);transition:color .15s;white-space:nowrap;}
.nav-links a:hover{color:var(--egg);}
.nav-links a[aria-current="page"]{color:var(--egg);border-bottom:2px solid var(--lime);}

/* ---------- document head ---------- */
.doc-head,.doc-body{max-width:940px;}
.doc-head{padding:64px 0 40px;}
.doc-head h1{font-size:clamp(2.1rem,5vw,3.1rem);color:var(--egg);margin:14px 0 0;}
.doc-head .lede{margin-top:18px;color:var(--egg-soft);font-size:1.06rem;}
.doc-head .consent{margin-top:14px;font-weight:700;color:var(--egg);}
.doc-head .stamp{
  display:inline-block;margin-top:22px;padding:7px 16px;border-radius:100px;
  background:var(--lime-soft);color:var(--egg);font-size:.85rem;font-weight:700;
}

/* ---------- table of contents ---------- */
.toc{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:24px 28px;margin-bottom:48px;box-shadow:var(--shadow-sm);
}
.toc h2{font-size:1rem;color:var(--egg);margin-bottom:14px;}
.toc ol{list-style:none;counter-reset:toc;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 28px;}
.toc li{counter-increment:toc;}
.toc a{
  display:block;padding:5px 0;font-size:.93rem;color:var(--egg-soft);
  transition:color .15s;
}
.toc a::before{content:counter(toc) ". ";color:var(--lime-deep);font-weight:800;}
.toc a:hover{color:var(--egg);}

/* ---------- prose ---------- */
.doc-body{padding-bottom:88px;}
.prose{max-width:100%;}
.prose section{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:30px 32px;margin-bottom:20px;box-shadow:var(--shadow-sm);
  scroll-margin-top:96px;
}
.prose h2{
  font-size:1.35rem;color:var(--egg);margin-bottom:16px;
  padding-bottom:14px;border-bottom:1px solid var(--line);
}
.prose h3{font-size:1.02rem;color:var(--egg);margin:22px 0 8px;}
.prose h3:first-of-type{margin-top:0;}
.prose p{margin:0 0 12px;font-weight:600;color:var(--ink);}
.prose p:last-child{margin-bottom:0;}
.prose ul{list-style:none;margin:0 0 12px;}
.prose ul li{position:relative;padding-inline-start:22px;margin-bottom:8px;}
.prose ul li::before{
  content:"";position:absolute;inset-inline-start:0;top:.62em;
  width:8px;height:8px;border-radius:3px;background:var(--lime);
}
.prose ol{margin:0 0 12px;padding-inline-start:22px;}
.prose ol li{margin-bottom:8px;}
.prose a:not(.btn){color:var(--egg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--lime-deep);}
.prose a:not(.btn):hover{color:var(--lime-deep);}
.prose .note{
  background:var(--cream-2);border-inline-start:4px solid var(--lime);
  border-radius:12px;padding:14px 18px;margin:0 0 12px;
}
.prose dl{margin:0;}
.prose dt{font-family:var(--font-d);font-weight:600;color:var(--egg);margin-top:12px;}
.prose dt:first-child{margin-top:0;}
.prose dd{margin:0 0 4px;}

/* ---------- footer ---------- */
footer{background:var(--egg-deep);color:rgba(255,255,255,.7);padding:64px 0 34px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;margin-bottom:46px;}
footer .brand .word{color:#fff;}
footer .fcol h5{font-family:var(--font-d);font-weight:600;color:#fff;font-size:1rem;margin:0 0 14px;}
footer .fcol a{display:block;margin-bottom:9px;font-weight:600;font-size:.92rem;transition:color .15s;}
footer .fcol a:hover{color:var(--lime);}
footer .blurb{font-weight:600;font-size:.95rem;max-width:24em;margin-top:16px;}
.foot-bot{
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(255,255,255,.1);padding-top:24px;
  flex-wrap:wrap;gap:14px;font-size:.85rem;font-weight:600;
}

@media (max-width:860px){
  .foot-top{grid-template-columns:1fr 1fr;}
  .nav-links{gap:16px;}
  .nav-links .hide-sm{display:none;}
  .doc-head{padding:44px 0 30px;}
  .prose section{padding:24px 20px;}
  .toc{padding:20px;}
}
@media (max-width:520px){
  .foot-top{grid-template-columns:1fr;}
  .wrap{padding:0 18px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
}
