/* September 2026: compact rhythm, homeowner imagery, direct service choices. */
.section{padding:62px 0}
.wrap{max-width:1240px}
.nav{height:82px}
.eyebrow{margin-bottom:16px;font-size:.78rem}
.page-head{padding:42px 0}
.page-head h1{font-size:clamp(2.4rem,4.1vw,3.8rem)}
.page-head .intro{margin:18px 0 24px;font-size:1.05rem}
.breadcrumb{margin-bottom:18px}
.section-head{gap:35px;margin-bottom:28px}
.section-head h2{font-size:clamp(2rem,3vw,2.8rem)}
.section-head>p{max-width:400px}
.hero-grid{min-height:560px;grid-template-columns:1.05fr 1fr}
.hero-copy{padding:44px 38px 42px 0}
.hero-copy h1{font-size:clamp(2.8rem,4.4vw,4.1rem);line-height:1.1}
.hero-copy .intro{margin:20px 0 24px;max-width:480px}
.hero-photo{margin-right:0;margin-top:26px;margin-bottom:26px;border-radius:12px;overflow:hidden}
.hero-photo>img{object-position:center 52%}
.hero-note{left:18px;right:18px;bottom:18px;padding:17px 18px;border-radius:8px}
.hero-note .icon{width:28px;height:28px}
.hero-note strong{font-size:.94rem}
.photo-label{background:#113d36d9;padding:5px 9px;border-radius:4px;font-size:.75rem;text-shadow:none;right:14px;top:14px}
.trust-strip{padding-top:22px;padding-bottom:22px;gap:26px}
.split{gap:52px}
.concern{min-height:230px;padding:25px 22px}
.concern .icon{margin-bottom:18px}
.concern p{font-size:.92rem}
.process{gap:28px;margin-top:28px}
.process .step{margin-bottom:17px}
.membership{padding:36px;gap:36px}
.membership h2{font-size:2.8rem}
.cta-band{padding:40px 0}
.cta-band h2{font-size:2.1rem}
.scene-photo{margin:0;position:relative;border-radius:10px;overflow:hidden;background:#e6ebe1;min-width:0}
.scene-photo img{width:100%;height:100%;object-fit:cover}
.scene-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:9px 14px;background:#113d36e8;color:#fff;font-size:.75rem;line-height:1.5}
.visual-head-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:46px}
.visual-head-grid .scene-photo{height:360px}
.visual-page-head h1{max-width:640px}
.visual-page-head .intro{max-width:600px}
.visual-page-head .scene-photo{height:390px}
.real-homes-hero .visual-head-grid{grid-template-columns:1.1fr 1fr;gap:48px}
.real-homes-hero h1{font-size:clamp(2.6rem,4.4vw,4rem)}
.real-homes-hero .intro{max-width:540px}
.real-homes-hero .scene-photo img{object-position:center 42%}
.case-collection{padding-top:38px}
.case-collection .section-head{margin-bottom:16px}
.case-source-label{margin:14px 0 22px;font-size:.8rem}
.home-case-grid{gap:24px}
.home-case-copy{padding:25px 26px 23px}
.home-case-copy .eyebrow{font-size:.75rem;margin-bottom:12px}
.home-case-copy h3{font-size:1.55rem;line-height:1.25;margin-bottom:13px}
.home-case-copy>p:not(.eyebrow){font-size:.95rem;line-height:1.65}
.case-result-panel{padding:24px 26px}
.case-result-label{font-size:.85rem}
.case-comparison{padding:19px 0}
.case-comparison>div>span{font-size:.8rem}
.case-comparison strong{font-size:3.55rem}
.case-result-note{font-size:.78rem;margin-top:12px;padding-top:12px}
.case-result-timing{font-size:.85rem}
.home-case-card>.text-link{margin:20px 26px}
.case-value-grid{margin-top:28px;gap:28px}
.case-value-grid .icon{margin-bottom:15px}
.case-story-head{padding-bottom:32px}
.case-story-head h1{font-size:clamp(2.4rem,4vw,3.7rem)}
.case-story-head + .section{padding-top:36px}
.case-story-opening{gap:44px}
.case-journey{margin-top:30px;gap:26px 40px}
.case-detail-grid,.case-context-grid{gap:44px}
.case-detail-list{margin-top:18px}
.case-detail-list li{padding:12px 0}
.visual-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.visual-service-grid article{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.visual-service-grid .scene-photo{height:210px;border-radius:0}
.visual-service-grid .scene-photo img{object-position:center 44%}
.visual-service-copy{padding:25px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.visual-service-copy h3{font-size:1.55rem;line-height:1.25}
.visual-service-copy p{margin:15px 0 23px;font-size:.95rem}
.visual-service-copy .btn{margin-top:auto;font-size:.86rem;padding:12px 15px;gap:12px}
.care-banner-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.care-banner .scene-photo{height:360px}
.care-banner h2{font-size:clamp(2rem,3.2vw,3rem)}
.care-banner .intro{font-size:1.03rem;margin:20px 0 24px}
.care-banner{border-top:1px solid var(--line)}
.services-hero{padding:40px 0;background:var(--paper)}
.services-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.services-hero h1{font-size:clamp(2.6rem,4.3vw,3.9rem)}
.services-hero .scene-photo{height:400px}
.services-hero-bottom{display:block;margin-top:22px;padding-top:0;border-top:0}
.services-hero-bottom p{font-size:1rem;max-width:520px}
.services-hero-bottom .actions{margin-top:22px}
.service-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}
.service-link-grid a{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--line);border-radius:8px;padding:16px 18px;font-size:.9rem}
.service-link-grid a:hover{background:var(--paper);border-color:var(--green)}
.service-jump{display:none}
.assessment-detail{gap:48px;padding-top:20px}
.assessment-detail h2{font-size:2.7rem}
.assessment-steps{gap:22px}
.hvac-grid{margin-top:28px;margin-bottom:28px}
.service-price{margin:0 0 22px;font-size:.9rem}
.service-price strong{font-size:1.7rem;margin-right:8px;color:var(--ink);font-weight:600}
.service-process h3{margin-top:12px}
.service-process .step{font-size:.83rem}
.booking-hero{padding:32px 0 28px}
.booking-hero h1{font-size:clamp(2.3rem,4vw,3.5rem)}
.booking-hero p:not(.eyebrow){margin-top:14px}
.booking-section{padding-top:30px}
.appointment-layout{gap:40px;grid-template-columns:.88fr 1.12fr;align-items:start}
.appointment-card{padding:28px}
.booking-story-copy{padding:25px}
.booking-story .monitor-photo img{max-height:315px;object-fit:cover}
.calendar-note{font-size:.88rem}
.live-scheduler-link{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:8px;margin:0 0 25px}
.live-scheduler-link p{margin-bottom:16px}
.live-scheduler-link .text-link{margin-top:14px}
.contact-bar{background:var(--ink);color:white}
.contact-bar .wrap{display:flex;justify-content:flex-end;gap:25px;padding-top:6px;padding-bottom:6px;font-size:.85rem}
.contact-bar a:hover{text-decoration:underline}
.aside-card .scene-photo{margin:-12px -12px 24px;height:180px}
.research-banner{margin-bottom:28px}
.monitoring-hero-grid{gap:42px}
.monitoring-hero h1{font-size:clamp(2.5rem,4vw,3.6rem)}
.monitoring-photo figcaption{font-size:.75rem}
.article-category,.step{font-size:.8rem}
.article-card p{font-size:.94rem}
.home-stories-teaser{margin-top:28px;padding-top:25px}
.faq details{padding:18px 0}
@media(min-width:1600px){.hero-photo{margin-right:0}}
@media(max-width:1000px){
 .visual-head-grid,.real-homes-hero .visual-head-grid,.services-hero-grid{gap:28px;grid-template-columns:1.1fr 1fr}
 .hero-copy{padding-right:28px}.hero-copy h1{font-size:3.1rem}
 .visual-head-grid .scene-photo{height:350px}.services-hero .scene-photo{height:380px}
 .services-hero h1{font-size:3rem}.visual-service-copy{padding:21px}
 .visual-service-copy .btn{width:100%;gap:10px;font-size:.82rem}
 .appointment-layout{gap:26px}.booking-story-copy{padding:22px}
 .care-banner-grid{gap:30px}.service-link-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
 .nav{height:76px}.nav>nav{top:76px}
 .hero-grid{min-height:530px}.hero-copy h1{font-size:2.8rem}
 .hero .actions{flex-direction:column;align-items:stretch}
 .hero .actions .btn{font-size:.9rem}
 .section{padding:48px 0}.page-head{padding:34px 0}
 .visual-service-grid{gap:15px}.visual-service-copy h3{font-size:1.35rem}
 .visual-service-grid .scene-photo{height:180px}.visual-service-copy{padding:18px}
 .services-hero-grid,.visual-head-grid,.real-homes-hero .visual-head-grid{grid-template-columns:1fr}
 .visual-head-grid .scene-photo,.services-hero .scene-photo{height:310px}
 .services-hero h1 br{display:none}.services-hero h1 span{display:block}
 .real-homes-hero .visual-head-grid{grid-template-columns:1.1fr 1fr;gap:24px}
 .real-homes-hero h1{font-size:2.8rem}.real-homes-hero .scene-photo{height:350px}
 .real-homes-hero .actions .btn{font-size:.85rem}.real-homes-hero .intro{font-size:.95rem}
 .appointment-layout{grid-template-columns:1fr}.booking-story{display:grid;grid-template-columns:1fr 1fr}
 .booking-story .monitor-photo img{height:100%;max-height:none}
 .case-comparison strong{font-size:3rem}.case-result-panel{padding:23px}
 .membership h2{font-size:2.5rem}.care-banner h2{font-size:2.3rem}
}
@media(max-width:600px){
 .wrap{padding-left:22px;padding-right:22px}.nav{height:72px}.nav>nav{top:72px}
 .hero-grid{display:flex;min-height:0}.hero-copy{padding:32px 0 25px}
 .hero-copy h1{font-size:2.8rem;line-height:1.13}.hero-copy .intro{font-size:1rem}
 .hero .actions{flex-direction:row;align-items:center;gap:10px}
 .hero .actions .btn{width:100%;font-size:.9rem;min-height:48px}
 .hero-photo{height:330px;margin:0 0 24px}.hero-note{left:14px;right:14px;bottom:14px;padding:15px}
 .hero-note strong{font-size:.9rem}.hero-note span{font-size:.8rem}
 .section{padding:40px 0}.page-head{padding:28px 0}
 .section-head{margin-bottom:23px}.section-head>p{margin-top:16px}
 .eyebrow{font-size:.74rem;letter-spacing:.11em}.breadcrumb{font-size:.85rem}
 h2{font-size:2.15rem}.split{gap:25px}
 .visual-head-grid,.real-homes-hero .visual-head-grid,.care-banner-grid{grid-template-columns:1fr;gap:26px}
 .real-homes-hero h1,.page-head h1{font-size:2.65rem}
 .real-homes-hero .scene-photo,.visual-head-grid .scene-photo{height:260px}
 .real-homes-hero .intro{font-size:1rem}
 .real-homes-hero .actions{gap:16px}
 .case-collection{padding-top:30px}.case-source-label{font-size:.8rem}
 .home-case-grid{gap:22px}.home-case-copy{padding:24px}
 .case-comparison strong{font-size:3.25rem}.case-result-note{font-size:.8rem}
 .case-value-grid{gap:22px}.case-value-grid article{padding-top:19px}
 .case-story-head+.section{padding-top:28px}
 .visual-service-grid{grid-template-columns:1fr;gap:22px}
 .visual-service-grid .scene-photo{height:230px}.visual-service-copy{padding:24px}
 .visual-service-copy h3{font-size:1.55rem}.visual-service-copy .btn{width:auto;font-size:.9rem}
 .care-banner .scene-photo{height:270px}.care-banner .intro{font-size:1rem}
 .service-link-grid{grid-template-columns:1fr;gap:9px;margin-bottom:24px}
 .service-link-grid a{padding:14px 16px}
 .services-hero{padding:30px 0}.services-hero h1{font-size:2.7rem}
 .services-hero .scene-photo{height:270px}.services-hero .actions{align-items:stretch;flex-direction:column}
 .assessment-detail{gap:30px;padding-top:0}.assessment-detail h2{font-size:2.3rem}
 .membership{padding:26px;gap:26px}.membership h2{font-size:2.2rem}
 .booking-hero{padding:26px 0 22px}.booking-hero h1{font-size:2.45rem}
 .booking-section{padding-top:22px}.appointment-card{padding:22px 18px}
 .booking-story{display:block}.booking-story-copy{padding:24px}
 .booking-story .monitor-photo img{height:auto;max-height:320px}
 .calendar-days{gap:3px}.contact-fields h2{font-size:1.4rem}
 .cta-band{padding:32px 0}.cta-band .btn{margin-top:20px}
 .footer-note span{white-space:normal}.contact-bar .wrap{justify-content:center;gap:18px}
}
/* /book/: the request card that opens the portal booking flow */
.request-card .calendar-heading{margin-top:26px}
.request-steps{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:12px}
.request-steps li{display:flex;align-items:center;gap:12px;font-size:.95rem}
.request-steps span{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#edf2e5;color:var(--ink);font-weight:600;font-size:.8rem}
.request-card .full-button:disabled{opacity:.55;cursor:default}
.request-card .helper{margin-top:10px}
