:root {
    --home-navy: #0b2033;
    --home-blue: #086b9f;
    --home-blue-dark: #07577f;
    --home-gold: #c8a45b;
    --home-text: #172533;
    --home-muted: #63717d;
    --home-line: #dce2e6;
    --home-soft: #f3f5f6;
    --home-white: #fff;
}

.home-page { overflow: clip; background: var(--home-white); color: var(--home-text); }

/* Navigation over hero */
.site-header--immersive { position: fixed !important; border-color: rgba(255,255,255,.18) !important; background: transparent !important; transition: border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.site-header--immersive nav { background: transparent; }
.site-header--immersive:not(.is-scrolled) nav > div:first-child > a strong,
.site-header--immersive:not(.is-scrolled) nav > div:first-child > a span,
.site-header--immersive:not(.is-scrolled) nav > div:first-child > div > a,
.site-header--immersive:not(.is-scrolled) nav > div:first-child > div > div > button,
.site-header--immersive:not(.is-scrolled) nav > div:first-child > button,
.site-header--immersive:not(.is-scrolled) nav > div:first-child > a:last-of-type { color: #fff !important; }
.site-header--immersive:not(.is-scrolled) nav > div:first-child > div > a,
.site-header--immersive:not(.is-scrolled) nav > div:first-child > div > div > button { border-bottom-color: transparent !important; }
.site-header--immersive:not(.is-scrolled) nav > div:first-child > a img { filter: drop-shadow(0 2px 8px rgba(0,0,0,.3)); }
.site-header--immersive.is-scrolled { border-color: var(--home-line) !important; background: rgba(255,255,255,.97) !important; box-shadow: 0 4px 18px rgba(11,32,51,.06); backdrop-filter: blur(14px); }

/* Hero */
.home-hero { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; background: var(--home-navy); color: #fff; isolation: isolate; }
.home-hero__media,.home-hero__veil { position: absolute; inset: 0; }
.home-hero__media img,.home-hero__media video { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; transform: scale(1.1); }
.home-hero__veil { z-index: 1; background: linear-gradient(180deg,rgba(5,20,33,.55),rgba(5,20,33,.2) 38%,rgba(5,20,33,.72)),linear-gradient(90deg,rgba(5,20,33,.32),transparent 55%); }
.home-hero__content { position: relative; z-index: 2; width: min(calc(100% - 3rem),1200px); max-width: 1200px; padding-block: 9rem 10rem; text-align: center; }
.home-hero__identity { display: flex; align-items: center; justify-content: center; gap: .65rem; color: rgba(255,255,255,.75); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-hero__identity span + span::before { margin-right: .65rem; content: "•"; color: var(--home-gold); }
.home-hero__kicker { margin-top: 1.3rem; color: rgba(255,255,255,.92); font-size: .68rem; font-weight: 700; letter-spacing: .16em; line-height: 1.6; text-transform: uppercase; }
.home-hero h1 { max-width: 1120px; margin: 1.2rem auto 0; font-family: "Plus Jakarta Sans",sans-serif; font-size: clamp(3.2rem,6.2vw,6.1rem); font-weight: 700; letter-spacing: -.06em; line-height: .96; text-wrap: balance; text-shadow: 0 5px 32px rgba(0,0,0,.26); }
.home-hero__lead { max-width: 650px; margin: 1.55rem auto 0; color: rgba(255,255,255,.82); font-size: clamp(.9rem,1.2vw,1.02rem); line-height: 1.75; text-wrap: balance; }
.home-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.8rem; }
.home-action { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .72rem 1.1rem; border: 1px solid transparent; border-radius: 2px; font-size: .73rem; font-weight: 750; text-decoration: none; transition: background .16s ease,border-color .16s ease,color .16s ease; }
.home-action .material-symbols-outlined { font-size: 1rem; }
.home-action--light { background: #fff; color: var(--home-navy); }
.home-action--light:hover { background: #eef2f4; }
.home-action--line { border-color: rgba(255,255,255,.6); background: rgba(5,20,33,.12); color: #fff; }
.home-action--line:hover { border-color: #fff; background: rgba(5,20,33,.38); }
.home-action--dark { background: var(--home-navy); color: #fff; }
.home-action--dark:hover { background: var(--home-blue); }
.home-hero__footer { position: absolute; right: 0; bottom: .9rem; left: 0; z-index: 3; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.68); font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-hero__scroll,.home-hero__media-control { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; color: inherit; font: inherit; letter-spacing: inherit; text-decoration: none; text-transform: inherit; }
.home-hero__scroll .material-symbols-outlined,.home-hero__media-control .material-symbols-outlined { font-size: 1rem; }
.home-hero__media-control { position: absolute; right: 0; border: 0; background: transparent; cursor: pointer; }

/* Service navigation */
.home-servicebar { scroll-margin-top: 68px; border-bottom: 1px solid var(--home-line); background: #fff; }
.home-servicebar__inner { display: grid; grid-template-columns: 170px repeat(4,1fr); }
.home-servicebar__label { min-height: 76px; display: flex; align-items: center; padding-right: 1rem; color: var(--home-muted); font-size: .65rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.home-servicebar__link { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: 0 1.05rem; border-left: 1px solid var(--home-line); color: var(--home-text); font-size: .74rem; font-weight: 750; text-decoration: none; transition: background .16s ease,color .16s ease; }
.home-servicebar__link:hover { background: var(--home-soft); color: var(--home-blue-dark); }
.home-servicebar__link .material-symbols-outlined { color: var(--home-blue); font-size: 1rem; }

/* Shared section language */
.home-profile,.home-programs,.home-facilities,.home-information { padding-block: 6rem; }
.home-section-heading > span,.home-section-header > div > span { display: block; margin-bottom: .75rem; color: var(--home-blue); font-size: .65rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.home-section-heading h2,.home-section-header h2 { font-family: "Plus Jakarta Sans",sans-serif; font-weight: 700; letter-spacing: -.04em; line-height: 1.17; }
.home-section-heading h2 { max-width: 610px; font-size: clamp(2rem,3.5vw,3.3rem); }
.home-section-header { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2.2rem; }
.home-section-header h2 { font-size: clamp(1.8rem,2.9vw,2.65rem); }
.home-section-header p { max-width: 630px; margin-top: .7rem; color: var(--home-muted); font-size: .88rem; line-height: 1.75; }
.home-text-link { min-height: 44px; display: inline-flex; align-items: center; gap: .45rem; color: var(--home-text); font-size: .72rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.home-text-link .material-symbols-outlined { color: var(--home-blue); font-size: 1rem; transition: transform .16s ease; }
.home-text-link:hover { color: var(--home-blue-dark); }
.home-text-link:hover .material-symbols-outlined { transform: translateX(3px); }

/* Institutional profile */
.home-profile { background: #fff; }
.home-profile__layout { display: grid; align-items: start; gap: clamp(3rem,8vw,8rem); grid-template-columns: minmax(0,.95fr) minmax(320px,1.05fr); }
.home-profile__body { padding-top: 1.7rem; border-top: 1px solid var(--home-line); }
.home-profile__body p { color: var(--home-muted); font-size: .94rem; line-height: 1.9; }
.home-profile__body .home-text-link { margin-top: 1.4rem; }
.home-statistics { display: grid; margin-top: 4rem; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); grid-template-columns: repeat(3,1fr) minmax(190px,.8fr); }
.home-statistics__item { padding: 1.25rem 1.4rem; border-right: 1px solid var(--home-line); }
.home-statistics__item:first-child { padding-left: 0; }
.home-statistics__item strong { display: block; color: var(--home-navy); font-family: "Plus Jakarta Sans",sans-serif; font-size: clamp(2rem,3.5vw,3.25rem); font-weight: 700; letter-spacing: -.05em; line-height: 1; }
.home-statistics__item span { display: block; margin-top: .45rem; color: var(--home-muted); font-size: .67rem; }
.home-statistics > p { align-self: center; padding-left: 1.4rem; color: var(--home-muted); font-size: .62rem; line-height: 1.55; }

/* Training programs */
.home-programs { background: var(--home-soft); }
.home-program-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.home-program-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--home-line); background: #fff; color: var(--home-text); text-decoration: none; transition: border-color .16s ease,transform .16s ease; }
.home-program-card:hover { border-color: #aebbc3; transform: translateY(-2px); }
.home-program-card__media { aspect-ratio: 4/3; overflow: hidden; background: #e8ecee; }
.home-program-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.home-program-card:hover img { transform: scale(1.015); }
.home-program-card__body { display: flex; min-height: 190px; flex: 1; flex-direction: column; padding: 1.25rem; }
.home-status { color: var(--home-blue-dark); font-size: .61rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.home-program-card h3 { margin-top: .7rem; font-family: "Plus Jakarta Sans",sans-serif; font-size: 1.02rem; font-weight: 700; line-height: 1.42; }
.home-program-card__body > div { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--home-line); color: var(--home-muted); font-size: .66rem; }

/* Facilities */
.home-facilities { background: #fff; }
.home-facility-grid { display: grid; gap: 1.25rem; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); }
.home-facility-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--home-line); color: var(--home-text); text-decoration: none; }
.home-facility-card--primary { grid-row: span 2; }
.home-facility-card img { width: 100%; height: 185px; object-fit: cover; }
.home-facility-card--primary img { height: 462px; }
.home-facility-card > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; }
.home-facility-card h3 { font-family: "Plus Jakarta Sans",sans-serif; font-size: .88rem; font-weight: 700; }
.home-facility-card > div span { color: var(--home-muted); font-size: .62rem; }

/* News and agenda */
.home-information { background: var(--home-soft); }
.home-information__grid { display: grid; align-items: start; gap: 1.5rem; grid-template-columns: minmax(0,1.55fr) minmax(300px,.65fr); }
.home-news-editorial { min-width: 0; }
.home-news-feature { display: grid; overflow: hidden; border: 1px solid var(--home-line); background: #fff; color: var(--home-text); grid-template-columns: minmax(0,1.2fr) minmax(240px,.8fr); text-decoration: none; }
.home-news-feature__media { min-height: 315px; overflow: hidden; background: #e5e9eb; }
.home-news-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.home-news-feature__body { display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; }
.home-news-feature time,.home-news-row time { color: var(--home-muted); font-size: .61rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.home-news-feature h3 { margin-top: .7rem; font-family: "Plus Jakarta Sans",sans-serif; font-size: clamp(1.15rem,1.8vw,1.55rem); font-weight: 700; line-height: 1.38; }
.home-news-feature__body > span { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1.3rem; color: var(--home-blue-dark); font-size: .68rem; font-weight: 750; }
.home-news-feature__body .material-symbols-outlined { font-size: .95rem; }
.home-news-list { margin-top: .8rem; border-top: 1px solid var(--home-line); }
.home-news-row { display: grid; align-items: center; gap: 1rem; grid-template-columns: 120px minmax(0,1fr) 24px; padding-block: .85rem; border-bottom: 1px solid var(--home-line); color: var(--home-text); text-decoration: none; }
.home-news-row__media { width: 120px; aspect-ratio: 16/10; overflow: hidden; background: #e5e9eb; }
.home-news-row__media img { width: 100%; height: 100%; object-fit: cover; }
.home-news-row h3 { margin-top: .35rem; font-family: "Plus Jakarta Sans",sans-serif; font-size: .88rem; font-weight: 700; line-height: 1.42; }
.home-news-row > .material-symbols-outlined { color: var(--home-blue); font-size: 1rem; }
.home-agenda { padding: 1.35rem; border: 1px solid var(--home-line); background: #fff; color: var(--home-text); }
.home-agenda__eyebrow { color: var(--home-blue); font-size: .61rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.home-agenda > h2 { margin-top: .45rem; font-family: "Plus Jakarta Sans",sans-serif; font-size: 1.35rem; font-weight: 700; letter-spacing: -.025em; }
.home-agenda__list { margin-top: 1rem; border-top: 1px solid var(--home-line); }
.home-agenda__item { display: grid; align-items: start; gap: .85rem; grid-template-columns: 52px 1fr; padding-block: 1rem; border-bottom: 1px solid var(--home-line); }
.home-agenda__item time strong { display: block; color: var(--home-blue-dark); font-family: "Plus Jakarta Sans",sans-serif; font-size: 1.45rem; font-weight: 700; line-height: 1; }
.home-agenda__item time span { display: block; margin-top: .25rem; color: var(--home-muted); font-size: .54rem; font-weight: 700; text-transform: uppercase; }
.home-agenda__item h3 { font-size: .76rem; font-weight: 700; line-height: 1.45; }
.home-agenda__item p { margin-top: .25rem; color: var(--home-muted); font-size: .62rem; }
.home-agenda .home-text-link { margin-top: .9rem; }
.home-support { display: flex; align-items: center; justify-content: space-between; gap: 3rem; margin-top: 4rem; padding: 1.5rem 0; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.home-support > div:first-child span { color: var(--home-blue); font-size: .61rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.home-support h2 { max-width: 650px; margin-top: .4rem; font-family: "Plus Jakarta Sans",sans-serif; font-size: clamp(1.15rem,1.8vw,1.55rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.35; }
.home-support > div:last-child { display: flex; align-items: center; gap: 1.1rem; }
.home-empty { padding-block: 1.4rem; color: var(--home-muted); font-size: .8rem; }

@media (max-width: 980px) {
    .home-servicebar__inner { grid-template-columns: repeat(2,1fr); }
    .home-servicebar__label { min-height: 54px; grid-column: 1 / -1; padding: 0; border-bottom: 1px solid var(--home-line); }
    .home-servicebar__link:nth-child(even) { border-right: 1px solid var(--home-line); }
    .home-servicebar__link:nth-child(-n+3) { border-bottom: 1px solid var(--home-line); }
    .home-profile__layout { gap: 2.5rem; grid-template-columns: 1fr; }
    .home-profile__body { max-width: 760px; padding-top: 0; border-top: 0; }
    .home-statistics { grid-template-columns: repeat(3,1fr); }
    .home-statistics > p { grid-column: 1 / -1; padding: .85rem 0; border-top: 1px solid var(--home-line); }
    .home-program-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-program-card:last-child { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); }
    .home-program-card:last-child .home-program-card__media { aspect-ratio: auto; }
    .home-information__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .site-header--immersive:not(.is-scrolled) nav > div:first-child > a span span { color: #fff !important; }
    .home-hero__content { padding-block: 7.5rem 8.5rem; }
    .home-hero__identity { align-items: center; flex-direction: column; gap: .25rem; }
    .home-hero__identity span + span::before { display: none; }
    .home-hero__kicker { max-width: 310px; margin-inline: auto; font-size: .57rem; }
    .home-hero h1 { font-size: clamp(2.65rem,12.5vw,3.7rem); line-height: .98; }
    .home-hero__lead { max-width: 330px; font-size: .84rem; }
    .home-hero__actions { align-items: center; flex-direction: column; }
    .home-action { width: min(100%,290px); }
    .home-servicebar__link { min-height: 66px; padding-inline: .8rem; font-size: .69rem; }
    .home-profile,.home-programs,.home-facilities,.home-information { padding-block: 4.5rem; }
    .home-section-heading h2 { font-size: 2rem; }
    .home-section-header { align-items: start; flex-direction: column; gap: .75rem; margin-bottom: 1.7rem; }
    .home-section-header h2 { font-size: 1.75rem; }
    .home-profile__layout { gap: 1.7rem; }
    .home-profile__body p { font-size: .86rem; line-height: 1.8; }
    .home-statistics { margin-top: 3rem; grid-template-columns: repeat(3,1fr); }
    .home-statistics__item,.home-statistics__item:first-child { padding: 1rem .55rem; }
    .home-statistics__item strong { font-size: 2rem; }
    .home-statistics__item span { font-size: .58rem; line-height: 1.4; }
    .home-program-grid { grid-template-columns: 1fr; }
    .home-program-card:last-child { display: flex; grid-column: auto; }
    .home-program-card:last-child .home-program-card__media { aspect-ratio: 4/3; }
    .home-program-card__body { min-height: 175px; }
    .home-facility-grid { grid-template-columns: 1fr; }
    .home-facility-card--primary { grid-row: auto; }
    .home-facility-card img,.home-facility-card--primary img { height: auto; aspect-ratio: 16/10; }
    .home-news-feature { grid-template-columns: 1fr; }
    .home-news-feature__media { min-height: 0; aspect-ratio: 16/10; }
    .home-news-feature__body { padding: 1.15rem; }
    .home-news-row { gap: .75rem; grid-template-columns: 92px minmax(0,1fr); }
    .home-news-row__media { width: 92px; }
    .home-news-row > .material-symbols-outlined { display: none; }
    .home-news-row h3 { font-size: .78rem; }
    .home-support { align-items: stretch; flex-direction: column; gap: 1.25rem; margin-top: 3rem; }
    .home-support > div:last-child { align-items: stretch; flex-direction: column; gap: .45rem; }
    .home-support .home-action { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
