/* ============================================================
   TaxResolve.com — /home
   Design tokens, layout, and components
   Fonts: Outfit (display) + Inter (body)
   ============================================================ */

:root{
  /* Brand multishade: deep blue -> indigo -> violet -> deep sea green */
  --blue:#1e40af;
  --blue-2:#1d4ed8;
  --indigo:#3730a3;
  --violet:#5b21b6;
  --violet-2:#6d28d9;
  --sea:#0f766e;
  --sea-2:#0d9488;

  /* Gradients */
  --grad:linear-gradient(115deg,#1e40af 0%,#3730a3 34%,#6d28d9 64%,#0f766e 100%);
  --grad-bright:linear-gradient(115deg,#67c1ff 0%,#74a9ff 40%,#9f9dff 70%,#5fe0cf 100%);   /* light, sky-blue-led — for text on dark */
  --grad-filing:linear-gradient(115deg,#1d4ed8 0%,#2f86d8 52%,#0ea597 100%);   /* Option 1 heading */
  --grad-resolution:linear-gradient(115deg,#3a54d8 0%,#6d28d9 100%);           /* Option 2 heading (Blue -> Violet) */

  /* Dark surfaces */
  --dark:#0b1526;
  --dark-2:#0f1f38;

  /* Neutrals */
  --ink:#0c1526;
  --slate:#334155;
  --muted:#5b6b84;
  --faint:#8a97ac;
  --label:#94a3b8;

  /* Surfaces */
  --bg:#ffffff;
  --card:#ffffff;
  --card-brd:#e6ebf2;
  --hair:#edf1f6;
  --chip-bg:#f6f9fc;
  --shadow:0 12px 34px rgba(16,32,64,.08);
  --shadow-lg:0 26px 60px rgba(16,32,64,.14);
  --radius:22px;

  /* Type */
  --fd:'Outfit', system-ui, sans-serif;   /* display */
  --fb:'Inter', system-ui, sans-serif;    /* body */
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--fb);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  background:var(--bg);
}

/* ---------- Background layers ---------- */
/* dots are used only on the dark sections now — light hero stays clean */
.grid-l{display:none}
.glow-l{
  position:fixed;top:-120px;left:50%;transform:translateX(-50%);
  width:900px;height:460px;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse,rgba(55,48,163,.10),transparent 70%);filter:blur(6px);
}

/* ---------- Helpers ---------- */
.wrap{max-width:1160px;margin:0 auto;padding:0 26px;position:relative;z-index:5}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Nav / logo (dark bar) ---------- */
.site-head{position:relative;z-index:20;background-color:#14213a;
  background-image:radial-gradient(130% 190% at 50% -60%,#2a3d5c 0%,#1b2c46 42%,#14213a 100%)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.brand-mark{height:50px;width:auto;display:block;color:#fff}
.brand-word{line-height:1;display:flex;flex-direction:column;align-items:center}
.bw-top{font-family:var(--fd);font-size:28px;letter-spacing:-.9px;color:#fff;font-weight:500}
.bw-top b{font-weight:700}
.bw-tag{font-family:var(--fd);font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:#8ea3bd;font-weight:600;margin-top:3px;text-align:center;white-space:nowrap}
/* logo wordmark: "Resolve" in Outfit Light (same family as the bold "Tax", just thinner) + white 80% with a soft glow */
.bw-top .grad-text{
  background:none;-webkit-background-clip:border-box;background-clip:border-box;
  color:rgba(255,255,255,.82);-webkit-text-fill-color:rgba(255,255,255,.82);
  text-shadow:0 0 10px rgba(255,255,255,.5), 0 0 22px rgba(120,180,255,.4);
  font-family:var(--fd);
  font-weight:300;
  letter-spacing:-.3px;
}
.menu{display:flex;gap:28px;font-size:14.5px;color:#b7c6dc;font-weight:500}
.menu a{color:#b7c6dc;text-decoration:none;transition:.2s}
.menu a:hover{color:#fff}
.nav-cta{font-family:var(--fd);font-weight:600;font-size:14px;padding:11px 20px;border-radius:11px;background:#fff;color:#14213a;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.nav-cta:hover{background:#eef1f6;transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.3)}
@media(max-width:860px){.menu{display:none}}

/* ---------- Hero ---------- */
.hero{text-align:center;padding:104px 0 46px}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--blue);background:rgba(30,64,175,.07);border:1px solid rgba(30,64,175,.18);padding:8px 18px;border-radius:999px;margin-bottom:34px;letter-spacing:.4px}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--sea-2);box-shadow:0 0 10px var(--sea-2)}
h1.title{font-family:var(--fd);font-weight:500;font-size:clamp(32px,5.25vw,55px);line-height:1.08;letter-spacing:-1.1px;max-width:820px;margin:0 auto 24px;color:var(--ink)}
.hero .sub{font-size:clamp(17px,2.1vw,21px);font-weight:400;color:var(--muted);max-width:600px;margin:0 auto;line-height:1.65}
.choose{margin:56px 0 22px;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--faint);font-family:var(--fd);font-weight:500}

/* ---------- Path cards (two doors) ---------- */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left}
@media(max-width:800px){.doors{grid-template-columns:1fr}}
.door{
  position:relative;border-radius:var(--radius);padding:54px 40px;cursor:pointer;overflow:hidden;text-align:center;
  background:var(--card);border:1px solid var(--card-brd);box-shadow:var(--shadow);
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;
}
.door::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.door.prep::after{background:linear-gradient(90deg,var(--blue),var(--indigo))}
.door.res::after{background:linear-gradient(90deg,var(--violet-2),var(--violet))}
.door:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.door:hover::after{transform:scaleX(1)}
.door.prep:hover{border-color:var(--blue-2)}
.door.res:hover{border-color:var(--violet-2)}

/* ---------- Lit gradient edge (premium border treatment) ---------- */
.door.prep,.door.res{
  border:1.5px solid transparent;
  background-image:linear-gradient(#fff,#fff),var(--edge);
  background-origin:border-box;
  background-clip:padding-box,border-box;
}
.door.prep{--edge:linear-gradient(135deg,#1e2a4e 0%,#2456b0 55%,#0f9088 100%)}
.door.res{--edge:linear-gradient(135deg,#1e2a4e 0%,#2456b0 55%,#5a2f8a 100%)}
/* keep the gradient edge on hover instead of painting a solid border */
.door.prep:hover,.door.res:hover{border-color:transparent}
/* content above the bloom; keep the top accent bar on top */
.door > *{position:relative;z-index:1}
.door::after{z-index:2}

/* ---------- Floating halo (coloured glow bleeding out beneath the card) ---------- */
.door.prep,.door.res{
  box-shadow:0 24px 50px -26px rgba(24,40,74,.45), var(--shadow);
}
.door.prep:hover,.door.res:hover{
  box-shadow:0 34px 64px -24px rgba(24,40,74,.52), var(--shadow-lg);
}
/* a little breathing room so the halos don't collide */
@media(min-width:801px){.doors{gap:40px}}
.d-opt{font-family:var(--fd);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;color:var(--label)}
.door h3{font-family:var(--fd);font-weight:600;font-size:32px;letter-spacing:-.7px;margin:0 0 16px;line-height:1.12;color:var(--ink)}
.door.prep h3{background:var(--grad-filing);-webkit-background-clip:text;background-clip:text;color:transparent}
.door.res h3{background:var(--grad-resolution);-webkit-background-clip:text;background-clip:text;color:transparent}
.door p{color:var(--muted);font-size:16px;line-height:1.7;max-width:340px;margin:0 auto 28px}
.d-go{display:inline-flex;align-items:center;gap:9px;font-family:var(--fd);font-weight:600;font-size:15.5px}
.door.prep .d-go{color:var(--blue)}
.door.res .d-go{color:var(--violet-2)}
.d-go svg{width:17px;height:17px;stroke-width:2.2;fill:none;transition:transform .25s}
.door.prep .d-go svg{stroke:var(--blue)}
.door.res .d-go svg{stroke:var(--violet-2)}
.door:hover .d-go svg{transform:translateX(5px)}

/* ---------- Sub-segmentation panels ---------- */
.subwrap{max-width:1160px;margin:20px auto 0;padding:0 26px;position:relative;z-index:5}
.sub{display:none;background:var(--card);border:1px solid var(--card-brd);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;animation:rise .35s cubic-bezier(.2,.7,.2,1)}
.sub.on{display:block}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sub-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.sub-top h4{font-family:var(--fd);font-weight:600;font-size:20px;letter-spacing:-.4px;display:flex;align-items:center;gap:11px;color:var(--ink)}
.sub-top h4 svg{width:22px;height:22px;fill:none;stroke-width:1.85}
#sub-prep h4 svg{stroke:var(--blue)}
#sub-res h4 svg{stroke:var(--violet-2)}
.x{background:var(--chip-bg);border:1px solid var(--card-brd);color:var(--muted);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--fd)}
.x:hover{color:var(--ink)}
.sub-desc{color:var(--faint);font-size:14px;margin-bottom:20px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
@media(max-width:740px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.grid{grid-template-columns:1fr}}
.cell{border:1px solid var(--card-brd);border-radius:14px;padding:17px;background:var(--chip-bg);cursor:pointer;transition:.2s}
.cell:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
#sub-prep .cell:hover{border-color:var(--blue-2)}
#sub-res .cell:hover{border-color:var(--violet-2)}
.cell .ct{font-family:var(--fd);font-weight:600;font-size:15px;margin-bottom:4px;color:var(--ink)}
.cell .cd{font-size:12.6px;color:var(--faint)}
.sub-foot{margin-top:22px;padding-top:20px;border-top:1px solid var(--hair);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--fd);font-weight:600;font-size:15px;padding:14px 24px;border-radius:12px;border:none;cursor:pointer;color:#fff;text-decoration:none}
.btn svg{width:17px;height:17px;stroke:#fff;stroke-width:2.2;fill:none}
.btn.prep{background:linear-gradient(120deg,var(--blue),var(--indigo));box-shadow:0 8px 24px rgba(30,64,175,.28)}
.btn.res{background:linear-gradient(120deg,var(--violet-2),var(--violet));box-shadow:0 8px 24px rgba(109,40,217,.28)}
.foot-note{font-size:13px;color:var(--faint)}
.foot-note b{color:var(--ink)}

/* ---------- Trust strip ---------- */
.trust{margin-top:96px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:40px 0}
.trust-in{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;text-align:center}
.trust .tn{font-family:var(--fd);font-weight:700;font-size:20px}
.trust .tl{font-size:12px;color:var(--faint);letter-spacing:.5px;text-transform:uppercase;margin-top:3px}

/* ---------- CTA band (dark) ---------- */
.cta{margin-top:80px;position:relative;z-index:5}
.cta-inner{position:relative;border-radius:28px;padding:66px 40px;text-align:center;overflow:hidden;
  background:#14213a;
  background-image:radial-gradient(95% 165% at 50% 0%,#2a3d5c 0%,#1b2c46 45%,#12203a 100%)}
.cta-inner::before{content:"";position:absolute;inset:0;background:
  radial-gradient(720px 360px at 50% -22%,rgba(255,255,255,.10),transparent 62%)}
.cta-inner>*{position:relative;z-index:2}
.cta h2{font-family:var(--fd);font-weight:600;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.8px;color:#fff;margin-bottom:12px}
.cta .grad-text{background:none;-webkit-background-clip:border-box;background-clip:border-box;
  color:rgba(255,255,255,.9);-webkit-text-fill-color:rgba(255,255,255,.9);
  text-shadow:0 0 10px rgba(255,255,255,.5),0 0 22px rgba(120,180,255,.4);
  font-weight:300;letter-spacing:-.3px}
.cta p{color:#aebfd6;font-size:16.5px;max-width:520px;margin:0 auto 26px}
.cta .btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--fd);font-weight:600;font-size:16px;padding:15px 30px;border-radius:12px;background:#fff;color:#14213a;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.30);border:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.cta .btn:hover{background:#eef1f6;transform:translateY(-1px);box-shadow:0 14px 32px rgba(0,0,0,.36)}
.cta .btn svg{width:18px;height:18px;fill:none;stroke:#14213a;stroke-width:2.2}

/* ---------- Footer ---------- */
footer{padding:36px 0;text-align:center;color:var(--faint);font-size:13px;position:relative;z-index:5}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--ink)}

/* ============================================================
   Intake — clickable option cells + modal form + pricing
   ============================================================ */
/* make the option cells real buttons */
button.cell{position:relative;width:100%;text-align:left;font-family:var(--fb);cursor:pointer;
  background:var(--chip-bg);border:1px solid var(--card-brd);border-radius:14px;padding:16px 18px;
  transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}
button.cell:hover{transform:translateY(-3px);border-color:var(--blue-2);background:#fff;box-shadow:0 10px 26px rgba(16,32,64,.09)}
button.cell .ct{font-family:var(--fd);font-weight:600;font-size:16px;color:var(--ink);margin-bottom:3px}
button.cell .cd{font-size:13.5px;color:var(--muted);line-height:1.45}
.cell-go{display:block;margin-top:10px;font-family:var(--fd);font-weight:600;font-size:13px;color:var(--blue);opacity:0;transform:translateX(-4px);transition:.2s}
button.cell:hover .cell-go{opacity:1;transform:none}

/* modal shell */
.modal{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-start;justify-content:center;padding:36px 18px;overflow:auto}
.modal[hidden]{display:none}
.modal-bg{position:fixed;inset:0;background:rgba(10,18,34,.55);backdrop-filter:blur(3px)}
.modal-card{position:relative;z-index:1;width:100%;max-width:560px;background:#fff;border-radius:20px;
  box-shadow:0 40px 90px rgba(10,20,40,.35);padding:30px 30px 26px;animation:imIn .28s cubic-bezier(.2,.7,.2,1)}
@keyframes imIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.modal-x{position:absolute;top:14px;right:16px;width:32px;height:32px;border-radius:9px;border:1px solid var(--card-brd);
  background:#fff;color:var(--muted);font-size:15px;cursor:pointer;transition:.18s}
.modal-x:hover{background:var(--chip-bg);color:var(--ink)}

.im-head{margin-bottom:20px;padding-right:30px}
.im-kicker{font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--faint)}
#im-title{font-family:var(--fd);font-weight:600;font-size:26px;letter-spacing:-.6px;color:var(--ink);margin:4px 0 6px}
.im-sub{font-size:14.5px;color:var(--muted);line-height:1.55}

.im-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.im-full,.fld.im-years{grid-column:1 / -1}
.fld span{font-size:12.5px;font-weight:600;color:var(--slate)}
.fld span em{color:var(--faint);font-weight:400;font-style:normal}
.fld input,.fld textarea{font-family:var(--fb);font-size:14.5px;color:var(--ink);background:#fff;
  border:1.5px solid var(--card-brd);border-radius:11px;padding:11px 13px;outline:none;transition:.18s;resize:vertical}
.fld input:focus,.fld textarea:focus{border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(30,64,175,.1)}

/* pricing block */
.im-price{margin:20px 0 4px;border:1px solid var(--card-brd);border-radius:14px;padding:16px 18px;background:var(--chip-bg)}
.pr-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.pr-h b{font-family:var(--fd);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--faint)}
.pr-base{display:flex;justify-content:space-between;font-size:14.5px;color:var(--slate);padding:6px 0;border-bottom:1px dashed var(--card-brd)}
.pr-base b{color:var(--ink);font-weight:600}
.pr-add{font-size:12.5px;font-weight:600;color:var(--slate);margin:12px 0 8px}
.pr-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.pr-item{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--slate)}
.pr-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue-2);cursor:pointer}
.pr-item .pi-price{margin-left:auto;font-size:12.5px;color:var(--faint)}
.pr-item .pi-count{width:52px;padding:5px 7px;border:1.5px solid var(--card-brd);border-radius:8px;font-family:var(--fb);font-size:13px}
.pr-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:1px solid var(--card-brd);font-family:var(--fd);font-size:15px;font-weight:500;color:var(--ink)}
.pr-total b{font-size:24px;font-weight:600;background:var(--grad-filing);-webkit-background-clip:text;background-clip:text;color:transparent}
.pr-flat{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--fd);font-size:16px;color:var(--ink)}
.pr-flat b{font-size:26px;font-weight:600;background:var(--grad-filing);-webkit-background-clip:text;background-clip:text;color:transparent}
.pr-fine{font-size:12px;color:var(--faint);margin-top:10px;line-height:1.5}

.im-foot{margin-top:18px;text-align:center}
.im-foot .btn{width:100%;justify-content:center}
.im-fine{display:block;font-size:11.5px;color:var(--faint);margin-top:10px;line-height:1.5}

.im-done{text-align:center;padding:20px 6px 6px}
.im-check{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:rgba(14,165,151,.12);color:#0ea597;
  display:flex;align-items:center;justify-content:center;font-size:28px}
.im-done h3{font-family:var(--fd);font-weight:600;font-size:22px;color:var(--ink);margin-bottom:8px}
.im-done p{font-size:14.5px;color:var(--muted);line-height:1.6;max-width:38ch;margin:0 auto 20px}

@media(max-width:560px){
  .im-fields{grid-template-columns:1fr}
  .fld:nth-child(1),.fld:nth-child(2){grid-column:auto}
  .pr-list{grid-template-columns:1fr}
  .modal{padding:18px 12px}
  .modal-card{padding:24px 20px 22px}
}
body.modal-open{overflow:hidden}

/* ---- informational rate card inside the intake form ---- */
.ps-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ps-cards.one{grid-template-columns:1fr}
.ps-card{border:1px solid var(--card-brd);border-radius:12px;padding:12px 14px;background:#fff}
.ps-k{font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--label)}
.ps-amt{font-family:var(--fd);font-size:26px;font-weight:600;letter-spacing:-.8px;line-height:1.15;margin:1px 0;
  background:var(--grad-filing);-webkit-background-clip:text;background-clip:text;color:transparent}
.ps-d{font-size:11.5px;color:var(--muted)}
.ps-grp{font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--label);margin:16px 0 2px}
.ps-grp.both{color:#0ea597}
.ps-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--hair);font-size:13px;color:var(--slate)}
.ps-row:last-child{border-bottom:0}
.ps-row b{font-family:var(--fd);font-weight:600;font-size:13.5px;color:var(--ink);text-align:right;white-space:nowrap}
.ps-row b em{font-style:normal;font-weight:500;font-size:11px;color:var(--faint)}
.ps-row .mut{color:var(--faint)}
.ps-note{font-size:11px;color:var(--faint);line-height:1.65;text-align:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--hair)}
.ps-note b{color:var(--muted);font-weight:600}

/* ---- compact price summary in the intake form (split layout) ---- */
.im-price{padding:18px 20px}
.pz-top{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
.pz-k{font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--label)}
.pz-amt{font-family:var(--fd);font-size:40px;font-weight:600;letter-spacing:-1.4px;line-height:1.05;margin:2px 0 3px;
  background:var(--grad-filing);-webkit-background-clip:text;background-clip:text;color:transparent}
.pz-d{font-size:12.5px;color:var(--muted);max-width:17ch}
.pz-ex{border-left:1px dashed #dbe3ec;padding-left:20px}
.pz-exh{font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--label);margin-bottom:6px}
.pz-r{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);padding:3.5px 0}
.pz-r b{font-family:var(--fd);font-weight:600;color:var(--slate);white-space:nowrap}
.pz-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--card-brd);
  margin-top:7px;padding-top:8px;font-family:var(--fd);font-size:13.5px;font-weight:600;color:var(--ink)}
.pz-t b{font-size:20px;font-weight:600;background:var(--grad-filing);-webkit-background-clip:text;background-clip:text;color:transparent}
.pz-add{font-size:11.5px;color:var(--faint);margin-top:8px;line-height:1.5}
.pz-lnk{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:11px 16px;border-radius:11px;
  background:#fff;border:1.5px solid var(--blue-2);color:var(--blue-2);font-family:var(--fd);font-weight:600;font-size:13.5px;
  text-decoration:none;transition:.18s}
.pz-lnk svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pz-lnk:hover{background:var(--blue-2);color:#fff}
.pz-note{font-size:11px;color:var(--faint);text-align:center;margin-top:9px;line-height:1.55}
@media(max-width:560px){
  .pz-top{grid-template-columns:1fr;gap:14px}
  .pz-ex{border-left:0;border-top:1px dashed #dbe3ec;padding-left:0;padding-top:14px}
  .pz-d{max-width:none}
  .pz-amt{font-size:34px}
}

/* ---- intake form: selects, year chips, repeatable business blocks ---- */
.fld select{font-family:var(--fb);font-size:14.5px;color:var(--ink);background:#fff;border:1.5px solid var(--card-brd);
  border-radius:11px;padding:11px 13px;outline:none;transition:.18s;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b84' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:15px;padding-right:36px}
.fld select:focus{border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(30,64,175,.1)}
.f-full{grid-column:1 / -1}
.im-fields + .im-fields{margin-top:14px}

.chk{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--slate);cursor:pointer;
  margin-top:14px;padding:11px 13px;border:1.5px solid var(--card-brd);border-radius:11px;background:#fff;transition:.18s}
.chk:hover{border-color:var(--blue-2)}
.chk input{width:17px;height:17px;accent-color:var(--blue-2);cursor:pointer}

.yrs{display:flex;flex-wrap:wrap;gap:8px}
.yr{cursor:pointer}
.yr input{position:absolute;opacity:0;pointer-events:none}
.yr span{display:inline-block;padding:8px 15px;border-radius:999px;border:1.5px solid var(--card-brd);background:#fff;
  font-family:var(--fd);font-size:13px;font-weight:600;color:var(--slate);transition:.15s}
.yr:hover span{border-color:var(--blue-2);color:var(--blue-2)}
.yr input:checked + span{background:var(--blue-2);border-color:var(--blue-2);color:#fff}
.yr input:focus-visible + span{box-shadow:0 0 0 4px rgba(30,64,175,.15)}

.sec-h{font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--label);margin:18px 0 2px}
.biz{border:1px solid var(--card-brd);border-radius:12px;padding:14px 16px;background:var(--chip-bg);margin-top:10px}
.biz-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.biz-h span{font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--label)}
.biz-x{background:none;border:0;color:var(--faint);font-size:12px;font-family:var(--fb);cursor:pointer;padding:2px 4px}
.biz-x:hover{color:#dc2626}
.biz .fld input,.biz .fld select,.biz .yr span{background:#fff}
.biz-add{margin-top:10px;width:100%;padding:11px;border:1.5px dashed var(--card-brd);border-radius:11px;background:#fff;
  color:var(--blue-2);font-family:var(--fd);font-weight:600;font-size:13px;cursor:pointer;transition:.18s}
.biz-add:hover{border-color:var(--blue-2);background:rgba(29,78,216,.04)}

/* custom-quote variant of the price summary (nonprofit / trust) */
.pz-amt.pz-amt-sm{font-size:26px;letter-spacing:-.7px}
.pz-blurb{font-size:12.5px;color:var(--muted);line-height:1.6}

/* ---- Headline multishade: navy -> blue -> purple -> teal ---- */
:root{--grad-headline:linear-gradient(115deg,#1e2a4e 0%,#2456b0 32%,#5a2f8a 64%,#0f9088 100%)}
.door.prep h3,.door.res h3,
h1.title .grad-text{
  background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent
}
.door.prep .d-go,.door.res .d-go{
  background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent
}
.door.prep .d-go svg,.door.res .d-go svg{stroke:#5a2f8a}
.trust .tn{background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ============================================================
   Motion — scroll-reveal, pulses, shimmer. Fully gated on
   html.js-motion (added by anim.js only when motion is allowed),
   so no-JS and prefers-reduced-motion users see everything static.
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  html.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
  html.js-motion .reveal.in{opacity:1;transform:none;}
  html.js-motion .reveal.d1{transition-delay:.08s}
  html.js-motion .reveal.d2{transition-delay:.16s}
  html.js-motion .reveal.d3{transition-delay:.24s}
  html.js-motion .reveal.d4{transition-delay:.32s}
  html.js-motion .reveal.d5{transition-delay:.40s}
  html.js-motion .reveal.rz{transform:translateY(0) scale(.96);}
  html.js-motion .reveal.rz.in{transform:none;}
  .pill .dot{animation:pill-pulse 2.2s ease-out infinite;}
  @keyframes pill-pulse{0%{box-shadow:0 0 0 0 rgba(15,144,136,.5)}70%,100%{box-shadow:0 0 0 8px rgba(15,144,136,0)}}
  .shimmer{background-image:linear-gradient(110deg,#1e2a4e,#2456b0,#5a2f8a,#0f9088,#2456b0,#1e2a4e) !important;background-size:230% 100% !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent !important;-webkit-text-fill-color:transparent !important;animation:txt-shimmer 7s linear infinite;}
  @keyframes txt-shimmer{0%{background-position:0 0}100%{background-position:230% 0}}
}

/* ---------- Home: Why choose us (summarized, links to /why) ---------- */
.whyx{margin-top:96px;background:#f7f9fc;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:56px 0 60px;text-align:center}
.whyx-k{font-family:var(--fd);font-size:11px;letter-spacing:2.4px;font-weight:600;color:var(--label)}
.whyx-h{font-family:var(--fd);font-weight:600;font-size:clamp(22px,3.2vw,30px);letter-spacing:-.7px;margin:8px 0 8px}
.whyx-s{font-size:15px;color:var(--muted);max-width:430px;margin:0 auto 30px;line-height:1.65}
.whyx-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;max-width:920px;margin:0 auto 26px;text-align:left}
.whyx-c{background:#fff;border:1px solid var(--card-brd);border-radius:14px;padding:18px 18px 16px;transition:transform .25s,box-shadow .25s,border-color .25s}
.whyx-c:hover{transform:translateY(-4px);border-color:#c9d8ef;box-shadow:0 22px 42px -26px rgba(24,40,74,.45)}
.whyx-ic{width:36px;height:36px;border-radius:10px;background:#eef1fb;display:flex;align-items:center;justify-content:center;margin-bottom:11px}
.whyx-ic svg{width:18px;height:18px;fill:none;stroke:#2456b0;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.whyx-t{font-family:var(--fd);font-weight:600;font-size:15.5px;color:var(--ink);margin-bottom:3px}
.whyx-d{font-size:13px;color:var(--muted);line-height:1.55}
.whyx-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:600;font-size:15px;text-decoration:none;
  background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.whyx-link svg{width:17px;height:17px;fill:none;stroke:#5a2f8a;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.whyx-link:hover svg{transform:translateX(4px)}
@media (prefers-reduced-motion: no-preference){
  html.js-motion .whyx-link svg{animation:whyx-nudge 2.6s ease-in-out infinite}
  @keyframes whyx-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
}

/* ---------- Home: How it works (condensed horizontal, navy + glow) ---------- */
.hiw{margin-top:96px;padding:56px 0 60px;text-align:center;position:relative;overflow:hidden;
  background-color:#111f34;
  background-image:radial-gradient(760px 320px at 50% -10%,rgba(255,255,255,.12),transparent 60%),
    radial-gradient(120% 150% at 50% 0%,#2a3d5c 0%,#1b2c46 44%,#111f34 100%)}
.hiw-k{font-family:var(--fd);font-size:11px;letter-spacing:2.4px;font-weight:600;color:rgba(255,255,255,.5)}
.hiw-h{font-family:var(--fd);font-weight:600;font-size:clamp(22px,3.2vw,30px);letter-spacing:-.7px;margin:8px 0 8px;
  color:rgba(255,255,255,.96);text-shadow:0 0 13px rgba(255,255,255,.44),0 0 28px rgba(120,180,255,.34)}
.hiw-s{font-size:15px;color:rgba(255,255,255,.62);max-width:430px;margin:0 auto 34px;line-height:1.6}
.hiw-row{display:flex;align-items:flex-start;justify-content:center;max-width:860px;margin:0 auto}
.hiw-st{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px}
.hiw-badge{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.96);font-family:var(--fd);font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;text-shadow:0 0 10px rgba(255,255,255,.5),0 0 22px rgba(120,180,255,.4)}
.hiw-ico{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);
  display:flex;align-items:center;justify-content:center;margin:14px 0 12px}
.hiw-ico svg{width:23px;height:23px;fill:none;stroke:#bcd4fb;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hiw-st b{font-family:var(--fd);font-weight:600;font-size:15px;color:rgba(255,255,255,.95);text-shadow:0 0 9px rgba(255,255,255,.4)}
.hiw-d{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.55;margin-top:4px;max-width:170px}
.hiw-link{flex:0 0 46px;height:42px;display:flex;align-items:center}
.hiw-link i{display:block;width:100%;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.14))}
.hiw-cta{display:inline-flex;align-items:center;gap:8px;margin-top:30px;font-family:var(--fd);font-weight:600;font-size:14.5px;
  color:#fff;border:1px solid rgba(255,255,255,.3);padding:11px 22px;border-radius:11px;text-decoration:none;transition:background .2s}
.hiw-cta:hover{background:rgba(255,255,255,.08)}
.hiw-cta svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.hiw-cta:hover svg{transform:translateX(4px)}
@media(max-width:760px){
  .hiw-row{flex-direction:column;align-items:stretch;max-width:360px;gap:0}
  .hiw-st{flex-direction:row;align-items:flex-start;text-align:left;gap:14px;padding:0}
  .hiw-st b{display:block}
  .hiw-ico{display:none}
  .hiw-d{max-width:none}
  .hiw-link{flex:0 0 auto;width:2px;height:26px;margin-left:20px;align-self:flex-start}
  .hiw-link i{width:2px;height:100%;background:linear-gradient(rgba(255,255,255,.3),rgba(255,255,255,.14))}
}
@media (prefers-reduced-motion: no-preference){
  html.js-motion .hiw-cta svg{animation:whyx-nudge 2.6s ease-in-out infinite}
}

/* ============================================================
   Home layout pass: hero at 80%, navy "Why choose us",
   navy "How it works" flowing straight into the footer.
   ============================================================ */
/* --- Hero scaled to 80% --- */
.hero{padding:83px 0 37px}
h1.title{font-size:clamp(26px,4.2vw,44px);letter-spacing:-.9px;margin:0 auto 19px;max-width:660px}
.hero .sub{font-size:clamp(14px,1.7vw,17px);max-width:480px}
.choose{margin:45px 0 18px}
@media(min-width:801px){.doors{gap:32px}}
.door{padding:43px 32px}
.door h3{font-size:26px;margin:0 0 13px}
.door p{font-size:13px;max-width:272px;margin:0 auto 22px}
.d-opt{font-size:10.5px;margin-bottom:10px}
.d-go{font-size:12.5px}
.d-go svg{width:14px;height:14px}

/* --- Why choose us: navy + white bloom (matches How it works) --- */
.whyx{background:none;background-color:#111f34;border:0;
  background-image:radial-gradient(760px 320px at 50% -10%,rgba(255,255,255,.12),transparent 60%),
    radial-gradient(120% 150% at 50% 0%,#2a3d5c 0%,#1b2c46 44%,#111f34 100%)}
.whyx-k{color:rgba(255,255,255,.5)}
.whyx-h{background:none;-webkit-background-clip:border-box;background-clip:border-box;
  color:rgba(255,255,255,.96);-webkit-text-fill-color:rgba(255,255,255,.96);
  text-shadow:0 0 13px rgba(255,255,255,.44),0 0 28px rgba(120,180,255,.34);animation:none}
.whyx-s{color:rgba(255,255,255,.62)}
.whyx-c{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13)}
.whyx-c:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);box-shadow:0 22px 42px -26px rgba(0,0,0,.6)}
.whyx-ic{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.whyx-ic svg{stroke:#bcd4fb}
.whyx-t{color:rgba(255,255,255,.95);text-shadow:0 0 9px rgba(255,255,255,.35)}
.whyx-d{color:rgba(255,255,255,.62)}
.whyx-link{background:none;-webkit-background-clip:border-box;background-clip:border-box;
  color:#fff;-webkit-text-fill-color:#fff}
.whyx-link svg{stroke:#fff}

/* --- The two navy sections read as one continuous region --- */
.hiw{margin-top:0}

/* --- Closing block at the end of How it works --- */
.hiw-close{margin-top:46px;padding-top:38px;border-top:1px solid rgba(255,255,255,.10)}
.hiw-closeh{font-family:var(--fd);font-weight:600;font-size:clamp(22px,3.2vw,30px);letter-spacing:-.7px;color:#fff;margin-bottom:9px}
.hiw-glow{font-weight:300;color:rgba(255,255,255,.9);text-shadow:0 0 10px rgba(255,255,255,.5),0 0 22px rgba(120,180,255,.4)}
.hiw-closep{font-size:14.5px;color:rgba(255,255,255,.62);max-width:430px;margin:0 auto 22px;line-height:1.6}
.hiw-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hiw-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:600;font-size:14.5px;
  padding:12px 24px;border-radius:11px;text-decoration:none;transition:.2s}
.hiw-btn svg{width:16px;height:16px;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.hiw-btn.primary{background:#fff;color:#14213a}
.hiw-btn.primary svg{stroke:#14213a}
.hiw-btn.primary:hover{background:#eef1f6}
.hiw-btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.hiw-btn.ghost svg{stroke:#fff}
.hiw-btn.ghost:hover{background:rgba(255,255,255,.08)}
.hiw-btn:hover svg{transform:translateX(4px)}

/* --- Footer sits on the navy, no seam --- */
body.home footer{background:#111f34;color:rgba(255,255,255,.48);padding:30px 0 40px}
body.home footer a{color:rgba(255,255,255,.72)}
body.home footer a:hover{color:#fff}

/* --- How it works: no number badges, arrows between steps --- */
.hiw-st .hiw-ico{margin:0 0 12px}
.hiw-link{flex:0 0 42px;height:50px;display:flex;align-items:center;justify-content:center}
.hiw-link svg{width:20px;height:20px;fill:none;stroke:rgba(255,255,255,.42);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
  .hiw-link{flex:0 0 auto;width:100%;height:22px;justify-content:flex-start;margin:0}
  .hiw-link svg{transform:rotate(90deg);margin-left:14px}
}

/* --- Footer: contact details --- */
.foot-contact{margin-bottom:14px;font-size:13.5px;line-height:1.9}
.foot-contact .fc-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;align-items:center}
.foot-contact .fc-sep{opacity:.4}
.foot-addr{font-size:13px;opacity:.85}

/* --- Home "How it works": white background, matching the light sections --- */
.hiw{background-color:#fff;background-image:none;border-top:1px solid var(--hair)}
.hiw-k{color:var(--label)}
.hiw-h{color:var(--ink);text-shadow:none;
  background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent}
.hiw-s{color:var(--muted)}
.hiw-ico{background:#eef1fb;border:1px solid #e2e8f5}
.hiw-ico svg{stroke:#2456b0}
.hiw-st b{color:var(--ink);text-shadow:none}
.hiw-d{color:var(--muted)}
.hiw-link svg{stroke:#b9c6dd}
/* closing block on white */
.hiw-close{border-top:1px solid var(--hair)}
.hiw-closeh{color:var(--ink)}
.hiw-glow{font-weight:600;text-shadow:none;
  background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent}
.hiw-closep{color:var(--muted)}
.hiw-btn.primary{background:#14213a;color:#fff}
.hiw-btn.primary svg{stroke:#fff}
.hiw-btn.primary:hover{background:#1e3152}
.hiw-btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--card-brd)}
.hiw-btn.ghost svg{stroke:var(--ink)}
.hiw-btn.ghost:hover{background:var(--chip-bg);border-color:#c9d8ef}

/* --- Closing CTA reads as the top of the footer block (navy) --- */
.foot-cta{background-color:#111f34;padding:54px 0 46px;text-align:center;
  background-image:radial-gradient(700px 260px at 50% 0%,rgba(255,255,255,.10),transparent 62%)}
.foot-cta .hiw-close{margin-top:0;padding-top:0;border-top:0}
.foot-cta .hiw-closeh{color:#fff}
.foot-cta .hiw-glow{font-weight:300;background:none;-webkit-background-clip:border-box;background-clip:border-box;
  color:rgba(255,255,255,.9);-webkit-text-fill-color:rgba(255,255,255,.9);
  text-shadow:0 0 10px rgba(255,255,255,.5),0 0 22px rgba(120,180,255,.4)}
.foot-cta .hiw-closep{color:rgba(255,255,255,.62)}
.foot-cta .hiw-btn.primary{background:#fff;color:#14213a}
.foot-cta .hiw-btn.primary svg{stroke:#14213a}
.foot-cta .hiw-btn.primary:hover{background:#eef1f6}
.foot-cta .hiw-btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.foot-cta .hiw-btn.ghost svg{stroke:#fff}
.foot-cta .hiw-btn.ghost:hover{background:rgba(255,255,255,.08)}
/* how-it-works no longer carries the closing block */
.hiw{padding-bottom:64px}
body.home footer{padding-top:26px}

/* --- One navy field + one white bloom across CTA and footer --- */
.foot-block{position:relative;background-color:#111f34;
  background-image:radial-gradient(900px 420px at 50% 0%,rgba(255,255,255,.13),transparent 66%)}
.foot-block .foot-cta{background-color:transparent;background-image:none}
body.home .foot-block footer{background:transparent}

/* ============================================================
   White page with exactly two rounded navy boxes:
   "Why choose us" and the closing CTA + footer block.
   ============================================================ */
.whyx{max-width:1160px;width:calc(100% - 52px);margin:96px auto 0;
  padding:0;border:0;border-radius:28px;overflow:hidden;
  background-color:#111f34;
  background-image:radial-gradient(760px 320px at 50% -6%,rgba(255,255,255,.12),transparent 62%),
    radial-gradient(120% 150% at 50% 0%,#2a3d5c 0%,#1b2c46 44%,#111f34 100%)}
.whyx > .wrap{max-width:none;padding:52px 34px 56px}

.foot-block{max-width:1160px;width:calc(100% - 52px);margin:0 auto 44px;
  border-radius:28px;overflow:hidden;
  background-color:#111f34;
  background-image:radial-gradient(900px 380px at 50% 0%,rgba(255,255,255,.13),transparent 66%)}
.foot-block .foot-cta{padding:48px 0 34px}
.foot-block .foot-cta > .wrap,.foot-block footer > .wrap{max-width:none;padding:0 34px}
body.home .foot-block footer{padding:0 0 40px}

/* the white "How it works" no longer needs a divider line above it */
.hiw{border-top:0;padding-bottom:70px}
@media(max-width:640px){
  .whyx,.foot-block{width:calc(100% - 32px);border-radius:22px}
  .whyx > .wrap{padding:42px 22px 46px}
  .foot-block .foot-cta > .wrap,.foot-block footer > .wrap{padding:0 22px}
}

/* ============================================================
   Reverted: "Why choose us" back to a white full-width section;
   footer block back to a wide full-bleed navy band with the bloom.
   ============================================================ */
.whyx{max-width:none;width:auto;margin:96px 0 0;border-radius:0;overflow:visible;
  background-color:#fff;background-image:none;
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
  padding:56px 0 60px}
.whyx > .wrap{max-width:1160px;padding:0 26px}
.whyx-k{color:var(--label)}
.whyx-h{background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}
.whyx-s{color:var(--muted)}
.whyx-c{background:#fff;border-color:var(--card-brd)}
.whyx-c:hover{background:#fff;border-color:#c9d8ef;box-shadow:0 22px 42px -26px rgba(24,40,74,.45)}
.whyx-ic{background:#eef1fb;border:1px solid #e2e8f5}
.whyx-ic svg{stroke:#2456b0}
.whyx-t{color:var(--ink);text-shadow:none}
.whyx-d{color:var(--muted)}
.whyx-link{background:var(--grad-headline);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent}
.whyx-link svg{stroke:#5a2f8a}

/* footer block: wide again */
.foot-block{max-width:none;width:auto;margin:0;border-radius:0;
  background-color:#111f34;
  background-image:radial-gradient(900px 420px at 50% 0%,rgba(255,255,255,.13),transparent 66%)}
.foot-block .foot-cta{padding:54px 0 40px}
.foot-block .foot-cta > .wrap,.foot-block footer > .wrap{max-width:1160px;padding:0 26px}
body.home .foot-block footer{padding:0 0 44px}
@media(max-width:640px){
  .whyx{width:auto;border-radius:0}
  .whyx > .wrap{padding:0 22px}
  .foot-block{width:auto;border-radius:0}
  .foot-block .foot-cta > .wrap,.foot-block footer > .wrap{padding:0 22px}
}

/* Footer navy matched exactly to the header (#14213a) */
.foot-block{background-color:#14213a}

/* --- Why choose us: the contrast (replaces the 4 boxes) --- */
.wc-table{max-width:640px;margin:0 auto 30px;text-align:left}
.wc-head{display:grid;grid-template-columns:1fr 46px 1fr;gap:14px;padding-bottom:11px;
  font-family:var(--fd);font-size:10.5px;letter-spacing:1.5px;font-weight:600;color:var(--label)}
.wc-h-old{text-align:right}
.wc-row{display:grid;grid-template-columns:1fr 46px 1fr;gap:14px;align-items:center;
  padding:14px 0;border-top:1px solid var(--hair)}
.wc-old{text-align:right;font-size:14px;color:#aab0be}
.wc-new{font-size:15px;font-weight:600;font-family:var(--fd);color:var(--ink)}
.wc-arrow{display:flex;justify-content:center}
.wc-arrow svg{width:17px;height:17px;fill:none;stroke:#c9d3e2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){
  .wc-head{display:none}
  .wc-row{grid-template-columns:1fr;gap:3px;padding:13px 0}
  .wc-old{text-align:left;font-size:12.5px;text-decoration:line-through;text-decoration-color:#d9e0ea}
  .wc-arrow{display:none}
  .wc-new{font-size:15px}
}

/* Contrast table: wider + larger type so it reads horizontally */
.wc-table{max-width:900px}
.wc-head{grid-template-columns:1fr 60px 1fr;gap:20px;font-size:11.5px;padding-bottom:12px}
.wc-row{grid-template-columns:1fr 60px 1fr;gap:20px;padding:15px 0}
.wc-old{font-size:15.5px}
.wc-new{font-size:18px}
.wc-arrow svg{width:19px;height:19px}
@media(max-width:600px){
  .wc-row{grid-template-columns:1fr;gap:3px;padding:13px 0}
  .wc-old{font-size:13px}
  .wc-new{font-size:16px}
}

/* Why choose us sits on a light blue-grey band so it reads as its own zone */
.whyx{background-color:#f1f4f9;border-top:1px solid #e6ebf2;border-bottom:1px solid #e6ebf2}
.wc-row{border-top-color:rgba(24,40,74,.09)}
