
  @keyframes fadeUp    { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
  @keyframes ticker    { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
  @keyframes menuSlide { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{-webkit-font-smoothing:antialiased;background:#F7FAFD;color:#042151;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;line-height:1.7;letter-spacing:-0.005em}
  ::selection{background:#D4F4F7;color:#0F2147}
  ::-webkit-scrollbar{width:5px}
  ::-webkit-scrollbar-track{background:#EBF0F8}
  ::-webkit-scrollbar-thumb{background:#0ABFC9;border-radius:3px}
  input,select,textarea{font-family:inherit}
  a{text-decoration:none}
  .fu{animation:fadeUp 0.6s ease both}
  .d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.30s}.d4{animation-delay:.44s}
  .btn-t{background:#0ABFC9;color:#fff;border:none;cursor:pointer;font-family:inherit;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:8px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px}
  .btn-t:hover{background:#0AA0AA;transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,191,201,0.30)}
  .btn-g{background:transparent;color:#0F2147;border:2px solid #DDE3EF;cursor:pointer;font-family:inherit;font-weight:600;border-radius:8px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:13px}
  .btn-g:hover{border-color:#0ABFC9;color:#0ABFC9}
  .slabel{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#0ABFC9;font-weight:700;margin-bottom:12px;display:block}
  .hdivider{height:1px;background:linear-gradient(90deg,transparent,rgba(10,191,201,0.2),transparent)}
  .tick-wrap{overflow:hidden;white-space:nowrap}
  .tick-inner{display:inline-flex;animation:ticker 34s linear infinite}
  .ci{background:#FFFFFF;border:1.5px solid #DDE3EF;border-radius:8px;padding:13px 14px;color:#0F2147;font-size:14px;width:100%;outline:none;transition:border .2s;font-family:inherit}
  .ci:focus{border-color:#0ABFC9;box-shadow:0 0 0 3px rgba(10,191,201,0.12)}
  .ci::placeholder{color:#8899AB}
  select.ci{cursor:pointer}
  .area-pill{background:#FFFFFF;border:1.5px solid #DDE3EF;border-radius:20px;padding:8px 16px;font-size:13px;color:#4B5E78;transition:all .2s;cursor:default}
  .area-pill:hover{border-color:#0ABFC9;color:#0ABFC9;background:#D4F4F7}
  .chip{background:#F0F5FC;border:1.5px solid #DDE3EF;border-radius:20px;padding:6px 14px;font-size:12px;color:#4B5E78;font-weight:600}
  .spec-tag{background:#D4F4F7;border:1.5px solid rgba(10,191,201,0.3);border-radius:20px;padding:4px 12px;font-size:11px;color:#0ABFC9;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:inline-block}
  .svc-card{background:#FFFFFF;border:1.5px solid #DDE3EF;border-radius:16px;padding:28px;transition:all .25s;cursor:pointer}
  .svc-card:hover{border-color:#0ABFC9;transform:translateY(-4px);box-shadow:0 16px 40px rgba(15,33,71,0.10)}
  .info-card{background:#FFFFFF;border:1.5px solid #DDE3EF;border-radius:16px;padding:28px;transition:all .25s}
  .info-card:hover{border-color:#0ABFC9;transform:translateY(-3px);box-shadow:0 12px 32px rgba(15,33,71,0.09)}
  .faq-item{background:#FFFFFF;border:1.5px solid #DDE3EF;border-radius:12px;overflow:hidden;transition:border .2s}
  .faq-item.open{border-color:#0ABFC9}
  .faq-q{width:100%;background:none;border:none;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:inherit;color:#0F2147;font-size:15px;font-weight:600;text-align:left;gap:16px}
  .nav-desktop{display:flex;align-items:center;gap:24px}
  .nav-link{background:none;border:none;font-family:inherit;cursor:pointer;font-size:14.5px;letter-spacing:0;color:#4A5C73;transition:color .2s;padding:0}
  .nav-link:hover{color:#0F2147}
  .hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;background:none;border:none;padding:10px;margin:-10px -10px -10px 0;min-width:44px;min-height:44px;z-index:200}
  .ham-line{width:24px;height:2px;background:#0F2147;border-radius:2px;transition:all .3s}
  .ham-open .ham-line:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .ham-open .ham-line:nth-child(2){opacity:0}
  .ham-open .ham-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;background:#FFFFFF;border-bottom:1px solid #DDE3EF;padding:20px 24px 28px;flex-direction:column;gap:0;z-index:99;animation:menuSlide .2s ease;box-shadow:0 8px 32px rgba(15,33,71,0.1);max-height:calc(100vh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .mobile-menu.is-open{display:flex}
  .mob-link{padding:14px 0;border-bottom:1px solid #EBF0F8;font-size:15px;color:#0F2147;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;font-family:inherit;text-align:left;width:100%;transition:color .2s;display:block;text-decoration:none}
  .mob-link:hover,.mob-link:focus{color:#0ABFC9}
  .mob-cta-bar{display:none}
  .hero-reviews-mob{display:none}
  h1,h2,h3,h4{letter-spacing:-0.025em;line-height:1.15}
  strong,b{font-weight:700}
  .btn-t{letter-spacing:.06em;border-radius:10px;box-shadow:0 2px 10px rgba(10,191,201,0.22)}
  .btn-t:hover{box-shadow:0 10px 28px rgba(10,191,201,0.34)}
  .btn-g{border-radius:10px;border-width:1.5px}
  .btn-g:hover{background:rgba(10,191,201,0.06)}
  .ci{border-radius:10px}
  .svc-card,.info-card{border-radius:18px;box-shadow:0 1px 3px rgba(15,33,71,0.05)}
  .faq-item{border-radius:14px}
  .chip,.area-pill,.spec-tag{letter-spacing:.01em}
  .slabel{letter-spacing:.18em}
  a,button{-webkit-tap-highlight-color:transparent}
  a:focus-visible,button:focus-visible,.ci:focus-visible{outline:3px solid rgba(10,191,201,0.45);outline-offset:2px}
  img{max-width:100%}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
  @media(max-width:768px){
    .nav-desktop{display:none!important}
    .hamburger{display:flex!important}
    .hero-flex{flex-direction:column!important}
    .hero-right{width:100%!important;max-width:none!important;flex:none!important}
    .two-col{grid-template-columns:1fr!important}
    .contact-grid{grid-template-columns:1fr!important}
    .hide-mob{display:none!important}
    .cta-row{flex-direction:column!important}
    .cta-row>*{width:100%!important;text-align:center!important;justify-content:center!important}
    .footer-links{display:flex!important;flex-direction:column!important;gap:14px}
    .adviser-grid{grid-template-columns:1fr!important}
    .section-inner{padding-left:18px!important;padding-right:18px!important}
    .adviser-specs{flex-wrap:wrap!important;gap:6px!important}
    body{padding-bottom:70px}
    .hero-reviews-mob{display:flex!important}
    .faq-q,.mob-link{min-height:44px}
    .mob-cta-bar{display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:500;border-top:2px solid #0ABFC9;background:#fff;padding-bottom:env(safe-area-inset-bottom,0px)}
  }
  @media(max-width:480px){
    .three-col{grid-template-columns:1fr!important}
    .result-grid{grid-template-columns:1fr!important}
  }

/* =====================================================================
   YLME design system
   One radius scale, one spacing scale, one type scale — desktop and mobile.
   --r-sm 8  · pills, tags, small controls
   --r-md 10 · buttons, inputs, links-as-buttons
   --r-lg 14 · cards
   --r-xl 18 · feature panels
   ===================================================================== */
:root{
  --navy:#042151; --navy2:#0B2E63; --teal:#0197B8; --teal2:#01A2C2; --teal-dk:#017A96;
  --wash:#E4F3F8; --mist:#EEF7FE; --page:#F7FAFD; --line:#E4EBF3; --body:#4A5C73; --soft:#7C8CA0;
  --r-sm:8px; --r-md:10px; --r-lg:14px; --r-xl:18px;
  --sp-sec:clamp(44px,6vw,84px); --sp-tight:clamp(28px,4vw,52px);
  --gut:clamp(18px,5vw,24px);
}
body{background:var(--page);color:var(--navy);letter-spacing:-0.005em;line-height:1.65}
::selection{background:var(--wash);color:var(--navy)}
::-webkit-scrollbar-thumb{background:var(--teal)}
::-webkit-scrollbar-track{background:var(--mist)}

/* ---------- buttons: one shape ---------- */
.btn-t{background:var(--teal);border-radius:var(--r-md);text-transform:none;letter-spacing:0;font-weight:700;
  font-size:14px;padding:13px 22px;box-shadow:0 1px 2px rgba(4,33,81,.06),0 6px 18px rgba(1,151,184,.20)}
.btn-t:hover{background:var(--teal-dk);transform:translateY(-2px);box-shadow:0 10px 26px rgba(1,151,184,.30)}
.btn-g{background:#fff;color:var(--navy);border:1.5px solid var(--line);border-radius:var(--r-md);
  font-weight:700;font-size:14px;padding:13px 22px;box-shadow:0 1px 2px rgba(4,33,81,.04)}
.btn-g:hover{border-color:var(--teal);color:var(--teal);background:#fff}
.btn-onnavy{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.10);
  color:#fff;border:1.5px solid rgba(255,255,255,.34);border-radius:var(--r-md);font-family:inherit;font-weight:700;
  cursor:pointer;text-decoration:none;transition:all .2s}
.btn-onnavy:hover{background:rgba(255,255,255,.18);border-color:#fff}

/* ---------- pills and tags: same corner language as buttons ---------- */
.chip{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--body);font-weight:600;
  padding:7px 13px;font-size:12.5px}
.area-pill{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--body);
  padding:8px 14px;font-size:13px;transition:all .2s}
.area-pill:hover{border-color:var(--teal);color:var(--teal);background:var(--wash)}
.area-pill.is-all{border-color:var(--teal);color:var(--teal);background:var(--wash);font-weight:700}
.spec-tag{background:var(--wash);border:1px solid rgba(1,151,184,.22);color:var(--teal);border-radius:var(--r-sm);
  text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:700;padding:5px 10px;display:inline-block}
.cat-tag{display:inline-block;background:var(--wash);color:var(--teal);font-size:11px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-sm);align-self:flex-start}
.cat-btn{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:9px 16px;font-size:13.5px;
  font-weight:600;color:var(--body);cursor:pointer;font-family:inherit;transition:all .2s}
.cat-btn:hover{border-color:var(--teal);color:var(--teal)}
.cat-btn.is-on{background:var(--teal);border-color:var(--teal);color:#fff}
.ans-chip{display:inline-flex;align-items:center;gap:7px;background:var(--wash);border:1px solid rgba(1,151,184,.24);
  color:var(--teal);border-radius:var(--r-sm);padding:7px 12px;font-size:12.5px;font-weight:700;cursor:pointer;
  font-family:inherit;transition:all .2s}
.ans-chip:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.ans-chip:hover svg{stroke:#fff}
.ci{border:1.5px solid var(--line);border-radius:var(--r-md);color:var(--navy)}
.ci:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(1,151,184,.14)}
.slabel{color:var(--teal);letter-spacing:.15em;font-size:11.5px;font-weight:700;text-transform:uppercase;
  display:block;margin-bottom:10px}

/* ---------- cards ---------- */
.svc-card,.info-card{border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:0 1px 2px rgba(4,33,81,.04),0 2px 8px rgba(4,33,81,.04)}
.svc-card:hover,.info-card:hover{border-color:var(--teal);box-shadow:0 12px 34px rgba(4,33,81,.10)}
.faq-item{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.faq-item.open{border-color:var(--teal)}
.faq-q{color:var(--navy);font-weight:700;font-size:15px}
.nav-link{text-transform:none;letter-spacing:0;font-size:14.5px;font-weight:600;color:var(--body)}
.nav-link:hover{color:var(--teal)}
.mob-link{color:var(--navy);font-size:15.5px;border-bottom:1px solid #EEF3F9}
/* Sub-rows inside Services / Areas. The icon is an inline SVG rendered as a
   block, which pushed the label onto a second line and made the row look
   cramped; a flex row puts them on one line and centres them properly. */
.mob-sublink{
  display:flex!important;align-items:center;gap:12px;
  padding:13px 0 13px 4px!important;font-size:14.5px!important;font-weight:600;
  min-height:48px;
}
.mob-sublink .mob-ic{
  width:32px;height:32px;flex-shrink:0;border-radius:var(--r-sm);
  background:var(--mist);display:inline-flex;align-items:center;justify-content:center;
}
.mob-call{display:flex!important;align-items:center;justify-content:center;gap:9px}
.ham-line{background:var(--navy)}

/* ---------- section rhythm ---------- */
.sec{padding:var(--sp-sec) var(--gut)}
.sec-tight{padding-top:var(--sp-tight);padding-bottom:var(--sp-tight)}
.sec-page{background:var(--page)}
.sec-mist{background:var(--mist)}
.sec-white{background:#fff}
.sec-head{text-align:center;max-width:640px;margin:0 auto clamp(26px,3.4vw,40px)}
.sec-h2{font-size:clamp(23px,3.1vw,36px);font-weight:800;color:var(--navy);letter-spacing:-.03em;
  line-height:1.15;margin-bottom:12px}
.sec-lede{font-size:clamp(14.5px,1.6vw,16.5px);color:var(--body);line-height:1.7}
.sec-next{display:flex;justify-content:center;margin-top:clamp(24px,3vw,34px)}

/* ---------- hero ---------- */
.hero-wrap{position:relative;overflow:hidden;padding:clamp(92px,11vw,150px) var(--gut) clamp(44px,6vw,88px);
  background:linear-gradient(160deg,#EEF7FE 0%,#F6FBFF 52%,#FFF 100%)}
.hero-inner{position:relative;z-index:2;display:flex;gap:clamp(26px,4vw,60px);align-items:center}
.hero-copy{flex:1 1 520px;min-width:0}
.hero-card-col{flex:0 1 400px;width:100%}
.hero-geo{position:absolute;top:72px;right:0;width:42%;height:calc(100% - 72px);z-index:1;pointer-events:none;
  clip-path:polygon(26% 0,100% 0,100% 100%,0 100%)}
.hero-h1{font-size:clamp(30px,5vw,58px);font-weight:800;color:var(--navy);letter-spacing:-.035em;
  line-height:1.07;margin-bottom:16px}
.hero-sub{font-size:clamp(14.5px,1.7vw,17.5px);color:var(--body);line-height:1.65;max-width:520px;margin-bottom:18px}
.hero-rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:22px}
.hero-rating-score{font-weight:800;color:var(--navy);font-size:15px}
.hero-rating-link{color:var(--body);font-size:14px;text-decoration:none;border-bottom:1px solid var(--line);
  display:inline-flex;align-items:center;min-height:32px}
.hero-rating-link:hover{color:var(--teal);border-color:var(--teal)}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.hero-btn{padding:14px 24px;font-size:14.5px;text-decoration:none}
.cover-row{list-style:none;display:flex;flex-wrap:wrap;gap:6px 8px;font-size:12.5px;color:var(--soft);margin:0}
.cover-row li{position:relative;padding-right:10px}
.cover-row li::after{content:"·";position:absolute;right:2px;color:#C3CEDC}
.cover-row li:last-child::after{content:none}
.cover-all{color:var(--teal);font-weight:700}

/* ---------- starting-point card ---------- */
.start-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(18px,2.4vw,26px);
  box-shadow:0 4px 12px rgba(4,33,81,.06),0 24px 60px rgba(4,33,81,.12)}
.start-title{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.02em;margin-bottom:3px}
.start-lede{font-size:13.5px;color:var(--soft);margin-bottom:14px}
.start-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}
.start-tile{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);padding:14px 9px;cursor:pointer;
  font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .18s;min-height:92px;
  justify-content:center}
.start-tile span{font-size:12.5px;font-weight:700;color:var(--navy);text-align:center;line-height:1.3}
.start-tile:hover{border-color:var(--teal)}
.start-tile.is-on{border-color:var(--teal);background:var(--wash)}
.start-go{width:100%;padding:14px 0;font-size:14.5px;justify-content:center}
.start-points{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;justify-content:center}
.start-points li{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--body);font-weight:600}

/* ---------- trust bar ---------- */
.trust-shell{padding:0 var(--gut);margin-top:-34px;position:relative;z-index:5}
.trust-bar{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:0 2px 6px rgba(4,33,81,.05),0 12px 32px rgba(4,33,81,.08);
  display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{display:flex;align-items:center;gap:12px;padding:18px 20px;border-left:1px solid var(--line);min-width:0}
.trust-item:first-child{border-left:none}
.trust-ic{width:38px;height:38px;border-radius:var(--r-md);background:var(--wash);display:inline-flex;
  align-items:center;justify-content:center;flex-shrink:0}
.trust-txt{display:flex;flex-direction:column;min-width:0}
.trust-txt strong{font-size:14.5px;font-weight:700;color:var(--navy);line-height:1.25}
.trust-txt em{font-style:normal;font-size:12px;color:var(--soft);line-height:1.35;margin-top:2px}

/* ---------- service cards ---------- */
.svc-band{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.svc-ic{width:46px;height:46px;border-radius:var(--r-md);background:var(--wash);display:inline-flex;
  align-items:center;justify-content:center;flex-shrink:0}
.svc-card-v2{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:24px;display:flex;
  flex-direction:column;text-decoration:none;box-shadow:0 1px 2px rgba(4,33,81,.04);transition:all .22s}
.svc-card-v2:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:0 16px 40px rgba(4,33,81,.11)}
.svc-title{font-size:16.5px;font-weight:800;color:var(--navy);letter-spacing:-.015em;margin:16px 0 8px;line-height:1.25}
.svc-copy{font-size:13.5px;color:var(--body);line-height:1.65;flex:1}
.svc-foot{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:700;font-size:13.5px;margin-top:16px}
.svc-arrow{width:34px;height:34px;border-radius:var(--r-md);border:1.5px solid var(--line);display:inline-flex;
  align-items:center;justify-content:center;transition:all .22s;flex-shrink:0}
.svc-wide:hover .svc-arrow{border-color:var(--teal);background:var(--wash)}
.svc-more{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.svc-wide{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-xl);padding:20px 22px;text-decoration:none;box-shadow:0 1px 2px rgba(4,33,81,.04);transition:all .22s}
.svc-wide:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 14px 34px rgba(4,33,81,.10)}
.svc-wide-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.svc-wide-txt strong{font-size:15.5px;font-weight:800;color:var(--navy);margin-bottom:4px}
.svc-wide-txt span{font-size:13.5px;color:var(--body);line-height:1.6}

/* ---------- why / stats ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-cell{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 20px;
  display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(4,33,81,.04)}
.stat-ic{width:38px;height:38px;border-radius:var(--r-md);background:var(--wash);display:inline-flex;
  align-items:center;justify-content:center;margin-bottom:14px}
.stat-big{font-size:clamp(24px,2.6vw,30px);font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1}
.stat-lab{font-size:14px;font-weight:700;color:var(--navy);margin-top:6px}
.stat-sub{font-size:12.5px;color:var(--soft);line-height:1.5;margin-top:4px}

/* ---------- advisers ---------- */
.adviser-grid-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.adv-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;
  box-shadow:0 1px 2px rgba(4,33,81,.04);display:flex;flex-direction:column}
.adv-photo{aspect-ratio:4/3;overflow:hidden;background:var(--wash)}
.adv-photo img{width:100%;height:100%;object-fit:cover;object-position:center 14%;display:block}
.adv-body{padding:22px;display:flex;flex-direction:column;flex:1}
.adv-name{font-size:17.5px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.adv-role{font-size:12px;font-weight:700;color:var(--teal);letter-spacing:.04em;text-transform:uppercase;margin:4px 0 12px}
.adv-bio{font-size:13.5px;color:var(--body);line-height:1.65;margin-bottom:14px;flex:1}
.adv-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.adv-cta{padding:12px 0;font-size:13.5px;justify-content:center;text-decoration:none}

/* ---------- calculator promo ---------- */
.calc-promo{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-xl);padding:clamp(20px,3vw,30px);box-shadow:0 2px 6px rgba(4,33,81,.05),0 12px 32px rgba(4,33,81,.07)}
.calc-ic{width:52px;height:52px;border-radius:var(--r-lg);background:var(--wash);display:inline-flex;
  align-items:center;justify-content:center;flex-shrink:0}
.calc-txt{flex:1;min-width:220px}
.calc-txt h2{font-size:clamp(18px,2.1vw,23px);font-weight:800;color:var(--navy);letter-spacing:-.025em;margin-bottom:6px}
.calc-txt p{font-size:14px;color:var(--body);line-height:1.6}
.calc-cta{flex-shrink:0;text-decoration:none}

/* ---------- reviews ---------- */
.rev-summary{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center;font-size:14px;color:var(--soft)}
.rev-summary strong{color:var(--navy);font-weight:800}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.rev-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;
  box-shadow:0 1px 2px rgba(4,33,81,.04);display:flex;flex-direction:column}
.rev-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.rev-card blockquote{font-size:13.5px;color:var(--body);line-height:1.7;margin-bottom:14px;flex:1}
.rev-card figcaption{font-size:12.5px;color:var(--soft);display:flex;align-items:center;gap:6px}
.rev-card figcaption strong{color:var(--navy);font-weight:700}

/* ---------- areas ---------- */
.area-wrap{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px}
.area-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.area-link{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:9px 15px;font-size:13px;
  color:var(--navy);font-weight:600;text-decoration:none;transition:all .2s}
.area-link:hover{border-color:var(--teal);color:var(--teal)}
.area-link.is-lead{border-color:var(--teal);color:var(--teal);font-weight:700}

/* ---------- guides ---------- */
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}
.guide-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:24px;display:flex;
  flex-direction:column;text-decoration:none;box-shadow:0 1px 2px rgba(4,33,81,.04);transition:all .22s}
.guide-card:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:0 16px 40px rgba(4,33,81,.11)}
.guide-title{font-size:16px;font-weight:800;color:var(--navy);letter-spacing:-.015em;line-height:1.35;margin:12px 0 10px}
.guide-copy{font-size:13.5px;color:var(--body);line-height:1.65;flex:1}
.guide-foot{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:700;font-size:13.5px;margin-top:14px}

/* ---------- final CTA + contact ---------- */
.final-cta{padding:clamp(44px,6vw,86px) var(--gut);background:linear-gradient(150deg,var(--navy) 0%,var(--navy2) 100%)}
.final-h2{font-size:clamp(24px,3.3vw,38px);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.14;margin-bottom:12px}
.final-lede{font-size:clamp(14.5px,1.7vw,16.5px);color:rgba(255,255,255,.76);line-height:1.65;margin-bottom:24px}
.final-btn{padding:16px 30px;font-size:15.5px;text-decoration:none}
.final-alt{margin:28px 0 14px;font-size:13px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.final-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left}
.fc-card{display:flex;align-items:center;gap:13px;padding:15px 17px;border-radius:var(--r-md);
  background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.16);text-decoration:none;transition:all .2s}
.fc-card:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.42);transform:translateY(-2px)}
.fc-ic{width:40px;height:40px;border-radius:var(--r-md);background:rgba(255,255,255,.12);display:inline-flex;
  align-items:center;justify-content:center;flex-shrink:0}
.fc-txt{display:flex;flex-direction:column;min-width:0}
.fc-txt strong{color:#fff;font-size:14.5px;font-weight:700}
.fc-txt em{font-style:normal;color:rgba(255,255,255,.62);font-size:12.5px;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- moving banner ----------
   Was a full-bleed navy slab of shouty uppercase white text with a hard cut at
   each edge. Now a quiet rail of chips on a light ground, with the edges
   masked so items fade in and out instead of being chopped off. */
.tickerbar{
  background:var(--page);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:14px 0;
  overflow:hidden;
}
.tick-wrap{
  overflow:hidden;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 90px,#000 calc(100% - 90px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 90px,#000 calc(100% - 90px),transparent 100%);
}
.tick-inner{display:inline-flex;gap:10px;animation:ticker 64s linear infinite;will-change:transform}
.tick-item{
  display:inline-flex;align-items:center;gap:9px;flex-shrink:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:8px 15px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  color:var(--navy);
  line-height:1.2;
}
.tick-mark{
  width:6px;height:6px;border-radius:50%;flex-shrink:0;
  background:var(--teal);
  box-shadow:0 0 0 3px rgba(1,151,184,.14);
}
.tick-wrap:hover .tick-inner{animation-play-state:paused}
/* the global prefers-reduced-motion rule stops the animation; without it the
   rail would sit frozen mid-scroll, so start it from the beginning instead */
@media(prefers-reduced-motion:reduce){
  .tick-inner{transform:none!important}
  .tick-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ---------- wizard ---------- */
.wiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wiz-back{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--body);font-size:13.5px;
  font-weight:600;cursor:pointer;font-family:inherit;padding:10px 6px;margin-left:-6px;border-radius:var(--r-sm);min-height:38px}
.wiz-back:hover{color:var(--teal)}
.wiz-back:hover svg{stroke:var(--teal)}

/* ---------- article ---------- */
.tbl-wrap{overflow-x:auto;margin:6px 0 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.post-tbl{width:100%;border-collapse:collapse;font-size:14.5px;min-width:440px}
.post-tbl th{background:var(--mist);color:var(--navy);font-weight:700;text-align:left;padding:13px 16px;
  border-bottom:1px solid var(--line);white-space:nowrap}
.post-tbl td{padding:12px 16px;color:var(--body);border-bottom:1px solid #EEF3F9;vertical-align:top}
.post-tbl tr:last-child td{border-bottom:none}
.post-note{display:flex;gap:13px;align-items:flex-start;background:var(--mist);border:1px solid var(--line);
  border-left:3px solid var(--teal);border-radius:var(--r-lg);padding:17px 19px;margin:6px 0 8px}
.author-box{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-xl);padding:24px;box-shadow:0 1px 2px rgba(4,33,81,.04)}

/* =====================================================================
   Responsive
   ===================================================================== */
@media(max-width:1080px){
  .svc-band{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .trust-bar{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(3){border-left:none}
  .trust-item:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:860px){
  /* headline and proof, then the form, then the secondary actions */
  .hero-inner{flex-direction:column;align-items:stretch}
  .hero-copy{display:contents}
  .hero-head{order:1}
  .hero-card-col{order:2;flex:none;max-width:460px;margin:0 auto;width:100%}
  .hero-tail{order:3;max-width:460px;margin:0 auto;width:100%}
  .hero-geo,.hero-lines{display:none}
  .hero-inner{gap:18px}
  .hero-head{margin-bottom:0}
  .hero-head .hero-rating{margin-bottom:0}
  .hero-tail{margin-top:2px}
  .start-points{gap:6px 14px;margin-top:12px}
  .svc-more{grid-template-columns:1fr}
  .calc-promo{flex-direction:column;align-items:flex-start}
  .calc-cta{width:100%;justify-content:center}
  .final-contact{grid-template-columns:1fr}
}
@media(max-width:640px){
  /* mobile density: shorter sections, tighter type, no orphan cards */
  :root{--sp-sec:38px;--sp-tight:26px}
  .hero-wrap{padding-top:88px;padding-bottom:34px}
  .hero-h1{font-size:29px;line-height:1.1}
  .hero-sub{font-size:14.5px;line-height:1.6;margin-bottom:16px}
  /* the starting-point card already carries the primary action on mobile */
  .hero-btn-primary{display:none}
  .hero-cta{flex-direction:column;gap:9px;margin-bottom:16px}
  .hero-btn{width:100%;justify-content:center;padding:14px 18px}
  .cover-row{font-size:12px;gap:5px 7px}
  .trust-shell{margin-top:-22px}
  .trust-bar{grid-template-columns:1fr 1fr}
  .trust-item{padding:14px 12px;gap:10px;border-left:none;border-top:1px solid var(--line)}
  .trust-item:nth-child(1),.trust-item:nth-child(2){border-top:none}
  .trust-item:nth-child(even){border-left:1px solid var(--line)}
  .trust-ic{width:32px;height:32px}
  .trust-txt strong{font-size:13px}
  .trust-txt em{font-size:11px}
  .sec-head{margin-bottom:22px}
  .svc-band{grid-template-columns:1fr;gap:11px}
  .svc-card-v2{padding:18px;flex-direction:row;align-items:flex-start;gap:14px;flex-wrap:wrap}
  .svc-card-v2 .svc-ic{width:42px;height:42px}
  .svc-title{margin:0;font-size:16px;flex:1 1 auto;align-self:center}
  .svc-copy{flex:1 1 100%;font-size:13.5px;margin-top:-2px}
  .svc-foot{margin-top:8px;flex:1 1 100%}
  .svc-card-v2{gap:12px 14px}
  .svc-wide{padding:18px;gap:12px 14px;flex-wrap:wrap;align-items:flex-start}
  .svc-wide .svc-ic{width:42px;height:42px}
  .svc-wide-txt{flex:1 1 auto;align-self:center}
  .svc-wide-txt strong{margin-bottom:0;font-size:16px}
  .svc-wide-txt span{flex:1 1 100%;font-size:13.5px;margin-top:8px;display:block}
  .svc-wide .svc-arrow{order:3}
  .stats-grid{grid-template-columns:1fr 1fr;gap:10px}
  .stat-cell{padding:16px 14px}
  .stat-ic{width:32px;height:32px;margin-bottom:10px}
  .stat-lab{font-size:13px}
  .stat-sub{font-size:11.5px}
  .adv-photo{aspect-ratio:5/4}
  .adv-body{padding:18px}
  .rev-extra{display:none}          /* three reviews is enough on a phone */
  .rev-grid{gap:11px}
  .rev-card{padding:18px}
  .area-links .area-link:nth-child(n+9){display:none}
  .guide-grid{gap:12px}
  .guide-card{padding:20px}
  .final-cta{padding-top:40px;padding-bottom:44px}
  .final-btn{width:100%;justify-content:center;padding:16px 20px}
  .final-alt{margin:22px 0 12px;font-size:12px}
  .fc-card{padding:13px 15px}
  .tick-item{font-size:12px;padding:7px 13px;gap:8px}
  .tick-inner{gap:8px}
  .tickerbar{padding:12px 0}
  .tick-wrap{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);
             mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}
  .tickerbar{padding:11px 0}
  .wiz-grid{grid-template-columns:1fr}
  .post-tbl{font-size:13.5px}
  .footer-links{gap:22px!important}
}
@media(max-width:400px){
  .start-grid{grid-template-columns:1fr 1fr;gap:8px}
  .start-tile{min-height:84px;padding:12px 6px}
  .start-tile span{font-size:11.5px}
  .trust-bar{grid-template-columns:1fr}
  .trust-item:nth-child(even){border-left:none}
  .trust-item:nth-child(2){border-top:1px solid var(--line)}
}

/* ---------- mobile sticky action bar ---------- */
.mob-cta-bar{display:none}
@media(max-width:860px){
  .mob-cta-bar{display:block!important;border-top:none!important;position:fixed;left:0;right:0;bottom:0;z-index:500;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    background:linear-gradient(to top,rgba(247,250,253,.98) 62%,rgba(247,250,253,0));
    pointer-events:none}
  .mcb-inner{display:flex;gap:8px;align-items:stretch;max-width:520px;margin:0 auto;pointer-events:auto}
  .mcb-ic{width:48px;flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;
    background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);text-decoration:none;
    box-shadow:0 2px 10px rgba(4,33,81,.10);transition:all .2s}
  .mcb-ic:active{transform:scale(.96)}
  .mcb-go{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--teal);
    color:#fff;font-weight:700;font-size:14.5px;border-radius:var(--r-md);text-decoration:none;padding:14px 12px;
    box-shadow:0 4px 16px rgba(1,151,184,.34);transition:all .2s}
  .mcb-go:active{transform:scale(.98)}
  body{padding-bottom:82px}
}

/* ---------- typography system ----------
   Archivo (self-hosted) for headings, Arial for everything readable.
   Two families only; hierarchy carried by size, weight and tracking. */
:root{--head:'Archivo','Arial Narrow',Arial,sans-serif;
  --body-font:Arial,'Helvetica Neue',Helvetica,sans-serif}
body,input,select,textarea,button{font-family:var(--body-font)}
h1,h2,h3,h4,h5,.hero-h1,.sec-h2,.start-title,.svc-title,.stat-big,.guide-title,
.adv-name,.final-h2,.calc-txt h2,.svc-wide-txt strong,.trust-txt strong{font-family:var(--head)}
h1,.hero-h1{font-weight:800;letter-spacing:-.035em;line-height:1.06}
h2,.sec-h2,.final-h2{font-weight:800;letter-spacing:-.03em;line-height:1.14}
h3,.svc-title,.guide-title,.adv-name,.start-title{font-weight:700;letter-spacing:-.02em;line-height:1.25}
h4{font-weight:700;letter-spacing:-.015em}
.stat-big{font-weight:800;letter-spacing:-.035em}
.slabel{font-family:var(--body-font);font-weight:700}
p,li,blockquote,figcaption,label,td,th{font-family:var(--body-font)}
/* body copy sizing that holds up on a phone */
p{font-size:15.5px;line-height:1.7}
@media(min-width:861px){p{font-size:16px;line-height:1.72}}

/* =====================================================================
   Location landing pages
   ===================================================================== */
.loc-hero{position:relative;overflow:hidden;padding:clamp(88px,10vw,132px) var(--gut) clamp(36px,5vw,64px);
  background:linear-gradient(160deg,#EEF7FE 0%,#F6FBFF 55%,#FFF 100%)}
.loc-hero-inner{position:relative;z-index:2;display:flex;gap:clamp(24px,4vw,56px);align-items:center}
.loc-hero-copy{flex:1 1 540px;min-width:0}
.loc-card-points{list-style:none;display:grid;gap:9px;margin:0 0 16px}
.loc-card-points li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--body);line-height:1.5}
.loc-card-points li svg{margin-top:2px}
.start-note{font-size:12.5px;color:var(--soft);text-align:center;margin-top:11px;line-height:1.55}
.loc-warn-lede{font-size:13.5px;color:var(--body);line-height:1.65;background:#FFF7E6;border:1px solid #F2DFAE;
  border-left:3px solid #E0A828;border-radius:var(--r-sm);padding:12px 14px;margin-bottom:14px}
.loc-para{font-size:16px;color:var(--body);line-height:1.8;margin-bottom:16px}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.loc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:24px;
  box-shadow:0 1px 2px rgba(4,33,81,.04)}
.loc-card-h{font-size:16.5px;color:var(--navy);margin-bottom:9px}
.loc-card-p{font-size:14px;color:var(--body);line-height:1.7}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.who-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;display:flex;
  flex-direction:column;text-decoration:none;box-shadow:0 1px 2px rgba(4,33,81,.04);transition:all .22s}
.who-card:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 14px 34px rgba(4,33,81,.10)}
.who-h{font-size:16px;color:var(--navy);margin:14px 0 7px}
.who-p{font-size:13.5px;color:var(--body);line-height:1.65;flex:1}
.remote-band{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-xl);padding:clamp(20px,3vw,28px);box-shadow:0 2px 6px rgba(4,33,81,.05)}
.proc-list{list-style:none;display:grid;gap:12px;margin:0;counter-reset:step}
.proc-item{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:20px 22px;box-shadow:0 1px 2px rgba(4,33,81,.04)}
.proc-num{font-family:var(--head);font-weight:800;font-size:15px;color:var(--teal);background:var(--wash);
  width:38px;height:38px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.proc-h{font-size:16px;color:var(--navy);margin-bottom:5px}
.proc-p{font-size:14px;color:var(--body);line-height:1.7}
.art-h2{font-size:clamp(20px,2.4vw,27px);color:var(--navy);margin-bottom:14px}
.art-list{list-style:none;display:grid;gap:11px;margin:4px 0 16px}
.art-list li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;color:var(--body);line-height:1.75}
.art-li-ic{flex-shrink:0;margin-top:3px}
.art-list strong{color:var(--navy)}

/* =====================================================================
   Debt consolidation calculator
   ===================================================================== */
.calc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(20px,3vw,32px);box-shadow:0 2px 6px rgba(4,33,81,.05),0 14px 40px rgba(4,33,81,.08)}
.calc-h{font-size:clamp(20px,2.5vw,27px);color:var(--navy);margin-bottom:9px}
.calc-lede{font-size:14.5px;color:var(--body);line-height:1.7;margin-bottom:20px}
.calc-rows{display:grid;gap:10px}
.calc-head-row{display:grid;grid-template-columns:1.15fr 1fr 1fr 40px;gap:10px;font-size:11.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--soft);padding:0 2px}
.calc-row{display:grid;grid-template-columns:1.15fr 1fr 1fr 40px;gap:10px;align-items:end}
.calc-field{display:flex;flex-direction:column;min-width:0}
.calc-lab{display:none;font-size:12px;font-weight:700;color:var(--body);margin-bottom:5px}
.calc-field .ci{width:100%;padding:12px 13px;font-size:15px}
.calc-money{position:relative;display:block}
.calc-money em{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--soft);
  font-size:14.5px;pointer-events:none}
.calc-money em.suffix{left:auto;right:12px}
.calc-money input{padding-left:26px!important}
.calc-terms .calc-money input{padding-left:13px!important;padding-right:56px!important}
.calc-del{width:40px;height:44px;border:1.5px solid var(--line);background:#fff;border-radius:var(--r-md);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s}
.calc-del:hover:not(:disabled){border-color:#B4344A;background:#FFF5F6}
.calc-del:disabled{cursor:not-allowed;opacity:.5}
.calc-add{margin-top:12px;background:var(--wash);border:1.5px dashed rgba(1,151,184,.4);color:var(--teal);
  border-radius:var(--r-md);padding:11px 18px;font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;
  transition:all .2s;min-height:44px}
.calc-add:hover{background:#fff;border-style:solid;border-color:var(--teal)}
.calc-terms{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;padding-top:20px;
  border-top:1px solid var(--line)}
.calc-terms .calc-lab{display:block}
.calc-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.calc-totals div{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;
  display:flex;flex-direction:column;gap:4px}
.calc-totals span{font-size:12.5px;color:var(--soft)}
.calc-totals strong{font-family:var(--head);font-size:21px;color:var(--navy);letter-spacing:-.02em}
.calc-go{width:100%;justify-content:center;margin-top:18px;padding:15px 0;font-size:15px}
.calc-go:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.calc-hint{font-size:12.5px;color:var(--soft);text-align:center;margin-top:10px}
.calc-result{margin-top:26px;padding-top:24px;border-top:2px solid var(--line)}
.calc-res-h{font-size:19px;color:var(--navy);margin-bottom:16px}
.calc-compare{display:grid;grid-template-columns:1fr 44px 1fr;gap:12px;align-items:stretch}
.cc-box{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;
  display:flex;flex-direction:column;gap:5px}
.cc-box.cc-alt{background:var(--wash);border-color:rgba(1,151,184,.28)}
.cc-lab{font-size:12.5px;color:var(--body);line-height:1.45}
.cc-val{font-family:var(--head);font-size:clamp(24px,3.2vw,31px);font-weight:800;color:var(--navy);letter-spacing:-.03em}
.cc-sub{font-size:12px;color:var(--soft)}
.cc-arrow{display:flex;align-items:center;justify-content:center}
.cc-diff{margin-top:12px;background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:var(--r-lg);
  padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cc-diff span{font-size:13.5px;color:rgba(255,255,255,.82)}
.cc-diff strong{font-family:var(--head);font-size:clamp(23px,3vw,30px);color:#fff;letter-spacing:-.03em}
.cc-diff.is-neg{background:linear-gradient(135deg,#7A2B3A,#9B3A4C)}
.calc-cost{margin-top:16px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.calc-cost h4{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--body);
  background:var(--mist);padding:11px 16px;border-bottom:1px solid var(--line);font-family:var(--body-font)}
.cost-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.cost-grid div{padding:16px;display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line)}
.cost-grid div:first-child{border-left:none}
.cost-grid span{font-size:12.5px;color:var(--soft);line-height:1.4}
.cost-grid strong{font-family:var(--head);font-size:20px;color:var(--navy);letter-spacing:-.02em}
.calc-warn{display:flex;gap:13px;align-items:flex-start;background:#FFF7E6;border:1px solid #F2DFAE;
  border-left:3px solid #E0A828;border-radius:var(--r-lg);padding:16px 18px;margin-top:16px}
.calc-warn p{font-size:13.5px;color:#6B4E12;line-height:1.7;margin:0}
.calc-warn strong{color:#5A3F0A}
.calc-small{font-size:12px;color:var(--soft);line-height:1.7;margin-top:14px}

/* summary handed to the enquiry form */
.summary-box{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;margin-bottom:18px;
  box-shadow:0 1px 2px rgba(4,33,81,.04)}
.summary-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.summary-top h3{font-size:16.5px;color:var(--navy)}
.summary-copy{padding:9px 15px;font-size:13px;min-height:40px}
.summary-hint{font-size:13.5px;color:var(--body);line-height:1.6;margin-bottom:12px}
.summary-text{width:100%;border:1.5px solid var(--line);border-radius:var(--r-md);padding:13px;font-size:12.5px;
  line-height:1.6;color:var(--body);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:var(--mist);resize:vertical}

/* =====================================================================
   Responsive — new pages
   ===================================================================== */
@media(max-width:1080px){
  .who-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .loc-hero-inner{flex-direction:column;align-items:stretch}
  .loc-hero-copy{flex:none}
  .loc-grid{grid-template-columns:1fr}
  .remote-band{flex-direction:column;align-items:flex-start}
  .remote-band .calc-cta{width:100%;justify-content:center}
}
@media(max-width:640px){
  .who-grid{grid-template-columns:1fr;gap:11px}
  .who-card{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px 14px;padding:18px}
  .who-h{margin:0;align-self:center;flex:1 1 auto;font-size:15.5px}
  .who-p{flex:1 1 100%;font-size:13.5px}
  .who-card .svc-foot{flex:1 1 100%;margin-top:8px}
  .loc-card{padding:18px}
  .proc-item{padding:16px 18px;gap:13px}
  .proc-num{width:34px;height:34px;font-size:14px}
  .loc-para{font-size:15.5px;line-height:1.75}

  /* calculator: one column, labels visible, thumb-sized controls */
  .calc-head-row{display:none}
  .calc-row{grid-template-columns:1fr 1fr;gap:10px;padding:14px;border:1px solid var(--line);
    border-radius:var(--r-lg);background:var(--mist);position:relative}
  .calc-row .calc-field:first-child{grid-column:1 / -1}
  .calc-lab{display:block}
  .calc-field .ci{padding:13px;font-size:16px}      /* 16px stops iOS zooming on focus */
  .calc-del{position:absolute;top:10px;right:10px;width:36px;height:36px}
  .calc-terms{grid-template-columns:1fr;gap:12px}
  .calc-totals{grid-template-columns:1fr}
  .calc-compare{grid-template-columns:1fr;gap:10px}
  .cc-arrow{transform:rotate(90deg);height:26px}
  .cost-grid{grid-template-columns:1fr}
  .cost-grid div{border-left:none;border-top:1px solid var(--line)}
  .cost-grid div:first-child{border-top:none}
  .summary-top{flex-direction:column;align-items:stretch}
  .summary-copy{width:100%;justify-content:center}
}

/* ---- footer link rows: comfortable to hit on a phone, unchanged on desktop ---- */
.foot-link{display:block;font-size:13px;line-height:1.35;padding:5px 0;margin-bottom:2px}
.foot-contact{display:inline-block;padding:4px 0}
@media(max-width:900px){
  .foot-link{padding:10px 0;font-size:14px;min-height:22px}
  .foot-contact{padding:9px 0;font-size:14px}
  .fc-txt em{font-size:13px}
}

/* ---- small print links: keep the type small, give the target real height ---- */
.legal-link{display:inline-block;font-size:11.5px;padding:7px 2px;line-height:1.2}
.inline-link{display:inline-block;padding:4px 0}
.crumb-link{display:inline-block;padding:3px 0;min-height:24px;line-height:18px}
@media(max-width:900px){
  .legal-link{padding:9px 2px;font-size:12px}
}

/* ---------- Areas mega menu ----------
   20 towns in one column ran off the bottom of the screen. Grouped by region
   across columns instead, capped to the viewport with its own scroll as a
   last resort on very short windows. */
.nav-pop-mega{
  position:fixed!important; top:68px!important;
  left:0!important; right:0!important; margin:0 auto!important; transform:none!important;
  width:min(560px,calc(100vw - 32px));
  max-height:calc(100vh - 96px); overflow-y:auto;
}
/* centred on the viewport, so the little pointer would aim at nothing */
.nav-pop-mega .nav-pop-arrow{display:none}
/* Multi-column flow rather than a rigid grid: groups of 1 and 7 links pack
   together instead of leaving half the panel empty. */
.nav-mega-grid{columns:2;column-gap:32px}
.nav-mega-col{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;
  display:inline-block;width:100%;margin-bottom:10px}
.nav-mega-head{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
  color:var(--teal);padding:10px 8px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.nav-mega-link{display:block;padding:8px 8px;border-radius:var(--r-sm);font-size:13.5px;
  line-height:1.3;color:var(--navy);font-weight:600;text-decoration:none;transition:background .15s,color .15s}
.nav-mega-link:hover,.nav-mega-link:focus{background:var(--mist);color:var(--teal)}


/* ---------- footer columns ----------
   Areas We Cover holds 20 links. In a single stack it set the height of the
   whole footer, so it flows over two columns and the footer stays compact. */
.foot-col-links{display:flex;flex-direction:column}
.foot-col-wide .foot-col-links{
  display:block;
  columns:2;
  column-gap:30px;
}
.foot-col-wide{min-width:250px}
@media(max-width:768px){
  .foot-col-wide{min-width:0;width:100%}
  .foot-col-wide .foot-col-links{column-gap:18px}
}

/* ---------- article trust / signposting blocks ---------- */
.debt-help{display:flex;gap:14px;align-items:flex-start;background:var(--mist);
  border:1px solid var(--line);border-left:4px solid var(--teal);
  border-radius:var(--r-md);padding:16px 18px;margin:0 0 26px}
.debt-help-ic{flex-shrink:0;margin-top:2px}
.debt-help strong{display:block;color:var(--navy);font-size:15px;margin-bottom:5px}
.debt-help p{font-size:14px;color:var(--body);line-height:1.65;margin:0}
.debt-help a{color:var(--teal);font-weight:600}

.cluster-link{font-size:15px;line-height:1.7;color:var(--body);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:15px 18px;margin:0 0 30px}
.cluster-link a{color:var(--teal);font-weight:700}

.scope-note{background:var(--page);border:1px solid var(--line);
  border-radius:var(--r-md);padding:15px 18px;margin:30px 0 0}
.scope-note p{font-size:13.5px;color:var(--body);line-height:1.7;margin:0}
.scope-note strong{color:var(--navy)}
.scope-note a{color:var(--teal);font-weight:600}
@media(max-width:600px){
  .debt-help{padding:14px 15px;gap:11px}
  .cluster-link,.scope-note{padding:13px 15px}
}

/* ---------- descriptive guide links ---------- */
.guide-links{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;text-align:left;margin:0;padding:0}
.guide-links li{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}
.guide-links a{display:block;color:var(--navy);font-weight:700;font-size:15px;
  line-height:1.35;text-decoration:none;margin-bottom:4px}
.guide-links a:hover,.guide-links a:focus{color:var(--teal)}
.guide-links span{display:block;font-size:13.5px;color:var(--body);line-height:1.6}
@media(max-width:760px){.guide-links{grid-template-columns:1fr}}

/* ---------- deferred enquiry handoff ---------- */
.handoff{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px;text-align:center;margin-top:18px}
.handoff-go{padding:15px 26px;font-size:14px;text-decoration:none;width:100%;max-width:380px}
.handoff-note{font-size:13px;color:var(--body);line-height:1.65;margin:14px auto 0;max-width:520px}
.handoff-note a{color:var(--teal);font-weight:600}

/* byline links are standalone targets, not words inside a sentence */
.byline-link{display:inline-block;padding:5px 0;min-height:24px;line-height:1.4}

/* ---------- enquiry confirmation ---------- */
.recv-tick{width:60px;height:60px;border-radius:50%;background:var(--teal);
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}
.recv-h1{font-family:var(--head);font-size:clamp(27px,4vw,40px);font-weight:800;
  color:var(--navy);letter-spacing:-.03em;line-height:1.12;margin-bottom:14px}
.recv-lede{font-size:17px;color:var(--body);line-height:1.7;max-width:52ch;margin:0 auto 30px}
.recv-next{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:24px 26px;text-align:left;margin:0 auto 22px;max-width:560px}
.recv-next h2{font-family:var(--head);font-size:17px;color:var(--navy);margin-bottom:12px}
.recv-next ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}
.recv-next li{font-size:15px;color:var(--body);line-height:1.65}
.recv-next strong{color:var(--navy)}
.recv-fee{font-size:14px;color:var(--body);line-height:1.7;max-width:56ch;margin:0 auto 26px}
.recv-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.recv-call,.recv-read{padding:14px 24px;text-decoration:none;font-size:14px}
.recv-small{font-size:13.5px;color:var(--soft);line-height:1.7}
.recv-small a{color:var(--teal);font-weight:600}
@media(max-width:600px){.recv-cta>*{width:100%}}
