@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
:root{--accent-ink:#8C502E;--paper:#F7F5F1;--steel:#555e60;--mist:#ECE8E3;--copper:#B87A4B;--line:#DBD7D1;--white:#fff;--gutter:clamp(24px,5vw,88px);--max:1328px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p,figure{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent-ink);outline-offset:5px}.hero a:focus-visible,.site-header :focus-visible,.contact :focus-visible,.site-footer :focus-visible{outline-color:#D7A882}[hidden]{display:none!important}::selection{background:#E7CDB7;color:var(--navy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;padding:12px 20px;background:white}.skip-link:focus{top:10px}
.utility{background:var(--navy);color:#c4cdcb;font-size:0.75rem;border-bottom:1px solid #ffffff26}.utility-inner{display:flex;align-items:center;justify-content:space-between;min-height:37px}.utility a{display:flex;gap:22px;padding-block:7px}.site-header{background:var(--navy);color:white;position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff26}.header-inner{height:97px;display:flex;gap:38px;align-items:center;justify-content:space-between}.brand{display:block;flex-shrink:0}.brand img{width:151px;height:auto}.header-inner nav{display:flex;gap:30px;margin-left:auto;font-size:0.875rem;font-weight:600}.header-inner nav a{padding-block:20px;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:13px;left:0;height:1px;width:0;background:#c4cdcb;transition:width .2s}.desktop-nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:56px;border:1px solid transparent;background:var(--copper);color:var(--navy);padding:15px 24px;font-size:0.875rem;line-height:1.55;font-weight:700;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#C58A59;transform:translateY(-2px)}.button:disabled{opacity:.5;cursor:not-allowed}.button-small{min-height:46px;padding:10px 19px;gap:22px}.button>span,.text-link>span{font-size:1.25rem;line-height:1.2;font-weight:400}.menu-toggle{display:none;background:none;border:1px solid #ffffff26;width:44px;height:44px;border-radius:3px;color:white;align-items:center;justify-content:center}.menu-bars{position:relative;width:18px;height:2px;background:currentColor}.menu-bars:before,.menu-bars:after{content:'';position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .2s;top:-6px}.menu-bars:after{top:6px}.menu-toggle[aria-expanded=true] .menu-bars{background:transparent}.menu-toggle[aria-expanded=true] .menu-bars:before{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-bars:after{transform:translateY(-6px) rotate(-45deg)}.mobile-menu{border-top:1px solid #ffffff26;padding:16px var(--gutter) 25px;background:var(--navy)}.mobile-menu a{display:flex;justify-content:space-between;padding:13px 0;font-size:1rem;border-bottom:1px solid #ffffff26}
.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:50px;min-height:676px;padding-block:66px 62px;align-items:center}.eyebrow{display:flex;align-items:center;gap:12px;font-size:0.75rem;line-height:1.5;letter-spacing:1.75px;text-transform:uppercase;font-weight:700;color:#c4cdcb;margin-bottom:24px}.eyebrow>span{width:27px;height:2px;background:var(--copper);flex-shrink:0}.eyebrow.dark{color:var(--steel)}h1{font-size:clamp(3rem,5.1vw,4.8125rem);line-height:1.06;letter-spacing:-3.6px;font-weight:650;max-width:690px}h1 em{font-style:normal;color:#DEC8B7}.hero-description{max-width:465px;font-size:1.0625rem;line-height:1.85;color:#c4cdcb;margin-top:28px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:35px}.text-link{display:inline-flex;align-items:center;gap:15px;font-weight:650;font-size:0.875rem;line-height:1.6;min-height:44px}.text-link>span{transition:transform .2s}.text-link:hover>span{transform:translate(3px,-3px)}.hero-note{display:flex;gap:18px;align-items:center;color:#c4cdcb;font-size:0.8125rem;line-height:1.65;margin-top:44px}.note-rule{height:36px;width:1px;background:var(--copper)}.hero-image-frame{position:relative;align-self:stretch;min-height:500px;margin-right:calc(var(--gutter)*-1);border-radius:3px 0 0 3px;overflow:hidden;background:var(--navy)}.hero-image{width:100%;height:100%;min-height:500px;object-fit:cover;object-position:52% center;position:absolute;inset:0}.hero-image-caption{position:absolute;inset:auto 0 0;padding:35px 28px 22px;background:linear-gradient(transparent,rgba(var(--navy-rgb),.84));display:flex;align-items:center;justify-content:space-between;gap:18px;color:white;font-size:0.75rem}.hero-image-caption span:last-child{font-size:0.625rem;letter-spacing:1px;text-transform:uppercase;text-align:right;max-width:130px}
.intro-strip{background:white;border-bottom:1px solid var(--line)}.intro-inner{display:grid;grid-template-columns:1.35fr 1fr 1.05fr 1fr;align-items:center;gap:25px;padding-block:30px;font-size:0.8125rem;color:var(--steel)}.intro-inner p{color:var(--navy);font-size:0.9375rem;line-height:1.6}.intro-inner strong{font-weight:700}.intro-inner>span,.intro-inner>a{border-left:1px solid var(--line);padding-left:24px;display:flex;align-items:center;gap:11px}.intro-inner svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:var(--accent-ink);stroke-width:1.5}.intro-inner>a>span{margin-left:auto}.intro-inner>a:hover{color:var(--accent-ink)}
.section{padding-block:104px}h2{font-size:clamp(2.0625rem,3.3vw,3.0625rem);font-weight:650;line-height:1.15;letter-spacing:-1.8px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end}.section-heading>p{max-width:425px;color:var(--steel);font-size:1rem;line-height:1.9}.service-directory{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:55px}.service-group-heading{display:flex;gap:20px;align-items:flex-start;padding-bottom:26px;border-bottom:1px solid var(--ink);min-height:96px}.group-number{font-size:0.8125rem;color:var(--accent-ink);font-weight:700;border:1px solid #BBCBDB;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-top:2px;flex-shrink:0}.service-group h3{font-size:1.3125rem;letter-spacing:-.55px;line-height:1.4;font-weight:700}.service-group-heading p{font-size:0.875rem;color:var(--steel);margin-top:5px}.service-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:23px 0;min-height:105px;transition:padding .2s,background .2s}.service-row h4{font-size:1.0625rem;font-weight:650;letter-spacing:-.25px;line-height:1.5}.service-row p{font-size:0.8125rem;color:var(--steel);margin-top:4px}.service-arrow{font-size:1.4375rem;line-height:1;width:35px;height:35px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--steel);transition:background .2s,color .2s}.service-row:hover{padding-inline:14px;background:white}.service-row:hover .service-arrow{background:var(--copper);color:var(--navy)}.service-help{display:flex;gap:24px;align-items:center;border:1px solid var(--line);margin-top:35px;padding:21px 26px;font-size:0.8125rem}.service-help>span{font-weight:700;flex-shrink:0}.service-help p{color:var(--steel)}.service-help a{margin-left:auto;flex-shrink:0}.dark-link{color:var(--ink)}
.approach{background:var(--mist)}.approach-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(50px,8vw,135px)}.approach-intro>p:not(.eyebrow){margin-top:26px;color:var(--steel);max-width:440px;line-height:1.85}.approach-photo{position:relative;margin-top:40px;overflow:hidden;border-radius:3px;aspect-ratio:1.72;background:#8A9094}.approach-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.approach-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 23px 20px;color:white;font-size:0.75rem;background:linear-gradient(transparent,rgba(var(--navy-rgb),.85))}.process-steps{list-style:none;padding:0;margin:0}.process-steps li{display:flex;gap:25px;padding:26px 0;border-top:1px solid #B8C5D2}.process-steps li:first-child{padding-top:3px;border-top:0}.process-steps li:last-child{padding-bottom:0}.step-number{color:#8C502E;font-size:0.8125rem;font-weight:700;min-width:25px;line-height:2.6}.process-steps h3{font-size:1.4375rem;line-height:1.4;font-weight:650;letter-spacing:-.55px}.process-steps p{font-size:0.9375rem;line-height:1.85;color:var(--steel);margin-top:10px}.step-result{display:block;color:var(--ink);font-size:0.75rem;font-weight:650;margin-top:14px}
.installation-section{background:var(--navy);color:white;overflow:hidden}.installation-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.installation-copy{padding-block:100px}.installation-copy h2{font-size:clamp(2.5rem,4.3vw,4rem);line-height:1.08;letter-spacing:-2.2px}.installation-lead{font-size:1.1875rem;line-height:1.7;margin-top:30px;max-width:425px}.installation-copy>p:not(.eyebrow):not(.installation-lead){font-size:0.9375rem;color:#c4cdcb;margin-top:17px;line-height:1.85;max-width:440px}.installation-list{list-style:none;padding:0;margin:28px 0 34px}.installation-list li{display:flex;gap:18px;align-items:baseline;padding:12px 0;border-top:1px solid #ffffff26;font-size:0.8125rem;line-height:1.6}.installation-list li:last-child{border-bottom:1px solid #ffffff26}.installation-list span{font-size:0.6875rem;color:#C69874;flex-shrink:0}.installation-image{position:relative;margin-right:calc(var(--gutter)*-1);min-height:650px;overflow:hidden}.installation-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% center}.installation-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(var(--navy-rgb),.9));padding:130px 40px 45px}.installation-image figcaption span{display:block;font-size:0.875rem}.installation-image figcaption strong{display:block;font-size:1.875rem;font-weight:500;letter-spacing:-.7px;margin-top:5px;line-height:1.3}
.standards{background:white}.standards-top{display:grid;grid-template-columns:1fr 1.7fr;gap:50px}.standards-top .eyebrow{padding-top:10px;align-self:start}.standards-top h2{font-size:clamp(2rem,3vw,2.6875rem)}.standards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px}.standards-grid article{border-top:1px solid var(--line);padding-top:25px}.standard-mark{font-size:0.6875rem;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:var(--steel)}.standards-grid h3{font-size:1.375rem;font-weight:650;line-height:1.45;letter-spacing:-.5px;margin-top:18px}.standards-grid p{font-size:0.9375rem;line-height:1.85;color:var(--steel);margin-top:14px;max-width:340px}
.about{background:#EDF1F5}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,7vw,110px);align-items:center}.about-film{position:relative;min-height:565px;align-self:stretch;overflow:hidden;border-radius:3px;background:var(--navy);color:white}.about-film>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:47% center}.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--navy-rgb),.55),transparent 35%,rgba(var(--navy-rgb),.92))}.film-top{position:absolute;top:30px;left:32px;right:32px;display:flex;gap:20px;justify-content:space-between;align-items:center}.film-overline{font-size:0.6875rem;letter-spacing:1.9px;text-transform:uppercase;font-weight:700}.film-top .film-status{max-width:155px;text-align:right;font-size:0.6875rem;line-height:1.6;border:1px solid #AAB2BA;padding:6px 10px;border-radius:2px}.film-bottom{position:absolute;bottom:37px;left:35px;right:35px}.film-bottom>img{width:123px;height:auto;margin-bottom:24px}.film-bottom p{font-size:2.1875rem;line-height:1.18;letter-spacing:-1px;font-weight:550}.film-bottom .button{margin-top:23px}.about-copy>p:not(.eyebrow){color:var(--steel);font-size:0.9375rem;line-height:1.9;margin-top:23px}.about-copy h2{font-size:clamp(1.9375rem,3vw,2.75rem)}.owner-name{display:flex;gap:16px;align-items:center;margin-top:29px}.owner-initials{width:48px;height:48px;background:#DEE7EF;border:1px solid #CAD6E2;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:0.875rem;font-weight:600;color:var(--steel)}.owner-name strong{display:block;font-size:0.9375rem;font-weight:650}.owner-name div>span{display:block;font-size:0.75rem;color:var(--steel);margin-top:3px}.license-note{display:flex;flex-direction:column;gap:5px;border-top:1px solid #CBD5DF;margin-top:30px;padding-top:24px}.license-note>span{font-size:0.6875rem;letter-spacing:1px;text-transform:uppercase;color:var(--steel)}.license-note strong{font-size:0.875rem;font-weight:650}.license-note a{font-size:0.75rem;color:var(--steel);display:inline-flex;align-items:center;gap:20px;min-height:32px}.license-note a:hover{color:var(--accent-ink)}
.service-areas{border-bottom:1px solid var(--line)}.area-grid{display:grid;grid-template-columns:1fr 1.22fr;gap:90px;align-items:center}.area-grid>div>p:not(.eyebrow){font-size:0.9375rem;color:var(--steel);line-height:1.85;margin-top:27px;max-width:385px}.area-grid .text-link{margin-top:19px}.cities{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.city-link{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:19px 0;font-size:1rem;font-weight:600;min-height:70px}.city-link:hover{color:var(--accent-ink)}.city-link small{font-size:0.625rem;text-transform:uppercase;letter-spacing:.5px;color:var(--steel);font-weight:500}.city-arrow{margin-left:auto;color:var(--steel);font-size:1.25rem}.cities .area-note{grid-column:1/-1;max-width:none!important;font-size:0.6875rem!important;margin-top:22px!important;line-height:1.7!important}
.faq{background:white}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:95px}.faq-grid>div>p:not(.eyebrow){color:var(--steel);margin-top:27px;font-size:0.9375rem;line-height:1.9}.faq-grid .text-link{margin-top:16px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:25px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:30px;cursor:pointer;font-size:1rem;font-weight:600;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{width:16px;height:16px;position:relative;flex-shrink:0;margin-right:4px}.faq-list summary>span:before,.faq-list summary>span:after{content:'';position:absolute;background:var(--steel);width:14px;height:1px;left:1px;top:7px}.faq-list summary>span:after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] summary>span:after{transform:rotate(0)}.faq-list details[open] summary{color:var(--accent-ink)}.faq-list details>div{padding:0 35px 25px 0;font-size:0.875rem;color:var(--steel);line-height:1.85}
.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1.13fr;gap:90px;align-items:start}.contact-copy{padding-top:12px}.contact h2{font-size:clamp(2.4375rem,4vw,3.6875rem);line-height:1.15;letter-spacing:-2px}.contact h2 em{font-style:normal;color:#DEC8B7}.contact-copy>p:not(.eyebrow){margin-top:26px;max-width:430px;color:#c4cdcb;font-size:1rem;line-height:1.85}.contact-expectation{margin-top:45px;border-top:1px solid #ffffff26;padding-top:25px;max-width:370px}.contact-expectation>span{font-size:0.6875rem;letter-spacing:1.7px;text-transform:uppercase;color:#c4cdcb;font-weight:700}.contact-expectation ol{padding:0;list-style:none;counter-reset:contact;margin:22px 0 0}.contact-expectation li{counter-increment:contact;display:flex;gap:17px;align-items:baseline;margin-top:13px;font-size:0.8125rem;color:#D3DFEA}.contact-expectation li:before{content:'0' counter(contact);color:#C69874;font-size:0.6875rem}.contact-phone{display:block;font-size:1.625rem;margin-top:35px}.contact-form-wrap{padding:37px;background:white;color:var(--ink);border-radius:4px}.preview-note{font-size:0.6875rem;color:var(--steel);border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.intent-choice{border:0;padding:0;margin:0 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.intent-choice legend{font-size:0.8125rem;font-weight:650;margin-bottom:13px;padding:0}.intent-choice label{position:relative;cursor:pointer}.intent-choice input{position:absolute;opacity:0;width:1px;height:1px}.intent-choice span{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #BCC8D5;border-radius:3px;min-height:46px;padding:10px;font-size:0.75rem;font-weight:650;transition:border-color .2s,background .2s}.intent-choice input:checked+span{border-color:var(--accent-ink);background:#F4EADF;color:#8C502E}.intent-choice input:checked+span:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-ink)}.intent-choice input:focus-visible+span{outline:3px solid var(--accent-ink);outline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;min-width:0;gap:8px}.form-field.full{grid-column:1/-1}.form-field label{font-size:0.75rem;font-weight:650}.optional{font-weight:400;color:var(--steel)}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);border-radius:2px;padding:11px 12px;width:100%;min-height:46px;background:#FCFDFE;color:var(--ink);font-size:0.875rem;line-height:1.6}.form-field textarea{resize:vertical;min-height:110px}.form-field select{padding-right:25px}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--steel)}.form-field input[aria-invalid=true]{border-color:#A82727}.form-field textarea::placeholder{color:var(--steel);opacity:1;font-size:0.8125rem}.field-error{display:block;color:#A82727;font-size:0.6875rem;line-height:1.6}.field-error:empty{display:none}.consent-label{display:flex;gap:10px;align-items:flex-start;margin-top:21px;font-size:0.6875rem;color:var(--steel);line-height:1.8}.consent-label input{margin:3px 0 0;width:16px;height:16px;accent-color:var(--accent-ink);flex-shrink:0}.form-submit{width:100%;justify-content:space-between;margin-top:23px}.form-note{margin-top:16px;text-align:right;font-size:0.6875rem;color:var(--steel);line-height:1.85}.form-note a{display:inline-block;text-decoration:underline;text-underline-offset:3px}.form-status{font-size:0.75rem;line-height:1.7;margin-top:13px}.form-status:empty{display:none}.request-summary h3{font-size:1.8125rem;line-height:1.3;letter-spacing:-.75px}.preview-disclosure{font-size:0.875rem;color:var(--steel);margin-top:16px}.request-summary dl{margin:24px 0}.request-summary dl div{border-top:1px solid var(--line);padding-block:12px}.request-summary dt{font-size:0.6875rem;color:var(--steel);text-transform:uppercase;letter-spacing:1px}.request-summary dd{margin:5px 0 0;font-size:0.875rem;overflow-wrap:anywhere;white-space:pre-wrap}
.site-footer{padding:58px 0 25px;background:var(--navy);color:#c4cdcb;border-top:1px solid #ffffff26;font-size:0.75rem}.footer-main{display:grid;grid-template-columns:1.6fr .8fr 1.1fr 1fr;gap:45px;padding-bottom:43px}.footer-brand img{width:151px;height:auto}.footer-brand p{font-size:0.8125rem;color:#DFE7EF;margin-top:22px}.footer-brand>span{display:block;margin-top:5px;font-size:0.75rem}.site-footer h2{font-size:0.75rem;letter-spacing:0;font-weight:650;line-height:1.5;color:white;margin-bottom:16px}.footer-column{display:flex;flex-direction:column;align-items:flex-start}.footer-column a{padding-block:5px;font-size:0.75rem}.site-footer a:hover{color:white}.footer-cities{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-content:start}.footer-cities h2{grid-column:1/-1}.footer-license p{line-height:1.95;font-size:0.75rem}.footer-license>a{font-size:0.6875rem;display:inline-flex;gap:14px;margin-top:16px;min-height:35px;align-items:center}.footer-legal{display:flex;justify-content:space-between;gap:40px;border-top:1px solid #ffffff26;padding-top:25px;font-size:0.625rem}.footer-legal>div{display:flex;gap:25px;flex-shrink:0}.photo-note{font-size:0.625rem;color:#b8c0c0;margin-top:14px}.mobile-action-bar{display:none}
 dialog{border:1px solid var(--line);padding:0;max-width:calc(100vw - 48px);width:870px;max-height:calc(100dvh - 60px);border-radius:5px;color:var(--ink);background:var(--paper);box-shadow:0 30px 120px #0006;overscroll-behavior:contain}dialog::backdrop{background:rgba(var(--navy-rgb),.76);backdrop-filter:blur(5px)}.dialog-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--navy);color:white;border-bottom:1px solid #ffffff26}.dialog-top>span{font-size:0.6875rem;letter-spacing:1.2px;text-transform:uppercase}.dialog-close{border:1px solid var(--steel);border-radius:3px;background:transparent;color:white;width:40px;height:40px;font-size:1.6875rem;font-weight:400;line-height:1;display:grid;place-items:center}.dialog-close:hover{background:#ffffff26}.service-dialog-body{padding:45px}.service-dialog h2{font-size:2.3125rem;line-height:1.2;letter-spacing:-1.1px;max-width:600px}.service-intro{font-size:1rem;line-height:1.9;color:var(--steel);margin-top:22px}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:34px}.service-detail-grid h3{font-size:0.9375rem;line-height:1.6;font-weight:700}.service-detail-grid ul{list-style:none;padding:0;margin:15px 0 0}.service-detail-grid li{border-top:1px solid var(--line);padding:12px 0;font-size:0.8125rem;color:var(--steel);line-height:1.8}.service-film{background:var(--navy);color:white;display:flex;gap:30px;align-items:center;padding:27px;margin-top:25px;border-radius:3px}.film-index{border:1px solid #ffffff26;border-radius:50%;width:88px;height:88px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:0.625rem;letter-spacing:1px;padding:14px;line-height:1.7}.service-film h3{font-size:1.1875rem;line-height:1.5;font-weight:550}.service-film .film-status{font-size:0.6875rem;color:#c4cdcb;margin-top:7px}.service-film .button{margin-top:14px}.service-contact{margin-top:30px}.detail-note{font-size:0.6875rem;color:var(--steel);margin-top:14px}.legal-dialog{width:700px}.legal-body{padding:42px}.legal-body h2{font-size:2.125rem}.legal-body>p:not(.eyebrow){font-size:0.875rem;color:var(--steel);line-height:1.9;margin-top:23px}.credits-list{list-style:none;margin:25px 0 0;padding:0;font-size:0.8125rem;line-height:1.8}.credits-list li{padding:15px 0;border-top:1px solid var(--line)}.credits-list a{text-decoration:underline;text-underline-offset:4px}.video-dialog{width:1040px;background:var(--navy)}#video-player-content video,#video-player-content iframe{display:block;width:100%;aspect-ratio:16/9;border:0}#video-player-content>a{display:block;padding:20px 30px;color:white}.noscript-message{background:var(--mist);padding:20px;font-size:0.875rem;text-align:center}
@media(min-width:100.0em){.hero-image-frame,.installation-image{margin-right:0}}
@media(max-width:71.875em){.header-inner{gap:24px}.header-inner nav{gap:22px;font-size:0.8125rem}.hero-grid{gap:32px}h1{letter-spacing:-2.8px}.hero-actions{gap:20px}.hero-actions .button{padding-inline:20px}.hero-actions .text-link{font-size:0.8125rem}.intro-inner{gap:17px;font-size:0.75rem}.intro-inner>span,.intro-inner>a{padding-left:17px;gap:8px}.intro-inner p{font-size:0.8125rem}.section-heading{gap:60px}.service-directory{gap:40px}.service-group h3{font-size:1.1875rem}.service-help{flex-wrap:wrap;gap:10px 20px}.service-help a{margin-left:0}.approach-grid,.about-grid{gap:50px}.installation-grid{gap:45px}.installation-copy{padding-block:85px}.area-grid,.faq-grid{gap:60px}.contact-grid{gap:50px}.contact-form-wrap{padding:29px}.footer-main{gap:30px;grid-template-columns:1.4fr .8fr 1.2fr 1fr}.footer-cities{grid-template-columns:1fr}.footer-legal{gap:25px}}
@media(max-width:59.375em){.desktop-nav{display:none!important}.menu-toggle{display:flex}.header-cta{margin-left:auto}.hero-grid{min-height:620px;grid-template-columns:1.12fr 1fr;padding-block:50px}h1{font-size:3.25rem;letter-spacing:-2.6px}.hero-description{font-size:0.9375rem}.hero .eyebrow{font-size:0.6875rem;letter-spacing:1.1px}.hero-image-frame,.hero-image{min-height:490px}.hero-image-caption{padding:30px 20px 20px;flex-direction:column;align-items:start;gap:3px}.hero-image-caption span:last-child{text-align:left;max-width:none;font-size:0.5625rem}.intro-inner{grid-template-columns:1.25fr 1fr;gap:20px 35px;padding-block:27px}.intro-inner>span,.intro-inner>a{border-left:0;padding-left:0;font-size:0.8125rem}.intro-inner p{font-size:0.9375rem;grid-row:1/4}.intro-inner>a{grid-column:2}.intro-inner>a>span{margin-left:0}.section{padding-block:85px}.section-heading{gap:40px}.service-directory{gap:32px}.service-group-heading{gap:12px;min-height:117px}.service-group h3{font-size:1.125rem}.service-row h4{font-size:0.9375rem}.service-row p{font-size:0.75rem}.service-help p{width:100%;order:2}.service-help a{margin-left:auto}.approach-grid{gap:40px;grid-template-columns:1fr 1.12fr}.process-steps li{gap:17px}.process-steps h3{font-size:1.3125rem}.process-steps p{font-size:0.875rem}.approach-photo{aspect-ratio:.95}.approach-photo img{object-position:65% center}.installation-grid{gap:40px}.installation-copy{padding-block:70px}.installation-copy h2{font-size:2.9375rem}.installation-lead{font-size:1.0625rem}.installation-copy>.button{padding-inline:18px;gap:18px;font-size:0.75rem}.installation-image figcaption{padding:100px 27px 35px}.installation-image figcaption strong{font-size:1.5625rem}.standards-grid{gap:28px}.standards-grid h3{font-size:1.1875rem}.standards-grid p{font-size:0.875rem}.about-grid{gap:40px}.about-film{min-height:600px}.film-top{left:24px;right:24px;flex-wrap:wrap;gap:12px}.film-top .film-status{max-width:none;text-align:left}.film-bottom{left:26px;right:26px}.film-bottom p{font-size:1.875rem}.area-grid,.faq-grid{gap:42px}.area-grid{grid-template-columns:1fr 1.1fr}.cities{column-gap:22px}.city-link{font-size:0.875rem;flex-wrap:wrap;gap:2px 9px;min-height:78px}.city-link small{order:3;flex-basis:100%;margin-top:-13px}.faq-grid{grid-template-columns:1fr 1.3fr}.faq-list summary{font-size:0.875rem}.contact-grid{gap:35px;grid-template-columns:1fr 1.2fr}.contact h2{font-size:2.4375rem}.contact-form-wrap{padding:25px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.footer-main{grid-template-columns:1.3fr 1fr 1fr;row-gap:35px}.footer-license{grid-column:1}.footer-legal{flex-direction:column;gap:15px}}
@media(max-width:47.5em){html{scroll-padding-top:95px}.utility-inner{min-height:34px;font-size:0.6875rem}.utility a{display:none}.header-inner{height:80px;gap:15px}.brand img{width:125px}.header-cta{min-height:42px;gap:14px;font-size:0.75rem;padding:10px 14px}.hero-grid{grid-template-columns:1fr;padding-block:46px 0;gap:37px}.hero-image-frame{margin-inline:calc(var(--gutter)*-1);min-height:350px;border-radius:0}.hero-image{min-height:350px;object-position:center 60%}.hero-image-caption{flex-direction:row;align-items:center;padding:35px 24px 20px;font-size:0.6875rem}.hero-image-caption span:last-child{font-size:0.5625rem;max-width:100px;text-align:right}.hero-description{font-size:1rem;max-width:500px;margin-top:24px}.hero-note{margin-top:29px}.hero-actions{gap:24px;margin-top:27px}.hero-actions .text-link{font-size:0.875rem}.hero .eyebrow,.eyebrow{font-size:0.6875rem;letter-spacing:1.3px}.eyebrow{margin-bottom:21px}h1{font-size:clamp(2.75rem,8.5vw,4.0625rem);letter-spacing:-2.3px}.hero .eyebrow>span{width:20px}.intro-inner{grid-template-columns:1fr 1fr;gap:18px;padding-block:28px}.intro-inner p{grid-row:auto;grid-column:1/-1;font-size:1rem}.intro-inner>span,.intro-inner>a{font-size:0.75rem}.intro-inner>a{grid-column:1/-1}.intro-inner svg{width:18px;height:18px}.section{padding-block:67px}.section-heading{grid-template-columns:1fr;gap:24px}.section-heading>p{max-width:100%;font-size:0.9375rem;line-height:1.85}h2{font-size:2.25rem;letter-spacing:-1.2px}.service-directory{grid-template-columns:1fr;gap:40px;margin-top:37px}.service-group-heading{min-height:0;padding-bottom:20px;gap:17px}.service-group h3{font-size:1.25rem}.service-group-heading p{font-size:0.8125rem}.service-row{padding:21px 0;min-height:93px}.service-row h4{font-size:1rem}.service-row p{font-size:0.75rem}.service-help{padding:23px;margin-top:30px;display:block;font-size:0.8125rem}.service-help p{margin-top:6px;line-height:1.8}.service-help a{margin-top:12px;min-height:34px}.approach-grid{grid-template-columns:1fr;gap:39px}.approach-intro>p:not(.eyebrow){font-size:0.9375rem;max-width:100%;margin-top:24px}.approach-photo{aspect-ratio:1.55;margin-top:29px}.approach-photo img{object-position:center}.process-steps li{padding-block:25px;gap:23px}.process-steps li:first-child{padding-top:0}.process-steps h3{font-size:1.375rem}.process-steps p{font-size:0.875rem}.step-result{font-size:0.6875rem}.installation-grid{grid-template-columns:1fr;gap:0}.installation-copy{padding-block:65px 45px}.installation-copy h2{font-size:2.875rem}.installation-lead{font-size:1.125rem;max-width:100%}.installation-copy>p:not(.eyebrow):not(.installation-lead){max-width:100%}.installation-list{margin-block:25px 29px}.installation-list li{font-size:0.75rem;gap:17px}.installation-copy>.button{font-size:0.875rem;gap:26px;padding-inline:24px}.installation-image{margin-inline:calc(var(--gutter)*-1);min-height:430px}.installation-image>img{object-position:center 55%}.installation-image figcaption{padding:100px 25px 28px}.installation-image figcaption strong{font-size:1.875rem}.standards-top{grid-template-columns:1fr;gap:0}.standards-top .eyebrow{padding-top:0}.standards-top h2{font-size:2.0625rem}.standards-grid{grid-template-columns:1fr;gap:28px;margin-top:36px}.standards-grid article{padding-top:20px}.standards-grid h3{font-size:1.375rem;margin-top:13px}.standards-grid p{max-width:100%;margin-top:11px;font-size:0.9375rem}.about-grid{grid-template-columns:1fr;gap:37px}.about-copy{grid-row:1}.about-copy h2{font-size:2.1875rem}.about-copy>p:not(.eyebrow){font-size:0.9375rem}.about-film{min-height:450px}.film-top{top:24px;flex-wrap:nowrap}.film-top .film-status{max-width:155px;text-align:right;font-size:0.625rem}.film-bottom p{font-size:2.25rem}.film-bottom>img{width:112px}.area-grid,.faq-grid{grid-template-columns:1fr;gap:29px}.area-grid>div>p:not(.eyebrow){max-width:100%;margin-top:22px}.area-grid .text-link{margin-top:13px}.cities{column-gap:25px}.city-link{font-size:0.9375rem;min-height:72px}.city-link small{font-size:0.5625rem}.cities .area-note{font-size:0.625rem!important;line-height:1.8!important}.faq-grid>div>p:not(.eyebrow){margin-top:20px;font-size:0.875rem}.faq-grid .text-link{margin-top:10px}.faq-list summary{font-size:0.9375rem;padding-block:22px;gap:20px}.faq-list details>div{padding-right:15px;font-size:0.875rem}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-copy{padding-top:0}.contact h2{font-size:2.6875rem;letter-spacing:-1.7px}.contact-copy>p:not(.eyebrow){font-size:0.9375rem;margin-top:22px}.contact-expectation{margin-top:28px;max-width:100%;padding-top:22px}.contact-expectation ol{margin-top:15px}.contact-expectation li{font-size:0.8125rem}.contact-form-wrap{padding:26px}.form-grid{grid-template-columns:1fr 1fr;gap:17px 14px}.form-field.full{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{font-size:1rem}.site-footer{padding-block:40px 93px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 30px}.footer-brand{grid-column:1/-1}.footer-cities{grid-template-columns:1fr 1fr;grid-column:1/-1;grid-row:3}.footer-license{grid-column:2;grid-row:2}.footer-legal{font-size:0.625rem;gap:18px}.footer-legal>div{gap:26px}.photo-note{margin-top:20px;line-height:1.8}.mobile-action-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--navy);border-top:1px solid #ffffff26;padding-bottom:env(safe-area-inset-bottom)}.mobile-action-bar a{min-height:57px;display:flex;gap:22px;align-items:center;justify-content:center;background:var(--copper);color:var(--navy);font-size:0.75rem;font-weight:650}.mobile-action-bar .mobile-secondary{background:var(--navy);color:#fff}.mobile-action-bar span{font-size:1.0625rem;font-weight:400}.mobile-action-bar.is-hidden{visibility:hidden;pointer-events:none}.dialog-top{padding:13px 20px}.dialog-top>span{font-size:0.625rem}.service-dialog-body{padding:29px 24px}.service-dialog h2{font-size:1.8125rem;letter-spacing:-.7px}.service-intro{font-size:0.875rem}.service-detail-grid{grid-template-columns:1fr;gap:25px;margin-top:28px}.service-detail-grid ul{margin-top:12px}.service-film{gap:20px;padding:22px;align-items:flex-start}.film-index{display:none}.service-film h3{font-size:1.125rem}.service-contact{font-size:0.8125rem;gap:20px;padding-inline:19px}.legal-body{padding:30px 24px}.legal-body h2{font-size:1.8125rem}.credits-list{font-size:0.75rem}dialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px)}}
@media(max-width:26.875em){:root{--gutter:22px}.header-inner{gap:10px}.brand img{width:112px}.header-cta{font-size:0.6875rem;padding-inline:11px;gap:10px}.menu-toggle{width:40px;height:40px;flex-shrink:0}.hero .eyebrow{font-size:0.625rem;letter-spacing:.8px;gap:10px}h1{font-size:2.6875rem;letter-spacing:-2px}.hero-actions{gap:16px}.hero-actions .button{font-size:0.75rem;gap:22px;padding-inline:18px;min-height:52px}.hero-actions .text-link{font-size:0.75rem;gap:10px}.hero-description{font-size:0.9375rem}.hero-image-frame,.hero-image{min-height:310px}.hero-image-caption{font-size:0.625rem}.hero-note{font-size:0.75rem}.intro-inner{column-gap:15px}.intro-inner>span,.intro-inner>a{font-size:0.6875rem;gap:7px}.intro-inner svg{width:16px;height:16px}.service-group h3{font-size:1.125rem}.service-group-heading{gap:13px}.service-row h4{font-size:0.9375rem}.service-row p{font-size:0.6875rem}h2{font-size:2.0625rem}.contact h2{font-size:2.375rem}.contact-form-wrap{padding:23px 20px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.form-field label{font-size:0.8125rem}.intent-choice span{font-size:0.6875rem;padding-inline:8px}.installation-copy h2{font-size:2.6875rem}.installation-image{min-height:390px}.about-copy h2{font-size:2rem}.film-top{left:23px;right:23px}.film-top .film-status{font-size:0.5625rem;max-width:130px}.film-bottom{left:25px;right:25px}.film-bottom p{font-size:2.0625rem}.about-film{min-height:420px}.footer-main{gap:30px 20px}.footer-license p{font-size:0.6875rem}.footer-license>a{font-size:0.625rem;gap:8px}.service-contact{font-size:0.75rem;gap:14px}.city-link{font-size:0.875rem}}
@media(max-width:22.1875em){:root{--gutter:18px}.header-cta>span{display:none}.header-cta{font-size:0.625rem;min-height:40px}.brand img{width:105px}h1{font-size:2.3125rem;letter-spacing:-1.8px}.hero .eyebrow{font-size:0.5625rem;letter-spacing:.7px}.hero-actions{gap:14px}.hero-actions .text-link{font-size:0.6875rem}.hero-actions .button{gap:16px;font-size:0.6875rem;padding-inline:14px}.service-group h3{font-size:1.0625rem}.service-row h4{font-size:0.875rem}.intro-inner{grid-template-columns:1fr}.intro-inner>span,.intro-inner>a{font-size:0.75rem}.contact h2{font-size:2.125rem}.contact-form-wrap{padding:21px 17px}.intent-choice span{font-size:0.625rem}.installation-copy>.button{font-size:0.75rem;padding-inline:19px}.mobile-action-bar a{font-size:0.6875rem;gap:15px}.service-contact{font-size:0.6875rem;gap:12px;padding-inline:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.form-fields{border:0;padding:0;margin:0;min-width:0}
/* Shared page system and readability corrections from the homepage audit. */
.header-inner{gap:28px}.header-inner nav{gap:25px}.desktop-nav a[aria-current=page]{color:#e5e8e6}.desktop-nav a[aria-current=page]:after{width:100%;background:#D7A882}.mobile-menu{max-height:calc(100dvh - 100px);overflow-y:auto}.footer-main{grid-template-columns:1.25fr .7fr 1.25fr 1fr 1.1fr;gap:30px}.footer-cities{grid-template-columns:1fr}.site-footer h2{font-size:0.875rem}.footer-column a,.footer-license p,.footer-license>a,.footer-brand>span{font-size:0.75rem}.footer-column a{padding-block:6px}.footer-legal,.photo-note{font-size:0.75rem}.footer-brand p{font-size:0.875rem}.footer-license>a{display:flex;margin-top:8px;min-height:30px}.footer-brand [data-phone-link]{display:block;margin-top:12px}.hero-image-caption span:last-child,.film-overline,.film-top .film-status,.step-result,.standard-mark,.license-note>span,.installation-list span,.contact-expectation>span,.contact-expectation li:before,.city-link small{font-size:0.75rem}.hero-description,.section-heading>p,.approach-intro>p:not(.eyebrow),.process-steps p,.installation-copy>p:not(.eyebrow):not(.installation-lead),.standards-grid p,.about-copy>p:not(.eyebrow),.area-grid>div>p:not(.eyebrow),.faq-grid>div>p:not(.eyebrow),.faq-list details>div,.contact-copy>p:not(.eyebrow){font-size:1rem}.service-row p{font-size:0.875rem}.service-group-heading p,.text-link,.button,.header-inner nav,.service-help,.service-help a,.installation-list li,.contact-expectation li,.faq-list summary,.form-field label,.intent-choice legend,.intent-choice span,.form-field input,.form-field select,.form-field textarea,.mobile-action-bar a{font-size:0.875rem}.form-field input,.form-field select,.form-field textarea{font-size:1rem}.preview-note,.form-note,.consent-label,.field-error,.license-note a,.owner-name div>span,.cities .area-note{font-size:0.75rem!important}.service-group h3{font-size:1.3125rem}.service-group-heading{min-height:110px}.service-help{flex-wrap:wrap}.hero-actions{column-gap:24px}.about-copy>.text-link{margin-top:22px}.mobile-action-bar a{min-height:60px}.button-small{min-height:46px}.form-note a{min-height:30px;display:inline-flex;align-items:center}.scope-note{padding:26px;background:var(--paper);border-left:2px solid var(--copper)}
.white-section{background:white}.mist-section{background:var(--mist)}.page-hero{background:var(--navy);color:white;padding:0 0 74px}.page-hero .container{overflow:visible}.breadcrumbs{padding-block:28px 42px;font-size:0.75rem;color:#c4cdcb}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.breadcrumbs li{display:flex;align-items:center;gap:12px}.breadcrumbs li:not(:first-child):before{content:'/';color:#8e9898}.breadcrumbs a{display:inline-flex;min-height:28px;align-items:center}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs [aria-current]{color:#e5e8e6}.page-hero-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:80px;align-items:center}.page-hero-grid.single{grid-template-columns:1fr;max-width:1000px}.page-hero h1{font-size:clamp(2.75rem,4.5vw,4.1875rem);line-height:1.09;letter-spacing:-2.7px;max-width:780px;overflow-wrap:normal}.page-hero h1 em{color:#DEC8B7;font-style:normal}.page-lead{color:#c4cdcb;font-size:1.0625rem;line-height:1.9;margin-top:26px;max-width:630px}.page-hero .button{margin-top:30px}.page-hero-photo{position:relative;align-self:stretch;min-height:370px;overflow:hidden;border-radius:3px}.page-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.page-hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;font-size:0.75rem;line-height:1.7;padding:55px 25px 22px;background:linear-gradient(transparent,rgba(var(--navy-rgb),0.910));color:white}.light-hero{background:var(--paper);color:var(--ink);padding-bottom:62px;border-bottom:1px solid var(--line)}.light-hero h1 em{color:var(--steel)}.light-hero .page-lead{color:var(--steel)}.light-hero .breadcrumbs,.light-hero .breadcrumbs [aria-current]{color:var(--steel)}.credential-strip{background:white;border-bottom:1px solid var(--line)}.credential-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:79px;font-size:0.75rem;color:var(--steel)}.credential-strip .text-link{font-size:0.75rem;min-height:40px}.route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:40px}.route-card{border-top:1px solid var(--line);background:white;display:flex;flex-direction:column;padding:27px 25px;min-height:233px;transition:border-color .2s,background .2s}.white-section .route-card{background:var(--paper)}.route-card:hover{background:#F1E7DD;border-color:var(--accent-ink)}.card-kicker{font-size:0.75rem;color:var(--steel);letter-spacing:1px;line-height:1.7;text-transform:uppercase;font-weight:600;display:block}.route-card h3{font-size:1.375rem;font-weight:650;line-height:1.35;letter-spacing:-.55px;margin-top:20px}.route-card p{font-size:0.9375rem;line-height:1.8;color:var(--steel);margin-top:12px}.card-end{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:0.8125rem;font-weight:650;color:var(--ink);padding-top:25px;margin-top:auto}.card-end>span{font-size:1.4375rem;font-weight:400;line-height:1}.page-cta{background:var(--navy);color:white;padding-block:74px}.page-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:75px}.page-cta h2{max-width:800px;font-size:clamp(2rem,3.3vw,3rem)}.page-cta p:not(.eyebrow){max-width:650px;font-size:1rem;color:#c4cdcb;line-height:1.85;margin-top:20px}.page-cta .button{flex-shrink:0;min-width:205px}.page-cta .eyebrow{margin-bottom:18px}.service-content-grid{display:grid;grid-template-columns:280px 1fr;gap:100px;align-items:start}.page-contents{position:sticky;top:140px;align-self:start}.page-contents>.eyebrow{font-size:0.75rem}.page-contents nav{border-top:1px solid var(--line)}.page-contents nav a{display:block;border-bottom:1px solid var(--line);font-size:0.8125rem;line-height:1.7;padding:13px 0;color:var(--steel)}.page-contents nav a:hover{color:var(--accent-ink)}.side-note{border-left:2px solid var(--copper);padding-left:20px;margin-top:35px}.side-note strong{font-size:0.875rem;font-weight:650}.side-note p{font-size:0.8125rem;line-height:1.8;color:var(--steel);margin-top:9px}.side-note .text-link{font-size:0.75rem;margin-top:10px}.service-article{min-width:0;max-width:845px}.service-article>h2{font-size:2.375rem;line-height:1.2;letter-spacing:-1px}.article-opening{font-size:1.0625rem;color:var(--steel);line-height:1.9;margin-top:24px}.article-section{margin-top:38px;scroll-margin-top:125px}.article-section h3,.article-section h2{font-size:1.5625rem;font-weight:650;line-height:1.4;letter-spacing:-.5px;margin-bottom:16px}.article-section p,.article-section li,.prose p{font-size:1rem;color:var(--steel);line-height:1.95}.article-section p+p,.prose p+p{margin-top:16px}.article-section ul{margin:18px 0;padding-left:22px}.article-section li{padding-left:7px;margin-top:10px}.article-section a,.prose a{color:#8C502E;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.page-film{padding:32px;margin-top:42px}.page-film .card-kicker{color:#c4cdcb;font-size:0.75rem;margin-bottom:12px}.page-film .film-status{font-size:0.8125rem}.page-film .film-index{width:92px;height:92px;font-size:0.75rem}.page-film h3{font-size:1.4375rem;font-weight:600}.page-film .video-launch{margin-top:20px}.area-note{font-size:0.75rem;color:var(--steel);line-height:1.8;margin-top:22px}.region-panel{background:var(--navy);border:1px solid #ffffff26;padding:43px 39px;color:white;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:340px;border-radius:3px}.region-label{font-size:0.75rem;letter-spacing:1.4px;font-weight:600;color:#c4cdcb}.region-panel>strong{font-size:3.875rem;letter-spacing:-2px;line-height:1.2;font-weight:600;margin-top:22px}.region-panel>span:not(.region-label){font-size:1.125rem;color:#c4cdcb;margin-top:6px}.region-rule{height:1px;background:#ffffff33;width:100%;margin:26px 0}.region-panel p{font-size:1.0625rem;line-height:1.75;color:#c4cdcb}.region-panel h2{font-size:2.125rem;line-height:1.22;letter-spacing:-1px;margin-top:24px}.area-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:45px}.area-card{border:1px solid var(--line);padding:30px 32px;display:flex;flex-direction:column;min-height:235px;transition:background .2s,border-color .2s}.area-card:hover{background:var(--paper);border-color:#AF7953}.area-card h3{font-size:1.8125rem;line-height:1.3;font-weight:650;letter-spacing:-.75px;margin-top:12px}.area-card p{font-size:1rem;color:var(--steel);margin-top:12px;max-width:430px}.local-context-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:start}.local-context-grid>div>h2{font-size:2.375rem;line-height:1.2}.local-context-grid>div>p,.context-second p{font-size:1rem;line-height:1.95;color:var(--steel);margin-top:24px}.context-second{border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.context-second h3{font-size:1.5625rem;line-height:1.4;letter-spacing:-.5px;font-weight:650}.context-second p{margin-top:16px}.resource-panel{background:var(--paper);border-top:2px solid var(--copper);padding:29px}.resource-panel>a{display:block;padding:23px 0;border-bottom:1px solid var(--line)}.resource-panel strong{font-size:1rem;font-weight:650;line-height:1.6;display:block}.resource-panel strong>span{float:right;font-size:1.1875rem}.resource-panel a>span{display:block;font-size:0.8125rem;line-height:1.8;color:var(--steel);margin-top:9px}.resource-panel a:hover strong{color:var(--accent-ink)}.resource-panel>p{font-size:0.75rem;line-height:1.85;color:var(--steel);margin-top:21px}.planning-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:start}.planning-grid>div>p{font-size:1rem;color:var(--steel);line-height:1.9;margin-top:24px;max-width:460px}.planning-grid .button{margin-top:30px}.numbered-list{list-style:none;padding:0;margin:0}.numbered-list li{display:flex;gap:25px;align-items:baseline;border-top:1px solid #BDC9D5;padding:22px 0}.numbered-list li:last-child{border-bottom:1px solid #BDC9D5}.numbered-list li>span{font-size:0.75rem;color:#8C502E;font-weight:700}.numbered-list p{font-size:1.125rem;line-height:1.65;font-weight:550}.neighbor-section{border-top:1px solid var(--line);padding-block:32px}.neighbor-section>.container{display:flex;justify-content:space-between;gap:25px;align-items:center;flex-wrap:wrap}.neighbor-section .container>span{font-size:0.8125rem;color:var(--steel)}.identity-panel{background:var(--paper);padding:35px;border:1px solid var(--line);border-top:2px solid var(--copper)}.identity-panel h3{font-size:1.625rem;line-height:1.35;letter-spacing:-.6px;margin-top:19px;font-weight:650}.identity-panel p{font-size:0.9375rem;color:var(--steel);line-height:1.9;margin-top:18px}.identity-panel .text-link{margin-top:18px}.identity-panel h2{font-size:1.75rem;margin-top:20px}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.person-card{border:1px solid var(--line);background:var(--paper)}.person-monogram{min-height:270px;background:var(--navy);color:#D8E6F5;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:6.25rem;letter-spacing:-6px;font-weight:500}.person-monogram span,.profile-monogram span{font-size:0.75rem;letter-spacing:3px;margin-top:8px;color:#c4cdcb}.person-card-copy{padding:30px}.person-card-copy h2{font-size:2rem;letter-spacing:-1px;margin-top:17px}.person-card-copy p{font-size:1rem;color:var(--steel);margin-top:15px}.person-card:hover .card-end{color:var(--accent-ink)}.profile-monogram{background:var(--navy);border:1px solid #ffffff26;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8.4375rem;letter-spacing:-8px;color:#e5e8e6;line-height:1.2}.profile-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:90px}.profile-grid .article-section:first-child{margin-top:0}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.guide-card{display:flex;flex-direction:column;border-top:1px solid var(--line);background:var(--paper);padding:32px}.guide-number{font-size:2.875rem;letter-spacing:-1.5px;color:var(--steel);line-height:1;font-weight:500;margin-bottom:42px}.guide-card h3{font-size:1.5625rem;font-weight:650;line-height:1.35;letter-spacing:-.5px;margin-top:19px}.guide-card p{font-size:0.9375rem;color:var(--steel);line-height:1.9;margin-top:17px}.guide-card:hover{background:#F1E7DD}.reading-grid{display:grid;grid-template-columns:265px 1fr;gap:100px}.guide-article{max-width:810px;min-width:0}.guide-article>h2{font-size:2.125rem;line-height:1.25;letter-spacing:-.7px}.guide-article .article-section{margin-top:40px}.article-next{margin-top:43px;padding:30px;background:var(--mist)}.article-next p{font-size:1rem;line-height:1.9;color:var(--steel)}.article-next .text-link{margin-top:12px}.comparison-checklist{list-style:none;padding:0!important}.comparison-checklist li{border-top:1px solid var(--line);padding:13px 0 13px 30px;position:relative}.comparison-checklist li:before{content:'';width:13px;height:13px;border:1px solid #a5aeae;position:absolute;top:22px;left:0}.evidence-intro{max-width:900px}.evidence-intro>p:not(.eyebrow){font-size:1.125rem;line-height:1.9;color:var(--steel);margin-top:30px;max-width:700px}.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:48px}.record-grid article{border-top:1px solid #B4C3D2;padding-top:24px}.record-grid h3{font-size:1.375rem;letter-spacing:-.45px;line-height:1.4;margin-top:22px}.record-grid p{font-size:0.9375rem;line-height:1.9;color:var(--steel);margin-top:17px}.editorial-photo{position:relative;aspect-ratio:1.5;overflow:hidden}.editorial-photo img{width:100%;height:100%;object-fit:cover}.editorial-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 25px 18px;background:linear-gradient(transparent,rgba(var(--navy-rgb),0.851));font-size:0.75rem;color:white}.evidence-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.evidence-grid>div>p:not(.eyebrow){font-size:1rem;color:var(--steel);line-height:1.95;margin-top:24px}.trust-panel{background:var(--navy);color:white;padding:43px}.trust-panel>img{width:53px;height:auto;margin-bottom:30px}.trust-panel h3{font-size:2.0625rem;line-height:1.2;letter-spacing:-.8px;font-weight:600}.trust-panel p{font-size:0.9375rem;line-height:1.9;color:#c4cdcb;margin-top:24px}.trust-panel .text-link{margin-top:24px}.contact-breadcrumb{background:var(--navy)}.contact-breadcrumb .breadcrumbs{padding-bottom:0}.inner-page .contact{padding-top:60px}.contact h1{font-size:clamp(2.4375rem,4vw,3.6875rem);line-height:1.15;letter-spacing:-2px}.contact h1 em{font-style:normal;color:#DEC8B7}.contact-details h3{font-size:1.3125rem;line-height:1.5;font-weight:650;margin-top:30px}.contact-details h3:first-child{margin-top:0}.contact-details p{font-size:1rem;color:var(--steel);line-height:1.9;margin-top:15px}.contact-details .text-link{margin-top:15px}.legal-reading{max-width:850px}.article-meta{font-size:0.8125rem;color:var(--steel);border-bottom:1px solid var(--line);padding-bottom:22px}.legal-reading .article-section h2{font-size:1.75rem}.photo-credit-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 40px}.photo-credit-grid figure{aspect-ratio:1.5;overflow:hidden}.photo-credit-grid img{width:100%;height:100%;object-fit:cover}.photo-credit-grid h2{font-size:1.6875rem;line-height:1.4;letter-spacing:-.6px;margin-top:23px}.photo-credit-grid p{font-size:0.9375rem;color:var(--steel);margin-top:7px}.photo-credit-grid .text-link{margin-top:11px}
@media(max-width:75.0em){.page-hero-grid{gap:50px}.page-hero h1{font-size:3.3125rem}.service-content-grid,.reading-grid{grid-template-columns:235px 1fr;gap:65px}.local-context-grid,.planning-grid,.evidence-grid,.profile-grid{gap:65px}.footer-main{grid-template-columns:1.2fr .8fr 1.2fr 1fr;gap:30px}.footer-license{grid-column:1/-1;display:flex;align-items:baseline;gap:25px;border-top:1px solid #ffffff26;padding-top:25px}.footer-license h2{margin:0}.footer-license p{font-size:0.75rem}.footer-license>a{margin-top:0}.route-cards{gap:18px}.route-card{padding:25px 22px}.guide-card{padding:27px}.record-grid{gap:22px}}
@media(max-width:68.75em){.desktop-nav{display:none!important}.menu-toggle{display:flex}.header-cta{margin-left:auto}.footer-main{grid-template-columns:1fr 1fr 1.3fr}.footer-cities{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.footer-cities h2{grid-column:1/-1}.footer-license{grid-column:1/-1}.service-content-grid,.reading-grid{grid-template-columns:205px 1fr;gap:48px}.page-contents nav a{font-size:0.75rem}.page-hero-grid{gap:40px}.page-hero h1{font-size:3.0625rem;letter-spacing:-2px}.page-lead{font-size:1rem}.local-context-grid{gap:45px;grid-template-columns:1.2fr 1fr}.region-panel{padding:30px}.region-panel h2{font-size:1.875rem}.route-card h3{font-size:1.25rem}.guide-cards{gap:23px}.guide-card h3{font-size:1.375rem}.record-grid{grid-template-columns:1fr 1fr;gap:35px}.profile-grid{gap:50px}.page-cta-inner{gap:40px}.contact-grid{gap:42px}.hero-actions .text-link{font-size:0.875rem}.intro-inner{grid-template-columns:1.25fr 1fr}.intro-inner p{grid-row:1/4}.intro-inner>span,.intro-inner>a{border:0;padding:0;grid-column:2;font-size:0.8125rem}.intro-inner>a>span{margin-left:0}.service-group-heading{min-height:133px}.service-group h3{font-size:1.25rem}}
@media(max-width:53.125em){.page-hero h1{font-size:2.6875rem}.page-hero-grid{gap:32px}.page-hero-photo{min-height:355px}.service-content-grid,.reading-grid{grid-template-columns:1fr;gap:40px}.page-contents{position:static}.page-contents nav{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.page-contents nav a{font-size:0.8125rem}.page-contents .side-note{display:none}.route-cards{grid-template-columns:1fr 1fr}.local-context-grid{grid-template-columns:1fr;gap:35px}.resource-panel{padding:30px}.resource-panel>a{padding:19px 0}.planning-grid{gap:45px}.credential-strip>.container{gap:12px;flex-wrap:wrap;padding-block:17px;min-height:0}.credential-strip .text-link{min-height:30px}.guide-cards{grid-template-columns:1fr}.guide-card{padding:30px;position:relative}.guide-number{position:absolute;right:30px;top:30px;font-size:2.0625rem}.guide-card>.card-kicker{padding-right:55px}.guide-card h3{max-width:500px;font-size:1.625rem;margin-top:18px}.guide-card p{max-width:610px}.guide-card .card-end{margin-top:0}.person-card-copy{padding:25px}.person-card-copy h2{font-size:1.75rem}.person-monogram{min-height:220px}.profile-grid{grid-template-columns:1fr;gap:40px}.evidence-grid{gap:45px}.trust-panel{padding:30px}.trust-panel h3{font-size:1.75rem}.page-cta-inner{align-items:flex-start;flex-direction:column;gap:25px}.region-panel h2{font-size:1.75rem}.region-panel>strong{font-size:3.0625rem}}
@media(max-width:47.5em){.header-inner{gap:12px}.header-cta{font-size:0.875rem;min-height:44px;gap:14px;padding-inline:14px}.brand img{width:117px}.eyebrow,.hero .eyebrow{font-size:0.75rem;letter-spacing:1.1px}.hero .eyebrow{font-size:0.6875rem}.hero-actions .button,.hero-actions .text-link{font-size:0.875rem}.hero-image-caption{font-size:0.75rem}.hero-image-caption span:last-child{font-size:0.75rem;letter-spacing:.6px;max-width:120px}.hero-note{font-size:0.8125rem}.service-row h4{font-size:1.0625rem}.service-row p{font-size:0.875rem}.service-group h3{font-size:1.3125rem}.service-group-heading{min-height:0}.intro-inner{grid-template-columns:1fr}.intro-inner p{grid-row:auto}.intro-inner>span,.intro-inner>a{grid-column:1;font-size:0.875rem}.intro-inner svg{width:19px;height:19px}.installation-list li{font-size:0.875rem}.installation-copy>.button{font-size:0.875rem}.contact h2,.contact h1{font-size:2.625rem;letter-spacing:-1.6px}.intent-choice span{font-size:0.875rem}.contact-form-wrap{padding:27px}.contact-expectation li{font-size:0.875rem}.footer-main{grid-template-columns:1fr 1fr;gap:35px 28px}.footer-brand{grid-column:1/-1}.footer-cities{grid-column:1/-1;grid-row:auto;grid-template-columns:1fr 1fr}.footer-license{grid-column:1/-1;grid-row:auto;display:block}.footer-license h2{margin-bottom:16px}.footer-license p{font-size:0.8125rem}.footer-license>a{display:inline-flex;margin-top:12px;margin-right:18px;font-size:0.75rem}.footer-legal{font-size:0.75rem}.footer-legal>div{gap:25px;flex-wrap:wrap}.footer-column a{font-size:0.8125rem;line-height:1.7}.photo-note{font-size:0.75rem}.mobile-action-bar a{font-size:0.8125rem;gap:18px}.page-hero{padding-bottom:45px}.breadcrumbs{padding-block:22px 29px;font-size:0.75rem}.breadcrumbs ol{gap:6px 10px}.breadcrumbs li{gap:10px}.page-hero-grid{grid-template-columns:1fr;gap:35px}.page-hero h1{font-size:2.6875rem;letter-spacing:-1.9px;line-height:1.1}.page-lead{font-size:1rem;line-height:1.9;margin-top:23px}.page-hero .button{margin-top:25px}.page-hero-photo{min-height:260px}.page-hero-photo figcaption{font-size:0.75rem;padding:50px 22px 20px}.page-hero .eyebrow{font-size:0.75rem}.light-hero{padding-bottom:45px}.credential-strip>.container{flex-direction:column;align-items:flex-start;gap:8px;padding-block:22px;font-size:0.75rem}.credential-strip .text-link{font-size:0.75rem}.route-cards{gap:20px;grid-template-columns:1fr;margin-top:30px}.route-card{padding:26px;min-height:215px}.route-card h3{font-size:1.4375rem;margin-top:17px}.route-card p{font-size:1rem}.card-end{font-size:0.875rem;padding-top:22px}.card-kicker{font-size:0.75rem}.service-content-grid,.reading-grid{gap:36px}.service-article>h2{font-size:1.9375rem;letter-spacing:-.7px}.article-opening{font-size:1rem}.article-section{margin-top:30px;scroll-margin-top:110px}.article-section h3,.article-section h2{font-size:1.4375rem;letter-spacing:-.4px}.article-section p,.article-section li,.prose p{font-size:1rem;line-height:1.95}.page-contents nav{grid-template-columns:1fr;gap:0}.page-contents nav a{font-size:0.875rem;padding-block:10px}.page-contents>.eyebrow{margin-bottom:17px}.page-film{padding:25px;margin-top:33px}.page-film h3{font-size:1.375rem}.page-film .film-status{font-size:0.8125rem}.scope-note{padding:23px}.region-panel{min-height:0;padding:29px}.region-panel>strong{font-size:3.0625rem}.region-panel h2{font-size:1.75rem;margin-top:19px}.region-rule{margin:23px 0}.region-panel p{font-size:1rem}.area-cards{grid-template-columns:1fr;gap:20px;margin-top:32px}.area-card{padding:27px;min-height:230px}.area-card h3{font-size:1.8125rem}.area-card p{font-size:1rem}.local-context-grid>div>h2{font-size:2rem;letter-spacing:-.8px}.local-context-grid>div>p,.context-second p{font-size:1rem;margin-top:20px}.context-second{padding-top:25px;margin-top:30px}.context-second h3{font-size:1.5rem}.resource-panel{padding:25px}.planning-grid{grid-template-columns:1fr;gap:33px}.planning-grid>div>p{max-width:100%;font-size:1rem}.numbered-list li{gap:22px;padding-block:21px}.numbered-list p{font-size:1.0625rem}.neighbor-section>.container{display:grid;grid-template-columns:1fr;gap:8px}.neighbor-section .container>span{margin-bottom:12px}.neighbor-section .text-link{justify-content:space-between}.identity-panel{padding:27px}.identity-panel p{font-size:1rem}.identity-panel h3{font-size:1.5625rem}.people-grid{grid-template-columns:1fr;gap:28px}.person-monogram{min-height:240px;font-size:5.625rem}.person-card-copy{padding:28px}.person-card-copy h2{font-size:1.9375rem}.person-card-copy p{font-size:1rem}.profile-monogram{min-height:230px;font-size:6.25rem}.profile-monogram span{font-size:0.75rem}.guide-card{padding:28px}.guide-card h3{font-size:1.5625rem}.guide-card p{font-size:1rem}.guide-number{font-size:1.875rem;right:26px;top:29px}.guide-article>h2{font-size:1.8125rem;line-height:1.3}.article-next{padding:25px}.article-next p{font-size:1rem}.evidence-intro>p:not(.eyebrow){font-size:1rem;margin-top:25px}.record-grid{grid-template-columns:1fr;gap:27px;margin-top:35px}.record-grid h3{font-size:1.4375rem;margin-top:15px}.record-grid p{font-size:1rem;margin-top:13px}.evidence-grid{grid-template-columns:1fr;gap:35px}.trust-panel{padding:32px}.trust-panel h3{font-size:1.9375rem}.trust-panel p{font-size:1rem}.editorial-photo{aspect-ratio:1.3}.page-cta{padding-block:58px}.page-cta h2{font-size:2.0625rem;letter-spacing:-1px}.page-cta p:not(.eyebrow){font-size:1rem}.page-cta .button{min-width:0}.inner-page .contact{padding-top:35px}.contact-details h3{font-size:1.375rem}.legal-reading .article-section h2{font-size:1.5625rem}.photo-credit-grid{grid-template-columns:1fr;gap:42px}.photo-credit-grid h2{font-size:1.5625rem}.photo-credit-grid p{font-size:1rem}}
@media(max-width:26.875em){.header-cta{font-size:0.8125rem;gap:10px;padding-inline:12px}.brand img{width:108px}.menu-toggle{width:42px;height:42px}.hero .eyebrow{font-size:0.625rem;letter-spacing:.85px}.hero-actions{gap:16px}.hero-actions .button{font-size:0.875rem;padding-inline:18px;gap:23px}.hero-actions .text-link{font-size:0.875rem}.hero-description{font-size:1rem}.hero-image-caption{gap:15px}.hero-image-caption span:last-child{font-size:0.6875rem;max-width:112px}.hero-note{font-size:0.8125rem}.hero h1{font-size:2.6875rem;letter-spacing:-2.1px}.service-row h4{font-size:1rem}.service-row p{font-size:0.875rem}.service-group h3{font-size:1.25rem}.contact-form-wrap{padding:25px 21px}.contact h2,.contact h1{font-size:2.3125rem}.intent-choice span{font-size:0.8125rem}.form-field label{font-size:0.875rem}.form-field input,.form-field select,.form-field textarea{font-size:1rem}.mobile-action-bar a{font-size:0.8125rem;gap:13px}.page-hero h1{font-size:2.375rem;letter-spacing:-1.5px}.page-hero-photo{min-height:235px}.page-lead{font-size:1rem}.page-hero .eyebrow{font-size:0.6875rem;letter-spacing:.8px}.route-card{padding:25px}.local-context-grid>div>h2{font-size:1.875rem}.region-panel{padding:26px}.page-contents nav a{font-size:0.875rem}.service-article>h2{font-size:1.8125rem}.page-film h3{font-size:1.3125rem}.form-note,.preview-note{font-size:0.75rem}.license-note a{line-height:1.8}.cities .area-note{font-size:0.75rem!important}}
@media(max-width:22.1875em){.brand img{width:96px}.header-inner{gap:9px}.header-cta{font-size:0.8125rem;padding-inline:10px}.header-cta>span{display:none}.menu-toggle{width:40px;height:40px}.hero h1{font-size:2.3125rem;letter-spacing:-1.8px}.hero .eyebrow{font-size:0.5625rem;letter-spacing:.7px}.hero-actions .button,.hero-actions .text-link{font-size:0.875rem}.hero-actions{gap:13px}.service-group h3{font-size:1.125rem}.service-group-heading{gap:11px}.service-row h4{font-size:1rem}.contact h2,.contact h1{font-size:2.0625rem}.intent-choice span{font-size:0.75rem}.page-hero h1{font-size:2.125rem;letter-spacing:-1.35px}.route-card{padding:23px}.page-hero .eyebrow{font-size:0.625rem}.mobile-action-bar a{font-size:0.75rem}.page-cta h2{font-size:1.875rem}.footer-column a{font-size:0.75rem}}
@media print{.utility,.site-header,.site-footer,.page-contents,.mobile-action-bar,.page-cta,.button,.skip-link,.breadcrumbs{display:none!important}.page-hero,.white-section,.section{background:white;color:black;padding:25px 0}.page-hero h1,.page-hero .page-lead{color:black}.reading-grid{display:block}.container{width:100%}.article-section{break-inside:avoid}.guide-article{max-width:none}.article-section a{color:black}}
.route-cards.count-4{grid-template-columns:repeat(2,1fr)}.route-cards.count-5{grid-template-columns:repeat(6,1fr)}.route-cards.count-5>.route-card{grid-column:span 2}.route-cards.count-5>.route-card:nth-last-child(-n+2){grid-column:span 3}
@media(max-width:59.375em){.route-cards.count-5{grid-template-columns:1fr 1fr}.route-cards.count-5>.route-card{grid-column:auto}.route-cards.count-5>.route-card:nth-last-child(-n+2){grid-column:auto}.route-cards.count-5>.route-card:last-child{grid-column:1/-1}}
@media(max-width:47.5em){.route-cards.count-4,.route-cards.count-5{grid-template-columns:1fr}.route-cards.count-5>.route-card,.route-cards.count-5>.route-card:nth-last-child(-n+2),.route-cards.count-5>.route-card:last-child{grid-column:auto}}
@media(max-width:47.5em){.page-contact .contact-expectation{display:none}.page-contact .contact-copy>p:not(.eyebrow){margin-top:19px}.page-contact .contact-grid{gap:29px}.page-contact .contact h1{font-size:2.4375rem}}
@media(max-width:22.1875em){.page-contact .contact h1{font-size:2rem}}

/* Text scaling: keep controls and headings usable with enlarged browser type. */
.header-inner{height:auto;min-height:97px;padding-block:16px}.header-inner nav{min-width:0;flex-wrap:wrap;row-gap:0}.header-cta{min-width:0}.hero-grid>*,.page-hero-grid>*,.contact-grid>*,.section-heading>*{min-width:0}h1,h2,h3,h4{overflow-wrap:break-word}.hero h1,.page-hero h1{overflow-wrap:anywhere}.eyebrow,.hero .eyebrow,.page-hero .eyebrow{font-size:0.75rem!important}.hero-image-caption span:last-child{font-size:0.75rem}.menu-toggle{width:44px;height:44px}.header-cta{font-size:0.875rem}.mobile-action-bar a{font-size:0.875rem}.region-panel>strong{overflow-wrap:anywhere}
@media(max-width:47.5em){.header-inner{min-height:80px;padding-block:14px}.hero .eyebrow{letter-spacing:.8px}.header-cta{padding-inline:11px}.mobile-action-bar a{gap:12px}}
@media(max-width:22.1875em){.header-inner{gap:8px}.header-cta{padding-inline:9px}.hero .eyebrow{letter-spacing:.4px}.mobile-action-bar a{font-size:0.8125rem}}

/* Homepage: one photograph, one clear message, and two deliberate actions. */
.home-page .utility{display:none}
.home-page .site-header{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.home-page .hero{position:relative;isolation:isolate;margin-top:-97px;background:var(--navy)}
.home-page .hero-image-frame{position:absolute;inset:0;z-index:-2;margin:0;min-height:0;border-radius:0;overflow:hidden}
.home-page .hero-image{position:absolute;inset:0;min-height:0;height:100%;width:100%;object-fit:cover;object-position:center center}
.home-page .hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(var(--navy-rgb),.85) 0%,rgba(var(--navy-rgb),.66) 42%,rgba(var(--navy-rgb),.15) 100%),linear-gradient(0deg,rgba(var(--navy-rgb),.44),transparent 40%);pointer-events:none}
.home-page .hero-grid{display:flex;align-items:center;min-height:100vh;min-height:100svh;gap:0;padding-block:calc(97px + 5rem) 6rem}
.home-page .hero-copy{width:100%;padding:0;max-width:1050px}
.home-page .hero h1{max-width:none;line-height:1.05;letter-spacing:-.045em;font-size:clamp(3.75rem,6vw,6.25rem);font-weight:700;overflow-wrap:normal}
.home-page .hero-brand-name{display:block;font-size:clamp(1.5rem,2.3vw,2.125rem);line-height:1.3;letter-spacing:-.025em;font-weight:600;margin-bottom:1.35rem}
.home-page .hero-headline{display:block}
.home-page .hero-description{font-size:1.125rem;line-height:1.7;max-width:none;color:#fff;margin-top:1.75rem}
.home-page .hero-actions{gap:14px;margin-top:2.25rem}
.home-page .hero-actions .button{min-height:58px;min-width:190px;font-size:1rem;padding:16px 27px;border-radius:4px}
.button{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.button:hover{transform:none;background:#C58A59;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.button:active{transform:none;box-shadow:none;background:#AF7244}
.button:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #8C502E}
.home-page .hero-secondary{color:#fff;background:rgba(var(--navy-rgb),.38);border-color:rgba(255,255,255,.68)}
.home-page .hero-secondary:hover{background:rgba(var(--navy-rgb),.76);border-color:#fff;box-shadow:none}
.home-page .hero-secondary:active{background:var(--navy)}
@media(max-width:68.75em){.home-page .hero h1{font-size:clamp(3.25rem,7vw,5.75rem)}}
@media(max-width:47.5em){
.home-page .hero{margin-top:-80px}
.home-page .site-header{background:var(--navy)}
.home-page .hero-grid{padding-block:calc(80px + 3rem) 6.5rem;align-items:center}
.home-page .hero-image{object-position:28% center}
.home-page .hero:after{background:linear-gradient(90deg,rgba(var(--navy-rgb),.79),rgba(var(--navy-rgb),.43)),linear-gradient(0deg,rgba(var(--navy-rgb),.5),transparent 65%)}
.home-page .hero h1{font-size:clamp(2.625rem,8.7vw,4.5rem);line-height:1.09;letter-spacing:-.045em}
.home-page .hero-brand-name{font-size:1.375rem;margin-bottom:1.25rem;letter-spacing:-.025em}
.home-page .hero-description{font-size:1rem;max-width:270px;margin-top:1.5rem}
.home-page .hero-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin-top:2rem}
.home-page .hero-actions .button{min-width:0;min-height:54px;padding:14px 20px;font-size:.9375rem;flex:1 1 180px;max-width:340px}
}
@media(max-width:22.1875em){.home-page .hero h1{font-size:2.375rem}.home-page .hero-grid{padding-top:calc(80px + 2.5rem)}.home-page .hero-brand-name{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.approach-grid>*,.process-steps li>div{min-width:0}

.home-page .hero h1{overflow-wrap:anywhere}.installation-grid>*{min-width:0}

.process-steps p{overflow-wrap:anywhere}.step-number{min-width:2ch}

/* Copper, midnight and porcelain: materials first, with a clear action hierarchy. */
.contact-form-wrap :focus-visible{outline-color:var(--accent-ink)}
.home-page .intro-strip{background:var(--paper);border-top:2px solid var(--copper)}
.home-page .intro-inner{grid-template-columns:repeat(4,minmax(0,1fr));padding-block:25px;font-size:.9375rem;font-weight:650;color:var(--navy)}
.home-page .intro-inner>a{border-left:2px solid var(--copper);padding-left:20px;min-height:42px;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.home-page .intro-inner>a:hover{color:var(--accent-ink)}
.service-opening{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,85px);align-items:center}
.service-opening>div{min-width:0}.service-opening p{font-size:1rem;line-height:1.85;color:var(--steel);max-width:460px;margin-top:24px}
.service-work-photo{margin:0;aspect-ratio:1.6;overflow:hidden}
.service-work-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.home-page .approach-grid{display:block}
.home-page .approach-intro{display:grid;grid-template-columns:1.2fr 1fr;column-gap:80px;align-items:end}
.home-page .approach-intro>.eyebrow{grid-column:1/-1}
.home-page .approach-intro>p:not(.eyebrow){margin-top:0;max-width:470px}
.home-page .process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:52px}
.home-page .process-steps li{display:block;padding:24px 0 0;border-top:1px solid #B9AEA4}
.home-page .step-number{display:block;color:var(--accent-ink);font-size:.875rem;line-height:1.5;margin-bottom:20px}
.home-page .process-steps h3{font-size:1.25rem}.home-page .process-steps p{font-size:1rem;line-height:1.8}
@media(max-width:68.75em){.home-page .process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.home-page .approach-intro{column-gap:40px}}
@media(max-width:47.5em){.home-page .intro-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;font-size:.875rem}.home-page .intro-inner>a{padding-left:14px}.service-opening{grid-template-columns:1fr;gap:30px}.service-work-photo{aspect-ratio:1.65}.home-page .approach-intro{display:block}.home-page .approach-intro>p:not(.eyebrow){margin-top:24px}.home-page .process-steps{grid-template-columns:1fr;margin-top:36px;gap:28px}.home-page .process-steps li{padding-top:22px}.home-page .step-number{margin-bottom:12px}.home-page .hero-description{max-width:320px}}

/* Customer stories: an editorial page with a quiet, cinematic film feature. */
.page-reviews{background:#F7F5F1}
.page-reviews .breadcrumbs{color:var(--steel);padding-block:24px 36px}
.page-reviews .breadcrumbs [aria-current="page"]{color:var(--steel)}
.stories-opening{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:60px;padding:16px 0 58px}
.stories-opening .eyebrow{margin-bottom:26px}
.stories-opening h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(4.25rem,6.9vw,7rem);line-height:1.03;letter-spacing:-.045em}
.stories-opening h1 em{font-weight:400;font-style:italic;color:var(--accent-ink)}
.stories-intro-note{max-width:360px;justify-self:end;padding:0 10px 10px 0}
.stories-intro-note>p{font-size:1.25rem;line-height:1.75;letter-spacing:-.035em}
.stories-intro-note>span{display:block;font-size:.8125rem;color:var(--steel);margin-top:18px;line-height:1.8}
.stories-section-nav{display:flex;gap:40px;border-block:1px solid var(--line)}
.stories-section-nav>a{display:flex;align-items:center;gap:17px;min-height:66px;font-size:.8125rem;font-weight:600}
.stories-section-nav>a>span{font-size:.6875rem;color:var(--accent-ink);font-weight:500;letter-spacing:.07em}
.stories-section-nav svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.2;margin-left:10px}
.stories-section-nav a:hover{color:var(--accent-ink)}
.stories-films{padding:44px 0 80px;scroll-margin-top:120px}
.stories-section-label{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.stories-section-label h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.stories-section-label>span{font-size:.75rem;color:var(--steel)}
.story-film{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);background:var(--navy);color:var(--paper)}
.story-film-image{position:relative;align-self:center;aspect-ratio:16/9;isolation:isolate;overflow:hidden;background:var(--navy)}
.story-film-image>img{width:100%;height:100%;object-fit:contain}
.story-film-play{position:absolute;inset:0;border:0;border-radius:0;background:linear-gradient(180deg,transparent 48%,rgba(var(--navy-rgb),.56) 100%);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;transition:background-color .2s}
.story-film-play:hover{background-color:rgba(var(--navy-rgb),.12)}
.story-play-disc{display:grid;place-items:center;width:76px;height:76px;border:1px solid #ffffffc4;border-radius:50%;background:rgba(247,245,241,.95);color:var(--navy);box-shadow:0 2px 26px rgba(var(--navy-rgb),0.161);transition:transform .2s,background .2s}
.story-play-disc svg{width:24px;height:24px;fill:currentColor;margin-left:3px}
.story-film-play:hover .story-play-disc{transform:scale(1.06);background:#fff}
.story-film-play:focus-visible{outline:3px solid #D7A882;outline-offset:-5px}
.story-play-label{position:absolute;bottom:25px;left:28px;display:flex;align-items:center;gap:18px;font-size:.8125rem;font-weight:600;letter-spacing:.01em}
.story-play-label>span{font-size:1.125rem;font-weight:400}
.story-duration{position:absolute;right:26px;bottom:25px;font-size:.75rem;letter-spacing:.06em;color:#fff;background:rgba(var(--navy-rgb),0.851);border:1px solid #ffffff3b;border-radius:3px;padding:3px 9px;pointer-events:none;font-variant-numeric:tabular-nums}
.story-film-copy{padding:34px clamp(25px,3vw,44px);display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-width:0;border-left:1px solid #ffffff14}
.story-film-overline{display:flex;justify-content:space-between;gap:16px;font-size:.625rem;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;color:#D7B395}
.story-film-overline>span:last-child{color:#b8c0c0;letter-spacing:.05em}
.story-category{color:#BAC6D2;font-size:.6875rem;line-height:1.6;letter-spacing:.02em;margin-bottom:14px}
.story-film-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.875rem,2.7vw,2.6875rem);line-height:1.17;font-weight:400;letter-spacing:-.025em;max-width:330px}
.story-description{color:#BAC6D2;font-size:.8125rem;line-height:1.85;margin-top:20px;max-width:320px}
.story-service-link{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:40px;border-top:1px solid #ffffff26;padding-top:17px;font-size:.75rem;color:#E4C0A2}
.story-service-link:hover{color:#fff}
.story-service-link>span{font-size:1.25rem}
.story-film-footnote{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;background:var(--paper);color:var(--steel);border-bottom:1px solid var(--line);font-size:.6875rem;line-height:1.8}
.story-film-footnote>span>span{margin-inline:10px;color:var(--accent-ink)}
.story-film-footnote>a{padding-block:4px;text-decoration:underline;text-underline-offset:4px}
.story-film-footnote>a>span[aria-hidden]{margin-left:8px;display:inline-block;text-decoration:none}
.story-film-footnote>a:hover{color:var(--accent-ink)}
.stories-more-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:48px}
.stories-more-films .story-film{grid-template-columns:1fr}
.stories-more-films .story-film-copy{min-height:340px;border-left:0}
.stories-more-films .story-film-copy h3{max-width:none}
.stories-reviews{padding:78px 0 98px;background:#EDE9E2;scroll-margin-top:98px;border-top:1px solid #E2DED7}
.stories-review-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,8vw,130px);align-items:center}
.stories-review-layout>*,.stories-next-inner>*{min-width:0;max-width:100%}
.stories-review-intro h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.5rem,3.7vw,3.75rem);line-height:1.12;letter-spacing:-.035em}
.stories-review-intro h2 em{font-weight:400;color:var(--accent-ink)}
.stories-review-intro>p:not(.eyebrow){font-size:.9375rem;color:var(--steel);max-width:375px;margin-top:26px;line-height:1.85}
.stories-review-collection{min-width:0;display:grid;gap:24px}
.stories-review-empty{position:relative;padding:45px clamp(28px,3.5vw,52px);border:1px solid #D9D2C8;background:#F7F5F1}
.story-quote-mark{display:block;font-family:Georgia,'Times New Roman',serif;font-size:5.5rem;font-weight:400;color:var(--accent-ink);line-height:.8;height:47px;margin-bottom:23px}
.stories-small-label{display:block;font-size:.625rem;text-transform:uppercase;letter-spacing:.16em;color:var(--steel);margin-bottom:14px}
.stories-review-empty h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400;line-height:1.25;letter-spacing:-.025em}
.stories-review-empty p{font-size:.8125rem;color:var(--steel);line-height:1.85;margin-top:15px}
.stories-review-empty a{display:inline-flex;align-items:center;gap:28px;min-height:44px;font-size:.75rem;font-weight:600;color:var(--accent-ink);margin-top:21px;border-bottom:1px solid #CEB39D}
.stories-review-empty a:hover{color:var(--navy);border-color:var(--navy)}
.story-written-review{padding:40px;background:var(--paper);border:1px solid #D9D2C8}
.story-written-review blockquote{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.625rem;line-height:1.5}
.story-written-review figcaption{margin-top:27px;display:grid;gap:4px;font-size:.75rem;color:var(--steel)}
.story-written-review figcaption strong{color:var(--navy);font-size:.875rem}
.story-written-review figcaption a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:4px;margin-top:10px}
.stories-next{background:var(--navy);color:var(--paper);padding:76px 0}
.stories-next-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}
.stories-next h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.375rem,3.7vw,3.625rem);line-height:1.15;letter-spacing:-.025em}
.stories-next p:not(.eyebrow){margin-top:23px;font-size:.875rem;color:#BAC6D2}
.stories-next .button{margin:0;min-width:210px;flex-shrink:0}
.page-reviews .site-footer{border-top:1px solid #ffffff26}
@media(min-width:100em){.stories-opening{padding-top:24px;padding-bottom:72px}.stories-films{padding-top:50px}.story-film-copy{padding:40px 46px}}
@media(max-width:68.75em){.stories-opening{gap:35px}.stories-intro-note{max-width:290px}.stories-intro-note>p{font-size:1.125rem}.story-film{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.story-film-copy{padding:28px;gap:24px}.story-film-copy h3{font-size:2rem}.story-film-image{align-self:start}.story-description{font-size:.75rem}.story-play-disc{width:64px;height:64px}}
@media(max-width:68.75em){.stories-opening h1{font-size:4.75rem}.stories-opening{grid-template-columns:1.2fr 1fr}.stories-intro-note{padding-bottom:4px}.story-film{grid-template-columns:1fr}.story-film-copy{display:grid;grid-template-columns:1fr auto;gap:26px 36px;padding:32px}.story-film-overline{grid-column:1/-1}.story-film-copy h3{max-width:470px;font-size:2.375rem}.story-description{max-width:480px;font-size:.875rem}.story-service-link{align-self:end;white-space:nowrap}.stories-review-layout{gap:40px}.stories-review-intro h2{font-size:2.75rem}.stories-review-empty{padding:34px 28px}.stories-more-films{grid-template-columns:1fr}.stories-more-films .story-film-copy{min-height:0}.stories-films{padding-bottom:60px}}
@media(max-width:47.5em){.page-reviews .breadcrumbs{padding-block:21px 30px}.stories-opening{grid-template-columns:1fr;gap:27px;padding:5px 0 33px}.stories-opening h1{font-size:clamp(3.2rem,13.2vw,5.5rem)}.stories-opening .eyebrow{margin-bottom:20px}.stories-intro-note{justify-self:start;padding:0;max-width:none}.stories-intro-note>p{font-size:1.0625rem;line-height:1.75}.stories-intro-note>span{font-size:.75rem;margin-top:12px}.stories-section-nav{gap:27px;justify-content:space-between}.stories-section-nav>a{font-size:.75rem;gap:10px;min-height:62px}.stories-section-nav svg{margin-left:0;width:12px;height:12px}.stories-section-nav>a>span{font-size:.625rem}.stories-films{padding:29px 0 48px}.stories-section-label{margin-bottom:19px}.stories-section-label h2{font-size:.6875rem;letter-spacing:.09em}.stories-section-label>span{display:none}.story-film-copy{display:flex;padding:28px 25px;gap:24px}.story-film-overline{font-size:.625rem}.story-film-copy h3{font-size:2rem;max-width:330px}.story-category{font-size:.6875rem}.story-description{font-size:.8125rem;margin-top:16px}.story-service-link{align-self:stretch;white-space:normal;font-size:.75rem}.story-play-disc{width:58px;height:58px}.story-play-disc svg{width:21px;height:21px}.story-play-label{bottom:16px;left:18px;font-size:.75rem;gap:12px}.story-duration{right:16px;bottom:16px;font-size:.6875rem;padding:2px 7px}.story-film-footnote{font-size:.625rem;gap:15px;padding:15px 0;flex-wrap:wrap}.story-film-footnote>span>span{margin-inline:5px}.stories-reviews{padding:50px 0 55px}.stories-review-layout{grid-template-columns:1fr;gap:32px}.stories-review-intro .eyebrow{margin-bottom:21px}.stories-review-intro h2{font-size:clamp(2.25rem,9.4vw,3.5rem)}.stories-review-intro>p:not(.eyebrow){font-size:.875rem;margin-top:21px;max-width:440px}.stories-review-empty{padding:32px 27px}.stories-review-empty h3{font-size:1.8125rem}.stories-review-empty p{font-size:.8125rem}.stories-review-empty p br{display:none}.stories-next{padding:53px 0}.stories-next-inner{align-items:flex-start;flex-direction:column;gap:29px}.stories-next h2{font-size:2.4375rem}.stories-next p:not(.eyebrow){font-size:.875rem;max-width:290px}.stories-next .button{min-width:195px}.story-written-review{padding:28px}.story-written-review blockquote{font-size:1.375rem}}
@media(max-width:22em){.stories-section-nav{gap:16px}.stories-section-nav>a{gap:7px;font-size:.6875rem}.stories-section-nav svg{display:none}.story-play-label{bottom:12px}.story-duration{bottom:12px}.story-play-disc{width:48px;height:48px}.story-film-copy h3{font-size:1.875rem}.stories-next h2{font-size:2.125rem}}
@media(prefers-reduced-motion:reduce){.story-play-disc,.story-film-play{transition:none}}

.softener-spec-source{margin:0 0 18px;font-size:.75rem;line-height:1.6}.softener-spec-source a{display:inline-block;padding-block:8px;color:inherit;text-decoration:underline;text-underline-offset:3px}

/* A restrained, shared footer. Navigation stays available without dominating the page. */
.site-footer {
  position:relative;
  isolation:isolate;
  padding: 56px 0 25px;
  background: var(--navy);
  border-top: 1px solid #ffffff1f;
  color: #b8c0c4;
  font-size: .8125rem;
}
.site-footer::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(var(--navy-rgb),.88),rgba(var(--navy-rgb),.78)),linear-gradient(0deg,rgba(var(--navy-rgb),.55),transparent); }
.site-footer .footer-layout {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 12%;
  align-items: start;
}
.site-footer .footer-identity { display: flex; flex-direction: column; align-items: flex-start; }
.site-footer .footer-identity > a { display: inline-block; }
.site-footer .footer-identity .footer-license { margin-top: 16px; padding-block: 4px; color: #dab08d; font-size: .9375rem; font-weight: 600; letter-spacing: .035em; line-height: 1.5; }
.site-footer .footer-license:hover { color: #f0c9a8; text-decoration: underline; text-underline-offset: 4px; }
.site-footer .footer-identity img { width: 106px; height: auto; }
.site-footer .footer-identity p { margin-top: 8px; color: #aeb9bd; font-size: .8125rem; line-height: 1.7; }
.site-footer .footer-accordion { min-width: 0; border-top: 1px solid #ffffff26; }
.site-footer .footer-disclosure { border-bottom: 1px solid #ffffff26; }
.site-footer .footer-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 61px;
  padding: 18px 0;
  color: #d7dddf;
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.site-footer .footer-disclosure > summary::-webkit-details-marker { display: none; }
.site-footer .footer-disclosure > summary:hover { color: #fff; }
.site-footer .footer-toggle { position: relative; width: 14px; height: 14px; flex: 0 0 14px; }
.site-footer .footer-toggle::before, .site-footer .footer-toggle::after {
  content: '';
  position: absolute;
  background: currentColor;
}
.site-footer .footer-toggle::before { height: 1px; left: 1px; right: 1px; top: 6px; }
.site-footer .footer-toggle::after { width: 1px; top: 1px; bottom: 1px; left: 6px; }
.site-footer .footer-disclosure[open] .footer-toggle::after { display: none; }
.site-footer .footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; padding: 0 0 20px; }
.site-footer .footer-links a { display: flex; align-items: center; min-height: 40px; padding-block: 8px; font-size: .8125rem; line-height: 1.6; }
.site-footer .footer-contact-links { grid-template-columns: 1fr; }
.site-footer .footer-legal-copy { padding: 0 0 22px; }
.site-footer .footer-legal-copy .footer-links { padding-bottom: 16px; }
.site-footer .footer-legal-copy p { max-width: 520px; font-size: .75rem; line-height: 1.8; }
.site-footer .footer-legal-copy p + p { margin-top: 12px; }
.site-footer .footer-legal-copy p a { text-decoration: underline; text-underline-offset: 3px; }
.site-footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 30px;
  margin-top: 46px;
  padding-top: 20px;
  border-top: 1px solid #ffffff1a;
  color: #a2aeb3;
  font-size: .8125rem;
  line-height: 1.7;
}
.site-footer .footer-bottom a { padding-block: 5px; font-size: inherit; }
.site-footer .footer-credit { white-space: nowrap; }
.site-footer .footer-credit a { color: #d7dddf; }
.site-footer .footer-credit strong { font-weight: 700; letter-spacing: .015em; }
.site-footer .footer-links a:hover, .site-footer .footer-bottom a:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer :focus-visible { outline: 2px solid #dab08d; outline-offset: 5px; }
@media (max-width: 760px) {
  .site-footer { padding: 38px 0 calc(25px + env(safe-area-inset-bottom)); }
  .site-footer .footer-layout { grid-template-columns: 1fr; gap: 30px; }
  .site-footer .footer-identity img { width: 94px; }
  .site-footer .footer-identity p { margin-top: 8px; }
  .site-footer .footer-disclosure > summary { min-height: 58px; }
  .site-footer .footer-links { column-gap: 18px; }
  .site-footer .footer-links a { min-height: 44px; }
  .site-footer .footer-bottom { margin-top: 28px; padding-top: 17px; flex-wrap: wrap; }
  .site-footer .footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer *, .site-footer *::before, .site-footer *::after { transition: none; }
}

/* The approved homepage design, extended to the rest of H2O Plumbing Authority. */
.inner-page {
  --paper:#f6f3ed; --mist:#eae5db; --steel:#555e60; --line:#d4cec2; --copper:#c58b60; --accent-ink:#854a2b;
  --craft-light:#dab08d; --craft-muted:#b8c0c0;
  background:var(--paper); color:var(--ink);
}
.inner-page .utility { display:none; }
.inner-page .site-header { background:var(--navy); border-bottom-color:#b9845638; }
.inner-page .section { padding-block:clamp(68px,7.4vw,116px); }
.inner-page .white-section { background:var(--paper); }
.inner-page h1,.inner-page h2 { font-weight:650; line-height:1.08; letter-spacing:-.045em; text-wrap:balance; }
.inner-page h2 { font-size:clamp(2.2rem,3.8vw,3.65rem); }
.inner-page h2 em { font-style:normal; color:var(--accent-ink); }
.inner-page h3 { letter-spacing:-.025em; line-height:1.3; font-weight:650; }
.inner-page .eyebrow { gap:14px; color:var(--craft-light); font-size:.6875rem; letter-spacing:.14em; font-weight:650; margin-bottom:25px; }
.inner-page .eyebrow.dark { color:var(--accent-ink); }
.inner-page .eyebrow>span { display:block; flex:0 0 28px; width:28px; height:38px; border:0; background:currentColor; mask:url('/assets/brand/waterdrop-line.svg?v=3') center/contain no-repeat; -webkit-mask:url('/assets/brand/waterdrop-line.svg?v=3') center/contain no-repeat; }
.inner-page .eyebrow>span::after { content:none; }
.inner-page .button { background:var(--copper); color:var(--navy); border-radius:2px; border-color:#ffffff26; box-shadow:inset 0 1px 0 #ffffff33; transition:background-color .2s,box-shadow .2s; }
.inner-page .button:hover { background:#d4a079; transform:none; box-shadow:inset 0 1px 0 #ffffff4d,0 3px 16px #00000012; }
.inner-page .text-link { color:inherit; text-decoration:underline; text-decoration-color:var(--copper); text-underline-offset:7px; text-decoration-thickness:1px; }
.inner-page .text-link:hover { color:var(--accent-ink); }
.inner-page .breadcrumbs { padding-block:25px 45px; color:#c0c9c9; line-height:1.6; }
.inner-page .breadcrumbs a { display:inline-flex; align-items:center; min-height:32px; }
.inner-page .breadcrumbs a:hover { color:var(--craft-light); }
.detail-hero { color:var(--paper); background:var(--navy); padding-bottom:76px; overflow:hidden; }
.detail-hero.detail-film-hero { position:relative; isolation:isolate; min-height:610px; padding-bottom:100px; }
.detail-film-hero::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(var(--navy-rgb),.92),rgba(var(--navy-rgb),.72) 42%,rgba(var(--navy-rgb),.28)),linear-gradient(0deg,rgba(var(--navy-rgb),.6),transparent 65%); }
.detail-film-hero .detail-hero-grid.is-text-only { max-width:670px; padding-top:30px; }
.detail-film-hero .background-video-toggle { position:absolute; bottom:24px; right:var(--gutter); }
.detail-hero-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); gap:6%; align-items:center; }
.detail-hero-grid>div { min-width:0; }
.detail-hero-grid.is-text-only { display:block; max-width:990px; }
.detail-hero h1 { font-size:clamp(2.65rem,4.35vw,4.6rem); max-width:none; }
.detail-hero h1>span,.detail-hero h1>em { display:block; }
.detail-hero h1 em { color:var(--craft-light); font-style:normal; }
.detail-hero h1 .detail-topic { font-size:clamp(1.2rem,1.65vw,1.55rem); line-height:1.4; letter-spacing:-.02em; color:var(--paper); margin-bottom:24px; font-weight:550; }
.detail-hero .eyebrow { color:var(--craft-light); }
.detail-lead { color:#cad0ce; line-height:1.85; font-size:1.025rem; max-width:540px; margin-top:26px; }
.detail-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:32px; }
.detail-phone { color:var(--paper); min-height:48px; text-decoration:none; display:inline-flex; flex-direction:row; align-items:center; justify-content:center; }
.detail-phone .phone-number { font-size:1rem; font-weight:600; white-space:nowrap; }
.detail-photo { position:relative; min-width:0; aspect-ratio:1.16; margin:0; background:var(--navy); border:1px solid #c58b6066; }
.detail-photo>img { width:100%; height:100%; object-fit:cover; }
.detail-photo:after { content:''; position:absolute; inset:15px -15px -15px 15px; pointer-events:none; border-right:1px solid #c58b6080; border-bottom:1px solid #c58b6080; border-radius:0 0 24px 0; z-index:0; }
.detail-company-film { aspect-ratio:16/9; }
.inline-film-play { display:flex; align-items:center; gap:13px; position:absolute; left:22px; bottom:22px; min-height:48px; padding:12px 19px; border:1px solid #d4cec2; background:var(--paper); color:var(--navy); font-weight:650; font-size:.875rem; }
.inline-film-play:hover { background:var(--craft-light); }
.inline-film-play .play-symbol { font-size:.875rem; }
.detail-photo.is-playing { aspect-ratio:16/9; }
.detail-photo :is(iframe,video) { width:100%; height:100%; position:absolute; inset:0; border:0; object-fit:contain; background:var(--navy); }
.detail-assurance { background:var(--navy); color:#d1d5d1; border-top:1px solid #c58b6052; font-size:.8125rem; }
.detail-assurance>.container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 28px; padding-block:19px; }
.detail-assurance a { color:var(--craft-light); text-decoration:underline; text-underline-offset:5px; min-height:32px; display:flex; align-items:center; }
.detail-jump { border-bottom:1px solid var(--line); }
.detail-jump>.container { display:flex; flex-wrap:wrap; gap:8px 34px; padding-block:14px; }
.detail-jump a { display:flex; align-items:center; min-height:40px; color:var(--steel); font-size:.8125rem; }
.detail-jump a:hover { color:var(--accent-ink); }
.detail-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; align-items:start; }
.detail-body { color:var(--steel); max-width:500px; font-size:1rem; line-height:1.85; margin-top:24px; }
.detail-body+.detail-body { margin-top:18px; }
.detail-split .text-link { margin-top:24px; }
.detail-situations { margin:0; padding:0; list-style:none; border-top:1px solid #c58b6080; }
.detail-situations li { display:flex; align-items:baseline; gap:22px; padding:23px 0; border-bottom:1px solid var(--line); font-size:1.0625rem; line-height:1.6; }
.detail-situations li>span { font-size:.6875rem; color:var(--accent-ink); font-variant-numeric:tabular-nums; }
.detail-benefits li { align-items:start; padding-block:19px; gap:16px; }
.detail-benefits li>span { font-size:1rem; line-height:1.5; }
.detail-benefits h3 { font-size:1.0625rem; }
.detail-benefits p { color:var(--steel); font-size:.9375rem; line-height:1.7; margin-top:7px; }
.detail-process { background:var(--navy); color:var(--paper); }
.detail-process .eyebrow { color:var(--craft-light); }
.inner-page .detail-process h2 em { color:var(--craft-light); }
.detail-section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.detail-section-heading:has(>.eyebrow) { display:block; }
.detail-section-heading>p:not(.eyebrow) { max-width:405px; color:var(--steel); font-size:1rem; line-height:1.85; }
.detail-process-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; padding:0; margin:52px 0 0; }
.detail-process-steps li { border-top:1px solid #c58b6080; padding-top:25px; }
.detail-step-number { color:var(--craft-light); font-size:.75rem; }
.detail-process-steps h3 { font-size:1.5rem; margin-top:24px; }
.detail-process-steps p { color:#c4cdcb; font-size:.9375rem; line-height:1.85; margin-top:16px; max-width:375px; }
.detail-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.detail-options article { padding:36px; border:1px solid var(--line); background:#fffdfa; }
.detail-card-mark { color:var(--accent-ink); font-size:.6875rem; font-weight:600; letter-spacing:.1em; }
.detail-service-icon { display:block; width:40px; height:40px; flex-shrink:0; fill:none; stroke:var(--accent-ink); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.detail-options h3 { font-size:1.6rem; margin-top:18px; }
.detail-options p { color:var(--steel); line-height:1.85; font-size:1rem; margin-top:16px; }
.detail-planning { background:var(--mist); }
.detail-visit-checklist { list-style:none; margin:0; padding:0; border-top:1px solid #c58b6080; }
.detail-visit-checklist li { display:flex; align-items:start; gap:22px; padding-block:25px; border-bottom:1px solid var(--line); }
.detail-visit-checklist li>span { color:var(--accent-ink); font-size:.75rem; padding-top:5px; }
.detail-visit-checklist h3 { font-size:1.25rem; }
.detail-visit-checklist p { color:var(--steel); font-size:.9375rem; line-height:1.8; margin-top:10px; }
.inner-page .detail-options article.is-inquiry { padding:0; background:transparent; border:0; }
.detail-option-inquiry { display:flex; height:100%; flex-direction:column; border:1px solid var(--line); background:#fffdfa; transition:border-color .2s,background-color .2s; }
.detail-option-inquiry:is(:hover,:focus-visible) { border-color:var(--accent-ink); background:#f0e7dc; }
.detail-option-inquiry:focus-visible { outline:2px solid var(--accent-ink); outline-offset:4px; }
.detail-option-inquiry .detail-option-copy { display:flex; flex:1; flex-direction:column; align-items:start; }
.detail-option-inquiry .detail-card-link { display:block; margin-top:25px; }
.inner-page .faq-list { border-color:#c58b6080; }
.inner-page .faq-list details { border-color:var(--line); }
.inner-page .faq-list summary { font-size:1rem; font-weight:600; gap:28px; padding-block:24px; }
.inner-page .faq-list summary>span { flex-shrink:0; color:var(--accent-ink); border-color:#c58b6080; }
.inner-page .faq-list details>div { color:var(--steel); font-size:.9375rem; line-height:1.85; padding-right:25px; }
.inner-page .faq-list p+p { margin-top:16px; }
.inner-page .faq-list div a { text-decoration:underline; text-underline-offset:4px; color:var(--accent-ink); }
.page-service-areas .detail-faq {
  --steel:#c4cdcb; --line:#ffffff26; --accent-ink:var(--craft-light);
  background:var(--navy); color:var(--paper);
}
.detail-related { border-top:1px solid var(--line); background:#eeebe3; }
.detail-service-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.detail-service-card { padding:30px; border:1px solid #cec2b4; background:#faf8f3; display:flex; flex-direction:column; align-items:flex-start; transition:background-color .2s,border-color .2s; }
.detail-service-card:hover { border-color:var(--copper); background:#f0e7dc; }
.detail-service-card h3 { font-size:1.4375rem; margin-top:22px; }
.detail-service-card p { font-size:.9375rem; color:var(--steel); line-height:1.75; margin-block:14px 25px; }
.detail-card-link { font-size:.8125rem; font-weight:650; margin-top:auto; border-bottom:1px solid var(--copper); padding-bottom:4px; }
.detail-guide-link { display:block; width:fit-content; margin-top:30px; font-size:.875rem; text-decoration:underline; text-decoration-color:var(--copper); text-underline-offset:5px; min-height:40px; }
.detail-region { background:var(--navy); color:var(--paper); }
.inner-page .detail-region :is(.eyebrow,h2 em) { color:var(--craft-light); }
.detail-region .detail-body { color:#bdc5c5; }
.detail-town-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; }
.detail-town-links a { border-bottom:1px solid #c58b604d; padding-block:17px; min-height:52px; font-size:1rem; }
.detail-town-links a:hover { color:var(--craft-light); }
.detail-cta { padding-block:clamp(64px,7vw,100px); background:var(--navy); color:var(--paper); border-top:1px solid #c58b6040; }
.detail-cta>.container { display:flex; align-items:center; justify-content:space-between; gap:65px; }
.detail-cta .eyebrow { color:var(--craft-light); }
.detail-cta h2 { max-width:770px; }
.detail-cta p:not(.eyebrow) { color:#c4cdcb; max-width:600px; margin-top:20px; line-height:1.85; }
.detail-cta-actions { display:flex; flex-direction:column; align-items:center; gap:20px; flex-shrink:0; }
.detail-cta-actions .button { min-width:200px; }
.detail-cta .phone-cta { align-items:center; }
.page-about .detail-cta { background:var(--paper); color:var(--ink); }
.page-about .detail-cta p:not(.eyebrow) { color:var(--steel); }
.inner-page.page-about .detail-cta .eyebrow.dark { color:var(--accent-ink); }
.page-about .detail-cta .phone-number { color:var(--ink); }
.page-about .detail-cta :is(.phone-icon,.detail-email) { color:var(--accent-ink); }
.inner-page.page-about .detail-cta :focus-visible { outline-color:var(--accent-ink); }
.detail-area-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.detail-area-directory>a { padding:28px; border:1px solid var(--line); display:flex; flex-direction:column; background:#faf8f3; }
.detail-area-directory>a:hover { border-color:var(--copper); background:#f0e7dc; }
.detail-area-directory h3 { font-size:1.6rem; margin-top:32px; }
.detail-area-directory p { font-size:.9375rem; color:var(--steel); margin-block:14px 25px; }
.detail-local { background:var(--mist); }
.detail-local-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8%; }
.detail-local-grid article { border-top:1px solid #c58b6080; padding-top:25px; }
.detail-local-grid h3 { font-size:1.6rem; margin-top:23px; }
.detail-local-grid p { color:var(--steel); font-size:1rem; line-height:1.85; margin-top:18px; }
.detail-resources { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; margin-top:36px; border-top:1px solid var(--line); padding-top:24px; font-size:.8125rem; }
.detail-resources>span { flex-basis:100%; font-weight:650; }
.detail-resources a { text-decoration:underline; text-underline-offset:5px; color:var(--accent-ink); display:flex; align-items:center; min-height:36px; }
.detail-visit { border:1px solid var(--line); background:#fffcf7; padding:36px; }
.detail-visit h3 { font-size:1.6rem; }
.detail-visit ul { margin:25px 0; padding-left:19px; color:var(--steel); }
.detail-visit li { padding-block:6px; }
.detail-visit>p { font-size:.8125rem; line-height:1.75; color:var(--steel); margin-top:24px; }
.page-service-areas .detail-service-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.detail-all-link { margin-top:30px; }
.detail-neighbors { background:var(--mist); border-top:1px solid var(--line); }
.detail-neighbors>.container { display:flex; flex-wrap:wrap; align-items:center; gap:14px 32px; padding-block:28px; }
.detail-neighbors span { color:var(--steel); font-size:.8125rem; margin-right:auto; }
.detail-neighbors a { min-height:40px; display:flex; align-items:center; font-size:.9375rem; border-bottom:1px solid var(--copper); }
.detail-about-story { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:6%; }
.detail-owner-section { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:6%; align-items:center; }
.detail-owner-photo { aspect-ratio:1; }
.detail-owner-photo>img { object-position:50% 30%; }
/* Supporting pages share the same material palette and reading rhythm. */
.inner-page .page-hero { padding-bottom:65px; background:var(--navy); }
.inner-page .page-hero h1 { font-size:clamp(2.6rem,4.4vw,4.8rem); max-width:950px; }
.inner-page .page-hero h1 em { color:var(--craft-light); }
.inner-page .page-lead { color:#c4cdcb; font-size:1.0625rem; max-width:650px; }
.inner-page .light-hero { background:var(--paper); color:var(--ink); border-bottom:1px solid var(--line); }
.inner-page .light-hero h1 em { color:var(--accent-ink); }
.inner-page .light-hero :is(.page-lead,.breadcrumbs) { color:var(--steel); }
.inner-page .page-hero-photo figcaption { display:none; }
.inner-page .page-cta { background:var(--navy); color:var(--paper); }
.inner-page :is(.person-monogram,.profile-monogram) { background:var(--navy); color:var(--craft-light); border:1px solid #c58b6073; font-weight:450; }
.profile-portrait { width:100%; max-width:400px; justify-self:end; margin:0; border:1px solid #c58b6073; background:var(--navy); }
.profile-portrait img { display:block; width:100%; height:auto; }
.person-photo { aspect-ratio:16/9; margin:0; overflow:hidden; background:var(--navy); }
.person-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.people-grid .person-monogram { aspect-ratio:16/9; min-height:0; line-height:1; }
@media (max-width:47.5em) { .profile-portrait { justify-self:center; } }
.inner-page :is(.person-card,.guide-card,.route-card,.identity-panel,.resource-panel) { border-color:var(--line); background:#faf8f3; border-radius:0; box-shadow:none; }
.inner-page :is(.person-card,.guide-card,.route-card):hover { transform:none; border-color:var(--copper); background:#f0e7dc; }
.inner-page :is(.card-kicker,.standard-mark,.guide-number) { color:var(--accent-ink); }
.inner-page .card-end { border-color:var(--copper); }
.inner-page :is(.article-section p,.article-section li,.prose p) { line-height:1.85; color:var(--steel); }
.inner-page .article-section h3 { font-size:1.65rem; }
.inner-page .article-section h2 { font-size:2rem; }
.inner-page .article-section a { text-decoration:underline; color:var(--accent-ink); text-underline-offset:4px; }
.inner-page .page-contents { align-self:start; }
.inner-page .page-contents nav a { border-color:var(--line); padding-block:14px; }
.inner-page .page-contents nav a:hover { color:var(--accent-ink); }
.inner-page .page-contents .side-note { background:var(--mist); border-color:var(--line); padding:24px; }
.inner-page .article-next,.inner-page .scope-note { background:var(--mist); border-color:var(--line); }
.inner-page .contact-breadcrumb { background:var(--navy); }
.inner-page .contact { background:var(--navy); color:var(--paper); }
.inner-page .contact :is(h1,h2) em { color:#e0b38e; }
.inner-page .contact-form-wrap { background:var(--paper); border-radius:0; border-top:2px solid var(--copper); }
.inner-page .contact-expectation { max-width:440px; }
.inner-page .form-field :is(input,select,textarea) { border-radius:0; border-color:#c7bfb2; background:#fffdfa; }
.inner-page .intent-choice span { border-radius:0; }
.inner-page .intent-choice input:checked+span { color:var(--accent-ink); border-color:var(--accent-ink); background:#efe0d1; }
.inner-page .stories-intro { background:var(--paper); }
.inner-page .stories-intro :is(h1 em,.stories-intro-note span) { color:var(--accent-ink); }
.inner-page .stories-intro .breadcrumbs { color:var(--steel); }
.inner-page .stories-films { background:var(--paper); }
.inner-page .stories-reviews { background:var(--mist); }
.inner-page :is(.stories-small-label,.stories-review-intro .eyebrow,.story-category) { color:var(--accent-ink); }
.inner-page .stories-next { background:var(--navy); }
.inner-page .stories-section-nav svg,.inner-page .story-play-label>span,.inner-page .story-service-link>span,.inner-page .story-film-footnote { display:none; }
.inner-page .stories-review-empty { background:var(--paper); border-color:var(--line); }
.inner-page .stories-review-empty>a>span { display:none; }
.inner-page .stories-review-empty .story-quote-mark { color:var(--copper); }
.inner-page :is(.detail-hero,.detail-process,.detail-region,.detail-cta) :focus-visible { outline-color:#e0b38e; }
@media (min-width:1000px) { .inner-page .reading-grid .page-contents { position:sticky; top:128px; } }
@media (max-width:1100px) { .detail-area-directory { grid-template-columns:repeat(2,minmax(0,1fr)); } .detail-hero-grid { gap:5%; } .detail-service-card { padding:24px; } .detail-process-steps { gap:28px; } }
@media (max-width:760px) {
  .inner-page { --gutter:24px; }
  .inner-page .section { padding-block:64px; }
  .inner-page h2 { font-size:clamp(2rem,7.5vw,2.75rem); }
  .inner-page .breadcrumbs { padding-block:20px 30px; font-size:.6875rem; }
  .detail-hero { padding-bottom:52px; }
  .detail-hero-grid,.detail-split,.detail-about-story { grid-template-columns:minmax(0,1fr); gap:36px; }
  .detail-hero h1 { font-size:clamp(2.4rem,9.5vw,3.6rem); }
  .detail-hero h1 .detail-topic { font-size:1.125rem; margin-bottom:20px; }
  .detail-lead { font-size:1rem; line-height:1.8; }
  .detail-actions { gap:18px; }
  .detail-photo { aspect-ratio:1.5; }
  .detail-company-film { aspect-ratio:16/9; }
  .detail-photo:after { inset:9px -9px -9px 9px; }
  .detail-assurance>.container { gap:6px 20px; padding-block:17px; font-size:.75rem; }
  .detail-assurance span:first-child { flex-basis:100%; }
  .detail-jump>.container { gap:3px 20px; padding-block:12px; }
  .detail-jump a { font-size:.75rem; }
  .detail-section-heading { display:block; margin-bottom:30px; }
  .detail-section-heading>p:not(.eyebrow) { margin-top:22px; }
  .detail-process-steps { grid-template-columns:1fr; gap:30px; margin-top:35px; }
  .detail-process-steps h3 { margin-top:16px; }
  .detail-process-steps p { max-width:none; }
  .detail-options,.detail-service-cards,.page-service-areas .detail-service-cards,.detail-local-grid { grid-template-columns:1fr; gap:20px; }
  .detail-options article,.detail-visit { padding:26px; }
  .detail-service-card { padding:26px; }
  .detail-service-card h3 { margin-top:18px; }
  .detail-service-card p { margin-bottom:22px; }
  .detail-cta>.container { display:block; }
  .detail-cta-actions { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; margin-top:30px; gap:24px; }
  .detail-cta-actions .button { min-width:0; }
  .detail-area-directory { grid-template-columns:1fr; gap:16px; }
  .detail-area-directory>a { padding:25px; }
  .detail-area-directory h3 { margin-top:18px; }
  .detail-local-grid { gap:35px; }
  .detail-neighbors>.container { gap:8px 24px; }
  .detail-neighbors span { flex-basis:100%; }
  .inner-page .contact-form-wrap { padding:24px; }
  .inner-page .page-hero h1 { font-size:clamp(2.3rem,8vw,3.5rem); }
  .inner-page .form-grid { grid-template-columns:1fr; }
  .inner-page .form-field.full { grid-column:auto; }
  .inner-page .service-map { max-width:100%; }
}
@media (max-width:360px) { .inner-page { --gutter:20px; } .detail-hero h1 { font-size:2.25rem; } .detail-town-links { gap:0 18px; } .detail-town-links a { font-size:.875rem; } .detail-actions { gap:18px 16px; } }
@media print { .detail-actions,.detail-jump,.detail-cta,.detail-assurance { display:none; } .detail-hero,.detail-process,.detail-region { background:white; color:black; } .detail-lead,.detail-body { color:black; } .detail-hero-grid,.detail-split { display:block; } }

/* Shared map and equipment cards. */
.inner-page .softener-package-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-top: 78px; padding-top: 36px; border-top: 1px solid var(--line); }
.inner-page .softener-kicker { color: var(--accent-ink); font-size: .6875rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.inner-page .softener-package-heading h3 { margin-top: 10px; font-size: clamp(1.5rem, 2.15vw, 2rem); font-weight: 650; line-height: 1.3; letter-spacing: -.035em; }
.inner-page .softener-package-heading > p { max-width: 440px; color: var(--steel); font-size: .875rem; line-height: 1.8; }
.inner-page .softener-packages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 22px; margin-top: 32px; }
.inner-page .softener-package { display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid var(--line); background: #fffdfa; }
.inner-page .softener-package-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.inner-page .softener-package-top h3 { font-size: .75rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.inner-page .softener-package-top > span { color: var(--steel); font-size: .6875rem; white-space: nowrap; }
/* Display just the supplied product photographs, without modifying the source image. */
.inner-page .softener-product { position: relative; aspect-ratio: 481 / 220; overflow: hidden; background: #f2ede3; }
.inner-page .softener-product img { position: absolute; width: 407.693%; max-width: none; height: auto; top: -150.4545%; left: -29.522%; }
.inner-page .softener-product-gold img { top: -147.7273%; left: -150.104%; clip-path: inset(27% 46.5% 57.6% 44.5%); mix-blend-mode: multiply; }
.inner-page .softener-product-platinum img { left: -270.686%; }
.inner-page .softener-price { display: flex; align-items: baseline; gap: 12px; margin-top: 22px; font-size: clamp(2.1rem, 3vw, 2.75rem); line-height: 1.15; letter-spacing: -.045em; font-weight: 650; font-variant-numeric: tabular-nums; }
.inner-page .softener-price > span { font-size: .75rem; font-weight: 500; letter-spacing: 0; color: var(--steel); }
.inner-page .softener-equipment { margin-top: 4px; }
.inner-page .softener-equipment h4 { margin: 0; font-size: 1rem; line-height: 1.4; font-weight: 650; letter-spacing: -.02em; }
.inner-page .softener-equipment > span { display: block; margin-top: 5px; font-size: .6875rem; letter-spacing: .05em; color: var(--steel); }
.inner-page .softener-description { min-height: 74px; margin: 14px 0 20px; font-size: .8125rem; line-height: 1.8; color: var(--steel); }
.inner-page .softener-workmanship { display: flex; align-items: center; gap: 9px; margin-block: 21px; font-size: .75rem; line-height: 1.6; }
.inner-page .softener-workmanship svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: var(--accent-ink); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.inner-page .softener-details { border-block: 1px solid var(--line); }
.inner-page .softener-details-body { padding-top: 2px; }
.inner-page .softener-details summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 14px; min-height: 48px; font-size: .75rem; font-weight: 600; cursor: pointer; list-style: none; }
.inner-page .softener-details summary::-webkit-details-marker { display: none; }
.inner-page .softener-details summary > span { position: relative; width: 12px; height: 12px; flex: 0 0 12px; }
.inner-page .softener-details summary > span::before, .inner-page .softener-details summary > span::after { content: ''; position: absolute; width: 12px; height: 1px; left: 0; top: 5px; background: currentColor; }
.inner-page .softener-details summary > span::after { transform: rotate(90deg); }
.inner-page .softener-details[open] summary > span::after { transform: none; }
.inner-page .softener-details ul { margin: 0; padding: 0 0 18px 16px; color: var(--steel); font-size: .75rem; line-height: 1.8; }
.inner-page .softener-details li + li { margin-top: 6px; }
.inner-page .softener-select { display: flex; justify-content: center; margin-top: 22px; min-height: 46px; padding: 12px 18px; font-size: .8125rem; }
.inner-page .softener-package:not(.softener-package-featured) .softener-select { background: transparent; border-color: #a59e90; color: var(--ink); box-shadow: none; }
.inner-page .softener-package:not(.softener-package-featured) .softener-select:hover { background: var(--paper); border-color: var(--accent-ink); }
.inner-page .softener-package-featured { background: var(--navy); border-color: var(--copper); color: var(--paper); }
.inner-page .softener-package-featured :is(.softener-price, .softener-package-top h3) { color: var(--craft-light); }
.inner-page .softener-package-featured :is(.softener-package-top > span, .softener-price > span, .softener-equipment > span, .softener-description, .softener-details ul) { color: #bdc8ca; }
.inner-page .softener-package-featured .softener-workmanship svg { stroke: var(--craft-light); }
.inner-page .softener-package-featured .softener-details { border-color: #ffffff26; }
.inner-page .softener-package-featured :focus-visible { outline-color: var(--craft-light); }
.inner-page .softener-package-featured .button:focus-visible { outline-color: var(--paper); box-shadow: none; }
.inner-page .softener-help { display: flex; justify-content: center; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; margin-top: 30px; text-align: center; font-size: .8125rem; }
.inner-page .softener-help p { color: var(--steel); }
.inner-page .softener-help .text-link { font-size: .8125rem; min-height: 44px; }
.inner-page .service-map { grid-area: map; min-width: 0; border: 1px solid #b38f6d42; background: var(--navy); }
.inner-page .service-map svg { display: block; width: 100%; height: auto; }
.inner-page .map-county { fill: var(--navy); stroke: #ffffff1f; stroke-width: 1; fill-rule: evenodd; }
.inner-page .map-water { fill: #ffffff0f; stroke: #ffffff26; stroke-width: .6; fill-rule: evenodd; }
.inner-page .map-road { fill: none; stroke: #ffffff45; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.inner-page .map-road-primary { stroke: #84908b; stroke-width: 1.8; }
.inner-page .map-city { cursor: pointer; }
.inner-page .map-city-area { fill: #c58b6029; stroke: #c58b608f; stroke-width: 1; fill-rule: evenodd; transition: fill .2s, stroke .2s; }
.inner-page .map-city-halo { fill: #c58b6024; stroke: #c58b6073; stroke-width: 1; transition: fill .2s, stroke .2s; }
.inner-page .map-city-dot { fill: #dfb18b; stroke: var(--navy); stroke-width: 2; transition: fill .2s; }
.inner-page .map-city text { font-family: inherit; font-size: 21px; font-weight: 600; fill: #f6f3ed; stroke: var(--navy); stroke-width: 5px; stroke-linejoin: round; paint-order: stroke fill; transition: fill .2s; }
.inner-page .map-city:is(:hover, :focus-visible, .is-active) .map-city-area { fill: #c58b6052; stroke: #e0b38e; }
.inner-page .map-city:is(:hover, :focus-visible, .is-active) .map-city-halo { fill: #c58b6052; stroke: #e0b38e; }
.inner-page .map-city:is(:hover, :focus-visible, .is-active) .map-city-dot { fill: #fff9ef; }
.inner-page .map-city:is(:hover, :focus-visible, .is-active) text { fill: #e8bc98; }
.inner-page .map-city:focus-visible { outline: none; }
.inner-page .map-city:focus-visible text { text-decoration: underline; }
.inner-page .map-compass, .inner-page .map-scale { fill: #b8c5c7; font-size: 12px; letter-spacing: .04em; }
.inner-page .map-compass path, .inner-page .map-scale path { stroke: #b8c5c7; fill: none; stroke-width: 1.2; }
.inner-page .service-map figcaption { display: flex; justify-content: space-between; gap: 10px 22px; flex-wrap: wrap; border-top: 1px solid #ffffff12; padding: 14px 18px; font-size: .6875rem; color: #bdc5c5; }
.inner-page .service-map figcaption > span { display: flex; align-items: center; gap: 8px; }
.inner-page .service-map figcaption i { width: 6px; height: 6px; border-radius: 50%; background: var(--craft-light); }
.inner-page .service-map figcaption a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #b38f6d80; }
.inner-page .service-map figcaption a:hover { color: var(--craft-light); }
.inner-page .service-map { grid-area:auto; margin:0; }
.inner-page .map-city.is-current .map-city-area { fill:#c58b6066; stroke:#e0b38e; }
.inner-page .map-city.is-current .map-city-halo { fill:#c58b6080; stroke:#f6f3ed; stroke-width:2; }
.inner-page .map-city.is-current text { fill:#efc5a2; }
.inner-page .softener-story { margin:0; min-width:0; }
.inner-page .softener-story-frame { aspect-ratio:16/9; border:1px solid var(--line); background:var(--navy); }
.inner-page .softener-story video { width:100%; height:100%; display:block; }
.inner-page .softener-package-heading h2 { font-size:clamp(1.7rem,2.5vw,2.4rem); margin-top:12px; }
.inner-page .detail-softeners { border-top:1px solid var(--line); }
@media (max-width:1100px) {
.inner-page .softener-package { padding:20px; }
.inner-page .softener-package-top { align-items:flex-start; flex-direction:column; gap:5px; }
}
@media (max-width:760px) {
.inner-page .softener-package-heading { display:block; margin-top:46px; padding-top:30px; }
.inner-page .softener-package-heading>p { margin-top:16px; }
.inner-page .softener-packages { grid-template-columns:1fr; gap:20px; margin-top:24px; }
.inner-page .softener-package { padding:24px; }
.inner-page .softener-package-top { flex-direction:row; align-items:center; }
.inner-page .softener-product { max-width:420px; width:100%; align-self:center; }
.inner-page .map-city text { font-size:26px; stroke-width:6px; }
.inner-page .service-map figcaption { padding:12px 14px; font-size:.625rem; }
}

/* Keep small labels readable on dark panels. */
.inner-page :is(.detail-hero,.detail-process,.detail-region,.detail-cta,.page-hero:not(.light-hero)) .eyebrow { color:var(--craft-light); }
.inner-page .detail-visit>.text-link { display:block; width:fit-content; margin-top:26px; }
.inner-page .story-film { border:0; }
.inner-page .story-film .detail-photo { margin:0; }
.inner-page .story-film-copy { border-color:var(--line); }
.inner-page .story-film-copy .text-link { width:fit-content; margin-top:26px; font-size:.875rem; }
.inner-page .story-film-copy .story-category { color:var(--accent-ink); }
.inner-page .stories-section-label { border-color:var(--line); }
.inner-page .stories-section-label h2 { font-size:1.5rem; letter-spacing:-.025em; }
.inner-page .stories-review-empty .stories-small-label { color:var(--accent-ink); }
.inner-page :is(.stories-intro,.stories-films,.stories-reviews) { padding-block:70px; }
.inner-page .stories-intro { padding-top:0; }
.inner-page .stories-review-empty { padding:35px; }
.inner-page .profile-grid .prose .article-section:first-child { margin-top:0; padding-top:0; border:0; }
.inner-page .identity-panel a { display:block; width:fit-content; margin-top:22px; }
.inner-page .detail-hero+.section+.section:not(.detail-process) { border-top:1px solid var(--line); }
@media (max-width:760px) {
 .inner-page .story-film-copy { padding:28px 0; }
 .inner-page :is(.stories-films,.stories-reviews) { padding-block:54px; }
 .inner-page .inline-film-play { left:14px; bottom:14px; padding:10px 13px; font-size:.75rem; }
 .inner-page .stories-review-empty { padding:26px; }
 .inner-page .story-film-copy h3 { font-size:1.7rem; }
}

.inner-page .detail-package-link { color:var(--paper); font-size:.875rem; }
.inner-page .detail-package-link:hover { color:var(--craft-light); }
.inner-page .detail-actions:has(.detail-package-link) .detail-phone { flex-basis:100%; }
/* The review page uses the same Manrope typography as the approved homepage. */
.inner-page :is(.stories-opening h1,.stories-review-intro h2,.stories-next h2,.story-film-copy h3,.stories-review-empty h3,.story-written-review blockquote) { font-family:Manrope,Arial,sans-serif; font-weight:650; }
.inner-page .stories-opening h1 { font-size:clamp(3rem,5.2vw,5.5rem); }
.inner-page .story-film { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:center; }
.inner-page .story-film .detail-photo { border:0; }
.inner-page .story-film .detail-photo:after { content:none; }
.inner-page .story-film-copy { display:flex; padding:30px; gap:22px; }
.inner-page .story-film-copy h3 { font-size:clamp(1.7rem,2.4vw,2.2rem); line-height:1.2; max-width:none; }
.inner-page .story-film-copy .story-category { color:var(--craft-light); }
.inner-page .story-film-copy .story-description { margin:0; font-size:.875rem; line-height:1.85; }
.inner-page .story-film-copy .text-link { margin-top:4px; }
.inner-page .story-film-copy .text-link:hover { color:var(--craft-light); }
.inner-page .stories-section-label h2 { text-transform:none; font-weight:650; }
@media (max-width:1000px) { .inner-page .story-film { grid-template-columns:1fr; } .inner-page .story-film-copy { padding:30px; } }
@media (max-width:760px) { .inner-page .stories-opening h1 { font-size:clamp(2.5rem,10vw,3.5rem); } .inner-page .story-film-copy { padding:25px; } }
.detail-photo:not(.is-playing)>:is(video,iframe) { opacity:0; pointer-events:none; }
.detail-photo .inline-film-play:disabled { cursor:progress; }
.inner-page .guide-article { max-width:760px; }
.inner-page :is(.stories-opening h1,.stories-review-intro h2,.stories-next h2) em { font-weight:inherit; }

/* Service photography: a main image and two clear, visual options. */
.inner-page .detail-photo-editorial { aspect-ratio:3/2; }
.inner-page .detail-photo-editorial>img { display:block; }
.detail-service-intro { align-items:center; }
.detail-preparation-photo { margin-top:36px; }
.detail-service-intro .detail-situations { margin-top:32px; }
.inner-page .detail-service-intro>.detail-photo { aspect-ratio:3/4; }
.inner-page .detail-service-intro.has-landscape-photo>.detail-photo { aspect-ratio:3/2; }
.inner-page .detail-options article.has-photo { padding:0; overflow:hidden; }
.detail-option-photo { aspect-ratio:3/2; overflow:hidden; background:var(--mist); }
.detail-option-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.detail-option-copy { padding:30px 34px 36px; }
.detail-town-media { min-width:0; }
.detail-photo-credit { text-align:right; margin:24px 0 0; font-size:.6875rem; line-height:1.6; color:#c4cdcb; }
.detail-photo-credit a { display:inline-flex; align-items:center; min-height:32px; text-decoration:underline; text-underline-offset:4px; text-decoration-color:#c58b60; }
.detail-photo-credit a:hover { color:var(--craft-light); }
.detail-town-services { align-items:center; gap:7%; margin-bottom:56px; }
.detail-town-services.is-text-only { display:block; max-width:780px; }
.detail-city-map { background:var(--mist); }
.detail-city-map .detail-split { align-items:center; }
.inner-page .town-credit-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 48px; }

/* Shared service-page refinements. */
.page-services .detail-hero h1 { font-size:clamp(2.4rem,4vw,4.2rem); }
.detail-emergency-fee { max-width:500px; margin-top:30px; padding:23px 25px; border-left:3px solid var(--accent-ink); background:#faf8f3; }
.detail-emergency-fee>span { display:block; color:var(--accent-ink); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.detail-emergency-fee strong { display:block; margin-top:7px; font-size:clamp(1.65rem,2.5vw,2.3rem); letter-spacing:-.04em; }
.detail-emergency-fee p { margin-top:6px; color:var(--steel); font-size:.875rem; line-height:1.75; }
.detail-related .detail-section-heading { margin-bottom:20px; }
.detail-carousel-controls { display:flex; justify-content:flex-end; gap:9px; margin-bottom:14px; }
.detail-carousel-button { display:grid; place-items:center; width:44px; height:44px; border:1px solid #bba994; background:#faf8f3; color:var(--ink); font-size:1.3rem; cursor:pointer; }
.detail-carousel-button:hover { border-color:var(--accent-ink); background:#f0e7dc; }
.detail-carousel-button:disabled { opacity:.42; cursor:default; }
.detail-related-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); gap:20px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:1px; scrollbar-color:var(--copper) transparent; padding:1px 1px 18px; }
.detail-related-card { min-width:0; padding:0; overflow:hidden; scroll-snap-align:start; }
.detail-related-photo { display:block; width:100%; aspect-ratio:3/2; overflow:hidden; background:#ded9cf; }
.detail-related-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.detail-related-card:hover .detail-related-photo img { transform:scale(1.035); }
.detail-related-copy { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:24px 26px 28px; }
.detail-related-copy h3 { margin-top:14px; font-size:1.28rem; }
.detail-related-copy p { margin-block:12px 20px; }
.detail-region { position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid #c58b6059; }
.detail-region::before { content:''; position:absolute; z-index:-1; width:380px; height:380px; border:1px solid #c58b6029; outline:1px solid #c58b601f; outline-offset:14px; border-radius:100px 0 0 0; border-right:0; border-bottom:0; bottom:-125px; left:-120px; transform:rotate(45deg); }
.detail-region .area-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.16fr); grid-template-areas:'copy map' 'cities map'; column-gap:7%; row-gap:22px; }
.detail-region .area-copy { grid-area:copy; align-self:end; }
.detail-region .area-copy h2 { font-size:clamp(2.5rem,3.8vw,3.7rem); }
.detail-region .area-copy>p:not(.eyebrow) { max-width:400px; margin-top:24px; color:#bdc5c5; font-size:1rem; line-height:1.9; }
.detail-region .area-copy .text-link { display:inline-block; color:var(--paper); margin-top:25px; }
.detail-region .area-copy .text-link:hover { color:var(--craft-light); }
.detail-region .service-map { grid-area:map; align-self:start; }
.detail-region .cities { display:grid; grid-area:cities; grid-template-columns:repeat(2,minmax(0,1fr)); align-self:start; column-gap:28px; }
.detail-region .city-link { display:flex; align-items:center; min-height:55px; padding-block:13px; border-bottom:1px solid #b38f6d59; font-size:1rem; font-weight:550; }
.detail-region .city-link:is(:hover,:focus-visible,.is-active) { color:var(--craft-light); }
.detail-region .city-link.is-active span { text-decoration:underline; text-decoration-color:var(--copper); text-underline-offset:6px; }
.inner-page .contact-grid { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:8%; align-items:center; }
.inner-page .contact-copy { padding:0; }
.inner-page .contact h2 { font-size:clamp(3rem,4.9vw,4.8rem); line-height:1.08; letter-spacing:-.045em; }
.inner-page .contact-form-wrap { min-width:0; padding:clamp(26px,2.8vw,40px); border:1px solid #d4cec2; border-top:2px solid var(--copper); }
.inner-page .contact .form-grid { gap:20px 18px; }
.inner-page .contact .form-field :is(input,select,textarea) { min-height:48px; font-size:1rem; }
@media (max-width:1000px) { .detail-related-track { grid-auto-columns:calc((100% - 20px)/2); } }
@media (max-width:760px) {
  .page-services .detail-hero h1 { font-size:clamp(2.25rem,8.6vw,3.3rem); }
  .detail-related-track { grid-auto-columns:min(82vw,350px); gap:14px; }
  .detail-related-copy { padding:22px; }
  .detail-region .area-grid { grid-template-columns:1fr; grid-template-areas:'copy' 'map' 'cities'; gap:30px; }
  .detail-region .area-copy h2 { font-size:clamp(2.3rem,7.9vw,3.5rem); }
  .detail-region .cities { column-gap:20px; }
  .detail-region .city-link { min-height:64px; padding-block:18px; }
  .inner-page .contact-grid { grid-template-columns:1fr; gap:40px; }
  .inner-page .contact-form-wrap { padding:25px; }
}
@media (max-width:400px) { .detail-region .cities { column-gap:14px; } .detail-region .city-link { font-size:.9rem; } .inner-page .contact-form-wrap { padding:23px 18px; } }
@media (prefers-reduced-motion:reduce) { .detail-related-track { scroll-behavior:auto; } .detail-related-photo img { transition:none; } }
.town-credit-list article { min-width:0; scroll-margin-top:130px; }
.town-credit-list img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:24px; }
.inner-page .town-credit-list h2 { font-size:1.8rem; }
.town-credit-list p { color:var(--steel); line-height:1.75; margin-top:12px; font-size:.875rem; }
.town-credit-list a { text-decoration:underline; text-underline-offset:3px; }
.town-credit-list .credit-links { display:flex; flex-wrap:wrap; gap:16px; }
.media-credit-intro { max-width:760px; margin-bottom:48px; }
.media-credit-intro p { color:var(--steel); margin-top:20px; line-height:1.8; }
/* A self-contained, page-specific explanation of salt-based softening. */
.softener-explainer { background:var(--navy); color:var(--paper); --flow:#79c1ce; --mineral:#e0a778; }
.softener-explainer :is(.eyebrow,h2 em) { color:var(--craft-light); }
.softener-explainer-heading { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:8%; margin-bottom:50px; }
.softener-explainer-heading>p { color:#bdcacc; max-width:420px; line-height:1.85; padding-bottom:5px; }
.softener-explainer-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:6%; align-items:start; }
.softener-step-controls { display:grid; border-top:1px solid #8b9b9f4a; }
.softener-step-controls[hidden],.softener-step-panel[hidden] { display:none; }
.softener-step-controls button { display:grid; grid-template-columns:24px 1fr 18px; align-items:center; gap:13px; width:100%; min-height:84px; padding:17px 14px; margin:0; border:0; border-bottom:1px solid #8b9b9f4a; border-radius:0; text-align:left; background:transparent; color:#c0cbcd; cursor:pointer; font:inherit; transition:background .2s,color .2s; }
.softener-step-controls button>span:first-child { font-size:.6875rem; color:#d7af8c; }
.softener-step-controls button>span:nth-child(2) { font-size:.9375rem; font-weight:650; letter-spacing:-.015em; }
.softener-step-controls small { display:block; font-size:.75rem; font-weight:400; letter-spacing:0; color:#b6c3c5; margin-top:4px; }
.softener-step-controls button>span:last-child { color:#d7af8c; }
.softener-step-controls button[aria-pressed="true"] { background:#c58b601c; color:#fff9f0; box-shadow:inset 3px 0 var(--copper); }
.softener-step-controls button:hover { background:#ffffff0a; color:#fff9f0; }
.softener-step-controls button:focus-visible { outline:2px solid #e4b68e; outline-offset:3px; position:relative; z-index:1; }
.softener-step-panel { margin-top:30px; }
.softener-explainer.is-enhanced .softener-step-panels { min-height:300px; }
.softener-step-kicker { color:#d7af8c; font-size:.625rem; letter-spacing:.13em; text-transform:uppercase; }
.softener-step-panel h3 { font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.22; margin-top:12px; }
.softener-step-panel>p:not(.softener-step-kicker) { font-size:.875rem; line-height:1.8; color:#bdcacc; margin-top:16px; }
.softener-molecule-row { display:flex; align-items:center; gap:13px; margin-top:24px; }
.softener-ion { display:inline-flex; flex:none; width:38px; height:38px; align-items:center; justify-content:center; border-radius:50%; font-weight:650; font-size:.8125rem; border:1px solid currentColor; }
.softener-ion.is-calcium { color:#12232c; background:#e0a778; border-color:#f4c39c; }
.softener-ion.is-magnesium { color:#12232c; background:#d8c1a6; border-color:#f1ddc5; }
.softener-ion.is-sodium { color:#0f2b32; background:#91cbd4; border-color:#a9e0e8; width:32px; height:32px; }
.softener-molecule-note { font-size:.6875rem; color:#bdcacc; line-height:1.6; }
.softener-exchange-closeup { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:23px; }
.softener-bead { display:block; position:relative; width:64px; height:64px; margin:6px 5px; border:1px solid #edb084; border-radius:50%; background:radial-gradient(circle at 32% 28%,#e3b18b,#aa7049 58%,#654730); box-shadow:0 0 0 7px #c58b6012; }
.softener-bead .softener-ion { position:absolute; width:28px; height:28px; font-size:.625rem; }
.softener-bead .is-calcium { left:-8px; top:1px; }.softener-bead .is-magnesium { right:-6px; bottom:0; }
.softener-exchange-arrow { color:#7ebcc8; font-size:1.5rem; }
.softener-closeup-label { flex-basis:100%; font-size:.6875rem; line-height:1.6; color:#bdcacc; }
.softener-recharge-note { display:flex; gap:15px; align-items:center; margin-top:22px; }
.softener-recharge-note>span { color:#d7af8c; font-size:2.2rem; }
.softener-recharge-note p { color:#bdcacc; font-size:.75rem; line-height:1.6; }.softener-recharge-note strong { color:var(--paper); font-weight:600; }
.softener-cutaway { position:relative; margin:0; min-width:0; padding:25px 26px 20px; border:1px solid #69818a6b; background:radial-gradient(ellipse at 45% 30%,#23414e66,transparent 68%),#142630; border-radius:3px; }
.softener-diagram-top { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#c4d0d2; font-size:.625rem; letter-spacing:.12em; text-transform:uppercase; }
.softener-cycle-badge { display:inline-flex; gap:7px; align-items:center; border:1px solid #779da957; padding:5px 8px; font-size:.5625rem; letter-spacing:.08em; color:#a6dbe2; white-space:nowrap; }
.softener-cycle-badge i { width:5px; height:5px; background:currentColor; border-radius:50%; }
.softener-diagram-canvas { position:relative; padding:48px 0 44px; margin-top:20px; }
.softener-system-svg { display:block; width:100%; height:auto; overflow:visible; }
.softener-pipe-label { position:absolute; top:9px; display:flex; gap:7px; align-items:center; font-size:.6875rem; font-weight:600; color:#dce8e8; white-space:nowrap; }
.softener-pipe-label.is-incoming { left:3%; }.softener-pipe-label.is-home { right:0; }
.softener-flow-dot { width:6px; height:6px; background:var(--flow); border-radius:50%; }.is-incoming .softener-flow-dot { background:var(--mineral); }
.softener-tank-label { position:absolute; bottom:10px; color:#e6eae5; font-size:.8125rem; font-weight:600; text-align:center; }
.softener-tank-label small { display:block; margin-top:3px; color:#afc0c4; font-size:.625rem; font-weight:400; }
.softener-tank-label.is-resin { left:18%; width:36%; }.softener-tank-label.is-brine { left:61%; width:31%; }
.softener-pipe-base,.softener-brine-base,.softener-drain-base { fill:none; stroke:#45616e; stroke-width:11; stroke-linejoin:round; }
.softener-brine-base,.softener-drain-base { stroke-width:7; stroke:#324b57; }
.softener-water-path { fill:none; stroke:var(--flow); stroke-width:3; stroke-linejoin:round; stroke-dasharray:7 10; }
.softener-flow-in { stroke:var(--mineral); }.softener-flow-brine { stroke:#dfc29a; }
.softener-tank-flow { fill:none; stroke:var(--flow); stroke-width:2; stroke-dasharray:5 8; opacity:.8; }
.softener-flow-brine,.softener-flow-drain,.softener-recharge-particles,.softener-arrow-brine,.softener-arrow-drain { opacity:.12; transition:opacity .25s; }
.softener-flow-arrow { fill:none; stroke:var(--flow); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.softener-arrow-in { stroke:var(--mineral); }.softener-arrow-brine { stroke:#dfc29a; }
.softener-system-svg .softener-ca { fill:#e0a778; stroke:#f4c39c; }.softener-system-svg .softener-mg { fill:#d8c1a6; stroke:#f1ddc5; }
.softener-system-svg text { fill:#12232c; font:600 15px 'Manrope',sans-serif; text-anchor:middle; }
.softener-sodium-particles circle { fill:#91cbd4; stroke:#a9e0e8; }
.softener-sodium-particles text { font-size:13px; }
.softener-sodium-particles,.softener-flow-home,.softener-arrow-home,.softener-mineral-particles { transition:opacity .25s; }
.softener-diagram-caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:13px; border-top:1px solid #69818a45; padding-top:18px; color:#bdcacc; font-size:.625rem; }
.softener-diagram-key { display:inline-flex; align-items:center; gap:7px; }.softener-diagram-key i { width:7px; height:7px; border-radius:50%; }.softener-diagram-key .is-hard { background:var(--mineral); }.softener-diagram-key .is-soft { background:var(--flow); }
.softener-drain-label { flex-basis:100%; color:#91a6ac; text-align:right; }
.softener-explainer[data-stage="incoming"] :is(.softener-flow-home,.softener-arrow-home,.softener-sodium-particles,.softener-tank-flow) { opacity:.18; }
.softener-explainer[data-stage="recharge"] :is(.softener-flow-brine,.softener-flow-drain,.softener-recharge-particles,.softener-arrow-brine,.softener-arrow-drain) { opacity:1; }
.softener-explainer[data-stage="recharge"] :is(.softener-flow-home,.softener-arrow-home,.softener-sodium-particles,.softener-mineral-particles,.softener-flow-in,.softener-arrow-in) { opacity:.12; }
.softener-explainer[data-stage="recharge"] .is-home { color:#91a6ac; }.softener-explainer[data-stage="recharge"] .is-home .softener-flow-dot { background:#91a6ac; }.softener-explainer[data-stage="recharge"] .softener-cycle-badge { color:#dfc29a; }
.softener-explainer[data-animate] .softener-water-path,.softener-explainer[data-animate] .softener-tank-flow { animation:softener-flow 1.2s linear 3; }
@keyframes softener-flow { to { stroke-dashoffset:-34; } }
.softener-explainer-footer { display:flex; align-items:center; justify-content:space-between; gap:60px; margin-top:46px; padding-top:30px; border-top:1px solid #8b9b9f4a; }
.softener-explainer-footer>p { max-width:530px; color:#bdcacc; font-size:.875rem; line-height:1.8; }.softener-explainer-footer strong { color:var(--paper); font-weight:600; }
.softener-explainer-footer>div { flex:none; display:flex; flex-direction:column; gap:12px; align-items:flex-end; }
.softener-explainer .text-link { font-size:.8125rem; }.softener-explainer .text-link:hover { color:var(--craft-light); }
.softener-source { color:#b4c4c8; font-size:.625rem; text-decoration:underline; text-underline-offset:4px; min-height:28px; display:inline-flex; align-items:center; }
.softener-diagram-note { margin-top:20px; color:#91a6ac; font-size:.625rem; line-height:1.7; }
@media(max-width:1000px) {
  .softener-explainer-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr); gap:4%; }
  .softener-cutaway { padding:21px 18px 18px; }.softener-step-controls button { padding-inline:11px; gap:9px; }
  .softener-step-controls button>span:nth-child(2) { font-size:.8125rem; }
  .softener-explainer-footer { gap:30px; }
}
@media(max-width:760px) {
  .softener-explainer-heading { display:block; margin-bottom:32px; }.softener-explainer-heading>p { margin-top:24px; font-size:.9375rem; }
  .softener-explainer-grid { display:flex; flex-direction:column; gap:30px; }.softener-explainer-story { display:contents; }
  .softener-step-controls { order:0; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; border:0; }
  .softener-step-controls button { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:10px; padding:14px 11px; border:1px solid #8b9b9f4a; min-height:105px; }
  .softener-step-controls button>span:nth-child(2) { font-size:.75rem; line-height:1.5; }.softener-step-controls small,.softener-step-controls button>span:last-child { display:none; }
  .softener-step-controls button[aria-pressed="true"] { box-shadow:inset 0 3px var(--copper); }
  .softener-cutaway { order:1; width:100%; padding:21px 18px 18px; }
  .softener-step-panels { order:2; width:100%; }.softener-explainer.is-enhanced .softener-step-panels { min-height:275px; }
  .softener-step-panel { margin-top:0; }.softener-step-panel h3 { font-size:1.65rem; }.softener-step-panel h3 br { display:none; }.softener-step-panel>p:not(.softener-step-kicker) { max-width:520px; }
  .softener-pipe-label { font-size:.625rem; gap:5px; }.softener-tank-label { font-size:.75rem; }.softener-tank-label small { font-size:.5625rem; }
  .softener-diagram-canvas { padding-bottom:52px; }
  .softener-explainer-footer { flex-direction:column; align-items:flex-start; gap:23px; margin-top:28px; }.softener-explainer-footer>div { align-items:flex-start; gap:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .softener-explainer[data-animate] .softener-water-path,.softener-explainer[data-animate] .softener-tank-flow { animation:none; }
  .softener-explainer * { transition:none; }
}
@media print {
  .softener-step-controls { display:none!important; }.softener-step-panel[hidden] { display:block!important; }
  .softener-explainer { print-color-adjust:exact; -webkit-print-color-adjust:exact; }.softener-explainer-grid { display:block; }.softener-cutaway { margin-top:30px; }
}
@media(max-width:760px) {
  .detail-option-copy { padding:25px; }
  .detail-town-services { margin-bottom:36px; }
  .inner-page .town-credit-list { grid-template-columns:1fr; gap:48px; }
}

/* Photo credits use a compact reference layout with small, fixed-size previews. */
.page-photo-credits .credits-directory { max-width:1100px; padding-bottom:40px; }
.page-photo-credits .credits-header { padding-bottom:24px; border-bottom:1px solid var(--line); }
.page-photo-credits .breadcrumbs { padding-block:18px 14px; color:var(--steel); font-size:.75rem; }
.page-photo-credits .breadcrumbs [aria-current="page"] { color:var(--steel); }
.page-photo-credits .breadcrumbs a:hover { color:var(--accent-ink); }
.page-photo-credits .credits-header h1 { font-size:2.125rem; line-height:1.2; letter-spacing:-.035em; }
.page-photo-credits .credits-header>p { max-width:780px; margin-top:12px; color:var(--steel); font-size:.875rem; line-height:1.7; }
.page-photo-credits .credits-section { padding-top:28px; scroll-margin-top:120px; }
.page-photo-credits .credits-section h2 { font-size:1.25rem; line-height:1.4; letter-spacing:-.025em; }
.page-photo-credits .credits-section-heading { margin-bottom:14px; }
.page-photo-credits .credits-section>p,
.page-photo-credits .credits-section-heading>p { max-width:860px; margin-top:8px; color:var(--steel); font-size:.8125rem; line-height:1.7; }
.page-photo-credits .credits-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:36px; }
.page-photo-credits .credit-entry { display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; align-items:start; padding-block:16px; border-top:1px solid var(--line); scroll-margin-top:120px; }
.page-photo-credits .credit-thumbnail { width:96px; height:72px; margin:0; overflow:hidden; background:var(--mist); }
.page-photo-credits .credit-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.page-photo-credits .credit-copy { min-width:0; }
.page-photo-credits .credit-copy h3 { font-size:.875rem; line-height:1.5; letter-spacing:-.01em; }
.page-photo-credits .credits-company-photos h3 { font-size:.8125rem; font-weight:500; }
.page-photo-credits .credit-copy p { margin-top:6px; color:var(--steel); font-size:.8125rem; line-height:1.65; overflow-wrap:anywhere; }
.page-photo-credits .credit-copy strong { font-weight:500; }
.page-photo-credits .credit-links { display:flex; flex-wrap:wrap; gap:2px 14px; }
.page-photo-credits .credit-links a { display:inline-flex; align-items:center; min-height:28px; }
.page-photo-credits .credit-copy .credit-changes { font-size:.75rem; }
.page-photo-credits .credits-directory a:not(.breadcrumbs a) { color:var(--accent-ink); text-decoration:underline; text-underline-offset:3px; }
.page-photo-credits .credits-directory a:focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.page-photo-credits .credits-media-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:14px 0 0; }
.page-photo-credits .credits-media-list>div { border-top:1px solid var(--line); padding-top:14px; }
.page-photo-credits .credits-media-list dt { font-size:.875rem; font-weight:650; line-height:1.5; }
.page-photo-credits .credits-media-list dd { margin:6px 0 0; color:var(--steel); font-size:.8125rem; line-height:1.7; }
.page-photo-credits #service-illustrations { margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
@media(max-width:760px) {
  .page-photo-credits .credits-directory { padding-bottom:32px; }
  .page-photo-credits .credits-header h1 { font-size:1.875rem; }
  .page-photo-credits .credits-section { padding-top:24px; }
  .page-photo-credits .credits-grid { grid-template-columns:1fr; }
  .page-photo-credits .credit-entry { grid-template-columns:64px minmax(0,1fr); gap:14px; padding-block:14px; }
  .page-photo-credits .credit-thumbnail { width:64px; height:48px; }
  .page-photo-credits .credits-town-photos .credit-entry { row-gap:6px; }
  .page-photo-credits .credits-town-photos .credit-copy { display:contents; }
  .page-photo-credits .credits-town-photos h3 { align-self:center; }
  .page-photo-credits .credits-town-photos .credit-copy p { grid-column:1/-1; margin-top:0; }
  .page-photo-credits .credits-media-list { grid-template-columns:1fr; gap:16px; }
}

.video-transcript{margin:20px 0 0;border-top:1px solid #8b77674d;font-size:.875rem;line-height:1.7}
.video-transcript summary{padding:14px 0;cursor:pointer;text-underline-offset:4px;font-weight:600;min-height:44px}
.video-transcript>div{padding:0 0 18px}.video-transcript a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.video-transcript p{max-width:76ch}.video-speaker,.video-meta{font-size:.8rem;line-height:1.7}
.video-watch{padding:48px 0 88px;background:#f6f3ed;color:var(--navy)}
.video-watch>.container{max-width:1000px}.video-watch header{margin:32px 0}.video-watch h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;letter-spacing:-.045em;margin:12px 0 20px}
.video-watch header>p{max-width:75ch}.watch-player{aspect-ratio:16/9;background:var(--navy);width:100%}.watch-player iframe{width:100%;height:100%;border:0;display:block}
.video-links{line-height:1.9;font-size:.875rem}.video-links a,.video-transcript-full a{color:inherit;text-underline-offset:4px}
.video-transcript-full{margin-top:42px;max-width:78ch;line-height:1.85}.video-transcript-full h2{font-size:1.6rem}
.video-feature{min-width:0}.video-feature .detail-photo{width:100%}
.video-planning-note{margin:22px 0;padding:16px 20px;border-left:3px solid #a77450;font-size:.875rem;line-height:1.7;max-width:78ch}.video-planning-note p{margin:0 0 8px}.video-planning-note p:last-child{margin-bottom:0}.video-planning-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.editorial-byline{padding:18px 0;font-size:.8rem;line-height:1.8}.editorial-byline a{color:inherit;text-underline-offset:3px}
.business-hours{margin:0}.business-hours div{display:flex;justify-content:space-between;gap:2rem;padding:.55rem 0;border-bottom:1px solid #d9ddd9}.business-hours dd{margin:0}.business-facts p{line-height:1.7}
.video-watch .breadcrumb,.video-watch .breadcrumb a{color:#4d565b}.video-watch .breadcrumb{opacity:1}.video-watch .breadcrumb a:hover{color:var(--navy)}
.inner-page .video-watch .breadcrumbs,.inner-page .video-watch .breadcrumbs [aria-current],.inner-page .video-watch .breadcrumbs a,.page-projects .legal-reading .breadcrumbs,.page-projects .legal-reading .breadcrumbs [aria-current]{color:#4d565b}
.inner-page .video-watch .breadcrumbs{padding-block:12px 18px}.video-watch{padding-top:24px}.video-watch header{margin:20px 0 28px}

/* One confirmed business number powers every call link. */
.phone-cta { display: inline-flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 9px; min-height: 44px; white-space: nowrap; line-height: 1.3; }
.phone-cta .phone-icon { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; color: #dab08d; }
.phone-cta .phone-number { font-size: 1rem; font-weight: 650; letter-spacing: .01em; }
.phone-cta:not(.header-phone):not(.mobile-phone):not(.emergency-phone) .phone-number { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.header-phone { flex-shrink: 0; flex-direction: row; align-items: center; gap: 9px; color: #f6f3ed; margin-left: auto; }
.header-phone + .header-cta { margin-left: 0; }
.phone-cta:focus-visible { outline: 2px solid #dab08d; outline-offset: 5px; }
.phone-cta[href]:hover .phone-number { text-decoration: underline; text-underline-offset: 5px; }
.contact .contact-phone { margin-top: 34px; color: #f6f3ed; gap: 10px; font-size: clamp(1.4rem, 2.3vw, 1.85rem); }
.contact-phone .phone-icon { width: 1em; height: 1em; flex-basis: 1em; }
.contact-phone .phone-number { font-size: inherit; }
.site-footer .footer-contact-links .footer-phone { display: inline-flex; align-items: center; padding-block: 12px; gap: 9px; color: #f6f3ed; }
.site-footer .footer-phone .phone-number { font-size: .9375rem; }
.mobile-action-bar .mobile-phone { gap: 8px; align-items: center; }
.mobile-action-bar .mobile-phone .phone-icon { width: 16px; height: 16px; flex-basis: 16px; color: currentColor; }
.mobile-action-bar .mobile-phone .phone-number { font-size: .875rem; line-height: 1.2; }
@media (max-width: 1100px) {
  .site-header .header-cta { display: none; }
  .site-header .header-phone { background: #c58b60; color: var(--navy); padding: 9px 16px; border-radius: 2px; }
  .site-header .header-phone .phone-icon { color: currentColor; }
}
@media (max-width: 480px) {
  .site-header .header-phone { padding: 8px 11px; gap: 7px; }
  .header-phone .phone-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .header-phone .phone-number { font-size: .8125rem; }
}
@media (max-width: 360px) {
  .site-header .header-phone { padding-inline: 8px; gap: 6px; }
  .header-phone .phone-icon { width: 14px; height: 14px; flex-basis: 14px; }
  .header-phone .phone-number { font-size: .75rem; }
}

/* The same three-step request flow on desktop and mobile, with a full-form option. */
.email-cta { overflow-wrap: anywhere; text-underline-offset: 5px; }
.email-cta:hover { text-decoration: underline; }
.contact-email-block { margin-top: 27px; display: grid; gap: 8px; }
.contact-email-block > span { color: #bdc5c5; font-size: .8125rem; }
.contact-email-block .contact-email { color: #e0b38e; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.7; }
.site-footer .footer-identity .footer-email { color: #dab08d; margin-top: 14px; padding-block: 6px; font-size: .875rem; line-height: 1.7; }
.mobile-menu .menu-email { color: #dab08d; font-size: .875rem; }
.detail-cta-actions .email-cta { color: #e0b38e; font-size: .875rem; line-height: 1.6; }

.contact-form-wrap { scroll-margin-top: 110px; }
.request-trap { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0; pointer-events: none; left: -9999px; }
#service-request { scroll-margin-top: 110px; }
.form-step + .form-step { border-top: 1px solid #ddd3c9; margin-top: 31px; padding-top: 29px; }
.form-step-heading { margin-bottom: 23px; }
.form-step-heading > span { display: block; color: #884a2a; font-size: .6875rem; font-weight: 700; letter-spacing: .11em; }
.form-step-heading h3 { margin-top: 8px; font-size: clamp(1.25rem, 1.8vw, 1.5rem); letter-spacing: -.035em; line-height: 1.35; }
.form-step .intent-choice { margin-bottom: 20px; }
.form-step .form-grid { gap: 18px; }
.form-field input::placeholder { color: var(--steel); opacity: 1; }
.form-field textarea::placeholder { color: var(--steel); opacity: 1; }
.form-field input[aria-invalid="true"] { border-color: #a82727; }
.address-input-wrap { position: relative; }
.address-input-wrap > input { width: 100%; }
.address-suggestions { position: absolute; z-index: 8; inset: calc(100% + 4px) 0 auto; background: #fffdfa; border: 1px solid #c8b5a3; border-radius: 3px; box-shadow: 0 12px 30px rgba(var(--navy-rgb),0.125); }
.address-suggestions[hidden], .address-lookup .form-help[hidden] { display: none; }
.address-suggestions ul { list-style: none; margin: 0; padding: 4px; max-height: 230px; overflow-y: auto; }
.address-suggestions [role="option"] { margin: 0; padding: 12px; font-size: .875rem; line-height: 1.5; color: var(--navy); cursor: pointer; overflow-wrap: anywhere; }
.address-suggestions [role="option"] + [role="option"] { border-top: 1px solid #eee5dc; }
.address-suggestions [role="option"]:hover, .address-suggestions [aria-selected="true"] { background: #f2e4d6; }
.address-attribution { margin: 0; padding: 9px 14px; border-top: 1px solid #eee5dc; color: var(--steel); font-size: .625rem; line-height: 1.6; }
.address-attribution a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.address-attribution-google { padding: 10px 14px 6px; background: #fff; }
.address-attribution-google img { display: block; width: auto; height: 18px; }
.address-lookup .form-help { margin: 8px 0 0; font-size: .75rem; color: var(--steel); line-height: 1.5; }
.address-search-status:empty { display: none; }
.form-step-actions { margin-top: 23px; }
.form-final-actions .form-submit, .home-page .form-final-actions .form-submit { margin-top: 0; width: 100%; justify-content: center; }
.form-next, .form-back { display: none; }
.form-note, .home-page .form-note { display: block; text-align: left; margin-top: 16px; line-height: 1.6; }
.form-note a { display: inline; min-height: 0; margin-left: 4px; padding: 0; vertical-align: baseline; white-space: nowrap; }
.form-status { color: #a82727; margin-top: 15px; }
.form-status:empty { display: none; }
.form-submit:disabled { cursor: not-allowed; opacity: .7; }
.form-fields[disabled] .form-submit:disabled { cursor: wait; }
.request-verification { margin-top: 18px; min-height: 1px; max-width: 100%; }
.form-step :focus-visible, .email-cta:focus-visible { outline: 2px solid #b9794e; outline-offset: 4px; }

.request-progress { display: grid; gap: 10px; margin-bottom: 27px; color: #6f4936; font-size: .75rem; font-weight: 700; }
.request-progress[hidden], .request-progress-track[hidden] { display: none; }
.request-progress-track { display: block; height: 3px; width: 100%; background: #e7dcd0; overflow: hidden; }
.request-progress-track > span { display: block; height: 100%; width: 33.333%; background: #ae744e; transition: width .25s ease; }

/* Confirmation content fits the arrival viewport; enlarged text can still scroll. */
.page-thank-you .thank-you-section { display: flex; min-height: calc(100svh - 98px); padding-block: clamp(16px, 3vh, 32px); background: var(--navy); color: #fff; }
.page-thank-you .thank-you-section .breadcrumbs { padding-block: 0 12px; color: #c4cdcb; }
.page-thank-you .thank-you-section > .container { display: flex; flex-direction: column; }
.thank-you-panel { width: 100%; max-width: 760px; margin: auto; padding: 0 0 8px; text-align: center; }
.thank-you-mark { width: 64px; height: 64px; margin: 0 auto 12px; color: #deb48f; }
.thank-you-mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.5; }
.thank-you-mark circle { stroke-dasharray: 215; stroke-dashoffset: 215; animation: thank-you-draw 1s ease forwards; }
.thank-you-mark path { stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 48; stroke-dashoffset: 48; animation: thank-you-draw .55s ease .65s forwards; }
.thank-you-kicker { color: #e0b38e; font-size: .75rem; font-weight: 700; letter-spacing: .16em; }
.page-thank-you .thank-you-panel h1 { margin-top: 12px; font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.12; letter-spacing: -.045em; }
.thank-you-panel h1 em { color: #e0b38e; font-style: normal; }
.thank-you-panel > p:not(.thank-you-kicker) { max-width: 590px; margin: 16px auto 0; color: #d7dddb; font-size: 1rem; line-height: 1.6; }
.thank-you-panel > p.thank-you-fine { margin-top: 8px; font-size: .875rem; color: #c4cdcb; }
.thank-you-panel .button { margin-top: 20px; }
.page-thank-you .mobile-action-bar { display: none !important; }
@media (max-width: 760px) {
  .page-thank-you .thank-you-section { min-height: calc(100svh - 81px); padding-block: 16px; }
  .page-thank-you .thank-you-section .breadcrumbs { padding-bottom: 8px; }
  .thank-you-mark { width: 52px; height: 52px; margin-bottom: 10px; }
  .thank-you-panel > p:not(.thank-you-kicker) { margin-top: 12px; font-size: .9375rem; }
  .thank-you-panel > p.thank-you-fine { margin-top: 8px; font-size: .8125rem; }
  .thank-you-panel .button { margin-top: 16px; }
}
@media (max-height: 620px) {
  .page-thank-you .thank-you-section { padding-block: 8px; }
  .page-thank-you .thank-you-section .breadcrumbs { padding-bottom: 4px; }
  .thank-you-mark { width: 40px; height: 40px; margin-bottom: 8px; }
  .page-thank-you .thank-you-panel h1 { margin-top: 8px; font-size: 1.75rem; }
  .thank-you-panel > p:not(.thank-you-kicker) { margin-top: 10px; font-size: .875rem; line-height: 1.45; }
  .thank-you-panel > p.thank-you-fine { margin-top: 6px; font-size: .75rem; }
  .thank-you-panel .button { min-height: 48px; margin-top: 12px; padding-block: 12px; }
}
@media (max-height: 480px) and (min-width: 600px) {
  .thank-you-panel { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; row-gap: 8px; align-items: center; }
  .thank-you-mark { display: none; }
  .thank-you-kicker { grid-column: 1; grid-row: 1; }
  .page-thank-you .thank-you-panel h1 { grid-column: 1; grid-row: 2 / 5; align-self: start; margin-top: 0; }
  .thank-you-panel > p:not(.thank-you-kicker) { grid-column: 2; grid-row: 1 / 3; margin-top: 0; }
  .thank-you-panel > p.thank-you-fine { grid-row: 3; }
  .thank-you-panel .button { grid-column: 2; grid-row: 4; margin-top: 0; }
}
@keyframes thank-you-draw { to { stroke-dashoffset: 0; } }

.is-stepped .form-step + .form-step { margin-top: 0; padding-top: 0; border-top: 0; }
.is-stepped .form-step:not(.is-active) { display: none; }
.form-step-heading { margin-bottom: 25px; }
.form-step-heading h3 { font-size: 1.5rem; }
.form-step-actions { display: flex; align-items: center; gap: 16px; }
.is-stepped .form-next { display: inline-flex; width: 100%; justify-content: space-between; margin-top: 23px; }
.is-stepped .form-step-actions .form-next { margin-top: 0; flex: 1; }
.is-stepped .form-back { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 4px; border: 0; background: transparent; color: #573e32; font: inherit; font-size: .875rem; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.form-final-actions .form-submit { width: auto; flex: 1; }
.form-note { font-size: .75rem; }
.is-stepped:not([data-current-step="3"]) .form-note { display: none; }

.request-progress-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.request-view-toggle { border:0; background:none; color:var(--steel); padding:8px 0; min-height:36px; font:inherit; font-size:.75rem; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.address-suggestions [role="option"] strong { display:block; font-weight:550; }
.address-suggestions [role="option"] small { display:block; margin-top:3px; color:var(--steel); font-size:.75rem; }
.form-field input:autofill { color:var(--ink); }
@media (max-width: 47.5em) {
  .contact .form-step .form-grid { grid-template-columns: 1fr; }
  .contact .form-step .form-field.full { grid-column: auto; }
  .contact-form-wrap { scroll-margin-top: 95px; }
  #service-request { scroll-margin-top: 95px; }
  .contact-email-block .contact-email { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .request-progress-track > span { transition: none; }
  .thank-you-mark circle, .thank-you-mark path { animation: none; stroke-dashoffset: 0; }
}

/* Shared, compact navigation. Native disclosures also work without JavaScript. */
.site-header .brand img { width: 118px; height: auto; }
@media (max-width: 760px) { .site-header .brand img { width: 84px; } }
@media (max-width: 360px) { .site-header .brand img { width: 74px; } }
.desktop-nav .nav-dropdown { position: relative; }
.nav-dropdown > summary { display: flex; align-items: center; justify-content: space-between; gap: 9px; cursor: pointer; list-style: none; }
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.desktop-nav .nav-dropdown > summary { padding-block: 20px; min-height: 44px; }
.nav-disclosure-mark { position: relative; flex: 0 0 9px; width: 9px; height: 9px; color: #dab08d; }
.nav-disclosure-mark::before, .nav-disclosure-mark::after { content: ''; position: absolute; background: currentColor; }
.nav-disclosure-mark::before { width: 9px; height: 1px; left: 0; top: 4px; }
.nav-disclosure-mark::after { width: 1px; height: 9px; left: 4px; top: 0; transition: transform 180ms ease; }
.nav-dropdown[open] > summary .nav-disclosure-mark::after { transform: scaleY(0); }
.nav-dropdown[open] > summary, .nav-dropdown[data-section-active] > summary { color: #e0b38e; }
.nav-panel { color: var(--navy); background: #f6f3ed; border-top: 2px solid #c58b60; }
.desktop-nav .nav-panel { position: absolute; top: 100%; left: -24px; width: 580px; max-height: calc(100dvh - 126px); overflow-y: auto; overscroll-behavior: contain; padding: 24px; box-shadow: 0 16px 36px #0003; }
.desktop-nav .nav-dropdown-service-areas .nav-panel { width: 410px; }
.nav-panel-heading { font-size: .6875rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: #854a2b; margin: 0 0 14px; }
.nav-panel-links { padding: 0; margin: 0; list-style: none; }
.desktop-nav .nav-panel-links { display: grid; grid-auto-flow: column; grid-template-rows: repeat(5, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.desktop-nav .nav-dropdown-service-areas .nav-panel-links { grid-template-rows: repeat(4, auto); }
.site-header .nav-panel-links a { display: flex; align-items: center; min-height: 45px; padding: 10px 8px; margin-inline: -8px; font-size: .8125rem; font-weight: 550; line-height: 1.45; border: 0; border-radius: 2px; }
.site-header .nav-panel a::after { content: none; }
.site-header .nav-panel a:hover, .site-header .nav-panel a:focus-visible, .site-header .nav-panel a[aria-current="page"] { color: #854a2b; background: #c58b6014; }
.site-header .nav-panel a:focus-visible { outline: 2px solid #854a2b; outline-offset: 1px; }
.site-header .nav-panel .nav-panel-all { display: block; width: fit-content; padding: 0 0 4px; min-height: 0; margin-top: 20px; border-bottom: 1px solid #c58b60; color: #854a2b; font-size: .8125rem; font-weight: 650; }
.mobile-menu { max-height: calc(100dvh - var(--nav-header-height, 98px)); padding-bottom: max(22px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.mobile-menu .nav-dropdown > summary { padding: 15px 0; min-height: 52px; border-bottom: 1px solid #ffffff1a; font-size: 1rem; }
.mobile-menu .nav-disclosure-mark { margin-right: 3px; }
.mobile-menu .nav-panel { margin-block: 8px 14px; padding: 20px; }
.mobile-menu .nav-panel-links a { min-height: 44px; font-size: .875rem; padding-block: 11px; }
.mobile-menu > a { font-size: 1rem; min-height: 50px; padding-block: 13px; }
.mobile-menu > .mobile-menu-cta { justify-content: center; min-height: 52px; margin-top: 20px; padding: 14px 24px; border: 1px solid transparent; border-radius: 2px; background: var(--copper); color: var(--navy); font-weight: 700; }
.mobile-menu > .mobile-menu-cta:hover { background: #d4a079; transform: none; }
.mobile-menu > .mobile-menu-cta:focus-visible { outline: 2px solid #f6f3ed; outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .nav-dropdown[open] > .nav-panel { animation: navigation-open 180ms ease-out both; }
  .nav-panel a { transition: color 160ms ease, background-color 160ms ease; }
}
@keyframes navigation-open { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .nav-disclosure-mark::after { transition: none; } }

/* Shared motion: brief entrances, steady controls, no looping effects. */
:root { --motion-ease: cubic-bezier(.22, .68, .2, 1); --motion-fast: 220ms; }

@media (prefers-reduced-motion: no-preference) {
  .motion-text { animation: h2o-text-reveal 520ms var(--motion-ease) var(--motion-delay, 0ms) both; }
  .motion-reveal { animation: h2o-reveal 620ms var(--motion-ease) var(--motion-delay, 0ms) both; }
  .motion-hero-image { animation: h2o-image-settle 1200ms var(--motion-ease) both; }
  .mobile-menu:not([hidden]) { animation: h2o-menu-in 200ms var(--motion-ease) both; }
  dialog[open] { animation: h2o-dialog-in 220ms var(--motion-ease) both; }
  dialog[open]::backdrop { animation: h2o-backdrop-in 180ms ease both; }
  .request-summary:not([hidden]) { animation: h2o-reveal 350ms var(--motion-ease) both; }

  .button, .home-page .button {
    transition: background-color var(--motion-fast) ease, color var(--motion-fast) ease,
      border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;
  }
  .button:hover, .button:active, .home-page .button:hover { transform: none; }
  .text-link, .home-page .text-link {
    transition: color var(--motion-fast) ease, text-decoration-color var(--motion-fast) ease;
  }
  .desktop-nav a::after { transition: width 260ms var(--motion-ease); }
  .menu-bars::before, .menu-bars::after { transition: transform 220ms var(--motion-ease); }
  .form-field :is(input, select, textarea), .intent-choice span, .home-page .intent-choice span {
    transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
  }
  .route-card, .area-card, .guide-card, .person-card, .home-page .service-tile, .home-page .softener-package {
    transition: background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
  }
  .faq-list summary, .footer-disclosure > summary { transition: color 180ms ease; }
  .faq-list summary > span::after, .home-page .softener-details summary > span::after {
    transition: transform 240ms var(--motion-ease);
  }
  .site-footer .footer-toggle::after { transform: scaleY(1); transition: transform 220ms var(--motion-ease); }
  .site-footer .footer-disclosure[open] .footer-toggle::after { display: block; transform: scaleY(0); }

  /* Native details retain keyboard, find-in-page, and exclusive-group behavior. */
  @supports (interpolate-size: allow-keywords) and selector(::details-content) {
    :is(.faq-list details, .footer-disclosure, .service-category, .softener-details) { interpolate-size: allow-keywords; }
    :is(.faq-list details, .footer-disclosure, .service-category, .softener-details)::details-content {
      height: 0;
      opacity: 0;
      overflow: clip;
      transition: height 280ms var(--motion-ease), opacity 200ms ease,
        content-visibility 280ms allow-discrete;
    }
    :is(.faq-list details, .footer-disclosure, .service-category, .softener-details)[open]::details-content {
      height: auto;
      opacity: 1;
    }
  }
  @supports not ((interpolate-size: allow-keywords) and selector(::details-content)) {
    :is(.faq-list details, .footer-disclosure, .service-category, .softener-details)[open] > :not(summary) {
      animation: h2o-disclosure-in 200ms ease;
    }
  }

  @media (hover: hover) and (pointer: fine) {
    .standards-photo img, .editorial-photo img, .page-hero-photo img {
      transition: transform 700ms var(--motion-ease);
    }
    .standards-photo:hover img, .editorial-photo:hover img, .page-hero-photo:hover img { transform: scale(1.025); }
    .route-card:hover, .area-card:hover, .guide-card:hover, .person-card:hover,
    .home-page .service-tile:hover, .home-page .softener-package:hover { box-shadow: 0 5px 20px rgba(var(--navy-rgb),0.039); }
  }
}

@keyframes h2o-text-reveal {
  from { opacity: .28; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes h2o-reveal {
  from { opacity: .12; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes h2o-image-settle {
  from { transform: scale(1.018); }
  to { transform: scale(1); }
}
@keyframes h2o-menu-in {
  from { opacity: .25; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes h2o-dialog-in {
  from { opacity: 0; transform: translateY(6px) scale(.995); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes h2o-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes h2o-disclosure-in { from { opacity: .2; } to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

.background-film { position:absolute; inset:0; z-index:-2; overflow:hidden; pointer-events:none; background:var(--navy); }
.background-film > img { display:block; width:100%; height:100%; object-fit:cover; }
.background-film > iframe { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border:0; opacity:0; pointer-events:none; }
.background-film.is-video-playing > iframe { opacity:1; }
/* YouTube's mobile player briefly shows its center overlay at startup even
   with controls disabled. Keep the clean poster visible until it fades. */
.site-footer .background-film.is-video-playing > iframe { animation:footer-film-ready .2s ease 4s both; }
@keyframes footer-film-ready { from { opacity:0; } to { opacity:1; } }
.background-video-toggle { min-height:44px; padding:9px 14px; border:1px solid #f6f3ed70; border-radius:2px; background:rgba(var(--navy-rgb),.8); color:#f6f3ed; font:inherit; font-size:.75rem; cursor:pointer; }
.background-video-toggle:hover { background:var(--navy); border-color:#f6f3ed; }
.background-video-toggle:focus-visible { outline:2px solid #f6f3ed; outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { .background-film > iframe, .background-video-toggle { display:none; } }

.hero-video-toggle{position:absolute;right:24px;bottom:24px;z-index:3}
.site-footer>.background-video-toggle,.detail-film-hero>.background-video-toggle{position:absolute;right:20px;bottom:20px;z-index:3}
.hero-video-toggle[hidden],.background-video-toggle[hidden]{display:none}
@media(max-width:760px){.hero-video-toggle{right:16px;bottom:16px;font-size:.7rem;padding:8px 10px}}

/* Contextual emergency actions open the same focused view. */
.article-section > .emergency-action, .contact-details > .emergency-action { margin-top: 18px; }
.detail-service-card > .emergency-action, .detail-related-copy > .emergency-action, .route-card > .emergency-action { margin-top: auto; }
.emergency-dialog { width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; color: var(--ink); background: #f4f2ed; overflow-y: auto; overscroll-behavior: contain; }
.emergency-dialog::backdrop { background: var(--navy); }
.emergency-shell { width: calc(100% - 64px); max-width: 1080px; margin-inline: auto; }
.emergency-topbar { background: var(--navy); color: #fff; }
.emergency-topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 100px; }
.emergency-brand { display: inline-flex; align-items: center; min-height: 44px; }
.emergency-brand:focus-visible { outline: 2px solid #d7a882; outline-offset: 5px; }
.emergency-topbar img { width: 106px; height: auto; }
.emergency-close { display: flex; align-items: center; gap: 16px; min-height: 44px; padding: 8px 0 8px 12px; background: none; border: 0; color: #fff; font-size: .8125rem; }
.emergency-close span { font-size: 1.8rem; line-height: 1; }
.emergency-close:focus-visible { outline-color: #d7a882; }
.emergency-content { display: grid; grid-template-columns: 1.08fr 1fr; align-items: start; gap: 70px; padding-block: 58px 48px; }
.emergency-kicker { margin-bottom: 16px; color: #9a442f; font-size: .75rem; line-height: 1.4; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.emergency-help h2 { font-size: clamp(2rem, 3.7vw, 2.75rem); letter-spacing: -.05em; line-height: 1.15; }
.emergency-intro { max-width: 440px; margin-top: 20px; font-size: 1rem; line-height: 1.75; color: #4d595e; }
.emergency-phone { display: inline-flex; align-items: flex-start; margin-top: 26px; gap: 7px; color: var(--navy); }
.emergency-phone .phone-number { font-size: clamp(1.65rem, 3.3vw, 2.5rem); line-height: 1.3; font-weight: 800; letter-spacing: -.04em; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
.emergency-tip { margin-top: 34px; padding-top: 25px; border-top: 1px solid #c8c7c0; }
.emergency-tip-heading { display: flex; align-items: center; gap: 12px; }
.emergency-tip-heading svg { width: 32px; height: 32px; fill: none; stroke: #9a442f; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; flex-shrink: 0; }
.emergency-tip h3 { font-size: 1.0625rem; line-height: 1.45; letter-spacing: -.02em; }
.emergency-tip p { margin-top: 12px; font-size: .875rem; line-height: 1.8; color: #4d595e; }
.emergency-tip a { display: inline-block; margin-top: 13px; font-size: .75rem; text-decoration: underline; text-underline-offset: 3px; }
.emergency-callback { padding: 30px; border: 1px solid #dbd8d0; border-top: 3px solid #b44832; background: #fff; border-radius: 3px; }
.emergency-callback h3 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.04em; }
.emergency-form-intro { margin-top: 12px; font-size: .875rem; line-height: 1.7; color: #536069; }
.emergency-callback fieldset { min-width: 0; padding: 0; margin: 23px 0 0; border: 0; }
.emergency-field + .emergency-field { margin-top: 18px; }
.emergency-field label { display: block; margin-bottom: 8px; font-size: .8125rem; line-height: 1.6; font-weight: 700; }
.emergency-field input, .emergency-field textarea { width: 100%; min-height: 48px; padding: 12px 13px; border: 1px solid #aeb7ba; border-radius: 3px; background: #fff; color: var(--ink); font-size: 1rem; line-height: 1.5; }
.emergency-field textarea { resize: vertical; }
.emergency-field [aria-invalid=true] { border-color: #a83220; }
.emergency-field-error { font-size: .75rem; color: #a83220; line-height: 1.6; }
.emergency-field-error:not(:empty) { margin-top: 6px; }
#emergency-verification { margin-top: 12px; }
.emergency-submit { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 52px; margin-top: 18px; padding: 14px 18px; border: 0; border-radius: 3px; background: #a73e29; color: #fff; font-weight: 700; font-size: .875rem; line-height: 1.5; }
.emergency-submit:hover:not(:disabled) { background: #8e301e; }
.emergency-submit:disabled { opacity: .6; cursor: not-allowed; }
.emergency-submit span { font-size: 1.3rem; }
.emergency-status { margin-top: 14px; font-size: .8125rem; line-height: 1.7; }
.emergency-status:empty { display: none; }
.emergency-status.is-success { padding: 15px; border: 1px solid #91b19c; background: #f1f7f2; color: #244c33; }
@media (max-width: 760px) {
  .emergency-shell { width: calc(100% - 40px); }
  .emergency-topbar-inner { min-height: 64px; }
  .emergency-topbar img { width: 86px; }
  .emergency-close { font-size: .75rem; gap: 12px; }
  .emergency-content { grid-template-columns: 1fr; gap: 24px; padding-block: 24px; }
  .emergency-kicker { margin-bottom: 12px; }
  .emergency-help h2 { font-size: 2rem; }
  .emergency-intro { margin-top: 13px; font-size: .9375rem; }
  .emergency-phone { margin-top: 20px; }
  .emergency-phone .phone-number { font-size: 2rem; }
  .emergency-tip { margin-top: 20px; padding-top: 16px; }
  .emergency-tip p { font-size: .8125rem; line-height: 1.65; margin-top: 10px; }
  .emergency-callback { padding: 24px; }
  .emergency-form-intro { display: none; }
  .emergency-callback fieldset { margin-top: 18px; }
}
@media (max-width: 360px) {
  .emergency-callback { padding: 20px; }
}
