/* Scoped finishing changes; the existing property layout remains the base. */
.hero { min-height: 640px; }
.hero-content { max-width:1180px; padding-block:140px 64px; }
.hero h1 { font-size:clamp(3rem,6vw,5.7rem); max-width:850px; }
.hero-copy { max-width:690px; }
.hero-actions .button:first-child { box-shadow:0 2px 10px #0002; }
.proof-action { margin:30px 0 0; }
.submit-button { grid-column:1/-1; font:inherit; font-weight:700; cursor:pointer; }
.submit-button:disabled { opacity:.65; cursor:wait; }
#form-status { min-height:1.6em; font-size:1rem; }
#form-status.error { color:#9a291d; }
#form-status.success { color:#1d5a30; }
.trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#direct-contact a { overflow-wrap:anywhere; }
#measurement-toggle { color:inherit; background:none; border:0; text-decoration:underline; cursor:pointer; font:inherit; padding:6px; }
.mobile-cta { display:none; }
.mobile-cta[hidden] { display:none; }
.footer-inner > span { display:inline-block; margin-right:8px; }
.local-notice { position:relative; margin:0; padding:7px 18px; color:#563b0a; background:#fff0c7; font-size:.8rem; text-align:center; }
body:has(.local-notice) .site-nav { top:40px; }
.privacy-page { max-width:760px; margin:40px auto; padding:24px; font:17px/1.65 Arial,sans-serif; color:#16211b; }
.privacy-page h1 { font:2.5rem/1.1 Georgia,serif; }
.privacy-page h2 { font:1.45rem Georgia,serif; margin-top:36px; }
@media(max-width:600px){
  .brand { font-size:.82rem; max-width:185px; }
  .hero { min-height:0; }
  .hero-content { padding-block:104px 38px; }
  .hero h1 { font-size:clamp(2.6rem,11.3vw,3.45rem); line-height:1; margin-bottom:18px; }
  .hero-copy { font-size:1rem; line-height:1.5; margin-bottom:15px; }
  .price { margin-bottom:20px; }
  .hero-actions { gap:8px; }
  .hero-actions .button { font-size:.87rem; padding:11px 12px; min-height:46px; }
  .mobile-cta { display:flex; position:fixed; bottom:12px; left:14px; right:14px; z-index:8; box-shadow:0 4px 20px #0004; }
  body { padding-bottom:78px; }
  .enquiry:target ~ .mobile-cta { display:none; }
  .submit-button { grid-column:auto; }
  .story-image img,.location-image img { min-height:0; aspect-ratio:4/3; }
  section { padding-block:64px; }
  body:has(.local-notice) .site-nav { top:54px; }
}

@media(max-width:600px){.hero::before{background-image:url(assets/hero-living-640.webp)}}
