:root{
 --navy:#002B5C; --navy-deep:#001a39; --orange:#D1431B; --orange-deep:#AE3518;
 --paper:#FFFFFF; --white:#fff; --ink:#303842; --muted:#68717b; --line:#d8d5ce;
 --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
 --body:"Source Sans 3",Arial,"Helvetica Neue",sans-serif; --max:1560px; --gutter:clamp(22px,4.6vw,78px);
 --header:78px; --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:118px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none} button{font:inherit;color:inherit} img{display:block;width:100%;height:100%;object-fit:cover}
::selection{background:var(--orange);color:#fff}
.wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin:auto}
.display{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:-.015em;line-height:.96}
.kicker{font-size:14px;line-height:1.4;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 25px;border:1px solid currentColor;border-radius:100vmax;font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:.09em;font-weight:700;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s var(--ease)}
.btn:hover{transform:translateY(-2px)} .btn-orange{background:var(--orange);border-color:var(--orange);color:#fff} .btn-orange:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
.btn-light{color:#fff;border-color:rgba(255,255,255,.68)} .btn-light:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-navy{color:var(--navy);border-color:var(--navy)} .btn-navy:hover{background:var(--navy);color:#fff}
.link{display:inline-flex;align-items:center;gap:16px;padding:6px 0;border-bottom:1px solid currentColor;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.link:after{content:"→";font-size:17px;line-height:1;transition:transform .3s var(--ease)} .link:hover:after{transform:translateX(5px)}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .45s ease-out,transform .45s ease-out} .reveal.in{opacity:1;transform:none}
.clip-reveal{opacity:0;transform:translateY(12px);transition:opacity .45s ease-out,transform .45s ease-out} .clip-reveal.in{opacity:1;transform:none}

/* chrome */
@font-face{font-family:'Barlow Condensed';src:url('/fonts/BarlowCondensed-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/fonts/BarlowCondensed-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/fonts/SourceSans3-Latin-Variable.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.header{height:88px;position:absolute;z-index:100;left:24px;right:24px;top:24px;width:min(calc(100% - 48px),1560px);margin-inline:auto;display:flex;align-items:center;color:var(--navy);background:var(--paper);border:1px solid rgba(0,43,92,.12);border-radius:8px;box-shadow:0 12px 35px rgba(0,20,43,.14);transition:height .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease,top .22s ease}
.header.fixed{position:fixed;top:12px;height:76px;background:var(--paper);color:var(--navy);box-shadow:0 8px 24px rgba(0,20,43,.12)}
.nav{width:100%;margin:auto;padding:0 clamp(22px,2.6vw,40px);display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:24px}
.logo{position:relative;width:170px;height:58px;display:block;flex:none} .logo img{position:absolute;inset:0;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.logo .white{display:none}
.navlinks{justify-self:center;display:flex;align-items:center;gap:clamp(22px,2.7vw,40px)} .navlinks a{font-family:var(--body);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;position:relative;white-space:nowrap}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:right .2s ease} .navlinks a:hover:after{right:0}
.nav-actions{display:flex;gap:0;align-items:center} .nav-actions .btn{white-space:nowrap} .header .btn{font-family:var(--body);font-size:12px;font-weight:700;min-height:46px;padding:13px 21px;transition-duration:.2s} .header .btn:hover{transform:translateY(-1px)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;position:relative} .menu-btn:before,.menu-btn:after,.menu-btn span{content:"";position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;transition:.3s ease} .menu-btn:before{top:14px} .menu-btn span{top:21px} .menu-btn:after{top:28px} .header.menu .menu-btn span{opacity:0} .header.menu .menu-btn:before{top:21px;transform:rotate(45deg)} .header.menu .menu-btn:after{top:21px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;z-index:95;left:auto;right:max(24px,calc((100vw - 1560px)/2 + 24px));top:122px;width:min(420px,calc(100vw - 48px));max-height:calc(100svh - 140px);overflow:auto;background:var(--paper);color:var(--navy);padding:16px;border:1px solid rgba(0,43,92,.14);border-radius:8px;box-shadow:0 16px 40px rgba(0,20,43,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s var(--ease),visibility .18s}
.header.fixed + .mobile-menu{top:98px}
.mobile-menu.open{opacity:1;visibility:visible;transform:none;transition-property:opacity,transform}
.mobile-menu nav{border-top:0} .mobile-menu nav a{font-family:var(--display);font-size:24px;font-weight:500;line-height:1.1;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)} .mobile-menu nav a:last-child{border-bottom:0} .mobile-menu nav a span{min-width:0;flex:1;overflow-wrap:normal} .mobile-menu nav a:after{content:"→";font-family:var(--body);font-size:17px;line-height:1;align-self:center;flex:0 0 auto}

/* hero */
.hero{min-height:740px;height:740px;position:relative;background:var(--navy-deep);color:#fff;overflow:hidden}
.hero-photo{position:absolute;inset:0;overflow:hidden} .hero-photo .swiper-wrapper,.hero-photo .swiper-slide{height:100%} .hero-photo .swiper-slide{position:relative} .hero-photo .swiper-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:none} .hero-photo:not(.swiper-initialized) .swiper-slide:not(:first-child){display:none}
.hero-photo:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(24,28,32,.94) 0%,rgba(24,28,32,.85) 34%,rgba(24,28,32,.58) 52%,rgba(24,28,32,.16) 80%,rgba(24,28,32,.08) 100%)}
.hero-content{position:relative;z-index:6;height:100%;width:min(calc(100% - var(--gutter)*2),var(--max));margin:auto;display:flex;flex-direction:column;justify-content:flex-end;padding:150px 0 132px}
.hero-content .kicker{margin-bottom:22px;color:#f8d1c7} .hero h1{font-size:clamp(56px,6.2vw,96px);font-weight:600;line-height:.98;margin:0;max-width:860px} .hero h1 span{display:block} .hero h1 .second{color:#fff} .hero h1 .truth{font-size:clamp(24px,2vw,28px);font-weight:500;letter-spacing:.015em;line-height:1.08;margin-top:24px;max-width:650px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.hero-content{pointer-events:none} .hero-content .hero-actions{pointer-events:auto}
.hero-controls{position:absolute;z-index:8;right:var(--gutter);bottom:94px;display:none;align-items:center;gap:5px;padding:0;color:#fff;text-shadow:0 1px 7px rgba(0,0,0,.9)} .hero-slideshow.swiper-initialized~.hero-controls{display:flex}
.hero-controls button{height:44px;padding:0;border:0;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;font:700 10px/1 var(--body);text-transform:uppercase;letter-spacing:.08em;transition:opacity .2s ease} .hero-controls button:hover{opacity:.75}
.hero-controls .hero-pause{width:auto;min-width:58px;padding:0 5px;font-size:10px;letter-spacing:.06em}

/* statement */
.statement{padding:clamp(72px,6.5vw,104px) 0;background:var(--paper)}
.statement-grid{display:grid;grid-template-columns:1.15fr .72fr;gap:clamp(40px,6vw,88px);align-items:center}
.statement h2{font-size:clamp(40px,4.3vw,64px);line-height:1.06;color:var(--navy);margin:0} .statement h2 span{display:block} .statement-copy{padding-top:0} .statement-copy p{font-size:18px;line-height:1.65;margin:0 0 34px} .statement-rule{height:1px;background:var(--line);margin:36px 0}

/* routes */
.routes{padding:88px 0;background:#fff}
.routes-head{display:grid;grid-template-columns:1fr .72fr;gap:60px;align-items:end;margin-bottom:55px} .routes h2{font-size:clamp(38px,4.2vw,60px);line-height:1.06;text-transform:none;color:var(--navy);margin:0} .routes-head p{font-size:clamp(18px,1.35vw,23px);line-height:1.55;margin:0;color:var(--muted)}
.route-list{border-top:1px solid var(--line)} .route{display:grid;grid-template-columns:64px minmax(140px,.75fr) minmax(0,1.5fr) 32px;align-items:center;gap:24px;min-height:116px;padding:24px;border-bottom:1px solid var(--line);position:relative;isolation:isolate;transition:color .18s ease}
.route:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:8px;background:var(--navy);opacity:0;transition:opacity .18s ease} .route:hover,.route:focus-visible{color:#fff} .route:hover:before,.route:focus-visible:before{opacity:1} .route:hover .route-title,.route:focus-visible .route-title{color:#fff} .route:hover .route-label,.route:focus-visible .route-label,.route:hover .route-num,.route:focus-visible .route-num{color:#f3b6a7}
.route-num{font-family:var(--display);font-size:36px;font-weight:500;color:var(--orange);line-height:1} .route-label{font-size:12px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--orange);transition:color .18s ease} .route-title{font-family:var(--display);font-size:clamp(26px,2.2vw,34px);font-weight:500;letter-spacing:-.01em;line-height:1.16;color:var(--navy);transition:color .18s ease} .route-arrow{font-size:25px;text-align:right;transition:transform .16s ease} .route:hover .route-arrow,.route:focus-visible .route-arrow{transform:translateX(2px)}

/* pathway */
.pathway{background:var(--paper);padding:88px 0;overflow:hidden}
.pathway h2{font-size:clamp(38px,4.2vw,60px);line-height:1.06;text-transform:none;margin:0;color:var(--navy);max-width:850px}

/* formation */
.formation{background:#fff;padding:88px 0}

/* online */
.online{min-height:560px;display:grid;grid-template-columns:1.2fr .8fr;background:var(--navy-deep);color:#fff;position:relative;overflow:hidden}
.online-media{position:relative;overflow:hidden;clip-path:none} .online-media img{position:absolute;inset:0;object-position:50% 39%;will-change:transform} .online-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,26,57,.22),rgba(0,26,57,.58))}
.online-copy{padding:72px var(--gutter) 72px 48px;display:flex;flex-direction:column;justify-content:center} .online-copy .kicker{color:#f4c0b4} .online h2{font-size:clamp(38px,4vw,58px);line-height:1.08;text-transform:none;margin:16px 0 28px} .online h3{font-family:var(--body);font-size:14px;letter-spacing:.08em;line-height:1.5;margin:0 0 18px;color:#f7c5b8} .online p{font-size:17px;line-height:1.65;margin:0 0 30px;max-width:650px}
.mode-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px} .mode{border:1px solid rgba(255,255,255,.34);border-radius:999px;padding:10px 13px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}

/* final */
.final{position:relative;min-height:720px;color:#fff;display:flex;align-items:center;overflow:hidden}
.final-bg{position:absolute;inset:0} .final-bg img{object-position:center 45%;transform:scale(1.03)} .final-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,26,57,.96) 0%,rgba(0,43,92,.83) 48%,rgba(0,26,57,.30) 100%)}
.final-content{position:relative;z-index:2;padding:110px 0} .final .kicker{color:#f4c0b4} .final h2{font-size:clamp(82px,8vw,136px);margin:15px 0 26px;max-width:850px} .final p{font-size:19px;line-height:1.6;max-width:620px;margin:0 0 34px} .final-actions{display:flex;gap:11px;flex-wrap:wrap}
.final .application-download-note{font-size:13px;line-height:1.55;max-width:760px;margin:18px 0 0;color:rgba(255,255,255,.88)} .final .application-download-note strong{color:#fff;font-weight:700}

/* footer */
.footer{background:var(--navy-deep);color:#fff;padding:74px 0 24px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(170px,.75fr) minmax(270px,1fr);gap:40px} .footer-logo{width:220px;height:auto;object-fit:contain} .footer-brand .kicker{margin-top:26px;color:#f2b8aa;max-width:360px}
.footer h4{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.1em;color:#f2b8aa;margin:0 0 17px} .footer p,.footer a{display:block;font-size:13px;line-height:1.78;margin:0}
.footer-grid > :not(.footer-brand) p,.footer-grid > :not(.footer-brand) a{font-size:16px;line-height:24px;overflow-wrap:anywhere}
.footer-bottom{margin-top:58px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:24px;font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:900px){
 .nav{grid-template-columns:155px 1fr auto;gap:16px} .logo{width:150px} .navlinks{display:none} .menu-btn{display:block} .nav-actions .menu-btn{display:none}
 .hero-photo{left:0}

}
@media(max-width:840px){
 :root{--gutter:24px}
  .header{left:12px;right:12px;top:12px;width:auto;height:76px} .header.fixed{top:12px;height:76px} .nav{grid-template-columns:150px 1fr auto;padding:0 18px;gap:12px} .logo{width:145px;height:54px}
 .mobile-menu,.header.fixed + .mobile-menu{top:96px}
  .hero{height:auto;min-height:0;padding-top:0} .hero-photo{position:absolute;left:0;inset:0;height:100%;min-height:0} .hero-photo:after{background:linear-gradient(180deg,rgba(24,28,32,.08) 0%,rgba(24,28,32,.7) 24%,rgba(24,28,32,.88) 100%)}
 .hero-content{min-height:68svh;height:auto;padding:180px 0 82px;justify-content:flex-end} .hero h1{font-size:clamp(60px,15vw,86px);letter-spacing:-.015em;text-shadow:0 2px 30px rgba(0,0,0,.14)} .hero h1 .truth{font-size:.34em;max-width:540px} .hero-content .kicker{color:#fff} .hero-controls{position:relative;right:auto;bottom:auto;width:min(calc(100% - var(--gutter)*2),var(--max));margin:0 auto 14px;justify-content:flex-end;backdrop-filter:none}
 .statement-grid,.routes-head,.online,.footer-grid{grid-template-columns:1fr}
 .statement-grid{gap:45px} .statement-copy{padding-top:0}
 .route{grid-template-columns:62px 1fr 42px;gap:15px;padding:20px 12px} .route-label{grid-column:2/3} .route-title{grid-column:2/3} .route-arrow{grid-column:3/4;grid-row:1/3} .route-num{grid-row:1/3}
 .online-media{height:400px;clip-path:none} .online-copy{padding:80px var(--gutter)}
 .final{min-height:760px} .footer-grid{gap:40px}
}
@media(max-width:520px){
  .mobile-menu{left:12px;right:12px;top:96px;width:auto;max-height:calc(100svh - 108px);padding:14px}
  .mobile-menu nav a{font-size:22px;line-height:1.1} .mobile-menu nav a:after{font-size:17px}
 .nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px} .logo{width:132px;height:50px;flex:0 1 132px} .nav-actions{margin-left:auto} .nav-actions .btn{min-height:44px;padding:11px 14px;font-size:12px} #menuBtnMobile{margin-left:0;flex:none}
 .hero-content{padding-top:180px;padding-bottom:116px} .hero-controls{gap:3px;padding:0} .hero-actions,.final-actions{display:grid;grid-template-columns:1fr;width:100%} .hero-actions .btn,.final-actions .btn{width:100%}
 .statement,.routes,.pathway,.formation{padding-top:90px;padding-bottom:90px}
  .route{min-height:0;grid-template-columns:36px minmax(0,1fr) 24px;gap:12px;padding:20px 0} .route:before{left:-12px;right:-12px} .route-num{grid-column:1;grid-row:1;font-size:36px} .route-label{grid-column:2/4;grid-row:1;min-width:0} .route-title{grid-column:1/3;grid-row:2;font-size:26px;line-height:1.2;min-width:0} .route-arrow{grid-column:3;grid-row:2}
 .online-media{height:360px} .final{min-height:780px} .footer-bottom{display:block} .footer-bottom>span{display:block} .footer-bottom>*+*{margin-top:10px}
}
@media(max-width:600px){.nav-actions .btn{font-size:12px;padding:10px 12px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal,.clip-reveal{opacity:1;transform:none}}

/* Keyboard access and progressive enhancement */
.skip-link{position:fixed;z-index:200;left:16px;top:12px;transform:translateY(-160%);padding:12px 18px;background:var(--orange);color:#fff;font:700 12px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;border:2px solid #fff}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible{outline:3px solid #ffb24b;outline-offset:4px;position:relative;z-index:110}
.mobile-menu[hidden]{display:none!important}
.reveal,.clip-reveal{opacity:1;transform:none;clip-path:none}
.js .reveal:not(.in){opacity:0;transform:translateY(12px)}
.js .reveal.in{opacity:1;transform:none}
.js .clip-reveal:not(.in){opacity:0;transform:translateY(12px)}
.js .clip-reveal.in{opacity:1;transform:none}
@media(max-width:840px){
 .statement-grid>*,.purpose-head>*,.purpose-stage>*,.routes-head>*>*,.online>*,.footer-grid>*{min-width:0;max-width:100%}
 .statement h2{max-width:100%;overflow-wrap:break-word}
 .pathway h2,.online h2{font-size:clamp(50px,8.3vw,72px);line-height:.98;max-width:100%;overflow-wrap:break-word}
 .routes h2{font-size:clamp(38px,4.2vw,60px);line-height:1.06;text-transform:none;max-width:100%;overflow-wrap:break-word}
 .final h2{font-size:clamp(54px,8.5vw,76px);line-height:.98;max-width:100%;overflow-wrap:break-word}
 .hero h1{max-width:100%;overflow-wrap:break-word}
}
@media(max-width:520px){
 .hero h1{font-size:clamp(44px,12vw,52px);letter-spacing:-.015em;line-height:.98;max-width:100%;overflow-wrap:normal}
 .pathway h2,.online h2{font-size:clamp(38px,10vw,50px);line-height:1;max-width:100%}
 .routes h2{font-size:clamp(38px,4.2vw,60px);line-height:1.06;text-transform:none;max-width:100%;overflow-wrap:break-word}
 .final h2{font-size:clamp(44px,11vw,56px);line-height:1;max-width:100%}
 .statement-copy,.purpose-copy,.routes-head>*,.online-copy{min-width:0;max-width:100%;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .clip-reveal{opacity:1!important;transform:none!important}}

@media(max-width:360px){.header .nav-actions .btn{display:none}.hero-controls .hero-pause{min-width:48px;font-size:9px}}
