.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.course-button{text-decoration:none}.path-icon{font-size:25px;font-weight:600}.nav-course{position:relative;display:flex;align-items:center;gap:2px}.course-nav-toggle{min-width:32px;min-height:44px;border:0;background:transparent;color:var(--primary);font-size:20px;padding:4px}.course-submenu{position:absolute;top:100%;left:-20px;min-width:180px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control)}nav .course-submenu a{display:flex;min-height:44px;padding:8px 12px;border-radius:6px}nav .course-submenu a:hover{background:var(--tint)}nav a[aria-current=page]{color:var(--primary)}nav .nav-login{padding:10px 18px;border:1px solid var(--primary);border-radius:var(--radius-control);color:var(--primary)}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.footer-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.page-hero{background:var(--tint);padding:52px 0 56px;border-bottom:1px solid var(--border)}.page-caption{font-size:14px;color:var(--primary);font-weight:600;margin-bottom:18px}.page-hero>div>p:last-child{color:var(--muted);max-width:64ch;margin-top:20px}.feature-split{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}.feature-split .section-head{margin-bottom:0}.page-actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:28px}.calendar-preview{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.calendar-preview>p{border-bottom:1px solid var(--border);padding:16px 24px;font-weight:600;font-size:15px}.calendar-preview-inner{text-align:center;padding:32px 24px}.calendar-preview-inner svg{width:100px;height:90px;stroke:var(--primary);stroke-width:2}.calendar-preview-inner h3{margin-top:12px}.calendar-preview-inner p{font-size:14px;color:var(--muted);margin-top:8px}.calendar-preview-inner .status-tag{margin-top:20px}.course-initial{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:36px;background:var(--tint);border-radius:8px;font-size:12px;font-weight:600}.page-note{padding:20px 24px;border-radius:var(--radius-control);background:var(--tint);font-size:14px;margin-top:28px;color:var(--muted)}.page-note strong{color:var(--primary);font-weight:600;display:block;margin-bottom:6px}.reading-copy{max-width:64ch}.reading-copy p+p{margin-top:24px}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.value-grid article{border-top:2px solid var(--primary);padding-top:24px}.value-grid p{margin-top:12px;color:var(--muted)}.facts-list>div{display:grid;grid-template-columns:minmax(130px,.8fr) 1.2fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--border);font-size:15px}.facts-list dt{font-weight:600}.facts-list dd{color:var(--muted)}.institution-info .facts-list>div{display:flex;gap:16px;padding:14px 0;font-size:14px}.narrow{max-width:880px}.comparison-scroll{overflow-x:auto;max-width:100%}.data-table{border-collapse:collapse;width:100%;font-size:15px;background:var(--surface)}.data-table th,.data-table td{padding:18px 20px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{font-weight:600;background:var(--tint)}.data-table td{color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:start}.detail-body{min-width:0}.course-aside{position:sticky;top:116px;padding:28px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--canvas);display:flex;flex-direction:column;align-items:stretch;gap:16px}.course-aside h3{margin:0}.course-aside p{font-size:15px;color:var(--muted)}.course-aside small{font-size:12px;color:var(--muted)}.button.secondary{background:var(--surface);color:var(--primary);border-color:var(--primary)}.button.secondary:hover{background:var(--tint)}.detail-subhead{margin-top:48px;margin-bottom:24px}.detail-layout .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.detail-layout .steps h3{font-size:18px}.schedule-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}.calendar-controls{display:flex;align-items:center;gap:16px}.calendar-controls h2{font-size:26px;min-width:180px;text-align:center;font-variant-numeric:tabular-nums}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;border:1px solid var(--control-border);background:var(--surface);color:var(--primary);border-radius:var(--radius-control);font-size:26px}.compact{padding:10px 16px;font-size:14px}.calendar-shell{border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.calendar-table{border-collapse:collapse;table-layout:fixed;width:100%}.calendar-table th{background:var(--tint);font-weight:600;font-size:14px;padding:14px 0}.calendar-table td{height:105px;border-top:1px solid var(--border);border-right:1px solid var(--border);vertical-align:top;padding:0}.calendar-table td:last-child{border-right:0}.calendar-day{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:flex-start;background:var(--surface);border:2px solid transparent;min-height:105px;width:100%;padding:14px;font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink)}.calendar-day small{font-size:11px;color:var(--primary);background:var(--tint);padding:1px 7px;border-radius:999px}.calendar-day:hover{background:var(--canvas)}.calendar-day[aria-pressed=true]{background:var(--tint);border-color:var(--primary)}.calendar-day:focus-visible{outline-offset:-5px}.outside-month{background:var(--canvas)}.date-result{margin-top:40px}.date-result h2{font-size:24px}.date-result>div>p{color:var(--muted);font-size:15px;margin-top:10px}.empty-state{padding:40px 28px;border:1px solid var(--border);border-radius:var(--radius-card);text-align:center;background:var(--surface);margin-top:24px}.empty-state h3{font-size:20px}.empty-state p{font-size:15px;color:var(--muted);margin-top:12px;max-width:64ch;margin-inline:auto}.empty-state .text-link{margin-top:16px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-layout .facts-list{margin-top:28px}.small-note{font-size:13px;color:var(--muted)}.contact-layout .small-note{margin-top:24px}.demo-form{padding:32px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);display:grid;gap:20px;min-width:0}.form-title{font-size:26px;margin-bottom:4px}.demo-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:var(--primary)}input,textarea{font:inherit;color:var(--ink);font-weight:400;font-size:16px;width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);min-width:0}textarea{resize:vertical;max-width:100%}.demo-form select{font-weight:400}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.demo-form .checkbox-line{display:flex;flex-direction:row;gap:10px;align-items:flex-start;color:var(--muted);font-size:13px;font-weight:400}.checkbox-line input{min-height:20px;width:20px;height:20px;flex-shrink:0;margin:1px 0}.form-policy{font-size:12px;color:var(--muted)}.form-status:empty{display:none}.form-status.visible{font-size:14px;color:var(--primary);padding:16px;border-left:3px solid var(--primary);background:var(--tint)}.auth-layout{max-width:600px}.auth-form{padding:36px}.account-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;font-size:13px}.account-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.auth-preview{padding-top:24px;border-top:1px solid var(--border);display:grid;gap:16px}.auth-preview p{font-size:13px;color:var(--muted)}.application-facts{margin-top:28px}.account-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:16px;flex-wrap:wrap}.account-tabs button{min-height:48px;padding:12px 20px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--muted);font-weight:600;font-size:15px}.account-tabs button[aria-selected=true]{border-color:var(--primary);background:var(--tint);color:var(--primary)}.account-panel{padding-top:36px}.account-panel>p{color:var(--muted);font-size:16px;margin-top:12px}.certificate-preview{margin-top:28px}.certificate-sheet{padding:28px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--canvas)}.certificate-sheet>strong{display:block;color:var(--primary);font-size:20px;margin-bottom:20px}.certificate-sheet>p{font-size:13px;margin-top:20px}.admin-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:start}.admin-nav{position:sticky;top:116px;background:var(--surface);padding:12px;border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:4px}.admin-nav button{display:flex;align-items:center;text-align:left;min-height:48px;padding:12px 16px;border:0;border-radius:8px;background:var(--surface);color:var(--muted);font-size:15px;font-weight:600}.admin-nav button[aria-pressed=true]{background:var(--tint);color:var(--primary)}.admin-content{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);min-width:0}.admin-content>h2{font-size:26px;margin-bottom:28px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metrics article{padding:20px;background:var(--canvas);border-radius:var(--radius-control)}.metrics h3{font-size:14px}.metrics strong{display:block;font-size:32px;font-weight:600;margin-top:16px}.metrics p{font-size:12px;color:var(--muted)}.automation-list{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.automation-list h3{font-size:20px}.automation-list ul{padding-left:20px;font-size:15px;color:var(--muted)}.automation-list li+li{margin-top:8px}.automation-list p{font-size:13px;color:var(--muted)}.admin-course-list article{padding:20px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:24px}.admin-course-list h3{font-size:20px}.admin-course-list p{font-size:13px;color:var(--muted);margin-top:6px}.admin-edit{margin-top:28px}.admin-edit .demo-form{margin-bottom:24px}.admin-layout .data-table{min-width:540px}
@media(max-width:1100px){.feature-split{gap:40px}.detail-layout{gap:32px;grid-template-columns:minmax(0,1fr) 290px}.contact-layout{gap:40px}.calendar-controls{gap:10px}.calendar-controls h2{min-width:160px;font-size:24px}.admin-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1023px){.nav-course{display:flex;flex-wrap:wrap}.course-submenu{position:static;flex-basis:100%;min-width:0;border:0;border-left:2px solid var(--border);border-radius:0;padding:0 0 0 12px}.nav-course>a{flex:1}nav .nav-login{align-self:flex-start;justify-content:center;min-width:120px}.course-aside{top:104px}.schedule-tools{align-items:flex-start;flex-direction:column;gap:24px}.schedule-tools .filter-label{min-width:250px}.contact-layout{grid-template-columns:1fr;gap:32px}.admin-nav{top:104px}.admin-content{padding:24px}.feature-split{gap:32px}.value-grid{gap:24px}}
@media(max-width:767px){.page-hero{padding:36px 0 40px}.page-caption{font-size:13px;margin-bottom:16px}.page-hero>div>p:last-child{font-size:15px;margin-top:18px}.feature-split{grid-template-columns:1fr;gap:28px}.page-actions{gap:12px;align-items:flex-start;margin-top:24px}.page-actions>.button{width:100%}.calendar-preview-inner{padding:28px 20px}.calendar-preview-inner h3{font-size:22px}.page-note{padding:18px 20px;font-size:13px}.reading-copy p+p{margin-top:20px}.value-grid{grid-template-columns:1fr;gap:28px}.value-grid p{font-size:15px}.facts-list>div{grid-template-columns:1fr;gap:6px;font-size:14px;padding:16px 0}.institution-info .facts-list>div{font-size:13px}.comparison-scroll .data-table{min-width:600px}.detail-layout{grid-template-columns:1fr;gap:32px}.detail-layout .steps{grid-template-columns:1fr;gap:0}.course-aside{position:static;padding:24px}.detail-subhead{margin-top:32px}.data-table{font-size:14px}.data-table th,.data-table td{padding:14px 16px}.schedule-tools .filter-label{min-width:0;width:100%;margin-top:0}.calendar-controls{gap:8px;flex-wrap:wrap}.calendar-controls h2{font-size:22px;min-width:140px}.calendar-controls .compact{font-size:13px}.calendar-table th{font-size:12px;padding:12px 0}.calendar-table td{height:72px}.calendar-day{min-height:72px;padding:9px 5px;font-size:14px;gap:6px}.calendar-day small{font-size:9px;padding:1px 4px}.date-result{margin-top:32px}.date-result h2{font-size:22px}.date-result>div>p{font-size:14px}.empty-state{padding:28px 20px;margin-top:20px}.empty-state h3{font-size:19px}.empty-state p{font-size:14px}.demo-form,.auth-form{padding:24px 20px;gap:18px}.form-title{font-size:24px}.field-pair{grid-template-columns:1fr;gap:18px}.demo-form label{font-size:14px}.account-links{gap:4px 14px}.auth-preview{padding-top:20px}.account-tabs{gap:8px}.account-tabs button{font-size:13px;padding:10px 12px;min-height:48px;flex:1;white-space:nowrap}.account-panel{padding-top:28px}.account-panel>p{font-size:15px}.certificate-sheet{padding:20px}.certificate-sheet>strong{font-size:19px}.admin-layout{grid-template-columns:1fr;gap:24px}.admin-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px}.admin-nav button{font-size:14px;padding:10px 12px;justify-content:center}.admin-content{padding:24px 20px}.admin-content>h2{font-size:24px;margin-bottom:24px}.metrics{gap:12px}.metrics article{padding:16px}.metrics strong{font-size:28px;margin-top:12px}.automation-list ul{font-size:14px}.admin-course-list article{flex-direction:column;align-items:flex-start;gap:12px}.admin-edit .demo-form{padding:20px 16px}.footer-links{gap:4px 20px;font-size:12px}.form-status.visible{font-size:13px;padding:14px}.footer-top{gap:16px}}
/* Visitor application and member details, following the existing green system. */
.school-footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;border-bottom:1px solid var(--border)}.school-footer-top .wordmark img{display:block;width:230px;max-width:100%;height:auto}.school-footer-legal{display:flex;gap:28px;align-items:center;font-size:13px}.school-footer-legal a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.school-footer-info{padding-top:24px;color:var(--muted);font-size:12px;line-height:1.9}.school-footer-info p+p{margin-top:6px}.school-footer-info span{margin-left:16px}.school-footer-copyright{text-align:center;color:var(--muted);font-size:11px;padding:22px 0 4px;line-height:1.8}.school-footer-copyright p+p{margin-top:5px}
@media(max-width:767px){.school-footer-top{gap:16px;flex-wrap:wrap;padding:22px 0}.school-footer-top .wordmark img{width:205px}.school-footer-legal{margin-left:auto;gap:20px;font-size:12px}.school-footer-info span{margin-left:0}.school-footer-info{font-size:11px}.school-footer-copyright{padding-top:20px}}
.policy-reading-wrap{max-width:960px}.school-policy-body{font-size:16px;line-height:1.95;overflow-wrap:anywhere;word-break:normal}.school-policy-body h2{font-size:25px;line-height:1.5;margin:42px 0 20px;padding-top:26px;border-top:1px solid var(--border)}.school-policy-body h2:first-child{margin-top:0;padding-top:0;border-top:0}.school-policy-body h3{font-size:19px;line-height:1.6;margin:30px 0 14px}.school-policy-body p{margin:10px 0;color:var(--muted)}.school-policy-table-scroll{max-width:100%;overflow-x:auto;margin:22px 0}.school-policy-table{min-width:650px;font-size:14px}.school-policy-table th,.school-policy-table td{border:1px solid var(--border);padding:18px;line-height:1.8}
@media(max-width:767px){.school-policy-body{font-size:15px;line-height:1.9}.school-policy-body h2{font-size:21px}.school-policy-body h3{font-size:18px}}
.site-header .wordmark:has(img){flex:0 1 300px;min-width:0}.site-header .wordmark img{display:block;width:300px;max-width:100%;height:auto}.school-footer{padding-top:0}.school-footer-links{display:flex;gap:12px 28px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--border);font-size:13px}.school-footer-links a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none}.school-footer-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding:30px 0 12px;align-items:start}.school-footer-body .wordmark img{display:block;width:220px;max-width:100%;height:auto}.school-footer-details{font-size:12px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}.school-footer-details p+p{margin-top:5px}.school-footer-details span{display:inline-block;margin-right:20px}.school-copyright{padding-top:10px;font-size:11px}
@media(max-width:1023px){.site-header .wordmark:has(img){flex-basis:260px;max-width:calc(100% - 88px)}}
@media(max-width:767px){.site-header .wordmark img{width:235px}.school-footer-body{grid-template-columns:1fr;gap:22px;padding-top:24px}.school-footer-links{gap:8px 18px;padding:18px 0}.school-footer-details span{display:block;margin-right:0}.school-footer-body .wordmark img{width:205px}}
.home-shortcuts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.home-shortcuts .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.home-shortcuts a{display:flex;flex-direction:column;gap:8px;padding:26px 28px;text-decoration:none;min-height:100px}.home-shortcuts a+a{border-left:1px solid var(--border)}.home-shortcuts strong{font-size:18px;color:var(--primary)}.home-shortcuts span{font-size:13px;color:var(--muted)}.home-shortcuts a:hover{background:var(--tint)}
@media(max-width:767px){.home-shortcuts .wrap{grid-template-columns:1fr}.home-shortcuts a{padding:20px 0;min-height:84px}.home-shortcuts a+a{border-left:0;border-top:1px solid var(--border)}}
.homepage-table-scroll{overflow-x:auto;border-top:2px solid var(--primary);background:var(--surface)}.homepage-schedule-table{width:100%;min-width:940px;border-collapse:collapse;text-align:center;font-size:14px}.homepage-schedule-table th{padding:18px 16px;background:var(--tint);font-weight:600;white-space:nowrap;border-bottom:1px solid var(--border)}.homepage-schedule-table td{padding:24px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.homepage-schedule-table th+th,.homepage-schedule-table td+td{border-left:1px solid var(--border)}.homepage-schedule-table .training-cell{text-align:left;min-width:230px}.homepage-schedule-table h3{font-size:18px;margin-top:8px}.homepage-schedule-table small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.homepage-schedule-table time{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.cohort-cell span{display:block;font-size:11px;color:var(--muted)}.cohort-cell strong{display:block;font-size:23px;font-variant-numeric:tabular-nums;color:var(--primary);margin-top:4px}.homepage-schedule-table .unconfirmed{color:var(--muted)}.homepage-schedule-table .example-apply{min-height:40px;font-size:13px;padding:8px 18px;cursor:default;background:var(--disabled-bg);border-color:var(--border);color:var(--disabled-text)}.homepage-schedule-table td>.text-link{display:flex;justify-content:center;font-size:12px;white-space:nowrap;min-height:40px;margin-top:4px}.mobile-table-hint{display:none}
@media(max-width:767px){.mobile-table-hint{display:block;color:var(--muted);font-size:12px;margin:0 0 12px}.homepage-schedule-table td{padding:20px 14px}.homepage-schedule-table th{padding:15px 14px}}
.upcoming-example-note{font-size:13px;color:var(--muted);margin:0 0 18px}.upcoming-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--primary);background:var(--surface)}.upcoming-row{display:grid;grid-template-columns:160px minmax(0,1fr) 110px 150px;align-items:center;gap:24px;padding:26px 28px;border-bottom:1px solid var(--border)}.upcoming-date{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.upcoming-date time{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary)}.upcoming-date span{font-size:13px;color:var(--muted)}.upcoming-course h3{font-size:20px;margin-top:8px}.upcoming-row>.status-tag{justify-self:start}.upcoming-row>.text-link{justify-self:end}
@media(max-width:767px){.upcoming-row{grid-template-columns:86px minmax(0,1fr);gap:12px 16px;padding:22px 20px}.upcoming-date{display:block;grid-row:1/3}.upcoming-date time{font-size:26px}.upcoming-date span{display:block;margin-top:6px}.upcoming-course h3{font-size:18px}.upcoming-row>.status-tag{grid-column:2}.upcoming-row>.text-link{grid-column:2;justify-self:start}.upcoming-example-note{margin-top:16px;line-height:1.7}}
#navigation>a[href="/contact"],#navigation>.nav-login{display:inline-flex;align-items:center;justify-content:center;min-width:100px;min-height:46px;padding:10px 20px;border:1px solid var(--primary);border-radius:var(--radius-control);font-weight:600;text-decoration:none}
#navigation>a[href="/contact"]{background:var(--primary);color:var(--on-primary)}
#navigation>a[href="/contact"]:hover{background:var(--hover);border-color:var(--hover)}
#navigation>.nav-login{background:var(--surface);color:var(--primary)}
#navigation>.nav-login:hover{background:var(--tint)}
@media(max-width:1023px){#navigation>a[href="/contact"],#navigation>.nav-login{align-self:flex-start;min-width:120px}}
.portal-list{display:grid;gap:16px;margin-top:24px}.portal-card{padding:24px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);min-width:0;overflow-wrap:anywhere}.portal-card h3{margin:12px 0}.portal-card p{color:var(--muted);margin:8px 0}.portal-card .button{margin:12px 12px 0 0}.review-sheet .button{margin:20px 12px 0 0}.policy-section{padding:24px 0;border-bottom:1px solid var(--border)}.policy-section h2{font-size:24px;margin-bottom:16px}.policy-section p{overflow-wrap:anywhere}.portal-calendar-count{color:var(--primary);font-weight:700}
.course-nav-toggle.course-menu-label{width:auto;min-width:0;min-height:48px;padding:0;background:transparent;border:0;border-radius:0;font:inherit;font-weight:600;color:inherit;cursor:pointer}.course-nav-toggle.course-menu-label:hover,.course-nav-toggle.course-menu-label[aria-expanded=true]{color:var(--primary)}
@media(max-width:1023px){.course-nav-toggle.course-menu-label{flex:1;justify-content:flex-start;text-align:left}}
.course-section-links{display:flex;gap:12px;flex-wrap:wrap}.course-section-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--primary);background:var(--surface)}
.menu-aligned{scroll-margin-top:110px}.menu-aligned [id]{scroll-margin-top:120px}
.application-progress{list-style:none;padding:0;margin:0 0 28px;display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.application-progress li{padding:10px 14px;border:1px solid var(--line);border-radius:8px}
.application-progress .current{color:#18594f;background:#edf5f2;border-color:#18594f;font-weight:700}
.review-sheet{padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff}
.review-sheet h2{margin-bottom:24px}.review-sheet>.button,.review-sheet>.text-link{margin-top:24px;margin-right:16px}
.review-sheet dd{overflow-wrap:anywhere;white-space:pre-wrap}
.member-shortcuts{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:28px}
[hidden]{display:none!important}
@media(max-width:767px){.review-sheet{padding:24px 20px}.application-progress{gap:8px;font-size:12px}.application-progress li{padding:8px 10px}.member-shortcuts{gap:16px;align-items:flex-start;flex-direction:column}}

/* Footer logo and legal links share one horizontal row. */
.site-footer.school-footer .school-footer-top{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:24px;padding:28px 0}
.site-footer.school-footer .school-footer-top>.wordmark{display:block;flex:0 1 300px;min-width:0}
.site-footer.school-footer .school-footer-top>.wordmark img{display:block;width:300px;max-width:100%;height:auto;filter:none;opacity:1}
.site-footer.school-footer .school-footer-legal{display:flex;flex-direction:row;flex:0 0 auto;align-items:center;gap:28px;margin:0;white-space:nowrap;color:var(--ink)}
@media(max-width:767px){.site-footer.school-footer .school-footer-top{gap:12px;padding:22px 0}.site-footer.school-footer .school-footer-top>.wordmark{flex-basis:180px}.site-footer.school-footer .school-footer-legal{gap:12px;font-size:11px}}
@media(max-width:380px){.site-footer.school-footer .school-footer-top>.wordmark{flex-basis:135px}.site-footer.school-footer .school-footer-legal{gap:8px;font-size:10px}}

.school-footer-copyright{text-align:center}.school-footer-copyright>p{margin:0}.school-footer-copyright .footer-credit{display:inline-block;margin-left:16px}
@media(max-width:767px){.school-footer-copyright{font-size:clamp(7px,2.15vw,11px)}.school-footer-copyright>p{white-space:nowrap}.school-footer-copyright .footer-credit{margin-left:8px}}

/* Main hero visual */
.hero-visual{margin:0;position:relative;align-self:center}.hero-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.hero-visual figcaption{position:absolute;right:14px;bottom:12px;padding:2px 8px;background:#ffffffdd;color:#475569;font-size:10px;border-radius:4px}

/* Education photo hero, following the reference composition. */
.hero:has(.hero-visual){position:relative;isolation:isolate;background:#203631;color:#fff;padding:96px 0 104px;overflow:hidden}
.hero:has(.hero-visual) .hero-grid{display:block;min-height:450px}
.hero:has(.hero-visual) .hero-copy{position:relative;z-index:2;max-width:680px;padding:32px 0}
.hero:has(.hero-visual) .hero-visual{position:absolute;inset:0;z-index:-2;margin:0}
.hero:has(.hero-visual) .hero-visual img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 48%;border-radius:0}
.hero:has(.hero-visual)::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,28,29,.87),rgba(12,28,29,.59) 48%,rgba(12,28,29,.19))}
.hero:has(.hero-visual) .hero-caption,.hero:has(.hero-visual) .lead,.hero:has(.hero-visual) .hero-description,.hero:has(.hero-visual) .text-link{color:#fff}
.hero:has(.hero-visual) .hero-description{opacity:.9}
.hero:has(.hero-visual) .button{background:#fff;border-color:#fff;color:#183d35}
.hero:has(.hero-visual) .hero-visual figcaption{bottom:16px;right:20px;background:rgba(0,0,0,.45);color:#fff}
@media(max-width:767px){.hero:has(.hero-visual){padding:48px 0 64px}.hero:has(.hero-visual) .hero-grid{min-height:430px}.hero:has(.hero-visual) .hero-copy{padding:16px 0;max-width:100%}.hero:has(.hero-visual) .hero-visual img{object-position:60% center}.hero:has(.hero-visual)::after{background:rgba(12,28,29,.69)}}
.hero:has(.hero-visual) h1{color:#fff}

/* Homepage process icons */
.home-process .steps{gap:24px}.home-process .steps li{position:relative;padding:28px 24px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.home-process .step-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:var(--tint);color:var(--primary);margin-bottom:24px}
.home-process .step-icon svg{width:28px;height:28px;stroke:currentColor;stroke-width:1.6}
.home-process .step-number{position:absolute;right:24px;top:30px;margin:0;color:var(--muted);font-size:12px}
.home-process .steps h3{font-size:19px}.home-process .steps p{font-size:15px}
@media(max-width:767px){.home-process .steps{grid-template-columns:1fr;gap:12px}.home-process .steps li{display:block;padding:22px}.home-process .step-icon{margin-bottom:18px}.home-process .step-number{top:24px;right:22px}}

/* Application guide video */
.application-guide-video{margin-top:40px}.application-guide-video>h3{font-size:24px}.application-guide-video>p{margin:10px 0 20px;color:var(--muted);font-size:15px}.application-guide-video video{display:block;width:100%;max-width:960px;aspect-ratio:8/5;background:#102d2f;border:1px solid var(--border);border-radius:12px;margin-inline:auto}.application-guide-video>small{display:block;margin-top:12px;text-align:center;font-size:12px;color:var(--muted)}

/* Left aligned application timeline */
.home-process .steps{display:block;max-width:860px;margin:0;padding:0;list-style:none}
.home-process .steps li{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:28px;row-gap:8px;border:0;border-radius:0;background:none;padding:0 0 36px}
.home-process .steps li:not(:last-child)::after{content:"";position:absolute;top:56px;bottom:0;left:27px;width:2px;background:var(--border)}
.home-process .steps li:last-child{padding-bottom:0}
.home-process .steps .step-icon{grid-column:1;grid-row:1 / 4;position:relative;z-index:1;margin:0;border-radius:50%}
.home-process .steps .step-number{position:static;grid-column:2;grid-row:1;margin:0;color:var(--primary);font-size:12px;line-height:1.4}
.home-process .steps h3{grid-column:2;grid-row:2;margin:0;font-size:21px}
.home-process .steps p{grid-column:2;grid-row:3;margin:0;font-size:15px;color:var(--muted)}
@media(max-width:767px){.home-process .steps li{grid-template-columns:48px minmax(0,1fr);column-gap:20px;padding:0 0 30px}.home-process .steps .step-icon{width:48px;height:48px}.home-process .steps li:not(:last-child)::after{top:48px;left:23px}.home-process .steps h3{font-size:19px}.home-process .steps p{font-size:14px}}

/* Footer first row: logo left, legal navigation right. */
.site-footer.school-footer .school-footer-top{display:grid;grid-template-columns:minmax(0,300px) auto;align-items:center;justify-content:space-between;width:100%;gap:24px}
.site-footer.school-footer .school-footer-top>.wordmark{justify-self:start;width:100%}
.site-footer.school-footer .school-footer-legal{justify-self:end;justify-content:flex-end;text-align:right;margin-left:auto}
@media(max-width:767px){.site-footer.school-footer .school-footer-top{grid-template-columns:minmax(0,180px) auto;gap:12px}}
@media(max-width:380px){.site-footer.school-footer .school-footer-top{grid-template-columns:minmax(0,135px) auto;gap:8px}}

/* Homepage closing actions below the left aligned introduction. */
body:has(#homepage-upcoming) .closing .wrap{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:24px}
body:has(#homepage-upcoming) .closing-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px}
@media(max-width:767px){body:has(#homepage-upcoming) .closing-actions{flex-direction:column;align-items:flex-start;gap:8px}}

/* Color filled closing actions. */
.closing .closing-actions>.button{background:#fff;border-color:#fff;color:#164b3f}
.closing .closing-actions>.closing-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border:1px solid #cce5da;border-radius:var(--radius-control);background:#cce5da;color:#164b3f;font-size:15px;font-weight:600;text-decoration:none}
@media(max-width:767px){.closing .closing-actions>.closing-link{width:100%}}

/* Compact footer school logo. */
.site-footer.school-footer .school-footer-top>.wordmark{width:150px;max-width:100%}
.site-footer.school-footer .school-footer-top>.wordmark img{width:150px;max-width:100%;height:auto}

/* Show three education previews per date; the entire date remains a single button. */
.calendar-session-preview{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:11px;line-height:1.5;padding:3px 5px;border-radius:4px;background:#e5f1ed;color:#17594d}
.calendar-session-continuing{background:#e9effc;color:#285a9b}
.calendar-session-job{background:#fff2db;color:#80560b}
.calendar-more{display:block;font-size:12px;font-weight:700;line-height:1.5;color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-align:left}
.calendar-day:has(.calendar-session-preview){min-height:170px;gap:5px;overflow:hidden}
.date-result{scroll-margin-top:110px}
@media(max-width:767px){.calendar-day:has(.calendar-session-preview){min-height:145px;padding:8px 3px;gap:4px}.calendar-session-preview{font-size:10px;padding:2px 3px}.calendar-more{font-size:10px}.date-result{scroll-margin-top:90px}}

/* Match the administrator's course badges: practical blue, continuing green, job orange. */
.calendar-session-preview,.calendar-course-key{font-weight:700;border-left:3px solid #2463d4}
.calendar-session-practical{background:#e7efff;color:#1747a0;border-color:#2463d4}
.calendar-session-continuing{background:#e3f5eb;color:#126641;border-color:#15945c}
.calendar-session-job{background:#fff0d8;color:#865007;border-color:#dc8a13}
.calendar-course-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.calendar-course-key{display:inline-flex;align-items:center;font-size:12px;line-height:1.5;padding:5px 10px;border-radius:5px}
.portal-card>.calendar-course-key{margin-bottom:8px}

.calendar-mode-note{padding:20px 24px;background:#eff5f2;border-radius:10px;margin:0 0 20px}.calendar-mode-note strong{color:#19574b}.calendar-mode-note p,.calendar-course-panel>p,.calendar-hours-note{font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}.calendar-secondary{margin-top:40px;display:grid;gap:40px}.calendar-course-panel>h2{font-size:25px}.calendar-secondary .portal-list{margin-top:20px}.calendar-secondary .portal-card h3{font-size:20px}@media(max-width:767px){.calendar-mode-note{padding:18px}.calendar-course-panel>h2{font-size:22px}}

.calendar-session-preview.calendar-unconfirmed{border-left-style:dashed}

.calendar-monthly-cohorts{margin:20px 0 32px}.calendar-monthly-cohorts .portal-card{border-left:4px solid #2463d4}.cohort-attendance-summary{padding-left:20px;font-size:14px;line-height:1.9;margin-top:14px}.calendar-monthly-cohorts .calendar-course-panel>p{max-width:75ch}

.calendar-registration-period{border-left-style:dashed;background:#eef3ff}.calendar-registration-note{font-size:14px;color:#1747a0;line-height:1.8;margin-top:12px}
