/* ===================================================================
   ESSEX EDUCARE — "Modern Collegiate" Design System
   Shared tokens + component kit. Used by the board and every page.
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap');

:root{
  /* ---- Brand colour ---- */
  --navy:#0F3A57;          /* primary — sampled from logo shield */
  --navy-deep:#0B2C44;     /* darker navy for footers / depth */
  --navy-tint:#E7EDF2;     /* pale navy wash */
  --burgundy:#8B2935;      /* secondary — the "care" notes */
  --burgundy-tint:#F2E4E4;
  --cream:#FAF8F4;         /* base background — warmer than white */
  --warmgrey:#F1ECE4;      /* alternating sections */
  --gold:#E0A53D;          /* CTA accent ONLY */
  --gold-deep:#C5882A;     /* gold hover / pressed */
  --gold-tint:#FBF1DD;
  --ink:#2A2A2E;           /* neutral body text */
  --muted:#6B6B72;         /* muted text */
  --line:#E4DDD1;          /* warm hairline borders */
  --line-strong:#D6CCBC;
  --white:#FFFFFF;

  /* ---- Type ---- */
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'General Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  /* ---- Radii / shadow ---- */
  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(15,58,87,.05), 0 2px 6px rgba(15,58,87,.04);
  --sh-2:0 4px 14px rgba(15,58,87,.08), 0 2px 6px rgba(15,58,87,.05);
  --sh-3:0 18px 44px rgba(11,44,68,.14), 0 6px 16px rgba(11,44,68,.08);
  --sh-gold:0 8px 22px rgba(197,136,42,.30);

  /* ---- Spacing rhythm ---- */
  --container:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.65;
  font-weight:400; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{display:block; max-width:100%;}
a{color:inherit;}

/* ---- Headings ---- */
h1,h2,h3,h4{font-family:var(--serif); color:var(--navy); margin:0; line-height:1.08; font-weight:600; letter-spacing:-.01em; text-wrap:balance;}
h1{font-size:clamp(2.6rem,5vw,4.1rem); font-weight:600;}
h2{font-size:clamp(2rem,3.4vw,3rem);}
h3{font-size:1.5rem;}
h4{font-size:1.18rem;}
p{margin:0 0 1em; text-wrap:pretty;}
.lead{font-size:1.22rem; line-height:1.6; color:#3c4650;}

/* ---- Layout helpers ---- */
.container{max-width:var(--container); margin:0 auto; padding:0 28px;}
.eyebrow{
  font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--burgundy); margin:0 0 .9rem; display:inline-flex; align-items:center; gap:.55rem;
}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--burgundy); display:inline-block;}
.eyebrow.gold{color:var(--gold-deep);}
.eyebrow.gold::before{background:var(--gold);}

/* ===================================================================
   BUTTONS
   =================================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--sans); font-weight:600; font-size:1rem; line-height:1;
  padding:1rem 1.6rem; border-radius:var(--r-pill); border:1.5px solid transparent;
  cursor:pointer; text-decoration:none; transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s, color .2s, border-color .2s;
  min-height:52px; white-space:nowrap;
}
.btn svg{width:18px; height:18px; flex:none;}
.btn-primary{background:var(--gold); color:#3a2a06; box-shadow:var(--sh-gold);}
.btn-primary:hover{background:var(--gold-deep); color:#2a1e04; transform:translateY(-2px); box-shadow:0 12px 28px rgba(197,136,42,.36);}
.btn-secondary{background:transparent; color:var(--navy); border-color:var(--navy);}
.btn-secondary:hover{background:var(--navy); color:#fff; transform:translateY(-2px);}
.btn-wa{background:#1FA855; color:#fff;}
.btn-wa:hover{background:#178c46; transform:translateY(-2px);}
.btn-ghost{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.4);}
.btn-ghost:hover{background:rgba(255,255,255,.22);}
.btn-sm{padding:.7rem 1.1rem; min-height:42px; font-size:.92rem;}
.btn-lg{padding:1.15rem 2rem; min-height:60px; font-size:1.08rem;}
.tlink{
  font-weight:600; color:var(--navy); text-decoration:none; display:inline-flex; align-items:center; gap:.4rem;
  border-bottom:2px solid var(--gold); padding-bottom:2px; transition:gap .2s var(--ease), color .2s;
}
.tlink:hover{gap:.7rem; color:var(--burgundy);}

:focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:4px;}

/* ===================================================================
   CARDS
   =================================================================== */
.card{background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1);}

/* Pathway card */
.pathway{
  display:flex; flex-direction:column; padding:1.9rem; background:var(--white);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1);
  transition:transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s; text-decoration:none; color:inherit; height:100%;
}
.pathway:hover{transform:translateY(-6px); box-shadow:var(--sh-3); border-color:var(--line-strong);}
.pathway .ic{
  width:54px; height:54px; border-radius:14px; display:grid; place-items:center;
  background:var(--navy-tint); color:var(--navy); margin-bottom:1.1rem;
}
.pathway .ic svg{width:26px; height:26px;}
.pathway h3{margin-bottom:.5rem;}
.pathway p{color:var(--muted); font-size:.98rem; margin-bottom:1.2rem;}
.pathway .go{margin-top:auto; font-weight:600; color:var(--burgundy); display:inline-flex; align-items:center; gap:.45rem; font-size:.96rem;}
.pathway:hover .go{gap:.7rem;}

/* Partner card */
.partner{display:flex; flex-direction:column; gap:.9rem; padding:1.4rem; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); transition:transform .25s var(--ease), box-shadow .25s; height:100%; text-decoration:none; color:inherit;}
.partner:hover{transform:translateY(-4px); box-shadow:var(--sh-2);}
.partner .plogo{height:64px; border-radius:8px; background:var(--warmgrey); display:grid; place-items:center; color:var(--muted); font-size:.72rem; letter-spacing:.08em;}
.partner h4{font-family:var(--serif); font-size:1.15rem;}
.partner p{font-size:.92rem; color:var(--muted); margin:0;}
.partner .plink{margin-top:auto; font-weight:600; color:var(--navy); font-size:.9rem; display:inline-flex; gap:.35rem; align-items:center;}

/* Testimonial */
.tcard{display:flex; flex-direction:column; gap:1.2rem; padding:1.9rem; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1); height:100%;}
.tcard .quote{font-family:var(--serif); font-size:1.22rem; line-height:1.5; color:var(--navy); font-style:italic;}
.tcard .who{display:flex; align-items:center; gap:.85rem; margin-top:auto;}
.tcard .avatar{width:52px; height:52px; border-radius:50%; object-fit:cover; flex:none; background:var(--warmgrey);}
.tcard .who b{display:block; font-family:var(--sans); color:var(--ink); font-size:.98rem;}
.tcard .who span{font-size:.86rem; color:var(--muted);}
.stars{display:flex; gap:2px; color:var(--gold);}
.stars svg{width:18px; height:18px;}

/* Stat block */
.stat{padding:.5rem 0;}
.stat .n{font-family:var(--serif); font-size:clamp(2.6rem,4vw,3.4rem); font-weight:600; color:var(--navy); line-height:1; letter-spacing:-.02em;}
.stat .n .accent{color:var(--burgundy);}
.stat .l{font-size:.95rem; color:var(--muted); margin-top:.5rem; font-weight:500;}

/* ===================================================================
   FORM
   =================================================================== */
.field{display:flex; flex-direction:column; gap:.45rem; margin-bottom:1.1rem;}
.field label{font-weight:600; font-size:.92rem; color:var(--navy);}
.field .hint{font-size:.82rem; color:var(--muted);}
.input{
  font-family:var(--sans); font-size:1rem; color:var(--ink); background:var(--white);
  border:1.5px solid var(--line-strong); border-radius:var(--r-sm); padding:.85rem 1rem; min-height:52px; width:100%;
  transition:border-color .18s, box-shadow .18s;
}
.input::placeholder{color:#9a958c;}
.input:focus{outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(15,58,87,.13);}

/* Choice chips (eligibility answers) */
.choices{display:grid; gap:.7rem;}
.choice{
  display:flex; align-items:center; gap:.85rem; padding:1.05rem 1.2rem; border-radius:var(--r-md);
  border:1.5px solid var(--line-strong); background:var(--white); cursor:pointer; font-weight:500; font-size:1.02rem;
  transition:border-color .18s, background .18s, transform .12s; text-align:left;
}
.choice:hover{border-color:var(--navy); transform:translateY(-1px);}
.choice.sel{border-color:var(--navy); background:var(--navy-tint);}
.choice .tick{width:24px; height:24px; border-radius:50%; border:2px solid var(--line-strong); flex:none; display:grid; place-items:center; color:#fff;}
.choice.sel .tick{background:var(--navy); border-color:var(--navy);}
.choice .tick svg{width:13px; height:13px; opacity:0;}
.choice.sel .tick svg{opacity:1;}

/* ===================================================================
   FAQ ACCORDION
   =================================================================== */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  list-style:none; cursor:pointer; padding:1.35rem .25rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  font-family:var(--serif); font-size:1.2rem; font-weight:600; color:var(--navy);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{flex:none; width:30px; height:30px; border-radius:50%; border:1.5px solid var(--line-strong); display:grid; place-items:center; color:var(--burgundy); transition:transform .25s var(--ease), background .25s, color .25s;}
.faq details[open] summary .pm{background:var(--burgundy); color:#fff; border-color:var(--burgundy); transform:rotate(45deg);}
.faq .ans{padding:0 .25rem 1.4rem; color:var(--muted); max-width:62ch;}
.faq .ans p{margin:0;}

/* ===================================================================
   TRUST / BADGES
   =================================================================== */
.trustrow{display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem 2.4rem;}
.trust-pill{display:inline-flex; align-items:center; gap:.6rem; font-weight:600; font-size:.95rem; color:var(--navy);}
.trust-pill svg{width:20px; height:20px; color:var(--burgundy); flex:none;}

/* badges row of logos */
.logos{display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem;}
.logos .lg{height:54px; min-width:130px; padding:0 1.1rem; border-radius:10px; background:var(--white); border:1px solid var(--line); display:grid; place-items:center; color:var(--muted); font-size:.8rem; letter-spacing:.04em; font-weight:600;}

/* ---- honest funding note ---- */
.note{display:flex; gap:.8rem; padding:1rem 1.2rem; background:var(--gold-tint); border:1px solid #EAD7AC; border-radius:var(--r-md); font-size:.92rem; color:#6a531d;}
.note svg{width:20px; height:20px; flex:none; color:var(--gold-deep); margin-top:1px;}

/* ---- placeholder image ---- */
.ph{
  position:relative; background:repeating-linear-gradient(135deg,#ECE5D9,#ECE5D9 11px,#E4DBCB 11px,#E4DBCB 22px);
  border:1px solid var(--line); border-radius:var(--r-md); display:grid; place-items:center; overflow:hidden; color:#8a7f6c;
}
.ph .ph-tag{font-family:ui-monospace,'SF Mono',Menlo,monospace; font-size:.74rem; letter-spacing:.02em; line-height:1.5; text-align:center; max-width:80%; background:rgba(250,248,244,.82); padding:.5rem .8rem; border-radius:6px;}

/* ===================================================================
   HEADER + STICKY MOBILE BAR (previews reused on pages)
   =================================================================== */
.hdr{position:sticky; top:0; z-index:40; background:rgba(250,248,244,.88); backdrop-filter:saturate(1.2) blur(10px); border-bottom:1px solid var(--line);}
.hdr .row{display:flex; align-items:center; gap:1.6rem; height:74px;}
.hdr .brand{display:flex; align-items:center; gap:.7rem; margin-right:auto;}
.hdr .brand img{height:40px; width:auto;}
.hdr nav{display:flex; gap:1.5rem;}
.hdr nav a{font-size:.95rem; font-weight:500; color:var(--navy); text-decoration:none; opacity:.85; transition:opacity .15s, color .15s;}
.hdr nav a:hover{opacity:1; color:var(--burgundy);}
.hdr .hcta{display:flex; align-items:center; gap:.7rem;}
.icon-btn{width:48px; height:48px; border-radius:50%; border:1.5px solid var(--line-strong); background:var(--white); display:grid; place-items:center; color:var(--navy); cursor:pointer;}
.icon-btn svg{width:20px;height:20px;}

.mbar{display:flex; gap:.6rem; padding:.7rem .9rem; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-top:1px solid var(--line); box-shadow:0 -6px 20px rgba(11,44,68,.08);}
.mbar .btn{flex:1;}

/* ===================================================================
   SITE CHROME — full header w/ mobile drawer, footer, sections
   (shared across every page)
   =================================================================== */
.site-hdr{position:sticky; top:0; z-index:60; background:rgba(250,248,244,.92); backdrop-filter:saturate(1.35) blur(14px); border-bottom:1px solid rgba(15,58,87,.1); box-shadow:0 10px 30px rgba(11,44,68,.045);}
.site-hdr .row{display:flex; align-items:center; gap:1.15rem; height:82px; min-width:0;}
.site-hdr .brand{display:flex; align-items:center; flex:0 0 auto; margin-right:auto; text-decoration:none;}
.site-hdr .brand img{height:50px; width:auto; max-width:none; flex:0 0 auto; filter:drop-shadow(0 8px 14px rgba(11,44,68,.08));}
.site-hdr nav.main{display:flex; gap:.25rem; align-items:center; flex:0 1 auto; min-width:0; padding:6px; border:1px solid rgba(15,58,87,.1); border-radius:var(--r-pill); background:rgba(255,255,255,.62); box-shadow:inset 0 1px 0 rgba(255,255,255,.72);}
.site-hdr nav.main a{font-size:.92rem; font-weight:600; color:var(--navy); text-decoration:none; opacity:.82; padding:.62rem .86rem; border-radius:var(--r-pill); transition:opacity .15s,color .15s,background .15s,box-shadow .15s,transform .15s; position:relative; line-height:1; white-space:nowrap;}
.site-hdr nav.main a:hover{opacity:1; color:var(--burgundy);}
.site-hdr nav.main a[aria-current="page"]{opacity:1; color:var(--navy); background:var(--gold-tint); box-shadow:inset 0 0 0 1px rgba(190,145,56,.18);}
.site-hdr nav.main .nav-dd{position:relative;}
.site-hdr nav.main .nav-dd-link{display:inline-flex; align-items:center; gap:.38rem;}
.site-hdr nav.main .nav-dd[data-current="true"] > .nav-dd-link{opacity:1; color:var(--navy); background:var(--gold-tint); box-shadow:inset 0 0 0 1px rgba(190,145,56,.18);}
.site-hdr nav.main .nav-dd-link .chev{width:16px; height:16px; opacity:.9; stroke-width:2.8; transition:transform .18s var(--ease);}
.site-hdr nav.main .nav-dd:hover .nav-dd-link .chev{transform:rotate(180deg);}
.site-hdr nav.main .nav-dd:focus-within .nav-dd-link .chev{transform:rotate(180deg);}
.site-hdr nav.main .nav-dd-menu{position:absolute; top:calc(100% + 16px); left:50%; min-width:230px; padding:10px; background:linear-gradient(180deg,#fff,var(--cream)); border:1px solid rgba(15,58,87,.12); border-radius:16px; box-shadow:0 22px 55px rgba(11,44,68,.16); transform:translate(-50%,8px); opacity:0; visibility:hidden; transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s; z-index:70;}
.site-hdr nav.main .nav-dd-menu::before{content:""; position:absolute; left:0; right:0; top:-16px; height:16px;}
.site-hdr nav.main .nav-dd:hover .nav-dd-menu,.site-hdr nav.main .nav-dd:focus-within .nav-dd-menu{opacity:1; visibility:visible; transform:translate(-50%,0);}
.site-hdr nav.main .nav-dd-menu a{display:flex; align-items:center; gap:.7rem; padding:.78rem .82rem; border-radius:11px; opacity:1; font-size:.94rem; white-space:nowrap; background:transparent; box-shadow:none; transform:none;}
.site-hdr nav.main .nav-dd-menu a:hover{color:var(--burgundy);}
.site-hdr nav.main .nav-dd-menu a[aria-current="page"]{color:var(--burgundy); font-weight:700;}
.site-hdr nav.main .nav-dd-menu a[aria-current="page"]::after{content:"\2713"; color:var(--burgundy); margin-left:auto; font-weight:800;}
.site-hdr nav.main .nav-dd-menu .nav-sep{display:block; height:1px; background:var(--line-strong); margin:.55rem .82rem .45rem;}
.site-hdr .hcta{display:flex; align-items:center; flex:0 0 auto; gap:.65rem;}
.burger{display:none; width:48px; height:48px; border-radius:14px; border:1.5px solid var(--line-strong); background:var(--white); place-items:center; color:var(--navy); cursor:pointer; box-shadow:0 8px 20px rgba(11,44,68,.08);}
.burger svg{width:22px;height:22px;}

/* language switcher */
.lang-switch{position:relative;}
.lang-btn{display:flex; align-items:center; gap:.35rem; height:48px; padding:0 .78rem; border-radius:var(--r-pill); border:1.5px solid rgba(15,58,87,.14); background:var(--white); color:var(--navy); cursor:pointer; font-family:var(--sans); font-weight:700; font-size:.88rem; box-shadow:0 8px 20px rgba(11,44,68,.06);}
.lang-btn .globe{width:18px; height:18px;}
.lang-btn .chev{width:13px; height:13px; opacity:.55; transition:transform .2s var(--ease);}
.lang-switch.open .lang-btn .chev,.lang-switch:hover .lang-btn .chev,.lang-switch:focus-within .lang-btn .chev{transform:rotate(180deg);}
.lang-menu{position:absolute; top:calc(100% + 8px); right:0; min-width:168px; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--sh-3); padding:.4rem; display:none; flex-direction:column; z-index:70;}
.lang-menu::before{content:""; position:absolute; left:0; right:0; top:-9px; height:9px;}
.lang-switch.open .lang-menu,.lang-switch:hover .lang-menu,.lang-switch:focus-within .lang-menu{display:flex;}
.lang-menu a{display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.6rem .8rem; border:none; background:none; border-radius:8px; font-family:var(--sans); font-size:.95rem; font-weight:500; color:var(--navy); cursor:pointer; text-align:left; text-decoration:none;}
.lang-menu a:hover{background:var(--warmgrey);}
.lang-menu a.on{color:var(--burgundy); font-weight:600;}
.lang-menu a.on::after{content:"\2713"; color:var(--burgundy);}
/* mobile drawer */
.drawer{position:fixed; inset:0; z-index:80; background:linear-gradient(180deg,var(--cream) 0%,#fff 58%,var(--warmgrey) 100%); transform:translateX(100%); transition:transform .3s var(--ease); display:flex; flex-direction:column; visibility:hidden;}
.drawer.open{transform:translateX(0); visibility:visible;}
.drawer .d-top{display:flex; align-items:center; height:88px; padding:0 24px; border-bottom:1px solid rgba(15,58,87,.08); background:rgba(250,248,244,.92); backdrop-filter:saturate(1.35) blur(14px);}
.drawer .d-top img{height:54px; margin-right:auto; filter:drop-shadow(0 8px 14px rgba(11,44,68,.08));}
.drawer nav{display:flex; flex-direction:column; padding:28px 28px 20px; gap:0; overflow:auto;}
.drawer nav a{font-family:var(--sans); font-size:1.12rem; line-height:1.15; font-weight:780; color:var(--navy); text-decoration:none; padding:1rem 0; border:0; border-radius:0; background:transparent; box-shadow:none; position:relative;}
.drawer nav a + a:not(.sub){border-top:1px solid rgba(15,58,87,.1);}
.drawer nav a.sub{font-family:var(--sans); font-size:.93rem; line-height:1.2; font-weight:720; color:#65727d; padding:.5rem 0 .5rem 1.2rem; background:transparent; box-shadow:none; position:relative;}
.drawer nav a.sub::before{content:""; position:absolute; left:0; top:50%; width:7px; height:7px; border-radius:50%; background:var(--gold); transform:translateY(-50%);}
.drawer nav a.sub + a:not(.sub){margin-top:.85rem; border-top:1px solid rgba(15,58,87,.1); padding-top:1.22rem;}
.drawer nav .mobile-nav-sep{display:block; height:1px; background:var(--line); margin:.25rem 1rem .25rem 2.15rem;}
.drawer nav a[aria-current="page"],.drawer nav a[data-current="true"]{color:var(--burgundy);}
.drawer nav a:not(.sub)[data-current="true"]::after{content:""; position:absolute; right:0; top:50%; width:8px; height:8px; border-radius:50%; background:var(--gold); transform:translateY(-50%);}
.drawer nav a.sub[aria-current="page"]{font-weight:800; color:var(--burgundy);}
.drawer nav a.sub[aria-current="page"]::before{background:var(--burgundy);}
.drawer .d-cta{margin-top:auto; padding:22px 24px calc(22px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:.65rem; border-top:1px solid rgba(15,58,87,.08); background:rgba(255,255,255,.54);}

/* sticky mobile CTA bar — only on small screens */
.mobile-cta{display:none; position:fixed; left:0; right:0; bottom:0; z-index:55; gap:.55rem; padding:.65rem .8rem calc(.65rem + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); backdrop-filter:blur(8px); border-top:1px solid var(--line); box-shadow:0 -6px 20px rgba(11,44,68,.1);}
.mobile-cta .btn{flex:1; min-height:50px;}

/* sections */
.section{padding:84px 0;}
.section.tight{padding:60px 0;}
.section.cream{background:var(--cream);}
.section.grey{background:var(--warmgrey);}
.section.navy{background:var(--navy); color:#e7eef4;}
.section.navy h2,.section.navy h3{color:#fff;}
.section.navy .lead{color:#cfdae3;}
.section-head{max-width:62ch;}
.section-head.center{margin:0 auto; text-align:center;}
.section-head h2{margin-bottom:.7rem;}
.section-head p{color:var(--muted);}

/* shared CTA band (used on every page) */
.cta-band{background:var(--burgundy); color:#fff; border-radius:var(--r-xl); padding:60px; text-align:center; position:relative; overflow:hidden;}
.cta-band h2{color:#fff; font-size:clamp(2rem,3.5vw,2.9rem); margin-bottom:.7rem;}
.cta-band p{color:#f3dcdf; font-size:1.15rem; max-width:46ch; margin:0 auto 1.8rem;}
.cta-band .cta-actions{display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;}

/* footer */
.site-foot{background:var(--navy-deep); color:#aab9c7; padding:64px 0 28px; font-size:.95rem;}
.site-foot a{color:#cdd9e4; text-decoration:none;}
.site-foot a:hover{color:#fff;}
.foot-grid{display:grid; grid-template-columns:1.45fr 1fr 1fr 1.2fr; gap:34px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12);}
.foot-grid h5{font-family:var(--sans); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; margin:0 0 1rem; font-weight:600;}
.foot-grid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem;}
.foot-brand img{height:44px; margin-bottom:1rem;}
.foot-brand p{max-width:34ch; color:#9fb0c0;}
.foot-cta{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--r-lg); padding:1.4rem; }
.foot-cta h4{color:#fff; margin-bottom:.8rem; font-size:1.25rem;}
.foot-bottom{display:flex; flex-wrap:wrap; gap:1rem 1.6rem; justify-content:space-between; align-items:center; padding-top:24px; font-size:.85rem; color:#8497a7;}
.foot-bottom .legal{display:flex; flex-wrap:wrap; gap:1.1rem;}

/* scroll reveal */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none;}}

/* ===================================================================
   ELIGIBILITY STEPPER (hero embed + dedicated page)
   =================================================================== */
.checker{background:var(--white); border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--sh-3); overflow:hidden;}
.checker .ck-top{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.5rem; border-bottom:1px solid var(--line); background:var(--cream);}
.checker .ck-top .tt{display:flex; align-items:center; gap:.6rem; font-weight:600; color:var(--navy); font-size:.98rem;}
.checker .ck-top .tt svg{width:20px;height:20px; color:var(--burgundy);}
.checker .ck-top .stepn{font-size:.82rem; color:var(--muted); font-weight:500;}
.checker .ck-prog{height:6px; background:var(--line);}
.checker .ck-prog .bar{height:100%; width:0; background:var(--gold); transition:width .4s var(--ease);}
.checker .ck-body{padding:1.7rem 1.6rem 1.6rem;}
.checker .ck-body h3{font-size:1.45rem; margin-bottom:1.2rem; line-height:1.18;}
.checker .ck-actions{display:flex; align-items:center; gap:.8rem; margin-top:1.4rem;}
.checker .ck-back{background:none; border:none; color:var(--muted); font-family:var(--sans); font-weight:600; font-size:.95rem; cursor:pointer; padding:.6rem .2rem;}
.checker .ck-back:hover{color:var(--navy);}
.checker .ck-reassure{font-size:.85rem; color:var(--muted); margin:.9rem 0 0; display:flex; gap:.5rem; align-items:flex-start;}
.checker .ck-reassure svg{width:16px;height:16px; color:#1FA855; flex:none; margin-top:2px;}
.ck-step{display:none;} .ck-step.active{display:block; animation:ckin .35s var(--ease);}
@keyframes ckin{from{opacity:0; transform:translateX(12px);} to{opacity:1; transform:none;}}
.result-ic{width:64px; height:64px; border-radius:50%; background:var(--burgundy-tint); color:var(--burgundy); display:grid; place-items:center; margin-bottom:1rem;}
.result-ic svg{width:32px;height:32px;}

@media (max-width:980px){
  .foot-grid{grid-template-columns:1.2fr 1fr 1fr;}
}
@media (max-width:1120px) and (min-width:861px){
  .site-hdr .row{gap:.75rem;}
  .site-hdr nav.main{gap:.1rem; padding:5px;}
  .site-hdr nav.main a{font-size:.88rem; padding:.58rem .66rem;}
  .site-hdr .hcta{gap:.45rem;}
}
@media (max-width:860px){
  .site-hdr nav.main{display:none;}
  .site-hdr .hcta .desk-only{display:none;}
  .burger{display:grid;}
  .mobile-cta{display:flex;}
  body.has-mobile-cta{padding-bottom:84px;}
  .section{padding:60px 0;}
  .foot-grid{grid-template-columns:1fr;}
  .cta-band{padding:36px 26px;}
}

/* ===================================================================
   COOKIE CONSENT (injected site-wide by chrome.js)
   =================================================================== */
.cookie-banner{position:fixed; left:18px; right:18px; bottom:18px; z-index:90; max-width:560px; margin:0 auto;
  background:var(--white); border:1px solid var(--line-strong); border-radius:var(--r-lg); box-shadow:var(--sh-3);
  padding:1.3rem 1.5rem; transform:translateY(140%); transition:transform .4s var(--ease);}
.cookie-banner.show{transform:none;}
.cookie-banner h4{font-size:1.1rem; margin-bottom:.4rem;}
.cookie-banner p{font-size:.92rem; color:var(--muted); margin:0 0 1rem;}
.cookie-banner p a{color:var(--navy); font-weight:600;}
.cookie-banner .cb-actions{display:flex; gap:.6rem; flex-wrap:wrap;}
.cookie-banner .cb-actions .btn{flex:1; min-width:130px;}
body.has-mobile-cta .cookie-banner{bottom:96px;}
@media (min-width:861px){ body.has-mobile-cta .cookie-banner{bottom:18px;} }
