/* Reds Day: reuse the Foundation's existing fonts, palette, and buttons. */
.reds-feature__grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: clamp(28px,5vw,70px); align-items: center; }
.reds-feature__photo { display: block; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow-lg); background: var(--ink); }
.reds-feature__photo img { width: 100%; height: auto; }
.reds-feature__copy h2 { font-size: clamp(2rem,3.5vw,3.25rem); }
.reds-feature__copy p { color: var(--ink-soft); font-size: 1.075rem; }
.reds-feature__copy .button { margin-top: 8px; text-transform: none; letter-spacing: 0; }
.reds-recognition { padding: 30px 0; border-top: 1px solid var(--line); background: var(--cream); }
.reds-recognition p { max-width: 810px; margin: 0 auto; text-align: center; font-size: 1.05rem; color: var(--plum); font-weight: 600; }
.reds-about__grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(30px,6vw,90px); align-items: center; }
.reds-about figure { width: min(100%,420px); margin: 0 auto; }
.reds-about img { width: 100%; height: auto; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.reds-news { padding-bottom: 0; }
.news-card[id] { scroll-margin-top: 35px; }
.reds-hero { padding: 34px 0 clamp(56px,7vw,90px); background: linear-gradient(140deg,var(--cream),var(--blush)); }
.reds-hero .breadcrumbs { margin-bottom: 34px; color: var(--ink-soft); }
.reds-hero .breadcrumbs a { color: var(--plum); }
.reds-hero__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr); gap: clamp(28px,4vw,56px); align-items: center; }
.reds-hero h1 { font-size: clamp(2.6rem,4.4vw,4.35rem); line-height: 1.08; }
.reds-hero .lede { font-size: clamp(1rem,1.5vw,1.15rem); margin-bottom: 0; }
.reds-hero__photo { margin: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.reds-hero__photo img { width: 100%; height: auto; }
.reds-video-section { padding: clamp(48px,6vw,78px) 0; }
.reds-video-section h2 { text-align: center; margin-bottom: 32px; font-size: clamp(2rem,3.8vw,3.2rem); }
.reds-video { display: block; width: 100%; max-height: 72vh; min-height: 220px; margin: auto; aspect-ratio: 16 / 9; background: #13091b; object-fit: contain; border-radius: 18px; position: relative; z-index: 1; }
.reds-photos h2 { margin-bottom: 38px; }
.reds-gallery { columns: 3; column-gap: 24px; }
.reds-gallery__item { display: inline-block; width: 100%; margin: 0 0 24px; break-inside: avoid; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow-sm); }
.reds-gallery__item a { display: block; }
.reds-gallery__item img { width: 100%; height: auto; }
.reds-gallery__item figcaption { padding: 16px 19px 19px; color: var(--ink-soft); font-size: .9rem; line-height: 1.45; }
.reds-gallery a:focus-visible, .reds-feature__photo:focus-visible { outline: 4px solid var(--pink); outline-offset: 5px; }
.reds-story { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(30px,7vw,100px); }
.reds-story h2 { max-width: 390px; }
.reds-story__copy { max-width: 710px; font-size: 1.1rem; }
.reds-story__copy p { margin-bottom: 1.1em; }
.reds-story__copy .text-link { margin-top: 14px; }
.reds-moments { max-width: 890px; }
.reds-moments .lede { max-width: none; margin-bottom: 0; }
.reds-cta h2 { max-width: 940px; margin-inline: auto; }
.reds-cta .lede { max-width: 810px; }
.reds-cta .button-row { align-items: stretch; }
.reds-cta .button { text-transform: none; letter-spacing: 0; min-height: 64px; }
.reds-coming-soon { flex-direction: column; gap: 3px; cursor: default; color: #fff; }
.reds-coming-soon__status { font-size: .65rem; font-weight: 600; letter-spacing: .1em; color: var(--gold-soft); }
.reds-coming-soon:hover { transform: none; box-shadow: none; }
@media (max-width: 980px) {
  .reds-gallery { columns: 2; }
  .reds-hero__grid { grid-template-columns: 1fr; }
  .reds-hero__copy { max-width: 760px; }
  .reds-hero__photo { max-width: 850px; }
  .reds-hero h1 { font-size: clamp(2.6rem,6.5vw,4.2rem); }
}
@media (max-width: 700px) {
  .reds-feature__grid, .reds-about__grid, .reds-story { grid-template-columns: 1fr; gap: 28px; }
  .reds-feature__copy h2 { font-size: 2.3rem; }
  .reds-hero { padding-top: 24px; }
  .reds-hero .breadcrumbs { font-size: .78rem; margin-bottom: 28px; }
  .reds-about figure { width: min(100%,360px); }
  .reds-story h2 { max-width: none; margin-bottom: 0; }
  .reds-cta .button-row { flex-direction: column; }
  .reds-cta .button { width: 100%; }
  .reds-video { border-radius: 12px; min-height: 190px; }
}
@media (max-width: 600px) {
  .reds-gallery { columns: 1; }
  .reds-gallery__item { margin-bottom: 24px; }
  .reds-recognition p { font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) {
  .reds-feature .button, .reds-cta .button { transition: none; }
}
