/* Narrow screens: keep content readable and prevent sideways page movement. */
@media(max-width:950px){
  html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
  .site-header,.hero-shell,.section,.program-shell,.rsvp-shell,.adventure-inner,.site-footer{max-width:100%;min-width:0}
  .hero-content,.hero-poster,.section-heading,.section-heading>div,.program-intro,.rsvp-copy,.form-panel,.adventure-copy,.footer-links{min-width:0}
  .hero-shell,.rsvp-shell{grid-template-columns:minmax(0,1fr)}
  .form-panel{max-width:100%}
}
@media(max-width:700px){
  .hero h1{font-size:clamp(43px,12.5vw,83px)}
  .hero h1 .hero-title-primary,.hero h1 .hero-title-location{white-space:normal;overflow-wrap:anywhere}
  .hero-lead{max-width:100%}
  .hero-actions .btn{max-width:100%;text-align:center;white-space:normal}
  .hero-link{max-width:100%;white-space:normal}
  .hero-poster{width:min(100%,390px);max-width:100%}
  .experiences .section-heading h2{font-size:clamp(46px,9.6vw,68px);line-height:1.08}
  .experiences .section-heading h2 .fly-line{white-space:normal;overflow-wrap:anywhere}
  .program-intro h2 .program-title-line{overflow-wrap:anywhere}
  .rsvp-copy h2{font-size:clamp(54px,11.5vw,88px);line-height:1.09}
  .rsvp-copy h2 .fly-line{white-space:normal;overflow-wrap:anywhere}
  .rsvp-location,.location-copy{max-width:100%;min-width:0}
  .form-panel input[type=email],.form-panel fieldset,.choices{min-width:0;max-width:100%}
  .adventure-copy{width:100%;max-width:100%}
  .adventure-copy h2 .fly-line{overflow-wrap:anywhere}
  .adventure-link{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.15}
  html.motion-active [data-reveal] .fly-line,html.motion-active [data-reveal] .fly-line:nth-child(2){transform:translate3d(0,22px,0) skewX(0)}
  html.motion-active [data-reveal].is-visible .fly-line,html.motion-active [data-reveal].is-visible .fly-line:nth-child(2){transform:translate3d(0,0,0) skewX(0)}
}
@media(max-width:600px){
  .experience-grid{grid-template-columns:minmax(0,1fr)}
  .experience-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;padding:16px;text-align:left}
  .experience-card .card-index{display:block}
  .experience-card .card-art{display:block;flex:none;width:calc(100% + 32px);height:205px;margin:9px -16px 14px}
  .experience-card h3{display:block;min-height:0;margin:0;max-width:100%;font-size:clamp(25px,6vw,32px);line-height:1.1;overflow-wrap:anywhere}
  .experience-card .art-caption{display:block;margin-top:13px;padding-top:9px;font-size:9px}
  .cookie-dialog .cookie-category>div{min-width:0}
  .cookie-dialog .cookie-category p{overflow-wrap:anywhere}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(42px,12.5vw,60px)}
  .program-intro h2{font-size:clamp(42px,10.4vw,53px)}
  .rsvp-copy h2{font-size:clamp(52px,11.5vw,70px)}
  .adventure-copy h2{font-size:clamp(38px,10vw,48px)}
  .cookie-dialog .cookie-category{flex-wrap:wrap}
  .cookie-dialog .cookie-category>span{margin-left:auto}
}
@media(max-width:360px){
  .site-header{padding-inline:12px;gap:6px}
  .brand-logo img{width:70px;height:60px}
  .mobile-menu summary{padding:7px;font-size:12px}
  .header-cta{padding:8px 9px;gap:4px;font-size:12px}
  .header-cta span{font-size:14px}
  .hero h1{font-size:clamp(40px,12vw,45px)}
  .experiences .section-heading h2{font-size:43px}
  .program-intro h2{font-size:40px}
}
