/* Archival photographs in the masthead fade into a white field behind the logo. */
.masthead { position: relative; background: #fff; }
.masthead .header-inner { min-height: 164px; position: relative; pointer-events: none; }
.masthead .header-inner > * { pointer-events: auto; }
.masthead .brand { position: relative; z-index: 3; width: 380px; max-width: 36%; }
.masthead .brand-logo { width: 380px; }
.header-carousel { position: absolute; inset: 0 0 0 auto; width: 70%; overflow: hidden; }
.masthead-photo-window { position: absolute; inset: 0; overflow: hidden; touch-action: pan-y; }
.masthead-slides { display: flex; height: 100%; transition: transform 700ms cubic-bezier(.22,.61,.36,1); }
.masthead-slides > figure { flex: 0 0 100%; min-width: 0; height: 100%; }
.masthead-slides img { width: 100%; height: 100%; object-fit: cover; display: block; }
.header-carousel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#fff 0%,#fff 7%,rgba(255,255,255,.97) 17%,rgba(255,255,255,.65) 31%,rgba(255,255,255,.12) 50%,transparent 70%); pointer-events: none; }
.header-photo-meta { position: absolute; z-index: 2; inset: auto max(28px,calc((100vw - 1240px)/2)) 13px auto; max-width: 65%; display: flex; gap: 14px; align-items: center; }
.header-photo-meta > p { color: var(--navy); background: rgba(255,255,255,.94); font-size: 10px; line-height: 1.5; padding: 7px 10px; margin: 0; }
.header-photo-controls { display: flex; gap: 3px; flex-shrink: 0; }
.header-photo-controls button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d2dce3; background: rgba(255,255,255,.96); color: var(--navy); cursor: pointer; font-size: 13px; }
.header-photo-controls button:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.header-photo-controls button[aria-pressed="true"] { color: var(--red); }
.header-navigation { border-top: 1px solid var(--line); background: #fff; }
.header-navigation #navigation { min-height: 58px; justify-content: space-between; gap: 24px; }
.archive-photo-section { background: var(--light); }
.archive-photo-layout { display: grid; grid-template-columns: 1.8fr 1fr; gap: 50px; align-items: start; }
.archive-photo-layout figure img { display: block; width: 100%; height: auto; }
.archive-photo-layout figcaption,.river-photo-section figcaption { font-size: 11px; color: var(--muted); margin-top: 12px; line-height: 1.7; }
.archive-photo-layout p { font-size: 14px; }
.archive-photo-layout .large-copy { font-size: 21px; }
.historic-emblem { display: block; width: 185px; height: auto; margin: 24px 0 0; }
.archive-photo-layout .small-note { font-size: 11px; }
.river-photo-section { display: grid; grid-template-columns: 1.5fr 1fr; gap: 65px; align-items: center; }
.river-photo-section figure img { display: block; width: 100%; height: auto; }
.river-photo-section h2 { font-size: 34px; margin-bottom: 22px; }
.river-photo-section .text-link { margin-top: 25px; }
.event-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 70px; align-items: start; }
.event-empty { padding: 42px; border: 1px solid var(--line); border-top: 4px solid var(--red); }
.event-empty-icon { display: block; font-size: 32px; color: var(--red); margin-bottom: 24px; }
.event-empty h2 { font-size: 33px; margin-bottom: 22px; }
.event-empty p { max-width: 620px; }
.event-empty .event-review { font-size: 12px; color: var(--muted); margin-top: 25px; }
.event-empty .text-link { margin-top: 30px; }
.event-home { display: flex; justify-content: space-between; gap: 35px; align-items: center; padding-block: 42px; border-top: 1px solid var(--line); }
.event-home h2 { font-size: 28px; margin-bottom: 12px; }
.event-home p:not(.eyebrow) { font-size: 14px; }
.event-home .eyebrow { margin-bottom: 10px; }
.event-home .text-link { flex-shrink: 0; }
@media (min-width:1201px) { html { scroll-padding-top: 240px; } }
@media (max-width:1200px) {
  .header-navigation { display: none; }
  .masthead .header-inner { min-height: 140px; }
  .masthead .brand { max-width: 42%; width: 340px; }
  .header-photo-meta { right: 130px; bottom: 9px; max-width: 60%; }
  .header-photo-meta > p { font-size: 9px; }
  .header-photo-controls { gap: 2px; }
  .menu-toggle { position: relative; z-index: 3; background: #fff; }
}
@media (max-width:860px) {
  .header-photo-meta { right: 23px; max-width: 58%; }
  .header-photo-meta > p { display: none; }
  .header-photo-controls button { width: 44px; height: 34px; }
  .masthead .brand { max-width: calc(100% - 110px); width: 300px; }
  .header-carousel { width: 72%; }
  .header-carousel::after { background: linear-gradient(90deg,#fff 0%,#fff 26%,rgba(255,255,255,.97) 48%,rgba(255,255,255,.65) 65%,rgba(255,255,255,.1) 85%,transparent); }
  .archive-photo-layout,.river-photo-section,.event-layout { gap: 35px; }
}
@media (max-width:760px) {
  .archive-photo-layout,.river-photo-section,.event-layout { grid-template-columns: minmax(0,1fr); }
  .event-home { flex-direction: column; align-items: flex-start; gap: 23px; }
  .archive-photo-layout .historic-emblem { width: 150px; }
  .event-empty { padding: 28px; }
}
@media (max-width:600px) {
  .masthead .header-inner { min-height: 148px; align-items: flex-start; padding-top: 18px; }
  .masthead .brand { max-width: min(310px,calc(100% - 62px)); width: 310px; flex: 1 1 0; }
  .header-photo-meta { bottom: 8px; right: 20px; max-width: none; }
  .header-photo-controls button { height: 44px; width: 44px; }
  .masthead .menu-toggle { margin-top: 0; }
  .header-carousel { width: 75%; }
  .header-carousel::after { background: linear-gradient(90deg,#fff 0%,#fff 22%,rgba(255,255,255,.99) 48%,rgba(255,255,255,.82) 66%,rgba(255,255,255,.2) 89%,transparent); }
  .event-empty h2 { font-size: 29px; }
  .river-photo-section h2 { font-size: 30px; }
  html { scroll-padding-top: 164px; }
}
@media (prefers-reduced-motion:reduce) { .masthead-slides { transition: none; } }
