/* Phone layout overrides only. Desktop sizing and composition are retained. */
@media(max-width:760px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}
 body.public-site{font-size:15px;line-height:1.65}
 .public-site .topbar{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:0;padding:5px 16px 6px;font-size:11px;line-height:1.5}
 .public-site .topbar>.topbar-schedule{display:flex!important;flex-direction:row;justify-content:center;align-items:center;flex-wrap:nowrap;gap:8px;font-size:11px;line-height:1.6;width:100%}
 .public-site .topbar>.topbar-schedule>span{font-size:11px;white-space:nowrap}.public-site .topbar .topbar-schedule>b{font-size:11px}
 .public-site .topbar>a{font-size:11px;line-height:1.5;min-height:24px;justify-self:auto;align-self:center;text-underline-offset:3px}
 .public-site .header{height:76px;min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) 44px auto;align-items:center;gap:8px;padding:10px 16px;flex-wrap:nowrap}
 .public-site .header .brand{font-size:34px;line-height:.95;letter-spacing:-1.5px;margin:0}.public-site .header .brand small{font-size:8px;letter-spacing:2px;line-height:1.5;margin-top:6px}
 .public-site .header>.button{font-size:12px;line-height:1.3;padding:11px 12px;min-height:42px;margin:0;white-space:nowrap;border-radius:8px;grid-column:3;grid-row:1}
 .public-site .header .navigation-toggle{grid-column:2;grid-row:1;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:11px!important}
 .public-site .header.nav-enhanced nav{display:none;flex-direction:column;align-items:stretch;gap:2px;padding:8px;inset:var(--menu-top,130px) 12px auto;border-radius:10px;max-height:calc(100dvh - var(--menu-top,130px) - 12px)}
 .public-site .header.nav-enhanced nav:popover-open,.public-site .navigation-toggle[aria-expanded=true]~nav{display:flex}.public-site .header.nav-enhanced nav a{font-size:14px;line-height:1.5;min-height:44px;padding:11px 12px;text-align:left}
 .public-site h1{font-size:32px;line-height:1.16;letter-spacing:-1px}.public-site h2{font-size:25px;line-height:1.3;letter-spacing:-.65px}.public-site h3{font-size:19px;line-height:1.4;letter-spacing:-.3px}
 .public-site p{font-size:15px;line-height:1.7}.public-site .eyebrow{font-size:10px!important;line-height:1.6;letter-spacing:1.1px;margin:0 0 12px}
 .public-site .button,.public-site .text-link{font-size:14px;line-height:1.45;min-height:44px;padding:11px 14px;white-space:normal;text-align:center}
 .public-site .text-link{padding-left:0;padding-right:0;text-align:left;display:inline-flex;align-items:center}.public-site .button{border-radius:8px}
 .public-site .section,.public-site .academic-section,.public-site .vyzn-section,.public-site .page-intro,.public-site .calculator-section,.public-site .steps-section,.public-site .source-note,.public-site .funding-teaser,.public-site .team-help{padding:32px 16px}
 .public-site .section-head{margin-bottom:20px;gap:12px}.public-site .section-head h2{font-size:25px;margin:0}
 .public-site .hero{padding:18px 16px 30px;gap:22px}.public-site .hero h1{font-size:clamp(32px,8.7vw,37px);line-height:1.13;letter-spacing:-1px;margin:12px 0 18px}.public-site .hero-copy>p:not(.eyebrow),.public-site .hero-video-copy>p:not(.eyebrow){font-size:15px!important;line-height:1.7;margin:0 0 18px}
 .public-site .hero-actions{margin:0}.public-site .hero-actions .button{font-size:13px;width:100%;min-height:46px;padding:12px}.home-canvas .hero-actions .button{align-self:flex-start;width:fit-content;max-width:100%;padding-inline:20px}.public-site .hero-copy .deposit-caption{font-size:11px!important;line-height:1.6;margin:12px 0 0;max-width:none}
 .public-site .hero-image{height:330px;min-height:0;border-radius:14px}.public-site .hero-image .image-copy{padding:18px;bottom:36px}.public-site .hero-image .image-copy h2{font-size:28px;line-height:1.12;letter-spacing:-.7px}.public-site .hero-image .image-copy>p{font-size:10px;letter-spacing:1px}.public-site .hero-image .image-bottom{font-size:11px;padding:0;margin-top:12px;gap:8px}.public-site .hero-image .vyzn-logo{width:58px}.public-site .carousel-controls{bottom:12px}
 .public-site .programme-grid{gap:16px}.public-site .programme-card{min-height:0!important;padding:22px!important}.public-site .programme-card h3{font-size:23px!important;line-height:1.25;margin:12px 0!important}.public-site .programme-card p:not(.eyebrow){font-size:14px!important;line-height:1.7;margin-bottom:16px!important;flex-grow:0}.public-site .programme-card a{font-size:13px}
 .public-site .academy-photo{height:210px;border-radius:12px;margin-bottom:18px}.public-site .stathub-wordmark{font-size:22px}.public-site .academic-copy h2{font-size:28px;line-height:1.25;margin:14px 0}.public-site .academic-copy>p:not(.eyebrow){font-size:14px!important;line-height:1.7;max-width:none}
 .public-site .academic-preview{transform:none;max-width:100%;margin-top:12px}.public-site .preview-bar{padding:14px;font-size:12px}.public-site .preview-heading{padding:18px 16px 0}.public-site .preview-heading h3{font-size:23px}.public-site .demo-pill{font-size:9px}.public-site .grade-pair{gap:12px}.public-site .big-grade{font-size:36px;width:68px;height:84px}.public-site .big-grade small{font-size:9px}.public-site .grade-pair b{font-size:14px}.public-site .grade-pair p,.public-site .focus-note p,.public-site .focus-note b{font-size:12px}.public-site .tag{font-size:10px}.public-site .preview-resource b{font-size:13px}.public-site .preview-resource small,.public-site .preview-fine{font-size:11px;line-height:1.6}.public-site .academic-steps{margin-top:20px;gap:16px}.public-site .academic-steps .step{font-size:13px;min-width:220px}.public-site .academic-steps h3{font-size:16px}
 .public-site .vyzn-section{gap:24px}.public-site .vyzn-section h2{font-size:31px;line-height:1.15;margin:14px 0 0}.public-site .vyzn-section p{font-size:14px!important;line-height:1.75;margin:0 0 16px}.public-site .vyzn-scouting{max-width:150px;margin-bottom:20px}.public-site .permission-note{gap:10px;padding-top:16px;margin-top:18px;font-size:12px!important;line-height:1.65}.public-site .permission-note .icon{width:18px;height:18px;flex-shrink:0}
 .public-site .page-intro h1,.public-site .parents-intro h1,.public-site .concise-funding-intro h1{font-size:32px;line-height:1.18;letter-spacing:-1px;margin:10px 0 16px}.public-site .page-intro p:not(.eyebrow){font-size:15px;line-height:1.7;margin:0 0 14px;max-width:none}
 .public-site .hub-demo-section{padding:20px 16px 30px}.public-site .hub-demo-frame{width:100%;border-radius:12px}.public-site .demo-toolbar{padding:12px;font-size:12px;gap:8px}.public-site .hub-demo-caption{font-size:12px;line-height:1.6}.public-site .hub-actions{gap:10px;flex-wrap:wrap}.public-site .hub-actions a{font-size:13px}
 .public-site .faq summary,.public-site .funding-faq summary{font-size:15px;line-height:1.5;padding:16px 0;min-height:48px;gap:16px}.public-site .faq details p,.public-site .funding-faq details p{font-size:14px;line-height:1.7;margin:0 0 16px}.public-site .faq summary .icon,.public-site .funding-faq summary .icon{width:18px;height:18px;flex-shrink:0}
 .public-site .calculator-layout{grid-template-columns:1fr;gap:14px}.public-site .calculator-controls,.public-site .calculator-results{padding:18px;border-radius:12px}.public-site .calculator-controls h3,.public-site .calculator-results h3{font-size:21px;line-height:1.3;margin:0 0 16px;letter-spacing:-.4px}.public-site .calculator-controls label{font-size:14px;margin:16px 0 10px;line-height:1.5}.public-site .calculator-controls output{font-size:12px;padding:3px 8px;line-height:1.5}
 .public-site .day-picker{gap:6px;margin-bottom:12px}.public-site .day-picker button{font-size:19px;min-height:56px;padding:8px 3px;border-radius:8px}.public-site .day-picker button span{font-size:10px}.public-site .calculator-controls input[type=range]{min-height:40px;margin:0}.public-site .range-ends{font-size:11px}.public-site .estimate-assumption{font-size:12px!important;line-height:1.7;margin:12px 0 0}
 .public-site .calculator-results .eyebrow{font-size:10px!important;letter-spacing:.8px;margin-bottom:7px}.public-site .uc-result{padding:15px 0}.public-site .uc-result>span{font-size:9px;line-height:1.5;letter-spacing:.6px}.public-site .uc-result strong{font-size:44px;line-height:1.2;letter-spacing:-1.5px;margin:6px 0}.public-site .uc-result p{font-size:13px!important;margin:0}
 .public-site .cost-lines{margin:12px 0}.public-site .cost-lines>div{gap:10px;padding:12px 0}.public-site .cost-lines dt{font-size:13px;line-height:1.5;min-width:0}.public-site .cost-lines dd{font-size:16px;line-height:1.5;white-space:nowrap;margin:0}.public-site .reimbursement-note{font-size:12px!important;line-height:1.7!important;margin:14px 0}.public-site .calculation-details{padding-top:12px;margin-top:14px}.public-site .calculation-details summary{font-size:13px;min-height:42px;line-height:1.5}.public-site .calculation-details p,.public-site .calculator-results .small{font-size:12px!important;line-height:1.7}.public-site .calculator-footnote{font-size:12px!important;line-height:1.7;margin:14px 0 0}
 .public-site .support-grid{gap:12px}.public-site .support-card{padding:18px}.public-site .support-card h3{font-size:18px}.public-site .support-card p,.public-site .support-card a{font-size:13px}.public-site .team-help{gap:18px}.public-site .team-help h2{font-size:25px}.public-site .team-help p{font-size:14px}.public-site .guidance-date{font-size:11px!important;line-height:1.6}
 .public-site .booking-main{padding:14px 16px 36px}.public-site .booking-main .breadcrumbs{font-size:12px;margin-bottom:18px}.public-site .booking-main .breadcrumbs a{min-height:30px}.public-site .booking-intro h1{font-size:30px;line-height:1.18;letter-spacing:-.9px;margin:12px 0 16px}.public-site .booking-intro>p:last-child{font-size:15px;line-height:1.7}.public-site .booking-intro .eyebrow{margin-bottom:10px}
 .public-site .location-picker{margin-top:20px}.public-site .location-picker label{font-size:14px}.public-site .location-picker select{font-size:16px;min-height:44px;padding:10px;border-radius:8px}.public-site .location-picker p{font-size:12px;line-height:1.65;margin:8px 0 0}
 .public-site .booking-support-card{padding:16px;margin:20px 0;border-radius:10px}.public-site .programme-inclusion{font-size:13px;line-height:1.6;gap:9px;margin-bottom:10px}.public-site .programme-inclusion .icon{width:19px;height:19px;flex-shrink:0}.public-site .funding-book-note{font-size:12px;line-height:1.75;margin:0}
 .public-site .booking-steps{gap:8px;margin:20px 0}.public-site .booking-steps li{font-size:11px;gap:6px}.public-site .booking-steps li>span{width:25px;height:25px;font-size:11px}.public-site .booking-layout{grid-template-columns:1fr;gap:16px}.public-site .booking-panel,.public-site .booking-summary{padding:16px;border-radius:10px}.public-site .booking-panel h2{font-size:23px;margin-bottom:12px}.public-site .booking-panel>p{font-size:14px;line-height:1.7}
 .public-site .booking-summary h2{font-size:23px;line-height:1.25;margin:10px 0 18px}.public-site .programme-list li{gap:12px;margin:16px 0}.public-site .programme-list h3{font-size:16px;margin:0 0 5px}.public-site .programme-list p{font-size:14px;line-height:1.65;margin:0}.public-site .programme-list .icon{width:21px;height:21px}.public-site .booking-sidebar{gap:14px}.public-site .booking-sidebar>.text-link{font-size:13px;min-height:44px;padding:4px 0}
 .public-site .payment-assurance{padding:14px;font-size:13px;gap:10px;margin:0}.public-site .payment-assurance p{font-size:13px;line-height:1.65}.public-site .payment-assurance .icon{width:20px;height:20px;flex-shrink:0}.public-site .payment-assurance strong{font-size:14px}.public-site .selected-days{margin:12px 0}.public-site .selected-days li{font-size:13px;line-height:1.6;margin:10px 0}.public-site .summary-total h3{font-size:17px}.public-site .summary-total p{font-size:13px}
 .public-site .calendar-heading{margin:20px 0 12px;gap:8px}.public-site .calendar-heading h3{font-size:17px}.public-site .calendar-heading button{width:40px;height:40px}.public-site .calendar-weekdays{margin-bottom:7px}.public-site .calendar-weekdays span{font-size:11px;padding:5px 0}.public-site .day-button{min-height:62px;padding:7px 2px;gap:4px}.public-site .day-button b{font-size:18px}.public-site .day-button small{font-size:9px}.public-site .calendar-legend{font-size:11px;gap:12px;margin:16px 0}.public-site .calendar-capacity-note{gap:10px;margin:14px 0}.public-site .calendar-capacity-note p{font-size:12px}.public-site .booking-actions{gap:12px;margin-top:20px;padding-top:16px}.public-site .booking-actions .button,.public-site .booking-actions .back-step{font-size:14px;min-height:44px}.public-site .booking-hint{font-size:12px!important;padding:12px;margin:14px 0}
 .public-site .booking-panel form label{font-size:13px}.public-site .booking-panel form input:not([type=checkbox]),.public-site .booking-panel form select,.public-site .booking-panel form textarea{font-size:16px;min-height:44px}.public-site .booking-panel .form-grid{grid-template-columns:1fr;gap:12px}
 .public-site footer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px 16px;padding:24px 16px 30px;align-items:center}.public-site footer .brand{font-size:31px;line-height:1}.public-site footer .brand small{font-size:8px;letter-spacing:2px;margin-top:6px}.public-site footer>p{font-size:11px;line-height:1.6;text-align:right;margin:0}.public-site footer>div{grid-column:1/-1;width:100%;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;line-height:1.5}.public-site footer>div a{font-size:12px;min-height:36px;display:inline-flex;align-items:center}.public-site footer>div>span{font-size:11px;width:100%;margin-top:8px}
 .public-site .flip-word,#modal .flip-word{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}
 /* Explicit grid prevents Safari flex-shrinking subject titles into narrow columns. */
 #app .workspace .academic-row{display:grid!important;grid-template-columns:48px minmax(0,1fr);gap:7px 12px;align-items:start;padding:16px 0}
 #app .workspace .academic-row>.grade{grid-column:1;grid-row:1/3;width:48px;height:64px;margin:0;align-self:start}
 #app .workspace .academic-row>div:not(.row-end){grid-column:2;grid-row:1;min-width:0;width:auto;flex:none}
 #app .workspace .academic-row>.row-end{grid-column:2;grid-row:2;display:flex;flex:none;flex-basis:auto;width:auto;min-width:0;gap:7px 10px;justify-content:flex-start;align-items:center;flex-wrap:wrap;text-align:left}
 #app .workspace .academic-row h3{font-size:16px;line-height:1.4;word-break:normal;overflow-wrap:normal;margin:0 0 4px}#app .workspace .academic-row p{font-size:12px;line-height:1.65;word-break:normal;overflow-wrap:normal;margin:0}
 #app .workspace .academic-row .row-end b{font-size:13px;white-space:nowrap;flex:none}#app .workspace .academic-row .row-end b small{font-size:11px}#app .workspace .academic-row .target-pill{font-size:10px!important;line-height:1.5;max-width:100%;white-space:normal}#app .workspace .academic-row .grade small{font-size:10px}
 /* Phone dialog stays inside the visual viewport, with an always-reachable close control. */
 #modal{position:fixed;inset:10px;margin:auto;max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:70px}
 #modal .modal-head{position:sticky;top:-16px;z-index:20;background:#fafafa;margin:-16px -16px 14px;padding:10px 14px;align-items:center;border-bottom:1px solid #dedee3}
 #modal .modal-head h2{font-size:18px;line-height:1.4;margin:0}#modal [data-close]{width:44px;height:44px;min-width:44px;color:#34353b;padding:10px;border-radius:6px}
 #modal.session-player-dialog{width:calc(100% - 20px)!important;padding:0!important;border-radius:12px}.session-player-dialog .session-coach-notes{padding:14px}.session-player-dialog .session-coach-notes dl{font-size:12px;margin-bottom:14px}.session-player-dialog .session-coach-notes textarea{font-size:13px;min-height:100px}.session-player-dialog .session-coach-notes p{font-size:13px!important;line-height:1.65}.session-player-dialog .reel-controls{margin:10px 0}.session-player-dialog .playback-demo-caption{font-size:10px}
 .auth-shell{width:calc(100% - 32px);max-width:420px;margin:24px auto;padding:24px!important;border-radius:14px;box-sizing:border-box}.auth-shell .wordmark{font-size:38px;margin-bottom:26px}.auth-shell .wordmark small{font-size:8px}.auth-shell>.eyebrow{font-size:10px;margin:20px 0 10px}.auth-shell h1{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:0 0 24px}.auth-shell label{font-size:13px;margin:16px 0}.auth-shell input{font-size:16px;min-height:46px;margin-top:7px}.auth-shell .primary{font-size:14px;min-height:46px;padding:11px 16px}.auth-shell .quiet{font-size:13px;min-height:44px;padding:10px 0}.auth-tabs{display:grid;grid-template-columns:1fr 1.5fr;gap:4px;margin-bottom:18px}.auth-tabs button{font-size:12px;padding:10px 6px;min-height:44px}.auth-shell .notice,.auth-shell .error{font-size:13px;line-height:1.65}
 body:has(#modal[open]){overflow:hidden}
}
/* Keep photo-card copy close together without shrinking link touch targets. */
.public-site .concise-programme .programme-card p:not(.eyebrow){margin:0!important}
.public-site .concise-programme .programme-card a{padding:0!important;margin:8px 0 0!important;min-height:44px;display:inline-flex;align-items:center}
