/* PUROX colour rhythm: graphite, terracotta, peach and warm ivory. */
:root{--paper:#f3e7d9;--cream:#e7ceba;--line:#cbb7a4;--muted:#626256;--orange:#b94e27;--orange-light:#ee9c70}
body{background:#f3e7d9}
.site-header{background:#f4e9dc;border-bottom-color:#ccb39d55}
nav{background:#f4e9dc}
.service-price-strip{background:#e7c6ac;border-bottom-color:#c29878}
.service-price-strip .wrap>a{border-color:#bb907066}
.service-price-strip .wrap>a>span,.strip-note{color:#535447}
.strip-note{border-color:#bb907066}
.strip-note>a{color:#773117}

/* Each major part of the homepage has an intentional colour role. */
.needs-section{background:#a94728;color:#fff1e3}
.needs-section .eyebrow{color:#fbd5b8}
.needs-section .eyebrow>span{background:#f0b184}
.needs-section h2 em{color:#ffd8b4}
.needs-section .editorial-heading>p{color:#ffe0c9}
.needs-selector>button{border-color:#f7c4a361;color:#fff1e3}
.needs-selector>button:last-child{border-color:#f7c4a361}
.needs-selector>button>span:first-child,.needs-selector>button small{color:#ffe5ca}
.needs-selector>button[aria-selected=true]{background:#f3cfac;color:#34291d}
.needs-selector>button[aria-selected=true]>span:first-child,.needs-selector>button[aria-selected=true]>svg{color:#823518}
.needs-selector>button[aria-selected=true] small{color:#664932}
.need-panel{background:#2b3027;border-color:#e8a16f;box-shadow:0 20px 50px #441d121f}
.need-kicker{color:#eeb485}
.need-panel h3{color:#fff0df}
.need-panel>p:not(.need-note){color:#d1d7c6}
.need-tags>span{border-color:#748162;color:#dfdfca}
.need-panel>.text-link{border-color:#a7b096;color:#f1b38a}
.need-note{color:#bcc6af}
.real-work{background:#eed1b7}
.real-work h2 em{color:#9c482a}
.gallery-filters>button{border-color:#af8d71;color:#5b4434}
.gallery-filters>button[aria-pressed=true]{color:#fff0df;background:#303428;border-color:#303428}
.gallery-arrows>button{border-color:#9e7c61}
.gallery-arrows>button:hover:not(:disabled){background:#deb595}
.visit-section{background:#282d25;color:#f8ebdb}
.visit-copy .eyebrow{color:#d9bda1}
.visit-copy h2 em{color:#eaaa7e}
.visit-intro,.visit-step-body>p{color:#c5cdb8}
.visit-step,.visit-step:last-child{border-color:#69745d88}
.visit-step button>span:first-child{color:#eda773}
.visit-step.active .step-heading{color:#f2b98e}
.step-symbol{color:#b5c29f}
.visit-copy>.text-link{color:#f3c6a3;border-color:#ac947a}
.home-estimator{background:#dce0cc}
.home-estimator h2 em{color:#954328}
.estimate-presets>button{background:#f2d5b9;border-color:#bb956f;color:#352b1e}
.estimate-presets>button:hover{background:#e8bc96;border-color:#7d472c}
.estimate-presets strong{color:#84381c}
.estimate-presets small{color:#4b5540}
.home-summary{box-shadow:14px 14px 0 #bcc3a6;border-top:3px solid #dd8051}
.hospitality-callout{background:#33372c}
.hospitality-outline{background:#b7502c;border-color:#f1ac797a;box-shadow:15px 15px 0 #151e1633}
.hospitality-outline>span{color:#ffdfc4}
.hospitality-outline>a{color:#fff3e4;border-color:#ffd7b56e}
.method-section{background:#e5b08b;border-color:#c78a60}
.method-grid h2 em{color:#85391e}
.method-grid>div>p:not(.eyebrow){color:#463d2d}
.method-grid .text-link{color:#532d1b;border-color:#75452a}
.faq-section{background:#ead7c2}
.faq-list details{border-color:#c1a58b}
.faq-list details[open]{background:#dfbea2}
.faq-list details[open] summary{color:#71371f}
.faq-list summary{padding-inline:16px}
.faq-answer{padding-inline:16px;color:#4c4b3e}

/* All subpage heroes carry the same identity as the front page. */
.page-hero{color:#faeddf;background:radial-gradient(ellipse at 95% 0%,#a44f2f66,transparent 64%),#272d24;position:relative;overflow:hidden;border-bottom:5px solid #c36a40}
.page-hero::after{content:'';position:absolute;width:370px;height:370px;border:1px solid #df9b6752;border-radius:50%;right:-150px;top:-150px;pointer-events:none}
.page-hero-inner{position:relative;z-index:1}
.page-hero h1 em{color:#f1b58b}
.page-hero .eyebrow{color:#d8c8b1}
.page-hero .eyebrow>span{background:#e49562}
.page-hero p:not(.eyebrow){color:#cbd1bd}
.page-hero-photo{outline:1px solid #b78058;outline-offset:7px}
.page-breadcrumb{margin-bottom:36px;font-size:10px;line-height:1.7;color:#bfc7b3}
.page-breadcrumb ol{display:flex;flex-wrap:wrap;gap:7px 10px;list-style:none;margin:0;padding:0}
.page-breadcrumb li+li::before{content:'/';margin-right:10px;color:#c78a5e}
.page-breadcrumb a{color:#e6c8a6;text-decoration:underline;text-underline-offset:3px}
.page-breadcrumb [aria-current=page]{color:#c1c9b6}
.inner-page main>.section-pad:not(.closing):not(.page-hero):not(.faq-section):not(.process):not(.tinted):not(.steam-detail):not(.tech-detail-section){background:#f0ddc7}
.inner-page main>.section-pad:nth-of-type(odd):not(.closing):not(.page-hero):not(.faq-section):not(.process):not(.tinted):not(.steam-detail):not(.tech-detail-section){background:#e4c4a7}
.inner-page .process{background:#30352b;color:#faeddd}
.inner-page .process .eyebrow{color:#ddc7ab}
.inner-page .process h2 em{color:#eaa579}
.inner-page .process-step{border-color:#738064}
.inner-page .process-step>span{color:#e09b6a}
.inner-page .process-step p{color:#c5cfb7}
.inner-page .tinted{background:#30362b;color:#faeddd}
.inner-page .hospitality-services article{border-color:#728060}
.inner-page .hospitality-services article>span{color:#e4a475}
.inner-page .hospitality-services p{color:#c3cdb4}
.catalog-card{padding:18px;background:#30352b;color:#faeddd;border:1px solid #978065}
.catalog-card:nth-child(even){background:#563e2d}
.catalog-card .catalog-heading{margin-top:20px}
.catalog-card>p{color:#d4d8c6}
.catalog-card .catalog-price{color:#efae7e}
.catalog-card .catalog-price small{color:#d2c5b1}
.catalog-photo{background:#dfc2a5}
.price-card{background:#30352b;color:#f8eada;border-top:4px solid #d77646}
.price-card .eyebrow{color:#d8c1a3}
.price-card>strong{color:#f0b387}
.price-card>span,.price-card>p:not(.eyebrow){color:#c9d2bb}
.price-card .quiet-link{color:#dfd7c4}
.price-card .button{background:#e59564;color:#20261c}
.check-list li::before{color:#a74925}
.tech-detail-section{background:#e4c1a3}
.steam-detail{background:#d9ddc8}
.detail-product-image{background:#eedec8;border:1px solid #bfa181}
.comparison table{background:#ead8c0}
.comparison thead{background:#34402b;color:#f4e9d8}
.comparison th,.comparison td{border-color:#c2b192}
.comparison tbody tr:nth-child(even){background:#d3d8bd}

/* Price rows: wet treatment belongs to its own surface. */
.calc-item{padding:18px 20px;margin-bottom:14px;background:#ead8c1;border:1px solid #c5ad90}
.calc-item .calc-row,.home-calc-rows .calc-item .calc-row{padding:0 0 16px;border:0;gap:16px;align-items:center}
.calc-item .calc-product h3{font-size:19px;margin-bottom:8px}
.calc-item .calc-product>span{color:#66513c;font-size:11px}
.calc-item .quantity,.home-calc-rows .calc-item .quantity{background:#f5ead9;border-color:#bfa88a}
.calc-item .quantity input{font-size:16px}
.calc-item .quantity button{color:#5f573f}
.calc-item .quantity button:hover{background:#e5bd97;color:#70381d}
.calc-item .row-total{font-size:14px;white-space:nowrap}
.home-calc-rows{border:0}
.wet-choice{display:flex;align-items:center;gap:10px;width:100%;padding:12px 13px;background:#dfc3a6;border:1px solid #bb9673;cursor:pointer;transition:background .2s,border-color .2s}
.wet-choice input{accent-color:#813c20;width:18px;height:18px;flex-shrink:0;margin:0}
.wet-choice>span:not(.wet-choice-mark){display:flex;justify-content:space-between;align-items:center;gap:7px 15px;flex:1;flex-wrap:wrap}
.wet-choice strong{font-size:11px;font-weight:600;color:#483d2b}
.wet-choice small{font-size:11px;font-weight:700;color:#7a371b}
.wet-choice-mark{display:none}
.wet-choice.selected{background:#edb586;border-color:#965327}
.wet-choice.unavailable{opacity:.65;cursor:not-allowed}
.wet-choice input:focus-visible{outline:3px solid #803e22;outline-offset:4px}
.wet-price-note{font-size:11px!important;line-height:1.9;color:#5d5e4b;margin-top:22px}
.calc-summary{border-top:3px solid #d5804f}
.calc-summary .summary-line{gap:16px;align-items:start}
.summary-line>strong{white-space:nowrap}
.calc-summary .button{background:#df8050;color:#192116}
.calc-summary .button:hover:not(:disabled){background:#ee9d6b}
.booking-selection{background:#e4bd96;border:1px solid #b78760}
.booking-selection .summary-line{color:#413e2b}

/* A warm contact area and a distinct form panel. */
.contact-info{background:#dd9b6e;padding:30px;align-self:start;border-top:5px solid #a34e2b}
.contact-info .eyebrow{color:#382a1b}
.contact-info h2 em{color:#71351e}
.contact-person{border-color:#97684177}
.contact-person>span{color:#382a1b}
.contact-email{color:#4c2c19}
.contact-hours{color:#382a1b}
.contact-info .availability{color:#382a1b}
.form-panel{background:#2f352a;border-top:4px solid #d67b48;color:#f4e7d5}
.form-heading>span{color:#bdc7a9}
.form-grid label{color:#ead9c1}
.form-grid label>span{color:#eca375}
.form-grid input:not([type=checkbox]):not([type=file]),.form-grid textarea,.form-grid select{background:#f1e3ce;border-color:#b5ac8f;color:#2a3024}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#6e715d}
.form-grid select{color-scheme:light}
.file-area{border-color:#a4b28e;background:#39432f}
.file-area small,.form-fine,.preview-form-note{color:#c3cfb0}
.file-area input::file-selector-button{background:#e3c6a3;border-color:#a5a084;color:#292e20}
.form-grid label.consent>span{color:#d0dac1!important}
.consent a{color:#edb485}
.form-panel .button{background:#e49663;color:#1b2515}
.form-panel .button:hover{background:#efb181}
#form-result>p:not(.eyebrow){color:#d1dbc1}
.form-panel .result-icon{border-color:#daaa78;color:#f2c091}
.form-panel .quiet-link{color:#ebc49e}

/* The final invitation and footer continue the palette on every page. */
.closing{background:#d67b4d!important;color:#242b1e;border-top:1px solid #b75932}
.closing .eyebrow{color:#2d2417}
.closing .eyebrow>span{background:#394629}
.closing h2 em{color:#4a2c19}
.closing-inner>div:last-child>p{color:#2d2417}
.closing .button{background:#2b3423;color:#f5e5ce}
.closing .button:hover{background:#445336}
.closing .quiet-link{color:#2d2417}
footer{background:#252c23;color:#e9e2cf;border-top:1px solid #78856566}
.footer-brand>a{display:inline-flex;align-items:center;justify-content:center;background:#e8d1b9;padding:10px 17px;width:208px;max-width:100%;border:1px solid #f1d6b4}
.footer-brand>a>img{width:172px;height:auto;margin:0}
.footer-brand p,.footer-top>div:not(:first-child)>a{color:#c4ceb6}
.footer-label{color:#e6b68a}
.footer-brand .availability{color:#ced6bf}
.availability i{background:#be9f74}
.footer-contact>a>span{color:#e8ccaa}
.footer-top>div>a:hover{color:#f6ba88}
.footer-bottom{border-color:#6d7d5980;color:#aeba9d}
.office-details{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;font-size:14px;line-height:1.7}
.office-details h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:inherit}
.office-details address{font-style:normal;margin:0 0 10px}
.office-map-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.office-map-link:hover{color:var(--orange)}
.office-location p{font-size:12px;margin:10px 0 0;opacity:.85}
.office-hours dl{margin:0}
.office-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:6px 0;border-bottom:1px solid #89957740}
.office-hours dt,.office-hours dd{margin:0}
.office-hours dd{text-align:right}
.footer-office{padding-block:28px 35px;border-top:1px solid #6d7d5980;color:#dce2d0}
.footer-office h3,.footer-office .office-map-link{color:#edc39d}
.contact-info .office-details{display:block;border-top:1px solid #89957770;padding-top:25px;margin-top:25px}
.contact-info .office-hours{margin-top:25px}
@media(max-width:600px){.office-details{grid-template-columns:1fr;gap:25px}.office-hours dl>div{gap:12px}.office-details{font-size:13px}.office-hours dd{max-width:60%}}
.mobile-service-cta{background:#edddc7f7;border-color:#bda484}
.preview-tag{background:#f2d7bdf2;color:#513824;border-color:#be936f}
@media(max-width:950px){.calc-item{padding:17px}.calc-item .calc-product h3{font-size:17px}.wet-choice>span:not(.wet-choice-mark){display:block}.wet-choice small{display:block;margin-top:3px}.contact-info{padding:23px}}
@media(max-width:760px){.page-breadcrumb{font-size:9px;margin-bottom:26px}.catalog-card{padding:15px}.calc-item{padding:18px 15px}.calc-item .calc-row,.home-calc-rows .calc-item .calc-row{gap:10px}.calc-item .calc-product h3,.home-calc-rows .calc-item .calc-product h3{font-size:16px}.calc-item .calc-product>span{font-size:10px}.calc-item .row-total{font-size:12px;min-width:46px}.wet-choice{padding:12px;min-height:49px}.wet-choice strong,.wet-choice small{font-size:11px}.wet-choice>span:not(.wet-choice-mark){display:flex}.wet-choice small{margin-top:0}.home-summary{box-shadow:8px 8px 0 #bcc3a6}.catalog-heading{gap:10px}.contact-info{padding:27px}.footer-brand>a{width:170px;padding:8px 12px}.footer-brand>a>img{width:145px;height:auto}.faq-list summary{padding-inline:12px}.faq-answer{padding-inline:12px}}
@media(max-width:390px){.calc-item .calc-product h3,.home-calc-rows .calc-item .calc-product h3{font-size:14px}.calc-item .quantity button{width:25px}.calc-item .quantity input{width:29px}.calc-item .row-total{font-size:11px;min-width:42px}.wet-choice{gap:8px}.wet-choice strong,.wet-choice small{font-size:10px}.contact-info{padding:22px}}
.form-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-error{padding:16px;border:1px solid #ffc09b;background:#492c24;color:#fff3e8;border-radius:12px}
.business-details{margin:2rem 0;padding:1.5rem;background:#efe0d1;border-radius:16px;overflow-wrap:anywhere}
.business-details dt{font-weight:800;margin-top:1rem}.business-details dt:first-child{margin-top:0}.business-details dd{margin:4px 0 0}
.legal-example{padding:1.5rem;background:#e0e6d9;border-radius:16px;margin:2rem 0}
.prose p{overflow-wrap:anywhere}.form-fine a{text-decoration:underline}.form-panel [hidden]{display:none!important}
.site-header .menu-toggle{flex-shrink:0}
@media(max-width:350px){.site-header .nav-cta{display:none}.nav-row{gap:12px}.brand{width:120px}.form-heading{flex-wrap:wrap;gap:8px}.form-panel .button{white-space:normal;min-width:0}.business-details{padding:18px}}
.wet-case{background:#e9c0a4}.wet-case .work-card{min-width:0}.wet-case-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.wet-case .work-card-image{height:auto;aspect-ratio:3/4}.case-note{max-width:700px;font-size:12px;margin-top:24px;color:#564336}.wet-case .quiet-link{margin-top:15px}
@media(max-width:640px){.wet-case-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.wet-case-rail .work-card{flex:0 0 82%;scroll-snap-align:start}.wet-case .work-card-image{height:auto}}
