/* Phone layouts retain the site's existing colours and desktop composition. */
@media (max-width:760px){
  .header nav.open{max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain}
  .header nav a,.header nav summary{white-space:normal;overflow-wrap:anywhere}
  main h1,main h2,main h3{overflow-wrap:break-word;hyphens:auto}
  .v2-trial .hero h1,html[lang=en] .v2-trial .hero h1{font-size:clamp(31px,8vw,38px);line-height:1.18}
  .v2-trial .hero-copy .lead{font-size:16px;line-height:1.65}
  .v2-home .hero{gap:22px}
  .v2-home .compact-summary>h2,.v2-home .start h2{font-size:clamp(26px,7vw,32px);line-height:1.25}
  .home-event-layout,.archive-event{min-width:0}
  .home-event-poster,.archive-event-poster{width:min(100%,300px);max-width:100%;justify-self:center}
  .home-event-poster img,.archive-event-poster img{max-height:none;width:100%;height:auto}
  .home-events-list.multiple-events .home-event-poster{width:min(100%,300px);align-self:center}
  .home-event-copy h2,.archive-event-copy h2{font-size:clamp(24px,6vw,30px);line-height:1.25}
  .archive-event{padding:20px;gap:20px}
  .home-week-layout,.home-week-photos,.week-profile-row,.v2-contact-layout{min-width:0}
  .home-week-copy p,.week-profile-copy p{line-height:1.65}
  .team-overview .team-card-content{min-width:0}
  .v2-contact-layout input,.v2-contact-layout select,.v2-contact-layout textarea{max-width:100%;box-sizing:border-box;font-size:16px}
  .lens-original-graphic::before{content:attr(data-mobile-hint);display:block;color:#53627a;font-size:14px;margin:0 0 10px}
  .lens-original-graphic{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .footer{gap:16px}
  .footer-direct-contact{flex-wrap:wrap;overflow-wrap:anywhere}
}
@media (max-width:380px){
  .v2-home main>section.wrap:not(.hero),.v2-home main>section.home-week-preview{padding-left:18px;padding-right:18px}
  .v2-trial .hero h1,html[lang=en] .v2-trial .hero h1{font-size:30px}
  .preview-polish main .week-program-closing .week-pills{grid-template-columns:1fr}
}
