/* Unified evergreen palette. Section edges share the same base colour. */
:root {
  --emerald: #123c32;
  --forest: #19483b;
  --mist: #214d40;
  --sage: #93ad9b;
  --paper: #edf2eb;
  --ink: #edf2eb;
  --muted: #c5d6cb;
  --gold: #d0b574;
}
body, .header, .hero, .document-hero, footer { background: var(--emerald); }
.contest-section, .contest-section.alternate, .anniversary-compact,
.mission-visual, .nominations-visual, .projects, .stages,
.closing.closing-visual, .application-demo {
  background: linear-gradient(180deg, var(--emerald) 0%, #194438 48%, var(--emerald) 100%);
}
.intro, .closing, .about-intro, .document-list, .faq { background: var(--emerald); }
.intro::before, .closing::before, .closing::after,
.anniversary-story::after, .compact::after, .document-hero::after,
.faq::after, .document-list::after { display: none; }
.anniversary-story { border-bottom: 0; }
.anniversary-case, .nomination-photo-card, .contest-card {
  background: #173f34;
  border-color: #d0b57438;
}
.anniversary-hero .hero-shade {
  background: linear-gradient(90deg, #123c32 0%, #123c32f5 29%, #123c32b8 56%, #123c3226 100%),
    linear-gradient(0deg, #123c32 0%, #123c3266 24%, transparent 58%);
}
.anniversary-hero .jubilee-heading {
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 44px);
  max-width: 1000px;
  padding-right: 0;
}
.anniversary-hero .jubilee-emblem {
  position: static;
  flex: 0 0 clamp(100px, 12vw, 165px);
  width: auto;
}
.anniversary-hero .jubilee-mark { font-size: clamp(145px, 16vw, 220px); }
.anniversary-hero .jubilee-heading h1 { font-size: clamp(52px, 5.6vw, 84px); }
.anniversary-hero .jubilee-outline { opacity: .09; }
.green { background: #285743; }
.green:hover { background: #32664f; }
.demo-panel, .demo-panel:not(.demo-explanation) { background: #194438; color: var(--paper); }
.demo-panel input, .demo-panel select { background: #123c32; color: var(--paper); border-color: #93ad9b77; }
.demo-results button { background: #285743; color: var(--paper); }
@media (max-width: 800px) {
  .anniversary-hero .jubilee-heading { gap: 22px; padding-right: 0; }
  .anniversary-hero .jubilee-emblem { flex-basis: 85px; }
  .anniversary-hero .jubilee-mark { font-size: 125px; }
  .anniversary-hero .jubilee-heading h1 { font-size: clamp(33px, 6.4vw, 51px); }
}
@media (max-width: 520px) {
  .anniversary-hero .jubilee-heading { gap: 14px; padding-right: 0; }
  .anniversary-hero .jubilee-emblem { flex-basis: 55px; }
  .anniversary-hero .jubilee-mark { font-size: 85px; margin-bottom: 12px; }
  .anniversary-hero .emblem-caption { font-size: 7px; letter-spacing: .12em; }
  .anniversary-hero .jubilee-heading h1 { font-size: clamp(26px, 7vw, 36px); }
}
.values, dialog, .dialog-close { background: #194438; color: var(--paper); }
.compact .hero-shade {
  background: linear-gradient(90deg,#123c32fa,#123c32c9 42%,#123c3233),
    linear-gradient(0deg,#123c32,transparent 60%);
}

/* Editorial finish: evergreen, antique gold, architectural proportions. */
:root {
  --gold: #cfb985;
  --paper: #f1f1e7;
  --muted: #becec4;
  --rule: rgba(207,185,133,.28);
  --section-space: clamp(64px,7.5vw,112px);
}
body { -webkit-font-smoothing: antialiased; }
::selection { background: #cfb985; color: #123c32; }
.container, .anniversary-panel, .anniversary-hero .hero-content { width: min(1240px,88%); }
h1,h2,h3 { text-wrap: balance; }
h2, .contest-section h2, .mission-copy h2, .closing-copy h2 {
  font-size: clamp(34px,3.7vw,56px); line-height: 1.13; letter-spacing: -.035em;
}
p { text-wrap: pretty; }
.eyebrow { color: var(--gold); font-size: 10px; letter-spacing: .2em; }
.top { min-height: 86px; gap: 36px; }
.identity { font-size: 11px; letter-spacing: .12em; }
.identity img { opacity: .88; }
.tricolor { width: 90px; opacity: .65; }
.project-label { font-size: 10px; line-height: 1.5; letter-spacing: .05em; }
.header-anniversary b { font-size: 36px; }
.nav { min-height: 64px; }
.wordmark { font-size: 26px; letter-spacing: .15em; }
.nav-links { font-size: 13px; gap: 30px; }
.nav-links .nav-cta { padding: 10px 18px; border-color: var(--rule); }
.nav-border { border-color: var(--rule); }
.nav-links a, .text-link, .case-controls button { transition: color .2s, border-color .2s, background .2s; }
.nav-links a:hover, .text-link:hover { color: #eadab3; }

/* One alignment axis for the emblem, heading and supporting copy. */
.anniversary-hero { min-height: 740px; }
.anniversary-hero .hero-content { padding: 76px 0 158px; }
.anniversary-hero .hero-photo { object-position: 57% center; filter: saturate(.8) brightness(.9); }
.hero-frame { inset: 22px; border-color: rgba(207,185,133,.24); }
.anniversary-hero .eyebrow { margin-bottom: 34px; font-size: 10px; }
.anniversary-hero .jubilee-heading { gap: 30px; margin-bottom: 28px; max-width: 960px; }
.anniversary-hero .jubilee-emblem { flex-basis: 130px; }
.anniversary-hero .jubilee-mark {
  font-size: 182px; margin-bottom: 18px;
  background-image: linear-gradient(120deg,#ac8c50,#eee0b6 43%,#c4a86b 76%,#e2cca0);
}
.anniversary-hero .emblem-caption { font-size: 8px; letter-spacing: .22em; }
.anniversary-hero .jubilee-heading h1 { font-size: clamp(56px,5.7vw,84px); line-height: 1.04; }
.anniversary-hero h1 em { color: #e4d5b1; }
.anniversary-hero .hero-subtitle { max-width: 610px; font-size: 17px; line-height: 1.8; margin-bottom: 22px; }
.anniversary-hero .gold-line { margin: 22px 0; width: 64px; }
.hero-dedication { font-size: 14px; line-height: 1.85; }
.anniversary-hero .hero-status, .anniversary-hero .hero-footnote { left: max(6%,calc((100% - 1240px)/2)); }
.hero-status { gap: 26px; font-size: 9px; letter-spacing: .14em; border-color: var(--rule); bottom: 72px; }
.hero-footnote { font-size: 8px; letter-spacing: .15em; right: 6%; bottom: 28px; }
.anniversary-hero .jubilee-outline { opacity: .065; }
.button, .anniversary-hero .button {
  border-radius: 0; min-height: 52px; padding: 16px 26px;
  font-size: 12px; letter-spacing: .055em; font-weight: 500;
}
.anniversary-button, .closing .button {
  background: linear-gradient(110deg,#c4aa74,#e0cea3); color: #12382f;
  border: 1px solid #dfcfa7; box-shadow: 0 5px 20px #031a1418;
}
.button.outline { border-color: #cfb98570; background: #123c3230; }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 26px #031a1433; }

/* Fine inset frames establish a common rhythm between long sections. */
.contest-section, .anniversary-compact, .projects, .closing.closing-visual {
  position: relative; padding-top: var(--section-space); padding-bottom: var(--section-space);
}
.contest-section::before, .anniversary-compact::before, .projects::before,
.closing.closing-visual::before {
  content: ''; display: block; position: absolute; inset: 16px 22px;
  border: 1px solid rgba(207,185,133,.19); pointer-events: none; z-index: 0;
  background: none;
}
.contest-section > .container, .anniversary-panel, .projects > .container,
.closing-visual > .container { position: relative; z-index: 1; }
.anniversary-compact { min-height: 0; }
.anniversary-topline { padding-bottom: 22px; margin-bottom: 40px; border-color: var(--rule); }
.anniversary-main-row { grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center; }
.anniversary-compact h2 { font-size: clamp(36px,3.5vw,50px); }
.anniversary-intro-copy { font-size: 15px; line-height: 1.9; color: var(--muted); max-width: 460px; }
.anniversary-ten { opacity: .35; color: #cfb98518; }
.anniversary-case { border: 1px solid var(--rule); box-shadow: 0 16px 45px #031e1820; }
.anniversary-case img { height: 265px; }
.anniversary-case figcaption { padding: 24px 26px; min-height: 190px; }
.anniversary-case h3 { font-size: 29px; margin: 12px 0; }
.anniversary-case p { font-size: 13px; line-height: 1.8; }
.case-kicker { font-size: 8px; letter-spacing: .15em; }
.case-links { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.case-credit { font-size: 9px; color: var(--muted); }
.case-controls { margin-top: 16px; }
.case-controls button { width: 40px; height: 34px; border-color: var(--rule); }
.anniversary-pillars { margin-top: 44px; padding-top: 28px; gap: 36px; border-color: var(--rule); }
.anniversary-pillars h3 { font-size: 25px; margin: 12px 0; }
.anniversary-pillars p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.mission-editorial { gap: 64px; margin-top: 40px; }
.mission-photo img, .closing-photo img {
  border-radius: 2px; border: 1px solid var(--rule); padding: 7px;
  background: #163f34; box-shadow: 0 20px 55px #031b1525;
}
.mission-photo img { height: 510px; }
.mission-copy p, .closing-copy p { font-size: 15px; line-height: 1.9; color: var(--muted); }
.mission-copy .large-copy { font-size: 19px !important; color: var(--paper); }
.mission-topics { margin: 30px 0; }
.mission-topics span { font-size: 12px; border-color: var(--rule); }
.organizer-strip { border-color: var(--rule); padding-top: 28px; gap: 64px; }
.organizer-strip p { font-size: 13px; line-height: 1.8; margin-bottom: 0; }
.organizer-strip span { font-size: 9px; letter-spacing: .17em; }

.nomination-heading { align-items: flex-end; }
.nomination-heading > p { font-size: 15px; color: var(--muted); max-width: 290px; }
.nomination-gallery { gap: 26px; margin-top: 44px; align-items: stretch; }
.nomination-photo-card { display: flex; flex-direction: column; border-color: var(--rule); border-radius: 0; box-shadow: 0 12px 36px #031b151c; }
.nomination-image, .nomination-01 .nomination-image, .nomination-02 .nomination-image { height: 285px; }
.nomination-01 .nomination-image, .nomination-02 .nomination-image { height: 340px; }
.nomination-image img { filter: saturate(.83); }
.nomination-caption { display: flex; flex-direction: column; flex: 1; padding: 28px; }
.nomination-caption h3 { font-size: clamp(25px,2.1vw,31px); line-height: 1.2; color: #eee5cf; }
.nomination-caption p { font-size: 14px; line-height: 1.85; color: var(--muted); }
.nomination-details { margin-top: auto; font-size: 11px; letter-spacing: .04em; border-color: var(--rule); }
.nomination-credit { font-size: 9px; color: #adbfaf; }
.nomination-index { background: #123c32d9; border-color: #cfb98566; font-size: 9px; letter-spacing: .16em; }
.nomination-place { font-size: 10px; line-height: 1.6; }
.nomination-note { font-size: 11px !important; line-height: 1.9; }
.timeline-grid { gap: 36px; margin: 42px 0 36px; }
.timeline-grid article { border-color: var(--rule); padding-top: 28px; }
.timeline-grid h3 { font-size: 30px; line-height: 1.3; margin: 20px 0 16px; }
.timeline-grid p { font-size: 14px; line-height: 1.85; }
.timeline-grid article > span { font-size: 9px; letter-spacing: .16em; }
.intro { padding: 72px 0; gap: 30px; }
.intro h2 { font-size: 34px; }
.intro > div p { font-size: 15px; line-height: 1.8; }
.feature { padding-left: 28px; border-color: var(--rule); }
.feature h3 { font-size: 24px; }
.feature p { font-size: 13px; line-height: 1.85; }
.line-icon, .feature .arrow { color: var(--gold); }
.line-icon { font-size: 34px; margin-bottom: 20px; }
.project-grid { gap: 30px; }
.section-heading { margin-bottom: 36px; }
.project-card img { height: 265px; border: 1px solid var(--rule); padding: 5px; }
.project-title { font-size: 26px; margin-top: 20px; }
.project-card small { font-size: 12px; }
.real-project p { font-size: 13px; line-height: 1.9; }
.real-project > .text-link { font-size: 12px; }
.closing-composition { gap: 72px; }
.closing-photo img { height: 420px; }
.closing-copy .buttons { gap: 20px; }
.closing-copy .text-link { font-size: 12px; }
footer { padding: 50px 0 28px; }
.footer-row { gap: 40px; }
.footer-row > div:nth-child(2) { font-size: 12px; }
.footer-row p { color: var(--muted); font-size: 12px; }
.photo-credit { font-size: 10px; line-height: 1.9; color: #9eb5a7; border-color: var(--rule); margin-top: 32px; }
.document-hero { padding: 70px 0; border-bottom: 1px solid var(--rule); }
.document-hero h1 { font-size: clamp(44px,5vw,72px); }
.document-hero p { max-width: 720px; color: var(--muted); }
.contest-card, .demo-panel { padding: 32px; border-radius: 0; border-color: var(--rule); }
.contest-card h3 { font-size: 28px; }
.contest-card p, .contest-card li { font-size: 14px; line-height: 1.85; }
.document-item { padding: 32px 0; border-color: var(--rule); }
.document-item h2 { font-size: 30px; }
.document-item p { font-size: 14px; }
.regulation-text summary { font-size: 19px; padding-right: 20px; }
.regulation-text details p { font-size: 14px; line-height: 1.9; }
@media (max-width: 1050px) {
  .nav-links { gap: 16px; font-size: 12px; }
  .mission-editorial, .anniversary-main-row, .closing-composition { gap: 32px; }
  .nomination-caption { padding: 22px; }
  .nomination-gallery, .project-grid { gap: 20px; }
  .anniversary-hero .jubilee-emblem { flex-basis: 110px; }
  .anniversary-hero .jubilee-mark { font-size: 160px; }
  .mission-photo img { height: 470px; }
}
@media (max-width: 800px) {
  .anniversary-hero { min-height: 740px; }
  .anniversary-hero .hero-content { padding-top: 54px; padding-bottom: 175px; }
  .anniversary-hero .jubilee-heading { gap: 22px; }
  .anniversary-hero .jubilee-emblem { flex-basis: 85px; }
  .anniversary-hero .jubilee-mark { font-size: 125px; }
  .anniversary-hero .jubilee-heading h1 { font-size: clamp(33px,6.4vw,51px); }
  .anniversary-hero .hero-subtitle { font-size: 16px; }
  .anniversary-main-row, .mission-editorial, .closing-composition { grid-template-columns: 1fr; gap: 36px; }
  .anniversary-intro-copy { max-width: 100%; }
  .mission-photo img, .closing-photo img { height: 370px; }
  .nomination-heading { display: block; }
  .nomination-heading > p { max-width: 440px; margin-top: 24px; }
  .nomination-image, .nomination-01 .nomination-image, .nomination-02 .nomination-image { height: 270px; }
  .anniversary-case img { height: 260px; }
  .anniversary-topline { gap: 20px; }
  .anniversary-small-label { font-size: 8px; max-width: 220px; }
}
@media (max-width: 720px) {
  .top { min-height: 72px; gap: 14px; }
  .identity { font-size: 9px; gap: 9px; }
  .tricolor { width: 44px; }
  .header-anniversary b { font-size: 29px; }
  .header-anniversary span { font-size: 7px; }
  .wordmark { font-size: 23px; }
  .nav { min-height: 58px; }
  .nav-links { font-size: 14px; gap: 0; }
  .menu-toggle { border-color: var(--rule); font-size: 12px; padding: 8px 12px; }
  .contest-section::before, .anniversary-compact::before, .projects::before,
  .closing.closing-visual::before { inset: 10px; }
  .hero-frame { inset: 10px; }
  .anniversary-topline { margin-bottom: 30px; }
  .anniversary-pillars { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }
  .anniversary-pillars article { border-color: var(--rule); }
  .organizer-strip { gap: 24px; }
  .timeline-grid { gap: 28px; margin-top: 32px; }
  .timeline-grid h3 { font-size: 28px; }
  .intro { padding: 44px 0; gap: 24px; }
  .feature { padding: 24px 0 0; }
  .feature .line-icon { margin: 0; }
  .project-grid { gap: 38px; }
  .section-heading h2 { font-size: 34px; }
  .section-heading .gold-line { display: none; }
  .footer-row { gap: 26px; }
  .document-hero { padding: 46px 0; }
  .contest-card, .demo-panel { padding: 24px; }
}
@media (max-width: 520px) {
  .anniversary-hero .jubilee-heading { gap: 16px; }
  .anniversary-hero .jubilee-emblem { flex-basis: 55px; }
  .anniversary-hero .jubilee-mark { font-size: 85px; margin-bottom: 12px; }
  .anniversary-hero .emblem-caption { font-size: 6px; letter-spacing: .13em; }
  .anniversary-hero .jubilee-heading h1 { font-size: clamp(26px,7vw,36px); }
  .anniversary-hero .eyebrow { font-size: 8px; letter-spacing: .14em; gap: 12px; }
  .anniversary-hero .eyebrow span { width: 24px; }
  .anniversary-hero .hero-subtitle { font-size: 15px; }
  .hero-dedication { font-size: 13px; }
  .buttons { flex-wrap: wrap; gap: 12px; }
  .button, .anniversary-hero .button { font-size: 11px; padding: 14px 18px; gap: 16px; }
  .hero-status { bottom: 88px; font-size: 8px; gap: 10px 16px; }
  .hero-footnote { flex-direction: column; gap: 10px; font-size: 7px; }
  .anniversary-small-label { max-width: 145px; font-size: 7px; }
  .anniversary-topline .eyebrow { font-size: 8px; }
  .mission-photo img, .closing-photo img { height: 300px; }
  .anniversary-case figcaption { padding: 22px; }
  .nomination-gallery { gap: 24px; }
  .nomination-caption { padding: 25px; }
  .nomination-caption h3 { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Photo-first opening: the city, rather than the jubilee emblem, leads. */
.anniversary-hero.photo-hero {
  min-height: min(840px, calc(100svh - 150px));
  background: #123c32;
}
.photo-hero .hero-photo {
  width: 100%; height: 100%; object-fit: cover;
  object-position: 62% 52%; filter: none; opacity: 1;
}
.anniversary-hero.photo-hero .hero-shade {
  background: linear-gradient(90deg,rgba(5,24,20,.66) 0%,rgba(5,24,20,.34) 33%,transparent 65%),
    linear-gradient(0deg,#123c32 0%,rgba(8,29,24,.55) 12%,transparent 42%);
}
.photo-hero .hero-frame { border-color: #ecd8aa35; }
.anniversary-hero.photo-hero .hero-content {
  padding-top: clamp(64px,8vw,116px); padding-bottom: 150px;
}
.anniversary-hero.photo-hero .eyebrow {
  color: #f0dfb9; margin-bottom: 28px; text-shadow: 0 2px 15px #001710;
}
.anniversary-hero.photo-hero .jubilee-heading { display: block; max-width: 600px; margin-bottom: 26px; }
.anniversary-hero.photo-hero .jubilee-heading h1 {
  font-size: clamp(58px,5.8vw,86px); line-height: 1.04;
  color: #fffdf4; text-shadow: 0 3px 30px #001a1770;
}
.photo-hero h1 em { color: #f2e5c8; }
.anniversary-hero.photo-hero .hero-subtitle {
  max-width: 490px; font-size: 16px; line-height: 1.8;
  color: #f1f4ec; text-shadow: 0 2px 14px #001710;
}
.photo-hero .hero-dedication { font-size: 12px; max-width: 460px; color: #e2e9df; margin-bottom: 26px; }
.photo-hero .hero-dedication strong { color: #f0dfb9; }
.photo-hero .hero-status { color: #e9e2ce; }
.photo-hero .hero-footnote { color: #d7ddcf; font-size: 8px; }
.photo-hero .button.outline { background: #08291e55; border-color: #efdfbc99; }
@media (min-width: 1500px) {
  .anniversary-hero.photo-hero .hero-content { padding-top: 130px; padding-bottom: 170px; }
}
@media (max-width: 800px) {
  .anniversary-hero.photo-hero { min-height: 740px; }
  .photo-hero .hero-photo { object-position: 62% center; }
  .anniversary-hero.photo-hero .hero-content { padding-top: 64px; padding-bottom: 170px; }
  .anniversary-hero.photo-hero .jubilee-heading h1 { font-size: clamp(48px,8vw,66px); }
  .anniversary-hero.photo-hero .hero-shade {
    background: linear-gradient(90deg,#061e186e,transparent 90%),
      linear-gradient(0deg,#123c32 0%,#0a241cc7 26%,#09241c30 76%,transparent);
  }
}
@media (max-width: 520px) {
  .anniversary-hero.photo-hero { min-height: 820px; }
  .photo-hero .hero-photo { object-position: 72% center; }
  .anniversary-hero.photo-hero .hero-content { padding-top: 220px; padding-bottom: 162px; }
  .anniversary-hero.photo-hero .eyebrow { font-size: 8px; margin-bottom: 20px; }
  .anniversary-hero.photo-hero .jubilee-heading h1 { font-size: clamp(41px,10.7vw,55px); }
  .anniversary-hero.photo-hero .hero-subtitle { font-size: 14px; line-height: 1.75; }
  .photo-hero .hero-dedication { font-size: 11px; }
  .photo-hero .hero-footnote { font-size: 7px; }
  .photo-hero .hero-status { bottom: 90px; }
}

/* Selected daytime promenade hero. */
.anniversary-hero.photo-hero .hero-photo { object-position: 60% center; }
.anniversary-hero.photo-hero .hero-shade {
  background: linear-gradient(90deg,#06241de0 0%,#08291fb3 27%,#08291f38 52%,transparent 76%),
    linear-gradient(0deg,#123c32 0%,#123c3270 13%,transparent 43%);
}
@media(max-width:800px) {
  .anniversary-hero.photo-hero .hero-photo { object-position: 62% center; }
  .anniversary-hero.photo-hero .hero-shade {
    background: linear-gradient(90deg,#06241d80,transparent),
      linear-gradient(0deg,#123c32 0%,#09291ed9 36%,#09291e33 77%,transparent);
  }
}
@media(max-width:520px) {
  .anniversary-hero.photo-hero .hero-photo { object-position: 57% center; }
}

/* Final selected cover and copy layout. */
.anniversary-hero.photo-hero .hero-lead {
  font: normal 23px/1.4 Arial,Helvetica,sans-serif; color:#eee1bf;
  margin: 18px 0 0; max-width: 490px; text-shadow:0 2px 14px #001710;
}
.anniversary-hero.photo-hero .hero-content { padding-top:64px; padding-bottom:160px; }
.anniversary-hero.photo-hero .jubilee-heading h1 { font-size:clamp(54px,5.2vw,78px); }
@media(max-width:520px) {
 .anniversary-hero.photo-hero .hero-content { padding-top:190px; padding-bottom:165px; }
 .anniversary-hero.photo-hero .jubilee-heading h1 { font-size:clamp(40px,10vw,52px); }
 .anniversary-hero.photo-hero .hero-lead { font-size:20px; }
}

/* Exact selected photograph: explicit stacking and unobscured upper view. */
.anniversary-hero.photo-hero { min-height:680px; height:auto; }
.anniversary-hero.photo-hero .hero-photo { z-index:0; position:absolute; inset:0; width:100%; height:100%; object-position:center; opacity:1; filter:none; }
.anniversary-hero.photo-hero .hero-shade { z-index:1; background:linear-gradient(0deg,#09291eef 0%,#09291ea6 30%,#09291e14 62%,transparent 85%); }
.anniversary-hero.photo-hero .hero-frame { z-index:2; }
.anniversary-hero.photo-hero .hero-content { position:relative; z-index:3; padding:230px 0 150px; }
.anniversary-hero.photo-hero .jubilee-heading h1 { font-size:clamp(46px,4.8vw,68px); }
.anniversary-hero.photo-hero .eyebrow { margin-bottom:18px; }
.anniversary-hero.photo-hero .hero-status,
.anniversary-hero.photo-hero .hero-footnote { z-index:3; }
.anniversary-hero.photo-hero .hero-subtitle { margin-bottom:12px; }
.anniversary-hero.photo-hero .hero-dedication { margin-bottom:18px; }
.anniversary-hero.photo-hero .gold-line { margin:16px 0; }
@media(max-width:520px) {
 .anniversary-hero.photo-hero .hero-content { padding:220px 0 170px; }
 .anniversary-hero.photo-hero .hero-photo { object-position:57% center; }
 .anniversary-hero.photo-hero .jubilee-heading h1 { font-size:42px; }
}

/* Refined cover typography: a single readable editorial panel. */
.anniversary-hero.photo-hero.refined-hero { min-height:720px; }
.refined-hero .hero-editorial-panel {
 width:min(550px,100%); padding:42px 44px 40px;
 background:linear-gradient(135deg,rgba(8,37,29,.94),rgba(13,43,34,.78));
 border:1px solid rgba(216,195,149,.36);
 box-shadow:0 20px 60px rgba(0,20,14,.15);
 backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.anniversary-hero.photo-hero.refined-hero .hero-content { padding:74px 0 140px; }
.anniversary-hero.photo-hero.refined-hero .hero-shade {
 background:linear-gradient(0deg,#123c32 0%,#123c3280 12%,transparent 50%);
}
.refined-hero .hero-editorial-panel h1 {
 font:normal 400 clamp(54px,5vw,76px)/1.04 Arial,Helvetica,sans-serif;
 letter-spacing:-.035em; color:#fff9ed; margin:0 0 24px; text-shadow:none;
}
.refined-hero .hero-editorial-panel h1 span {
 display:block; font-size:.68em; line-height:1.18; margin-top:9px;
 color:#dfcea6; letter-spacing:-.025em; font-style:normal;
}
.anniversary-hero.photo-hero.refined-hero .eyebrow {
 font:10px/1.6 Arial,sans-serif; letter-spacing:.13em; color:#ddc99d;
 margin:0 0 25px; text-shadow:none;
}
.anniversary-hero.photo-hero.refined-hero .hero-subtitle {
 font:15px/1.8 Arial,sans-serif; color:#dfe8dd; max-width:430px;
 margin:0 0 24px; text-shadow:none;
}
.hero-panel-rule { width:48px; height:1px; background:#cfb98580; margin-bottom:20px; }
.anniversary-hero.photo-hero.refined-hero .hero-dedication {
 font:12px/1.8 Arial,sans-serif; color:#c3d2c6; margin:0 0 27px;
}
.refined-hero .hero-dedication strong { font-weight:400; color:#d8dfd2; }
.refined-hero .buttons { gap:12px; }
.anniversary-hero.refined-hero .button { min-height:48px; padding:14px 21px; font-size:12px; letter-spacing:.02em; }
.anniversary-hero.photo-hero.refined-hero .hero-status { bottom:72px; font-size:9px; border-color:#cfb98540; }
.refined-hero .hero-footnote { bottom:27px; }
@media(max-width:1050px) {
 .refined-hero .hero-editorial-panel { width:490px; padding:36px; }
 .refined-hero .hero-editorial-panel h1 { font-size:64px; }
}
@media(max-width:720px) {
 .anniversary-hero.photo-hero.refined-hero .hero-content { padding:160px 0 145px; }
 .refined-hero .hero-editorial-panel { padding:30px 26px; width:min(490px,100%); }
 .refined-hero .hero-editorial-panel h1 { font-size:56px; }
 .anniversary-hero.photo-hero.refined-hero .hero-subtitle { font-size:14px; }
 .anniversary-hero.photo-hero.refined-hero .eyebrow { font-size:8px; letter-spacing:.1em; }
 .anniversary-hero.photo-hero.refined-hero .hero-status { bottom:90px; font-size:8px; }
}
@media(max-width:380px) {
 .refined-hero .hero-editorial-panel { padding:26px 22px; }
 .refined-hero .hero-editorial-panel h1 { font-size:48px; }
 .anniversary-hero.refined-hero .button { padding:12px 15px; font-size:11px; }
}
