/* Shared iPhone/iPad layout. Keep browser zoom enabled. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
input,textarea,select{font-size:16px!important}
textarea{font-family:inherit}
input:focus-visible,textarea:focus-visible{outline:3px solid #5989bd;outline-offset:3px}
img,video{max-width:100%}
button,a,input,select,summary{touch-action:manipulation}
.language-widget{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}
.language-close{width:44px;height:44px;top:3px;right:3px}
#language-panel{max-height:calc(100vh - 115px);max-height:calc(100dvh - 115px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
.member-main,.member-panel,.lesson-screen,.academy-hero>div,.business-agreement>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){
 .header{display:flex;flex-wrap:wrap;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 5% 14px}
 .header .wordmark{min-height:52px;gap:10px}.header .wordmark img{width:65px;height:52px}
 .header .wordmark-text{display:flex;font-size:14px}.header .wordmark small{font-size:10px}
 .header nav{width:100%;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:stretch}
 .header nav>a:not(.button){display:flex;align-items:center;min-height:44px;padding:8px 0}
 .header nav>a{font-size:14px;min-width:0;white-space:normal}
 .header nav>.button{margin-left:auto;justify-content:center;gap:8px;max-width:100%}
 .hero h1,.academy-hero h1{font-size:clamp(40px,11vw,65px);letter-spacing:-2px;overflow-wrap:normal}
 .hero-copy,.academy-hero{padding-left:5%;padding-right:5%}
 .hero .button{max-width:100%;width:100%;min-width:0;gap:12px}
 .hero-facts{gap:10px;line-height:1.5}.hero-facts span+span{border-left:0;padding-left:0}
 .hero .photo-label{left:16px;right:16px;gap:12px;flex-wrap:wrap;letter-spacing:0}
 .booking-card{min-width:0}#booking-panel{padding:22px 14px}
 .booking-tabs button{min-height:52px;font-size:14px}
 .calendar-heading{gap:8px}.calendar-heading h3{font-size:19px}
 .month-controls button{width:44px;min-height:44px}
 .date-summary{flex-wrap:wrap;gap:8px}.date-summary strong{text-align:left}
 .booking-card .button{gap:10px;line-height:1.45;white-space:normal}
 .academy-hero p:not(.eyebrow){font-size:17px}
 .academy-section,.section{padding-left:5%;padding-right:5%}
 .plan{padding:24px}.journey li{gap:14px;grid-template-columns:32px minmax(0,1fr)}
 .business-agreement{padding:26px 18px}.business-agreement h2{font-size:34px}
 .member-shell{min-height:100svh}.member-nav{gap:6px;flex-wrap:wrap;overflow:visible}
 .member-nav button{min-height:44px;flex:1 1 auto;font-size:14px;padding:12px 10px}
 .lesson-screen{padding:22px;aspect-ratio:auto;min-height:220px}
 .member-panel{padding:18px}.member-main{padding-bottom:100px}
 .auth-card{padding:24px 18px}.form-field input,.form-field textarea{min-height:48px}
 .upload-box{padding:14px}.upload-box input{width:100%;min-height:44px}
 .text-button,summary{min-height:44px}summary{line-height:1.45}
 #plan-dialog{padding:54px 22px 26px;width:calc(100% - 24px)}#plan-dialog h2{font-size:34px}
 .language-toggle{min-height:44px;padding:10px 14px}
 footer{align-items:start;gap:12px}
}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
