
/* Responsive layout shared by Safari, Chrome and desktop browsers. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,section,article,aside,fieldset,nav,footer>div{min-width:0}
img{max-width:100%}p,dd,label,.notice,.breadcrumbs{overflow-wrap:break-word}
.mobile-nav-toggle{display:none}
.header nav a,.footer-main nav a{display:inline-flex;align-items:center;min-height:44px}
input,select,textarea{font-size:16px;max-width:100%}
input[type=date],input[type=time]{min-height:48px;min-inline-size:0}
.student-avatar img{width:160px;height:auto}.school-grades{table-layout:fixed;overflow-wrap:anywhere}
.scheduling-access{grid-column:1/-1}
@media(max-width:1100px){
 html{scroll-padding-top:150px}
 .header{height:auto;min-height:130px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:8px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}
 .header .brand{grid-column:1;grid-row:1;justify-self:start}
 .official-project-logo{width:183px;height:70px}.official-project-logo img{width:705px;max-width:none;left:-507px;top:-3px}
 .mobile-nav-toggle{display:block;grid-column:2;grid-row:1;min-height:44px;padding:8px 14px;border:1px solid #71869a;border-radius:6px;background:transparent;color:white;font-weight:600}
 .header .units{grid-column:1/-1;grid-row:2;min-width:0;width:100%}
 .unit-toggle{min-height:44px;padding:7px 16px;font-size:20px}.unit-menu{min-width:0;width:100%;max-height:55vh;overflow:auto}
 .header nav{display:flex;grid-column:1/-1;grid-row:3;flex-direction:column;gap:0;padding:8px 0;font-size:20px}
 .header.nav-ready nav{display:none}.header.nav-ready.nav-open nav{display:flex}
 .header nav a{padding:8px 12px;border-bottom:1px solid #345069}
 .header.nav-open{max-height:85vh;max-height:85dvh;overflow-y:auto}
 .header.nav-open .units{display:none}
 .registration-aside{position:static}
}
@media(max-width:700px){
 .hero h1{font-size:clamp(34px,8.6vw,46px)}
 .detail-hero h1{font-size:clamp(36px,10vw,60px);overflow-wrap:break-word}
 .registration-intro h1{font-size:clamp(34px,9vw,48px)}
 .hero-inner{padding:32px 6% 40px}.hero-actions{flex-direction:column;align-items:stretch}
 .campaign-banner img{min-height:0;max-height:none;object-fit:contain}
 .partners-strip{gap:12px;padding:20px 16px}.partners-strip>div{min-width:0;flex:1}
 .partners-strip .fjj-logo{width:110px;height:auto}.partners-strip .ge-logo{box-sizing:border-box;width:145px;max-width:100%}
 .footer-partners>div{min-width:0;flex:1}.footer-partners img{max-width:100%}.footer-partners .ge-logo{box-sizing:border-box}
 .numbers{gap:24px 12px}.numbers>div{align-items:flex-start;flex-direction:column;gap:8px}
 .section{padding:44px 6%}.other-units{padding-top:0}.registration-layout{padding:30px 5%}
 .registration-layout fieldset{min-inline-size:0}.registration-layout legend{max-width:100%}
 .form-grid label,.upload-grid label{min-width:0}.registration-layout input:not([type=checkbox]),.registration-layout select{width:100%;font-size:16px}
 .upload-grid input[type=file]{font-size:16px;width:100%}.upload-grid label{padding:14px}
 .student-profile{padding:18px;gap:18px}.student-details{gap:14px}.student-panels{gap:16px}
 .student-details dd{overflow-wrap:anywhere}.training-section .form-grid{gap:18px}
 .training-section .service-actions{align-items:stretch}.training-section .button{width:100%}
 .privacy-note,.registration-aside{padding:20px}.button{min-height:48px;white-space:normal;text-align:center}
 footer{padding-bottom:max(28px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.student-details{grid-template-columns:1fr}.hero h1 br{display:none}.hero h1 em{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.form-status,.form-error,.form-success,h1,h2,h3{overflow-wrap:anywhere}
#metrics-choice{padding:20px;margin:20px 0;border:1px solid #718599;border-radius:8px;background:#fff;color:#142d42;font-family:system-ui,sans-serif}#metrics-choice p{font-size:15px;line-height:1.6}#metrics-choice button,.metrics-settings{font:inherit;font-size:14px;padding:12px;margin:6px;border:1px solid #142d42;border-radius:6px;background:#fff;color:#142d42;cursor:pointer;min-height:44px;max-width:100%;white-space:normal}

.staff-access{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.staff-access a{display:flex;align-items:center;min-height:48px;padding:12px;border:1px solid #71869a;border-radius:8px;color:white;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;font-size:16px}@media(max-width:760px){.staff-access{grid-template-columns:1fr 1fr}}@media(max-width:400px){.staff-access{grid-template-columns:1fr}}

.amavale-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.amavale-photo-grid figure{margin:0;min-width:0}.amavale-photo-grid img{display:block;width:100%;height:auto;border-radius:10px}.amavale-photo-grid figcaption{font-size:16px;line-height:1.5;margin-top:10px}.info-box address{font-style:normal;line-height:1.7}@media(max-width:700px){.amavale-photo-grid{grid-template-columns:1fr;gap:24px}}
