/* ============================================================
   RATE CHECK — clean white, deep blue (NetCredit / Upgrade style)
   ============================================================ */
:root{
  --blue:#1e3a8a;
  --blue-d:#172e6e;
  --blue-l:#2547a8;
  --blue-tint:#eef2ff;
  --ink:#0f172a;
  --body:#475569;
  --muted:#64748b;
  --faint:#94a3b8;
  --line:#e2e8f0;
  --line-2:#cbd5e1;
  --paper:#fff;
  --off:#f8fafc;
  --green:#15803d;
  --green-tint:#dcfce7;
  --tp:#00b67a;
  --red:#dc2626;
  /* custom select aliases — the themed dropdown every other template uses
     (assets/js/select.js + assets/css/select-cs.css) reads these */
  --cs-accent:var(--blue);--cs-accent-d:var(--blue-d);
  --cs-ink:var(--ink);--cs-body:var(--body);--cs-muted:var(--muted);
  --cs-border:var(--line-2);--cs-field-bg:#fff;--cs-card:#fff;
  --cs-on-accent:#fff;--cs-red:var(--red);
  --cs-shadow:0 10px 28px rgba(15,23,42,.14);
  --cs-radius:9px;--cs-panel-radius:10px;--cs-opt-radius:7px;
  --cs-border-w:1.5px;--cs-pad:13px 14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,-apple-system,'Segoe UI',sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{color:var(--ink);font-weight:800;line-height:1.1;letter-spacing:-.03em}
a{color:var(--blue);text-decoration:none}
.shell{max-width:1240px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;border:0;border-radius:8px;padding:14px 26px;transition:.15s;text-decoration:none}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-d)}
.btn-line{background:#fff;color:var(--ink);border:1.5px solid var(--line-2)}
.btn-line:hover{border-color:var(--ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}
:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}

/* header */
.hd{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:80}
.hd-in{display:flex;justify-content:space-between;align-items:center;height:68px}
.logo{font-weight:800;font-size:22px;color:var(--blue);letter-spacing:-.03em}
.nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}
.nav a{color:var(--body)}
.nav a:hover{color:var(--blue)}
.nav .btn{padding:11px 22px;font-size:14px;color:#fff}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:23px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:2px}

/* hero */
.hero{padding:52px 0 44px}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(34px,4.6vw,50px);margin-bottom:14px}
.hero .l{font-size:17.5px;color:var(--body);max-width:44ch;margin-bottom:20px}
.trust{display:flex;flex-direction:column;gap:9px;margin-bottom:26px}
.trust div{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:500}
.trust i{width:22px;height:22px;border-radius:50%;background:var(--green-tint);color:var(--green);display:grid;place-items:center;font-size:12px;font-weight:800;flex:none;font-style:normal}
.rev{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--off);border:1px solid var(--line);border-radius:12px;width:fit-content}
.rev .tpx{width:34px;height:34px;background:var(--tp);border-radius:6px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px;flex:none}
.rev .st{color:var(--tp);font-size:15px;letter-spacing:1px}
.rev b{display:block;font-size:14px}
.rev span{font-size:12.5px;color:var(--muted)}

/* rate panel */
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 30px 70px -30px rgba(15,23,42,.35)}
.panel h3{font-size:19px;margin-bottom:4px}
.panel .s{font-size:13.5px;color:var(--muted);margin-bottom:20px}
.amt{font-size:54px;font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--blue);margin-bottom:6px}
input[type=range].slider{width:100%;height:10px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,var(--blue) 0%,var(--blue) var(--pct,42%),var(--line) var(--pct,42%),var(--line) 100%);border-radius:99px;outline:0;margin:18px 0 8px}
input[type=range].slider::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 4px 12px rgba(15,23,42,.25);cursor:pointer}
input[type=range].slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--blue);cursor:pointer}
.mk{display:flex;justify-content:space-between;font-size:12px;color:var(--faint);font-weight:600;margin-bottom:20px}
.sel{width:100%;border:1.5px solid var(--line-2);border-radius:10px;padding:14px;font-size:15px;font-family:inherit;color:var(--ink);margin-bottom:12px;background:#fff;font-weight:500;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.sel:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,58,138,.12)}
.panel .btn{width:100%;padding:17px;font-size:16.5px;border-radius:10px}
.fine{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:var(--green);font-weight:700;margin-top:12px}
.est{display:flex;justify-content:space-between;align-items:center;background:var(--blue-tint);border:1px solid #c7d2fe;border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:13.5px}
.est b{color:var(--blue);font-size:16px}
.est span{color:var(--muted)}

/* press */
.press{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--off)}
.press .shell{display:flex;align-items:center;gap:34px;flex-wrap:wrap;padding:20px 24px}
.press .lab{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.press .lg{font-weight:900;font-size:17px;color:var(--faint);letter-spacing:-.02em;font-family:Georgia,serif}

/* sections */
.sec{padding:60px 0}
.sec-off{background:var(--off);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-h{max-width:640px;margin:0 auto 36px;text-align:center}
.sec-h h2{font-size:clamp(26px,3.4vw,34px);margin-bottom:8px}
.sec-h p{font-size:16px;color:var(--body)}
.steps{display:grid;grid-template-columns:1fr 1fr 1fr;border-left:1px solid var(--line)}
/* direct children only: `.steps div` also caught the 01/02/03 label inside
   each step, giving it the column's side padding and divider line. */
.steps > div{padding:0 30px;border-right:1px solid var(--line)}
.steps .n{padding:0;border:0;font-size:13px;font-weight:800;color:var(--blue);margin-bottom:12px;letter-spacing:.08em}
.steps h3{font-size:21px;margin-bottom:8px}
.steps p{font-size:14.5px;color:var(--muted)}

.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14.5px}
.tbl th,.tbl td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--line)}
.tbl thead th{background:var(--blue);color:#fff;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.tbl tbody th{font-weight:600;color:var(--ink);width:44%}
.tbl tr:last-child td,.tbl tr:last-child th{border-bottom:0}
.wrapx{overflow-x:auto;border-radius:12px}
.rep{border:1px solid var(--line);border-left:4px solid var(--blue);background:var(--blue-tint);border-radius:8px;padding:18px 20px;font-size:14px;color:var(--body);margin-top:18px}
.rep b{color:var(--ink)}

.reviews{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.rc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.rc .who{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.rc .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#c7d2fe,#93c5fd);flex:none;display:grid;place-items:center;font-weight:800;color:var(--blue);font-size:15px}
.rc .who b{display:block;font-size:14px}
.rc .who span{font-size:12px;color:var(--muted)}
.rc .st{color:var(--tp);font-size:13px;margin-bottom:8px;letter-spacing:1px}
.rc p{font-size:14px;color:#334155}

.faqs{max-width:820px;margin:0 auto}
.faq{border-bottom:1px solid var(--line)}
.faq:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:19px 34px 19px 0;font-weight:700;font-size:16px;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--blue);font-weight:400}
.faq[open] summary::after{content:"−"}
.faq .a{padding:0 0 19px;font-size:15px;color:var(--body);max-width:70ch}

.cta{background:var(--blue);color:#fff;padding:56px 0;text-align:center}
.cta h2{color:#fff;font-size:clamp(26px,3.4vw,34px);margin-bottom:10px}
.cta p{color:#c7d2fe;margin-bottom:24px;font-size:16px}
.cta .btn{background:#fff;color:var(--blue)}

.ft{background:var(--off);border-top:1px solid var(--line);padding:44px 0 24px;font-size:13px;color:var(--muted)}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.ft-g h4{color:var(--ink);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px}
.ft-g a{display:block;color:var(--muted);padding:4px 0}
.ft-g a:hover{color:var(--blue)}
.ft-b .logo{display:block;margin-bottom:10px}
.ft-b p{max-width:36ch}
.ft-l{padding-top:20px}
.ft-l p{font-size:11.5px;line-height:1.65;margin-bottom:11px;color:var(--faint)}
.ft-c{margin-top:14px;font-size:12px}

/* =========================================================
   APPLY — 4-step rate-check wizard with top progress
   ========================================================= */
.ap-hd{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:80}
.ap-hd-in{display:flex;justify-content:space-between;align-items:center;height:64px}
.ap-lock{font-size:12.5px;font-weight:700;color:var(--green);display:flex;align-items:center;gap:6px;white-space:nowrap}

.wiz{max-width:760px;margin:0 auto;padding:30px 24px 80px}
.wiz-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}
.wiz-top h1{font-size:24px}
.wiz-top .ct{font-size:13px;color:var(--muted);font-weight:600}
.pbar{display:flex;gap:6px;margin-bottom:8px}
.pbar i{flex:1;height:6px;border-radius:99px;background:var(--line);transition:background .3s}
.pbar i.on{background:var(--blue)}
.plabels{display:flex;justify-content:space-between;font-size:11.5px;color:var(--faint);font-weight:600;margin-bottom:26px}
.plabels span.on{color:var(--blue)}

.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 10px 30px -22px rgba(15,23,42,.3)}
.step{display:none}
.step.on{display:block;animation:sIn .28s ease}
@keyframes sIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step h2{font-size:22px;margin-bottom:6px}
.step .sub{font-size:14px;color:var(--muted);margin-bottom:24px}

.rw{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rw.one{grid-template-columns:1fr}
.rw.three{grid-template-columns:1fr 1fr 1fr}
.rw + .rw{margin-top:16px}
.f label{display:block;font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:6px}
.f .rq{color:var(--red)}
.f input,.f select{width:100%;border:1.5px solid var(--line-2);border-radius:9px;padding:13px 14px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;transition:.14s}
.f input::placeholder{color:#a3aebf}
.f input:focus,.f select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,58,138,.12)}
.f input.bad,.f select.bad{border-color:var(--red);background:#fef2f2}
.f input.ok{border-color:#86efac}
.f .e{display:none;color:var(--red);font-size:12px;margin-top:5px;font-weight:600}
.f input.bad~.e,.f select.bad~.e{display:block}
.f .h{font-size:11.5px;color:var(--muted);margin-top:5px}
.f select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.f.rv{position:relative}
.f.rv input{padding-right:60px}
.f .pk{position:absolute;right:9px;top:31px;background:none;border:0;font-family:inherit;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;padding:6px}

.amtrow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.amtrow button{border:1.5px solid var(--line-2);background:#fff;border-radius:9px;padding:13px 2px;font-family:inherit;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;transition:.12s}
.amtrow button:hover{border-color:var(--blue);color:var(--blue)}
.amtrow button.is-on{background:var(--blue);border-color:var(--blue);color:#fff}

.note{display:flex;gap:9px;background:var(--off);border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-size:12.5px;color:var(--muted);margin-top:18px}
.note i{flex:none;font-style:normal}

.review{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:14px}
.review .rh{background:var(--off);padding:11px 16px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}
.review .rh button{background:none;border:0;color:var(--blue);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0}
.review .rr{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--line);font-size:13.5px}
.review .rr span{color:var(--muted)}
.review .rr b{text-align:right;font-weight:600;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.cons{background:var(--off);border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:6px}
.cons label{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;cursor:pointer;color:var(--body)}
.cons input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--blue)}
.cons label + label{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.cons .n{font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:13px}
.cons-err{display:none;color:var(--red);font-size:12.5px;font-weight:700;margin-top:9px}

.wnav{display:flex;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.wnav .grow{flex:1}
.wfoot{display:flex;justify-content:center;gap:18px;margin-top:16px;font-size:12px;color:var(--muted);flex-wrap:wrap}

.done{text-align:center;padding:26px 0}
.done .ok{width:72px;height:72px;border-radius:50%;background:var(--green-tint);color:var(--green);display:grid;place-items:center;margin:0 auto 18px}
.done h2{font-size:26px;margin-bottom:8px}
.done p{font-size:15px;color:var(--body);max-width:46ch;margin:0 auto 22px}
.done .tl{text-align:left;max-width:430px;margin:0 auto;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.done .tl div{display:flex;gap:13px;padding:13px 16px;border-bottom:1px solid var(--line)}
.done .tl div:last-child{border-bottom:0}
.done .tl .s{width:26px;height:26px;flex:none;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:grid;place-items:center;font-size:12px;font-weight:800}
.done .tl b{display:block;font-size:14px}
.done .tl span{font-size:12.5px;color:var(--muted)}

/* ---------------- responsive ---------------- */
@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr;gap:34px}
  .steps{grid-template-columns:1fr;border-left:0}
  .steps div{border-right:0;padding:18px 0;border-bottom:1px solid var(--line)}
  .reviews{grid-template-columns:1fr}
  .ft-g{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .nav{position:fixed;inset:68px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:16px 24px;gap:4px;transform:translateY(-160%);visibility:hidden;transition:transform .26s,visibility .26s;box-shadow:0 12px 24px rgba(15,23,42,.1)}
  .nav.open{transform:none;visibility:visible}
  .nav a{padding:12px 0}
  .nav .btn{margin-top:8px}
  .burger{display:block}
  .hero{padding:34px 0 36px}
  .panel{padding:22px 18px}
  .amt{font-size:44px}
  .sec{padding:44px 0}
  .rw,.rw.three{grid-template-columns:1fr}
  .amtrow{grid-template-columns:repeat(3,1fr)}
  .card{padding:20px 16px}
  .wiz{padding:22px 16px 80px}
  .wnav .btn{padding:14px 12px;font-size:14px}
  .ft-g{grid-template-columns:1fr}
  .press .shell{gap:18px 24px}
  .rev{width:100%}
}

/* ============================================================
   LEADROUTER ADDITIONS
   What this template needs to work inside LeadRouter: shared legal
   pages, the composed date selects, the approved consent block, the
   waiting screen and the toast.
   ============================================================ */
.skip-link{position:absolute;left:14px;top:-60px;z-index:400;background:var(--blue);color:#fff;
  padding:10px 16px;border-radius:0 0 8px 8px;font-weight:700;font-size:14px;text-decoration:none;transition:top .18s}
.skip-link:focus{top:0}

/* three-up date of birth / next pay date */
.dob-group{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}
.dob-group select{width:100%}
@media (max-width:420px){.dob-group{grid-template-columns:1fr 1fr 1fr}}

/* compliance-approved consent, directly above the submit button */
.c-lead{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:10px}
.c-list{list-style:disc;padding-left:20px;margin:0}
.c-list li{font-size:12.5px;line-height:1.65;color:var(--body)}
.c-list li + li{margin-top:9px}
.c-list a{color:var(--blue);text-decoration:underline}

/* waiting + result screens */
.done .spin{width:52px;height:52px;border-radius:50%;border:4px solid var(--blue-tint);border-top-color:var(--blue);margin:0 auto 20px;animation:crspin .8s linear infinite}
@keyframes crspin{to{transform:rotate(360deg)}}
.done .ok.warn{background:#fdf1e7;color:#b45309}
.done .tl{text-align:left;max-width:440px;margin:0 auto;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.done .tl div{display:flex;gap:13px;padding:13px 16px;border-bottom:1px solid var(--line);align-items:flex-start;opacity:.45;transition:opacity .25s}
.done .tl div:last-child{border-bottom:0}
.done .tl div.on{opacity:1}
.done .tl .s{width:26px;height:26px;flex:none;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.done .tl b{display:block;font-size:14px;color:var(--ink)}
.done .tl span{font-size:12.5px;color:var(--muted)}
.m-wait{margin-top:20px;font-size:13px;color:var(--muted);font-weight:700}

/* toast */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(12px);z-index:300;
  display:flex;gap:10px;align-items:center;max-width:min(92vw,440px);
  background:var(--ink);color:#fff;padding:13px 18px;border-radius:10px;font-size:14px;
  box-shadow:0 10px 30px rgba(15,23,42,.3);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast svg{flex:none;color:#fca5a5}

.noscript-note{max-width:760px;margin:0 auto 18px;padding:14px 18px;border:1px solid #f3cf9a;background:#fff8ec;border-radius:10px;font-size:13px;color:#7a5217}

/* shared legal pages (about, faqs, privacy, terms, ad disclosure, e-consent) */
.page-hero{padding:52px 0 36px;background:var(--blue);color:#fff}
.page-hero h1{font-size:clamp(1.4rem,4vw,1.9rem);margin:0;color:#fff}
.page-hero p{margin-top:8px;font-size:13.5px;color:rgba(255,255,255,.72)}
.crumbs{font-size:13px;margin-bottom:10px;color:rgba(255,255,255,.6)}
.crumbs a{color:#fff;text-decoration:underline}
.prose{max-width:780px;margin:0 auto;padding:40px 0 60px;line-height:1.75;color:var(--body)}
.prose h2{font-size:1.3rem;color:var(--ink);margin:36px 0 12px}
.prose h3{font-size:1.1rem;color:var(--ink);margin:24px 0 8px}
.prose p{margin:0 0 16px}
.prose ul{margin:0 0 16px;padding-left:24px}
.prose li{margin-bottom:6px}
.prose a{color:var(--blue);text-decoration:underline}
.bottom-cta{text-align:center;padding:56px 22px;background:var(--blue);color:#fff}
.bottom-cta h2{margin:0 0 8px;font-size:1.4rem;color:#fff}
.bottom-cta p{margin:0 0 20px;opacity:.85}
.bottom-cta .btn-primary{display:inline-block;padding:14px 34px;border-radius:10px;background:#fff;color:var(--blue);font-weight:700;text-decoration:none;font-size:15px}

/* Brand names here come from .env and are longer than a one-word logo, so the
   header folds into the burger earlier than the original design did. */
.hd-in{gap:16px}
.logo{font-size:clamp(17px,2.2vw,24px);line-height:1.15}
@media (max-width:1000px){
  .nav{position:fixed;inset:66px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:16px 24px;gap:4px;transform:translateY(-160%);visibility:hidden;transition:transform .26s,visibility .26s;box-shadow:0 12px 24px rgba(15,23,42,.1);z-index:60}
  .nav.open{transform:none;visibility:visible}
  .nav a{padding:12px 0}
  .burger{display:block}
}

/* shared legal pages wrap their content in .container, not .shell */
.container{max-width:1120px;margin:0 auto;padding:0 24px}

/* explicit agree box under the approved consent bullets */
.c-tick{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;font-weight:700;cursor:pointer;color:var(--ink);margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.c-tick input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--blue)}
.c-tick input.bad{outline:2px solid var(--red);outline-offset:2px}
