/* Repairs for a device-width viewport; established desktop composition is retained. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.enquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;border:0;padding:0;margin:0;min-width:0;grid-column:1/-1}
.enquiry-fallback{margin:0;font-size:14px;color:var(--muted)}
.enquiry-fallback>a:not(.text-link){text-decoration:underline;text-underline-offset:4px}
.enquiry-fields:disabled{opacity:.65}
.form-status:focus{outline:2px solid currentColor;outline-offset:4px}
.development-introduction{padding-block:48px 24px;margin-bottom:0}
.home-project-caption{padding-block:24px 36px;color:var(--ink)}
.home-project-caption .eyebrow{margin-bottom:8px}
.home-project-caption h3{font-size:clamp(28px,4vw,44px);max-width:30ch}
.home-project-caption h3 a{display:inline-block;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.home-project-caption>p:last-child{margin-top:10px}
@media(max-width:700px){
 h1,h2,h3,.property-contact-bar>span{overflow-wrap:anywhere}
 input,select,textarea,.search-bar select,.filter-grid input,.filter-grid select{font-size:16px}
 .enquiry-fields{grid-template-columns:minmax(0,1fr)}
 .enquiry-form,.contact-layout,.calculator-layout{min-width:0}
 .enquiry-form>*,.contact-layout>*,.split>*,.detail>*,.footer-grid>*{min-width:0}
 .enquiry-form label,.enquiry-form label.check{font-size:15px}
 .small,.card .eyebrow,.eyebrow{font-size:12px}
 .button,.text-link,.text-button{font-size:15px;min-height:48px}
 .breadcrumbs{font-size:14px}
 .breadcrumbs a{min-height:44px}
 .filter-top,.results-heading{flex-wrap:wrap}
 .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .filter-grid label{font-size:14px}
 .lightbox-controls{flex-wrap:wrap;gap:10px}
 .lightbox-controls button{min-width:0;flex:1;padding-inline:10px;font-size:14px}
 .lightbox-controls span{width:100%;text-align:center;order:1}
 .property-contact-bar{padding-bottom:max(12px,env(safe-area-inset-bottom));gap:12px}
 .property-contact-bar .button{white-space:normal;max-width:58%;font-size:14px}
 .footer-bottom{flex-wrap:wrap;font-size:13px}
 .development-introduction{padding-block:32px 20px}
 .home-project-caption{padding-block:20px 28px}
}
@media(max-width:600px){
 /* Hero copy follows the square film at this breakpoint, so use the page colours. */
 .hero .hero-copy{color:var(--ink);padding-block:26px 38px}
 .hero .hero-copy p:not(.eyebrow){color:var(--ink);font-size:16px}
 .hero .hero-copy .hero-tagline{font-size:26px}
 .hero .hero-copy .button{background:var(--ink);color:var(--white);border-color:var(--ink);min-width:0;width:100%;font-size:15px}
 .hero .hero-copy .button.outline{background:transparent;color:var(--ink)}
 .hero .hero-caption{top:calc(100vw - 60px);font-size:11px}
 .search-wrap{margin-top:0}
 #properties .section-heading h2 span{white-space:normal}
 #properties .section-heading h2{font-size:clamp(30px,7.5vw,44px)}
 .mobile-contact{padding-bottom:env(safe-area-inset-bottom)}
 .mobile-contact a{min-height:48px;display:flex;align-items:center;justify-content:center;font-size:14px}
}
@media(max-width:360px){
 .filter-grid,.search-bar{grid-template-columns:minmax(0,1fr)}
 .filters{padding:20px}
 .segmented label{padding-inline:20px}
 .hero .hero-caption{top:calc(100vw - 54px)}
}
