:root{
    --orange:#F86808; --orange-600:#DC5A06; --orange-700:#B5490A; --orange-50:#FEF3E9; --orange-100:#FDE2C8;
    --ink:#181818; --ink-700:#2A2B29; --charcoal:#3E434B; --muted:#71757C;
    --line:#EAE6DF; --line-d:rgba(255,255,255,.14); --cream:#FAF6F0; --cream-2:#F4EDE2; --white:#FFFFFF;
    --green:#1E7A57; --green-bg:#E6F3ED;
    --sans:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
    --slab:'Roboto Slab','Roboto',Georgia,serif;
    --r-md:10px; --r-lg:16px; --r-pill:999px; --maxw:1200px; --nav-h:64px;
    --e2:0 14px 40px rgba(20,20,20,.10);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:96px;}
  body{margin:0;font-family:var(--sans);color:var(--charcoal);background:var(--white);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:var(--slab);color:var(--ink);margin:0 0 .4em;line-height:1.12;letter-spacing:-.03em;text-wrap:balance;}
  h1{font-size:clamp(28px,4vw,50px);font-weight:800;line-height:1.08;}
  h2{font-size:clamp(24px,2.9vw,34px);font-weight:700;}
  h3{font-size:clamp(18px,2vw,22px);font-weight:700;letter-spacing:-.02em;}
  /* H4_LEVEL: older imported posts put their section headings in h1, so the
     whole outline sat one level too high. Demoting them shifts real h3s down
     to h4, which had no size of its own and would have fallen back below the
     body copy. */
  h4{font-size:clamp(16px,1.7vw,18px);font-weight:700;letter-spacing:-.01em;}
  p{margin:0 0 1em;}
  a{color:var(--orange-700);text-decoration:none;}
  img{max-width:100%;display:block;} figure{margin:0;} blockquote{margin:0;}
  table{border-collapse:collapse;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  @media(max-width:600px){.wrap{padding:0 20px;}}
  .eyebrow{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-700);margin:0 0 18px;display:block;}
  .lead{font-size:clamp(16.5px,1.8vw,19px);color:var(--charcoal);line-height:1.6;max-width:62ch;}
  section{padding:clamp(52px,6.4vw,92px) 0;}
  .sec-head{max-width:880px;margin:0 0 clamp(28px,3.6vw,44px);}
  .uline{box-shadow:inset 0 -.14em 0 var(--orange);}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

  .ic{display:inline-block;width:24px;height:24px;background:currentColor;flex:none;vertical-align:middle;
    -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;}
  .ic-phone{--m:url(../icons/phone.svg)} .ic-check{--m:url(../icons/check.svg)}
  .ic-calendar{--m:url(../icons/calendar.svg)} .ic-ruler{--m:url(../icons/ruler.svg)}
  .ic-home{--m:url(../icons/home.svg)} .ic-window{--m:url(../icons/window.svg)}

  .btn{font-weight:700;font-size:15px;border-radius:var(--r-pill);padding:15px 30px;cursor:pointer;
    border:1.6px solid transparent;transition:background .18s,transform .18s,border-color .18s,color .18s;
    display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);text-decoration:none;white-space:nowrap;}
  .btn-primary{background:var(--orange);color:#fff;} .btn-primary:hover{background:var(--orange-600);transform:translateY(-2px);}
  .btn-dark{background:var(--ink);color:#fff;border-color:var(--ink);} .btn-dark:hover{background:#000;transform:translateY(-2px);}
  .btn-onink{background:transparent;color:#fff;border-color:rgba(255,255,255,.38);}
  .btn-onink:hover{border-color:#fff;background:rgba(255,255,255,.09);}
  .btn-lg{padding:17px 36px;font-size:16px;}

  /* header */
  .topbar{background:#101010;color:#d9d3c9;font-size:13px;text-align:center;padding:10px 44px;position:relative;}
  .topbar b{color:var(--orange);} .topbar a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
  .topbar .x{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.55;background:none;border:none;color:#fff;font-size:17px;}
  header.nav{position:sticky;top:0;z-index:70;background:var(--ink);border-bottom:1px solid var(--line-d);}
  .nav .row{display:flex;align-items:center;gap:26px;height:var(--nav-h);}
  .wm{font-family:var(--slab);font-weight:800;font-size:21px;letter-spacing:-.02em;color:#fff;line-height:1;}
  .wm .o{color:var(--orange);}
  .wm small{display:block;font-family:var(--sans);font-weight:400;font-size:9.5px;letter-spacing:.19em;
    text-transform:uppercase;color:#8d867c;margin-top:5px;}
  .nav .menu{display:flex;gap:26px;margin-left:18px;}
  .nav .menu a{color:#cdc7bd;font-size:14.5px;font-weight:500;position:relative;padding:4px 0;}
  .nav .menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1.5px;background:var(--orange);transition:right .22s;}
  .nav .menu a:hover{color:#fff;} .nav .menu a:hover::after{right:0;}
  .nav .menu a.active{color:#fff;} .nav .menu a.active::after{right:0;}
  .nav .right{margin-left:auto;display:flex;align-items:center;gap:16px;}
  .nav .tel{color:#fff;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
  .nav .tel .ic{color:var(--orange);width:17px;height:17px;}
  .nav .btn{padding:11px 22px;font-size:14px;}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;margin-left:auto;}
  .burger span{width:23px;height:2px;background:#fff;border-radius:2px;transition:.22s;}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mnav{display:none;flex-direction:column;background:var(--ink);padding:8px 20px 22px;border-bottom:1px solid var(--line-d);}
  .mnav a{padding:14px 0;border-bottom:1px solid var(--line-d);color:#e6e1d9;font-weight:500;}
  .mnav .btn{margin-top:16px;justify-content:center;} .mnav .btn-primary{color:#fff;}
  @media(max-width:1120px){
    .nav .menu,.nav .tel{display:none;} .burger{display:flex;}
    .nav .right .btn{display:none;} .mnav.open{display:flex;}
  }
  .crumb{color:#8d867c;font-size:13px;padding:0 0 16px;}
  .crumb a{color:#8d867c;} .crumb a:hover{color:var(--orange);} .crumb .sep{margin:0 9px;opacity:.45;}

  /* ---- post header ---- */
  .phead{background:var(--ink);color:#c8c2b8;padding:clamp(20px,2.4vw,34px) 0 clamp(34px,4vw,54px);}
  .phead .inner{max-width:820px;}
  .phead h1{color:#fff;margin-bottom:.3em;}
  .cat{display:inline-flex;align-items:center;gap:8px;background:rgba(248,104,8,.14);border:1px solid rgba(248,104,8,.4);
    color:var(--orange);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    padding:6px 14px;border-radius:var(--r-pill);margin-bottom:20px;}
  .deck{font-size:clamp(17px,1.9vw,20px);color:#c8c2b8;line-height:1.55;max-width:64ch;margin:0 0 26px;}
  .pmeta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;color:#9a938a;
    border-top:1px solid var(--line-d);padding-top:20px;}
  .pmeta b{color:#ddd7cd;font-weight:700;}
  .pmeta .dot{opacity:.4;}
  .pmeta .ic{width:14px;height:14px;color:var(--orange);}

  /* ---- hero figure ---- */
  .phero{background:var(--ink);padding:0;}
  .phero figure{margin:0;}
  .phero img{width:100%;height:clamp(230px,34vw,460px);object-fit:cover;border-radius:var(--r-lg) var(--r-lg) 0 0;}

  /* ---- body grid ---- */
  .pbody{padding-top:clamp(38px,4.4vw,60px);}
  .pgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,4.4vw,68px);align-items:start;}
  @media(max-width:1000px){.pgrid{grid-template-columns:minmax(0,1fr);gap:34px;}}

  /* ---- sticky aside ---- */
  .aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px;}
  @media(max-width:1000px){.aside{position:relative;top:0;}}
  .toc{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;background:var(--white);}
  .toc h4{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
  .toc ol{list-style:none;padding:0;margin:0;counter-reset:t;}
  .toc li{counter-increment:t;}
  .toc a{display:block;padding:8px 0 8px 26px;font-size:14.5px;color:var(--charcoal);position:relative;
    border-left:2px solid var(--line);margin-left:-1px;transition:color .18s,border-color .18s;}
  .toc a::before{content:counter(t,decimal-leading-zero);position:absolute;left:10px;top:9px;
    font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.04em;transition:color .18s;}
  .toc a:hover{color:var(--ink);}
  .toc a.on{color:var(--ink);font-weight:700;border-left-color:var(--orange);}
  .toc a.on::before{color:var(--orange-700);}
  .sidecta{background:var(--ink);color:#ddd7cd;border-radius:var(--r-lg);padding:24px;}
  .sidecta b{display:block;color:#fff;font-family:var(--slab);font-size:19px;margin-bottom:8px;letter-spacing:-.02em;line-height:1.2;}
  .sidecta p{font-size:14.5px;color:#a9a29a;margin:0 0 18px;}
  .sidecta .btn{width:100%;justify-content:center;padding:13px 18px;font-size:14.5px;}
  .sidecta .tel{display:block;text-align:center;margin-top:12px;font-size:14px;color:#c8c2b8;}
  .sidecta .tel b{display:inline;font-family:var(--sans);font-size:14px;}
  .sidecta .tel:hover b{color:var(--orange);}

  /* ---- article prose ---- */
  .prose{max-width:72ch;min-width:0;font-size:17.5px;}
  .prose h2{margin:2em 0 .55em;scroll-margin-top:96px;}
  .prose h2:first-child{margin-top:0;}
  .prose h3{margin:1.7em 0 .5em;}
  .prose h4{margin:1.5em 0 .45em;}
  .prose p{margin:0 0 1.15em;}
  .prose a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;
    text-decoration-color:var(--orange-100);transition:text-decoration-color .18s;}
  .prose a:hover{text-decoration-color:var(--orange);}
  .prose ul,.prose ol{margin:0 0 1.3em;padding-left:0;list-style:none;}
  .prose li{position:relative;padding-left:30px;margin-bottom:.7em;}
  .prose ul>li::before{content:"";position:absolute;left:8px;top:.62em;width:7px;height:7px;
    border-radius:50%;background:var(--orange);}
  .prose ol{counter-reset:n;}
  .prose ol>li{counter-increment:n;}
  .prose ol>li::before{content:counter(n);position:absolute;left:0;top:.05em;width:21px;height:21px;
    border-radius:50%;background:var(--orange-50);color:var(--orange-700);font-size:11.5px;font-weight:700;
    display:flex;align-items:center;justify-content:center;font-family:var(--slab);}
  .prose li b{color:var(--ink);}

  /* answer box — the bit Google lifts */
  .answer{background:var(--cream);border-left:3px solid var(--orange);border-radius:0 var(--r-lg) var(--r-lg) 0;
    padding:24px 26px;margin:0 0 2em;}
  .answer .k{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
    color:var(--orange-700);display:block;margin-bottom:10px;}
  .answer p{font-family:var(--slab);font-size:clamp(17px,1.9vw,19.5px);line-height:1.5;color:var(--ink);
    letter-spacing:-.015em;margin:0;}

  /* comparison table — scrolls in its own box, never the page */
  .tscroll{overflow-x:auto;margin:0 0 1.8em;-webkit-overflow-scrolling:touch;
    border:1px solid var(--line);border-radius:var(--r-lg);}
  .ctable{width:100%;min-width:560px;font-size:15px;}
  .ctable th,.ctable td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top;}
  .ctable thead th{background:var(--cream);font-family:var(--slab);font-size:14.5px;color:var(--ink);
    letter-spacing:-.01em;border-bottom:1px solid var(--line);white-space:nowrap;}
  .ctable tbody tr:last-child td{border-bottom:none;}
  .ctable td:first-child{font-weight:700;color:var(--ink);white-space:nowrap;}
  .ctable .hint{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px;}

  /* tip callout */
  .tip{display:grid;grid-template-columns:20px 1fr;gap:14px;background:var(--white);
    border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;margin:0 0 1.8em;}
  .tip .ic{color:var(--green);width:19px;height:19px;margin-top:3px;}
  .tip b{display:block;color:var(--ink);font-family:var(--slab);font-size:16.5px;margin-bottom:4px;letter-spacing:-.02em;}
  .tip p{font-size:15px;margin:0;color:var(--charcoal);}

  /* in-content link into a money page */
  .plink{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:var(--r-lg);
    padding:16px 18px;margin:0 0 1.8em;background:var(--white);text-decoration:none!important;
    transition:border-color .2s,transform .2s,box-shadow .2s;}
  .plink:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--e2);}
  .plink img{width:78px;height:66px;object-fit:cover;border-radius:var(--r-md);flex:none;}
  .plink .t{flex:1;min-width:0;}
  .plink .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--orange-700);display:block;margin-bottom:3px;}
  .plink b{display:block;font-family:var(--slab);font-size:17px;color:var(--ink);letter-spacing:-.02em;line-height:1.25;}
  .plink span.d{display:block;font-size:14px;color:var(--muted);margin-top:3px;}
  .plink .go{color:var(--orange-700);font-weight:700;font-size:22px;line-height:1;flex:none;}
  @media(max-width:520px){.plink img{width:60px;height:56px;} .plink{gap:13px;padding:13px 14px;}}

  .prose figure{margin:0 0 1.9em;}
  .prose figure img{width:100%;border-radius:var(--r-lg);}
  .prose figcaption{font-size:13.5px;color:var(--muted);margin-top:10px;padding-left:2px;}

  /* ---- faq ---- */
  .acc{border-top:1px solid var(--line);max-width:860px;}
  .acc details{border-bottom:1px solid var(--line);transition:background .25s;}
  .acc details[open]{background:#fff;}
  .acc summary{cursor:pointer;padding:22px 52px 22px 20px;font-family:var(--slab);font-weight:700;
    font-size:clamp(16.5px,1.8vw,19px);color:var(--ink);list-style:none;position:relative;letter-spacing:-.02em;transition:color .18s;}
  .acc summary::-webkit-details-marker{display:none;}
  .acc summary:hover{color:var(--orange-700);}
  .acc summary::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:3px;height:0;background:var(--orange);transition:height .3s cubic-bezier(.22,.7,.2,1);}
  .acc details[open] summary::before{height:calc(100% - 30px);}
  .acc summary::after{content:"";position:absolute;right:20px;top:50%;width:26px;height:26px;
    transform:translateY(-50%);border:1.4px solid var(--line);border-radius:50%;transition:.26s;z-index:1;}
  .acc summary .chev{position:absolute;right:29px;top:50%;width:8px;height:8px;
    border-right:2px solid var(--orange-700);border-bottom:2px solid var(--orange-700);
    transform:translateY(-70%) rotate(45deg);transition:transform .26s;pointer-events:none;z-index:2;}
  .acc details[open] summary::after{border-color:var(--orange);background:var(--orange-50);}
  .acc details[open] summary .chev{transform:translateY(-30%) rotate(-135deg);}
  .acc .body{padding:0 52px 24px 20px;font-size:15.5px;}
  .acc .body p:last-child{margin-bottom:0;}

  /* ---- author + related ---- */
  .author{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;
    border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;max-width:860px;margin-bottom:clamp(46px,5vw,72px);}
  @media(max-width:520px){.author{grid-template-columns:1fr;gap:14px;}}
  .amark{width:64px;height:64px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--slab);
    font-weight:800;font-size:21px;display:flex;align-items:center;justify-content:center;letter-spacing:-.03em;}
  .amark span{color:var(--orange);}
  .author h3{margin-bottom:6px;} .author p{font-size:15px;margin:0 0 12px;}
  .author .row{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;}

  .rel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:860px){.rel{grid-template-columns:1fr;}}
  .rc{display:flex;flex-direction:column;text-decoration:none;}
  .rc figure{border-radius:var(--r-lg);overflow:hidden;margin-bottom:15px;background:var(--cream-2);}
  .rc img{width:100%;height:180px;object-fit:cover;transition:transform .55s cubic-bezier(.22,.7,.2,1);}
  .rc:hover img{transform:scale(1.05);}
  .rc .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--orange-700);margin-bottom:7px;}
  .rc b{font-family:var(--slab);font-size:18px;color:var(--ink);letter-spacing:-.02em;line-height:1.28;}
  .rc:hover b{color:var(--orange-700);}
  .rc span.m{font-size:13.5px;color:var(--muted);margin-top:8px;}

  /* ---- end CTA ---- */
  .endcta{background:var(--ink);color:#c8c2b8;}
  .endcta h2{color:#fff;} .endcta .eyebrow{color:var(--orange);} .endcta .lead{color:#c8c2b8;}
  .endcta .inner{max-width:760px;}
  .endcta .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
  @media(max-width:520px){.endcta .row .btn{flex:1 1 100%;justify-content:center;}}

  footer{background:#101010;color:#a29b91;padding:70px 0 34px;}
  footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;}
  @media(max-width:820px){footer .cols{grid-template-columns:1fr 1fr;gap:32px;}}
  @media(max-width:520px){footer .cols{grid-template-columns:1fr;}}
  footer h4{color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;}
  footer a{color:#a29b91;font-size:14.5px;} footer a:hover{color:var(--orange);}
  footer ul{list-style:none;padding:0;margin:0;} footer li{padding:6px 0;}
  footer .np{font-size:14.5px;line-height:1.85;} footer .np b{color:#fff;}
  .soc{display:flex;gap:10px;margin-top:18px;}
  .soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;transition:.2s;}
  .soc a:hover{background:var(--orange);transform:translateY(-2px);}
  .soc img{width:16px;height:16px;filter:brightness(0) invert(1);}
  footer .bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:46px;padding-top:22px;font-size:12.5px;
    color:#75706a;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

  /* reading progress */
  .prog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--orange);z-index:90;transition:width .1s linear;}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.7,.2,1),transform .7s cubic-bezier(.22,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}
    .reveal{opacity:1!important;transform:none!important} html{scroll-behavior:auto!important}}


/* --- theme chrome addon: Products dropdown --- */
.nav .menu .has-sub{position:relative;align-self:stretch;display:flex;align-items:center;}
.nav .menu .has-sub>a .car{display:inline-block;width:7px;height:7px;border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:7px;}
.nav .menu .sub{position:absolute;top:100%;left:-18px;background:#141414;
  border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:90;
  box-shadow:0 18px 40px rgba(0,0,0,.35);display:flex;gap:8px;}
.nav .menu .sub .subcol{min-width:196px;}
.nav .menu .sub::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.nav .menu .has-sub:hover .sub,.nav .menu .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none;}
.nav .menu .sub a{display:block;padding:9px 12px;border-radius:8px;color:#cdc7bd;font-size:14px;font-weight:500;}
.nav .menu .sub a:hover{background:rgba(255,255,255,.07);color:#fff;}
.nav .menu .sub a::after{display:none;}
.nav .menu .sub .grp{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#8d867c;padding:10px 12px 4px;}
.mnav .msub,.mobile-menu .msub{padding-left:24px;font-size:14px;opacity:.92;}

/* NAVCALL_ADDON */
/* Mobile click-to-call, sitting to the right of the hamburger. Deliberately a
   different colour from the bar itself so it reads as an action, not chrome.
   The header's phone number is display:none on mobile, so without this there is
   no one-tap call anywhere in the sticky header. */
.navcall{display:none;}
@media(max-width:860px){
  .navcall{display:inline-flex;align-items:center;justify-content:center;
    width:42px;height:42px;min-width:42px;margin-left:10px;border-radius:12px;
    background:var(--orange);color:#fff;text-decoration:none;
    box-shadow:0 2px 10px rgba(248,104,8,.30);transition:background .18s,transform .18s;}
  .navcall:hover,.navcall:focus-visible{background:var(--orange-700,#d95a06);transform:translateY(-1px);}
  .navcall .ic{width:20px;height:20px;color:#fff;background-color:#fff;}
  .burger{margin-left:auto;}
}

/* NAVCALL_TIGHTEN */
@media(max-width:860px){
  /* header only — .wrap is the site-wide container, so this must stay scoped */
  .nav .wrap{padding-left:14px;padding-right:14px;}
  /* the row gap is what was really separating the burger from the call button */
  .nav .row{gap:8px;}
  .burger{padding:8px 2px;margin-left:auto;}
  .navcall{margin-left:2px;}
}
@media(max-width:420px){
  .nav .wrap{padding-left:11px;padding-right:11px;}
  .navcall{width:40px;height:40px;min-width:40px;}
}

/* PROMO_MOBILE_HIDE */
/* Promo bar wraps to three lines on a phone and buries the header, so it is
   desktop-only for now. Delete this block to bring it back everywhere; move the
   selectors out of the media query to hide it on desktop too. */
@media(max-width:860px){
  .promo,.topbar{display:none;}
}

/* BLOG_PAGER_ADDON */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* sort control — same shape as the reviews toolbar */
.chips .sortwrap{margin-left:auto;position:relative;display:inline-flex;}
.chips .sortwrap select{appearance:none;-webkit-appearance:none;cursor:pointer;
  font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--white);
  border:1.4px solid var(--line);border-radius:var(--r-pill);padding:9px 34px 9px 16px;}
.chips .sortwrap::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;
  border-right:1.6px solid var(--ink);border-bottom:1.6px solid var(--ink);
  transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.chips .sortwrap select:hover{border-color:var(--ink);}
.chips .sortwrap select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-50);}

/* numbered pagination */
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;
  margin-top:clamp(30px,3.4vw,44px);}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 13px;border-radius:var(--r-pill);
  border:1.4px solid var(--line);background:var(--white);color:var(--ink);
  font-weight:700;font-size:14.5px;text-decoration:none;transition:border-color .18s,background .18s,color .18s;}
.pager .page-numbers:hover{border-color:var(--ink);}
.pager .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff;}
.pager .page-numbers.dots{border-color:transparent;background:none;min-width:22px;padding:0;}
.pager .prev,.pager .next{font-weight:600;}
.pagenote{text-align:center;color:var(--muted);font-size:13.5px;margin-top:12px;}

@media(max-width:560px){
  .chips .sortwrap{margin-left:0;width:100%;}
  .chips .sortwrap select{width:100%;}
  .pager .page-numbers{min-width:38px;height:38px;padding:0 10px;font-size:14px;}
  .pager .prev,.pager .next{flex:1 1 100%;order:1;}
}

/* content tables get the theme's comparison-table look (see the_content filter) */
.prose .tscroll{overflow-x:auto;margin:0 0 1.8em;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);}
.prose .tscroll table{margin:0;border-collapse:collapse;}

/* MOBILE_OVERFLOW_GUARD */
/* Grid and flex items default to min-width:auto and will not shrink below their
   content, which is what pushed four pages sideways on a phone. Harmless on
   ordinary blocks, where min-width:auto already computes to 0. */
.wrap > *,
.hero-grid > *, .visit-grid > *, .faq-grid > *, .split > *, .pgrid > *,
.proc-grid > *, .beyond-row > *, .hero-grid, .visit-grid, .faq-grid {
  min-width: 0;
}
/* An image must never be the thing that sets a track's minimum width. */
.hero-fig, .hero-fig img, .sfig, .sfig img, .beyond-fig, .beyond-fig img {
  max-width: 100%;
}

/* MOBILE_ACCORDION */
.mnav, .mobile-menu{
  max-height: calc(100vh - 62px);
  max-height: calc(100dvh - 62px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.mtog{
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 14px 0;
  background: none; border: 0; border-bottom: 1px solid var(--line);
  font: inherit; font-weight: 500; color: inherit;
  text-align: left; cursor: pointer;
}
.mnav .mtog{ color: #e6e1d9; border-bottom-color: var(--line-d); }
.mobile-menu .mtog{ color: var(--ink); border-bottom-color: var(--line); }
/* Chevron drawn from two borders so it inherits the link colour and needs no asset. */
.mcar{
  flex: none; width: 8px; height: 8px; margin-right: 3px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .18s ease;
  opacity: .65;
}
.mtog[aria-expanded="true"] .mcar{ transform: translateY(2px) rotate(-135deg); }
.msubs{ display: none; }
.macc.open > .msubs{ display: flex; flex-direction: column; }
.msubs a{ display: block; }
.msubs a{ padding-left: 22px; font-size: 14px; opacity: .92; }

/* HERO_ACTIONS_WRAP */
@media(max-width:520px){
  .hero-actions{ flex-wrap: wrap; }
  .hero-actions .btn{
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    justify-content: center;
  }
}
