@font-face{font-family:'Roboto Fallback';src:local('Arial');size-adjust:100.11%;ascent-override:92.7734%;descent-override:24.4141%;line-gap-override:0%}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:'Roboto','Roboto Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:400;background:var(--light-bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:'Roboto','Roboto Fallback',sans-serif;color:var(--dark-navy);letter-spacing:-0.01em;line-height:1.15}h1{font-weight:900;font-size:88px;letter-spacing:-0.02em}h2{font-weight:900;font-size:34px}h3{font-weight:700;font-size:22px}h4{font-weight:700;font-size:18px}h5{font-weight:500;font-size:16px;text-transform:uppercase;letter-spacing:0.05em}h6{font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:0.08em}p{font-weight:400;line-height:1.65}strong,b{font-weight:700}em,i{font-style:italic}small{font-size:0.85em;font-weight:400}@media (max-width:768px){h1{font-size:60px}h2{font-size:26px}h3{font-size:20px}}:root{--accent-cyan:#2E9BC0;--accent-cyan-hover:#23809F;--navy:#091832;--dark-navy:#0F2340;--navy-light:#1B3A6B;--accent:#EF6C21;--accent-hover:#D25F1D;--cta2:#22C55E;--cta2-hover:#16A34A;--orange:#EF6C21;--light-bg:#F2F5FB;--heading-blue:#243F6E;--ice:#D6EEF8;--white:#ffffff;--text:#0F2340;--text-muted:#334A68;--border-light:#E4EBF5;--border:rgba(0,0,0,0.08);--radius:6px;--shadow-cta:0 4px 16px rgba(239,108,33,0.30);--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;--space-xl:60px;--space-2xl:80px;--container-max:1600px;--section-pad-y:60px;--section-pad-x:clamp(16px,5vw,80px);--orange-dark:var(--accent-hover);--gray-bg:var(--light-bg)}@media (max-width:768px){:root{--section-pad-y:36px;--section-pad-x:16px}}.as-row1{display:flex;align-items:stretch;position:relative}@media (max-width:767px){.as-row1{flex-direction:row;gap:10px;justify-content:flex-start;align-items:center;padding:10px}}.as-logo-sticky{flex-shrink:0;display:flex;align-items:center;padding:10px 20px;position:relative;z-index:950;transition:padding 0.25s ease}.as-logo-sticky img{display:block;width:auto;height:150px;max-height:150px;margin-bottom:-60px;transition:height 0.25s ease,margin-bottom 0.25s ease}body.scrolled .as-logo-sticky{position:fixed;top:0;left:0;padding:8px 20px;z-index:1001;height:60px;width:170px}body.scrolled .as-logo-sticky a{display:block;width:100%;height:100%;background-image:url('/assets/images/logos/All%20Set%20logo%20text%20only.png');background-repeat:no-repeat;background-position:left center;background-size:contain}body.scrolled .as-logo-sticky img{display:none}@media (max-width:1024px){.as-logo-sticky{padding:20px;align-self:stretch}.as-logo-sticky img{height:auto;max-height:110px;margin-bottom:-55px}body.scrolled .as-logo-sticky{padding:6px 16px;height:52px;width:140px}}@media (max-width:767px){.as-logo-sticky{padding:0;align-self:center}.as-logo-sticky img{height:70px;max-height:70px;margin-bottom:0}body.scrolled .as-logo-sticky{display:none}}.as-announce-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:10px}@media (max-width:767px){.as-announce-container{padding:0}}.as-announce-title{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:0.02em;line-height:1;text-align:center;color:var(--dark-navy)}@media (max-width:767px){.as-announce-title{font-size:20px}}.as-announce-title .highlight{color:var(--accent)}.as-announce-promos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;list-style:none}.as-announce-promos li{display:inline-flex;align-items:center;gap:6px;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:19px;font-weight:800;text-transform:uppercase;color:var(--dark-navy)}.as-announce-promos li i{color:var(--accent);font-size:17px}@media (min-width:1025px){.as-announce-promos{flex-wrap:wrap;gap:10px 14px;row-gap:10px;line-height:1}.as-announce-promos li{font-size:14px;white-space:nowrap;letter-spacing:0.03em;line-height:1}.as-announce-promos li i{font-size:13px}}@media (max-width:767px){.as-announce-promos{display:none}}@media (min-width:768px) and (max-width:1024px){.as-announce-promos li:nth-child(1),.as-announce-promos li:nth-child(2){display:none}}.as-navbar{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;background:var(--dark-navy);min-height:60px;padding:0 20px 0 200px;border-bottom:3px solid var(--accent);box-shadow:0 2px 18px rgba(0,0,0,0.28);position:sticky;top:0;z-index:900;transition:padding 0.25s ease}body.scrolled .as-navbar{padding:0 20px 0 100px}@media (max-width:1024px){.as-navbar{min-height:52px;padding:0 16px 0 170px}body.scrolled .as-navbar{padding:0 16px 0 88px}}@media (max-width:767px){.as-navbar{min-height:55px;padding:0 10px;gap:5px;justify-content:space-between}body.scrolled .as-navbar{padding:0 10px}}.as-nav{flex:1;display:flex;align-items:center}.as-nav-list{display:flex;list-style:none;gap:0;align-items:center;width:100%;justify-content:center}.as-nav-list > li{position:relative}.as-nav-list > li > a{display:block;padding:0 13px;line-height:60px;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:#fff;text-decoration:none;position:relative;transition:color 0.2s}.as-nav-list > li > a::after{content:'';position:absolute;bottom:0;left:13px;right:13px;height:2px;background:var(--accent);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform 0.2s}.as-nav-list > li:hover > a::after,.as-nav-list > li:focus-within > a::after{transform:scaleX(1)}.as-nav-list > li.has-drop > a{display:inline-flex;align-items:center;gap:5px}.as-nav-list > li.has-drop > a::before{content:'\f078';font-family:'Font Awesome 6 Free';font-weight:900;font-size:10px;vertical-align:middle;order:2}.as-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--dark-navy);border-top:2px solid var(--accent);border-radius:6px;min-width:240px;padding:6px 0;z-index:200;list-style:none}.as-nav-list > li:hover > .as-dropdown,.as-nav-list > li:focus-within > .as-dropdown{display:block}.as-dropdown li a{display:block;padding:10px 16px;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:15px;font-weight:600;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.06);transition:background 0.15s}.as-dropdown li:last-child a{border-bottom:none}.as-dropdown li a:hover{background:rgba(255,255,255,0.05)}.as-dropdown li a:focus-visible,.as-nav-list > li > a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.as-btn-book{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:16px;font-weight:700;padding:7px 16px;border-radius:4px;text-decoration:none;white-space:nowrap;box-shadow:0 2px 10px rgba(232,99,24,0.32);transition:background 0.15s;border:none;cursor:pointer}.as-btn-book:hover{background:var(--accent-hover)}.as-btn-book i{font-size:15px}.as-btn-phone{display:inline-flex;align-items:center;gap:6px;background:transparent;color:#fff;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:16px;font-weight:700;padding:7px 16px;border-radius:4px;text-decoration:none;white-space:nowrap;transition:background 0.15s;border:none}.as-btn-phone:hover{background:rgba(255,255,255,0.08)}.as-btn-phone i{font-size:14px}.as-mobile-toggle{display:none;background:var(--accent);border:none;border-radius:4px;padding:7px 9px;cursor:pointer;color:#fff;font-size:22px;position:relative;z-index:1001}.as-mobile-toggle:hover{background:rgba(255,255,255,0.08)}.as-mobile-toggle i{pointer-events:none}@media (max-width:1024px){.as-btn-book{padding:7px 12px}.as-mobile-toggle{display:block}.as-nav{display:none;position:fixed;top:var(--as-header-h,125px);left:0;right:0;bottom:0;background:var(--navy);z-index:1000;padding:0;overflow:hidden}.as-nav.open{display:grid;grid-template-columns:240px 1fr;gap:0}.as-nav-list{grid-column:1;flex-direction:column;gap:0;width:100%;justify-content:flex-start;align-items:stretch;align-self:stretch;min-height:0;border-right:1px solid rgba(255,255,255,0.08);padding:20px 0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.as-nav-list > li{position:static}.as-nav-list > li > a{font-size:16px;color:rgba(255,255,255,0.78);padding:14px 20px;line-height:1.4;font-weight:600;border-left:3px solid transparent;transition:background 0.15s,color 0.15s}.as-nav-list > li > a:hover{color:#fff}.as-nav-list > li > a::after{display:none}.as-nav-list > li.has-drop > a{position:relative;padding-right:36px}.as-nav-list > li.has-drop > a::before{content:"\203A";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;opacity:0.55;transition:transform 0.2s}.as-nav-list > li.dropdown-open > a{background:var(--navy-light);color:#fff;border-left-color:var(--accent)}.as-nav-list > li.dropdown-open > a::before{opacity:1}.as-dropdown{position:absolute;top:0;left:240px;right:0;bottom:0;background:var(--navy-light);border-top:none;border-radius:0;min-width:0;padding:24px 28px;overflow-y:auto;display:none}.as-nav-list > li.dropdown-open > .as-dropdown{display:block}.as-dropdown li a{font-size:17px;font-weight:600;padding:14px 8px;border-bottom:1px solid rgba(255,255,255,0.08)}.as-mobile-close{position:absolute;top:15px;right:15px;z-index:2;background:rgba(255,255,255,0.08);border:none;border-radius:4px;padding:7px 9px;cursor:pointer;color:#fff;font-size:22px}}@media (max-width:1024px){.as-mobile-close{display:block}}@media (max-width:767px){.as-nav.open{grid-template-columns:1fr}.as-mobile-close{display:none}.as-nav-list{border-right:0;padding:20px 0 24px}.as-dropdown{position:static;left:auto;padding:4px 20px 12px}.as-dropdown li a{font-size:16px;padding:12px 4px}}@media (min-width:1025px){.as-mobile-close{display:none}}.hero{background:var(--navy);color:white;padding:56px 24px 48px;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:0;right:0;bottom:0;width:40%;background:linear-gradient(135deg,transparent 0%,rgba(244,121,32,0.06) 100%);pointer-events:none}.hero-inner{max-width:600px;position:relative;z-index:1}.hero-geo{font-size:14px;color:var(--ice);opacity:0.8;letter-spacing:0.05em;margin-bottom:14px}.hero h1{font-size:76px;font-weight:700;line-height:1.15;color:white;margin-bottom:14px;letter-spacing:-0.02em}.hero h1 em{color:var(--orange);font-style:normal}.hero-sub{font-size:18px;line-height:1.65;color:rgba(255,255,255,0.78);margin-bottom:28px;max-width:520px}.stat-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.stat{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:8px;padding:10px 14px;text-align:center;flex:1;min-width:110px}.stat .val{font-size:24px;font-weight:700;color:var(--orange)}.stat .lbl{font-size:13px;color:rgba(255,255,255,0.6);line-height:1.4;margin-top:3px}.hero-ctas{display:flex;gap:10px;flex-wrap:wrap}.btn-primary{background:var(--accent);color:white;font-weight:700;font-size:17px;padding:14px 28px;border-radius:var(--radius);text-decoration:none;border:none;cursor:pointer;box-shadow:var(--shadow-cta);display:inline-flex;align-items:center;gap:6px}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{background:var(--cta2);color:var(--navy);font-weight:600;font-size:17px;padding:14px 28px;border-radius:var(--radius);border:2px solid var(--cta2);text-decoration:none}.btn-outline:hover{background:var(--cta2-hover);border-color:var(--cta2-hover)}.hero-mascot{position:absolute;right:24px;bottom:0;opacity:0.15;font-size:162px;line-height:1;pointer-events:none}@media (max-width:768px){.hero-mascot{display:none}.hero h1{font-size:56px}.stat .val{font-size:20px}}.section--hero::before{content:'';position:absolute;top:0;right:0;bottom:0;width:40%;background:linear-gradient(135deg,transparent 0%,rgba(244,121,32,0.06) 100%);pointer-events:none}.section-hero-inner{max-width:var(--container-max);margin-left:auto;margin-right:auto;width:100%;padding:var(--section-pad-y) var(--section-pad-x);position:relative;z-index:1}.section-hero-inner > h1,.section-hero-inner > p,.section-hero-inner > .hero-ctas,.section-hero-inner > .brand-eyebrow,.section-hero-inner > .hero-geo{max-width:860px}.section--hero .hero-geo{font-size:14px;color:var(--ice);opacity:0.8;letter-spacing:0.05em;margin-bottom:10px}.section--hero .brand-eyebrow{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:14px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--orange);margin:0 0 8px 0;opacity:0.95}.section--hero h1{font-size:64px;font-weight:700;line-height:1.2;color:white;margin-bottom:12px;letter-spacing:-0.02em}.section--hero h1 em{color:var(--orange);font-style:normal}.section--hero .hero-sub{font-size:17px;line-height:1.65;color:rgba(255,255,255,0.75);margin-bottom:24px;max-width:560px}@media (max-width:768px){.section--hero{min-height:auto}.section--hero h1{font-size:48px;margin-bottom:8px}.section--hero .hero-sub{font-size:16px;margin-bottom:14px}.section--hero .brand-eyebrow{font-size:13px;letter-spacing:0.14em}[data-zone="zone-3-butter"]{border-top:3px solid var(--orange);padding-top:20px}}.breadcrumb{font-size:14px;color:var(--text-muted);padding:10px 24px;background:var(--light-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:4px;flex-wrap:wrap}.breadcrumb a{color:var(--orange);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .sep{opacity:0.4;margin:0 4px}.entity-zone{background:var(--light-bg);border-bottom:0;text-align:center}.entity-zone h2{font-size:24px;font-weight:700;color:var(--navy);margin-bottom:16px;letter-spacing:-0.02em;text-align:center}.entity-zone h2 span{color:var(--orange)}.entity-decl{background:transparent;border:0;padding:0;border-radius:0;font-size:17px;line-height:1.7;color:var(--text);width:100%;max-width:var(--container-max);margin:0 auto;text-align:center}.section,.entity-zone{padding:var(--section-pad-y) var(--section-pad-x)}.section-inner,.why-grid,.reviews-inner,.services-grid,.section-hero-inner{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto}.section > *,.entity-zone > *{max-width:var(--container-max);margin-left:auto;margin-right:auto}.section > .full-bleed,.entity-zone > .full-bleed{max-width:none}.section--alt{background:var(--light-bg)}.section--dark{background:var(--navy);color:#fff}.section--hero{padding:0;background:var(--navy);color:#fff;position:relative;overflow:hidden}.section--hero > *{max-width:none}.section--hero > .hero-content{padding:var(--section-pad-y) var(--section-pad-x);display:flex;flex-direction:column;justify-content:center;flex:1 1 auto}@media (max-width:1024px){.section--hero{flex-direction:column !important}.section--hero > .hero-image{width:100% !important;min-height:400px}.section--hero > .hero-content{width:100% !important}.hero-image img{object-position:center top !important}.hero-image > div{display:none !important}}@media (max-width:767px){.section--hero > .hero-image{min-height:300px}}.section--cta{background:var(--dark-navy);color:#fff;text-align:center;border-top:3px solid var(--accent)}.section h2{font-size:26px;font-weight:700;color:var(--navy);margin-bottom:8px;letter-spacing:-0.02em}.section h2 span{color:var(--orange)}.section-sub{font-size:17px;color:var(--text-muted);margin-bottom:28px}.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.svc-card{background:white;border:0.5px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;transition:border-color 0.15s}.svc-card:hover{border-color:var(--orange)}.svc-card .svc-ico{font-size:30px;margin-bottom:4px}.svc-card h3{font-size:17px;font-weight:700;color:var(--navy)}.svc-card p{font-size:15px;color:var(--text-muted);line-height:1.6;flex:1}.svc-card .price{font-size:14px;color:var(--orange);font-weight:600}.svc-card .svc-link{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--navy);text-decoration:none;margin-top:4px}.svc-card .svc-link:hover{color:var(--orange)}.svc-card .sub-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.svc-card .sub-tag{font-size:12px;background:var(--light-bg);color:var(--navy);padding:3px 8px;border-radius:4px;font-weight:500}.include-list,.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:20px}.include-list--2,.trust-grid--2{grid-template-columns:repeat(2,1fr)}.include-list--3,.trust-grid--3{grid-template-columns:repeat(3,1fr)}.include-list--4,.trust-grid--4{grid-template-columns:repeat(4,1fr)}.include-list--5,.trust-grid--5{grid-template-columns:repeat(5,1fr)}@media (max-width:1100px){.include-list--4,.include-list--5,.trust-grid--4,.trust-grid--5{grid-template-columns:repeat(3,1fr)}}@media (max-width:820px){.include-list--3,.include-list--4,.include-list--5,.trust-grid--3,.trust-grid--4,.trust-grid--5{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.include-list--2,.include-list--3,.include-list--4,.include-list--5,.trust-grid--2,.trust-grid--3,.trust-grid--4,.trust-grid--5{grid-template-columns:1fr}}.include-item,.trust-item{background:white;border:0.5px solid var(--border);border-radius:8px;padding:18px 20px;display:flex;align-items:flex-start;gap:12px}.include-item .check{color:#2E9BC0;font-size:26px;font-weight:900;-webkit-text-stroke:1.5px #2E9BC0;flex-shrink:0;line-height:1.3}.include-item h4{font-size:21px;font-weight:700;margin-bottom:4px;color:var(--navy)}.include-item p{font-size:16px;color:var(--text-muted);line-height:1.55;margin:0}.include-item strong{font-size:21px;color:var(--navy)}.trust-bullet{color:#2E9BC0;font-size:26px;font-weight:900;-webkit-text-stroke:1.5px #2E9BC0;line-height:1.3;flex-shrink:0}.trust-bullet::before{content:"✓"}.trust-item h3,.trust-item h4{font-size:21px;font-weight:700;margin-bottom:4px;color:var(--navy)}.trust-item p{font-size:16px;color:var(--text-muted);line-height:1.55}.section--symptoms{background:var(--dark-navy);color:#fff}.section--symptoms .section-label{color:var(--accent);margin-bottom:20px}.section--symptoms .section-title{color:#fff}.section--symptoms .accent-divider{margin:20px 0 24px}.section--symptoms .section-sub{color:rgba(255,255,255,0.75);max-width:1100px;margin-top:0;margin-bottom:24px}.section--symptoms .symptom-grid{margin-top:0}.symptom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.symptom-grid--4{grid-template-columns:repeat(4,1fr);margin-top:20px}.symptom-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);border-radius:12px;padding:26px 24px;display:flex;flex-direction:column;gap:14px;transition:border-color 0.2s,background 0.2s}.symptom-card:hover{border-color:var(--accent);background:rgba(255,255,255,0.06)}.symptom-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(239,108,33,0.12);border:1px solid rgba(239,108,33,0.35);border-radius:12px;color:var(--accent);font-size:26px;flex-shrink:0}.symptom-card h4{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:19px;font-weight:800;color:#fff;margin:0;line-height:1.25;letter-spacing:0.01em}.symptom-card p{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.75);margin:0}@media (max-width:1024px){.symptom-grid,.symptom-grid--4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.symptom-grid,.symptom-grid--4{grid-template-columns:1fr}}.trust-cta{text-align:center;margin-top:28px}.process-timeline{position:relative;padding-left:80px;max-width:860px;margin:0 auto}.process-step{position:relative;display:flex;align-items:center;gap:24px;padding-bottom:48px;opacity:0;transform:translateY(32px);transition:opacity 0.5s ease-out,transform 0.5s ease-out}.process-step:last-child{padding-bottom:0}.process-step.visible{opacity:1;transform:translateY(0)}.process-marker{position:absolute;left:-80px;width:54px;height:54px;border-radius:50%;background:var(--light-bg);border:3px solid var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.4s ease,background 0.4s ease,transform 0.3s ease;z-index:1}.process-marker span{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:20px;font-weight:900;color:var(--text-muted);transition:color 0.4s ease}.process-step.visible .process-marker{border-color:var(--accent);background:var(--accent);transform:scale(1.08)}.process-step.visible .process-marker span{color:#fff}.process-content{background:var(--light-bg);border:1px solid var(--border-light);border-radius:12px;padding:28px 32px;flex:1;transition:border-color 0.4s ease,box-shadow 0.4s ease}.process-step.visible .process-content{border-color:var(--accent);box-shadow:0 4px 20px rgba(239,108,33,0.1)}.process-content h3{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:22px;font-weight:800;color:var(--dark-navy);margin:0 0 10px 0}.process-content p{color:var(--text-muted);line-height:1.7;margin:0}.process-timeline::before{content:'';position:absolute;left:27px;top:var(--line-top,27px);height:var(--line-h,0);width:3px;background:var(--border-light)}.process-timeline::after{content:'';position:absolute;left:27px;top:var(--line-top,27px);width:3px;height:0;background:var(--accent);transition:height 0.6s ease-out}@media (min-width:768px) and (max-width:1024px){.process-timeline{padding-left:68px}.process-timeline::before,.process-timeline::after{left:23px}.process-marker{left:-68px;width:48px;height:48px}.process-marker span{font-size:18px}.process-content{padding:24px 26px}.process-content h3{font-size:20px}.process-step{padding-bottom:40px;gap:20px}}@media (max-width:767px){.process-timeline{padding-left:56px}.process-timeline::before,.process-timeline::after{left:19px}.process-marker{left:-56px;width:42px;height:42px}.process-marker span{font-size:16px}.process-content{padding:20px 22px}.process-content h3{font-size:19px}.process-step{padding-bottom:32px;gap:16px}}.coupon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.coupon{border:2px dashed var(--orange);border-radius:var(--radius);padding:20px;background:white;display:flex;flex-direction:column;gap:8px}.coup-label{font-size:12px;color:var(--text-muted);letter-spacing:0.05em;text-transform:uppercase}.coup-head{font-size:22px;font-weight:700;color:var(--navy)}.coup-sub{font-size:14px;color:var(--orange);font-weight:600}.coup-body{font-size:15px;color:var(--text-muted);line-height:1.6;flex:1}.coup-fine{font-size:13px;color:var(--text-muted);opacity:0.7}.coup-actions{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.coup-actions .btn-primary{font-size:15px;padding:10px 16px}.coup-phone{font-size:15px;font-weight:600;color:var(--navy);padding:10px 14px;border-radius:6px;border:1.5px solid var(--border);text-decoration:none;background:var(--light-bg)}.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.area-card{background:white;border:0.5px solid var(--border);border-radius:var(--radius);padding:16px}.area-card h3{font-size:15px;font-weight:700;color:var(--orange);margin-bottom:8px;display:flex;align-items:center;gap:8px}.primary-badge{background:var(--orange);color:white;font-size:11px;padding:2px 7px;border-radius:4px;font-weight:600;letter-spacing:0.04em}.area-cities{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:8px}.area-note{font-size:14px;color:var(--text);line-height:1.5}.area-link{text-align:center;margin-top:20px}.area-link a{font-size:15px;color:var(--orange);font-weight:600;text-decoration:none}.area-link a:hover{text-decoration:underline}.review-agg{background:var(--navy);color:white;border-radius:var(--radius);padding:20px;text-align:center;margin-bottom:16px}.review-agg .stars{color:var(--orange);font-size:28px;letter-spacing:3px}.review-agg .agg-text{font-size:15px;color:rgba(255,255,255,0.7);margin-top:6px}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.review-card{background:white;border:0.5px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px}.review-stars{color:var(--orange);font-size:16px}.review-quote{font-size:15px;color:var(--text);line-height:1.65;font-style:italic;flex:1}.review-name{font-size:15px;font-weight:700;color:var(--navy)}.review-loc{font-size:13px;color:var(--text-muted)}.review-link{text-align:center;margin-top:16px}.review-link a{font-size:15px;color:var(--orange);font-weight:600;text-decoration:none}.review-link a:hover{text-decoration:underline}.faq-list{max-width:760px}.faq-item{border-bottom:0.5px solid var(--border)}.faq-toggle{width:100%;text-align:left;background:none;border:none;padding:16px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq-toggle .q{font-size:16px;font-weight:600;color:var(--navy)}.faq-toggle .ico{font-size:22px;color:var(--orange);flex-shrink:0;transition:transform 0.2s;font-weight:300}.faq-toggle[aria-expanded="true"] .ico{transform:rotate(45deg)}.faq-body{font-size:15px;line-height:1.75;color:var(--text-muted);padding-bottom:16px;display:none}.faq-body.open{display:block}.section--cta h2{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:42px;font-weight:900;text-transform:uppercase;letter-spacing:0.01em;line-height:1.1;color:white;margin-bottom:14px}@media (max-width:768px){.section--cta h2{font-size:30px}}.section--cta p{font-size:18px;color:rgba(255,255,255,0.75);margin-bottom:28px;max-width:720px;margin-left:auto;margin-right:auto}.cta-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:8px}.cta-tagline{font-size:14px;color:rgba(255,255,255,0.50);margin-top:24px;margin-bottom:0;max-width:720px;margin-left:auto;margin-right:auto}.as-footer{background:var(--dark-navy);display:flex;flex-direction:column;align-items:center}.as-footer-banner{width:100%;background:#23809F;padding:12px 32px;display:flex;justify-content:center;align-items:center}.as-footer-banner p{margin:0;font-size:16px;font-weight:bold;letter-spacing:0.03em;color:#fff;text-align:center}@media (max-width:1024px){.as-footer-banner{padding:12px 20px}}.as-footer-main{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:32px;padding:60px 200px}@media (max-width:1024px){.as-footer-main{flex-wrap:wrap;padding:30px;justify-content:center}}@media (max-width:767px){.as-footer-main{flex-direction:column;padding:40px;gap:40px}}.as-fcol-brand{width:27%;flex-shrink:0;display:flex;flex-direction:column;gap:20px}.as-fcol-services{width:17%;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.as-fcol-areas{width:17%;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.as-fcol-contact{width:24%;flex-shrink:0;display:flex;flex-direction:column;gap:12px}@media (max-width:1024px){.as-fcol-brand{width:100%;text-align:center}.as-fcol-services,.as-fcol-areas,.as-fcol-contact{width:30%}}@media (max-width:767px){.as-fcol-brand,.as-fcol-services,.as-fcol-areas,.as-fcol-contact{width:100%}}.as-footer-logo{display:block;width:200px}.as-footer-logo img{width:200px;height:auto}@media (max-width:1024px){.as-footer-logo{margin:0 auto}}.as-footer-tagline{font-size:19px;font-style:italic;font-weight:bold;color:var(--orange);margin:0}.as-footer-desc{font-size:17px;line-height:1.6;color:rgba(255,255,255,0.7);margin:0}.as-footer-social{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}@media (max-width:1100px){.as-footer-social{justify-content:center}}@media (max-width:767px){.as-footer-social{gap:12px;justify-content:center}}.as-footer-social a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,0.08);color:#fff;font-size:18px;text-decoration:none;transition:background 0.15s,color 0.15s,transform 0.15s}.as-footer-social a:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.as-footer-heading{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--orange);margin:0}.as-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.as-footer-links li{padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.1);font-size:16px;color:rgba(255,255,255,0.55)}.as-footer-links li:last-child{border-bottom:none}.as-footer-links li a{font-size:16px;color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.15s}.as-footer-links li a:hover{color:var(--accent)}.as-contact-item{display:flex;align-items:flex-start;gap:10px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.1)}.as-contact-item:last-of-type{border-bottom:none}.as-contact-item i{color:var(--accent);flex-shrink:0;margin-top:3px}.as-contact-item a,.as-contact-item span{color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.15s}.as-contact-item a:hover{color:var(--accent)}.as-contact-phone{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:24px;font-weight:700}.as-contact-phone .label{display:block;font-size:14px;font-weight:500;color:rgba(255,255,255,0.55)}.as-contact-addr{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:18px;font-weight:500}.as-contact-hours{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:18px;font-weight:500}.as-btn-request{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:17px;font-weight:700;padding:12px 28px;border-radius:4px;text-decoration:none;transition:background 0.15s;border:none;cursor:pointer;margin-top:8px}.as-btn-request:hover{background:var(--accent-hover)}.as-footer-bottom{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;position:relative;border-top:1px solid rgba(255,255,255,0.06)}.as-footer-copyright{font-size:16px;color:rgba(255,255,255,0.7);text-align:center}.as-footer-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;list-style:none;padding:0;margin:0}.as-footer-legal li{display:flex;align-items:center}.as-footer-legal li a{font-size:15px;color:var(--accent);text-decoration:none;padding:0 12px;transition:color 0.15s}.as-footer-legal li a:hover{color:#fff}.as-footer-legal li + li::before{content:'';display:block;width:1px;height:14px;background:rgba(255,255,255,0.1)}.content-body{max-width:1400px;margin:0 auto;padding:48px clamp(16px,5vw,48px)}.content-body h2{font-size:24px;font-weight:700;color:var(--navy);margin-bottom:12px;margin-top:36px;letter-spacing:-0.02em}.content-body h2:first-child{margin-top:0}.content-body h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px;margin-top:24px}.content-body p{font-size:17px;line-height:1.75;color:var(--text);margin-bottom:14px}.content-body ul{padding-left:20px;margin-bottom:14px}.content-body ul li{font-size:17px;line-height:1.75;color:var(--text);margin-bottom:6px}.content-nap{background:white;border:0.5px solid var(--border);border-left:4px solid var(--orange);border-radius:0 8px 8px 0;padding:20px 22px;margin:24px 0;font-size:16px;line-height:1.9}.content-nap strong{color:var(--navy)}.content-nap a{color:var(--orange);text-decoration:none;font-weight:600}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 0 0}@media (max-width:900px){.plan-grid{grid-template-columns:1fr}}.plan-card{position:relative;background:var(--dark-navy);border:1px solid rgba(255,255,255,0.10);border-radius:16px;padding:36px 32px;display:flex;flex-direction:column;gap:0;overflow:hidden;color:#fff}.plan-card.featured,.plan-card.plan-featured{border-color:var(--accent);border-width:2px;box-shadow:0 6px 28px rgba(239,108,33,0.22)}.plan-icon{width:88px;height:auto;display:block;margin:0 auto 18px}.plan-name{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:0.06em;color:#fff;line-height:1.1;text-align:center;margin:0 0 30px 0}.plan-features{list-style:none;padding:0;margin:0;flex:1}.plan-features li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid rgba(255,255,255,0.08);color:rgba(255,255,255,0.88);font-size:14.5px;line-height:1.5}.plan-features li:last-child{border-bottom:none}.plan-features li::before{content:"✓";position:absolute;left:0;top:12px;color:var(--accent);font-weight:900;font-size:15px}.plan-price{margin:0 -32px 24px;padding:16px;background:var(--accent);color:#fff;text-align:center;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:0.05em}.plan-badge{position:absolute;top:28px;right:-64px;width:220px;text-align:center;transform:rotate(45deg);transform-origin:center;background:var(--accent);color:#fff;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;padding:7px 0;box-shadow:0 2px 6px rgba(15,30,64,0.25);pointer-events:none;z-index:2}.job-grid{display:grid;gap:14px;margin:24px 0}.job-card{background:white;border:0.5px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.job-title{font-size:17px;font-weight:700;color:var(--navy)}.job-meta{font-size:14px;color:var(--text-muted);margin-top:4px}.job-tag{font-size:13px;background:var(--light-bg);color:var(--navy);padding:4px 10px;border-radius:4px;font-weight:500}.form-placeholder{background:white;border:2px dashed var(--border);border-radius:var(--radius);padding:40px 24px;text-align:center;color:var(--text-muted);margin:24px 0;font-size:16px}
.as-form{max-width:780px;margin:24px 0 0;background:#fff;border:1px solid var(--border-light);border-top:4px solid var(--accent);border-radius:12px;padding:32px;box-shadow:0 2px 12px rgba(15,30,64,0.06)}
.as-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.as-form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.as-form-group.span-2{grid-column:1 / -1}
.as-form label{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:15px;font-weight:700;color:var(--dark-navy);letter-spacing:0.01em}
.as-form label .req{color:var(--accent);margin-left:2px}
.as-form .field-hint{font-size:13px;font-weight:400;color:var(--text-muted)}
.as-form input,.as-form select,.as-form textarea{width:100%;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:16px;color:var(--text);background:var(--light-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px 14px;transition:border-color 0.18s,box-shadow 0.18s,background 0.18s}
.as-form textarea{resize:vertical;min-height:64px}
.as-form input:focus,.as-form select:focus,.as-form textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(239,108,33,0.15)}
.as-form input[type=file]{padding:9px 12px;background:#fff;cursor:pointer}
.as-form input[type=file]::file-selector-button{font-family:'Roboto','Roboto Fallback',sans-serif;font-weight:700;font-size:14px;color:#fff;background:var(--dark-navy);border:none;border-radius:var(--radius);padding:9px 16px;margin-right:14px;cursor:pointer;transition:background 0.18s}
.as-form input[type=file]::file-selector-button:hover{background:var(--navy-light)}
.as-form button[type=submit]{border:none;cursor:pointer;margin-top:4px}
@media (max-width:768px){.apply-layout{grid-template-columns:1fr !important}}
.why-work-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.why-work-photo{border-radius:14px;overflow:hidden;min-height:360px;position:relative;box-shadow:0 6px 24px rgba(0,0,0,0.28)}
.why-work-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.why-work-intro{display:flex;flex-direction:column;justify-content:center;gap:14px}
.why-work-intro-title{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:0.01em;line-height:1.15;margin:0}
.why-work-intro .stat-boxes{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.why-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.why-reason{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-radius:12px;padding:22px 24px;display:flex;align-items:flex-start;gap:14px}
.why-reason .check{color:#2E9BC0;font-size:24px;font-weight:900;-webkit-text-stroke:1.5px #2E9BC0;line-height:1.2;flex-shrink:0}
.why-reason h4{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:18px;font-weight:800;color:#fff;margin:0 0 6px}
.why-reason p{font-size:15px;line-height:1.55;color:rgba(255,255,255,0.75);margin:0}
@media (max-width:1024px){.why-reasons{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.why-work-layout{grid-template-columns:1fr;gap:20px}.why-work-photo{min-height:240px}}
@media (max-width:560px){.why-reasons{grid-template-columns:1fr}}
#positions,#why-work,#apply-form{scroll-margin-top:90px}
@media (max-width:640px){#positions,#why-work,#apply-form{scroll-margin-top:72px}}
@media (max-width:640px){.as-form{padding:24px}.as-form-grid{grid-template-columns:1fr}}.area-mention{background:var(--light-bg);border-left:4px solid var(--orange);padding:16px 20px;border-radius:0 8px 8px 0;font-size:15px;line-height:1.75;color:var(--text);margin-top:20px}.area-mention a{color:var(--orange);font-weight:600;text-decoration:none}.area-mention a:hover{text-decoration:underline}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:24px}.hub-card{background:white;border:0.5px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;text-decoration:none;transition:border-color 0.15s}.hub-card:hover{border-color:var(--orange)}.hub-card .hub-ico{font-size:28px}.hub-card h3{font-size:17px;font-weight:700;color:var(--navy)}.hub-card p{font-size:15px;color:var(--text-muted);line-height:1.6;flex:1}.hub-card .hub-link{font-size:14px;font-weight:600;color:var(--orange);margin-top:4px}.section-label{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;line-height:1;color:var(--accent);margin:0 0 10px 0}.section-label a,.section-label a:link,.section-label a:visited{color:var(--accent);text-decoration:none;transition:color 0.15s ease}.section-label a:hover,.section-label a:focus{color:var(--accent-hover);text-decoration:underline}.accent-divider{width:52px;height:4px;background:#2E9BC0;border:0;margin:10px 0 24px}.section-title{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:36px;font-weight:800;line-height:1.15;color:var(--dark-navy);margin:0}@media (max-width:768px){.section-title{font-size:28px}}.hero-split{display:flex;flex-direction:row;align-items:stretch;justify-content:center;min-height:75vh;background:var(--navy);border-bottom:2px solid var(--navy);position:relative;overflow:hidden}@media (max-width:1024px){.hero-split{flex-direction:column;min-height:auto}.hero-split > .hero-image{width:100% !important;min-height:400px}.hero-split > .hero-content{width:100% !important}}@media (max-width:767px){.hero-split > .hero-image{min-height:300px}}.hero-stat-box{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius);padding:16px 20px;display:flex;flex-direction:column;gap:6px}.hero-stat-box .val{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:24px;font-weight:900;color:var(--accent);letter-spacing:0.02em;line-height:1}.hero-stat-box .lbl{font-size:14px;font-weight:700;color:rgba(255,255,255,0.75);text-transform:uppercase;letter-spacing:0.08em}.toc-sidebar{border:1px solid var(--border-light);border-radius:12px;overflow:hidden}.toc-sidebar-header{background:var(--dark-navy);padding:14px 20px}.toc-sidebar-header p{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:0.06em;color:#fff;margin:0}.toc-sidebar-body{padding:8px 0;background:var(--light-bg)}.toc-sidebar-body ul{list-style:none;padding:0 20px;margin:0}.toc-sidebar-body li{padding:8px 0}.toc-sidebar-body li a{display:flex;align-items:center;gap:10px;color:var(--dark-navy);font-family:'Roboto','Roboto Fallback',sans-serif;font-size:17px;font-weight:600;text-decoration:none}.toc-sidebar-body li a i{color:var(--accent);font-size:14px}.toc-sidebar-body li a:hover{color:var(--accent)}a[style*="color:var(--dark-navy)"][style*="font-size:17px"][style*="font-weight:600"]{text-decoration:none}a[style*="color:var(--dark-navy)"][style*="font-size:17px"][style*="font-weight:600"]:hover{color:var(--accent)}.service-card-wide{display:flex;flex-direction:row;border:2px solid var(--border-light);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(15,30,64,0.09);margin-bottom:24px;background:var(--white)}.service-card-wide .card-image{width:40%;min-height:240px;overflow:hidden;position:relative}.service-card-wide .card-body{width:60%;padding:30px 36px;display:flex;flex-direction:column;gap:10px;background:var(--light-bg)}.service-card-wide .card-body h3{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:32px;font-weight:800;text-transform:uppercase;color:var(--heading-blue);margin:0}.service-card-wide .card-body p{color:var(--text-muted);line-height:1.6;margin:0}@media (max-width:1024px){.service-card-wide{flex-direction:column}.service-card-wide .card-image,.service-card-wide .card-body{width:100%}.service-card-wide .card-image{min-height:200px}.service-card-wide .card-body h3{font-size:26px}}.two-col{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:52px}.two-col > *:first-child{width:60%;border-left:4px solid var(--accent);padding-left:20px}.two-col > *:last-child{width:40%}@media (max-width:1024px){.two-col{flex-direction:column !important;gap:32px}.two-col > *{width:100% !important}.two-col > *:first-child{border-left:none !important;padding-left:0 !important}}@media (max-width:640px){.two-col{gap:24px}.two-col > *:first-child{min-height:unset !important}.two-col > [role="img"]:first-child{min-height:280px !important}}.section--dark,.section--hero,.section--cta{color:#fff}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark .section-title,.section--hero h1,.section--hero h2,.section--hero h3,.section--cta h1,.section--cta h2,.section--cta h3{color:#fff !important}.section--dark .section-label,.section--hero .section-label,.section--cta .section-label{color:var(--accent)}.section--dark p,.section--cta p{color:rgba(255,255,255,0.82)}.section--dark a:not(.btn-primary):not(.btn-outline):not(.btn-ghost),.section--cta a:not(.btn-primary):not(.btn-outline):not(.btn-ghost){color:var(--accent)}.hero-h1{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:60px;font-weight:900;text-transform:uppercase;letter-spacing:0.01em;line-height:1.05;color:#fff;margin-bottom:14px}.hero-content{width:60%;background:var(--navy);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:60px;gap:0}.location-badge{display:inline-block;background:var(--accent);color:#fff;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;line-height:1;padding:6px 14px;border-radius:3px}.hero-subtext{color:rgba(255,255,255,0.78);font-family:'Roboto','Roboto Fallback',sans-serif;font-size:20px;font-weight:500;line-height:1.68;margin-bottom:28px}.stat-box{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:rgba(255,255,255,0.08);padding:12px 18px;border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius)}.stat-box .val{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:28px;font-weight:900;color:#2E9BC0;line-height:1}.stat-box .lbl{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:#fff;line-height:1.3}@media (max-width:1024px){.hero-content{width:100%;padding:30px}.hero-h1{font-size:46px}}@media (max-width:640px){.hero-h1{font-size:38px}.hero-content{padding:20px}.stat-boxes{display:grid !important;grid-template-columns:1fr 1fr !important;grid-auto-rows:1fr !important;gap:10px !important;align-items:stretch !important}.stat-box{width:auto !important;height:100%}.hero-buttons{flex-wrap:wrap}}.quote-callout{margin:24px 0 0 0;padding:22px 26px 20px;border:1px solid #BFE1EE;background:var(--surface-cyan-pale);border-radius:12px;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:17px;font-style:normal;font-weight:500;color:var(--dark-navy);line-height:1.6}
.quote-callout::before{content:"\201C";display:block;font-family:Georgia,serif;font-size:42px;line-height:.55;color:#2E9BC0;margin-bottom:8px}.quote-callout cite{display:block;margin-top:10px;font-size:14px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--navy-light)}.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--cta2);border:2px solid var(--cta2);color:var(--navy);font-family:'Roboto','Roboto Fallback',sans-serif;font-weight:700;font-size:17px;border-radius:var(--radius);transition:background 0.2s;text-decoration:none}.btn-ghost:hover{background:var(--cta2-hover);color:var(--navy)}.btn-primary i,.btn-outline i,.btn-ghost i,.as-btn-book i,.as-btn-phone i,.as-btn-request i,.as-mobile-toggle i,.as-footer-social a i{color:#fff !important}.btn-outline i,.btn-ghost i{color:var(--navy)!important}.stat-box .val .val-icon,.hero-stat-box .val .val-icon{color:var(--accent)}.section--dark strong,.section--cta strong{color:#fff}.section--dark .accent-divider,.section--cta .accent-divider{background:var(--accent)}.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;width:100%;max-width:var(--container-max);margin:0 auto}.why-grid > .why-header{grid-column:1 / -1;margin-bottom:12px}.why-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:10px;padding:20px;display:flex;align-items:flex-start;gap:16px}.why-grid--3col{grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.why-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.why-grid,.why-grid--3col{grid-template-columns:1fr;gap:16px}}@media (max-width:1024px){#company .section-inner{flex-direction:column !important;align-items:stretch !important;gap:32px !important}#company .section-inner > *{width:100% !important}}@media (max-width:767px){#company .section-inner > div:first-child{margin-left:calc(-1 * var(--section-pad-x));margin-right:calc(-1 * var(--section-pad-x));width:calc(100% + 2 * var(--section-pad-x)) !important;min-width:0 !important}#company .section-inner > div:first-child > div,#company .section-inner > div:first-child > div > div{border-radius:0 !important}}@media (max-width:480px){#company .section-inner > div:first-child > div:last-child{flex-direction:column !important}}@media (max-width:1024px){#values .section-inner > div[style*="grid-template-columns"]{grid-template-columns:repeat(2,1fr) !important}}@media (max-width:560px){#values .section-inner > div[style*="grid-template-columns"]{grid-template-columns:1fr !important}}@media (max-width:640px){#community .section-inner > div[style*="grid-template-columns"],#apply .section-inner > div[style*="grid-template-columns"],#counties .section-inner > div[style*="grid-template-columns"]{grid-template-columns:1fr !important}}.cta-buttons{display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width:900px){.cta-buttons{gap:10px}.cta-buttons > .btn-primary,.cta-buttons > .btn-outline,.cta-buttons > .btn-ghost{padding-left:20px;padding-right:20px}}@media (max-width:640px){.cta-buttons{flex-direction:column !important;align-items:stretch !important;gap:10px}.cta-buttons > *{width:100%;justify-content:center;text-align:center}}@media (max-width:1024px){.coupon-grid{grid-template-columns:1fr !important}}.coupon-grid > div > div:last-child{flex-wrap:wrap;gap:10px}@media (max-width:640px){.coupon-grid > div > div:last-child > *{width:100%;text-align:center;justify-content:center}}.reviews-inner{width:100%;max-width:var(--container-max);margin:0 auto;display:flex;flex-direction:column;gap:20px}.reviews-inner .review-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:1024px){.reviews-inner .review-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.reviews-inner .review-cards{grid-template-columns:1fr}}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%;max-width:var(--container-max);margin:0 auto}.services-grid > .services-header{grid-column:1 / -1;margin-bottom:16px}.services-grid .service-card{display:flex;flex-direction:column !important;margin-bottom:0 !important;background:var(--white);border:2px solid var(--border-light);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(15,30,64,0.09);height:100%}.services-grid .service-card .card-image{width:100% !important;min-height:320px !important;flex-shrink:0;overflow:hidden;position:relative}.services-grid .service-card .card-body{width:100% !important;padding:24px 28px !important;background:var(--light-bg);display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:1 1 auto}.coupon-grid{align-items:stretch}.coupon-grid > div{display:flex !important;flex-direction:column !important;height:100%}.coupon-grid > div > div:last-child{margin-top:auto !important}.services-grid .service-card .card-body > div{flex-direction:column !important;align-items:stretch !important;gap:12px !important;margin-top:auto !important}.services-grid .service-card .card-body .btn-primary{justify-content:center;text-align:center}@media (max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.services-grid{grid-template-columns:1fr;gap:18px}.services-grid .service-card .card-body{padding:20px 22px !important}}.coupon-card{background:var(--dark-navy);border:3px solid var(--accent);border-radius:14px;overflow:hidden;padding-bottom:10px;display:flex;flex-direction:column;height:100%}.coupon-card__body{padding:30px;display:flex;flex-direction:column;gap:15px}.coupon-card__buttons{display:flex;gap:10px;padding:10px 30px;margin-top:auto;flex-wrap:wrap}.coupon-card h3{font-size:52px;font-weight:900;color:#fff;line-height:1;text-transform:uppercase;letter-spacing:0.01em;margin:0}.coupon-card h3 span{color:var(--accent)}.price-box{background:#EBF0F8;border:1px solid #D6DDE9;border-radius:var(--radius);padding:15px;display:flex;flex-direction:column;gap:5px}.price-box .price-value{font-size:18px;font-weight:800;color:var(--navy-light)}.price-box .price-label{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--heading-blue)}.cta-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;flex-wrap:wrap}.cta-stack .cta-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.two-col--accent-left{gap:52px}.two-col--accent-left >:first-child{border-left:4px solid var(--accent);padding-left:20px}.service-card--horizontal{display:flex;flex-direction:row;border:2px solid var(--border-light);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(15,30,64,0.09)}.service-card--horizontal > .card-image{width:40%;min-height:240px;overflow:hidden;position:relative}.service-card--horizontal > .card-body{width:60%;padding:30px 36px;display:flex;flex-direction:column;gap:10px;background:var(--light-bg)}@media (max-width:1024px){.service-card--horizontal{flex-direction:column}.service-card--horizontal > .card-image,.service-card--horizontal > .card-body{width:100%}}.review-card--dark{flex:1;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.09);border-radius:10px;padding:20px}.review-badge--aggregate{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,0.07);padding:30px 22px;border:1px solid rgba(255,255,255,0.12);border-radius:10px}.review-badge--aggregate .rating-value{font-size:62px;font-weight:900;line-height:1;color:var(--accent)}.faq-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:18px}section:has(.faq-grid){background:#ffffff !important}.faq-card{width:calc(50% - 9px);background:var(--light-bg);border:1px solid rgba(15,30,64,0.09);border-radius:12px;padding:24px 26px;display:flex;flex-direction:column;gap:20px}.faq-card h3{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:22px;font-weight:800;color:var(--dark-navy);text-transform:uppercase;letter-spacing:0.01em;margin:0}.faq-card p{color:#4a5568;line-height:1.6;margin:0}@media (max-width:768px){.faq-card{width:100%}}.display-xl{font-size:52px;font-weight:900;line-height:1.05;letter-spacing:-0.01em}.display-lg{font-size:42px;font-weight:900;line-height:1.1;letter-spacing:0.01em;text-transform:uppercase}.display-md{font-size:34px;font-weight:900;line-height:1.15;text-transform:uppercase}@media (max-width:768px){.display-xl{font-size:36px}.display-lg{font-size:30px}.display-md{font-size:26px}}.brand-marquee{overflow:hidden;width:100%;padding:12px 0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}.brand-marquee__track{display:flex;align-items:center;gap:72px;width:max-content;animation:brand-scroll 45s linear infinite}.brand-marquee__track img{height:64px;width:auto;max-width:180px;object-fit:contain;flex-shrink:0;filter:grayscale(100%);opacity:0.7;transition:filter 0.25s ease,opacity 0.25s ease}.brand-marquee:hover .brand-marquee__track{animation-play-state:paused}.brand-marquee__track img:hover{filter:none;opacity:1}@keyframes brand-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.brand-marquee__track{animation:none}}@media (max-width:768px){.brand-marquee__track{gap:44px}.brand-marquee__track img{height:48px;max-width:140px}}.bbb-seal{display:inline-block;margin-top:12px;line-height:0}.bbb-seal img{width:auto;height:96px;display:block}.bbb-seal:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (max-width:767px){.bbb-seal img{height:80px}}.eyebrow-label{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:0.16em;color:var(--text-muted);margin:0}
/* ===== AS FEATURED IN — PRESS LOGOS STRIP ===== */
.founder-story{margin-bottom:14px}
.press-logos{display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:20px;width:100%;margin:0 auto}
.press-logo{display:flex;align-items:center;justify-content:center;background:var(--white);border:1px solid var(--border-light);border-radius:14px;padding:30px 22px;min-height:150px;flex:1 1 0;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.press-logo img{width:100%;height:auto;max-width:100%;display:block;filter:grayscale(1);opacity:.7;transition:filter .2s ease,opacity .2s ease}
.press-logo:hover,.press-logo:focus-visible{border-color:var(--accent);box-shadow:0 6px 18px rgba(239,108,33,0.15);transform:translateY(-2px);outline:none}
.press-logo:hover img,.press-logo:focus-visible img{filter:grayscale(0);opacity:1}
@media (max-width:1024px){.press-logos{flex-wrap:wrap;gap:18px}.press-logo{flex:1 1 30%;min-height:130px;padding:26px 20px}}
@media (max-width:767px){.press-logos{gap:14px}.press-logo{flex:1 1 44%;min-height:104px;padding:22px 16px}}

/* ===== 404 PAGE — POPULAR PAGES QUICK LINKS ===== */
.err-quicklink{color:var(--accent);font-weight:700;text-decoration:none;transition:color .15s ease}
.err-quicklink:hover,.err-quicklink:focus-visible{color:#fff !important}
/* CLS: reserve announce-bar height, real bold weight, stable phone btn width */
.as-announce-container{min-height:40px}.as-announce-title{font-weight:700}.as-btn-phone{min-width:166px;justify-content:center}
/* a11y: >=48px tap targets on footer links */
.as-footer-legal li a{padding:16px 12px;display:block}.as-footer-links li a{display:inline-block;padding:15px 0}
/* a11y contrast: 4.5:1+ orange on light backgrounds; dark sections keep brand #EF6C21 */
.as-btn-book{background:#EF6C21;box-shadow:0 2px 10px rgba(239,108,33,0.32)}.as-btn-book:hover{background:#D25F1D}.section-label{color:var(--accent)}.section--hero .section-label,.section--dark .section-label,.section--cta .section-label,.section--symptoms .section-label{color:var(--accent)}

/* ============================================================
   SEMANTIC BUTTON SYSTEM (global; loaded before page-home.css)
   Meaning comes from data-cta, never from the visual class or the href.
     data-cta="book"   -> green  (opens Housecall Pro), even if the label
                          reads "Request Service" / "Schedule" / "Book Now"
     data-cta="phone"  -> orange (tel: actions styled as buttons)
     .btn-primary      -> navy   (service-card / general primary, no data-cta)
     .btn-ghost,
     .btn-outline      -> white / navy outline (secondary)
   The two meaning colors use !important so a booking or phone action is the
   right color regardless of which legacy class it carries. Placed last in the
   global sheet; the URL-substring homepage rules that used to do this were
   removed from page-home.css.
   ============================================================ */
:root{
  --action-book:#178642;   --action-book-hover:#126B35;
  --action-phone:#EF6C21;  --action-phone-hover:#D25F1D;
  --action-navy:#1B3A6B;   --action-navy-hover:#0F2340;
  --action-focus:#2E9BC0;
}
/* Shared chrome: unified radius, guaranteed 44px touch target, consistent
   focus ring. Padding / font-size stay owned by each class so the existing
   size hierarchy (compact header vs full-size section CTAs) is preserved. */
.btn-primary,.btn-ghost,.btn-outline,
.as-btn-book,.as-btn-request,.as-btn-phone{
  border-radius:var(--radius);
  min-height:44px;
  line-height:1.2;
}
.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-outline:focus-visible,
.as-btn-book:focus-visible,.as-btn-request:focus-visible,.as-btn-phone:focus-visible,
[data-cta]:focus-visible{
  outline:3px solid var(--action-focus);
  outline-offset:2px;
}
/* General primary = navy (was orange). Bare .btn-primary only; data-cta wins below. */
.btn-primary{
  background:var(--action-navy);color:#fff;
  border:2px solid var(--action-navy);box-shadow:none;
}
.btn-primary:hover{background:var(--action-navy-hover);border-color:var(--action-navy-hover)}
/* Secondary = white background; text/border stay the deep navy for readability,
   fill deepens on hover. (Primary rests on the lighter --action-navy and
   deepens to --action-navy-hover; secondary pins to the deep shade.) */
.btn-ghost,.btn-outline{
  background:#fff;color:var(--action-navy-hover);
  border:2px solid var(--action-navy-hover);box-shadow:none;
}
.btn-ghost:hover,.btn-outline:hover{background:var(--action-navy-hover);color:#fff}
/* Booking = green, always. */
[data-cta="book"]{
  background:var(--action-book) !important;color:#fff !important;
  border:2px solid var(--action-book) !important;box-shadow:none !important;
}
[data-cta="book"]:hover{background:var(--action-book-hover) !important;border-color:var(--action-book-hover) !important}
/* Phone (button-styled) = orange, always. */
[data-cta="phone"]{
  background:var(--action-phone) !important;color:#fff !important;
  border:2px solid var(--action-phone) !important;box-shadow:none !important;
}
[data-cta="phone"]:hover{background:var(--action-phone-hover) !important;border-color:var(--action-phone-hover) !important}
/* Global icon rule: a button's icon always inherits its label color — white on
   filled (navy / green / orange), deep navy on outline, white on hover — with
   no per-variant icon overrides anywhere. */
.btn-primary i,.btn-ghost i,.btn-outline i,
.as-btn-book i,.as-btn-request i,.as-btn-phone i,
[data-cta] i{color:inherit !important}

/* Decorative icons on navy surfaces use the brand cyan. Action controls are
   intentionally excluded so phone remains orange and booking remains green. */
:root{
  --decorative-cyan:#2E9BC0;
  --decorative-cyan-surface:rgba(46,155,192,0.18);
  --decorative-cyan-border:rgba(46,155,192,0.42);
}
.section--symptoms .symptom-icon{
  color:var(--decorative-cyan);
  background:var(--decorative-cyan-surface);
  border-color:var(--decorative-cyan-border);
}
.section--dark .why-card > div:first-child{
  background:var(--decorative-cyan) !important;
}
.section[style*="background:var(--dark-navy)"] div[style*="background:rgba(239,108,33"],
.section[style*="background:var(--navy)"] div[style*="background:rgba(239,108,33"]{
  color:var(--decorative-cyan) !important;
  background:var(--decorative-cyan-surface) !important;
  border-color:var(--decorative-cyan-border) !important;
}
.as-footer .as-contact-item > i{
  color:var(--decorative-cyan);
}

/* ================================================================
   GLOBAL HERO SYSTEM — .site-hero
   One shared light-editorial hero for interior pages: content on a
   pale-cyan surface, photo cropped on the same diagonal seam as the
   homepage hero (clip polygon 10%), navy ink, existing data-cta /
   .btn-* button systems. Two variants:
     .site-hero--photo    content left, diagonal-cropped photo right;
                          split held from 768px up, stacked below with
                          a 4:3 image above the copy (homepage mobile
                          art direction)
     .site-hero--centered no photo; compact centered copy on a subtle
                          pale→mid cyan diagonal wash
   Pages supply only: variant class, copy, actions, image + alt, and
   one .hero-crop--* utility. No inline hero CSS.
   ================================================================ */
:root{
  --surface-cyan-pale:#EAF6FB;
  --surface-cyan-mid:#DDEFF6;
}
.site-hero{position:relative;display:flex;flex-direction:row-reverse;align-items:stretch;justify-content:center;overflow:hidden;padding:0;background:var(--surface-cyan-pale);border-bottom:1px solid #BFE1EE}
.site-hero__content{width:50%;box-sizing:border-box;position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(36px,4.5vw,64px) clamp(28px,5vw,80px)}

.site-hero__media{width:50%;position:relative;overflow:hidden;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);background:var(--surface-cyan-mid);z-index:1}
.site-hero__media picture{position:absolute;inset:0;display:block}
.site-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;max-width:none}
/* Quiet cyan light wash so the photo meets the angled seam softly (mirrors homepage). */
.site-hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(90deg,rgba(214,238,248,.16) 0%,rgba(234,246,251,.04) 7%,transparent 15%)}
/* Reusable crop utilities — which region of the photo stays in frame. */
.hero-crop--center{object-position:50% 50% !important}
.hero-crop--right{object-position:78% 50% !important}
.hero-crop--top{object-position:50% 22% !important}
.hero-crop--bottom{object-position:50% 78% !important}
/* Typography — navy ink, title case (matches the fresher homepage treatment). */
.site-hero__eyebrow{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:14px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px}
.site-hero__title{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:clamp(38px,4.5vw,56px);font-weight:900;text-transform:none;letter-spacing:0.005em;line-height:1.08;color:var(--text);margin:0 0 12px}
.site-hero__title a{color:inherit;text-decoration:none}
.site-hero__summary{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:18px;font-weight:500;line-height:1.6;color:var(--text);max-width:560px;margin:0 0 20px}
.site-hero__summary p{margin:0 0 12px}
.site-hero__summary p:last-child{margin-bottom:0}
.site-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
/* HERO ACTIONS — homepage sizing and rhythm, shared by every hero variant.
   Visual treatment remains semantic: phone = orange, booking = green, and
   neutral in-page actions = navy. */
.hero-buttons,.hero-ctas,.site-hero__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero-buttons > a,.hero-ctas > a,.site-hero__actions > a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 28px;border-radius:6px;font-size:17px;font-weight:700;line-height:1.2}
/* Match the homepage hierarchy: hero actions lead, then the supporting
   service/proof row. This works for both the new light heroes and legacy
   split heroes without changing their page-specific badge content. */
.site-hero__actions,.hero-content .hero-buttons{order:1}
.site-hero__content .hero-service-index,.site-hero__content .hero-proof-index,.hero-content .hero-service-index,.hero-content .hero-proof-index,.hero-content .stat-boxes{order:2}
.site-hero__content .hero-proof-index{margin-top:24px;margin-bottom:0}
@media (max-width:767px){
  .hero-buttons,.hero-ctas,.site-hero__actions{flex-direction:column;align-items:stretch;width:100%;max-width:420px}
  .hero-buttons > a,.hero-ctas > a,.site-hero__actions > a{width:100%}
  .site-hero--centered .hero-buttons,.site-hero--centered .hero-ctas,.site-hero--centered .site-hero__actions{margin-left:auto;margin-right:auto}
}
/* Location badge inside the hero: compact cyan label, navy text. Orange stays
   reserved for phone actions, green for booking. */
.site-hero .location-badge{display:inline-block;background:var(--surface-cyan-mid);color:var(--text);border:1px solid #BFE1EE;font-size:13px;letter-spacing:0.08em;padding:5px 12px;border-radius:3px;margin-bottom:16px}
.site-hero .location-badge i{color:var(--text-muted)}
/* Stat boxes adapted to the light surface — compact so a 4-box row stays on
   one line in the desktop copy column. */
.site-hero .stat-boxes{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin:0 0 20px}
.site-hero .stat-box{background:rgba(15,35,64,0.05);border:1px solid rgba(15,35,64,0.12);padding:8px 10px}
.site-hero .stat-box .val{font-size:21px}
.site-hero .stat-box .lbl{color:var(--text-muted);font-size:11px;letter-spacing:0.02em}
/* Centered variant — no media; compact editorial banner, not a full-screen panel. */
.site-hero--centered{flex-direction:column;align-items:center;text-align:center;background:linear-gradient(105deg,var(--surface-cyan-pale) 62%,var(--surface-cyan-mid) 62.5%)}
.site-hero--centered .site-hero__content{width:100%;max-width:900px;display:flex;flex-direction:column;align-items:center;padding:clamp(28px,3.5vw,44px) clamp(24px,5vw,64px)}
.site-hero--centered .site-hero__summary{margin-left:auto;margin-right:auto;max-width:720px}
.site-hero--centered .site-hero__actions,.site-hero--centered .stat-boxes{justify-content:center}
/* Tablet (768–1024): keep the split with a wider copy column (54/46) so long
   H1s wrap less; tighten padding so CTAs stay well above the fold. */
@media (min-width:768px) and (max-width:1024px){
  .site-hero__content{width:54%;padding:clamp(24px,3.5vw,40px) clamp(20px,3.5vw,40px)}
  .site-hero__media{width:46%}
  .site-hero__title{font-size:clamp(30px,4vw,44px)}
}
/* Short viewports (any split width): compact tier so the primary actions clear
   the fold with ~32px+ to spare. Non-short viewports keep the 56px title max. */
@media (min-width:768px) and (max-height:800px){
  .site-hero__content{width:56%;padding-top:20px;padding-bottom:20px}
  .site-hero__media{width:44%}
  .site-hero__title{font-size:clamp(28px,3.4vw,44px)}
  .site-hero__summary{font-size:17px;line-height:1.5;margin-bottom:16px}
  .site-hero .stat-boxes{margin-bottom:16px}
  .site-hero .location-badge{margin-bottom:12px}
}
/* Mobile (<768): image first at 4:3 above the copy — homepage mobile art direction. */
@media (max-width:767px){
  .site-hero--photo{flex-direction:column}
  .site-hero__content{width:100%;padding:24px clamp(16px,5vw,32px) 32px}
  .site-hero__media{width:100%;height:auto;aspect-ratio:4/3;clip-path:none}
}

/* ================================================================
   SHARED INTERIOR-RESTYLE COMPONENTS (beyond the hero)
   ================================================================ */
/* Sticky slim on-page navigation — the approved homepage pattern shared
   by homepage and interior pages (replaces boxed TOC cards). */
.onpage-nav{position:sticky;top:60px;z-index:880;background:rgba(221,239,246,0.94);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-top:1px solid #BFE1EE;border-bottom:1px solid #BFE1EE}
.onpage-nav__inner{max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;padding:3px clamp(12px,5vw,80px)}
.onpage-label{flex:0 0 auto;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.02em;color:var(--text);padding-right:8px;white-space:nowrap}
.onpage-nav a{flex:0 0 auto;padding:9px 12px;margin:4px 2px;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.01em;color:var(--text-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.onpage-nav a:hover,.onpage-nav a.is-active{color:var(--dark-navy);background:var(--surface-cyan-pale);border-bottom-color:transparent;border-radius:8px}
.onpage-nav a:focus-visible{outline:2px solid var(--action-focus);outline-offset:-2px}
@media (max-width:1024px){.onpage-nav{top:52px}}
@media (max-width:767px){
  .onpage-nav{position:static;top:auto}
  .onpage-nav__inner{gap:1px 2px;padding:5px 12px}
  .onpage-label{width:100%;padding:0 0 2px;text-align:center}
  .onpage-nav a{padding:7px 10px;font-size:12.5px}
}
/* Entity declaration — the shallow transition between a hero and its
   on-page navigation. This mirrors the homepage Zone 3 treatment; page
   families opt in with the existing .entity-zone markup. */
.section.entity-zone:not(.section--hero):not(.z4-split){background:#fff;padding-top:clamp(18px,2vw,28px);padding-bottom:clamp(18px,2vw,28px)}
.entity-zone__inner{max-width:1400px;margin-inline:auto;text-align:center}
.entity-zone__inner .entity-decl{margin:0;color:var(--text);font-size:clamp(17px,1.15vw,18px);line-height:1.5}
.entity-zone__inner .entity-decl a{color:var(--accent-cyan-hover);font-weight:600;text-decoration:none}
.entity-zone__inner .entity-decl a:hover{color:var(--dark-navy)}
.entity-zone__inner .entity-decl a:focus-visible{outline:3px solid var(--action-focus);outline-offset:2px;border-radius:2px}
/* Centered section header — apply to the eyebrow, title, and accent divider
   of full-width sections (matches the homepage "How We Work" pattern). */
.section-head--center{text-align:center;margin-left:auto;margin-right:auto}
/* Light cyan CTA treatment — replaces the navy .section--cta panel on
   restyled pages; buttons keep their semantic colors. */
.section--cta.section--cta-light{background:linear-gradient(105deg,var(--surface-cyan-pale) 62%,var(--surface-cyan-mid) 62.5%);color:var(--text);border-top:1px solid #BFE1EE}
.section--cta.section--cta-light h1,.section--cta.section--cta-light h2,.section--cta.section--cta-light h3{color:var(--text) !important}
.section--cta.section--cta-light p,.section--cta.section--cta-light .cta-tagline{color:var(--text-muted)}
.section--cta.section--cta-light a:not(.btn-primary):not(.btn-outline):not(.btn-ghost){color:var(--text)}
/* Shared section surfaces — the same restrained three-color rhythm used on
   the homepage: white, warm cream, and a deliberate mid-cyan band. */
.section--white{background:#fff !important}
:root{--surface-cream:#FAF8F2}
.section--cream{background:var(--surface-cream) !important}
.section--cyan-mid{background:var(--surface-cyan-mid) !important;border-top:1px solid #BFE1EE;border-bottom:1px solid #BFE1EE}

/* Compact final CTA composition — one centered reading axis instead of a
   container-wide heading over narrow copy. Sentence case matches home. */
.cta-panel{max-width:960px !important;display:flex;flex-direction:column;align-items:center;text-align:center}
.section--cta .cta-panel h2{max-width:860px;font-size:clamp(30px,3vw,38px) !important;font-weight:800;text-transform:none !important;letter-spacing:-.01em;line-height:1.15;margin-bottom:14px}
.cta-panel > p:not(.cta-tagline){max-width:720px;margin-bottom:20px}
.cta-panel .cta-row{width:100%;max-width:780px;margin-top:0}
.section--cta .cta-panel .cta-tagline{max-width:820px;font-size:15px;line-height:1.6;margin-top:22px;margin-bottom:0}
@media (max-width:640px){
  .cta-panel .cta-row{flex-direction:column;align-items:stretch;max-width:420px}
  .cta-panel .cta-row > a{width:100%;justify-content:center;text-align:center}
}

/* ================================================================
   GLOBAL LIGHT HEADER — homepage header treatment rolled out
   sitewide (pale-cyan announce band, white nav, navy text, cyan
   hairlines). Values mirror page-home.css exactly; the homepage
   keeps its own scoped copy and remains pixel-identical.
   ================================================================ */
.as-row1{background:var(--surface-cyan-pale);border-bottom:1px solid #BFE1EE}
.as-navbar{background:#FCFCFA;border-bottom:1px solid #BFE1EE;box-shadow:0 1px 0 rgba(15,35,64,0.04),0 8px 24px rgba(15,35,64,0.06)}
.as-nav-list > li > a{color:var(--text);text-transform:none;letter-spacing:0.005em;font-weight:600;font-size:15px}
.as-nav-list > li > a:hover{color:#2E9BC0}
.as-nav-list > li > a::after{background:#2E9BC0}
.as-dropdown{background:#fff;border-top:2px solid #2E9BC0;box-shadow:0 12px 30px rgba(15,35,64,0.12)}
.as-dropdown li a{color:var(--text);border-bottom:1px solid rgba(15,35,64,0.06)}
.as-dropdown li a:hover{background:var(--surface-cyan-pale)}
.as-mobile-toggle:hover{background:var(--accent-hover)}
.as-mobile-toggle:hover i{color:#fff !important}
@media (max-width:1024px){
  .as-nav{background:#FCFCFA}
  .as-nav-list{border-right-color:rgba(15,35,64,0.08)}
  .as-nav-list > li > a{color:#3A5578;border-left-color:transparent}
  .as-nav-list > li > a:hover{color:var(--text)}
  .as-nav-list > li.dropdown-open > a{background:var(--surface-cyan-pale);color:var(--text);border-left-color:#2E9BC0}
  .as-dropdown{box-shadow:none;border-top:none;background:transparent}
  .as-dropdown li a{color:var(--text);border-bottom-color:rgba(15,35,64,0.06)}
  .as-mobile-close{background:var(--surface-cyan-pale);color:var(--text)}
  .as-btn-book,.as-btn-phone{min-height:44px;display:inline-flex;align-items:center}
  .as-mobile-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}

/* ================================================================
   HERO BADGE CONTENT POLICY
   These components restyle a page's original hero information; they never
   replace it with homepage content. Use .hero-service-index only for a
   page's existing service-category row, .hero-proof-index for its original
   proof/stat pairs, and omit both when the original hero had neither.
   ================================================================ */
/* HERO SERVICE INDEX — shared service-category row. Icons are decorative
   cyan; add class "svc-heat" to a heating item for the one warm icon.
   ================================================================ */
.hero-service-index{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:26px 0 0;padding:18px 0 0;list-style:none;border-top:1px solid #BFE1EE}
.hero-service-index li{display:inline-flex;align-items:center;padding:0 18px;color:#3A5578;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:14px;font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:0.1em}
.hero-service-index li:first-child{padding-left:0}
.hero-service-index li + li{border-left:1px solid #BFE1EE}
.hero-service-index li i{margin-right:8px;font-size:14px;color:#2E9BC0}
.hero-service-index li.svc-heat i{color:var(--accent)}
@media (max-width:640px){
  .hero-service-index{gap:10px 0}
  .hero-service-index li{font-size:12px;padding:0 14px}
  .hero-service-index li i{font-size:12px}
}
.site-hero .hero-service-index{margin-top:0;margin-bottom:24px}

/* About-page proof points use the same quiet, divided rhythm as the homepage
   service index while keeping their own credibility-focused content. */
.hero-proof-index{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;margin:0 0 24px;padding:18px 0 0;list-style:none;border-top:1px solid #BFE1EE}
.hero-proof-index li{display:flex;flex:1 1 0;min-width:0;flex-direction:column;gap:2px;padding:0 14px;color:var(--text)}
.hero-proof-index li:first-child{padding-left:0}
.hero-proof-index li + li{border-left:1px solid #BFE1EE}
.hero-proof-index__value{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:20px;font-weight:900;line-height:1;color:var(--text);letter-spacing:-0.01em}
.hero-proof-index__label{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:10px;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:0.07em;color:#3A5578}
/* Three-item proof rows can use the full hero copy measure instead of
   shrink-wrapping around short labels. */
.hero-proof-index--roomy{width:100%;max-width:560px}
.hero-proof-index--roomy li{gap:4px;padding-left:20px;padding-right:20px}
.hero-proof-index--roomy .hero-proof-index__value{font-size:22px;color:var(--accent-cyan-hover)}
.hero-proof-index--roomy .hero-proof-index__label{font-size:11px}
.hero-proof-index--four{max-width:none}
@media (max-width:1024px){
  .hero-proof-index--four{gap:12px 0}
  .hero-proof-index--four li{flex-basis:50%}
  .hero-proof-index--four li:nth-child(odd){padding-left:0;border-left:0}
}
@media (max-width:640px){
  .hero-proof-index{gap:12px 0}
  .hero-proof-index li{flex-basis:50%;padding:0 12px}
  .hero-proof-index li:nth-child(odd){padding-left:0;border-left:0}
  .hero-proof-index li:nth-child(3){border-left:0}
  .hero-proof-index__value{font-size:18px}
}

/* ================================================================
   FAQ — shared homepage treatment. The section class owns the
   heading/background; faq-accordion owns row geometry and behavior.
   ================================================================ */
.faq-section{background:#fff !important}
.faq-section .section-label,.faq-section .section-title{text-align:center;margin-left:auto;margin-right:auto}
.faq-section .section-title{max-width:1200px;font-size:34px;font-weight:800;line-height:1.15}
.faq-accordion{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;align-self:center}
.faq-accordion .faq-card{width:100%;padding:0;gap:0;background:#fff;border:2px solid #BFE1EE;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(15,35,64,0.05);transition:border-color .3s,box-shadow .3s;display:block}
.faq-accordion .faq-card.is-open{border-color:#2E9BC0;box-shadow:0 12px 30px rgba(15,35,64,0.11)}
.faq-accordion .faq-q-h{margin:0;font-size:inherit}
.faq-accordion .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;background:#fff;border:0;cursor:pointer;text-align:left;font-family:'Roboto','Roboto Fallback',sans-serif;font-size:17px;font-weight:800;letter-spacing:-0.01em;line-height:1.3;color:var(--accent);transition:background .25s,color .25s}
.faq-accordion .faq-q:hover{background:var(--ice);color:var(--text)}
.faq-accordion .faq-card.is-open .faq-q{background:var(--ice)}
.faq-accordion .faq-icon{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:1.5px solid #BFE1EE;color:var(--accent);font-size:14px;box-shadow:0 2px 5px rgba(15,35,64,0.15);transition:transform .45s cubic-bezier(0.16,1,0.3,1),background .25s,color .25s,border-color .25s}
.faq-accordion .faq-card.is-open .faq-icon{transform:rotate(180deg);background:var(--accent);border-color:var(--accent);color:#fff}
.faq-accordion .faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(0.16,1,0.3,1)}
.faq-accordion .faq-card.is-open .faq-a{grid-template-rows:1fr}
.faq-accordion .faq-a-inner{overflow:hidden;min-height:0}
.faq-accordion .faq-a-inner p{width:100%;padding:13px 18px 15px;margin:0;background:#fff;color:#3A5578;line-height:1.62;font-size:15px}
.faq-accordion .faq-a-inner a{color:#2E9BC0}
@media (max-width:768px){
  .faq-section .section-title{font-size:25px !important}
}
@media (prefers-reduced-motion:reduce){
  .faq-accordion .faq-a,.faq-accordion .faq-icon{transition:none}
}

/* ================================================================
   LIGHT INFO CARDS — reusable pale-cyan cards with cyan icon chips
   (replaces ad-hoc navy card fields on restyled pages).
   ================================================================ */
.lite-card{display:flex;flex-direction:column;background:#fff;border:1px solid #BFE1EE;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(15,35,64,0.05)}
.lite-card--tint{background:var(--surface-cyan-pale)}
.lite-card h3,.lite-card h4{color:var(--text);margin:0 0 8px}
.lite-card p{color:var(--text-muted);line-height:1.6;margin:0}
.card-link{margin-top:auto;padding-top:14px;color:var(--accent-cyan-hover);font-weight:700}
.card-link:hover{color:var(--dark-navy)}
.card-link:focus-visible{outline:2px solid var(--action-focus);outline-offset:2px;border-radius:2px}
.chip-icon{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--ice);border:1px solid #BFE1EE;color:#2E9BC0;font-size:18px;margin-bottom:14px}
.chip-icon i{color:#2E9BC0 !important}
/* Centered card grid that resolves orphan rows: 6 tracks, cards span 2
   (three per row); with 5 items the last two start at tracks 2 and 4. */
.card-grid-center{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;align-items:stretch}
.card-grid-center > *{grid-column:span 2}
.card-grid-center > :nth-child(4):nth-last-child(2){grid-column:2/span 2}
.card-grid-center > :nth-child(5):nth-last-child(1){grid-column:4/span 2}
@media (max-width:1024px){
  .card-grid-center{grid-template-columns:repeat(2,1fr)}
  .card-grid-center > *{grid-column:auto !important}
  .card-grid-center > :nth-child(odd):last-child{grid-column:1/-1 !important;width:calc(50% - 10px);justify-self:center}
}
@media (max-width:640px){
  .card-grid-center > :nth-child(odd):last-child{width:100%}
}
@media (max-width:640px){
  .card-grid-center{grid-template-columns:1fr}
}
/* Compact cyan live-dispatch panel (Contact "Reach Out" editorial layout) */
.dispatch-panel{background:var(--surface-cyan-pale);border:1px solid #BFE1EE;border-radius:12px;padding:22px 26px;max-width:520px;margin:22px auto 0;text-align:center}
.dispatch-panel .dispatch-line{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:15px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}
.dispatch-panel .dispatch-phone{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:30px;font-weight:900;color:var(--text);margin:0 0 4px}
.dispatch-panel .dispatch-phone a{color:inherit;text-decoration:none}
.dispatch-panel p{color:var(--text-muted);font-size:15px;line-height:1.55;margin:0}

/* ================================================================
   CONTACT PAGE — open, action-first editorial composition
   ================================================================ */
.contact-page .section-inner,.contact-page .entity-zone__inner{width:100%;max-width:1440px;margin-left:auto;margin-right:auto}
.contact-action-hub{max-width:1440px;margin:0 auto;text-align:center}
.contact-action-hub__intro{max-width:760px;margin:14px auto 0;color:var(--text-muted);font-size:17px;line-height:1.7}
.contact-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,34px);max-width:1120px;margin:clamp(32px,4vw,44px) auto 0;text-align:center;align-items:stretch}
.contact-choice{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#fff;border:1px solid #BFE1EE;border-radius:16px;padding:clamp(28px,3.5vw,42px);box-shadow:0 5px 18px rgba(15,35,64,.07);height:100%;text-align:center}
.contact-choice__icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--surface-cyan-mid);color:#23809F;font-size:25px;margin-bottom:20px}
.contact-choice__meta{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#23809F;margin:0 0 8px}
.contact-choice h3{font-size:clamp(28px,3vw,38px);font-weight:900;color:var(--navy);margin:0 0 12px;text-transform:none;letter-spacing:-.02em}
.contact-choice h3 a{color:inherit;text-decoration:none}
.contact-choice > p:not(.contact-choice__meta){color:var(--text-muted);font-size:16.5px;line-height:1.65;margin:0 auto 22px;max-width:440px}
.contact-choice__availability{display:flex;align-items:center;justify-content:center;gap:13px;margin:-2px 0 22px;color:var(--text-muted)}
.contact-choice__availability strong{font-size:34px;font-weight:900;line-height:1;color:#23809F;letter-spacing:-.03em}
.contact-choice__availability span{font-size:13px;font-weight:800;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}
.contact-choice > [data-cta]{margin-top:auto;min-width:190px;justify-content:center}
.contact-details-layout{display:grid;grid-template-columns:40fr 60fr;gap:clamp(44px,7vw,100px);align-items:start;max-width:1440px;margin:0 auto;text-align:left}
.contact-details-layout__intro > p:not(.section-label){color:var(--text-muted);font-size:17px;line-height:1.7;margin:14px 0 0;max-width:460px}
.contact-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,5vw,70px);row-gap:34px}
.contact-fact{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}
.contact-fact > i{color:#2E9BC0;font-size:22px;line-height:1.2;margin-top:2px;text-align:center}
.contact-fact h3{font-size:18px;font-weight:800;text-transform:none;color:var(--navy);margin:0 0 7px}
.contact-fact p,.contact-fact div{color:var(--text-muted);font-size:15.5px;line-height:1.6;margin:0}
.contact-fact strong{color:var(--navy)}
.contact-fact .card-link{display:inline-block;margin-top:8px}
.contact-emergency{background:var(--dark-navy);color:#fff}
.contact-emergency__inner{display:grid;grid-template-columns:65fr 35fr;gap:clamp(44px,8vw,120px);align-items:center;max-width:1180px;margin:0 auto}
.contact-emergency h2{font-size:clamp(34px,4vw,48px);color:#fff;text-transform:none;letter-spacing:-.02em;margin:0 0 16px}
.contact-emergency p{color:rgba(255,255,255,.76);font-size:17px;line-height:1.7;max-width:700px;margin:0 0 24px}
.contact-emergency__proof{text-align:center}
.contact-emergency__proof strong{display:block;color:#65B7D2;font-size:clamp(64px,8vw,104px);font-weight:900;line-height:.9;letter-spacing:-.05em}
.contact-emergency__proof span{display:block;color:#fff;font-size:22px;font-weight:800;margin-top:12px}
.contact-emergency__proof p{font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin:6px auto 0}
@media (max-width:860px){
  .contact-choice-grid,.contact-details-layout,.contact-emergency__inner{grid-template-columns:1fr}
  .contact-choice-grid{gap:44px;max-width:620px;margin-left:auto;margin-right:auto}
  .contact-facts{margin-top:4px}
  .contact-emergency__proof{text-align:left}
}
@media (max-width:600px){
  .contact-facts{grid-template-columns:1fr}
  .contact-choice{padding:26px 22px}
  .contact-choice > [data-cta],.contact-emergency [data-cta]{width:100%;justify-content:center}
}

/* Interior-restyle utilities */
.section--cyan{background:var(--surface-cyan-pale)}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1024px){.card-grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.card-grid-4{grid-template-columns:1fr}}
.copy-center{max-width:780px;margin:0 auto;text-align:center;color:var(--text);line-height:1.7}
.copy-center p{margin:0 0 12px}
.copy-center p:last-child{margin-bottom:0}
.lite-card{gap:10px}
.lite-card h3,.lite-card h4{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:0.01em}
.lite-card .card-strong{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:24px;font-weight:900;color:var(--text);text-decoration:none}
.site-hero--centered .hero-service-index{justify-content:center}
.site-hero--centered .hero-service-index li:first-child{padding-left:18px}

/* ================================================================
   ANCHOR OFFSETS + EXPLICIT SECTION LAYOUT SYSTEM
   ================================================================ */
/* Anchored targets land clear of the sticky header + on-page bar. */
[id]{scroll-margin-top:128px}
@media (max-width:1024px){[id]{scroll-margin-top:116px}}
@media (max-width:767px){[id]{scroll-margin-top:64px}}
/* 1) Centered editorial (no-image) sections — everything centered, narrow measure. */
.layout-editorial{text-align:center}
.layout-editorial .section-inner > p{max-width:820px;margin-left:auto;margin-right:auto}
.layout-editorial .copy-block{max-width:1200px;margin-left:auto;margin-right:auto}
.layout-editorial .accent-divider{margin-left:auto;margin-right:auto}
.layout-editorial--wide .copy-center{max-width:1020px}
/* Section dividers were a repeated visual motif; headings now stand on their
   typography and spacing alone. Markup remains for backwards compatibility. */
.accent-divider{display:none}
/* 2) Centered card sections — header + intro centered, card internals left. */
.layout-cards{text-align:center}
.layout-cards .section-inner > p,.layout-cards .section-sub{max-width:820px;margin-left:auto;margin-right:auto}
.layout-cards .accent-divider{margin-left:auto;margin-right:auto}
.layout-cards .lite-card,.layout-cards .trust-item,.layout-cards .include-item,
.layout-cards .faq-card,.layout-cards .service-card,.layout-cards .svc-card,.layout-cards .glossary-path-card{text-align:left}

/* Glossary-path cards are self-contained vertical cards. They intentionally
   do not share the media-and-body service-card classes used by service pages. */
.glossary-path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;width:100%;margin:28px auto 0;align-items:stretch}
.glossary-path-card{min-width:0;height:100%;padding:24px;background:var(--white);border:1px solid var(--border-light);border-radius:14px;box-shadow:0 2px 12px rgba(15,30,64,0.09);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.glossary-path-card__icon{font-size:30px;line-height:1;color:var(--accent);margin-bottom:2px}
.glossary-path-card h3{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:22px;font-weight:800;line-height:1.2;color:var(--heading-blue);margin:0}
.glossary-path-card p{margin:0;color:var(--text-muted);font-size:16px;line-height:1.6;flex:1 1 auto}
.glossary-path-card__link{display:inline-flex;align-items:center;gap:4px;min-height:40px;margin-top:auto;color:var(--navy);font-size:14px;font-weight:700;text-decoration:none}
.glossary-path-card__link:hover,.glossary-path-card__link:focus-visible{color:var(--accent)}
@media (max-width:640px){.glossary-path-grid{grid-template-columns:1fr;gap:16px}.glossary-path-card{padding:22px 20px}}
/* 3) Image/split sections — copy stays left-aligned (explicit). */
.layout-split,.layout-split .section-label,.layout-split .section-title{text-align:left}
.layout-split .accent-divider{margin-left:0;margin-right:0}
/* Constrained 2x2 card grid (long-copy cards). */
.card-grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1080px;margin-left:auto;margin-right:auto;margin-top:20px}
.card-grid-2x2.card-grid--full{max-width:none}
@media (max-width:640px){.card-grid-2x2{grid-template-columns:1fr}}

/* Nine-item service scope: a balanced 3x3 desktop grid instead of a 4+4+1
   orphan row. The final tablet item is centered; mobile becomes one column. */
.include-list.include-list--balanced{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){
  .include-list.include-list--balanced{grid-template-columns:repeat(2,minmax(0,1fr))}
  .include-list.include-list--balanced > :last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 7px);justify-self:center}
}
@media (max-width:560px){
  .include-list.include-list--balanced{grid-template-columns:1fr}
  .include-list.include-list--balanced > :last-child:nth-child(odd){grid-column:auto;width:100%}
}

/* Proof section: editorial heading beside one unified 2x2 evidence panel.
   This avoids four narrow cards with uneven amounts of empty space. */
.why-proof-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);gap:clamp(32px,5vw,72px);align-items:center;width:100%;max-width:1280px;margin:0 auto}
.why-proof-layout__intro{text-align:left}
.why-proof-layout__intro .section-label{margin-bottom:8px}
.why-proof-layout__intro .section-title{margin:0}
.why-proof-layout__grid.trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;background:#fff;border:1px solid #BFE1EE;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(15,35,64,.05)}
.why-proof-layout__grid .trust-item{min-height:180px;padding:26px;border:0;border-radius:0;background:#fff}
.why-proof-layout__grid .trust-item:nth-child(even){border-left:1px solid #D8EAF1}
.why-proof-layout__grid .trust-item:nth-child(n+3){border-top:1px solid #D8EAF1}
@media (max-width:1024px){
  .why-proof-layout{grid-template-columns:1fr;gap:28px}
  .why-proof-layout__intro{text-align:center;max-width:780px;margin:0 auto}
}
@media (max-width:640px){
  .why-proof-layout__grid.trust-grid{grid-template-columns:1fr}
  .why-proof-layout__grid .trust-item{min-height:0}
  .why-proof-layout__grid .trust-item:nth-child(even){border-left:0}
  .why-proof-layout__grid .trust-item:nth-child(n+2){border-top:1px solid #D8EAF1}
}
/* ================================================================
   SERVICE CARD — shared media+body card (location/service listings)
   ================================================================ */
.svc-card{display:flex;flex-direction:row;border:2px solid var(--border-light);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(15,30,64,0.09)}
.svc-card--flip{flex-direction:row-reverse}
.svc-card__media{width:40%;min-height:240px;overflow:hidden;position:relative}
.svc-card__media picture{display:block;width:100%;height:100%}
.svc-card__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.svc-card__body{width:60%;padding:30px 36px;display:flex;flex-direction:column;gap:10px;background:var(--light-bg)}
.svc-card__title{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:32px;font-weight:800;text-transform:uppercase;color:var(--heading-blue);margin:0}
.svc-card__body > p{color:var(--text-muted);line-height:1.6;margin:0}
.svc-card__body > p.section-label{color:var(--accent)}
.svc-card__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
@media (max-width:767px){
  .svc-card,.svc-card--flip{flex-direction:column}
  .svc-card__media,.svc-card__body{width:100%}
}

/* svc-card grid wrapper — two editorial columns, one on tablet/mobile. */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;max-width:var(--container-max);margin:24px auto 0}
@media (max-width:1024px){.svc-grid{grid-template-columns:1fr}}

/* Three-card sections — balanced columns without an orphaned third card. */
.svc-grid.svc-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px)}
.svc-grid--3 > .svc-card{flex-direction:column;height:100%;min-width:0;padding:0}
.svc-grid--3 > .svc-card > .svc-card__media{width:100%;min-height:220px;aspect-ratio:16/10}
.svc-grid--3 > .svc-card > .svc-card__body{width:100%;flex:1;padding:clamp(24px,2.4vw,32px)}
@media (max-width:900px){
  .svc-grid.svc-grid--3{grid-template-columns:1fr}
  .svc-grid--3 > .svc-card > .svc-card__media{min-height:240px;aspect-ratio:16/9}
}
@media (max-width:767px){
  .svc-grid--3 > .svc-card > .svc-card__body{padding:24px}
}
/* dispatch panel actions */
.dispatch-panel .dispatch-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}

/* Centered-content lite-card variant (e.g. Contact info cards) */
.lite-card--center,.layout-cards .lite-card--center{text-align:center;align-items:center}

/* Two-column split content row (copy + aside panel) */
.split-2col{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;max-width:1200px;margin:0 auto}
.split-2col .dispatch-panel{margin-top:0}
@media (max-width:1024px){.split-2col{grid-template-columns:1fr;gap:28px}}

/* ================================================================
   ABOUT-THIS-SERVICE SPLIT — the homepage "Who We Are" pattern as a
   shared component. With .has-media at >=1440px: full-bleed photo
   left, vertically-centered copy right. Below 1440px, or without a
   photo, the copy runs as a centered editorial column.
   ================================================================ */
.svc-about{background:#fff}
.svc-about__media{display:none}
.svc-about__copy{max-width:860px;margin:0 auto;text-align:center}
.svc-about__copy .accent-divider{margin-left:auto;margin-right:auto}
.svc-about__copy .section-label{color:var(--accent)}
.svc-about__copy p{color:var(--text);line-height:1.7;margin:0 0 14px}
.svc-about__copy p:last-child{margin-bottom:0}
@media (min-width:1440px){
  .svc-about.has-media{display:flex;align-items:stretch;padding:0;min-height:clamp(380px,30vw,460px);overflow:hidden}
  .svc-about.has-media .svc-about__media{display:block;width:50%;position:relative;overflow:hidden}
  .svc-about.has-media .svc-about__media picture{position:absolute;inset:0;display:block}
  .svc-about.has-media .svc-about__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .svc-about.has-media .svc-about__copy{width:50%;max-width:none;margin:0;display:flex;flex-direction:column;justify-content:center;text-align:left;padding:clamp(32px,3vw,56px) clamp(32px,4vw,80px)}
  .svc-about.has-media .svc-about__copy .accent-divider{margin-left:0;margin-right:0}
}

/* ================================================================
   GLOBAL: no link underlines — anywhere, any state. The !important
   also overrides inline text-decoration styles on legacy links.
   ================================================================ */
a,a:hover,a:focus,a:active{text-decoration:none !important}
/* Exception: body-text links regain their underline on hover only.
   (Buttons/CTAs that happen to sit inside paragraphs stay clean.) */
p a:not([class*="btn"]):not([data-cta]):hover{text-decoration:underline !important;text-underline-offset:2px}

/* svc-about body links — same darkish-cyan/navy treatment as entity links */
.svc-about__copy p a{color:var(--accent-cyan-hover);font-weight:600}
.svc-about__copy p a:hover{color:var(--dark-navy)}

/* Final-polish shared utilities (prototype pass) */
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media (max-width:767px){.card-grid-2{grid-template-columns:1fr}}
.lite-card--rail{border-top:4px solid #2E9BC0}
.lite-card .card-cta{margin-top:auto;padding-top:10px}
.copy-wide{max-width:940px;margin-left:auto;margin-right:auto;text-align:center}
.quote-callout--panel{border-left:0;background:var(--surface-cyan-pale);border:1px solid #BFE1EE}
.area-mention--cyan{border-left-color:#2E9BC0}
.area-mention--cyan a{color:var(--accent-cyan-hover)}
.area-mention--cyan a:hover{color:var(--dark-navy)}


/* ================================================================
   Z4 SPLIT — homepage "Who We Are" full-bleed 50/50 (shared).
   ================================================================ */
.z4-split{display:flex;align-items:stretch;padding:0 !important;min-height:clamp(380px,38vw,460px);overflow:hidden;background:#fff}
.z4-split-media{width:50%;position:relative;overflow:hidden}
.z4-split-media picture{display:block}
.z4-split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.z4-split-copy{width:50%;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,72px) clamp(24px,5vw,80px)}
.z4-split-copy p:not(.section-label){margin-top:12px;color:var(--text-muted);line-height:1.7}
@media (max-width:1024px){
  .z4-split{flex-direction:column;min-height:0}
  .z4-split-copy{width:100%}
  .z4-split-media{width:100%;height:auto;overflow:visible}
  .z4-split-media picture{display:block;width:100%}
  .z4-split-media img{position:static;display:block;width:100%;height:auto;object-fit:contain}
}
/* Founder profile split (~42/58, portrait left) */
.profile-split{display:grid;grid-template-columns:42fr 58fr;gap:clamp(28px,4vw,56px);align-items:center;max-width:1240px;margin:0 auto}
.profile-split__media{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/5}
.profile-split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.profile-split__caption{margin-top:10px;font-size:14px;color:var(--text-muted);text-align:center}
.profile-split__cta{margin-top:22px}
@media (max-width:1024px){.profile-split{grid-template-columns:1fr;max-width:640px}}
/* Compact proof/inclusion grid variant (commitment) */
.include-list--cards .include-item{background:#fff;border:1px solid #BFE1EE;border-radius:10px;padding:16px 18px;box-shadow:0 1px 6px rgba(15,35,64,0.05);display:flex;gap:12px;align-items:flex-start}
@media (max-width:1024px){.include-list--3.include-list--cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.include-list--3.include-list--cards{grid-template-columns:1fr}}
/* Header-to-grid rhythm (replaces removed spacer divs) */
.card-grid-2,.card-grid-4,.include-list--cards{margin-top:26px}

/* ================================================================
   ABOUT EDITORIAL RECOMPOSITION — shared components
   ================================================================ */
/* Founder collage: portrait primary + inset landscape with cream frame */
.profile-split--media-lead{grid-template-columns:52fr 48fr}
@media (max-width:1024px){.profile-split--media-lead{grid-template-columns:1fr}}
.founder-collage{position:relative;height:clamp(500px,40vw,560px)}
.founder-collage__primary{position:absolute;left:0;top:0;bottom:0;width:68%;border-radius:14px;overflow:hidden}
.founder-collage__primary img{width:100%;height:100%;object-fit:cover;display:block}
.founder-collage__inset{position:absolute;right:0;bottom:24px;width:55%;aspect-ratio:16/10;border:9px solid var(--surface-cream);border-radius:12px;overflow:hidden;box-shadow:0 14px 34px rgba(15,35,64,0.18)}
.founder-collage__inset img{width:100%;height:100%;object-fit:cover;display:block}
.about-story > div:last-child > p:not(.section-label){color:var(--text);line-height:1.7;margin:0 0 14px}
@media (max-width:1024px){
  .founder-collage{height:auto;display:flex;flex-direction:column;gap:14px;max-width:460px;margin-left:auto;margin-right:auto}
  .founder-collage__primary{position:static;width:100%;aspect-ratio:4/5;max-height:380px}
  .founder-collage__inset{position:static;width:100%;aspect-ratio:16/10;border:0;box-shadow:none}
  .profile-split__caption{margin-top:6px}
}
/* Team chapter: the team image belongs with the employee story; the service
   commitment remains an open proof grid below it rather than another card set. */
.team-feature{max-width:1240px;margin:0 auto;text-align:left}
.team-feature__intro{display:grid;grid-template-columns:46fr 54fr;gap:clamp(32px,5vw,72px);align-items:center}
.team-feature__media{aspect-ratio:3/2;border-radius:14px;overflow:hidden;background:var(--surface-cyan-mid)}
.team-feature__media picture{display:block;width:100%;height:100%}
.team-feature__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.team-feature__story p:not(.section-label){color:var(--text);line-height:1.7;margin:0 0 14px}
.team-feature__expectations{margin-top:clamp(34px,5vw,58px)}
.team-feature__expectations > .team-standard__label{text-align:center;margin-bottom:20px}
.team-feature__checks{display:grid;grid-template-columns:repeat(3,1fr);column-gap:clamp(24px,3vw,46px);row-gap:10px}
@media (max-width:1024px){
  .team-feature__intro{grid-template-columns:1fr;max-width:720px;margin:0 auto}
  .team-feature__checks{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){.team-feature__checks{grid-template-columns:1fr}}
/* Consolidated team story + service-commitment checklist */
.team-standard{display:grid;grid-template-columns:45fr 55fr;gap:clamp(32px,5vw,72px);align-items:start;max-width:1240px;margin:0 auto;text-align:left}
.team-standard__story p{color:var(--text);line-height:1.7;margin:0 0 14px}
.team-standard__label{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.check-row{display:flex;gap:14px;align-items:flex-start;padding:10px 0}
.check-row .check{color:#2E9BC0;-webkit-text-stroke:1.5px #2E9BC0;font-size:22px;font-weight:900;line-height:1.2;flex-shrink:0}
.check-row h3{font-size:18px;font-weight:800;color:var(--navy);margin:0 0 3px;text-transform:none}
.check-row p{color:var(--text-muted);line-height:1.55;margin:0;font-size:15.5px}
@media (max-width:960px){.team-standard{grid-template-columns:1fr}}
/* Values manifesto — open principles, no cards */
.values-manifesto{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3.5vw,56px);margin-top:30px;text-align:left}
.value-principle__number{font-family:'Roboto','Roboto Fallback',sans-serif;font-size:44px;font-weight:900;line-height:1;color:#2E9BC0;opacity:.55;margin-bottom:10px}
.value-principle__title{font-size:19px;font-weight:800;color:var(--navy);margin:0 0 8px;text-transform:none}
.value-principle p{color:var(--text-muted);line-height:1.6;margin:0}
@media (max-width:1024px){.values-manifesto{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.values-manifesto{grid-template-columns:1fr}}
/* Editorial duo — open two-column section (no card shells) */
.duo-editorial{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);margin-top:30px;text-align:left;max-width:1140px;margin-left:auto;margin-right:auto}
.duo-editorial__col{display:flex;flex-direction:column}
.duo-editorial__icon{font-size:34px;color:#2E9BC0;margin-bottom:14px}
.duo-editorial__col h3{font-size:22px;font-weight:800;color:var(--navy);margin:0 0 10px;text-transform:none}
.duo-editorial__col p{color:var(--text-muted);line-height:1.65;margin:0}
.duo-editorial__col .card-link{margin-top:auto;padding-top:16px}
@media (max-width:767px){.duo-editorial{grid-template-columns:1fr}}

/* ================================================================
   COMPACT EDITORIAL FOOTER
   Keeps every service/location link visible while reducing the
   footprint and matching the light site's cleaner geometry.
   ================================================================ */
.as-footer{
  align-items:stretch;
  background:#0D2039;
  border-top:1px solid rgba(255,255,255,.08);
}
.as-footer-banner{
  min-height:38px;
  padding:9px clamp(20px,4vw,64px);
  background:linear-gradient(90deg,#1E7898 0%,#2E9BC0 52%,#1E7898 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.as-footer-banner p{
  max-width:1200px;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.025em;
}
.as-footer-main{
  display:grid;
  grid-template-columns:minmax(220px,1.05fr) minmax(250px,.95fr) minmax(330px,1.3fr) minmax(245px,1fr);
  align-items:start;
  width:100%;
  max-width:1360px;
  margin:0 auto;
  padding:38px clamp(24px,4vw,64px) 34px;
  gap:clamp(26px,3vw,46px);
}
.as-fcol-brand,.as-fcol-services,.as-fcol-areas,.as-fcol-contact{
  width:auto;
  min-width:0;
  gap:10px;
}
.as-fcol-brand{gap:9px}
.as-footer-logo{
  display:block;
  width:min(230px,100%);
  line-height:0;
}
.as-footer-logo img{
  display:block;
  width:100%;
  height:auto;
}
.as-footer-tagline{
  margin-top:6px;
  font-size:15px;
  line-height:1.35;
}
.as-footer-desc{
  max-width:300px;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.68);
}
.as-footer-social{
  gap:8px;
  margin-top:7px;
}
.as-footer-social a{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  font-size:15px;
}
.as-footer-heading{
  padding-bottom:9px;
  border-bottom:1px solid rgba(124,201,226,.28);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  color:#7CC9E2;
}
.as-footer-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:0;
}
.as-footer-links li{
  min-width:0;
  padding:0;
  border:0;
}
.as-footer-links li a{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:7px 0;
  font-size:13.5px;
  line-height:1.3;
  color:rgba(255,255,255,.72);
  transition:color .15s ease,transform .15s ease;
}
.as-footer-links li a:hover,
.as-footer-links li a:focus-visible{
  color:#fff;
  transform:translateX(2px);
}
.as-contact-item{
  min-height:42px;
  padding:5px 0;
  gap:10px;
  border:0;
  align-items:center;
}
.as-contact-item i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  margin:0;
  border:1px solid var(--decorative-cyan-border);
  border-radius:8px;
  background:var(--decorative-cyan-surface);
  font-size:13px;
}
.as-contact-item a,.as-contact-item span{color:rgba(255,255,255,.72)}
.as-contact-phone{
  font-size:20px;
  line-height:1.1;
}
.as-contact-phone .label{
  margin-bottom:3px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.as-contact-addr,.as-contact-hours{
  font-size:13.5px;
  line-height:1.4;
}
.as-btn-request{
  min-height:44px;
  margin-top:7px;
  padding:10px 20px;
  border-radius:6px;
  font-size:15px;
}
.as-footer-bottom{
  flex-direction:row;
  justify-content:space-between;
  width:calc(100% - 48px);
  max-width:1232px;
  min-height:64px;
  margin:0 auto;
  padding:10px 0;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.09);
}
.as-footer-copyright{
  font-size:12.5px;
  color:rgba(255,255,255,.58);
  text-align:left;
}
.as-footer-license{display:block;margin-top:2px}
.as-footer-legal{justify-content:flex-end}
.as-footer-legal li a{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:7px 10px;
  font-size:12.5px;
  color:#7CC9E2;
}
.as-footer-legal li:last-child a{padding-right:0}

@media (max-width:1280px){
  .as-footer-main{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:900px;
    padding:34px 30px 30px;
    gap:30px 46px;
  }
  .as-fcol-brand{order:1;text-align:left}
  .as-fcol-contact{order:2}
  .as-fcol-services{order:3}
  .as-fcol-areas{order:4}
  .as-footer-logo{margin:0}
  .as-footer-social{justify-content:flex-start}
}

@media (max-width:700px){
  .as-footer-banner{padding:8px 18px}
  .as-footer-banner p{font-size:11.5px;line-height:1.4}
  .as-footer-main{
    grid-template-columns:1fr;
    padding:24px 20px 22px;
    gap:22px;
  }
  .as-fcol-brand,.as-fcol-services,.as-fcol-areas,.as-fcol-contact{
    width:100%;
    text-align:left;
  }
  .as-fcol-brand{order:1}
  .as-fcol-contact{order:2}
  .as-fcol-services{order:3}
  .as-fcol-areas{order:4}
  .as-footer-logo{width:205px;margin:0}
  .as-footer-tagline{margin-top:3px}
  .as-footer-desc{display:none}
  /* Keep the verified business identity visible on every screen size. */
  .as-footer-desc.as-footer-business-name{display:block}
  .as-footer-social{justify-content:flex-start}
  .as-contact-item{min-height:38px;padding:3px 0}
  .as-footer-links{column-gap:20px}
  .as-footer-links li a{min-height:44px;padding:9px 0;font-size:13px}
  .as-footer-bottom{
    flex-direction:column;
    width:calc(100% - 40px);
    min-height:0;
    padding:16px 0 18px;
    gap:5px;
  }
  .as-footer-copyright{text-align:center;line-height:1.5}
  .as-footer-legal{justify-content:center}
  .as-footer-legal li a{min-height:34px;padding:6px 5px;font-size:11.25px}
  .as-footer-legal li:last-child a{padding-right:5px}
  .as-footer-legal li + li::before{display:none}
}

@media (max-width:380px){
  .as-footer-links{column-gap:14px}
  .as-footer-links li a{font-size:12.5px}
}

/* ============================================================
   A11y overrides (2026-07-28 final pass) — appended so the
   cascade wins without editing minified blocks above.
   ============================================================ */
/* Skip link: visually hidden until keyboard focus */
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--dark-navy);color:#fff;padding:10px 18px;font-weight:700;border-radius:0 0 6px 0;text-decoration:none}
.skip-link:focus{left:0}
/* Accessible action/text oranges for white and pale-cyan surfaces. The original
   brand orange remains available as --accent for decorative use on navy. */
:root{
  --accent-text:#9A3412;
  --link-cyan:#1B6B87;
  --action-phone:#C2410C;
  --action-phone-hover:#9A3412;
}
.as-announce-title .highlight{color:var(--accent-text)}
.section-label{color:var(--accent-text)}
.area-mention a{color:var(--accent-text)}
.faq-q span{color:var(--accent-text)}
.as-qc-answer__eyebrow,.as-qc-start__kicker{color:var(--accent-text)}
.as-qc-hero-phone a{color:var(--accent-text)}
.as-qc-hero-phone a:hover{color:var(--accent-hover)}
.as-mobile-toggle{background:var(--action-phone)}
.as-mobile-toggle:hover{background:var(--action-phone-hover)}
.location-badge{background:var(--action-phone)}
.faq-accordion .faq-card.is-open .faq-icon{
  background:var(--action-phone);
  border-color:var(--action-phone);
}

/* Contextual hub-and-spoke navigation used on service and location pages. */
.context-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 16px;
  padding:18px var(--section-pad-x);
  background:#fff;
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
  color:var(--text-muted);
}
.context-links strong{color:var(--dark-navy)}
.context-links a{
  color:var(--link-cyan);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.context-links a:hover{color:var(--dark-navy)}
/* Calculator stepper: no opacity dimming (contrast); inactive steps use accessible muted ink */
.as-qc-step{opacity:1}
.as-qc-step:not(.is-current):not(.is-done) .as-qc-step__num{color:var(--text-muted)}
.as-qc-step:not(.is-current) .as-qc-step__copy strong{color:var(--text-muted)}
/* Prose links: non-color affordance + visible focus everywhere */
.content-body a,.copy-block a,.faq-a-inner a,.entity-decl a,.section-sub a{text-decoration:underline;text-underline-offset:2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent-cyan);outline-offset:2px}
/* Critical header icons are inline SVGs so navigation controls never wait for
   the deferred Font Awesome payload. Fixed geometry prevents visual shift. */
.as-critical-icon{
  width:1em;
  height:1em;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:-.125em;
}
/* Accessible link and accent treatment on light content surfaces. */
.breadcrumb a{
  color:var(--link-cyan);
  text-decoration:underline;
  text-underline-offset:2px;
}
.contact-facts .card-link{
  color:var(--link-cyan);
  text-decoration:underline;
  text-underline-offset:2px;
}
.section:not(.section--dark) h2 span{color:var(--accent-text)}
.lite-card p a{
  color:var(--link-cyan)!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}
/* Legal pages: a wider, more usable reading measure on desktop. */
.content-body{max-width:1200px}
.content-body h2{margin-top:1.6em}
/* Reduced motion: flatten all animation/transitions site-wide */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto!important}
}

/* ============================================================
   Mobile menu split controls — parent labels stay navigable;
   the boxed arrow is the only submenu toggle.
   ============================================================ */
.as-submenu-toggle{display:none}
@media (max-width:1024px){
  .as-nav-list > li.has-drop{
    display:grid;
    grid-template-columns:minmax(0,1fr) 52px;
    align-items:center;
  }
  .as-nav-list > li.has-drop > a{
    grid-column:1;
    grid-row:1;
    display:flex;
    align-items:center;
    width:100%;
    min-height:52px;
    padding-right:12px;
  }
  .as-nav-list > li.has-drop > a::before{display:none}
  .as-submenu-toggle{
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:center;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #BFE1EE;
    border-radius:6px;
    background:var(--surface-cyan-pale,#EAF6FB);
    color:var(--accent-cyan-hover,#23809F);
    cursor:pointer;
  }
  .as-submenu-toggle:hover{background:var(--ice,#D6EEF8)}
  .as-submenu-toggle i,
  .as-submenu-toggle svg{pointer-events:none;transition:transform .2s ease}
  .as-nav-list > li.dropdown-open > .as-submenu-toggle{
    background:var(--accent-cyan-hover,#23809F);
    border-color:var(--accent-cyan-hover,#23809F);
    color:#fff;
  }
  .as-nav-list > li.dropdown-open > .as-submenu-toggle i,
  .as-nav-list > li.dropdown-open > .as-submenu-toggle svg{transform:rotate(180deg)}
  .as-nav-list > li.has-drop > .as-dropdown{grid-column:1/-1}
  /* Desktop focus-within disclosure must not auto-open mobile submenus. */
  .as-nav-list > li.has-drop:focus-within > .as-dropdown{display:none!important}
  .as-nav-list > li.has-drop.dropdown-open > .as-dropdown{display:block!important}
}
@media (min-width:768px) and (max-width:1024px){
  .as-nav.open{
    --as-tablet-menu-rail:clamp(260px,34vw,300px);
    grid-template-columns:minmax(0,1fr) var(--as-tablet-menu-rail);
  }
  .as-nav-list{
    grid-column:2;
    border-right:0;
    border-left:1px solid rgba(15,35,64,0.08);
    padding-top:64px;
  }
  .as-dropdown{
    left:0;
    right:var(--as-tablet-menu-rail);
  }
  .as-nav.open::before{
    content:'Choose a category to view related pages';
    position:absolute;
    inset:0 var(--as-tablet-menu-rail) 0 0;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:72px 48px 48px;
    color:var(--text-muted);
    font-size:17px;
    font-weight:600;
    line-height:1.5;
    text-align:center;
    background:linear-gradient(135deg,#FCFCFA 0%,var(--surface-cyan-pale,#EAF6FB) 100%);
    pointer-events:none;
  }
  .as-nav.open.has-open-submenu::before{display:none}
  body.as-menu-open .as-logo-sticky{padding:8px 16px}
  body.as-menu-open .as-logo-sticky img{max-height:78px;margin-bottom:-30px}
  body.as-menu-open .as-announce-container{gap:2px;padding:4px 10px}
  body.as-menu-open .as-announce-title{font-size:18px}
  body.as-menu-open .as-announce-promos{display:none}
}
@media (max-width:1024px){
  .as-nav-list > li > a[aria-current='page'],
  .as-dropdown li a[aria-current='page']{
    background:var(--surface-cyan-pale,#EAF6FB);
    color:var(--text);
    font-weight:800;
    box-shadow:inset 3px 0 0 var(--accent-cyan,#2E9BC0);
  }
}
@media (max-width:767px){
  .as-nav-list > li{
    border-bottom:1px solid #CADBE5;
  }
  .as-nav-list > li:last-child{border-bottom:0}
  .as-nav-list > li.has-drop{
    grid-template-columns:minmax(0,1fr) 56px;
  }
  .as-submenu-toggle{
    width:48px;
    height:48px;
    border:2px solid var(--accent-cyan,#2E9BC0);
    border-radius:4px;
    background:#fff;
    color:var(--accent-cyan-hover,#23809F);
    box-shadow:0 2px 8px rgba(15,35,64,.10);
  }
  .as-submenu-toggle i{font-size:15px}
  .as-submenu-toggle svg{width:15px;height:15px}
  .as-nav-list > li.has-drop.dropdown-open > .as-dropdown{
    border-top:1px solid #CADBE5;
  }
}

/* SchemaBrains glossary: visible source of truth for DefinedTerm markup. */
.glossary-section{
  background:linear-gradient(180deg,var(--surface-cream,#F8F4EC) 0%,#fff 100%);
  border-top:1px solid var(--border-light);
}
.glossary-intro{
  max-width:900px;
  margin:14px auto 30px;
  color:var(--text-muted);
  font-size:18px;
  line-height:1.7;
  text-align:center;
}
.glossary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.glossary-term{
  min-width:0;
  padding:22px 24px;
  background:#fff;
  border:1px solid var(--border-light);
  border-top:4px solid var(--accent-cyan);
  border-radius:10px;
  box-shadow:0 3px 14px rgba(15,35,64,.07);
}
.glossary-term h3{
  margin:0 0 9px;
  color:var(--dark-navy);
  font-size:21px;
}
.glossary-term p{
  margin:0;
  color:var(--text-muted);
  font-size:16px;
  line-height:1.65;
}
@media (max-width:1024px){
  .glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .glossary-grid{grid-template-columns:1fr}
  .glossary-term{padding:20px}
}

/* Dedicated glossary page: readable term ownership, stable anchors, and
   contextual paths back to the service pages customers actually need. */
.glossary-page .glossary-section{
  padding-top:clamp(44px,6vw,76px);
}
.glossary-page .glossary-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:24px;
}
.glossary-page .glossary-term{
  display:flex;
  flex-direction:column;
  padding:28px 30px;
  scroll-margin-top:118px;
}
.glossary-page .glossary-term:target{
  border-color:var(--accent-cyan);
  box-shadow:0 0 0 4px rgba(46,155,192,.16),0 8px 24px rgba(15,35,64,.12);
}
.glossary-page .glossary-term__category{
  margin:0 0 8px;
  color:var(--accent-cyan-hover);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.glossary-page .glossary-term h3{
  margin-bottom:12px;
  font-size:26px;
}
.glossary-page .glossary-term > [class^="term-def-"]{
  padding:16px 18px;
  color:var(--dark-navy);
  font-weight:600;
  background:var(--surface-cyan-pale);
  border-left:4px solid var(--accent-cyan);
  border-radius:0 8px 8px 0;
}
.glossary-page .glossary-term__detail{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--border-light);
}
.glossary-page .glossary-term__detail p{
  margin:0 0 13px;
}
.glossary-page .glossary-term__detail p:last-child{
  margin-bottom:0;
}
.glossary-page .glossary-term__detail a{
  color:var(--accent-cyan-hover);
  font-weight:700;
}
.glossary-page .glossary-term__link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-top:auto;
  padding-top:18px;
  color:var(--accent-cyan-hover);
  font-size:15px;
  font-weight:800;
  line-height:1.4;
  text-decoration:none;
}
.glossary-page .glossary-term__link:hover,
.glossary-page .glossary-term__link:focus-visible{
  color:var(--dark-navy);
  text-decoration:underline;
  text-underline-offset:3px;
}
.glossary-index{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  max-width:1180px;
  margin:0 auto 34px;
  padding:18px;
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:12px;
  box-shadow:0 3px 14px rgba(15,35,64,.06);
}
.glossary-index__label{
  flex:0 0 100%;
  color:var(--dark-navy);
  font-size:13px;
  font-weight:800;
  letter-spacing:.1em;
  text-align:center;
  text-transform:uppercase;
}
.glossary-index a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 13px;
  color:var(--dark-navy);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  background:var(--surface-cyan-pale);
  border:1px solid #BFE1EE;
  border-radius:999px;
}
.glossary-index a:hover,
.glossary-index a:focus-visible{
  color:#fff;
  background:var(--accent-cyan-hover);
  border-color:var(--accent-cyan-hover);
}
.glossary-service-paths{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}
.glossary-service-path{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-height:124px;
  padding:22px;
  color:var(--dark-navy);
  text-decoration:none;
  background:#fff;
  border:1px solid #BFE1EE;
  border-radius:10px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.glossary-service-path i{
  flex:0 0 auto;
  color:var(--accent-cyan-hover);
  font-size:24px;
}
.glossary-service-path span{
  color:var(--text-muted);
  font-size:15px;
  line-height:1.55;
}
.glossary-service-path strong{
  display:block;
  margin-bottom:4px;
  color:var(--dark-navy);
  font-size:18px;
}
.glossary-service-path:hover,
.glossary-service-path:focus-visible{
  transform:translateY(-2px);
  border-color:var(--accent-cyan);
  box-shadow:0 7px 18px rgba(15,35,64,.1);
}
.glossary-context{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  align-items:center;
  gap:clamp(30px,6vw,86px);
  max-width:1180px;
  margin:0 auto;
}
.glossary-context p{
  margin:0 0 14px;
  color:var(--text-muted);
  font-size:17px;
}
.glossary-context__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
}
.glossary-context__actions a{
  justify-content:center;
  text-align:center;
}
@media (max-width:1024px){
  .glossary-service-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .glossary-page .glossary-grid{grid-template-columns:1fr}
  .glossary-context{grid-template-columns:1fr}
  .glossary-context__actions{max-width:520px}
}
@media (max-width:560px){
  .glossary-page .glossary-term{padding:22px 20px}
  .glossary-page .glossary-term h3{font-size:23px}
  .glossary-index{justify-content:flex-start;padding:14px}
  .glossary-index__label{text-align:left}
  .glossary-service-paths{grid-template-columns:1fr}
}

/* Shared card-layout refinements (2026-08-10). */
.services-grid .service-card .card-image{
  height:320px;
  min-height:320px!important;
}
.services-grid .service-card .card-image picture{
  display:block;
  width:100%;
  height:100%;
}
.services-grid .service-card .card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.card-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:20px auto 0;
}
.card-grid-3.card-grid--full{max-width:none}
.layout-center-all{text-align:center}
.layout-center-all .section-label,
.layout-center-all .section-title,
.layout-center-all .section-sub{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.layout-center-all .coupon-grid{
  width:100%;
  margin-left:auto!important;
  margin-right:auto!important;
}
.layout-center-all .coupon-grid > *{text-align:center}
.layout-center-all .coupon-grid > * > div{align-items:center}
.layout-center-all .coupon-grid > * > div:last-child{justify-content:center}
.include-list.include-list--balanced:has(> :nth-child(4):last-child){
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
}
.svc-card__body > .svc-card__badge{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin:0 0 2px;
  padding:6px 11px;
  border:1px solid #BFE1EE;
  border-radius:999px;
  background:var(--surface-cyan-pale);
  color:var(--navy);
  font-size:12px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.svc-card__badge i{
  color:var(--accent-cyan-hover);
  font-size:12px;
  line-height:1;
}
@media (max-width:900px){
  .card-grid-3{grid-template-columns:1fr}
}
@media (max-width:640px){
  .services-grid .service-card .card-image{
    height:240px;
    min-height:240px!important;
  }
  .include-list.include-list--balanced:has(> :nth-child(4):last-child){
    grid-template-columns:1fr;
    max-width:none;
  }
}

/* Facilities Maintenance page — editorial, claims-led service layout. */
.facilities-page .fm-split{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:stretch;
  min-height:520px;
  padding:0;
  overflow:hidden;
  background:#fff;
}
.facilities-page .fm-split > *{
  max-width:none;
  margin:0;
}
.facilities-page .fm-split__media{
  position:relative;
  min-width:0;
  min-height:520px;
  overflow:hidden;
  background:var(--surface-cyan-mid);
}
.facilities-page .fm-split__media picture{
  position:absolute;
  inset:0;
  display:block;
}
.facilities-page .fm-split__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.facilities-page .fm-split__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(48px,5vw,84px) clamp(40px,6vw,96px);
  text-align:left;
}
.facilities-page .fm-split__copy .section-title{
  max-width:720px;
  margin-bottom:22px;
  font-size:clamp(32px,3vw,46px);
}
.facilities-page .fm-split__copy > p:not(.section-label){
  max-width:760px;
  margin:0 0 16px;
  color:var(--text-muted);
  font-size:17px;
  line-height:1.72;
}
.facilities-page .fm-split__copy > p:last-child{margin-bottom:0}
.facilities-page .fm-inline-link{
  padding-top:4px;
  font-size:15px!important;
}
.facilities-page .fm-inline-link a{
  color:var(--accent-cyan-hover);
  font-weight:700;
}
.facilities-page .fm-audiences{
  background:var(--surface-cream);
}
.facilities-page .fm-audiences__layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.4fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
  max-width:1320px;
}
.facilities-page .fm-audiences__intro{
  padding-top:12px;
}
.facilities-page .fm-audiences__intro .section-title{
  margin-bottom:20px;
  font-size:clamp(34px,3.4vw,50px);
}
.facilities-page .fm-audiences__intro > p:not(.section-label){
  color:var(--text-muted);
  font-size:17px;
  line-height:1.7;
}
.facilities-page .fm-audience-list{
  border-top:2px solid var(--dark-navy);
}
.facilities-page .fm-audience-group{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:30px 0;
  border-bottom:1px solid #C9DCE5;
}
.facilities-page .fm-audience-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--dark-navy);
  color:#fff;
  font-size:22px;
  box-shadow:inset 0 -4px 0 var(--accent);
}
.facilities-page .fm-audience-group h3{
  margin:0 0 8px;
  color:var(--dark-navy);
  font-size:22px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.facilities-page .fm-audience-group p{
  margin:0;
  color:var(--text-muted);
  font-size:16px;
  line-height:1.7;
}
.facilities-page .fm-hvac{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 12%,rgba(46,155,192,.22),transparent 28%),
    linear-gradient(145deg,#091832 0%,#0F2340 62%,#142E4F 100%);
  color:#fff;
}
.facilities-page .fm-hvac::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,transparent 0 28px,rgba(255,255,255,.018) 28px 29px);
  pointer-events:none;
}
.facilities-page .fm-hvac .section-inner{
  position:relative;
  max-width:1320px;
}
.facilities-page .fm-hvac .section-label{color:var(--accent)}
.facilities-page .fm-hvac .section-title{
  max-width:780px;
  color:#fff;
  font-size:clamp(34px,3.5vw,52px);
}
.facilities-page .fm-hvac .section-sub{
  max-width:780px;
  margin:18px 0 24px;
  color:rgba(255,255,255,.76);
  font-size:17px;
  line-height:1.7;
}
.facilities-page .fm-system-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 34px;
  padding:0;
  list-style:none;
}
.facilities-page .fm-system-chips li{
  padding:8px 13px;
  border:1px solid rgba(126,211,239,.5);
  border-radius:999px;
  background:rgba(46,155,192,.12);
  color:#DDF6FF;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.facilities-page .fm-scope-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}
.facilities-page .fm-scope-item{
  position:relative;
  min-height:220px;
  padding:32px 34px;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.035);
}
.facilities-page .fm-scope-item::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:72px;
  height:4px;
  background:var(--accent);
}
.facilities-page .fm-scope-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:22px;
  border:1px solid rgba(126,211,239,.48);
  border-radius:10px;
  color:#7ED3EF;
  font-size:22px;
}
.facilities-page .fm-scope-item h3{
  margin:0 0 10px;
  color:#fff;
  font-size:21px;
  font-weight:900;
  text-transform:uppercase;
}
.facilities-page .fm-scope-item p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:1.65;
}
.facilities-page .fm-plumbing{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  background:#fff;
}
.facilities-page .fm-plumbing .fm-split__media img{object-position:center}
.facilities-page .fm-service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:30px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
.facilities-page .fm-service-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #D8EAF1;
  color:var(--dark-navy);
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
.facilities-page .fm-service-list i{
  margin-top:2px;
  color:var(--accent-cyan-hover);
  font-size:13px;
}
.facilities-page .fm-proof{
  background:var(--surface-cream);
}
.facilities-page .fm-proof .section-inner{max-width:1320px}
.facilities-page .fm-proof__heading{
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
}
.facilities-page .fm-proof__heading .section-title{
  margin-bottom:14px;
  font-size:clamp(32px,3vw,46px);
}
.facilities-page .fm-proof__heading > p:not(.section-label){
  color:var(--text-muted);
  font-size:17px;
}
.facilities-page .fm-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border-radius:14px;
  background:var(--dark-navy);
  box-shadow:0 14px 34px rgba(15,35,64,.14);
}
.facilities-page .fm-proof-item{
  display:flex;
  min-height:190px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:30px 24px;
  border-right:1px solid rgba(255,255,255,.13);
  text-align:center;
}
.facilities-page .fm-proof-item:last-child{border-right:0}
.facilities-page .fm-proof-item i{
  color:var(--accent);
  font-size:32px;
}
.facilities-page .fm-proof-item h3{
  max-width:220px;
  margin:0;
  color:#fff;
  font-size:18px;
  font-weight:900;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.035em;
}
@media (max-width:1100px){
  .facilities-page .fm-split{
    grid-template-columns:1fr;
    min-height:0;
  }
  .facilities-page .fm-split__media{
    min-height:0;
    aspect-ratio:16/7;
  }
  .facilities-page .fm-split__media picture{position:absolute}
  .facilities-page .fm-split__copy{
    padding:54px clamp(28px,7vw,72px);
  }
  .facilities-page .fm-intro .fm-split__media{order:0}
  .facilities-page .fm-intro .fm-split__copy{order:1}
  .facilities-page .fm-plumbing .fm-split__media{order:0}
  .facilities-page .fm-plumbing .fm-split__copy{order:1}
  .facilities-page .fm-audiences__layout{
    grid-template-columns:1fr;
    gap:36px;
  }
  .facilities-page .fm-audiences__intro{max-width:780px}
  .facilities-page .fm-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facilities-page .fm-proof-item:nth-child(2){border-right:0}
  .facilities-page .fm-proof-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
}
@media (max-width:640px){
  .facilities-page .fm-split__media{aspect-ratio:4/3}
  .facilities-page .fm-split__copy{padding:40px 20px}
  .facilities-page .fm-split__copy .section-title{font-size:30px}
  .facilities-page .fm-audience-group{
    grid-template-columns:48px minmax(0,1fr);
    gap:16px;
    padding:24px 0;
  }
  .facilities-page .fm-audience-icon{
    width:46px;
    height:46px;
    font-size:18px;
  }
  .facilities-page .fm-audience-group h3{font-size:18px}
  .facilities-page .fm-scope-grid{grid-template-columns:1fr}
  .facilities-page .fm-scope-item{min-height:0;padding:28px 24px}
  .facilities-page .fm-system-chips{gap:8px}
  .facilities-page .fm-system-chips li{font-size:12px}
  .facilities-page .fm-service-list{grid-template-columns:1fr}
  .facilities-page .fm-proof-grid{grid-template-columns:1fr}
  .facilities-page .fm-proof-item{
    min-height:150px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }
  .facilities-page .fm-proof-item:last-child{border-bottom:0}
}

/* Facilities maintenance — named current facilities */
.fm-current-facilities{margin-top:36px;padding-top:28px;border-top:1px solid rgba(11,31,59,0.12)}
.fm-current-facilities h3{font-size:20px;margin-bottom:16px;color:var(--navy)}
.fm-facility-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fm-facility-list li{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:#fff;border:1px solid #BFE1EE;border-radius:10px}
.fm-facility-list strong{color:var(--navy);font-size:17px}
.fm-facility-list span{color:var(--text-muted);font-size:15px;line-height:1.5}
.fm-facility-note{margin-top:16px;color:var(--text-muted);font-size:15px;line-height:1.6}
@media (max-width:720px){.fm-facility-list{grid-template-columns:1fr}}

/* Plumbing service landings lead with the problem, copy and actions on phones.
   The opt-in preserves the existing desktop photo/content split. */
@media (max-width:767px){
  .site-hero--action-first > .site-hero__content{order:0}
  .site-hero--action-first > .site-hero__media{order:1}
}
