@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}

/* Modern plumbing craftsmanship. Loaded exclusively by the homepage. */
.home-page {
  --paper: #f6f3ed;
  --mist: #eae5db;
  --steel: #555e60;
  --line: #d4cec2;
  --copper: #c58b60;
  --accent-ink: #854a2b;
  --craft-light: #dab08d;
  --craft-muted: #b8c0c0;
  background: var(--paper);
}
.home-page .section { padding-block: clamp(80px, 8.3vw, 132px); }
.home-page h2 { font-size: clamp(2.6rem, 4.25vw, 4rem); line-height: 1.07; font-weight: 650; letter-spacing: -.045em; text-wrap: balance; }
.home-page h2 em { color: var(--accent-ink); font-style: normal; }
.home-page .eyebrow { gap: 14px; font-size: .6875rem !important; letter-spacing: .15em; font-weight: 650; margin-bottom: 27px; }
.home-page .eyebrow.dark { color: var(--accent-ink); }
.home-page .eyebrow > span { display: block; flex: 0 0 28px; width: 28px; height: 38px; border: 0; border-radius: 0; background: currentColor; -webkit-mask: url('/assets/brand/waterdrop-line.svg?v=3') center / contain no-repeat; mask: url('/assets/brand/waterdrop-line.svg?v=3') center / contain no-repeat; opacity: 1; }
.home-page .eyebrow > span::after { content: none; }
.home-page .text-link { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; text-decoration-color: var(--copper); transition: color .2s; }
.home-page .text-link:hover { color: var(--accent-ink); }
.home-page .button { border-radius: 2px; background: var(--copper); color: var(--navy); border-color: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); font-weight: 700; transition: background-color .2s, border-color .2s, box-shadow .2s; }
.home-page .button:hover { background: #d4a079; transform: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 3px 16px #00000012; }
.home-page .button:active { background: #bc8056; }
.home-page .button:focus-visible { outline-color: var(--accent-ink); box-shadow: 0 0 0 6px var(--paper); }
.home-page :is(.hero, .site-header, .contact) .button:focus-visible { outline-color: #f6f3ed; box-shadow: 0 0 0 6px #854a2b; }

/* A cinematic opening, with the warm metal accent held to one word. */
.home-page .site-header { background: var(--navy); border-bottom-color: #b9845638; }
.home-page .header-cta { white-space: nowrap; flex-shrink: 0; }
.home-page .desktop-nav a::after { background: var(--copper); }
.home-page .hero { background: var(--navy); }
.home-page .hero-background-video { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; border: 0; opacity: 0; pointer-events: none; }
.home-page .hero-image-frame.is-video-playing .hero-background-video { opacity: 1; }
.home-page .hero::after { background: linear-gradient(90deg, rgba(var(--navy-rgb),0.910) 0%, rgba(var(--navy-rgb),0.680) 38%, rgba(var(--navy-rgb),0.350) 77%, rgba(var(--navy-rgb),0.200)), linear-gradient(0deg, rgba(var(--navy-rgb),0.580), transparent 45%); }
.home-page .hero-copy { position: relative; max-width: 1000px; }
.home-page .hero-copy::before { content: ''; position: absolute; top: 9px; bottom: -32px; left: -28px; width: 42px; border-left: 1px solid #c58b6080; border-bottom: 1px solid #c58b6080; border-radius: 0 0 0 26px; pointer-events: none; }
.home-page .hero-brand-name { color: #f6f3ed; font-size: clamp(1.6rem, 2.5vw, 2.3rem); font-weight: 600; margin-bottom: 1.3rem; }
.home-page .hero h1 { font-size: clamp(3.8rem, 6.1vw, 6.6rem); letter-spacing: -.055em; line-height: 1.055; font-weight: 650; }
.home-page .hero-copper { color: #e0b38e; }
.home-page .hero-description { color: #f0efeb; margin-top: 2rem; font-size: 1.0625rem; }
.home-page .hero-actions { margin-top: 2.3rem; }
.home-page .hero-secondary { color: #f6f3ed; background: rgba(var(--navy-rgb),0.420); border-color: #f6f3ed9c; box-shadow: none; }
.home-page .hero-secondary:hover { color: white; background: rgba(var(--navy-rgb),0.780); border-color: #f6f3ed; box-shadow: none; }

/* Small original line drawings give the service navigation a trade identity. */
.home-page .intro-strip { background: var(--navy); border-top: 1px solid #c58b6099; border-bottom: 1px solid #c58b6038; }
.home-page .intro-inner { padding-block: 32px; gap: 28px; color: #eeebe4; font-size: .875rem; font-weight: 550; }
.home-page .intro-inner > a { grid-column: auto; grid-row: auto; border-left: 1px solid #c58b604d; padding-left: 25px; gap: 17px; min-height: 40px; }
.home-page .intro-inner > a:first-child { border-left: 0; padding-left: 0; }
.home-page .intro-inner > a:hover { color: #e0b38e; }
.home-page .intro-inner svg { width: 36px; height: 36px; stroke: #d7a47e; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 36px; }

/* Porcelain, exposed fittings and a substantial service directory. */
.home-page .services { position: relative; background: var(--paper); padding-block: 44px; }
.home-page .services > .container > .eyebrow { margin-bottom: 18px; }
.home-page .service-opening { grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }
.home-page .service-opening h2 { font-size: clamp(2.8rem, 4vw, 3.8rem); line-height: 1.03; letter-spacing: -.05em; }
.home-page .service-opening p { max-width: 420px; font-size: .9375rem; line-height: 1.65; margin-top: 18px; }
.home-page .service-work-photo { position: relative; isolation: isolate; overflow: visible; aspect-ratio: auto; height: 248px; margin: 0; }
.home-page .service-work-photo img { object-position: 45% center; }
.home-page .service-work-photo::before { content: ''; position: absolute; inset: 16px -16px -16px 16px; z-index: -1; border-right: 1px solid var(--copper); border-bottom: 1px solid var(--copper); border-radius: 0 0 28px 0; }
.home-page .service-work-photo::after { content: ''; position: absolute; right: -20px; bottom: 20px; width: 9px; height: 16px; border: 1px solid var(--copper); background: var(--paper); }
.home-page .service-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 14px; list-style: none; padding: 0; margin: 32px 0 0; }
.home-page .service-tiles > li { min-width: 0; }
.home-page .service-tile { display: flex; align-items: center; gap: 20px; min-height: 104px; padding: 22px; border: 1px solid #cec2b4; background: #faf8f3; color: var(--ink); transition: background-color .2s, border-color .2s; }
.home-page .service-tile svg { width: 32px; height: 32px; flex: 0 0 32px; fill: none; stroke: var(--accent-ink); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.home-page .service-tile h3 { margin: 0; font-size: 1.0625rem; font-weight: 650; line-height: 1.4; letter-spacing: -.02em; }
.home-page .service-tile:hover { background: #f0e7dc; border-color: var(--copper); }
.home-page .service-tile:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 3px; background: #f0e7dc; }
.home-page .service-category > summary { position: relative; cursor: pointer; list-style: none; padding-right: 52px; }
.home-page .service-category > summary::-webkit-details-marker { display: none; }
.home-page .service-category > summary::after { content: '+'; position: absolute; right: 22px; color: var(--accent-ink); font-size: 1.25rem; font-weight: 400; line-height: 1; }
.home-page .service-category[open] > summary { background: #f0e7dc; border-color: var(--copper); }
.home-page .service-category[open] > summary::after { content: '−'; }
.home-page .service-category-options { border: 1px solid var(--copper); border-top: 0; background: #faf8f3; padding: 0 22px; }
.home-page .service-category-options a { display: block; padding: 14px 0; font-size: .9375rem; line-height: 1.5; border-bottom: 1px solid #ddd3c6; }
.home-page .service-category-options a:last-child { border-bottom: 0; }
.home-page .service-category-options a:hover { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 4px; }
.home-page .service-emergency { display: flex; align-items: center; gap: 17px; margin-top: 14px; padding: 15px 20px; background: var(--navy); color: var(--paper); border-left: 3px solid var(--copper); }
.home-page .service-emergency > svg { width: 30px; height: 30px; flex: 0 0 30px; fill: none; stroke: var(--craft-light); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.home-page .service-emergency h3 { font-size: 1.0625rem; line-height: 1.3; font-weight: 650; letter-spacing: -.02em; }
.home-page .service-emergency p { color: #bdc5c5; font-size: .8125rem; line-height: 1.5; margin-top: 3px; }
.home-page .service-emergency .button { margin-left: auto; flex-shrink: 0; min-height: 42px; }
.home-page .service-emergency .button:focus-visible { outline-color: var(--paper); box-shadow: none; }
/* A quiet introduction, with the company film given room to breathe. */
.home-page .craft-pipe-art { position: absolute; z-index: -1; pointer-events: none; stroke: #d3a47d; stroke-width: 1; }
.home-page .company-story { background: var(--navy); color: var(--paper); border-block: 1px solid #c58b602e; }
.home-page .company-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(36px, 4.5vw, 64px); }
.home-page .company-copy { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 8%; }
.home-page .company-copy .eyebrow { color: var(--craft-light); }
.home-page .company-copy h2 { font-size: clamp(2.8rem, 4.05vw, 4rem); line-height: 1.08; }
.home-page .company-copy h2 em { color: var(--craft-light); }
.home-page .company-description p { color: #c8d0d0; font-size: 1rem; line-height: 1.85; }
.home-page .company-description p + p { margin-top: 16px; }
.home-page .company-copy .text-link { color: var(--paper); margin-top: 30px; min-height: 44px; }
.home-page .company-copy .text-link:hover { color: var(--craft-light); }
.home-page .company-copy .text-link:focus-visible, .home-page .company-film a:focus-visible { outline: 2px solid var(--craft-light); outline-offset: 5px; }
.home-page .company-film { margin: 0; min-width: 0; }
.home-page .company-film-frame { position: relative; aspect-ratio: 16 / 9; background: var(--navy); border: 1px solid #c58b6070; box-shadow: 0 24px 60px #00000026; }
.home-page .company-film iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; opacity: 0; pointer-events: none; }
.home-page .company-film-frame.is-ready iframe { opacity: 1; pointer-events: auto; }
.home-page .company-film-poster { display: block; position: absolute; inset: 0; }
.home-page .company-film-poster img { width: 100%; height: 100%; object-fit: cover; }
.home-page .company-play { position: absolute; inset: auto auto 24px 24px; display: flex; align-items: center; gap: 12px; padding: 12px 18px; background: var(--paper); color: var(--ink); font-size: .8125rem; font-weight: 650; box-shadow: 0 4px 24px #0003; transition: background-color .2s; }
.home-page .company-play svg { width: 19px; height: 19px; fill: currentColor; }
.home-page .company-film-poster:hover .company-play { background: var(--craft-light); }

/* The customer's story introduces a clear, installed-price comparison. */
.home-page .water-softeners { background: var(--paper); color: var(--ink); }
.home-page .softener-intro { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 5%; align-items: center; }
.home-page .softener-copy h2 { font-size: clamp(2.8rem, 4.6vw, 4.4rem); }
.home-page .softener-copy > p:not(.eyebrow) { max-width: 420px; font-size: 1rem; line-height: 1.85; margin-top: 25px; color: var(--steel); }
.home-page .softener-copy > p + p { margin-top: 16px; }
.home-page .softener-copy .text-link { margin-top: 26px; color: var(--ink); min-height: 44px; font-size: .875rem; }
.home-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); }
.home-page .softener-kicker { color: var(--accent-ink); font-size: .6875rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.home-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; }
.home-page .softener-package-heading > p { max-width: 440px; color: var(--steel); font-size: .875rem; line-height: 1.8; }
.home-page .softener-packages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 22px; margin-top: 32px; }
.home-page .softener-package { display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid var(--line); background: #fffdfa; }
.home-page .softener-package-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.home-page .softener-package-top h4 { font-size: .75rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.home-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. */
.home-page .softener-product { position: relative; aspect-ratio: 481 / 220; overflow: hidden; background: #f2ede3; }
.home-page .softener-product img { position: absolute; width: 407.693%; max-width: none; height: auto; top: -150.4545%; left: -29.522%; }
.home-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; }
.home-page .softener-product-platinum img { left: -270.686%; }
.home-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; }
.home-page .softener-price > span { font-size: .75rem; font-weight: 500; letter-spacing: 0; color: var(--steel); }
.home-page .softener-equipment { margin-top: 4px; }
.home-page .softener-equipment h5 { margin: 0; font-size: 1rem; line-height: 1.4; font-weight: 650; letter-spacing: -.02em; }
.home-page .softener-equipment > span { display: block; margin-top: 5px; font-size: .6875rem; letter-spacing: .05em; color: var(--steel); }
.home-page .softener-description { min-height: 74px; margin: 14px 0 20px; font-size: .8125rem; line-height: 1.8; color: var(--steel); }
.home-page .softener-workmanship { display: flex; align-items: center; gap: 9px; margin-block: 21px; font-size: .75rem; line-height: 1.6; }
.home-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; }
.home-page .softener-details { border-block: 1px solid var(--line); }
.home-page .softener-details-body { padding-top: 2px; }
.home-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; }
.home-page .softener-details summary::-webkit-details-marker { display: none; }
.home-page .softener-details summary > span { position: relative; width: 12px; height: 12px; flex: 0 0 12px; }
.home-page .softener-details summary > span::before, .home-page .softener-details summary > span::after { content: ''; position: absolute; width: 12px; height: 1px; left: 0; top: 5px; background: currentColor; }
.home-page .softener-details summary > span::after { transform: rotate(90deg); }
.home-page .softener-details[open] summary > span::after { transform: none; }
.home-page .softener-details ul { margin: 0; padding: 0 0 18px 16px; color: var(--steel); font-size: .75rem; line-height: 1.8; }
.home-page .softener-details li + li { margin-top: 6px; }
.home-page .softener-select { display: flex; justify-content: center; margin-top: 22px; min-height: 46px; padding: 12px 18px; font-size: .8125rem; }
.home-page .softener-package:not(.softener-package-featured) .softener-select { background: transparent; border-color: #a59e90; color: var(--ink); box-shadow: none; }
.home-page .softener-package:not(.softener-package-featured) .softener-select:hover { background: var(--paper); border-color: var(--accent-ink); }
.home-page .softener-package-featured { background: var(--navy); border-color: var(--copper); color: var(--paper); }
.home-page .softener-package-featured :is(.softener-price, .softener-package-top h4) { color: var(--craft-light); }
.home-page .softener-package-featured :is(.softener-package-top > span, .softener-price > span, .softener-equipment > span, .softener-description, .softener-details ul) { color: #bdc8ca; }
.home-page .softener-package-featured .softener-workmanship svg { stroke: var(--craft-light); }
.home-page .softener-package-featured .softener-details { border-color: #ffffff26; }
.home-page .softener-package-featured :focus-visible { outline-color: var(--craft-light); }
.home-page .softener-package-featured .button:focus-visible { outline-color: var(--paper); box-shadow: none; }
.home-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; }
.home-page .softener-help p { color: var(--steel); }
.home-page .softener-help .text-link { font-size: .8125rem; min-height: 44px; }

/* A quiet, editorial section gives the bigger statements room. */
.home-page .standards { background: #eae5db; border-block: 1px solid #d4cec2; }
.home-page .standards > .container { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; }
.home-page .standards-top { display: block; }
.home-page .standards-top .eyebrow { padding-top: 0; }
.home-page .standards-top h2 { font-size: clamp(2.5rem, 3.6vw, 3.5rem); max-width: 550px; }
.home-page .standards-photo { margin-top: 34px; aspect-ratio: 3 / 2; overflow: hidden; background: #c4bbad; }
.home-page .standards-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-page .standards-grid { display: block; margin: 0; align-self: center; }
.home-page .standards-grid article { padding: 27px 0; border-color: #c4bbad; }
.home-page .standards-grid article:first-child { padding-top: 0; border-top: 0; }
.home-page .standards-grid article:last-child { padding-bottom: 0; }
.home-page .standard-mark { color: var(--accent-ink); font-size: .6875rem; letter-spacing: .12em; }
.home-page .standards-grid h3 { font-size: 1.5rem; margin-top: 12px; line-height: 1.3; }
.home-page .standards-grid p { font-size: 1rem; max-width: 440px; line-height: 1.8; margin-top: 12px; }

/* A location directory, with the same metal-and-porcelain vocabulary. */
.home-page .service-areas { position: relative; isolation: isolate; background: var(--navy); color: #f6f3ed; border-bottom: 1px solid #c58b6059; overflow: hidden; padding-block: clamp(76px, 6vw, 100px); }
.home-page .service-areas::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); }
.home-page .service-areas .eyebrow { color: var(--craft-light); }
.home-page .area-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.16fr); grid-template-areas: 'copy map' 'cities map'; column-gap: 7%; row-gap: 22px; }
.home-page .area-copy { grid-area: copy; align-self: end; }
.home-page .area-copy h2 { font-size: clamp(2.5rem, 3.8vw, 3.7rem); }
.home-page .area-grid > div > p:not(.eyebrow) { color: #bdc5c5; font-size: 1rem; max-width: 400px; line-height: 1.9; }
.home-page .area-grid .text-link { color: #f6f3ed; }
.home-page .area-grid .text-link:hover { color: var(--craft-light); }
.home-page .cities { grid-area: cities; align-self: start; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; margin: 0; }
.home-page .city-link { border-color: #b38f6d59; font-size: 1rem; min-height: 55px; padding-block: 13px; font-weight: 550; }
.home-page .city-link:is(:hover, :focus-visible, .is-active) { color: var(--craft-light); }
.home-page .city-link.is-active span { text-decoration: underline; text-decoration-color: var(--copper); text-underline-offset: 6px; }
.home-page .service-map { grid-area: map; min-width: 0; border: 1px solid #b38f6d42; background: var(--navy); }
.home-page .service-map svg { display: block; width: 100%; height: auto; }
.home-page .map-county { fill: var(--navy); stroke: #ffffff1f; stroke-width: 1; fill-rule: evenodd; }
.home-page .map-water { fill: #ffffff0f; stroke: #ffffff26; stroke-width: .6; fill-rule: evenodd; }
.home-page .map-road { fill: none; stroke: #ffffff45; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.home-page .map-road-primary { stroke: #84908b; stroke-width: 1.8; }
.home-page .map-city { cursor: pointer; }
.home-page .map-city-area { fill: #c58b6029; stroke: #c58b608f; stroke-width: 1; fill-rule: evenodd; transition: fill .2s, stroke .2s; }
.home-page .map-city-halo { fill: #c58b6024; stroke: #c58b6073; stroke-width: 1; transition: fill .2s, stroke .2s; }
.home-page .map-city-dot { fill: #dfb18b; stroke: var(--navy); stroke-width: 2; transition: fill .2s; }
.home-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; }
.home-page .map-city:is(:hover, :focus-visible, .is-active) .map-city-area { fill: #c58b6052; stroke: #e0b38e; }
.home-page .map-city:is(:hover, :focus-visible, .is-active) .map-city-halo { fill: #c58b6052; stroke: #e0b38e; }
.home-page .map-city:is(:hover, :focus-visible, .is-active) .map-city-dot { fill: #fff9ef; }
.home-page .map-city:is(:hover, :focus-visible, .is-active) text { fill: #e8bc98; }
.home-page .map-city:focus-visible { outline: none; }
.home-page .map-city:focus-visible text { text-decoration: underline; }
.home-page .map-compass, .home-page .map-scale { fill: #b8c5c7; font-size: 12px; letter-spacing: .04em; }
.home-page .map-compass path, .home-page .map-scale path { stroke: #b8c5c7; fill: none; stroke-width: 1.2; }
.home-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; }
.home-page .service-map figcaption > span { display: flex; align-items: center; gap: 8px; }
.home-page .service-map figcaption i { width: 6px; height: 6px; border-radius: 50%; background: var(--craft-light); }
.home-page .service-map figcaption a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #b38f6d80; }
.home-page .service-map figcaption a:hover { color: var(--craft-light); }
.home-page .service-areas :focus-visible { outline-color: var(--craft-light); }

.home-page .faq { background: var(--paper); }
.home-page .faq-grid { grid-template-columns: 1fr 1.2fr; gap: 12%; }
.home-page .faq-list { border-color: #bca48d; }
.home-page .faq-list details { border-color: var(--line); }
.home-page .faq-list summary { font-size: 1.0625rem; line-height: 1.65; padding-block: 27px; font-weight: 550; }
.home-page .faq-list summary > span { width: 30px; height: 30px; border: 1px solid #c58b6073; border-radius: 50%; }
.home-page .faq-list summary > span::before, .home-page .faq-list summary > span::after { background: var(--accent-ink); top: 14px; left: 8px; width: 12px; }
.home-page .faq-list details > div { font-size: 1rem; line-height: 1.85; padding-bottom: 27px; }

/* A quieter invitation, paired with a compact request form. */
.home-page .contact { position: relative; background: var(--navy); border-top: 1px solid #c58b6080; padding-block: clamp(76px, 7vw, 108px); }
.home-page .contact-copy .eyebrow { color: var(--craft-light); }
.home-page .contact-grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 8%; align-items: center; }
.home-page .contact-copy { padding: 0; }
.home-page .contact h2 { font-size: clamp(3rem, 4.9vw, 4.8rem); letter-spacing: -.045em; line-height: 1.08; }
.home-page .contact h2 em { color: #e0b38e; }
.home-page .contact-form-wrap { min-width: 0; border-radius: 2px; background: var(--paper); border: 1px solid #d4cec2; padding: clamp(26px, 2.8vw, 40px); box-shadow: none; }
.home-page .preview-note { border: 0; padding: 0; margin: 0 0 24px; font-size: .6875rem; }
.home-page .form-grid { gap: 20px 18px; }
.home-page .form-field { gap: 7px; }
.home-page .form-field label { font-size: .8125rem; font-weight: 550; }
.home-page .form-field :is(input, select, textarea) { background: #fffdfa; border-color: #cbc4b9; border-radius: 2px; min-height: 48px; }
.home-page .form-field textarea { min-height: 90px; }
.home-page .form-field textarea::placeholder { color: #656d6c; }
.home-page .intent-choice { gap: 0; margin-bottom: 24px; }
.home-page .intent-choice legend { font-weight: 550; }
.home-page .intent-choice span { height: 100%; text-align: center; border-color: #cbc4b9; border-radius: 0; min-height: 46px; }
.home-page .intent-choice label:first-of-type span { border-radius: 2px 0 0 2px; }
.home-page .intent-choice label:last-of-type span { border-radius: 0 2px 2px 0; margin-left: -1px; }
.home-page .intent-choice input:checked + span::before { display: none; }
.home-page .intent-choice input:checked + span { background: #efe0d1; color: #754125; border-color: #a36741; }
.home-page .intent-choice input:checked + span { position: relative; z-index: 1; }
.home-page .consent-label { margin-top: 18px; }
.home-page .form-submit { justify-content: center; margin-top: 20px; }
.home-page .mobile-action-bar { background: var(--navy); border-top-color: #b58b635c; }
.home-page .mobile-action-bar a:not(.mobile-secondary) { background: var(--copper); color: var(--navy); }
.home-page .mobile-action-bar.is-hidden { transform: translateY(110%); visibility: hidden; pointer-events: none; }

@media (max-width: 1100px) {
  .home-page .company-copy { gap: 5%; }
  .home-page .company-copy h2 { font-size: clamp(2.35rem, 4.15vw, 3rem); }
  .home-page .service-tile { gap: 12px; padding: 16px; }
  .home-page .service-tile svg { width: 28px; height: 28px; flex-basis: 28px; }
  .home-page .service-tile h3 { font-size: .9375rem; }
  .home-page .intro-inner { gap: 16px; }
  .home-page .intro-inner > a { padding-left: 16px; gap: 12px; }
  .home-page .intro-inner svg { flex-basis: 30px; width: 30px; height: 30px; }
  .home-page .standards > .container, .home-page .faq-grid, .home-page .contact-grid { gap: 7%; }
  .home-page .softener-intro { gap: 5%; }
  .home-page .softener-packages { gap: 15px; }
  .home-page .softener-package { padding: 20px; }
  .home-page .softener-package-top { align-items: flex-start; flex-direction: column; gap: 5px; }
  .home-page .cities { column-gap: 24px; }
  .home-page .city-link { font-size: 1rem; }
}
@media (max-width: 760px) {
  .home-page .company-grid { grid-template-columns: 1fr; gap: 38px; }
  .home-page .company-copy { grid-template-columns: minmax(0, 1fr); gap: 25px; max-width: 580px; }
  .home-page .company-copy h2 { font-size: clamp(2.4rem, 8.3vw, 3.7rem); }
  .home-page .company-description p { max-width: 560px; font-size: .9375rem; line-height: 1.8; }
  .home-page .company-copy .text-link { margin-top: 20px; }
  .home-page .section { padding-block: 76px; }
  .home-page .services { padding-block: 40px; }
  .home-page h2 { font-size: clamp(2.4rem, 8vw, 3.8rem); letter-spacing: -.04em; line-height: 1.1; }
  .home-page .eyebrow { font-size: .625rem !important; margin-bottom: 24px; gap: 12px; }
  .home-page .hero h1 { font-size: clamp(2.7rem, 8.8vw, 4.6rem); line-height: 1.09; letter-spacing: -.045em; }
  .home-page .hero-brand-name { font-size: 1.375rem; margin-bottom: 1.3rem; }
  .home-page .hero-copy::before { left: -12px; top: 6px; bottom: -23px; width: 24px; border-bottom-left-radius: 16px; opacity: .6; }
  .home-page .hero::after { background: linear-gradient(90deg, rgba(var(--navy-rgb),0.878), rgba(var(--navy-rgb),0.439)), linear-gradient(0deg, rgba(var(--navy-rgb),0.678), transparent 75%); }
  .home-page .hero-description { font-size: 1rem; max-width: 320px; line-height: 1.8; margin-top: 1.7rem; }
  .home-page .hero-actions { margin-top: 1.85rem; }
  .home-page .intro-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; padding-block: 15px; font-size: .8125rem; }
  .home-page .intro-inner > a, .home-page .intro-inner > a:first-child { padding: 18px 0; border-left: 0; gap: 12px; min-height: 75px; }
  .home-page .intro-inner > a:nth-child(n+3) { border-top: 1px solid #b58b6342; }
  .home-page .intro-inner svg { width: 29px; height: 29px; flex-basis: 29px; }
  .home-page .service-opening { grid-template-columns: 1fr 1fr; gap: 22px; }
  .home-page .service-opening h2 { font-size: clamp(1.5rem, 4.6vw, 2.4rem); }
  .home-page .service-opening p { margin-top: 14px; font-size: .875rem; }
  .home-page .service-work-photo { margin: 0 10px 0 0; height: 210px; aspect-ratio: auto; }
  .home-page .service-work-photo::before { inset: 12px -12px -12px 12px; }
  .home-page .service-work-photo::after { right: -16px; }
  .home-page .service-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 28px; }
  .home-page .service-tile { min-height: 100px; padding: 14px; gap: 10px; }
  .home-page .service-tile svg { width: 25px; height: 25px; flex-basis: 25px; }
  .home-page .service-tile h3 { font-size: .875rem; line-height: 1.35; }
  .home-page .service-category > summary { padding-right: 28px; }
  .home-page .service-category > summary::after { right: 10px; font-size: 1rem; }
  .home-page .service-category-options { padding-inline: 14px; }
  .home-page .service-category-options a { font-size: .875rem; }
  .home-page .service-emergency { gap: 12px; padding: 14px; }
  .home-page .service-emergency > svg { display: none; }
  .home-page .service-emergency h3 { font-size: .9375rem; }
  .home-page .service-emergency p { display: none; }
  .home-page .service-emergency .button { padding: 10px 12px; font-size: .75rem; }
  .home-page .softener-intro { grid-template-columns: 1fr; gap: 32px; }
  .home-page .softener-copy h2 { font-size: clamp(2.7rem, 9vw, 4rem); }
  .home-page .softener-copy > p:not(.eyebrow) { max-width: 560px; font-size: .9375rem; margin-top: 20px; }
  .home-page .softener-package-heading { display: block; margin-top: 46px; padding-top: 30px; }
  .home-page .softener-package-heading > p { margin-top: 16px; max-width: 560px; }
  .home-page .softener-packages { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  .home-page .softener-package { padding: 24px; }
  .home-page .softener-package-top { flex-direction: row; align-items: center; }
  .home-page .softener-product { max-width: 420px; width: 100%; align-self: center; }
  .home-page .softener-price { font-size: 2.5rem; }
  .home-page .softener-equipment, .home-page .softener-description { min-height: 0; }
  .home-page .softener-description { font-size: .875rem; }
  .home-page .softener-help { display: block; margin-top: 26px; }
  .home-page .softener-help .text-link { margin-top: 10px; }
  .home-page .standards > .container { grid-template-columns: 1fr; gap: 40px; }
  .home-page .standards-top h2 { font-size: clamp(2.3rem, 7.9vw, 3.8rem); }
  .home-page .standards-grid article { padding-block: 25px; }
  .home-page .standards-grid h3 { font-size: 1.4rem; }
  .home-page .standards-grid p { font-size: .9375rem; }
  .home-page .area-grid, .home-page .faq-grid, .home-page .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .home-page .area-grid { grid-template-areas: 'copy' 'map' 'cities'; gap: 30px; }
  .home-page .cities { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; margin: 0; }
  .home-page .city-link { min-height: 64px; padding-block: 18px; font-size: 1rem; }
  .home-page .area-copy h2 { font-size: clamp(2.3rem, 7.9vw, 3.5rem); }
  .home-page .map-city text { font-size: 26px; stroke-width: 6px; }
  .home-page .map-compass, .home-page .map-scale { font-size: 18px; }
  .home-page .service-map figcaption { padding: 12px 14px; font-size: .625rem; }
  .home-page .area-grid > div > p:not(.eyebrow) { font-size: 1rem; margin-top: 25px; }
  .home-page .faq-list summary { font-size: 1rem; gap: 20px; padding-block: 24px; }
  .home-page .faq-list details > div { font-size: .9375rem; padding-right: 0; }
  .home-page .faq-list summary > span { margin-right: 0; }
  .home-page .contact h2 { font-size: clamp(2.3rem, 8vw, 3.8rem); }
  .home-page .contact-form-wrap { padding: 25px; }
  .home-page .contact .form-grid { grid-template-columns: 1fr 1fr; }
  .home-page .contact .form-field :is(input, select, textarea) { font-size: 1rem; }
}
@media (max-width: 360px) {
  .home-page .header-cta { font-size: .75rem; padding-inline: 9px; }
  .home-page .hero h1 { font-size: 2.4rem; }
  .home-page .hero-brand-name { font-size: 1.25rem; }
  .home-page .hero-description { font-size: .9375rem; }
  .home-page .service-opening h2 { font-size: 2.5rem; }
  .home-page .intro-inner { column-gap: 15px; }
  .home-page .intro-inner > a { gap: 8px; font-size: .75rem; }
  .home-page .intro-inner svg { width: 25px; flex-basis: 25px; }
  .home-page .contact-form-wrap { padding: 23px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page *, .home-page *::before, .home-page *::after { scroll-behavior: auto !important; transition: none !important; }
  .home-page .hero-background-video { display: none; }
}
@media print {
  .home-page .craft-pipe-art, .home-page .hero-background-video { display: none; }
}

/* Keep the full desktop directory visible even on shorter laptop screens. */
@media (min-width: 761px) and (max-height: 820px) {
  .home-page .services { padding-block: 22px; }
  .home-page .services > .container > .eyebrow { margin-bottom: 12px; }
  .home-page .service-opening h2 { font-size: clamp(2.15rem, 3.3vw, 2.7rem); }
  .home-page .service-opening p { margin-top: 12px; font-size: .875rem; line-height: 1.5; }
  .home-page .service-work-photo { height: 175px; }
  .home-page .service-tiles { margin-top: 24px; gap: 8px; }
  .home-page .service-tile { min-height: 88px; padding: 16px; gap: 16px; }
  .home-page .service-tile svg { width: 28px; height: 28px; flex-basis: 28px; }
  .home-page .service-tile h3 { font-size: .9375rem; line-height: 1.3; }
  .home-page .service-emergency { padding: 10px 16px; margin-top: 12px; }
}
@media (min-width: 761px) and (max-width: 950px) {
  .home-page .service-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .home-page .service-opening { gap: 16px; }
  .home-page .service-opening > div { display: contents; }
  .home-page .service-opening h2 { grid-column: 1; grid-row: 1; font-size: clamp(1.15rem, 4.9vw, 1.55rem); white-space: nowrap; }
  .home-page .service-opening p { grid-column: 1 / -1; grid-row: 2; max-width: none; margin-top: 4px; font-size: .875rem; line-height: 1.6; }
  .home-page .service-work-photo { grid-column: 2; grid-row: 1; height: 144px; margin-right: 6px; }
  .home-page .service-work-photo::before { inset: 8px -8px -8px 8px; }
  .home-page .service-work-photo::after { right: -12px; }
  .home-page .service-tile { flex-direction: column; justify-content: center; text-align: center; min-height: 118px; padding: 14px 10px; gap: 8px; }
  .home-page .service-category > summary { padding-right: 10px; }
  .home-page .service-category > summary::after { right: 10px; top: 12px; }
  .home-page .service-tile svg { width: 22px; height: 22px; flex-basis: 22px; }
  .home-page .service-tile h3 { font-size: .875rem; }
}
@media (min-width: 951px) and (max-height: 720px) {
  .home-page .services { padding-block: 18px; }
  .home-page .service-opening h2 { font-size: 2.25rem; }
  .home-page .service-work-photo { height: 150px; }
  .home-page .service-tiles { margin-top: 20px; }
  .home-page .service-tile { min-height: 70px; padding-block: 12px; }
}

/* 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; }
}

.installation-guarantee { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px; align-items:center; margin-top:32px; padding:32px; background:#eee6db; border:1px solid #d1baa4; border-left:4px solid var(--copper); color:var(--ink); }
.installation-guarantee .guarantee-kicker { margin:0 0 12px; color:var(--accent-ink); font-size:.6875rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.installation-guarantee .guarantee-heading { margin:0; max-width:430px; color:var(--ink); font-size:clamp(1.6rem,2.5vw,2.4rem); line-height:1.2; letter-spacing:-.035em; }
.installation-guarantee .guarantee-scope { margin-top:14px; max-width:420px; color:var(--steel); font-size:.875rem; line-height:1.8; }
.installation-guarantee blockquote { margin:0; padding:0 0 0 28px; border-left:1px solid #c5ac94; }
.installation-guarantee blockquote>p { margin:0; color:var(--ink); font-size:1rem; line-height:1.75; }
.installation-guarantee cite { display:block; margin-top:14px; color:var(--steel); font-size:.75rem; font-style:normal; line-height:1.6; }
.installation-guarantee .text-link { display:inline-flex; margin-top:12px; min-height:44px; align-items:center; color:var(--ink); font-size:.8125rem; }
.guarantee-film-section { padding-bottom:64px; }
@media(max-width:760px) { .installation-guarantee { grid-template-columns:minmax(0,1fr); gap:24px; padding:24px; } .installation-guarantee blockquote { padding:20px 0 0; border-left:0; border-top:1px solid #c5ac94; } }

.softener-story { min-width: 0; }
.softener-story-frame { position: relative; aspect-ratio: 16 / 9; background: var(--navy); overflow: hidden; }
.softener-story-frame > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.softener-story-frame > iframe:focus-visible { outline: 3px solid var(--copper); outline-offset: -3px; }
.softener-story-play { position: absolute; inset: 0; display: flex; align-items: flex-end; gap: 13px; border: 0; padding: 26px; width: 100%; background: linear-gradient(transparent 55%, rgba(var(--navy-rgb),0.788)); color: var(--paper); text-align: left; }
.softener-play-disc { flex: 0 0 50px; display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #ffffff99; background: rgba(var(--navy-rgb),0.251); border-radius: 50%; transition: background-color .2s, border-color .2s; }
.softener-play-disc svg { width: 20px; height: 20px; fill: currentColor; }
.softener-story-play > span:last-child { font-size: .875rem; font-weight: 650; align-self: flex-end; padding-bottom: 3px; }
.softener-story-play small { display: block; font-size: .6875rem; font-weight: 500; opacity: .8; margin-top: 3px; }
.softener-story-play:hover .softener-play-disc { background: var(--copper); border-color: var(--copper); color: var(--navy); }
.softener-story-play:focus-visible { outline: 3px solid var(--copper); outline-offset: -6px; }
.softener-story-frame > iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; opacity:0; pointer-events:none; }
.softener-story-frame.is-playing > iframe { opacity:1; pointer-events:auto; }
@media(max-width:760px) { .softener-story-play { padding:18px; } .softener-play-disc { width:44px; height:44px; flex-basis:44px; } }

.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; }
.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; }
}
