/* Shared desktop/tablet extension of the approved mobile design. */
.desktop-nav { display:none; }
@media (min-width:600px) and (max-width:899px) {
  :root { --gutter:48px; }
  .site-shell { max-width:none; box-shadow:none; }
  .site-header { padding:30px max(48px,calc((100vw - 680px)/2)) 0; }
  .home-page .hero-copy { padding:50px max(48px,calc((100vw - 600px)/2)) 24px; }
  .home-page .hero-details { max-width:520px; }
  .home-page .hero-subtitle { font-size:21px; }
  .home-page .hero .eyebrow { font-size:12px; }
  .home-page .hero h1 .rebate-label { font-size:42px; }
  .home-page .hero h1 .cap-amount { font-size:82px; }
  .home-page .hero h1 .cap-label { font-size:32px; }
  .home-page .hero h1 .rebate-purpose { font-size:27px; }
  .home-page .byline { margin:26px 0; font-size:17px; }
  .home-page .byline small { font-size:13px; }
  .home-page .hero .button { max-width:420px; }
  .home-page .offer-note { max-width:430px; }
  .home-page .architecture-frame { aspect-ratio:1.9; }
  .home-page .section,.home-page .closing-section,.site-footer { padding-left:max(48px,calc((100vw - 680px)/2)); padding-right:max(48px,calc((100vw - 680px)/2)); }
  .home-page .section h2 { font-size:56px; }
  .home-page .section-intro { max-width:580px; font-size:20px; }
  .home-page .calculator { max-width:560px; }
  .home-page .hands-figure { max-width:680px; margin:32px 0; }
  .home-page .hands-labels { margin-inline:0; font-size:21px; }
  .home-page .hands-message { font-size:35px; }
  .scenario-tabs button { font-size:16px; }
  .scenario-panel h4 { font-size:32px; }
  .scenario-panel>p:not(.scenario-number) { font-size:19px; }
  .home-page .expert-heading { max-width:680px; margin:auto; min-height:340px; }
  .home-page .expert-words { padding-inline:48px; }
  .home-page .expert-words h2 { font-size:60px; }
  .home-page .portrait-frame { height:325px; width:45%; right:24px; }
  .home-page .expert-body { max-width:680px; padding-inline:48px; margin:auto; }
  .home-page .experience strong { font-size:30px; }
  .home-page .expert-intro { font-size:28px; }
  .credentials li { font-size:16px; }
  .volume-grid strong { font-size:60px; }
  .home-page .review-section h2 { font-size:54px; }
  .home-page .review-section blockquote { font-size:40px; }
  .home-page .steps h3 { font-size:26px; }
  .home-page .steps p { font-size:19px; }
  .home-page .area-links>.text-link { font-size:24px; }
  .home-page .closing-section h2 { font-size:64px; }
  .sticky-booking>div { max-width:620px; }
  .scroll-progress { max-width:none; }
  .article-main { max-width:760px; margin:auto; padding-top:55px; }
  .article-main h1 { font-size:60px; }
}
@media (min-width:900px) {
  :root { --gutter:max(48px,calc((100vw - 1240px)/2)); }
  body { background:var(--paper); }
  .site-shell { max-width:none; box-shadow:none; }
  .site-header { min-height:112px; padding:30px var(--gutter) 24px; gap:35px; border-bottom:1px solid var(--line); }
  .site-header .wordmark { font-size:30px; letter-spacing:-2px; flex-shrink:0; }
  .menu-trigger { display:none; }
  .desktop-nav { display:flex; align-items:center; justify-content:flex-end; gap:clamp(20px,2.4vw,36px); }
  .desktop-nav>a:not(.button) { font-size:14px; font-weight:650; min-height:48px; display:inline-flex; align-items:center; text-decoration:none; white-space:nowrap; position:relative; }
  .desktop-nav>a:not(.button)::after { content:''; position:absolute; bottom:8px; left:0; right:0; height:1px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform 180ms var(--ease); }
  .desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after { transform:scaleX(1); }
  .desktop-nav .button,.home-page .desktop-nav .button { width:224px; min-height:48px; padding:5px 6px 5px 18px; font-size:15px; gap:12px; }
  .desktop-nav .button-arrow,.home-page .desktop-nav .button-arrow { width:36px; height:36px; }
  .home-page .hero-copy { display:grid; grid-template-columns:1.2fr .9fr; gap:clamp(48px,6vw,96px); padding:66px var(--gutter) 60px; align-items:start; }
  .home-page .hero .eyebrow { font-size:12px; letter-spacing:.14em; margin-bottom:29px; }
  .home-page .hero h1 .rebate-heading { gap:clamp(18px,2vw,30px); }
  .rebate-percent { font-size:clamp(128px,13.2vw,190px); line-height:.94; }
  .home-page .hero h1 .rebate-label { font-size:clamp(37px,4vw,57px); line-height:1.05; }
  .home-page .hero h1 .rebate-cap { gap:16px; margin-top:27px; }
  .home-page .hero h1 .cap-label { font-size:clamp(29px,2.7vw,39px); }
  .home-page .hero h1 .cap-amount { font-size:clamp(70px,8.2vw,118px); }
  .home-page .hero h1 .rebate-purpose { font-size:clamp(24px,2.6vw,36px); margin-top:14px; }
  .hero-details { padding-top:51px; max-width:440px; }
  .home-page .hero-subtitle { font-size:clamp(19px,1.65vw,23px); line-height:1.5; margin-top:0; }
  .home-page .byline { margin:26px 0; font-size:17px; gap:15px; }
  .home-page .byline small { font-size:13px; margin-top:5px; }
  .home-page .avatar { width:54px; height:54px; }
  .home-page .avatar img { width:111px; left:-27px; top:-26px; }
  .home-page .button { min-height:60px; font-size:18px; padding:7px 8px 7px 24px; }
  .home-page .button-arrow { height:44px; width:44px; }
  .home-page .offer-note { font-size:13px; margin-top:14px; max-width:400px; }
  .home-page .explore-link { font-size:16px; margin-top:10px; }
  .home-page .hero-architecture { padding:0 var(--gutter); }
  .home-page .architecture-frame { margin:0; aspect-ratio:2.7; max-height:485px; overflow:hidden; }
  .home-page .architecture-frame::before { top:-49px; height:82px; width:120%; left:-10%; transform:rotate(-2deg); }
  .home-page .architecture-frame img { object-position:center 58%; }
  .home-page .image-caption { min-height:95px; padding:12px 0 22px; }
  .home-page .image-caption>span { font-size:12px; letter-spacing:.14em; }
  .home-page .round-link { width:48px; height:48px; }
  .home-page .section { padding:90px var(--gutter); }
  .home-page .section>.chapter-kicker { font-size:11px; margin-bottom:34px; gap:15px; }
  .home-page .section h2 { font-size:clamp(50px,5.4vw,78px); line-height:1.04; }
  .home-page .section-intro { font-size:21px; line-height:1.55; margin-top:23px; }
  .home-page .text-link { font-size:16px; }
  .home-page .savings-section { border-radius:42px 42px 0 0; display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(55px,7vw,112px); row-gap:0; padding-top:70px; padding-bottom:70px; }
  .savings-section>.chapter-kicker { grid-column:1 / -1; }
  .savings-section>h2 { grid-column:1; grid-row:2; align-self:end; }
  .savings-section>.section-intro { grid-column:1; grid-row:3; align-self:start; max-width:420px; }
  .home-page .calculator { grid-column:2; grid-row:2 / 6; align-self:start; margin:0; background:var(--paper); padding:34px clamp(27px,3.2vw,46px); border-top:2px solid var(--ink); }
  .home-page .price-field input { font-size:40px; height:60px; }
  .home-page .credit-result output { font-size:clamp(66px,7vw,94px); }
  .home-page .credit-caption { font-size:21px; }
  .home-page .calculator .small { max-width:390px; }
  .savings-story { grid-column:1; grid-row:4; margin-top:28px; }
  .savings-story h3 { font-size:clamp(25px,2.6vw,34px); }
  .savings-story p { font-size:18px; }
  .section-handoff { grid-column:1; grid-row:5; align-self:end; margin:30px 0 0; padding-top:26px; padding-bottom:6px; font-size:19px; }
  .home-page .advantages-section { display:grid; grid-template-columns:1fr 1.04fr; column-gap:clamp(48px,6vw,90px); padding-top:100px; padding-bottom:95px; }
  .advantages-section>.chapter-kicker { grid-column:1 / -1; }
  .home-page .advantages-section h2 { grid-column:1; font-size:clamp(46px,4.7vw,68px); grid-row:2; }
  .advantages-section>.section-intro { grid-column:1; grid-row:3; max-width:500px; }
  .home-page .hands-figure { grid-column:2; grid-row:2 / 6; margin:0; align-self:center; overflow:visible; }
  .hands-figure img { width:100%; }
  .hands-labels { margin:0; font-size:23px; padding-top:20px; padding-bottom:24px; }
  .hands-message { grid-column:1; grid-row:4; font-size:clamp(26px,2.5vw,36px); margin-top:29px; }
  .scenario-intro { grid-column:1; grid-row:5; font-size:17px; margin-top:15px; }
  .scenarios { grid-column:1 / -1; margin-top:50px; }
  .scenario-tabs { grid-template-columns:1fr 1fr 1fr; }
  .scenario-tabs button { min-height:65px; font-size:20px; padding:18px 10px; }
  .scenario-panel { display:grid; grid-template-columns:1fr 1.3fr; gap:16px 70px; padding:35px 0 36px; min-height:220px; }
  .scenario-number { grid-column:1; grid-row:1; font-size:10px; margin:0; align-self:end; }
  .scenario-panel h4 { grid-column:1; grid-row:2; font-size:32px; max-width:430px; margin:0; }
  .scenario-panel>p:not(.scenario-number) { grid-column:2; grid-row:1 / 3; font-size:20px; align-self:center; }
  .peace-of-mind { grid-column:1 / -1; padding:29px 0 18px; gap:23px; }
  .peace-of-mind>span { min-width:45px; height:45px; font-size:29px; }
  .peace-of-mind>div { display:grid; grid-template-columns:1fr 1.3fr; gap:70px; width:100%; }
  .peace-of-mind h3 { font-size:27px; }
  .peace-of-mind p { font-size:18px; margin:0; max-width:660px; }
  .home-page .advantages-section>.text-link { grid-column:1 / -1; justify-self:start; margin-top:4px; }
  .home-page .expert-section { display:grid; grid-template-columns:1.05fr 1fr; column-gap:clamp(55px,6vw,90px); padding:70px var(--gutter) 76px; }
  .home-page .expert-heading { min-height:650px; position:sticky; top:35px; align-self:start; overflow:hidden; }
  .home-page .expert-words { padding:0; }
  .home-page .expert-words>.eyebrow { font-size:11px; letter-spacing:.15em; margin-bottom:28px; }
  .home-page .expert-words h2 { font-size:clamp(52px,5.2vw,76px); max-width:100%; }
  .home-page .experience { margin-top:58px; font-size:18px; max-width:35%; }
  .home-page .experience strong { font-size:29px; white-space:nowrap; }
  .home-page .portrait-frame { width:69%; height:440px; right:0; bottom:0; }
  .home-page .portrait-frame img { object-position:51% 24%; transform:scaleX(-1) scale(1.3); }
  .home-page .expert-body { padding:0; }
  .home-page .expert-intro { font-size:27px; line-height:1.35; }
  .expert-description { font-size:18px; margin-top:23px; }
  .home-page .credentials { margin-top:29px; }
  .credentials li { font-size:16px; min-height:56px; gap:18px; }
  .credentials li>span { font-size:11px; }
  .track-record { margin-top:32px; }
  .track-record>.eyebrow { font-size:11px; }
  .volume-grid { margin-top:23px; gap:22px; }
  .volume-grid>div+div { padding-left:23px; }
  .volume-grid strong { font-size:clamp(43px,4.2vw,60px); }
  .volume-year { font-size:14px; }
  .volume-note { font-size:13px; }
  .home-page .ownership { padding:20px 22px 12px; margin-top:22px; }
  .home-page .ownership p { font-size:14px; }
  .home-page .ownership .text-link { font-size:13px; }
  .home-page .review-section { display:grid; grid-template-columns:1fr 1.08fr; gap:0 clamp(60px,7vw,108px); padding-top:80px; padding-bottom:100px; }
  .review-section>.eyebrow { grid-column:1 / -1; }
  .home-page .review-section h2 { grid-column:1; grid-row:2; font-size:clamp(44px,4.5vw,65px); }
  .review-platforms { grid-column:1; grid-row:3; align-self:start; margin:28px 0 0; padding-bottom:0; border:0; gap:32px; }
  .home-page .review-platforms .text-link { font-size:21px; }
  .review-section>figure { grid-column:2; grid-row:2 / 4; padding-left:35px; border-left:1px solid #ffffff32; }
  .home-page .review-section blockquote { font-size:clamp(30px,3vw,43px); line-height:1.2; }
  .home-page .review-section figcaption { font-size:14px; }
  .review-section figcaption strong { font-size:17px; }
  .home-page .review-section>.text-link { grid-column:2; margin:20px 0 0 35px; justify-self:start; font-size:15px; }
  .home-page .process-section { border-radius:42px 42px 0 0; margin-top:-42px; padding-top:77px; padding-bottom:78px; }
  .home-page .rates-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,7vw,110px); border-radius:42px 42px 0 0; margin-top:-42px; padding-top:82px; padding-bottom:65px; }
  .rates-intro>.eyebrow { font-size:11px; margin-bottom:28px; }
  .rates-intro .section-intro { max-width:510px; font-size:20px; }
  .rates-link { margin-top:25px; }
  .rates-note { font-size:13px; max-width:390px; }
  .rate-comparison { margin-top:0; padding-top:27px; align-self:start; }
  .rate-comparison h3 { font-size:clamp(30px,3vw,43px); }
  .rate-comparison dl { margin-top:20px; }
  .rate-comparison dl>div { display:grid; grid-template-columns:100px 1fr; gap:24px; padding:21px 0; }
  .rate-comparison dt { font-size:14px; padding-top:3px; }
  .rate-comparison dd { margin:0; font-size:18px; }
  .home-page .rates-section+.process-section { margin-top:0; border-radius:0; padding-top:35px; }
  .home-page .process-section h2 br { display:none; }
  .home-page .process-section h2 em::before { content:' '; white-space:pre; }
  .home-page .steps { display:grid; grid-template-columns:1fr 1fr 1fr; gap:48px; margin:44px 0 34px; }
  .home-page .steps li { display:block; padding:0; }
  .home-page .steps .row-number { width:42px; height:42px; font-size:13px; margin:0 0 24px; }
  .home-page .steps li::before,.home-page .steps li::after { top:21px; bottom:auto; left:42px; width:calc(100% + 6px); height:1px; }
  .home-page .steps li::after { height:2px; transform:scaleX(var(--step-progress,0)); transform-origin:left; }
  .home-page .steps h3 { font-size:25px; max-width:290px; }
  .home-page .steps p { font-size:18px; margin-top:12px; }
  .home-page .process-section>.button { max-width:380px; margin-top:38px; }
  .home-page .area-section { margin-top:0; display:grid; grid-template-columns:1.12fr 1fr; column-gap:75px; padding-top:70px; padding-bottom:70px; }
  .area-section>.chapter-kicker { grid-column:1 / -1; }
  .home-page .area-section h2 { grid-column:1; grid-row:2; font-size:clamp(45px,4.7vw,68px); }
  .area-section>.section-intro { grid-column:2; grid-row:2; align-self:center; margin:0; max-width:500px; }
  .area-intro { grid-column:1 / -1; margin-top:40px; font-size:15px; }
  .home-page .area-links { grid-column:1 / -1; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin-top:16px; }
  .home-page .area-links>.text-link { font-size:23px; min-height:75px; }
  .home-page .selling-link { grid-column:1 / -1; display:flex; align-items:center; gap:28px; margin-top:32px; padding-top:20px; }
  .selling-link>p { font-size:21px; }
  .home-page .selling-link .text-link { font-size:17px; }
  .home-page .faq-section { display:grid; grid-template-columns:.85fr 1.15fr; column-gap:clamp(65px,8vw,120px); padding-top:85px; padding-bottom:115px; }
  .faq-section>.chapter-kicker { grid-column:1 / -1; }
  .faq-section>h2 { grid-column:1; grid-row:2; align-self:start; }
  .home-page .faq-section>.accordion { grid-column:2; grid-row:2 / 4; margin:0; }
  .home-page .accordion summary { font-size:20px; min-height:76px; }
  .home-page .answer p { font-size:18px; }
  .home-page .faq-section>.text-link { grid-column:1; grid-row:3; justify-self:start; align-self:start; margin-top:27px; }
  .home-page .closing-section { display:grid; grid-template-columns:1.1fr 1fr; column-gap:clamp(65px,8vw,120px); padding:70px var(--gutter) 75px; }
  .closing-section>.eyebrow { grid-column:1 / -1; }
  .home-page .closing-section h2 { grid-column:1; grid-row:2 / 6; font-size:clamp(60px,6.8vw,98px); }
  .home-page .closing-section>p:not(.eyebrow):not(.call-expectation) { grid-column:2; grid-row:2; margin:0 0 25px; font-size:23px; }
  .closing-section>.button { grid-column:2; grid-row:3; max-width:470px; }
  .home-page .closing-section>.call-expectation { grid-column:2; grid-row:4; font-size:14px!important; }
  .closing-options { grid-column:2; grid-row:5; }
  .site-footer,.home-page .site-footer { padding:55px var(--gutter) 40px; }
  .site-footer .wordmark { font-size:31px; margin-bottom:29px; }
  .company-list { display:grid; grid-template-columns:1fr 1fr; max-width:850px; gap:30px; }
  .company-list dt,.home-page .company-list dt { font-size:12px; }
  .company-list dd,.home-page .company-list dd { font-size:13px; }
  .site-footer>.small,.home-page .site-footer>.small { max-width:850px; font-size:12px; }
  .footer-links { display:flex; flex-wrap:wrap; gap:0 30px; border-top:1px solid var(--line); padding-top:17px; margin-top:20px; }
  .footer-links a,.home-page .footer-links a { font-size:13px; min-height:44px; }
  .sticky-booking { left:auto; right:var(--gutter); bottom:24px; width:320px; }
  .sticky-booking>div { padding:0; max-width:none; background:none; }
  .home-page .sticky-booking .button { min-height:56px; font-size:17px; box-shadow:0 5px 24px #0002; }
  .scroll-progress { max-width:none; }
  .sheet { padding:30px; }
  .article-main { max-width:900px; padding:65px 35px 80px; margin:auto; }
  .article-main h1 { font-size:72px; }
  .article-main>.eyebrow { font-size:12px; }
  .article-intro { font-size:26px; max-width:760px; }
  .article-body { margin-top:45px; }
  .article-body h2 { font-size:35px; margin-top:40px; }
  .article-body p { font-size:19px; line-height:1.6; }
  .article-body p.small { font-size:14px; }
  .article-body table { font-size:18px; }
  .article-body th { font-size:15px; }
  .article-main>.button,.contact-actions { max-width:430px; }
  .article-portrait { height:475px; object-position:50% 31%; }
  #contact-form { max-width:650px; }
  #contact-form label { font-size:15px; }
  .demo-calendar { max-width:650px; }
}
@media (min-width:900px) and (prefers-reduced-motion:reduce) {
  .home-page .steps li::after { transform:scaleX(1); }
}

/* Keep the shared search navigation comfortable on smaller desktops. */
@media(min-width:900px) and (max-width:1100px){.desktop-nav{gap:16px}.desktop-nav>a:not(.button){font-size:13px}.desktop-nav .button,.home-page .desktop-nav .button{width:200px;font-size:13px}}

body.home-page .offer-note a{white-space:normal}

/* Direct contact choices stay visible and finger-friendly. */
.direct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;max-width:760px}.direct-actions .button{min-height:48px;font-size:15px;padding:12px 18px;gap:8px;white-space:normal}.call-button{background:#8d211c!important;color:#fff!important;display:flex;flex-wrap:wrap;justify-content:center;text-align:center}.call-button span{font-size:13px;white-space:nowrap}.text-button{background:#fff!important;color:#171919!important;border:1px solid #b9bcb7!important;justify-content:center}.schedule-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:underline}.hero-call{display:flex;align-items:center;min-height:44px;margin:10px 0;font-weight:650;font-size:15px}.header-call{display:none}.booking-direct .button{width:100%;box-sizing:border-box}.sheet .booking-hours{font-size:13px;line-height:1.6;margin:14px 0}.sheet .contact-identity{font-size:12px;line-height:1.6;margin-top:14px}.sheet .sheet-heading{margin-bottom:12px}.sheet .close-dialog{flex-shrink:0}.sheet .sheet-contact{padding:6px;min-height:44px}.estimate-contact{margin:12px 0 20px}.estimate-contact>p{font-size:15px;font-weight:650;margin-bottom:8px}.estimate-contact .direct-actions{margin-top:0}.search-contact h2{font-size:24px;line-height:1.3}.closing-options{flex-wrap:wrap}
@media(max-width:760px){.header-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border-radius:24px;background:#8d211c;color:#fff;font-size:13px;font-weight:700;margin-left:auto;text-decoration:none}.site-header{gap:12px}.direct-actions{display:grid;grid-template-columns:1fr 1fr}.direct-actions .call-button{grid-column:1/-1}.direct-actions .schedule-link{line-height:1.4}.sheet{max-height:calc(100dvh - 24px);padding:20px}.sheet h2{font-size:32px}.sheet .button{min-height:48px;padding:12px 18px}.estimate-contact .direct-actions{max-width:none}.rates-intro .direct-actions{max-width:100%}}

/* Consistent company and legal footer on every public page. */
.site-shell > .site-footer { padding:40px 24px max(40px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); text-align:left; }
.site-footer .footer-inner { width:100%; max-width:1180px; margin-inline:auto; min-width:0; }
.site-footer .wordmark { display:inline-block; margin:0 0 28px; }
.site-footer .company-list { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; max-width:none; margin:0 0 24px; }
.site-footer .company-list dt { font-size:12px; letter-spacing:.1em; margin:0 0 12px; }
.site-footer .company-list dd { margin:0; font-size:14px; line-height:1.65; }
.site-footer .company-list dd strong { display:block; font-size:16px; font-weight:750; }
.site-footer .company-list dd span { display:block; color:var(--ink); }
.site-footer .company-list .footer-person { margin-top:14px; font-size:14px; }
.site-footer .footer-inner>.small { max-width:none; font-size:13px; line-height:1.65; margin:16px 0; }
.site-footer .footer-contact { display:flex; flex-wrap:wrap; gap:4px 24px; margin:0 0 16px; font-size:14px; }
.site-footer .footer-contact a { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
.site-footer .footer-links { display:flex; flex-wrap:wrap; gap:4px 24px; padding:16px 0; margin:16px 0; border-block:1px solid var(--line); }
.site-footer .footer-links a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.site-footer .housing { font-weight:750; }
.site-footer .copyright { padding-top:16px; border-top:1px solid var(--line); }
@media(min-width:700px) {
 .site-shell > .site-footer { padding:48px 40px; }
 .site-footer .company-list { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
}
@media(min-width:1200px) { .site-shell > .site-footer { padding-inline:48px; } }

/* Keep the closing invitation's disclosures in their own desktop rows. */
@media(min-width:900px) {
 .home-page .closing-section>p.offer-note:not(.eyebrow):not(.call-expectation) { grid-row:4; font-size:14px!important; }
 .home-page .closing-section>.call-expectation { grid-row:5; }
 .home-page .closing-section>p.contact-identity:not(.eyebrow):not(.call-expectation) { grid-row:6; font-size:14px!important; }
 .home-page .closing-section>.closing-options { grid-row:7; }
}

/* Review directory and readable ownership disclosure. */
.home-page .review-section.review-overview{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.review-overview .review-copy{min-width:0}
.home-page .review-overview h2{margin:18px 0 22px}
.review-overview .review-context{font-size:18px;line-height:1.6;max-width:42ch}
.review-overview .review-count-note{font-size:13px;line-height:1.65;color:#c1c6c2;max-width:55ch;margin:18px 0 0}
.home-page .review-overview .review-platforms{display:grid;grid-template-columns:minmax(0,1fr);grid-column:auto;grid-row:auto;margin:0;padding:0;border:0;gap:0;align-self:center}
.home-page .review-overview .review-platforms .text-link{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;line-height:1.4;min-height:60px;padding:16px 0;border-bottom:1px solid #ffffff40;margin:0}
.review-overview .link-arrow{flex-shrink:0}
.site-footer .footer-ownership{margin:24px 0;padding:22px 0;border-top:1px solid var(--line)}
.site-footer .footer-ownership h2{font-size:18px;line-height:1.4;letter-spacing:normal;margin:0 0 14px}
.site-footer .footer-ownership p{font-size:14px;line-height:1.7;max-width:none;margin:12px 0}
.site-footer .footer-ownership a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1000px){.home-page .review-section.review-overview{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px)}.home-page .review-overview .review-platforms .text-link{font-size:18px}}

/* Accessible focus and readable terms on the closing section's red background. */
.home-page .closing-section .offer-note,
.home-page .closing-section .offer-note a { color:#fff; }
select:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--red); outline-offset:5px; }
main[tabindex="-1"]:focus { outline:none; }

/* Official HUD mark, shown with its full Equal Housing Opportunity legend. */
.site-footer .housing { margin:24px 0; }
.site-footer .equal-housing-logo { display:block; width:108px; height:auto; max-width:100%; }

/* Shared credentials and direct contact, including the mobile menu. */
.contact-identity>span { display:block; }
.contact-identity>span+span { margin-top:10px; }
.office-address { font-style:normal; margin-top:18px; }
.office-address>span { font-weight:650; }
.contact-quick-actions { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.contact-quick-actions .button { width:100%; justify-content:center; min-height:48px; padding:12px; font-size:16px; }
.contact-quick-actions .call-button { grid-column:1/-1; }
.contact-email { overflow-wrap:anywhere; }
.article-body .contact-start h2 { margin-top:0; }
.contact-booking { background:var(--pale); border:1px solid var(--line); border-radius:16px; padding:24px; margin-top:32px; }
.article-body .contact-booking h2 { margin-top:0; }
.contact-booking .button { width:100%; white-space:normal; text-align:center; justify-content:center; }
.office-grid { display:grid; gap:20px; margin-top:24px; }
.office-card { min-width:0; border-top:2px solid var(--red); padding:22px 0; }
.office-card h3 { font-size:24px; line-height:1.25; }
.article-body .office-card p,.office-card address { font-size:15px; line-height:1.65; font-style:normal; }
.article-body .office-card .eyebrow { font-size:11px; margin-top:0; }
@media(min-width:600px) {
 .contact-quick-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .contact-quick-actions .call-button { grid-column:auto; }
 .office-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
}
@media(min-width:900px) and (max-width:1100px) {
 .site-header { gap:20px; }
 .desktop-nav { gap:12px; }
 .desktop-nav .button,.home-page .desktop-nav .button { width:185px; }
}
