/* ================================================================
   ================================================================ */
:root {
  --color-ink: #1e3337;
  --color-deep: #103b44;
  --color-deep-strong: #0b3038;
  --color-deep-muted: #1e5156;
  --color-accent: #e8ac4b;
  --color-accent-light: #f7e8c9;
  --color-accent-contrast: #704913;
  --color-paper: #fffdf9;
  --color-white: #ffffff;
  --color-canvas: #f8f7f2;
  --color-mist: #edf5f2;
  --color-sand: #f3eee4;
  --color-sage: #dce8df;
  --color-sage-deep: #b8cec1;
  --color-body: #57696a;
  --color-muted: #758583;
  --color-line: #e0e7e1;
  --color-light-line: #46646a;
  --color-success: #2f7d64;
  --color-error: #b64c37;
  --color-overlay: #122a2d;
  --radius: 8px;
  --radius-circle: 50%;
  --font-bn: "Hind Siliguri", "Noto Sans Bengali", sans-serif;
  --font-en: "Manrope", Arial, sans-serif;
  --transition-fast: 230ms cubic-bezier(.22, 1, .36, 1);
  --transition-normal: 450ms cubic-bezier(.22, 1, .36, 1);
  --transition-slow: 850ms cubic-bezier(.22, 1, .36, 1);
  --section-space: clamp(92px, 10vw, 154px);
  --bs-font-sans-serif: var(--font-bn);
  --bs-body-color: var(--color-ink);
  --bs-body-bg: var(--color-paper);
  --bs-border-radius: var(--radius);
  --bs-border-radius-sm: var(--radius);
  --bs-border-radius-lg: var(--radius);
  --bs-border-radius-xl: var(--radius);
  --bs-border-radius-xxl: var(--radius);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-bn); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
::selection { background: var(--color-accent-light); color: var(--color-deep); }
a { color: inherit; text-decoration: none; transition: color var(--transition-fast); }
button, input { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
h1,h2,h3,h4,h5,p { margin-top: 0; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.icon { display:inline-block; width:21px; height:21px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.icon--small { width:16px; height:16px; }
.icon--menu { width:28px; height:28px; }
.container-xl { max-width: 1288px; padding-inline: 28px; }
.skip-link { position: fixed; top: -70px; left: 15px; z-index: 3000; padding: 9px 16px; background: var(--color-accent); color: var(--color-deep); border-radius: var(--radius); }
.skip-link:focus { top: 15px; }
.section-spacing { padding-block: var(--section-space); }
.section-anchor { scroll-margin-top: 90px; }
.page-progress { position:fixed; left:0; top:0; z-index:1500; height:3px; width:0%; background:var(--color-accent); pointer-events:none; transition:width 100ms linear; }

/* Utility strip and header */
.utility-bar { background: var(--color-deep); color: var(--color-white); }
.utility-bar__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:38px; }
.utility-bar p { margin:0; font-size:12px; font-weight:500; color:var(--color-mist); letter-spacing:.005em; }
.utility-bar a { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--color-accent); white-space:nowrap; }
.utility-bar a:hover { color:var(--color-white); }
.utility-bar__beacon { display:inline-block; width:7px; height:7px; margin-right:8px; background:var(--color-accent); border-radius:var(--radius-circle); box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 17%,transparent); animation: beacon 3.8s ease-in-out infinite; }
.site-header { position:sticky; top:0; z-index:1000; background:var(--color-paper); border-bottom:1px solid var(--color-line); transition:box-shadow var(--transition-normal),background var(--transition-normal); }
.site-header.is-scrolled { box-shadow: 0 10px 25px color-mix(in srgb,var(--color-deep) 7%,transparent); }
.site-header__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:89px; transition:min-height var(--transition-normal); }
.site-header.is-scrolled .site-header__inner { min-height:73px; }
.brand { display:inline-flex; align-items:center; gap:11px; flex-shrink:0; }
.brand__mark { display:grid; place-items:center; width:51px; height:51px; color:var(--color-deep); }
.brand__mark svg { width:100%; height:100%; }
.brand__text { display:flex; flex-direction:column; line-height:1.16; }
.brand__text strong { font-size:26px; font-weight:700; letter-spacing:-.05em; }
.brand__text small { color:var(--color-body); font-size:10px; font-weight:500; margin-top:5px; white-space:nowrap; }
.desktop-navigation { display:flex; align-items:center; gap:clamp(15px,2.2vw,31px); margin-left:auto; }
.navigation-link { position:relative; font-size:14px; font-weight:600; color:var(--color-body); white-space:nowrap; }
.navigation-link::after { content:""; height:2px; position:absolute; left:0; right:100%; bottom:-8px; background:var(--color-accent); transition:right var(--transition-normal); }
.navigation-link:hover, .navigation-link.is-active { color:var(--color-deep); }
.navigation-link:hover::after, .navigation-link.is-active::after { right:0; }
.header-actions { display:flex; gap:12px; align-items:center; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:49px; padding:12px 21px; border:1px solid transparent; border-radius:var(--radius); line-height:1.25; font-size:14px; font-weight:700; text-align:center; text-decoration:none; transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-normal),box-shadow var(--transition-normal); }
.button .icon { width:18px; height:18px; transition:transform var(--transition-normal); }
.button:hover .icon { transform:translate(3px,-2px); }
.button:active { transform:translateY(1px); }
.button--primary { background:var(--color-deep); color:var(--color-white); }
.button--primary:hover { color:var(--color-white); background:var(--color-deep-muted); box-shadow:0 7px 18px color-mix(in srgb,var(--color-deep) 15%,transparent); }
.button--large { min-height:56px; padding:15px 24px; font-size:15px; }
.button--text { background:transparent; color:var(--color-deep); padding-inline:8px; }
.button--text:hover { color:var(--color-deep-muted); }
.button--outline { background:transparent; color:var(--color-deep); border-color:var(--color-deep); }
.button--outline:hover { background:var(--color-deep); color:var(--color-white); }
.button--gold { background:var(--color-accent); color:var(--color-deep-strong); }
.button--gold:hover { background:var(--color-accent-light); color:var(--color-deep-strong); }
.button--light-text { color:var(--color-white); padding-inline:3px; }
.button--light-text:hover { color:var(--color-accent); }
.menu-toggle { display:none; width:45px; height:45px; align-items:center; justify-content:center; background:transparent; border:1px solid var(--color-line); color:var(--color-deep); border-radius:var(--radius); }
.mobile-navigation { display:none; }

/* Hero - large editorial typography with asymmetrical documentary photographs */
.hero { position:relative; background:var(--color-paper); overflow:hidden; }
.hero__layout { min-height:690px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); column-gap:45px; align-items:center; padding-block:66px 82px; }
.hero__content { position:relative; z-index:2; padding-top:10px; animation:fade-rise 1000ms 80ms both cubic-bezier(.2,.8,.2,1); }
.eyebrow, .section-kicker { display:flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.085em; font-weight:700; color:var(--color-success); }
.eyebrow__line { width:34px; height:1px; background:var(--color-accent); }
.hero h1 { margin:24px 0 25px; font-weight:700; font-size:clamp(48px,5.35vw,78px); line-height:1.23; letter-spacing:-.065em; max-width:760px; color:var(--color-deep); }
.hero__heading-emphasis { color:var(--color-deep-muted); }
.hero__heading-last { display:inline-block; position:relative; white-space:nowrap; }
.emphasis-mark { position:absolute; bottom:1px; left:7%; right:0; height:11px; z-index:-1; background:var(--color-accent-light); transform:scaleX(.2); transform-origin:left; animation:reveal-underline 1200ms 800ms both cubic-bezier(.22,1,.36,1); }
.hero__description { max-width:565px; margin-bottom:30px; font-size:17px; line-height:1.95; color:var(--color-body); }
.hero__actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hero__footnote { display:flex; align-items:flex-start; gap:8px; max-width:560px; margin-top:36px; color:var(--color-muted); font-size:12px; line-height:1.65; }
.hero__footnote .icon { margin-top:1px; width:17px; height:17px; color:var(--color-success); }
.hero__visual { position:relative; align-self:stretch; min-height:620px; padding:12px 31px 36px 24px; animation:hero-photo-enter 1150ms 200ms both cubic-bezier(.22,1,.36,1); }
.hero__image-frame { position:absolute; inset:12px 31px 36px 24px; border-radius:var(--radius); overflow:hidden; background:var(--color-sage); }
.hero__image { width:100%; height:100%; display:block; object-fit:cover; object-position:center; transform:scale(1.035); animation:hero-image-settle 3.2s .3s both cubic-bezier(.22,1,.36,1); }
.hero__image-shade { position:absolute; inset:0; background:linear-gradient(to top, color-mix(in srgb,var(--color-overlay) 65%,transparent) 0%, transparent 29%); pointer-events:none; }
.hero__visual-caption { position:absolute; bottom:30px; left:28px; right:28px; color:var(--color-white); font-size:13px; font-weight:600; display:flex; align-items:center; gap:11px; }
.hero__visual-caption-line { width:22px; height:1px; background:var(--color-accent); }
.hero__inset-photo { position:absolute; z-index:2; left:-38px; bottom:76px; width:clamp(130px,16vw,215px); height:clamp(165px,20vw,245px); border:7px solid var(--color-paper); background:var(--color-sage); border-radius:var(--radius); box-shadow:0 15px 45px color-mix(in srgb,var(--color-deep) 16%,transparent); animation:inset-enter 1.2s .65s both cubic-bezier(.22,1,.36,1); }
.hero__inset-photo img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius); }
.hero__side-index { position:absolute; right:0; top:45px; font:700 10px/1.3 var(--font-en); letter-spacing:.17em; color:var(--color-muted); writing-mode:vertical-rl; }
.hero__image-decoration { position:absolute; display:flex; right:8px; bottom:10px; gap:7px; }
.hero__image-decoration span { width:7px; height:7px; background:var(--color-accent); border-radius:var(--radius-circle); }
.hero__image-decoration span:nth-child(2) { background:var(--color-sage-deep); }
.hero__image-decoration span:nth-child(3) { background:var(--color-deep); }
.hero__scroll-indicator { position:absolute; left:50%; bottom:21px; transform:translateX(-50%); display:inline-flex; align-items:center; gap:9px; font-size:11px; color:var(--color-muted); }
.hero__scroll-indicator .icon { width:15px; animation:nudge-down 3s infinite; }

/* Shared section titles */
.section-kicker { color:var(--color-success); margin-bottom:25px; }
.section-kicker__number { font:700 12px var(--font-en); color:var(--color-accent-contrast); letter-spacing:0; }
.section-title { color:var(--color-deep); font-size:clamp(35px,4vw,58px); line-height:1.33; letter-spacing:-.04em; font-weight:700; margin-bottom:0; }
.section-title span { color:var(--color-deep-muted); }
.section-title--large { font-size:clamp(43px,4.5vw,67px); }
.section-title--light { color:var(--color-white); }
.section-title--light span { color:var(--color-accent); }
.section-lead { margin-top:26px; max-width:580px; font-size:16px; line-height:2.05; color:var(--color-body); }
.section-intro { margin-bottom:47px; }
.section-intro__description { margin-bottom:0; max-width:335px; color:var(--color-body); font-size:15px; line-height:1.95; }

/* Mission */
.mission-section { background:var(--color-white); }
.mission-copy { position:relative; margin:0 0 0 auto; max-width:680px; padding:12px 0 15px 47px; border-left:2px solid var(--color-accent); }
.mission-copy__symbol { position:absolute; left:47px; top:-47px; font-size:100px; line-height:1; color:var(--color-accent-light); pointer-events:none; }
.mission-copy > p:first-of-type { position:relative; z-index:1; font-weight:600; font-size:clamp(20px,2.1vw,27px); line-height:1.85; color:var(--color-deep); margin-bottom:22px; }
.mission-copy__supporting { font-size:15px; color:var(--color-body); line-height:1.95; }
.inline-link { display:inline-flex; align-items:center; gap:11px; padding-bottom:6px; margin-top:7px; border-bottom:1px solid var(--color-deep); color:var(--color-deep); font-size:14px; font-weight:700; }
.inline-link .icon { width:16px; transition:transform var(--transition-normal); }
.inline-link:hover { color:var(--color-success); border-color:var(--color-success); }
.inline-link:hover .icon { transform:translate(3px,-3px); }
.mission-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:94px; padding-top:29px; border-top:1px solid var(--color-line); }
.mission-principle { display:flex; gap:16px; align-items:center; font-weight:600; color:var(--color-deep); font-size:15px; }
.mission-principle__number { color:var(--color-success); font:700 12px var(--font-bn); }

/* Programs */
.program-section { background:var(--color-canvas); }
.program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:minmax(255px,auto); gap:16px; }
.program-card { position:relative; display:flex; flex-direction:column; min-height:265px; padding:30px 28px; background:var(--color-white); border:1px solid var(--color-line); border-radius:var(--radius); overflow:hidden; transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal); }
.program-card:hover { transform:translateY(-5px); border-color:var(--color-sage-deep); box-shadow:0 15px 35px color-mix(in srgb,var(--color-deep) 6%,transparent); }
.program-card__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:auto; }
.program-card__icon { display:grid; place-items:center; width:47px; height:47px; background:var(--color-mist); border-radius:var(--radius); color:var(--color-deep); }
.program-card__icon .icon { width:24px; height:24px; }
.program-card__category { color:var(--color-muted); font:700 11px var(--font-en); }
.program-card h3 { max-width:300px; margin:30px 0 8px; color:var(--color-deep); font-size:21px; font-weight:700; letter-spacing:-.025em; }
.program-card p { max-width:300px; margin-bottom:0; color:var(--color-body); font-size:13.5px; line-height:1.8; }
.program-card__action { position:absolute; right:23px; bottom:25px; display:grid; place-items:center; width:37px; height:37px; border:1px solid var(--color-line); background:var(--color-white); border-radius:var(--radius-circle); color:var(--color-deep); transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast); }
.program-card__action .icon { width:17px; height:17px; }
.program-card__action:hover { transform:translate(2px,-2px); background:var(--color-deep); color:var(--color-white); border-color:var(--color-deep); }
.program-card:not(.program-card--featured) p { padding-right:38px; }
.program-card--featured { grid-column:span 1; grid-row:span 2; min-height:555px; padding:0; background:var(--color-deep); border-color:var(--color-deep); color:var(--color-white); }
.program-card--featured:hover { border-color:var(--color-deep); }
.program-card__visual { position:absolute; inset:0; background:var(--color-sage); }
.program-card__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, var(--color-deep-strong), color-mix(in srgb,var(--color-deep) 85%, transparent) 32%, color-mix(in srgb,var(--color-deep) 5%,transparent) 80%); }
.program-card__visual img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 1.2s cubic-bezier(.22,1,.36,1); }
.program-card--featured:hover .program-card__visual img { transform:scale(1.045); }
.program-card__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:start; justify-content:end; padding:35px; height:100%; }
.program-card__content .program-card__icon { background:var(--color-accent); color:var(--color-deep); margin-bottom:15px; }
.program-card__eyebrow { color:var(--color-accent-light); font-size:12px; font-weight:600; }
.program-card__content h3 { color:var(--color-white); margin:6px 0 12px; font-size:26px; }
.program-card__content p { color:var(--color-mist); font-size:14px; padding-right:24px; }
.program-card__content .program-card__action { background:var(--color-accent); color:var(--color-deep); border:0; }
.program-disclaimer { display:flex; align-items:flex-start; gap:10px; margin:26px 0 0; color:var(--color-muted); font-size:12px; }
.program-disclaimer .icon { width:16px; height:16px; margin-top:1px; }

/* Eligibility */
.eligibility-section { background:var(--color-white); }
.eligibility-section .button { margin-top:11px; }
.eligibility-list { border-top:1px solid var(--color-line); }
.eligibility-item { display:grid; grid-template-columns:30px 1fr 22px; align-items:center; gap:20px; padding:23px 3px; border-bottom:1px solid var(--color-line); transition:padding var(--transition-normal),background var(--transition-normal); }
.eligibility-item:hover { padding-left:12px; background:var(--color-paper); }
.eligibility-item > span { color:var(--color-success); font:700 12px var(--font-en); }
.eligibility-item p { margin:0; font-size:17px; font-weight:600; color:var(--color-deep); }
.eligibility-item > .icon { width:18px; color:var(--color-muted); }

/* Process */
.process-section { background:var(--color-deep); color:var(--color-white); position:relative; overflow:hidden; }
.process-section::before { content:""; pointer-events:none; position:absolute; right:-155px; top:-290px; width:570px; height:570px; border:1px solid var(--color-light-line); border-radius:var(--radius-circle); }
.process-section::after { content:""; pointer-events:none; position:absolute; right:-65px; top:-190px; width:380px; height:380px; border:1px solid var(--color-light-line); border-radius:var(--radius-circle); }
.section-kicker--light { color:var(--color-sage-deep); }
.section-kicker--light .section-kicker__number { color:var(--color-accent); }
.process-section__heading { position:relative; z-index:1; margin-bottom:57px; }
.process-section__heading > p { margin:21px 0 0; font-size:15px; color:var(--color-sage); }
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:relative; z-index:1; gap:19px; }
.process-grid::before { content:""; position:absolute; left:8%; right:8%; top:24px; border-top:1px dashed var(--color-light-line); z-index:-1; }
.process-step { position:relative; border:1px solid var(--color-light-line); border-radius:var(--radius); padding:31px 25px 31px; background:var(--color-deep); min-height:268px; transition:border-color var(--transition-normal),transform var(--transition-normal); }
.process-step:hover { transform:translateY(-5px); border-color:var(--color-accent); }
.process-step__number { color:var(--color-accent); font:700 11px var(--font-en); }
.process-step__icon { display:grid; place-items:center; width:57px; height:57px; margin:23px 0 26px; border:1px solid var(--color-light-line); border-radius:var(--radius); color:var(--color-accent); }
.process-step__icon .icon { width:27px; height:27px; }
.process-step h3 { font-size:20px; font-weight:700; margin-bottom:9px; }
.process-step p { font-size:13px; color:var(--color-sage); line-height:1.9; margin:0; }
.process-section__note { display:flex; gap:9px; align-items:center; margin:25px 0 0; font-size:12px; color:var(--color-sage); }
.process-section__note .icon { color:var(--color-accent); width:16px; }

/* Preparation */
.preparation-section { background:var(--color-paper); }
.preparation-section .button { margin-top:7px; }
.preparation-panel { padding:37px 36px 27px; border:1px solid var(--color-line); background:var(--color-white); border-radius:var(--radius); box-shadow:0 22px 56px color-mix(in srgb,var(--color-deep) 5%,transparent); }
.preparation-panel__header { display:flex; align-items:center; gap:18px; padding-bottom:23px; border-bottom:1px solid var(--color-line); }
.preparation-panel__header > .icon { width:34px; height:34px; color:var(--color-success); }
.preparation-panel__header h3 { font-size:22px; font-weight:700; color:var(--color-deep); margin:0 0 4px; }
.preparation-panel__header p { font-size:12px; margin:0; color:var(--color-muted); }
.preparation-checklist { list-style:none; padding:18px 0 0; margin:0; }
.preparation-checklist li { display:flex; align-items:flex-start; gap:14px; padding:12px 0; font-size:14px; color:var(--color-ink); }
.preparation-checklist li > span { display:grid; place-items:center; width:22px; height:22px; flex:none; background:var(--color-mist); border-radius:var(--radius-circle); color:var(--color-success); }
.preparation-checklist li .icon { width:14px; height:14px; stroke-width:2.4; }
.preparation-panel__note { display:flex; gap:10px; align-items:flex-start; margin-top:16px; padding:17px; background:var(--color-sand); border-radius:var(--radius); color:var(--color-body); font-size:12px; }
.preparation-panel__note .icon { width:17px; height:17px; color:var(--color-deep); }

/* Status lookup */
.tracking-section { background:var(--color-mist); }
.tracking-panel { position:relative; }
.tracking-panel__assurance { margin-top:27px; display:flex; align-items:center; gap:10px; color:var(--color-success); font-size:13px; font-weight:600; }
.tracking-panel__assurance .icon { width:18px; }
.lookup-card { background:var(--color-white); border:1px solid var(--color-line); border-radius:var(--radius); padding:39px; box-shadow:0 18px 42px color-mix(in srgb,var(--color-deep) 5%,transparent); }
.lookup-card__top { display:flex; align-items:center; gap:12px; font-size:13px; color:var(--color-success); font-weight:700; margin-bottom:22px; }
.lookup-card__icon { display:grid; place-items:center; width:41px; height:41px; background:var(--color-mist); border-radius:var(--radius-circle); }
.lookup-card__icon .icon { width:21px; height:21px; }
.lookup-card h3 { font-size:25px; font-weight:700; color:var(--color-deep); margin-bottom:5px; }
.lookup-card > p { font-size:13px; color:var(--color-body); margin-bottom:24px; }
.lookup-card .form-label { font-size:13px; font-weight:700; margin-bottom:9px; color:var(--color-deep); }
.lookup-card__field { display:flex; gap:9px; }
.lookup-card .form-control { flex:1; min-width:0; height:52px; padding-inline:16px; font-size:15px; color:var(--color-ink); background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius); box-shadow:none; }
.lookup-card .form-control:focus { border-color:var(--color-deep); box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 12%,transparent); }
.lookup-card__field .button { white-space:nowrap; }
.lookup-card__message { font-size:12px; min-height:19px; margin:9px 0 0; color:var(--color-muted); }
.lookup-card__message.is-error { color:var(--color-error); }
.lookup-card__message.is-success { color:var(--color-success); }
.lookup-card__footer { display:flex; gap:8px; align-items:flex-start; border-top:1px solid var(--color-line); margin-top:21px; padding-top:18px; font-size:11px; color:var(--color-muted); line-height:1.6; }
.lookup-card__footer .icon { width:16px; height:16px; margin-top:1px; }

/* Trust values */
.commitment-section { background:var(--color-white); }
.commitment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:54px; }
.commitment-card { border-top:2px solid var(--color-line); padding:31px 19px 0 0; transition:border-color var(--transition-normal),transform var(--transition-normal); }
.commitment-card:hover { border-color:var(--color-accent); transform:translateY(-3px); }
.commitment-card__icon { display:grid; place-items:center; width:48px; height:48px; background:var(--color-mist); color:var(--color-success); border-radius:var(--radius); margin-bottom:24px; }
.commitment-card__icon .icon { width:24px; height:24px; }
.commitment-card h3 { font-size:21px; font-weight:700; color:var(--color-deep); margin-bottom:13px; }
.commitment-card p { font-size:14px; color:var(--color-body); line-height:1.95; max-width:340px; }

/* Story */
.story-section { background:var(--color-sand); }
.story-layout { display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(42px,7vw,105px); align-items:center; }
.story-visual { position:relative; height:600px; background:var(--color-sage); overflow:hidden; border-radius:var(--radius); }
.story-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.22,1,.36,1); }
.story-visual:hover img { transform:scale(1.035); }
.story-visual__caption { position:absolute; bottom:21px; left:21px; right:21px; width:max-content; max-width:calc(100% - 42px); padding:8px 14px; border-radius:var(--radius); color:var(--color-deep); font-size:12px; font-weight:700; background:var(--color-paper); }
.story-content .section-lead { max-width:540px; }
.story-quote { position:relative; border-top:1px solid var(--color-sage-deep); border-bottom:1px solid var(--color-sage-deep); margin-top:34px; padding:25px 0 20px 29px; }
.story-quote > span { position:absolute; top:7px; left:0; font-size:49px; color:var(--color-accent-contrast); line-height:1; }
.story-quote p { font-size:19px; font-weight:600; line-height:1.8; color:var(--color-deep); margin:0; }
.story-content__disclaimer { margin-top:24px; font-size:12px; line-height:1.75; color:var(--color-muted); }

/* FAQ */
.faq-section { background:var(--color-white); }
.faq-list { border-top:1px solid var(--color-line); }
.faq-item { border-bottom:1px solid var(--color-line); }
.faq-item summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:22px 4px; color:var(--color-deep); font-size:17px; font-weight:700; transition:color var(--transition-fast); }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { color:var(--color-success); }
.faq-item__toggle { display:grid; place-items:center; width:29px; height:29px; flex-shrink:0; border:1px solid var(--color-line); border-radius:var(--radius-circle); position:relative; transition:background var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal); }
.faq-item__toggle::before, .faq-item__toggle::after { content:""; position:absolute; width:11px; height:1.5px; background:var(--color-deep); transition:transform var(--transition-normal),background var(--transition-normal); }
.faq-item__toggle::after { transform:rotate(90deg); }
.faq-item[open] .faq-item__toggle { background:var(--color-deep); border-color:var(--color-deep); }
.faq-item[open] .faq-item__toggle::before, .faq-item[open] .faq-item__toggle::after { background:var(--color-white); }
.faq-item[open] .faq-item__toggle::after { transform:rotate(0); }
.faq-item__answer { animation:faq-in .4s cubic-bezier(.22,1,.36,1); }
.faq-item__answer p { color:var(--color-body); max-width:610px; margin:0; padding:0 45px 24px 4px; font-size:14px; line-height:1.95; }

/* Closing banner and footer */
.closing-section { background:var(--color-white); padding-bottom:0; }
.closing-panel { position:relative; isolation:isolate; overflow:hidden; background:var(--color-deep); border-radius:var(--radius); color:var(--color-white); padding:75px 78px 78px; }
.closing-panel .section-kicker { position:relative; z-index:1; color:var(--color-accent); }
.closing-panel h2 { position:relative; z-index:1; font-weight:700; line-height:1.28; font-size:clamp(38px,4.7vw,66px); letter-spacing:-.04em; margin:0 0 18px; }
.closing-panel h2 span { color:var(--color-accent); }
.closing-panel > p { position:relative; z-index:1; color:var(--color-sage); font-size:15px; max-width:610px; line-height:1.95; }
.closing-panel__actions { position:relative; z-index:1; display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:28px; }
.closing-panel__ornament { position:absolute; right:-25px; top:-35px; width:min(34vw,390px); color:var(--color-light-line); opacity:.8; pointer-events:none; }
.closing-panel__ornament svg { width:100%; stroke:currentColor; fill:none; stroke-width:1.3; transform:rotate(-11deg); animation:ornament-rotate 35s linear infinite; }
/* ================================================================
   ================================================================ */
.site-footer { background:var(--color-sand); padding-top:0; overflow:hidden; }
.footer-editorial { position:relative; background:var(--color-sand); padding-top:clamp(74px,9vw,136px); }
.footer-editorial__layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:40px; align-items:center; min-height:365px; }
.footer-editorial__content { position:relative; z-index:1; }
.footer-editorial__eyebrow { display:inline-flex; align-items:center; gap:11px; font-size:12px; letter-spacing:.04em; font-weight:700; color:var(--color-deep-muted); margin-bottom:23px; }
.footer-editorial__eyebrow-line { width:33px; height:2px; background:var(--color-accent); }
.footer-editorial__content h2 { color:var(--color-deep); font-size:clamp(45px,5.7vw,82px); line-height:1.19; letter-spacing:-.045em; font-weight:700; margin:0 0 25px; }
.footer-editorial__content h2 span { color:var(--color-success); }
.footer-editorial__content p { max-width:455px; font-size:15px; line-height:1.9; color:var(--color-body); margin:0; }
.footer-editorial__art { position:relative; min-height:325px; display:flex; align-items:center; justify-content:center; }
.footer-editorial__illustration { display:block; width:min(100%,425px); height:auto; overflow:visible; animation:footer-art-float 8s ease-in-out infinite alternate; }
.footer-editorial__ring { stroke:var(--color-sage-deep); stroke-width:1; }
.footer-editorial__ring--inner { stroke:var(--color-sage-deep); stroke-dasharray:2 8; }
.footer-editorial__sun { fill:var(--color-accent); stroke:var(--color-deep); stroke-width:2; }
.footer-editorial__rays { stroke:var(--color-deep); stroke-width:2; stroke-linecap:round; }
.footer-editorial__horizon { stroke:var(--color-sand); stroke-width:9; }
.footer-editorial__path { stroke:var(--color-deep-muted); stroke-width:2.5; stroke-linecap:round; }
.footer-editorial__art-index { position:absolute; bottom:0; right:0; font:700 10px/1.3 var(--font-en); letter-spacing:.12em; color:var(--color-muted); }
.footer-editorial__rail { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--color-sage-deep); padding:24px 0 30px; margin-top:40px; }
.footer-editorial__rail > span { display:inline-flex; align-items:center; gap:12px; font-size:13px; font-weight:600; color:var(--color-deep); }
.footer-editorial__rail-mark { display:block; width:7px; height:7px; flex:none; background:var(--color-accent); border-radius:var(--radius-circle); }
.footer-editorial__rail a { display:inline-flex; align-items:center; gap:11px; font-size:14px; font-weight:700; color:var(--color-deep); white-space:nowrap; }
.footer-editorial__rail a .icon { width:18px; height:18px; transition:transform var(--transition-normal); }
.footer-editorial__rail a:hover { color:var(--color-success); }
.footer-editorial__rail a:hover .icon { transform:translate(3px,-3px); }
.footer-directory { background:var(--color-deep); color:var(--color-white); }
.footer-directory__grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1fr); gap:clamp(24px,3.4vw,60px); padding:73px 0 72px; }
.footer-directory__brand { max-width:330px; }
.footer-directory .brand--footer { color:var(--color-white); }
.footer-directory .brand--footer .brand__mark { color:var(--color-accent); }
.footer-directory .brand--footer .brand__text strong { color:var(--color-white); }
.footer-directory .brand--footer .brand__text small { color:var(--color-sage); }
.footer-directory__brand > p { margin:26px 0 22px; color:var(--color-sage); font-size:14px; line-height:1.9; }
.footer-directory__statement { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:600; color:var(--color-accent); }
.footer-directory__statement-dot { background:var(--color-accent); width:7px; height:7px; border-radius:var(--radius-circle); }
.footer-column { display:flex; flex-direction:column; gap:15px; align-items:flex-start; }
.footer-column h3 { position:relative; color:var(--color-white); font-size:15px; font-weight:700; margin:6px 0 16px; padding-bottom:15px; white-space:nowrap; }
.footer-column h3::after { position:absolute; content:""; width:26px; height:2px; bottom:0; left:0; background:var(--color-accent); }
.footer-column a,.footer-column button { position:relative; display:inline-flex; align-items:center; padding:0; border:0; background:none; color:var(--color-sage); font-size:13px; line-height:1.65; text-align:left; text-decoration:none; transition:color var(--transition-normal),transform var(--transition-normal); }
.footer-column a::before,.footer-column button::before { content:""; position:absolute; width:0; height:1px; background:var(--color-accent); left:0; bottom:-3px; transition:width var(--transition-normal); }
.footer-column a:hover,.footer-column button:hover { color:var(--color-white); transform:translateX(3px); }
.footer-column a:hover::before,.footer-column button:hover::before { width:100%; }
.footer-column--contact p { color:var(--color-sage); font-size:13px; line-height:1.95; margin:0; max-width:240px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--color-light-line); padding:25px 0 29px; font-size:12px; color:var(--color-sage); }
.footer-bottom__signature { font-size:12px; }
.footer-bottom__top { display:inline-flex; align-items:center; gap:9px; font-weight:700; color:var(--color-accent); white-space:nowrap; }
.footer-bottom__top .icon { width:16px; height:16px; transition:transform var(--transition-normal); }
.footer-bottom__top:hover { color:var(--color-white); }
.footer-bottom__top:hover .icon { transform:translate(3px,-3px); }
@keyframes footer-art-float { 0% { transform:translateY(0); } 100% { transform:translateY(-10px); } }

/* Accessible native demo dialog */
.application-dialog { width:min(92vw,480px); margin:auto; border:1px solid var(--color-line); background:var(--color-white); padding:40px; border-radius:var(--radius); box-shadow:0 25px 80px color-mix(in srgb,var(--color-deep) 25%,transparent); color:var(--color-ink); }
.application-dialog[open] { animation:dialog-in .35s cubic-bezier(.22,1,.36,1); }
.application-dialog::backdrop { background:color-mix(in srgb,var(--color-overlay) 66%,transparent); }
.application-dialog__close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:35px; height:35px; border:0; background:var(--color-mist); color:var(--color-deep); border-radius:var(--radius-circle); }
.application-dialog__icon { display:grid; place-items:center; width:54px; height:54px; margin-bottom:22px; border-radius:var(--radius); background:var(--color-mist); color:var(--color-success); }
.application-dialog__icon .icon { width:26px; height:26px; }
.application-dialog h2 { font-size:25px; font-weight:700; color:var(--color-deep); }
.application-dialog p { margin:12px 0 25px; font-size:14px; line-height:1.9; color:var(--color-body); }
body.has-open-menu { overflow:hidden; }

/* Reveal behavior: content remains visible when JS is disabled. */
.js-enabled [data-reveal] { opacity:0; transform:translateY(27px); transition:opacity 780ms cubic-bezier(.22,1,.36,1),transform 780ms cubic-bezier(.22,1,.36,1); will-change:opacity,transform; }
.js-enabled [data-reveal].is-revealed { opacity:1; transform:translateY(0); will-change:auto; }
.js-enabled [data-reveal-delay="1"] { transition-delay:110ms; }
.js-enabled [data-reveal-delay="2"] { transition-delay:210ms; }
.js-enabled [data-reveal-delay="3"] { transition-delay:310ms; }
@keyframes fade-rise { from { opacity:0; transform:translateY(25px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-photo-enter { from { opacity:0; transform:translate(15px,22px); } to { opacity:1; transform:translate(0,0); } }
@keyframes hero-image-settle { from { transform:scale(1.13); } to { transform:scale(1.035); } }
@keyframes inset-enter { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes reveal-underline { to { transform:scaleX(1); } }
@keyframes nudge-down { 0%,100% { transform:translateY(0); } 50% { transform:translateY(4px); } }
@keyframes beacon { 0%,100% { box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 12%,transparent); } 50% { box-shadow:0 0 0 6px color-mix(in srgb,var(--color-accent) 4%,transparent); } }
@keyframes faq-in { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
@keyframes ornament-rotate { to { transform:rotate(349deg); } }
@keyframes dialog-in { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }

/* Large tablet */
@media (max-width:1199.98px) {
  .desktop-navigation { gap:15px; }
  .navigation-link { font-size:12.5px; }
  .brand__text strong { font-size:23px; }
  .brand__mark { width:45px; height:45px; }
  .header-apply { padding-inline:15px; font-size:12.5px; }
  .hero__layout { grid-template-columns:1fr .88fr; gap:20px; }
  .hero h1 { font-size:clamp(44px,5.1vw,67px); }
  .hero__inset-photo { left:-22px; }
  .program-card { padding:27px 23px; }
  .program-card__content { padding:30px; }
  .footer-directory__grid { gap:27px; }
}

/* Tablet and mobile navigation */
@media (max-width:991.98px) {
  :root { --section-space:86px; }
  .container-xl { padding-inline:23px; }
  .site-header__inner { min-height:75px; }
  .site-header.is-scrolled .site-header__inner { min-height:68px; }
  .desktop-navigation { display:none; }
  .menu-toggle { display:flex; }
  .mobile-navigation { display:flex; visibility:hidden; opacity:0; pointer-events:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - 95px); overflow:auto; flex-direction:column; align-items:stretch; background:var(--color-paper); border-top:1px solid var(--color-line); box-shadow:0 16px 28px color-mix(in srgb,var(--color-deep) 9%,transparent); padding:13px 23px 30px; transform:translateY(-11px); transition:opacity var(--transition-normal),transform var(--transition-normal); }
  .mobile-navigation.is-open { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0); }
  .mobile-navigation > a { font-size:16px; font-weight:600; padding:11px 4px; border-bottom:1px solid var(--color-line); }
  .mobile-navigation > .button { margin-top:20px; }
  .hero__layout { grid-template-columns:1fr 1fr; min-height:620px; padding-block:62px 77px; }
  .hero h1 { font-size:clamp(39px,5.4vw,53px); }
  .hero__description { font-size:15px; }
  .hero__visual { min-height:510px; padding:10px 18px 25px; }
  .hero__image-frame { inset:10px 18px 25px; }
  .hero__inset-photo { left:-13px; width:130px; height:172px; }
  .hero__side-index { right:-4px; }
  .hero__footnote { margin-top:25px; }
  .button--large { min-height:51px; padding:12px 17px; }
  .hero__actions { gap:11px; }
  .mission-copy { padding-left:30px; }
  .mission-copy__symbol { left:30px; }
  .mission-principles { margin-top:60px; }
  .program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .program-card--featured { grid-row:span 2; }
  .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-grid::before { display:none; }
  .process-step { min-height:239px; }
  .commitment-grid { gap:15px; }
  .story-visual { height:530px; }
  .story-layout { gap:35px; }
  .footer-editorial__layout { grid-template-columns:1.2fr .8fr; gap:22px; }
  .footer-directory__grid { grid-template-columns:1.2fr 1fr 1fr; gap:36px; }
  .footer-column--contact { grid-column:2 / -1; }

}

/* Phone */
@media (max-width:767.98px) {
  :root { --section-space:75px; }
  .container-xl { padding-inline:19px; }
  .utility-bar__inner { justify-content:center; min-height:35px; }
  .utility-bar p { font-size:11px; text-align:center; }
  .utility-bar a { display:none; }
  .site-header__inner { min-height:70px; }
  .brand__mark { width:40px; height:40px; }
  .brand__text strong { font-size:23px; }
  .brand__text small { font-size:9px; }
  .header-apply { display:none; }
  .hero__layout { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding-block:58px 80px; }
  .hero__content { padding:0; }
  .hero__eyebrow { font-size:11px; }
  .hero h1 { font-size:clamp(41px,9.5vw,62px); margin:20px 0 18px; }
  .hero__description { font-size:15px; line-height:1.9; }
  .hero__footnote { font-size:11px; margin-top:22px; }
  .hero__visual { margin-top:39px; min-height:500px; padding:0 14px 24px 21px; }
  .hero__image-frame { inset:0 14px 24px 21px; }
  .hero__inset-photo { width:146px; height:183px; left:-4px; bottom:52px; border-width:6px; }
  .hero__side-index { right:-5px; top:31px; }
  .hero__scroll-indicator { bottom:12px; }
  .section-kicker { margin-bottom:18px; }
  .section-title { font-size:clamp(35px,8vw,50px); }
  .section-title--large { font-size:clamp(42px,8.2vw,56px); }
  .mission-copy { margin-top:15px; }
  .mission-copy > p:first-of-type { font-size:22px; }
  .mission-principles { grid-template-columns:1fr; gap:16px; margin-top:48px; }
  .mission-principle { padding:12px 0; border-bottom:1px solid var(--color-line); }
  .section-intro { margin-bottom:30px; }
  .section-intro__description { max-width:500px; }
  .program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; }
  .program-card--featured { grid-column:1 / -1; grid-row:auto; min-height:450px; }
  .program-card { min-height:245px; padding:24px 22px; }
  .program-card h3 { font-size:20px; }
  .program-card__content h3 { font-size:27px; }
  .eligibility-item { gap:12px; }
  .eligibility-item p { font-size:15px; }
  .process-grid { gap:12px; }
  .process-step { padding:26px 23px; }
  .preparation-panel { padding:27px 24px 22px; }
  .lookup-card { padding:30px 26px; }
  .commitment-grid { grid-template-columns:1fr; gap:10px; margin-top:33px; }
  .commitment-card { padding:26px 5px 8px 0; }
  .story-layout { grid-template-columns:1fr; gap:40px; }
  .story-visual { height:440px; }
  .faq-list { margin-top:13px; }
  .closing-panel { padding:57px 30px 61px; }
  .closing-panel__ornament { width:200px; top:-40px; right:-50px; }
  .closing-panel h2 { font-size:clamp(34px,7.5vw,52px); }
  .footer-editorial { padding-top:80px; }
  .footer-editorial__layout { grid-template-columns:1fr; min-height:0; gap:8px; }
  .footer-editorial__content h2 { font-size:clamp(44px,9vw,68px); }
  .footer-editorial__art { min-height:230px; justify-content:flex-end; }
  .footer-editorial__illustration { width:295px; }
  .footer-editorial__rail { margin-top:24px; }
  .footer-directory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 24px; padding:62px 0; }
  .footer-directory__brand { grid-column:1 / -1; }
  .footer-column--contact { grid-column:1 / -1; }

}
@media (max-width:480px) {
  .hero h1 { font-size:clamp(39px,10vw,49px); }
  .hero__heading-last { white-space:normal; }
  .hero__actions { flex-direction:column; align-items:stretch; }
  .hero__actions .button { width:100%; }
  .hero__visual { min-height:415px; }
  .hero__inset-photo { width:116px; height:146px; }
  .hero__visual-caption { font-size:10.5px; bottom:20px; left:17px; }
  .program-grid { grid-template-columns:1fr; }
  .program-card { min-height:230px; }
  .program-card--featured { min-height:430px; }
  .process-grid { grid-template-columns:1fr; }
  .process-step { min-height:0; padding:20px 23px; }
  .process-step__icon { margin:11px 0 12px; }
  .lookup-card__field { flex-direction:column; }
  .lookup-card__field .button { width:100%; }
  .lookup-card { padding:26px 20px; }
  .preparation-panel { padding:24px 18px; }
  .preparation-panel__header h3 { font-size:19px; }
  .story-visual { height:345px; }
  .faq-item summary { font-size:15.5px; }
  .closing-panel { padding:48px 23px 52px; }
  .closing-panel__actions { align-items:stretch; flex-direction:column; gap:10px; }
  .closing-panel__actions .button { width:100%; }
  .footer-editorial { padding-top:65px; }
  .footer-editorial__content h2 { font-size:clamp(38px,10vw,52px); }
  .footer-editorial__content p { font-size:14px; }
  .footer-editorial__art { min-height:210px; }
  .footer-editorial__illustration { width:255px; }
  .footer-editorial__art-index { font-size:8px; }
  .footer-editorial__rail { align-items:flex-start; flex-direction:column; gap:13px; padding-top:23px; }
  .footer-editorial__rail > span { font-size:12px; }
  .footer-directory__grid { gap:35px 20px; }
  .footer-column h3 { font-size:14px; }
  .footer-column a,.footer-column button { font-size:12px; }
  .footer-bottom { display:grid; grid-template-columns:1fr auto; gap:8px 15px; }
  .footer-bottom__signature { grid-row:2; }
  .footer-bottom__top { grid-column:2; grid-row:1 / span 2; }

  .application-dialog { padding:35px 25px; }
}

/* Respect reduced motion, disable parallax and transitions */
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .js-enabled [data-reveal] { opacity:1; transform:none; }
}

/* Small Bootstrap grid fallback for local/offline . */
.row { display:flex; flex-wrap:wrap; --bs-gutter-x:1.5rem; --bs-gutter-y:0; margin-top:calc(-1*var(--bs-gutter-y)); margin-right:calc(-.5*var(--bs-gutter-x)); margin-left:calc(-.5*var(--bs-gutter-x)); }
.row > * { flex-shrink:0; max-width:100%; width:100%; padding-right:calc(var(--bs-gutter-x)*.5); padding-left:calc(var(--bs-gutter-x)*.5); margin-top:var(--bs-gutter-y); }
.g-4 { --bs-gutter-x:1.5rem; --bs-gutter-y:1.5rem; }
.g-5 { --bs-gutter-x:3rem; --bs-gutter-y:3rem; }
.align-items-center { align-items:center; }
.d-flex { display:flex; }
.flex-column { flex-direction:column; }
.justify-content-between { justify-content:space-between; }
.gap-4 { gap:1.5rem; }
.order-lg-1,.order-lg-2 { order:initial; }
@media (min-width:992px) {
  .col-lg-5 { flex:0 0 auto; width:41.66666667%; }
  .col-lg-6 { flex:0 0 auto; width:50%; }
  .col-lg-7 { flex:0 0 auto; width:58.33333333%; }
  .flex-lg-row { flex-direction:row; }
  .align-items-lg-end { align-items:flex-end; }
  .order-lg-1 { order:1; }.order-lg-2 { order:2; }
}
@media (max-width: 991.98px) {
  .row.g-5 { --bs-gutter-x: 2rem; }
}


/* ================================================================
   ================================================================ */
.hero h1 { min-height:3.6em; position:relative; }
.hero__type-line { display:block; min-height:1.22em; }
.hero__type-line--accent { color:var(--color-deep-muted); }
.hero__typing-caret { display:inline-block; width:3px; height:.8em; margin-left:5px; vertical-align:baseline; background:var(--color-accent); animation:typing-caret-flash 1s step-end infinite; }
@keyframes typing-caret-flash { 50% { opacity:0; } }
.hero__image--slide { position:absolute; inset:0; opacity:0; transform:scale(1.075) translateX(10px); transition:opacity 1000ms ease, transform 6500ms ease; animation:none; pointer-events:none; }
.hero__image--slide.is-active { opacity:1; transform:scale(1.02) translateX(0); z-index:1; }
.hero__image-shade { z-index:2; }
.hero__visual-caption { z-index:3; }
.hero__slide-navigation { position:absolute; display:flex; align-items:center; gap:13px; bottom:4px; right:34px; z-index:4; }
.hero__slide-dots { display:flex; align-items:center; gap:8px; }
.hero__slide-dot { border:0; width:8px; height:8px; padding:0; background:var(--color-sage-deep); border-radius:var(--radius-circle); transition:width var(--transition-normal),background var(--transition-normal); }
.hero__slide-dot.is-active { width:24px; height:8px; background:var(--color-deep); border-radius:var(--radius); }
.slider-pause { display:grid; place-items:center; width:26px; height:26px; padding:0; border:1px solid var(--color-line); color:var(--color-deep); background:var(--color-white); border-radius:var(--radius); font:700 13px/1 var(--font-en); }
.slider-pause:hover { border-color:var(--color-deep); }
.eligibility-item { width:100%; border:0; border-bottom:1px solid var(--color-line); border-radius:var(--radius); background:transparent; text-align:left; }
.eligibility-item.is-active { background:var(--color-mist); padding: 23px 15px; border-radius: 0 !important; }
.eligibility-item.is-active p { color:var(--color-success); }
.eligibility-item .icon { transition:transform var(--transition-normal),color var(--transition-normal); }
.eligibility-item:hover .icon,.eligibility-item.is-active .icon { transform:translate(2px,-2px); color:var(--color-success); }
.eligibility-content { transition:opacity 330ms cubic-bezier(.22,1,.36,1),transform 330ms cubic-bezier(.22,1,.36,1); }
.eligibility-content.is-changing { opacity:.12; transform:translateY(12px); }
.eligibility-content .section-title { min-height:2.8em; }
.eligibility-content .section-lead { min-height:7em; }
/* Four photographs slide in the footer; editorial styles remain intact. */
.footer-editorial { padding-top:clamp(70px,8vw,108px); }
.footer-editorial__slides { position:relative; display:grid; min-height:465px; }
.footer-editorial__slide { grid-area:1/1; opacity:0; transform:translateX(32px); pointer-events:none; visibility:hidden; transition:opacity 800ms cubic-bezier(.22,1,.36,1),transform 900ms cubic-bezier(.22,1,.36,1),visibility 900ms; }
.footer-editorial__slide.is-active { opacity:1; transform:translateX(0); pointer-events:auto; visibility:visible; z-index:2; transition:opacity 800ms cubic-bezier(.22,1,.36,1),transform 900ms cubic-bezier(.22,1,.36,1),visibility 0s; }
.footer-editorial__layout { min-height:445px; align-items:center; }
.footer-editorial__content h2 { font-size:clamp(42px,5.2vw,76px); }
.footer-editorial__art { min-height:440px; align-self:stretch; padding:0 0 28px 12px; }
.footer-editorial__photo { position:absolute; inset:5px 24px 28px 10px; margin:0; background:var(--color-sage); border-radius:var(--radius); overflow:hidden; }
.footer-editorial__photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 7s cubic-bezier(.22,1,.36,1); }
.footer-editorial__slide.is-active .footer-editorial__photo img { transform:scale(1.07); }
.footer-editorial__photo figcaption { position:absolute; bottom:15px; left:15px; right:15px; width:max-content; max-width:calc(100% - 30px); padding:8px 13px; background:var(--color-paper); color:var(--color-deep); border-radius:var(--radius); font-size:11px; font-weight:700; }
.footer-editorial__art-index { bottom:2px; right:23px; }
.footer-editorial__controls { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0 5px; margin-top:0; }
.footer-editorial__pagination { display:flex; align-items:center; gap:8px; }
.footer-editorial__dot { min-width:46px; min-height:32px; padding:6px 12px; border:1px solid var(--color-line); background:var(--color-paper); color:var(--color-muted); border-radius:var(--radius); font:700 12px var(--font-en); transition:color var(--transition-normal),border-color var(--transition-normal),background var(--transition-normal); }
.footer-editorial__dot.is-active { background:var(--color-deep); border-color:var(--color-deep); color:var(--color-white); }
.footer-editorial__arrows { display:flex; align-items:center; gap:9px; }
.footer-editorial__arrow { display:grid; place-items:center; width:37px; height:37px; background:var(--color-paper); border:1px solid var(--color-sage-deep); border-radius:var(--radius); color:var(--color-deep); transition:background var(--transition-normal),color var(--transition-normal); }
.footer-editorial__arrow:hover { background:var(--color-deep); color:var(--color-white); }
.footer-editorial__arrow--previous .icon { transform:rotate(180deg); }
.footer-editorial__pause { min-height:37px; padding:7px 10px; background:transparent; border:1px solid var(--color-sage-deep); border-radius:var(--radius); font-size:12px; font-weight:700; color:var(--color-deep); }
.footer-editorial__pause:hover { background:var(--color-paper); }
.footer-editorial__rail { margin-top:20px; }
@media (max-width:991.98px) {
  .hero h1 { min-height:3.8em; }
  .footer-editorial__slides { min-height:415px; }
  .footer-editorial__layout { min-height:400px; }
  .footer-editorial__art { min-height:395px; }
  .footer-editorial__content h2 { font-size:clamp(38px,5.4vw,62px); }
}
@media (max-width:767.98px) {
  .hero h1 { min-height:3.3em; }
  .hero__type-line { min-height:1.2em; }
  .hero__slide-navigation { right:18px; bottom:0; }
  .eligibility-content .section-title,.eligibility-content .section-lead { min-height:0; }
  .footer-editorial__slides { min-height:0; }
  .footer-editorial__layout { min-height:0; gap:28px; }
  .footer-editorial__content h2 { font-size:clamp(42px,9vw,64px); }
  .footer-editorial__art { min-height:310px; padding:0; }
  .footer-editorial__photo { inset:0 0 22px; }
  .footer-editorial__art-index { right:0; }
  .footer-editorial__controls { margin-top:2px; }
  .footer-editorial__slide:not(.is-active) { position:absolute; inset:0; }
}
@media (max-width:480px) {
  .hero h1 { min-height:3.8em; font-size:clamp(37px,9.7vw,48px); }
  .footer-editorial__art { min-height:275px; }
  .footer-editorial__content h2 { font-size:clamp(37px,9.5vw,52px); }
  .footer-editorial__controls { flex-wrap:wrap; }
  .footer-editorial__arrows { margin-left:auto; }
  .footer-editorial__dot { min-width:38px; padding:6px 8px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero__typing-caret { animation:none; opacity:0; }
  .hero__image--slide,.footer-editorial__slide,.footer-editorial__photo img,.eligibility-content { transition:none !important; transform:none !important; }
}

.hero__typing-caret { display:none; }
.hero__type-line--accent::after { content:""; display:inline-block; width:3px; height:.78em; margin-left:5px; vertical-align:baseline; background:var(--color-accent); animation:typing-caret-flash 1s step-end infinite; }
@media (prefers-reduced-motion:reduce) { .hero__type-line--accent::after { display:none; } }

@media (max-width:767.98px) {
  .eligibility-section .order-lg-1 { order:-1; }
}
