@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/figtree-v9-latin-regular.woff2') format('woff2')}
@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/figtree-v9-latin-800.woff2') format('woff2')}
/* R9: browser-measured Arial width ratio from FINDINGS-R9.md. */
@font-face{font-family:"Figtree Fallback";font-style:normal;font-weight:400;font-display:swap;src:local("Arial");size-adjust:100.0975%;ascent-override:95.420799%;descent-override:25.110737%;line-gap-override:0.000000%}
@font-face{font-family:"Figtree Fallback";font-style:normal;font-weight:800;font-display:swap;src:local("Arial Bold");size-adjust:100.0975%;ascent-override:95.420799%;descent-override:25.110737%;line-gap-override:0.000000%}
:root{
  --color-primary:#00823B;--color-primary-dark:#004F24;--color-primary-light:#00BF56;--color-heading-light:#B8F5CE;--color-brand-green:#00AB4E;
  --color-accent:#F26A1B;--color-accent-hover:#DD5C12;--color-accent-label:#111827;
  --color-bg:#FFFFFF;--color-surface:#F2F4F6;--color-text:#15181A;--color-text-muted:#4E565C;
  --color-border:#CFD4D8;--color-border-strong:#6B7280;--color-on-dark-muted:#D0D0D1;
  --color-link:#007A37;--color-success:#1B7F4B;--color-danger:#B42318;--color-focus:#00823B;--overlay-rgb:18 21 23;
  --font-system:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-display:Figtree,"Figtree Fallback",var(--font-system);--font-body:Figtree,"Figtree Fallback",var(--font-system);
  --fs-body:1.0625rem;--fs-small:.875rem;--fs-eyebrow:.875rem;--fs-button:1.0625rem;
  --fs-h3:1.375rem;--fs-h2:2rem;--fs-h1:2.75rem;--fs-phone:1.75rem;
  --lh-tight:1.02;--lh-snug:1.15;--lh-body:1.55;--measure:65ch;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;
  --container:1200px;--container-prose:68ch;--gutter:16px;--section-y:64px;--grid-gap:16px;
  --r-sm:0;--r-md:2px;--r-lg:4px;--r-pill:999px;
  --shadow-sm:0 1px 2px rgba(17,24,39,.08);--shadow-md:0 4px 12px rgba(17,24,39,.10),0 1px 3px rgba(17,24,39,.06);
  --shadow-lg:0 12px 32px rgba(17,24,39,.14),0 2px 6px rgba(17,24,39,.06);--shadow-bar:0 -2px 12px rgba(0,0,0,.18);
  --bw-1:1px;--bw-2:2px;--bw-focus:3px;--ease-standard:cubic-bezier(.2,0,0,1);--dur-fast:160ms;--dur-base:240ms;--dur-slow:300ms;
}
*{box-sizing:border-box}html{scroll-padding-top:24px;scrollbar-gutter:stable}body{margin:0;background:var(--color-bg);color:var(--color-text);font:400 var(--fs-body)/var(--lh-body) var(--font-body);padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}picture{display:block}a{color:var(--color-link);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button{cursor:pointer}strong,b,h1,h2,h3,legend{font-weight:800}
h1,h2,h3,p{margin-top:0}p{max-width:var(--measure);margin-bottom:24px}h1{font:800 var(--fs-h1)/var(--lh-tight) var(--font-display);letter-spacing:-.02em;max-width:18ch;margin-bottom:24px}h2{font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.01em;max-width:28ch;margin-bottom:24px}h3{font-size:var(--fs-h3);line-height:1.25;margin-bottom:12px}ul{padding-left:24px}address{font-style:normal}fieldset{min-width:0}a,button,input,select,textarea,summary,[tabindex]{scroll-margin-bottom:80px;scroll-margin-top:24px}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--bw-focus) solid var(--color-focus);outline-offset:3px}:is(.band-dark,.hero) :is(a,button):focus-visible{outline-color:white}
.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.section{padding-block:var(--section-y)}.surface{background:var(--color-surface)}.prose{max-width:var(--container-prose)}.eyebrow{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}.muted{color:var(--color-text-muted)}.band-dark{background:var(--color-primary-dark);color:white}.band-dark .muted{color:var(--color-on-dark-muted)}.band-dark a:not(.btn){color:white}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:white;padding:16px}.skip-link:focus{top:16px}
.site-header{background:var(--color-bg);color:var(--color-text)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;flex-shrink:0}.brand img{width:176px;height:auto}.site-header nav{display:flex;gap:24px}.site-header a{color:var(--color-link);text-decoration:none}.site-header nav a{padding:12px 0;font-size:16px}.header-phone{font-weight:800;white-space:nowrap}.site-header nav,.header-phone{display:none}
/* R3-2 client-approved deviation from DESIGN-SYSTEM §I.1 H2: with the
   form on /quote/, centre the single copy column in both axes. */
.hero{color:white;background:var(--color-primary-dark);position:relative;min-height:640px;isolation:isolate;display:flex;align-items:center;overflow:hidden}.hero-inner{position:relative;z-index:2;padding-block:64px}.hero-copy{max-width:760px;margin-inline:auto;text-align:center}.hero h1{max-width:22ch;margin-inline:auto}.hero .eyebrow,.hero .answer{margin-inline:auto}.hero .answer{max-width:55ch;font-size:18px}.hero-phone{color:white;font-size:var(--fs-phone);font-weight:800;line-height:1.2;display:inline-block;margin-bottom:24px;text-decoration:none}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.hero-picture{position:absolute;inset:0;z-index:-2}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-overlay::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(var(--overlay-rgb) / .68) 0%,rgb(var(--overlay-rgb) / .76) 50%,rgb(var(--overlay-rgb) / .68) 100%)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;border:2px solid transparent;border-radius:var(--r-pill);font:800 var(--fs-button)/1.2 var(--font-body);letter-spacing:.01em;text-decoration:none;cursor:pointer}.btn-primary{background:var(--color-accent);color:var(--color-accent-label)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-surface);color:var(--color-link)}:is(.band-dark,.hero) .btn-secondary{color:white;border-color:white}:is(.band-dark,.hero) .btn-secondary:hover{background:var(--color-primary-dark);color:white}
.heading-emphasis{color:var(--color-primary)}.hero .heading-emphasis,.band-dark .heading-emphasis{color:var(--color-heading-light)}
.stats-strip{border-bottom:1px solid var(--color-border)}.stats-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-block:0;padding-block:32px}.stat-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--color-border);border-radius:var(--r-lg);background:var(--color-surface);text-align:center}.stat-card dt{font-size:var(--fs-small)}.stat-card dd{order:-1;margin:0 0 8px;color:var(--color-primary);font-size:var(--fs-h2);font-weight:800;line-height:1.1}
.entry-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgb(18 21 23 / .65);overscroll-behavior:contain}.entry-dialog{position:relative;width:min(100%,560px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:var(--color-bg);color:var(--color-text);border-radius:var(--r-lg);padding:64px 24px 32px;box-shadow:var(--shadow-lg)}.entry-dialog h2{font-size:clamp(1.75rem,5vw,2.5rem)}.entry-dialog p{color:var(--color-text-muted)}.entry-actions{display:grid;gap:12px}.entry-actions .btn{min-height:48px}.entry-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:var(--r-pill);background:var(--color-surface);color:var(--color-text);font-size:32px;line-height:1}
@media(min-width:640px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.quote-wrap{max-width:720px;padding-bottom:64px}.quote-page .page-hero{max-width:720px;padding-block:40px}.quote-page .btn{min-height:48px}.js .quote-card .form-step{min-height:calc(100svh - 300px)}.js .quote-card [data-step]:not(.is-active){display:none}html:not(.js) .quote-card :is(.form-progress,.next-step,.back-step,.step-buttons){display:none}.quote-card{padding:32px 24px;border:1px solid var(--color-border);border-top:4px solid var(--color-primary);background:white;border-radius:var(--r-lg);position:relative}.quote-card h2{font-size:32px}.quote-card .eyebrow{color:var(--color-primary);margin-bottom:12px}.form-intro,.preview-notice{font-size:14px;margin-bottom:16px}.preview-notice{padding-left:12px;border-left:3px solid var(--color-border-strong);color:var(--color-text-muted)}.form-step{padding:0;border:0;margin:24px 0 0}.form-step legend{font-size:18px;padding:0;margin-bottom:20px}.field{margin-bottom:20px}.label{display:block;font:800 var(--fs-small)/1.4 var(--font-body);margin-bottom:8px}.input,.select,.textarea{width:100%;min-height:52px;padding:12px 16px;font:400 var(--fs-body)/1.4 var(--font-body);color:var(--color-text);background:var(--color-bg);border:1.5px solid var(--color-border-strong);border-radius:var(--r-md)}.textarea{min-height:128px;resize:vertical}.field-help{font-size:14px;color:var(--color-text-muted);margin:8px 0 0}.tile-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.tile-option{display:flex;align-items:flex-start;gap:8px;border:1.5px solid var(--color-border-strong);padding:12px;min-height:52px;font-size:14px;line-height:1.4;cursor:pointer}.tile-option span{min-width:0;overflow-wrap:anywhere}.tile-option:has(input:checked){border-color:var(--color-primary);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-primary)}input[type=radio],input[type=checkbox]{accent-color:var(--color-primary);width:20px;height:20px;flex:0 0 20px;margin:0}.tile-option input{margin-top:1px}.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.step-buttons,.submit-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.next-step{width:100%}.step-buttons .next-step{width:auto;flex:1}.submit-row .btn-primary{flex:1}.form-progress p{font-size:14px;font-weight:800;margin:0 0 8px}.form-progress ol{list-style:none;display:flex;gap:6px;padding:0;margin:0}.form-progress li{flex:1;min-width:0;border-top:4px solid var(--color-border);padding-top:8px}.form-progress .step-n{display:block;font-size:12px;color:var(--color-text-muted)}.form-progress .step-name{display:block;font-size:12px;font-weight:800}.form-progress li[aria-current=step],.form-progress li.complete{border-color:var(--color-primary)}.field-error,.error-summary{color:var(--color-danger);font-size:14px}.field-error{margin:8px 0 0}.error-summary:not(:empty){padding:12px 0}.input[aria-invalid=true],.select[aria-invalid=true]{border:2px solid var(--color-danger)}
.section-heading{max-width:760px;margin-bottom:40px}.section-heading p:last-child{margin-bottom:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 16px}.service-card{position:relative;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.service-card picture{aspect-ratio:4/3;overflow:hidden;flex-shrink:0}.service-card picture img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-card-copy{padding:20px 16px;display:flex;flex-direction:column;flex:1}.service-card h3{font-size:20px;overflow-wrap:normal;hyphens:auto}.service-card p{font-size:16px;margin-bottom:16px}.service-card a{font-weight:800;font-size:14px;margin-top:auto;display:inline-flex;align-items:center;min-height:48px;gap:12px}.service-card a::after{content:"";position:absolute;inset:0}.service-card:focus-within{outline:var(--bw-focus) solid var(--color-focus);outline-offset:3px}.service-more{display:grid;gap:24px;margin-top:40px}.service-more article{border-top:2px solid var(--color-primary);padding-top:24px}.service-more h3 a{color:var(--color-text)}.service-more p{font-size:16px}.industries-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:var(--grid-gap);margin:32px 0 0}.industry-card{height:100%;display:flex;flex-direction:column;padding:24px;border:1px solid var(--color-border);border-radius:var(--r-lg);background:var(--color-bg);color:var(--color-text);text-decoration:none}.industry-card h3{display:flex;align-items:center;gap:12px;font-size:20px}.industry-card svg{width:20px;height:20px;flex-shrink:0;color:var(--color-primary)}.industry-card ul{font-size:16px;margin:8px 0 20px;padding-left:20px}.industry-card li+li{margin-top:8px}.industry-cta{display:flex;align-items:center;gap:12px;min-height:48px;margin-top:auto;color:var(--color-link);text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:800}.card-arrow{display:inline-block;flex-shrink:0}
.process-grid{display:grid;gap:24px;margin-top:40px}.process-grid article{border-top:1px solid var(--color-on-dark-muted);padding-top:24px}.process-grid h3{font-size:20px}.process-grid p{margin-bottom:0;color:var(--color-on-dark-muted)}.process-number{display:block;font:800 72px/1 var(--font-display);color:var(--color-accent);margin-bottom:24px}.owner-grid{display:grid;gap:40px}.owner-grid picture{max-width:480px}.owner-grid picture img{width:100%;height:auto}.owner-grid blockquote{margin:32px 0 0;padding-left:24px;border-left:3px solid var(--color-primary)}blockquote p{font-size:22px;line-height:1.4}cite{font-style:normal;font-size:14px;font-weight:800}.county-grid{display:grid;gap:0;margin-top:40px}.county-card{padding:24px 0;border-top:1px solid var(--color-border);color:var(--color-text);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:24px}.county-card span{font-size:24px;font-weight:800}.county-card small{color:var(--color-text-muted);font-size:14px}.county-card b{color:var(--color-primary);font-size:28px}.faq-layout{display:grid;gap:24px}.faq-item{border-bottom:1px solid var(--color-border);padding:24px 0}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary :is(h2,h3){margin:0}.faq-item summary .card-arrow{color:var(--color-link)}.faq-item h3{font-size:20px}.faq-item[open] p{padding-top:16px}.faq-item p{margin-bottom:0}.text-link{display:inline-flex;align-items:center;gap:16px;margin-top:24px;min-height:44px;font-weight:800}.cta-band{padding-block:64px}.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}.cta-inner h2{max-width:22ch}.cta-inner p{margin-bottom:0}.cta-inner .btn{flex-shrink:0}
.site-footer{padding:64px 0 32px;border-top:1px solid var(--color-border)}.footer-grid{display:grid;gap:40px}.footer-grid h2{font-size:18px;line-height:1.25;letter-spacing:normal;margin-bottom:12px}.footer-grid p,.footer-grid address,.footer-grid a{font-size:14px}.footer-grid p{margin:16px 0 0}.footer-grid>div>a:not(:has(img)){display:block;padding:5px 0;min-height:32px}.footer-grid img{width:200px;height:auto}.footer-bottom{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--color-border);font-size:14px}.footer-bottom span{flex-basis:100%}.callbar{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);position:fixed;inset-inline:0;bottom:0;z-index:50;display:grid;background:var(--color-primary-dark);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:var(--shadow-bar)}.callbar a{min-height:60px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;text-decoration:none}.callbar .quote{color:white}.callbar .call{background:var(--color-accent);color:var(--color-accent-label)}.callbar.is-observed:not(.is-visible){visibility:hidden;pointer-events:none}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:24px 0 0;margin:0;font-size:14px}.breadcrumbs a{display:inline-block;min-height:28px}.breadcrumbs li+li::before{content:'/';margin-right:12px;color:var(--color-text-muted)}.page-hero{padding-block:64px}.page-hero h1{max-width:24ch}.page-hero .answer{font-size:20px;max-width:65ch}.page-hero .hero-phone{color:var(--color-primary);margin-bottom:0}.county-article{max-width:900px}.county-article>section{padding-bottom:48px}.county-article p{max-width:none}.county-article h2{font-size:32px}.city-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;list-style:none;padding:0}.city-list a{display:inline-block;min-height:32px}.related-services{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--color-border);padding:24px 0 64px}.related-services a{min-height:32px}.faq-hub{padding-bottom:64px}.faq-hub .faq-item{padding-block:28px}.faq-hub .faq-item h2{font-size:24px}.faq-hub>p{margin-top:32px}.legal-copy{padding-bottom:64px;margin-left:max(var(--gutter),calc((100% - var(--container))/2))}.legal-copy section{margin-bottom:40px}.legal-copy h2{font-size:28px}
@media(max-width:639px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}}
@media(min-width:640px){:root{--gutter:24px;--grid-gap:24px;--fs-h1:3.5rem;--fs-h2:2.5rem}.site-header nav{display:flex}.brand img{width:200px}.quote-wrap{max-width:720px}.quote-card{padding:32px}.industries-list{grid-template-columns:1fr 1fr}.process-grid,.service-more{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.service-card h3{font-size:24px}.service-card-copy{padding:24px}.owner-grid{grid-template-columns:1fr 1fr;align-items:center}.city-list{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){:root{--gutter:32px;--section-y:128px;--grid-gap:40px;--fs-body:1.125rem;--fs-h1:3.5rem;--fs-h2:2.75rem;--fs-h3:1.5rem}body{padding-bottom:0}.callbar{display:none}.header-inner{min-height:96px}.header-phone{display:block}.brand img{width:220px}.btn{min-height:44px}.hero{min-height:680px}.hero-inner{padding-block:80px}.quote-card{width:100%;box-shadow:var(--shadow-lg);margin:0}.industries-list{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(3,1fr);gap:40px}.service-card-copy{padding:32px}.owner-grid{gap:80px}.faq-layout{grid-template-columns:1fr 1.2fr;gap:80px}.cta-band{padding-block:80px}.footer-grid{grid-template-columns:1.15fr 1fr 1fr 1.2fr;gap:40px}.footer-bottom span{flex-basis:auto;margin-right:auto}.page-hero{padding-block:80px}.page-hero h1{max-width:25ch}}
@media(min-width:1280px){:root{--gutter:40px}}
.section-subheading{font-size:var(--fs-h2);font-weight:800;line-height:1.1;letter-spacing:-.01em;max-width:28ch;margin-bottom:24px;overflow:clip}
.colour-panel h4,.why-grid h4{font-size:var(--fs-h3);font-weight:800;line-height:1.25;margin:0 0 12px}.why-grid h4{font-size:20px}
/* R7 additions reuse the existing palette, spacing and card treatments. */
.hero-picture{overflow:hidden}.hero-copy h1 .heading-emphasis{display:inline-block}.service-grid>.motion-reveal{min-width:0}.service-grid>.motion-reveal>.service-card{height:100%}
.scroll-cue{position:absolute;bottom:12px;left:calc(50% - 24px);width:48px;height:48px;display:grid;place-items:center;color:white;z-index:3}
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--color-accent);z-index:250;transform-origin:left;opacity:0;pointer-events:none}
.site-header{position:sticky;top:-16px;z-index:40;isolation:isolate}.site-header::after{content:'';position:absolute;inset:0;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;z-index:-1}
.stat-value{display:inline-block;position:relative;min-width:2ch;font-variant-numeric:tabular-nums;overflow:hidden;vertical-align:bottom}.stat-reel{position:absolute;inset:0;opacity:0;pointer-events:none}.stat-reel span{display:block;height:1.1em;line-height:1.1}
.also-available{margin-top:32px}.process-step{position:relative}.process-step::before{content:'';position:absolute;top:-2px;inset-inline:0;height:3px;background:var(--color-accent);transform-origin:left}.process-badge{font-size:14px;display:flex;align-items:flex-start;gap:8px}.process-badge svg,.proof-metrics svg,.portal-check svg{flex-shrink:0}
.colour-grid,.why-grid,.review-grid{display:grid;gap:24px}.swatch-frame{overflow:hidden;margin-bottom:20px}.rag-swatch{height:144px}.rag-red{background:#C93336}.rag-yellow{background:#F3D34A}.rag-green{background:#3B9860}.rag-blue{background:#397FC0}.colour-panel p{font-size:16px}.colour-payoff{font-size:22px;font-weight:800;margin:32px 0 0}
.proof-metrics{list-style:none;padding-block:32px;padding-inline:0;display:grid;gap:24px;margin-block:0;font-size:16px;font-weight:800}.proof-metrics li{display:flex;gap:8px;align-items:flex-start}.proof-metrics svg{color:var(--color-primary)}
.portal-grid{display:grid;gap:40px}.portal-illustration{margin:0;min-width:0}.portal-feed{background:var(--color-surface);border:1px solid var(--color-border);padding:24px;border-radius:var(--r-lg)}.portal-feed ol{list-style:none;margin:0;padding:0}.portal-feed li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding-block:16px;border-top:1px solid var(--color-border);font-size:16px}.portal-feed time{font-variant-numeric:tabular-nums}.portal-check{display:flex;align-items:center;gap:8px;color:var(--color-link);font-size:14px;grid-column:1/-1}.portal-illustration figcaption{font-size:14px;color:var(--color-text-muted);margin-top:16px}.why-grid article{border-top:2px solid var(--color-primary);padding-top:24px}.why-grid h3{font-size:20px}.why-grid p{font-size:16px;margin:0}.review-card{border:1px solid var(--color-border);border-radius:var(--r-lg);background:var(--color-surface);padding:24px;margin:0}.review-card blockquote{margin:0}.review-card figcaption{font-size:14px;font-weight:800}
h2:has(.heading-wipe){overflow:clip}.heading-wipe{display:block}
@media(min-width:640px){.colour-grid,.why-grid,.review-grid,.proof-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.colour-grid,.proof-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.why-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-grid{grid-template-columns:1fr 1.2fr}.process-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.process-pin{padding-block:64px}}
/* Every interpolated property below is transform or opacity. Clipping and
   shadows are static; wipes move inside fixed clips and shadows fade in. */
@media(prefers-reduced-motion:no-preference){
  .stat-counting .stat-final{opacity:0}.stat-counting .stat-reel{opacity:1}
  @keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.08)}}
  @keyframes hero-enter{from{opacity:.01;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes hero-exit{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-20px)}}
  @keyframes cue-bob{0%,100%{transform:none}50%{transform:translateY(6px)}}
  @keyframes cue-hide{to{opacity:0}}
  @keyframes progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes reveal-enter{from{opacity:0;transform:translateY(var(--rise,20px)) scale(.97)}to{opacity:1;transform:none}}
  @keyframes heading-enter{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
  @keyframes swatch-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes step-number{from{transform:scale(.92)}to{transform:none}}
  @keyframes step-light{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
  @keyframes dialog-enter{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
  @keyframes step-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .hero-picture img{animation:hero-drift 24s ease-in-out infinite alternate}
  .hero-copy>.eyebrow{animation:hero-enter 420ms var(--ease-standard) both}
  .hero-copy>h1{animation:hero-enter 140ms var(--ease-standard) 70ms both}
  .hero-copy>h1 .heading-emphasis{animation:hero-enter 140ms var(--ease-standard) 140ms both}
  .hero-copy>.answer{animation:hero-enter 420ms var(--ease-standard) 210ms both}
  .hero-copy>.hero-phone{animation:hero-enter 420ms var(--ease-standard) 280ms both}
  .hero-actions{animation:hero-enter 420ms var(--ease-standard) 350ms both}
  .scroll-cue svg{animation:cue-bob 2s ease-in-out infinite}
  .entry-dialog{animation:dialog-enter 180ms var(--ease-standard)}
  .form-step.is-entering,.faq-item[open] p{animation:step-enter var(--dur-base) var(--ease-standard)}
  .btn,:is(.service-card,.industry-card,.county-card,.faq-item),.service-card img,.card-arrow,.btn [aria-hidden],.header-inner{transition:transform 160ms var(--ease-standard)}
  .btn{position:relative;isolation:isolate}.btn::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:var(--shadow-md);opacity:0;transition:opacity 160ms var(--ease-standard);pointer-events:none;z-index:-1}
  .site-header::after{transition:opacity 240ms var(--ease-standard)}.site-header.is-condensed::after{opacity:1}.site-header.is-condensed .header-inner{transform:scale(.96)}
  @media(hover:hover){.btn:hover{transform:scale(1.02)}.btn:hover::before{opacity:1}:is(.service-card,.industry-card,.county-card,.faq-item):hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.service-card:hover img{transform:scale(1.03)}:is(.service-card,.industry-card,.county-card,.faq-item,.btn):hover :is(.card-arrow,[aria-hidden]){transform:translateX(4px)}}
  .motion-reveal:nth-child(3n + 2){--reveal-delay:70ms;--entry-start:7%}.motion-reveal:nth-child(3n){--reveal-delay:140ms;--entry-start:14%}
  .surface .motion-reveal{--rise:-20px}
  .rag-swatch{transform-origin:left}.colour-panel:nth-child(2){--reveal-delay:90ms;--entry-start:9%}.colour-panel:nth-child(3){--reveal-delay:180ms;--entry-start:18%}.colour-panel:nth-child(4){--reveal-delay:270ms;--entry-start:27%}.colour-payoff{--reveal-delay:360ms;--entry-start:36%}
  @supports(animation-timeline:view()){
    .scroll-progress{opacity:1;animation:progress linear both;animation-timeline:scroll(root block)}
    .hero{view-timeline-name:--hero;view-timeline-axis:block}
    .hero-inner{animation:hero-exit linear both;animation-timeline:--hero;animation-range:exit 0% exit 100%}
    .scroll-cue{animation:cue-hide linear both;animation-timeline:--hero;animation-range:exit 0% exit 12%}
    .motion-reveal{animation:reveal-enter 420ms var(--ease-standard) both;animation-timeline:view();animation-range:entry var(--entry-start,0%) entry 100%}
    .heading-wipe{animation-name:heading-enter}
    .colour-panel{animation:none}.rag-swatch{animation:swatch-enter 420ms var(--ease-standard) both;animation-timeline:view();animation-range:entry var(--entry-start,0%) entry 100%}
    @media(min-width:1024px) and (min-height:700px){
      .process-track{height:240svh;view-timeline-name:--process;view-timeline-axis:block}.process-pin{position:sticky;top:80px;min-height:calc(100svh - 80px);display:flex;align-items:center}
      .process-step{animation:none}.process-step::before{animation:step-light linear both;animation-timeline:--process;animation-range:contain var(--step-start,0%) contain var(--step-end,16%)}
      .process-step .process-number{transform-origin:left;animation:step-number linear both;animation-timeline:--process;animation-range:contain var(--step-start,0%) contain var(--step-end,16%)}
      .process-step:nth-child(2){--step-start:18%;--step-end:34%}.process-step:nth-child(3){--step-start:36%;--step-end:52%}.process-step:nth-child(4){--step-start:54%;--step-end:70%}.process-step:nth-child(5){--step-start:72%;--step-end:88%}
    }
  }
  @supports not (animation-timeline:view()){
    .reveal-pending{opacity:0;transform:translateY(var(--rise,20px)) scale(.97)}
    .reveal-enter{animation:reveal-enter 420ms var(--ease-standard) var(--reveal-delay,0ms) both}.heading-wipe.reveal-enter{animation-name:heading-enter}
    .colour-panel.reveal-pending{opacity:1;transform:none}.colour-panel.reveal-pending .rag-swatch{transform:scaleX(0)}.colour-panel.reveal-enter{animation:none}.colour-panel.reveal-enter .rag-swatch{animation:swatch-enter 420ms var(--ease-standard) var(--reveal-delay,0ms) both}
    .scroll-cue.is-scrolled{opacity:0}
  }
  .motion-reveal:focus-within{animation:none!important;opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .motion-reveal,.reveal-pending,.reveal-enter,.rag-swatch,.hero-inner,.hero-copy>*,.heading-emphasis,.header-inner,.process-step::before{opacity:1!important;transform:none!important}
  .stat-counting .stat-final{opacity:1}.stat-reel{opacity:0!important}.scroll-progress{opacity:1;transform:scaleX(1)}.scroll-cue{opacity:1}.site-header::after{opacity:0}.process-pin{position:static}.process-track{height:auto}
}
