/* Clear hierarchy: forest headings, neutral reading text, copper accents. */
:root{--heading-color:#304f3e;--reading-color:#58625b;--heading-accent:#964b22;--muted:var(--reading-color);--reading-width:58ch;--section-space:clamp(64px,6.5vw,100px);--surface-radius:30px}
.premium-home main :is(h1,h2,h3,h4),.landing-page main :is(h1,h2,h3,h4){color:var(--heading-color);letter-spacing:-.035em;text-wrap:balance}
.premium-home main :is(h1,h2,h3) em,.landing-page main :is(h1,h2,h3) em{color:var(--heading-accent)}
.premium-home main p:where(:not(.eyebrow):not(.material-product-price)),.landing-page main p:where(:not(.eyebrow):not(.material-product-price)){color:var(--reading-color);line-height:1.75}
.premium-home .eyebrow,.landing-page main .eyebrow{color:var(--heading-accent);font-size:.7rem;letter-spacing:.12em;line-height:1.6}
.premium-home main .section,.landing-page main>.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.premium-home .hero{padding-top:44px;padding-bottom:66px;gap:8%}
.premium-home .hero h1,.landing-page .landing-hero h1{line-height:1.16;letter-spacing:-.045em;margin:0 0 28px;max-width:18ch}
.premium-home .hero .eyebrow,.landing-page .landing-hero .eyebrow{margin-bottom:24px}
.premium-home .hero-description,.landing-page .landing-lead{font-size:1.0625rem;line-height:1.8;max-width:49ch;margin:0 0 30px}
.premium-home .hero-actions,.landing-page .hero-actions{gap:22px;margin-top:30px;margin-bottom:28px;flex-wrap:wrap}
.premium-home .hero .location,.landing-page .landing-location{font-size:.8125rem;line-height:1.6;margin-top:24px;margin-bottom:0}
.landing-page main>.landing-hero{padding-top:32px;padding-bottom:68px}
.section-heading,.landing-section-heading{margin-bottom:48px;align-items:start;column-gap:7%}
.section-heading h2,.landing-section-heading h2{line-height:1.2;margin:0}
.section-heading>p:last-child,.landing-section-heading>p{max-width:38ch;line-height:1.75;padding-top:8px}
.scope-heading{margin-bottom:38px}
.scope-heading h2,.landing-nearby h2,.landing-faq h2,.materials-faq h2{line-height:1.2}
.premium-home .premium-service-card{border-radius:30px;background:#fffdf9;border-color:#304f3e0e;box-shadow:0 8px 32px #18302505}
.premium-home .premium-service-copy{padding:36px}
.premium-home .service-card-head{gap:18px;margin-bottom:28px}
.premium-home .service-card-head .eyebrow{color:#7b542d;font-size:.68rem;line-height:1.7;max-width:26ch}
.premium-home .premium-service-copy h3{font-weight:600;line-height:1.28;margin:0 0 18px;max-width:22ch}
.premium-home .premium-service-copy>p:not(.eyebrow){font-size:.96rem;line-height:1.75;max-width:44ch;margin:0 0 16px}
.premium-home .premium-service-detail{color:#64705c;font-size:.81rem;line-height:1.7;max-width:46ch;margin:0 0 26px}
.premium-home .premium-service-actions{padding-top:24px;margin-top:auto;gap:16px 20px;align-items:center;border-color:#304f3e13}
.landing-services{gap:22px}
.landing-service{border-radius:28px;padding:30px 26px;background:#fffdf9;border-color:#304f3e0e}
.landing-service h3{font-weight:600;line-height:1.35;margin-bottom:18px}
.landing-service p{font-size:.9375rem;line-height:1.75;max-width:40ch}
.service-card-actions{gap:14px;margin-top:24px}
.service-detail-grid article,.scope-card{border-radius:28px;padding:32px}
.scope-card h3,.service-detail-grid h3{font-weight:600;line-height:1.4;margin-bottom:20px}
.scope-card ul{line-height:1.9;color:var(--reading-color)}
.scope-card li{margin-bottom:14px}
.scope-actions{margin-top:32px;margin-bottom:34px;gap:24px}
.scope-access-note{max-width:var(--reading-width)}
.area-directory-grid>a{border-radius:26px;padding:30px 26px}
.area-directory-grid h3{line-height:1.3;margin-bottom:18px}
.area-directory-grid p{line-height:1.75}
.coverage-hero h1{margin-bottom:30px;max-width:20ch;line-height:1.16}
.coverage-hero>p:not(.eyebrow){max-width:var(--reading-width);margin:0 0 30px}
.packing-guide{max-width:980px}
.packing-guide>section{padding:42px 0}
.packing-guide h2{margin-bottom:24px;line-height:1.3;max-width:24ch}
.packing-guide p{max-width:var(--reading-width);margin-bottom:20px;line-height:1.85}
.premium-home .engine-heading,.landing-page .engine-heading{gap:8%;align-items:start;margin-bottom:40px}
.premium-home .engine-heading h2,.landing-page .engine-heading h2{line-height:1.2}
.premium-home .engine-heading>p,.landing-page .engine-heading>p{max-width:44ch;font-size:1rem;line-height:1.8;margin-top:8px;margin-bottom:0}
.premium-home .faq-list,.landing-page .faq-list{padding-top:8px}
.premium-home .faq summary,.landing-page .faq summary{font-weight:600;line-height:1.6;min-height:56px;padding-top:22px;padding-bottom:22px;color:var(--heading-color)}
.premium-home .faq details p,.landing-page .faq details p{font-size:.9375rem;max-width:var(--reading-width);line-height:1.85;margin:0 0 22px}
.materials-hero h1{margin-bottom:28px;line-height:1.18;max-width:18ch}
.materials-how{gap:36px;padding:32px 0;margin-top:42px}
.materials-how h3{margin-bottom:12px;line-height:1.4}
.materials-how p{max-width:32ch;line-height:1.7}
.materials-group{padding:30px 0}
.materials-group summary{color:var(--heading-color);line-height:1.3}
.materials-group summary small{margin-top:10px;line-height:1.6}
.materials-group-note{max-width:var(--reading-width);margin:26px 0}
.material-product{border-radius:24px;padding:26px;gap:16px}
.material-product h3{line-height:1.45;font-weight:600}
.material-product>p{max-width:36ch;line-height:1.75}
.material-product-price{padding-top:22px}
.materials-basket{border-radius:30px;padding:36px}
.basket-heading{margin-bottom:22px;align-items:start}
.basket-heading h3{line-height:1.35}
.basket-note{max-width:var(--reading-width);line-height:1.75}
.materials-faq h2{margin-bottom:28px}
.materials-faq summary{color:var(--heading-color);line-height:1.6}
.materials-faq p{max-width:var(--reading-width);line-height:1.85;margin:18px 0 20px}
/* Light text and warm accents retain contrast on the dark panels. */
.premium-home .approach :is(h2,h3),.landing-page .local-guide :is(h2,h3),.landing-page .coverage-note h3,.landing-page .materials-next :is(h2,h3){color:#f3f6ee}
.premium-home .approach h2 em,.landing-page .local-guide h2 em,.landing-page .materials-next h2 em{color:#ffb06e}
.premium-home .approach p,.premium-home .how-steps p,.landing-page .local-guide p,.landing-page .coverage-note p,.landing-page .materials-next p{color:#d2dbcf;line-height:1.8}
.premium-home .approach .eyebrow,.landing-page .local-guide .eyebrow,.landing-page .materials-next .eyebrow{color:#ffb06e}
.premium-home .approach,.premium-home .planning-callout,.premium-home .contact-section,.materials-next{border-radius:36px}
/* The form uses the same hierarchy with compact, readable field spacing. */
.handy-native{font-family:'DM Sans',sans-serif}
.handy-native .step-panel h3{color:var(--heading-color);font-weight:600;line-height:1.3;letter-spacing:-.025em;margin-bottom:20px;text-wrap:balance}
.handy-native .step-panel>p:not(.error):not(.panel-kicker){color:var(--reading-color);line-height:1.75;max-width:60ch;margin-bottom:24px}
.handy-native .service-options{gap:18px;margin-top:28px}
.handy-native .service-options label,.handy-native .service-options label:has(input:checked){border-radius:24px;padding:24px;gap:16px;align-items:flex-start}
.handy-native .service-options strong{display:block;color:var(--heading-color);font-family:Manrope,sans-serif;line-height:1.4;margin-bottom:8px}
.handy-native .service-options small{display:block;color:var(--reading-color);line-height:1.6}
.handy-native .quote-route{border-radius:28px;padding:28px;gap:18px}
.handy-native .quote-route:not(.recommended)>strong{color:var(--heading-color)}
.handy-native .quote-route:not(.recommended)>span:not(.route-card-head):not(.route-action){color:var(--reading-color);line-height:1.7}
.handy-native .quote-route .route-card-head{margin-bottom:6px}
.handy-native .quote-route>strong{line-height:1.4}
.handy-native .quote-route>small{line-height:1.65}
.handy-native .quote-route .route-action{padding-top:22px;line-height:1.4}
.handy-native .contact-card{border-radius:28px;padding:32px}
.handy-native .contact-card-heading h4{color:var(--heading-color);line-height:1.35;margin-bottom:16px}
.handy-native .contact-card-heading p:not(.panel-kicker){color:var(--reading-color);line-height:1.75;max-width:45ch}
.handy-native .contact-group legend{color:var(--heading-color);line-height:1.5;padding-bottom:22px}
.handy-native .contact-group label{color:#3f5145;line-height:1.5;margin-bottom:10px;font-weight:500}
.handy-native .contact-group .field-grid{gap:24px}
.handy-native .field-note{line-height:1.75!important}
.handy-native .packing-material-card,.handy-native .assembly-item-card,.handy-native .key-option,.handy-native .option{border-radius:20px}
.handy-native .packing-material-card h4{color:var(--heading-color);line-height:1.5}
.handy-native .confirmation-next,.handy-native .reference-card{border-radius:18px}
.handy-native .booking-confirmation{border-radius:28px}
.handy-native .confirmation-actions .button{border-radius:999px}
@media(max-width:1000px){.premium-home .premium-service-copy{padding:30px}.landing-service{padding:28px 24px}.materials-how{gap:26px}.handy-native .quote-route{padding:24px}}
@media(max-width:720px){:root{--section-space:58px;--surface-radius:26px}.premium-home .hero{padding-top:28px;padding-bottom:46px;gap:32px}.premium-home .hero h1,.landing-page .landing-hero h1{line-height:1.2;margin-bottom:24px;max-width:19ch}.premium-home .hero-description,.landing-page .landing-lead{font-size:1rem;line-height:1.8;margin-bottom:26px}.premium-home .hero .eyebrow,.landing-page .landing-hero .eyebrow{margin-bottom:20px}.section-heading,.landing-section-heading{margin-bottom:34px;gap:20px}.section-heading>p:last-child,.landing-section-heading>p{padding:0;max-width:var(--reading-width);margin:20px 0 0}.premium-home .premium-service-copy{padding:28px}.premium-home .service-card-head{margin-bottom:24px}.premium-home .premium-service-copy h3{margin-bottom:16px;line-height:1.3}.premium-home .premium-service-actions{padding-top:22px}.landing-service{padding:28px}.scope-card,.service-detail-grid article{padding:28px;border-radius:26px}.scope-card ul{line-height:1.85}.scope-card li{margin-bottom:16px}.premium-home .engine-heading,.landing-page .engine-heading{margin-bottom:32px}.premium-home .engine-heading>p,.landing-page .engine-heading>p{margin-top:24px;max-width:var(--reading-width)}.premium-home .approach,.premium-home .planning-callout,.premium-home .contact-section,.materials-next{border-radius:30px;padding:42px 26px}.materials-how{gap:26px;margin-top:34px}.material-product{padding:22px}.materials-basket{padding:28px 22px;border-radius:26px}.handy-native .step-panel h3{font-size:1.5rem;margin-bottom:18px}.handy-native .service-options label,.handy-native .service-options label:has(input:checked){padding:22px;border-radius:22px}.handy-native .quote-route{padding:26px;gap:15px;border-radius:26px}.handy-native .contact-card{padding:26px 20px;border-radius:24px}.handy-native .contact-group .field-grid{gap:20px}.handy-native .contact-card-heading{padding-bottom:24px;margin-bottom:26px}.materials-faq h2{margin-bottom:24px}}
@media(max-width:380px){.premium-home .premium-service-copy,.landing-service,.scope-card,.service-detail-grid article{padding:24px}.premium-home .approach,.premium-home .planning-callout,.premium-home .contact-section,.materials-next{padding:36px 22px}.handy-native .quote-route{padding:23px}.handy-native .service-options label,.handy-native .service-options label:has(input:checked){padding:20px}.material-product{padding:20px}.premium-home .service-card-head{gap:14px}}

/* Inset panels keep their own padding rather than inheriting open-section spacing. */
.premium-home main .approach{padding:64px 6%}.premium-home main .planning-callout,.premium-home main .contact-section,.landing-page main .materials-next{padding:60px 6%}
@media(max-width:720px){.landing-page main>.landing-hero{padding-top:28px;padding-bottom:48px}.premium-home main :is(.approach,.planning-callout,.contact-section),.landing-page main .materials-next{padding:42px 26px}}
@media(max-width:380px){.premium-home main :is(.approach,.planning-callout,.contact-section),.landing-page main .materials-next{padding:36px 22px}}
