:root {
  --ink: #08121f;
  --navy: #0d1a28;
  --green: #14342e;
  --green-2: #1e4a41;
  --ivory: #f5efe3;
  --paper: #fbf7ef;
  --line: rgba(194, 166, 109, .42);
  --gold: #c5aa72;
  --silver: #d8d0c1;
  --crimson: #761b25;
  --text: #17201f;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background: var(--paper);
  font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 104px;
  padding: 0 56px;
  color: var(--ivory);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(5, 13, 24, .82), rgba(5, 13, 24, .42));
  transition: background .25s ease, height .25s ease;
}

.site-header.is-scrolled {
  height: 84px;
  background: rgba(7, 17, 29, .95);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-width: 300px;
}

.brand strong {
  display: block;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
}

.brand em {
  display: block;
  margin-top: 10px;
  color: rgba(245, 239, 227, .76);
  font-style: normal;
  font-size: 15px;
  letter-spacing: .18em;
}

.crest {
  display: grid;
  place-items: center;
  width: 58px;
  height: 66px;
  flex: 0 0 auto;
  border: 2px solid var(--gold);
  border-radius: 46% 46% 50% 50%;
  background: linear-gradient(155deg, rgba(20, 52, 46, .96), rgba(7, 14, 25, .98));
  box-shadow: inset 0 0 0 5px rgba(245, 239, 227, .08);
}

.crest span {
  width: 28px;
  height: 28px;
  border: 4px solid var(--ivory);
  border-right-color: transparent;
  border-radius: 50%;
  transform: rotate(-23deg);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 44px;
  font-size: 17px;
  color: rgba(245, 239, 227, .9);
}

.site-nav a {
  position: relative;
  white-space: nowrap;
}

.site-nav a:not(.parent-link)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;
  height: 1px;
  transform: scaleX(0);
  background: var(--gold);
  transition: transform .2s ease;
}

.site-nav a:hover::after {
  transform: scaleX(1);
}

.site-nav > a[aria-current="page"] {
  color: #d9b66c;
}

.site-nav > a[aria-current="page"]::after {
  transform: scaleX(1);
}

.parent-link {
  padding: 13px 22px;
  border: 1px solid rgba(197, 170, 114, .58);
  background: linear-gradient(135deg, rgba(118, 27, 37, .82), rgba(67, 16, 25, .76));
}

.menu-button {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  background: rgba(5, 13, 24, .4);
}

.menu-button span {
  display: block;
  width: 20px;
  height: 1px;
  margin: 6px auto;
  background: var(--ivory);
}

.hero {
  position: relative;
  min-height: 100vh;
  padding-top: 104px;
  color: var(--ivory);
  background-image:
    linear-gradient(90deg, rgba(5, 13, 24, .84) 0%, rgba(5, 13, 24, .56) 28%, rgba(5, 13, 24, .08) 58%, rgba(5, 13, 24, .2) 100%),
    linear-gradient(180deg, rgba(5, 13, 24, .12) 0%, rgba(5, 13, 24, .08) 58%, rgba(5, 13, 24, .9) 100%),
    url("yuehua-campus-hero.png");
  background-position: center;
  background-size: cover;
  overflow: hidden;
}

.hero-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 37% 15%, rgba(255, 255, 255, .12), transparent 15%),
    radial-gradient(circle at 66% 62%, rgba(197, 170, 114, .1), transparent 25%);
  pointer-events: none;
}

.hero-copy {
  position: relative;
  z-index: 2;
  max-width: 650px;
  padding: 22vh 0 280px 72px;
}

.eyebrow,
.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  color: var(--gold);
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.eyebrow::before,
.section-kicker::before {
  content: "";
  width: 44px;
  height: 1px;
  background: currentColor;
}

.hero h1 {
  margin: 26px 0 0;
  font-size: clamp(56px, 7vw, 104px);
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: 0;
  text-shadow: 0 18px 46px rgba(0, 0, 0, .56);
}

.subhead {
  margin: 24px 0 0;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.25;
  font-weight: 500;
}

.quiet-line {
  margin: 18px 0 0;
  color: rgba(245, 239, 227, .8);
  font-size: 20px;
  letter-spacing: .08em;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 38px;
}

.hero-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 0 28px;
  border: 1px solid rgba(197, 170, 114, .66);
  background: rgba(11, 26, 40, .58);
  color: var(--ivory);
  font-size: 16px;
  letter-spacing: .12em;
}

.hero-actions a:first-child {
  background: linear-gradient(135deg, rgba(118, 27, 37, .9), rgba(40, 20, 26, .76));
}

.hero-facts {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  min-height: 172px;
  padding: 0 54px;
  background: rgba(251, 247, 239, .96);
  border-top: 2px solid rgba(197, 170, 114, .58);
  color: var(--text);
}

.hero-facts article {
  display: grid;
  align-content: center;
  padding: 30px 46px;
  border-right: 1px solid rgba(32, 31, 28, .14);
}

.hero-facts article:last-child {
  border-right: 0;
}

.hero-facts span {
  color: rgba(23, 32, 31, .55);
  font-size: 13px;
  letter-spacing: .18em;
}

.hero-facts strong {
  display: block;
  margin-top: 10px;
  color: var(--green);
  font-size: 28px;
  font-weight: 500;
}

.hero-facts p {
  max-width: 420px;
  margin: 12px 0 0;
  color: rgba(23, 32, 31, .68);
  font-size: 15px;
  line-height: 1.8;
}

.section {
  padding: 96px 72px;
}

.intro-section {
  background: var(--paper);
}

.intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 78px;
  align-items: end;
  max-width: 1220px;
  margin: 0 auto;
}

h2 {
  margin: 22px 0 0;
  color: var(--green);
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.18;
  font-weight: 500;
  letter-spacing: 0;
}

.intro-grid p,
.section-heading p,
.parents-section p {
  margin: 28px 0 0;
  color: rgba(23, 32, 31, .7);
  font-size: 18px;
  line-height: 2;
}

.quote-card {
  min-height: 260px;
  padding: 34px;
  border: 1px solid rgba(197, 170, 114, .44);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .38), rgba(255, 255, 255, 0)),
    #f2eadc;
}

.quote-card span {
  color: rgba(20, 52, 46, .62);
  font-size: 14px;
  letter-spacing: .2em;
}

.quote-card blockquote {
  margin: 34px 0 0;
  color: var(--green);
  font-size: 34px;
  line-height: 1.45;
}

.admissions-section {
  background: #efe7d8;
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 60px;
  align-items: end;
  max-width: 1220px;
  margin: 0 auto 42px;
}

.admission-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 1220px;
  margin: 0 auto;
}

.admission-cards article {
  min-height: 278px;
  padding: 30px;
  border: 1px solid rgba(197, 170, 114, .48);
  background: var(--paper);
}

.admission-cards span {
  color: var(--crimson);
  font-size: 14px;
  letter-spacing: .16em;
}

.admission-cards h3,
.curriculum-grid h3 {
  margin: 34px 0 0;
  color: var(--green);
  font-size: 30px;
  font-weight: 500;
}

.admission-cards p,
.curriculum-grid p {
  margin: 18px 0 0;
  color: rgba(23, 32, 31, .68);
  font-size: 16px;
  line-height: 1.9;
}

.curriculum-section {
  background:
    linear-gradient(180deg, rgba(8, 18, 31, .92), rgba(8, 18, 31, .96)),
    url("yuehua-campus-hero.png");
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  color: var(--ivory);
}

.curriculum-section h2 {
  max-width: 980px;
  color: var(--ivory);
}

.curriculum-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  max-width: 1220px;
  margin-top: 52px;
  border: 1px solid rgba(197, 170, 114, .32);
  background: rgba(197, 170, 114, .28);
}

.curriculum-grid article {
  min-height: 280px;
  padding: 30px;
  background: rgba(8, 18, 31, .72);
  backdrop-filter: blur(6px);
}

.curriculum-grid h3 {
  color: var(--ivory);
}

.curriculum-grid p {
  color: rgba(245, 239, 227, .72);
}

.nightlife {
  display: grid;
  grid-template-columns: minmax(280px, 470px) 1fr;
  gap: 80px;
  padding: 94px 72px;
  background: var(--green);
  color: var(--ivory);
}

.nightlife h2 {
  color: var(--ivory);
}

.nightlife-list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(245, 239, 227, .2);
}

.nightlife-list p {
  display: grid;
  grid-template-columns: 112px 1fr;
  align-items: center;
  margin: 0;
  padding: 24px 0;
  border-bottom: 1px solid rgba(245, 239, 227, .2);
}

.nightlife-list strong {
  color: var(--gold);
  font-size: 22px;
  font-weight: 500;
}

.nightlife-list span {
  color: rgba(245, 239, 227, .78);
  font-size: 18px;
}

.parents-section {
  display: grid;
  grid-template-columns: minmax(320px, 520px) minmax(320px, 1fr) auto;
  gap: 48px;
  align-items: end;
  background: var(--paper);
}

.parents-section p {
  margin-bottom: 0;
}

.parents-section a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  min-height: 52px;
  border: 1px solid rgba(20, 52, 46, .42);
  color: var(--green);
  letter-spacing: .12em;
}

@media (max-width: 1060px) {
  .site-header {
    height: 86px;
    padding: 0 24px;
  }

  .brand {
    min-width: auto;
  }

  .brand strong {
    font-size: 22px;
  }

  .brand em {
    display: none;
  }

  .menu-button {
    display: block;
  }

  .site-nav {
    position: absolute;
    top: 86px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 18px 24px 26px;
    background: rgba(7, 17, 29, .98);
    border-bottom: 1px solid var(--line);
  }

  .site-nav.is-open {
    display: flex;
  }

  .site-nav a {
    padding: 16px 0;
  }

  .parent-link {
    padding: 16px;
    text-align: center;
  }

  .hero {
    padding-top: 86px;
  }

  .hero-copy {
    padding: 19vh 24px 360px;
  }

  .hero-facts {
    grid-template-columns: 1fr;
    padding: 0 24px;
  }

  .hero-facts article {
    padding: 18px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(32, 31, 28, .14);
  }

  .hero-facts article:last-child {
    border-bottom: 0;
  }

  .section,
  .nightlife,
  .parents-section {
    padding: 72px 24px;
  }

  .intro-grid,
  .section-heading,
  .nightlife,
  .parents-section {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .admission-cards,
  .curriculum-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .crest {
    width: 48px;
    height: 54px;
  }

  .brand strong {
    font-size: 20px;
  }

  .hero-copy {
    padding-bottom: 430px;
  }

  .hero-actions a {
    width: 100%;
    justify-content: center;
  }

  .hero-facts strong {
    font-size: 24px;
  }

  .quote-card blockquote {
    font-size: 28px;
  }
}

/* Desktop mockup alignment: match the generated aristocratic-school reference. */
@media (min-width: 1061px) {
  .site-header {
    height: 106px;
    padding: 0 58px;
    background: linear-gradient(180deg, rgba(3, 10, 18, .98), rgba(5, 13, 24, .9));
  }

  .site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(197, 170, 114, .78), transparent);
  }

  .brand {
    gap: 22px;
    min-width: 430px;
  }

  .brand strong {
    font-size: 34px;
  }

  .brand em {
    margin-top: 12px;
    font-size: 19px;
  }

  .crest {
    width: 96px;
    height: 104px;
    border-radius: 48% 48% 42% 42%;
    clip-path: polygon(50% 0, 92% 12%, 86% 78%, 50% 100%, 14% 78%, 8% 12%);
  }

  .crest span {
    width: 42px;
    height: 42px;
    border-width: 6px;
  }

  .site-nav {
    gap: 70px;
    color: rgba(229, 207, 162, .96);
    font-size: 19px;
  }

  .site-nav a:not(.parent-link)::after {
    content: "⌄";
    right: -20px;
    top: 50%;
    left: auto;
    bottom: auto;
    height: auto;
    transform: translateY(-54%);
    background: transparent;
    color: var(--gold);
    font-size: 16px;
  }

  .site-nav a:hover::after {
    transform: translateY(-54%);
  }

  .parent-link {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .parent-link::after {
    content: "  锁";
    color: rgba(229, 207, 162, .8);
    font-size: 14px;
  }

  .hero {
    min-height: 900px;
    padding-top: 106px;
    background-image:
      linear-gradient(90deg, rgba(5, 13, 24, .68) 0%, rgba(5, 13, 24, .32) 28%, rgba(5, 13, 24, .05) 58%, rgba(5, 13, 24, .14) 100%),
      linear-gradient(180deg, rgba(5, 13, 24, .1) 0%, rgba(5, 13, 24, .02) 58%, rgba(5, 13, 24, .48) 100%),
      url("yuehua-campus-hero.png");
    background-position: center top;
  }

  .hero-copy {
    position: absolute;
    left: 76px;
    bottom: 252px;
    max-width: 580px;
    padding: 0;
  }

  .eyebrow {
    display: none;
  }

  .hero h1 {
    margin: 0;
    font-size: clamp(44px, 4.4vw, 66px);
    line-height: 1.08;
  }

  .subhead {
    margin: 28px 0 0;
    padding-top: 22px;
    border-top: 1px solid rgba(118, 27, 37, .9);
    color: rgba(245, 239, 227, .94);
    font-size: clamp(24px, 2.1vw, 34px);
  }

  .quiet-line {
    margin: 14px 0 0;
    font-size: 20px;
  }

  .hero-actions {
    display: none;
  }

  .hero-facts {
    min-height: 180px;
    padding: 0 70px 50px;
  }

  .hero-facts::after {
    content: "夜 适 性　　·　　异 质 血 统　　·　　灵 感 知";
    position: absolute;
    left: 70px;
    right: 70px;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    border-top: 1px solid rgba(197, 170, 114, .42);
    color: #231f1b;
    font-size: 19px;
    letter-spacing: .12em;
  }

  .hero-facts article {
    display: grid;
    grid-template-columns: 112px 1fr;
    align-content: center;
    column-gap: 28px;
    padding: 28px 46px 20px;
  }

  .hero-facts article::before {
    grid-row: 1 / 4;
    align-self: center;
    justify-self: center;
    width: 78px;
    height: 78px;
    border: 1px solid rgba(108, 92, 58, .36);
    border-radius: 50%;
    background:
      radial-gradient(circle at center, rgba(197, 170, 114, .2) 0 22%, transparent 23%),
      linear-gradient(180deg, rgba(255, 255, 255, .42), rgba(197, 170, 114, .06));
  }

  .hero-facts article:nth-child(1)::before {
    content: "♜";
    display: grid;
    place-items: center;
    color: rgba(74, 73, 60, .7);
    font-size: 35px;
  }

  .hero-facts article:nth-child(2)::before {
    content: "☾";
    display: grid;
    place-items: center;
    color: rgba(129, 104, 51, .75);
    font-size: 42px;
  }

  .hero-facts article:nth-child(3)::before {
    content: "✺";
    display: grid;
    place-items: center;
    color: rgba(129, 104, 51, .58);
    font-size: 38px;
  }

  .hero-facts span {
    display: none;
  }

  .hero-facts strong {
    margin-top: 0;
    font-size: 28px;
  }
}

/* Replace temporary CSS marks with finished crest and icon assets. */
@media (min-width: 1061px) {
  .crest {
    width: 108px;
    height: 108px;
    border: 0;
    border-radius: 0;
    clip-path: none;
    background: url("icons/yuehua-crest.png") center / contain no-repeat;
    box-shadow: none;
  }

  .crest span {
    display: none;
  }

  .hero-facts article::before {
    content: "";
    width: 88px;
    height: 88px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .hero-facts article:nth-child(1)::before {
    background-image: url("icons/suburb-icon.svg");
  }

  .hero-facts article:nth-child(2)::before {
    background-image: url("icons/night-icon.svg");
  }

  .hero-facts article:nth-child(3)::before {
    background-image: url("icons/aptitude-icon.svg");
  }
}

@media (max-width: 1060px) {
  .crest {
    border: 0;
    border-radius: 0;
    background: url("icons/yuehua-crest.png") center / contain no-repeat;
    box-shadow: none;
  }

  .crest span {
    display: none;
  }
}

/* Use transparent SVG crest and transparent icon assets. */
.crest {
  background-image: url("icons/yuehua-crest-transparent.png") !important;
  background-color: transparent !important;
}

/* Prevent older pseudo-glyphs from stacking over the finished SVG icons. */
@media (min-width: 1061px) {
  .hero-facts article:nth-child(1)::before,
  .hero-facts article:nth-child(2)::before,
  .hero-facts article:nth-child(3)::before {
    content: "";
    display: block;
    color: transparent;
    font-size: 0;
    line-height: 0;
  }
}

/* Header and hero-title alignment to match the reference mockup. */
@media (min-width: 1061px) {
  .site-header {
    height: 106px;
    padding-left: 96px;
    padding-right: 96px;
  }

  .brand {
    gap: 22px;
    min-width: 430px;
  }

  .crest {
    width: 112px;
    height: 112px;
  }

  .brand strong {
    font-size: 34px;
    line-height: 1;
  }

  .brand em {
    margin-top: 13px;
    font-size: 18px;
    letter-spacing: .12em;
  }

  .site-nav {
    gap: 84px;
    font-size: 19px;
  }

  .site-nav a:not(.parent-link) {
    padding-right: 24px;
  }

  .site-nav a:not(.parent-link)::after {
    content: "";
    width: 18px;
    height: 18px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url("icons/nav-arrow.svg") center / contain no-repeat;
  }

  .hero-copy {
    left: 128px;
    bottom: 248px;
    max-width: 470px;
  }

  .hero h1 {
    font-size: 64px;
    line-height: 1.05;
  }

  .hero-school-type {
    margin: 14px 0 0;
    color: rgba(245, 239, 227, .9);
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .04em;
  }

  .hero-divider {
    display: block;
    width: 360px;
    height: 18px;
    margin: 18px 0 14px;
  }

  .subhead {
    margin: 0;
    padding-top: 0;
    border-top: 0;
    font-size: 31px;
    line-height: 1.25;
    letter-spacing: .06em;
  }

  .quiet-line {
    margin-top: 13px;
    font-size: 20px;
    letter-spacing: .08em;
  }
}

/* Warmer gold typography tuning for the header and hero copy. */
@media (min-width: 1061px) {
  .brand strong,
  .hero h1 {
    color: #ead7ad;
  }

  .brand em,
  .hero-school-type,
  .quiet-line {
    color: #dcc28b;
  }

  .subhead {
    color: #e4c994;
  }

  .site-nav {
    color: #d8bd84;
  }

  .hero-divider {
    width: 360px;
    height: 17px;
    margin-top: 16px;
    margin-bottom: 13px;
  }
}

/* Bottom information band refinement: warmer parchment, reference ornaments, and finer serif type. */
@media (min-width: 1061px) {
  .hero-facts {
    min-height: 214px;
    padding: 0 96px 58px;
    background:
      radial-gradient(circle at 18% 22%, rgba(214, 190, 139, .16), transparent 28%),
      radial-gradient(circle at 84% 0%, rgba(255, 255, 255, .55), transparent 34%),
      linear-gradient(180deg, rgba(248, 241, 226, .98), rgba(238, 227, 204, .98));
    color: #25231e;
    border-top: 1px solid rgba(197, 170, 114, .48);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
  }

  .hero-facts article {
    grid-template-columns: 104px minmax(0, 1fr);
    column-gap: 28px;
    padding: 31px 58px 22px;
    border-right: 1px solid rgba(176, 150, 102, .34);
  }

  .hero-facts article::before {
    width: 86px;
    height: 86px;
    opacity: .82;
  }

  .hero-facts strong {
    color: #20201d;
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: .18em;
  }

  .hero-facts p {
    max-width: 360px;
    margin-top: 13px;
    color: rgba(42, 39, 34, .62);
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: .06em;
  }

  .hero-facts::after {
    left: 96px;
    right: 96px;
    height: 58px;
    border-top: 1px solid rgba(176, 150, 102, .36);
    color: #1f211f;
    font-family: "Noto Serif SC", "Songti SC", "SimSun", serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .34em;
    background:
      url("icons/tag-ornament.svg") calc(50% - 326px) center / 118px 18px no-repeat,
      url("icons/tag-ornament.svg") calc(50% + 326px) center / 118px 18px no-repeat;
  }
}

/* Match the reference screenshot: reduce dark overlay and stop the hero image from feeling zoomed. */
@media (min-width: 1061px) {
  .hero {
    min-height: 900px;
    background-image:
      linear-gradient(90deg, rgba(5, 13, 24, .28) 0%, rgba(5, 13, 24, .14) 30%, rgba(5, 13, 24, .03) 58%, rgba(5, 13, 24, .08) 100%),
      linear-gradient(180deg, rgba(5, 13, 24, .03) 0%, rgba(5, 13, 24, .03) 62%, rgba(5, 13, 24, .2) 100%),
      url("yuehua-campus-hero.png");
    background-size: 100% auto;
    background-position: center 106px;
    background-repeat: no-repeat;
    background-color: #06111f;
  }

  .hero-shade {
    opacity: .34;
  }
}

/* Final desktop framing: keep the hero image at the reference composition and move bottom ornaments away from labels. */
@media (min-width: 1061px) {
  .hero {
    min-height: 900px;
    height: 900px;
    background-size: auto 640px;
    background-position: center 106px;
  }

  .hero-copy {
    left: 78px;
    bottom: 242px;
  }

  .hero-facts {
    bottom: 0;
  }

  .hero-facts::after {
    letter-spacing: .3em;
    background:
      url("icons/tag-ornament.svg") calc(50% - 390px) center / 118px 18px no-repeat,
      url("icons/tag-ornament.svg") calc(50% + 390px) center / 118px 18px no-repeat;
  }
}

/* Use cover again so ultra-wide browser windows do not show side gutters. */
@media (min-width: 1061px) {
  .hero {
    background-size: cover;
    background-position: center top;
  }
}

/* With the new ultra-wide hero, scale by width so the campus appears smaller like the mockup. */
@media (min-width: 1061px) {
  .hero {
    background-size: 100% auto;
    background-position: center 106px;
    background-repeat: no-repeat;
  }
}

/* Hero copy polish: brighter ivory text, higher placement, and a school-style CTA. */
@media (min-width: 1061px) {
  .hero-copy {
    bottom: 284px;
  }

  .hero h1 {
    color: #fff3d7;
  }

  .hero-school-type,
  .subhead,
  .quiet-line {
    color: #f6e7c7;
  }

  .hero-learn-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 146px;
    height: 46px;
    margin-top: 24px;
    padding: 0 26px;
    border: 1px solid rgba(214, 184, 119, .72);
    background: rgba(8, 19, 31, .52);
    color: #f7e8c8;
    font-size: 16px;
    letter-spacing: .18em;
    box-shadow: inset 0 0 0 1px rgba(255, 246, 220, .08), 0 10px 24px rgba(0, 0, 0, .22);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
  }

  .hero-learn-button::after {
    content: "";
    width: 28px;
    height: 1px;
    margin-left: 14px;
    background: rgba(214, 184, 119, .78);
  }

  .hero-learn-button:hover {
    transform: translateY(-1px);
    border-color: rgba(240, 215, 158, .9);
    background: rgba(102, 25, 31, .55);
  }
}

/* Use the supplied gate-plaque background and keep it visually smaller in the hero. */
@media (min-width: 1061px) {
  .hero {
    background-size: 100% auto;
    background-position: center 106px;
    background-repeat: no-repeat;
  }
}

/* Reference-size hero banner: make the campus image behave like the provided wide, shallow mockup. */
@media (min-width: 1061px) {
  .hero {
    height: 820px;
    min-height: 820px;
    background-size: 100% 612px;
    background-position: center 106px;
    background-repeat: no-repeat;
  }

  .hero-copy {
    bottom: 226px;
  }
}

/* Revert the forced shallow-banner experiment. */
@media (min-width: 1061px) {
  .hero {
    height: 900px;
    min-height: 900px;
    background-size: 100% auto;
    background-position: center 106px;
    background-repeat: no-repeat;
  }

  .hero-copy {
    bottom: 284px;
  }
}

/* Pull the campus background back slightly so it feels less zoomed. */
@media (min-width: 1061px) {
  .hero {
    background-size: 92% auto;
    background-position: center 106px;
    background-repeat: no-repeat;
  }
}

/* Step toward the reference scale: pull the background farther back. */
@media (min-width: 1061px) {
  .hero {
    background-size: 78% auto;
    background-position: center 106px;
    background-repeat: no-repeat;
  }
}

/* Use the expanded hero canvas: full width now equals a visually smaller original center. */
@media (min-width: 1061px) {
  .hero {
    background-size: 100% auto;
    background-position: center 106px;
    background-repeat: no-repeat;
  }
}

/* Center the curriculum section content within the page. */
@media (min-width: 1061px) {
  .curriculum-section {
    text-align: center;
  }

  .curriculum-section .section-kicker {
    justify-content: center;
  }

  .curriculum-section h2 {
    margin-left: auto;
    margin-right: auto;
    max-width: 1120px;
  }

  .curriculum-grid {
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
}

/* Keep section eyebrow labels left-aligned consistently across sections. */
@media (min-width: 1061px) {
  .curriculum-section .section-kicker,
  .admissions-section .section-kicker {
    justify-content: flex-start;
  }

  .curriculum-section {
    text-align: left;
  }
}

/* Final consistency: all section kicker labels stay left-aligned. */
.section-kicker {
  justify-content: flex-start !important;
}

/* Lower the parchment information band so it covers the pale edge beneath the hero. */
@media (min-width: 1061px) {
  .hero {
    overflow: hidden;
  }

  .hero-facts {
    bottom: -34px;
  }
}

/* Correct the lowered facts band: give the hero real room instead of clipping it. */
@media (min-width: 1061px) {
  .hero {
    height: 934px;
    min-height: 934px;
    overflow: visible;
  }

  .hero-facts {
    bottom: 0;
  }
}

/* Lift the hero title block so it clears the information band. */
@media (min-width: 1061px) {
  .hero-copy {
    bottom: 330px;
  }
}

/* Keep the full parchment band visible in the first desktop viewport. */
@media (min-width: 1061px) {
  .hero {
    height: 870px;
    min-height: 870px;
    overflow: visible;
  }

  .hero-copy {
    bottom: 292px;
  }

  .hero-facts {
    bottom: 0;
  }
}

/* Fine tune first-screen depth so the parchment band lands near the bottom of the browser viewport. */
@media (min-width: 1061px) {
  .hero {
    height: 896px;
    min-height: 896px;
  }
}

/* User-calibrated first-screen height: move the parchment band 16px lower. */
@media (min-width: 1061px) {
  .hero {
    height: 912px;
    min-height: 912px;
  }
}

/* Overview dropdown and prepared subpages. */
.nav-group {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nav-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(245, 239, 227, .9);
  font: inherit;
  white-space: nowrap;
  cursor: pointer;
}

.nav-trigger::after {
  content: "";
  width: 12px;
  height: 8px;
  background: url("icons/nav-arrow.svg") center / contain no-repeat;
}

.nav-trigger::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;
  height: 1px;
  transform: scaleX(0);
  background: var(--gold);
  transition: transform .2s ease;
}

.nav-group:hover .nav-trigger::before,
.nav-group:focus-within .nav-trigger::before {
  transform: scaleX(1);
}

.dropdown-menu {
  position: absolute;
  top: calc(100% + 22px);
  left: 50%;
  width: 176px;
  padding: 12px 0;
  border: 1px solid rgba(197, 170, 114, .48);
  background: rgba(7, 17, 29, .96);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(255, 246, 220, .04);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, transform .18s ease;
}

.dropdown-menu::before {
  content: "";
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  height: 22px;
}

.nav-group:hover .dropdown-menu,
.nav-group:focus-within .dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.dropdown-menu a {
  display: block;
  padding: 11px 22px;
  color: rgba(245, 239, 227, .86);
  font-size: 15px;
  letter-spacing: .12em;
}

.dropdown-menu a::after {
  display: none;
}

.dropdown-menu a:hover {
  color: #fff3d7;
  background: rgba(197, 170, 114, .1);
}

.subpage-main {
  min-height: 100vh;
  padding: 166px 56px 80px;
  color: var(--ivory);
  background:
    linear-gradient(90deg, rgba(5, 13, 24, .9), rgba(5, 13, 24, .76)),
    url("yuehua-campus-hero.png") center top / cover no-repeat;
}

.subpage-hero {
  max-width: 1180px;
  min-height: 560px;
  margin: 0 auto;
  padding: 56px 60px;
  border: 1px solid rgba(197, 170, 114, .62);
  background: rgba(7, 17, 29, .72);
  box-shadow: inset 0 0 0 1px rgba(245, 239, 227, .05), 0 24px 52px rgba(0, 0, 0, .22);
}

.subpage-hero h1 {
  margin: 36px 0 18px;
  color: #fff3d7;
  font-size: clamp(46px, 6vw, 82px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: .08em;
}

.subpage-hero > p {
  margin: 0 0 34px;
  color: rgba(245, 239, 227, .78);
  font-size: 24px;
  letter-spacing: .2em;
}

.subpage-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  height: 44px;
  margin-top: 22px;
  padding: 0 24px;
  border: 1px solid rgba(214, 184, 119, .72);
  color: #f7e8c8;
  background: rgba(118, 27, 37, .38);
  letter-spacing: .16em;
}

.map-placeholder {
  display: grid;
  place-items: center;
  min-height: 340px;
  margin-top: 32px;
  border: 1px dashed rgba(214, 184, 119, .56);
  background:
    linear-gradient(90deg, rgba(214, 184, 119, .08) 1px, transparent 1px),
    linear-gradient(rgba(214, 184, 119, .08) 1px, transparent 1px),
    rgba(8, 19, 31, .52);
  background-size: 42px 42px;
  text-align: center;
}

.map-placeholder span {
  display: block;
  color: #f7e8c8;
  font-size: 32px;
  letter-spacing: .22em;
}

.map-placeholder p {
  margin: 12px 0 0;
  color: rgba(245, 239, 227, .62);
  font-size: 16px;
  letter-spacing: .16em;
}

@media (max-width: 1060px) {
  .site-nav.is-open .nav-group,
  .site-nav.is-open .nav-trigger,
  .site-nav.is-open .dropdown-menu {
    width: 100%;
  }

  .site-nav .nav-group {
    display: block;
  }

  .nav-trigger {
    justify-content: space-between;
  }

  .dropdown-menu {
    position: static;
    width: 100%;
    margin-top: 10px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    border-color: rgba(197, 170, 114, .25);
    background: rgba(5, 13, 24, .42);
    box-shadow: none;
  }

  .subpage-main {
    padding: 128px 22px 56px;
  }

  .subpage-hero {
    min-height: 480px;
    padding: 36px 24px;
  }
}

/* Nav dropdown color states: gold at rest, ivory only on hover/open, no browser focus box. */
.nav-trigger {
  color: #d6bd7a;
  outline: 0;
}

.nav-trigger:focus {
  outline: 0;
}

.nav-group:hover .nav-trigger,
.nav-group:focus-within .nav-trigger {
  color: #fff3d7;
}

.nav-group:hover .nav-trigger::after,
.nav-group:focus-within .nav-trigger::after {
  filter: brightness(1.28) saturate(.9);
}

.dropdown-menu a {
  color: #d6bd7a;
}

.dropdown-menu a:hover,
.dropdown-menu a:focus {
  color: #fff3d7;
  outline: 0;
}

/* Match the overview dropdown arrow to the other nav arrows and flip it open. */
@media (min-width: 1061px) {
  .nav-trigger {
    position: relative;
    gap: 0;
    padding-right: 24px;
  }

  .nav-trigger::after {
    position: absolute;
    right: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%) rotate(0deg);
    transform-origin: center;
    background: url( icons/nav-arrow.svg) center / contain no-repeat;
    transition: transform .22s ease, filter .22s ease;
  }

  .nav-group:hover .nav-trigger::after,
  .nav-group:focus-within .nav-trigger::after {
    transform: translateY(-50%) rotate(180deg);
    filter: brightness(1.28) saturate(.9);
  }
}

/* Keep the overview dropdown open while the cursor travels from title to menu. */
@media (min-width: 1061px) {
  .nav-group {
    z-index: 25;
  }

  .nav-group::after {
    content: "";
 position: absolute;
 left: -24px;
 right: -24px;
 top: 100%;
 height: 30px;
 }

 .dropdown-menu {
 top: calc(100% + 10px);
 z-index: 30;
 }
}

/* Preserve the original dropdown spacing and extend the invisible hover bridge. */
@media (min-width: 1061px) {
  .nav-group::after {
    height: 48px;
  }

  .dropdown-menu {
    top: calc(100% + 22px);
  }
}

/* Campus map image preview. */
.campus-map-preview {
  display: block;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-style: solid;
  background: rgba(8, 19, 31, .56);
}

.campus-map-preview img {
  display: block;
  width: 100%;
  height: auto;
}

/* Interactive campus map pins and labels. */
.campus-map-preview {
  position: relative;
}

.map-marker {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 2;
  width: 36px;
  height: 48px;
  padding: 0;
  border: 0;
  background: url("icons/map-pin.png") center bottom / contain no-repeat;
  transform: translate(-50%, -50%);
  cursor: pointer;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, .42));
}

.map-marker.is-active,
.map-marker:hover,
.map-marker:focus-visible {
  z-index: 4;
  background-image: url("icons/map-pin-selected.png");
  outline: 0;
}

.map-marker span {
  position: absolute;
  left: 50%;
  bottom: calc(100% - 2px);
  min-width: 86px;
  padding: 5px 12px 6px;
  border: 1px solid rgba(218, 181, 103, .78);
  background: linear-gradient(180deg, rgba(10, 17, 26, .88), rgba(8, 13, 21, .78));
  color: #f8e6bd;
  box-shadow: inset 0 0 0 1px rgba(255, 245, 212, .06), 0 7px 16px rgba(0, 0, 0, .38);
  font-size: 14px;
  line-height: 1;
  letter-spacing: .12em;
  white-space: nowrap;
  text-align: center;
  transform: translateX(-50%);
  pointer-events: none;
}

.map-marker.is-active span,
.map-marker:hover span,
.map-marker:focus-visible span {
  color: #fff3d7;
  border-color: rgba(255, 218, 128, .95);
  box-shadow: 0 0 18px rgba(235, 188, 87, .32), inset 0 0 0 1px rgba(255, 245, 212, .08);
}

.map-info-card {
  position: absolute;
  z-index: 3;
  right: 5.2%;
  bottom: 8.4%;
  width: min(320px, 24vw);
  min-height: 126px;
  padding: 28px 34px;
  border: 1px solid rgba(218, 181, 103, .66);
  background: linear-gradient(180deg, rgba(8, 13, 21, .9), rgba(6, 10, 16, .84));
  color: #f3dfb2;
  box-shadow: inset 0 0 0 1px rgba(255, 245, 212, .05), 0 18px 36px rgba(0, 0, 0, .36);
  text-align: center;
}

.map-info-card::before,
.map-info-card::after {
  content: "";
  position: absolute;
  top: 42px;
  width: 58px;
  height: 1px;
  background: rgba(122, 27, 37, .88);
}

.map-info-card::before {
  left: 34px;
}

.map-info-card::after {
  right: 34px;
}

.map-info-card strong {
  display: block;
  color: #f8e6bd;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: .16em;
}

.map-info-card p {
  margin: 28px 0 0;
  color: rgba(245, 239, 227, .78);
  font-size: 15px;
  letter-spacing: .12em;
}

@media (max-width: 900px) {
  .map-marker {
    width: 28px;
    height: 38px;
  }

  .map-marker span {
    min-width: 70px;
    padding: 4px 8px;
    font-size: 11px;
  }

  .map-info-card {
    position: relative;
    right: auto;
    bottom: auto;
    width: auto;
    margin: 14px;
  }
}


/* Selected campus area layout: slide the map right and show the intro panel on the left. */
.campus-map-preview {
  isolation: isolate;
}

.map-stage {
  position: relative;
  width: 100%;
  transition: transform .42s ease;
  transform-origin: center center;
}

.map-stage img {
  display: block;
  width: 100%;
  height: auto;
}

.campus-map-preview.has-selection .map-stage {
  transform: translateX(13.5%);
}

.campus-map-preview.has-selection::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  bottom: 0;
  width: 35%;
  background: linear-gradient(90deg, rgba(5, 13, 24, .92), rgba(5, 13, 24, .62) 72%, rgba(5, 13, 24, 0));
  pointer-events: none;
}

.campus-map-preview .map-info-card {
  left: 4.2%;
  right: auto;
  top: 50%;
  bottom: auto;
  z-index: 5;
  width: min(360px, 24vw);
  min-height: 170px;
  padding: 34px 34px 30px;
  opacity: 0;
  transform: translate(-18px, -50%);
  transition: opacity .28s ease, transform .36s ease;
}

.campus-map-preview.has-selection .map-info-card {
  opacity: 1;
  transform: translate(0, -50%);
}

.campus-map-preview .map-info-card strong {
  font-size: 28px;
}

.campus-map-preview .map-info-card p {
  margin-top: 34px;
}

@media (max-width: 900px) {
  .campus-map-preview.has-selection .map-stage {
    transform: none;
  }

  .campus-map-preview.has-selection::before {
    display: none;
  }

  .campus-map-preview .map-info-card,
  .campus-map-preview.has-selection .map-info-card {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    margin: 14px;
    opacity: 1;
    transform: none;
  }
}

/* Make selected map layout side-by-side: info card on the left, campus map shifted right. */
.campus-map-preview.has-selection {
  background:
    linear-gradient(90deg, rgba(5, 13, 24, .96) 0%, rgba(5, 13, 24, .88) 26%, rgba(5, 13, 24, .18) 34%, rgba(8, 19, 31, .52) 100%);
}

.campus-map-preview.has-selection::before {
  display: none;
}

.campus-map-preview.has-selection .map-stage {
  width: 76%;
  transform: translateX(31.5%);
}

.campus-map-preview .map-info-card {
  left: 3.4%;
  width: min(360px, 23.5%);
  min-height: 158px;
  top: 50%;
  transform: translate(-12px, -50%);
}

.campus-map-preview.has-selection .map-info-card {
  transform: translate(0, -50%);
}

/* Final campus selection layout: info card sits in a real left column, map sits to the right. */
.campus-map-preview.has-selection {
  display: flex;
  align-items: center;
  gap: 34px;
  padding: 46px 44px 46px 48px;
  background: linear-gradient(90deg, rgba(5, 13, 24, .92), rgba(5, 13, 24, .74) 32%, rgba(8, 19, 31, .5));
}

.campus-map-preview.has-selection::before {
  display: none !important;
}

.campus-map-preview.has-selection .map-info-card {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  flex: 0 0 28%;
  width: auto;
  min-height: 190px;
  margin: 0;
  opacity: 1;
  transform: none;
}

.campus-map-preview.has-selection .map-stage {
  flex: 0 0 72%;
  width: auto;
  transform: none;
}

.campus-map-preview.has-selection .map-stage img {
  width: 100%;
}

@media (max-width: 900px) {
  .campus-map-preview.has-selection {
    display: block;
    padding: 0;
  }
}

/* Correct campus selection column order: intro card on the left, map on the right. */
.campus-map-preview.has-selection .map-info-card {
  order: 1;
  flex: 0 0 29%;
  align-self: center;
}

.campus-map-preview.has-selection .map-stage {
  order: 2;
  flex: 0 0 calc(71% - 34px);
}

/* Correct selection motion: keep the campus map full-size, slide it right, and place the info card in the revealed left space. */
.campus-map-preview.has-selection {
  display: block;
  padding: 0;
  overflow: hidden;
  background: rgba(8, 19, 31, .56);
}

.campus-map-preview.has-selection::before {
  display: block !important;
  content: "";
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  bottom: 0;
  width: 34%;
  background: linear-gradient(90deg, rgba(5, 13, 24, .96), rgba(5, 13, 24, .88) 74%, rgba(5, 13, 24, .18));
  pointer-events: none;
}

.campus-map-preview.has-selection .map-stage {
  display: block;
  width: 100%;
  flex: none;
  transform: translateX(31%);
}

.campus-map-preview.has-selection .map-info-card {
  position: absolute;
  z-index: 6;
  left: 4.6%;
  right: auto;
  top: 50%;
  bottom: auto;
  width: 25.5%;
  min-height: 190px;
  margin: 0;
  opacity: 1;
  transform: translateY(-50%);
}

/* Final structure: info card outside the map frame, map frame on the right. */
.campus-map-layout {
  display: grid;
  grid-template-columns: minmax(260px, 30%) minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  margin-top: 32px;
}

.campus-map-layout .map-info-card {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: auto !important;
  min-height: 190px;
  margin: 0;
  opacity: 1 !important;
  transform: none !important;
  z-index: 1;
}

.campus-map-layout .campus-map-preview {
  display: block !important;
  width: 100%;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
}

.campus-map-layout .campus-map-preview::before {
  display: none !important;
}

.campus-map-layout .map-stage {
  display: block;
  width: 100% !important;
  flex: none !important;
  transform: none !important;
}

.campus-map-layout .map-stage img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  .campus-map-layout {
    display: block;
  }

  .campus-map-layout .map-info-card {
    margin: 0 0 16px;
  }
}

/* Pull the selected-info card outside the map frame completely. */
.campus-map-layout.has-selection {
  position: relative;
  display: block;
  min-height: 430px;
  margin-top: 32px;
  padding-left: 31.5%;
}

.campus-map-layout.has-selection .campus-map-preview {
  display: block !important;
  width: 100%;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(218, 181, 103, .5);
  background: rgba(8, 19, 31, .56);
}

.campus-map-layout.has-selection .map-stage {
  display: block;
  width: 100% !important;
  transform: none !important;
}

.campus-map-layout.has-selection .map-info-card {
  position: absolute !important;
  z-index: 6;
  left: 0;
  top: 50%;
  width: 27.5% !important;
  min-height: 190px;
  margin: 0;
  opacity: 1 !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 900px) {
  .campus-map-layout.has-selection {
    display: block;
    min-height: 0;
    padding-left: 0;
  }

  .campus-map-layout.has-selection .map-info-card {
    position: relative !important;
    left: auto;
    top: auto;
    width: auto !important;
    margin-bottom: 16px;
    transform: none !important;
  }
}

/* Hard reset campus map layout: info card is a separate left column, never over the map. */
.subpage-hero .campus-map-layout.has-selection {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 330px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 34px !important;
  min-height: 0 !important;
  margin-top: 32px !important;
  padding-left: 0 !important;
}

.subpage-hero .campus-map-layout.has-selection > .map-info-card {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  order: 1 !important;
  z-index: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 190px !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  align-self: center !important;
}

.subpage-hero .campus-map-layout.has-selection > .campus-map-preview {
  order: 2 !important;
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(218, 181, 103, .5) !important;
  background: rgba(8, 19, 31, .56) !important;
}

.subpage-hero .campus-map-layout.has-selection > .campus-map-preview::before {
  display: none !important;
}

.subpage-hero .campus-map-layout.has-selection .map-stage {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  flex: none !important;
  transform: none !important;
}

.subpage-hero .campus-map-layout.has-selection .map-stage img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* CLEAN CAMPUS MAP LAYOUT - definitive override. */
.subpage-hero > .campus-map-layout.has-selection {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  column-gap: 34px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 32px 0 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  position: relative !important;
}

.subpage-hero > .campus-map-layout.has-selection > .map-info-card {
  grid-column: 1 !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 190px !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  z-index: 1 !important;
  align-self: center !important;
}

.subpage-hero > .campus-map-layout.has-selection > .campus-map-preview {
  grid-column: 2 !important;
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(218, 181, 103, .5) !important;
  background: rgba(8, 19, 31, .56) !important;
}

.subpage-hero > .campus-map-layout.has-selection > .campus-map-preview::before,
.subpage-hero > .campus-map-layout.has-selection::before {
  display: none !important;
  content: none !important;
}

.subpage-hero > .campus-map-layout.has-selection > .campus-map-preview > .map-stage {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  transform: none !important;
}

.subpage-hero > .campus-map-layout.has-selection > .campus-map-preview > .map-stage > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* Page-level campus shell: the large bordered page panel moves right; the info card lives outside on its left. */
.campus-map-main {
  padding-left: 24px;
  padding-right: 24px;
}

.campus-page-shell.has-selection {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
  padding-left: 360px;
}

.campus-page-shell.has-selection > .subpage-hero {
  max-width: none;
  width: 100%;
  margin: 0;
}

.campus-page-shell.has-selection > .page-side-card {
  position: absolute !important;
  left: 0 !important;
  top: 58% !important;
  right: auto !important;
  bottom: auto !important;
  width: 320px !important;
  min-height: 190px !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: translateY(-50%) !important;
  z-index: 8 !important;
}

.campus-page-shell.has-selection .campus-map-layout,
.campus-page-shell.has-selection .campus-map-preview,
.campus-page-shell.has-selection .map-stage {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.campus-page-shell.has-selection .campus-map-preview {
  border: 1px solid rgba(218, 181, 103, .5) !important;
  overflow: hidden !important;
}

.campus-page-shell.has-selection .campus-map-preview::before,
.campus-page-shell.has-selection .campus-map-layout::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 1100px) {
  .campus-page-shell.has-selection {
    padding-left: 0;
  }

  .campus-page-shell.has-selection > .page-side-card {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    margin-bottom: 18px !important;
    transform: none !important;
  }
}

/* Campus map polish: taller framed side intro and slightly larger map. */
@media (min-width: 1101px) {
  .campus-page-shell.has-selection {
    padding-left: 390px;
  }

  .campus-page-shell.has-selection > .page-side-card {
    width: 350px !important;
    min-height: 385px !important;
    top: auto !important;
    bottom: 150px !important;
    padding: 46px 34px !important;
    border: 1px solid rgba(218, 181, 103, .72) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 245, 212, .06),
      0 0 0 1px rgba(218, 181, 103, .28),
      0 22px 44px rgba(0, 0, 0, .34) !important;
    transform: none !important;
  }

  .campus-page-shell.has-selection > .page-side-card::before,
  .campus-page-shell.has-selection > .page-side-card::after {
    top: 74px;
    width: 68px;
  }

  .campus-page-shell.has-selection .campus-map-layout {
    margin-top: 22px !important;
    transform: scale(1.055) !important;
    transform-origin: center top !important;
  }

  .campus-page-shell.has-selection > .subpage-hero {
    padding-bottom: 88px;
  }
}

/* Move the campus map page back button lower. */
.campus-page-shell.has-selection .subpage-back {
  margin-top: 34px;
}

/* Parent entry content pages. */
.content-page-hero {
  padding-bottom: 72px;
}

.content-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.content-card {
  min-height: 190px;
  padding: 30px 32px;
  border: 1px solid rgba(218, 181, 103, .34);
  background: rgba(9, 18, 29, .56);
  box-shadow: inset 0 0 0 1px rgba(255, 245, 212, .04);
}

.content-card h2 {
  margin: 0 0 18px;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 400;
  letter-spacing: .12em;
}

.content-card p {
  margin: 0;
  color: rgba(246, 238, 218, .72);
  font-size: 1rem;
  line-height: 2;
  letter-spacing: .08em;
}

.parent-nav-group .parent-link {
  border-color: rgba(143, 45, 51, .72);
  background: rgba(93, 20, 31, .72);
  padding: 14px 28px;
}

.parent-dropdown-menu {
  min-width: 230px;
  right: 0;
  left: auto;
}

@media (max-width: 820px) {
  .content-grid {
    grid-template-columns: 1fr;
  }
}

/* Parent dropdown long-menu protection. */
.parent-dropdown-menu {
  max-height: min(68vh, 560px);
  overflow-y: auto;
  scrollbar-width: thin;
}

.parent-dropdown-menu a {
  white-space: nowrap;
}

/* Normalize parent entrance nav with the main dropdown style. */
.parent-nav-group .parent-link {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.parent-nav-group .parent-link::after {
  content: "" !important;
}

.parent-dropdown-menu {
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, 8px) !important;
}

.parent-nav-group:hover .parent-dropdown-menu,
.parent-nav-group:focus-within .parent-dropdown-menu {
  transform: translate(-50%, 0) !important;
}

/* Parent entrance arrow placement. */
.parent-nav-group .parent-link {
  position: relative !important;
  padding: 14px 46px 14px 28px !important;
  border: 1px solid rgba(218, 181, 103, .72) !important;
}

.parent-nav-group .parent-link::after {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(45deg) !important;
}

.parent-nav-group:hover .parent-link::after,
.parent-nav-group:focus-within .parent-link::after {
  transform: translateY(-50%) rotate(-135deg) !important;
}

/* Fix parent entrance arrow: use the same SVG arrow as other nav items. */
.parent-nav-group .parent-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 28px !important;
  border: 1px solid rgba(218, 181, 103, .72) !important;
  background: transparent !important;
}

.parent-nav-group .parent-link::after {
  content: "" !important;
  position: static !important;
  display: inline-block !important;
  width: 12px !important;
  height: 8px !important;
  background: url("icons/nav-arrow.svg") center / contain no-repeat !important;
  transform: none !important;
  border: 0 !important;
  margin-left: 4px !important;
  flex: 0 0 auto !important;
}

.parent-nav-group:hover .parent-link::after,
.parent-nav-group:focus-within .parent-link::after {
  transform: rotate(180deg) !important;
  filter: brightness(1.28) saturate(.9) !important;
}


/* Bright parent visit page */
.visit-page{color:#10263a;background:#f7f1e5}
.visit-page .site-header{background:#07172a;box-shadow:0 2px 0 rgba(190,148,67,.52)}
.visit-main{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;padding:104px 0 96px;background:radial-gradient(circle at 11% 10%,rgba(205,171,99,.1),transparent 24%),linear-gradient(90deg,rgba(255,252,246,.96),rgba(248,242,230,.94)),#f8f3e9}
.visit-main::before{content:"";position:absolute;z-index:-1;top:128px;right:-150px;width:min(62vw,980px);height:720px;opacity:.075;background:url("yuehua-campus-hero.png") 62% center/cover no-repeat;filter:sepia(1) saturate(.45) contrast(.75);mask-image:linear-gradient(90deg,transparent,#000 34%)}
.visit-container{width:min(1180px,calc(100% - 80px));margin:0 auto}
.visit-intro{padding-top:78px}
.visit-breadcrumb{display:flex;align-items:center;gap:14px;color:#45535c;font-size:17px;letter-spacing:.14em}
.visit-breadcrumb span{color:#122b42;font-size:22px}
.visit-intro h1{margin:70px 0 0;color:#0a2238;font-size:clamp(52px,5.2vw,82px);font-weight:400;line-height:1.08;letter-spacing:.08em}
.visit-title-rule{position:relative;width:330px;height:20px;margin-top:30px}
.visit-title-rule::before,.visit-title-rule::after{content:"";position:absolute;top:9px;width:46%;height:1px;background:#c79b4b}
.visit-title-rule::before{left:0}.visit-title-rule::after{right:0}
.visit-title-rule span{position:absolute;top:5px;left:50%;width:9px;height:9px;border:1px solid #c79b4b;transform:translateX(-50%) rotate(45deg)}
.visit-lead{margin:34px 0 0;color:#354654;font-size:20px;line-height:2;letter-spacing:.08em}
.visit-notice{display:flex;align-items:center;gap:18px;margin-top:58px;padding:20px 26px;border:1px solid rgba(194,151,69,.36);border-radius:3px;background:rgba(250,241,220,.7);color:#5c5a52;font-size:16px;line-height:1.8;box-shadow:0 12px 32px rgba(89,70,34,.05)}
.visit-notice-icon{display:grid;place-items:center;width:30px;height:30px;color:#c49b4f;font-size:13px}
.visit-section{margin-top:76px}
.visit-section-heading{display:grid;justify-items:center;text-align:center}
.visit-section-heading h2{margin:0;color:#10263a;font-size:clamp(34px,3.1vw,48px);font-weight:400;line-height:1.2;letter-spacing:.16em}
.visit-section-heading span{position:relative;width:270px;height:18px;margin-top:20px}
.visit-section-heading span::before,.visit-section-heading span::after{content:"";position:absolute;top:8px;width:45%;height:1px;background:rgba(194,151,69,.66)}
.visit-section-heading span::before{left:0}.visit-section-heading span::after{right:0}
.visit-section-heading span{background:radial-gradient(circle at center,#c29745 0 4px,transparent 5px)}
.visit-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px}
.visit-notes-grid article{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;min-height:190px;padding:28px 42px 32px 4px;border-bottom:1px solid rgba(185,148,78,.32)}
.visit-notes-grid article:nth-child(odd){padding-right:46px;border-right:1px solid rgba(185,148,78,.38)}
.visit-notes-grid article:nth-child(even){padding-left:42px}
.visit-notes-grid article:nth-last-child(-n+2){border-bottom:0}
.visit-notes-grid b{color:#bd8e35;font-size:42px;font-weight:400;line-height:1}
.visit-notes-grid h3{margin:2px 0 16px;color:#12273a;font-size:24px;font-weight:400;letter-spacing:.12em}
.visit-notes-grid p{margin:0;color:#4f5a61;font-size:15px;line-height:2;letter-spacing:.06em}
.visit-process{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:38px 0 0;padding:0;list-style:none}
.visit-process::before{content:"";position:absolute;top:36px;left:12.5%;right:12.5%;border-top:1px dashed #c79b4b}
.visit-process li{position:relative;z-index:1;text-align:center}
.visit-process b{display:grid;place-items:center;width:70px;height:70px;margin:0 auto;border:2px solid #c79b4b;border-radius:50%;background:#09233d;color:#fff9e9;box-shadow:0 0 0 5px #f8f3e9;font-size:31px;font-weight:400}
.visit-process h3{margin:22px 0 10px;color:#12273a;font-size:21px;font-weight:400;letter-spacing:.12em}
.visit-process p{margin:0;color:#5b6468;font-size:14px;line-height:1.8}
.visit-slots-section{margin-top:82px}
.visit-table-wrap{margin-top:28px;overflow-x:auto;border:1px solid rgba(185,142,60,.5);background:rgba(255,252,246,.72)}
.visit-table{width:100%;min-width:700px;border-collapse:collapse;text-align:center;color:#243746;font-size:16px}
.visit-table th,.visit-table td{height:72px;padding:12px 18px;border-right:1px solid rgba(185,142,60,.26);border-bottom:1px solid rgba(185,142,60,.26);font-weight:400}
.visit-table th:last-child,.visit-table td:last-child{border-right:0}.visit-table tbody tr:last-child td{border-bottom:0}
.visit-table th{height:62px;background:rgba(242,225,190,.46);color:#13293d;font-size:18px;letter-spacing:.12em}
.visit-available{color:#b47f24}.visit-full{color:#9a9a96}
.visit-table button{min-width:112px;height:44px;border:1px solid #7a1e2b;border-radius:3px;background:#761b25;color:#fff9e9;font:inherit;letter-spacing:.16em;cursor:pointer}
.visit-table button:disabled{border-color:#b8b7b3;background:#b8b7b3;cursor:default}
.visit-table-note{margin:20px 0 0;color:#7b7d79;font-size:14px;letter-spacing:.06em}
.visit-table-note::before{content:"❖";margin-right:10px;color:#c29745}
.visit-footer{color:#e8d6a5;border-top:3px solid #bc913f;background:linear-gradient(90deg,rgba(8,27,48,.98),rgba(5,24,44,.96)),#071b31}
.visit-footer-inner{display:grid;grid-template-columns:1.2fr 1fr .8fr;align-items:center;gap:56px;width:min(1180px,calc(100% - 80px));min-height:220px;margin:0 auto;padding:42px 0}
.visit-footer-brand{display:flex;align-items:center;gap:22px}.visit-footer-brand img{width:94px;height:110px;object-fit:contain}
.visit-footer-brand strong,.visit-footer-brand em{display:block;font-style:normal;font-weight:400}
.visit-footer-brand strong{font-size:26px;letter-spacing:.12em}.visit-footer-brand em{margin-top:12px;color:rgba(232,214,165,.74);font-size:15px;letter-spacing:.18em}
.visit-footer-contact{display:grid;gap:13px;padding-left:54px;border-left:1px solid rgba(197,170,114,.42);font-size:14px}
.visit-footer-contact strong{margin-bottom:4px;font-size:18px;font-weight:400;letter-spacing:.14em}
.visit-footer-note{padding-left:50px;border-left:1px solid rgba(197,170,114,.42);font-size:21px;letter-spacing:.2em}
.visit-footer>p{margin:0;padding:18px 20px;border-top:1px solid rgba(197,170,114,.2);color:rgba(232,214,165,.6);text-align:center;font-size:12px;letter-spacing:.1em}
@media(max-width:900px){.visit-container,.visit-footer-inner{width:min(100% - 36px,680px)}.visit-intro{padding-top:52px}.visit-intro h1{margin-top:46px}.visit-notes-grid{grid-template-columns:1fr}.visit-notes-grid article,.visit-notes-grid article:nth-child(odd),.visit-notes-grid article:nth-child(even){padding:28px 0;border-right:0;border-bottom:1px solid rgba(185,148,78,.32)}.visit-notes-grid article:last-child{border-bottom:0}.visit-process{grid-template-columns:repeat(2,1fr);row-gap:38px}.visit-process::before{display:none}.visit-footer-inner{grid-template-columns:1fr;gap:28px}.visit-footer-contact,.visit-footer-note{padding:26px 0 0;border-top:1px solid rgba(197,170,114,.32);border-left:0}}
@media(max-width:560px){.visit-main{padding-top:88px}.visit-intro h1{font-size:44px}.visit-lead{font-size:17px}.visit-notice{align-items:flex-start;padding:18px}.visit-title-rule{width:230px}.visit-notes-grid article{grid-template-columns:54px minmax(0,1fr)}.visit-notes-grid b{font-size:32px}.visit-process{grid-template-columns:1fr}}


/* Visit booking modal */
.visit-modal[hidden]{display:none}
.visit-modal{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:28px;background:rgba(3,12,22,.7);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease}
.visit-modal.is-open{opacity:1}
.visit-modal-open{overflow:hidden}
.visit-modal-panel{position:relative;width:min(860px,100%);max-height:calc(100vh - 56px);overflow-y:auto;padding:34px 48px 30px;border:2px solid #c99b53;border-radius:10px;background:linear-gradient(135deg,#fffdf8,#f7efe1);color:#13283a;box-shadow:0 24px 80px rgba(0,0,0,.4),inset 0 0 0 4px rgba(255,255,255,.7);transform:translateY(18px) scale(.985);transition:transform .18s ease}
.visit-modal.is-open .visit-modal-panel{transform:none}
.visit-modal-close{position:absolute;top:16px;right:18px;width:42px;height:42px;border:0;background:transparent;color:#4c5357;font-size:36px;font-weight:200;line-height:1;cursor:pointer}
.visit-modal-close:hover{color:#7d1d29}
.visit-modal-kicker{display:flex;align-items:center;justify-content:center;gap:12px;color:#b18439;font-size:16px;letter-spacing:.18em}
.visit-modal-kicker span{width:42px;height:1px;background:#caa154}
.visit-modal-panel>h2{margin:12px 0 0;text-align:center;color:#10283d;font-size:39px;font-weight:400;letter-spacing:.14em}
.visit-modal-lead{margin:8px 0 22px;text-align:center;color:#6c6d69;font-size:14px;letter-spacing:.08em}
.visit-selected-slot{display:flex;align-items:center;gap:7px;min-height:46px;padding:9px 16px;border:1px solid rgba(194,145,65,.38);border-radius:3px;background:rgba(248,236,211,.52);color:#505b61;font-size:14px}
.visit-selected-slot>span:first-child{margin-right:5px;color:#c2913e}
.visit-selected-slot strong{font-weight:400}
.visit-selected-slot button{margin-left:auto;border:0;background:transparent;color:#8b2430;font:inherit;cursor:pointer}
.visit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-top:20px}
.visit-form-grid label{display:grid;gap:8px;color:#1a3041;font-size:14px;letter-spacing:.06em}
.visit-form-grid label i{display:inline;color:#a9453e;font-style:normal}
.visit-form-grid input,.visit-form-grid select,.visit-form-grid textarea{width:100%;border:1px solid rgba(184,139,67,.42);border-radius:3px;outline:0;background:rgba(255,255,255,.68);color:#263946;font:inherit;letter-spacing:.04em;transition:border-color .16s,box-shadow .16s}
.visit-form-grid input,.visit-form-grid select{height:43px;padding:0 13px}
.visit-form-grid textarea{min-height:70px;padding:11px 13px;resize:vertical;line-height:1.6}
.visit-form-grid input:focus,.visit-form-grid select:focus,.visit-form-grid textarea:focus{border-color:#b48435;box-shadow:0 0 0 3px rgba(190,146,69,.12)}
.visit-form-grid ::placeholder{color:#97948c}
.visit-form-wide{grid-column:1/-1}
.visit-terms{margin-top:18px;border:1px solid rgba(184,139,67,.34);background:rgba(255,250,239,.58)}
.visit-terms summary{padding:12px 16px;color:#7c2830;cursor:pointer;letter-spacing:.1em}
.visit-terms ol{margin:0;padding:0 28px 16px 48px;color:#5e6567;font-size:13px;line-height:1.85}
.visit-consent{display:flex;align-items:flex-start;gap:9px;margin-top:16px;color:#4f585b;font-size:13px;line-height:1.7}
.visit-consent input{width:17px;height:17px;margin-top:3px;accent-color:#7d1d29}
.visit-consent button{border:0;border-bottom:1px solid currentColor;padding:0;background:transparent;color:#8b2631;font:inherit;cursor:pointer}
.visit-form-actions{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;margin-top:20px}
.visit-form-actions p{margin:0;color:#8a8a83;font-size:12px}
.visit-form-actions p span{margin-right:8px;color:#b58b44}
.visit-form-actions>button,.visit-form-success button{min-width:128px;height:46px;border-radius:3px;font:inherit;letter-spacing:.12em;cursor:pointer}
.visit-cancel{border:1px solid #b38842;background:transparent;color:#283744}
.visit-submit,.visit-form-success button{border:1px solid #7a1e2b;background:#7a1e2b;color:#fff8e8}
.visit-submit:hover,.visit-form-success button:hover{background:#64151f}
.visit-form-success{padding:56px 20px 42px;text-align:center}
.visit-form-success>span{display:grid;place-items:center;width:72px;height:72px;margin:0 auto;border:1px solid #b78b42;border-radius:50%;background:#0b2944;color:#f8df9c;font-size:34px}
.visit-form-success h3{margin:24px 0 12px;color:#10283d;font-size:32px;font-weight:400;letter-spacing:.14em}
.visit-form-success p{color:#646b6d;line-height:1.9}
.visit-form-success strong{color:#9b702f;font-weight:400}
.visit-form-success button{margin-top:22px}
@media(max-width:720px){.visit-modal{padding:12px}.visit-modal-panel{max-height:calc(100vh - 24px);padding:30px 20px 24px}.visit-modal-panel>h2{font-size:30px}.visit-modal-lead{padding:0 26px}.visit-form-grid{grid-template-columns:1fr;gap:14px}.visit-form-wide{grid-column:auto}.visit-form-actions{grid-template-columns:1fr 1fr}.visit-form-actions p{grid-column:1/-1}.visit-form-actions>button{min-width:0}.visit-selected-slot{flex-wrap:wrap}.visit-selected-slot button{margin-left:0;width:100%;text-align:right}}


/* Home page lower section redesign */
.nightlife{position:relative;display:block;min-height:470px;padding:0;background:#071725;color:#f2e6cb;overflow:hidden;isolation:isolate}
.nightlife::before{content:"";position:absolute;z-index:-2;inset:0;background:url("yuehua-campus-hero.png") center 58%/cover no-repeat;filter:brightness(.62) saturate(.82)}
.nightlife::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,15,27,.9),rgba(4,17,29,.4) 50%,rgba(2,14,25,.7)),linear-gradient(180deg,rgba(2,12,22,.25),rgba(2,12,22,.72))}
.nightlife-inner{width:min(1460px,calc(100% - 120px));margin:0 auto;padding:54px 0 48px}
.nightlife-heading{margin-bottom:42px}
.nightlife-heading .section-kicker{color:#d6b369;font-size:19px;letter-spacing:.16em}
.nightlife-heading .section-kicker::before{width:34px;background:#d6b369}
.nightlife-heading p{margin:13px 0 0 52px;color:rgba(242,230,203,.82);font-size:15px;letter-spacing:.18em}
.nightlife-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none}
.nightlife-timeline::before{content:"";position:absolute;top:49px;left:12.5%;right:12.5%;border-top:2px dashed rgba(215,181,107,.72)}
.nightlife-timeline li{position:relative;z-index:1;text-align:center}
.nightlife-icon{display:grid;place-items:center;width:92px;height:92px;margin:0 auto;border:2px solid #caa45b;border-radius:50%;background:rgba(7,25,40,.92);color:#d8b66c;box-shadow:0 0 0 5px rgba(5,22,36,.52),inset 0 0 18px rgba(211,174,97,.08);font-family:var(--serif);font-size:33px;line-height:1}
.nightlife-icon img{display:block;width:58px;height:58px;object-fit:contain}
.nightlife-timeline strong{display:block;margin-top:19px;color:#d8b66c;font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:.08em}
.nightlife-timeline p{margin:8px 0 0;color:rgba(247,237,215,.9);font-family:var(--serif);font-size:18px;line-height:1.55;letter-spacing:.11em}

.parent-portal-section{position:relative;padding:46px 70px;background:linear-gradient(90deg,rgba(255,253,248,.96),rgba(248,240,226,.98)),#faf5ea;overflow:hidden}
.parent-portal-section::before,.parent-portal-section::after{content:"";position:absolute;width:240px;height:240px;opacity:.07;background:url("icons/suburb-icon.svg") center/contain no-repeat}
.parent-portal-section::before{left:-70px;top:-45px;transform:rotate(-18deg)}
.parent-portal-section::after{right:-70px;bottom:-60px;transform:rotate(158deg)}
.parent-portal-frame{position:relative;display:grid;grid-template-columns:190px 1fr;align-items:center;width:min(1180px,100%);min-height:330px;margin:0 auto;padding:32px 72px;border:1px solid rgba(185,142,67,.52);background:rgba(255,253,247,.48);box-shadow:inset 0 0 0 5px #f9f1e3,inset 0 0 0 6px rgba(185,142,67,.22)}
.parent-portal-frame::before,.parent-portal-frame::after{content:"";position:absolute;width:30px;height:30px;border-color:rgba(185,142,67,.55)}
.parent-portal-frame::before{top:13px;left:13px;border-top:1px solid;border-left:1px solid}
.parent-portal-frame::after{right:13px;bottom:13px;border-right:1px solid;border-bottom:1px solid}
.parent-key{display:grid;place-items:center;justify-self:center;width:112px;height:208px;color:#b68c44}
.parent-key::before{display:none}
.parent-key::after{display:none}
.parent-key img{display:block;width:104px;height:198px;object-fit:contain}
.parent-portal-content{text-align:center}
.parent-portal-kicker{color:#6c7680;font-size:16px;letter-spacing:.2em}
.parent-portal-content h2{margin:12px 0 0;color:#112b40;font-size:clamp(32px,3.1vw,46px);font-weight:400;letter-spacing:.12em}
.parent-portal-content>p{margin:14px 0 0;color:#657078;font-size:15px;line-height:1.9;letter-spacing:.08em}
.parent-portal-actions{display:flex;justify-content:center;gap:56px;margin-top:25px}
.parent-portal-actions a{display:inline-flex;align-items:center;justify-content:center;width:250px;height:52px;border:1px solid #19364c;font-size:17px;letter-spacing:.14em;transition:background .18s,color .18s,transform .18s}
.parent-portal-actions a:hover{transform:translateY(-2px)}
.parent-portal-primary{border-color:#7b1d29!important;background:#7b1d29;color:#fff8e8}
.parent-portal-primary:hover{background:#651520}
.parent-portal-secondary{background:transparent;color:#173248}
.parent-portal-secondary:hover{background:#173248;color:#fff8e8}
.parent-portal-content small{display:block;margin-top:20px;color:#88857e;font-size:12px;letter-spacing:.06em}
.parent-portal-content small span{color:#af843c}

.home-footer{position:relative;border-top:3px solid #bd9141;background:#061a31;color:#dcc18a;overflow:hidden}
.home-footer::before,.home-footer::after{content:"";position:absolute;bottom:-50px;width:220px;height:220px;opacity:.08;background:url("icons/suburb-icon.svg") center/contain no-repeat;filter:brightness(2)}
.home-footer::before{left:-48px}.home-footer::after{right:-48px;transform:scaleX(-1)}
.home-footer-inner{position:relative;display:grid;grid-template-columns:310px 1fr 330px;gap:54px;width:min(1460px,calc(100% - 120px));margin:0 auto;padding:48px 0 34px}
.home-footer-brand{display:grid;grid-template-columns:86px 1fr;align-content:start;column-gap:18px;padding-right:42px;border-right:1px solid rgba(210,177,108,.35)}
.home-footer-brand img{width:82px;height:96px;object-fit:contain}
.home-footer-brand strong,.home-footer-brand em{display:block;font-style:normal;font-weight:400}
.home-footer-brand strong{margin-top:9px;font-size:23px;letter-spacing:.1em}.home-footer-brand em{margin-top:8px;color:rgba(220,193,138,.72);font-size:13px;letter-spacing:.16em}
.home-footer-brand p{grid-column:1/-1;margin:27px 0 0;text-align:center;color:#d3b56f;font-size:16px;letter-spacing:.2em}
.home-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.home-footer-links>div{display:grid;align-content:start;gap:10px}
.home-footer-links strong,.home-footer-contact>strong{margin-bottom:4px;color:#d8b96f;font-size:15px;font-weight:400;letter-spacing:.12em}
.home-footer-links a{color:rgba(232,216,180,.68);font-size:13px;letter-spacing:.08em}
.home-footer-links a:hover{color:#f0d99b}
.home-footer-contact{display:grid;align-content:start;gap:11px;padding-left:46px;border-left:1px solid rgba(210,177,108,.35);color:rgba(232,216,180,.72);font-size:13px}
.home-footer-qr{display:flex;gap:28px;margin-top:10px}
.home-footer-qr>div{display:grid;justify-items:center;gap:7px}
.home-footer-qr i{display:block;width:68px;height:68px;border:5px solid #e8dcc0;background-color:#10243a;background-image:repeating-conic-gradient(#10243a 0 25%,#eee5cf 0 50%);background-size:12px 12px;box-shadow:inset 0 0 0 4px #e8dcc0}
.home-footer-qr small{color:rgba(232,216,180,.75);font-size:10px}
.home-footer-copyright{position:relative;margin:0;padding:16px 20px;border-top:1px solid rgba(210,177,108,.2);text-align:center;color:rgba(220,193,138,.56);font-size:11px;letter-spacing:.08em}

@media(max-width:1050px){.nightlife-inner,.home-footer-inner{width:min(100% - 48px,780px)}.nightlife-timeline{grid-template-columns:repeat(2,1fr);row-gap:42px}.nightlife-timeline::before{display:none}.parent-portal-frame{grid-template-columns:130px 1fr;padding:34px}.home-footer-inner{grid-template-columns:1fr 1fr}.home-footer-brand{border-right:0}.home-footer-links{grid-column:1/-1;grid-row:2}.home-footer-contact{border-left:1px solid rgba(210,177,108,.35)}}
@media(max-width:700px){.nightlife-inner{width:calc(100% - 32px);padding:42px 0}.nightlife-heading{margin-bottom:34px}.nightlife-timeline{grid-template-columns:repeat(2,1fr)}.nightlife-icon{width:72px;height:72px;font-size:25px}.nightlife-timeline strong{font-size:25px}.nightlife-timeline p{font-size:15px}.parent-portal-section{padding:30px 16px}.parent-portal-frame{grid-template-columns:1fr;padding:34px 22px}.parent-key{display:none}.parent-portal-actions{flex-direction:column;align-items:center;gap:12px}.parent-portal-actions a{width:min(100%,300px)}.home-footer-inner{grid-template-columns:1fr;width:calc(100% - 40px);padding-top:36px}.home-footer-brand{padding-right:0}.home-footer-contact{padding:26px 0 0;border-top:1px solid rgba(210,177,108,.3);border-left:0}.home-footer-links{grid-column:auto;grid-row:auto;grid-template-columns:repeat(2,1fr);gap:34px}.home-footer-qr{justify-content:flex-start}}


/* Ivory campus directory */
.campus-directory-page{background:#f8f2e6;color:#172b3a}
.campus-directory-page .site-header{background:#06172a;box-shadow:0 2px 0 rgba(194,151,69,.58)}
.campus-directory-main{min-height:100vh;padding-top:126px;background:radial-gradient(circle at 75% 15%,rgba(206,174,111,.13),transparent 28%),linear-gradient(90deg,#faf6ed,#f5eddf)}
.campus-directory{width:min(1500px,calc(100% - 96px));margin:0 auto;padding:48px 0 74px}
.campus-directory-breadcrumb{display:flex;align-items:center;gap:10px;color:#8a8881;font-size:14px;letter-spacing:.08em}
.campus-directory-breadcrumb a{color:inherit}.campus-directory-breadcrumb i{font-style:normal;color:#b49354}
.campus-directory-heading{margin-top:22px}
.campus-directory-heading>div{display:flex;align-items:center;gap:18px}
.campus-directory-heading h1{margin:0;color:#13293b;font-size:56px;font-weight:400;line-height:1.15;letter-spacing:.1em}
.campus-directory-heading>div>span:first-child{color:#c1984b;font-size:30px}
.campus-directory-heading>div>span:last-child{width:82px;height:1px;background:#c9a45f}
.campus-directory-heading p{margin:10px 0 0 64px;color:#667179;font-size:16px;letter-spacing:.13em}
.campus-directory-workspace{display:grid;grid-template-columns:390px minmax(0,1fr);gap:24px;align-items:stretch;margin-top:42px}

.directory-info-card{position:relative;display:flex;flex-direction:column;min-height:700px;padding:42px 38px 0;border:1px solid rgba(182,140,64,.6);background:rgba(255,252,246,.76);box-shadow:inset 0 0 0 5px #f7eddd,inset 0 0 0 6px rgba(182,140,64,.25)}
.directory-info-card::before,.directory-info-card::after{content:"";position:absolute;width:26px;height:26px;border-color:#bb9148}
.directory-info-card::before{top:12px;left:12px;border-top:1px solid;border-left:1px solid}
.directory-info-card::after{right:12px;bottom:12px;border-right:1px solid;border-bottom:1px solid}
.directory-info-category{color:#706c64;font-size:14px;letter-spacing:.12em}
.directory-info-card h2{margin:24px 0 0;color:#7b2530;font-size:42px;font-weight:400;letter-spacing:.1em}
.directory-info-rule{display:flex;align-items:center;gap:12px;margin:18px 0 26px}
.directory-info-rule::before,.directory-info-rule::after{content:"";height:1px;background:#b78c43}
.directory-info-rule::before{width:92px}.directory-info-rule::after{flex:1}
.directory-info-rule span{width:9px;height:9px;border:1px solid #b78c43;transform:rotate(45deg)}
.directory-info-card>p{min-height:110px;margin:0;color:#586269;font-size:15px;line-height:2;letter-spacing:.05em}
.directory-info-card dl{display:grid;gap:14px;margin:12px 0 0}
.directory-info-card dl>div{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:start}
.directory-info-card dt{color:#866d40;font-size:14px}.directory-info-card dd{margin:0;padding-left:16px;border-left:1px solid rgba(181,139,64,.34);color:#4f5b62;font-size:14px;line-height:1.7}
.directory-info-card>a{display:flex;align-items:center;justify-content:center;height:52px;margin-top:28px;border:1px solid #7d202b;border-radius:8px;background:#7d202b;color:#fff8e9;box-shadow:inset 0 0 0 3px #7d202b,inset 0 0 0 4px rgba(255,233,187,.5);font-size:17px;letter-spacing:.14em}
.directory-info-card>a:hover{background:#651721}
.directory-info-card>[data-directory-visit]{align-self:center;margin-top:14px;border:0;border-bottom:1px solid #9a7d48;padding:6px 3px;background:transparent;color:#80683c;font:inherit;font-size:13px;letter-spacing:.08em;cursor:pointer}
.directory-info-pager{display:grid;grid-template-columns:1fr 1fr;margin:28px -38px 0;border-top:1px solid rgba(181,139,64,.34)}
.directory-info-pager button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;min-height:88px;border:0;background:transparent;color:#5f5b54;text-align:left;cursor:pointer}
.directory-info-pager button+button{grid-template-columns:1fr auto;border-left:1px solid rgba(181,139,64,.34);text-align:right}
.directory-info-pager span{grid-row:1/3;align-self:center;color:#a47b35;font-size:34px}.directory-info-pager small{align-self:end;color:#978d7b}.directory-info-pager strong{align-self:start;font-weight:400}
.directory-info-pager button+button span{grid-column:2}.directory-info-pager button+button small,.directory-info-pager button+button strong{grid-column:1}

.directory-map-column{min-width:0;border:1px solid rgba(182,140,64,.55);background:rgba(255,252,246,.58);box-shadow:inset 0 0 0 5px #f7eddd}
.directory-map-frame{position:relative;margin:12px 12px 0;border:2px solid #b58b42;border-radius:17px;overflow:hidden;background:#071725;box-shadow:inset 0 0 0 4px rgba(255,239,196,.28)}
.directory-map-viewport{overflow:hidden}
.directory-map-stage{position:relative;transform-origin:center;transition:transform .22s ease}
.directory-map-stage>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.directory-marker{position:absolute;left:var(--x);top:var(--y);width:46px;height:56px;border:0;padding:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer;filter:drop-shadow(0 3px 4px rgba(0,0,0,.65))}
.directory-marker::before{content:"";position:absolute;left:6px;top:1px;width:34px;height:34px;border:2px solid #d3aa5e;border-radius:50% 50% 50% 4px;background:#172a39;transform:rotate(-45deg);transition:background .16s,box-shadow .16s}
.directory-marker span{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;margin:0 auto;color:#f2d797;font-size:16px;transition:color .16s}
.directory-marker:hover::before,.directory-marker:focus-visible::before{background:#6d2530}
.directory-marker.is-active::before{background:#812631;box-shadow:0 0 0 4px rgba(239,194,91,.32),0 0 18px 8px rgba(239,194,91,.55)}
.directory-marker.is-active span{color:#fff7d7;font-size:21px}
.directory-map-controls{position:absolute;right:12px;bottom:48px;display:grid;gap:4px}
.directory-map-controls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b48b45;border-radius:5px;background:#fffaf0;color:#6e5b37;font-size:24px;cursor:pointer}
.directory-map-hint{position:absolute;left:22px;bottom:15px;margin:0;color:#ecdcae;font-size:12px;letter-spacing:.06em}
.directory-map-hint span{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border:1px solid #d5ad62;border-radius:50%;color:#d5ad62}
.directory-map-legend{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:12px 22px 20px;border-top:1px solid rgba(181,139,64,.32)}
.directory-map-legend button{display:flex;align-items:center;gap:9px;min-height:54px;border:0;border-bottom:1px solid rgba(181,139,64,.25);background:transparent;color:#5a5c5b;text-align:left;cursor:pointer}
.directory-map-legend b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#9b7a40;color:#fff8e8;font-size:12px;font-weight:400}
.directory-map-legend span{font-size:12px;white-space:nowrap}
.directory-map-legend button.is-active{color:#812631}.directory-map-legend button.is-active b{background:#812631}

@media(max-width:1180px){.campus-directory{width:min(100% - 40px,920px)}.campus-directory-workspace{grid-template-columns:320px minmax(0,1fr)}.directory-info-card{padding-left:28px;padding-right:28px}.directory-info-pager{margin-left:-28px;margin-right:-28px}.directory-map-legend{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.campus-directory-main{padding-top:92px}.campus-directory{width:calc(100% - 24px);padding-top:34px}.campus-directory-heading h1{font-size:42px}.campus-directory-workspace{grid-template-columns:1fr}.directory-info-card{min-height:auto;order:2}.directory-map-column{order:1}.directory-map-legend{grid-template-columns:repeat(2,1fr)}.directory-info-card>p{min-height:0}.directory-map-controls{display:none}}


/* Keep map marker numbers optically centered inside the pin head. */
.directory-marker span{
  position:absolute;
  top:18px;
  left:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin:0;
  transform:translate(-50%,-50%);
  font-family:Georgia,"Times New Roman",serif;
  font-variant-numeric:tabular-nums;
  line-height:1;
  letter-spacing:0;
}


/* Distribute the directory information evenly through the full card height. */
.directory-info-card{
  justify-content:space-between;
  gap:14px;
  padding-top:36px;
}
.directory-info-card h2{margin:0}
.directory-info-rule{margin:0}
.directory-info-card>p{min-height:0;margin:0}
.directory-info-card dl{margin:0}
.directory-info-card>a{margin-top:0}
.directory-info-card>[data-directory-visit]{margin-top:0}
.directory-info-pager{margin-top:0;margin-bottom:0}
@media(max-width:850px){
  .directory-info-card{justify-content:flex-start;gap:20px}
}


/* Long-form academy introduction */
.about-page{background:#f7f0e4;color:#1a3040}

.about-main{padding-top:120px}
.about-hero{position:relative;min-height:650px;background:url("yuehua-campus-hero.png") center 52%/cover no-repeat;color:#f6ead0;overflow:hidden}
.about-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,29,.9) 0,rgba(3,16,29,.62) 42%,rgba(3,16,29,.12) 76%),linear-gradient(180deg,rgba(2,12,22,.18),rgba(2,12,22,.46))}
.about-hero-inner{position:relative;z-index:1;width:min(1440px,calc(100% - 100px));margin:0 auto;padding-top:90px}
.about-crumb{color:#d1b46e;font-size:14px;letter-spacing:.1em}
.about-hero-inner>span{display:block;margin-top:28px;color:#bc9851;font-family:Georgia,serif;font-size:15px;letter-spacing:.15em}
.about-hero h1{margin:30px 0 0;color:#f7ead0;font-size:72px;font-weight:400;line-height:1.1;letter-spacing:.1em}
.about-hero p{margin:24px 0 0;color:#e5cf9e;font-size:20px;letter-spacing:.12em}

.about-story{padding:64px 50px;background:linear-gradient(90deg,#faf5eb,#f6edde)}
.about-story-inner{display:grid;grid-template-columns:1.05fr .95fr 210px;gap:48px;align-items:center;width:min(1420px,100%);margin:0 auto}
.about-story article h2{margin:0 0 28px;color:#223848;font-size:34px;font-weight:400;letter-spacing:.08em}
.about-story article p{margin:0 0 18px;color:#657078;font-size:15px;line-height:2;letter-spacing:.04em}
.about-story figure{margin:0}
.about-story figure img{display:block;width:100%;height:430px;border:1px solid #b9904b;object-fit:cover;object-position:center;box-shadow:0 0 0 7px #f7eddd,0 0 0 8px rgba(185,144,74,.45)}
.about-story figcaption{margin-top:17px;text-align:center;color:#8c7a59;font-size:13px;letter-spacing:.14em}
.about-story blockquote{margin:0;color:#2f3d44;font-family:var(--serif);font-size:34px;line-height:1.8;letter-spacing:.14em;writing-mode:vertical-rl}
.about-story blockquote::before,.about-story blockquote::after{color:#b48b43;font-size:44px}.about-story blockquote::before{content:"“"}.about-story blockquote::after{content:"”"}

.about-mission{padding:12px 70px 46px;background:linear-gradient(180deg,#071b31,#06172b);color:#e7d19f}
.about-section-title{text-align:center}.about-section-title>span{color:#c19a52;font-size:14px;letter-spacing:.18em}.about-section-title h2{margin:18px 0 0;color:#d9ba72;font-size:30px;font-weight:400;letter-spacing:.12em}.about-mission .about-section-title>span{display:flex;align-items:center;justify-content:center;width:540px;max-width:90%;height:20px;margin:0 auto;color:#c19a52;font-size:0;background:linear-gradient(90deg,rgba(193,154,82,.5) 0 43%,transparent 43% 57%,rgba(193,154,82,.5) 57% 100%) center/100% 1px no-repeat}.about-mission .about-section-title>span::before{content:"✦";font-size:13px}.about-mission .about-section-title h2{margin-top:6px}
.about-mission-grid{display:grid;grid-template-columns:repeat(3,1fr);width:min(1120px,100%);margin:60px auto 0}
.about-mission-grid article{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 16px;min-height:150px;padding:0 65px;border-right:1px dashed rgba(215,179,104,.55)}
.about-mission-grid article:last-child{border-right:0}.about-mission-grid b{grid-row:1/3;color:#c29c54;font-size:26px;font-weight:400}.about-mission-grid h3{margin:0;color:#d8b96f;font-size:23px;font-weight:400;letter-spacing:.1em}.about-mission-grid img{width:54px;height:54px;object-fit:contain}.about-mission-grid p{grid-column:1/-1;margin:16px 0 0;color:rgba(231,209,159,.72);font-size:13px;text-align:center}

.about-facts{padding:54px 60px 64px;background:#f8f1e5}
.about-section-title.dark h2{color:#22384a}
.about-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);width:min(1320px,100%);margin:42px auto 0}
.about-facts-grid article{padding:0 42px;border-right:1px solid rgba(181,139,64,.35);text-align:center}.about-facts-grid article:last-child{border-right:0}
.about-facts-grid img{display:block;width:60px;height:60px;margin:0 auto;object-fit:contain}.about-facts-grid h3{margin:16px 0 0;color:#273b48;font-size:21px;font-weight:400;letter-spacing:.1em}.about-facts-grid p{margin:16px 0 0;color:#737a7b;font-size:13px;line-height:1.9}

.about-why{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:#f8f0e2}
.about-why-image{min-height:610px;background:url("yuehua-campus-hero-original-center.png") 42% center/cover no-repeat;filter:sepia(.18) brightness(.72)}
.about-why article{padding:62px 44px;background:linear-gradient(90deg,rgba(252,248,239,.97),rgba(247,238,223,.96))}
.about-why h2{margin:0 0 16px;color:#263947;font-size:35px;font-weight:400;letter-spacing:.1em}.about-why h2::after{content:"✦";display:flex;align-items:center;justify-content:center;width:350px;max-width:100%;height:20px;margin-top:13px;color:#b58a45;font-size:13px;line-height:1;background:linear-gradient(90deg,rgba(181,138,69,.55) 0 43%,transparent 43% 57%,rgba(181,138,69,.55) 57% 100%) center/100% 1px no-repeat}
.about-why article>div{display:grid;grid-template-columns:52px 1fr;column-gap:18px;margin-top:26px}
.about-why article img{grid-row:1/3;width:68px;height:68px;margin-left:-8px;object-fit:contain}.about-why h3{margin:0;color:#756448;font-size:19px;font-weight:400;letter-spacing:.08em}.about-why article p{margin:8px 0 0;color:#707878;font-size:14px;line-height:1.8}

.about-night{padding:48px 48px 65px;background:linear-gradient(180deg,#071a31,#06162a)}
.about-night-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;width:min(1380px,100%);margin:36px auto 0}
.about-night figure{margin:0}.about-night figure img{display:block;width:100%;height:240px;border:1px solid rgba(202,164,91,.7);object-fit:cover}
.about-night figure:nth-child(1) img{object-position:12% 55%}.about-night figure:nth-child(2) img{object-position:52% 48%}.about-night figure:nth-child(3) img{object-position:50% 65%}.about-night figure:nth-child(4) img{object-position:88% 55%}
.about-night figcaption{text-align:center}.about-night h3{margin:18px 0 0;color:#d3af65;font-size:20px;font-weight:400;letter-spacing:.12em}.about-night p{margin:10px 0 0;color:rgba(230,215,181,.65);font-size:13px;line-height:1.75}

.about-next{padding:52px 60px 58px;background:#f8f1e5;text-align:center}
.about-next-links{display:grid;grid-template-columns:repeat(3,1fr);width:min(1120px,100%);margin:34px auto 0;border:1px solid rgba(181,139,64,.48);box-shadow:inset 0 0 0 5px #f5ead9}
.about-next-links a{display:flex;align-items:center;gap:14px;height:74px;padding:0 30px;border-right:1px solid rgba(181,139,64,.35);color:#5c6263;font-size:16px;letter-spacing:.08em}.about-next-links a:last-child{border-right:0}.about-next-links img{width:42px;height:42px;object-fit:contain}.about-next-links b{margin-left:auto;color:#a47b34;font-size:27px;font-weight:400}.about-next-links a.primary{margin:9px;border:0;background:#7c202b;color:#fff5df;height:56px}.about-next-links a.primary img{filter:brightness(1.6)}.about-next-links a.primary b{color:#f2d696}
.about-next>p{margin:20px 0 0;color:#9a8d75;font-size:12px;letter-spacing:.06em}

@media(max-width:1050px){.about-story-inner{grid-template-columns:1fr 1fr}.about-story blockquote{grid-column:1/-1;justify-self:center;writing-mode:horizontal-tb}.about-mission-grid article{padding:0 30px}.about-facts-grid{grid-template-columns:repeat(2,1fr);row-gap:42px}.about-facts-grid article:nth-child(2){border-right:0}.about-night-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.about-main{padding-top:88px}.about-hero{min-height:520px}.about-hero-inner{width:calc(100% - 40px);padding-top:70px}.about-hero h1{font-size:50px}.about-story{padding:44px 22px}.about-story-inner{grid-template-columns:1fr}.about-story figure img{height:340px}.about-story blockquote{font-size:27px}.about-mission{padding:44px 22px}.about-mission-grid{grid-template-columns:1fr;gap:30px}.about-mission-grid article{border-right:0;border-bottom:1px dashed rgba(215,179,104,.45);padding:0 20px 26px}.about-facts{padding:44px 22px}.about-facts-grid{grid-template-columns:1fr}.about-facts-grid article,.about-facts-grid article:nth-child(2){border-right:0;border-bottom:1px solid rgba(181,139,64,.3);padding:0 15px 28px}.about-why{grid-template-columns:1fr}.about-why-image{min-height:360px}.about-why article{padding:44px 26px}.about-night{padding:42px 20px}.about-night-grid{grid-template-columns:1fr}.about-next{padding:44px 18px}.about-next-links{grid-template-columns:1fr}.about-next-links a{border-right:0;border-bottom:1px solid rgba(181,139,64,.35)}}

/* Campus architecture editorial page */
.architecture-page{margin:0;background:#071728;color:#172537;font-family:var(--serif);letter-spacing:0}
.architecture-page{overflow:hidden}
.arch-wrap{width:min(1180px,calc(100% - 64px));margin:0 auto}
.arch-hero{position:relative;min-height:calc(100vh - 118px);background:url("assets/architecture/hero.png") center/cover no-repeat;display:flex;align-items:flex-end;color:#f3ead8}
.arch-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,29,.93) 0%,rgba(4,17,29,.64) 34%,rgba(4,17,29,.08) 72%),linear-gradient(0deg,rgba(2,13,23,.42),transparent 45%)}
.arch-hero-copy{position:relative;z-index:1;padding:0 0 92px}
.arch-crumb,.arch-eyebrow{margin:0 0 18px;color:#c59c52;font:600 13px/1.6 Georgia,var(--serif);letter-spacing:2px}
.arch-hero h1{margin:0;font-size:clamp(58px,7vw,102px);font-weight:400;line-height:1.05}
.arch-lead{max-width:700px;margin:22px 0 0;font-size:22px;line-height:1.7;color:#e4d9c4}
.arch-scroll{display:flex;flex-direction:column;gap:10px;width:max-content;margin-top:48px;color:#d0ab64;font-size:15px;letter-spacing:4px;text-decoration:none}
.arch-scroll span{font-size:27px}
.arch-paper{background:#f4eddf;color:#203040;background-image:radial-gradient(rgba(152,121,70,.08) .6px,transparent .6px);background-size:5px 5px}
.arch-story{padding:86px 0}
.arch-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,1.2fr) 110px;gap:42px;align-items:center}
.arch-story-copy h2,.arch-section-heading h2{margin:0;color:#17283a;font-size:42px;font-weight:400;line-height:1.35}
.arch-story-copy>p{margin:22px 0 0;color:#5f5a51;font-size:16px;line-height:2}
.arch-story-copy blockquote{margin:30px 0 0;padding:20px 0 20px 24px;border-left:2px solid #b98f49;color:#9c7436;font-size:22px;line-height:1.7}
.arch-story-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px;padding-top:24px;border-top:1px solid #d2c2a7}
.arch-story-features span{color:#777064;font-size:12px;line-height:1.7}
.arch-story-features b{display:block;margin-bottom:5px;color:#9c7436;font-size:14px}
.arch-elevation{margin:0}
.arch-elevation img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #c9b693}
.arch-elevation figcaption{margin-top:12px;text-align:center;color:#827665;font-size:13px}
.arch-vertical-quote{color:#2d3740;font-size:18px;line-height:2.2;text-align:center;writing-mode:vertical-rl}
.arch-vertical-quote strong{font-size:23px;font-weight:400}
.arch-principles,.arch-timeline,.arch-night{padding:64px 0;background:#071b31;color:#e9dfcc}
.arch-section-heading{display:flex;align-items:center;gap:22px;margin-bottom:36px}
.arch-section-heading span{height:1px;flex:1;background:#b9924d}
.arch-section-heading h2{white-space:nowrap;font-size:34px}
.arch-section-heading-dark{justify-content:center}
.arch-section-heading-dark h2{color:#d5b46f}
.arch-section-heading-dark span{max-width:250px}
.arch-principle-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.arch-principle-grid article{min-height:142px;padding:10px 32px;text-align:center;border-right:1px solid rgba(204,170,102,.35)}
.arch-principle-grid article:last-child{border-right:0}
.arch-principle-grid b{color:#c59c52;font-size:20px}
.arch-principle-grid i{display:block;margin:9px 0;color:#c59c52;font-size:26px;font-style:normal}
.arch-principle-grid h3{margin:0;color:#e7dcc7;font-size:19px;font-weight:400}
.arch-principle-grid p{margin:8px 0 0;color:#9fa7a9;font-size:13px}
.arch-landmarks{padding:76px 0 92px}
.arch-gallery{display:grid;grid-template-columns:1.45fr .75fr .75fr;grid-template-rows:230px 190px;gap:20px}
.arch-tile{position:relative;margin:0;overflow:hidden;background:#102238}
.arch-tile-main{grid-row:span 2}
.arch-tile-library{grid-row:span 2}
.arch-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.arch-tile:hover img{transform:scale(1.025)}
.arch-tile figcaption{position:absolute;inset:auto 0 0;padding:42px 18px 16px;background:linear-gradient(transparent,rgba(3,13,23,.88));color:#fff}
.arch-tile figcaption b,.arch-tile figcaption span{display:block}
.arch-tile figcaption b{font-size:17px;font-weight:400}
.arch-tile figcaption span{margin-top:4px;color:#d2c8b5;font-size:12px}
.arch-inline-link{display:block;width:max-content;margin:28px 0 0 auto;color:#82632f;text-decoration:none;border-bottom:1px solid #b8975d;padding-bottom:4px}
.arch-materials{padding:76px 0;background-color:#eee3d1}
.arch-material-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:stretch}
.material-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.material-swatches figure{margin:0}
.material-swatches span{display:block;height:150px;border:1px solid #c6b18e;background-size:cover;background-position:center}
.material-swatches .stone span{background-image:url("assets/architecture/hero.png");background-position:36% 58%}
.material-swatches .brass span{background:linear-gradient(110deg,#80602d,#d2ad61,#8b652d)}
.material-swatches .glass span{background-image:url("assets/architecture/glass-bridge.png");background-position:60% center}
.material-swatches .wood span{background-image:url("assets/architecture/library-interior.png");background-position:20% center}
.material-swatches figcaption{padding-top:10px;color:#716758;font-size:11px;line-height:1.6}
.material-swatches b{display:block;color:#2a3540;font-size:14px}
.arch-material-note{margin-top:34px;color:#766c5c;line-height:1.8}
.arch-corridor{margin:0;display:flex;flex-direction:column}
.arch-corridor img{display:block;width:100%;height:420px;object-fit:cover}
.arch-corridor figcaption{padding-top:10px;color:#786c59;text-align:right;font-size:12px}
.arch-timeline ol{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none;border-top:1px solid #b78e48}
.arch-timeline li{position:relative;padding:30px 30px 0;text-align:center}
.arch-timeline li::before{content:"";position:absolute;top:-6px;left:50%;width:11px;height:11px;border:2px solid #c9a052;border-radius:50%;background:#071b31;transform:translateX(-50%)}
.arch-timeline b{color:#c9a052;font-size:14px}
.arch-timeline h3{margin:12px 0 8px;color:#eadfca;font-size:18px;font-weight:400}
.arch-timeline p{margin:0;color:#9ca5a8;font-size:13px;line-height:1.7}
.arch-safety{padding:76px 0}
.arch-safety-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:50px;align-items:center}
.arch-route-map{position:relative;height:390px;overflow:hidden;border:1px solid #c9b693;background:#e7dcc8}
.arch-route-map img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.8);opacity:.32}
.route-line{position:absolute;height:4px;background:#801d2d;transform-origin:left;border-radius:0}
.route-one{width:42%;left:18%;top:58%;transform:rotate(-18deg)}
.route-two{width:34%;left:47%;top:44%;transform:rotate(27deg)}
.route-label{position:absolute;padding:8px 12px;border:1px solid #9e7c43;background:rgba(248,241,228,.92);color:#6b2230;font-size:12px;font-weight:400}
.route-visitor{left:5%;bottom:20%}
.route-student{right:5%;top:17%}
.arch-safety-list article{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid #d5c5aa}
.arch-safety-list i{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b08c4d;color:#9a7537;font-style:normal;font-size:22px}
.arch-safety-list h3{margin:0;color:#263442;font-size:18px;font-weight:400}
.arch-safety-list p{margin:7px 0 0;color:#71695f;font-size:13px;line-height:1.75}
.arch-night{padding-bottom:76px}
.arch-life-strip{margin:0;overflow:hidden}
.arch-life-strip img{display:block;width:100%;aspect-ratio:4/1;object-fit:cover}
.arch-life-captions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.arch-life-captions span{padding:0 14px;color:#aeb3b1;font-size:12px;line-height:1.7;text-align:center}
.arch-life-captions b{display:block;color:#d4b16a;font-size:16px;font-weight:400}
.arch-visit{position:relative;min-height:390px;display:grid;place-items:center;background:#061629;overflow:hidden}
.arch-visit-backdrop{position:absolute;inset:0;background:linear-gradient(rgba(3,15,27,.45),rgba(3,15,27,.58)),url("assets/architecture/hero.png") center 62%/cover no-repeat}
.arch-visit-panel{position:relative;width:min(680px,calc(100% - 40px));padding:36px 48px;border:1px solid #b89455;background:rgba(246,239,226,.95);color:#17283a;text-align:center}
.arch-visit-panel p{margin:0;color:#a17a3a}
.arch-visit-panel h2{margin:12px 0 26px;font-size:24px;font-weight:400}
.arch-visit-panel>div{display:flex;justify-content:center;gap:16px}
.arch-visit-panel a{min-width:180px;padding:13px 18px;border:1px solid #8a7148;color:#203247;text-decoration:none}
.arch-visit-panel a.primary{border-color:#741829;background:#741829;color:#f6ebd8}
.arch-visit-panel small{display:block;margin-top:18px;color:#857b6b}
.arch-footer{padding:42px 0 20px;background:#06172b;color:#c9b487;border-top:2px solid #b48b43}
.arch-footer-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:34px}
.arch-footer-grid>div{display:flex;flex-direction:column;gap:7px}
.arch-footer-grid b{margin-bottom:5px;color:#d0ad64}
.arch-footer-grid a,.arch-footer-grid span{color:#9eaaad;text-decoration:none;font-size:12px}
.arch-footer-brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:#d7ba7b}
.arch-footer-brand .crest{width:78px;height:92px;flex:0 0 auto}
.arch-footer-brand b,.arch-footer-brand em,.arch-footer-brand small{display:block}
.arch-footer-brand b{font-size:23px;font-weight:400}
.arch-footer-brand em{margin-top:6px;font-style:normal}
.arch-footer-brand small{margin-top:16px;color:#b99b61}
.arch-footer>p{width:min(1180px,calc(100% - 64px));margin:28px auto 0;padding-top:16px;border-top:1px solid rgba(189,157,94,.25);color:#74838a;text-align:center;font-size:11px}
@media (max-width:1000px){
  .arch-story-grid{grid-template-columns:1fr 1fr}.arch-vertical-quote{display:none}
  .arch-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.arch-tile-main{grid-row:auto;grid-column:span 2}.arch-tile-library{grid-row:auto}
  .arch-material-grid,.arch-safety-grid{grid-template-columns:1fr}.arch-footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}
}
@media (max-width:700px){
  .arch-wrap{width:min(100% - 34px,1180px)}
  .arch-hero{min-height:660px;background-position:58% center}.arch-hero-copy{padding-bottom:58px}.arch-hero h1{font-size:56px}.arch-lead{font-size:17px}
  .arch-story{padding:58px 0}.arch-story-grid{grid-template-columns:1fr}.arch-story-copy h2{font-size:32px}.arch-story-features{grid-template-columns:1fr 1fr}
  .arch-principle-grid{grid-template-columns:1fr 1fr}.arch-principle-grid article{border-bottom:1px solid rgba(204,170,102,.25)}
  .arch-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:none}.arch-tile,.arch-tile-main,.arch-tile-library{grid-column:auto;grid-row:auto;height:220px}
  .material-swatches{grid-template-columns:1fr 1fr}.arch-corridor img{height:300px}
  .arch-timeline ol{grid-template-columns:1fr 1fr;gap:28px 0}.arch-timeline li{padding-inline:14px}
  .arch-route-map{height:290px}.arch-life-captions{grid-template-columns:1fr 1fr}.arch-life-strip img{aspect-ratio:2/1;object-fit:cover}
  .arch-visit-panel{padding:30px 20px}.arch-visit-panel>div{flex-direction:column}.arch-visit-panel a{min-width:0}
  .arch-footer-grid{grid-template-columns:1fr 1fr}.arch-footer-brand{grid-column:span 2}
}/* Fees and scholarships editorial page */
.fees-page{background:#f5efe3;color:#15283a}
.fees-page .site-header{background:#06192c;color:#ead7a5;border-bottom-color:#b98b3c}
.fees-page .nav-trigger[aria-current="page"]{color:#f2dfaa}
.fees-page .dropdown-menu .is-current{color:#fff;background:rgba(155,113,43,.18)}
.fees-main{padding-top:104px;background:
  radial-gradient(circle at 15% 22%,rgba(197,159,91,.08),transparent 22%),
  linear-gradient(90deg,rgba(255,255,255,.2),transparent 34%,rgba(255,255,255,.16)),#f5efe3}
.fees-shell{width:min(1180px,calc(100% - 72px));margin-inline:auto}
.fees-hero{position:relative;min-height:300px;overflow:hidden;border-bottom:1px solid rgba(170,128,56,.28);background:#f6f0e4 url("assets/fees/fees-campus-linework.png") right center/auto 100% no-repeat}
.fees-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f6f0e4 0%,rgba(246,240,228,.95) 38%,rgba(246,240,228,.28) 72%,rgba(246,240,228,0) 100%)}
.fees-hero .fees-shell{position:relative;z-index:1;padding-top:42px}
.fees-breadcrumb{display:flex;align-items:center;gap:12px;color:#84745f;font-size:13px;letter-spacing:.14em}
.fees-breadcrumb span:first-child{font-size:15px}
.fees-hero h1{margin:42px 0 16px;font-family:"Noto Serif SC","Songti SC",serif;font-size:54px;font-weight:500;letter-spacing:.12em}
.fees-lead{margin:0;color:#5e6570;font-size:18px;letter-spacing:.13em}
.fees-disclaimer{display:flex;align-items:center;gap:10px;margin:24px 0 0;color:#786d5e;font-size:13px}
.fees-feature{padding:36px 0 18px}
.fees-feature-frame{position:relative;display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;min-height:390px;padding:38px 56px;border:2px solid #b58a42;outline:1px solid rgba(181,138,66,.55);outline-offset:-9px;color:#ead8a8;background:
  radial-gradient(circle at 68% 15%,rgba(86,126,164,.18),transparent 30%),
  linear-gradient(135deg,#04182d,#06223b 58%,#031729);box-shadow:0 12px 30px rgba(43,32,15,.14)}
.fees-feature-frame::before,.fees-feature-frame::after{content:"◆";position:absolute;color:#c59a4e;font-size:15px}
.fees-feature-frame::before{top:16px;left:17px}.fees-feature-frame::after{right:17px;bottom:16px}
.fees-feature-emblem{display:flex;align-items:center;justify-content:center;padding-right:36px;border-right:1px solid rgba(209,174,105,.35)}
.fees-feature-emblem img{display:block;width:220px;height:220px;object-fit:cover;border-radius:50%;mix-blend-mode:screen}
.fees-feature-copy{padding-left:46px}
.fees-label{display:inline-block;padding:7px 18px;border:1px solid rgba(202,161,87,.45);color:#cda858;font-size:14px;letter-spacing:.18em}
.fees-feature h2{margin:18px 0 10px;color:#f2d47f;font-family:"Noto Serif SC","Songti SC",serif;font-size:32px;font-weight:500;letter-spacing:.08em}
.fees-feature-copy>p{max-width:760px;margin:0;color:rgba(238,221,177,.76);font-size:15px;line-height:1.9}
.fees-feature-benefits{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0 24px}
.fees-feature-benefits>div{display:flex;align-items:center;gap:14px;padding:0 25px;border-right:1px solid rgba(208,171,97,.34)}
.fees-feature-benefits>div:first-child{padding-left:0}.fees-feature-benefits>div:last-child{border-right:0}
.fees-feature-benefits span{color:#d7ab59;font-size:31px}.fees-feature-benefits b{font-weight:400;line-height:1.55}.fees-feature-benefits strong{color:#f2d47f;font-size:17px;font-weight:500}
.fees-primary-button,.fees-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;border:1px solid #a97932;font-size:14px;letter-spacing:.14em;transition:background .2s,color .2s,transform .2s}
.fees-primary-button{color:#fff4df;background:#781a27;box-shadow:inset 0 0 0 2px rgba(255,224,164,.12)}
.fees-primary-button:hover{background:#901f30;transform:translateY(-1px)}
.fees-outline-button{color:#744925;background:rgba(255,255,255,.28)}
.fees-outline-button:hover{color:#fff;background:#816020}
.fees-feature .fees-primary-button{min-width:250px}
.fees-feature-copy small{display:block;margin-top:15px;color:rgba(234,216,168,.56);font-size:12px}
.fees-section{padding:44px 0 10px}
.fees-section-title{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.fees-section-title::before{content:"◇";color:#b0843a}
.fees-section-title h2{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:28px;font-weight:500;letter-spacing:.12em}
.fees-section-title span{height:1px;flex:1;background:linear-gradient(90deg,rgba(176,132,58,.55),transparent)}
.fees-table-wrap{overflow-x:auto;border:1px solid rgba(172,126,50,.33);background:rgba(255,252,245,.58)}
.fees-table{width:100%;border-collapse:collapse;min-width:760px;font-size:14px}
.fees-table th,.fees-table td{height:56px;padding:12px 24px;border-right:1px solid rgba(173,130,61,.24);border-bottom:1px solid rgba(173,130,61,.24);text-align:left;font-weight:400}
.fees-table tr:last-child>*{border-bottom:0}.fees-table tr>*:last-child{border-right:0}
.fees-table th{color:#304050}.fees-composition-table th{width:230px}.fees-composition-table td:last-child{width:210px;color:#726b62}
.fees-table th span{display:inline-flex;width:28px;color:#a57d38;font-size:18px}
.fees-table th:has(.fees-table-icon){display:flex;align-items:center;gap:12px}
.fees-table-icon{display:block;flex:0 0 auto;width:27px;height:27px;object-fit:contain}
.fees-table-icon-large{width:34px;height:34px}
.fees-section>.fees-outline-button{margin-top:20px}
.fees-support-table thead th{text-align:center;background:rgba(221,199,151,.2)}
.fees-support-table tbody th{min-width:230px}.fees-support-table tbody td{text-align:center}
.fees-support-table .is-highlight{background:rgba(222,196,137,.16)}
.fees-support-table b{display:inline-block;margin-left:10px;padding:6px 14px;border-radius:18px;color:#fff1d2;background:#7f1d2a;font-weight:400}
.fees-assessment{margin-top:55px;padding:50px 0;color:#dfc58a;background:
  radial-gradient(circle at 50% 0,rgba(46,86,122,.18),transparent 50%),
  linear-gradient(110deg,#04172b,#06223b 52%,#03172a)}
.fees-dark-title{text-align:center}.fees-dark-title h2{display:inline-flex;align-items:center;gap:28px;margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:27px;font-weight:400;letter-spacing:.18em}
.fees-dark-title h2::before,.fees-dark-title h2::after{content:"";width:170px;height:1px;background:linear-gradient(90deg,transparent,#b98b3e)}
.fees-dark-title h2::after{transform:scaleX(-1)}
.fees-assessment-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:45px 0 32px;padding:0;list-style:none}
.fees-assessment-steps::before{content:"";position:absolute;top:25px;left:12%;right:12%;border-top:1px solid #bd9147}
.fees-assessment-steps li{position:relative;display:grid;justify-items:center;gap:14px;font-size:15px;letter-spacing:.12em}
.fees-assessment-steps b{z-index:1;display:grid;place-items:center;width:50px;height:50px;border:1px solid #c29446;border-radius:50%;color:#d7ad60;background:#061d34;font-size:16px;font-weight:400}
.fees-dimensions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin:0 auto 20px}
.fees-dimensions strong{margin-right:12px;font-weight:400}.fees-dimensions span{padding:7px 18px;border:1px solid rgba(190,144,70,.5);border-radius:3px;color:#d9c28e;font-size:13px}
.fees-assessment .fees-shell>p{text-align:center;color:rgba(229,209,162,.68);font-size:13px}
.fees-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(170,128,56,.3);border-bottom:1px solid rgba(170,128,56,.3)}
.fees-payment-grid article{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:34px 32px;border-right:1px solid rgba(170,128,56,.3)}
.fees-payment-grid article:last-child{border-right:0}.fees-payment-grid>article>span{color:#af8137;font-size:33px}
.fees-payment-grid h3{margin:0 0 12px;font-size:20px;font-weight:500;letter-spacing:.1em}.fees-payment-grid p{min-height:56px;margin:0;color:#777067;font-size:13px;line-height:1.75}
.fees-payment-grid a{display:inline-block;margin-top:18px;padding-bottom:4px;border-bottom:1px solid #9a7f53;color:#40586e;font-size:13px}
.fees-faq{padding-bottom:44px}.fees-faq details{border-bottom:1px solid rgba(171,130,60,.3)}
.fees-faq summary{position:relative;padding:18px 56px 18px 48px;cursor:pointer;list-style:none;font-size:15px;letter-spacing:.06em}
.fees-faq summary::-webkit-details-marker{display:none}.fees-faq summary::before{content:"+";position:absolute;left:6px;top:14px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #b58b47;border-radius:50%;color:#a37835}
.fees-faq details[open] summary::before{content:"−"}.fees-faq details p{margin:0;padding:0 56px 20px 48px;color:#7a7369;font-size:13px;line-height:1.8}
.fees-consult{position:relative;display:grid;justify-items:center;margin-bottom:50px;padding:34px 70px;border:3px double rgba(171,127,55,.56);text-align:center;background:rgba(255,252,245,.66)}
.fees-consult::before,.fees-consult::after{content:"☾";position:absolute;bottom:20px;color:rgba(176,132,58,.18);font-size:72px}.fees-consult::before{left:32px}.fees-consult::after{right:32px;transform:scaleX(-1)}
.fees-consult h2{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:27px;font-weight:500;letter-spacing:.13em}.fees-consult p{margin:12px 0;color:#777067;font-size:13px}
.fees-consult-actions{display:flex;gap:24px;margin:20px 0 14px}.fees-consult-actions a{min-width:235px}.fees-consult small{color:#887d6e}
@media(max-width:980px){
  .fees-shell{width:min(100% - 36px,760px)}
  .fees-feature-frame{grid-template-columns:190px minmax(0,1fr);padding:34px}.fees-feature-emblem img{width:170px;height:170px}.fees-feature-copy{padding-left:30px}.fees-feature h2{font-size:26px}
  .fees-feature-benefits{grid-template-columns:1fr}.fees-feature-benefits>div{padding:10px 0;border-right:0;border-bottom:1px solid rgba(208,171,97,.25)}.fees-feature-benefits>div:last-child{border-bottom:0}
  .fees-payment-grid{grid-template-columns:1fr}.fees-payment-grid article{border-right:0;border-bottom:1px solid rgba(170,128,56,.3)}.fees-payment-grid article:last-child{border-bottom:0}
}
@media(max-width:700px){
  .fees-shell{width:calc(100% - 36px);max-width:760px}
  .fees-feature-frame,.fees-feature-copy{width:100%;min-width:0}
  .fees-feature-frame{overflow:hidden}
  .fees-feature h2{overflow-wrap:anywhere}
  .fees-table-wrap{max-width:100%}
  .fees-main{padding-top:88px}.fees-hero{min-height:340px;background-position:64% center;background-size:auto 88%}.fees-hero::after{background:linear-gradient(90deg,#f6f0e4 0%,rgba(246,240,228,.93) 60%,rgba(246,240,228,.3))}
  .fees-hero .fees-shell{padding-top:30px}.fees-hero h1{margin-top:50px;font-size:39px}.fees-lead{max-width:290px;font-size:15px;line-height:1.8}.fees-disclaimer{max-width:300px;line-height:1.6}
  .fees-feature{padding-top:24px}.fees-feature-frame{grid-template-columns:1fr;padding:34px 24px}.fees-feature-emblem{padding:0 0 24px;border-right:0;border-bottom:1px solid rgba(209,174,105,.35)}.fees-feature-copy{padding:26px 0 0}.fees-feature h2{font-size:24px;line-height:1.55}.fees-feature .fees-primary-button{width:100%;min-width:0}
  .fees-section{padding-top:36px}.fees-section-title h2{font-size:24px}.fees-section-title{gap:12px}
  .fees-dark-title h2{font-size:22px}.fees-dark-title h2::before,.fees-dark-title h2::after{width:42px}.fees-assessment-steps{grid-template-columns:repeat(2,1fr);gap:30px}.fees-assessment-steps::before{display:none}
  .fees-payment-grid article{padding:28px 18px}.fees-consult{padding:32px 22px}.fees-consult-actions{width:100%;flex-direction:column;gap:12px}.fees-consult-actions a{width:100%;min-width:0}.fees-consult::before,.fees-consult::after{display:none}
}
/* Fees page fidelity pass: ornamental assets and reference proportions */
.fees-page{--fees-navy:#061b31;--fees-navy-deep:#031426;--fees-gold:#b8893d;--fees-paper:#faf5ea;--fees-wine:#811c2b}
.fees-main{background-color:var(--fees-paper);background-image:radial-gradient(circle at 18% 17%,rgba(185,137,61,.07),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.38),transparent 36%,rgba(255,255,255,.2))}
.fees-hero{min-height:286px;background-color:#faf5ea;background-size:auto 108%;background-position:right 54%}
.fees-hero::after{background:linear-gradient(90deg,#faf5ea 0%,rgba(250,245,234,.97) 39%,rgba(250,245,234,.72) 57%,rgba(250,245,234,.08) 87%)}
.fees-hero h1{margin-top:38px;font-size:51px;color:#10283c}
.fees-lead{color:#4f5d68}.fees-disclaimer{margin-top:22px}
.fees-disclaimer span{display:grid;place-items:center;width:18px;height:18px;border:1px solid #89765b;border-radius:50%;font-size:0}
.fees-disclaimer span::after{content:"i";font:600 11px/1 Georgia,serif}
.fees-feature{padding-top:30px}
.fees-feature-frame{grid-template-columns:260px minmax(0,1fr);min-height:365px;border:2px solid #b7893e;outline:1px solid #d7b66f;outline-offset:-11px;background-color:#061b31;background-image:radial-gradient(circle at 12% 26%,rgba(209,169,88,.45) 0 1px,transparent 1.8px),radial-gradient(circle at 76% 18%,rgba(119,167,205,.11),transparent 28%),linear-gradient(135deg,#04172a,#06223b 58%,#031629);background-size:38px 38px,auto,auto;box-shadow:0 13px 30px rgba(53,38,15,.16)}
.fees-feature-frame::before,.fees-feature-frame::after{content:"";width:46px;height:46px;position:absolute;background:linear-gradient(135deg,#c79b4d 0 2px,transparent 2px 8px,#c79b4d 8px 10px,transparent 10px);opacity:.75}
.fees-feature-frame::before{top:14px;left:14px}.fees-feature-frame::after{right:14px;bottom:14px;transform:rotate(180deg)}
.fees-feature-emblem img{width:228px;height:228px;object-fit:contain;border-radius:0;mix-blend-mode:normal;filter:drop-shadow(0 0 14px rgba(216,173,80,.14))}
.fees-label{color:#ddb968;background:rgba(4,19,34,.45)}
.fees-feature h2{font-size:33px;line-height:1.38}
.fees-feature-benefits>div>span{width:40px;height:40px;flex:0 0 40px;font-size:0;background:center/contain no-repeat}
.fees-feature-benefits>div:nth-child(1)>span{background-image:url("assets/fees/icon-cap.svg")}
.fees-feature-benefits>div:nth-child(2)>span{background-image:url("assets/fees/icon-house.svg")}
.fees-feature-benefits>div:nth-child(3)>span{background-image:url("assets/fees/icon-family.svg")}
.fees-primary-button{background:linear-gradient(#8f2232,#741725);border-color:#c69a4d;box-shadow:inset 0 0 0 2px rgba(255,226,171,.13)}
.fees-section{padding-top:39px}
.fees-section-title::before{content:"";width:17px;height:17px;background:linear-gradient(45deg,transparent 38%,#b88a40 39% 47%,transparent 48%),linear-gradient(-45deg,transparent 38%,#b88a40 39% 47%,transparent 48%);opacity:.8}
.fees-section-title h2{font-size:27px}
.fees-table-wrap{background:rgba(255,252,246,.7)}
.fees-table th,.fees-table td{height:52px}
.fees-support-table .is-highlight{background:linear-gradient(90deg,rgba(224,194,127,.24),rgba(224,194,127,.12))}
.fees-assessment{position:relative;overflow:hidden;margin-top:50px;padding:44px 0 40px;background-color:#041a30;background-image:radial-gradient(circle at 50% -20%,rgba(39,88,129,.42),transparent 52%),linear-gradient(110deg,#04162a,#06223c 52%,#031528)}
.fees-assessment::before,.fees-assessment::after{content:"";position:absolute;bottom:-15px;width:210px;height:150px;background:url("assets/fees/decor-branch.svg") center/contain no-repeat;opacity:.38}
.fees-assessment::before{left:-4px}.fees-assessment::after{right:-4px;transform:scaleX(-1)}
.fees-assessment .fees-shell{position:relative;z-index:1}
.fees-payment-grid>article>span{width:48px;height:48px;font-size:0;background:center/contain no-repeat}
.fees-payment-grid>article:nth-child(1)>span{background-image:url("assets/fees/icon-calendar.svg")}
.fees-payment-grid>article:nth-child(2)>span{background-image:url("assets/fees/icon-card.svg")}
.fees-payment-grid>article:nth-child(3)>span{background-image:url("assets/fees/icon-document-check.svg")}
.fees-faq summary::before{line-height:1}.fees-faq details[open] summary::before{content:"−"}
.fees-consult{overflow:hidden;margin-top:8px;padding-block:31px;border:4px double rgba(171,127,55,.58);background:rgba(255,252,245,.78)}
.fees-consult::before,.fees-consult::after{content:"";position:absolute;bottom:-12px;width:160px;height:146px;background:center/contain no-repeat;opacity:.42}
.fees-consult::before{left:12px;background-image:url("assets/fees/decor-branch.svg")}
.fees-consult::after{right:18px;background-image:url("assets/fees/decor-lantern.svg");transform:none}
.fees-consult>*,.fees-consult-actions{position:relative;z-index:1}
.fees-page .visit-footer{border-top:3px double #b98b3c;background-image:linear-gradient(90deg,rgba(192,151,74,.06),transparent 34%,rgba(192,151,74,.04)),linear-gradient(#04192d,#061e35)}
@media(max-width:980px){.fees-feature-frame{grid-template-columns:210px minmax(0,1fr)}.fees-feature-emblem img{width:180px;height:180px}}
@media(max-width:700px){.fees-hero{min-height:326px;background-size:auto 92%}.fees-feature-frame{grid-template-columns:1fr}.fees-feature-emblem img{width:190px;height:190px}.fees-consult::before,.fees-consult::after{display:block;width:86px;height:92px;opacity:.22}}

/* Downloads archive page */
.downloads-page{background:#faf6ed;color:#132b3e}
.downloads-page .site-header{background:#051a2d;color:#ead39c;border-bottom-color:#b98b3c}
.downloads-page .nav-trigger[aria-current="page"]{color:#f0dba5}
.downloads-page .dropdown-menu .is-current{color:#fff;background:rgba(155,113,43,.18)}
.downloads-main{padding-top:104px;min-height:100vh;background:radial-gradient(circle at 22% 18%,rgba(194,151,76,.07),transparent 25%),linear-gradient(90deg,rgba(255,255,255,.38),transparent 35%,rgba(255,255,255,.16)),#faf6ed}
.downloads-shell{width:min(1180px,calc(100% - 72px));margin-inline:auto}
.downloads-hero{position:relative;min-height:325px;border-bottom:1px solid rgba(177,133,57,.25);overflow:hidden;background:#fbf7ef url("assets/fees/fees-campus-linework.png") right center/auto 108% no-repeat}
.downloads-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fbf7ef 0%,rgba(251,247,239,.97) 42%,rgba(251,247,239,.69) 62%,rgba(251,247,239,.12) 92%)}
.downloads-hero .downloads-shell{position:relative;z-index:1;padding-top:40px}
.downloads-breadcrumb{display:flex;gap:12px;align-items:center;color:#766d62;font-size:13px;letter-spacing:.12em}
.downloads-breadcrumb span:first-child{color:#ad7c2d;font-size:18px}
.downloads-hero h1{margin:46px 0 13px;font-family:"Noto Serif SC","Songti SC",serif;font-size:54px;font-weight:500;letter-spacing:.12em}
.downloads-hero>div>p{margin:0;color:#59636a;font-size:17px;letter-spacing:.12em}
.downloads-private-note{display:flex;align-items:center;gap:10px;margin-top:27px;color:#746d63;font-size:13px}
.downloads-private-note img{width:19px;height:19px}
.download-toolbar{margin-top:32px;padding:20px 24px 18px;border:1px solid rgba(179,133,58,.42);border-radius:7px;background:rgba(255,253,248,.72)}
.download-search{display:flex;align-items:center;gap:13px;padding:0 0 18px;border-bottom:1px solid rgba(177,132,58,.35)}
.download-search img{width:23px;height:23px}.download-search input{width:100%;border:0;outline:0;background:transparent;color:#233849;font:15px/1.4 inherit;letter-spacing:.05em}
.download-filter-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:17px}
.download-filter-row>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.download-filter-row button,.download-sort select{height:40px;padding:0 22px;border:1px solid transparent;border-radius:4px;color:#364552;background:transparent;font:14px/1 inherit;letter-spacing:.08em;cursor:pointer}
.download-filter-row button.is-active{color:#fff3de;border-color:#a97931;background:linear-gradient(#8c2230,#731723)}
.download-sort select{min-width:190px;border-color:rgba(177,132,58,.55);background:#fffdf8}
.download-alert{display:flex;align-items:center;justify-content:center;gap:12px;margin:30px 0 27px;padding:14px 20px;border:1px solid rgba(184,139,63,.35);border-radius:6px;color:#746b5f;background:rgba(255,251,242,.66);font-size:13px}
.download-alert img{width:23px;height:23px}
.download-section{margin-top:25px}
.download-section-title{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.download-section-title h2{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:26px;font-weight:500;letter-spacing:.12em}
.download-section-title h2::after{content:"◇";display:inline-block;margin-left:20px;color:#b38337;font-size:14px}
.download-section-title span{height:1px;flex:1;background:linear-gradient(90deg,rgba(179,133,57,.6),transparent)}
.featured-files{display:grid;gap:10px}
.featured-file{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;align-items:center;gap:20px;min-height:116px;padding:15px 27px 15px 20px;border:1px solid rgba(181,135,58,.4);border-radius:6px;background:rgba(255,253,248,.62)}
.featured-file>img{width:58px;height:66px;object-fit:contain}.featured-file h3{margin:0 0 7px;font-family:"Noto Serif SC","Songti SC",serif;font-size:20px;font-weight:500;letter-spacing:.06em}
.featured-file p{margin:0;color:#6f6b65;font-size:13px}.featured-file small,.download-list small{display:block;margin-top:9px;color:#8a8276;font-size:11px;letter-spacing:.04em}
.download-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:135px;height:44px;padding:0 19px;border:1px solid #a77c35;border-radius:4px;color:#243a4c;background:#fffdf8;font:14px/1 inherit;letter-spacing:.1em;cursor:pointer}
.download-action img{width:21px;height:21px}.download-action.is-primary{min-width:185px;color:#fff5e5;background:linear-gradient(#8f2232,#741723)}.download-action.is-disabled{color:#aaa8a2;border-color:#c9c5bb;background:#f6f4ef;cursor:not-allowed}.download-action.is-disabled img{opacity:.35}
.login-badge,.new-badge{display:inline-flex;align-items:center;justify-content:center;height:31px;padding:0 12px;border:1px solid #d8ad65;border-radius:4px;color:#a1732d;background:#fff4dc;font-size:12px}.new-badge{color:#628053;border-color:#a7b890;background:#f3f7ec}
.download-library{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;margin:34px 0 31px}
.download-categories,.download-list-panel{border:1px solid rgba(179,133,58,.42);border-radius:7px;background:rgba(255,253,248,.7)}
.download-categories{padding:18px 0}.download-categories h2,.download-list-panel>h2{margin:0 18px 13px;padding-bottom:13px;border-bottom:1px solid rgba(179,133,58,.28);font-family:"Noto Serif SC","Songti SC",serif;font-size:20px;font-weight:500;letter-spacing:.1em}
.download-categories button{position:relative;display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:10px;width:100%;min-height:57px;padding:0 18px;border:0;color:#314353;background:transparent;text-align:left;font:14px/1 inherit;cursor:pointer}
.download-categories button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}.download-categories button.is-active{color:#72202b;background:linear-gradient(90deg,rgba(138,31,45,.11),transparent)}.download-categories button.is-active::before{background:#861d2c}
.download-categories button img{width:25px;height:25px;object-fit:contain}.download-categories small{color:#8b7a61}
.download-list-panel{padding:18px 22px}.download-list-panel>h2 span{color:#8d806e;font-size:15px}
.download-list>article{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:17px;min-height:96px;padding:12px 5px;border-bottom:1px solid rgba(181,135,58,.3)}
.download-list>article>img{width:47px;height:55px}.download-list h3{margin:0 0 5px;font-family:"Noto Serif SC","Songti SC",serif;font-size:17px;font-weight:500}.download-list p{margin:0;color:#777169;font-size:12px}
.download-list .download-action{min-width:93px;height:36px;padding:0 12px;font-size:12px}.download-list .download-action img{width:17px;height:17px}
.download-empty{padding:60px 20px;text-align:center;color:#81796f}
.download-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:22px 0 5px}.download-pagination button{width:32px;height:32px;border:1px solid rgba(169,126,53,.35);border-radius:3px;color:#59636d;background:#fffdf8;cursor:pointer}.download-pagination .is-current{color:#fff;background:#7f1d2a}
.download-help{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:142px;margin-bottom:46px;padding:30px 55px 30px 190px;overflow:hidden;border:3px double rgba(176,131,55,.58);border-radius:7px;background:rgba(255,253,247,.75)}
.download-help::before{content:"";position:absolute;left:24px;bottom:-15px;width:145px;height:130px;background:url("assets/fees/decor-branch.svg") center/contain no-repeat;opacity:.38}
.download-help h2{margin:0 0 9px;font-family:"Noto Serif SC","Songti SC",serif;font-size:25px;font-weight:500}.download-help p{margin:0;color:#756f66;font-size:12px}
.download-help>div:last-child{display:grid;justify-items:center;gap:12px}.download-help>div:last-child>a:last-child{color:#72323a;font-size:13px}
.download-account-button{display:inline-flex;align-items:center;gap:9px;min-width:190px;height:45px;padding:0 24px;color:#fff6e6;background:#7f1d2a}.download-account-button img{width:20px;height:20px}
.download-footer{color:#ddc58f;border-top:3px double #b98b3c;background:radial-gradient(circle at 90% 80%,rgba(54,91,117,.23),transparent 28%),linear-gradient(#041a30,#03162a)}
.download-footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr) 1.5fr;gap:36px;width:min(1180px,calc(100% - 72px));margin:auto;padding:50px 0 38px}
.download-footer-grid>div{display:flex;flex-direction:column;gap:9px;padding-left:26px;border-left:1px solid rgba(196,151,73,.35)}.download-footer h3{margin:0 0 7px;font-size:15px;font-weight:500}.download-footer a,.download-footer span{color:rgba(225,204,156,.74);font-size:12px}
.download-footer-brand{display:flex;align-items:flex-start;gap:18px}.download-footer-brand>img{width:92px;height:105px;object-fit:contain}.download-footer-brand span{display:flex;flex-direction:column}.download-footer-brand strong{font-family:"Noto Serif SC","Songti SC",serif;font-size:24px;font-weight:500}.download-footer-brand em{margin-top:5px;font-style:normal}.download-footer-brand b{margin-top:25px;font-weight:400;letter-spacing:.16em}
.download-footer-contact span{line-height:1.65}.download-footer-bottom{display:flex;justify-content:space-between;width:min(1180px,calc(100% - 72px));margin:auto;padding:17px 0 20px;border-top:1px solid rgba(196,151,73,.25)}
.download-toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,30px);padding:13px 24px;color:#fff8e8;background:#0b2b43;border:1px solid #b88a3d;opacity:0;pointer-events:none;transition:.25s}.download-toast.is-visible{transform:translate(-50%,0);opacity:1}
[hidden]{display:none!important}
@media(max-width:980px){
  .downloads-shell{width:min(100% - 36px,760px)}.download-filter-row{align-items:flex-start;flex-direction:column}.download-sort select{min-width:220px}
  .download-library{grid-template-columns:1fr}.download-categories{display:grid;grid-template-columns:repeat(3,1fr);padding:15px}.download-categories h2{grid-column:1/-1}.download-categories button{min-height:48px}
  .download-footer-grid{grid-template-columns:2fr repeat(2,1fr)}.download-footer-brand{grid-row:span 2}
}
@media(max-width:700px){
  .downloads-main{padding-top:88px}.downloads-shell{width:calc(100% - 32px)}.downloads-hero{min-height:330px;background-size:auto 90%;background-position:67% center}.downloads-hero::after{background:linear-gradient(90deg,#fbf7ef 0%,rgba(251,247,239,.95) 64%,rgba(251,247,239,.2))}
  .downloads-hero .downloads-shell{padding-top:28px}.downloads-hero h1{margin-top:52px;font-size:40px}.downloads-hero>div>p{max-width:290px;font-size:15px;line-height:1.7}
  .download-toolbar{padding:17px 15px}.download-filter-row>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.download-filter-row button{padding:0 9px}.download-sort,.download-sort select{width:100%}
  .featured-file{grid-template-columns:55px minmax(0,1fr);gap:13px;padding:16px}.featured-file>img{width:48px;height:56px}.featured-file .download-action,.featured-file .login-badge{grid-column:2;justify-self:start}.featured-file h3{font-size:17px}
  .download-categories{grid-template-columns:1fr 1fr;padding:12px}.download-categories button{padding:0 9px}
  .download-list-panel{padding:15px 12px}.download-list>article{grid-template-columns:43px minmax(0,1fr);gap:12px}.download-list>article>img{width:39px;height:48px}.download-list .download-action,.download-list .login-badge,.download-list .new-badge{grid-column:2;justify-self:start}.download-list h3{font-size:16px}
  .download-help{align-items:flex-start;flex-direction:column;padding:30px 24px 30px 110px}.download-help::before{left:4px;width:100px}.download-help>div:last-child{justify-items:start}
  .download-footer-grid{grid-template-columns:1fr 1fr;width:calc(100% - 36px);gap:27px 18px}.download-footer-brand{grid-column:1/-1;grid-row:auto}.download-footer-grid>div{padding-left:14px}.download-footer-bottom{width:calc(100% - 36px);gap:10px;flex-direction:column}
}

/* Category-specific download pages */
.brand-crest-img{width:88px;height:88px;object-fit:contain;flex:0 0 auto}
.category-download-page .downloads-main{padding-top:104px}.category-download-page .category-download-hero{min-height:325px}.category-download-page .category-download-hero h1{margin-top:46px}.category-download-body{padding-top:28px;padding-bottom:70px}
.category-download-page .download-filter-row>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.category-download-page .download-filter-row>div a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 21px;color:#273a47;text-decoration:none;border-radius:3px}.category-download-page .download-filter-row>div a.is-active{background:#7d1626;color:#fff}
.category-steps{position:relative;margin-top:22px;display:flex;align-items:center;gap:16px;min-height:54px;padding:0 22px;border:1px solid rgba(184,133,57,.36);background:rgba(255,252,247,.76);color:#6c5e4b}.category-steps strong{padding-right:18px;border-right:1px solid rgba(184,133,57,.28);font-weight:500}.category-steps span{display:flex;align-items:center;gap:7px;white-space:nowrap}.category-steps span b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #b98b3c;border-radius:50%;font-weight:400}.category-steps i{width:24px;border-top:1px dashed #b98b3c}
.visit-status{display:flex;align-items:center;gap:18px;margin-top:22px;min-height:88px;padding:15px 25px;border:1px solid rgba(184,133,57,.34);background:rgba(255,252,247,.82);color:#253846;text-decoration:none}.visit-status .visit-calendar{font-size:42px;color:#8f1728}.visit-status span:nth-child(2){display:grid;gap:5px}.visit-status strong{font-size:20px;font-weight:500}.visit-status small{color:#918374}.visit-status>b{margin-left:auto;color:#8f1728;font-weight:500}
.pickup-verification{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0;border:1px solid rgba(184,133,57,.36);background:rgba(255,252,247,.6)}.pickup-verification article{display:flex;align-items:center;justify-content:center;gap:18px;min-height:86px;padding:14px 22px;border-right:1px solid rgba(184,133,57,.28)}.pickup-verification article:last-child{border-right:0}.pickup-verification article>b{font-size:33px;color:#ae7b27}.pickup-verification h3{margin:0 0 5px;font-size:18px;font-weight:500}.pickup-verification p{margin:0;color:#8e8172;font-size:13px}
.measure-guide{margin:28px 0 34px}.measure-guide>.download-section-title{justify-content:center}.measure-guide>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(184,133,57,.35);background:rgba(255,252,247,.55)}.measure-guide article{display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto auto;gap:3px 16px;align-items:center;min-height:135px;padding:20px 26px;border-right:1px dashed rgba(184,133,57,.36)}.measure-guide article:last-child{border-right:0}.measure-guide article img{grid-row:1/3;width:68px;height:68px}.measure-guide h3{margin:0;font-size:18px;font-weight:500}.measure-guide p{margin:0;color:#8d8071;font-size:13px;line-height:1.7}
.uniform-featured{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.uniform-featured .featured-file{grid-template-columns:70px 1fr;grid-template-rows:1fr auto;min-height:210px}.uniform-featured .featured-file>img{grid-row:1/3}.uniform-featured .download-action{grid-column:2;justify-self:start}
.category-download-page .download-categories a{display:flex;align-items:center;gap:11px;min-height:54px;padding:0 15px;color:#3c433f;text-decoration:none;border-left:3px solid transparent}.category-download-page .download-categories a img{width:22px;height:22px}.category-download-page .download-categories a small{margin-left:auto}.category-download-page .download-categories a.is-active{color:#801725;background:rgba(128,23,37,.07);border-left-color:#801725}
@media(max-width:980px){.category-download-page .category-download-hero{min-height:325px}.category-steps{margin-top:24px;overflow-x:auto;max-width:100%}.uniform-featured{grid-template-columns:1fr}.pickup-verification{grid-template-columns:1fr}.pickup-verification article{border-right:0;border-bottom:1px solid rgba(184,133,57,.28)}.measure-guide>div:last-child{grid-template-columns:repeat(2,1fr)}.measure-guide article:nth-child(2){border-right:0}}
@media(max-width:700px){.brand-crest-img{width:60px;height:60px}.category-download-page .downloads-main{padding-top:82px}.category-download-page .category-download-hero{min-height:330px}.category-download-page .download-filter-row>div{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.category-download-page .download-filter-row>div a{padding-inline:8px}.category-steps{gap:10px;padding:12px}.category-steps strong{display:none}.category-steps i{width:8px}.visit-status{align-items:flex-start;flex-wrap:wrap}.visit-status>b{width:100%;margin-left:0;padding-left:58px}.measure-guide>div:last-child{grid-template-columns:1fr}.measure-guide article{border-right:0;border-bottom:1px dashed rgba(184,133,57,.36)}.uniform-featured .featured-file{grid-template-columns:54px 1fr}.uniform-featured .download-action{grid-column:1/3}.pickup-verification article{justify-content:flex-start}.category-download-page .download-categories{display:grid;grid-template-columns:repeat(2,1fr)}.category-download-page .download-categories h2{grid-column:1/3}}
/* Pickup arrangements editorial page */
.pickup-page{--pickup-navy:#061a2e;--pickup-deep:#031326;--pickup-gold:#b88a3b;--pickup-wine:#811928;--pickup-paper:#faf5e9;background:var(--pickup-paper);color:#26323a}
.pickup-page .site-header{background:#04182b;color:#ead39a;border-bottom:2px solid #ad8134}
.pickup-page .nav-trigger[aria-current="page"]{color:#f1d797}
.pickup-main{padding:104px 0 70px;background:
  url("assets/fees/fees-campus-linework.png") center 95px/1100px auto no-repeat,
  radial-gradient(circle at 18% 18%,rgba(180,132,55,.08),transparent 25%),
  linear-gradient(90deg,rgba(255,255,255,.48),transparent 35%,rgba(255,255,255,.2)),#faf5e9}
.pickup-shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.pickup-hero{padding:36px 0 24px;text-align:center}
.pickup-breadcrumb{text-align:left;color:#756d63;font-size:13px;letter-spacing:.08em}
.pickup-hero h1{display:flex;align-items:center;justify-content:center;gap:26px;margin:34px 0 8px;font-family:"Noto Serif SC","Songti SC",serif;font-size:49px;font-weight:500;letter-spacing:.12em;color:#15283a}
.pickup-hero h1::before,.pickup-hero h1::after{content:"";width:100px;height:1px;background:linear-gradient(90deg,transparent,#b88a3b)}
.pickup-hero h1::after{transform:scaleX(-1)}
.pickup-hero p{margin:0;color:#69655e;font-size:17px;letter-spacing:.12em}
.pickup-status{display:flex;align-items:center;justify-content:center;gap:25px;min-height:116px;margin-top:22px;border:4px double #b58b45;color:#f1d698;background:linear-gradient(105deg,#04192e,#073052 50%,#04192e);box-shadow:0 10px 22px rgba(61,42,13,.13)}
.pickup-status img{width:62px;height:62px}.pickup-status strong{font-family:"Noto Serif SC","Songti SC",serif;font-size:26px;font-weight:500;letter-spacing:.1em}.pickup-status span{color:#66b677}
.pickup-week-panel,.pickup-panel{border:1px solid rgba(171,126,54,.52);background:rgba(255,253,247,.72);box-shadow:0 7px 18px rgba(79,55,19,.07)}
.pickup-week-panel{margin-top:22px;padding:25px 20px 14px;border-radius:12px}
.pickup-week-panel h2,.pickup-panel h2{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:24px;font-weight:500;letter-spacing:.08em}
.pickup-week-panel h2{display:flex;align-items:center;gap:12px;padding:0 8px 18px}.pickup-week-panel h2 img{width:31px;height:31px}
.pickup-week{display:grid;grid-template-columns:repeat(7,1fr);overflow:hidden;border:1px solid rgba(171,126,54,.36);border-radius:10px}
.pickup-week article{position:relative;display:grid;justify-items:center;align-content:center;min-height:205px;padding:15px 8px;border-right:1px solid rgba(171,126,54,.24);color:#514d45;background:rgba(255,255,255,.28)}
.pickup-week article:last-child{border-right:0}.pickup-week h3{margin:0 0 3px;font-size:16px;font-weight:500}.pickup-week small{font-size:12px}.pickup-week strong{margin:16px 0 7px;font-size:20px;font-weight:500}.pickup-week img{width:44px;height:44px}.pickup-week span{font-size:13px}.pickup-week b{display:grid;place-items:center;width:23px;height:23px;margin-top:12px;border:1px solid #ccb681;border-radius:50%;color:#a98438;font-weight:400}
.pickup-week article.is-today{color:#ffefd0;background:linear-gradient(150deg,#8d1d2d,#6f1220);box-shadow:inset 0 -12px 24px rgba(44,0,7,.22)}.pickup-week article.is-today img{filter:sepia(1) saturate(1.6) brightness(1.7)}.pickup-week article.is-today b{color:#6f1220;background:#efd17d;border-color:#efd17d}.pickup-week article.is-today::after{content:"";position:absolute;bottom:-12px;border:12px solid transparent;border-top-color:#6f1220}
.pickup-week-panel>p{margin:13px 8px 0;color:#8e8270;font-size:12px}
.pickup-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.pickup-left-column,.pickup-right-column{display:grid;align-content:start;gap:22px}
.pickup-panel{padding:26px;border-radius:10px}.pickup-panel-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid rgba(171,126,54,.35)}.pickup-panel-title button,.pickup-history>button{border:1px solid #b58b45;color:#5c5140;background:transparent}
.pickup-panel button{min-height:38px;padding:0 18px}.pickup-people ul{margin:0;padding:0;list-style:none}.pickup-people li{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(171,126,54,.22)}.pickup-people li>b{display:grid;place-items:center;width:54px;height:54px;border:1px solid #bca471;border-radius:50%;color:#fff;background:#b0a28e;font-size:18px;font-weight:500}.pickup-people li strong,.pickup-people li small{display:block}.pickup-people li strong{font-size:16px;font-weight:500}.pickup-people li small{margin-top:4px;color:#8c8170}.pickup-people li>span{text-align:right;font-size:13px}.pickup-people em{color:#4f9a61;font-style:normal}.pickup-people>p{margin:12px 0 0;color:#8d8273;font-size:12px}
.pickup-pass{padding:28px;border:4px double #b68a43;color:#efd38c;background:radial-gradient(circle at 50% 20%,rgba(31,83,125,.35),transparent 55%),#041a30;box-shadow:0 8px 22px rgba(29,26,22,.2)}.pickup-pass h2{margin:0 0 20px;text-align:center;font-family:"Noto Serif SC","Songti SC",serif;font-size:24px;font-weight:500}.pickup-pass-body{display:grid;grid-template-columns:minmax(0,240px) 1fr;gap:28px;align-items:center}.pickup-pass-body>img{width:100%;transition:transform .5s}.pickup-pass.is-refreshing .pickup-pass-body>img{transform:rotate(4deg) scale(.96)}.pickup-pass-body>div{display:grid;justify-items:center;gap:7px;text-align:center}.pickup-pass-body small{color:#d3bb83}.pickup-pass-body strong{font-size:33px;font-weight:500}.pickup-pass-body b{font-size:19px;font-weight:500}.pickup-pass-body hr{width:100%;border:0;border-top:1px solid rgba(198,155,73,.35)}.pickup-pass-body button{margin-top:12px;border:0;color:#e4c477;background:transparent;font-size:14px}.pickup-pass>p{margin:17px 0 0;text-align:center;color:#ad9d7c;font-size:11px}
.pickup-deadline{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:center;padding:24px;border:1px solid #c99c4e;border-radius:10px;background:linear-gradient(110deg,#f6e8bd,#fff9e9);box-shadow:0 6px 15px rgba(79,55,19,.1)}.pickup-deadline img{width:84px;height:84px;opacity:.7}.pickup-deadline small,.pickup-deadline span{display:block}.pickup-deadline p{margin:6px 0}.pickup-deadline strong{display:block;color:#94651f;font-size:29px}.pickup-deadline span{color:#8e8272;font-size:12px}
.pickup-change>p{color:#756c60;font-size:13px}.pickup-change form{display:grid;gap:14px;margin-top:22px}.pickup-change label,.pickup-change legend{font-size:13px}.pickup-change i{color:#a51f2c;font-style:normal}.pickup-change input,.pickup-change select,.pickup-change textarea{width:100%;min-height:43px;margin-top:7px;padding:9px 13px;border:1px solid rgba(170,126,53,.42);border-radius:4px;color:#3b3a36;background:#fffdf8;font:inherit}.pickup-change textarea{height:86px;resize:vertical}.pickup-change fieldset{display:flex;gap:24px;margin:0;padding:0;border:0}.pickup-change fieldset label{display:flex;align-items:center;gap:7px}.pickup-change fieldset input{width:auto;min-height:0;margin:0}.pickup-code-row{display:grid;grid-template-columns:1fr 145px;gap:10px}.pickup-code-row button{align-self:end;height:43px;color:#fff0d8;border:1px solid #9c5d2e;background:#7d1725}.pickup-submit{min-height:52px;border:1px solid #bd8a46;color:#fff1d5;background:linear-gradient(#8b1d2c,#721320);font-size:16px;letter-spacing:.12em}.pickup-change form>small{text-align:center;color:#8d8170}
.pickup-history h2{padding-bottom:14px;border-bottom:1px solid rgba(171,126,54,.35)}.pickup-history ol{margin:0;padding:0;list-style:none}.pickup-history li{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:14px 0 14px 24px;border-bottom:1px solid rgba(171,126,54,.22)}.pickup-history li::before{content:"";position:absolute;left:5px;top:22px;width:7px;height:7px;border-radius:50%;background:#9a762e}.pickup-history time{font-size:13px}.pickup-history span{grid-column:1;color:#6e6961;font-size:12px;line-height:1.6}.pickup-history li>b{grid-column:2;grid-row:1/3;align-self:center;padding:3px 10px;border:1px solid #97b77e;border-radius:4px;color:#56864f;font-size:11px;font-weight:400;background:#eff7e8}.pickup-history>button{display:block;margin:18px auto 0;background:transparent}
.pickup-footer{padding:42px 0 18px;color:#d7bc80;background:radial-gradient(circle at 80% 30%,rgba(28,75,111,.26),transparent 26%),#03182c;border-top:3px double #b58a40}.pickup-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px;width:min(1180px,calc(100% - 64px));margin:auto}.pickup-footer-grid>div{display:grid;align-content:start;gap:9px;padding-left:28px;border-left:1px solid rgba(190,148,67,.35)}.pickup-footer h3{margin:0 0 8px;font-size:17px;font-weight:500}.pickup-footer a,.pickup-footer span{color:#bcae91;font-size:12px}.pickup-footer-brand{display:grid;grid-template-columns:86px 1fr;align-content:start}.pickup-footer-brand img{grid-row:1/4;width:76px}.pickup-footer-brand strong{font-size:22px;font-weight:400}.pickup-footer-brand span{margin-top:5px}.pickup-footer-brand em{margin-top:18px;font-style:normal}.pickup-footer>p{width:min(1180px,calc(100% - 64px));margin:28px auto 0;padding-top:16px;border-top:1px solid rgba(190,148,67,.24);text-align:center;color:#7f8b8e;font-size:11px}
.pickup-toast{position:fixed;z-index:100;right:28px;bottom:28px;padding:14px 22px;border:1px solid #b98b3d;color:#fff3d8;background:#071b2e;box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;transform:translateY(20px);pointer-events:none;transition:.2s}.pickup-toast.is-visible{opacity:1;transform:none}
@media(max-width:900px){.pickup-week{overflow-x:auto;grid-template-columns:repeat(7,130px)}.pickup-dashboard{grid-template-columns:1fr}.pickup-footer-grid{grid-template-columns:1fr 1fr}.pickup-footer-brand{grid-column:1/3}.pickup-pass-body{grid-template-columns:200px 1fr}}
@media(max-width:700px){.pickup-main{padding-top:84px}.pickup-shell{width:calc(100% - 28px)}.pickup-hero{padding-top:25px}.pickup-hero h1{font-size:36px}.pickup-hero h1::before,.pickup-hero h1::after{width:28px}.pickup-hero p{font-size:14px}.pickup-status{min-height:92px;padding:16px}.pickup-status img{width:48px;height:48px}.pickup-status strong{font-size:18px;line-height:1.7}.pickup-week-panel{padding-inline:12px}.pickup-dashboard{gap:14px}.pickup-panel,.pickup-pass{padding:20px 16px}.pickup-pass-body{grid-template-columns:1fr}.pickup-pass-body>img{max-width:210px;margin:auto}.pickup-deadline{grid-template-columns:66px 1fr}.pickup-deadline img{width:62px;height:62px}.pickup-code-row{grid-template-columns:1fr}.pickup-code-row button{width:100%}.pickup-people li{grid-template-columns:50px 1fr}.pickup-people li>b{width:46px;height:46px}.pickup-people li>span{grid-column:2;text-align:left}.pickup-footer-grid{grid-template-columns:1fr}.pickup-footer-brand{grid-column:auto}.pickup-footer-grid>div{padding:20px 0 0;border-left:0;border-top:1px solid rgba(190,148,67,.25)}}

/* Pickup arrangements page */
.pickup-page{--pickup-navy:#061a2e;--pickup-gold:#b98b3d;--pickup-wine:#811827;--pickup-paper:#faf5e9;color:#27313a;background:var(--pickup-paper)}
.pickup-page .site-header{background:#05192c;color:#ead5a0;border-bottom-color:#b98b3d}
.pickup-page .nav-trigger[aria-current="page"]{color:#f3d992}
.pickup-main{padding:104px 0 54px;background-color:#faf5e9;background-image:linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,.1)),url("assets/fees/fees-campus-linework.png");background-repeat:no-repeat;background-position:center 60px;background-size:100% auto}
.pickup-shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.pickup-hero{padding:34px 0 28px;text-align:center}
.pickup-breadcrumb{text-align:left;color:#81735f;font-size:13px;letter-spacing:.08em}
.pickup-hero h1{display:flex;align-items:center;justify-content:center;gap:28px;margin:36px 0 12px;color:#152c3e;font-family:"Noto Serif SC","Songti SC",serif;font-size:48px;font-weight:500;letter-spacing:.14em}
.pickup-hero h1::before,.pickup-hero h1::after{content:"";width:110px;height:1px;background:linear-gradient(90deg,transparent,#b88a3e)}
.pickup-hero h1::after{transform:scaleX(-1)}
.pickup-hero p{margin:0;color:#6e6255;font-size:16px;letter-spacing:.12em}
.pickup-current{display:flex;align-items:center;justify-content:center;gap:24px;min-height:102px;margin-top:10px;padding:18px 38px;border:2px solid #b68a40;outline:1px solid #d9b96f;outline-offset:-8px;color:#efd49a;background:linear-gradient(135deg,#051a30,#082440 56%,#03162a);box-shadow:0 8px 20px rgba(61,41,15,.13)}
.pickup-current img{width:58px;height:58px}.pickup-current strong{font:400 27px/1.4 "Noto Serif SC","Songti SC",serif;letter-spacing:.08em}.pickup-current em{color:#7fc288;font-style:normal}
.pickup-week-panel,.pickup-card{border:1px solid rgba(169,126,52,.48);background:rgba(255,252,246,.86);box-shadow:0 6px 18px rgba(85,58,21,.07)}
.pickup-week-panel{margin-top:24px;padding:24px 20px 14px;border-radius:14px}
.pickup-week-panel h2,.pickup-card h2{margin:0;color:#303336;font-family:"Noto Serif SC","Songti SC",serif;font-size:22px;font-weight:500;letter-spacing:.08em}
.pickup-week-panel h2{display:flex;align-items:center;gap:12px}.pickup-week-panel h2 img{width:30px;height:30px}
.pickup-week{display:grid;grid-template-columns:repeat(7,1fr);margin-top:17px;border:1px solid rgba(174,132,60,.32);border-radius:10px;overflow:hidden}
.pickup-week article{position:relative;display:grid;justify-items:center;align-content:start;min-height:220px;padding:18px 8px 14px;border-right:1px solid rgba(174,132,60,.25)}
.pickup-week article:last-child{border-right:0}.pickup-week span{font-size:15px}.pickup-week small{margin:4px 0 12px;color:#8e806c}.pickup-week b{font-size:22px;font-weight:400}.pickup-week img{width:44px;height:44px;margin:10px}.pickup-week em{font-style:normal;font-size:13px}.pickup-week i{display:grid;place-items:center;width:26px;height:26px;margin-top:12px;border:1px solid #ccb47e;border-radius:50%;color:#b18a47;font-style:normal}
.pickup-week article.is-today{color:#fff2cf;background:linear-gradient(#8d1f2f,#70131f)}.pickup-week article.is-today small{color:#f4d9ac}.pickup-week article.is-today img{filter:sepia(1) saturate(.8) brightness(1.8)}.pickup-week article.is-today::after{content:"";position:absolute;bottom:-10px;border:10px solid transparent;border-top-color:#70131f;border-bottom:0}
.pickup-week-panel>p{margin:12px 4px 0;color:#8c7c67;font-size:12px}
.pickup-columns{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;margin-top:24px}.pickup-left,.pickup-right{display:grid;align-content:start;gap:22px}.pickup-card{position:relative;padding:26px 24px;border-radius:12px}.pickup-outline{position:absolute;right:24px;top:20px;padding:9px 16px;border:1px solid #a98345;color:#3f3b35;background:transparent}
.pickup-people ul{margin:18px 0 0;padding:0;list-style:none}.pickup-people li{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid rgba(175,136,69,.23)}.pickup-people li>b{display:grid;place-items:center;width:48px;height:48px;border:1px solid #c6b48e;border-radius:50%;color:#fff;background:#9e9585;font-weight:400}.pickup-people li span strong,.pickup-people li span small{display:block}.pickup-people li span strong{font-weight:500}.pickup-people li span small{margin-top:4px;color:#8b7f70}.pickup-people li em{text-align:right;font-size:12px;font-style:normal}.pickup-people li i{color:#4e9b5c;font-style:normal}.pickup-people>p{margin:10px 0 0;color:#8a7a66;font-size:12px}
.pickup-change>p{color:#7f7261}.pickup-change form{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px;margin-top:20px}.pickup-change label,.pickup-change fieldset{display:grid;gap:7px;margin:0;color:#5a4a3d;font-size:13px}.pickup-change input,.pickup-change select,.pickup-change textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid rgba(175,132,60,.45);border-radius:4px;color:#3d3d3b;background:#fffdf8}.pickup-change textarea{height:76px;resize:vertical}.pickup-change fieldset{grid-template-columns:1fr 1fr;align-content:end;border:0}.pickup-change legend{grid-column:1/3;margin-bottom:7px}.pickup-change fieldset label{display:flex;align-items:center;gap:7px}.pickup-change fieldset input{width:auto;min-height:0}.pickup-code{display:grid;grid-template-columns:1fr 130px;gap:8px;align-items:end}.pickup-code button{height:42px;border:0;color:#fff3dc;background:#7d1826}.pickup-submit{grid-column:1/3;height:50px;border:1px solid #c59b55;color:#fff5e3;background:linear-gradient(#8d2030,#71131f);font-size:17px;letter-spacing:.16em}.pickup-change form>small{grid-column:1/3;color:#8c7d69}
.pickup-pass-card{padding:26px 30px;border:2px solid #b68a40;outline:1px solid #d8b66b;outline-offset:-8px;color:#ecd49e;background:linear-gradient(145deg,#04182d,#07243e 60%,#031629)}.pickup-pass-card h2{text-align:center;font-family:"Noto Serif SC","Songti SC",serif;font-size:24px;font-weight:500}.pickup-pass-card>div{display:grid;grid-template-columns:1fr 155px;gap:24px;align-items:center;margin-top:18px}.pickup-pass-card img{width:100%;max-width:300px;aspect-ratio:1}.pickup-pass-card aside{display:grid;text-align:center;gap:7px}.pickup-pass-card aside span{color:#bca980;font-size:12px}.pickup-pass-card aside strong{color:#f4d27b;font-size:33px;font-weight:400}.pickup-pass-card aside b{font-size:18px;font-weight:400}.pickup-pass-card aside hr{width:100%;border:0;border-top:1px solid rgba(206,168,94,.38)}.pickup-pass-card aside button{margin-top:10px;padding:10px;border:0;color:#ead09a;background:transparent}.pickup-pass-card>p{margin:14px 0 0;text-align:center;color:#a79879;font-size:11px}.pickup-pass-card.is-refreshing img{animation:passPulse .5s ease}@keyframes passPulse{50%{filter:brightness(1.6);transform:scale(.98)}}
.pickup-deadline{display:grid;grid-template-columns:80px 1fr;gap:3px 16px;padding:24px;border:1px solid #d5b46d;border-radius:12px;background:linear-gradient(90deg,#fbf3dc,#fff9eb)}.pickup-deadline::before{content:"◷";grid-row:1/5;align-self:center;color:#b28232;font-size:60px}.pickup-deadline strong{font-size:17px}.pickup-deadline span,.pickup-deadline small{color:#7c705f}.pickup-deadline b{color:#9b6721;font-size:26px;font-weight:500}
.pickup-history ol{margin:20px 0 0;padding:0;list-style:none}.pickup-history li{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:0 0 18px 24px}.pickup-history li::before{content:"";position:absolute;left:3px;top:6px;width:8px;height:8px;border-radius:50%;background:#af812f}.pickup-history li::after{content:"";position:absolute;left:6px;top:18px;bottom:3px;width:1px;background:#c8aa6e}.pickup-history li b{font-size:12px;font-weight:500}.pickup-history li span{grid-column:1;color:#746858;font-size:12px;line-height:1.6}.pickup-history li em{grid-column:2;grid-row:1/3;align-self:center;padding:4px 10px;border:1px solid #a9c29c;border-radius:5px;color:#61905a;font-size:11px;font-style:normal}.pickup-link{display:block;margin:auto;border:0;border-bottom:1px solid #a58b60;background:transparent}
.pickup-footer{padding:34px 0 0;color:#d9bf85;background:#041a2f;border-top:3px double #b98b3d}.pickup-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr) .8fr;gap:28px;width:min(1160px,calc(100% - 64px));margin:auto}.pickup-footer-grid>div{display:grid;align-content:start;gap:8px;padding-left:25px;border-left:1px solid rgba(198,158,83,.35)}.pickup-footer h3{margin:0 0 8px;font-size:15px}.pickup-footer a,.pickup-footer span,.pickup-footer small{color:#c1aa7c;font-size:12px}.pickup-footer-brand{display:flex;gap:16px;align-items:flex-start}.pickup-footer-brand img{width:84px}.pickup-footer-brand strong,.pickup-footer-brand em,.pickup-footer-brand small{display:block}.pickup-footer-brand strong{font-size:22px;font-weight:400}.pickup-footer-brand em{margin-top:6px;font-style:normal}.pickup-footer-brand small{margin-top:20px}.pickup-footer-qr img{width:84px}.pickup-footer>p{margin:28px 0 0;padding:16px;text-align:center;border-top:1px solid rgba(198,158,83,.24);font-size:11px}
.pickup-toast{position:fixed;left:50%;bottom:28px;z-index:1000;padding:13px 22px;border:1px solid #c79a4f;color:#f9e7bd;background:#071c31;box-shadow:0 8px 30px #0006;opacity:0;transform:translate(-50%,20px);transition:.2s;pointer-events:none}.pickup-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.pickup-week{overflow-x:auto;grid-template-columns:repeat(7,130px)}.pickup-columns{grid-template-columns:1fr}.pickup-footer-grid{grid-template-columns:1fr 1fr}.pickup-footer-brand{grid-column:1/3}}
@media(max-width:700px){.pickup-main{padding-top:82px}.pickup-shell{width:calc(100% - 28px)}.pickup-hero{padding-top:24px}.pickup-breadcrumb{font-size:11px}.pickup-hero h1{font-size:32px;gap:10px}.pickup-hero h1::before,.pickup-hero h1::after{width:28px}.pickup-current{padding:18px}.pickup-current img{width:42px}.pickup-current strong{font-size:17px}.pickup-week-panel{padding:18px 12px}.pickup-columns{gap:16px}.pickup-card{padding:22px 18px}.pickup-change form{grid-template-columns:1fr}.pickup-change fieldset,.pickup-submit,.pickup-change form>small{grid-column:1}.pickup-pass-card{padding:24px 20px}.pickup-pass-card>div{grid-template-columns:1fr 110px;gap:12px}.pickup-footer-grid{grid-template-columns:1fr}.pickup-footer-brand{grid-column:1}.pickup-footer-grid>div{padding:0;border:0}.pickup-footer-qr{display:none}}

/* Confidentiality agreement page */
.conf-page{--conf-navy:#061a2e;--conf-gold:#b68a3e;--conf-wine:#791723;--conf-paper:#faf6ed;color:#252d33;background:#faf6ed}
.conf-page .site-header{background:#05192c;color:#ead5a0;border-bottom-color:#b98b3d}.conf-page .nav-trigger[aria-current="page"]{color:#f2d993}
.conf-main{padding:104px 0 52px;background:radial-gradient(circle at 24% 18%,rgba(196,155,83,.08),transparent 25%),#faf6ed}
.conf-shell{width:min(1180px,calc(100% - 64px));margin:auto}.conf-breadcrumb{padding-top:24px;color:#80745f;font-size:12px}
.conf-hero{text-align:center;padding:24px 0 30px}.conf-hero h1{display:flex;align-items:center;justify-content:center;gap:26px;margin:0;color:#13283b;font:500 45px/1.4 "Noto Serif SC","Songti SC",serif;letter-spacing:.16em}.conf-hero h1::before,.conf-hero h1::after{content:"";width:110px;height:1px;background:linear-gradient(90deg,transparent,#b78a40)}.conf-hero h1::after{transform:scaleX(-1)}.conf-hero p{margin:8px 0 0;color:#716555;letter-spacing:.1em}
.conf-principles{display:grid;grid-template-columns:repeat(4,1fr);border:3px double rgba(178,132,55,.48);background:rgba(255,252,246,.78)}.conf-principles article{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center;min-height:144px;padding:18px;border-right:1px solid rgba(180,137,66,.35)}.conf-principles article:last-child{border-right:0}.conf-principles img{width:84px}.conf-principles h2{margin:0 0 8px;font:500 20px/1.3 "Noto Serif SC","Songti SC",serif}.conf-principles p{margin:0;color:#756a5d;font-size:12px;line-height:1.7}
.conf-warning{margin:22px 0;padding:16px;text-align:center;border:3px double rgba(181,133,52,.43);color:#885816;background:#fbf1dc;font-size:16px;letter-spacing:.1em}
.conf-agreement-layout{display:grid;grid-template-columns:1.35fr .85fr;gap:22px;align-items:start}.conf-document,.conf-sign,.conf-versions,.conf-faq,.conf-help{border:1px solid rgba(169,126,55,.48);background:rgba(255,253,248,.88);box-shadow:0 7px 20px rgba(76,53,19,.07)}
.conf-document>header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 14px}.conf-document>header h2{margin:0;font:500 21px/1.4 "Noto Serif SC","Songti SC",serif}.conf-document>header button{border:0;background:transparent;margin-left:8px}.conf-document-body{display:grid;grid-template-columns:145px 1fr;min-height:670px;margin:0 14px;border:1px solid rgba(169,126,55,.4)}.conf-document-body nav{display:flex;flex-direction:column;border-right:1px solid rgba(169,126,55,.35)}.conf-document-body nav button{padding:14px 15px;border:0;text-align:left;color:#39434a;background:transparent}.conf-document-body nav button.is-active{color:#fff1cf;background:#071c32}.conf-document-body nav button.is-active::after{content:"›";float:right}.conf-document-body article{padding:26px 28px;color:#4b4741}.conf-document-body h3{margin:0 0 16px;font-size:18px}.conf-document-body p{font-size:14px;line-height:2}.conf-document>footer{display:flex;align-items:center;justify-content:center;gap:32px;padding:14px}.conf-document>footer button{border:0;background:transparent;font-size:26px}
.conf-sign{padding:22px 24px}.conf-status{width:120px;margin:0 auto 16px;padding:8px;text-align:center;border:2px solid #b88a3e;color:#9b6d29;background:#fffaf0}.conf-status.is-done{color:#4f8c50;border-color:#6b9d66}.conf-sign h2{margin:18px 0 10px;padding-bottom:10px;border-bottom:1px solid rgba(172,128,56,.42);font-size:16px}.conf-sign dl{display:grid;grid-template-columns:110px 1fr;margin:0;font-size:13px;line-height:2}.conf-sign dd{margin:0}.conf-sign form{display:grid;gap:12px}.conf-sign form>label{font-size:12px;line-height:1.55}.conf-sign input[type=checkbox]{width:19px;height:19px;margin-right:8px;vertical-align:middle;accent-color:#071c32}.conf-signature{display:grid;gap:6px;margin-top:8px}.conf-signature input{height:64px;font:italic 27px/1 cursive}.conf-sign input[type=date],.conf-signature input,.conf-captcha input{width:100%;padding:10px;border:1px solid rgba(169,126,55,.48);background:#fffdf8}.conf-captcha{display:grid;grid-template-columns:1fr 100px 34px;gap:7px}.conf-captcha b{display:grid;place-items:center;border:1px solid #d1b780;background:repeating-linear-gradient(45deg,#faf4e8,#faf4e8 4px,#eee3d0 4px,#eee3d0 6px);font:22px/1 monospace;letter-spacing:.3em}.conf-captcha button{border:0;background:transparent;font-size:20px}.conf-confirm{height:54px;border:2px solid #ae7d35;outline:1px solid #e2bd72;outline-offset:-6px;color:#fff0ca;background:linear-gradient(#85202c,#68101b);font-size:19px;letter-spacing:.14em}.conf-sign form>small{text-align:center;color:#766a5b}
.conf-versions{margin-top:24px;padding:18px}.conf-versions h2,.conf-faq>h2{margin:0 0 12px;font:500 20px/1.4 "Noto Serif SC","Songti SC",serif}.conf-table-wrap{overflow-x:auto}.conf-versions table{width:100%;min-width:700px;border-collapse:collapse}.conf-versions th,.conf-versions td{padding:12px;border:1px solid rgba(171,130,60,.3);text-align:left;font-size:12px}.conf-versions th{background:rgba(224,202,155,.2)}.conf-versions td b{padding:4px;color:#fff;background:#7a1724}.conf-versions button{border:0;background:transparent}
.conf-faq{margin-top:22px;padding:20px}.conf-faq>h2{text-align:center;font-size:25px}.conf-faq details{border:1px solid rgba(170,128,56,.34);border-bottom:0}.conf-faq details:last-child{border-bottom:1px solid rgba(170,128,56,.34)}.conf-faq summary{padding:14px;cursor:pointer;list-style:none}.conf-faq summary::before{content:"Q";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:12px;border-radius:50%;color:#fff;background:#8b6d3c}.conf-faq details p{margin:0;padding:0 54px 16px;color:#746858}
.conf-help{display:grid;grid-template-columns:1.5fr 1fr auto;gap:30px;align-items:center;margin-top:22px;padding:22px 34px;border-width:3px;border-style:double}.conf-help div{display:grid;gap:6px}.conf-help a{padding:12px 32px;color:#fff4d6;background:#791723}
@media(max-width:980px){.conf-principles{grid-template-columns:1fr 1fr}.conf-principles article:nth-child(2){border-right:0}.conf-principles article{border-bottom:1px solid rgba(180,137,66,.35)}.conf-agreement-layout{grid-template-columns:1fr}.conf-document-body{min-height:520px}}
@media(max-width:700px){.conf-main{padding-top:82px}.conf-shell{width:calc(100% - 28px)}.conf-hero h1{font-size:31px;gap:10px}.conf-hero h1::before,.conf-hero h1::after{width:28px}.conf-principles{grid-template-columns:1fr}.conf-principles article{border-right:0}.conf-document-body{grid-template-columns:1fr;min-height:0}.conf-document-body nav{display:grid;grid-template-columns:1fr 1fr;border:0;border-bottom:1px solid rgba(169,126,55,.35)}.conf-document-body nav button{font-size:12px}.conf-document-body article{min-height:350px;padding:20px}.conf-sign{padding:20px 16px}.conf-help{grid-template-columns:1fr;text-align:center}.conf-help a{justify-self:stretch}.conf-document>header{align-items:flex-start;gap:10px}.conf-document>header h2{font-size:17px}}

/* Dynamic annual calendar and notices */
.calendar-page{--cal-navy:#061a2e;--cal-gold:#b5883d;--cal-wine:#861825;--cal-paper:#faf6ed;color:#24313a;background:#faf6ed}.calendar-page .site-header{background:#05192c;color:#ead5a0;border-bottom-color:#b98b3d}.calendar-page .nav-trigger[aria-current="page"]{color:#f2d993}
.calendar-main{padding:104px 0 48px;background-color:#faf6ed;background-image:linear-gradient(90deg,rgba(255,255,255,.4),transparent 35%,rgba(255,255,255,.2)),url("assets/fees/fees-campus-linework.png");background-repeat:no-repeat;background-position:center 96px;background-size:100% auto}.calendar-shell{width:min(1160px,calc(100% - 64px));margin:auto}.calendar-breadcrumb{padding-top:22px;color:#847560;font-size:12px}.calendar-hero{text-align:center;padding:30px 0 34px}.calendar-hero h1{display:flex;align-items:center;justify-content:center;gap:24px;margin:0;color:#132b3e;font:500 49px/1.4 "Noto Serif SC","Songti SC",serif;letter-spacing:.14em}.calendar-hero h1::before,.calendar-hero h1::after{content:"";width:100px;height:1px;background:linear-gradient(90deg,transparent,#b88a40)}.calendar-hero h1::after{transform:scaleX(-1)}.calendar-hero p{margin:12px 0 0;color:#615b54;letter-spacing:.08em}
.calendar-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:28px}.calendar-stats article{display:flex;align-items:center;justify-content:center;gap:24px;min-height:128px;border:3px double rgba(178,132,55,.46);background:rgba(255,253,248,.84)}.calendar-stats article>span{color:#ad813a;font-size:58px}.calendar-stats small{display:block;font-size:14px}.calendar-stats strong{display:block;margin-top:8px;color:#0b1d33;font:400 43px/1 "Noto Serif SC","Songti SC",serif}.calendar-stats em{margin-left:6px;font-size:15px;font-style:normal}
.calendar-filters{display:flex;margin:0 0 22px;overflow-x:auto}.calendar-filters button{flex:0 0 auto;min-width:116px;padding:13px 20px;border:1px solid rgba(174,130,58,.33);border-right:0;color:#554e45;background:#fffdf8}.calendar-filters button:last-child{border-right:1px solid rgba(174,130,58,.33)}.calendar-filters button.is-active{color:#fff;background:#821725}
.calendar-controls{display:grid;grid-template-columns:50px auto 50px 1fr;align-items:center;margin:0 0 16px}.calendar-controls>button:not(.calendar-today){border:0;background:transparent;font-size:34px}.calendar-controls>button:disabled{opacity:.25}.calendar-controls h2{margin:0;text-align:center;font:400 29px/1.4 "Noto Serif SC","Songti SC",serif}.calendar-today{justify-self:end;padding:10px 18px;border:1px solid #b58a45;color:#8e642a;background:#fffdf8}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.calendar-grid{border:1px solid rgba(171,128,56,.45);background:rgba(255,253,248,.88)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid rgba(171,128,56,.32)}.calendar-weekdays b{padding:14px;text-align:center;border-right:1px solid rgba(171,128,56,.25);font-weight:500}.calendar-weekdays b:first-child{color:#9e1726}.calendar-weekdays b:last-child{color:#2a6597}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{position:relative;display:grid;align-content:start;justify-items:start;min-height:112px;padding:10px;border:0;border-right:1px solid rgba(171,128,56,.22);border-bottom:1px solid rgba(171,128,56,.22);color:#27333c;background:transparent;text-align:left}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-child(n+36){border-bottom:0}.calendar-day.is-out{color:#c5bbac;background:rgba(237,229,214,.25)}.calendar-day>b{font-size:15px;font-weight:500}.calendar-day .moon{align-self:end;margin-top:auto;color:#092442;font-size:20px}.calendar-day em{display:block;max-width:100%;margin-top:8px;padding:4px 7px;border-radius:4px;font-size:10px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day em.meeting{background:#cde0c0}.calendar-day em.ceremony{background:#d7cae7}.calendar-day em.course{background:#f0d8a6}.calendar-day em.holiday{background:#bed8e8}.calendar-day em.notice{background:#efb5c2}.calendar-day.is-today{color:#fff;border-radius:6px;background:linear-gradient(#8a1826,#6f101c)}.calendar-day.is-today .moon{color:#fff}.calendar-day.is-today small{position:absolute;bottom:8px;left:10px;color:#f4dbaa}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;color:#655e55;font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:11px;height:11px;border-radius:2px}.calendar-legend i.course{background:#0c2948}.calendar-legend i.meeting{background:#cde0c0}.calendar-legend i.ceremony{background:#d7cae7}.calendar-legend i.course-adjust{background:#f0d8a6}.calendar-legend i.holiday{background:#bed8e8}.calendar-legend i.notice{background:#efb5c2}
.calendar-highlights{padding:18px;border:1px solid rgba(171,128,56,.48);background:rgba(255,253,248,.9)}.calendar-highlights h2{margin:0 0 12px;padding-bottom:12px;text-align:center;border-bottom:1px solid rgba(171,128,56,.42);font:500 21px/1.4 "Noto Serif SC","Songti SC",serif}.calendar-highlights article{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:12px 0}.calendar-highlights article>b{display:grid;place-items:center;min-height:58px;border:1px solid #d2b47c;border-radius:5px;color:#a3222f;font-weight:500}.calendar-highlights article div{display:grid;gap:3px}.calendar-highlights article strong{font-size:13px}.calendar-highlights article span,.calendar-highlights article small{color:#6f675c;font-size:11px}.calendar-highlights>button{width:100%;padding:12px;border:1px solid #b98c42;background:transparent}.calendar-empty{color:#8b7e6d;text-align:center}
.calendar-alert{display:grid;grid-template-columns:96px 1fr 180px;gap:20px;align-items:center;margin-top:28px;padding:20px 30px;border:3px double rgba(161,27,42,.5);background:rgba(255,252,245,.9)}.calendar-alert>span{display:grid;place-items:center;width:72px;height:72px;border:3px solid #fff;border-radius:50%;color:#fff;background:#851827;font-size:36px;box-shadow:0 0 0 2px #9f2c38}.calendar-alert h2{margin:0;color:#8b1c2a;font-size:21px}.calendar-alert strong{display:block;margin:7px 0;font-size:15px}.calendar-alert p{margin:0;color:#6e6355;font-size:12px}.calendar-alert button{height:48px;border:0;color:#fff4dc;background:#801522}
.calendar-lower{display:grid;grid-template-columns:1.5fr .75fr;gap:22px;margin-top:24px}.calendar-notices,.calendar-subscribe{padding:22px;border:1px solid rgba(171,128,56,.45);background:rgba(255,253,248,.88)}.calendar-notices h2,.calendar-subscribe h2{margin:0 0 15px;padding-bottom:12px;border-bottom:1px solid rgba(171,128,56,.38);font-size:19px}.calendar-notices article{display:grid;grid-template-columns:82px 1fr 110px 20px 60px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid rgba(171,128,56,.25);font-size:11px}.calendar-notices article>span{padding:5px;border-radius:3px;text-align:center}.calendar-notices .meeting{background:#cde0c0}.calendar-notices .ceremony{background:#d7cae7}.calendar-notices .course{background:#f0d8a6}.calendar-notices .holiday{background:#bed8e8}.calendar-notices .notice{background:#efb5c2}.calendar-notices time{color:#766b5d}.calendar-notices i{color:#9d1d2b;font-style:normal}.calendar-notices article button{border:1px solid #b88b42;background:transparent}.calendar-notices>button{display:block;margin:18px auto 0;padding:10px 35px;border:1px solid #b88b42;background:transparent}.calendar-subscribe h3{margin:20px 0 5px;font-size:16px}.calendar-subscribe p{color:#756b5d;font-size:12px;line-height:1.7}.calendar-subscribe button{padding:12px 20px;border:0;color:#f5ddb0;background:#061c32}.calendar-subscribe button:last-child{display:block;margin-top:8px}
@media(max-width:900px){.calendar-layout,.calendar-lower{grid-template-columns:1fr}.calendar-highlights{order:-1}.calendar-days{min-width:760px}.calendar-grid{overflow-x:auto}.calendar-stats{grid-template-columns:1fr}.calendar-alert{grid-template-columns:72px 1fr}.calendar-alert button{grid-column:1/3}.calendar-notices article{grid-template-columns:76px 1fr 88px 16px 50px}}
@media(max-width:700px){.calendar-main{padding-top:82px}.calendar-shell{width:calc(100% - 28px)}.calendar-hero h1{font-size:33px;gap:10px}.calendar-hero h1::before,.calendar-hero h1::after{width:30px}.calendar-stats{gap:12px}.calendar-stats article{min-height:100px}.calendar-controls{grid-template-columns:42px 1fr 42px}.calendar-controls h2{font-size:24px}.calendar-today{grid-column:1/4;justify-self:center;margin-top:12px}.calendar-alert{padding:18px 14px}.calendar-alert>span{width:58px;height:58px}.calendar-notices article{grid-template-columns:72px 1fr 46px}.calendar-notices article time,.calendar-notices article i{display:none}.calendar-notices,.calendar-subscribe{padding:18px 14px}}

/* Student council — formal editorial page with deliberate content placeholders. */
.student-council-page {
  background: #07111d;
}

.student-council-page .dropdown-menu a[aria-current="page"] {
  color: #fff3d7;
  background: rgba(197, 170, 114, .12);
}

.council-main {
  overflow: hidden;
}

.council-wrap {
  width: min(1180px, calc(100% - 112px));
  margin: 0 auto;
}

.council-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 820px;
  padding: 150px max(7vw, 56px) 90px;
  color: var(--ivory);
  background:
    linear-gradient(90deg, rgba(4, 12, 22, .97) 0%, rgba(4, 12, 22, .82) 42%, rgba(4, 12, 22, .36) 72%, rgba(4, 12, 22, .66) 100%),
    linear-gradient(180deg, rgba(4, 12, 22, .1) 45%, #07111d 100%),
    url("yuehua-campus-hero.png") center 38% / cover no-repeat;
  isolation: isolate;
}

.council-hero::after {
  content: "";
  position: absolute;
  inset: 104px 4vw 48px;
  z-index: -1;
  border: 1px solid rgba(197, 170, 114, .3);
  pointer-events: none;
}

.council-hero-copy {
  position: relative;
  z-index: 2;
  width: min(760px, 72vw);
  padding-left: 5vw;
}

.council-hero h1 {
  margin: 30px 0 22px;
  color: #fff3d7;
  font-size: clamp(58px, 7.2vw, 104px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: .1em;
  text-shadow: 0 20px 48px rgba(0, 0, 0, .5);
}

.council-lead {
  margin: 0;
  color: rgba(245, 239, 227, .8);
  font-size: clamp(18px, 1.8vw, 25px);
  line-height: 2;
  letter-spacing: .16em;
}

.council-scroll-cue {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 62px;
  color: rgba(245, 239, 227, .58);
  font-size: 12px;
  letter-spacing: .22em;
}

.council-scroll-cue span {
  width: 54px;
  height: 1px;
  background: var(--gold);
}

.council-vertical-mark {
  position: absolute;
  right: 7vw;
  bottom: 104px;
  margin: 0;
  color: rgba(214, 189, 122, .62);
  font-size: 13px;
  letter-spacing: .6em;
  writing-mode: vertical-rl;
}

.council-orbit {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(197, 170, 114, .14);
  border-radius: 50%;
  pointer-events: none;
}

.council-orbit-one {
  top: 186px;
  right: 10vw;
  width: 310px;
  height: 310px;
}

.council-orbit-two {
  top: 232px;
  right: calc(10vw + 46px);
  width: 218px;
  height: 218px;
}

.council-paper {
  color: #17201f;
  background:
    radial-gradient(circle at 18% 15%, rgba(197, 170, 114, .12), transparent 26%),
    linear-gradient(90deg, rgba(32, 44, 38, .035) 1px, transparent 1px),
    #f5efe3;
  background-size: auto, 72px 72px, auto;
}

.council-president,
.council-departments,
.council-mission {
  padding: 112px 0 124px;
}

.council-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  column-gap: 28px;
  margin-bottom: 52px;
}

.council-heading p {
  grid-column: 1 / -1;
  margin: 0 0 14px;
  color: #8c6d36;
  font: 600 11px/1.4 Georgia, serif;
  letter-spacing: .28em;
}

.council-heading h2 {
  margin: 0;
  color: #12241f;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 400;
  letter-spacing: .12em;
}

.council-heading > span {
  height: 1px;
  margin-bottom: 12px;
  background: linear-gradient(90deg, rgba(139, 106, 49, .65), transparent);
}

.president-card {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) 1.22fr;
  min-height: 590px;
  border: 1px solid rgba(105, 81, 42, .32);
  background: rgba(255, 252, 244, .72);
  box-shadow: 0 28px 60px rgba(31, 37, 29, .1);
}

.president-photo-placeholder {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 520px;
  overflow: hidden;
  color: rgba(245, 239, 227, .78);
  background:
    linear-gradient(160deg, rgba(13, 32, 31, .72), rgba(5, 15, 26, .94)),
    linear-gradient(135deg, #2f514a, #0a1724);
}

.president-photo-placeholder::before,
.president-photo-placeholder::after {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(197, 170, 114, .3);
}

.president-photo-placeholder::after {
  inset: auto 0 18%;
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, transparent, rgba(197, 170, 114, .4), transparent);
}

.placeholder-moon {
  position: relative;
  width: 104px;
  height: 104px;
  margin-bottom: 30px;
  border: 1px solid rgba(197, 170, 114, .54);
  border-radius: 50%;
}

.placeholder-moon::after {
  content: "";
  position: absolute;
  top: -8px;
  left: 27px;
  width: 88px;
  height: 104px;
  border-radius: 50%;
  background: #0b1c26;
}

.president-photo-placeholder strong {
  position: relative;
  z-index: 1;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: .24em;
}

.president-photo-placeholder small {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  color: rgba(197, 170, 114, .58);
  font: 10px/1.2 Georgia, serif;
  letter-spacing: .25em;
}

.president-profile {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 6vw, 78px);
}

.profile-label {
  margin: 0 0 30px;
  color: #9a7741;
  font: 11px/1.4 Georgia, serif;
  letter-spacing: .24em;
}

.profile-name-placeholder {
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(105, 81, 42, .22);
}

.profile-name-placeholder span {
  display: block;
  color: #1a2d28;
  font-size: clamp(28px, 3vw, 42px);
  letter-spacing: .18em;
}

.profile-name-placeholder i {
  display: block;
  margin-top: 10px;
  color: #8a857b;
  font: 10px/1.4 Georgia, serif;
  font-style: normal;
  letter-spacing: .2em;
}

.profile-copy-placeholder {
  position: relative;
  margin-top: 40px;
}

.profile-copy-placeholder > span {
  display: block;
  width: 100%;
  height: 1px;
  margin: 17px 0;
  background: rgba(53, 65, 58, .18);
}

.profile-copy-placeholder > span.short {
  width: 58%;
}

.profile-copy-placeholder > p {
  position: absolute;
  top: 14px;
  left: 0;
  margin: 0;
  padding: 8px 18px 8px 0;
  color: #99958a;
  background: #fbf7ef;
  font-size: 14px;
  letter-spacing: .18em;
}

.president-profile blockquote {
  margin: 34px 0 0;
  padding-left: 22px;
  border-left: 2px solid #b8995d;
  color: #5b625c;
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: .08em;
}

.council-mission {
  position: relative;
  color: var(--ivory);
  background:
    linear-gradient(90deg, rgba(5, 15, 25, .94), rgba(7, 23, 30, .86)),
    url("yuehua-campus-hero.png") center 65% / cover fixed;
}

.council-heading-light p {
  color: #c5aa72;
}

.council-heading-light h2 {
  color: #fff3d7;
}

.council-heading-light > span {
  background: linear-gradient(90deg, rgba(197, 170, 114, .7), transparent);
}

.mission-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(197, 170, 114, .36);
  border-bottom: 1px solid rgba(197, 170, 114, .36);
}

.mission-grid article {
  position: relative;
  min-height: 290px;
  padding: 44px 38px;
  border-right: 1px solid rgba(197, 170, 114, .26);
  background: rgba(8, 20, 30, .48);
}

.mission-grid article:last-child {
  border-right: 0;
}

.mission-grid b {
  color: rgba(197, 170, 114, .56);
  font: 18px/1 Georgia, serif;
}

.mission-grid h3 {
  margin: 54px 0 18px;
  color: #fff3d7;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: .14em;
}

.mission-grid p {
  margin: 0;
  color: rgba(245, 239, 227, .66);
  font-size: 15px;
  line-height: 2;
  letter-spacing: .06em;
}

.department-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 56px;
  border-top: 1px solid rgba(105, 81, 42, .28);
}

.department-list article {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 22px;
  align-items: center;
  min-height: 132px;
  border-bottom: 1px solid rgba(105, 81, 42, .28);
}

.department-list article > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(139, 106, 49, .48);
  border-radius: 50%;
  color: #8c6d36;
  font: 12px/1 Georgia, serif;
}

.department-list h3 {
  margin: 0 0 10px;
  color: #1c302a;
  font-size: 23px;
  font-weight: 400;
  letter-spacing: .14em;
}

.department-list p {
  margin: 0;
  color: #72766f;
  font-size: 13px;
  letter-spacing: .08em;
}

.council-back {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 62px;
  color: #684f2e;
  font-size: 14px;
  letter-spacing: .16em;
}

.council-back span {
  transition: transform .2s ease;
}

.council-back:hover span {
  transform: translateX(-5px);
}

@media (max-width: 820px) {
  .council-wrap {
    width: min(100% - 44px, 680px);
  }

  .council-hero {
    min-height: 680px;
    padding: 126px 28px 64px;
    background-position: 62% center;
  }

  .council-hero::after {
    inset: 104px 18px 28px;
  }

  .council-hero-copy {
    width: 100%;
    padding-left: 14px;
  }

  .council-hero h1 {
    font-size: clamp(44px, 14vw, 68px);
    letter-spacing: .05em;
  }

  .council-lead {
    font-size: 16px;
  }

  .council-vertical-mark,
  .council-orbit {
    display: none;
  }

  .council-president,
  .council-departments,
  .council-mission {
    padding: 78px 0 88px;
  }

  .president-card {
    grid-template-columns: 1fr;
  }

  .president-photo-placeholder {
    min-height: 430px;
  }

  .president-profile {
    padding: 42px 28px 48px;
  }

  .mission-grid,
  .department-list {
    grid-template-columns: 1fr;
  }

  .mission-grid article {
    min-height: auto;
    padding: 36px 28px 40px;
    border-right: 0;
    border-bottom: 1px solid rgba(197, 170, 114, .26);
  }

  .mission-grid article:last-child {
    border-bottom: 0;
  }

  .mission-grid h3 {
    margin-top: 28px;
  }

  .department-list {
    gap: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .council-back span {
    transition: none;
  }
}
/* Calendar mobile overflow containment */
.calendar-layout>section{min-width:0}.calendar-grid{max-width:100%;overflow-x:auto}.calendar-weekdays{min-width:760px}
@media(max-width:900px){.calendar-layout,.calendar-layout>section,.calendar-lower{min-width:0;max-width:100%}.calendar-grid{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.calendar-weekdays,.calendar-days{min-width:760px}}
/* Health and medical contact page */
.health-page{--hn:#071a30;--hg:#b88935;--hw:#811b27;--hp:#fbf7ee;color:#26313c;background:#f8f1e3;font-family:"Noto Serif SC","Songti SC","SimSun",serif}
.health-page .site-header{background:#05192d;color:#ead5a0;border-bottom:2px solid #b78a3d}.health-page .nav-trigger[aria-current=page]{color:#f5dda2}
.health-main{padding:145px 24px 58px;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.88),transparent 42%),linear-gradient(90deg,rgba(184,137,53,.025) 1px,transparent 1px),#faf6ed;background-size:auto,12px 12px}
.health-shell{width:min(1380px,100%);margin:auto}.health-breadcrumb{font-size:14px;color:#8d7247;margin-bottom:26px}
.health-hero{text-align:center;margin:0 auto 32px}.health-hero h1{display:inline-block;margin:0 22px;color:var(--hn);font-size:clamp(38px,4.2vw,64px);font-weight:500;letter-spacing:0}.health-hero>span{color:var(--hg);font-size:25px}.health-hero p{font-size:20px;letter-spacing:2px;color:#53606c;margin:12px 0 0}
.ornate-panel{position:relative;border:1px solid rgba(176,128,52,.58);background:rgba(255,252,245,.86);box-shadow:0 5px 18px rgba(85,61,28,.05)}
.ornate-panel:before,.ornate-panel:after{content:"";position:absolute;width:18px;height:18px;border-color:#b88a3b;pointer-events:none}.ornate-panel:before{left:6px;top:6px;border-left:1px solid;border-top:1px solid}.ornate-panel:after{right:6px;bottom:6px;border-right:1px solid;border-bottom:1px solid}
.health-student-card{display:grid;grid-template-columns:112px 1fr 1fr;align-items:center;gap:28px;padding:24px 34px;margin-bottom:24px}.health-student-card>img{width:86px;height:100px}.health-student-card h2{font-size:22px;margin:0 0 8px}.health-student-card small{font-size:14px;font-weight:400}.health-student-card p{line-height:1.8;margin:0;color:#4e5962}.health-private{padding-left:34px;border-left:1px solid rgba(184,137,53,.45)}.health-private b{color:#7e612e}
.health-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.health-stats article{min-height:142px;padding:22px;display:flex;align-items:center;gap:17px}.health-stats img{width:70px;height:70px}.health-stats h2{font-size:20px;margin:0 0 3px}.health-stats small{display:block;color:#788088}.health-stats strong{display:block;color:var(--hw);font-size:32px;font-weight:500;line-height:1.25}.health-stats strong em{font-style:normal;font-size:14px;margin-left:8px;color:#5e6570}.health-stats p{margin:0;color:#8b7652;font-size:13px}
.health-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.health-dashboard>section,.health-records,.health-upload,.health-appointment{padding:22px}.health-dashboard header,.health-records header,.health-appointment header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(184,137,53,.42);padding-bottom:12px;margin-bottom:14px}.health-dashboard h2,.health-records h2,.health-actions h2{font-size:22px;margin:0;color:var(--hn)}.health-dashboard button,.health-records button,.health-appointment header button{border:1px solid #b88a3b;background:transparent;color:#65512f;padding:8px 16px;font-family:inherit}
.health-profile dl{margin:0}.health-profile dl div{display:grid;grid-template-columns:145px 1fr;border-bottom:1px solid #e2d5bd;min-height:46px;align-items:center}.health-profile dt{color:#765b2d}.health-profile dd{margin:0;color:#4a545f}.health-note{font-size:13px;color:#857557}
.health-care article{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:14px 6px;border-bottom:1px solid #e0d3bc}.health-care article:last-child{border-bottom:0}.health-care article>i{width:50px;height:50px;border-radius:50%;background:var(--hn);color:#e4bd63;display:grid;place-items:center;font-style:normal;font-size:28px}.health-care h3{font-size:20px;margin:0}.health-care h3 span{font-size:12px;color:#578151;border:1px solid #8fad86;padding:2px 9px;border-radius:14px;margin-left:8px}.health-care p{line-height:1.65;color:#56606a}.health-care dl{display:grid;grid-template-columns:86px 1fr;margin:0;font-size:14px;line-height:1.65}.health-care dt{color:#876f47}.health-care dd{margin:0}
.health-hotline{display:grid;grid-template-columns:82px 1.4fr 1fr auto;gap:28px;align-items:center;padding:18px 30px;color:#f2d88d;background:linear-gradient(105deg,#3e1018,#7c1824 50%,#3b0f17);border:4px double #caa04c;margin:0 0 8px}.health-hotline img{width:70px}.health-hotline small{display:block;font-size:15px}.health-hotline a:not(.health-hotline-button),.health-hotline strong{display:block;color:#fae7ac;font-size:24px;text-decoration:none;margin-top:7px}.health-hotline-button{border:1px solid #e4c577;background:#6d1420;color:#fff0bd;text-decoration:none;padding:13px 22px;white-space:nowrap}.health-emergency{text-align:center;color:#7e693f;margin:8px 0 24px}
.health-records{margin-bottom:24px}.health-table-wrap{overflow:auto}.health-records table{width:100%;border-collapse:collapse;min-width:850px}.health-records th,.health-records td{padding:13px 12px;border:1px solid #dfceb1;text-align:left}.health-records th{background:#f4ead8;color:#785c2a}.health-records td{font-size:14px;color:#4e5961}
.health-actions{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.health-actions label{display:block;color:#3b4650;font-weight:600;margin:13px 0 7px}.health-upload textarea{width:100%;min-height:106px;resize:vertical;border:1px solid #d7c39f;background:#fffdf8;padding:12px;font:inherit;box-sizing:border-box}.health-upload>span{display:block;text-align:right;font-size:12px;color:#8c877d}.health-upload>p,.health-appointment>p{color:#70777d;margin:5px 0}.health-dropzone{min-height:126px!important;border:1px dashed #a6977c!important;display:flex!important;align-items:center;justify-content:center;flex-direction:column;margin-top:6px!important;cursor:pointer}.health-dropzone img{width:50px}.health-dropzone strong{font-weight:500;margin:5px}.health-dropzone small{color:#858585}.health-dropzone input{display:none}
.health-choice,.health-dates,.health-times{display:flex;gap:9px;flex-wrap:wrap}.health-choice button,.health-dates button,.health-times button{border:1px solid #d2b781;background:#fffdf7;color:#48525b;padding:9px 16px;font:inherit}.health-choice .is-active,.health-dates .is-active,.health-times .is-active{background:var(--hw);color:#fff;border-color:var(--hw)}.health-dates button{display:flex;flex-direction:column;align-items:center;padding:8px 12px}.health-dates small{font-size:11px;margin-top:2px}.health-confirm{width:100%;margin-top:18px;border:0;background:var(--hw);color:#fff4d6;font:inherit;font-size:18px;padding:13px}.health-appointment>small{display:block;text-align:center;color:#978b76;margin-top:8px}
.health-privacy{padding:20px 28px;text-align:center}.health-privacy h2{font-size:20px;color:#765921}.health-privacy>p{color:#646b70}.health-privacy>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e0d0b5;margin-top:15px;padding-top:15px}.health-privacy span{padding:0 20px;color:#6a7177}.health-privacy span+span{border-left:1px solid #dfcfb4}.health-privacy b{display:block;color:#765921;margin-bottom:5px}
.health-toast{z-index:150}
@media(max-width:1050px){.health-stats{grid-template-columns:repeat(2,1fr)}.health-hotline{grid-template-columns:70px 1fr 1fr}.health-hotline-button{grid-column:2/4;text-align:center}.health-actions{grid-template-columns:1fr}.health-dashboard{grid-template-columns:1fr}}
@media(max-width:720px){.health-main{padding:24px 12px 40px}.health-breadcrumb{font-size:12px}.health-hero h1{font-size:34px;margin:0 7px}.health-hero>span{font-size:14px}.health-hero p{font-size:15px}.health-student-card{grid-template-columns:70px 1fr;padding:18px 16px;gap:12px}.health-student-card>img{width:62px;height:74px}.health-private{grid-column:1/-1;border-left:0;border-top:1px solid #ddcba9;padding:14px 0 0}.health-stats{grid-template-columns:1fr}.health-stats article{min-height:112px}.health-profile dl div{grid-template-columns:115px 1fr}.health-hotline{grid-template-columns:56px 1fr;padding:16px;gap:13px}.health-hotline img{width:52px}.health-hotline>div:nth-of-type(2){grid-column:1/-1}.health-hotline-button{grid-column:1/-1}.health-privacy>div{grid-template-columns:1fr;text-align:left}.health-privacy span{padding:12px 0}.health-privacy span+span{border-left:0;border-top:1px solid #dfcfb4}.health-dashboard>section,.health-records,.health-upload,.health-appointment{padding:16px}.health-dashboard header,.health-records header,.health-appointment header{align-items:flex-start;gap:10px}.health-care article{grid-template-columns:44px 1fr}.health-care article>i{width:40px;height:40px;font-size:22px}.health-dates button,.health-times button{flex:1 1 26%;padding:8px 4px}}

.calendar-highlights article{cursor:pointer;transition:background-color .2s ease,transform .2s ease}.calendar-highlights article:hover,.calendar-highlights article:focus{outline:0;background:rgba(181,136,61,.09);transform:translateX(3px)}
.calendar-dialog{width:min(560px,calc(100% - 32px));padding:38px 44px;border:3px double rgba(181,136,61,.75);color:#263541;background:#fcf8ef;box-shadow:0 24px 80px rgba(2,14,27,.45)}.calendar-dialog::backdrop{background:rgba(2,14,27,.72);backdrop-filter:blur(3px)}.calendar-dialog-close{position:absolute;top:14px;right:16px;width:36px;height:36px;border:0;color:#53606a;background:transparent;font-size:28px}.calendar-dialog>p:first-of-type{margin:0;text-align:center;color:#a6772f;letter-spacing:.22em}.calendar-dialog h2{margin:12px 0 8px;text-align:center;color:#10283c;font:500 33px/1.4 "Noto Serif SC","Songti SC",serif;letter-spacing:.08em}.calendar-dialog-rule{display:flex;align-items:center;justify-content:center;gap:10px;color:#b07e35}.calendar-dialog-rule span{width:90px;height:1px;background:#c8a66c}.calendar-dialog-rule i{font-style:normal}.calendar-dialog dl{display:grid;gap:0;margin:25px 0;border:1px solid rgba(181,136,61,.35)}.calendar-dialog dl>div{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid rgba(181,136,61,.25)}.calendar-dialog dl>div:last-child{border-bottom:0}.calendar-dialog dt,.calendar-dialog dd{margin:0;padding:12px 15px}.calendar-dialog dt{color:#9b722f;background:rgba(181,136,61,.08)}.calendar-dialog-copy{color:#665f55;line-height:1.9}.calendar-dialog-confirm{display:block;min-width:180px;margin:26px auto 0;padding:13px 26px;border:1px solid #b6873c;color:#f8e6bf;background:#801522}
@media(max-width:600px){.calendar-dialog{padding:34px 22px}.calendar-dialog h2{font-size:26px}.calendar-dialog dl>div{grid-template-columns:70px 1fr}}

/* Student council reference rebuild — 2026-07-22 */
.council-reference-page{--cr-navy:#06192e;--cr-gold:#b98a3b;--cr-gold-soft:#d3b36f;--cr-paper:#fbf6ea;--cr-ink:#0a1e35}
.council-ref-main{position:relative;padding:154px 0 42px;color:var(--cr-ink);font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif;background-color:var(--cr-paper);background-image:radial-gradient(circle at 20% 8%,rgba(255,255,255,.9),transparent 27%),repeating-linear-gradient(0deg,rgba(126,93,45,.018) 0 1px,transparent 1px 5px),linear-gradient(90deg,rgba(180,135,62,.035) 1px,transparent 1px);background-size:auto,auto,14px 14px}
.council-ref-main::before,.council-ref-main::after{content:"";position:absolute;inset:5px;border:1px solid rgba(184,138,60,.28);pointer-events:none}.council-ref-main::after{inset:11px;border-color:rgba(184,138,60,.1)}
.council-ref-intro{padding:18px 24px 22px;text-align:center}.council-title-row,.council-mini-title{display:flex;align-items:center;justify-content:center;gap:12px}.council-title-row span{width:108px;height:1px;background:#b78a42}.council-title-row i,.council-mini-title i{color:#ad7e30;font-style:normal}.council-title-row h1{margin:0 22px;color:#0b1c33;font-size:46px;font-weight:600;letter-spacing:.16em}.council-ref-intro p{margin:8px 0 12px;color:#42484c;font-size:17px;letter-spacing:.08em}.council-title-rule{display:block;width:460px;height:1px;margin:auto;background:linear-gradient(90deg,transparent,#bb8c3e,transparent)}
.council-ornate{position:relative;border:1px solid rgba(179,131,53,.66);background:rgba(255,252,245,.55);box-shadow:inset 0 0 0 5px rgba(255,255,255,.4)}
.council-ornate::before,.council-ornate::after{content:"✥";position:absolute;z-index:2;color:#b88738;font-size:18px;line-height:1}.council-ornate::before{top:-7px;left:-6px}.council-ornate::after{right:-6px;bottom:-7px;transform:rotate(180deg)}
.president-ref,.council-values,.council-org,.council-duties,.council-plan,.council-suggestion{width:min(1460px,calc(100% - 120px));margin-left:auto;margin-right:auto}
.president-ref{display:grid;grid-template-columns:43% 57%;min-height:440px;padding:28px}
.president-ref-photo{display:flex;min-height:390px;flex-direction:column;align-items:center;justify-content:center;border:3px double rgba(154,119,62,.42);color:#9b8a70;background:rgba(255,255,255,.2)}.president-ref-photo svg{width:64px;height:64px;padding:12px;border:1px solid #ae9369;border-radius:50%;color:#ae9369}.president-ref-photo span{margin-top:12px;font-size:17px;letter-spacing:.12em}
.president-ref-copy{padding:8px 8%}.council-mini-title span{width:90px;height:1px;background:linear-gradient(90deg,transparent,#b88a3d)}.council-mini-title span:last-child{transform:scaleX(-1)}.council-mini-title h2{margin:0 8px;font-size:25px;font-weight:600;letter-spacing:.1em}.president-ref-copy dl{margin:22px 0 16px}.president-ref-copy dl div{display:flex;margin:14px 0;font-size:16px}.president-ref-copy dt,.president-ref-copy dd{margin:0}.message-title{margin-top:18px}.president-message{display:grid;place-items:center;height:178px;margin-top:12px;border:3px double rgba(184,138,61,.5);color:#9b948a;font-size:16px;letter-spacing:.1em;background:repeating-linear-gradient(to bottom,transparent 0 27px,rgba(119,106,84,.15) 28px 29px)}
.council-values{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:28px}.council-values article{min-height:164px;padding:54px 25px 17px;text-align:center}.round-icon{position:absolute;top:7px;left:50%;display:grid;place-items:center;width:66px;height:66px;border:3px double #bd8d3c;border-radius:50%;color:#d8ad59;background:#071b32;transform:translate(-50%,-14px);box-shadow:0 0 0 4px #f9f1e2}.round-icon svg{width:39px;height:39px}.council-values h2{margin:10px 0 8px;font-size:20px;letter-spacing:.1em}.council-values p{margin:0;color:#504d48;font-size:13px;line-height:1.65}
.council-org{margin-top:22px;padding:13px 58px 24px}.org-chart{width:92%;margin:12px auto 0;text-align:center}.org-president{position:relative;width:180px;margin:auto;padding:8px;border:3px double #c6a15a;color:#eed28e;background:#071b34;font-size:18px}.org-president::after{content:"";position:absolute;top:100%;left:50%;width:1px;height:29px;background:#14243a;transform:translateX(-.5px)}.org-branches{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-top:52px}.org-branches::before{content:"";position:absolute;top:28px;left:10%;right:10%;height:1px;background:#14243a}.org-branches span{position:relative;box-sizing:border-box;width:78%;justify-self:center;padding:8px 5px;border:3px double #c6a15a;color:#eed28e;background:#071b34;font-size:16px}.org-branches span::before{content:"";position:absolute;top:-27px;left:50%;width:1px;height:27px;background:#14243a;transform:translateX(-.5px)}
.council-duties{margin-top:22px;padding:13px 16px 20px}.duty-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:13px}.duty-grid article{min-height:205px;padding:18px 15px;text-align:center;border:1px solid rgba(177,130,52,.55);background:rgba(255,253,248,.35)}.duty-grid svg{width:62px;height:62px;color:#071b32;filter:drop-shadow(1px 1px 0 #c29140)}.duty-grid h3{margin:7px 0;font-size:20px;font-weight:500}.duty-grid p{margin:0;color:#4f4b44;font-size:13px;line-height:1.65}
.council-plan{margin-top:24px;padding:0 16px 4px}.plan-line{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin-top:15px}.plan-line::before{content:"";position:absolute;top:35px;left:7%;right:7%;height:1px;background:#b88a3d}.plan-line article{position:relative;text-align:center}.plan-line article>div{position:relative;z-index:1;display:grid;place-items:center;width:70px;height:70px;margin:auto;border:3px double #d0a75a;border-radius:50%;color:#ddba6e;background:#071b33}.plan-line svg{width:40px;height:40px}.plan-line h3{margin:5px 0 2px;font-size:15px}.plan-line p{margin:0;font-size:12px;line-height:1.55}
.council-suggestion{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:22px 74px}.council-suggestion h2{margin:0 0 8px;font-size:21px}.council-suggestion p{margin:0;font-size:13px}.council-suggestion a{min-width:250px;padding:13px 24px;border:4px double #c39045;color:#f2d48a;background:#7d1725;text-align:center;font-size:19px;letter-spacing:.13em}.council-suggestion a:hover{background:#68101c}
.council-ref-footer{position:relative;color:#d5b46c;border-top:5px double #ba8c42;background:#06182d}.council-footer-inner{display:grid;grid-template-columns:1.25fr .75fr 1.25fr 1fr;width:min(1460px,calc(100% - 120px));margin:auto;padding:28px 0 20px}.council-footer-inner>section{min-height:160px;padding:0 38px;border-right:1px solid rgba(190,148,73,.3)}.council-footer-inner>section:last-child{border-right:0}.council-footer-brand{display:grid;grid-template-columns:75px 1fr;align-content:start;gap:10px}.council-footer-brand img{width:70px;height:82px;object-fit:contain}.council-footer-brand strong,.council-footer-brand em{display:block;font-style:normal}.council-footer-brand strong{margin-top:11px;font-size:20px}.council-footer-brand em{margin-top:8px;font-size:14px}.council-footer-brand p{grid-column:1/-1;margin:8px 0;font-size:12px;letter-spacing:.08em}.council-footer-inner h2{margin:0 0 12px;font-size:16px;font-weight:500}.council-footer-links{display:flex;flex-direction:column;gap:5px}.council-footer-links a,.council-footer-contact p{margin:0;color:#d7c08d;font-size:11px;line-height:1.7}.council-footer-follow>div{display:flex;gap:35px}.council-footer-follow figure{margin:0;text-align:center}.council-footer-follow i{display:block;width:72px;height:72px;border:6px solid #f2e5c7;background-color:#0a1b31;background-image:repeating-conic-gradient(#0a1b31 0 25%,#f3ead7 0 50%);background-size:12px 12px;box-shadow:0 0 0 2px #c59645}.council-footer-follow figcaption{margin-top:7px;font-size:10px}.council-footer-copy{margin:0;padding:8px;text-align:center;border-top:1px solid rgba(190,148,73,.28);font-size:11px;letter-spacing:.08em}
@media(max-width:1100px){.president-ref,.council-values,.council-org,.council-duties,.council-plan,.council-suggestion{width:calc(100% - 48px)}.duty-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.council-ref-main{padding-top:112px}.council-title-row h1{margin:0 8px;font-size:34px}.council-title-row span{width:35px}.council-ref-intro p{font-size:14px}.council-title-rule{width:70%}.president-ref,.council-values,.council-org,.council-duties,.council-plan,.council-suggestion{width:calc(100% - 28px)}.president-ref{grid-template-columns:1fr;padding:14px}.president-ref-photo{min-height:360px}.president-ref-copy{padding:24px 10px}.council-mini-title span{width:40px}.council-mini-title h2{font-size:21px}.council-values{grid-template-columns:1fr;gap:32px;margin-top:35px}.council-org{padding:15px 12px 22px;overflow-x:auto}.org-chart{min-width:680px}.duty-grid{grid-template-columns:1fr}.plan-line{grid-template-columns:1fr;gap:18px}.plan-line::before{top:25px;bottom:25px;left:50%;right:auto;width:1px;height:auto}.plan-line article{display:grid;grid-template-columns:82px 1fr;align-items:center;text-align:left}.plan-line article>div{grid-row:1/3}.plan-line h3,.plan-line p{margin-left:10px}.council-suggestion{align-items:stretch;flex-direction:column;gap:18px;padding:24px}.council-suggestion a{min-width:0}}



/* Student council desktop refinement and file://-safe icon rendering. */
.president-ref{min-height:390px}
.president-ref-photo{min-height:340px}
.president-ref-photo img{width:64px;height:64px;padding:12px;border:1px solid #ae9369;border-radius:50%;opacity:.72}
.president-message{height:150px}
.round-icon img{width:39px;height:39px;filter:invert(77%) sepia(47%) saturate(620%) hue-rotate(357deg) brightness(91%)}
.duty-grid img{width:72px;height:72px;object-fit:contain}
.plan-line img{width:40px;height:40px;filter:invert(77%) sepia(47%) saturate(620%) hue-rotate(357deg) brightness(91%)}
@media(min-width:1200px){.council-ref-intro{padding-top:8px}.president-ref-copy{padding-top:2px;padding-bottom:2px}.council-values article{min-height:154px}}
@media(max-width:760px){.president-ref{min-height:0}.president-ref-photo{min-height:340px}.president-message{height:150px}}

/* Headmistress message reference page — 2026-07-22 */
.headmistress-page{--hm-navy:#071b31;--hm-gold:#b7893d;--hm-pale:#d8bd82;--hm-paper:#fbf6e9;--hm-ink:#0b2138;position:relative;padding:128px 0 46px;color:var(--hm-ink);font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif;background-color:var(--hm-paper);background-image:radial-gradient(circle at 18% 4%,rgba(255,255,255,.94),transparent 30%),repeating-linear-gradient(0deg,rgba(121,88,39,.018) 0 1px,transparent 1px 5px),linear-gradient(90deg,rgba(171,126,54,.035) 1px,transparent 1px);background-size:auto,auto,14px 14px;overflow:hidden}.headmistress-page::before,.headmistress-page::after{content:"";position:absolute;z-index:0;inset:5px;border:1px solid rgba(183,137,61,.27);pointer-events:none}.headmistress-page::after{inset:11px;border-color:rgba(183,137,61,.1)}
.hm-breadcrumb,.hm-hero,.hm-letter-frame,.hm-principles,.hm-motto,.hm-explore,.hm-cta{position:relative;z-index:1;width:min(1460px,calc(100% - 120px));margin-left:auto;margin-right:auto}.hm-breadcrumb{display:flex;align-items:center;gap:12px;padding:15px 0;color:#86704d;font-size:13px;letter-spacing:.08em}.hm-breadcrumb a{color:#78623f}.hm-breadcrumb a:hover{color:#8b1725}.hm-breadcrumb strong{color:#344454;font-weight:500}
.hm-hero{display:grid;grid-template-columns:42% 58%;min-height:326px;border-top:1px solid rgba(183,137,61,.35);border-bottom:1px solid rgba(183,137,61,.55)}.hm-hero::before{content:"❧";position:absolute;top:-8px;left:-7px;color:#b78a43;font-size:24px}.hm-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:30px 0 30px 72px}.hm-hero-copy>p{margin:0 0 15px;color:#9a7538;font-size:12px;letter-spacing:.18em}.hm-hero h1{margin:0;color:#0a213b;font-size:64px;font-weight:600;letter-spacing:.18em;line-height:1.25}.hm-hero-rule{display:flex;align-items:center;width:320px;margin:16px 0 17px;color:#b68a41}.hm-hero-rule span{flex:1;height:1px;background:#b68a41}.hm-hero-rule i{margin:0 10px;font-style:normal}.hm-hero h2{margin:0;color:#283c4e;font-size:18px;font-weight:500;letter-spacing:.11em}.hm-hero-art{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-width:0}.hm-hero-art img{position:absolute;right:-32px;bottom:0;width:100%;height:100%;object-fit:contain;object-position:right bottom;opacity:.68;mix-blend-mode:multiply}.hm-moon{position:absolute;z-index:1;top:24px;right:15%;color:#c6a25d;font-size:72px;font-family:serif;font-weight:300;opacity:.56}
.hm-letter-frame{display:grid;grid-template-columns:43% 57%;gap:10px;margin-top:28px;padding:10px;border:6px solid var(--hm-navy);outline:2px solid var(--hm-gold);outline-offset:-9px;background:var(--hm-navy);box-shadow:0 7px 16px rgba(57,39,12,.18)}.hm-photo,.hm-letter{position:relative;background:rgba(255,252,245,.97);border:3px double rgba(183,137,61,.7)}.hm-photo{display:flex;min-height:520px;flex-direction:column;align-items:center;justify-content:center;color:#9d8b6c}.hm-photo::before,.hm-photo::after,.hm-letter::before,.hm-letter::after{content:"❦";position:absolute;color:#b68a42;font-size:24px;line-height:1}.hm-photo::before,.hm-letter::before{top:8px;left:9px}.hm-photo::after,.hm-letter::after{right:9px;bottom:8px;transform:rotate(180deg)}.hm-photo svg{width:94px;height:94px;padding:18px;border:1px solid #b9a27d;border-radius:50%;fill:none;stroke:#9d8b6c;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.hm-photo>span{margin-top:18px;font-size:22px;letter-spacing:.16em}.hm-letter{min-height:520px;padding:24px 34px 20px}.hm-letter>header{display:flex;align-items:center;justify-content:center;gap:18px;color:#b2853f}.hm-letter>header h2{margin:0;color:var(--hm-ink);font-size:27px;font-weight:600;letter-spacing:.14em}.hm-letter>header span{font-size:24px}.hm-letter dl{margin:22px 0 16px}.hm-letter dl>div{display:flex;align-items:center;min-height:42px;border-bottom:1px solid rgba(150,124,82,.28);font-size:16px}.hm-letter dt,.hm-letter dd{margin:0}.hm-letter dd{color:#59626a}.hm-section-title{display:flex;align-items:center;justify-content:center;gap:11px}.hm-section-title>span{width:100px;height:1px;background:linear-gradient(90deg,transparent,#bb8d42)}.hm-section-title>span:last-child{transform:scaleX(-1)}.hm-section-title i{color:#ae7f33;font-style:normal}.hm-section-title h2,.hm-section-title h3{margin:0 5px;font-weight:600;letter-spacing:.1em}.hm-section-title h2{font-size:27px}.hm-section-title h3{font-size:21px}.hm-message{display:grid;place-items:center;height:180px;margin-top:13px;border:3px double rgba(183,137,61,.55);color:#948b7e;background:repeating-linear-gradient(to bottom,transparent 0 34px,rgba(119,105,81,.14) 35px 36px)}.hm-message p{margin:0;font-size:16px;letter-spacing:.1em}.hm-letter>footer{margin-top:18px;font-size:15px}.hm-letter>footer p{margin:8px 0}
.hm-principles{margin-top:34px}.hm-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:20px}.hm-principle-grid article{position:relative;display:grid;justify-items:center;min-height:175px;padding:21px 20px 16px;border:3px double rgba(183,137,61,.62);background:rgba(255,253,248,.48)}.hm-principle-grid article::before,.hm-principle-grid article::after{content:"";position:absolute;width:24px;height:24px;border-color:#b98c45}.hm-principle-grid article::before{top:7px;left:7px;border-top:1px solid;border-left:1px solid}.hm-principle-grid article::after{right:7px;bottom:7px;border-right:1px solid;border-bottom:1px solid}.hm-principle-icon{display:block;width:92px;height:92px;object-fit:contain}.hm-principle-grid h3{margin:12px 0 4px;font-size:20px;font-weight:500;letter-spacing:.08em}.hm-principle-grid article>span{color:#b98b40}
.hm-motto{display:flex;align-items:center;justify-content:center;min-height:120px;margin-top:34px;border:0;color:#dbb867;background:#061a30 url("assets/headmistress/motto-ornament.svg") center/100% 100% no-repeat;box-shadow:0 6px 12px rgba(39,31,18,.15)}.hm-motto h2{margin:19px 0 0;color:#dbb867;font-size:28px;font-weight:500;letter-spacing:.18em;text-shadow:0 1px 0 #020c15}
.hm-explore{margin-top:32px}.hm-explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}.hm-explore-grid a{display:grid;grid-template-columns:48px 1fr 20px;align-items:center;min-height:82px;padding:10px 18px;border:1px solid rgba(183,137,61,.62);color:#172b3e;background:rgba(255,253,248,.55);transition:border-color .2s ease,transform .2s ease,background-color .2s ease}.hm-explore-grid a:hover,.hm-explore-grid a:focus-visible{border-color:#8c651f;background:#fffaf0;transform:translateY(-2px)}.hm-explore-grid img{width:43px;height:43px;object-fit:contain;opacity:.96}.hm-explore-grid span{font-size:17px;letter-spacing:.06em}.hm-explore-grid b{font-size:28px;font-weight:300}
.hm-cta{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:142px;margin-top:30px;padding:22px 74px;border:3px double rgba(183,137,61,.65);background:rgba(255,253,248,.52);overflow:hidden}.hm-cta::before,.hm-cta::after{content:"";position:absolute;top:0;bottom:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:contain}.hm-cta::before{left:0;width:310px;background-image:url("assets/headmistress/campus-linework.png");opacity:.23;mix-blend-mode:multiply}.hm-cta::after{right:0;width:300px;background-image:url("assets/headmistress/cta-botanical.svg");opacity:.38}.hm-cta>div,.hm-cta>a{position:relative;z-index:1}.hm-cta>div{padding-left:220px}.hm-cta p{margin:0 0 8px;font-size:26px;letter-spacing:.1em}.hm-cta span{color:#726a5e;font-size:13px}.hm-cta a{min-width:250px;padding:14px 24px;border:4px double #c49a51;color:#f2d594;background:#7d1725;text-align:center;font-size:18px;letter-spacing:.12em}.hm-cta a:hover,.hm-cta a:focus-visible{background:#64101b}.hm-cta a b{float:right;font-size:24px;font-weight:300;line-height:.8}
@media(max-width:1100px){.hm-breadcrumb,.hm-hero,.hm-letter-frame,.hm-principles,.hm-motto,.hm-explore,.hm-cta{width:calc(100% - 48px)}.hm-hero-copy{padding-left:35px}.hm-hero h1{font-size:52px}.hm-explore-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.headmistress-page{padding-top:100px}.hm-breadcrumb,.hm-hero,.hm-letter-frame,.hm-principles,.hm-motto,.hm-explore,.hm-cta{width:calc(100% - 28px)}.hm-breadcrumb{padding:11px 0}.hm-hero{grid-template-columns:1fr;min-height:390px}.hm-hero-copy{position:relative;z-index:2;justify-content:flex-start;padding:38px 22px}.hm-hero h1{font-size:42px}.hm-hero h2{font-size:15px}.hm-hero-rule{width:240px}.hm-hero-art{position:absolute;inset:0;opacity:.48}.hm-hero-art img{right:-30px;width:125%;height:80%}.hm-moon{top:20px;right:16px}.hm-letter-frame{grid-template-columns:1fr;padding:7px;border-width:4px}.hm-photo{min-height:390px}.hm-letter{min-height:0;padding:22px 16px}.hm-letter dl>div{font-size:14px}.hm-message{height:170px}.hm-section-title>span{width:38px}.hm-section-title h2{font-size:22px}.hm-principle-grid{grid-template-columns:1fr;gap:18px}.hm-motto{min-height:92px;padding:10px 18px;text-align:center;background-size:auto 100%}.hm-motto h2{margin-top:13px;font-size:21px}.hm-cta::before{width:180px;opacity:.16}.hm-cta::after{width:150px;opacity:.2}.hm-cta>div{padding-left:0}.hm-explore-grid{grid-template-columns:1fr}.hm-cta{align-items:stretch;flex-direction:column;gap:20px;padding:24px}.hm-cta p{font-size:21px}.hm-cta a{min-width:0}}
/* Traditions reference page — 2026-07-26 */
.tradition-page{--tr-navy:#071b31;--tr-gold:#b7893d;--tr-gold-light:#d4b36d;--tr-paper:#fbf5e7;--tr-ink:#0b2138;position:relative;padding:128px 0 42px;color:var(--tr-ink);font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif;background-color:var(--tr-paper);background-image:radial-gradient(circle at 17% 3%,rgba(255,255,255,.93),transparent 28%),repeating-linear-gradient(0deg,rgba(121,88,39,.018) 0 1px,transparent 1px 5px),linear-gradient(90deg,rgba(171,126,54,.03) 1px,transparent 1px);background-size:auto,auto,14px 14px;overflow:hidden}.tradition-page::before,.tradition-page::after{content:"";position:absolute;z-index:0;inset:5px;border:1px solid rgba(183,137,61,.27);pointer-events:none}.tradition-page::after{inset:11px;border-color:rgba(183,137,61,.1)}
.tradition-breadcrumb,.tradition-hero,.tradition-origin,.tradition-lighting,.tradition-core,.tradition-calendar,.tradition-relics,.tradition-quote,.tradition-guide{position:relative;z-index:1;width:min(1460px,calc(100% - 120px));margin-left:auto;margin-right:auto}.tradition-breadcrumb{display:flex;align-items:center;gap:12px;padding:15px 0;color:#86704d;font-size:13px;letter-spacing:.08em}.tradition-breadcrumb a{color:#78623f}.tradition-breadcrumb a:hover{color:#8b1725}.tradition-breadcrumb strong{color:#344454;font-weight:500}
.tradition-ornate{position:relative;border:1px solid rgba(180,133,55,.62);background:rgba(255,252,245,.58);box-shadow:inset 0 0 0 5px rgba(255,255,255,.35)}.tradition-ornate::before,.tradition-ornate::after{content:"✥";position:absolute;z-index:3;color:#b88738;font-size:18px;line-height:1}.tradition-ornate::before{top:-7px;left:-6px}.tradition-ornate::after{right:-6px;bottom:-7px;transform:rotate(180deg)}
.tradition-hero{height:520px;border-top:1px solid rgba(183,137,61,.42);border-bottom:1px solid rgba(183,137,61,.55);overflow:hidden}.tradition-hero::before,.tradition-hero::after{content:"";position:absolute;top:20px;width:150px;height:1px;background:linear-gradient(90deg,transparent,#b98b3d)}.tradition-hero::before{left:0}.tradition-hero::after{right:0;transform:scaleX(-1)}.tradition-hero-title{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:50px;padding-top:22px;text-align:center}.tradition-hero-title>div>i{display:block;height:47px;color:#b68b45;font:normal 52px/1 serif}.tradition-hero h1{margin:0;color:#0a213b;font-size:64px;font-weight:600;letter-spacing:.18em;line-height:1.25}.tradition-hero p{margin:10px 0;color:#4d5358;font-size:17px;letter-spacing:.08em}.tradition-laurel{color:#b18a4a;font-size:96px;line-height:1;transform:rotate(-24deg)}.tradition-laurel.mirror{transform:scaleX(-1) rotate(-24deg)}.tradition-hero>img{position:absolute;left:3%;right:3%;bottom:-68px;width:94%;height:365px;object-fit:contain;object-position:center bottom;opacity:.72;mix-blend-mode:multiply}
.tradition-origin{display:grid;grid-template-columns:1.2fr 1fr;gap:46px;margin-top:24px;padding:28px 48px}.tradition-origin h2{margin:0 0 12px;font-size:29px;letter-spacing:.08em}.tradition-origin>div>p{max-width:610px;margin:0;color:#4e5152;font-size:15px;line-height:1.9}.tradition-origin dl{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0}.tradition-origin dl>div{display:grid;align-content:center;justify-items:center;min-height:150px;border-left:1px solid rgba(181,136,61,.25);text-align:center;background:radial-gradient(circle,rgba(187,143,66,.06),transparent 70%)}.tradition-origin dt{color:#a47732;font-size:34px;font-weight:600}.tradition-origin dt small{font-size:14px}.tradition-origin dd{margin:8px 0 0;font-size:14px;line-height:1.6}.tradition-origin dd span{color:#8e877d;font-size:12px}
.tradition-lighting{display:grid;grid-template-columns:47% 53%;margin-top:28px;overflow:hidden}.tradition-lighting>img{width:100%;height:475px;object-fit:cover}.tradition-lighting-copy{padding:35px 45px 24px}.tradition-lighting-copy>h2{margin:0;text-align:center;font-size:38px;letter-spacing:.13em}.tradition-lighting-copy>p{margin:18px auto;color:#4e5154;font-size:15px;line-height:1.9}.tradition-lighting-copy>strong{display:flex;align-items:center;justify-content:center;width:250px;margin:20px auto;padding:11px;border:3px double rgba(183,137,61,.55);font-size:17px;font-weight:500;letter-spacing:.08em}.tradition-lighting-copy>strong span{margin-right:10px;color:#132a41;font-size:26px}.tradition-lighting ol{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:32px 0 0;padding:0;list-style:none}.tradition-lighting ol::before{content:"";position:absolute;top:24px;left:15%;right:15%;height:1px;background:#ba8b3e}.tradition-lighting li{position:relative;text-align:center}.tradition-lighting li b{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;margin:auto;border:4px double #c39a50;border-radius:50%;color:#e5c477;background:#071a30;font-size:15px}.tradition-lighting li h3{margin:12px 0 8px;font-size:17px}.tradition-lighting li p{margin:0;color:#68645e;font-size:12px;line-height:1.65}
.tradition-section-title{display:flex;align-items:center;justify-content:center;gap:12px}.tradition-section-title>span{width:180px;height:1px;background:linear-gradient(90deg,transparent,#b98b3d)}.tradition-section-title>span:last-child{transform:scaleX(-1)}.tradition-section-title i{color:#ae7f33;font-style:normal}.tradition-section-title h2{margin:0 8px;font-size:29px;font-weight:600;letter-spacing:.11em}.tradition-core,.tradition-calendar,.tradition-relics,.tradition-guide{margin-top:30px}.tradition-core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:20px}.tradition-core-grid article{display:flex;min-height:360px;flex-direction:column;align-items:center;padding:24px 22px;text-align:center}.tradition-core-grid h3{margin:0 0 14px;font-size:22px;font-weight:500;letter-spacing:.08em}.tradition-core-grid article>img,.tradition-award{width:100%;height:190px;object-fit:contain}.tradition-award{display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(200,163,93,.16),transparent 66%)}.tradition-award img{width:132px;height:155px;object-fit:contain;filter:drop-shadow(0 4px 3px rgba(41,28,9,.16))}.tradition-core-grid p{margin:auto 0 0;color:#5a5650;font-size:13px;line-height:1.75}
.tradition-calendar{padding:4px 15px 10px}.tradition-calendar-line{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin-top:22px}.tradition-calendar-line::before{content:"";position:absolute;top:53px;left:8%;right:8%;height:1px;background:#9e7b45}.tradition-calendar-line article{position:relative;text-align:center}.tradition-calendar-line article::after{content:"›";position:absolute;top:35px;right:-8px;color:#8b6a37;font-size:29px}.tradition-calendar-line article:last-child::after{display:none}.tradition-calendar-line img{position:relative;z-index:1;width:88px;height:88px;padding:16px;border:1px solid #cab27e;border-radius:50%;object-fit:contain;background:#fbf5e7}.tradition-calendar-line h3{margin:7px 0 2px;font-size:17px}.tradition-calendar-line strong{display:block;font-size:16px;font-weight:500}.tradition-calendar-line p{margin:7px auto 0;max-width:180px;color:#666059;font-size:12px;line-height:1.6}
.tradition-relic-stage{position:relative;margin-top:18px;border:8px double #a77a35;background:#080f17;overflow:hidden}.tradition-relic-stage>img{display:block;width:100%;height:430px;object-fit:cover;object-position:center}.tradition-relic-stage>div{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(transparent,rgba(2,9,16,.95) 32%)}.tradition-relic-stage span{min-height:105px;padding:42px 10px 12px;border-right:1px solid rgba(202,161,83,.4);text-align:center;color:#e0be72}.tradition-relic-stage span:last-child{border-right:0}.tradition-relic-stage b,.tradition-relic-stage small{display:block}.tradition-relic-stage b{font-size:17px;font-weight:500}.tradition-relic-stage small{margin-top:5px;color:#bca775;font-size:11px}
.tradition-quote{display:flex;align-items:center;justify-content:center;gap:34px;min-height:118px;margin-top:0;margin-bottom:0;border:4px double #bd9349;color:#e0bd6c;background-color:#061a30;background-image:radial-gradient(circle at 10% 30%,rgba(213,178,99,.65) 0 1px,transparent 1.5px),radial-gradient(circle at 90% 70%,rgba(213,178,99,.55) 0 1px,transparent 1.5px);background-size:47px 39px,61px 53px}.tradition-quote span{font-size:48px}.tradition-quote p{margin:0;color:#e0bd6c;font-size:24px;letter-spacing:.1em}.tradition-quote i{font-size:24px;font-style:normal}
.tradition-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:18px}.tradition-guide-grid article{display:grid;grid-template-columns:160px 1fr;align-items:center;min-height:250px;padding:20px 24px}.tradition-guide-grid img{width:145px;height:190px;object-fit:contain}.tradition-guide-grid img.uniform{height:210px}.tradition-guide-grid h3{margin:0 0 11px;font-size:21px;font-weight:500;letter-spacing:.08em}.tradition-guide-grid p{margin:0;color:#5d5952;font-size:13px;line-height:1.75}.tradition-guide-link{display:block;width:360px;margin:22px auto 0;padding:13px 25px;border:4px double #c2964d;color:#f2d594;background:#7d1725;text-align:center;font-size:18px;letter-spacing:.1em}.tradition-guide-link:hover,.tradition-guide-link:focus-visible{background:#64101b}.tradition-guide-link span{float:right;font-size:24px;line-height:.8}
@media(max-width:1100px){.tradition-breadcrumb,.tradition-hero,.tradition-origin,.tradition-lighting,.tradition-core,.tradition-calendar,.tradition-relics,.tradition-quote,.tradition-guide{width:calc(100% - 48px)}.tradition-origin{grid-template-columns:1fr}.tradition-core-grid{grid-template-columns:repeat(2,1fr)}.tradition-guide-grid{grid-template-columns:1fr}.tradition-guide-grid article{grid-template-columns:180px 1fr}.tradition-relic-stage>img{height:360px}}
@media(max-width:760px){.tradition-page{padding-top:100px}.tradition-breadcrumb,.tradition-hero,.tradition-origin,.tradition-lighting,.tradition-core,.tradition-calendar,.tradition-relics,.tradition-quote,.tradition-guide{width:calc(100% - 28px)}.tradition-breadcrumb{padding:11px 0}.tradition-hero{height:405px}.tradition-hero-title{gap:8px;padding:24px 12px}.tradition-laurel{font-size:42px}.tradition-hero-title>div>i{height:40px;font-size:43px}.tradition-hero h1{font-size:42px}.tradition-hero p{font-size:14px;line-height:1.7}.tradition-hero>img{left:-35%;width:170%;height:270px;bottom:-38px}.tradition-origin{gap:22px;padding:24px 18px}.tradition-origin h2{font-size:24px}.tradition-origin dl{gap:4px}.tradition-origin dl>div{min-height:115px;padding:5px}.tradition-origin dt{font-size:22px}.tradition-origin dd{font-size:12px}.tradition-lighting{grid-template-columns:1fr}.tradition-lighting>img{height:330px}.tradition-lighting-copy{padding:26px 16px}.tradition-lighting-copy>h2{font-size:30px}.tradition-lighting ol{gap:7px}.tradition-lighting ol::before{left:10%;right:10%}.tradition-lighting li p{font-size:11px}.tradition-section-title>span{width:38px}.tradition-section-title h2{margin:0 3px;font-size:22px}.tradition-core-grid{grid-template-columns:1fr}.tradition-calendar{overflow-x:auto}.tradition-calendar-line{min-width:760px}.tradition-relic-stage{overflow-x:auto}.tradition-relic-stage>img,.tradition-relic-stage>div{min-width:820px}.tradition-relic-stage>img{height:350px}.tradition-quote{gap:14px;padding:18px 16px;text-align:center}.tradition-quote span{font-size:32px}.tradition-quote p{font-size:18px;line-height:1.6}.tradition-guide-grid article{grid-template-columns:115px 1fr;padding:18px 14px}.tradition-guide-grid img,.tradition-guide-grid img.uniform{width:105px;height:150px}.tradition-guide-link{width:calc(100% - 20px)}}
/* History reference page — 2026-07-26 */
.history-page{--hy-navy:#0a2238;--hy-gold:#b58a45;--hy-paper:#faf4e7;position:relative;padding:118px 0 0;color:var(--hy-navy);font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif;background-color:var(--hy-paper);background-image:radial-gradient(circle at 14% 5%,rgba(255,255,255,.92),transparent 26%),repeating-linear-gradient(0deg,rgba(122,89,41,.018) 0 1px,transparent 1px 5px),linear-gradient(90deg,rgba(171,126,54,.025) 1px,transparent 1px);background-size:auto,auto,14px 14px;overflow:hidden}.history-page::before,.history-page::after{content:"";position:absolute;z-index:0;inset:5px;border:1px solid rgba(181,138,69,.22);pointer-events:none}.history-page::after{inset:11px;border-color:rgba(181,138,69,.09)}
.history-breadcrumb,.history-hero,.history-timeline,.history-facts,.history-archives,.history-quote{position:relative;z-index:1;width:min(1460px,calc(100% - 120px));margin-left:auto;margin-right:auto}.history-breadcrumb{display:flex;align-items:center;gap:12px;padding:17px 0;color:#897453;font-size:13px;letter-spacing:.08em}.history-breadcrumb a{color:#766243}.history-breadcrumb strong{color:#344454;font-weight:500}
.history-hero{display:grid;grid-template-columns:41% 59%;height:540px;border-top:1px solid rgba(181,138,69,.35);border-bottom:1px solid rgba(181,138,69,.42);overflow:hidden}.history-hero::before,.history-hero::after{content:"❧";position:absolute;top:5px;color:#b38a48;font-size:62px;opacity:.65}.history-hero::before{left:-4px;transform:rotate(25deg)}.history-hero::after{right:-4px;transform:scaleX(-1) rotate(25deg)}.history-hero-copy{z-index:2;padding:86px 0 0 60px}.history-kicker{display:block;margin-bottom:32px;color:#927038;font-size:14px;letter-spacing:.13em}.history-hero h1{margin:0;color:#071f38;font-size:68px;font-weight:600;letter-spacing:.2em;line-height:1.15}.history-hero-copy i{display:block;width:270px;height:16px;margin:25px 0 20px;background:linear-gradient(#b88a42,#b88a42) left 7px/100% 1px no-repeat}.history-hero-copy i::after{content:"✦";display:block;margin-left:128px;color:#b88a42;font:normal 15px/15px serif}.history-hero-copy p{margin:0;color:#4c5255;font-size:17px;letter-spacing:.1em}.history-hero-art{position:relative}.history-hero-art span{position:absolute;z-index:1;top:27px;left:20%;color:#c4a264;font-size:92px;opacity:.48}.history-hero-art img{position:absolute;right:-8%;bottom:-82px;width:116%;height:520px;object-fit:contain;object-position:center bottom;opacity:.65;mix-blend-mode:multiply}
.history-timeline{position:relative;padding:48px 0 70px}.history-axis{position:absolute;z-index:0;top:0;bottom:42px;left:50%;width:1px;background:linear-gradient(transparent,#b7893e 3%,#b7893e 96%,transparent)}.history-event{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);align-items:center;min-height:315px}.history-event figure{position:relative;width:min(380px,90%);height:230px;margin:0;border:1px solid rgba(174,128,56,.72);background:#eee2cc;box-shadow:inset 0 0 0 5px #fbf5e8}.history-event.is-left figure{justify-self:start;margin-left:30px}.history-event.is-right figure{justify-self:end;margin-right:30px}.history-event figure::before,.history-event figure::after{content:"✥";position:absolute;z-index:2;color:#af7f37;font-size:17px}.history-event figure::before{top:-7px;left:-6px}.history-event figure::after{right:-6px;bottom:-7px;transform:rotate(180deg)}.history-event figure img{display:block;width:100%;height:100%;padding:7px;object-fit:cover;filter:sepia(.22) contrast(.92)}.history-moon{position:relative;z-index:2;grid-column:2;display:grid;place-items:center;width:54px;height:54px;margin:auto;color:#c3974c;background:var(--hy-paper);font-size:52px;line-height:1}.history-event:nth-of-type(even) .history-moon{transform:rotate(180deg)}.history-event-copy{position:relative;max-width:460px;padding:10px 34px}.history-event-copy::before{content:"";position:absolute;top:37px;width:155px;height:1px;background:#b58a45}.history-event.is-left .history-event-copy::before{right:100%}.history-event.is-right .history-event-copy::before{left:100%}.history-event-copy time{display:block;color:#9b7435;font-size:18px;letter-spacing:.05em}.history-event-copy h2{margin:8px 0 14px;font-size:30px;font-weight:500;letter-spacing:.08em}.history-event-copy p{margin:0;color:#5e5a53;font-size:14px;line-height:1.9}.history-event.is-left .history-event-copy{justify-self:start}.history-event.is-right .history-event-copy{justify-self:end}
.history-event-current{min-height:340px}.history-event-current .history-moon{grid-column:2}.history-current-card{position:relative;grid-column:3;width:100%;min-height:290px;border:6px double #bd934e;color:#f0dfbb;background:#661522;overflow:hidden;box-shadow:0 12px 25px rgba(70,36,24,.12)}.history-current-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.83}.history-current-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 15%,rgba(96,18,31,.42) 42%,#661522 64%)}.history-current-card>div{position:relative;z-index:2;width:54%;margin-left:auto;padding:44px 36px 28px}.history-current-card b{position:absolute;top:0;right:18px;padding:8px 25px;color:#60411d;background:#d8b879;font-size:14px;letter-spacing:.11em}.history-current-card time{display:block;color:#d8b777;font-size:18px}.history-current-card h2{margin:15px 0 10px;color:#f6e6c6;font-size:30px;font-weight:500}.history-current-card p{margin:0;color:#e5cfac;font-size:13px;line-height:1.9}
.history-ornate{border:1px solid rgba(181,138,69,.48);background:rgba(255,252,246,.56);box-shadow:inset 0 0 0 6px rgba(255,255,255,.3)}.history-facts{padding:32px 34px 38px}.history-section-title{display:flex;align-items:center;justify-content:center;gap:12px}.history-section-title>span{width:155px;height:1px;background:linear-gradient(90deg,transparent,#b58a45)}.history-section-title>span:last-child{transform:scaleX(-1)}.history-section-title i{color:#af7d31;font-style:normal}.history-section-title h2{margin:0 8px;font-size:29px;font-weight:600;letter-spacing:.11em}.history-fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:25px}.history-fact-grid article{min-height:205px;padding:20px;border:1px solid rgba(181,138,69,.48);text-align:center}.history-fact-grid b{display:block;width:48px;height:48px;margin:auto;border:1px solid #bd9656;border-radius:50%;color:#997136;font:normal 25px/46px serif}.history-fact-grid strong{display:block;margin-top:10px;color:#725428;font-size:38px;font-weight:500}.history-fact-grid strong small{font-size:13px}.history-fact-grid p{margin:7px 0 0;font-size:14px;line-height:1.7}.history-fact-grid p span{color:#8b8174;font-size:12px}
.history-archives{padding:38px 0 45px}.history-archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.history-archive-grid article{min-height:320px;border:1px solid rgba(181,138,69,.53);background:rgba(255,251,242,.62);text-align:center}.history-archive-grid article>img{display:block;width:100%;height:205px;object-fit:cover;filter:sepia(.32) contrast(.9)}.history-archive-grid h3{margin:13px 12px 5px;font-size:15px;font-weight:500}.history-archive-grid p{margin:0 12px;color:#6f675d;font-size:12px;line-height:1.6}.history-archive-grid .history-principal{color:#e4c785;background:#061a30}.history-archive-grid .history-principal>img{width:132px;height:145px;margin:16px auto 0;object-fit:contain;filter:none}.history-principal h3{color:#e6c779;font-size:21px}.history-principal p{color:#c2b28f}.history-principal a{display:inline-block;margin-top:12px;color:#e0bc67;font-size:13px}.history-principal a span{margin-left:10px}.history-quote{display:flex;align-items:center;justify-content:center;gap:34px;min-height:140px;border:4px double #bd9349;color:#e0bd6c;background:#061a30}.history-quote::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(4,18,33,.78),rgba(4,18,33,.78)),url("assets/architecture/night-life-strip.png") center/cover no-repeat;opacity:.65}.history-quote>*{position:relative;z-index:1}.history-quote span{font-size:45px}.history-quote p{margin:0;color:#e0bd6c;font-size:24px;letter-spacing:.12em}.history-quote i{font-style:normal}
@media(max-width:1100px){.history-breadcrumb,.history-hero,.history-timeline,.history-facts,.history-archives,.history-quote{width:calc(100% - 48px)}.history-hero{grid-template-columns:46% 54%}.history-hero-copy{padding-left:30px}.history-hero h1{font-size:58px}.history-event figure{width:92%}.history-event-copy{padding:10px 22px}.history-event-copy::before{width:70px}.history-fact-grid,.history-archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.history-page{padding-top:98px}.history-breadcrumb,.history-hero,.history-timeline,.history-facts,.history-archives,.history-quote{width:calc(100% - 28px)}.history-breadcrumb{padding:11px 0}.history-hero{display:block;height:455px}.history-hero-copy{padding:38px 20px 0}.history-kicker{margin-bottom:18px;font-size:11px}.history-hero h1{font-size:46px}.history-hero-copy p{font-size:14px}.history-hero-art{height:260px}.history-hero-art span{top:-15px;left:12%;font-size:65px}.history-hero-art img{right:-43%;bottom:-75px;width:185%;height:330px}.history-timeline{padding-top:30px}.history-axis{left:27px}.history-event,.history-event.is-left,.history-event.is-right{display:grid;grid-template-columns:55px 1fr;gap:0;min-height:0;margin-bottom:34px}.history-event figure,.history-event.is-left figure,.history-event.is-right figure{grid-column:2;grid-row:1;width:100%;height:205px;margin:0 0 14px}.history-event .history-moon,.history-event-current .history-moon{grid-column:1;grid-row:1/3;align-self:start;margin-top:72px;width:44px;height:44px;font-size:42px}.history-event-copy,.history-event.is-left .history-event-copy,.history-event.is-right .history-event-copy{grid-column:2;grid-row:2;max-width:none;padding:0 4px}.history-event-copy::before{display:none}.history-event-copy time{font-size:15px}.history-event-copy h2{font-size:25px}.history-event-copy p{font-size:13px}.history-event-current{grid-template-columns:55px 1fr}.history-current-card{grid-column:2;min-height:385px}.history-current-card::after{background:linear-gradient(0deg,#661522 0 48%,rgba(96,18,31,.2) 72%,transparent)}.history-current-card>img{height:58%}.history-current-card>div{position:absolute;right:0;bottom:0;width:100%;padding:54px 20px 20px}.history-current-card h2{font-size:24px}.history-facts{padding:25px 14px}.history-section-title>span{width:30px}.history-section-title h2{margin:0 2px;font-size:22px}.history-fact-grid,.history-archive-grid{grid-template-columns:1fr;gap:14px}.history-fact-grid article{min-height:170px}.history-archives{padding-top:30px}.history-archive-grid article{min-height:300px}.history-quote{gap:12px;min-height:120px;padding:16px;text-align:center}.history-quote p{font-size:18px;line-height:1.6}.history-quote span{font-size:34px}}
/* History timeline fidelity corrections — 2026-07-26 */
.history-timeline-rebuilt .history-event{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);min-height:315px}.history-timeline-rebuilt .history-event-side{display:grid;align-items:center;width:100%;gap:24px}.history-timeline-rebuilt .history-event.is-left .history-event-side{grid-column:1;grid-template-columns:52% 48%}.history-timeline-rebuilt .history-event.is-right .history-event-side{grid-column:3;grid-template-columns:48% 52%}.history-timeline-rebuilt .history-event .history-moon{grid-column:2;grid-row:1}.history-timeline-rebuilt .history-event figure,.history-timeline-rebuilt .history-event.is-left figure,.history-timeline-rebuilt .history-event.is-right figure{justify-self:stretch;width:100%;height:230px;margin:0}.history-timeline-rebuilt .history-event-copy,.history-timeline-rebuilt .history-event.is-left .history-event-copy,.history-timeline-rebuilt .history-event.is-right .history-event-copy{justify-self:stretch;max-width:none;padding:4px 0;font-family:"STSong","Songti SC","Noto Serif SC","SimSun",serif}.history-timeline-rebuilt .history-event.is-left .history-event-copy{padding-right:5px}.history-timeline-rebuilt .history-event.is-right .history-event-copy{padding-left:5px}.history-timeline-rebuilt .history-event-copy::before{display:none}.history-timeline-rebuilt .history-event-copy time{display:flex;align-items:center;width:100%;color:#98703a;font-family:"STKaiti","KaiTi","STSong",serif;font-size:18px;line-height:1;white-space:nowrap}.history-timeline-rebuilt .history-event-copy time::after,.history-timeline-rebuilt .history-current-copy time::after{content:"◆";flex:1;height:8px;margin-left:13px;color:#b58a45;background:linear-gradient(#b58a45,#b58a45) left center/calc(100% - 3px) 1px no-repeat;text-align:right;font:7px/8px serif}.history-timeline-rebuilt .history-event-copy h2{margin:10px 0 13px;font-family:"STSong","Songti SC","Noto Serif SC","SimSun",serif;font-size:29px;font-weight:500;letter-spacing:.055em;line-height:1.15}.history-timeline-rebuilt .history-event-copy p{margin:0;color:#665e53;font-family:"STKaiti","KaiTi","STSong",serif;font-size:15px;line-height:1.82;letter-spacing:.015em}
.history-timeline-rebuilt .history-event-current{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);min-height:330px}.history-timeline-rebuilt .history-event-current .history-moon{grid-column:2;grid-row:1;z-index:5}.history-timeline-rebuilt .history-current-card{grid-column:3;grid-row:1;display:block;width:100%;min-height:300px;border:7px double #c39a53;border-radius:0;color:#f0dfbb;background:#681624;overflow:visible;box-shadow:0 9px 20px rgba(74,37,25,.12)}.history-timeline-rebuilt .history-current-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(227,194,126,.45);pointer-events:none}.history-timeline-rebuilt .history-current-card::after{display:none}.history-timeline-rebuilt .history-current-card>.history-current-object{position:absolute;z-index:2;inset:auto auto 0 2%;width:43%;height:108%;object-fit:contain;opacity:1;filter:drop-shadow(0 8px 7px rgba(20,7,7,.3))}.history-timeline-rebuilt .history-current-card>.history-current-copy{position:relative;z-index:3;width:57%;margin-left:auto;padding:47px 34px 24px;font-family:"STSong","Songti SC","Noto Serif SC","SimSun",serif}.history-timeline-rebuilt .history-current-copy b{position:absolute;top:-27px;right:18px;min-width:210px;padding:11px 30px;color:#674a26;background:#d8b878;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);text-align:center;font-family:"STKaiti","KaiTi","STSong",serif;font-size:15px;font-weight:500;letter-spacing:.12em}.history-timeline-rebuilt .history-current-copy time{display:flex;align-items:center;width:100%;color:#ddb76c;font-family:"STKaiti","KaiTi","STSong",serif;font-size:18px;line-height:1}.history-timeline-rebuilt .history-current-copy h2{margin:18px 0 13px;color:#f7e8c9;font-family:"STSong","Songti SC","Noto Serif SC","SimSun",serif;font-size:30px;font-weight:500;letter-spacing:.06em}.history-timeline-rebuilt .history-current-copy p{margin:0;color:#e4ccaa;font-family:"STKaiti","KaiTi","STSong",serif;font-size:15px;line-height:1.85}
@media(max-width:760px){.history-timeline-rebuilt .history-event,.history-timeline-rebuilt .history-event.is-left,.history-timeline-rebuilt .history-event.is-right{grid-template-columns:55px 1fr;min-height:0}.history-timeline-rebuilt .history-event-side,.history-timeline-rebuilt .history-event.is-left .history-event-side,.history-timeline-rebuilt .history-event.is-right .history-event-side{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;gap:12px}.history-timeline-rebuilt .history-event .history-moon,.history-timeline-rebuilt .history-event-current .history-moon{grid-column:1;grid-row:1;align-self:start;margin-top:72px}.history-timeline-rebuilt .history-event figure,.history-timeline-rebuilt .history-event.is-left figure,.history-timeline-rebuilt .history-event.is-right figure{grid-column:1;grid-row:1;height:205px}.history-timeline-rebuilt .history-event-copy,.history-timeline-rebuilt .history-event.is-left .history-event-copy,.history-timeline-rebuilt .history-event.is-right .history-event-copy{grid-column:1;grid-row:2;padding:0 4px}.history-timeline-rebuilt .history-event-current{grid-template-columns:55px 1fr}.history-timeline-rebuilt .history-current-card{grid-column:2;min-height:385px}.history-timeline-rebuilt .history-current-card>.history-current-object{left:7%;bottom:auto;top:-8px;width:62%;height:245px}.history-timeline-rebuilt .history-current-card>.history-current-copy{position:absolute;right:0;bottom:0;width:100%;padding:66px 20px 20px}.history-timeline-rebuilt .history-current-copy b{top:10px;right:12px;min-width:180px;font-size:12px}.history-timeline-rebuilt .history-current-copy h2{font-size:24px}}
/* Application progress reference page — 2026-07-27 */
.application-progress-page{--ap-navy:#0a2238;--ap-gold:#b58a45;--ap-burgundy:#741e2d;--ap-paper:#faf5e9;position:relative;padding:118px 0 34px;color:var(--ap-navy);font-family:"STSong","Songti SC","Noto Serif SC","SimSun",serif;background-color:var(--ap-paper);background-image:radial-gradient(circle at 12% 3%,rgba(255,255,255,.92),transparent 28%),repeating-linear-gradient(0deg,rgba(118,85,36,.018) 0 1px,transparent 1px 5px),linear-gradient(90deg,rgba(171,126,54,.025) 1px,transparent 1px);background-size:auto,auto,14px 14px;overflow:hidden}.application-progress-page::before,.application-progress-page::after{content:"";position:absolute;inset:5px;z-index:0;border:1px solid rgba(181,138,69,.2);pointer-events:none}.application-progress-page::after{inset:11px;border-color:rgba(181,138,69,.08)}.ap-breadcrumb,.ap-hero,.ap-summary,.ap-steps,.ap-workspace,.ap-materials,.ap-notices,.ap-help{position:relative;z-index:1;width:min(1460px,calc(100% - 120px));margin-left:auto;margin-right:auto}.ap-breadcrumb{display:flex;align-items:center;gap:12px;padding:17px 0;color:#887254;font-size:13px;letter-spacing:.08em}.ap-breadcrumb a{color:#766143}.ap-breadcrumb strong{color:#344454;font-weight:500}
.ap-hero{display:grid;grid-template-columns:48% 52%;height:300px;overflow:hidden}.ap-hero-copy{display:flex;align-items:center;gap:28px;padding:15px 0 35px 25px}.ap-hero-moon{color:#c6a15f;font-size:105px;line-height:1;transform:rotate(15deg)}.ap-hero h1{margin:0;color:#0b2239;font-size:58px;font-weight:500;letter-spacing:.12em}.ap-hero p{margin:18px 0 0;color:#6b665f;font-size:15px;letter-spacing:.055em}.ap-hero>img{align-self:end;width:112%;height:310px;object-fit:contain;object-position:center bottom;opacity:.82;mix-blend-mode:multiply}
.ap-ornate{position:relative;border:1px solid rgba(181,138,69,.65);background:rgba(255,252,246,.68);box-shadow:inset 0 0 0 6px rgba(255,255,255,.35)}.ap-ornate::before,.ap-ornate::after{content:"✥";position:absolute;z-index:3;color:#b3843d;font-size:18px;line-height:1}.ap-ornate::before{top:-7px;left:-6px}.ap-ornate::after{right:-6px;bottom:-7px;transform:rotate(180deg)}
.ap-summary{display:grid;grid-template-columns:72% 28%;min-height:305px;padding:38px 42px}.ap-summary-info{display:grid;grid-template-columns:1fr 1fr;border-right:1px solid rgba(181,138,69,.48)}.ap-summary-info dl{display:grid;grid-template-rows:1fr 1fr;margin:0;padding:0 42px 0 0}.ap-summary-info dl+dl{padding:0 42px;border-left:1px solid rgba(181,138,69,.4)}.ap-summary-info dl>div{padding:4px 0 20px;border-bottom:2px dotted rgba(181,138,69,.35)}.ap-summary-info dl>div:last-child{align-self:end;border-bottom:0}.ap-summary-info dt{color:#726a60;font-size:15px}.ap-summary-info dd{margin:10px 0 0;color:#2f3031;font-size:24px;letter-spacing:.08em}.ap-summary-info .ap-status{display:flex;align-items:center;gap:20px;color:var(--ap-burgundy);font-size:27px}.ap-status img{width:56px;height:56px;object-fit:contain}.ap-overall{display:grid;justify-items:center;align-content:center;text-align:center}.ap-overall>strong{color:#665e53;font-size:15px;font-weight:500}.ap-ring{position:relative;display:grid;place-items:center;width:102px;height:102px;margin:7px 0 12px;border-radius:50%;background:conic-gradient(from -30deg,#b58a45 0 40%,#e4dccd 40% 100%)}.ap-ring::after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;background:rgba(250,245,233,.98)}.ap-ring::before{content:"";position:absolute;left:50%;bottom:-4px;z-index:2;width:5px;height:5px;border:2px solid var(--ap-paper);background:#b58a45;transform:translateX(-50%) rotate(45deg)}.ap-ring span{position:relative;z-index:1;color:#7b2431;font-size:39px;line-height:1}.ap-ring small{font-size:16px}.ap-overall p{margin:0;color:#71695e;font-size:12px;letter-spacing:.025em}
.ap-steps{margin-top:28px;padding:38px 45px 30px}.ap-steps ol{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}.ap-steps ol::before{content:"";position:absolute;top:27px;left:9%;right:9%;height:1px;background:#bfb6a7}.ap-steps ol::after{content:"";position:absolute;top:27px;left:9%;width:32%;height:2px;background:linear-gradient(90deg,#b68b45,#7b2130)}.ap-steps li{position:relative;z-index:1;display:grid;justify-items:center;text-align:center}.ap-steps li b{display:grid;place-items:center;width:54px;height:54px;border:1px solid #bcb2a2;border-radius:50%;color:#857d72;background:#fbf6ea;font-size:19px;font-weight:500}.ap-steps li.is-done b{border-color:#b48a44;color:#fff;background:#b48a44}.ap-steps li.is-current b{border:5px double #dfc58d;color:#fff;background:#792332}.ap-steps li strong{margin-top:13px;font-size:16px;font-weight:500}.ap-steps li span{margin-top:7px;color:#8a8175;font-size:12px}.ap-steps li.is-current strong,.ap-steps li.is-current span{color:#7b2431}
.ap-workspace{display:grid;grid-template-columns:41% 59%;gap:28px;margin-top:28px}.ap-panel{padding:26px 30px}.ap-panel h2{display:flex;align-items:center;gap:12px;margin:0;font-size:24px;font-weight:500;letter-spacing:.08em}.ap-panel h2 img{width:28px;height:28px;object-fit:contain}.ap-current-progress{min-height:620px}.ap-current-progress>ol{margin:24px 0 0;padding:0;list-style:none}.ap-current-progress li{position:relative;display:grid;grid-template-columns:24px 1fr auto;gap:14px;min-height:92px}.ap-current-progress li:not(:last-child)::after{content:"";position:absolute;top:20px;bottom:-2px;left:8px;border-left:2px dotted #cab688}.ap-current-progress li>b{position:relative;z-index:1;width:17px;height:17px;margin-top:2px;border-radius:50%;background:#a7a39c}.ap-current-progress li.is-done>b{background:#b58a45}.ap-current-progress li.is-current>b{background:#7b2431}.ap-current-progress li strong{font-size:16px;font-weight:500}.ap-current-progress li.is-current strong{color:#7b2431}.ap-current-progress li p{margin:7px 0 0;color:#716a61;font-size:13px;line-height:1.65}.ap-current-progress time{color:#8f877d;font-size:11px}.ap-current-progress>a,.ap-more{display:block;margin-top:7px;padding:12px;border:1px solid rgba(181,138,69,.52);color:#7d6541;text-align:center;font-size:13px}.ap-current-progress>a span,.ap-more span{float:right;font-size:20px;line-height:.7}.ap-side-stack{display:grid;grid-template-rows:auto 1fr;gap:28px}.ap-panel-note{margin:5px 0 14px;padding-left:40px;color:#766f66;font-size:13px}.ap-task{display:grid;grid-template-columns:58px 1fr 122px;gap:16px;align-items:center;padding:18px;border:1px solid rgba(181,138,69,.36)}.ap-task+.ap-task{margin-top:14px}.ap-task>img{width:50px;height:50px;object-fit:contain}.ap-task h3{margin:0;font-size:17px;font-weight:500}.ap-task p{margin:6px 0;color:#70695f;font-size:12px}.ap-task small{color:#9a8f80;font-size:11px}.ap-task>div:last-child{display:grid;gap:8px}.ap-task button{min-height:38px;border:1px solid #8c2a39;color:#fff;background:#792332;font-family:inherit;cursor:pointer}.ap-task button.secondary{border-color:#b89b6b;color:#715c3f;background:transparent}.ap-task button:hover,.ap-task button:focus-visible{filter:brightness(1.12)}.ap-interview{min-height:225px}.ap-interview>div{padding:18px 20px 5px;text-align:center}.ap-interview>div span{color:#c09954;font-size:62px;line-height:.8}.ap-interview h3{margin:5px 0 8px;font-size:22px;font-weight:500}.ap-interview p{margin:0;color:#766f65;font-size:13px}
.ap-materials{margin-top:30px;padding:26px 28px 20px}.ap-materials header{display:flex;align-items:center;gap:24px}.ap-materials header p{margin:0;color:#8a8176;font-size:12px}.ap-table-wrap{margin-top:20px;border:1px solid rgba(181,138,69,.35);overflow-x:auto}.ap-materials table{width:100%;min-width:820px;border-collapse:collapse;font-size:13px}.ap-materials th,.ap-materials td{padding:10px 16px;border-bottom:1px solid rgba(181,138,69,.24);text-align:left}.ap-materials th{color:#695e4d;background:rgba(220,201,164,.25);font-weight:500}.ap-materials td:nth-child(2){color:#81796e}.ap-materials td a{color:#7d2432;text-decoration:underline}.state{display:inline-block;min-width:75px;padding:4px 8px;border:1px solid;border-radius:4px;text-align:center;font-size:11px}.state.done{border-color:#9aa986;color:#687653;background:#eef0e6}.state.pending{border-color:#d4aa68;color:#a36f25;background:#fff2dc}.state.review{border-color:#94a6b4;color:#667a8a;background:#eaf0f3}.ap-materials .ap-more{width:300px;margin:11px auto 0;border:0}.ap-notices{margin-top:28px;padding:26px 30px 20px}.ap-notices ul{margin:18px 0 0;padding:0;list-style:none}.ap-notices li{display:flex;justify-content:space-between;gap:20px;padding:10px 8px;border-bottom:1px dotted rgba(181,138,69,.35);font-size:13px}.ap-notices li span::before{content:"•";margin-right:12px;color:#7a2332}.ap-notices time{color:#8e867c;font-size:11px;white-space:nowrap}.ap-notices .ap-more{width:240px;margin:10px auto 0;border:0}
.ap-help{display:grid;grid-template-columns:120px 1fr 260px 230px;align-items:center;gap:20px;min-height:132px;margin-top:28px;padding:14px 30px}.ap-help>img{width:100px;height:108px;object-fit:contain}.ap-help h2{margin:0 0 6px;font-size:26px;font-weight:500}.ap-help p{margin:0;color:#776f65;font-size:13px}.ap-help>a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;border:1px solid #b48b50;color:#6e583a;background:transparent}.ap-help>a.primary{border-color:#742030;color:#fff;background:#742030}.ap-help>a img{width:25px;height:25px;filter:brightness(0) invert(1)}.ap-help>a span{font-size:24px}
@media(max-width:1100px){.ap-breadcrumb,.ap-hero,.ap-summary,.ap-steps,.ap-workspace,.ap-materials,.ap-notices,.ap-help{width:calc(100% - 48px)}.ap-hero{grid-template-columns:55% 45%}.ap-hero h1{font-size:47px}.ap-summary{grid-template-columns:1fr}.ap-summary-info{border-right:0}.ap-overall{margin-top:24px;padding-top:20px;border-top:1px solid rgba(181,138,69,.4)}.ap-workspace{grid-template-columns:1fr}.ap-current-progress{min-height:0}.ap-help{grid-template-columns:90px 1fr 220px}.ap-help>a:last-child{grid-column:3}}
@media(max-width:760px){.application-progress-page{padding-top:98px}.ap-breadcrumb,.ap-hero,.ap-summary,.ap-steps,.ap-workspace,.ap-materials,.ap-notices,.ap-help{width:calc(100% - 28px)}.ap-breadcrumb{padding:11px 0}.ap-hero{display:block;height:395px}.ap-hero-copy{gap:12px;padding:25px 5px 0}.ap-hero-moon{font-size:65px}.ap-hero h1{font-size:38px}.ap-hero p{font-size:13px;line-height:1.7}.ap-hero>img{width:145%;height:245px;margin-left:-22%}.ap-summary{padding:25px 18px}.ap-summary-info{grid-template-columns:1fr}.ap-summary-info dl,.ap-summary-info dl+dl{padding:0;border-left:0}.ap-summary-info dl+dl{margin-top:18px}.ap-summary-info dd{font-size:20px}.ap-summary-info .ap-status{font-size:23px}.ap-steps{overflow-x:auto;padding:28px 18px}.ap-steps ol{min-width:700px}.ap-workspace{gap:18px}.ap-panel{padding:22px 16px}.ap-panel h2{font-size:21px}.ap-current-progress li{grid-template-columns:24px 1fr}.ap-current-progress time{grid-column:2}.ap-task{grid-template-columns:48px 1fr}.ap-task>div:last-child{grid-column:2;grid-template-columns:1fr 1fr}.ap-interview h3{font-size:19px}.ap-materials{padding:22px 14px}.ap-materials header{display:block}.ap-materials header p{margin:7px 0 0}.ap-notices li{display:block}.ap-notices time{display:block;margin-top:6px;text-align:right}.ap-help{grid-template-columns:75px 1fr;padding:16px}.ap-help>img{width:70px;height:80px}.ap-help h2{font-size:22px}.ap-help>a,.ap-help>a:last-child{grid-column:1/3;min-height:48px}}
.editorial-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Canonical child-page header: parent-visit.html is the single visual source of truth. */
body[data-child-page] .site-header.site-header {
  color: #f5efe3;
  border-bottom: 1px solid rgba(194, 166, 109, .42);
  background: #07172a;
  box-shadow: 0 2px 0 rgba(190, 148, 67, .52);
  font-family: "Noto Serif SC", "Songti SC", SimSun, serif;
}

body[data-child-page] .site-header.site-header.is-scrolled {
  height: 84px;
  background: rgba(7, 17, 29, .95);
}

body[data-child-page] .site-header .brand {
  color: #f5efe3;
}

body[data-child-page] .site-header .brand strong {
  color: #ead7ad;
}

body[data-child-page] .site-header .brand em {
  color: #dcc28b;
}

body[data-child-page] .site-header .crest {
  border: 0;
  border-radius: 0;
  clip-path: none;
  background: transparent url("icons/yuehua-crest-transparent.png") center / contain no-repeat !important;
  box-shadow: none;
}

body[data-child-page] .site-header .crest span {
  display: none;
}

body[data-child-page] .site-header .site-nav,
body[data-child-page] .site-header .site-nav > a {
  color: #d8bd84;
}

body[data-child-page] .site-header .nav-trigger,
body[data-child-page] .site-header .dropdown-menu a {
  color: #d6bd7a;
}

body[data-child-page] .site-header .dropdown-menu {
  border-color: rgba(197, 170, 114, .48);
  background: rgba(7, 17, 29, .96);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(255, 246, 220, .04);
}

@media (min-width: 1061px) {
  body[data-child-page] .site-header.site-header {
    height: 106px;
    padding: 0 96px;
  }

  body[data-child-page] .site-header .brand {
    gap: 22px;
    min-width: 430px;
  }

  body[data-child-page] .site-header .crest {
    width: 112px;
    height: 112px;
  }

  body[data-child-page] .site-header .brand strong {
    font-size: 34px;
    line-height: 1;
  }

  body[data-child-page] .site-header .brand em {
    margin-top: 13px;
    font-size: 18px;
    letter-spacing: .12em;
  }

  body[data-child-page] .site-header .site-nav {
    gap: 84px;
    font-size: 19px;
  }
}