/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.special-page{--special-ink: #20374d; --special-accent: #347f8a; --special-header: 4.5rem;}
.special-page main p, .special-page main h2, .special-page main h3{word-break: keep-all; overflow-wrap: break-word;}
.special-intro{padding: 4.25rem 0 2.875rem; background: rgb(255, 255, 255); color: var(--special-ink);}
.special-intro-grid{display: grid; grid-template-columns: 1.05fr 1fr; gap: 4.0625rem; align-items: end;}
.special-eyebrow{font-size: max(10px,0.75rem); font-weight: 650; letter-spacing: 0.12em; color: rgb(87, 138, 147); margin-bottom: 1.0625rem;}
.special-intro h2{font-size: 2.625rem; font-weight: 450; line-height: 1.42; letter-spacing: -0.045em;}
.special-intro h2 strong{font-weight: 700; color: rgb(43, 102, 115);}
.special-intro-copy{max-width: 30.625rem; padding-bottom: 0.3125rem;}
.special-intro-copy p{font-size: max(13px,1rem); line-height: 1.95; color: rgb(96, 117, 136);}
.special-intro-copy small{display: block; margin-top: 1.125rem; font-size: max(10px,0.75rem); color: rgb(138, 154, 167); letter-spacing: 0.07em;}
.special-jump{position: sticky; top: var(--special-header); z-index: 70; background: rgba(255, 255, 255, 0.96); border-top: 1px solid rgb(228, 235, 237); border-bottom: 1px solid rgb(219, 229, 232); backdrop-filter: blur(0.75rem);}
.special-jump ol{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0;}
.special-jump li{min-width: 0;}
.special-jump a{display: flex; align-items: center; justify-content: center; gap: 0.8125rem; padding: 1.375rem 0.5rem; position: relative; color: rgb(109, 127, 140); font-size: max(13px,0.875rem); font-weight: 550; transition: color 0.2s, background 0.2s;}
.special-jump a::after{content: ""; position: absolute; bottom: 0; left: 1.375rem; right: 1.375rem; height: 0.1875rem; background: rgb(56, 132, 144); transform: scaleX(0); transition: transform 0.2s;}
.special-jump a span{font-size: max(10px,0.6875rem); letter-spacing: 0.03em; color: rgb(146, 167, 174);}
.special-jump a:hover, .special-jump a[aria-current="location"]{color: rgb(33, 99, 112); background: rgb(239, 247, 247);}
.special-jump a[aria-current="location"]::after{transform: scaleX(1);}
.special-stage{padding: 4.125rem 0; scroll-margin-top: 10.3125rem; color: var(--special-ink); background: rgb(255, 255, 255);}
.special-stage:nth-child(2n){background: rgb(244, 247, 248);}
.special-stage-grid{display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); align-items: center; gap: 3rem;}
.special-stage-copy{min-width: 0;}

.special-stage--reverse .special-stage-visual{order: 2;}
.special-stage--reverse .special-stage-copy{order: 1;}
.special-stage-visual{min-width: 0; margin: 0; position: relative;}
.special-photo-frame{border-radius: 1rem; overflow: hidden; position: relative; background: rgb(220, 230, 232); box-shadow: rgba(33, 61, 80, 0.063) 0 0.75rem 2.1875rem;}
.special-photo-frame img{display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.6s;}
.special-photo-frame::after{content: ""; position: absolute; inset: 0; box-shadow: rgba(255, 255, 255, 0.2) 0 0 0 1px inset; border-radius: inherit; pointer-events: none;}
.special-stage-visual figcaption{display: flex; align-items: center; gap: 0.75rem; margin-top: 0.9375rem; font-size: max(10px,0.6875rem); color: rgb(132, 151, 162); letter-spacing: 0.02em;}
.special-stage-visual figcaption::before{content: ""; width: 1.5625rem; height: 1px; background: rgb(182, 198, 204);}
.special-stage-heading{display: flex; align-items: center; gap: 1.1875rem; margin-bottom: 1.0625rem;}
.special-stage-number{font-size: 3.25rem; line-height: 1; font-weight: 350; letter-spacing: -0.055em; color: rgb(163, 189, 197); font-variant-numeric: tabular-nums;}
.special-stage-kicker{font-size: max(10px,0.75rem); color: rgb(77, 126, 135); letter-spacing: 0.08em; font-weight: 650;}
.special-stage h2{font-size: 2.625rem; line-height: 1.4; letter-spacing: -0.04em; font-weight: 650; margin-bottom: 1.0625rem;}
.special-stage-description{font-size: max(13px,0.9375rem); line-height: 1.95; color: rgb(106, 126, 142); margin-bottom: 1.5rem; max-width: none;}
.special-programs{display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0 1.5rem; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgb(219, 229, 232);}
.special-programs li{padding: 1rem 0 0.8125rem; min-width: 0; border-bottom: 1px solid rgb(225, 233, 236);}
.special-programs h3{font-size: max(13px,0.9375rem); line-height: 1.6; font-weight: 650; color: rgb(42, 81, 101);}
.special-programs p{font-size: max(10px,0.75rem); line-height: 1.8; color: rgb(122, 142, 154); margin-top: 0.3125rem;}
.special-stage--experience{color: white; position: relative; overflow: hidden; background: rgb(30, 57, 74) !important;}
.special-stage--experience .special-stage-number{color: rgb(102, 140, 155);}
.special-stage--experience .special-stage-kicker{color: rgb(158, 197, 204);}
.special-stage--experience .special-stage-description{color: rgb(185, 203, 211);}
.special-stage--experience .special-programs{border-color: rgba(255, 255, 255, 0.14);}
.special-stage--experience .special-programs li{border-color: rgba(255, 255, 255, 0.11);}
.special-stage--experience .special-programs h3{color: rgb(237, 246, 248);}
.special-stage--experience .special-programs p{color: rgb(168, 192, 203);}
.special-stage--experience figcaption{color: rgb(155, 180, 193);}
.special-stage--experience figcaption::before{background: rgb(108, 139, 155);}
.special-stage--last{background: rgb(244, 247, 248) !important;}
.special-finish{position: relative; isolation: isolate; overflow: hidden; padding: 6.25rem 0 6.5625rem; background: radial-gradient(at 50% 115%, rgba(71, 97, 106, 0.5), transparent 62%), linear-gradient(115deg, rgb(17, 42, 60), rgb(28, 57, 75) 55%, rgb(16, 38, 53)); text-align: center; color: rgb(255, 255, 255); border-top: 1px solid rgba(217, 196, 148, 0.396);}
.special-finish::before{content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(at 88% 0%, rgba(223, 201, 142, 0.094), transparent 46%); pointer-events: none;}
.special-finish::after{content: "ABC"; position: absolute; bottom: -0.22em; left: 50%; transform: translateX(-50%); font-size: clamp(13.75rem, 30vw, 27.5rem); font-weight: 750; line-height: 1; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.016); z-index: -1; pointer-events: none;}
.special-finish-orbit{position: absolute; width: 68.75rem; height: 68.75rem; border: 1px solid rgba(218, 202, 158, 0.086); border-radius: 50%; top: 4.0625rem; left: 50%; transform: translateX(-50%); z-index: -1; pointer-events: none;}
.special-finish-orbit::before, .special-finish-orbit::after{content: ""; position: absolute; inset: 4.0625rem; border: 1px solid rgba(218, 202, 158, 0.063); border-radius: 50%;}
.special-finish-orbit::after{inset: 8.125rem;}
.special-finish .wrap{position: relative;}
.special-finish .special-eyebrow{display: flex; justify-content: center; align-items: center; gap: 1.0625rem; margin: 0 0 1.6875rem; color: rgb(223, 203, 160); font-size: max(10px,0.75rem); letter-spacing: 0.22em;}
.special-finish .special-eyebrow::before, .special-finish .special-eyebrow::after{content: ""; width: 2.25rem; height: 1px; background: rgba(217, 196, 148, 0.5);}
.special-finish h2{font-size: clamp(2.375rem, 3.9vw, 3.5rem); line-height: 1.42; letter-spacing: -0.045em; font-weight: 500;}
.special-finish h2 strong{font-weight: 700; color: rgb(234, 212, 164);}
.special-finish p:not(.special-eyebrow){margin: 1.5rem auto 2.1875rem; max-width: 38.75rem; color: rgb(192, 205, 213); font-size: max(13px,1rem); line-height: 1.9;}
.special-finish-actions{display: flex; gap: 0.875rem; justify-content: center; flex-wrap: wrap;}
.special-action{display: inline-flex; align-items: center; justify-content: space-between; gap: 2.5rem; min-width: 14.375rem; min-height: 3.75rem; padding: 1.125rem 1.5625rem; background: linear-gradient(110deg, rgb(238, 221, 184), rgb(217, 189, 128)); color: rgb(37, 51, 67); border: 1px solid rgb(238, 217, 170); border-radius: 0.5rem; font-size: max(13px,1rem); font-weight: 650; box-shadow: rgba(0, 0, 0, 0.125) 0 0.5rem 1.625rem; transition: transform 0.25s, box-shadow 0.25s, background 0.25s;}
.special-action span{font-size: 1.375rem; line-height: 1; transition: transform 0.25s;}
.special-action--secondary{background: rgba(255, 255, 255, 0.03); color: rgb(243, 245, 246); border: 1px solid rgba(167, 186, 196, 0.4); box-shadow: none;}
.special-finish a:focus-visible{outline-color: rgb(242, 212, 152);}
@media (hover: hover){.special-action:hover{transform: translateY(-0.1875rem); background: linear-gradient(110deg, rgb(248, 233, 200), rgb(230, 203, 146)); box-shadow: rgba(0, 0, 0, 0.208) 0 0.75rem 2rem;}
.special-action:hover span{transform: translateX(0.1875rem);}
.special-action--secondary:hover{background: rgba(255, 255, 255, 0.08); box-shadow: none;}}
.special-page a:focus-visible{outline: rgb(47, 107, 255) solid 0.1875rem; outline-offset: 0.25rem;}
@media (hover: hover){.special-stage-visual:hover img{transform: scale(1.025);}}

.special-page{--special-header: 4rem;}
.special-stage-grid{gap: 2.125rem;}
.special-stage h2{font-size: 2.4375rem;}
.special-intro-grid{gap: 2.125rem;}
.special-intro h2{font-size: 2.25rem;}
.special-intro{padding: 2.75rem 0 2.1875rem;}
.special-intro-grid{grid-template-columns: 1fr; gap: 1.4375rem;}
.special-intro-copy{max-width: 38.75rem;}
.special-intro-copy p{font-size: max(13px,0.9375rem);}
.special-intro-copy small{margin-top: 0.75rem;}
.special-jump a{flex-direction: column; gap: 0.375rem; padding: 0.875rem 0.25rem; font-size: max(10px,0.75rem);}
.special-jump a::after{left: 0.5rem; right: 0.5rem;}
.special-stage{padding: 2.6875rem 0; scroll-margin-top: 9.6875rem;}
.special-stage-grid{grid-template-columns: 1fr; gap: 1.75rem;}
.special-stage--reverse .special-stage-visual, .special-stage--reverse .special-stage-copy{order: initial;}
.special-stage-visual{max-width: 35rem; width: 100%;}
.special-photo-frame img{aspect-ratio: 3 / 2; object-position: center 40%;}
.special-stage-number{font-size: 2.6875rem;}
.special-stage h2{font-size: 2.375rem;}
.special-stage-description{font-size: max(13px,0.9375rem);}
.special-programs{grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; gap: 0 1.25rem;}
.special-programs h3{font-size: max(13px,0.9375rem);}
.special-programs p{font-size: max(10px,0.8125rem);}
.special-finish{padding: 4.25rem 0 4.5rem;}
.special-finish h2{font-size: clamp(1.6875rem, 4.8vw, 2.375rem);}
.special-finish p:not(.special-eyebrow){font-size: max(13px,0.875rem); margin: 1.375rem auto 1.8125rem;}
.special-finish .special-eyebrow{font-size: 0.625rem; gap: 0.75rem; margin-bottom: 1.4375rem;}
.special-finish-orbit{width: 47.5rem; height: 47.5rem;}
.special-finish-actions{max-width: 30.625rem; margin: auto;}
.special-action{flex: 1 1 0%; min-width: 12.5rem; font-size: max(13px,0.9375rem);}
.special-stage-visual figcaption{margin-top: 0.625rem;}
.special-intro h2{font-size: 2rem;}
.special-jump a{font-size: max(10px,0.6875rem);}
.special-programs{gap: 0 0.9375rem;}
.special-programs h3{font-size: max(13px,0.875rem);}
.special-programs p{font-size: max(10px,0.75rem);}
.special-stage h2{font-size: 2.25rem;}
@media (prefers-reduced-motion: reduce){.special-page{scroll-behavior: auto;}
.special-jump a, .special-jump a::after, .special-photo-frame img, .special-action{transition: none;}
.special-stage-visual:hover img{transform: none;}}
.special-finish-actions{flex-direction: column; max-width: 21.875rem; gap: 0.75rem;}
.special-action{width: 100%; min-height: 3.625rem;}
.special-finish .special-eyebrow::before, .special-finish .special-eyebrow::after{width: 1.375rem;}
@media (prefers-reduced-motion: reduce){.special-action, .special-action span{transition: none;}
.special-action:hover, .special-action:hover span{transform: none;}}
:is(.special-stage--experience, .special-stage--practice, .special-stage--opportunity, .special-stage--last) .special-photo-frame{aspect-ratio: 5 / 4; background: rgb(30, 57, 74); isolation: isolate; clip-path: inset(0 round 1rem);}
:is(.special-stage--experience, .special-stage--practice, .special-stage--opportunity, .special-stage--last) .special-photo-frame img{position: absolute; inset: -0.125rem; width: calc(100% + 0.25rem); height: calc(100% + 0.25rem); max-width: none; aspect-ratio: auto; object-fit: cover; object-position: center center; transform: scale(1.01); transform-origin: center center; backface-visibility: hidden;}
:is(.special-stage--experience, .special-stage--practice, .special-stage--opportunity, .special-stage--last) .special-photo-frame::after{box-shadow: none;}
@media (hover: hover){:is(.special-stage--experience, .special-stage--practice, .special-stage--opportunity, .special-stage--last) .special-stage-visual:hover img{transform: scale(1.04);}}
@media (prefers-reduced-motion: reduce){:is(.special-stage--experience, .special-stage--practice, .special-stage--opportunity, .special-stage--last) .special-photo-frame img, :is(.special-stage--experience, .special-stage--practice, .special-stage--opportunity, .special-stage--last) .special-stage-visual:hover img{transform: none; transition: none;}}
