@font-face{font-family:Inter;src:url('fonts/inter-200.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('fonts/inter-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url('fonts/inter-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Inter;src:url('fonts/inter-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root {
  color-scheme: dark;
  --maroon: #8d153b;
  --maroon-dark: #6b0d2b;
  --gold: #ffffff;
  --cream: #fdf8f2;
  --ink: #fdf8f2;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--maroon-dark); color: var(--ink); }
a { -webkit-tap-highlight-color: transparent; }
.header {
  min-height: 104px;
  padding: 14px clamp(24px, 5vw, 88px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: var(--maroon);
  border-bottom: 2px solid var(--gold);
  position: relative;
  z-index: 2;
}
.brand { display: block; width: 174px; height: auto; }
nav { display: flex; align-items: center; gap: clamp(22px, 3.5vw, 56px); }
nav a {
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 48px;
  transition: background .18s, color .18s;
}
nav a span { font-size: 22px; font-weight: 400; }
.event-link { color: var(--cream); }
.event-link:hover { color: var(--gold); }
.site-link { color: var(--maroon-dark); background: var(--gold); padding: 0 23px; border-radius: 3px; }
.site-link:hover { background: #ffcb53; }
a:focus-visible { outline: 3px solid white; outline-offset: 6px; }
.skip-link { position: absolute; left: 20px; top: -100px; padding: 15px; background: white; color: var(--maroon); z-index: 5; }
.skip-link:focus { top: 15px; }
.page { position: relative; isolation: isolate; min-height: calc(100svh - 104px); display: flex; flex-direction: column; }
.photograph { position: absolute; inset: 0; z-index: -2; background: url('img/hero.jpg') center 53% / cover no-repeat; opacity: .5; }
.page::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 30% 30%, transparent 0%, rgba(0,0,0,.32) 100%), linear-gradient(160deg, rgba(74,13,32,.92) 0%, rgba(156,27,63,.85) 55%, rgba(240,180,41,.55) 100%); }
main { flex: 1; display: flex; align-items: center; justify-content: center; padding: clamp(46px, 6vh, 84px) 26px 38px; }
main:focus { outline: none; }
.letter { width: 100%; max-width: 930px; text-align: center; }
.opening { font-family: Inter, Arial, sans-serif; font-size: clamp(25px, 2.65vw, 39px); line-height: 1.4; letter-spacing: -.025em; color: var(--cream); }
.opening p { margin: 0; }
.body-copy { margin: 27px 0 30px; font-family: Inter, Arial, sans-serif; font-size: clamp(18px, 1.55vw, 23px); line-height: 1.7; }
.body-copy span { display: block; }
h1 { margin: 0; font-family: Inter, Arial, sans-serif; font-size: clamp(41px, 4.6vw, 68px); font-weight: 400; line-height: 1.1; letter-spacing: -.04em; color: var(--cream); }
h1 em { font-weight: 400; }
.recognition { text-align: center; padding: 18px 24px 28px; font-family: Inter, Arial, sans-serif; color: var(--cream); }
.gold-line { width: 42px; height: 2px; background: var(--gold); margin: 0 auto 16px; }
.recognition-title { font-size: 11px; text-transform: uppercase; line-height: 1.7; letter-spacing: .14em; margin: 0 0 7px; }
.recognition-credit { font-size: 10px; line-height: 1.6; margin: 0; }
.recognition-credit strong { font-weight: 600; }
@media (min-width: 1600px) { main { padding-top: 8vh; padding-bottom: 6vh; } }
@media (max-width: 600px) {
  .header { padding: 13px 20px 18px; flex-direction: column; gap: 10px; }
  .brand { width: 145px; }
  nav { width: 100%; justify-content: center; gap: 30px; }
  nav a { font-size: 14px; gap: 12px; }
  .site-link { padding: 0 18px; }
  .page { min-height: calc(100svh - 143px); }
  .photograph { background-position: 66% center; }
  main { padding: 46px 24px 36px; }
  .opening { font-size: clamp(23px, 6vw, 30px); }
  .body-copy { margin: 23px auto 28px; max-width: 350px; font-size: 18px; line-height: 1.65; }
  .body-copy span + span { margin-top: 8px; }
  h1 { font-size: clamp(39px, 10vw, 53px); }
  .recognition { padding: 14px 20px 25px; }
  .recognition-title { font-size: 9px; letter-spacing: .1em; }
  .recognition-credit { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Uppercase light-weight narration and entry link below the letter. */
.opening,.body-copy,h1 { font-weight:200; text-transform:uppercase; }
.opening { font-size:clamp(23px,2.3vw,34px); line-height:1.5; letter-spacing:.035em; }
.body-copy { font-size:clamp(15px,1.4vw,20px); line-height:1.9; letter-spacing:.04em; }
h1 { font-size:clamp(32px,3.5vw,51px); line-height:1.25; letter-spacing:.04em; }
.enter-link { display:inline-flex; align-items:center; justify-content:center; gap:30px; margin-top:30px; min-height:48px; padding:12px 26px; font:600 13px/1.5 Inter,Arial,sans-serif; text-decoration:none; border-radius:0; }
.enter-link span { font-size:22px; font-weight:400; }
.enter-link:hover { background:#f3e8ec; }
@media(max-width:600px){
 .opening { font-size:23px; }
 .body-copy { font-size:15px; line-height:1.85; }
 h1 { font-size:clamp(27px,7.2vw,38px); }
 .enter-link { margin-top:26px; }
}
/* Centred header group: logo left, vertically stacked links right. */
.header { flex-direction:row; justify-content:center; gap:42px; padding:18px 24px; }
.header nav { width:auto; flex-direction:column; align-items:flex-start; justify-content:center; gap:0; }
.header nav a { min-height:38px; gap:14px; }
.page { min-height:calc(100svh - 114px); }
@media(max-width:600px){
 .header { flex-direction:row; gap:24px; padding:16px 20px; }
 .header nav { width:auto; gap:0; }
 .header nav a { font-size:13px; min-height:36px; }
 .page { min-height:calc(100svh - 106px); }
}
/* Larger recognition and links; original homepage composition is retained. */
.recognition-title { font-size:20px; line-height:1.55; letter-spacing:.08em; }
.recognition-credit { font-size:14px; }
.header nav a { font-size:18px; }
.enter-link { font-size:18px; }
@media(max-width:600px){
 .recognition-title { font-size:16px; letter-spacing:.06em; }
 .recognition-credit { font-size:12px; }
 .header nav a { font-size:16px; gap:10px; }
 .enter-link { font-size:17px; }
}
@media(max-width:360px){
 .header { gap:14px; padding-inline:16px; }
 .header nav a span { font-size:20px; }
}
