/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.short-page{--short-ink: #172c43; --short-blue: #245f9d; overflow-x: clip;}
.short-page a:focus-visible, .short-page button:focus-visible{outline: rgb(47, 107, 255) solid 0.1875rem; outline-offset: 0.25rem;}
.skip-link{position: fixed; top: 0.5rem; left: 0.75rem; z-index: 200; padding: 0.75rem 1.25rem; background: rgb(255, 255, 255); color: rgb(21, 62, 146); transform: translateY(-150%);}
.skip-link:focus{transform: none;}
.subpage-hero--short .subpage-hero-media img{object-position: center top; filter: none;}
.subpage-hero--short .subpage-hero-media::before{background: linear-gradient(90deg, rgba(9, 28, 50, 0.7), rgba(16, 39, 62, 0.45) 48%, rgba(16, 39, 62, 0.1));}
.short-intro, .short-curriculum, .short-system, .short-goal{color: var(--short-ink);}
.short-page h2, .short-page h3, .short-page main p{word-break: keep-all; overflow-wrap: break-word;}
.short-intro{padding: 5.375rem 0 5.125rem; scroll-margin-top: 5.625rem; background: rgb(255, 255, 255);}
.short-intro-grid{display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); align-items: center; gap: 3.5rem;}
.short-intro-copy h2{font-size: 4.375rem; line-height: 1.2; letter-spacing: -0.06em; font-weight: 750;}
.short-intro-copy h2 > span{display: block; margin-bottom: 0.5625rem; font-size: 2.1875rem; font-weight: 650; color: rgb(36, 105, 185); letter-spacing: -0.04em;}
.short-intro-copy h2 > strong{font-weight: 780; white-space: nowrap;}
.short-intro-copy h2 > em{font-family: Georgia, "Times New Roman", serif; font-size: 4.9375rem; line-height: 1; font-weight: 400; letter-spacing: -0.06em; color: rgb(77, 124, 175);}
.short-intro-copy > p{font-size: max(13px,1.0625rem); line-height: 1.85; color: rgb(99, 113, 131); margin-top: 1.5625rem;}
.short-facts{position: relative; display: grid; grid-template-columns: 1fr 1.15fr; padding: 2.25rem 1rem 1.875rem; border: 1px solid rgba(114, 148, 182, 0.28); border-radius: 1rem; background: radial-gradient(at 100% 0, rgba(94, 141, 175, 0.36), transparent 70%), linear-gradient(115deg, rgb(20, 51, 79), rgb(37, 79, 117)); box-shadow: rgba(24, 58, 92, 0.1) 0 0.9375rem 1.75rem, rgba(255, 255, 255, 0.14) 0 1px 0 inset; color: rgb(242, 246, 250);}
.short-facts > div{text-align: center; padding: 0 0.75rem; min-width: 0;}
.short-facts > div + div{border-left: 1px solid rgba(213, 231, 242, 0.2);}
.short-facts dt{font-size: max(13px,1rem); line-height: 1.5; font-weight: 550; color: rgb(199, 216, 231); margin-bottom: 0.625rem;}
.short-facts dd:not(.facts-detail){display: flex; align-items: baseline; justify-content: center; gap: 0.375rem; white-space: nowrap;}
.short-facts strong{font-size: 5.5rem; line-height: 1.1; font-weight: 650; letter-spacing: -0.065em; color: rgb(243, 234, 216); text-shadow: rgba(7, 29, 53, 0.3) 0 0.1875rem 0.625rem;}
.short-facts dd > span{font-size: max(13px,1.25rem);}
.short-facts dd > .facts-total{font-size: max(13px,0.9375rem); margin-right: 0.125rem; color: rgb(199, 216, 231);}
.short-facts .facts-detail{font-size: max(10px,0.8125rem); line-height: 1.6; color: rgb(184, 205, 221); margin-top: 0.8125rem;}
.short-curriculum{padding: 5rem 0 5.5rem; background: radial-gradient(at 90% 0, rgba(227, 236, 249, 0.65), transparent 52%), rgb(243, 245, 248);}
.short-section-heading{text-align: center; margin-bottom: 2.625rem;}
.short-section-heading h2{font-size: 3rem; font-weight: 550; line-height: 1.3; letter-spacing: -0.055em;}
.short-section-heading h2 strong{color: rgb(32, 91, 154); font-weight: 750;}
.short-section-heading > p{font-size: max(13px,1rem); line-height: 1.75; color: rgb(104, 119, 137); margin-top: 1rem;}
.lesson-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; list-style: none;}
.lesson{display: grid; grid-template-columns: 4.375rem minmax(0, 1fr); gap: 1.5625rem; align-items: start; min-height: 10.6875rem; padding: 1.8125rem 2rem; border: 1px solid rgb(223, 229, 236); border-radius: 0.75rem; background: rgb(255, 255, 255); box-shadow: rgba(35, 70, 103, 0.024) 0 0.1875rem 0.625rem;}
.lesson-round{text-align: center; padding-top: 0.125rem; border-right: 1px solid rgb(219, 229, 239); padding-right: 1.25rem;}
.lesson-round b{display: block; font-size: 2.3125rem; line-height: 1; font-weight: 550; letter-spacing: -0.05em; color: rgb(85, 125, 165); font-variant-numeric: tabular-nums;}
.lesson-round > span{display: block; margin-top: 0.625rem; font-size: max(10px,0.6875rem); letter-spacing: 0.04em; color: rgb(133, 149, 166);}
.lesson-copy h3{font-size: 1.4375rem; font-weight: 700; letter-spacing: -0.035em; line-height: 1.4; color: rgb(25, 60, 94);}
.lesson-copy > p{font-size: max(13px,0.9375rem); line-height: 1.8; color: rgb(105, 118, 134); margin-top: 0.5625rem;}
.lesson-copy > .lesson-sub{font-size: max(10px,0.8125rem); font-weight: 550; color: rgb(55, 107, 158); margin-top: 0.25rem;}
.lesson-copy > .lesson-sub + p{margin-top: 0.375rem;}
.lesson-final{border-color: rgb(38, 78, 117); background: radial-gradient(at 100% 0, rgba(92, 135, 175, 0.26), transparent 70%), linear-gradient(115deg, rgb(26, 57, 87), rgb(38, 79, 119)); box-shadow: rgba(24, 58, 92, 0.086) 0 0.375rem 0.9375rem;}
.lesson-final .lesson-round{border-color: rgba(219, 229, 239, 0.2);}
.lesson-final .lesson-round b{color: rgb(233, 212, 169);}
.lesson-final .lesson-round > span{color: rgb(189, 207, 223);}
.lesson-final h3{color: rgb(255, 240, 213);}
.lesson-final .lesson-copy > p{color: rgb(199, 214, 229);}
.short-system{padding: 4.9375rem 0 2.4375rem; background: radial-gradient(at 8% 5%, rgba(56, 110, 155, 0.32), transparent 55%), linear-gradient(120deg, rgb(11, 29, 48), rgb(28, 59, 87)); color: rgb(238, 245, 252);}
.short-system-grid{display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 2.625rem 4rem; align-items: start;}
.short-system-title h2{font-size: 2.6875rem; line-height: 1.35; font-weight: 650; letter-spacing: -0.055em;}
.short-system-title h2 > span{display: block; font-size: max(13px,1.125rem); color: rgb(185, 204, 221); font-weight: 450; margin-bottom: 1rem; letter-spacing: -0.02em;}
.short-system-title h2 > strong{color: rgb(173, 205, 236); font-weight: 650;}
.short-system-title > p{font-size: max(13px,1.0625rem); line-height: 1.9; color: rgb(170, 191, 209); margin-top: 1.375rem;}
.short-benefits{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.875rem;}
.short-benefits li{display: flex; align-items: center; gap: 1rem; min-height: 6.75rem; padding: 1.375rem 0; border-top: 1px solid rgba(182, 209, 229, 0.25);}
.short-benefits .ico{width: 1.6875rem; height: 1.6875rem; flex: 0 0 auto; color: rgb(147, 186, 219); stroke-width: 1.5;}
.short-benefits h3{font-size: max(13px,1.125rem); font-weight: 550; line-height: 1.6; color: rgb(238, 245, 251); letter-spacing: -0.025em;}
.short-source-result{grid-column: 1 / -1; border-top: 1px solid rgba(182, 209, 229, 0.15); margin-top: 0; padding-top: 1.5rem; text-align: right; font-size: max(10px,0.8125rem); line-height: 1.7; color: rgb(158, 181, 202);}
.short-source-result span{font-size: inherit; font-weight: 550; color: rgb(187, 206, 223); margin-left: 0.3125rem;}
.short-goal{padding: 6rem 0; background: rgb(255, 255, 255);}
.short-goal-grid{display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: 3rem; align-items: center;}
.short-goal-image{margin: 0; overflow: hidden; border-radius: 0.75rem; background: rgb(217, 228, 236);}
.short-goal-image img{width: 100%; height: auto; aspect-ratio: 1.18 / 1; object-fit: cover; object-position: center center;}
.short-goal-copy > .short-goal-label{font-size: max(13px,0.9375rem); line-height: 1.5; color: rgb(96, 121, 145); margin: 0 0 1.25rem;}
.short-goal-copy h2{font-size: 2.625rem; font-weight: 600; letter-spacing: -0.05em; line-height: 1.4; margin-bottom: 1.625rem;}
.short-goal-copy h2 strong{font-weight: 650; color: rgb(42, 99, 159);}
.short-goal-copy > p{font-size: max(13px,1.0625rem); line-height: 1.9; color: rgb(102, 116, 134); margin-top: 1.125rem;}
.next-page{padding: 1rem 0 4.125rem; background: rgb(255, 255, 255);}
.next-page a{display: grid; grid-template-columns: 9.375rem 1fr auto; align-items: center; gap: 1.875rem; padding: 1.8125rem 0; border-top: 1px solid rgb(34, 42, 55); border-bottom: 1px solid rgb(215, 217, 218);}
.next-page small{color: rgb(133, 140, 149); font-size: max(10px,0.6875rem); font-weight: 750;}
.next-page strong{font-size: 1.6875rem; letter-spacing: -0.035em;}
.next-page .arrow{font-size: 1.5625rem; transition: transform 0.2s, color 0.2s;}
.next-page a:hover .arrow{color: var(--blue); transform: translateX(0.375rem);}

.short-intro-grid{grid-template-columns: 1fr; gap: 2rem;}
.short-intro-copy{text-align: center;}
.short-facts{max-width: 32.5rem; width: 100%; justify-self: center;}
.short-system-grid{grid-template-columns: 1fr; gap: 1.9375rem;}
.short-system-title h2 > span{margin-bottom: 0.5625rem;}
.short-system-title > p{margin-top: 0.8125rem;}
.short-system-title > p br{display: none;}
.short-intro{padding: 4.0625rem 0;}
.short-intro-copy h2{font-size: 3.8125rem;}
.short-intro-copy h2 > em{font-size: 4.375rem;}
.short-curriculum{padding: 4rem 0;}
.short-section-heading h2{font-size: 2.375rem;}
.lesson{padding: 1.4375rem 1.1875rem; grid-template-columns: 3.0625rem minmax(0, 1fr); gap: 1rem;}
.lesson-round{padding-right: 0.75rem;}
.lesson-round b{font-size: 1.9375rem;}
.lesson-copy h3{font-size: max(13px,1.25rem);}
.lesson-copy > p{font-size: max(13px,0.875rem);}
.short-system{padding: 3.6875rem 0 1.875rem;}
.short-system-title h2{font-size: 2.25rem;}
.short-goal{padding: 4.25rem 0;}
.short-goal-grid{gap: 2.1875rem;}
.short-goal-copy h2{font-size: 2rem;}
.short-goal-copy > p{font-size: max(13px,0.9375rem);}
.short-desktop-break{display: none;}
.subpage-hero--short .subpage-hero-media img{object-position: 64% center;}
.subpage-hero--short .subpage-hero-media::before{background: linear-gradient(90deg, rgba(9, 28, 50, 0.6), rgba(16, 39, 62, 0.4));}
.short-intro{padding: 3.125rem 0;}
.short-intro-grid{gap: 1.8125rem;}
.short-intro-copy h2{font-size: 2.625rem;}
.short-intro-copy h2 > span{font-size: 1.6875rem; margin-bottom: 0.5625rem;}
.short-intro-copy h2 > em{font-size: 3.0625rem;}
.short-intro-copy > p{font-size: max(13px,0.875rem); line-height: 1.9; margin-top: 1.1875rem;}
.short-facts{padding: 1.5625rem 0.5625rem 1.4375rem; border-radius: 0.75rem;}
.short-facts dt{font-size: max(13px,0.875rem);}
.short-facts strong{font-size: 4.0625rem;}
.short-facts dd > span{font-size: max(13px,1.0625rem);}
.short-facts dd > .facts-total{font-size: max(10px,0.8125rem);}
.short-facts .facts-detail{font-size: max(10px,0.6875rem); margin-top: 0.5625rem;}
.short-facts > div{padding: 0 0.375rem;}
.short-curriculum{padding: 3rem 0 3.1875rem;}
.short-section-heading{text-align: left; margin-bottom: 1.625rem;}
.short-section-heading h2{font-size: 1.8125rem;}
.short-section-heading > p{font-size: max(10px,0.8125rem); margin-top: 0.75rem;}
.lesson-grid{grid-template-columns: 1fr; gap: 0.75rem;}
.lesson{min-height: 0; padding: 1.5rem 1.25rem; grid-template-columns: 2.8125rem minmax(0, 1fr); gap: 1.125rem; border-radius: 0.625rem;}
.lesson-round b{font-size: 1.875rem;}
.lesson-round > span{font-size: 0.625rem;}
.lesson-copy h3{font-size: max(13px,1.25rem);}
.lesson-copy > p{font-size: max(13px,0.875rem); line-height: 1.8;}
.short-system{padding: 2.9375rem 0 1.75rem;}
.short-system-grid{gap: 1.6875rem;}
.short-system-title h2{font-size: 1.9375rem;}
.short-system-title h2 > span{font-size: max(13px,0.9375rem);}
.short-system-title > p{font-size: max(13px,0.875rem);}
.short-benefits{grid-template-columns: 1fr; gap: 0;}
.short-benefits li{min-height: 0; padding: 1.25rem 0; gap: 1.0625rem;}
.short-benefits h3{font-size: max(13px,1.0625rem);}
.short-benefits .ico{width: 1.5625rem; height: 1.5625rem;}
.short-source-result{font-size: max(10px,0.75rem); padding-top: 1.1875rem;}
.short-goal{padding: 3.25rem 0 2.875rem;}
.short-goal-grid{grid-template-columns: 1fr; gap: 1.75rem;}
.short-goal-image{border-radius: 0.625rem;}
.short-goal-image img{aspect-ratio: 1.3 / 1;}
.short-goal-copy > .short-goal-label{font-size: max(10px,0.8125rem); margin-bottom: 0.8125rem;}
.short-goal-copy h2{font-size: 1.9375rem; margin-bottom: 1.25rem;}
.short-goal-copy > p{font-size: max(13px,0.9375rem); margin-top: 0.875rem;}
.next-page{padding: 0 0 2.625rem;}
.next-page a{grid-template-columns: 1fr auto; gap: 0.5rem; padding: 1.375rem 0;}
.next-page small{grid-column: 1 / -1;}
.next-page strong{font-size: 1.375rem;}
.next-page .arrow{grid-area: 2 / 2;}

@media (prefers-reduced-motion: reduce){.short-page *{scroll-behavior: auto !important; transition: none !important;}}
