/* Photo backdrop comparison: original-site Inter, with a warm contrast layer. */
:root{--sans:'Inter',Arial,sans-serif;--serif:'Inter',Arial,sans-serif}
body{font-family:var(--sans);font-weight:400}
h1,h2,h3,.review-excerpts blockquote{font-family:var(--sans);font-style:normal}
em{font-style:normal}
.site-header{height:84px}
.brand{width:213px}
.home-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);padding-bottom:22px}
.hero-backdrop{position:absolute;inset:0;z-index:-1;margin:0;overflow:hidden}
.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.hero-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,235,.97) 0%,rgba(247,243,235,.95) 35%,rgba(247,243,235,.9) 47%,rgba(247,243,235,.12) 67%,rgba(247,243,235,.03) 100%)}
.hero-main{display:block;padding-top:27px}
.hero-grid{display:block;min-height:0}
.hero-copy{width:47%;max-width:570px;padding:0 0 28px}
h1{font-weight:500;letter-spacing:-1.3px}
.h1-intro{font-size:23px;line-height:1.3;letter-spacing:-.5px;font-weight:500;text-wrap:balance;max-width:100%}
.h1-emotion{font-size:50px;line-height:1.08;letter-spacing:-1.7px;font-weight:500;margin-top:10px;max-width:100%;text-wrap:balance}
.h1-emotion em{color:var(--navy);font-style:normal;font-weight:500}
.hero-welcome{font-size:15px;line-height:1.6;margin-top:16px;max-width:490px;color:#39434a}
.hero-proof{margin-top:21px;max-width:435px}
.google-proof{background:#fffdf9;border-color:#a59d91}
.hero-quote{max-width:435px;margin-top:23px}
.hero-quote h2{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.5px;margin-bottom:17px}
.inline-quote-form .quote-field label{font-size:12px;font-weight:500}
.inline-quote-form .quote-field input{font-family:var(--sans);font-size:16px;border-color:#817e76;background:#fffdf9}
.quote-submit{font-size:14px;font-weight:600}
.quote-privacy,.schedule-option{color:#39434a}
.schedule-option :is(button,.schedule-link){font-weight:500;color:#8b3b16;text-decoration-color:#8b3b16}
.customer-proof{background:#f7f3ebf5;border-color:#cfc5b6;padding:17px 22px 20px;border-radius:4px;position:relative}
.customer-proof h2{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;margin-bottom:14px}
.review-excerpts{gap:40px}
.review-excerpts blockquote{font-size:19px;font-weight:400;line-height:1.4;letter-spacing:-.25px;max-width:none}
.review-excerpts figcaption{margin-top:12px;font-size:12px}
.review-excerpts figcaption a{font-size:11px}
.section-heading h2,.services h2{font-size:44px;line-height:1.13;font-weight:500;letter-spacing:-1.5px}
.section-heading h2 em,.services h2 em{color:var(--navy);font-weight:500}
.booking-dialog h2{font-size:32px;font-weight:500;line-height:1.12;letter-spacing:-1px}
.footer-main .brand{width:185px}
@media(min-width:1700px){
 .hero-main{padding-top:32px}
 .hero-copy{width:46%;max-width:625px;padding-bottom:30px}
 .h1-intro{font-size:25px}
 .h1-emotion{font-size:56px}
 .hero-welcome{font-size:16px;max-width:510px}
 .hero-quote{max-width:460px}
 .review-excerpts blockquote{font-size:20px}
}
@media(min-width:901px) and (max-width:1100px){
 .hero-copy{width:48%;max-width:none}
 .h1-intro{font-size:21px}
 .h1-emotion{font-size:42px}
 .hero-quote{max-width:400px}
 .hero-backdrop:after{background:linear-gradient(90deg,#f7f3ebf7 0%,#f7f3ebf2 37%,#f7f3ebe6 49%,#f7f3eb14 72%)}
 .review-excerpts{gap:26px}
 .review-excerpts blockquote{font-size:18px}
}
@media(max-width:900px){
 .site-header{height:78px}
 .brand{width:188px}
 .home-hero{padding-bottom:24px}
 .hero-main{padding-top:24px;padding-bottom:260px}
 .hero-copy{width:calc(100% + 48px);max-width:none;margin-inline:-24px;padding:0 24px 24px;background:#f7f3ebf5}
 .h1-intro{font-size:24px;max-width:100%;text-wrap:initial}
 .h1-emotion{font-size:52px;max-width:600px}
 .hero-welcome{font-size:16px;max-width:480px}
 .hero-quote{max-width:500px}
 .hero-backdrop img{position:absolute;bottom:0;left:0;height:650px;object-fit:cover;object-position:60% 58%}
 .hero-backdrop:after{background:linear-gradient(180deg,var(--paper) 0%,#f7f3eb00 65%)}
 .customer-proof{padding:22px;background:#f7f3ebfa}
 .review-excerpts{grid-template-columns:1fr}
 .review-excerpts figure:not(:first-child){display:none}
 .review-excerpts blockquote{font-size:20px;max-width:450px}
 .review-excerpts figcaption a{font-size:12px}
}
@media(max-width:600px){
 .site-header{height:74px}
 .brand,.footer-main .brand{width:180px}
 .hero-main{padding-top:22px;padding-bottom:230px}
 .hero-copy{width:calc(100% + 40px);margin-inline:-20px;padding:0 20px 24px}
 .h1-intro{font-size:20px;line-height:1.35;letter-spacing:-.35px}
 .h1-emotion{font-size:43px;line-height:1.09;letter-spacing:-1.4px;margin-top:10px;max-width:350px;text-wrap:initial}
 .hero-welcome{font-size:15px;line-height:1.6;max-width:335px;margin-top:17px}
 .hero-proof{margin-top:24px}
 .hero-quote{margin-top:28px}
 .hero-quote h2{font-size:23px;margin-bottom:20px}
 .inline-quote-form .quote-field label{font-size:13px}
 .hero-backdrop img{object-position:59% 58%}
 .customer-proof{padding:22px 18px}
 .review-excerpts blockquote{font-size:19px;line-height:1.45}
 .section-heading h2,.services h2{font-size:34px;line-height:1.15;letter-spacing:-1px}
 .booking-dialog h2{font-size:29px}
}
@media(max-width:359px){
 .h1-intro{font-size:18px}
 .h1-emotion{font-size:38px;letter-spacing:-1px}
 .hero-welcome{font-size:14px}
 .hero-main{padding-bottom:210px}
 .hero-copy{width:calc(100% + 32px);margin-inline:-16px;padding-inline:16px}
 .hero-backdrop img{object-position:58% 58%}
}
