@media(max-width:760px){
  body{font-size:16px;overflow-x:hidden}
  .site-header{padding:0 1.25rem}
  .site-nav{width:100%;z-index:10}
  .eyebrow{font-size:.8rem;line-height:1.45;letter-spacing:.1em}
  .section-heading{display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start;margin-bottom:2.6rem}
  .section-heading h2{max-width:100%;font-size:clamp(3rem,13vw,4.55rem);line-height:.96;letter-spacing:-.055em}
  .hero-copy{padding-top:4.5rem}
  .hero h1{font-size:clamp(3.05rem,14vw,4.7rem);line-height:.94;letter-spacing:-.055em}
  .hero-intro{font-size:1rem;line-height:1.6;margin:1.6rem 0 2rem}
  .hero-actions{display:flex;align-items:flex-start;gap:1.25rem}
  .button{min-height:48px;padding:.9rem 1rem}
  .hero-image{height:56vh;min-height:340px}
  .hero-image img{object-position:center center}
  .hero-image figcaption{right:1rem;bottom:1.1rem;left:1rem;writing-mode:horizontal-tb;line-height:1.4}
  .hero-index{display:none}
  .intro-band{padding:3.2rem 1.25rem;font-size:clamp(2.05rem,10vw,3.25rem)}
  .approach,.enquire,.reviews{grid-template-columns:1fr;gap:3rem}
  .approach-image{height:min(78vw,430px);order:2}
  .approach h2,.reviews h2,.enquire-heading h2{font-size:clamp(2.95rem,12vw,4.35rem);line-height:.97;letter-spacing:-.055em}
  .approach-copy>p:not(.eyebrow),.reviews-heading>p:last-child,.enquire-heading>p:last-child{font-size:1rem;line-height:1.6;margin-top:1.4rem}
  .gallery{gap:1rem}
  .gallery-main,.gallery-side,.gallery-wide,.gallery-portrait{height:min(100vw,420px);grid-column:auto;grid-row:auto}
  .gallery img,.party-strip img{object-position:center center}
  .gallery figcaption,.party-strip figcaption{left:.9rem;right:.9rem;bottom:.9rem;line-height:1.35}
  .party-strip{grid-template-columns:1fr;gap:1rem;margin-top:1rem}
  .party-strip figure{height:min(92vw,390px)}
  .review-links a{grid-template-columns:1fr auto;gap:.7rem;padding:1rem 0}
  .review-links strong{grid-column:1;font-size:.68rem}
  .review-links b{grid-column:2;grid-row:1 / span 2}
  .form-footer{align-items:flex-start;flex-direction:column}
  .site-footer{padding:2rem 1.25rem}
}

.local-copy{max-width:760px}.local-copy p{line-height:1.75}.local-copy h3{font-family:var(--serif);font-size:1.7rem;margin-top:2rem}.services a{color:inherit}.privacy-note{font-size:.8rem;line-height:1.6}.privacy-note a{color:inherit}.site-nav{gap:1.3rem}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}.hero h1{overflow-wrap:break-word}@media(max-width:760px){.service-row{column-gap:.75rem}.hero h1{font-size:clamp(2.8rem,12vw,4.7rem)}}

/* Keep the location intact and scale the heading to its content column. */
.hero-copy{container-type:inline-size}
.hero h1{overflow-wrap:normal;word-break:normal;hyphens:none;font-size:min(clamp(3.7rem,7vw,7.8rem),15cqw)}
.hero-place{white-space:nowrap}
@media(max-width:760px){.hero h1{font-size:min(clamp(2.8rem,12vw,4.7rem),15cqw)}}