@media(min-width:1600px){.hero-content{max-width:1500px;width:100%;margin:auto}}@media(max-width:1100px){nav{gap:16px}.header-book{display:none}.about{grid-template-columns:1fr 1fr}.about>.section-label{grid-column:1/-1}.experience-copy{padding:65px 8%}.hero{min-height:760px}.photo-note{display:none}}@media(max-width:700px){header{height:78px;padding:0 24px}.brand{font-size:28px}.menu{display:block;background:none;color:white;border:1px solid #ffffff60;padding:8px 14px;font-size:12px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column;font-size:18px}nav.open{display:flex}.hero{min-height:760px;height:100svh;padding-top:120px}.hero h1{font-size:clamp(55px,12vw,85px)}.hero-image{object-position:60% center}.hero-description{font-size:14px}.hero-tag{font-size:17px}.actions{align-items:start;flex-direction:column;gap:16px}.hero-bottom{font-size:7px;gap:15px}.ribbon{font-size:7px;gap:12px}.ribbon span:nth-last-child(-n+2){display:none}.section{padding:70px 25px}.about{grid-template-columns:1fr;gap:30px}.about-image{padding:0;height:470px}.about h2{font-size:48px}.section-heading{align-items:start;gap:25px;flex-direction:column}.service-list{margin-left:0}summary{font-size:23px}summary span{margin-right:16px}details p{margin-left:27px;font-size:14px}.experience{grid-template-columns:1fr}.experience-photo{min-height:420px}.experience-copy{padding:60px 25px}.experience h2{font-size:45px}.gallery{gap:25px;grid-template-columns:1fr}.gallery-item img{height:440px}.gallery-item:nth-child(2){margin:0}.gallery-item:nth-child(2) img{height:300px}.booking{padding:80px 25px}.booking>p{font-size:13px}.booking .booking-note{font-size:10px}.contact{grid-template-columns:1fr;gap:30px}footer{flex-wrap:wrap;padding:35px 25px}footer .brand{width:100%}dialog img{width:80vw;height:65vh}}
/* Keep intrinsic text and form widths from widening grid columns. */
main, section, figure, .about-copy, .experience-copy, .contact-details { min-width: 0; }
h1, h2 { overflow-wrap: anywhere; }
.button { max-width: 100%; }
summary { gap: 12px; }
summary b { flex-shrink: 0; }
nav a, .menu, .close { min-height: 44px; display: inline-flex; align-items: center; }
.menu { display: none; }
@media (min-width: 701px) and (max-width: 1000px) {
  .experience { grid-template-columns: 1fr; }
  .experience-photo { min-height: 480px; }
  .experience-copy { padding: 65px var(--space); }
  .experience h2 { font-size: clamp(48px, 7vw, 70px); }
}
@media (max-width: 700px) {
  .menu { display: inline-flex; }
  nav { max-height: calc(100dvh - 78px); overflow-y: auto; }
  .hero { height: auto; min-height: max(760px, 100svh); }
  .hero h1 { font-size: clamp(42px, 11.5vw, 80px); }
  .experience h2 { font-size: clamp(32px, 8.5vw, 45px); }
  .booking h2 { font-size: clamp(34px, 9vw, 58px); }
  .gallery-item img, .about-image { max-height: 125vw; }
  footer a { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-height: 500px) and (orientation: landscape) {
  dialog img { height: 55dvh; }
}
