/* NGW Academy touchscreen and tablet enhancements. Learning is demonstration-only. */
:where(html,body){max-width:100%;}
:where(img,svg,video,iframe){max-width:100%;height:auto;}
:where(.wrap,.hero-grid,.market-grid,.class-grid,.course-grid,.market,.lesson,.hero-aside,.side,.flow) > *{min-width:0;}
:where(.market-grid,.class-grid,.course-grid,.hero-grid){min-width:0;}
:where(.phrase strong,.lesson h2,.lesson p,.feedback,.program-mini){overflow-wrap:anywhere;}
:where(button,input,select,textarea){max-width:100%;}
:where(.btn,.option,.side button,.navigation a){min-height:44px;}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #52a7da;outline-offset:3px;}
@media (max-width: 960px){
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:22px;}
 .class-grid{grid-template-columns:minmax(0,1fr);}
 .market-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .headin{flex-wrap:wrap;padding-block:10px;gap:5px;}
 .navigation{min-width:0;max-width:100%;}
}
@media (max-width: 680px){
 .sitehead .headin{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-block:10px;}
 .sitehead .brand{min-width:0;}
 .sitehead .brand img{width:115px;max-height:46px;}
 .sitehead .brand span{display:none;}
 .sitehead .navigation{flex:0 0 100%;width:100%;justify-content:flex-start;display:flex;gap:9px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:5px;scrollbar-width:thin;}
 .sitehead .navigation a{display:inline-flex;flex:0 0 auto;align-items:center;white-space:nowrap;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.055);font-size:12px;}
 .wrap{padding-inline:15px;}
 .hero{padding:34px 0;}
 .hero h1{font-size:clamp(2.1rem,9vw,3rem);}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;}
 .hero-actions .btn{width:100%;min-width:0;white-space:normal;text-align:center;}
 .market-grid,.course-grid,.columns,.flow{grid-template-columns:minmax(0,1fr);}
 .market,.course-card,.hero-aside{min-width:0;}
 .classroom{padding:0 12px;}
 .class-grid{grid-template-columns:minmax(0,1fr);gap:12px;}
 .lessonhead{padding:19px 16px;}
 .lessonhead h1{font-size:clamp(1.5rem,6vw,2.1rem);overflow-wrap:anywhere;}
 .lesson{padding:17px 15px;min-height:0;}
 .lesson h2{font-size:clamp(1.3rem,6vw,1.8rem);}
 .side{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:14px 12px;overscroll-behavior-x:contain;}
 .side h3{flex:0 0 100%;}
 .side button{flex:0 0 auto;width:auto;min-width:100px;min-height:44px;white-space:normal;}
 .side select{min-height:44px;font-size:16px;}
 .option{padding:15px 13px;line-height:1.5;font-size:16px;}
 .class-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
 .class-actions .btn{min-width:0;width:100%;white-space:normal;padding:13px 9px;text-align:center;}
 .form-row select{min-height:44px;font-size:16px;}
 .notice{font-size:13px;line-height:1.6;}
}
@media(max-width:380px){.class-actions{grid-template-columns:1fr}.headin{padding-inline:12px}.navigation a{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Keep legal footer and school referral navigation inside narrow phone widths. */
@media(max-width:680px){.footinner{display:flex;flex-wrap:wrap;gap:10px;min-width:0}.footinner>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.footinner a{min-height:44px;display:inline-flex;align-items:center}}
