/* Fluid layout guardrails: 320px phones through ultrawide displays. */
:root{--page-gutter:clamp(20px,3.4vw,56px);--section-space:clamp(52px,6vw,100px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:100px}body{min-width:0}main,section,article,figure,nav,header,footer,div{min-width:0}img{max-width:100%}h1,h2,h3,p,a,button,dd,dt{overflow-wrap:break-word}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.wrap{width:100%;max-width:1280px;padding:var(--section-space) var(--page-gutter)}.heading{flex-wrap:wrap}.heading>*,.actions>*{min-width:0}.actions{flex-wrap:wrap}.btn{max-width:100%;white-space:normal;text-align:center;min-height:48px}.detail-hero-inner{max-width:1200px}.detail-hero h1{font-size:clamp(30px,3.2vw,46px)}h2,.heading h2{font-size:clamp(27px,2.7vw,40px)}.detail-hero figure img,.editorial figure img{height:auto;aspect-ratio:1.35;object-fit:cover}.detail-hero .lead{font-size:clamp(16px,1.3vw,18px)}.program-message h2{font-size:clamp(34px,5vw,78px)}.program-message p{font-size:clamp(16px,1.6vw,22px)}.program-message{padding-inline:clamp(20px,8vw,140px)}.program-hero{min-height:clamp(450px,65svh,650px);height:clamp(500px,78svh,880px)}.cards,.comparison,.feature-grid,.audience-grid,.needs-grid,.detail-steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.detail-steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.contact-rail{isolation:isolate}.phone{font-size:clamp(26px,3vw,40px)}.detail-cta{width:calc(100% - 2 * var(--page-gutter));max-width:1200px;margin-inline:auto}.topic-pills span{max-width:100%;text-align:center}.comparison dl>div{flex-wrap:wrap}.comparison dd{overflow-wrap:anywhere}.scene-tab:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c58b32;outline-offset:5px}.program-scene>img{backface-visibility:hidden}.back-top{position:fixed;right:40px;bottom:28px;width:46px;height:46px;display:grid;place-items:center;border:1px solid #dbe7ee;border-radius:50%;background:#fff;color:#02437c;box-shadow:0 8px 24px #123e571a;z-index:44;opacity:0;visibility:hidden;translate:0 10px;transition:opacity .25s,translate .25s,visibility .25s}.back-top.visible{opacity:1;visibility:visible;translate:none}.back-top .ui-icon{transform:rotate(-90deg)}
@media(min-width:1101px) and (max-width:1500px){.wrap{max-width:calc(100% - 210px);padding-inline:20px}.detail-hero{padding-right:130px;padding-left:40px}.detail-cta{max-width:calc(100% - 210px)}header .brand-logo{width:200px}header #nav{gap:13px;font-size:13px}header{padding-inline:28px}.contact-rail{width:88px;right:12px}.back-top{right:33px}}
@media(min-width:761px) and (max-width:1100px){header{height:80px;padding:0 26px}header .brand-logo{width:230px}header .nav-cta{margin-left:auto;margin-right:20px}.menu{display:inline-flex!important;align-items:center;min-height:44px;z-index:2}header #nav{display:flex!important;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:15px 26px;background:#fff;border-radius:0 0 22px 22px;box-shadow:0 20px 35px #193b561a;clip-path:inset(0 0 100% 0);opacity:0;visibility:hidden;pointer-events:none;transition:clip-path .5s cubic-bezier(.16,1,.3,1),opacity .3s,visibility .5s}header #nav.open{clip-path:inset(0);opacity:1;visibility:visible;pointer-events:auto}header #nav>a{padding:14px;font-size:17px}.contact-rail{right:10px;width:78px}.contact-rail>a{min-height:88px;padding:12px 3px;font-size:11px}.wrap{max-width:calc(100% - 125px);padding-inline:16px}.detail-hero{padding-right:110px}.detail-hero-inner,.editorial{gap:28px}.detail-hero-inner{grid-template-columns:1fr 1fr}.detail-cta{max-width:calc(100% - 125px);padding:30px}.two-col{gap:30px}.news-grid{grid-template-columns:1fr}.detail-faq{gap:30px}.back-top{right:26px}.quick-grid{gap:12px}.quick-grid a{padding:18px!important}.quick-grid>a>.platform-logo{position:static;margin:0 0 8px}.quick-grid strong{font-size:19px}.program-message{padding-inline:95px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{max-width:100%;padding:var(--section-space) var(--page-gutter)}header{padding-inline:clamp(14px,4vw,24px)}header .brand-logo{width:clamp(170px,54vw,220px)}.two-col,.space-grid,.contact-grid,.news-grid,.editorial,.detail-hero-inner,.detail-faq,.detail-cta{grid-template-columns:1fr}.detail-hero{padding-inline:var(--page-gutter)}.detail-hero h1{font-size:clamp(29px,7.7vw,38px)}.detail-hero figure img,.editorial figure img{aspect-ratio:1.25;height:auto}.program-message{padding-inline:24px}.program-message h2{font-size:clamp(32px,8.7vw,43px)}.program-hero{min-height:470px;height:calc(88svh - 76px);max-height:740px}.quick-grid{grid-template-columns:1fr}.cards,.comparison,.feature-grid,.audience-grid,.needs-grid,.detail-steps{grid-template-columns:1fr}.detail-cta{margin-inline:auto}.mission h2{font-size:clamp(28px,7.2vw,36px)}.metric-row{flex-wrap:wrap;gap:22px}.news-list>a,.news-list>button{grid-template-columns:auto minmax(0,1fr) auto}.contact-rail>a{min-height:76px}.back-top{right:15px;bottom:calc(90px + env(safe-area-inset-bottom));width:40px;height:40px}footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.detail-cta .btn{font-size:14px;padding-inline:12px}.quick-grid strong{font-size:clamp(18px,5vw,22px)}}
@media(max-width:360px){.brand-logo{width:170px}.menu{font-size:12px}.program-message p{font-size:16px}.detail-hero .btn{font-size:13px}.quick-grid>a{padding-left:62px!important}.contact-rail>a{font-size:10px}.card-body{padding:22px}.phone{font-size:27px}.btn{gap:12px}}
@media(prefers-reduced-motion:reduce){.back-top{transition:none}}
@media print{.contact-rail,.back-top{display:none!important}.wrap{max-width:100%}}

/* Repeat entrances and keep the phone choice aligned with platform choices. */
.quick-grid a:first-child{padding-left:78px!important}.motion-item:not(.is-visible){opacity:.12}.motion-item.is-visible,.motion-item:focus-within{opacity:1}.motion-item[data-motion=card]{transition-property:translate,box-shadow,opacity;transition-duration:.95s,.35s,.65s;transition-delay:var(--motion-delay,0ms),0ms,var(--motion-delay,0ms)}.motion-item[data-motion=photo]{transition-property:translate,scale,opacity;transition-duration:1.15s,1.15s,.8s}
@media(min-width:761px) and (max-width:1100px){.quick-grid a:first-child{padding-left:18px!important}}
@media(max-width:760px){.quick-grid a:first-child{padding-left:69px!important}}
@media(max-width:360px){.quick-grid a:first-child{padding-left:62px!important}}
@media(prefers-reduced-motion:reduce){.motion-item:not(.is-visible){opacity:1!important}}
@media print{.motion-item:not(.is-visible){opacity:1!important}}
