.timing-main { padding: 0; background: #eeece7; color: #181818; }
.timing-main > .wrap { max-width: none; padding: 0; }
.timing-page { --timing-red: #d52225; --timing-line: #cbc8c1; }
.timing-page section[id] { scroll-margin-top: 68px; }
.timing-eyebrow, .timing-hero-status, .timing-day-nav, .timing-section-rail, .timing-release-grid > div > span, .timing-date, .timing-topline, .timing-inline-note > span, .timing-classes time, .timing-classes > li > span, .timing-milestones time, .timing-milestones > li > span, .timing-end span, .timing-end a { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .05em; }
.timing-hero { position: relative; isolation: isolate; color: white; background: #080b12 url('img/program/stage-bg-2027.png') center center / cover no-repeat fixed; }
.timing-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,6,11,.9), rgba(5,6,11,.66) 46%, rgba(5,6,11,.2)), linear-gradient(0deg, rgba(5,6,11,.8), transparent 46%); }
.timing-hero-inner { min-height: 520px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 70px 80px; }
.timing-eyebrow { color: #f24946; font-size: .78rem; font-weight: 700; }
.timing-hero h1 { margin: 22px 0 24px; font-size: clamp(3.6rem, 8vw, 7.4rem); line-height: .9; letter-spacing: -.075em; font-weight: 900; }
.timing-hero h1 span { color: var(--timing-red); }
.timing-hero-inner > p { max-width: 640px; margin: 0; color: #e0dfdf; font-size: clamp(1.08rem, 1.7vw, 1.35rem); line-height: 1.5; }
.timing-hero-status { display: inline-flex; align-items: center; gap: 11px; margin-top: 40px; border: 1px solid rgba(255,255,255,.45); padding: 12px 15px; font-size: .7rem; font-weight: 700; background: rgba(6,6,11,.58); }
.timing-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #f1d749; flex: none; }
.timing-day-nav { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.35); background: rgba(5,5,8,.72); backdrop-filter: blur(8px); }
.timing-day-nav a { display: flex; flex-direction: column; gap: 4px; min-height: 110px; padding: 18px 20px; border-left: 1px solid #3a393b; transition: background-color .18s ease; }
.timing-day-nav a:last-child { border-right: 1px solid #3a393b; }
.timing-day-nav a:hover, .timing-day-nav a:focus-visible { color: white; background: #262126; }
.timing-day-nav small { color: #f24946; font-size: .66rem; font-weight: 700; }
.timing-day-nav strong { color: white; font-family: Inter, sans-serif; font-size: 1.25rem; letter-spacing: -.03em; }
.timing-day-nav span { color: #b7b5b5; font-size: .68rem; }
.timing-release, .timing-day-light { background-color: #eeece7; background-image: linear-gradient(rgba(10,10,10,.037) 1px, transparent 1px); background-size: 100% 116px; background-attachment: fixed; }
.timing-release { padding-block: clamp(70px,8vw,112px); }
.timing-release-layout, .timing-day-layout { display: grid; grid-template-columns: minmax(135px,.28fr) minmax(0,1fr); gap: clamp(38px,7vw,110px); }
.timing-section-rail { border-top: 3px solid var(--timing-red); padding-top: 15px; }
.timing-section-rail span, .timing-date small { display: block; color: #a72528; font-size: .72rem; font-weight: 700; }
.timing-section-rail b { display: block; margin-top: 15px; font-size: .75rem; line-height: 1.5; }
.timing-release h2 { max-width: 810px; margin: 0 0 34px; font-size: clamp(2.2rem,4.4vw,4.3rem); line-height: 1.02; letter-spacing: -.055em; text-transform: uppercase; }
.timing-release-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--timing-line); }
.timing-release-grid > div { padding: 27px; }
.timing-release-grid > div + div { border-left: 1px solid var(--timing-line); }
.timing-release-grid > div > span { display: block; color: #a72528; font-size: .7rem; font-weight: 700; }
.timing-release-grid strong { display: block; margin: 15px 0 7px; font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1; letter-spacing: -.05em; }
.timing-release-grid p { max-width: 32ch; margin: 0; color: #55534f; line-height: 1.5; }
.timing-muted { margin: 25px 0 0; color: #595853; line-height: 1.55; }
.timing-muted a { color: #ad2225; border-bottom: 1px solid currentColor; }
.timing-day { padding-block: clamp(70px,8vw,112px); border-top: 1px solid #d8d5cd; }
.timing-day-paper { background: #f8f7f3; }
.timing-date { position: sticky; top: 105px; align-self: start; border-top: 3px solid var(--timing-red); padding-top: 16px; font-weight: 700; }
.timing-date strong { display: block; margin: 7px 0; font-family: Inter,sans-serif; font-size: clamp(6rem,11vw,10rem); line-height: .84; letter-spacing: -.09em; }
.timing-date span { color: #66635e; font-size: .75rem; }
.timing-day-content { min-width: 0; }
.timing-topline { display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid #aaa7a1; padding-top: 13px; color: #a72528; font-size: .74rem; font-weight: 700; }
.timing-topline span:last-child { color: #373531; text-align: right; }
.timing-day h2 { max-width: 900px; margin: 24px 0 27px; font-size: clamp(2.4rem,4.8vw,4.8rem); line-height: 1; letter-spacing: -.06em; text-transform: uppercase; }
.timing-day-content > p { max-width: 780px; margin: 0 0 30px; color: #4b4945; font-size: clamp(1.05rem,1.45vw,1.18rem); line-height: 1.58; }
.timing-inline-note { display: grid; grid-template-columns: 145px 1fr; gap: 18px; border-top: 1px solid var(--timing-line); border-bottom: 1px solid var(--timing-line); padding: 18px 0; }
.timing-inline-note > span { color: #a72528; font-size: .7rem; font-weight: 700; }
.timing-inline-note p { margin: 0; line-height: 1.5; }
.timing-classes, .timing-milestones { padding: 0; margin: 0; list-style: none; border-top: 2px solid #191919; }
.timing-classes li { display: grid; grid-template-columns: minmax(150px,.3fr) minmax(0,1fr) minmax(120px,.4fr); gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--timing-line); }
.timing-classes time { color: #a72528; font-size: .88rem; font-weight: 700; }
.timing-classes strong { font-size: 1.25rem; }
.timing-classes li > span { color: #686660; font-size: .75rem; text-align: right; }
.timing-milestones { margin-bottom: 30px; }
.timing-milestones li { display: grid; grid-template-columns: minmax(150px,.3fr) minmax(0,1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--timing-line); }
.timing-milestones time, .timing-milestones li > span { color: #a72528; font-size: .88rem; font-weight: 700; }
.timing-milestones strong { display: block; font-size: 1.18rem; }
.timing-milestones p { margin: 4px 0 0; color: #625f59; line-height: 1.45; }
.timing-end { background: #111113; color: white; padding-block: clamp(60px,7vw,95px); }
.timing-end-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.4fr); gap: 30px; align-items: end; }
.timing-end span { color: #f24946; font-size: .72rem; font-weight: 700; }
.timing-end h2 { margin: 16px 0; font-size: clamp(2rem,4vw,4rem); letter-spacing: -.055em; text-transform: uppercase; line-height: 1; }
.timing-end p { margin: 0; color: #b9b7b5; }
.timing-end-inner > div:last-child { display: grid; gap: 8px; }
.timing-end a { display: block; border: 1px solid #686666; padding: 16px 18px; color: white; font-size: .75rem; font-weight: 700; }
.timing-end a:hover, .timing-end a:focus-visible { background: #29292b; }
@media (max-width: 760px) {
  .timing-hero { background-attachment: scroll; background-position: 58% center; }
  .timing-hero-inner { min-height: 450px; padding-block: 64px; }
  .timing-day-nav { grid-template-columns: 1fr; }
  .timing-day-nav a { min-height: 0; padding: 15px 0; border-left: 0; border-bottom: 1px solid #3a393b; }
  .timing-day-nav a:last-child { border-right: 0; }
  .timing-release-layout, .timing-day-layout { grid-template-columns: 1fr; gap: 28px; }
  .timing-section-rail b { display: none; }
  .timing-date { position: static; }
  .timing-date strong { font-size: 5.6rem; }
  .timing-release-grid { grid-template-columns: 1fr; }
  .timing-release-grid > div + div { border-left: 0; border-top: 1px solid var(--timing-line); }
  .timing-topline { flex-wrap: wrap; }
  .timing-topline span:last-child { text-align: left; }
  .timing-classes li { grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; }
  .timing-classes time { grid-column: 1 / -1; }
  .timing-classes li > span { align-self: end; }
  .timing-milestones li { grid-template-columns: 115px 1fr; gap: 12px; }
  .timing-inline-note { grid-template-columns: 1fr; gap: 6px; }
  .timing-end-inner { grid-template-columns: 1fr; }
}
@media (max-width: 390px) {
  .timing-hero h1 { font-size: 3.3rem; }
  .timing-milestones li { grid-template-columns: 1fr; gap: 7px; }
}
