/* Reading and action hierarchy for the visit journey. */
body{font-size:16px;line-height:1.7}
.eyebrow{font-size:11px;letter-spacing:1.5px}
.button{font-size:14px;min-height:48px;padding:15px 23px}
.text-link{font-size:14px;min-height:44px;align-items:center}
.hero-actions{gap:14px 24px;width:100%}
.hero-actions>.hero-cost-link{display:inline-flex;font-size:13px;font-weight:500;color:#455845;min-height:44px}
.hero-visit-note{font-size:12px;color:#53624f;line-height:1.6;margin:12px 0 0}
.hero-proof{margin-top:22px}
.hero-description{font-size:15px;line-height:1.7}
.facts{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:24px;padding-bottom:24px;gap:20px}
.facts small{font-size:10px;letter-spacing:1px}
.facts strong{font-size:28px}
.home-info>p:not(.eyebrow),.intro-lead,.section-heading>p,.review-intro p{font-size:15px;line-height:1.8}
.specs dt{font-size:13px}.specs dd{font-size:22px}
.home-info .text-link{margin-top:0}
.type-line>span{font-size:10px}
.gallery-note,.location-footnote,.location-footnote .text-link{font-size:12px;line-height:1.8}
.section{padding-top:72px;padding-bottom:72px}
.intro{row-gap:18px}.intro .wide-image{height:340px}
.benefits p{font-size:14px;line-height:1.8}
.benefits h3{margin-top:10px}
.benefits .text-link{margin-top:10px}
.review-content blockquote{font-size:15px;line-height:1.85}
.review-author h3{font-size:15px}.review-author>div>span{font-size:12px}
.review-original{font-size:12px;min-height:44px}
.reviews-toolbar>span{font-size:10px;letter-spacing:.8px}
.reviews-toolbar button,.interior-toolbar button{width:44px;height:44px}
.review-position{font-size:12px}
.interior-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.interior-toolbar>span{font-size:10px;letter-spacing:1px;color:#53624f}
.interior-toolbar>div{display:flex;align-items:center;gap:8px}
.interior-toolbar button{border:1px solid #b9c5b1;background:transparent;color:var(--green);font-size:20px}
.interior-toolbar button:disabled{opacity:.3;cursor:default}
.interior-position{font-size:12px;margin-right:5px}
.interior-grid figcaption,.site-photo-grid figcaption{font-size:13px}
.interior-grid:focus-visible{outline:2px solid #af8a30;outline-offset:5px}
.progress-disclosure{margin:0 7.7%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.progress-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:500}
.progress-disclosure>summary::-webkit-details-marker{display:none}
.progress-disclosure>summary small{display:block;font-size:12px;font-weight:400;color:#53624f;margin-top:3px}
.disclosure-sign{font-size:24px}.progress-disclosure[open] .disclosure-sign{transform:rotate(45deg)}
.progress-disclosure .section{padding:0 0 32px}.progress-disclosure .site-gallery{margin-top:0}
.location p,.location-detail p{font-size:15px;line-height:1.8}
.location-detail .location-row h3{font-size:18px}
.location .office-phone{font-size:14px;display:flex;align-items:center;min-height:44px}
.faq-items summary{font-size:16px;min-height:60px;gap:20px;line-height:1.5;padding:18px 0}
.faq-items details p{font-size:15px;line-height:1.8}
.faq-source{font-size:13px}
.visit-steps p{font-size:14px;line-height:1.8}
.quick-contact{gap:8px;transition:opacity .2s,transform .2s,visibility .2s}
.quick-contact .quick-survey{background:var(--green);color:#fff;min-height:50px;border:1px solid var(--green);font-size:14px;padding:0 21px}
.quick-contact .quick-info{background:transparent;color:var(--green);border:1px solid #aab8a1;min-height:50px;font-size:13px;padding:0 18px}
.quick-contact.is-suppressed{opacity:0;transform:translateY(12px);visibility:hidden;pointer-events:none}
.hero-video-heading>a{font-size:10px;min-height:44px;display:inline-flex;align-items:center}
.hero-video-controls button{font-size:12px;min-height:44px;padding:8px 12px}
.visit-dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:30px;scrollbar-width:thin}
.visit-dialog .dialog-heading{margin-bottom:14px}
.visit-close{min-width:44px;min-height:44px}
.visit-dialog h2{font-size:34px;margin-bottom:12px}
.visit-dialog>p{font-size:15px;line-height:1.7;margin-bottom:18px}
.visit-place{display:flex;gap:12px;align-items:center;padding:14px 16px;background:#eaece2;margin-bottom:22px}
.visit-place>span:first-child{font-size:26px;color:var(--green)}
.visit-place strong{font-size:14px;font-weight:600;display:block}
.visit-place small{font-size:12px;line-height:1.6;color:#53624f;display:block;margin-top:2px}
.visit-presets{margin:0 0 18px;padding:0;border:0;min-width:0}
.visit-presets legend{font-size:14px;font-weight:600;margin-bottom:10px}
.visit-presets legend span{font-size:12px;font-weight:400;color:#53624f}
.visit-presets>div{display:flex;gap:8px;flex-wrap:wrap}
.visit-presets button{font-size:13px;min-height:44px;padding:8px 12px;border:1px solid #aab8a1;color:var(--green);background:transparent}
.visit-presets button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:white}
#visit-form{display:block}
.visit-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}
.visit-fields>div{min-width:0}
#visit-form .visit-fields label{font-size:13px;margin-bottom:7px;display:block}
#visit-form .visit-fields input,#visit-form .visit-fields select{font-size:16px;min-width:0;width:100%;min-height:48px;padding:10px 8px;border:1px solid #aab8a1;border-radius:0;color:var(--ink);background:var(--cream);box-sizing:border-box}
.visit-summary{font-size:12px;line-height:1.7;color:#53624f;margin:13px 0 0;min-height:21px}
#visit-form .visit-whatsapp{font-size:15px;width:100%;min-height:52px;margin-top:16px}
#visit-form>small{display:block;font-size:12px;line-height:1.7;margin-top:12px;color:#53624f}
.location-page-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:25px}
.location-page-actions .text-link{font-size:14px}
@media(min-width:761px){.interior-toolbar>div{display:none}.interior-grid .photo-open{aspect-ratio:4/5}.intro .intro-heading{max-width:620px}}
@media(max-width:760px){
 body{font-size:16px}
 .section{padding:48px 6%}
 .hero-copy{padding-bottom:28px}
 .hero-description{font-size:14px;line-height:1.7}
 .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}
 .hero-actions>.hero-survey{display:flex;width:100%;font-size:15px;min-height:52px;padding:14px 19px}
 .hero-actions>.hero-cost-link{display:inline-flex!important;justify-content:center;min-height:44px;width:100%;font-size:13px;padding:5px 0}
 .hero-visit-note{font-size:12px;margin-top:5px}
 .hero-proof{margin-top:20px}
 .facts{padding:22px 6%;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .facts>div{border:0}.facts small{font-size:8px;letter-spacing:.3px;line-height:1.5;min-height:24px}
 .facts strong{font-size:24px}.facts strong span{font-size:11px;display:block}
 .home-section{gap:26px}.home-info h2{font-size:36px;margin-bottom:18px}
 .home-info>p:not(.eyebrow){font-size:15px;line-height:1.75}
 .specs{gap:17px;margin:20px 0}.type-line{margin-top:22px}
 .intro{gap:18px}.intro .wide-image{height:230px;margin-top:0}
 .intro-lead{font-size:15px;line-height:1.8;margin:0}
 .intro h2{font-size:34px}.benefits{gap:22px;margin-top:8px}
 .benefits p{font-size:14px}.benefits h3{font-size:18px}
 .interior .section-heading{margin-bottom:22px}.interior h2{font-size:34px}
 .interior-grid{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9dab8e transparent;overscroll-behavior-x:contain}
 .interior-grid>figure{flex:0 0 82%;min-width:0;scroll-snap-align:start}
 .interior-grid .photo-open{aspect-ratio:4/5}
 .interior-grid figcaption{font-size:14px;margin-top:9px}
 .interior-toolbar{margin-bottom:15px}.interior-toolbar>span{max-width:150px;font-size:9px;line-height:1.7}
 .gallery-note{font-size:12px}
 .reviews .section-heading{gap:16px;margin-bottom:24px}.reviews h2{font-size:34px}
 .review-content blockquote{font-size:15px;line-height:1.85}.review-content{padding:23px}
 .reviews-toolbar>span{font-size:9px;line-height:1.6;max-width:160px}
 .review-original{font-size:12px}.review-intro .text-link{font-size:13px}
 .review-intro .handover-proof{font-size:17px}
 .progress-disclosure{margin:0 6%}.progress-disclosure>summary{font-size:16px;padding:20px 0}
 .progress-disclosure .section{padding:0 0 24px}
 .site-photo-grid figcaption{font-size:11px}
 .location h2{font-size:36px}.location p,.location-detail p{font-size:15px}
 .location{gap:30px}.location-detail .location-row{padding:20px 0}
 .faq-items summary{font-size:16px}.faq-items details p{font-size:15px}.faq-items .faq-source{font-size:13px}
 .visit-process h2{font-size:34px;margin-bottom:24px}
 .visit-steps{gap:24px}.visit-steps li{padding-top:16px}.visit-steps h3{font-size:17px;margin-bottom:7px}.visit-steps p{font-size:14px}
 .quick-contact{padding:9px 5% calc(9px + env(safe-area-inset-bottom));gap:8px}
 .quick-contact .quick-survey{flex:1.5;font-size:14px;min-height:50px;padding:0 12px}
 .quick-contact .quick-info{flex:1;font-size:13px;min-height:50px;padding:0 10px}
 .hero-video-controls button{font-size:11px;padding:8px 10px;min-height:44px}
 .hero-video-heading>a{font-size:9px}
 .visit-dialog{padding:22px;max-height:calc(100dvh - 20px)}
 .visit-dialog h2{font-size:30px}.visit-dialog>p{font-size:14px;margin-bottom:16px}
 .visit-place{padding:12px;margin-bottom:18px}.visit-place small{font-size:12px}
 .visit-presets>div{gap:6px}.visit-presets button{padding:8px 10px;font-size:12px}
 .visit-fields{gap:10px;grid-template-columns:1fr}
 #visit-form .visit-fields label{font-size:13px}
 .visit-summary{font-size:12px}
 .location-page-actions{gap:8px;margin-top:20px}.location-page-actions>.button{width:100%}
}
@media(prefers-reduced-motion:reduce){.quick-contact{transition:none}}

.menu-toggle,.photo-close,.plan-close,.plan-open{min-width:44px;min-height:44px}
.footer-links{font-size:14px}
@media(max-width:760px){#navigation a{min-height:44px;display:flex;align-items:center;font-size:14px}}

.visit-custom{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:4px}
.visit-custom>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;cursor:pointer;list-style:none;font-size:13px;font-weight:500}
.visit-custom>summary::-webkit-details-marker{display:none}
.visit-custom>summary span{font-size:21px}
.visit-custom[open]>summary span{transform:rotate(45deg)}
.visit-custom .visit-fields{padding:4px 0 15px}
@media(max-width:760px){.visit-dialog h2{font-size:clamp(26px,7.7vw,30px)}}

.visit-presets>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.visit-presets button{padding:8px 5px}
#visit-form .visit-whatsapp{padding:14px 16px;gap:12px;font-size:14px}
