:root {
    --hva-ink: #102a43;
    --hva-navy: #123a61;
    --hva-blue: #155be5;
    --hva-sky: #e9f4fb;
    --hva-gold: #f2b84b;
    --hva-paper: #ffffff;
}

body {
    color: #526476;
    background: var(--hva-paper);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .display-font {
    font-family: 'Space Grotesk', 'Inter', Arial, sans-serif;
    letter-spacing: -.025em;
}

button, input, textarea, select, label, small, .eyebrow, .site-nav-link {
    font-family: 'Geist', 'Inter', Arial, sans-serif;
}

a, button, input, textarea, select { outline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 3px solid rgba(31, 111, 178, .32);
}

img { color: transparent; }

.site-header {
    background: rgba(255, 255, 255, .92);
    border-color: rgba(16, 42, 67, .08);
    box-shadow: 0 8px 32px rgba(16, 42, 67, .06);
}

.site-nav-link { position: relative; }
.site-nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -10px;
    height: 2px;
    border-radius: 999px;
    background: var(--hva-blue);
    transition: right .25s ease;
}
.site-nav-link:hover::after, .site-nav-link[aria-current="page"]::after { right: 0; }

.language-toggle {
    min-height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .65rem .85rem;
    border: 1px solid rgba(31, 111, 178, .16);
    border-radius: 999px;
    background: #eef6fb;
    color: #165c91;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.language-toggle:hover { background: #dceef9; color: #123a61; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(31,111,178,.12); }
.language-toggle[aria-busy="true"] { cursor: wait; opacity: .7; }
.language-toggle[aria-pressed="true"] { background: #123a61; border-color: #123a61; color: #fff; }

html[lang="ne"] .school-brand-primary,
html[lang="ne"] .school-brand-secondary {
    letter-spacing: .02em !important;
    text-transform: none !important;
}
html[lang="ne"] .school-brand-primary { font-size: .95rem !important; }
html[lang="ne"] .school-brand-secondary { font-size: .7rem !important; }

.translation-engine {
    position: fixed !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: .01 !important;
    pointer-events: none !important;
    left: -9999px !important;
}

body { top: 0 !important; }
html { margin-top: 0 !important; }
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
body > iframe.skiptranslate,
body > .skiptranslate {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
}

@media (max-width: 430px) {
    .language-toggle { padding: .62rem .7rem; font-size: .68rem; }
    .site-header .gap-3 { gap: .4rem; }
}

main.flex-grow.pt-16 { padding-top: 5rem !important; }

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--hva-blue);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.eyebrow::before { content: ''; width: 1.75rem; height: 2px; background: var(--hva-gold); }

/* Homepage hero styles live in home-hero.css. */

@media (max-width: 430px) {
    .site-header > div { padding-inline: .75rem; gap: .5rem; }
    .site-header > div > div:first-child { min-width: 0; }
    .site-header > div > div:last-child { flex: 0 0 auto; gap: .375rem; }
    .site-header a[aria-label] > span:first-child { width: 2.5rem; height: 2.5rem; }
    .site-header .school-brand-primary { font-size: 11px; letter-spacing: .06em; }
    .site-header .school-brand-secondary { font-size: 9px; letter-spacing: .2em; }
    .site-header .language-toggle { min-width: 44px; min-height: 44px; padding-inline: .5rem; }
    #mobile-menu-btn { margin-left: 0; flex-shrink: 0; }
}

.scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 34px, 0);
    transition:
        opacity .72s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
        transform .72s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}
.scroll-reveal.scroll-reveal-left { transform: translate3d(-34px, 18px, 0); }
.scroll-reveal.scroll-reveal-right { transform: translate3d(34px, 18px, 0); }
.scroll-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Homepage introduction */
.home-about {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background: #fff;
}
.home-about::before {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    left: -230px;
    top: 80px;
    border-radius: 50%;
    background: rgba(31, 111, 178, .06);
    box-shadow: 0 0 0 55px rgba(31, 111, 178, .025);
}
.home-about-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr);
    gap: clamp(4rem, 8vw, 7.5rem);
    align-items: center;
}
.home-about-visual { position: relative; min-height: 530px; }
.home-about-photo {
    position: absolute;
    inset: 0 13% 0 0;
    overflow: hidden;
    border-radius: 2rem;
    background: var(--hva-navy);
    box-shadow: 0 30px 75px rgba(16, 42, 67, .2);
}
.home-about-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, transparent 45%, rgba(9, 37, 62, .28));
}
.home-about-photo img, .home-about-photo-small img { width: 100%; height: 100%; object-fit: cover; }
.home-about-photo-small {
    position: absolute;
    z-index: 2;
    width: 42%;
    height: 43%;
    right: 0;
    bottom: -1.25rem;
    overflow: hidden;
    border: 7px solid #fff;
    border-radius: 1.5rem;
    background: #eaf2f7;
    box-shadow: 0 22px 50px rgba(16, 42, 67, .2);
}
.home-about-year {
    position: absolute;
    z-index: 3;
    top: 1.5rem;
    right: 0;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .9rem 1rem;
    color: #fff;
    background: var(--hva-navy);
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 1rem;
    box-shadow: 0 15px 35px rgba(16, 42, 67, .22);
}
.home-about-year strong { color: #fff; font-family: 'Space Grotesk', 'Inter', sans-serif; font-size: 1.65rem; line-height: 1; }
.home-about-year span { color: rgba(255,255,255,.62); font-size: .58rem; font-weight: 800; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase; }
.home-about-copy h2 { max-width: 590px; margin: 1.1rem 0 1.4rem; color: var(--hva-ink); font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: 1.02; }
.home-about-copy > p { max-width: 610px; color: #637589; font-size: .9rem; line-height: 1.85; }
.home-about-copy .home-about-lead { margin-bottom: .9rem; color: #334e68; font-size: 1.03rem; font-weight: 600; line-height: 1.75; }
.home-about-values { display: flex; flex-wrap: wrap; gap: .65rem; margin: 2rem 0 2.2rem; }
.home-about-values span { display: inline-flex; align-items: center; gap: .5rem; padding: .65rem .78rem; color: #34506a; background: #f4f8fb; border: 1px solid rgba(31,111,178,.1); border-radius: .75rem; font-size: .68rem; font-weight: 800; }
.home-about-values iconify-icon { color: var(--hva-blue); }
.home-about-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 46px;
    padding: 0 1.15rem;
    color: #fff;
    background: var(--hva-blue);
    border-radius: .8rem;
    box-shadow: 0 12px 28px rgba(31,111,178,.2);
    font-size: .75rem;
    font-weight: 800;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.home-about-link:hover { color: #fff; background: #175a91; transform: translateY(-2px); box-shadow: 0 16px 32px rgba(31,111,178,.26); }

/* School bulletin: editorial stories, a notice board, and an easy-to-scan diary. */
.updates-hub { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #ffffff; border-block: 1px solid #e8e9e2; scroll-margin-top: 6rem; }
.updates-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.updates-heading h2 { margin: 1rem 0 0; color: var(--hva-navy); font-size: clamp(2.3rem, 4.4vw, 3.9rem); font-weight: 600; line-height: 1.08; letter-spacing: -.05em; }
.updates-heading h2 em { color: #155be5; font-family: 'Inter', Arial, sans-serif; font-weight: 400; }
.updates-heading > p { max-width: 22rem; color: #64717e; font-size: .85rem; line-height: 1.8; }
.updates-filter-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; margin-bottom: 2rem; border-bottom: 1px solid #dde2df; }
.updates-filters { display: flex; flex-wrap: wrap; gap: .4rem; }
.updates-hub [hidden] { display: none !important; }
.updates-filters button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .6rem .85rem; color: #526476; border: 1px solid transparent; border-radius: 5px; font-size: .72rem; font-weight: 600; transition: background .2s ease; }
.updates-filters button:hover { background: #e9eeef; }
.updates-filters button[aria-pressed="true"] { background: var(--hva-navy); color: #fff; }
.updates-filters button > span { display: grid; place-items: center; min-width: 1.15rem; height: 1.15rem; padding-inline: .2rem; border-radius: 50%; font-size: .55rem; background: rgba(124,143,158,.16); }
.updates-filters button[aria-pressed="true"] > span { background: rgba(255,255,255,.16); }
.updates-calendar { display: inline-flex; align-items: center; gap: .5rem; flex-shrink: 0; min-height: 44px; color: var(--hva-navy); font-size: .72rem; font-weight: 600; }
.updates-calendar:hover, .updates-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.updates-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; gap: 2rem; }
.updates-layout:not([data-view="all"]) { grid-template-columns: minmax(0, 1fr); }
.updates-layout:not([data-view="all"]) .updates-panel { width: 100%; }
.updates-layout[data-view="news"] .updates-news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.updates-panel { min-width: 0; }
.updates-story-copy h4, .updates-event-copy strong, .updates-event-date { overflow-wrap: anywhere; }
.updates-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; color: var(--hva-navy); }
.updates-panel-heading h3 { color: var(--hva-navy); font-size: 1.2rem; font-weight: 600; }
.updates-panel-heading > span { color: #70818c; font-size: .59rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.updates-news-list { display: grid; gap: 1.25rem; }
.updates-story { overflow: hidden; background: #fff; border: 1px solid #e1e6e7; border-radius: 8px; }
.updates-story-photo { position: relative; aspect-ratio: 1.9; overflow: hidden; background: #e8ecee; }
.updates-story-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.updates-story-photo > span { position: absolute; bottom: 1rem; left: 1.25rem; padding: .4rem .65rem; background: #fff; border-radius: 3px; color: var(--hva-navy); font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.updates-story-copy { padding: 1.4rem 1.5rem; }
.updates-date { display: block; color: #155be5; font-size: .62rem; font-weight: 600; line-height: 1.6; letter-spacing: .04em; }
.updates-story-copy h4 { margin: .5rem 0 .75rem; color: var(--hva-navy); font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 600; line-height: 1.22; }
.updates-hub summary { cursor: pointer; list-style: none; }
.updates-hub summary::-webkit-details-marker { display: none; }
.updates-hub summary:focus-visible { outline: 3px solid #80b4d9; outline-offset: 4px; }
.updates-story-details summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; color: #516879; font-size: .75rem; font-weight: 600; }
.updates-story-details summary > span { font-size: 1.2rem; }
.updates-story-details p, .updates-notice-body p, .updates-announcement-body p { font-size: .8rem; line-height: 1.85; overflow-wrap: anywhere; }
.updates-story-details p { margin: .5rem 0 1rem; color: #617584; }
.updates-text-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; color: var(--hva-navy); font-size: .72rem; font-weight: 600; }
.updates-notices { padding: 1.75rem; background: var(--hva-navy); border-radius: 8px; color: #e5eef6; }
.updates-board-heading { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.5rem; }
.updates-board-icon { display: grid; place-items: center; width: 40px; height: 40px; color: #f0ce89; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.updates-board-heading > div > span { color: #adc3d5; font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; }
.updates-board-heading h3 { margin-top: .15rem; color: #fff; font-size: 1.4rem; font-weight: 600; }
.updates-notice { padding: 1.15rem 0; border-top: 1px solid rgba(255,255,255,.16); }
.updates-notice summary { display: flex; justify-content: space-between; gap: 1rem; min-height: 44px; }
.updates-notice small { display: block; margin-bottom: .45rem; color: #d8bb7f; font-size: .59rem; }
.updates-notice strong { display: block; color: #fff; font-size: .88rem; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.updates-expand { align-self: center; color: #d8bb7f; font-size: 1.4rem; }
.updates-notice[open] .updates-expand, .updates-story-details[open] summary > span { transform: rotate(45deg); }
.updates-notice-body { padding-top: 1rem; color: #c9d8e4; }
.updates-notice-body a, .updates-office-link { display: inline-block; min-height: 44px; padding-block: .9rem; color: #f0d39a; font-size: .71rem; text-decoration: underline; text-underline-offset: 4px; }
.updates-office-link { margin-top: .6rem; border-top: 1px solid rgba(255,255,255,.16); width: 100%; text-decoration: none; }
.updates-events { padding: 1.6rem; background: #fff; border: 1px solid #e1e6e7; border-radius: 8px; }
.updates-event { display: grid; grid-template-columns: 76px minmax(0, 1fr) 22px; gap: 1rem; align-items: center; padding: 1.2rem 0; border-top: 1px solid #e9edef; }
.updates-event-date { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: .4rem; min-height: 76px; padding: .7rem .4rem; border-radius: 5px; background: #f1f5f6; color: var(--hva-navy); text-align: center; font-size: .65rem; font-weight: 600; line-height: 1.5; }
.updates-event-copy { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.updates-event-copy strong { color: var(--hva-navy); font-size: .92rem; font-weight: 600; line-height: 1.4; }
.updates-event-copy > span { color: #6a7b87; font-size: .65rem; }
.updates-event-copy small { display: flex; align-items: center; gap: .3rem; color: #73858f; font-size: .64rem; }
.updates-event:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.updates-event-arrow { color: #155be5; font-size: 1.1rem; }
.updates-calendar-note { margin-top: 1rem; color: #6a7b87; font-size: .65rem; line-height: 1.6; }
.updates-announcements { padding: 1.6rem; background: #eaf5ff; border: 1px solid #cce4ff; border-radius: 8px; }
.updates-announcement { padding: 1.1rem 0; border-top: 1px solid #cce4ff; }
.updates-announcement strong { display: block; margin: .5rem 0; color: var(--hva-navy); font-size: 1.1rem; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.updates-announcement-prompt { display: flex; justify-content: space-between; align-items: center; min-height: 36px; color: #155be5; font-size: .66rem; }
.updates-announcement-body { color: #63717b; }
.updates-empty { padding: 2rem; border: 1px dashed #cfd9dc; border-radius: 8px; color: #637585; font-size: .8rem; line-height: 1.8; }
.updates-empty p { margin: .5rem 0; }
.updates-empty a { display: inline-block; min-height: 44px; padding-top: .6rem; color: var(--hva-navy); text-decoration: underline; }
.updates-board-empty { padding: 1rem 0; color: inherit; font-size: .8rem; line-height: 1.8; }
@media (max-width: 1023px) {
    .updates-filter-bar { align-items: flex-start; flex-direction: column; gap: .5rem; }
    .updates-layout { gap: 1.25rem; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
    .updates-heading > p { max-width: 17rem; }
    .updates-notices, .updates-events, .updates-announcements { padding: 1.25rem; }
}
@media (max-width: 767px) {
    .updates-heading { align-items: flex-start; flex-direction: column; gap: 1.25rem; margin-bottom: 1.5rem; }
    .updates-heading > p { max-width: 26rem; font-size: .8rem; }
    .updates-layout, .updates-layout[data-view="news"] .updates-news-list { grid-template-columns: minmax(0, 1fr); }
    .updates-filter-bar { margin-bottom: 1.5rem; }
    .updates-filters { gap: .25rem; }
    .updates-filters button { padding-inline: .6rem; font-size: .67rem; }
    .updates-story-copy { padding: 1.25rem; }
    .updates-event { grid-template-columns: 64px minmax(0, 1fr) 16px; gap: .75rem; }
    .updates-event-copy strong { font-size: .83rem; }
    .updates-panel-heading > span { font-size: .52rem; }
}

@media (max-width: 1023px) {
    .home-about-grid { gap: 3.5rem; }
    .home-about-visual { min-height: 460px; }
}

@media (max-width: 767px) {
    .home-about { padding: 5rem 0; }
    .home-about-grid { grid-template-columns: 1fr; gap: 4rem; }
    .home-about-visual { min-height: 440px; }
    .home-about-photo { right: 8%; }
    .home-about-photo-small { width: 44%; height: 38%; }
    .home-about-copy h2 { font-size: clamp(2.55rem, 13vw, 3.6rem); }
}

@media (max-width: 430px) {
    .home-about-visual { min-height: 380px; }
    .home-about-year { top: .8rem; padding: .7rem .8rem; }
    .home-about-year strong { font-size: 1.35rem; }
    .home-about-values { display: grid; }
}

.glass-card {
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .25);
    box-shadow: 0 24px 70px rgba(2, 15, 28, .28);
    backdrop-filter: blur(14px);
}

.section-soft {
    background: linear-gradient(180deg, #f5f9fc 0%, #fbfcfd 100%);
}

.programs-art-section {
    background:
        radial-gradient(circle at 14% 18%, rgba(31, 111, 178, .11), transparent 28%),
        radial-gradient(circle at 84% 78%, rgba(85, 150, 205, .12), transparent 30%),
        linear-gradient(135deg, #f8fbfe 0%, #eef5fb 52%, #f7fafc 100%);
}

.programs-art-section::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: .35;
    background-image: radial-gradient(rgba(30, 64, 175, .16) 1.25px, transparent 1.25px);
    background-size: 24px 24px;
    mask-image: linear-gradient(to bottom, black, transparent 70%);
    pointer-events: none;
}

.programs-art-layer { position: absolute; inset: 0; pointer-events: none; }
.program-art { position: absolute; z-index: 1; }
.program-art-circle {
    width: 130px; height: 130px; border-radius: 50%;
    left: -35px; bottom: 40px;
    border: 24px solid rgba(31, 111, 178, .14);
    transform: rotate(-14deg);
}
.program-art-square {
    width: 90px; height: 90px; right: 6%; top: 70px;
    border: 18px solid rgba(31, 111, 178, .12);
    border-radius: 22px;
    transform: rotate(19deg);
}
.program-art-squiggle { width: 200px; left: 5%; top: 115px; color: rgba(31, 111, 178, .14); transform: rotate(-8deg); }
.program-art-stars { width: 86px; right: 12%; bottom: 55px; color: rgba(31, 111, 178, .16); transform: rotate(11deg); }

.programs-content-card {
    box-shadow: 0 28px 80px rgba(48, 70, 112, .14);
}

.program-tab { position: relative; overflow: hidden; }
.program-tab:nth-child(1),
.program-tab:nth-child(2),
.program-tab:nth-child(3),
.program-tab:nth-child(4) {
    background: rgba(255, 255, 255, .66);
    border-color: rgba(31, 111, 178, .14);
}
.program-tab.active {
    color: #1d4f7a !important;
    background: rgba(255, 255, 255, .96) !important;
    border-color: rgba(31, 111, 178, .48) !important;
    box-shadow: 0 12px 30px rgba(31, 111, 178, .14);
    transform: translateX(5px);
}

@media (max-width: 767px) {
    .program-art-squiggle { left: -60px; top: 125px; opacity: .7; }
    .program-art-square { right: -34px; top: 86px; }
    .program-art-stars { right: -12px; bottom: 28px; }
    .program-tab.active { transform: translateX(0); }
}

.content-card {
    border: 1px solid rgba(16, 42, 67, .09);
    box-shadow: 0 14px 40px rgba(16, 42, 67, .07);
}

.content-card:hover {
    box-shadow: 0 20px 52px rgba(16, 42, 67, .12);
    transform: translateY(-4px);
}

/* Why families choose us — an original feature constellation */
.why-constellation {
    background:
        radial-gradient(circle at 50% 46%, rgba(255, 255, 255, .95) 0 19%, transparent 42%),
        radial-gradient(circle at 8% 18%, rgba(242, 184, 75, .17), transparent 24%),
        radial-gradient(circle at 92% 80%, rgba(31, 111, 178, .15), transparent 28%),
        linear-gradient(145deg, #eef6fb 0%, #f8fbfd 48%, #eef5fa 100%);
    border-top: 1px solid rgba(16, 42, 67, .07);
    border-bottom: 1px solid rgba(16, 42, 67, .07);
}

.why-constellation::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: .32;
    background-image: radial-gradient(rgba(18, 58, 97, .18) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: linear-gradient(to bottom, transparent, black 16%, black 84%, transparent);
}

.why-constellation-orbit {
    position: absolute;
    width: 780px;
    height: 780px;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(31, 111, 178, .11);
    border-radius: 50%;
    box-shadow: 0 0 0 88px rgba(255, 255, 255, .18), 0 0 0 89px rgba(31, 111, 178, .06);
}

.why-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 1px solid rgba(31, 111, 178, .16);
    border-radius: 999px;
    padding: .55rem .9rem;
    color: var(--hva-blue);
    background: rgba(255,255,255,.72);
    box-shadow: 0 8px 24px rgba(16, 42, 67, .06);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.why-showcase-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 410px) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 4.5rem);
    align-items: center;
}

.why-feature-column { display: flex; flex-direction: column; gap: 3.25rem; }
.why-feature-card {
    position: relative;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.4rem 1.35rem;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(16, 42, 67, .09);
    border-radius: 1.25rem;
    box-shadow: 0 18px 50px rgba(16, 42, 67, .08);
    backdrop-filter: blur(12px);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.why-feature-card:hover { transform: translateY(-5px); box-shadow: 0 24px 58px rgba(16, 42, 67, .14); border-color: rgba(31, 111, 178, .22); }
.why-feature-card h3 { color: var(--hva-ink); font-size: .95rem; font-weight: 800; margin-bottom: .4rem; }
.why-feature-card p { color: #637589; font-size: .75rem; line-height: 1.7; }
.why-feature-icon {
    width: 54px; height: 54px; border-radius: 17px;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    box-shadow: 0 12px 25px currentColor;
    transition: transform .3s ease;
}
.why-feature-card:hover .why-feature-icon { transform: rotate(-6deg) scale(1.06); }
.why-feature-card-1 .why-feature-icon { background: #7c5ce5; box-shadow: 0 12px 28px rgba(124,92,229,.28); }
.why-feature-card-2 .why-feature-icon { background: #e98b3a; box-shadow: 0 12px 28px rgba(233,139,58,.27); }
.why-feature-card-3 .why-feature-icon { background: #1f84c6; box-shadow: 0 12px 28px rgba(31,132,198,.26); }
.why-feature-card-4 .why-feature-icon { background: #28a98b; box-shadow: 0 12px 28px rgba(40,169,139,.26); }
.why-feature-number { position: absolute; top: -11px; right: 16px; color: rgba(16,42,67,.25); font-size: .65rem; font-weight: 800; letter-spacing: .12em; background: #f7fafc; border: 1px solid rgba(16,42,67,.08); padding: .3rem .5rem; border-radius: 999px; }
.why-feature-column-right .why-feature-number { left: 16px; right: auto; }
.why-connector { position: absolute; top: 50%; width: clamp(2rem, 4vw, 4.5rem); height: 1px; background: linear-gradient(90deg, rgba(31,111,178,.38), rgba(31,111,178,.08)); }
.why-connector::after { content: ''; position: absolute; top: -4px; width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid rgba(31,111,178,.5); }
.why-feature-column-left .why-connector { right: calc(clamp(2rem, 4vw, 4.5rem) * -1); }
.why-feature-column-left .why-connector::after { right: -1px; }
.why-feature-column-right .why-connector { left: calc(clamp(2rem, 4vw, 4.5rem) * -1); transform: rotate(180deg); }
.why-feature-column-right .why-connector::after { right: -1px; }

.why-campus-card {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    border-radius: 2.25rem;
    border: 8px solid rgba(255,255,255,.85);
    box-shadow: 0 32px 80px rgba(16, 42, 67, .22);
    background: var(--hva-navy);
}
.why-campus-slides { position: absolute; inset: 0; }
.why-campus-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 43% center; opacity: 0; transform: scale(1.045); transition: opacity 1s ease, transform 5.5s ease; will-change: opacity, transform; }
.why-campus-slide.is-active { opacity: 1; transform: scale(1); }
.why-campus-card:hover .why-campus-slide.is-active { transform: scale(1.035); }
.why-campus-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(7,28,48,.92), rgba(7,28,48,.08) 58%, rgba(7,28,48,.16)); }
.why-campus-card figcaption { position: absolute; z-index: 2; left: 2rem; right: 7rem; bottom: 2rem; color: #fff; }
.why-campus-label { display: block; color: #bfdbfe; font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .65rem; }
.why-campus-card figcaption strong { font-family: 'Space Grotesk', 'Inter', sans-serif; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.03; }
.why-campus-dots { position: absolute; z-index: 3; right: 1.7rem; bottom: 2.25rem; display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.why-campus-dots button { width: 8px; height: 8px; padding: 0; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; background: rgba(255,255,255,.3); box-shadow: 0 3px 10px rgba(0,0,0,.18); transition: width .25s ease, background .25s ease, transform .25s ease; }
.why-campus-dots button:hover { transform: scale(1.18); background: rgba(255,255,255,.65); }
.why-campus-dots button.is-active { width: 25px; background: #f2b84b; border-color: #f2b84b; }
.why-campus-dots button:focus-visible { outline-color: rgba(255,255,255,.9); }
.why-campus-seal { position: absolute; z-index: 3; top: 1.25rem; right: 1.25rem; display: flex; align-items: center; gap: .6rem; padding: .65rem .8rem; color: #fff; background: rgba(13,42,69,.78); border: 1px solid rgba(255,255,255,.25); border-radius: 1rem; backdrop-filter: blur(12px); }
.why-campus-seal span { display: flex; flex-direction: column; font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.68); }
.why-campus-seal b { font-size: .9rem; color: #fff; line-height: 1.1; }
.why-bottom-note { margin-top: 3.25rem; display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.why-bottom-note span { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem .85rem; border-radius: 999px; background: rgba(255,255,255,.7); border: 1px solid rgba(16,42,67,.08); color: #53677b; font-size: .68rem; font-weight: 700; }
.why-bottom-note iconify-icon { color: var(--hva-blue); }

@media (max-width: 1023px) {
    .why-showcase-grid { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
    .why-campus-card { grid-column: 1 / -1; grid-row: 1; min-height: 440px; }
    .why-feature-column { gap: 1.25rem; }
    .why-connector { display: none; }
}

@media (max-width: 639px) {
    .why-showcase-grid { grid-template-columns: 1fr; }
    .why-campus-card { grid-column: auto; min-height: 430px; border-width: 6px; border-radius: 1.75rem; }
    .why-feature-card { grid-template-columns: 52px 1fr; padding: 1.2rem; }
    .why-feature-icon { width: 48px; height: 48px; border-radius: 15px; }
    .why-feature-column-right .why-feature-number { left: auto; right: 16px; }
}

@media (max-width: 767px) {
    .home-page .site-header { box-shadow: none; border-bottom: 0; background: #fff; }
    .home-page .site-header > div { height: 4rem; }
    .home-page main.flex-grow.pt-16 { padding-top: 4rem !important; }
    .home-page .language-toggle-label { display: none; }
    .home-page .language-toggle { min-width: 44px; min-height: 44px; padding: .5rem; }
    .home-page #mobile-menu-btn { background: transparent; }
    .home-page .why-constellation { padding: 3.5rem 0; background: linear-gradient(160deg, #eef4ff, #f8fafc 48%, #f0f9ff); border: 0; }
    .home-page .why-constellation > .max-w-7xl { padding-inline: clamp(1rem, 4.5vw, 1.5rem); }
    .home-page .why-constellation::before,
    .home-page .why-constellation-orbit,
    .home-page .why-feature-number,
    .home-page .why-connector { display: none; }
    .home-page .why-kicker { padding: .5rem .7rem; color: #2563eb; font-size: .625rem; letter-spacing: .08em; box-shadow: none; }
    .home-page .why-constellation > .max-w-7xl > .text-center { margin: 0 0 1.75rem; text-align: left; }
    .home-page .why-constellation > .max-w-7xl > .text-center > p { margin: 0; font-size: .9375rem; line-height: 1.7; color: #526476; }
    .home-page .why-constellation h2 {
        max-width: 22rem;
        margin: 1rem 0;
        color: var(--hva-navy);
        font-family: 'Inter', Arial, sans-serif;
        font-size: clamp(2rem, 8vw, 2.75rem);
        font-weight: 700;
        line-height: 1.12;
        letter-spacing: -.04em;
    }
    .home-page .why-showcase-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .home-page .why-feature-column { width: 100%; min-width: 0; gap: 1rem; }
    .home-page .why-feature-card {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        align-items: start;
        gap: .875rem;
        max-width: none;
        width: 100%;
        margin: 0 auto;
        padding: 1.25rem 1rem;
        text-align: left;
        background: #fff;
        border: 1px solid #e0e8f3;
        border-radius: 1.125rem;
        box-shadow: 0 6px 20px #123a6106;
        backdrop-filter: none;
        transform: none;
    }
    .home-page .why-feature-card .why-feature-icon {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        color: #fff;
        border-radius: 15px;
        box-shadow: none;
        transform: none;
    }
    .home-page .why-feature-card h3 { margin: .15rem 0 .5rem; color: #123a61; font-size: 1rem; line-height: 1.35; font-weight: 700; }
    .home-page .why-feature-card p { color: #526476; font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; }
    .home-page .why-campus-card { grid-column: 1 / -1; grid-row: 1; width: 100%; min-width: 0; min-height: 0; height: clamp(17rem, 82vw, 26rem); margin: 0 0 .5rem; border: 4px solid #fff; border-radius: 1.5rem; box-shadow: 0 12px 30px #123a611a; }
    .home-page .why-campus-card figcaption { left: 1.25rem; right: 1.25rem; bottom: 4.25rem; }
    .home-page .why-campus-card figcaption strong { display: block; font-size: clamp(1.65rem, 6.5vw, 2.25rem); line-height: 1.1; }
    .home-page .why-campus-label { font-size: .5625rem; letter-spacing: .1em; }
    .home-page .why-campus-seal { top: .75rem; right: .75rem; padding: .55rem .65rem; border-radius: .85rem; }
    .home-page .why-campus-dots { left: 1rem; right: auto; bottom: .75rem; gap: .125rem; }
    .home-page .why-campus-dots button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: transparent; box-shadow: none; transform: none; touch-action: manipulation; }
    .home-page .why-campus-dots button::after { content: ''; width: 8px; height: 8px; border-radius: 999px; background: #ffffff80; }
    .home-page .why-campus-dots button.is-active::after { width: 24px; background: #60a5fa; }
    .home-page .why-campus-dots button:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
    .home-page .why-bottom-note { justify-content: flex-start; margin-top: 1.5rem; gap: .5rem; }
    .home-page .why-bottom-note span { padding: .6rem .7rem; font-size: .6875rem; font-weight: 500; }
    .home-page .why-constellation .scroll-reveal { opacity: 1; transform: none; transition: none; }
}
@media (min-width: 600px) and (max-width: 767px) {
    .home-page .why-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
    .home-page .why-feature-card { flex: 1; grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .why-campus-slide { transition: none; transform: none; }
}


/* Alumni: a shared beginning, with room for every next chapter. */
.alumni-container { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.alumni-hero { overflow: hidden; padding: 1.75rem 0 5rem; background: #ffffff; }
.alumni-breadcrumb { display: flex; gap: .75rem; margin-bottom: 3.5rem; color: #7a858b; font-size: .68rem; }
.alumni-breadcrumb a:hover { color: var(--hva-navy); text-decoration: underline; }
.alumni-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: center; }
.alumni-hero-copy h1 { margin: 1.4rem 0; color: var(--hva-navy); font-size: clamp(3rem, 5.5vw, 5.1rem); font-weight: 600; line-height: 1.08; letter-spacing: -.055em; }
.alumni-hero-copy h1 em, .alumni-story-copy h2 em { color: #155be5; font-family: 'Inter', Arial, sans-serif; font-weight: 400; }
.alumni-hero-copy > p { max-width: 31rem; color: #64717e; font-size: .92rem; line-height: 1.85; }
.alumni-actions { display: flex; align-items: center; gap: 1rem 1.4rem; flex-wrap: wrap; margin-top: 2rem; }
.alumni-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.4rem; min-height: 48px; padding: .9rem 1.35rem; border: 1px solid var(--hva-navy); border-radius: 4px; background: var(--hva-navy); color: #fff; font-size: .76rem; font-weight: 600; transition: background .2s ease, transform .2s ease; }
.alumni-button:hover { color: #fff; background: #1d537e; transform: translateY(-2px); }
.alumni-text-link { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; color: var(--hva-navy); font-size: .72rem; font-weight: 600; }
.alumni-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.alumni-hero-copy .alumni-hero-note { margin-top: 1.4rem; color: #849099; font-size: .66rem; }
.alumni-hero-visual { position: relative; min-width: 0; padding: 0 0 4rem 2rem; }
.alumni-campus-photo { position: relative; margin: 0; padding: .55rem .55rem 2.75rem; background: #fff; transform: rotate(3deg); box-shadow: 0 14px 36px rgba(16,42,67,.08); }
.alumni-campus-photo img { display: block; width: 100%; aspect-ratio: 1.05; object-fit: cover; object-position: 36% center; }
.alumni-campus-photo figcaption { position: absolute; bottom: .9rem; left: 1rem; color: #697680; font-size: .66rem; }
.alumni-memory-photo { position: absolute; bottom: 0; left: -1.5rem; width: 47%; margin: 0; padding: 5px 5px 1.6rem; background: #fff; transform: rotate(-7deg); box-shadow: 0 10px 26px rgba(16,42,67,.13); }
.alumni-memory-photo img { display: block; width: 100%; aspect-ratio: 1.45; object-fit: cover; filter: grayscale(1); }
.alumni-memory-photo figcaption { position: absolute; bottom: .5rem; left: .6rem; color: #687781; font-size: .53rem; }
.alumni-photo-label { position: absolute; bottom: 1.5rem; right: 0; max-width: 48%; color: #8f783f; font-size: .53rem; line-height: 1.6; letter-spacing: .1em; }
.alumni-belong { padding: 2.5rem 0; border-block: 1px solid #e3e7e8; background: #fff; }
.alumni-belong-grid { display: grid; grid-template-columns: .65fr 1.6fr 1.2fr; gap: 2.5rem; align-items: center; }
.alumni-belong-mark { color: #a48a50; font-family: 'Inter', Arial, sans-serif; font-size: 2.6rem; line-height: 1; }
.alumni-belong-mark span { display: block; margin-top: .6rem; color: #7c8991; font-family: 'Geist', sans-serif; font-size: .54rem; letter-spacing: .13em; text-transform: uppercase; }
.alumni-belong h2 { color: var(--hva-navy); font-size: 1.25rem; font-weight: 500; line-height: 1.5; }
.alumni-belong p { color: #71808b; font-size: .8rem; line-height: 1.8; }
.alumni-involvement { padding: 5.5rem 0; scroll-margin-top: 6rem; }
.alumni-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.alumni-section-heading h2, .alumni-story-copy h2, .alumni-faq h2 { margin: 1rem 0 0; color: var(--hva-navy); font-size: clamp(2rem, 3.3vw, 3rem); font-weight: 600; line-height: 1.15; letter-spacing: -.04em; }
.alumni-section-heading > p { max-width: 19rem; color: #71808b; font-size: .85rem; line-height: 1.8; }
.alumni-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.alumni-way { display: flex; flex-direction: column; padding: 2rem; background: #f8fafb; border: 1px solid #e3e9ed; border-radius: 6px; }
.alumni-way-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; color: var(--hva-navy); }
.alumni-way-top > span { color: #9aa8b2; font-family: 'Inter', Arial, sans-serif; font-size: 1.1rem; }
.alumni-way h3 { color: var(--hva-navy); font-size: 1.25rem; font-weight: 600; line-height: 1.35; }
.alumni-way p { flex: 1; margin: 1rem 0 1.6rem; color: #6b7c89; font-size: .8rem; line-height: 1.85; }
.alumni-way > a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; padding-top: .75rem; border-top: 1px solid #dce4e8; color: var(--hva-navy); font-size: .72rem; font-weight: 600; }
.alumni-way > a:hover { color: var(--hva-blue); }
.alumni-stories { padding: 4.5rem 0; background: #ffffff; }
.alumni-stories-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: center; }
.alumni-story-visual { position: relative; min-width: 0; }
.alumni-story-visual img { display: block; width: 100%; aspect-ratio: 1.15; object-fit: cover; filter: grayscale(1); }
.alumni-story-visual > span { position: absolute; bottom: 1rem; left: 1rem; padding: .55rem .8rem; color: var(--hva-navy); background: #fff; font-size: .65rem; }
.alumni-story-copy p { margin: 1.4rem 0 1.6rem; color: #697b86; font-size: .85rem; line-height: 1.9; }
.alumni-story-copy > .alumni-text-link { display: flex; width: fit-content; margin-top: .85rem; }
.alumni-faq { padding: 5rem 0; }
.alumni-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; }
.alumni-faq-grid > div > p { margin-top: 1.5rem; color: #6b7c89; font-size: .8rem; line-height: 1.8; }
.alumni-faq a { color: var(--hva-blue); text-decoration: underline; text-underline-offset: 3px; }
.alumni-faq-list details { padding: 1.3rem 0; border-bottom: 1px solid #e3e8eb; }
.alumni-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; color: var(--hva-navy); font-size: .88rem; font-weight: 500; list-style: none; cursor: pointer; }
.alumni-faq-list summary::-webkit-details-marker { display: none; }
.alumni-faq-list summary > .faq-toggle { flex-shrink: 0; color: #155be5; font-size: 1.5rem; }
.alumni-faq-list details[open] summary > .faq-toggle { transform: rotate(45deg); }
.alumni-faq-list summary:focus-visible { outline: 3px solid #80b4d9; outline-offset: 4px; }
.alumni-faq-list p { padding: .75rem 1.5rem .25rem 0; color: #6b7c89; font-size: .8rem; line-height: 1.85; }
.alumni-homecoming { padding: 3.5rem 0; background: var(--hva-navy); }
.alumni-homecoming > div { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.alumni-homecoming > div > div > span { color: #dbc38e; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.alumni-homecoming h2 { margin-top: 1rem; color: #fff; font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.2; font-weight: 500; }
.alumni-button-light { flex-shrink: 0; background: #fff; color: var(--hva-navy); border-color: #fff; }
.alumni-button-light:hover { background: #f2e4c5; color: var(--hva-navy); border-color: #f2e4c5; }
@media (max-width: 1023px) {
    .alumni-hero-grid { gap: 2rem; }
    .alumni-hero-copy h1 { font-size: clamp(2.7rem, 5.5vw, 4rem); }
    .alumni-hero-copy > p { font-size: .82rem; }
    .alumni-hero-visual { padding-left: 1rem; }
    .alumni-belong-grid { grid-template-columns: 1fr 2fr; gap: 1.5rem; }
    .alumni-belong-grid > p { grid-column: 2; }
    .alumni-way { padding: 1.4rem; }
    .alumni-stories-grid, .alumni-faq-grid { gap: 2.5rem; }
}
@media (max-width: 767px) {
    .alumni-container { width: calc(100% - 2.5rem); }
    .alumni-hero { padding-bottom: 3rem; }
    .alumni-breadcrumb { margin-bottom: 2rem; }
    .alumni-hero-grid, .alumni-stories-grid, .alumni-faq-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
    .alumni-hero-copy h1 { font-size: clamp(2.6rem, 10.5vw, 4rem); }
    .alumni-hero-copy > p { font-size: .85rem; }
    .alumni-hero-visual { width: 100%; max-width: 30rem; margin-inline: auto; padding: .5rem 1rem 4rem 2rem; }
    .alumni-campus-photo img { aspect-ratio: 1.3; }
    .alumni-memory-photo { left: 0; }
    .alumni-photo-label { right: .5rem; font-size: .45rem; }
    .alumni-belong-grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .alumni-belong-grid > p { grid-column: auto; }
    .alumni-belong-mark { font-size: 2rem; }
    .alumni-involvement, .alumni-stories, .alumni-faq { padding: 3.5rem 0; }
    .alumni-section-heading { flex-direction: column; align-items: start; gap: 1rem; margin-bottom: 1.75rem; }
    .alumni-ways { grid-template-columns: minmax(0, 1fr); }
    .alumni-way { padding: 1.5rem; }
    .alumni-way-top { margin-bottom: 1.25rem; }
    .alumni-homecoming > div { flex-direction: column; align-items: flex-start; }
}

/* Alumni spotlight and dedicated story submission. */
.alumni-success { padding: 5rem 0 0; scroll-margin-top: 6rem; }
.alumni-success-card { max-width: 1040px; margin-inline: auto; padding: clamp(1.25rem, 3.5vw, 2.5rem); border: 1px solid #e1e8ee; border-radius: 18px; background: #fff; box-shadow: 0 8px 32px #123a6106; overflow-wrap: anywhere; }
.alumni-success-card + .alumni-success-card { margin-top: 1.5rem; }
.alumni-success-person { display: flex; align-items: center; gap: 1.25rem; padding-bottom: 1.5rem; border-bottom: 1px solid #edf0f3; }
.alumni-success-photo { display: block; width: 80px; height: 80px; object-fit: cover; object-position: center; flex: 0 0 auto; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px #e1e8ee; }
.alumni-success-identity { min-width: 0; }
.alumni-success-person h3 { margin: 0; color: var(--hva-navy); font-size: 1.15rem; line-height: 1.35; font-weight: 600; }
.alumni-success-identity > p { margin-top: .2rem; color: #647583; font-size: .8rem; line-height: 1.6; }
.alumni-success-label { display: inline-block; margin-top: .45rem; padding: .2rem .6rem; border-radius: 20px; background: #faf4e8; color: #80632d; font-size: .65rem; line-height: 1.6; }
.alumni-success-batch { display: block; margin-top: .35rem; color: #687d90; font-size: .7rem; }
.alumni-success-copy { min-width: 0; padding-top: 1.5rem; }
.alumni-success-copy > .eyebrow { font-size: .62rem; letter-spacing: .12em; }
.alumni-success-copy > h3 { max-width: 32ch; margin: .75rem 0 1rem; color: var(--hva-navy); font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.25; letter-spacing: -.025em; font-weight: 600; }
.alumni-success-copy p { max-width: 80ch; color: #647583; font-size: .875rem; line-height: 1.85; }
.alumni-success-details { margin-top: 1.5rem; padding-top: .75rem; border-top: 1px solid #edf0f3; }
.alumni-success-details h4 { display: flex; align-items: center; min-height: 44px; margin: 0; color: var(--hva-navy); font-size: .8rem; font-weight: 600; letter-spacing: normal; }
.alumni-success-details p { margin-top: 1rem; }
.story-submit-page { padding: 2rem 0 5rem; background: #ffffff; }
.story-submit-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: 4rem; align-items: start; }
.story-submit-intro { position: sticky; top: 7rem; }
.story-submit-intro h1 { margin: 1.25rem 0; color: var(--hva-navy); font-size: clamp(2.4rem, 4vw, 3.75rem); font-weight: 600; line-height: 1.1; letter-spacing: -.045em; }
.story-submit-intro h1 em { color: #155be5; font-family: 'Inter', Arial, sans-serif; font-weight: 400; }
.story-submit-intro > p { color: #687986; font-size: .85rem; line-height: 1.9; }
.story-submit-guide { margin-top: 2rem; padding: 1.5rem; background: #edf1ef; border-left: 2px solid #b29a64; }
.story-submit-guide h2 { color: var(--hva-navy); font-size: .86rem; font-weight: 600; }
.story-submit-guide ul { margin-top: .8rem; padding-left: 1rem; color: #617585; font-size: .75rem; line-height: 1.9; list-style: disc; }
.story-submit-guide li + li { margin-top: .4rem; }
.story-submit-intro .story-submit-note { margin: 1.5rem 0 .7rem; font-size: .72rem; }
.story-form-card { min-width: 0; padding: clamp(1.3rem, 3.2vw, 2.6rem); border: 1px solid #e0e6e7; border-radius: 8px; background: #fff; scroll-margin-top: 6rem; }
.story-form-heading > span { color: #967a40; font-size: .58rem; letter-spacing: .12em; }
.story-form-heading h2 { margin: .7rem 0; color: var(--hva-navy); font-size: 1.7rem; line-height: 1.2; font-weight: 600; }
.story-form-heading > p { color: #768792; font-size: .72rem; }
.story-submit-form fieldset { min-width: 0; margin: 2rem 0 0; padding: 0; border: 0; }
.story-submit-form legend { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.25rem; color: var(--hva-navy); font-size: .84rem; font-weight: 600; }
.story-submit-form legend > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #edf2f5; color: #476e88; font-size: .63rem; }
.story-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.story-form-wide { grid-column: 1 / -1; }
.story-form-field { min-width: 0; }
.story-form-field + .story-form-field { margin-top: 1.1rem; }
.story-form-grid .story-form-field { margin-top: 0; }
.story-form-field label { display: block; margin-bottom: .5rem; color: #405b70; font-size: .73rem; font-weight: 600; }
.story-form-field label small { color: #748692; font-size: .65rem; font-weight: 400; }
.story-form-field input, .story-form-field textarea, .story-form-field select { display: block; width: 100%; min-width: 0; min-height: 46px; padding: .85rem .9rem; border: 1px solid #d6e0e5; border-radius: 5px; background: #fbfcfd; color: #25435b; font-size: .82rem; line-height: 1.6; }
.story-form-field textarea { resize: vertical; }
.story-form-field input::placeholder, .story-form-field textarea::placeholder { color: #85939d; }
.story-form-field [aria-invalid="true"] { border-color: #bc4545; }
.story-form-field .story-field-hint { margin-top: .45rem; color: #788891; font-size: .65rem; line-height: 1.6; }
.story-field-error { margin-top: .45rem; color: #ae3535; font-size: .7rem; line-height: 1.6; }
.story-form-errors { margin-top: 1.5rem; padding: 1rem; color: #992f2f; background: #fff2f0; border: 1px solid #efcdca; border-radius: 5px; font-size: .75rem; line-height: 1.8; }
.story-form-errors ul { padding-left: 1rem; margin-top: .4rem; list-style: disc; }
.story-form-errors a { text-decoration: underline; text-underline-offset: 3px; }
.story-consent { display: grid; gap: 1rem; margin-top: 1.75rem; padding: 1.1rem; border: 1px solid #e3e8e8; background: #f8faf9; border-radius: 5px; }
.story-consent label { display: flex; align-items: flex-start; gap: .7rem; min-height: 44px; color: #627380; font-size: .72rem; line-height: 1.8; cursor: pointer; }
.story-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .2rem; accent-color: #123a61; }
.story-consent small { display: block; font-size: .65rem; }
.story-form-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1.75rem; }
.story-form-actions > span { color: #7b8992; font-size: .64rem; line-height: 1.7; }
.story-form-success { padding: 2.5rem 0; text-align: center; }
.story-form-success > iconify-icon { color: #31876d; }
.story-form-success h2 { margin: 1.5rem auto 1rem; max-width: 25rem; color: var(--hva-navy); font-size: 2rem; line-height: 1.2; }
.story-form-success p { margin: 0 auto 1.5rem; color: #6c7d89; font-size: .85rem; line-height: 1.85; }
@media (max-width: 1023px) {
    .story-submit-layout { gap: 2rem; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
    .story-form-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .alumni-success { padding-top: 3rem; }
    .story-submit-layout { grid-template-columns: minmax(0, 1fr); }
    .alumni-success-person { gap: 1rem; padding-bottom: 1.25rem; }
    .alumni-success-photo { width: 64px; height: 64px; }
    .alumni-success-copy { padding-top: 1.25rem; }
    .story-submit-intro { position: static; }
    .story-submit-intro h1 { font-size: clamp(2.6rem, 9vw, 3.4rem); }
    .story-submit-guide { margin-top: 1.25rem; }
    .story-submit-page { padding-bottom: 3rem; }
}

/* Admission application, sharing the site's accessible form layout. */
.application-overview { display: grid; gap: .8rem; margin: 1.8rem 0; }
.application-overview > span { display: flex; align-items: center; gap: .75rem; color: #46657c; font-size: .8rem; }
.application-overview iconify-icon { color: #a4894b; }
.application-reference { margin: 1.5rem auto; padding: 1.2rem; border: 1px dashed #bacbd3; border-radius: 6px; background: #f5f8f9; }
.application-reference span { display: block; margin-bottom: .6rem; color: #7a8b95; font-size: .58rem; letter-spacing: .13em; }
.application-reference strong { display: block; color: var(--hva-navy); font-size: clamp(.9rem, 2.4vw, 1.2rem); font-weight: 700; overflow-wrap: anywhere; }
.admission-application .story-submit-intro .story-submit-guide { padding: 1.25rem; }
.admission-application .story-form-heading > p { max-width: 30rem; line-height: 1.8; }
.admission-application .story-form-field select { cursor: pointer; padding-right: 1.5rem; }
#documents-title { scroll-margin-top: 6rem; }
@media (max-width: 767px) {
    .story-form-field input, .story-form-field textarea, .story-form-field select { font-size: 16px; }
    .admission-application .story-submit-intro { max-width: 34rem; }
    .admission-application .story-form-actions .alumni-button { width: 100%; }
}

/* Admissions page */
.admissions-hero { position: relative; min-height: 610px; display: flex; align-items: center; overflow: hidden; color: #fff; background: #09233b; }
.admissions-hero-image { position: absolute; inset: 0; background: url('../images/optimized/378519933_1468174437265577_4515663432209_n.jpg') 54% center / cover no-repeat; transform: scale(1.015); }
.admissions-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,25,43,.97) 0%, rgba(8,37,62,.9) 47%, rgba(8,37,62,.4) 76%, rgba(8,37,62,.2) 100%); }
.admissions-hero-content { max-width: 750px; padding: 7.5rem 0 7rem; }
.admissions-breadcrumb { display: flex; align-items: center; gap: .45rem; margin-bottom: 2rem; color: rgba(255,255,255,.5); font-size: .63rem; font-weight: 700; }
.admissions-breadcrumb a { color: rgba(255,255,255,.7); }
.admissions-breadcrumb a:hover { color: #fff; }
.admissions-eyebrow { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .85rem; color: #b9e2f7; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; backdrop-filter: blur(10px); }
.admissions-hero h1 { margin: 1.35rem 0 1.4rem; color: #fff; font-size: clamp(3.6rem, 7vw, 6.5rem); line-height: .92; }
.admissions-hero-content > p { max-width: 650px; color: rgba(255,255,255,.68); font-size: .95rem; line-height: 1.8; }
.admissions-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin-top: 2.25rem; }
.admissions-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: 0 1.15rem; border-radius: .8rem; font-size: .72rem; font-weight: 800; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.admissions-button-primary { color: #15344e; background: #f2b84b; box-shadow: 0 14px 32px rgba(242,184,75,.2); }
.admissions-button-primary:hover { color: #102a43; background: #ffcb69; transform: translateY(-2px); box-shadow: 0 18px 38px rgba(242,184,75,.25); }
.admissions-button-ghost { color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(10px); }
.admissions-button-ghost:hover { color: #fff; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.3); transform: translateY(-2px); }
.admissions-page { padding: 6rem 0 7rem; background: linear-gradient(180deg, #f4f8fb 0%, #fbfcfd 36%, #f5f8fb 100%); }
.admission-intro-card { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; gap: 1.25rem; align-items: center; margin-bottom: 1.5rem; padding: 1.4rem 1.5rem; color: #fff; background: linear-gradient(115deg, #123a61, #1c6597); border: 1px solid rgba(255,255,255,.16); border-radius: 1.4rem; box-shadow: 0 20px 50px rgba(16,42,67,.16); }
.admission-intro-icon { width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; color: #173f65; background: #f2b84b; border-radius: 1rem; }
.admission-intro-card span, .admission-section-heading small, .admission-compact-heading small, .admission-guidance-copy > small, .admission-contact-card > small, .admission-final-card small { display: block; margin-bottom: .25rem; font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.admission-intro-card span { color: #b9dcf1; }
.admission-intro-card h2 { color: #fff; font-family: 'Space Grotesk', 'Inter', sans-serif; font-size: 1.05rem; font-weight: 800; }
.admission-intro-card p { margin-top: .35rem; color: rgba(255,255,255,.62); font-size: .67rem; line-height: 1.6; }
.admission-intro-card > a { display: inline-flex; align-items: center; gap: .35rem; padding: .75rem .9rem; color: #173f65; background: #fff; border-radius: .7rem; font-size: .65rem; font-weight: 800; white-space: nowrap; transition: transform .2s ease; }
.admission-intro-card > a:hover { color: #173f65; transform: translateY(-2px); }
.admission-panel { margin-bottom: 1.5rem; padding: clamp(1.5rem, 4vw, 2.6rem); background: #fff; border: 1px solid rgba(16,42,67,.08); border-radius: 1.5rem; box-shadow: 0 14px 42px rgba(16,42,67,.06); }
.admission-section-heading { display: grid; grid-template-columns: 48px minmax(240px, .8fr) minmax(280px, 1.2fr); gap: 1.15rem; align-items: center; margin-bottom: 2.3rem; padding-bottom: 1.6rem; border-bottom: 1px solid #edf1f4; }
.admission-section-number { width: 43px; height: 43px; display: flex; align-items: center; justify-content: center; color: #1f6fb2; background: #edf6fb; border: 1px solid rgba(31,111,178,.12); border-radius: .8rem; font-family: 'Geist', 'Inter', sans-serif; font-size: 1.05rem; font-weight: 700; }
.admission-section-heading small, .admission-compact-heading small, .admission-guidance-copy > small { color: #1f6fb2; }
.admission-section-heading h2, .admission-compact-heading h2, .admission-guidance-copy h2 { color: #15344e; font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.05; }
.admission-section-heading > p { color: #718292; font-size: .72rem; line-height: 1.7; }
.admission-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.admission-step { position: relative; min-width: 0; padding: 1.2rem; background: #f8fafc; border: 1px solid #edf1f4; border-radius: 1rem; }
.admission-step-icon { width: 45px; height: 45px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.2rem; color: #fff; background: #1f6fb2; border-radius: .8rem; box-shadow: 0 10px 22px rgba(31,111,178,.18); }
.admission-step > small { color: #98a5b1; font-size: .52rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admission-step h3 { margin: .3rem 0 .55rem; color: #203b53; font-size: .78rem; font-weight: 800; }
.admission-step p { color: #738391; font-size: .64rem; line-height: 1.65; }
.admission-step-line { position: absolute; width: 1rem; height: 1px; right: -1.05rem; top: 2.65rem; z-index: 2; background: rgba(31,111,178,.28); }
.admission-two-column { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 1.5rem; align-items: stretch; }
.admission-two-column .admission-panel { margin-bottom: 1.5rem; }
.admission-compact-heading { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.7rem; }
.admission-compact-heading > span { width: 47px; height: 47px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; color: #1f6fb2; background: #edf6fb; border-radius: .9rem; }
.admission-compact-heading h2 { font-size: 1.75rem; }
.admission-documents ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; }
.admission-documents li { display: flex; align-items: flex-start; gap: .55rem; padding: .75rem .8rem; color: #53687b; background: #f8fafc; border: 1px solid #edf1f4; border-radius: .75rem; font-size: .65rem; font-weight: 650; line-height: 1.55; }
.admission-documents li iconify-icon { flex: 0 0 auto; margin-top: .08rem; color: #27a182; }
.admission-small-print { margin-top: 1rem; color: #8a98a5; font-size: .58rem; line-height: 1.6; }
.admission-contact-card { position: relative; min-height: 100%; overflow: hidden; margin-bottom: 1.5rem; padding: 2.3rem; color: #fff; background: linear-gradient(145deg, #0d2a45, #14496f); border-radius: 1.5rem; box-shadow: 0 20px 48px rgba(13,42,69,.17); }
.admission-contact-pattern { position: absolute; width: 230px; height: 230px; right: -95px; top: -90px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.025), 0 0 0 70px rgba(255,255,255,.014); }
.admission-contact-icon { position: relative; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; color: #173f65; background: #f2b84b; border-radius: .9rem; }
.admission-contact-card > small { position: relative; color: #a9d6ee; }
.admission-contact-card h2 { position: relative; margin: .35rem 0 .8rem; color: #fff; font-size: 2rem; line-height: 1.05; }
.admission-contact-card > p { position: relative; color: rgba(255,255,255,.6); font-size: .68rem; line-height: 1.65; }
.admission-contact-details { position: relative; display: flex; flex-direction: column; gap: .65rem; margin-top: 1.6rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); }
.admission-contact-details a, .admission-contact-details span { display: flex; align-items: flex-start; gap: .55rem; color: rgba(255,255,255,.76); font-size: .62rem; font-weight: 650; line-height: 1.5; }
.admission-contact-details iconify-icon { flex: 0 0 auto; color: #78c4e9; }
.admission-contact-details a:hover { color: #fff; }
.admission-levels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.admission-level { min-height: 275px; display: flex; flex-direction: column; padding: 1.5rem; overflow: hidden; border: 1px solid #e7edf2; border-radius: 1.1rem; background: linear-gradient(145deg, #fff, #f8fafc); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.admission-level:hover { transform: translateY(-5px); border-color: rgba(31,111,178,.2); box-shadow: 0 18px 40px rgba(16,42,67,.1); }
.admission-level-top { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: 1.5rem; }
.admission-level-top > span { width: 49px; height: 49px; display: flex; align-items: center; justify-content: center; color: #fff; background: #e88b42; border-radius: .9rem; }
.admission-level-2 .admission-level-top > span { background: #2ca17f; }
.admission-level-3 .admission-level-top > span { background: #1f78b2; }
.admission-level-top small { color: #8493a0; font-size: .55rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admission-level h3 { color: #1b3952; font-size: 1rem; font-weight: 800; }
.admission-level > p { margin: .7rem 0 1.3rem; color: #748492; font-size: .66rem; line-height: 1.7; }
.admission-level > a { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; color: #1f6fb2; font-size: .62rem; font-weight: 800; }
.admission-level > a:hover { color: #164f7c; }
.admission-guidance { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.admission-guidance-visual { position: relative; min-height: 385px; overflow: hidden; border-radius: 1.2rem; background: #dbe8f0; }
.admission-guidance-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,35,58,.58), transparent 50%); }
.admission-guidance-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.admission-guidance-visual > span { position: absolute; z-index: 2; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .45rem; padding: .65rem .8rem; color: #fff; background: rgba(13,42,69,.78); border: 1px solid rgba(255,255,255,.2); border-radius: .75rem; font-size: .6rem; font-weight: 800; backdrop-filter: blur(10px); }
.admission-guidance-copy .admission-section-number { margin-bottom: 1.25rem; }
.admission-guidance-copy h2 { max-width: 540px; margin: .45rem 0 1rem; font-size: clamp(2.25rem, 4vw, 3.6rem); }
.admission-guidance-copy > p { color: #6f8191; font-size: .76rem; line-height: 1.8; }
.admission-guidance-points { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.5rem; }
.admission-guidance-points span { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem .7rem; color: #486278; background: #f4f8fb; border: 1px solid #e7edf2; border-radius: .7rem; font-size: .6rem; font-weight: 800; }
.admission-guidance-points iconify-icon { color: #1f6fb2; }
.admission-final-card { display: flex; align-items: center; justify-content: space-between; gap: 3rem; margin-top: 2.2rem; padding: clamp(2rem, 5vw, 3.5rem); color: #fff; background: linear-gradient(120deg, #0d2a45, #165783); border-radius: 1.7rem; box-shadow: 0 24px 60px rgba(13,42,69,.18); }
.admission-final-card small { color: #a9d8f2; }
.admission-final-card h2 { max-width: 620px; margin: .35rem 0 .7rem; color: #fff; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.02; }
.admission-final-card p { max-width: 650px; color: rgba(255,255,255,.6); font-size: .7rem; line-height: 1.7; }
.admission-final-actions { flex: 0 0 auto; display: flex; align-items: center; flex-direction: column; gap: .75rem; }
.admission-text-link { color: rgba(255,255,255,.65); font-size: .62rem; font-weight: 800; }
.admission-text-link:hover { color: #fff; }

@media (max-width: 1023px) {
    .admissions-hero { min-height: 570px; }
    .admissions-hero-shade { background: linear-gradient(90deg, rgba(5,25,43,.96), rgba(8,37,62,.8)); }
    .admission-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admission-step-line { display: none; }
    .admission-two-column { grid-template-columns: 1fr; }
    .admission-contact-card { min-height: 360px; }
    .admission-guidance { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
    .admissions-hero { min-height: 610px; }
    .admissions-hero-image { background-position: 64% center; }
    .admissions-hero-shade { background: linear-gradient(90deg, rgba(5,25,43,.96), rgba(8,37,62,.78)); }
    .admissions-hero-content { padding: 6rem 0 5rem; }
    .admissions-hero h1 { font-size: clamp(3.4rem, 17vw, 5rem); }
    .admissions-page { padding: 4.5rem 0 5rem; }
    .admission-intro-card { grid-template-columns: 54px 1fr; }
    .admission-intro-icon { width: 51px; height: 51px; }
    .admission-intro-card > a { grid-column: 1 / -1; }
    .admission-section-heading { grid-template-columns: 44px 1fr; }
    .admission-section-heading > p { grid-column: 1 / -1; }
    .admission-levels { grid-template-columns: 1fr; }
    .admission-level { min-height: 245px; }
    .admission-guidance { grid-template-columns: 1fr; }
    .admission-guidance-visual { min-height: 330px; }
    .admission-final-card { align-items: flex-start; flex-direction: column; }
    .admission-final-actions { width: 100%; align-items: stretch; }
}

@media (max-width: 480px) {
    .admissions-hero-actions { align-items: stretch; flex-direction: column; }
    .admissions-button { width: 100%; }
    .admission-steps, .admission-documents ul { grid-template-columns: 1fr; }
    .admission-panel { border-radius: 1.2rem; }
    .admission-contact-card { padding: 1.7rem; }
}

/* Admissions typography and restrained visual system */
.admissions-page-body { font-family: 'Inter', Arial, sans-serif; }
.admissions-page-body h1,
.admissions-page-body h2,
.admissions-page-body h3 { font-family: 'Space Grotesk', 'Inter', sans-serif; letter-spacing: -.025em; }
.admissions-page-body small,
.admissions-page-body nav,
.admissions-page-body button,
.admissions-page-body .admissions-button,
.admissions-page-body .admission-text-link { font-family: 'Geist', 'Inter', sans-serif; }
.admissions-page { background: #f6f7f9; }
.admissions-button { border-radius: 10px; }
.admissions-button-primary { color: #172f43; background: #f5bd52; box-shadow: none; }
.admissions-button-primary:hover { background: #f8c96e; box-shadow: none; transform: translateY(-1px); }
.admission-intro-card { background: #173f5f; border: 0; border-radius: 16px; box-shadow: 0 8px 24px rgba(18,48,72,.1); }
.admission-intro-icon { color: inherit; background: #fff5df; border-radius: 12px; font-size: 1.45rem; }
.admission-intro-card > a { border-radius: 9px; }
.admission-panel { border-color: #e5e8ec; border-radius: 18px; box-shadow: 0 5px 18px rgba(25,45,62,.045); }
.admission-section-heading { grid-template-columns: minmax(240px, .8fr) minmax(280px, 1.2fr); }
.admission-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.admission-step { padding: 1.35rem; background: #fff; border-color: #e4e8ec; border-radius: 14px; }
.admission-step-icon { width: 44px; height: 44px; margin-bottom: 1.35rem; color: inherit; background: #f4f5f6; border: 1px solid #e6e8ea; border-radius: 11px; box-shadow: none; font-size: 1.25rem; }
.admission-step h3 { font-size: .84rem; }
.admission-step-line { display: none; }
.admission-compact-heading > span { color: inherit; background: #f4f5f6; border: 1px solid #e6e8ea; border-radius: 11px; font-size: 1.25rem; }
.admission-documents li { background: #fff; border-color: #e5e8ec; border-radius: 10px; }
.admission-documents li b { width: 18px; height: 18px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; margin-top: .05rem; color: #19795f; background: #eaf6f1; border-radius: 50%; font-size: .68rem; }
.admission-contact-card { background: #173f5f; border-radius: 18px; box-shadow: 0 8px 24px rgba(18,48,72,.1); }
.admission-contact-pattern { display: none; }
.admission-contact-icon { color: inherit; background: #fff5df; border-radius: 11px; font-size: 1.35rem; }
.admission-level { background: #fff; border-color: #e4e8ec; border-radius: 16px; }
.admission-level:hover { transform: translateY(-2px); border-color: #d7dde2; box-shadow: 0 10px 24px rgba(25,45,62,.07); }
.admission-level-top > span,
.admission-level-2 .admission-level-top > span,
.admission-level-3 .admission-level-top > span { color: inherit; background: #f4f5f6; border: 1px solid #e6e8ea; border-radius: 11px; font-size: 1.35rem; }
.admission-guidance { border-radius: 18px; }
.admission-guidance-visual { border-radius: 14px; }
.admission-guidance-points span { background: #fff; border-color: #e3e7ea; border-radius: 9px; }
.admission-guidance-points b { font-size: .85rem; }
.admission-final-card { background: #173f5f; border-radius: 18px; box-shadow: 0 8px 24px rgba(18,48,72,.1); }

@media (max-width: 1023px) {
    .admission-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .admission-steps { grid-template-columns: 1fr; }
    .admission-section-heading { grid-template-columns: 1fr; }
}

.site-footer {
    color: #45596c;
    background: #f7f8fa;
    border-top: 1px solid rgba(16,42,67,.08);
}
.footer-main {
    display: grid;
    grid-template-columns: minmax(310px, 1.45fr) repeat(3, minmax(150px, .75fr));
    gap: clamp(2.5rem, 5vw, 5.5rem);
    padding: 5.25rem 0 4.25rem;
}
.footer-identity { max-width: 390px; }
.footer-brand { display: flex; align-items: center; gap: 1rem; color: var(--hva-ink); }
.footer-brand:hover { color: var(--hva-ink); }
.footer-logo { width: 76px; height: 76px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; padding: .4rem; border: 1px solid rgba(16,42,67,.09); border-radius: 1rem; background: #fff; box-shadow: 0 12px 30px rgba(16,42,67,.08); }
.footer-logo img { width: 100%; height: 100%; object-fit: contain; }
.footer-brand > span:last-child { display: flex; flex-direction: column; }
.footer-brand strong { color: #20384f; font-size: 1rem; font-weight: 800; line-height: 1.3; }
.footer-brand small { margin-top: .3rem; color: #7a8b9a; font-size: .58rem; font-weight: 700; letter-spacing: .045em; }
.footer-address { display: flex; flex-direction: column; gap: .65rem; margin-top: 1.35rem; font-style: normal; }
.footer-address span, .footer-address a { display: flex; align-items: flex-start; gap: .6rem; color: #627487; font-size: .69rem; font-weight: 600; line-height: 1.5; }
.footer-address iconify-icon { flex: 0 0 auto; margin-top: .08rem; color: #1f6fb2; }
.footer-address a:hover { color: #1f6fb2; }
.footer-links h4 { margin-bottom: 1.2rem; color: #193750; font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.footer-links ul { display: flex; flex-direction: column; gap: .82rem; }
.footer-links li, .footer-links a, .footer-links span { color: #56697b; font-size: .72rem; font-weight: 600; line-height: 1.45; }
.footer-links a { display: inline-flex; align-items: center; gap: .3rem; transition: color .2s ease, transform .2s ease; }
.footer-links a:hover { color: #1f6fb2; transform: translateX(3px); }
.footer-links li > span { color: #8a98a5; }
.footer-bottom { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid rgba(16,42,67,.16); }
.footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem 1.5rem; }
.footer-legal p { color: #738392; font-size: .64rem; font-weight: 600; }
.footer-legal a { color: #405b73; font-weight: 800; }
.footer-legal a:hover { color: #1f6fb2; }
.footer-socials { display: flex; align-items: center; flex-wrap: wrap; flex-shrink: 0; gap: .55rem; }
.footer-socials a { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; color: #45647e; background: #fff; border: 1px solid rgba(16,42,67,.11); border-radius: 50%; box-shadow: 0 7px 18px rgba(16,42,67,.06); transition: color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.footer-socials a:hover { color: #fff; background: #1f6fb2; border-color: #1f6fb2; transform: translateY(-3px); box-shadow: 0 10px 24px rgba(31,111,178,.22); }
.footer-socials a:focus-visible { outline: 2px solid #1f6fb2; outline-offset: 4px; }

@media (max-width: 1023px) {
    .footer-main { grid-template-columns: minmax(280px, 1.3fr) repeat(2, minmax(140px, .7fr)); }
    .footer-links:last-child { grid-column: 2; }
}

@media (max-width: 767px) {
    .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 2rem; padding: 4.25rem 0 3.25rem; }
    .footer-identity { grid-column: 1 / -1; max-width: 480px; }
    .footer-links:last-child { grid-column: auto; }
    .footer-bottom { align-items: flex-start; flex-direction: column; padding: 1.5rem 0 2rem; }
    .footer-legal { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
    .footer-main { grid-template-columns: 1fr; }
    .footer-brand { align-items: flex-start; }
    .footer-logo { width: 68px; height: 68px; }
    .footer-links { padding-top: 1.25rem; border-top: 1px solid rgba(16,42,67,.08); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
    .scroll-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}



/* Bright public-site palette and clear, upright typography. */
h1, h2, h3, h4, .display-font { font-family: 'Inter', Arial, sans-serif; }
em { font-style: normal; }
.updates-heading h2 em, .alumni-hero-copy h1 em, .alumni-story-copy h2 em, .story-submit-intro h1 em { font-weight: 700; }
.updates-hub { background: #fff; border-color: #dcecff; }
.updates-filters button[aria-pressed="true"] { background: #155be5; }
.updates-notices { background: #edf6ff; color: #365571; border: 1px solid #cce4ff; }
.updates-board-heading h3, .updates-notice strong { color: #123a61; }
.updates-board-heading > div > span, .updates-notice-body { color: #476581; }
.updates-board-icon { color: #155be5; background: #fff; border-color: #cce4ff; }
.updates-notice { border-color: #cce4ff; }
.updates-notice small, .updates-expand, .updates-notice-body a, .updates-office-link { color: #155be5; }
.updates-office-link { border-color: #cce4ff; }
.home-page main > .bg-gray-50 { background: #f0f8ff; border-color: #e0eeff; }
.nav-dropdown { position: relative; color: #536579; }
.nav-dropdown summary { display: flex; align-items: center; gap: 7px; min-height: 44px; list-style: none; cursor: pointer; }
.nav-dropdown summary::-webkit-details-marker, .mobile-nav-group summary::-webkit-details-marker { display: none; }
.nav-dropdown[open] > summary, .nav-dropdown[data-current-section] > summary { color: #155be5; }
.nav-chevron { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-top: -3px; }
details[open] > summary .nav-chevron { transform: rotate(225deg); margin-top: 3px; }
.nav-submenu { position: absolute; left: -22px; top: calc(100% + 10px); width: 342px; padding: 16px 10px 10px; border: 1px solid #dbeafe; border-radius: 12px; background: #fff; box-shadow: 0 20px 45px #133c6b1a; }
.nav-submenu-label { display: block; padding: 0 12px 10px; color: #58718a; font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.nav-submenu a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; padding: 10px 12px; border-radius: 6px; color: #23445e; font-size: .78rem; font-weight: 500; }
.nav-submenu a:hover, .nav-submenu a[aria-current], .mobile-nav-sublinks a[aria-current] { background: #eff6ff; color: #155be5; }
.nav-submenu a > span { color: #155be5; }
.mobile-nav-group { border: 1px solid #e2eaf4; border-radius: 12px; }
.mobile-nav-group > summary { display: flex; justify-content: space-between; align-items: center; min-height: 50px; padding: 14px 16px; font-size: .875rem; font-weight: 700; color: #23445e; list-style: none; cursor: pointer; }
.mobile-nav-sublinks { display: grid; padding: 0 8px 8px; }
.mobile-nav-sublinks a { padding: 13px 16px; border-radius: 6px; font-size: .8rem; line-height: 1.6; color: #476581; }
.school-page { padding-top: 80px; }
.school-container { width: min(100% - 48px, 1200px); margin-inline: auto; }
.school-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; padding: 24px 0; font-size: .75rem; color: #526b83; }
.school-breadcrumb a:hover { color: #155be5; text-decoration: underline; }
.school-intro { padding: 36px 0 50px; background: linear-gradient(115deg, #eff8ff, #fff 80%); }
.school-intro h1 { margin: 16px 0 20px; max-width: 900px; font-size: clamp(2.1rem, 4.5vw, 4rem); color: #163a60; font-weight: 750; letter-spacing: -.045em; line-height: 1.13; }
.school-intro h1 span { color: #155be5; }
.school-intro p { max-width: 640px; font-size: 1rem; line-height: 1.85; color: #526b83; }
.school-section-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 30px; }
.school-section-nav a { padding: 10px 15px; border: 1px solid #dbeafe; border-radius: 6px; background: #fff; color: #476581; font-size: .73rem; font-weight: 600; }
.school-section-nav a[aria-current], .school-section-nav a:hover { background: #155be5; border-color: #155be5; color: #fff; }
.school-section { padding-block: 64px; }
.school-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; }
.school-photo { width: 100%; aspect-ratio: 1.3; object-fit: cover; border-radius: 8px; }
.school-section h2 { margin: 12px 0 20px; font-size: clamp(1.7rem, 3vw, 2.7rem); font-weight: 700; color: #163a60; letter-spacing: -.04em; line-height: 1.2; }
.school-section p { margin: 12px 0; color: #526b83; line-height: 1.85; font-size: .95rem; }
.school-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 13px 22px; margin-top: 18px; border: 1px solid #155be5; border-radius: 5px; background: #155be5; color: #fff; font-size: .8rem; font-weight: 650; min-height: 46px; }
.school-button:hover { background: #1047b8; }
.school-button.secondary { background: #fff; color: #155be5; }
.school-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.school-card { overflow: hidden; padding: 28px; border: 1px solid #dbeafe; border-radius: 8px; background: #fff; }
.school-card:nth-child(3n+2) { background: #f0f8ff; }
.school-card:nth-child(3n+3) { background: #f0fcfa; }
.school-card-number { color: #155be5; font-size: .8rem; font-weight: 700; }
.school-card h3 { margin: 22px 0 12px; color: #163a60; font-size: 1.2rem; font-weight: 700; }
.school-card p { margin: 0; font-size: .86rem; }
.school-card iconify-icon { color: #155be5; }
.school-cta { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 38px; margin-bottom: 64px; background: #edf7ff; border: 1px solid #dbeafe; border-radius: 8px; }
.school-cta h2 { margin: 0 0 10px; color: #163a60; font-size: 1.65rem; font-weight: 700; }
.school-cta p { color: #526b83; font-size: .9rem; line-height: 1.7; }
.school-cta .school-button { margin: 0; flex-shrink: 0; }
.leader-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); align-items: start; gap: 64px; }
.leader-photo { width: 100%; max-height: 520px; object-fit: cover; border-radius: 8px; }
.leader-identity { padding: 22px 0; border-bottom: 2px solid #155be5; }
.leader-identity strong { display: block; font-size: 1.1rem; color: #163a60; }
.leader-identity span { display: block; margin-top: 8px; font-size: .8rem; color: #526b83; }
.leader-letter { padding-top: 10px; }
.leader-letter p { white-space: pre-line; }
.school-faq-layout { display: grid; grid-template-columns: .7fr 1.5fr; align-items: start; gap: 64px; }
.school-faq details { border-bottom: 1px solid #dbeafe; padding-block: 6px; }
.school-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 64px; padding-block: 18px; color: #163a60; font-size: .95rem; font-weight: 650; list-style: none; cursor: pointer; }
.school-faq summary::-webkit-details-marker { display: none; }
.school-faq summary::after { flex-shrink: 0; content: '+'; color: #155be5; font-size: 1.5rem; font-weight: 400; }
.school-faq details[open] summary::after { content: '-'; }
.school-faq details p { padding: 0 32px 16px 0; }
.school-faq-contact { padding: 28px; background: #edf7ff; border-radius: 8px; }
.school-faq-contact h2 { font-size: 1.5rem; }
@media (max-width: 900px) {
    .school-split, .leader-layout, .school-faq-layout { gap: 32px; }
    .school-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .school-container { width: calc(100% - 32px); }
    .school-intro { padding-block: 20px 32px; }
    .school-section { padding-block: 40px; }
    .school-split, .school-cards, .leader-layout, .school-faq-layout { grid-template-columns: minmax(0, 1fr); }
    .school-cta { flex-direction: column; align-items: flex-start; padding: 26px; margin-bottom: 40px; }
    .school-section-nav { gap: 6px; }
    .school-section-nav a { padding: 10px; }
    .leader-photo { max-height: 440px; object-position: center 25%; }
}

#story-testimonial { scroll-margin-top: 7rem; }

/* Keep translated question fragments together; only the dedicated toggle is an icon. */
.home-faq-item summary > .faq-question,
.school-faq summary > .faq-question,
.alumni-faq-list summary > .faq-question {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
