/* A readable school-wide type scale, shared by the homepage and support pages. */
@font-face{font-family:World;src:url('assets/outfit.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Text;src:url('assets/dm-sans.ttf') format('truetype');font-style:normal;font-weight:100 1000;font-display:swap}
body{font-family:Text,Arial,sans-serif;font-size:18px;line-height:1.7;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:World,Arial,sans-serif;font-weight:600}
h2{font-size:clamp(34px,3.5vw,48px);line-height:1.16;letter-spacing:-1.15px}
h3{font-size:26px;line-height:1.28;letter-spacing:-.45px}
.school-home .hero-heading h1{font-size:clamp(44px,5vw,68px);line-height:1.08;font-weight:600;letter-spacing:-1.7px;max-width:810px}
.school-home .hero-heading>p:not(.eyebrow){font-size:20px;line-height:1.65;max-width:590px}
.hero-heading{min-height:510px}.school-home .hero-heading .actions{max-width:650px;flex-wrap:wrap}
:is(.school-home,.support-page) .eyebrow{font:600 14px/1.5 World,Arial,sans-serif;letter-spacing:1.8px;margin-bottom:20px}
header{gap:23px;padding-left:3%;padding-right:3%}
header nav{gap:19px}header nav a{font-size:16px;line-height:1.4;font-weight:500;white-space:nowrap}
header .head-actions,header .head-actions>a:first-child{font-size:16px;line-height:1.4}
header .head-actions{gap:18px}
.school-badge{font:600 12px/1.45 World,Arial,sans-serif;letter-spacing:1.1px;width:90px;min-width:75px}
:is(.school-home,.support-page) .button,.school-home .hero-heading .button{font-size:17px;line-height:1.35;min-height:48px;padding:15px 24px}
:is(.school-home,.support-page) .small{font-size:16px;padding:12px 18px}
.school-home .hero-heading .film-link,.film-link{font-size:17px;line-height:1.5}
.world-caption{font-size:14px;letter-spacing:1px;white-space:normal;text-align:center;width:90%;max-width:600px}
.floating-caption{font-size:18px;line-height:1.45}.floating-caption>span{font-size:14px}
.school-home .hero-base{font-size:14px;line-height:1.5;letter-spacing:1px;gap:22px;flex-wrap:wrap}
.section-top>p:last-child,.showcase-heading>p,.workflow-head>p{font-size:18px;line-height:1.7;max-width:430px}
.uses{grid-template-columns:repeat(3,minmax(0,1fr))}.uses article{padding:30px 25px}
.uses h3{font-size:28px;line-height:1.25;letter-spacing:-.55px}.uses p{font-size:18px;line-height:1.7}
.number,.tag{font-size:14px;line-height:1.55;letter-spacing:.6px}
:is(.school-home,.support-page) .status-label{font:600 14px/1.5 World,Arial,sans-serif;letter-spacing:1px}
.classroom-card>.status-label{font-size:14px;min-height:42px;margin-bottom:18px}
.classroom-card h3{font:600 27px/1.23 World,Arial,sans-serif;letter-spacing:-.5px;min-height:0;margin:24px 0 16px}
.classroom-card>p{font-size:18px;line-height:1.65}
.classroom-card>.learning-focus{font-size:16px;line-height:1.65;min-height:0}
:is(.school-home,.support-page) .text-link,.classroom-card>.text-link,.home-film>.text-link,.home-reading-footer a{font-size:17px;line-height:1.55}
.classroom-card .video-transcript summary,.video-transcript summary{font-size:16px;line-height:1.55;padding-right:26px}
.classroom-card .video-transcript li,.classroom-card .video-transcript p,.video-transcript li{font-size:17px;line-height:1.7}
.media-caption{font-size:14px;line-height:1.4;letter-spacing:.4px;padding:10px 7px}
.classroom-card .play-badge,.home-film .play-badge{width:58px;height:58px;font-size:23px}
.school-home .product-showcase h2,.school-home .explore h2,.school-home .contact h2,.home-reading h2{font-size:clamp(34px,3.5vw,48px);line-height:1.16;letter-spacing:-1.15px}
.school-home .product-showcase .tabs button,.tabs button{font-size:17px;line-height:1.45;min-height:48px;padding:14px 20px}
.screen-bar{font-size:14px;line-height:1.5;letter-spacing:.5px;flex-wrap:wrap}.screen-dots{font-size:14px}
.screen-caption,.screen-caption strong,.screen-caption span{font-size:17px;line-height:1.65}
.capture-note,.section-note,.sample-note,.video-links,.home-film-note{font-size:15px!important;line-height:1.7!important}
.home-reading-heading>p,.home-reading-steps p{font-size:18px;line-height:1.7}
.home-reading-steps h3{font-size:26px;line-height:1.25;font-weight:600}
.home-reading-steps li>span{font-size:16px}.home-reading-grid{gap:40px;align-items:start}
.home-reading-footer{align-items:start;flex-wrap:wrap;gap:15px 35px}.home-reading-footer p{font-size:17px;line-height:1.7;max-width:680px}.home-reading-footer a{flex-shrink:1}
.steps h3,.trust-grid h3{font-size:26px;font-weight:600}.steps p,.trust-grid p,.contact p{font-size:18px;line-height:1.7}
summary{font-size:20px;line-height:1.5}details p{font-size:18px;line-height:1.7}
label{font-size:16px;line-height:1.5;letter-spacing:0}
input,select{font-size:18px;line-height:1.5;min-height:50px}.email{font-size:18px}.form-note{font-size:15px!important;line-height:1.6}
footer>p{font-size:17px}footer .footer-links,footer .footer-links a{font-size:16px;line-height:1.6}footer>small{font-size:14px;line-height:1.6;color:#657087}
.support-hero h1{font:600 clamp(40px,4.5vw,60px)/1.1 World,Arial,sans-serif;letter-spacing:-1.3px}.support-hero .lead{font-size:21px;line-height:1.65}
.support-body h2{font:600 36px/1.2 World,Arial,sans-serif;letter-spacing:-.7px}
.support-body h3,.resource-grid h3{font:600 26px/1.28 World,Arial,sans-serif;letter-spacing:-.4px}
.support-body p,.support-body li,.resource-grid p,.example-card p{font-size:18px;line-height:1.75}
.breadcrumb,.example-jump a{font-size:16px;line-height:1.5}
.lesson summary,.school-faq-list summary{font:500 22px/1.45 World,Arial,sans-serif}
.lesson summary>span,.prompt-pair span{font-size:14px;line-height:1.5;letter-spacing:1px}
.lesson-meta{font-size:16px!important}.prompt-pair blockquote{font-size:21px;line-height:1.7}
.dialog-header h2{font:600 28px/1.2 World,Arial,sans-serif;letter-spacing:-.4px}
.dialog-header .status-label{font-size:14px}.dialog-footer p,.dialog-footer a,.home-video-transcript,.home-video-transcript p,.home-video-transcript summary{font-size:16px;line-height:1.65}
.close-video{width:46px;height:46px;font-size:21px}.dialog-footer a{white-space:normal}
@media(max-width:1250px){header .head-actions>a:first-child{display:none}header{gap:18px}.brand img{width:150px}header nav{gap:16px}}
@media(max-width:1050px){header nav{display:none;position:absolute;top:96px;left:0;right:0;background:#11172ef8;padding:25px}header nav.open{display:flex;flex-direction:column;gap:22px}.menu{display:block;color:white;background:none;border:1px solid #ffffff35;border-radius:8px;min-width:48px;min-height:48px;padding:6px 12px;font-size:24px}header .head-actions{margin-left:auto}header nav a{font-size:18px}.section-top{gap:30px}.classroom-card>.status-label{min-height:0}}
@media(max-width:760px){.school-home .hero-heading h1{font-size:44px;letter-spacing:-1px}.school-home .hero-heading>p:not(.eyebrow){font-size:19px;max-width:100%}.hero-heading{min-height:0}.school-home .hero-heading .actions{gap:18px;align-items:start;flex-direction:column}.school-home .hero-heading .button{font-size:17px}.school-home .hero-heading .film-link{font-size:17px}.school-home .hero-base{font-size:13px;gap:15px}.world-caption{font-size:13px}.floating-caption{font-size:16px}.floating-caption>span{font-size:13px}.uses h3{font-size:27px}.uses p{font-size:18px}.school-home .product-showcase .tabs{flex-wrap:wrap;gap:10px}.school-home .product-showcase .tabs button{font-size:16px;flex:1 1 100%;text-align:left;padding:13px 16px}.screen-bar{font-size:13px;gap:8px;padding:13px}.screen-caption{padding:18px}.home-reading-steps h3{font-size:25px}.home-reading-heading>p,.home-reading-steps p{font-size:18px}.home-reading-footer p{font-size:17px}.support-hero h1{font-size:40px}.support-hero .lead{font-size:20px}.support-body h2{font-size:31px}.support-body p,.support-body li{font-size:18px}.dialog-header h2{font-size:24px}.dialog-header .status-label{font-size:13px}.dialog-footer p,.dialog-footer a{font-size:16px}.media-caption{font-size:13px}.school-badge{font-size:11px;width:80px;min-width:70px}header{height:88px;padding:0 18px;gap:12px}header nav{top:88px}.brand img{width:140px}.head-actions .small{font-size:15px;padding:10px 14px}.menu{min-width:44px;min-height:44px}footer>small{font-size:14px}}
@media(max-width:540px){header .head-actions{display:none}.menu{margin-left:auto}.classroom-card h3{font-size:27px}.home-reading-heading,.home-reading-grid{gap:26px}.school-home .home-reading h2{font-size:34px}.school-home .section-top h2{font-size:34px}.hero-heading h1{overflow-wrap:normal}.school-home .hero-heading h1{font-size:40px}}
@media(max-width:1450px){header .head-actions>a:first-child{display:none}}
/* Editorial section headings: warm storybook character, with restrained shapes. */
@font-face{font-family:Story;src:url('assets/fraunces.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:is(.school-home,.support-page) main h2{font-family:Story,Georgia,serif;font-weight:550;font-variation-settings:'opsz' 48,'SOFT' 30,'WONK' 0;letter-spacing:-.8px;line-height:1.18}
:is(.school-home,.support-page) main h2 em{font-family:inherit;font-weight:inherit;font-style:normal}
@media(max-width:760px){:is(.school-home,.support-page) main h2{letter-spacing:-.45px;font-variation-settings:'opsz' 34,'SOFT' 30,'WONK' 0}}

/* School navigation and keyboard access. */
.nav-utility{display:none}
@media(max-width:1180px){header nav .nav-utility{display:block}}
@media(min-width:1181px) and (max-width:1450px){header .head-actions>a:first-child{display:inline}header nav{gap:13px}header nav a,header .head-actions>a:first-child{font-size:15px}header{gap:16px}header .head-actions{gap:12px}}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b17dff;outline-offset:4px}
.dialog-footer{justify-content:flex-end}
/* Keep the header within narrow phones and smaller laptop widths. */
@media(max-width:1280px){header nav{display:none;position:absolute;top:96px;left:0;right:0;background:#10172b;padding:25px;flex-direction:column;gap:18px}header nav.open{display:flex}header nav .nav-utility{display:block}header .menu{display:block;color:white;background:none;border:1px solid #ffffff35;border-radius:7px;padding:7px 12px;margin-left:auto}header .head-actions{margin-left:auto}}
@media(max-width:760px){header nav{top:88px}}
@media(max-width:380px){header .brand img{width:110px}.school-badge{width:65px;min-width:60px;font-size:10px}header .brand{gap:12px}header{gap:10px;padding-left:15px;padding-right:15px}}

.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:white;color:#10172b;padding:12px 18px;border-radius:6px}.skip-link:focus{top:12px}
