/* Shared phone and small-tablet refinements. */
@media(min-width:761px) and (max-width:900px){
    .menu-toggle{display:flex;width:44px;height:44px;border:1px solid #444;flex-direction:column;align-items:center;justify-content:center;gap:6px}
    .menu-toggle span{width:22px;height:2px;flex:none;margin:0}
    .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
    .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
    .mobile-nav{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:760px){
    .site-header{padding:14px 20px;min-height:80px;height:auto;gap:12px}
    .service-header{width:calc(100% - 40px);min-height:80px;padding-block:14px}
    .site-header>.brand,.service-header>.brand{flex:0 0 104px;width:104px;min-height:44px;justify-content:center}
    .site-header>.brand img,.service-header>.brand img{width:100%;height:auto}
    .site-header>.brand>span,.service-header>.brand>span{font-size:7px;letter-spacing:3px}
    .header-actions{gap:8px;margin-left:auto;min-width:0}
    .header-join{white-space:nowrap;font-size:12px;letter-spacing:0;min-height:44px;padding:8px 10px;gap:8px}
    .header-join span{margin:0;font-size:16px}
    .menu-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;padding:10px;border:1px solid #444;flex-direction:column;align-items:center;justify-content:center;gap:6px}
    .menu-toggle span{width:22px;height:2px;flex:none;margin:0}
    .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
    .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
    .mobile-nav{padding:12px 20px 22px;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
    .mobile-nav a{font-size:18px;min-height:56px}
    .service-header .brand,.service-home-link,.footer-brand{min-height:44px;justify-content:center}
    .service-home-link{display:flex;align-items:center;white-space:nowrap}
    .service-home-link span{margin-left:8px}
    .service-nav{display:grid;grid-template-columns:1.1fr .7fr 1.4fr 1fr;gap:8px;width:100%;padding:8px max(12px,env(safe-area-inset-left));min-height:62px;overflow:visible}
    .service-nav a{font-size:14px;line-height:1.4;min-height:44px;justify-content:center;white-space:normal;text-align:center}
    .breadcrumbs{align-items:center;gap:12px;margin-bottom:24px}.breadcrumbs a{display:flex;align-items:center;min-height:44px;min-width:32px}
    .page-jumps{gap:8px;flex-wrap:wrap}.page-jumps a{min-height:44px;font-size:14px}
    .service-related{gap:8px}.service-related a{min-height:44px;align-items:center}
    .service-footer a,.footer-links a,.footer-links button,.admin-entry{display:inline-flex;align-items:center;min-height:44px}
    .mobile-apply{gap:12px;padding-inline:max(16px,env(safe-area-inset-left));padding-bottom:calc(12px + env(safe-area-inset-bottom))}
    .mobile-apply>span{flex:1;min-width:0}.mobile-apply .button{font-size:14px;min-height:48px;padding-inline:16px}
    .education-page input,.education-page select,.education-page textarea{min-width:0;max-width:100%;font-size:16px}
    .upload-row{grid-template-columns:1fr}.upload-form,.password-form{min-width:0}
    .upload-fields input[type=file]{padding:10px;font-size:14px}.upload-fields input::file-selector-button{min-height:44px;border:1px solid #555;background:#222;color:#fff;margin-right:8px;padding:8px 10px}
    .admin-toolbar{gap:12px}.admin-toolbar .inline-link{display:flex;align-items:center;min-height:44px}
    .admin-login .button,.upload-fields>.button,.password-form>.button{width:100%;justify-content:center}
    .admin-resources button{width:100%;text-align:center;min-height:48px}.password-settings summary{min-height:56px;padding:16px 20px}
    .password-form{padding:8px 20px 24px}.password-form p,.admin-list-heading p{font-size:15px}
    .upload-consent,.checkbox-label{min-height:44px;align-items:center!important}
    .application-dialog,.privacy-dialog{margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom));border:0;overscroll-behavior:contain}
    .application-dialog .dialog-heading,.privacy-dialog .dialog-heading{position:sticky;top:-20px;z-index:5;padding:16px 20px;margin:-20px -20px 24px;background:#111;border-bottom:1px solid #333;gap:12px;align-items:center}
    .dialog-heading>div{min-width:0}.dialog-heading h2{font-size:22px}.dialog-heading .close-button{position:static;flex:0 0 44px}
    .privacy-link{min-height:44px;margin-left:0;text-align:left;font-size:14px}.field label span{font-size:12px}
    .form-submit{min-height:54px}.form-footnote{font-size:14px}.privacy-content h3{font-size:18px}
}
@media(max-width:600px){
    .hero{min-height:0}.hero-content{padding-block:38px 78px}
    .hero h1{font-size:clamp(64px,18vw,88px);line-height:.98;margin-block:24px 28px}
    .hero-caption p{font-size:22px}.hero-caption strong{font-size:16px;line-height:1.85}
    .hero-actions{display:flex;align-items:stretch;flex-direction:column;gap:10px;max-width:360px}.hero-actions .button,.hero-actions .link-button{justify-content:space-between;min-height:50px}
    .service-hero .button,.service-cta .button{font-size:15px;min-height:52px}
    .library-search{min-width:0;width:100%}.category-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}
    .category-filters button{font-size:14px;padding:10px 8px;min-height:46px}.resource-card{padding:22px}.resource-card h3{margin-top:20px}
    .academy-hero h1{font-size:clamp(58px,17vw,90px)}.academy-start>a{min-height:48px;font-size:15px}
}
@media(max-width:360px){
    .site-header{padding-inline:16px;gap:8px}.service-header{width:calc(100% - 32px)}.site-header>.brand,.service-header>.brand{flex-basis:96px;width:96px}.header-join{padding-inline:8px;font-size:11px}.header-join span{display:none}
    .page-jumps{display:grid;grid-template-columns:1fr 1fr}.page-jumps a{justify-content:center;background:#111}
    .mobile-apply>span{font-size:12px}.mobile-apply .button{padding-inline:12px}
}
