/* Readability update: consistent, legible sizes and more room */
html {font-size: 18px; -webkit-text-size-adjust: 100%;}
body {font-size: 18px !important; line-height: 1.7 !important;}
p, li, dd, dt, .item, .item span, .item em, .note, .sub, .description, .review-card p,
.info-card p, .info-card li, .studio-hours dl, .studio-hours dt, .studio-hours dd,
.studio-hours p, .screen-field p, .screen-options label, .screen-checks label,
.screen-intro, .screen-small, .services-cta p, .group .note, .booking-bottom p,
.site-footer p, .site-footer a, .footer-copyright, .small-print {font-size: 16px !important;line-height:1.65;}
.bar, header .bar {max-width: 1320px !important;}
.wrap,.info-wrap,.info-container,.booking-bottom,.site-footer-inner,.site-footer .site-footer-inner,
.review-wrap,.contact-wrap,.services-cta {max-width: 1260px !important;}
.wrap {width: min(100%, 1260px); padding-left:28px; padding-right:28px;}
.info-main {max-width:1260px !important;}
.group {padding:32px 34px 27px;}
.group h3, .info-card h2 {font-size:clamp(25px,2.6vw,32px) !important;line-height:1.3;}
.item {gap:14px;padding-top:12px;padding-bottom:12px;}
nav, .top-nav, .top-nav a, .top-nav summary {font-size:15px !important;letter-spacing:.025em !important;}
.book-nav-btn, .screen-btn, .screen-outline, button, input[type=submit] {font-size:16px !important;min-height:48px;}
button, input, select, textarea {font-size:16px !important;}
.eyebrow,.brand small,.intro .summer-promo-eyebrow {font-size:14px !important;letter-spacing:.1em !important;}
.intro .summer-promo small,.intro .summer-promo-detail {font-size:16px !important;line-height:1.6 !important;}
.intro .summer-promo {max-width:760px !important;}
.intro .summer-promo-title {font-size:clamp(25px,3vw,34px) !important;}
.studio-hours {max-width:950px !important;}
.screen-inner {max-width:960px !important;}
.screen-field legend {font-size:20px !important;}
:focus-visible {outline:3px solid #812378 !important;outline-offset:3px;}
@media(max-width:780px){
 html{font-size:17px;}
 body{font-size:17px !important;}
 .wrap {padding:38px 18px;}
 .group {padding:23px 21px;}
 .top-nav,.top-nav a,.top-nav summary {font-size:14px !important;}
 .studio-hours dl {grid-template-columns:minmax(105px,1fr) minmax(0,1.6fr);}
}
@media(max-width:430px){
 .bar,header .bar{padding-left:12px !important;padding-right:12px !important;}
 .group {padding:22px 17px;}
 .studio-hours dt,.studio-hours dd {font-size:15px !important;}
 .screen-inner {padding-left:16px;padding-right:16px;}
}
