/* Phone and tablet refinements; desktop templates remain the reference. */
.mobile-label{display:none}
@media(max-width:990px){
 html{scroll-padding-top:100px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .header{top:max(8px,env(safe-area-inset-top,0px));margin:8px auto;padding-inline:12px}
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;min-height:62px;padding:8px 12px;position:relative}
 .header-inner>.brand{grid-column:1;min-width:0;margin:0;gap:6px}
 .header .brand-mark{width:36px;height:36px;flex-shrink:0}
 .header .brand-name{font-size:23px;white-space:nowrap}
 .header .brand-name small{font-size:5.5px;letter-spacing:.07em;white-space:nowrap}
 .header-inner>.language-switch{grid-column:2;margin:0;order:initial;min-width:0}
 .language-switch>summary{min-height:44px;padding:9px;gap:5px;font-size:11px}
 .language-switch>nav{max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);overflow:auto}
 .language-switch>nav>a{display:flex;align-items:center;min-height:44px;font-size:14px}
 .header-inner>.menu-toggle{grid-column:3;order:initial;display:flex;align-items:center;justify-content:center;margin:0;min-height:44px;padding:9px 11px;font-size:12px;line-height:1.4;white-space:nowrap;flex-shrink:0}
 .header .nav{display:none}
 .header .nav.open{display:flex;position:fixed;top:var(--mobile-header-bottom,82px);left:12px;right:12px;max-height:calc(100dvh - var(--mobile-header-bottom,82px) - 16px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;gap:2px;padding:12px;align-items:stretch;flex-direction:column;box-shadow:0 16px 40px #172b3d26}
 .header .nav>a,.header .nav-projects>summary{display:flex;align-items:center;min-height:44px;font-size:15px;padding:10px 13px;white-space:nowrap}
 .header .nav>.button{margin:8px 0 0;justify-content:center}
 .header .nav-projects>div{position:static;min-width:0;width:100%;box-shadow:none;margin:5px 0;padding:4px 8px;background:#f3f6ef}
 .header .nav-projects>div>a{display:flex;align-items:center;min-height:44px;font-size:14px;white-space:nowrap}
 body.mobile-nav-open{overflow:hidden}
 .button,.text-link,.float-wa,button,.team-bio-toggle,.planner-reset{white-space:nowrap!important;overflow-wrap:normal!important;hyphens:none!important;word-break:normal!important;transition-property:background-color,color,border-color,box-shadow}
 .button{min-height:46px;padding:12px 17px;font-size:14px;line-height:1.45;justify-content:center;gap:8px}
 .button svg,.text-link svg,.whatsapp-icon{flex-shrink:0}
 .mobile-label{display:inline}.desktop-label{display:none!important}
 .text-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.5}
 .button>span[aria-hidden],.text-link>span[aria-hidden]{display:none}
 main p,main li{font-size:16px;line-height:1.75}
 main .fine,.fee-note,.source-note,.source-note p,.translation-note{font-size:12px;line-height:1.7}
 .wrap,.contact-grid>*,.brief-grid>*,.guide-reading>*,.directory-copy,.school-content,.hospital-content{min-width:0}
 h1,h2,h3,h4,p,li,dd{overflow-wrap:anywhere;hyphens:auto}
 input:not([type=radio]):not([type=checkbox]),select,textarea,.contact-form input,.contact-form select,.contact-form textarea,.planner-inputs input,.planner-inputs select{font-size:16px!important;line-height:1.5;min-height:48px}
 .contact-form label,.planner-inputs label{font-size:13px;line-height:1.6}
 .contact-form .fine{font-size:12px;line-height:1.65}
 .contact-form .button{font-size:14px;min-height:48px}
 .float-wa{min-height:46px;font-size:13px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:10px 15px;line-height:1.4}
 .float-wa .whatsapp-icon{width:23px;height:23px}
 .hero .hero-inner{padding:48px 24px 44px}
 .hero h1{font-size:clamp(36px,9vw,48px);line-height:1.15}
 .hero p{font-size:16px;line-height:1.7;max-width:38em;text-shadow:0 1px 4px #122e35a0}
 .hero p br{display:none}
 .hero .eyebrow{font-size:9px;letter-spacing:.09em;line-height:1.6;max-width:100%;white-space:normal}
 .hero-pills{gap:8px}.hero-pills a{min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:8px 12px;line-height:1.4;white-space:nowrap}
 .quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .quick-link p{font-size:15px;line-height:1.75}
 .quick-link .text-link{font-size:15px;min-height:48px;justify-content:flex-start;line-height:1.5}
 .quick-link .text-link>span[aria-hidden]{display:none}
 .school-table{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .school-table:focus-visible{outline:3px solid #a8c3b3;outline-offset:4px}
 .school-table th,.school-table td{font-size:13px;line-height:1.65;padding:18px 14px}
 .school-table tbody th{min-width:155px;max-width:170px}
 .school-table tbody th a{font-size:13px;white-space:normal}
 .school-table tbody th img{width:40px;height:40px}
 .school-fee>span,.school-fee>small{font-size:12px}.school-fee>strong{font-size:21px}
 .school-facts dt,.hospital-facts dt{font-size:12px}.school-facts dd,.hospital-facts dd{font-size:14px;line-height:1.7}
 .school-brief{font-size:15px!important}
 .school-expand summary{min-height:48px;font-size:14px;gap:10px}
 .school-expand summary>span:first-child{white-space:nowrap}
 .school-actions,.hospital-actions{flex-wrap:wrap;gap:10px}
 .school-actions .button,.hospital-actions .button,.school-actions .text-link,.hospital-actions .text-link{font-size:14px}
 .team-country{font-size:12px}.team-country img{width:23px;height:16px}
 .team-card h3{font-size:22px}.team-biography p,.team-bio,.team-bio-long{font-size:14px;line-height:1.7}
 .team-bio-toggle{min-height:44px;font-size:14px;padding:8px 0}
 .guide-prose p,.guide-prose li{font-size:17px;line-height:1.85}
 .guide-toc a{display:flex;min-height:44px;align-items:center;font-size:14px}
 .guide-deck{font-size:17px!important}.guide-meta,.guide-byline,.guide-photo figcaption{font-size:12px}
 .guide-prose h2{font-size:29px;line-height:1.25;scroll-margin-top:100px}
 .quiz-option{min-height:48px;font-size:15px;line-height:1.5}.quiz-question h3{font-size:25px;line-height:1.35}
 .quiz-result-action p,.quiz-result-layout p{font-size:15px;line-height:1.75}
 .planner-inputs small,.planner-hint,.planner-exclusions,.planner-exclusions p{font-size:12px;line-height:1.65}
 .planner-result-row{font-size:14px}.planner-result-row small{font-size:12px}
 .stories-pause,.planner-reset{min-height:44px;font-size:14px}
 .relocation-story>p{font-size:13px}.story-country{font-size:12px}.story-label{font-size:9px}
 .footer{padding-bottom:24px}.footer p,.footer-links a{font-size:13px;line-height:1.75}.footer-links a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{font-size:12px}
}
@media(max-width:600px){
 .hero{min-height:0}.hero .hero-inner{padding:42px 20px 38px}
 .hero .actions,.actions,.school-actions,.hospital-actions{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:10px}
 .actions>.button,.school-actions>.button,.hospital-actions>.button{width:100%}
 .quick-links,.team-grid,.journal,.project-grid,.related-grid,.brief-grid,.contact-form{grid-template-columns:minmax(0,1fr)}
 .quick-link{padding:0 22px 20px}.quick-link h3{font-size:25px}.quick-photo{height:190px}
 .team-grid{gap:24px}.team-card{padding:0 0 22px;border-bottom:1px solid var(--line)}
 .team-portrait{width:88px;height:88px;margin-bottom:14px}.team-card h3{margin-bottom:5px}
 .team-country{margin:7px 0 12px}.team-biography p{max-width:38em}.team-bio-long:not(.expanded){-webkit-line-clamp:3}
 .contact-form{padding:20px;gap:18px}.contact-form>*{min-width:0}.contact-form .full{grid-column:1}
 .contact-form input,.contact-form select,.contact-form textarea{padding:12px;max-width:100%}.contact-form textarea{min-height:120px}
 .form-heading h3{font-size:25px}.form-heading p{font-size:15px}
 .directory-address{min-width:0}.directory-copy h2{font-size:25px}.directory-copy p{font-size:15px}
 .directory-details{font-size:13px}.directory-note{font-size:13px;line-height:1.7}
 .inner-hero-copy h1,.page-top h1{font-size:clamp(33px,8.8vw,43px);line-height:1.2}
 .inner-hero-copy>p,.page-top p{font-size:16px;line-height:1.75}
 .immersive-hero .inner-hero-copy{padding-block:40px}
 .guide-heading h1{font-size:clamp(32px,8.5vw,40px);line-height:1.2}
 .guide-reading{gap:24px}.guide-prose h3{font-size:24px}.guide-prose ul,.guide-prose ol{padding-left:22px}
 .school-content,.hospital-content{padding:23px 20px}.school-content h3,.hospital-content h3{font-size:26px}
 .school-facts,.hospital-facts{grid-template-columns:minmax(0,1fr)}
 .quiz-intro,.mm2h-planner,.quiz-result-layout,.planner-pair{grid-template-columns:minmax(0,1fr)}
 .quiz-intro .button,.quiz-result-action .button{width:100%;font-size:14px}
 .quiz-controls{gap:10px}.quiz-controls .button{min-height:46px;padding:11px 18px}
 .quiz-result-action{padding:20px}.quiz-result-action .text-link{display:inline-flex;font-size:14px}
 .planner-inputs,.planner-results{padding:22px 18px}.planner-total{min-width:0}.planner-total strong{font-size:28px;overflow-wrap:anywhere}
 .planner-result-row{gap:14px}.planner-result-row strong{font-size:16px}
 .relocation-story{width:min(300px,calc(100vw - 40px))}
}
@media(max-width:380px){
 .header-inner{padding:8px 10px;gap:6px}.header .brand-mark{width:32px;height:34px}.header .brand-name{font-size:22px}.header .brand-name small{display:none}
 .header .menu-toggle{font-size:11px;padding:9px}.language-switch>summary{padding:9px 8px;font-size:10px;gap:4px}.language-icon{width:16px;height:16px}
 .contact-form{padding:18px 14px}.button,.contact-form .button{font-size:13px;padding:12px 14px}.text-link{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.address-track{scroll-behavior:auto}.stories-track,.stories-row{animation:none!important}}
@media(max-width:990px){
 .header-inner>.brand,.header-inner>.language-switch,.header-inner>.menu-toggle{grid-row:1}
 .related-card{min-width:0;grid-template-columns:90px minmax(0,1fr);gap:16px}
 .related-card>span{display:block;min-width:0;font-size:19px;line-height:1.45;overflow-wrap:anywhere}
 .related-card>span>span[aria-hidden]{display:none}
 .document-group>summary{gap:12px;min-height:52px}
 .document-group>summary>strong{font-size:17px;white-space:nowrap;min-width:0}
 .document-group>summary>span:first-child,.document-group>summary>span:last-child{flex-shrink:0}
 .planner-exclusions>summary{font-size:13px;line-height:1.5;min-height:44px;white-space:nowrap}
}
@media(max-width:990px){
 .team-biography>.team-bio{font-size:14px!important;line-height:1.7!important}
 .immersive-hero .inner-hero-copy>p,.photo-top>.wrap>p{font-size:16px;line-height:1.75}
 .hero p{ text-shadow:0 1px 3px #102d3ac0,0 2px 10px #102d3a70}
 body.mobile-form-visible .float-wa{opacity:0;pointer-events:none}
}
@media(max-width:990px){
 .tier-comparison-scroll,.fee-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .tier-comparison-scroll:focus-visible,.fee-table-scroll:focus-visible{outline:3px solid #a8c3b3;outline-offset:4px}
 .tier-comparison td,.tier-comparison th,.fee-table-scroll td,.fee-table-scroll th{font-size:13px;line-height:1.7}
 .tier-comparison tbody td strong{font-size:18px}
 .school-expanded-content p,.hospital-content>p,.school-content>p,.guide-help p{font-size:15px;line-height:1.75}
}
@media(max-width:990px){
 .header .nav.open{max-height:calc(100vh - var(--mobile-header-bottom,82px) - 16px);max-height:calc(100dvh - var(--mobile-header-bottom,82px) - 16px - env(safe-area-inset-bottom,0px))}
 .language-switch>nav{max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px)}
 .school-table thead th{font-size:12px;line-height:1.65}
 .document-group label{min-height:44px;padding:7px 0}
}
@media(max-width:380px){.header .brand-name{font-size:clamp(19.5px,6vw,22px)}.header .brand-mark{width:30px}}
/* Paired actions stay beside one another, matching the approved Aosis pattern. */
@media(max-width:600px){
 .actions,.hero .actions,.school-actions,.hospital-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));flex-direction:row!important;align-items:stretch;gap:10px;width:100%}
 .actions>.button,.school-actions>.button,.hospital-actions>.button{width:100%;min-width:0;padding:12px 10px;font-size:13px;gap:6px}
 .actions>.text-link,.school-actions>.text-link,.hospital-actions>.text-link{min-width:0;justify-content:center;font-size:13px;gap:6px}
 .actions>:only-child,.school-actions>:only-child,.hospital-actions>:only-child{grid-column:1/-1}
 .actions .whatsapp-icon,.school-actions .whatsapp-icon,.hospital-actions .whatsapp-icon{width:20px;height:20px}
}
@media(max-width:990px){button{min-height:44px;min-width:44px}}
@media(max-width:990px){
 .actions,.school-actions,.hospital-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));flex-direction:row!important;flex-wrap:nowrap!important;gap:10px;align-items:stretch}
 .actions>:only-child,.school-actions>:only-child,.hospital-actions>:only-child{grid-column:1/-1}
 .actions>.button,.school-actions>.button,.hospital-actions>.button{min-width:0;max-width:100%}
}
.inner-hero-copy>.actions{flex-direction:row!important;flex-wrap:nowrap!important}
@media(min-width:701px) and (max-width:990px){.school-grid-featured,.school-grid-wider{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.school-grid-featured,.school-grid-wider{grid-template-columns:minmax(0,1fr)}}
@media(max-width:990px){
 .stories-pause{flex-shrink:0;min-width:max-content}
 .stories-section .section-head>div{min-width:0}
 .tier-comparison .programme-use{font-size:13px;min-height:44px;padding:12px 14px}
 .inner-hero-copy .actions>.button,.inner-hero-copy .actions>.text-link{font-size:13px!important;line-height:1.45}
}
@media(max-width:600px){.stories-section .section-head{flex-direction:column;align-items:flex-start;gap:16px}.stories-section .section-head>div{width:100%}.stories-pause{align-self:flex-start}}
/* Keep the approved brand size; compact the menu control on the narrowest phones. */
@media(max-width:990px){.header .brand-name{font-size:25px!important}.header .brand-mark{width:44px;height:35px}}
@media(max-width:380px){
 .header-inner{padding:8px 7px;gap:4px}
 .header .brand-name{font-size:25px!important}.header .brand-mark{width:44px;height:35px}
 .header .menu-toggle{width:44px;min-width:44px;height:44px;padding:0;font-size:18px;line-height:1}
}
@media(max-width:990px){
 .immersive-hero .inner-hero-copy>.eyebrow,.photo-top .eyebrow{color:#fff!important;text-shadow:0 1px 3px #081c2be6,0 2px 10px #081c2bb3}
 .immersive-hero .inner-hero-copy .crumb,.immersive-hero .inner-hero-copy .crumb a,.photo-top .crumb,.photo-top .crumb a{color:#fff!important;opacity:1;text-shadow:0 1px 3px #081c2be6,0 2px 10px #081c2bb3}
 .immersive-hero .inner-hero-copy h1,.photo-top h1{ text-shadow:0 1px 2px #0b1d29b3,0 3px 16px #0b1d2955}
}
@media(min-width:991px) and (max-width:1200px){
 .guide-help .button{white-space:nowrap!important;overflow-wrap:normal!important;font-size:13px;line-height:1.45}
 .guide-help .button .desktop-label{display:none!important}.guide-help .button .mobile-label{display:inline}
}
@media(min-width:991px) and (max-width:1200px){
 input:not([type=radio]):not([type=checkbox]),select,textarea,.contact-form input,.contact-form select,.contact-form textarea,.planner-inputs input,.planner-inputs select{font-size:16px!important;line-height:1.5;min-height:48px;min-width:0;max-width:100%}
 .contact-form label,.planner-inputs label{font-size:13px;line-height:1.6;min-width:0}
 .planner-pair>*{min-width:0}.contact-form textarea{min-height:120px}
}
@media(min-width:991px) and (max-width:1200px){
 main .button,main .text-link{font-size:13px!important;white-space:nowrap!important;overflow-wrap:normal!important;line-height:1.45}
 main .button{min-height:46px;padding:12px 17px}
 main .mobile-label{display:inline}main .desktop-label{display:none!important}
 main .button>span[aria-hidden],main .text-link>span[aria-hidden]{display:none}
 .school-actions,.hospital-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
 .school-actions>:only-child,.hospital-actions>:only-child{grid-column:1/-1}
 .school-actions>*,.hospital-actions>*{min-width:0}
}
