.hero-media-control{position:absolute;right:4vw;bottom:2rem;z-index:2;padding:.7rem 1rem;border:1px solid #ffffff66;border-radius:999px;color:var(--cream);font:700 .62rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.hero-media-control:hover,.hero-media-control:focus-visible{border-color:var(--red);color:var(--red)}
.hero h1,.section h2,.dedicated-hero h1,.press-section h2{text-wrap:balance}
.hero h1 .script-accent{display:inline-block;max-width:100%}
.booking-strip{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 8vw;background:var(--red);color:#fff}.booking-strip .section-label{display:block;margin:0 0 .5rem;color:var(--black)}.booking-strip strong{display:block;font:clamp(1.4rem,2.5vw,2.4rem) var(--serif);line-height:1}.booking-strip .solid{background:var(--black)}.booking-strip .solid:hover,.booking-strip .solid:focus-visible{background:#fff;color:var(--black)}
@media(max-width:800px){.hero-media-control{right:7vw;bottom:1.5rem}.booking-strip{align-items:flex-start;flex-direction:column;padding:2.5rem 7vw;gap:1.5rem}}
.dedicated-hero h1,.dedicated-hero p,.dedicated-hero .button{width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere}.dedicated-hero h1 i{display:block;max-width:100%;overflow-wrap:anywhere}
#about-classes .offer{min-width:0;overflow:visible}#about-classes .offer h3{display:block;width:100%;min-width:0;max-width:100%;white-space:normal;overflow:visible;overflow-wrap:normal;word-break:normal;line-height:1.05;font-size:clamp(2rem,3vw,3.2rem)}#about-classes .offer:nth-child(4) h3{white-space:nowrap;font-size:clamp(1.8rem,2.7vw,3.2rem)}#about-classes .offer-grid,#about-classes .offer-list{align-items:stretch}
.offer-grid .offer h3{max-width:100%;white-space:normal;overflow-wrap:normal}.offer-grid .offer:nth-child(4) h3{white-space:nowrap;font-size:clamp(1.8rem,2.7vw,3.2rem)}.offer-grid .offer-meta{min-height:2.6rem;display:flex;align-items:flex-start;align-content:flex-start}
@media(max-width:500px){.dedicated-hero{overflow:hidden}.dedicated-hero h1{font-size:clamp(3.25rem,15vw,5rem);line-height:.92}.dedicated-hero h1 i{font-size:.82em;line-height:1}.dedicated-hero p{width:min(100%,22rem);font-size:1rem;line-height:1.45;white-space:normal;word-break:normal;overflow-wrap:break-word}}
@media(max-width:500px){.hero h1{font-size:clamp(3.6rem,15vw,5rem)}.hero h1 .script-accent{font-size:.78em;line-height:1.05;white-space:normal}}
.offer-list article{transition:transform .3s,background-color .3s,border-color .3s,color .3s}
.offer-grid .offer-meta,.offer-list strong{height:auto;min-height:4.2rem;padding-block:1rem;display:flex;align-items:flex-start;align-content:flex-start;line-height:1.4;overflow:visible}.offer-grid .offer>a.button,.offer-list>a{margin-top:1rem}
