/* Fonts. DM Sans © the DM Sans Project Authors, SIL Open Font License 1.1 (openfontlicense.org). */
@font-face{font-family:'DM Sans';font-weight:400;font-display:swap;src:url('../fonts/dm-sans-regular.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-weight:700;font-display:swap;src:url('../fonts/dm-sans-bold.woff2') format('woff2')}
@font-face{font-family:'Wordmark Sans';font-weight:700;font-display:swap;src:url('../fonts/wordmark-sans-bold.woff2') format('woff2')}
@font-face{font-family:'Pragmatica Extended';font-weight:400;font-display:swap;src:url('../fonts/pragmatica-ext-regular.woff2') format('woff2')}

/* Base */
html,body{margin:0;padding:0;background:#ffffff}
a{color:rgb(10,61,98)}
a:hover{color:rgb(10,61,98)}

/* Arrow-cycle keyframes (service + news cards) */
@keyframes arrA{from{transform:translate(0,0)}to{transform:translate(240%,-240%)}}
@keyframes arrA2{from{transform:translate(0,0)}to{transform:translate(240%,-240%)}}
@keyframes arrB{from{transform:translate(-120%,120%)}to{transform:translate(120%,-120%)}}
@keyframes arrB2{from{transform:translate(-120%,120%)}to{transform:translate(120%,-120%)}}
@keyframes arrC{from{transform:translate(-240%,240%)}to{transform:translate(0,0)}}
@keyframes arrC2{from{transform:translate(-240%,240%)}to{transform:translate(0,0)}}
@keyframes revA{from{transform:translate(240%,-240%)}to{transform:translate(0,0)}}
@keyframes revA2{from{transform:translate(240%,-240%)}to{transform:translate(0,0)}}
@keyframes revB{from{transform:translate(120%,-120%)}to{transform:translate(-120%,120%)}}
@keyframes revB2{from{transform:translate(120%,-120%)}to{transform:translate(-120%,120%)}}
@keyframes revC{from{transform:translate(0,0)}to{transform:translate(-240%,240%)}}
@keyframes revC2{from{transform:translate(0,0)}to{transform:translate(-240%,240%)}}

/* Service cards */
.service-card:hover{background:rgb(8,47,76) !important}
.service-card:hover .service-media{height:145px !important}
.service-card:hover .service-rule{width:100% !important}
.service-card .service-cta{height:0;opacity:0;margin-top:0;overflow:hidden}
.service-card:hover .service-cta{height:50px;opacity:1;margin-top:20px}

/* News cards */
.news-card{transition:background 250ms ease}
.news-card:hover{background:rgb(8,47,76) !important}
.news-card .news-media{transition:height 350ms ease}
.news-card:hover .news-media{height:120px !important}
.news-card .news-rule{transition:width 350ms ease}
.news-card:hover .news-rule{width:100% !important}
.news-card .news-cta{height:0;opacity:0;margin-top:0;overflow:hidden;transition:height 350ms ease,opacity 250ms ease,margin-top 350ms ease}
.news-card:hover .news-cta{height:50px;opacity:1;margin-top:20px}

/* Line clamps */
.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* Offer cards */
.offer-feature{transition:background 250ms ease}
.offer-feature:hover{background:rgb(8,47,76) !important}
.offer-feature .offer-rule,.offer-card .offer-rule{transition:width 350ms ease}
.offer-feature:hover .offer-rule,.offer-card:hover .offer-rule{width:100% !important}

/* Social buttons */
.social-fb,.social-li{transition:background 150ms ease}
.social-fb span,.social-li span{transition:color 150ms ease}
.social-fb:hover,.social-li:hover{background:rgb(223,249,251) !important}
.social-fb:hover span,.social-li:hover span{color:rgb(10,61,98) !important}

/* FAQ rows */
.faq-row p,.faq-row .faq-plus{transition:color 150ms ease}
.faq-row:hover p{color:rgb(55,94,123) !important}
.faq-row:hover .faq-plus{color:rgb(55,94,123) !important}

/* Button + link hover states */
.hv-blue:hover{background:rgb(130,204,221) !important}
.hv-blue-fill:hover{background:rgb(130,204,221) !important;border-color:rgb(130,204,221) !important;color:rgb(10,61,98) !important}
.hv-cyan:hover{background:rgb(223,249,251) !important;color:rgb(10,61,98) !important}
.hv-blue-navy:hover{background:rgb(130,204,221) !important;color:rgb(10,61,98) !important}
.hv-cyan-bg:hover{background:rgb(223,249,251) !important}
.hv-chip:hover{background:rgb(223,249,251) !important;border-color:rgb(223,249,251) !important;--k:rgb(55,94,123) !important;--v:rgb(10,61,98) !important}

/* Mobile / small-screen layouts (under 1024px the scaled desktop layer is replaced by these) */
#mobile{display:none;font-family:'DM Sans',sans-serif}
@media (max-width:1023.98px){
#stage{display:none}
#mobile{display:block}
.m-wrap{max-width:720px;margin:0 auto;box-sizing:border-box}
.m-pad{padding:56px 24px 64px}
.m-kicker{margin:0 0 10px;font-size:13px;line-height:18px;letter-spacing:0.18em;text-transform:uppercase;font-weight:700}
.m-display{margin:0 0 16px;font-family:'Pragmatica Extended',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-0.03em;font-size:clamp(30px,8vw,44px);line-height:1.06;text-wrap:pretty}
.m-h3{font-size:clamp(24px,6.2vw,32px);margin:0 0 12px}
.m-sub{margin:0 0 28px;font-size:17px;line-height:25px;max-width:34em;text-wrap:pretty}
.m-body{margin:0 0 20px;font-size:16px;line-height:24px;text-wrap:pretty}
.m-body-lg{margin:0 0 24px;font-size:18px;line-height:27px;text-wrap:pretty}
.m-stack{display:flex;flex-direction:column;gap:20px}
.m-center{display:flex;justify-content:center;margin-top:28px}
.m-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.m-cta-left{display:flex;margin-top:4px}
.m-card{border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.m-card-media{margin:12px 12px 0;height:200px;border-radius:16px;background-size:cover;background-position:center}
.m-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;align-items:flex-start}
.m-card-title{margin:0;font-family:'Pragmatica Extended',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-0.02em;font-size:24px;line-height:30px}
.m-rule{height:2px;width:64px;margin:14px 0}
.m-rule-lg{height:2px;width:200px;margin:4px 0 28px}
.m-card-text{margin:0 0 18px;font-size:16px;line-height:24px;text-wrap:pretty}
.m-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 26px;border-radius:25px;font-size:17px;text-decoration:none;white-space:nowrap;transition:background 150ms ease,color 150ms ease}
.m-arr{font-family:'Pragmatica Extended',sans-serif;font-size:22px;line-height:22px}
.m-tag-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:12px}
.m-tag{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:6px;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.m-news-title{margin:0;font-size:19px;line-height:26px;font-weight:700}
.m-news .m-pill{align-self:stretch}
.m-ends{font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;margin-bottom:10px}
.m-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:12px}
.m-list li{display:flex;align-items:baseline;gap:12px;font-size:16px;line-height:24px}
.m-sq{flex:none;width:8px;height:8px;transform:translateY(-2px)}
.m-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:12px}
.m-mat{padding:12px;border-radius:20px;margin:0 0 32px;align-self:stretch}
.m-mat-img{aspect-ratio:1/1;border-radius:12px;background-size:cover;background-position:center}
.m-hero{min-height:calc(100vh - 66px);min-height:calc(100svh - 66px);display:flex;flex-direction:column}
.m-hero-top{background:#ffffff;flex:1;display:flex;align-items:center;justify-content:center;padding:56px 24px}
.m-hero-top img{width:min(300px,64vw);height:auto}
.m-hero-bot{flex:1.25;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px}
.m-wordmark{margin:0;font-family:'Wordmark Sans',sans-serif;font-weight:700;color:#ffffff;font-size:clamp(56px,17vw,84px);line-height:1}
.m-hero-sub{margin:10px 0 0;font-family:'Wordmark Sans',sans-serif;font-weight:700;font-size:clamp(17px,4.6vw,22px);line-height:1.4}
.m-hero-tag{margin:22px 0 0;font-family:'DM Sans',sans-serif;font-weight:700;font-size:clamp(19px,5.2vw,26px);line-height:1.4}
.m-band{padding:56px 24px;text-align:center}
.m-band .m-kicker{margin-bottom:12px}
.m-band-title{margin:0;font-size:clamp(24px,6.6vw,34px);line-height:1.15}
.m-steps-foot{align-items:center;justify-content:space-between}
.m-socials{display:flex;gap:12px}
.m-faq-list{margin-top:32px;border-top:1px solid rgba(10,61,98,0.18);align-self:stretch}
.m-faq-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid rgba(10,61,98,0.18);cursor:pointer}
.m-faq-row p{margin:0;font-size:17px;line-height:24px;font-weight:700}
.m-faq-row .faq-plus{flex:none;font-family:'Pragmatica Extended',sans-serif;font-size:26px;line-height:26px;transition:transform 200ms ease,color 150ms ease}
.m-faq-panel{display:grid;transition:grid-template-rows 300ms ease}
.m-faq-body{padding:4px 0 24px;font-size:16px;line-height:24px;color:#000000}
.m-faq-body p{margin:0 0 14px;text-wrap:pretty}
.m-faq-body ul{list-style:square;margin:0 0 14px;padding-left:22px;color:rgb(10,61,98)}
.m-faq-body li{margin:6px 0;color:#000000}
.m-contact-top{padding:64px 24px 56px;text-align:center}
.m-contact-top .m-body{margin:8px 0 0}
.m-seam{display:flex;justify-content:center;margin:-28px 0;position:relative;z-index:2}
.m-contact-bot{padding:64px 24px}
.m-chips{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.m-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:14px 20px;box-sizing:border-box;border:1px solid rgba(223,249,251,0.45);border-radius:18px;text-decoration:none;text-align:center;transition:background 150ms ease,border-color 150ms ease}
.m-chip-k{font-size:13px;line-height:16px;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;transition:color 150ms ease}
.m-chip-v{font-size:clamp(16px,4.8vw,21px);line-height:1.35;font-weight:700;overflow-wrap:anywhere;transition:color 150ms ease}
.m-foot{text-align:center;display:flex;flex-direction:column;align-items:center}
.m-foot-logo{width:180px;height:auto}
.m-dash{width:88px;height:6px;margin:20px 0}
.m-foot-reg{margin:0 0 24px;font-size:14px;line-height:21px;max-width:30em}
.m-acca{display:flex;align-items:center;justify-content:center;width:66px;height:66px;margin:0 0 28px;background:rgb(206,32,41);text-decoration:none}
.m-acca span{color:#ffffff;font-weight:700;font-size:18px;letter-spacing:0.02em;font-family:'DM Sans',sans-serif}
.m-foot-nav{width:100%;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(10,61,98,0.12)}
.m-foot-nav a{display:flex;align-items:center;justify-content:center;min-height:52px;border-bottom:1px solid rgba(10,61,98,0.12);font-size:15px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none}
.m-foot-nav a:nth-child(odd){border-right:1px solid rgba(10,61,98,0.12)}
.m-foot-nav a:last-child:nth-child(odd){grid-column:1 / -1;border-right:none}
}
@media (max-width:479.98px){.m-cols{grid-template-columns:1fr}}

/* Desktop stage integrity (1024px and up).
   The desktop layer is a fixed 1920px canvas that main.js scales to fit the
   viewport. These rules stop the canvas, or any section inside it, being
   re-flowed or shrunk to min-content by an inherited formatting context,
   which is what collapses the sections into narrow overlapping columns. */
@media (min-width:1024px){
#page{display:block}
#stage{display:block !important;width:1920px;min-width:1920px;max-width:1920px;flex:0 0 auto}
#stage>section{flex:0 0 auto;width:1920px;min-width:1920px;max-width:1920px;float:none}
#mobile{display:none !important}
}

/* Quality floor: visible keyboard focus and reduced-motion support. */
a:focus-visible,button:focus-visible,.faq-row:focus-visible,[tabindex]:focus-visible{outline:3px solid rgb(130,204,221);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 3px rgba(10,61,98,0.95)}
[id]{scroll-margin-top:96px}
@media (max-width:1023.98px){[id]{scroll-margin-top:84px}}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
}

/* ============================================================
   SITE CHROME — added for the multi-page build.
   The header lives OUTSIDE #stage and is sized in real pixels, so
   navigation stays legible at every viewport while the 1920px design
   canvas below it continues to scale.
   ============================================================ */
:root{
  --navy:rgb(10,61,98);
  --mid:rgb(55,94,123);
  --sky:rgb(130,204,221);
  --ice:rgb(223,249,251);
  --gold:rgb(183,146,72);
}
.site-head{position:sticky;top:0;z-index:60;background:#ffffff;border-bottom:1px solid rgba(10,61,98,0.12);font-family:'DM Sans',sans-serif}
.site-head-in{max-width:1680px;margin:0 auto;height:76px;padding:0 28px;box-sizing:border-box;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand img{width:46px;height:42px;display:block}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt b{font-family:'Wordmark Sans',sans-serif;font-weight:700;font-size:21px;letter-spacing:0.01em;color:var(--navy)}
.brand-txt span{margin-top:4px;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mid);font-weight:700}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.site-nav a,.site-nav button{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--navy);text-decoration:none;padding:10px 14px;border-radius:8px;background:none;border:0;cursor:pointer;transition:background 150ms ease,color 150ms ease;white-space:nowrap}
.site-nav a:hover,.site-nav button:hover{background:var(--ice)}
.site-nav a[aria-current="page"]{color:var(--mid);box-shadow:inset 0 -3px 0 var(--sky)}
.has-menu{position:relative;display:inline-flex;align-items:center}
/* The panel sits 10px below the button. Without a bridge across that gap the pointer
   leaves .has-menu on the way down, :hover drops, and the panel closes before you
   reach it. This transparent strip keeps the travel path inside the hover region.
   It only exists while the panel is open, so it never swallows anything else. */
.has-menu::after{content:"";position:absolute;top:100%;right:0;width:284px;height:16px;display:none}
.has-menu:hover::after,.has-menu:focus-within::after,.has-menu[data-open="1"]::after{display:block}
.has-menu>button{display:inline-flex;align-items:center;gap:7px}
.has-menu>button::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 180ms ease}
.has-menu[data-open="1"]>button::after,.has-menu:hover>button::after,.has-menu:focus-within>button::after{transform:translateY(1px) rotate(-135deg)}
.menu{position:absolute;top:calc(100% + 12px);right:0;min-width:264px;background:#ffffff;border:1px solid rgba(10,61,98,0.12);border-radius:16px;box-shadow:0 18px 44px rgba(10,61,98,0.16);padding:10px;display:none;flex-direction:column}
.has-menu[data-open="1"] .menu,.has-menu:hover .menu,.has-menu:focus-within .menu{display:flex}
.menu a{display:flex;align-items:center;justify-content:space-between;gap:14px;letter-spacing:0.04em;text-transform:none;font-size:16px;padding:12px 14px;border-radius:10px}
.menu a small{font-weight:400;font-size:13px;color:var(--mid);letter-spacing:0}
.site-nav .nav-cta,.mobile-nav .nav-cta{box-sizing:border-box;margin-left:10px;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:22px;background:var(--navy);color:#ffffff;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background 150ms ease,color 150ms ease}
.site-nav .nav-cta:hover,.mobile-nav .nav-cta:hover{background:var(--sky);color:var(--navy)}
.nav-burger{display:none;margin-left:auto;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid rgba(10,61,98,0.18);border-radius:12px;background:#ffffff;cursor:pointer}
.nav-burger span{display:block;width:20px;height:2px;background:var(--navy);position:relative;transition:background 150ms ease}
.nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--navy);transition:transform 200ms ease}
.nav-burger span::before{top:-6px}.nav-burger span::after{top:6px}
.site-head[data-nav="1"] .nav-burger span{background:transparent}
.site-head[data-nav="1"] .nav-burger span::before{transform:translateY(6px) rotate(45deg)}
.site-head[data-nav="1"] .nav-burger span::after{transform:translateY(-6px) rotate(-45deg)}
.mobile-nav{display:none;border-top:1px solid rgba(10,61,98,0.12);background:#ffffff;padding:10px 20px 22px;max-height:calc(100vh - 76px);overflow:auto}
.site-head[data-nav="1"] .mobile-nav{display:block}
.mobile-nav a{display:block;padding:15px 6px;font-size:16px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(10,61,98,0.1)}
.mobile-nav a[aria-current="page"]{color:var(--mid)}
.mobile-nav .sub a{padding-left:20px;font-size:15px;letter-spacing:0.04em;text-transform:none;font-weight:400}
.mobile-nav .lbl{margin:18px 0 2px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--mid);font-weight:700}
.mobile-nav .nav-cta{display:flex;justify-content:center;margin:20px 0 0;height:50px}
@media (max-width:1023.98px){
  .site-nav{display:none}
  .nav-burger{display:flex}
  .site-head-in{height:66px;padding:0 18px}
  .mobile-nav{max-height:calc(100vh - 66px)}
}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;border-radius:0 0 10px 0;font-family:'DM Sans',sans-serif;font-weight:700}
.skip:focus{left:0}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Sub-page desktop components (inside the 1920 canvas) */
.rel-card{transition:background 250ms ease}
.rel-media{overflow:hidden}
.rel-card:hover .rel-media img{transform:scale(1.05)}
.rel-media img{transition:transform 450ms ease}
.rel-card:hover{background:rgb(8,47,76) !important}
.rel-card:hover .rel-rule{width:100% !important}
.rel-card .rel-rule{transition:width 350ms ease}
.hv-gold:hover{background:var(--gold) !important;border-color:var(--gold) !important;color:#ffffff !important}
.hv-ice-out:hover{background:var(--ice) !important;color:var(--navy) !important}

/* Homepage mobile fixes.
   1. "BOOK A FREE CONSULTATION" was set at the desktop's 24px inline, which made
      it wider than a phone and gave the whole homepage a sideways scroll.
   2. Next Steps: larger text, as requested for that section. */
#mobile .m-cta-left a{font-size:17px!important;padding:0 24px!important;margin-right:0!important;max-width:100%;box-sizing:border-box}
#m-next-steps .m-card-title{font-size:26px;line-height:32px}
#m-next-steps .m-list li{font-size:18px;line-height:27px}

/* Sub-page mobile helpers */
@media (max-width:1023.98px){
  .m-hero-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:20px}
  .m-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px}
  .m-eyebrow i{display:block;width:34px;height:2px;background:var(--sky);flex:none}
  .m-pillars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 0}
  .m-pillars>:last-child:nth-child(odd){grid-column:1 / -1}
  .m-pillar{padding:16px 16px 18px;border:1px solid rgba(223,249,251,0.28);border-radius:16px}
  .m-pillar b{display:block;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;color:var(--sky);margin-bottom:7px}
  .m-pillar span{font-size:14px;line-height:20px;color:#ffffff}
  .m-crumb{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;margin:0 0 12px;color:var(--mid)}
  .m-crumb a{color:var(--mid);text-decoration:none}
  .m-crumb a:hover{text-decoration:underline}
}

/* Rebuilt service heroes - mobile layer (desktop markup is inline, see build/heroes.py) */
@media (max-width:1023.98px){
  .m-hx{background:#FBFBFC}
  .m-hx-top{padding:28px 24px 34px}
  .m-hx .m-hero-img{border-radius:18px}
  .m-hx-eyebrow{display:flex;align-items:center;gap:12px;margin:26px 0 0;font:500 13px/1 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#0A2447}
  .m-hx-eyebrow i{display:block;width:22px;height:2px;background:#C19757;flex:none}
  .m-hx-title{margin:16px 0 0;font-family:'Libre Baskerville',Georgia,serif;font-weight:700;font-size:clamp(30px,8.4vw,42px);line-height:1.18;letter-spacing:-.005em;color:#0A2447;text-wrap:balance}
  .m-hx-caps{font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(28px,7.6vw,40px)}
  .m-hx-rule{width:78px;height:3px;background:#C19757;margin:22px 0 0}
  .m-hx-lede{margin:20px 0 0;font:400 18px/28px 'DM Sans',sans-serif;color:#14223F}
  .m-hx-sub{display:flex;align-items:center;gap:18px;margin:24px 0 0}
  .m-hx-circle{width:70px;height:70px;border-radius:50%;background:#072246;display:flex;align-items:center;justify-content:center;flex:none}
  .m-hx-ring{background:#fff;border:2px solid #0A2447;box-sizing:border-box}
  .m-hx-sub p{margin:0;padding-left:18px;border-left:3px solid #C19757;font:400 17px/26px 'DM Sans',sans-serif;color:#14223F}
  .m-hx-strip{background:#072246;border-top:5px solid #C19757;padding:30px 24px 34px}
  .m-hx-items{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 26px}
  .m-hx-items>:last-child:nth-child(odd){grid-column:1 / -1}
  .m-hx-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 12px 20px;border:1px solid rgba(255,255,255,.16);border-radius:14px}
  .m-hx-item b{font:600 13px/18px 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff}
  .m-hx-item span{font:400 14px/20px 'DM Sans',sans-serif;color:rgba(255,255,255,.82)}
  .m-hx-promise{margin:0;font:400 18px/28px 'DM Sans',sans-serif;color:#fff;text-align:center}
  .m-hx-promise em{display:block;font-family:'Libre Baskerville',Georgia,serif;font-style:italic;color:#CFA866}
}

/* ---- Get a Quote form ---------------------------------------------------
   Sizes on the desktop layer are inline (typescale.py scales them with the
   page); these rules carry the states. Mobile sizing is in the media block. */
.qf-in{background:#F3FAFB;border:1.5px solid rgba(10,61,98,.24);border-radius:14px;transition:border-color 150ms ease,box-shadow 150ms ease,background 150ms ease}
.qf-in:hover{border-color:rgba(10,61,98,.42)}
.qf-in:focus{outline:none;border-color:rgb(10,61,98);background:#fff;box-shadow:0 0 0 4px rgba(130,204,221,.6)}
.qf-in[aria-invalid="true"]{border-color:#B3261E;background:#FFF7F6}
.qt-in{position:absolute;left:0;top:0;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.qt{background:#fff;border:1.5px solid rgba(10,61,98,.24);color:rgb(10,61,98);transition:background 150ms ease,border-color 150ms ease,color 150ms ease}
.qt svg{color:rgb(55,94,123);transition:color 150ms ease}
.qt:hover{background:rgb(223,249,251);border-color:rgba(10,61,98,.4)}
.qt-in:checked + .qt{background:rgb(10,61,98);border-color:rgb(10,61,98);color:#fff}
.qt-in:checked + .qt svg{color:rgb(130,204,221)}
.qt-in:focus-visible + .qt{outline:3px solid rgb(130,204,221);outline-offset:3px;box-shadow:0 0 0 3px rgba(10,61,98,.95)}
.qt-dot{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid rgba(10,61,98,.35);box-sizing:border-box;position:relative;transition:background 150ms ease,border-color 150ms ease}
.qt-in:checked + .qt .qt-dot{border-color:rgb(130,204,221);background:rgb(130,204,221)}
.qt-in:checked + .qt .qt-dot::after{content:"";position:absolute;left:50%;top:50%;width:38%;height:38%;border-radius:50%;background:rgb(10,61,98);transform:translate(-50%,-50%)}
.qf-bad .qt{border-color:#B3261E}
.qc input{accent-color:rgb(10,61,98);cursor:pointer}
.qf-status{color:rgb(10,61,98)}
.qf-status:empty{display:none}
.qf-status.is-error{color:#B3261E;font-weight:700}
.qf-status.is-ok{padding:18px 22px;border-left:4px solid rgb(130,204,221);background:rgb(223,249,251);border-radius:0 12px 12px 0}
@media (max-width:1023.98px){
  .m-qsteps{list-style:none;margin:22px 0 30px;padding:0;border-top:1px solid rgba(130,204,221,.24)}
  .m-qsteps li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(130,204,221,.24);color:rgb(223,249,251);font-size:18px;line-height:26px}
  .m-qsteps b{flex:none;width:38px;height:38px;border-radius:50%;border:2px solid rgb(130,204,221);box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-family:'Pragmatica Extended',sans-serif;font-weight:400;font-size:17px;color:rgb(130,204,221)}
  .m-qf{background:#fff;border-radius:24px;padding:24px 20px 26px;margin-top:6px}
  .m-qf-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .m-qf-top p{margin:0;font-size:14px;line-height:18px;color:rgb(55,94,123)}
  .m-qf-top p:first-child{font-weight:700;letter-spacing:.18em;text-transform:uppercase}
  .m-qf-f{margin-top:20px}
  .m-qf-l{display:block;margin:0 0 8px;padding:0;font-size:17px;line-height:23px;font-weight:700;color:rgb(10,61,98)}
  .m-qf-in{display:block;width:100%;box-sizing:border-box;margin:0;padding:14px 16px;font:400 17px/23px 'DM Sans',sans-serif;color:rgb(10,61,98)}
  textarea.m-qf-in{min-height:150px;resize:vertical}
  .m-qf-help{margin:0 0 10px;font-size:15px;line-height:22px;color:rgb(55,94,123);text-wrap:pretty}
  .m-qf-set{margin:24px 0 0;padding:0;border:0;min-width:0}
  .m-qt-grid{display:grid;grid-template-columns:1fr;gap:10px}
  .m-qt-w{position:relative}
  .m-qt{display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 14px;border-radius:14px;box-sizing:border-box;cursor:pointer;font-size:16px;line-height:21px;font-weight:700}
  .m-qt span{flex:1}
  .m-qt .qt-dot{width:22px;height:22px}
  .m-qc{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:16px;line-height:23px;color:#1b2a3a;cursor:pointer}
  .m-qc input{flex:none;width:24px;height:24px;margin:0}
  .m-qc a{color:rgb(10,61,98);font-weight:700}
  .m-qf-err{margin:8px 0 0;font-size:15px;line-height:21px;font-weight:700;color:#B3261E}
  .m-qf-go{display:flex;width:100%;margin-top:26px;height:54px;border:0;cursor:pointer;background:rgb(10,61,98);color:#fff;font-family:inherit;font-size:17px;font-weight:700;letter-spacing:.06em}
  .m-qf-status{margin:14px 0 0;font-size:15px;line-height:22px}
  .m-qf-status.is-ok{padding:14px 16px}
}

/* Round 4 (client, 18 Sep 2026): larger text on phones too. A smaller step than
   desktop - the phone layout is sized in real pixels, so it never had the
   scaled-canvas shrink that made desktop text small. */
@media (max-width:1023.98px){
  .m-body{font-size:18px;line-height:27px}
  .m-body-lg{font-size:20px;line-height:30px}
  .m-sub{font-size:19px;line-height:28px}
  .m-card-text{font-size:18px;line-height:27px}
  .m-list li{font-size:18px;line-height:27px}
  .m-kicker{font-size:14px;line-height:19px}
  .m-news-title{font-size:21px;line-height:28px}
  .m-tag{font-size:14px}
  .m-faq-row p{font-size:19px;line-height:26px}
  .m-faq-body{font-size:18px;line-height:27px}
  .m-foot-reg{font-size:15px;line-height:23px}
  .m-foot-nav a{font-size:16px}
  .m-chip-k{font-size:14px}
  .m-chip-v{font-size:clamp(17px,5vw,22px)}
  .m-crumb{font-size:13px}
  .m-pillar b{font-size:14px}
  .m-pillar span{font-size:15px;line-height:22px}
  .m-hx-eyebrow{font-size:14px}
  .m-hx-lede{font-size:19px;line-height:29px}
  .m-hx-sub p{font-size:18px;line-height:28px}
  .m-hx-item b{font-size:14px;line-height:19px}
  .m-hx-item span{font-size:15px;line-height:22px}
  .m-hx-promise{font-size:19px;line-height:29px}
  #m-next-steps .m-list li{font-size:19px;line-height:28px}
  .mobile-nav a{font-size:17px}
  /* three hero buttons stack, equal width */
  #m-hero .m-cta-row{flex-direction:column;align-items:center}
  #m-hero .m-cta-row a{width:min(100%,300px);box-sizing:border-box}
}

/* With "Get a Quote" in the nav the full header needs ~1050px; between 1024 and
   1100 the desktop page keeps its layout but the header uses the menu button. */
@media (min-width:1024px) and (max-width:1099.98px){
  .site-nav{display:none}
  .nav-burger{display:flex}
}

/* ==== WordPress additions (build/wp/wp-additions.css) ==================== */

/* Hero headline serif, self-hosted (the static build loaded it from Google
   Fonts). One variable file, latin subset, weights 400-700. */
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/libre-baskerville-latin.woff2') format('woff2')}

/* long links in editor content wrap instead of overflowing the column */
#stage #main a,#mobile #m-main a{overflow-wrap:anywhere}

/* Gravity Forms in the approved quote-form design. Gravity Forms' own CSS is
   off (inc/forms.php); sizes follow the static form: canvas px inside #stage,
   real px inside #mobile. */
.npus-form .gform_validation_container,.npus-form .gform_hidden,.npus-form .gfield--type-honeypot,
.npus-form .gfield_visibility_hidden,.npus-form .gform_heading{display:none!important}
.npus-form .screen-reader-text,.npus-form .hidden_label .gfield_label,.npus-form .gfield_label.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.npus-form form{margin:0}
.npus-form .gform_fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:28px;row-gap:30px}
.npus-form .gfield{grid-column:span 12;margin:0;padding:0;border:0;min-width:0}
.npus-form .gfield--width-half{grid-column:span 6}
.npus-form fieldset.gfield{margin:10px 0 0}
.npus-form .gfield_label,.npus-form legend.gfield_label{display:block;margin:0 0 12px;padding:0;font-size:27px;line-height:27px;font-weight:700;color:rgb(10,61,98)}
.npus-form .gfield_required{color:rgb(55,94,123)}
.npus-form .gfield_description{margin:-2px 0 14px;font-size:25px;line-height:35px;color:rgb(55,94,123);text-wrap:pretty}
.npus-form .ginput_container input[type=text],.npus-form .ginput_container input[type=tel],.npus-form .ginput_container input[type=email],.npus-form .ginput_container textarea{display:block;width:100%;box-sizing:border-box;margin:0;padding:20px 22px;font-family:inherit;font-size:29px;line-height:29px;color:rgb(10,61,98);background:#F3FAFB;border:1.5px solid rgba(10,61,98,.24);border-radius:14px;transition:border-color 150ms ease,box-shadow 150ms ease,background 150ms ease}
.npus-form .ginput_container textarea{resize:vertical;height:220px;min-height:220px;line-height:40px}
.npus-form .ginput_container input:hover,.npus-form .ginput_container textarea:hover{border-color:rgba(10,61,98,.42)}
.npus-form .ginput_container input:focus,.npus-form .ginput_container textarea:focus{outline:none;border-color:rgb(10,61,98);background:#fff;box-shadow:0 0 0 4px rgba(130,204,221,.6)}
.npus-form .gfield_error input,.npus-form .gfield_error textarea{border-color:#B3261E;background:#FFF7F6}
.npus-form .validation_message,.npus-form .gfield_validation_message{margin:10px 0 0;font-size:23px;line-height:35px;font-weight:700;color:#B3261E}
.npus-form .gform_validation_errors{margin:0 0 30px;padding:18px 22px;border-left:4px solid #B3261E;background:#FFF7F6;border-radius:0 12px 12px 0}
.npus-form .gform_validation_errors h2,.npus-form .gform_submission_error{margin:0;font-size:26px;line-height:40px;font-weight:700;color:#B3261E}
.npus-form .gform_validation_errors ol{margin:8px 0 0;padding-left:28px;font-size:23px;line-height:35px;color:#B3261E}
.npus-form .gform_validation_errors a{color:inherit}

/* business type: radio tiles (3 across, then 2) */
.npus-form .gfield_radio{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.npus-form .gfield_radio .gchoice{grid-column:span 2;position:relative}
.npus-form .gfield_radio .gchoice:nth-child(n+4){grid-column:span 3}
.npus-form .gfield_radio input{position:absolute;left:0;top:0;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.npus-form .gfield_radio label{display:flex;align-items:center;gap:18px;min-height:100px;box-sizing:border-box;padding:20px 22px;border-radius:18px;cursor:pointer;font-size:27px;line-height:36px;font-weight:700;background:#fff;border:1.5px solid rgba(10,61,98,.24);color:rgb(10,61,98);transition:background 150ms ease,border-color 150ms ease,color 150ms ease}
.npus-form .gfield_radio label::before{content:"";flex:none;width:46px;height:46px;background:rgb(55,94,123);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;transition:background 150ms ease}
.npus-form .gfield_radio label::after{content:"";flex:none;margin-left:auto;width:26px;height:26px;border-radius:50%;border:2px solid rgba(10,61,98,.35);box-sizing:border-box;transition:background 150ms ease,border-color 150ms ease,box-shadow 150ms ease}
.npus-form .gfield_radio label:hover{background:rgb(223,249,251);border-color:rgba(10,61,98,.4)}
.npus-form .gfield_radio input:checked + label{background:rgb(10,61,98);border-color:rgb(10,61,98);color:#fff}
.npus-form .gfield_radio input:checked + label::before{background:rgb(130,204,221)}
.npus-form .gfield_radio input:checked + label::after{border-color:rgb(130,204,221);background:rgb(130,204,221);box-shadow:inset 0 0 0 7px rgb(130,204,221),inset 0 0 0 13px rgb(10,61,98)}
.npus-form .gfield_radio input:focus-visible + label{outline:3px solid rgb(130,204,221);outline-offset:3px;box-shadow:0 0 0 3px rgba(10,61,98,.95)}
.npus-form .gfield_error .gfield_radio label{border-color:#B3261E}
.npus-form .gfield_radio .gchoice:nth-child(1) label{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='15.5' r='8'/%3E%3Cpath d='M8.5 42.5c.7-10.2 7-16 15.5-16s14.8 5.8 15.5 16z'/%3E%3C/svg%3E")}
.npus-form .gfield_radio .gchoice:nth-child(2) label{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5.5' y='14.5' width='37' height='26' rx='3.5'/%3E%3Cpath d='M17 14.5v-4a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v4'/%3E%3Cpath d='M5.5 25.5h37'/%3E%3Cpath d='M21 25.5v3.5h6v-3.5'/%3E%3C/svg%3E")}
.npus-form .gfield_radio .gchoice:nth-child(3) label{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 42.5V8.5a2 2 0 0 1 2-2h17a2 2 0 0 1 2 2v34'/%3E%3Cpath d='M30.5 18.5h6a2 2 0 0 1 2 2v22'/%3E%3Cpath d='M5 42.5h38'/%3E%3Cpath d='M15 13h4M22 13h3.5M15 20h4M22 20h3.5M15 27h4M22 27h3.5'/%3E%3Cpath d='M17 42.5v-7.5h7v7.5'/%3E%3Cpath d='M34 26.5v2M34 33.5v2'/%3E%3C/svg%3E")}
.npus-form .gfield_radio .gchoice:nth-child(4) label{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 15.5h6l3.2 14h-6z'/%3E%3Cpath d='M45.5 15.5h-6l-3.2 14h6z'/%3E%3Cpath d='M8.7 17.5c3.6-1.8 7-2.5 10.1-2.1l4.4 1.2'/%3E%3Cpath d='M39.3 17.6c-2.9-1.4-5.8-1.9-8.7-1.5l-7.9 5.2c-1.3.9-1 2.9.5 3.3 1.1.3 2.3 0 3.2-.6l4-2.7 8.4 8.2'/%3E%3Cpath d='M11.7 29.5 21 37.8c1.4 1.3 3.5 1.2 4.8-.2'/%3E%3Cpath d='m15.3 27.2 8.5 7.7M19 24.9l7.9 7.2M26 37.4c1.2 1 3 .9 4-.3l6.2-6.6'/%3E%3C/svg%3E")}
.npus-form .gfield_radio .gchoice:nth-child(5) label{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 22 22 8.5 38.5 22'/%3E%3Cpath d='M10 18.5v23h13'/%3E%3Cpath d='M34 18.5v6'/%3E%3Ccircle cx='33.5' cy='32' r='5'/%3E%3Cpath d='M33.5 37v7M33.5 40.5h3.5M33.5 43.5h2.5'/%3E%3C/svg%3E")}

/* consent checkboxes */
.npus-form .gfield_checkbox .gchoice{display:flex;align-items:center;gap:16px;margin:14px 0 0}
.npus-form .gfield_checkbox .gchoice:first-child{margin-top:0}
.npus-form .gfield_checkbox input[type=checkbox]{flex:none;width:30px;height:30px;margin:0;accent-color:rgb(10,61,98);cursor:pointer}
.npus-form .gfield_checkbox label{font-size:26px;line-height:40px;color:#1b2a3a;cursor:pointer}
.npus-form .gfield_checkbox label a{color:rgb(10,61,98);font-weight:700}
.npus-form .gfield_checkbox{display:flex;flex-direction:column}
.npus-form .gfield-choice-toggle-all{order:-1;margin:0 0 14px}
.npus-form .gfield_choice_all_toggle{display:flex;align-items:center;gap:16px;margin:0;padding:0;border:0;background:none;font-family:inherit;font-size:26px;line-height:40px;color:#1b2a3a;text-align:left;cursor:pointer}
.npus-form .gfield_choice_all_toggle::before{content:"";flex:none;width:30px;height:30px;box-sizing:border-box;border:2px solid #767676;border-radius:5px;background:#fff center/72% no-repeat}
.npus-form .gfield_choice_all_toggle[data-checked="1"]::before{background-color:rgb(10,61,98);border-color:rgb(10,61,98);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E")}
.npus-form .gfield_choice_all_toggle:focus-visible{outline:3px solid rgb(130,204,221);outline-offset:3px}

/* submit, spinner, confirmation */
.npus-form .gform_footer{margin:48px 0 0;padding:0;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.npus-form .npus-submit{height:64px;padding:0 44px;border:0;border-radius:32px;background:rgb(10,61,98);color:#fff;font-family:inherit;font-size:24px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background 150ms ease,color 150ms ease}
.npus-form .gform_ajax_spinner{width:32px;height:32px}
.npus-form .gform_confirmation_message{padding:18px 22px;border-left:4px solid rgb(130,204,221);background:rgb(223,249,251);border-radius:0 12px 12px 0;font-size:26px;line-height:40px;color:rgb(10,61,98)}

/* the same form in the mobile layer, in real pixels */
#mobile .npus-form{margin-top:20px}
#mobile .npus-form .gform_fields{grid-template-columns:1fr;row-gap:20px}
#mobile .npus-form .gfield,#mobile .npus-form .gfield--width-half{grid-column:1/-1}
#mobile .npus-form fieldset.gfield{margin:4px 0 0}
#mobile .npus-form .gfield_label,#mobile .npus-form legend.gfield_label{margin:0 0 8px;font-size:17px;line-height:23px}
#mobile .npus-form .gfield_description{margin:0 0 10px;font-size:15px;line-height:22px}
#mobile .npus-form .ginput_container input[type=text],#mobile .npus-form .ginput_container input[type=tel],#mobile .npus-form .ginput_container input[type=email],#mobile .npus-form .ginput_container textarea{padding:14px 16px;font:400 17px/23px 'DM Sans',sans-serif}
#mobile .npus-form .ginput_container textarea{height:150px;min-height:150px}
#mobile .npus-form .validation_message,#mobile .npus-form .gfield_validation_message{margin:8px 0 0;font-size:15px;line-height:21px}
#mobile .npus-form .gform_validation_errors{margin:0 0 18px;padding:12px 14px}
#mobile .npus-form .gform_validation_errors h2,#mobile .npus-form .gform_submission_error{font-size:16px;line-height:23px}
#mobile .npus-form .gform_validation_errors ol{font-size:15px;line-height:22px;padding-left:20px}
#mobile .npus-form .gfield_radio{grid-template-columns:1fr;gap:10px}
#mobile .npus-form .gfield_radio .gchoice,#mobile .npus-form .gfield_radio .gchoice:nth-child(n+4){grid-column:1/-1}
#mobile .npus-form .gfield_radio label{gap:12px;min-height:58px;padding:10px 14px;border-radius:14px;font-size:16px;line-height:21px}
#mobile .npus-form .gfield_radio label::before{width:30px;height:30px}
#mobile .npus-form .gfield_radio label::after{width:22px;height:22px}
#mobile .npus-form .gfield_radio input:checked + label::after{box-shadow:inset 0 0 0 6px rgb(130,204,221),inset 0 0 0 11px rgb(10,61,98)}
#mobile .npus-form .gfield_checkbox .gchoice{gap:12px;margin-top:12px}
#mobile .npus-form .gfield_checkbox input[type=checkbox]{width:24px;height:24px}
#mobile .npus-form .gfield_checkbox label,#mobile .npus-form .gfield_choice_all_toggle{font-size:16px;line-height:23px}
#mobile .npus-form .gfield-choice-toggle-all{margin-bottom:12px}
#mobile .npus-form .gfield_choice_all_toggle{gap:12px}
#mobile .npus-form .gfield_choice_all_toggle::before{width:24px;height:24px}
#mobile .npus-form .gform_footer{margin-top:26px}
#mobile .npus-form .npus-submit{display:flex;align-items:center;justify-content:center;width:100%;height:54px;padding:0 20px;border-radius:27px;font-size:17px;font-weight:700;letter-spacing:.06em}
#mobile .npus-form .gform_confirmation_message{padding:14px 16px;font-size:15px;line-height:22px}

/* Cookie consent banner (real pixels, fixed to the bottom of the window) */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;display:flex;justify-content:center;pointer-events:none}
.cookie-bar[hidden]{display:none}
.cookie-in{pointer-events:auto;max-width:980px;width:100%;box-sizing:border-box;display:flex;align-items:center;gap:24px;padding:18px 22px;background:rgb(10,61,98);color:rgb(223,249,251);border-radius:18px;box-shadow:0 12px 40px rgba(10,61,98,.35);font-family:'DM Sans',sans-serif}
.cookie-txt{margin:0;flex:1;font-size:15px;line-height:22px}
.cookie-txt a{color:#fff;font-weight:700}
.cookie-btns{display:flex;gap:10px;flex:none}
.cookie-btn{height:42px;padding:0 20px;border-radius:21px;border:1.5px solid rgb(130,204,221);background:transparent;color:#fff;font:700 14px/1 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:background 150ms ease,color 150ms ease}
.cookie-btn:hover,.cookie-btn:focus-visible{background:rgb(130,204,221);color:rgb(10,61,98)}
.cookie-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:720px){.cookie-in{flex-direction:column;align-items:stretch;gap:14px}.cookie-btns{flex-direction:column}.cookie-btn{width:100%}}

/* Embeds (review widget) in the scaled desktop canvas: zoomed back up to
   real-pixel reading size; in the mobile layer they render as they are. */
#stage .npus-embed{zoom:1.6;margin:0 0 30px}
#mobile .npus-embed{margin:0 0 20px}

/* editor content images and embeds stay inside their column */
.wp-caption{max-width:100%}
iframe{max-width:100%}
