/* Phone layouts, shared by every page. */
@media(max-width:760px){
 html{scroll-padding-top:96px}
 body{overflow-wrap:break-word}
 main,section,figure,article,.wrap,.section-head,.sectiontop,.services,.results,.result-grid,.mentor-hero,.lessons-intro,.contact-inner{min-width:0}
 img,video,iframe{max-width:100%}
 header.site-header{padding:14px 0}
 header .signature-logo{width:145px}
 header .signature-logo img{width:83px}
 header .signature-logo img+img{width:57px}
 .menu-toggle{min-width:64px;min-height:44px}
 header .navlinks{max-height:calc(100dvh - 90px);overflow-y:auto}
 header .navlinks a,header .navlinks button{min-height:44px}
 .btn,.button,.chip,.slideshow-controls button,.photo-dialog button,.flow-options button{min-height:44px}
 .filters{gap:8px}
 .chip{padding:10px 14px}
 .services,.archive-grid,.result-grid,.student-paths,.mentor-hero,.lessons-intro{grid-template-columns:1fr}
 .section-head{display:block}
 .section-head>p:last-child{margin-top:20px}
 .services article{padding:25px 0}
 .page-hero{padding-top:36px;padding-bottom:42px}
 .page-hero h1,.mentor-hero h1,.lessons-intro h1{font-size:clamp(38px,9vw,56px);line-height:1.08;letter-spacing:-.045em}
 .section h2{font-size:clamp(34px,8vw,48px);line-height:1.1;letter-spacing:-.04em}
 .subnav{display:flex;flex-wrap:wrap;gap:8px 18px}
 .subnav a{padding:8px 0;min-height:44px}
 .lesson-slide img{height:auto;max-height:360px;object-fit:contain}
 .mentor-hero img{border-radius:14px;max-height:400px;object-fit:cover}
 .conference-moment figure{width:100%;margin-top:24px}
 .result-year{grid-template-columns:1fr;gap:18px}
 .full-quote{grid-template-columns:1fr;gap:14px}
 .photo-grid{gap:10px}
 .photo-grid img{max-width:100%}
 dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);overflow:auto;padding:48px 22px 25px}
 dialog .close{min-width:44px;min-height:44px;top:5px;right:5px}
 input,select,textarea{font-size:16px!important}
 .fields{grid-template-columns:1fr}
 .gallery-controls{gap:8px;flex-wrap:wrap}
 .gallery-img,.full-photo{max-height:55dvh;object-fit:contain}
 .dialog-actions .btn{flex:1 1 auto}
 footer{gap:18px!important;padding-bottom:96px!important}
 footer .footer-legal{padding-bottom:0}
 .social-links{gap:12px}
 .whatsapp-float{right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:56px;height:56px;padding:13px}
 .whatsapp-label{display:none}
 .studio-map{height:260px}
}
@media(max-width:720px){
 header nav{padding:12px 6%;min-height:80px}
 .navlinks{top:80px}
 .hero h1{font-size:clamp(3.2rem,16vw,4.55rem)!important;line-height:1.02}
 .hero .portrait img{height:auto!important;aspect-ratio:4/5;object-position:center 34%}
 .hero .actions{gap:18px}
 .hero .location{font-size:14px;line-height:1.65}
 .home-page .wrap{padding:48px 6vw}
 .lesson-tabs{grid-template-columns:1fr;border-bottom:0;gap:8px}
 .lesson-tabs button{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);border-left:4px solid transparent;font-size:17px;min-height:64px}
 .lesson-tabs small{margin:0;min-width:87px;font-size:12px}
 .lesson-tabs button[aria-selected=true]{border-left-color:var(--ink);border-bottom-width:1px}
 .lesson-content{min-height:0;padding-top:28px}
 .story-text{min-height:0;padding-top:30px}
 .story-tabs{margin-top:25px}
 .story-tabs button{min-height:52px}
 .community-photo{height:auto;aspect-ratio:4/3;object-fit:cover}
 .quote blockquote{font-size:25px;line-height:1.4}
 .result{grid-template-columns:1fr;gap:8px;padding:22px 0}
 .result p,.result p:last-child{grid-column:1}
 .result h3{font-size:25px}
 .result .badge{font-size:13px}
 .event-row{grid-template-columns:60px minmax(0,1fr)}
 .event-row .btn{max-width:100%}
 .exam-animation{grid-template-columns:1fr;gap:20px;padding:25px}
 .pass-copy h3{font-size:30px;line-height:1.12}
 .exam-boards{gap:8px}
 .contact .wrap{gap:24px}
 .contact .wrap>div:first-child{padding-top:0}
}
@media(max-width:380px){
 .home-page .wrap{padding-left:20px;padding-right:20px}
 .btn,.button{padding:12px 18px}
 .sectiontop h2,.story h2{font-size:38px}
 .lesson-tabs button{font-size:16px;gap:10px}
 .lesson-tabs small{min-width:80px}
}
