*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--v2-ink);font:400 16px/normal var(--v2-body-font);overflow-wrap:break-word}
img,svg,video,iframe{display:block;max-width:100%;height:auto}
figure{margin:0} a{color:var(--v2-forest);text-decoration-thickness:1px;text-underline-offset:.18em}
button,input,select,textarea{font:inherit} button,a{touch-action:manipulation}
h1,h2,h3,h4{margin:0 0 .55em;color:var(--v2-ink);font-family:var(--v2-display);font-weight:700;line-height:1.12}
/* Heading scale. ONE scale, applied consistently -- the handover varies its
   section headings between 38 and 46px page by page, and we deliberately do not
   reproduce that. No per-section or per-template heading sizes: if a heading
   needs a different size, that is a design decision, not a per-band accident.

   The magnitude was the real defect. These clamps' upper bounds were never
   reachable -- the vw terms won at every desktop width and pinned h1/h2/h3 to
   72/48.96/26.4px, at or above the top of the handover's range. Each cap is now
   the middle of what that design actually asks for:

     h1  3.5rem   = 56px   the handover's h1 on every index page
     h2  2.625rem = 42px   midpoint of its 38-46px section range, and the value
                           with the lowest total error across the 20 measured
                           headings that carry no size of their own
     h3  1.375rem = 22px   its card-title size

   Each vw term is sized to meet its cap at the 1440px design width, so the cap
   is what renders on desktop and the clamp only does work below it. The lower
   bounds are untouched, so narrow-viewport rendering is unchanged. */
h1{font-size:clamp(2.35rem,3.9vw,3.5rem);letter-spacing:-.035em}
h2{font-size:clamp(1.9rem,2.95vw,2.625rem);letter-spacing:-.025em}
h3{font-size:clamp(1.2rem,1.55vw,1.375rem)} p{margin:0 0 1.1em}
.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}
.screen-reader-text:focus{position:fixed!important;z-index:1000;top:12px;left:12px;width:auto;height:auto;padding:12px 16px;clip:auto;background:#fff;color:var(--v2-ink)}
.site,.site-content,.site-main,.entry-content{min-width:0;max-width:100%}.entry-content>*{min-width:0;margin-block-start:0}
.entry-content>.alignfull,.entry-content>:where(.r-page,.h-hero,.lt-hero,.h-trust,.h-serv,.lt-serv,.h-map,.lt-map,.h-proc,.lt-proc,.faq,.dark-cta){max-width:none;width:100%;margin-inline:0}
:where(.r-innerpad,.h-hero-inner,.h-trust-inner,.h-serv-inner,.h-map-inner,.h-proc-inner,.lt-inner,.lt-map-inner,.lt-serv-inner,.lt-proc-inner,.faq-inner,.dark-cta>.r-innerpad){width:min(calc(100% - (2 * var(--v2-gutter))),var(--v2-wide));margin-inline:auto}
.eyebrow-wrap{display:flex;align-items:center;gap:12px;margin-bottom:20px}.eyebrow-rule{width:32px;margin:0;border:0;border-top:2px solid var(--v2-sage)}
.eyebrow-label,.r-eyebrow{margin:0;color:var(--v2-forest);font:700 11px/1.3 var(--v2-mono);letter-spacing:.12em;text-transform:uppercase}
.wp-block-buttons.r-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.r-cta-filled .wp-element-button,.r-cta-outline .wp-element-button,.ciq-cs__cta-link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:14px 22px;border:1px solid var(--v2-ink);border-radius:0;font:700 13px/1 var(--v2-display);text-decoration:none}
.r-cta-filled .wp-element-button,.ciq-cs__cta-link{background:var(--v2-ink);color:#fff}.r-cta-outline .wp-element-button{background:transparent;color:var(--v2-ink)}
:focus-visible{outline:3px solid var(--v2-forest);outline-offset:3px}
