/* Shared page shell. The footer always closes the normal document flow. */
html{min-height:100%;scroll-padding-top:28px}
body{min-height:100svh;display:flex;flex-direction:column;overflow:visible}
body>main{flex:1 0 auto;min-width:0;width:100%}
body>.publication-header,body>footer{flex-shrink:0}
body>footer{position:static;margin:0;transform:none}
.publication-header{min-width:0}
.publication-nav{top:100%}
main :is(p,li,dd,h1,h2,h3,h4,a,button,summary){overflow-wrap:break-word}
main :is(article,section,aside,nav,form){min-width:0}

/* Home: keep the cinematic field's width and natural subject framing. */
.home-page main{display:flex;flex-direction:column}
.home-page .as-hero{flex:1;display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:center;height:auto;min-height:0;padding-block:24px;overflow:visible}
.home-page .as-visual{grid-column:2;grid-row:1;position:relative;min-width:0;width:100%;align-self:center}
.home-page .as-film{position:relative;inset:auto;top:auto;translate:none;width:100%;height:auto;max-height:none;aspect-ratio:1.35;margin:0;align-self:center}
.home-page .as-hero-copy{grid-column:1;grid-row:1;align-self:center;width:100%;height:auto;padding:36px 10% 36px 14.2857%;justify-content:center}
.home-page .as-hero h1{font-size:clamp(40px,4vw,72px);line-height:1.13;margin:0;max-width:17ch}
.home-page .as-hero-copy>p{margin:25px 0 25px}
.home-page .as-hero-paper{display:none}
.home-page .as-book-fold{position:absolute;left:-48px;top:-12px;bottom:auto;translate:none;width:72px;height:calc(100% + 24px);max-height:none;z-index:3;pointer-events:none}
.home-footer{background:#14394F;color:#fff;padding:17px 0 15px}
.home-footer .ed-wrap{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:10px 40px}
.home-footer-brand{display:block;width:270px;max-width:100%;line-height:0}
.home-footer-brand img{display:block;width:100%;height:auto}
.home-footer nav{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.home-footer a{text-decoration:none;font-size:13px;line-height:1.6;padding:5px 0}
.home-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.home-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px 30px;border-top:1px solid #ffffff2b;padding-top:10px}
.home-footer-bottom p{font-size:10px;color:#d1dee7;margin:0;line-height:1.6}
.home-footer-bottom nav{gap:18px}
.home-footer-bottom a{font-size:10px;padding:0}
@media(min-width:801px) and (max-height:800px){.home-page .as-film{aspect-ratio:1.55}.home-page .as-hero{padding-block:20px}.home-page .as-hero-copy{padding-block:28px}.home-page .as-hero h1{font-size:clamp(36px,3.8vw,64px)}}
@media(max-width:1100px){.home-page .as-hero-copy{padding-left:12%;padding-right:8%}.home-page .as-hero h1{font-size:clamp(34px,4vw,44px)}.home-footer nav{gap:12px 22px}}
@media(max-width:800px){
 .home-page .as-hero{display:flex;flex-direction:column;padding:0 0 24px;gap:0}
 .home-page .as-hero-copy{order:0;align-self:stretch;padding:32px 6% 30px;width:100%}
 .home-page .as-hero h1{font-size:clamp(34px,8.8vw,45px);max-width:18ch}
 .home-page .as-hero-copy>p{font-size:14px;max-width:46ch;margin:22px 0 20px}
 .home-page .as-visual{order:1;align-self:flex-end;width:94%}.home-page .as-film{width:100%;aspect-ratio:16/11}
 .home-page .as-book-fold{display:none}
 .home-footer .ed-wrap{grid-template-columns:1fr;gap:17px}
 .home-footer-brand{width:245px}.home-footer nav{gap:12px 25px}
 .home-footer-bottom{display:grid;gap:12px;padding-top:15px}
 .home-footer-bottom nav{gap:20px}.home-footer{padding-block:22px}
}

/* Development: a clear title and an active route, rather than an empty prompt. */
.pathway-page-head{padding-block:38px 26px;align-items:center}
.pathway-page-head .page-context{display:none}
.pathway-page-head h1{font-size:clamp(36px,3.5vw,52px);margin:0;line-height:1.15}
.pathway-page-head>div>p:last-child{max-width:65ch;font-size:15px;line-height:1.8;margin-top:16px}
.pathway-choice-heading{font-size:19px!important;font-weight:500;margin:0 0 16px!important;letter-spacing:-.02em!important}
.reset-development .institution-choice{padding:0;background:none;gap:20px;grid-template-columns:1fr 1fr 1fr;margin-bottom:28px}
.reset-development .institution-choice>a{display:flex;flex-direction:column;justify-content:center;min-height:108px;padding:18px 22px;border:1px solid #C9D5DF;position:relative;transition:background .2s,border-color .2s}
.reset-development .institution-choice>a:hover{background:#F5F8FA;border-color:#285A84}
.reset-development .institution-choice>a[aria-current]{background:#F3F7FA;border-color:#285A84;box-shadow:inset 3px 0 #EF8128}
.reset-development .institution-choice>a:after{display:none}
.reset-development .institution-choice strong{font-size:28px;font-weight:500;line-height:1.25}
.reset-development .institution-choice>a:last-child strong{font-size:23px}
.reset-development .institution-choice span{font-size:12px;line-height:1.6;margin-top:9px;color:#526B7C}
.reset-development .map-route-choice{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;margin-bottom:22px}
.reset-development .map-route-choice h2{font-size:18px;margin:0}
.reset-development .map-route-choice>p{margin:0;font-size:12px}
.reset-development .map-route-choice>div{flex-basis:100%;display:flex;flex-wrap:wrap;gap:9px}
.reset-development .map-heading h2{font-size:clamp(25px,2.5vw,34px);line-height:1.3}
.route-phase-navigation{margin-top:16px;margin-bottom:22px}
.pathway-unsure{max-width:850px;padding-block:8px 0}
.pathway-unsure .official-route-links{margin-top:24px}
@media(max-width:900px){.pathway-page-head{display:block}.reset-development .institution-choice{gap:12px}.reset-development .institution-choice>a{padding:16px}.reset-development .institution-choice strong{font-size:25px}.reset-development .institution-choice>a:last-child strong{font-size:20px}}
@media(max-width:600px){.pathway-page-head{padding-block:28px 24px}.pathway-page-head h1{font-size:36px}.pathway-page-head>div>p:last-child{font-size:14px}.reset-development .institution-choice{grid-template-columns:1fr 1fr;gap:12px}.reset-development .institution-choice>a{min-height:106px;padding:16px}.reset-development .institution-choice>a:last-child{grid-column:1/-1;min-height:74px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;padding:16px}.reset-development .institution-choice>a:last-child strong{font-size:18px;max-width:none}.reset-development .institution-choice>a:last-child span{max-width:none;text-align:right;font-size:11px;margin:0}.reset-development .institution-choice span{font-size:11px}.reset-development .map-route-choice{display:block}.reset-development .map-route-choice>p{margin:8px 0 14px}.pathway-choice-heading{font-size:18px!important}}

/* Reading: text widths, timeline labels and bounded, collapsible area navigation. */
.inner-page .lesson-shell{width:min(1200px,calc(100% - 64px));padding-block:24px 48px}
.inner-page .lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(32px,4.4vw,64px);align-items:start}
.inner-page .lesson-main{grid-column:1;grid-row:1;max-width:780px;container:guide-reading / inline-size}
.inner-page .lesson-side{grid-column:2;grid-row:1;width:auto;min-width:0;display:block;border-top:0;border-left:1px solid #D6E0E7;padding:0 0 0 24px;top:24px;max-height:calc(100svh - 48px);overflow:auto;overscroll-behavior:contain}
.guide-area-nav>summary{font-size:13px;font-weight:600;line-height:1.7;cursor:pointer;padding:0 0 12px;color:#285A84}
.guide-area-nav nav{display:grid;gap:0}
.guide-area-nav a{display:block;text-decoration:none;border-bottom:1px solid #DFE7ED;padding:11px 0;font-size:13px;font-weight:500;line-height:1.65;overflow-wrap:anywhere}
.guide-area-nav a[aria-current=page]{color:#17394F;font-weight:700;border-bottom-color:#EF8128}
.inner-page .lesson-main h2{font-size:clamp(25px,2.3vw,31px);line-height:1.32;margin:0 0 20px;letter-spacing:-.03em}
.inner-page .lesson-main h3{font-size:20px;line-height:1.45;margin:0 0 9px}
.inner-page .lesson-main>div.lesson-lead p{font-size:20px;line-height:1.75;letter-spacing:0}
.inner-page .lesson-main .lesson-panel{padding:28px 0;margin:16px 0 20px}
.inner-page .lesson-main .step-list>li{grid-template-columns:minmax(140px,.3fr) minmax(0,1fr);gap:24px;padding:20px 0;align-items:start}
.inner-page .lesson-main .step-list>li>span{font-size:13px;line-height:1.7;color:#A65117;font-weight:600;overflow-wrap:normal}
.inner-page .lesson-main .step-list>li>div{min-width:0}
.inner-page .lesson-main .step-list h3{font-size:18px}
.inner-page .lesson-main .step-list p{font-size:15px;line-height:1.8}
.reading-contents nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.lesson-next a,.lesson-source-list a{min-width:0;max-width:100%;line-height:1.7;overflow-wrap:anywhere}
.inner-page .reading-layout{grid-template-columns:minmax(0,1fr) 260px;gap:clamp(32px,4.4vw,64px)}
.reading-main,.reading-aside{min-width:0}.reading-aside a{line-height:1.7;overflow-wrap:anywhere}
@container guide-reading (max-width:650px){.example-pair,.example-comparison,.evidence-contrast{grid-template-columns:1fr!important}.step-list>li{grid-template-columns:1fr!important;gap:7px!important}.reading-contents nav{grid-template-columns:1fr}}
@media(max-width:900px){
 .inner-page .lesson-shell{width:min(780px,calc(100% - 48px))}
 .inner-page .lesson-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .inner-page .lesson-side{grid-column:1;grid-row:1;position:static;max-height:none;overflow:visible;border:1px solid #D6E0E7;padding:0 18px}
 .guide-area-nav>summary{padding:15px 0}.guide-area-nav nav{padding-bottom:12px}
 .inner-page .lesson-main{grid-column:1;grid-row:2;width:100%;max-width:none}
 .inner-page .lesson-grid:not(:has(.lesson-side)) .lesson-main{grid-row:1}
 .inner-page .reading-layout{grid-template-columns:1fr;gap:28px}
 .inner-page .reading-aside{position:static}
}
@media(max-width:600px){.inner-page .lesson-shell{width:calc(100% - 40px);padding-block:20px 35px}.inner-page .lesson-main p,.inner-page .lesson-main li{font-size:15px;line-height:1.85}.inner-page .lesson-main>div.lesson-lead p{font-size:18px}.inner-page .lesson-main h2{font-size:25px}.inner-page .lesson-main h3{font-size:19px}.inner-page .lesson-main .step-list>li{grid-template-columns:1fr;gap:7px}.reading-contents nav{grid-template-columns:1fr}.lesson-crumbs{gap:10px;padding-bottom:24px}.lesson-crumbs a{font-size:10px;line-height:1.6}.lesson-crumbs>a:not(:first-child):before{margin-right:10px}}

/* The mobile menu is anchored to the header, never to the viewport bottom. */
@media(max-width:1200px){.publication-header .publication-nav{position:absolute;top:100%;bottom:auto;max-height:calc(100svh - 104px);overflow-y:auto}body.nav-open{overflow:visible}}

/* Contextual entry into full teaching material. */
.reset-development .stage-panel{background:#fff;border:1px solid #C9D5DF;border-top:3px solid #285A84;padding:24px 28px;min-height:0}
.stage-panel-heading{margin:0 0 14px}.stage-context{font-size:11px;letter-spacing:.03em;color:#526B7C}
.reset-development .stage-panel h3{font-size:clamp(24px,2.2vw,32px);margin:10px 0 0;line-height:1.25}
.reset-development .stage-panel .stage-summary{font-size:15px;line-height:1.8;margin:0 0 16px;max-width:68ch}
.reset-development .stage-panel .stage-audience{font-size:13px;line-height:1.8;margin:0 0 18px;color:#526B7C}
.stage-audience strong{display:block;font-size:12px;font-weight:600;color:#17394F}
.stage-read-more{display:inline-flex;align-items:center;gap:25px;font-size:14px;font-weight:600;border-bottom:1px solid #285A84;padding:8px 0;margin:0 0 18px;text-decoration:none;color:#285A84}
.stage-read-more span{color:#B75D1C}.stage-read-more:hover{border-color:#EF8128}
.reset-development .stage-panel :is(.stage-preparation,.map-source,.map-next){border-top:1px solid #DFE7ED;margin:0;padding:14px 0}
.reset-development .stage-panel summary{font-size:13px;line-height:1.6;font-weight:500;cursor:pointer}
.reset-development .stage-panel h4{font-size:12px;margin:0 0 8px}.reset-development .stage-related{padding:14px 0}
.reset-development .stage-related ul{margin:0;padding-left:18px}.reset-development .stage-related li{font-size:13px;line-height:1.7;margin:6px 0}
.reset-development .map-next button{font-size:13px;padding:10px 0;line-height:1.6;width:100%;text-align:left}
.stage-guide-gap{font-size:13px!important;color:#526B7C;background:#F5F8FA;padding:12px 14px}
.route-phase-navigation{display:grid;grid-template-columns:repeat(var(--phase-count),minmax(0,1fr));height:auto;gap:18px;margin:24px 0 26px;padding:0}
.route-phase-navigation .pathway-line{display:none}.route-phase-navigation:before{display:none}
.route-phase-navigation button{position:static;transform:none;left:auto;top:auto;width:auto;min-height:72px;padding:12px 0;display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;font-size:13px;line-height:1.5;border-top:1px solid #C9D5DF}
.route-phase-navigation button:before{width:8px;height:8px;margin:0;box-shadow:none}
.route-phase-navigation button[aria-pressed=true]{border-top-color:#285A84}
.return-map{padding-block:18px 0;font-size:13px}.heading-anchor{scroll-margin-top:28px}
.film-control{font-size:10px!important;padding:8px!important;letter-spacing:.03em!important;background:#0B294566!important;border:0!important;border-radius:2px}
.film-control .film-control-label{text-transform:none!important}
@media(max-width:650px){.reset-development .stage-panel{padding:20px}.route-phase-navigation{grid-template-columns:1fr;gap:0;margin:18px 0}.route-phase-navigation button{flex-direction:row;align-items:center;gap:14px;min-height:44px;padding:11px 0;border-top:0}.route-phase-navigation button:before{flex-shrink:0}.stage-read-more{margin-bottom:16px}}

.as-film[data-static=true] .hero-video{visibility:hidden}.as-film[data-static=true]{background-color:#17394F}

/* Technician examples retain the existing palette with readable context labels. */
.lesson-main .example-setting{font-size:12px!important;line-height:1.7;letter-spacing:.045em;text-transform:none}

.technician-guide .table-scroll table{min-width:0;width:100%;table-layout:fixed}
.technician-guide .table-scroll th,.technician-guide .table-scroll td{white-space:normal;overflow-wrap:break-word}
.technician-guide .table-scroll th:first-child,.technician-guide .table-scroll td:first-child{width:35%}
@media(max-width:600px){.technician-guide .table-scroll th,.technician-guide .table-scroll td{font-size:13px;padding:14px 10px;line-height:1.65}.technician-guide .table-scroll th:first-child,.technician-guide .table-scroll td:first-child{width:35%}.technician-guide .objective-standards th:last-child,.technician-guide .objective-standards td:last-child{width:130px}.technician-guide .objective-standards th:first-child,.technician-guide .objective-standards td:first-child{width:auto}}

.technician-guide .objective-standards td:last-child{white-space:nowrap;overflow-wrap:normal}
