/* A shorter page, with native document scrolling and comfortably sized controls. */
.header{height:80px;padding-block:14px}
.hero{min-height:0;padding-top:38px;padding-bottom:48px;gap:44px}
.hero h1,.hero h1 em{font-size:clamp(36px,4vw,56px)}
.hero h1{margin:20px 0 16px}
.hero-person{margin-top:24px;padding-top:16px}
.hero-note{bottom:18px}
.intent-card{padding:20px 20px 0;max-width:430px}
.card-intro{padding-bottom:14px}
.card-intro .eyebrow{display:none}
.card-intro h2{font-size:26px;margin-bottom:5px}
.intent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.intent-list button{min-height:86px;padding:14px 8px;gap:8px;align-items:flex-start}
.intent-list button:nth-child(odd){border-right:1px solid var(--line);padding-left:0}
.intent-list button:nth-child(even){padding-left:14px;padding-right:0}
.intent-list button:before{display:none}
.intent-list button>span{min-width:0}
.intent-list strong{font-size:13px;line-height:1.4}
.intent-list small{font-size:11px;line-height:1.45}
.intent-list .intent-arrow{width:14px;height:14px;margin-top:3px}
.owner-entry{min-height:44px;padding-block:10px}
.card-bottom{padding:10px 0 14px}
.benefit-strip{padding:17px 0;gap:12px}
.section-space{padding-block:44px}
.section-heading{margin-bottom:22px;gap:16px}
.eyebrow{margin-bottom:10px}
.section-heading h2,.about h2,.areas h2,.contact-banner h2{font-size:clamp(28px,3vw,36px)}
.service-grid{gap:24px}
.service-photo{width:100%;min-width:0;max-width:100%;height:180px;aspect-ratio:auto}
.service-photo>img{display:block;max-width:100%}
.service-content{padding-top:16px}
.service-content h3{font-size:23px;margin-bottom:8px}
.service-content>p{font-size:13px;line-height:1.6}
.service-links{margin-top:12px;padding-top:4px;gap:0 16px}
.specialist-links{margin-top:20px}
.specialist-links a{min-height:48px}
.image-note{margin-top:10px}
.about{grid-template-columns:240px minmax(0,1fr)}
.about-photo{min-height:0;max-height:none}
.about-content{padding:28px 34px}
.about h2{margin-bottom:14px}
.about-content>p{font-size:13px;line-height:1.65;max-width:none;margin-bottom:10px}
.about-tags{margin:12px 0 0}
.about-more{margin-bottom:16px}
.about-more p{font-size:13px;line-height:1.65;color:var(--muted)}
.areas h2{margin-bottom:20px}
.area-tags button{min-height:48px;padding-block:10px}
.contact-banner{padding:30px 34px;gap:28px}
.contact-banner .eyebrow{margin-bottom:12px}
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:320px}
.contact-actions .booking-button{grid-column:1 / -1}
.contact-actions .button{min-height:46px;padding:10px 12px;gap:8px}
footer{padding-top:28px;padding-bottom:24px}
.footer-main{padding-bottom:20px;gap:20px}
.landing-hero{padding-bottom:30px;gap:32px}
.landing-visual{height:410px}
.landing-process{padding-block:28px;gap:24px}
.landing-process p{line-height:1.65}
.landing-close{padding:26px;gap:24px;margin-bottom:0}
.landing-close h2{font-size:28px;margin-bottom:10px}

/* Optional content can expand in place without changing the inquiry step. */
.compact-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.compact-details+.compact-details{border-top:0}
.compact-details>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:48px;padding:10px 0;cursor:pointer;font-size:13px;font-weight:600;line-height:1.5}
.compact-details>summary::-webkit-details-marker{display:none}
.compact-details>summary:after{content:'+';margin-left:auto;font-size:20px;line-height:1;font-weight:400}
.compact-details[open]>summary:after{content:'−'}
.compact-details>summary small{font-size:11px;font-weight:400;color:var(--muted)}
.details-body{padding-bottom:12px}

/* No fixed form heights, scroll locking, or focus-driven layout changes. */
#inquiry-dialog .dialog-top{padding:10px 22px;min-height:64px}
#inquiry-dialog .progress>span{padding-block:10px}
#inquiry-dialog .inquiry-hero{min-height:0;padding:16px 22px 18px}
#inquiry-dialog .inquiry-hero .step-heading{margin-bottom:8px}
#inquiry-dialog .inquiry-hero h2{font-size:27px;line-height:1.2;margin-bottom:6px;max-width:none}
#inquiry-dialog .inquiry-hero p{font-size:12px;line-height:1.55;max-width:none}
.flow-body{padding:18px 22px 22px}
.section-caption{display:none}
#inquiry-dialog .field-card{padding:8px 12px 4px;margin-bottom:9px;min-width:0}
#inquiry-dialog .field-card input,#inquiry-dialog .field-card select{min-height:44px;font-size:16px;padding:4px 0}
#inquiry-dialog .field-caption{font-size:12px;line-height:1.4;gap:6px}
#inquiry-dialog .property-grid .field-caption{align-items:flex-start;font-size:11px;gap:4px}
#inquiry-dialog .property-grid .field-caption small{font-size:9px}
.location-shortcuts{margin-bottom:12px;gap:7px}
.location-shortcuts button{min-height:44px}
.timeline-field{margin-top:12px}
.timeline-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.timeline-exploring{grid-column:span 2}
.timeline-option>span{padding:9px 10px;min-height:46px;font-size:12px;gap:7px}
.flow-actions{margin-top:16px}
#inquiry-dialog .flow-actions .button{min-height:50px}
#inquiry-dialog .flow-actions .form-note{margin-top:8px;font-size:11px;line-height:1.5}
.property-guidance{margin-bottom:14px!important;font-size:11px!important;line-height:1.5!important}
.property-group{margin-bottom:14px}
.property-group legend{font-size:13px;margin-bottom:10px;gap:8px}
.property-group legend>span{width:23px;height:23px;font-size:9px}
.property-grid{gap:0 9px}
.brief-card{padding:10px 12px;margin-bottom:12px}
#inquiry-dialog .brief-header button{min-height:44px}
#inquiry-dialog .inquiry-summary{padding-top:4px;font-size:11px;line-height:1.5}
#inquiry-dialog .inquiry-summary strong{font-size:13px}
#inquiry-dialog .advisor-bar{padding:10px 22px calc(10px + env(safe-area-inset-bottom))}
#inquiry-dialog #dialog-choice,#inquiry-dialog #message-ready{padding:20px 22px}
#inquiry-dialog #choice-title,#inquiry-dialog #ready-title{font-size:28px;margin:8px 0}
#inquiry-dialog .modal-options button{min-height:56px;padding-block:14px}
#inquiry-dialog .search-next{padding:20px;margin-top:16px}
#inquiry-dialog .search-next h3{font-size:25px}

@media(max-width:1100px){
 .hero{gap:28px;padding-inline:32px}
 .about{grid-template-columns:210px minmax(0,1fr)}
 .about-content{padding:26px}
}
@media(max-width:760px){
 .header{min-height:68px;height:auto;padding-block:10px}
 .hero{gap:20px;padding:24px 20px 30px}
 .hero h1,.hero h1 em{font-size:clamp(30px,8vw,40px);letter-spacing:-1.2px;line-height:1.12}
 .hero h1{margin:14px 0 10px}
 .hero-content>p{font-size:12px;line-height:1.6}
 .hero-note{display:none}
 .hero-image{height:100%;max-height:460px}
 .intent-card{max-width:none;padding:16px 16px 0}
 .card-intro{padding-bottom:12px}
 .card-intro h2{font-size:24px}
 .card-intro p{font-size:11px}
 .intent-list button{min-height:82px;padding-block:12px}
 .intent-list strong{font-size:13px}
 .intent-list small{font-size:10px}
 .card-bottom{font-size:9px;padding:8px 0 12px}
 .benefit-strip{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;padding:14px 0;font-size:10px;line-height:1.5}
 .benefit-strip span{display:block}
 .benefit-strip svg{display:none}
 .section-space{padding-block:30px}
 .section-heading{margin-bottom:18px}
 .section-heading h2,.about h2,.areas h2,.contact-banner h2{font-size:28px;letter-spacing:-.9px}
 .section-heading>p{margin-top:8px;font-size:12px}
 .service-grid{gap:20px}
 .service-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}
 .service-photo{height:124px}
 .photo-tag,.photo-arrow{display:none}
 .service-content{padding:0;min-width:0}
 .service-content h3{font-size:19px;letter-spacing:-.5px;margin-bottom:6px}
 .service-content>p{font-size:12px;line-height:1.5}
 .service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;padding-top:0;gap:0 8px}
 .service-links button{font-size:11px;min-height:44px;gap:5px;text-align:left}
 .specialist-links{margin-top:18px}
 .specialist-links a{min-height:44px;padding-block:10px;font-size:11px}
 .image-note{font-size:9px}
 .about{display:block;position:relative}
 .about-photo{position:absolute;top:22px;right:22px;width:72px;height:72px;aspect-ratio:1;min-height:0;border-radius:50%;border:1px solid var(--line)}
 .about-photo>img{object-position:center 20%}
 .about-photo-label{display:none}
 .about-content{padding:22px}
 .about-content>.eyebrow{padding-right:86px;font-size:8px}
 .about h2{padding-right:86px;min-height:46px;margin-bottom:12px}
 .about-content>p{font-size:12px;line-height:1.65}
 .about-more p{font-size:12px}
 .about-more{margin-bottom:12px}
 .about-tags span{padding-block:10px}
 .areas h2{margin-bottom:14px}
 .area-tags button{min-height:44px;padding-block:9px}
 .contact-banner{padding:24px 22px}
 .contact-banner .eyebrow{margin-bottom:10px}
 .contact-actions{min-width:0;margin-top:18px;gap:8px}
 .contact-actions .button{min-height:46px;font-size:11px}
 .contact-actions .booking-button{padding:12px}
 footer{padding-top:24px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .footer-main{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:16px}
 .footer-main>.brand{grid-column:1 / -1}
 .footer-main p{font-size:10px}
 .footer-main>div{font-size:10px}
 .footer-bottom{padding-top:14px;gap:6px;font-size:9px}
 .mobile-dock{padding-block:8px calc(8px + env(safe-area-inset-bottom))}
 .mobile-dock>a,.mobile-dock>button{min-height:44px}
 .landing-hero{padding-top:0;gap:20px;padding-bottom:24px}
 .back-home{margin-bottom:16px}
 .landing-copy h1,.landing-copy h1 em{font-size:32px}
 .landing-copy h1{margin-bottom:14px}
 .landing-copy>p{font-size:13px;line-height:1.65}
 .landing-actions,.landing-advisor{margin-top:16px}
 .landing-visual{height:190px}
 .landing-visual figcaption{inset:auto 18px 18px}
 .landing-visual figcaption strong{font-size:23px;margin:8px 0}
 .landing-process{padding-block:22px;gap:18px}
 .landing-process h2{font-size:21px}
 .landing-process p{font-size:12px}
 .landing-close{padding:22px;gap:18px}
 .landing-close h2{font-size:26px}
 #inquiry-dialog .inquiry-hero h2{font-size:24px}
 #inquiry-dialog .inquiry-hero p{display:none}
 #inquiry-dialog .dialog-top{padding-inline:18px}
 #inquiry-dialog .inquiry-hero{padding:12px 18px 14px}
 #inquiry-dialog .inquiry-hero .step-heading{margin-bottom:4px}
 #inquiry-dialog .inquiry-hero h2{margin-bottom:0}
 .flow-body{padding:14px 18px 18px}
 #inquiry-dialog .field-caption{font-size:11px}
 #inquiry-dialog .property-grid .field-caption{flex-wrap:wrap}
 #inquiry-dialog .advisor-bar{padding-inline:18px}
 .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:359px){
 .wrap{width:calc(100% - 32px)}
 .hero{padding-inline:16px}
 .intent-card{padding-inline:13px}
 .intent-list strong{font-size:12px}
 .intent-list button:nth-child(even){padding-left:10px}
 .service-card{grid-template-columns:76px minmax(0,1fr);gap:12px}
 .service-content h3{font-size:18px}
 .service-links{gap:0 4px}
 .service-links button{font-size:10px;gap:4px}
 .property-grid{grid-template-columns:minmax(0,1fr)}
 .timeline-option>span{font-size:11px;padding-inline:8px;gap:5px}
}
