:root {
  --royal: #123f93;
  --royal-2: #0a2d72;
  --royal-3: #071f52;
  --blue-50: #f2f6ff;
  --blue-100: #e5edff;
  --gold: #f1c453;
  --gold-dark: #d8aa38;
  --ink: #172033;
  --muted: #637083;
  --line: #dfe5ef;
  --white: #ffffff;
  --soft: #f6f8fc;
  --shadow: 0 18px 50px rgba(9, 36, 91, 0.12);
  --radius: 18px;
  --container: 1180px;
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.65;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
}
button,
input,
textarea,
select {
  font: inherit;
}
.container {
  width: min(var(--container), calc(100% - 40px));
  margin: 0 auto;
}
.narrow-container {
  width: min(900px, 100%);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.skip-link {
  position: fixed;
  top: -60px;
  left: 20px;
  z-index: 9999;
  padding: 10px 16px;
  background: var(--gold);
  color: var(--royal-3);
  font-weight: 800;
}
.skip-link:focus {
  top: 20px;
}

.utility-bar {
  background: var(--royal-3);
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
}
.utility-inner {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  min-height: 34px;
}
.utility-links {
  display: flex;
  gap: 12px;
  align-items: center;
}
.utility-links a:hover {
  color: var(--white);
}
.dot {
  opacity: 0.5;
}

.brand-bar {
  background: var(--white);
}
.brand-inner {
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 15px;
}
.sample-logo {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(145deg, var(--royal), var(--royal-3));
  box-shadow: 0 6px 18px rgba(18, 63, 147, 0.25);
  flex: 0 0 auto;
}
.sample-logo-ring {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid var(--gold);
  color: var(--white);
  display: grid;
  place-items: center;
  font-family: 'Playfair Display', serif;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.sample-logo.small {
  width: 52px;
  height: 52px;
}
.sample-logo.small .sample-logo-ring {
  width: 40px;
  height: 40px;
  font-size: 13px;
}
.brand-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.12;
}
.brand-copy strong {
  font-family: 'Playfair Display', serif;
  color: var(--royal-3);
  font-size: 23px;
}
.brand-copy span {
  text-transform: uppercase;
  color: var(--royal);
  font-size: 15px;
  letter-spacing: 0.13em;
  font-weight: 800;
  margin-top: 4px;
}
.brand-copy small {
  color: var(--muted);
  margin-top: 5px;
  font-size: 11px;
  letter-spacing: 0.05em;
}
.header-cta {
  border: 1px solid var(--royal);
  color: var(--royal);
  border-radius: 999px;
  padding: 11px 18px;
  font-size: 13px;
  font-weight: 800;
  transition: 0.2s ease;
}
.header-cta:hover {
  background: var(--royal);
  color: var(--white);
  transform: translateY(-1px);
}

.main-nav {
  background: var(--royal);
  color: var(--white);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 8px 20px rgba(4, 22, 62, 0.12);
}
.nav-inner {
  min-height: 54px;
  display: flex;
  align-items: center;
}
.nav-menu {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.nav-menu a {
  padding: 16px 18px;
  font-size: 13px;
  font-weight: 700;
  position: relative;
  opacity: 0.9;
}
.nav-menu a:hover,
.nav-menu a.is-active {
  opacity: 1;
  background: rgba(255, 255, 255, 0.08);
}
.nav-menu a.is-active::after {
  content: '';
  position: absolute;
  height: 3px;
  left: 18px;
  right: 18px;
  bottom: 0;
  background: var(--gold);
  border-radius: 3px 3px 0 0;
}
.nav-toggle {
  display: none;
  background: transparent;
  border: 0;
  padding: 10px 0;
  cursor: pointer;
}
.nav-toggle > span:not(.sr-only) {
  display: block;
  width: 26px;
  height: 2px;
  background: white;
  margin: 5px 0;
}

.hero {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 85% 20%, rgba(241, 196, 83, 0.18), transparent 24%), linear-gradient(115deg, var(--royal-3) 0%, var(--royal) 65%, #2458b4 100%);
}
.hero::after {
  content: '';
  position: absolute;
  width: 430px;
  height: 430px;
  right: -180px;
  bottom: -240px;
  border: 80px solid rgba(255, 255, 255, 0.035);
  border-radius: 50%;
}
.hero-grid-overlay {
  position: absolute;
  inset: 0;
  opacity: 0.08;
  background-image: linear-gradient(rgba(255, 255, 255, 0.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.5) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to right, black, transparent 80%);
}
.hero-inner {
  position: relative;
  z-index: 2;
  min-height: 610px;
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  align-items: center;
  gap: 80px;
  padding-top: 70px;
  padding-bottom: 70px;
}
.hero-copy {
  max-width: 700px;
}
.eyebrow {
  display: inline-block;
  color: var(--royal);
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 15px;
}
.eyebrow.light {
  color: #dce8ff;
}
.hero h1,
.page-hero h1,
.section h2 {
  font-family: 'Playfair Display', Georgia, serif;
}
.hero h1 {
  font-size: clamp(48px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  margin: 0 0 24px;
  max-width: 750px;
}
.hero h1 em {
  color: var(--gold);
  font-style: normal;
}
.hero-copy > p {
  max-width: 650px;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 21px;
  border-radius: 9px;
  font-weight: 800;
  font-size: 13px;
  transition: 0.2s ease;
  border: 1px solid transparent;
}
.btn:hover {
  transform: translateY(-2px);
}
.btn-gold {
  background: var(--gold);
  color: var(--royal-3);
}
.btn-gold:hover {
  background: #ffd66d;
  box-shadow: 0 8px 20px rgba(241, 196, 83, 0.24);
}
.btn-outline-light {
  border-color: rgba(255, 255, 255, 0.45);
  color: var(--white);
  background: rgba(255, 255, 255, 0.04);
}
.btn-outline-light:hover {
  background: rgba(255, 255, 255, 0.1);
}
.btn-primary {
  background: var(--royal);
  color: var(--white);
}
.btn-primary:hover {
  background: var(--royal-2);
  box-shadow: 0 8px 20px rgba(18, 63, 147, 0.22);
}
.btn.full {
  width: 100%;
}
.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  margin-top: 38px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}
.hero-trust span {
  display: flex;
  flex-direction: column;
}
.hero-trust b {
  color: var(--white);
  font-size: 15px;
}
.hero-card {
  background: rgba(255, 255, 255, 0.96);
  color: var(--ink);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 25px 70px rgba(2, 20, 63, 0.3);
  border-top: 4px solid var(--gold);
}
.card-kicker {
  color: var(--royal);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}
.hero-card h2 {
  font-size: 28px;
  line-height: 1.1;
  margin: 7px 0 22px;
}
.mini-step {
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}
.mini-step b {
  color: var(--royal);
  font-size: 12px;
}
.mini-step span {
  display: flex;
  flex-direction: column;
}
.mini-step strong {
  font-size: 13px;
}
.mini-step small {
  color: var(--muted);
  margin-top: 2px;
}
.hero-card > a {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  color: var(--royal);
  font-weight: 800;
  font-size: 13px;
}

.quick-links-wrap {
  position: relative;
  z-index: 5;
  margin-top: -1px;
  background: var(--white);
}
.quick-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  border-top: 0;
  box-shadow: var(--shadow);
  transform: translateY(-20px);
  background: white;
  border-radius: 0 0 14px 14px;
  overflow: hidden;
}
.quick-links a {
  min-height: 105px;
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 20px;
  border-right: 1px solid var(--line);
  transition: 0.2s ease;
}
.quick-links a:last-child {
  border-right: 0;
}
.quick-links a:hover {
  background: var(--blue-50);
}
.q-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--blue-100);
  color: var(--royal);
  font-weight: 900;
}
.quick-links span:nth-child(2) {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.quick-links b {
  font-size: 13px;
}
.quick-links small {
  color: var(--muted);
  margin-top: 4px;
}
.quick-links i {
  color: var(--royal);
  font-style: normal;
}

.section {
  padding: 88px 0;
}
.section-soft {
  background: var(--soft);
}
.intro-section {
  padding-top: 92px;
}
.split-layout,
.content-intro {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 90px;
  align-items: start;
}
.section-heading h2,
.center-heading h2,
.content-intro h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--royal-3);
}
.section-heading.narrow {
  max-width: 520px;
}
.lead-copy p,
.content-intro > p {
  margin: 0 0 20px;
  color: #4d596b;
  font-size: 16px;
}
.text-link {
  color: var(--royal);
  font-weight: 800;
  font-size: 13px;
}
.text-link span {
  margin-left: 6px;
}
.center-heading {
  max-width: 700px;
  margin: 0 auto 42px;
  text-align: center;
}
.center-heading p {
  color: var(--muted);
  margin: 15px auto 0;
  max-width: 620px;
}
.center-action {
  text-align: center;
  margin-top: 32px;
}

.program-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.program-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 27px;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  transition: 0.22s ease;
  position: relative;
  overflow: hidden;
}
.program-card::before {
  content: '';
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  right: -50px;
  top: -50px;
  background: var(--blue-50);
  transition: 0.2s ease;
}
.program-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(18, 63, 147, 0.1);
  border-color: #c9d8f8;
}
.program-card:hover::before {
  transform: scale(1.3);
}
.program-abbr {
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--blue-100);
  color: var(--royal);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.program-card h3 {
  font-family: 'Playfair Display', serif;
  color: var(--royal-3);
  font-size: 21px;
  line-height: 1.25;
  margin: 21px 0 10px;
}
.program-card p {
  color: var(--muted);
  font-size: 13px;
  margin: 0 0 22px;
}
.program-card a {
  color: var(--royal);
  font-weight: 800;
  font-size: 12px;
  margin-top: auto;
}
.program-grid-full {
  margin-top: 46px;
}

.benefits-section {
  background: var(--royal-3);
  color: white;
  position: relative;
  overflow: hidden;
}
.benefits-section::after {
  content: '';
  position: absolute;
  width: 380px;
  height: 380px;
  border: 75px solid rgba(255, 255, 255, 0.03);
  border-radius: 50%;
  right: -100px;
  top: -110px;
}
.benefits-section .section-heading h2 {
  color: white;
}
.benefit-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 50px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.benefit-grid article {
  padding: 30px 28px 10px 0;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  margin-right: 28px;
}
.benefit-grid article:last-child {
  border-right: 0;
  margin-right: 0;
}
.benefit-grid span {
  color: var(--gold);
  font-weight: 800;
  font-size: 12px;
}
.benefit-grid h3 {
  margin: 12px 0 8px;
  font-size: 18px;
}
.benefit-grid p {
  color: rgba(255, 255, 255, 0.68);
  font-size: 13px;
  margin: 0;
}

.feature-banner {
  border-radius: 24px;
  padding: 48px 52px;
  color: white;
  background: linear-gradient(120deg, var(--royal) 0%, var(--royal-3) 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  box-shadow: var(--shadow);
}
.feature-banner h2 {
  color: white;
  margin: 0;
  font-size: 40px;
  line-height: 1.1;
}
.feature-banner p {
  color: rgba(255, 255, 255, 0.72);
  max-width: 650px;
  margin-bottom: 0;
}
.feature-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 220px;
}

.page-hero {
  color: white;
  background: radial-gradient(circle at 80% 40%, rgba(241, 196, 83, 0.16), transparent 22%), linear-gradient(120deg, var(--royal-3), var(--royal));
  padding: 76px 0 70px;
}
.page-hero h1 {
  margin: 0;
  font-size: clamp(44px, 5vw, 64px);
  line-height: 1.05;
}
.page-hero p {
  color: rgba(255, 255, 255, 0.76);
  max-width: 660px;
  margin: 18px 0 0;
  font-size: 16px;
}
.content-intro {
  align-items: end;
}
.content-intro > p {
  margin-bottom: 5px;
}

.info-card-grid,
.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.info-card-grid article,
.process-grid article {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 26px;
}
.info-card-grid b,
.process-grid b {
  color: var(--royal);
  font-size: 11px;
}
.info-card-grid h3,
.process-grid h3 {
  font-size: 18px;
  margin: 15px 0 7px;
  color: var(--royal-3);
}
.info-card-grid p,
.process-grid p {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}
.process-grid {
  grid-template-columns: repeat(3, 1fr);
}

.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 70px;
}
.detail-main h2 {
  font-family: 'Playfair Display', serif;
  color: var(--royal-3);
  font-size: 42px;
  line-height: 1.08;
  margin: 0 0 22px;
}
.detail-main h3 {
  color: var(--royal-3);
  margin-top: 36px;
}
.detail-main > p {
  color: #4f5b6d;
}
.side-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
  background: white;
  box-shadow: 0 15px 35px rgba(18, 63, 147, 0.08);
}
.side-card.sticky {
  position: sticky;
  top: 85px;
}
.side-card h3 {
  color: var(--royal-3);
  font-size: 18px;
  margin: 18px 0 8px;
}
.side-card p {
  color: var(--muted);
  font-size: 13px;
}
.side-card hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 22px 0;
}
.side-card .btn {
  margin-top: 14px;
}
.muted {
  display: block;
  color: var(--muted);
  margin-top: 12px;
}
.notice {
  border-left: 4px solid var(--gold);
  background: #fffaf0;
  border-radius: 0 12px 12px 0;
  padding: 18px 20px;
  margin: 28px 0;
}
.notice strong {
  color: var(--royal-3);
}
.notice p {
  margin: 5px 0 0;
  color: #5e6572;
  font-size: 13px;
}
.check-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.check-grid span {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 13px 15px;
  font-size: 13px;
  font-weight: 700;
}
.check-grid span::before {
  content: '✓';
  color: var(--royal);
  margin-right: 8px;
}

.requirement-list {
  list-style: none;
  padding: 0;
  margin: 30px 0 0;
  counter-reset: req;
}
.requirement-list li {
  counter-increment: req;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 15px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.requirement-list li::before {
  content: counter(req, decimal-leading-zero);
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--blue-50);
  color: var(--royal);
  font-size: 11px;
  font-weight: 900;
  grid-row: span 2;
}
.requirement-list b {
  color: var(--royal-3);
}
.requirement-list span {
  color: var(--muted);
  font-size: 13px;
}
.deadline-date {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  padding: 16px;
  border-radius: 12px;
  background: var(--blue-50);
}
.deadline-date b {
  font-size: 42px;
  line-height: 1;
  color: var(--royal);
}
.deadline-date span {
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.fee-table {
  margin-top: 38px;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.fee-row {
  display: grid;
  grid-template-columns: 1fr 180px;
  min-height: 58px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.fee-row:last-child {
  border-bottom: 0;
}
.fee-row > * {
  padding: 15px 20px;
}
.fee-row strong {
  text-align: right;
  color: var(--royal-3);
  border-left: 1px solid var(--line);
}
.fee-row.head {
  background: var(--royal);
  color: white;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fee-row.head span:last-child {
  text-align: right;
}

.download-section + .download-section {
  margin-top: 72px;
}
.download-grid {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.download-card {
  display: grid;
  grid-template-columns: 54px 1fr 40px;
  gap: 16px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px;
  background: white;
  transition: 0.2s ease;
}
.download-card:hover {
  border-color: #c3d3f4;
  box-shadow: 0 12px 28px rgba(18, 63, 147, 0.08);
}
.file-icon {
  width: 48px;
  height: 58px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--blue-50);
  color: var(--royal);
  font-size: 10px;
  font-weight: 900;
}
.download-card h3 {
  margin: 3px 0;
  font-size: 15px;
  color: var(--royal-3);
}
.download-card p,
.download-card b {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}
.download-card > a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--royal);
  color: white;
  font-weight: 900;
}

.news-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 380px;
  border-radius: 22px;
  overflow: hidden;
  background: var(--soft);
  border: 1px solid var(--line);
}
.news-art {
  display: grid;
  place-items: center;
  min-height: 380px;
  background: radial-gradient(circle at 70% 30%, rgba(241, 196, 83, 0.22), transparent 24%), linear-gradient(135deg, var(--royal), var(--royal-3));
}
.news-art span {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: 2px solid rgba(241, 196, 83, 0.7);
  display: grid;
  place-items: center;
  font-family: 'Playfair Display', serif;
  font-size: 30px;
  color: white;
  box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.04);
}
.news-copy {
  padding: 48px;
  align-self: center;
}
.news-copy h2 {
  font-family: 'Playfair Display', serif;
  color: var(--royal-3);
  font-size: 38px;
  line-height: 1.08;
  margin: 0 0 16px;
}
.news-copy p {
  color: var(--muted);
}
.sample-badge {
  display: inline-block;
  background: #fff6dc;
  color: #83620e;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 24px;
}
.news-grid article {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 25px;
}
.news-date {
  color: var(--royal);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.news-grid h3 {
  color: var(--royal-3);
  font-size: 18px;
  line-height: 1.35;
}
.news-grid p {
  color: var(--muted);
  font-size: 13px;
}
.news-grid a {
  color: var(--royal);
  font-weight: 800;
  font-size: 12px;
}

.contact-panel {
  border-radius: 22px;
  padding: 50px;
  color: white;
  background: linear-gradient(125deg, var(--royal-3), var(--royal));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
.contact-panel h2 {
  color: white;
  margin: 0;
  font-size: 42px;
  line-height: 1.1;
}
.contact-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.contact-list p {
  margin: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
}
.contact-list strong {
  display: block;
  color: white;
  margin-bottom: 5px;
}
.contact-list a {
  color: white;
}

.site-footer {
  background: #071a42;
  color: rgba(255, 255, 255, 0.68);
  padding: 62px 0 22px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 0.8fr 1fr 0.9fr;
  gap: 50px;
}
.footer-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  color: white;
}
.footer-brand div {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.footer-brand strong {
  font-family: 'Playfair Display', serif;
}
.footer-brand span {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.1em;
  color: #cdd9f6;
  margin-top: 3px;
}
.footer-grid p {
  font-size: 12px;
}
.footer-grid h3 {
  color: white;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-top: 0;
}
.footer-grid > div > a {
  display: block;
  font-size: 12px;
  margin: 8px 0;
}
.footer-grid > div > a:hover {
  color: white;
}
.footer-link {
  color: var(--gold) !important;
}
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 42px;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 11px;
}

@media (max-width: 980px) {
  .header-cta {
    display: none;
  }
  .hero-inner {
    grid-template-columns: 1fr;
    gap: 36px;
    min-height: auto;
  }
  .hero-card {
    max-width: 620px;
  }
  .quick-links {
    grid-template-columns: repeat(2, 1fr);
  }
  .quick-links a:nth-child(2) {
    border-right: 0;
  }
  .quick-links a:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }
  .split-layout,
  .content-intro {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .program-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .benefit-grid,
  .info-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .benefit-grid article {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    margin-right: 0;
    padding-right: 20px;
  }
  .feature-banner {
    align-items: flex-start;
    flex-direction: column;
  }
  .feature-actions {
    flex-direction: row;
    min-width: 0;
  }
  .detail-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .side-card.sticky {
    position: static;
  }
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .contact-panel {
    grid-template-columns: 1fr;
  }
  .news-feature {
    grid-template-columns: 1fr;
  }
  .news-art {
    min-height: 260px;
  }
}

@media (max-width: 720px) {
  .container {
    width: min(100% - 28px, var(--container));
  }
  .utility-inner > span:first-child,
  .utility-links .dot,
  .utility-links a:first-child {
    display: none;
  }
  .utility-inner {
    justify-content: flex-end;
  }
  .brand-inner {
    min-height: 82px;
  }
  .sample-logo {
    width: 54px;
    height: 54px;
  }
  .sample-logo-ring {
    width: 43px;
    height: 43px;
  }
  .brand-copy strong {
    font-size: 17px;
  }
  .brand-copy span {
    font-size: 11px;
  }
  .brand-copy small {
    display: none;
  }
  .nav-inner {
    justify-content: flex-end;
    position: relative;
  }
  .nav-toggle {
    display: block;
  }
  .nav-menu {
    position: absolute;
    top: 54px;
    left: 0;
    right: 0;
    background: var(--royal-2);
    display: none;
    flex-direction: column;
    padding: 8px 14px 14px;
    box-shadow: 0 18px 25px rgba(0, 0, 0, 0.18);
  }
  .nav-menu.is-open {
    display: flex;
  }
  .nav-menu a {
    padding: 13px 12px;
  }
  .nav-menu a.is-active::after {
    display: none;
  }
  .hero-inner {
    padding-top: 58px;
    padding-bottom: 58px;
  }
  .hero h1 {
    font-size: 48px;
  }
  .hero-copy > p {
    font-size: 16px;
  }
  .hero-trust {
    gap: 18px;
  }
  .quick-links {
    grid-template-columns: 1fr;
    transform: translateY(-12px);
  }
  .quick-links a {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    min-height: 82px;
  }
  .section {
    padding: 68px 0;
  }
  .program-grid,
  .benefit-grid,
  .info-card-grid,
  .process-grid,
  .download-grid,
  .news-grid {
    grid-template-columns: 1fr;
  }
  .feature-banner {
    padding: 34px 26px;
  }
  .feature-banner h2 {
    font-size: 34px;
  }
  .feature-actions {
    flex-direction: column;
    width: 100%;
  }
  .page-hero {
    padding: 60px 0;
  }
  .detail-main h2 {
    font-size: 34px;
  }
  .check-grid {
    grid-template-columns: 1fr;
  }
  .fee-row {
    grid-template-columns: 1fr 120px;
  }
  .fee-row > * {
    padding: 13px 14px;
  }
  .news-copy {
    padding: 30px 24px;
  }
  .news-copy h2 {
    font-size: 32px;
  }
  .contact-panel {
    padding: 34px 24px;
  }
  .contact-list {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .footer-bottom {
    flex-direction: column;
  }
}

/* Modern motion system */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.72s cubic-bezier(0.2, 0.65, 0.2, 1),
    transform 0.72s cubic-bezier(0.2, 0.65, 0.2, 1);
  transition-delay: var(--delay, 0ms);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.animated-hero {
  isolation: isolate;
}
.hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
  pointer-events: none;
  z-index: 0;
  opacity: 0.32;
  animation: floatOrb 9s ease-in-out infinite alternate;
}
.orb-one {
  width: 340px;
  height: 340px;
  right: 7%;
  top: 8%;
  background: radial-gradient(circle, rgba(241, 196, 83, 0.55), rgba(241, 196, 83, 0) 70%);
}
.orb-two {
  width: 280px;
  height: 280px;
  left: -7%;
  bottom: -10%;
  background: radial-gradient(circle, rgba(91, 146, 255, 0.38), rgba(91, 146, 255, 0) 70%);
  animation-delay: -3s;
}
@keyframes floatOrb {
  from {
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    transform: translate3d(20px, -18px, 0) scale(1.08);
  }
}
.hero-inner,
.page-hero .container {
  position: relative;
  z-index: 2;
}
.hero-copy h1 em {
  display: inline-block;
  animation: heroAccent 1.15s 0.28s both cubic-bezier(0.2, 0.75, 0.2, 1);
}
@keyframes heroAccent {
  from {
    opacity: 0;
    transform: translateY(18px) rotate(1.5deg);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.interactive-surface {
  transform-style: preserve-3d;
  will-change: transform;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}
.program-card.interactive-surface:hover,
.home-news-card.interactive-surface:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 44px rgba(9, 36, 91, 0.13);
}
.btn,
.text-link,
.nav-menu a,
.quick-links a {
  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(7, 31, 82, 0.16);
}
.text-link span,
.story-card a span,
.home-news-card b {
  display: inline-block;
  transition: transform 0.2s ease;
}
.text-link:hover span,
.story-card a:hover span {
  transform: translateX(5px);
}

.section-head-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 32px;
}
.section-head-row h2 {
  font-family: 'Playfair Display', serif;
  color: var(--royal-3);
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.08;
  margin: 7px 0 8px;
}
.section-head-row p {
  color: var(--muted);
  max-width: 680px;
  margin: 0;
}
.modern-grid .story-card {
  padding: 0;
  overflow: hidden;
  background: white;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}
.story-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}
.story-thumb {
  height: 170px;
  padding: 18px;
  display: flex;
  align-items: flex-end;
  background: radial-gradient(circle at 75% 25%, rgba(241, 196, 83, 0.32), transparent 25%), linear-gradient(140deg, var(--royal), var(--royal-3));
}
.story-thumb span {
  color: white;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-weight: 800;
}
.story-body {
  padding: 24px;
}
.story-body h3 {
  margin: 8px 0 10px;
}
.content-meta {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin: 18px 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.event-list {
  border-top: 1px solid var(--line);
}
.event-row {
  display: grid;
  grid-template-columns: 92px 1fr 220px;
  gap: 24px;
  align-items: center;
  padding: 26px 10px;
  border-bottom: 1px solid var(--line);
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}
.event-row:hover {
  background: var(--blue-50);
  transform: translateX(5px);
}
.event-date {
  width: 72px;
  height: 78px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  align-content: center;
  background: var(--royal);
  color: white;
  box-shadow: 0 9px 22px rgba(18, 63, 147, 0.16);
}
.event-date strong {
  font-size: 28px;
  line-height: 1;
}
.event-date span {
  color: var(--gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin-top: 5px;
}
.event-info h3 {
  margin: 7px 0 4px;
  color: var(--royal-3);
  font-size: 20px;
}
.event-info p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.event-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.event-tags span {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-weight: 900;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--blue-50);
  color: var(--royal);
}
.event-tags .status.upcoming {
  background: #e8f6ee;
  color: #277448;
}
.event-tags .status.ongoing {
  background: #fff4d6;
  color: #8b6412;
}
.event-tags .status.past {
  background: #eef1f5;
  color: #667085;
}
.event-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  color: var(--muted);
}
.event-meta b {
  color: var(--royal);
  margin-top: 6px;
}

.home-updates {
  background: linear-gradient(180deg, #fff 0%, #f7f9fd 100%);
}
.home-updates-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr;
  gap: 28px;
}
.home-news-list {
  display: grid;
  gap: 16px;
}
.home-news-card {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 22px;
  align-items: center;
  border: 1px solid var(--line);
  background: white;
  border-radius: 18px;
  padding: 16px;
}
.home-news-art {
  height: 145px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 70% 25%, rgba(241, 196, 83, 0.3), transparent 26%), linear-gradient(145deg, var(--royal), var(--royal-3));
  color: white;
}
.home-news-art span {
  width: 62px;
  height: 62px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.home-news-card h3 {
  margin: 7px 0;
  color: var(--royal-3);
  font-size: 19px;
}
.home-news-card p {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
}
.home-news-card b {
  color: var(--royal);
  font-size: 12px;
}
.home-events-card {
  position: relative;
  overflow: hidden;
  color: white;
  background: linear-gradient(145deg, var(--royal), var(--royal-3));
  border-radius: 22px;
  padding: 30px;
  box-shadow: var(--shadow);
}
.home-events-card::after {
  content: '';
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  right: -100px;
  top: -100px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 0 0 35px rgba(255, 255, 255, 0.025),
    0 0 0 70px rgba(255, 255, 255, 0.018);
}
.home-events-card > * {
  position: relative;
  z-index: 1;
}
.home-events-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 31px;
  margin: 5px 0 18px;
}
.mini-event {
  display: grid;
  grid-template-columns: 58px 1fr 20px;
  gap: 13px;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  padding: 17px 0;
}
.mini-event-date {
  width: 52px;
  height: 58px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  display: grid;
  place-items: center;
  align-content: center;
}
.mini-event-date strong {
  font-size: 20px;
  line-height: 1;
}
.mini-event-date span {
  font-size: 9px;
  color: var(--gold);
  font-weight: 900;
}
.mini-event small,
.mini-event span {
  display: block;
  color: rgba(255, 255, 255, 0.64);
  font-size: 10px;
}
.mini-event b {
  display: block;
  font-size: 13px;
  margin: 2px 0;
}
.mini-event i {
  font-style: normal;
  transition: transform 0.2s ease;
}
.mini-event:hover i {
  transform: translateX(4px);
}
.home-events-card .btn {
  margin-top: 16px;
  width: 100%;
  text-align: center;
}

.article-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--royal-3), var(--royal));
  color: white;
  padding: 86px 0 76px;
}
.article-hero::after {
  content: '';
  position: absolute;
  inset: auto -8% -55% auto;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  box-shadow:
    0 0 0 55px rgba(255, 255, 255, 0.025),
    0 0 0 110px rgba(255, 255, 255, 0.018);
}
.article-head {
  position: relative;
  z-index: 1;
  max-width: 900px;
}
.article-head h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(42px, 7vw, 68px);
  line-height: 1.02;
  margin: 12px 0 18px;
}
.article-head > p {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 18px;
}
.article-meta {
  display: flex;
  gap: 24px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  font-weight: 700;
  margin-top: 24px;
}
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 70px;
  align-items: start;
}
.article-content {
  font-size: 17px;
  line-height: 1.85;
}
.article-content p {
  color: #465267;
}
.article-content h2 {
  font-family: 'Playfair Display', serif;
  color: var(--royal-3);
  font-size: 32px;
  margin-top: 34px;
}
.article-placeholder {
  height: 360px;
  border-radius: 20px;
  margin-bottom: 34px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 70% 25%, rgba(241, 196, 83, 0.28), transparent 24%), linear-gradient(145deg, var(--royal), var(--royal-3));
}
.article-placeholder span {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 2px solid rgba(241, 196, 83, 0.72);
  color: white;
  display: grid;
  place-items: center;
  font-family: 'Playfair Display', serif;
  font-size: 24px;
}
.article-note {
  margin-top: 34px;
  padding: 18px 20px;
  border-left: 4px solid var(--gold);
  background: #fffaf0;
  color: #6c6146;
  border-radius: 0 12px 12px 0;
  font-size: 13px;
}
.article-aside {
  position: sticky;
  top: 86px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 24px;
}
.article-aside h3 {
  color: var(--royal-3);
  font-size: 22px;
}
.article-aside p {
  color: var(--muted);
  font-size: 13px;
}
.article-aside a {
  display: block;
  border-top: 1px solid var(--line);
  padding: 12px 0;
  color: var(--royal);
  font-size: 12px;
  font-weight: 800;
}
.event-detail-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 36px;
}
.event-detail-card > div {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
}
.event-detail-card small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-weight: 900;
  color: var(--royal);
  font-size: 9px;
  margin-bottom: 5px;
}
.event-detail-card strong {
  color: var(--royal-3);
  font-size: 13px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
@media (max-width: 900px) {
  .home-updates-grid,
  .article-layout {
    grid-template-columns: 1fr;
  }
  .article-aside {
    position: static;
  }
  .event-row {
    grid-template-columns: 82px 1fr;
  }
  .event-meta {
    grid-column: 2;
  }
  .home-news-card {
    grid-template-columns: 145px 1fr;
  }
}
@media (max-width: 640px) {
  .section-head-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .home-news-card {
    grid-template-columns: 1fr;
  }
  .home-news-art {
    height: 120px;
  }
  .event-row {
    grid-template-columns: 70px 1fr;
    gap: 14px;
  }
  .event-meta {
    grid-column: 1 / -1;
    padding-left: 84px;
  }
  .event-detail-card {
    grid-template-columns: 1fr;
  }
  .article-placeholder {
    height: 250px;
  }
}
.main-nav.is-scrolled {
  box-shadow: 0 12px 28px rgba(4, 22, 62, 0.22);
}
.sample-logo.uploaded {
  overflow: hidden;
  background: #fff;
}
.sample-logo.uploaded img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}
.article-cover {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 28px;
  box-shadow: 0 18px 40px rgba(17, 45, 95, 0.12);
}
.news-feature-image {
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  border-radius: 22px;
}
.story-thumb-image {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}
.prose-block {
  white-space: normal;
  line-height: 1.8;
  color: var(--text-muted);
  margin-bottom: 28px;
}

/* News and event multi-image galleries */
.content-gallery {
  margin-top: 52px;
  padding-top: 34px;
  border-top: 1px solid var(--line);
}
.content-gallery-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 20px;
}
.content-gallery-head h2 {
  margin: 2px 0 0 !important;
}
.content-gallery-head > span {
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
}
.content-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.gallery-photo {
  position: relative;
  border: 0;
  padding: 0;
  background: #eef3fb;
  border-radius: 16px;
  overflow: hidden;
  cursor: zoom-in;
  aspect-ratio: 4/3;
  box-shadow: 0 8px 24px rgba(11, 46, 108, 0.08);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}
.gallery-photo:first-child:nth-last-child(n + 4) {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: auto;
  min-height: 390px;
}
.gallery-photo:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(11, 46, 108, 0.16);
}
.gallery-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.gallery-photo:hover img {
  transform: scale(1.035);
}
.gallery-photo > span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 28px 14px 12px;
  background: linear-gradient(transparent, rgba(3, 20, 55, 0.78));
  color: #fff;
  font-size: 12px;
  text-align: left;
  line-height: 1.45;
}
.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 34px;
  background: rgba(2, 12, 35, 0.94);
  backdrop-filter: blur(8px);
}
.gallery-lightbox.is-open {
  display: flex;
}
.gallery-lightbox-inner {
  width: min(1180px, 100%);
  height: min(820px, 88vh);
  display: grid;
  grid-template-rows: 1fr auto;
  position: relative;
}
.gallery-lightbox-stage {
  min-height: 0;
  display: grid;
  place-items: center;
}
.gallery-lightbox img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}
.gallery-lightbox-caption {
  color: #fff;
  text-align: center;
  padding: 16px 70px 0;
  font-size: 13px;
  min-height: 38px;
}
.gallery-lightbox-close,
.gallery-lightbox-prev,
.gallery-lightbox-next {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.09);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: 0.2s ease;
}
.gallery-lightbox-close:hover,
.gallery-lightbox-prev:hover,
.gallery-lightbox-next:hover {
  background: rgba(255, 255, 255, 0.18);
}
.gallery-lightbox-close {
  right: 0;
  top: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 24px;
  z-index: 2;
}
.gallery-lightbox-prev,
.gallery-lightbox-next {
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 64px;
  border-radius: 14px;
  font-size: 27px;
  z-index: 2;
}
.gallery-lightbox-prev {
  left: 0;
}
.gallery-lightbox-next {
  right: 0;
}
.gallery-lightbox-count {
  position: absolute;
  left: 50%;
  top: 10px;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
body.lightbox-open {
  overflow: hidden;
}
@media (max-width: 760px) {
  .content-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gallery-photo:first-child:nth-last-child(n + 4) {
    grid-column: span 2;
    min-height: 280px;
  }
  .gallery-lightbox {
    padding: 18px;
  }
  .gallery-lightbox-inner {
    height: 84vh;
  }
  .gallery-lightbox-prev,
  .gallery-lightbox-next {
    width: 40px;
    height: 54px;
  }
  .gallery-lightbox-caption {
    padding: 14px 48px 0;
  }
}
@media (max-width: 480px) {
  .content-gallery-grid {
    gap: 9px;
  }
  .gallery-photo {
    border-radius: 11px;
  }
  .gallery-photo:first-child:nth-last-child(n + 4) {
    min-height: 220px;
  }
}

/* Homepage news featured image */
.home-news-art {
  overflow: hidden;
}
.home-news-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.home-news-card:hover .home-news-art img {
  transform: scale(1.045);
}
@media (max-width: 640px) {
  .home-news-art {
    height: 220px;
  }
}

/* =========================================================
   V6 MODERN PUBLIC EXPERIENCE
   Refined glass navigation, editorial cards, side-view updates,
   responsive motion, and accessible micro-interactions.
   ========================================================= */

:root {
  --surface-glass: rgba(255, 255, 255, 0.88);
  --surface-dark-glass: rgba(7, 31, 82, 0.92);
  --shadow-sm: 0 8px 24px rgba(7, 31, 82, 0.08);
  --shadow-md: 0 18px 48px rgba(7, 31, 82, 0.12);
  --shadow-lg: 0 28px 80px rgba(7, 31, 82, 0.18);
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
}

body {
  overflow-x: hidden;
  background: #fff;
}

/* Header refinement */
.site-header {
  position: relative;
  z-index: 200;
}
.utility-bar {
  background: linear-gradient(90deg, #061a45, var(--royal-3));
}
.brand-bar {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(18,63,147,.07);
}
.brand-inner { min-height: 92px; }
.brand { transition: transform .25s var(--ease-premium); }
.brand:hover { transform: translateY(-1px); }
.sample-logo { transition: transform .35s var(--ease-premium), box-shadow .35s ease; }
.brand:hover .sample-logo { transform: rotate(-2deg) scale(1.035); box-shadow: 0 12px 28px rgba(18,63,147,.22); }
.main-nav {
  background: rgba(18,63,147,.96);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.main-nav.is-scrolled {
  background: rgba(7,31,82,.94);
  box-shadow: 0 12px 34px rgba(4,22,62,.24);
}
.nav-menu a { overflow: hidden; }
.nav-menu a::before {
  content: '';
  position: absolute;
  left: 50%; right: 50%; bottom: 0;
  height: 3px;
  background: var(--gold);
  transition: left .28s var(--ease-premium), right .28s var(--ease-premium);
}
.nav-menu a:hover::before { left: 18px; right: 18px; }
.nav-menu a.is-active::before { left: 18px; right: 18px; }
.nav-menu a.is-active::after { display: none; }

/* Scroll progress */
.site-scroll-progress {
  position: fixed;
  z-index: 9998;
  top: 0; left: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), #ffe39b);
  box-shadow: 0 0 18px rgba(241,196,83,.45);
  pointer-events: none;
}

/* Hero refinement */
.hero {
  min-height: 650px;
  background:
    radial-gradient(circle at 75% 18%, rgba(241,196,83,.18), transparent 24%),
    radial-gradient(circle at 8% 90%, rgba(78,137,255,.19), transparent 26%),
    linear-gradient(118deg, #061b49 0%, #0d347c 48%, #174da3 100%);
}
.hero-grid-overlay { opacity: .055; background-size: 64px 64px; }
.hero-inner { min-height: 650px; }
.hero-copy .eyebrow { padding: 7px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.06); }
.hero h1 { text-wrap: balance; }
.hero-card {
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,.65);
  border-top: 4px solid var(--gold);
  box-shadow: 0 30px 80px rgba(2,20,63,.34);
}
.hero-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,.45), transparent 32%);
  pointer-events: none;
}
.hero-card { position: relative; overflow: hidden; }

/* Universal modern section surfaces */
.section { position: relative; }
.section-soft { background: linear-gradient(180deg, #f8faff, #f3f6fc); }
.section-heading h2, .center-heading h2, .content-intro h2, .section-head-row h2 { text-wrap: balance; }

.program-card,
.info-card-grid article,
.process-grid article,
.side-card,
.download-card,
.news-grid article {
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: transform .32s var(--ease-premium), box-shadow .32s ease, border-color .32s ease;
}
.program-card:hover,
.info-card-grid article:hover,
.process-grid article:hover,
.download-card:hover,
.news-grid article:hover {
  transform: translateY(-7px);
  box-shadow: var(--shadow-md);
  border-color: #c9d8f8;
}
.program-card::after {
  content: '→';
  position: absolute;
  right: 22px;
  bottom: 20px;
  color: rgba(18,63,147,.16);
  font-size: 34px;
  font-weight: 300;
  transition: transform .3s var(--ease-premium), color .3s ease;
}
.program-card:hover::after { transform: translateX(5px); color: rgba(18,63,147,.34); }

/* Modern page hero */
.page-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 84px;
  background:
    radial-gradient(circle at 80% 30%, rgba(241,196,83,.16), transparent 22%),
    linear-gradient(120deg, #061b49, #123f93 72%, #2458b4);
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to right, black, transparent 85%);
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { text-wrap: balance; }
.hero-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.hero-pills a { padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.07); color: #fff; font-size: 12px; font-weight: 800; transition: .2s ease; }
.hero-pills a:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }

/* Homepage updates: side view */
.updates-showcase {
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 12%, rgba(18,63,147,.07), transparent 24%),
    linear-gradient(180deg, #fff 0%, #f7f9fd 100%);
}
.updates-side-view {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(330px, .72fr);
  gap: 28px;
  align-items: start;
}
.news-stream {
  min-width: 0;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(18,63,147,.10);
  border-radius: 26px;
  padding: 24px;
  box-shadow: var(--shadow-sm);
}
.stream-title-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 3px 4px 20px;
}
.stream-title-row h3 { margin: 7px 0 0; font-family: 'Playfair Display', serif; color: var(--royal-3); font-size: 30px; }
.stream-title-row > a { color: var(--royal); font-size: 12px; font-weight: 800; white-space: nowrap; }
.section-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--blue-50);
  color: var(--royal);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.section-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(18,63,147,.08); }
.section-chip.light { background: rgba(255,255,255,.1); color: #dce8ff; }
.section-chip.light::before { box-shadow: 0 0 0 4px rgba(255,255,255,.08); }

.home-news-list { gap: 13px; }
.home-news-card {
  grid-template-columns: 205px minmax(0,1fr);
  min-height: 172px;
  border-radius: 19px;
  padding: 10px;
  border: 1px solid #e2e8f2;
  box-shadow: 0 8px 24px rgba(9,36,91,.055);
  overflow: hidden;
}
.home-news-card:hover { border-color: #c5d4f0; }
.home-news-art {
  position: relative;
  height: 152px;
  overflow: hidden;
  border-radius: 14px;
}
.home-news-art img { width:100%; height:100%; display:block; object-fit:cover; transition: transform .55s var(--ease-premium); }
.home-news-card:hover .home-news-art img { transform: scale(1.055); }
.home-news-art::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(4,21,57,.58)); pointer-events:none; }
.home-news-art em { position:absolute; z-index:2; left:10px; bottom:9px; padding:5px 8px; border-radius:999px; background:rgba(255,255,255,.9); color:var(--royal-3); font-style:normal; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.home-news-art span { position: relative; z-index: 2; }
.home-news-copy { padding: 9px 12px 9px 4px; align-self: center; min-width: 0; }
.home-news-copy h3 { font-family: 'Playfair Display', serif; font-size: 22px; line-height:1.2; margin: 7px 0 7px; text-wrap: balance; }
.home-news-copy p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home-news-copy b span { display:inline-block; transition: transform .2s ease; }
.home-news-card:hover .home-news-copy b span { transform: translateX(4px); }

.events-rail,
.events-sidebar-inner {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(80,139,255,.22), transparent 32%),
    linear-gradient(155deg, #123f93, #071f52 78%);
  border-radius: 26px;
  padding: 28px;
  box-shadow: var(--shadow-lg);
}
.events-rail::before,
.events-sidebar-inner::before {
  content:'';
  position:absolute;
  width:220px; height:220px;
  right:-110px; top:-105px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.026),0 0 0 68px rgba(255,255,255,.017);
}
.events-rail > *, .events-sidebar-inner > * { position:relative; z-index:2; }
.events-rail-head h3 { font-family:'Playfair Display',serif; font-size:34px; line-height:1.05; margin:13px 0 10px; }
.events-rail-head p { margin:0 0 18px; color:rgba(255,255,255,.67); font-size:13px; }
.events-rail-list { border-top: 1px solid rgba(255,255,255,.12); }
.mini-event { border-top: 0; border-bottom: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 14px 4px; transition: background .22s ease, padding .22s ease; }
.mini-event:hover { background: rgba(255,255,255,.06); padding-left: 8px; padding-right: 8px; }
.mini-event-copy { min-width: 0; }
.mini-event-copy b { white-space: normal; }
.events-rail .btn { margin-top: 20px; }

/* News & events dedicated side-view page */
.updates-page { background: linear-gradient(180deg, #fff, #f8faff); }
.news-events-side-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
  gap: 34px;
  align-items: start;
}
.news-feed { display: grid; gap: 16px; }
.side-news-card {
  display: grid;
  grid-template-columns: 250px minmax(0,1fr);
  gap: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow-sm);
  transition: transform .3s var(--ease-premium), box-shadow .3s ease, border-color .3s ease;
}
.side-news-card:hover { transform: translateY(-5px); border-color:#c8d7f5; box-shadow: var(--shadow-md); }
.side-news-image { min-height: 215px; background: linear-gradient(145deg,var(--royal),var(--royal-3)); display:grid; place-items:center; overflow:hidden; }
.side-news-image img { width:100%; height:100%; min-height:215px; object-fit:cover; transition: transform .55s var(--ease-premium); }
.side-news-card:hover .side-news-image img { transform: scale(1.045); }
.side-news-image span { width:72px;height:72px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900; }
.side-news-copy { padding: 25px 28px; align-self:center; }
.side-news-meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; color:var(--muted); font-size:10px; text-transform:uppercase; font-weight:900; letter-spacing:.08em; }
.side-news-meta span { color:var(--royal); }
.side-news-copy h3 { margin:9px 0 8px; font-family:'Playfair Display',serif; font-size:27px; line-height:1.16; color:var(--royal-3); }
.side-news-copy p { margin:0 0 13px; color:var(--muted); font-size:13px; display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.events-sidebar { position: sticky; top: 82px; }
.events-sidebar-inner { padding: 28px; max-height: calc(100vh - 105px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.2) transparent; }
.events-sidebar-inner h2 { color:#fff; margin:12px 0 8px; font-size:32px; line-height:1.08; }
.events-sidebar-intro { color:rgba(255,255,255,.65); margin:0 0 18px; font-size:13px; }
.sidebar-event-list { border-top:1px solid rgba(255,255,255,.12); }
.sidebar-event { display:grid; grid-template-columns:54px minmax(0,1fr) 18px; gap:12px; align-items:center; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.11); transition: transform .2s ease, background .2s ease; }
.sidebar-event:hover { transform: translateX(4px); }
.sidebar-event-date { width:50px;height:56px;border-radius:12px;background:rgba(255,255,255,.09);display:grid;place-items:center;align-content:center; }
.sidebar-event-date strong{font-size:19px;line-height:1}.sidebar-event-date span{font-size:8px;color:var(--gold);font-weight:900;letter-spacing:.08em}
.sidebar-event small{display:block;color:#b7c8eb;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.sidebar-event b{display:block;color:#fff;font-size:12px;line-height:1.25;margin:3px 0}.sidebar-event span{display:block;color:rgba(255,255,255,.55);font-size:9px}.sidebar-event i{font-style:normal;color:var(--gold)}
.empty-state { padding:28px; border:1px dashed var(--line); border-radius:18px; color:var(--muted); text-align:center; }
.empty-state.dark { border-color:rgba(255,255,255,.16); color:rgba(255,255,255,.65); }

/* Detail pages */
.article-hero { padding: 102px 0 88px; }
.article-head { max-width: 940px; }
.article-head h1 { text-wrap: balance; }
.article-layout { gap: 64px; }
.article-content { min-width: 0; }
.article-cover { border-radius: 24px; box-shadow: var(--shadow-md); }
.article-aside { border-radius: 22px; box-shadow: var(--shadow-sm); background: linear-gradient(180deg,#fff,#f9fbff); }
.content-gallery-grid { gap: 12px; }
.gallery-photo { border-radius: 18px; }

/* Downloads and forms */
.download-section { scroll-margin-top: 90px; }
.download-card { position:relative; overflow:hidden; }
.download-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(var(--royal),#4d7fd9); opacity:0; transition:opacity .2s ease; }
.download-card:hover::before { opacity:1; }
.file-icon { border-radius:12px; }

/* Footer refinement */
.site-footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #061535, #071f52);
}
.site-footer::before { content:''; position:absolute; width:420px;height:420px;right:-180px;top:-210px;border:1px solid rgba(255,255,255,.05);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.018),0 0 0 120px rgba(255,255,255,.012); }
.footer-grid,.footer-bottom { position:relative;z-index:2; }

/* Motion enhancements */
.reveal { transform: translateY(34px) scale(.992); transition: opacity .78s var(--ease-premium), transform .78s var(--ease-premium); }
.reveal.is-visible { transform: translateY(0) scale(1); }
[data-float] { will-change: transform; }
@keyframes softPulse { 0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:.65} }
.hero-orb { animation: floatOrb 11s ease-in-out infinite alternate; }

/* Tablet */
@media (max-width: 1020px) {
  .updates-side-view, .news-events-side-layout { grid-template-columns: 1fr; }
  .events-rail { position: static; }
  .events-sidebar { position: static; }
  .events-sidebar-inner { max-height: none; }
  .side-news-card { grid-template-columns: 220px minmax(0,1fr); }
}

/* Mobile */
@media (max-width: 720px) {
  .brand-inner { min-height: 78px; }
  .brand-copy strong { font-size:16px; }
  .main-nav { backdrop-filter: none; }
  .nav-toggle { margin: 0 2px 0 auto; }
  .nav-menu { border-radius: 0 0 18px 18px; }
  .hero { min-height:auto; }
  .hero-inner { min-height:auto; gap:30px; }
  .hero h1 { font-size: clamp(43px, 13vw, 58px); }
  .hero-card { padding:24px; }
  .page-hero { padding:68px 0 64px; }
  .news-stream { padding:15px; border-radius:20px; }
  .stream-title-row { align-items:flex-start; flex-direction:column; padding:4px 2px 16px; }
  .stream-title-row h3 { font-size:27px; }
  .home-news-card { grid-template-columns:1fr; padding:9px; }
  .home-news-art { height:210px; }
  .home-news-copy { padding:12px 9px 15px; }
  .home-news-copy h3 { font-size:22px; }
  .events-rail,.events-sidebar-inner { padding:22px; border-radius:20px; }
  .events-rail-head h3 { font-size:30px; }
  .side-news-card { grid-template-columns:1fr; }
  .side-news-image, .side-news-image img { min-height:210px; height:210px; }
  .side-news-copy { padding:21px; }
  .side-news-copy h3 { font-size:24px; }
  .article-hero { padding:72px 0 64px; }
}

@media (max-width: 480px) {
  .section { padding:58px 0; }
  .section-head-row h2 { font-size:34px; }
  .home-news-art { height:185px; }
  .sidebar-event { grid-template-columns:50px minmax(0,1fr) 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-scroll-progress { display:none; }
  .brand:hover, .brand:hover .sample-logo, .program-card:hover, .side-news-card:hover, .home-news-card:hover { transform:none !important; }
}

/* =========================================================
   V7: Hero News & Events Sidebar
   Keeps the most important updates visible on first load.
   ========================================================= */
.hero-inner {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: clamp(42px, 6vw, 78px);
  align-items: center;
}

.hero-updates-sidebar {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 25px;
  background: rgba(255,255,255,.98);
  color: var(--ink);
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: 0 30px 80px rgba(2,20,63,.34);
  backdrop-filter: blur(18px);
}
.hero-updates-sidebar::before {
  content: '';
  position: absolute;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  right: -100px;
  top: -115px;
  background: radial-gradient(circle, rgba(241,196,83,.22), rgba(241,196,83,0) 70%);
  pointer-events: none;
}
.hero-updates-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--line);
}
.hero-updates-head h2 {
  font-family: 'Playfair Display', serif;
  color: var(--royal-3);
  font-size: 30px;
  line-height: 1.05;
  margin: 4px 0 0;
}
.hero-updates-all {
  color: var(--royal);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
  padding-top: 4px;
}
.hero-updates-all span { display:inline-block; transition:transform .2s ease; }
.hero-updates-all:hover span { transform:translateX(4px); }
.hero-sidebar-section { padding-top: 18px; }
.hero-sidebar-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--royal);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22a06b;
  box-shadow: 0 0 0 4px rgba(34,160,107,.11);
  animation: livePulse 2s ease-in-out infinite;
}
@keyframes livePulse { 50% { box-shadow: 0 0 0 7px rgba(34,160,107,0); } }
.hero-sidebar-news,
.hero-sidebar-events { display:grid; gap:8px; }
.hero-news-item,
.hero-event-item {
  display: grid;
  align-items: center;
  border-radius: 13px;
  transition: background .22s ease, transform .22s ease;
}
.hero-news-item { grid-template-columns: 74px minmax(0,1fr) 18px; gap: 12px; padding: 8px; }
.hero-news-item:hover,
.hero-event-item:hover { background: var(--blue-50); transform: translateX(3px); }
.hero-news-thumb {
  width: 74px;
  height: 58px;
  overflow: hidden;
  border-radius: 10px;
  background: linear-gradient(145deg,var(--royal),var(--royal-3));
  display:grid;
  place-items:center;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.hero-news-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s ease; }
.hero-news-item:hover .hero-news-thumb img { transform: scale(1.06); }
.hero-news-info { min-width:0; display:flex; flex-direction:column; line-height:1.25; }
.hero-news-info small,
.hero-event-info small { color:var(--royal); font-size:8px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.hero-news-info strong {
  color:var(--royal-3);
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hero-news-item > i,
.hero-event-item > i { color:var(--royal); font-style:normal; font-weight:900; }
.hero-events-section { margin-top: 2px; border-top:1px solid var(--line); }
.hero-event-item { grid-template-columns: 48px minmax(0,1fr) 18px; gap: 11px; padding: 7px 8px; }
.hero-event-date {
  width:45px;
  height:48px;
  border-radius:10px;
  background:var(--royal);
  color:#fff;
  display:grid;
  place-items:center;
  align-content:center;
  line-height:1;
}
.hero-event-date strong { font-size:16px; }
.hero-event-date span { margin-top:4px; color:var(--gold); font-size:7px; font-weight:900; }
.hero-event-info { min-width:0; display:flex; flex-direction:column; line-height:1.2; }
.hero-event-info strong { color:var(--royal-3); font-size:11px; margin:3px 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hero-event-info span { color:var(--muted); font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hero-sidebar-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid var(--line);
  margin-top:16px;
  padding-top:15px;
}
.hero-sidebar-actions a {
  color:var(--royal);
  font-size:10px;
  font-weight:900;
}
.hero-sidebar-actions a:first-child {
  color:var(--royal-3);
  background:var(--blue-50);
  border-radius:999px;
  padding:7px 10px;
}

/* Since updates are now above the fold, give the first content section a little more rhythm. */
.quick-links-wrap + .intro-section { padding-top: 76px; }

@media (max-width: 1040px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-updates-sidebar { max-width: 760px; width:100%; }
}
@media (max-width: 640px) {
  .hero-updates-sidebar { padding:18px; border-radius:18px; }
  .hero-updates-head h2 { font-size:26px; }
  .hero-news-item { grid-template-columns: 68px minmax(0,1fr) 16px; gap:10px; }
  .hero-news-thumb { width:68px; height:54px; }
  .hero-sidebar-actions { flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .live-dot { animation:none; }
}

/* =========================================================
   V9 — Editorial Royal Blue Experience
   Inspired by premium independent-school / university sites,
   adapted specifically for BSU Open University.
   ========================================================= */
:root{
  --v9-royal:#0b3f91;
  --v9-royal-2:#082d6d;
  --v9-royal-3:#041b46;
  --v9-ink:#07152d;
  --v9-cloud:#f4f7fb;
  --v9-line:rgba(7,21,45,.14);
  --v9-gold:#f2c557;
  --v9-serif:"Playfair Display",Georgia,serif;
}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--v9-ink)}
body.page-home{padding-top:0}
.site-scroll-progress{height:2px!important;background:var(--v9-gold)!important;z-index:9999!important}

/* Editorial header */
.editorial-header{position:relative;z-index:500;background:#fff;border-bottom:1px solid rgba(7,21,45,.10);transition:background .35s ease,box-shadow .35s ease,color .35s ease}
.page-home .editorial-header{position:absolute;inset:0 0 auto;background:linear-gradient(180deg,rgba(2,16,45,.72),rgba(2,16,45,0));border-bottom:1px solid rgba(255,255,255,.18);color:#fff}
.page-home .editorial-header.header-scrolled{position:fixed;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 12px 40px rgba(3,18,48,.10);color:var(--v9-ink);border-color:rgba(7,21,45,.08)}
.editorial-header-inner{height:104px;display:grid;grid-template-columns:minmax(270px,1fr) auto minmax(170px,1fr);align-items:center;gap:34px}
.editorial-brand{display:inline-flex;align-items:center;gap:14px;color:inherit;text-decoration:none;min-width:0}
.editorial-logo{width:58px;height:58px;flex:0 0 58px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.editorial-logo img{width:100%;height:100%;object-fit:contain}
.editorial-logo-fallback{background:var(--v9-royal);color:#fff;font:800 16px/1 Inter,sans-serif;letter-spacing:.08em;border:2px solid rgba(255,255,255,.7)}
.editorial-brand-copy{display:grid;gap:2px;min-width:0}
.editorial-brand-copy strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;white-space:nowrap}
.editorial-brand-copy span{font:700 1.18rem/1.05 var(--v9-serif);letter-spacing:.015em}
.editorial-nav .nav-menu{display:flex;align-items:center;gap:30px}
.editorial-nav a,.header-contact{color:inherit;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;position:relative;padding:10px 0}
.editorial-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:currentColor;transition:right .28s ease}
.editorial-nav a:hover::after,.editorial-nav a.is-active::after{right:0}
.editorial-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px}
.editorial-menu-button{display:none;border:0;background:none;color:inherit;padding:8px;align-items:center;gap:8px}
.editorial-menu-button em{font-style:normal;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.editorial-menu-button>span:not(.sr-only){width:22px;height:1px;background:currentColor;display:block}

/* Full-height homepage editorial hero */
.editorial-hero{--hero-image:none;position:relative;min-height:clamp(760px,100svh,1040px);background:linear-gradient(125deg,var(--v9-royal-3) 0%,var(--v9-royal-2) 46%,var(--v9-royal) 100%);color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:150px 0 0}
.editorial-hero-media{position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center;transform:scale(1.035);animation:v9HeroDrift 18s ease-in-out alternate infinite;opacity:0}
.editorial-hero.has-hero-image .editorial-hero-media{opacity:1}
.editorial-hero:not(.has-hero-image)::before{content:"";position:absolute;width:70vw;height:70vw;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-18vw;top:-26vw;box-shadow:0 0 0 8vw rgba(255,255,255,.025),0 0 0 17vw rgba(255,255,255,.018)}
.editorial-hero:not(.has-hero-image)::after{content:"OU";position:absolute;right:-.04em;bottom:-.22em;font:800 min(42vw,620px)/.8 var(--v9-serif);color:rgba(255,255,255,.035);letter-spacing:-.08em}
.editorial-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,12,34,.88) 0%,rgba(2,18,50,.68) 45%,rgba(3,22,55,.50) 68%,rgba(3,20,48,.64) 100%),linear-gradient(0deg,rgba(2,14,38,.68),rgba(2,14,38,.05) 55%)}
.editorial-hero-line{position:absolute;left:50%;top:104px;bottom:0;width:1px;background:rgba(255,255,255,.14)}
.editorial-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);gap:clamp(52px,7vw,120px);align-items:end;padding-bottom:64px}
.editorial-hero-copy{padding-bottom:38px;max-width:760px}
.hero-overline{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;font-weight:800;color:rgba(255,255,255,.76);margin-bottom:28px}
.hero-overline::before{content:"";width:34px;height:1px;background:var(--v9-gold)}
.editorial-hero h1{margin:0;font:700 clamp(3.5rem,6vw,7.4rem)/.88 var(--v9-serif);letter-spacing:-.055em;max-width:820px}
.editorial-hero h1 em{font-style:italic;color:#fff;font-weight:700}
.editorial-hero-copy>p{max-width:650px;margin:30px 0 34px;font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.7;color:rgba(255,255,255,.82)}
.editorial-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(5px)}
.btn-ghost:hover{background:#fff;color:var(--v9-royal-3)}
.editorial-actions .btn{min-height:54px;padding-inline:24px}

/* News + events rail visible on page open */
.hero-story-rail{background:rgba(255,255,255,.96);color:var(--v9-ink);box-shadow:0 30px 70px rgba(0,0,0,.22);align-self:end;max-height:670px;overflow:auto;scrollbar-width:thin}
.story-rail-top{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--v9-line)}
.story-label{display:flex;align-items:center;gap:9px;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.story-label i{width:7px;height:7px;border-radius:50%;background:#dc3545;box-shadow:0 0 0 5px rgba(220,53,69,.10);animation:v9Pulse 2s infinite}
.story-rail-top>a{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;text-decoration:none;color:var(--v9-royal)}
.story-news-card{display:grid;grid-template-columns:100px 1fr auto;gap:15px;padding:16px 20px;border-bottom:1px solid var(--v9-line);color:inherit;text-decoration:none;align-items:center;transition:background .25s ease}
.story-news-card.is-featured{grid-template-columns:145px 1fr auto;padding-block:19px}
.story-news-card:hover{background:#f6f8fc}
.story-news-image{height:80px;background:linear-gradient(145deg,var(--v9-royal),var(--v9-royal-3));overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:.12em}
.story-news-card.is-featured .story-news-image{height:118px}
.story-news-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.story-news-card:hover img{transform:scale(1.055)}
.story-news-body{min-width:0}.story-news-body small{display:block;color:#6b7484;text-transform:uppercase;letter-spacing:.07em;font-size:.62rem;font-weight:800;margin-bottom:6px}.story-news-body strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:700 1rem/1.22 var(--v9-serif)}.story-news-body p{font-size:.78rem;line-height:1.45;color:#697385;margin:7px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.story-arrow{font-size:1rem;color:var(--v9-royal)}
.story-events{background:var(--v9-royal-3);color:#fff;padding:18px 20px 10px}.story-events-head{display:flex;justify-content:space-between;align-items:center;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.62);padding-bottom:8px}.story-event-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;text-decoration:none;color:#fff;padding:13px 0;border-top:1px solid rgba(255,255,255,.14)}.story-event-row time{display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.18)}.story-event-row time b{font:700 1.55rem/1 var(--v9-serif)}.story-event-row time span{font-size:.58rem;font-weight:800;letter-spacing:.12em;color:var(--v9-gold)}.story-event-row div small{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.58);margin-bottom:3px}.story-event-row div strong{font-size:.82rem;line-height:1.2;display:block}.story-event-row>span{transition:transform .2s ease}.story-event-row:hover>span{transform:translateX(4px)}.story-empty,.story-event-empty{padding:24px;font-size:.84rem;color:#667085}.story-empty span{font-weight:900;color:var(--v9-royal)}.story-event-empty{color:rgba(255,255,255,.7);padding:16px 0}
.hero-foot{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.17);min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.scroll-cue{color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.scroll-cue i{font-style:normal;color:var(--v9-gold);animation:v9Down 1.6s ease-in-out infinite}.hero-mini-facts{display:flex;gap:28px;color:rgba(255,255,255,.7);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.hero-mini-facts b{color:#fff;margin-right:5px}

/* Editorial home sections */
.editorial-intro{padding-block:110px}.editorial-intro-grid{display:grid;grid-template-columns:170px minmax(0,1.1fr) minmax(280px,.65fr);gap:clamp(34px,6vw,90px);align-items:start}.intro-index{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;color:var(--v9-royal)}.intro-index span{font:700 2.3rem/1 var(--v9-serif)}.intro-index i{height:1px;background:var(--v9-line)}.intro-index small{grid-column:1/-1;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#737d8c}.editorial-intro-copy h2,.editorial-section-head h2{font:700 clamp(2.7rem,4.4vw,5rem)/.96 var(--v9-serif);letter-spacing:-.045em;margin:.2em 0}.editorial-intro-text p{font-size:1.05rem;line-height:1.85;color:#596477;margin-top:7px}.editorial-link{display:inline-flex;align-items:center;gap:12px;color:var(--v9-royal);text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:.69rem;font-weight:900;margin-top:15px}.editorial-link span{transition:transform .2s ease}.editorial-link:hover span{transform:translate(3px,-3px)}
.discover-grid-section{padding:0 0 110px}.discover-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v9-line);border-left:1px solid var(--v9-line)}.discover-tile{position:relative;min-height:310px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--v9-line);border-bottom:1px solid var(--v9-line);color:var(--v9-ink);text-decoration:none;overflow:hidden;transition:background .35s,color .35s}.discover-tile>span{font-size:.67rem;font-weight:800;color:#7d8795}.discover-tile small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:800;color:var(--v9-royal);margin-bottom:10px}.discover-tile h3{font:700 1.65rem/1.06 var(--v9-serif);margin:0}.discover-tile p{font-size:.86rem;line-height:1.6;color:#667085;margin:14px 0 0}.discover-tile i{position:absolute;right:24px;top:22px;font-style:normal;color:var(--v9-royal);transition:transform .3s}.discover-tile:hover{background:var(--v9-royal);color:#fff}.discover-tile:hover small,.discover-tile:hover>span,.discover-tile:hover p,.discover-tile:hover i{color:#fff}.discover-tile:hover i{transform:translate(5px,-5px)}.discover-primary{background:#f5f8fd}
.editorial-programs{background:var(--v9-cloud);padding-block:110px}.editorial-section-head{display:grid;grid-template-columns:1.2fr .6fr;gap:80px;align-items:end;margin-bottom:60px}.editorial-section-head>div:last-child p{color:#657083;line-height:1.7}.editorial-program-list{border-top:1px solid rgba(7,21,45,.18)}.editorial-program-row{display:grid;grid-template-columns:60px 90px minmax(260px,1fr) minmax(180px,.6fr) 28px;gap:20px;align-items:center;padding:24px 6px;border-bottom:1px solid rgba(7,21,45,.14);text-decoration:none;color:var(--v9-ink);transition:padding .28s ease,background .28s ease}.editorial-program-row:hover{padding-left:18px;padding-right:18px;background:#fff}.program-no{font-size:.64rem;font-weight:800;color:#8a93a1}.program-code{font-weight:900;color:var(--v9-royal);letter-spacing:.05em}.editorial-program-row strong{font:700 1.25rem/1.15 var(--v9-serif)}.program-min{font-size:.78rem;color:#6f7886}.editorial-program-row i{font-style:normal;color:var(--v9-royal)}
.editorial-manifesto{position:relative;background:var(--v9-royal-3);color:#fff;overflow:hidden;padding:130px 0}.manifesto-orbit{position:absolute;right:-.08em;bottom:-.25em;font:700 42vw/.8 var(--v9-serif);color:rgba(255,255,255,.028);letter-spacing:-.08em}.manifesto-grid{position:relative;display:grid;grid-template-columns:.45fr 1fr .6fr;gap:clamp(40px,7vw,110px);align-items:start}.manifesto-kicker span{font-size:.67rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--v9-gold)}.manifesto-copy h2{font:700 clamp(3.1rem,5.5vw,6.5rem)/.9 var(--v9-serif);letter-spacing:-.055em;margin:0}.manifesto-copy p{max-width:620px;color:rgba(255,255,255,.70);font-size:1rem;line-height:1.8;margin:28px 0}.manifesto-points{border-top:1px solid rgba(255,255,255,.18)}.manifesto-points div{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:center}.manifesto-points b{font-size:.6rem;color:var(--v9-gold);letter-spacing:.08em}.manifesto-points span{font:700 1.05rem var(--v9-serif)}
.home-cta-section{padding-block:110px}.home-editorial-cta{max-width:1000px;text-align:center}.home-editorial-cta h2{font:700 clamp(3rem,6vw,6rem)/.9 var(--v9-serif);letter-spacing:-.055em;margin:.2em 0}.home-editorial-cta>p{max-width:680px;margin:0 auto 28px;color:#667085;line-height:1.75}.home-editorial-cta>div{display:flex;justify-content:center;gap:24px;align-items:center;flex-wrap:wrap}

/* Inner pages: preserve content, upgrade visual language */
.page-hero,.modern-page-hero,.article-hero{position:relative;background:linear-gradient(125deg,var(--v9-royal-3),var(--v9-royal));overflow:hidden;padding:100px 0 92px;color:#fff}.page-hero::after,.article-hero::after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-170px;top:-300px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.015)}.page-hero .container,.article-hero .container{position:relative;z-index:2}.page-hero h1,.article-hero h1{font:700 clamp(3.2rem,6vw,6.5rem)/.9 var(--v9-serif);letter-spacing:-.05em;max-width:950px;margin:.15em 0}.page-hero p,.article-hero p{max-width:680px;color:rgba(255,255,255,.76);font-size:1.05rem;line-height:1.65}.section{padding-block:90px}.content-intro,.split-layout{gap:clamp(40px,7vw,100px)}.content-intro h2,.split-layout h2,.center-heading h2,.detail-main h2,.contact-panel h2{font-family:var(--v9-serif);letter-spacing:-.035em}.program-card,.info-card-grid article,.process-grid article,.side-card,.download-card{border-radius:0!important;border-color:var(--v9-line)!important;box-shadow:none!important}.program-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.program-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(3,25,67,.10)!important;border-color:rgba(11,63,145,.25)!important}.fee-table{border-radius:0!important}.contact-panel,.feature-banner{border-radius:0!important;background:linear-gradient(125deg,var(--v9-royal-3),var(--v9-royal))!important}.article-cover{border-radius:0!important}.content-gallery-grid img{transition:transform .5s ease}.gallery-photo:hover img{transform:scale(1.035)}
.site-footer{background:#031630!important;padding-top:74px}.footer-bottom{border-color:rgba(255,255,255,.12)!important}
.hero-admin-preview{width:100%;max-width:520px;aspect-ratio:16/9;object-fit:cover;margin-top:12px;border:1px solid #d8dee9}

/* Motion */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.editorial-hero .reveal{transition-duration:1s}.editorial-hero-copy{transition-delay:.12s!important}.hero-story-rail{transition-delay:.28s!important}
@keyframes v9HeroDrift{from{transform:scale(1.035) translate3d(0,0,0)}to{transform:scale(1.09) translate3d(-.8%,.4%,0)}}
@keyframes v9Pulse{0%,100%{box-shadow:0 0 0 4px rgba(220,53,69,.10)}50%{box-shadow:0 0 0 9px rgba(220,53,69,0)}}
@keyframes v9Down{0%,100%{transform:translateY(-2px)}50%{transform:translateY(5px)}}

@media(max-width:1120px){
  .editorial-header-inner{grid-template-columns:1fr auto}.editorial-nav{display:none}.editorial-menu-button{display:flex}.header-contact{display:none}
  .editorial-hero-grid{grid-template-columns:minmax(0,1fr) 390px;gap:42px}.editorial-hero h1{font-size:clamp(3.4rem,6.2vw,5.8rem)}
  .discover-grid{grid-template-columns:repeat(2,1fr)}
  .manifesto-grid{grid-template-columns:.4fr 1fr}.manifesto-points{grid-column:2}
}
@media(max-width:900px){
  .editorial-header-inner{height:88px}.editorial-logo{width:48px;height:48px;flex-basis:48px}.editorial-brand-copy strong{font-size:.65rem}.editorial-brand-copy span{font-size:1rem}
  .page-home .editorial-header{position:absolute}.editorial-nav{display:block;position:static}.editorial-nav .nav-menu{display:none;position:absolute;left:0;right:0;top:88px;background:#fff;color:var(--v9-ink);padding:24px 5vw;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 20px 50px rgba(3,18,48,.15)}.editorial-nav .nav-menu.is-open{display:flex}.editorial-nav a{font-size:.9rem;padding:13px 0;border-bottom:1px solid #edf0f4}.editorial-menu-button{display:flex}
  .editorial-hero{min-height:auto;padding-top:150px}.editorial-hero-line{display:none}.editorial-hero-grid{grid-template-columns:1fr;align-items:start}.editorial-hero-copy{padding-bottom:0}.editorial-hero h1{font-size:clamp(3.7rem,10vw,6rem)}.hero-story-rail{width:100%;max-height:none}.hero-foot{margin-top:30px}.hero-mini-facts{display:none}
  .editorial-intro-grid{grid-template-columns:100px 1fr}.editorial-intro-text{grid-column:2}.editorial-section-head{grid-template-columns:1fr;gap:26px}.editorial-program-row{grid-template-columns:46px 70px 1fr 28px}.program-min{display:none}.manifesto-grid{grid-template-columns:1fr}.manifesto-points{grid-column:auto}.manifesto-kicker{margin-bottom:10px}
}
@media(max-width:640px){
  .container{width:min(100% - 36px,var(--container,1200px))}.editorial-header-inner{height:78px}.editorial-brand-copy strong{white-space:normal;line-height:1.2}.editorial-logo{width:44px;height:44px;flex-basis:44px}.editorial-menu-button em{display:none}.editorial-nav .nav-menu{top:78px}
  .editorial-hero{padding-top:125px}.editorial-hero-grid{gap:34px;padding-bottom:34px}.hero-overline{font-size:.6rem;line-height:1.5}.editorial-hero h1{font-size:clamp(3rem,15vw,4.5rem);line-height:.92}.editorial-hero-copy>p{font-size:.95rem;margin-block:22px}.editorial-actions{align-items:stretch}.editorial-actions .btn{width:100%;justify-content:center}.story-news-card,.story-news-card.is-featured{grid-template-columns:90px 1fr auto;padding:14px}.story-news-image,.story-news-card.is-featured .story-news-image{height:78px}.story-news-body p{display:none}.story-news-body strong{font-size:.9rem}.story-events{padding-inline:14px}.hero-foot{min-height:70px}.scroll-cue span{display:none}
  .editorial-intro{padding-block:74px}.editorial-intro-grid{grid-template-columns:1fr;gap:24px}.editorial-intro-text{grid-column:auto}.intro-index{max-width:130px}.editorial-intro-copy h2,.editorial-section-head h2{font-size:2.65rem}.discover-grid-section{padding-bottom:70px}.discover-grid{grid-template-columns:1fr}.discover-tile{min-height:230px}.editorial-programs{padding-block:74px}.editorial-program-row{grid-template-columns:34px 60px 1fr 20px;gap:10px;padding-block:19px}.editorial-program-row strong{font-size:1rem}.editorial-manifesto{padding-block:86px}.manifesto-copy h2{font-size:3.4rem}.home-cta-section{padding-block:78px}.page-hero,.article-hero{padding:74px 0 64px}.page-hero h1,.article-hero h1{font-size:3.6rem}.section{padding-block:66px}
}
@media(prefers-reduced-motion:reduce){.editorial-hero-media,.story-label i,.scroll-cue i{animation:none!important}.reveal{transition:none!important}.story-news-image img,.discover-tile,.editorial-program-row{transition:none!important}}

/* Institutional polish and accessible interaction states */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:focus-visible{outline:3px solid #c18b20;outline-offset:5px}
.editorial-header{box-shadow:0 1px 0 #ffffff24,0 6px 24px #071f5210}
.editorial-brand-copy strong{letter-spacing:-.02em}
.editorial-nav a{transition:color .18s,background .18s}
.hero-story-rail{border:1px solid #ffffff30;border-radius:12px;overflow:hidden}
.story-label i{background:#19845b;box-shadow:0 0 0 4px #19845b15;animation:none}
.story-news-body strong{line-height:1.4}.story-news-body small{line-height:1.5}
.story-event-row div strong{line-height:1.45}.story-events-head{color:#ffffffb8}
.editorial-hero-copy>p{max-width:540px}.editorial-actions .btn{border-radius:6px}
.page-hero p,.article-hero p{max-width:720px}.section p{line-height:1.8}
.btn{transition:background .18s,box-shadow .18s,transform .18s}.btn:hover{box-shadow:0 5px 18px #071f5215}
@media(max-width:600px){.container{width:calc(100% - 36px)}.hero-story-rail{border-radius:9px}.editorial-hero h1{line-height:1.04}.story-news-body strong{line-height:1.4}.page-hero h1,.article-hero h1{font-size:clamp(2.3rem,10vw,3.6rem);overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
