/* Customer-facing editorial design. Shared base styles also serve the demo tools. */
:root{--ink:#202e27;--muted:#647068;--line:#dfe5df;--surface:#f4f6f1;--blue:#17678f;--green:#476333}
html{scroll-behavior:smooth;scroll-padding-top:126px}
body{font-size:15px;line-height:1.65;background:#fff}
.shell{max-width:1376px;padding-right:56px;padding-left:56px}
h1,h2,h3{color:var(--ink)}
h1,h2,h3,p,label{overflow-wrap:break-word}
h1,h2{letter-spacing:-.045em}
.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--green)}
.primary,.secondary{border-radius:3px;min-height:52px;font-size:13px;padding:15px 22px;gap:16px}
.primary{background:#8cbc3f;border-color:#8cbc3f;color:#182411}
.primary:hover{background:#7eae35;border-color:#7eae35}
.primary svg{width:18px;height:18px}
.text-button{font-size:12px;color:var(--green)}
.demo-band{background:#edf0eb;border-bottom:0;color:#58645c}
.demo-band>.shell{min-height:33px}
.demo-band strong,.demo-band .link-button{color:#48564b;font-size:10px}
.demo-explainer{font-size:10px;color:#647068}
.header{position:sticky;top:0;z-index:15;border-bottom:1px solid #e8ece6;background:#fffffff5;backdrop-filter:blur(12px)}
.header-inner{min-height:104px;gap:30px}
.brand-logo{width:190px}
.brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:7px;flex-shrink:0}
.main-site-link{display:inline-flex;align-items:center;gap:6px;color:#5d6c52;font-size:10px;line-height:1.5;text-decoration:none;padding:3px 0}
.main-site-link:hover{text-decoration:underline;text-underline-offset:3px}.main-site-link>svg{width:12px;height:12px}
.site-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.site-nav a{font-size:12px;font-weight:600;color:#4f5b52;text-decoration:none;white-space:nowrap;padding:14px 0}
.site-nav a:hover{color:#17678f}
.header-contact{display:flex;align-items:center;gap:24px}
.header-phone{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap}
.header-phone svg{width:15px;height:15px}
.header-quote{font-size:11px;min-height:44px;padding:12px 16px;gap:10px}
.hero{background:#f4f6f1;min-height:0;overflow:visible;padding:40px 0 50px}
.hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:45px}
.hero-copy{min-height:0;min-width:0;padding:28px 0 18px;color:var(--ink)}
.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em;color:#49623c}
.hero h1{font-size:clamp(36px,3.55vw,52px);line-height:1.16;margin:22px 0;color:var(--ink);max-width:100%}
.hero h1>span{font-weight:700;color:#4c7040}
.hero p{font-size:15px;line-height:1.85;color:#5a685d;max-width:510px;margin:0}
.hero-actions{flex-wrap:wrap;gap:20px;margin-top:30px}
.hero .primary{font-size:12px}
.hero-secondary{display:inline-flex;gap:7px;font-size:11px;align-items:center;text-decoration:none;color:#43563d;font-weight:600}
.hero-secondary svg{height:14px;width:14px}
.hero-pricing{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:39px;padding-top:26px;border-top:1px solid #d7e0d3;max-width:480px}
.hero-pricing>div span{display:block;font-size:10px;color:#5c6b5b}
.hero-pricing strong{display:block;font-family:Montserrat,Arial,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.04em;color:#2c3e27;margin-top:2px}
.price-plus{color:#87977e;font-size:22px}
.hero-pricing small{font-size:9px;color:#687462;line-height:1.8;max-width:170px}
.hero-photo{position:static;align-self:center;margin:0;min-height:0;min-width:0;width:100%;max-width:100%;border-radius:3px;overflow:visible;background:transparent;aspect-ratio:auto}
.hero-photo>img{display:block;position:static;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain;object-position:center;border-radius:3px}
.hero-photo figcaption{position:static;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 14px;padding:12px 0 0;background:none;color:#5d6c52}
.hero-photo figcaption>span:first-child{font-size:11px;line-height:1.6}
.hero-photo .image-label{position:static;max-width:none;font-size:10px;line-height:1.6;padding:0;color:#5d6c52;background:none}
.service-band{border-bottom:1px solid var(--line)}
.service-band .shell{padding-top:24px;padding-bottom:24px;gap:20px}
.service-band span{font-size:11px;font-weight:600;color:#53604f}
.service-band svg{color:#617a4a;width:19px;height:19px}
.service-benefits{padding-top:52px;padding-bottom:58px;border-top:1px solid var(--line)}
.service-benefits h2{font-size:clamp(28px,3vw,39px);line-height:1.2;margin:14px 0 34px;max-width:800px}
.benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.benefits-grid article{min-width:0;border-top:2px solid #8cbc3f;padding-top:18px}
.benefit-number{font:600 11px Montserrat,Arial,sans-serif;color:#6a795f}
.benefits-grid h3{font-size:16px;line-height:1.45;margin:12px 0 10px;letter-spacing:-.02em}
.benefits-grid p{font-size:13px;line-height:1.85;color:#647068;margin:0}
@media(max-width:1050px){.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:640px){.service-benefits{padding-top:36px;padding-bottom:40px}.service-benefits h2{margin-bottom:28px}.benefits-grid{grid-template-columns:minmax(0,1fr);gap:25px}.benefits-grid h3{font-size:16px}}
.customer-content{padding-top:86px;padding-bottom:76px;scroll-margin-top:115px}
.booking-intro{margin-bottom:42px}
.booking-intro h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:14px 0}
.booking-intro p{font-size:14px;color:#65705f}
.calculation-note{display:flex;align-items:center;gap:13px;padding:0 0 5px 28px;border-left:1px solid var(--line);font-size:11px;color:#73816c;line-height:1.8;flex-shrink:0}
.calculation-note>svg{width:26px;height:26px;color:#647b4e}
.calculation-note strong{font-weight:600;color:#45543e}
.steps{margin-bottom:0;gap:0;border-top:1px solid var(--line);background:#f7f8f5}
.steps li{padding:20px 24px}
.steps li>span{background:transparent;color:#829078;font-size:11px;height:auto;width:auto;font-family:Montserrat,Arial,sans-serif}
.steps li>div{font-size:11px}.steps small{font-size:10px;margin-top:3px;color:#75806d}
.steps .active{background:#edf2e6;border-bottom-color:#8cbc3f;color:#2d4323}
.steps .active>span{background:transparent;color:#54733b}
.steps .completed>span{background:transparent}
.booking-layout{grid-template-columns:minmax(0,1fr) 365px;gap:56px;padding-top:42px}
.form-section h2{font-size:25px;letter-spacing:-.04em}
.section-heading{margin-bottom:31px}
.section-heading .eyebrow{font-size:9px;color:#6e7c65}
.section-heading .text-button{font-size:10px;color:#65715e}
.form-section fieldset{padding-top:21px;padding-bottom:30px;margin-bottom:24px}
.form-section legend{font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:600;color:#304127;gap:12px}
.legend-number{font-size:10px;color:#79906a}
label{color:#405039;font-size:12px;font-weight:600;gap:9px}
input,select,textarea{font-size:14px;min-height:51px;border-radius:3px;border-color:#cfd8ca;color:#26381e;background:#fff;padding:13px 14px}
input::placeholder,textarea::placeholder{color:#7b8774}
.location-grid{grid-template-columns:130px minmax(0,1fr)}
.field-hint{font-size:11px;line-height:1.8;color:#68745f}
.area-options{gap:0;border:1px solid var(--line);border-radius:3px;margin-top:22px;overflow:hidden}
.area-option{border:0;border-right:1px solid var(--line);border-radius:0;padding:14px 16px;background:#fafbf8}
.area-option:last-child{border-right:0}
.area-option>span,.area-option>small{font-size:9px;color:#69765e}
.area-option>strong{font-family:Montserrat,Arial,sans-serif;font-size:19px;letter-spacing:-.025em;font-weight:600;color:#33472a;margin:3px 0}
.area-option.selected{border-color:#d1ddc6;background:#edf4e5;box-shadow:inset 0 -3px #8cbc3f}
.location-result{font-size:11px;padding:12px 14px;background:#f0f5e9;border-color:#8cbc3f;border-radius:0 3px 3px 0}
.source-credit{font-size:9px;line-height:1.7;color:#7c8774}
.source-credit a{color:#68775f}
.quantity-control{border-color:#cfd8ca;border-radius:3px}
.quantity-control>.icon-button{color:#4f6d3c}
.volume-label input{color:#304322;font-family:Montserrat,Arial,sans-serif;font-weight:600}
.volume-label>span:last-child{color:#718167}
.presets button{border-color:#d6dece;color:#5e6e52;border-radius:3px;font-size:11px;padding:11px 15px;min-height:43px}
.presets .selected{background:#eef4e7;border-color:#b2c89b;color:#486431}
.material-note{padding:1px 0 25px;gap:13px}
.material-note>svg{color:#71864f;margin-top:2px}
.material-note>div{flex:1;min-width:0}
.material-note label{font-size:11px}
.material-note select{margin-top:1px;min-height:47px;font-size:12px}
.material-note p{font-size:10px;line-height:1.8;margin-top:11px}
.input-with-icon>svg{color:#84917a;top:16px}
.form-actions{padding-top:4px;margin-top:24px}
.form-actions>.muted{color:#7b8774;font-size:10px}
.price-panel{top:127px;border:1px solid #dce4d3;border-top:4px solid #8cbc3f;padding:29px 28px 0;border-radius:3px;background:#f6f8f1;box-shadow:none}
.price-panel .eyebrow{font-size:9px;color:#728263}
.price-title{margin-bottom:24px}
.demo-chip{background:#e9ede2;color:#657452;border-radius:2px;font-size:8px;padding:4px 6px}
.summary-service{padding-bottom:21px;margin-bottom:25px;border-bottom:1px solid #dce4d3;gap:12px}
.summary-icon{background:transparent;color:#536b39;width:29px;height:29px;border-radius:0}
.summary-icon svg{width:26px;height:26px}
.summary-service strong{font-size:13px;color:#3b4f2c;font-family:Montserrat,Arial,sans-serif;font-weight:600}
.summary-service span{font-size:10px;color:#748467}
.price-zone{font-size:9px;color:#758569}
.price-total{font-size:46px;letter-spacing:-.05em;color:#304a21;line-height:1.25;margin:10px 0 5px}
.price-caption{font-size:9px;color:#718263}
.price-breakdown{border-color:#dce4d3;margin:25px 0;padding:18px 0}
.price-breakdown>div{font-size:11px;color:#647458;gap:12px;line-height:1.6}
.price-breakdown strong{color:#425732;font-size:12px;font-weight:600;white-space:nowrap}
.price-location{color:#5f7450;font-size:11px;margin-top:10px}
.price-location svg{height:16px;width:16px;color:#7b8d69}
.empty-price{font-size:27px;letter-spacing:-.045em;line-height:1.3;color:#64784f;margin-top:0}
#price-empty>p{font-size:11px;color:#7b886f;line-height:1.9;margin-top:15px}
.summary-mail{border-color:#dce4d3;padding-top:20px;margin-top:23px}
.summary-mail>svg{color:#73865e;width:17px;height:17px}
.summary-mail strong{font-size:10px;color:#566b42}
.summary-mail p{font-size:10px;color:#7a896b}
.price-footnote{font-size:9px;line-height:1.8;color:#7a886c;margin:17px 0 23px}
.share-quote{display:flex;align-items:center;justify-content:flex-start;width:100%;gap:9px;border:1px solid #d1dec4;font-size:10px;color:#4b6735;padding:11px 12px;margin-top:23px;background:#fafcf6;border-radius:3px}
.share-quote>svg{width:14px;height:14px}.share-quote>svg:last-child{margin-left:auto}
.share-quote:hover{background:#e9f1df}
.summary-help{display:flex;align-items:center;gap:12px;padding:18px 0;border-top:1px solid #dce4d3;text-decoration:none;color:#788868;font-size:9px;line-height:1.7}
.summary-help strong{display:block;color:#435e31;font-size:12px;font-weight:600}
.summary-help>svg{width:16px;height:16px}.summary-help>svg:last-child{margin-left:auto}
.draft-status{font-size:10px;color:#6c7c60;padding:10px 13px;background:#f4f7ee;border-left:2px solid #b5ca9c;margin:-11px 0 23px}
.access-check{background:#f4f7ef;padding:21px;margin-top:23px;border-radius:3px}
.access-check h3{font-size:13px;letter-spacing:-.015em;margin:0 0 7px}
.access-check>p{font-size:11px;line-height:1.8;color:#6b7d5a;margin:0 0 19px}
.access-check>p:last-child{margin:13px 0 0;font-size:10px}
.access-check label{font-size:11px}.access-check select{font-size:12px}
.process-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;padding-top:70px;padding-bottom:90px;border-top:1px solid var(--line)}
.section-intro h2,.preparation-copy h2,.company-copy h2,.faq-layout h2{font-size:39px;line-height:1.2;margin:17px 0 22px;letter-spacing:-.045em}
.section-intro>p,.preparation-copy>p,.company-copy>p{color:#6a7762;font-size:13px;line-height:1.9;max-width:425px}
.process-list{padding:0;margin:0;list-style:none;counter-reset:process}
.process-list li{display:flex;gap:22px;padding:25px 0;border-top:1px solid var(--line);align-items:flex-start}
.process-list li:last-child{border-bottom:1px solid var(--line)}
.process-list li>span{font-family:Montserrat,Arial,sans-serif;font-size:12px;color:#8b9d7b;padding-top:2px}
.process-list li>div{flex:1;min-width:0}
.process-list h3{font-size:15px;font-weight:600;margin:0 0 8px;letter-spacing:-.025em}
.process-list p{font-size:12px;line-height:1.85;color:#78846e;max-width:390px;margin:0}
.process-list li>svg{width:22px;height:22px;color:#7c9367;margin-left:7px}
.preparation-section{background:#edf1e7;padding:70px 0}
.preparation-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}
.preparation-copy .text-button{margin-top:16px;color:#4a6537;font-size:12px}
.material-guide{padding:30px;background:#fff;border-radius:3px;border:1px solid #dce5d2}
.material-guide-heading{display:flex;align-items:center;gap:11px;margin-bottom:23px;color:#69814c}
.material-guide-heading h3{font-size:17px;margin:0;letter-spacing:-.025em;font-weight:600}
.material-chips{display:flex;flex-wrap:wrap;gap:8px}
.material-chips button{font-size:11px;padding:9px 12px;border:1px solid #dfe5d7;border-radius:3px;color:#627355;min-height:39px}
.material-chips button[aria-pressed=true]{background:#e9f2df;border-color:#afc796;color:#405f27}
.material-check-result{display:flex;align-items:flex-start;gap:11px;padding:20px 0 0;margin-top:23px;border-top:1px solid #e3eadc;font-size:12px;color:#5d7a42;min-height:95px}
.material-check-result strong{display:block;font-size:13px;color:#365026;font-weight:600}
.material-check-result p{font-size:11px;line-height:1.9;color:#76876a;margin:7px 0 0}
.material-check-result>svg{width:18px;height:18px;margin-top:2px}
.material-check-result.excluded{color:#965944}.material-check-result.excluded strong{color:#80503e}
.guide-footnote{font-size:9px;color:#859378;line-height:1.8;margin:22px 0 0}
.company-section{display:grid;grid-template-columns:1.05fr .95fr;gap:95px;align-items:center;padding-top:105px;padding-bottom:110px}
.company-images{position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:22px;min-width:0;padding:0}
.company-images figure{margin:0}
.company-images>figure:first-child img{display:block;width:100%;height:auto;aspect-ratio:1280/853;object-fit:contain;object-position:center;border-radius:3px}
.company-images figcaption{font-size:11px;color:#5d6c52;margin:10px 0 0}
.company-images .company-inset{position:static;width:100%;border:0;background:transparent}
.company-inset img{display:block;width:100%;height:auto;aspect-ratio:1280/853;object-fit:contain;border-radius:3px}
.company-inset figcaption{margin-top:8px}
.company-copy h2{margin-top:17px}
.company-copy>p{font-size:13px;max-width:410px}
.company-signature{display:flex;align-items:center;gap:13px;color:#698250;margin:25px 0 17px;padding-top:23px;border-top:1px solid var(--line)}
.company-signature>svg{height:29px;width:29px}
.company-signature span{font-size:10px;line-height:1.8;color:#7d8c70}
.company-signature strong{font-size:11px;font-weight:600;color:#516a3d}
.faq-band{background:#f5f6f2;border-top:1px solid #e1e7da;padding:76px 0 83px}
.faq-layout{grid-template-columns:.85fr 1.15fr;gap:80px}
.faq-layout h2{font-size:36px;margin-top:14px}
.faq-layout>div>p{font-size:12px;color:#7a866f;line-height:1.9}
.faq-phone{display:inline-flex;align-items:center;gap:16px;font-family:Montserrat,Arial,sans-serif;letter-spacing:-.025em;font-size:18px;font-weight:600;color:#476433;margin-top:15px;text-decoration:none}
.faq-phone svg{width:18px;height:18px}
.faq-layout details{border-color:#dce4d4;padding:21px 0}
.faq-layout summary{font-size:12px;color:#4b5c3e;font-weight:600}
.faq-layout summary svg{color:#7f946c;flex-shrink:0}
.faq-layout details p{font-size:11px;line-height:1.9;color:#76886a;margin-top:16px}
.closing-cta{background:#243b2a;padding:48px 0;color:white}
.closing-cta>.shell{display:flex;align-items:center;justify-content:space-between;gap:30px}
.closing-cta .eyebrow{font-size:9px;color:#b6cda3}
.closing-cta h2{color:white;font-size:36px;margin:12px 0 0;line-height:1.2}
.site-footer{padding:53px 0 0;background:#fff;border:0}
.site-footer>.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px;align-items:start;justify-content:initial;font-size:12px;padding-bottom:44px}
.footer-logo{width:170px}
.site-footer p{font-size:11px;line-height:1.9;color:#7b8872;margin:17px 0 0}
.footer-label{display:block;font-size:9px;color:#859379;letter-spacing:.07em;margin-bottom:17px;font-weight:600}
.footer-main>div>a{display:block;text-decoration:none;font-size:12px;color:#586e45;margin-top:9px}
.footer-main svg{width:14px;height:14px}
.footer-main>div>p:first-of-type{margin-top:0}.footer-main>div:first-child>p{margin-top:17px}
.site-footer>.footer-bottom{display:flex;border-top:1px solid var(--line);padding-top:20px;padding-bottom:22px;gap:25px;font-size:9px;color:#859179;justify-content:space-between;align-items:center}
.footer-bottom nav{display:flex;gap:20px}.footer-bottom a{text-decoration:none}
dialog{border-color:#dce5d2;border-radius:5px;padding:31px;color:#35442c}
dialog .dialog-top h2{font-size:25px;letter-spacing:-.04em}
dialog .icon-button{color:#5f7948}
.dialog-copy{font-size:12px;color:#728166;line-height:1.9;margin:0 0 23px}
#demo-tools-dialog .view-tabs{display:flex;flex-direction:column;align-items:stretch;margin:25px 0;gap:5px}
#demo-tools-dialog .view-tabs button{justify-content:flex-start;font-size:12px;padding:16px 19px;border:1px solid #e0e7d9;min-height:52px}
#demo-tools-dialog .view-tabs button>svg{display:block;color:#77915f}
#demo-tools-dialog .view-tabs button[aria-current=page]{background:#edf4e4}
#demo-tools-dialog .view-tabs button[aria-current=page]::after{display:none}
#demo-tools-dialog .count{margin-left:auto}
#share-dialog>.primary{width:100%;margin-top:22px}
#share-link{font-size:11px;color:#6c7f5d;background:#f7f9f3}
.preparation-list{list-style:none;padding:0;margin:0}
.preparation-list li{display:flex;gap:16px;padding:23px 0;border-top:1px solid var(--line)}
.preparation-list li>svg{width:21px;height:21px;color:#7c9565;margin-top:2px}
.preparation-list strong{font-size:13px;font-weight:600;color:#465c34}
.preparation-list p{font-size:11px;color:#7a8b6d;line-height:1.9;margin:7px 0 0}
.material-rule{display:flex;align-items:flex-start;gap:13px;padding:23px 0;border-top:1px solid var(--line);color:#668448}
.material-rule strong{font-size:13px;font-weight:600;color:#42622d}
.material-rule p{font-size:11px;line-height:1.8;color:#7c8e6d;margin:6px 0 0}
.material-rule.excluded{color:#a56b4f}.material-rule.excluded strong{color:#8c634b}
#material-dialog>.dialog-copy{margin-top:14px}
#estimator-dialog{width:min(660px,calc(100% - 32px))}
.pile-shapes{border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pile-shapes legend{font-size:11px;font-weight:600;color:#6c7f5b;padding:0 0 14px}
.pile-shapes label{position:relative;cursor:pointer;display:block}
.pile-shapes input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;left:10px;top:10px}
.pile-shapes label>span{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #dce5d2;border-radius:3px;background:#f9faf6;min-height:140px;padding:14px 8px 12px}
.pile-shapes svg{width:104px;height:67px;margin-bottom:8px}
.pile-shapes strong{font-size:11px;font-weight:600;color:#5d7648}
.pile-shapes small{font-size:8px;color:#829371;line-height:1.7;font-weight:400;margin-top:2px}
.pile-shapes input:checked+span{border-color:#91b46c;box-shadow:inset 0 -3px #8cbc3f;background:#eff6e7}
.pile-shapes input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}
.estimate-fields{margin-top:20px;gap:14px}
.estimate-result{background:#eff5e7;border-radius:3px;padding:23px}
.estimate-result>span{font-size:10px;color:#728862;max-width:220px}
.estimate-result>strong{color:#4e6d36;font-size:30px;letter-spacing:-.04em;white-space:nowrap}
.review-flag{display:inline-flex;align-items:center;font-size:9px;line-height:1.5;color:#886a36;background:#f7efdd;padding:5px 8px;border-radius:3px;margin-top:5px}
.preparation-summary{padding:19px 22px;border:1px solid var(--line);border-radius:3px;font-size:11px;line-height:1.9;color:#6c7c60;margin-top:25px}
.preparation-summary>strong{display:block;color:#4a6437;margin-bottom:7px;font-weight:600}
.preparation-summary p{margin:5px 0 0}
.mobile-quote-bar{display:none}
.ad-preview{border:1px solid #dce5d3;background:#f5f8f0;border-radius:4px;min-width:0;padding:25px 23px}
.ad-preview-logo{display:block;width:170px;max-width:100%;height:auto;aspect-ratio:1000/331;margin-bottom:22px}
.ad-preview h3{font-family:Montserrat,Arial,sans-serif;font-size:27px;line-height:1.3;letter-spacing:-.035em;margin:0 0 23px;color:#31462b}
.ad-preview-photo{display:block;position:static;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:3px}
.ad-preview p{font-size:14px;line-height:1.8;color:#435b35;margin:20px 0 12px}
.ad-preview>span{display:block;font-size:10px;line-height:1.7;color:#5d6c52}
.ad-description h2 br{display:initial}
.toast{background:#2c452f;font-size:12px;border-radius:3px;z-index:35}
/* Keep supporting copy legible on white and pale green surfaces. */
.calculation-note,.steps li>span,.steps small,.section-heading .eyebrow,.legend-number,
.source-credit,.volume-label>span:last-child,.form-actions>.muted,.price-panel .eyebrow,
.summary-service span,.price-zone,.price-caption,#price-empty>p,.summary-mail p,
.price-footnote,.summary-help,.draft-status,.access-check>p,.process-list li>span,
.process-list p,.material-check-result p,.guide-footnote,.company-images figcaption,
.company-signature span,.faq-layout>div>p,.faq-layout details p,.site-footer p,
.footer-label,.site-footer>.footer-bottom,.dialog-copy,#share-link,.preparation-list p,
.material-rule p,.pile-shapes legend,.pile-shapes small,.estimate-result>span,
.preparation-summary{color:#5d6c52}
input::placeholder,textarea::placeholder{color:#637159}
@media(min-width:1700px){.hero,.hero-copy{min-height:0}}
@media(max-width:1200px){
 .shell{padding-left:36px;padding-right:36px}.site-nav{gap:23px}.header-phone{display:none}
 .hero-grid{gap:30px}.hero h1{font-size:43px}.hero-pricing{gap:16px}.hero-pricing small{flex-basis:100%;max-width:none}
 .booking-layout{grid-template-columns:minmax(0,1fr) 330px;gap:36px}.price-panel{padding:25px 24px 0}
 .process-section,.preparation-grid{gap:65px}.company-section{gap:65px}.area-option{padding:13px 12px}
}
@media(max-width:960px){
 .shell{padding-left:28px;padding-right:28px}.header-inner{gap:23px;min-height:91px}.brand-logo{width:165px}.site-nav{gap:19px}.site-nav a{font-size:11px}
 .hero{padding-top:30px;padding-bottom:35px}.hero-grid{gap:27px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy{padding:18px 0 10px}.hero h1{font-size:38px;margin:20px 0}.hero p{font-size:14px}
 .hero-actions{gap:15px;margin-top:23px}.hero .primary{font-size:11px;gap:11px;padding:14px 16px}.hero-pricing{margin-top:26px;padding-top:22px;gap:14px}.hero-pricing strong{font-size:21px}
 .hero-pricing small{font-size:10px}.hero-photo figcaption{padding-top:11px}
 .service-band span{font-size:10px;gap:9px}.service-band span:last-child{display:none}.service-band .shell{justify-content:flex-start;gap:37px}
 .customer-content{padding-top:65px;padding-bottom:60px}.booking-layout{grid-template-columns:minmax(0,1fr) 295px;gap:29px}.booking-intro h2{font-size:34px}
 .price-panel{padding:23px 20px 0;top:112px}.price-total{font-size:39px}.summary-service strong{font-size:11px}.summary-service span{font-size:9px}
 .calculation-note{font-size:10px;padding-left:19px}.calculation-note>svg{width:22px;height:22px}
 .steps li{padding:18px}.steps li>div{font-size:10px}.steps small{font-size:9px}.section-heading{flex-wrap:wrap;gap:13px}.form-section h2{font-size:23px}.section-heading .text-button{font-size:10px}
 .location-grid{grid-template-columns:100px minmax(0,1fr)}.form-section legend{font-size:13px}.area-option{padding:11px 9px}.area-option>strong{font-size:16px}.area-option>span,.area-option>small{font-size:8px}
 .form-actions{flex-direction:column;align-items:stretch}.form-actions>.primary{width:100%;order:-1}.form-actions>.muted{max-width:none;font-size:10px}
 .process-section,.preparation-grid{gap:45px}.section-intro h2,.preparation-copy h2,.company-copy h2{font-size:34px}.company-section{gap:45px;padding-top:80px;padding-bottom:85px}
 .material-guide{padding:25px}.company-images{gap:20px}
 .faq-layout{gap:45px}.faq-layout h2{font-size:31px}.footer-main{gap:35px}
}
@media(max-width:780px){
 html{scroll-padding-top:98px}.shell{padding-left:22px;padding-right:22px}
 .demo-band>.shell{min-height:31px;gap:12px}.demo-band .link-button{font-size:9px}.demo-band .link-button svg{width:12px;height:12px}
 .demo-band strong{font-size:9px}.header-inner{min-height:79px;padding-top:13px;padding-bottom:13px;flex-wrap:nowrap;justify-content:space-between;gap:17px}
 .brand-logo{width:146px}.brand-block{gap:5px}.main-site-link{font-size:10px;min-height:22px}.site-nav{display:none}.header-contact{gap:0}.header-quote{font-size:11px;min-height:44px;padding:11px 12px;gap:8px}.header-quote svg{height:15px;width:15px}
 .hero{padding:26px 0 28px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:29px}.hero-copy{min-height:0;padding:9px 0 0}.hero-copy .eyebrow{font-size:8px;letter-spacing:.1em}
 .hero h1{font-size:clamp(32px,7.6vw,46px);line-height:1.18;margin:20px 0;max-width:100%}.hero p{font-size:15px;max-width:580px;line-height:1.85}
 .hero-actions{margin-top:25px;gap:19px}.hero .primary{font-size:11px;padding:14px 18px;min-height:49px;gap:13px}.hero-secondary{font-size:10px;gap:5px}
 .hero-pricing{max-width:none;margin-top:26px;padding-top:21px;gap:19px}.hero-pricing>div span{font-size:11px}.hero-pricing strong{font-size:23px}.hero-pricing small{flex-basis:100%;font-size:11px;margin-left:0;max-width:none}
 .hero-photo{min-height:0;aspect-ratio:auto;max-height:none}.hero-photo figcaption{padding:11px 0 0}.hero-photo figcaption>span:first-child{font-size:11px}.hero-photo .image-label{font-size:10px}
 .service-band .shell{padding-top:19px;padding-bottom:19px;gap:12px 22px;flex-wrap:wrap;justify-content:flex-start}.service-band span,.service-band span:last-child{display:flex;font-size:11px;gap:8px;min-height:24px}.service-band svg{width:17px;height:17px}
 .customer-content{padding-top:49px;padding-bottom:50px;scroll-margin-top:96px}.booking-intro{margin-bottom:28px;gap:20px}.booking-intro h2{font-size:30px;line-height:1.2;margin:12px 0}.booking-intro p{font-size:12px}
 .calculation-note{display:none}.steps{gap:0;margin-bottom:0}.steps li{padding:15px 12px;gap:8px;flex-direction:column;align-items:flex-start}.steps li>span{height:auto;width:auto;font-size:9px}.steps li>div{font-size:10px;line-height:1.55}.steps small{display:none}
 .booking-layout{display:flex;flex-direction:column;gap:30px;padding-top:26px}.booking-layout>div{width:100%;min-width:0}.price-panel{position:static;width:100%;top:auto;padding:23px 22px 0;display:block}
 .price-panel:not(.has-price){display:none}.price-total{font-size:43px}.price-title{margin-bottom:21px}.summary-service strong{font-size:13px}.summary-service span{font-size:10px}
 .inline-price{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;margin:20px 0 0;background:#f1f6e9;border-left:3px solid #8cbc3f;border-radius:0 3px 3px 0;gap:15px}
 .inline-price>span{font-size:10px;color:#5d6c52}.inline-price>strong{font-size:21px;color:#476730;letter-spacing:-.04em}
 .section-heading{margin-bottom:25px;align-items:flex-end;flex-wrap:nowrap;gap:12px}.form-section h2{font-size:24px;margin-top:10px}.section-heading .text-button{font-size:9px;white-space:nowrap}.section-heading .text-button svg{display:none}
 .form-section fieldset{padding-top:18px;padding-bottom:25px;margin-bottom:23px}.form-section legend{font-size:13px}.legend-number{font-size:9px}.field-grid{gap:16px}.location-grid{grid-template-columns:105px minmax(0,1fr)}
 label{font-size:11px}input,select,textarea{font-size:16px;min-height:51px;padding:13px 12px}.field-hint{font-size:10px;line-height:1.85}.area-options{margin-top:20px}.area-option{padding:13px 11px}.area-option>strong{font-size:18px}.area-option>span,.area-option>small{font-size:9px}
 .quantity-control>.icon-button{width:46px}.volume-label{width:112px}.volume-label input{width:80px;font-size:24px}.presets button{font-size:11px;min-height:43px;padding:11px 14px}
 .source-credit{font-size:8px}.material-note label{font-size:11px}.material-note select{font-size:16px;min-height:50px}.material-note p{font-size:10px}.material-note{gap:11px}
 .form-actions{margin-top:22px;gap:15px}.form-actions>.primary{font-size:12px}.form-actions>.muted{font-size:9px}.form-section .email-fieldset{padding-top:17px}.input-with-icon>svg{top:17px}
 .access-check{padding:18px}.access-check h3{font-size:13px}.access-check>p{font-size:10px}.access-check select{font-size:16px}.access-check label{font-size:11px}.email-review strong{font-size:12px}
 .process-section{grid-template-columns:minmax(0,1fr);gap:29px;padding-top:43px;padding-bottom:51px}.section-intro h2,.preparation-copy h2,.company-copy h2{font-size:32px;margin:13px 0 17px}.section-intro p{font-size:12px}.section-intro p br{display:none}
 .process-list li{gap:18px;padding:23px 0}.process-list h3{font-size:14px}.process-list p{font-size:11px}.process-list li>span{font-size:11px}.process-list li>svg{width:19px;height:19px}
 .preparation-section{padding:45px 0}.preparation-grid{grid-template-columns:minmax(0,1fr);gap:29px}.preparation-copy>p{font-size:12px;max-width:none}.preparation-copy .text-button{margin-top:10px;font-size:11px}.material-guide{padding:24px 21px}.material-guide-heading{margin-bottom:20px}.material-guide-heading h3{font-size:17px}
 .material-chips button{font-size:10px;padding:9px 11px}.material-check-result{margin-top:21px;padding-top:19px}.material-check-result strong{font-size:12px}.material-check-result p{font-size:11px}.guide-footnote{font-size:9px}
 .company-section{grid-template-columns:minmax(0,1fr);gap:35px;padding-top:52px;padding-bottom:54px}.company-images{padding:0;max-width:100%;gap:21px}.company-images figcaption{font-size:11px}.company-copy>p{font-size:14px;max-width:none}.company-copy h2 br{display:initial}.company-signature{margin-top:23px;padding-top:20px}
 .faq-band{padding:46px 0 51px}.faq-layout{grid-template-columns:minmax(0,1fr);gap:32px}.faq-layout h2{font-size:30px;margin:13px 0 16px}.faq-layout h2 br{display:none}.faq-layout>div>p{font-size:11px}.faq-phone{font-size:18px;margin-top:10px}.faq-layout details{padding:19px 0}.faq-layout summary{font-size:12px;gap:18px}.faq-layout details p{font-size:11px;line-height:1.9}
 .closing-cta{padding:36px 0}.closing-cta>.shell{align-items:flex-start;flex-direction:column;gap:24px}.closing-cta h2{font-size:31px;margin-top:11px}.closing-cta .primary{font-size:12px}
 .site-footer{padding-top:39px;padding-bottom:83px}.site-footer>.footer-main{grid-template-columns:1fr 1fr;gap:32px 22px;padding-bottom:32px}.footer-main>div:first-child{grid-column:1/-1}.footer-logo{width:153px}.site-footer p{font-size:10px}.footer-label{font-size:8px;margin-bottom:13px}.footer-main>div>a{font-size:11px}.site-footer>.footer-bottom{align-items:flex-start;flex-direction:column;gap:15px;padding-top:22px;padding-bottom:20px;font-size:8px}
 .mobile-quote-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid #d9e4cf;background:#fffffff7;backdrop-filter:blur(12px);box-shadow:0 -3px 20px #364e2810}
 .mobile-quote-bar>div{min-width:0}.mobile-quote-bar>div>span{display:block;font-size:8px;color:#5d6c52;line-height:1.6}.mobile-quote-bar strong{font-family:Montserrat,Arial,sans-serif;display:block;font-size:20px;letter-spacing:-.04em;font-weight:600;color:#3e5e2a;white-space:nowrap;line-height:1.5}
 .mobile-quote-bar .primary{min-height:45px;font-size:10px;padding:12px 14px;gap:9px;flex-shrink:0}.mobile-quote-bar .primary svg{width:14px;height:14px}
 .toast{bottom:94px;font-size:11px;padding:13px 17px}dialog{padding:24px;max-height:calc(100dvh - 28px)}dialog .dialog-top h2{font-size:24px}
 #demo-tools-dialog .view-tabs{width:100%}.pile-shapes{gap:7px}.pile-shapes label>span{min-height:127px;padding:13px 5px}.pile-shapes svg{width:85px;height:57px}.pile-shapes strong{font-size:10px}.pile-shapes small{font-size:7px}.pile-shapes legend{font-size:10px}.estimate-fields{gap:10px}.estimate-fields label{font-size:10px}.estimate-fields input{font-size:16px;min-height:49px}.estimate-result{padding:19px}.estimate-result>span{font-size:9px;max-width:155px}.estimate-result>strong{font-size:27px}
 .preparation-list li{gap:13px;padding:20px 0}.preparation-list strong{font-size:12px}.preparation-list p{font-size:11px}#share-link{font-size:16px}
}
@media(max-width:640px){
 .field-grid{grid-template-columns:minmax(0,1fr)}
 .location-grid{grid-template-columns:120px minmax(0,1fr)}
 .hero-actions{align-items:stretch;flex-direction:column;gap:13px}.hero-actions>.primary{width:100%;font-size:13px}.hero-secondary{align-self:flex-start;font-size:12px;min-height:40px}
 .booking-intro h2{font-size:29px;line-height:1.3}.booking-intro p{font-size:13px}.section-heading{flex-wrap:wrap;gap:12px}
 .form-section h2{font-size:25px}.form-section legend,label{font-size:13px}.field-hint,.material-note p,.material-note label{font-size:12px;line-height:1.85}
 .field-error,.error-box{font-size:12px}.source-credit{font-size:10px;line-height:1.8}.form-actions>.muted{font-size:11px}.text-button{font-size:12px}
 .access-check label,.access-check>p{font-size:12px}.checkbox-row{font-size:12px;line-height:1.8}
 .section-intro h2,.preparation-copy h2,.company-copy h2,.faq-layout h2{font-size:30px;line-height:1.3}
 .section-intro p,.preparation-copy>p,.company-copy>p,.faq-layout>div>p{font-size:14px;line-height:1.85}
 .process-list h3{font-size:15px}.process-list p{font-size:13px}.faq-layout summary{font-size:14px}.faq-layout details p{font-size:13px;line-height:1.85}
 .material-check-result strong{font-size:14px}.material-check-result p{font-size:12px}.material-chips button{font-size:12px;min-height:44px}.guide-footnote{font-size:11px}
 .pile-shapes{grid-template-columns:minmax(0,1fr);gap:10px}.pile-shapes label>span{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto;column-gap:15px;text-align:left;align-items:center;min-height:94px;padding:13px}
 .pile-shapes svg{grid-row:1/3;width:88px;height:62px;margin:0}.pile-shapes strong{font-size:13px;align-self:end}.pile-shapes small{font-size:11px;align-self:start;margin-top:4px}
 .estimate-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.estimate-fields label{font-size:12px}.estimate-result>span{font-size:11px;max-width:180px}
 .ad-preview{padding:23px 20px}.ad-preview h3{font-size:26px}.ad-description h2 br{display:initial}.ad-description p{font-size:13px}
 .dialog-top h2,dialog .dialog-top h2{font-size:24px;line-height:1.3}.dialog-copy{font-size:13px}.preparation-list strong{font-size:14px}.preparation-list p{font-size:12px}
 .price-footnote,.summary-mail p,.price-caption{font-size:11px}.price-zone{font-size:10px}.price-breakdown>div{font-size:12px}.summary-service strong{font-size:14px}
}
@media(max-width:480px){
 .location-grid{grid-template-columns:minmax(0,1fr)}
 .dialog-top{position:relative;display:block;min-height:39px}.dialog-top>.icon-button{position:absolute;right:0;top:0}.dialog-top>div>.eyebrow,.dialog-top>span{display:block;min-height:39px;padding-right:46px;align-content:center}.dialog-top>div>h2{margin-top:10px}
 .volume-row{align-items:flex-start;flex-direction:column;gap:15px}.presets{width:100%}.presets button{flex:1;min-height:44px}
 .ad-layout{gap:24px}.hero-pricing{gap:16px}.hero-pricing small{flex-basis:100%}
 .site-footer>.footer-main{grid-template-columns:minmax(0,1fr);gap:26px}.footer-main>div:first-child{grid-column:auto}
 .header-inner{gap:12px}.header-quote{padding:11px 10px;font-size:10px}.main-site-link{font-size:10px}
}
@media(max-width:375px){
 .shell{padding-left:18px;padding-right:18px}.brand-logo{width:128px}.header-quote{font-size:10px;padding:10px}.header-quote svg{width:13px;height:13px}.hero h1{font-size:32px}.hero-actions{gap:15px}.hero .primary{font-size:12px;padding:13px 15px}.hero-secondary{font-size:11px}.hero-pricing{gap:15px}.hero-pricing strong{font-size:21px}.hero-pricing small{margin-left:0;font-size:11px;max-width:none}
 .section-heading{flex-wrap:wrap;gap:4px;align-items:flex-start}.section-heading .text-button{font-size:11px}.booking-intro h2{font-size:28px}.steps li{padding:14px 9px}.steps li>div{font-size:11px}.area-option{padding:12px 8px}.area-option>strong{font-size:16px}.area-option>span,.area-option>small{font-size:10px}
 .field-grid:not(.location-grid){grid-template-columns:minmax(0,1fr)}.estimate-fields{grid-template-columns:minmax(0,1fr)}.pile-shapes label>span{grid-template-columns:58px minmax(0,1fr);column-gap:10px;padding:12px 10px}.pile-shapes svg{width:58px;height:44px}.confirmation-grid{grid-template-columns:minmax(0,1fr)}.mobile-quote-bar{padding-left:16px;padding-right:16px;gap:10px}.mobile-quote-bar strong{font-size:18px}.mobile-quote-bar .primary{font-size:10px;padding:11px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.demo-band,.header,.mobile-quote-bar,.site-footer,.toast{display:none!important}.price-panel{position:static}html{scroll-padding:0}}
.honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.dispo-footer-link{display:block;text-align:center;padding:16px;font-size:11px;color:#61705b}.admin-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;align-items:center}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0}.live-status-note{background:#f1f6e9;border-left:3px solid #8cbc3f;padding:15px;font-size:13px;line-height:1.8}.confirmation a{overflow-wrap:anywhere}.receipt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.receipt-status{display:inline-flex;background:#eff5e8;color:#426134;padding:6px 10px;font-weight:600}.admin-toolbar{display:flex;flex-wrap:wrap;gap:15px}.admin-actions{display:grid;gap:15px;margin:25px 0}.admin-actions form{border:1px solid var(--line);padding:20px}.admin-actions h3{margin-top:0}.admin-actions label{display:grid;gap:8px;margin:12px 0}.admin-actions .checkbox-row{display:flex}.admin-mail-list{font-size:12px;line-height:1.8}.table-scroll{overflow:auto}.queue-heading{gap:16px;flex-wrap:wrap}.queue-heading label{font-size:12px}.queue-heading input{min-width:210px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.customer-note{white-space:pre-wrap;overflow-wrap:anywhere}.auth-gate,.privacy-page{max-width:850px;padding:45px 24px;margin:3vh auto;line-height:1.8}.auth-gate .eyebrow,.privacy-page .eyebrow{display:block;margin-top:40px}.auth-gate h1,.privacy-page h1{font-size:clamp(28px,5vw,45px);line-height:1.2;margin:18px 0}.privacy-page h2{margin-top:34px;font-size:22px}.auth-gate .primary{margin-top:20px}.status-badge{white-space:nowrap;padding:5px 9px;background:#edf4e7;color:#426134;font-size:11px}.site-footer{break-inside:avoid}@media(max-width:640px){.admin-nav{gap:12px}.admin-pagination{font-size:12px}.receipt-actions>*{width:100%}.workspace-heading h1{overflow-wrap:anywhere}.detail-grid{grid-template-columns:1fr}.admin-nav #admin-user{overflow-wrap:anywhere;max-width:170px}}@media print{.receipt-mode .site-header,.receipt-mode .site-footer,.receipt-mode .steps,.receipt-mode .faq-band,.receipt-mode .receipt-actions,.receipt-mode #inline-price,.receipt-mode #mobile-quote-bar{display:none!important}.receipt-mode .booking-section{padding:0}.receipt-mode .confirmation{border:0;padding:0;box-shadow:none}}
input,select,textarea,.checkbox-row{scroll-margin-top:140px}.summary-mail p{overflow-wrap:anywhere}@media print{.receipt-mode .header{display:none!important}}
.dispo-login-page{min-height:100vh;display:flex;flex-direction:column;background:#f4f6f1}.login-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px clamp(24px,5vw,80px);background:white;border-bottom:1px solid #dfe5d9}.login-header img{display:block;width:195px;height:auto}.login-header>a:last-child{font-size:12px;color:#526447}.dispo-login-shell{width:min(100% - 40px,510px);margin:clamp(40px,7vh,85px) auto;flex:1}.dispo-login-card{background:white;border:1px solid #dde5d5;padding:42px;box-shadow:0 12px 35px #263b2b05}.dispo-login-card h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:18px 0}.login-intro{color:#63725a;font-size:14px;line-height:1.8;margin-bottom:28px}.dispo-login-card form>label:not(.checkbox-row){display:grid;gap:8px;font-size:13px;font-weight:600;margin-bottom:20px}.dispo-login-card input:not([type=checkbox]){width:100%;font-size:16px;padding:14px;border:1px solid #cdd8c3;background:#fff;border-radius:0;color:#263b2b}.dispo-login-card input:focus{outline:2px solid #8cbc3f;outline-offset:2px}.dispo-login-card .login-show-password{font-size:12px;margin:5px 0 20px}.dispo-login-card #login-submit{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:14px}.login-private-note{display:flex;align-items:center;gap:9px;padding-top:22px;margin:26px 0 0;border-top:1px solid #e2e8dc;color:#758569;font-size:11px}.login-help{font-size:11px;line-height:1.7;text-align:center;color:#728169;padding:0 20px;margin-top:22px}.login-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px clamp(24px,5vw,80px);font-size:10px;color:#758569}.login-footer nav{display:flex;gap:22px}.login-error{margin:16px 0}@media(max-width:600px){.login-header{padding:20px}.login-header img{width:140px}.login-header>a:last-child{font-size:10px}.dispo-login-shell{margin:32px auto}.dispo-login-card{padding:28px 24px}.dispo-login-card h1{font-size:28px}.login-footer{padding:20px;line-height:1.7}.login-private-note{align-items:flex-start}}
