/* Sauberly landing page. Isolated from the service and booking interfaces. */
.home { --home-paper:#f7f5f0; --home-ink:#252d29; --home-muted:#636b63; --home-orange:#c4472c; --home-sage:#e8ece3; --home-text-body:1.125rem; --home-text-lead:1.25rem; --home-text-small:1rem; --home-text-label:.875rem; background:var(--home-paper); color:var(--home-ink); }
.home section { padding:96px 0; background:transparent; scroll-margin-top:100px; }
.home h1,.home h2,.home h3 { font-family:var(--font-display); letter-spacing:-.055em; font-weight:500; }
.home h2 { font-size:clamp(32px,3.6vw,46px); line-height:1.14; }
.home a:focus-visible,.home summary:focus-visible { outline:3px solid var(--home-orange); outline-offset:6px; }
.home-shell { width:min(1240px,100%); padding:0 48px; margin:0 auto; }
.home__skip { position:fixed; top:-80px; left:16px; padding:12px; background:white; z-index:200; }
.home__skip:focus { top:12px; }
.home-header { position:sticky; top:0; z-index:60; background:rgba(247,245,240,.96); backdrop-filter:blur(12px); border-bottom:1px solid #e3e2d9; }
.home-header__inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.home-brand { font-family:var(--font-display); font-size:28px; font-weight:700; letter-spacing:-1.5px; white-space:nowrap; }
.home-brand span { color:var(--home-orange); }
.home-header__nav,.home-header__actions { display:flex; gap:28px; align-items:center; font-size:var(--home-text-small); font-weight:500; }
.home-header__actions { gap:24px; }
.home-header__nav a:hover,.home-header__account:hover { color:var(--home-orange); }
.home-button { display:inline-flex; justify-content:center; align-items:center; gap:28px; min-height:54px; padding:15px 24px; border-radius:6px; background:var(--home-orange); color:white; font-size:var(--home-text-small); font-weight:500; transition:background .2s,transform .2s; }
.home-button:hover { background:#a73a24; transform:translateY(-2px); }
.home-button span { font-size:22px; line-height:1; }
.home-button--small { min-height:44px; padding:10px 18px; font-size:var(--home-text-small); gap:24px; }
.home .home-hero { padding:52px 0 64px; }
.home-hero__grid { display:grid; grid-template-columns:1.08fr 1fr; gap:46px; align-items:center; }
.home-hero__copy { padding:20px 0 20px; }
.home-eyebrow { font-size:var(--home-text-label); text-transform:uppercase; letter-spacing:.15em; font-weight:600; color:var(--home-muted); margin-bottom:22px; display:flex; gap:9px; align-items:center; }
.home-eyebrow__dot { width:7px; height:7px; border-radius:50%; background:var(--home-orange); }
.home-hero__title { font-size:clamp(42px,4.2vw,58px); line-height:1.05; margin-bottom:26px; }
.home-hero__title span { color:var(--home-orange); }
.home-hero__description { max-width:430px; font-size:var(--home-text-lead); line-height:1.6; color:var(--home-muted); }
.home-hero__buttons { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin:30px 0 28px; }
.home-text-link { display:inline-flex; gap:16px; align-items:center; font-size:var(--home-text-small); font-weight:500; padding:8px 0; border-bottom:1px solid #b9bcb3; }
.home-text-link:hover { color:var(--home-orange); border-color:var(--home-orange); }
.home-hero__note { line-height:1.6; display:flex; gap:8px; align-items:center; font-size:var(--home-text-small); color:var(--home-muted); }
.home-check { display:inline-flex; width:16px; height:16px; align-items:center; justify-content:center; border:1px solid #aab7a2; border-radius:50%; color:#51664a; }
.home-hero__visual { position:relative; display:flex; flex-direction:column; height:570px; border-radius:120px 10px 10px 10px; }
.home-hero__image { width:100%; height:0; min-height:0; flex:1; display:block; object-fit:cover; object-position:80% center; border-radius:inherit; background:#e8e2d6; }
.home-hero__caption { position:absolute; bottom:32px; left:-27px; padding:20px 24px; display:flex; gap:16px; align-items:center; background:#fffdf8; box-shadow:0 12px 35px #29312510; border:1px solid #e6e3d9; border-radius:7px; font-size:var(--home-text-small); line-height:1.8; }
.home-hero__caption strong { display:block; font-weight:600; font-size:var(--home-text-small); }
.home-hero__caption-icon { font-size:40px; line-height:1; color:var(--home-orange); }
.home-hero__image-label { position:absolute; right:22px; top:23px; font-size:var(--home-text-label); letter-spacing:.16em; color:#43513c; background:#fffdf8e8; padding:6px 8px; border-radius:3px; }
.home-values { border-block:1px solid #dedfd5; }
.home-values__inner { flex-wrap:wrap; padding-block:18px; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:var(--home-text-small); }
.home-values__inner [aria-hidden] { color:var(--home-orange); font-size:18px; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:38px; }
.home-section-heading h2 span { color:#7a8175; }
.home-section-heading>p { max-width:290px; font-size:var(--home-text-body); line-height:1.6; color:var(--home-muted); padding-bottom:4px; }
.home-services__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-service { display:flex; flex-direction:column; padding:28px; border:1px solid #deded3; border-radius:9px; background:#f0eee7; transition:transform .2s,box-shadow .2s; }
.home-service:hover { transform:translateY(-5px); box-shadow:0 14px 25px #2830200b; }
.home-service--sage { background:#e8ece3; border-color:#dce2d4; }
.home-service--sand { background:#eee7df; border-color:#e3dcd3; }
.home-service__top { min-height:45px; display:flex; align-items:center; justify-content:space-between; margin-bottom:36px; }
.home-service__number { font-family:var(--font-mono); font-size:var(--home-text-label); color:var(--home-muted); }
.home-service__icon { width:45px; height:45px; font-size:50px; line-height:1; color:#66715d; }
.home-service__eyebrow { font-size:var(--home-text-label); letter-spacing:.13em; font-weight:600; margin-bottom:10px; color:var(--home-muted); }
.home-service h3 { font-size:26px; line-height:1.18; margin-bottom:16px; }
.home-service__description { color:var(--home-muted); font-size:var(--home-text-body); line-height:1.6; margin-bottom:20px; }
.home-service__tags { display:flex; flex-wrap:wrap; gap:6px; margin:22px 0 28px; }
.home-service__tags span { border:1px solid #cbd0c3; padding:5px 8px; border-radius:20px; font-size:var(--home-text-label); }
.home-service__link { margin-top:auto; border-top:1px solid #ccd0c4; padding-top:18px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:var(--home-text-body); font-weight:600; }
.home-service__link>span { font-size:22px; font-weight:400; }
.home .home-process { background:#e9ede5; }
.home-process__grid,.home-questions__grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.home-process__intro { max-width:330px; margin:24px 0; font-size:var(--home-text-body); line-height:1.6; color:var(--home-muted); }
.home-process__steps { list-style:none; }
.home-process__steps li { display:flex; gap:22px; padding:25px 0; border-bottom:1px solid #cdd5c5; }
.home-process__steps li:first-child { padding-top:5px; }
.home-process__steps li>span { display:flex; align-items:center; justify-content:center; width:34px; height:34px; flex-shrink:0; border:1px solid #b6c2ab; border-radius:50%; font-family:var(--font-mono); font-size:var(--home-text-label); }
.home-process__steps h3 { font-size:22px; margin-bottom:8px; }
.home-process__steps p { color:var(--home-muted); font-size:var(--home-text-body); line-height:1.6; }
.home-questions .home-text-link { margin-top:26px; }
.home-questions__list details { border-bottom:1px solid #dcded3; }
.home-questions__list details:first-child { border-top:1px solid #dcded3; }
.home-questions__list summary { min-height:74px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; font-size:var(--home-text-body); font-weight:500; padding:18px 0; }
.home-questions__list summary::-webkit-details-marker { display:none; }
.home-questions__list summary span { font-size:23px; font-weight:400; color:#747c6a; transition:transform .2s; }
.home-questions__list details[open] summary span { transform:rotate(45deg); }
.home-questions__list details p { color:var(--home-muted); font-size:var(--home-text-body); line-height:1.6; padding:0 25px 24px 0; }
.home .home-closing { padding:0 0 70px; }
.home-closing__inner { text-align:center; background:#e7eadf; border-radius:10px; padding-block:52px; }
.home-closing__symbol { display:block; font-size:43px; color:var(--home-orange); margin-bottom:10px; }
.home-closing h2 { font-size:48px; margin-bottom:28px; }
.home-closing em { font-family:Georgia,serif; font-weight:400; color:#67735b; letter-spacing:-.045em; }
.home-footer { border-top:1px solid #dcded3; padding:44px 0 24px; }
.home-footer__top { flex-wrap:wrap; display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:40px; }
.home-footer__top p { font-size:var(--home-text-small); color:var(--home-muted); margin-top:10px; }
.home-footer nav { flex-wrap:wrap; display:flex; gap:26px; font-size:var(--home-text-small); }
.home-footer a:hover { color:var(--home-orange); }
.home-footer__bottom { flex-wrap:wrap; border-top:1px solid #dcded3; padding-top:22px; display:flex; justify-content:space-between; gap:20px; font-size:var(--home-text-label); color:var(--home-muted); }
.home-footer__bottom>div { display:flex; gap:16px; }
.home-mobile-cta { display:none; }
/* Estimate-to-company journey */
.home-hero__disclaimer { max-width:405px; margin-top:12px; font-size:var(--home-text-small); line-height:1.75; color:var(--home-muted); }
.home-match { position:relative; flex-shrink:0; margin-top:-8px; border:1px solid #e4e4d9; background:#fffdf8; padding:24px 25px 18px; border-radius:9px; box-shadow:0 16px 40px #252d2914; }
.home-match__eyebrow { line-height:1.5; font-size:var(--home-text-label); font-weight:600; letter-spacing:.12em; color:var(--home-muted); margin-bottom:17px; }
.home-match__steps { list-style:none; display:grid; gap:12px; }
.home-match__steps li { display:flex; align-items:center; gap:13px; font-size:var(--home-text-body); }
.home-match__steps li>span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#526248; background:#edf0e7; font-size:var(--home-text-label); font-family:var(--font-mono); }
.home-match__foot { line-height:1.6; display:flex; align-items:center; gap:9px; border-top:1px solid #e6e7dd; margin-top:18px; padding-top:14px; font-size:var(--home-text-label); color:#626f58; }
.home-service--featured { background:#e5ebdf; border-color:#bac7ac; }
.home-service__badge { padding:6px 8px; color:#43583a; border:1px solid #aeba9f; border-radius:20px; font-size:var(--home-text-label); font-weight:600; letter-spacing:.07em; }
.home-service__benefits { list-style:none; padding:0 0 28px; margin-bottom:12px; display:grid; gap:12px; font-size:var(--home-text-body); }
.home-service__benefits li { display:flex; align-items:baseline; gap:8px; }
.home-service__benefits li::before { content:'✓'; color:#5e744d; }
.home-service__use { padding:15px 0; border-top:1px solid #d7cfc4; font-size:var(--home-text-body); line-height:1.6; }
.home-service__use h4 { font-weight:600; font-size:var(--home-text-body); margin-bottom:4px; }
.home-service__use p { color:var(--home-muted); }
.home-service__use strong { line-height:1.6; display:block; color:#a2412e; font-size:var(--home-text-small); font-weight:500; margin-top:3px; }
.home-service__use:last-of-type { margin-bottom:22px; }
.home-price-note { display:flex; gap:15px; padding-top:25px; margin-top:32px; border-top:1px solid #c8d0c1; max-width:360px; }
.home-price-note>span { color:#6b805b; font-size:29px; }
.home-price-note p { font-size:var(--home-text-body); line-height:1.6; color:var(--home-muted); }
.home-price-note strong { display:block; color:var(--home-ink); font-weight:600; margin-bottom:7px; }
.home-confidence__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin:45px 0; }
.home-confidence__grid article { border-top:1px solid #cdd3c6; padding-top:20px; }
.home-confidence__grid article>span { font-size:var(--home-text-label); color:#717c66; font-family:var(--font-mono); }
.home-confidence__grid h3 { font-size:24px; margin:18px 0 12px; }
.home-confidence__grid p { color:var(--home-muted); font-size:var(--home-text-body); line-height:1.6; }
.home-guarantee { display:flex; align-items:center; gap:25px; padding:30px; background:#e9ede3; border-radius:9px; }
.home-guarantee__symbol { flex-shrink:0; display:grid; place-items:center; width:44px; height:50px; border:1px solid #9caf8b; border-radius:18px 18px 24px 24px; color:#587049; font-size:24px; }
.home-guarantee h3 { font-size:24px; margin-bottom:10px; }
.home-guarantee p { max-width:620px; color:var(--home-muted); font-size:var(--home-text-body); line-height:1.6; }
.home-guarantee .home-text-link { flex-shrink:0; margin-left:auto; }
.home .home-questions { border-top:1px solid #e0e2d7; }
.home-closing .home-eyebrow { justify-content:center; }
.home-closing__other { display:block; font-size:var(--home-text-small); margin-top:18px; text-decoration:underline; text-underline-offset:4px; color:var(--home-muted); }
@media (min-width:1500px) { .home-shell { width:min(1380px,100%); } .home-hero__visual { height:620px; } .home-hero__title { font-size:64px; } }
@media (max-width:1000px) {
 .home-shell { padding-inline:30px; } .home-header__nav { gap:18px; } .home-header__account { display:none; }
 .home-hero__grid { gap:28px; } .home-hero__visual { height:500px; } .home-hero__title { font-size:54px; }
 .home-hero__buttons { gap:15px; flex-wrap:wrap; } .home-service { padding:23px; } .home-service h3 { font-size:23px; }
 .home-process__grid,.home-questions__grid { gap:55px; } .home-footer__bottom { flex-wrap:wrap; }
}
@media (max-width:700px) {
 .home { padding-bottom:76px; } .home-shell { padding-inline:22px; } .home section { padding:60px 0; scroll-margin-top:78px; }
 .home-header__inner { min-height:72px; gap:14px; } .home-brand { font-size:25px; } .home-header__nav { display:none; }
 .home-header__actions { gap:0; } .home-button--small { font-size:var(--home-text-small); min-height:40px; gap:8px; padding:10px 11px; }
 .home .home-hero { padding:34px 0 38px; } .home-hero__grid { grid-template-columns:1fr; gap:26px; }
 .home-hero__copy { padding:0; } .home-eyebrow { font-size:var(--home-text-label); margin-bottom:20px; } .home-hero__title { font-size:clamp(44px,12vw,66px); margin-bottom:20px; }
 .home-hero__description { font-size:var(--home-text-lead); line-height:1.6; max-width:400px; } .home-hero__buttons { margin:23px 0 19px; gap:18px; }
 .home-hero__buttons .home-button { padding:14px 18px; font-size:var(--home-text-small); min-height:48px; gap:24px; } .home-text-link { font-size:var(--home-text-small); gap:12px; }
 .home-hero__note { line-height:1.6; font-size:var(--home-text-label); } .home-hero__visual { height:340px; border-top-left-radius:78px; }
 .home-hero__caption { left:12px; bottom:18px; padding:13px 16px; font-size:var(--home-text-label); gap:11px; } .home-hero__caption strong { font-size:var(--home-text-small); } .home-hero__caption-icon { font-size:32px; }
 .home-values__inner { flex-wrap:wrap; padding-block:18px; flex-wrap:wrap; justify-content:center; padding-block:20px; gap:10px 18px; font-size:var(--home-text-label); }
 .home-values__inner [aria-hidden]:nth-child(4) { display:none; } .home-values__inner>span:last-child { width:100%; text-align:center; }
 .home-section-heading { display:block; margin-bottom:26px; } .home-section-heading>p { margin-top:20px; max-width:100%; font-size:var(--home-text-body); }
 .home-services__grid { grid-template-columns:1fr; gap:14px; } .home-service { padding:25px; } .home-service__top { margin-bottom:22px; }
 .home-service h3 { font-size:29px; } .home-service__description { font-size:var(--home-text-body); } .home-service__tags { margin:20px 0; }
 .home-service__eyebrow { font-size:var(--home-text-label); } .home-service__link { font-size:var(--home-text-body); }
 .home-process__grid,.home-questions__grid { grid-template-columns:1fr; gap:35px; } .home-process__intro { max-width:none; }
 .home-process__steps li { padding:22px 0; } .home-process__steps p,.home-questions__list details p { font-size:var(--home-text-body); }
 .home-questions__list summary { font-size:var(--home-text-body); min-height:75px; } .home .home-closing { padding:0 22px 45px; }
 .home-closing__inner { padding:35px 20px; } .home-closing h2 { font-size:41px; }
 .home-footer { padding:32px 0 24px; } .home-footer__top { flex-wrap:wrap; flex-direction:column; align-items:flex-start; gap:26px; margin-bottom:30px; }
 .home-footer nav { flex-wrap:wrap; gap:22px; font-size:var(--home-text-small); } .home-footer__bottom { flex-direction:column; gap:16px; font-size:var(--home-text-label); }
 .home-footer__bottom>div { flex-wrap:wrap; gap:14px; }
 .home-mobile-cta { position:fixed; z-index:70; bottom:12px; bottom:max(12px,env(safe-area-inset-bottom)); left:16px; right:16px; min-height:50px; display:flex; align-items:center; justify-content:space-between; padding:12px 20px; color:#fff; background:var(--home-orange); border-radius:7px; font-size:var(--home-text-small); box-shadow:0 5px 20px #252d2930; }
 .home-mobile-cta span { font-size:23px; }
}
@media (max-width:1000px) {
 .home-match { padding:21px; }
 .home-guarantee { flex-wrap:wrap; } .home-guarantee>div { flex:1; min-width:230px; }
 .home-guarantee .home-text-link { margin-left:69px; }
}
@media (max-width:700px) {
 .home-hero__title { font-size:clamp(39px,10.2vw,60px); }
 .home-hero__description { max-width:none; }
 .home-hero__buttons .home-button { width:100%; justify-content:space-between; font-size:var(--home-text-small); }
 .home-hero__buttons .home-text-link { font-size:var(--home-text-small); }
 .home-hero__note { line-height:1.6; align-items:flex-start; font-size:var(--home-text-label); } .home-hero__note .home-check { flex-shrink:0; }
 .home-hero__disclaimer { font-size:var(--home-text-small); max-width:none; }
 .home-hero__visual { height:560px; }
 .home-match { padding:17px; }
 .home-match__eyebrow { line-height:1.5; font-size:var(--home-text-label); letter-spacing:.1em; }
 .home-match__steps { gap:9px; } .home-match__steps li { font-size:var(--home-text-body); }
 .home-match__foot { line-height:1.6; font-size:var(--home-text-label); margin-top:13px; padding-top:12px; }
 .home-values__inner { flex-wrap:wrap; padding-block:18px; font-size:var(--home-text-label); column-gap:10px; }
 .home-service__top { margin-bottom:28px; } .home-service__description { margin-bottom:18px; }
 .home-service__benefits { font-size:var(--home-text-body); margin-bottom:8px; padding-bottom:22px; }
 .home-service__use,.home-service__use h4 { font-size:var(--home-text-body); }
 .home-price-note { max-width:none; margin-top:25px; }
 .home-confidence__grid { grid-template-columns:1fr; gap:28px; margin:32px 0; }
 .home-confidence__grid h3 { margin:12px 0 8px; font-size:25px; }
 .home-guarantee { padding:23px; gap:18px; align-items:flex-start; }
 .home-guarantee>div { min-width:0; flex-basis:calc(100% - 65px); }
 .home-guarantee h3 { font-size:23px; } .home-guarantee p { font-size:var(--home-text-body); }
 .home-guarantee .home-text-link { margin-left:0; }
 .home-closing h2 { font-size:34px; } .home-closing .home-button { font-size:var(--home-text-small); gap:16px; padding-inline:16px; }
 .home-closing__other { font-size:var(--home-text-label); line-height:1.8; }
 .home-footer__bottom>span { max-width:270px; line-height:1.8; }
}
@media (max-width:360px) {
 .home-hero__title { font-size:34px; }
 .home-button--small { white-space:nowrap; }
 .home-button--small span { display:none; }
 .home-hero__buttons .home-button { font-size:var(--home-text-small); gap:12px; }
}
@media (prefers-reduced-motion:reduce) { .home a,.home summary span { transition:none; } }
