:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.65,0,.35,1)}
.home-page .site-header{position:sticky;top:0;transition:box-shadow 220ms ease,background-color 220ms ease}
.home-page .site-header.is-scrolled{box-shadow:0 8px 28px #102d4310;background:#fff}
.home-scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:3px;background:var(--green);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.hero-line{display:block}
.home-page .hero-visual{min-height:0;overflow:hidden}
.home-page .hero-photo{position:relative;height:auto}
.home-page .photo-note{position:static}
@media(min-width:641px){.home-page .hero-visual{align-self:center}}
.home-page .hero-copy h1{overflow:visible}
.home-page .hero-line{animation:hero-type-enter 850ms var(--ease-out) both}
.home-page .hero-line:nth-child(2){animation-delay:85ms}
.home-page .hero-line:nth-child(3){animation-delay:170ms}
.home-page .hero-intro{animation:hero-copy-enter 700ms var(--ease-out) both}
.home-page .hero-copy>p{animation:hero-copy-enter 800ms 240ms var(--ease-out) both}
.home-page .hero-actions{animation:hero-copy-enter 800ms 320ms var(--ease-out) both}
.home-page .hero-visual{animation:hero-photo-enter 1050ms var(--ease-out) both}
.home-page .hero-photo{animation:photo-settle 1400ms var(--ease-out) both}
.home-page .photo-note{animation:caption-enter 900ms 220ms var(--ease-out) both}
.home-page .note-rule{transform-origin:bottom;animation:rule-enter 800ms 580ms var(--ease-out) both}
@keyframes hero-type-enter{from{opacity:0;transform:translateY(24px);clip-path:inset(100% 0 -18% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(-18% 0 -18% 0)}}
@keyframes hero-copy-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-photo-enter{from{clip-path:inset(0 0 0 14%)}to{clip-path:inset(0)}}
@keyframes photo-settle{from{transform:scale(1.045)}to{transform:scale(1)}}
@keyframes caption-enter{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes rule-enter{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.nav-dropdown[open] .dropdown-panel{animation:menu-enter 190ms var(--ease-out) both;transform-origin:top}
@keyframes menu-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.home-page .button{position:relative;overflow:hidden;transition:background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease,transform 240ms var(--ease-out)}
.home-page .button:active{transform:translateY(1px)}
.home-page .button:focus-visible{box-shadow:0 0 0 5px #96c8a826}
.home-page .text-link{position:relative;border-bottom-color:#3d805b55;transition:color 180ms ease}
.home-page .text-link:after{position:absolute;content:'';height:1px;background:var(--green);left:0;right:0;bottom:-1px;transform:scaleX(0);transform-origin:left;transition:transform 360ms var(--ease-out)}
.home-page .text-link:hover:after,.home-page .text-link:focus-visible:after{transform:scaleX(1)}
.home-page .stage-strip a{isolation:isolate;transition:color 180ms ease}
.home-page .stage-strip a:before{transition:background-color 200ms ease,box-shadow 200ms ease,transform 200ms var(--ease-out)}
.home-page .stage-strip a:after{position:absolute;content:'';height:2px;top:-2px;left:0;right:0;background:var(--green);transform:scaleX(0);transform-origin:left;z-index:-1}
.home-page .stage-strip.is-in-view a:after{animation:learning-line 550ms calc(var(--stage-index)*145ms) var(--ease-soft) both}
.home-page .stage-strip.is-in-view a:before{animation:learning-node 800ms calc(var(--stage-index)*145ms) ease-out both}
.home-page .stage-strip a:hover:before,.home-page .stage-strip a:focus-visible:before{background:var(--mint);box-shadow:0 0 0 5px #3d805b16;transform:scale(1.3)}
.home-page .stage-strip a strong{transition:transform 220ms var(--ease-out),color 180ms ease}
.home-page .stage-strip a:hover strong,.home-page .stage-strip a:focus-visible strong{color:var(--green);transform:translateX(3px)}
@keyframes learning-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes learning-node{0%{box-shadow:0 0 0 0 #3d805b24}40%{box-shadow:0 0 0 7px #3d805b12}100%{box-shadow:0 0 0 0 #3d805b00}}
.home-page .program-card{position:relative;overflow:hidden;transition:border-color 200ms ease,box-shadow 280ms var(--ease-out),transform 280ms var(--ease-out)}
.home-page .program-card:before{position:absolute;content:'';inset:0 auto 0 0;width:3px;background:var(--green);transform:scaleY(0);transform-origin:bottom;transition:transform 380ms var(--ease-out)}
.home-page .program-card:focus-visible:before{transform:scaleY(1)}
.home-page .program-top .icon,.home-page .program-link .icon{transition:transform 300ms var(--ease-out)}
.home-page .audience-card{position:relative;transition:border-color 200ms ease}
.home-page .audience-card:before{position:absolute;content:'';height:2px;top:-2px;left:0;right:0;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 380ms var(--ease-out)}
.home-page .audience-card:focus-visible:before{transform:scaleX(1)}
.home-page .resource-list a{transition:color 180ms ease,background-color 180ms ease}
.home-page .resource-list a>span{transition:transform 280ms var(--ease-out)}
.home-page .resource-list a:focus-visible>span{transform:translateX(4px)}
.home-page .action-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 0 0;min-height:360px}
.home-page .action-orbit{border:0;margin-bottom:36px}
.home-page .action-orbit:before{inset:38px;border-color:#577269;opacity:.65}
.action-route{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);overflow:visible;fill:none;stroke-width:1.2;transform:rotate(-90deg);pointer-events:none}
.route-guide{stroke:#567667}
.route-progress{stroke:var(--mint);stroke-width:2.3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--route-progress,75));transition:stroke-dashoffset 650ms var(--ease-out)}
.home-page .action-visual.is-in-view .route-progress{animation:action-route-enter 1750ms var(--ease-soft) both}
.home-page .action-visual.has-interaction .route-progress{animation:none}
@keyframes action-route-enter{from{stroke-dashoffset:100}to{stroke-dashoffset:calc(100 - var(--route-progress,75))}}
.action-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:65%;text-align:center;position:relative}
.action-steps{position:absolute;inset:0}
.action-step:disabled{cursor:default}
.action-center>.icon{width:62px;height:62px;color:var(--mint);stroke-width:1.05}
.home-page .action-orbit .action-center-label{position:static;border:0;padding:0;background:none;border-radius:0;color:#c5ddd0;font-size:13px;max-width:140px;line-height:1.45}
.action-step{position:absolute;background:var(--navy);padding:8px 16px;font-size:14px;color:#d6e5dc;border:1px solid #537565;border-radius:25px;line-height:1.4;transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease,box-shadow 220ms ease}
.action-step[aria-pressed=true]{background:var(--mint);color:var(--navy);border-color:var(--mint);box-shadow:0 0 0 6px #96c8a80a}
.action-step:hover{border-color:var(--mint)}
.action-step-0{top:0;left:50%;transform:translate(-50%,-50%)}
.action-step-1{right:0;top:50%;transform:translate(50%,-50%)}
.action-step-2{bottom:0;left:50%;transform:translate(-50%,50%)}
.action-step-3{left:0;top:50%;transform:translate(-50%,-50%)}
.action-stage-description{color:#c5d8ce;font-size:15px;line-height:1.6;max-width:300px;min-height:48px;text-align:center;margin:0}
.action-diagram-hint{color:#91ad9e;font-size:12px;margin-top:12px}
.action-center.is-changing{animation:action-center-change 350ms var(--ease-out)}
@keyframes action-center-change{from{opacity:.45;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(hover:hover) and (pointer:fine){.home-page .program-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px #102d4308}.home-page .program-card:hover:before{transform:scaleY(1)}.home-page .program-card:hover .program-top .icon{transform:translateY(-3px)}.home-page .program-card:hover .program-link .icon{transform:translateX(3px)}.home-page .audience-card:hover:before{transform:scaleX(1)}.home-page .resource-list a:hover>span{transform:translateX(4px)}}
body:not(.home-page) main{animation:page-arrive 280ms var(--ease-out) both}
@keyframes page-arrive{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.action-step{font-size:13px;padding:8px 13px}.action-center>.icon{width:52px;height:52px}.home-page .action-orbit .action-center-label{font-size:12px}}
@media(max-width:920px){.home-page .action-visual{min-height:330px}.action-center>.icon{width:42px;height:42px}.home-page .action-orbit .action-center-label{font-size:12px}.action-step{font-size:12px;padding:7px 11px}.action-stage-description{font-size:14px;max-width:265px}}
@media(max-width:640px){.home-page .hero-line{animation-duration:700ms}.home-page .hero-copy>p{animation-delay:150ms}.home-page .hero-actions{animation-delay:220ms}.home-page .hero-photo{animation-duration:1000ms}.home-page .action-visual{min-height:360px;padding-top:15px}.home-page .action-orbit{margin-bottom:37px}.action-center>.icon{width:57px;height:57px}.home-page .action-orbit .action-center-label{font-size:13px}.action-step{font-size:14px;padding:8px 12px}.action-stage-description{font-size:15px;max-width:310px}.home-page .site-header{box-shadow:0 4px 16px #102d4308}.home-page .stage-strip.is-in-view a:after{animation-duration:380ms;animation-delay:calc(var(--stage-index)*90ms)}}
@media(min-width:641px) and (max-width:760px){.home-page .action-grid{grid-template-columns:1fr;gap:35px}.home-page .action-visual{min-height:350px}.home-page .action-orbit{width:250px;height:250px}}
@media(max-width:380px){.home-page .action-orbit{width:190px;height:190px}.home-page .action-orbit:before{inset:26px}.action-step{font-size:12px;padding:8px 10px}.action-center>.icon{width:45px;height:45px}.home-page .action-orbit .action-center-label{font-size:12px}.home-page .action-visual{min-height:310px}.action-stage-description{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-page .hero-line,.home-page .hero-visual,.home-page .photo-note,.home-page .hero-photo{clip-path:none;transform:none;opacity:1}.home-page .stage-strip a:after{transform:scaleX(1)}.home-page .program-card:hover,.home-page .resource-list a:hover>span{transform:none}.route-progress{stroke-dashoffset:calc(100 - var(--route-progress,75))}}
@media print{.home-scroll-progress{display:none}.home-page .site-header{position:static}}
