/* A static layout is the default. JavaScript enables one interaction mode. */
.report-experience {
  --report-step: 112px;
  --stage-height: max(100svh, 38rem);
  min-height: 0;
}
.report-stage {
  position: relative;
  height: auto;
  min-height: var(--stage-height);
  grid-template-rows: auto auto auto;
  gap: 0.65rem;
  padding: calc(var(--header-height) + 0.75rem) 0 0.65rem;
}
.hero-heading { width: calc(100% - 2 * var(--pad)); }
.hero-heading h1 { font-size: clamp(1.65rem, 2.8vw, 3rem); line-height: 1.2; }
.hero-heading h1 > span { display: inline-block; }
.hero-summary { margin: 0.45rem 0 0; font: 400 clamp(1.2rem, 1.7vw, 1.7rem)/1.3 Georgia,serif; color: rgba(255,255,255,0.88); }
.report-deck {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 1rem;
  padding: 0.75rem var(--pad);
  container-type: normal;
  perspective: none;
  pointer-events: auto;
}
.report-deck:focus-visible { outline: 2px solid white; outline-offset: -4px; }
.report-card {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  aspect-ratio: auto;
  overflow: visible;
  transform: none;
  opacity: 1;
  filter: none;
  transition: none;
  background: transparent;
  box-shadow: none;
  will-change: auto;
}
/* The editable document master uses one layout for all five reports. */
.report-paper { position: relative; width: 100%; aspect-ratio: 1582 / 2048; container-type: inline-size; color: var(--ink); background: #fbfaf6; box-shadow: 0 1.2rem 2.8rem rgba(0,0,0,.24); }
.report-paper::after { content: ""; position: absolute; inset: .8%; border: 3px double #084b6b; pointer-events: none; }
.report-layout { position: absolute; inset: 4% 4.5%; display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(0, 1fr); gap: 3cqw; }
.report-column { display: flex; flex-direction: column; min-width: 0; }
.report-kicker { margin: 0 0 1.5cqw; font: 400 2.1cqw/1.2 Arial,sans-serif; text-transform: uppercase; letter-spacing: .16em; }
.report-title { height: 15.5cqw; margin: 0 0 2cqw; font: 700 7cqw/1.03 Georgia,serif; letter-spacing: -.045em; text-transform: uppercase; text-decoration: underline; text-decoration-thickness: .16cqw; text-underline-offset: .65cqw; }
.report-subtitle { height: 10cqw; margin: 0 0 2cqw; font: 700 2.85cqw/1.17 Georgia,serif; text-transform: uppercase; }
.report-photo { display: block; width: 100%; aspect-ratio: 1.17; overflow: hidden; border: .15cqw solid #8ba6b2; filter: saturate(.82); }
.report-purpose { margin-top: auto; padding-top: 2cqw; }
.report-purpose span { display: block; font: 400 1.9cqw/1.5 Arial,sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.report-purpose p { margin: .6cqw 0 0; font: 700 2.5cqw/1.2 Georgia,serif; text-transform: uppercase; }
.report-rail { display: flex; flex-direction: column; min-width: 0; padding-left: 2.7cqw; border-left: .2cqw solid #1f678b; }
.report-rail img { width: 100%; height: auto; aspect-ratio: 742 / 154; object-fit: contain; flex-shrink: 0; margin-top: 19cqw; }
.report-rail ul { margin: 3cqw 0 0; padding: 3cqw 0 0 2.5cqw; border-top: .2cqw solid #1f678b; list-style-type: square; font: 700 2.15cqw/1.25 Georgia,serif; text-transform: uppercase; }
.report-rail li { margin-bottom: 2.5cqw; }
.report-rail li::marker { color: #98aeb2; }
.report-rail > p { margin: auto 0 0; padding-top: 2cqw; font: 400 2cqw/1.55 Arial,sans-serif; text-align: center; }
.report-caption { margin: 0.85rem 0 0; color: white; font-size: 0.875rem; line-height: 1.4; text-align: center; }
.report-controls { padding-inline: var(--pad); text-align: center; }
.report-announcement { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.report-selectors { display: none; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; max-width: 62rem; margin-inline: auto; }
.report-selectors button { min-height: 44px; padding: 0.6rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.25); border-radius: 0; background: transparent; color: white; font: inherit; font-size: 0.875rem; cursor: pointer; }
.report-selectors button[aria-pressed="true"] { color: white; background: transparent; border-color: white; }
.report-selectors button:focus-visible, .report-instruction a:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.report-instruction { margin: 0.85rem 0 0; color: rgba(255,255,255,0.8); font-size: 0.875rem; }
.report-instruction a { text-underline-offset: 0.2em; }
[data-mode="desktop"].report-experience { min-height: calc(var(--stage-height) + 5 * var(--report-step)); }
[data-mode="desktop"] .report-stage { position: sticky; top: 0; height: var(--stage-height); grid-template-rows: auto minmax(0,1fr) auto; }
[data-mode="desktop"] .report-deck { display: block; container-type: size; padding: 0; }
[data-mode="desktop"] .report-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(34vw, 72cqh);
  aspect-ratio: 1582 / 2048;
  transform: translate(-50%, -50%) translateX(calc(var(--slot, 0) * 40%)) translateY(0.65rem) scale(0.78);
  transform-origin: center;
  transition: transform 280ms ease-out;
}
[data-mode="desktop"] .report-card.is-active { transform: translate(-50%, -50%) scale(1); }
[data-mode="desktop"].reports-settled .report-card { transform: translate(-50%, -50%) translateX(calc(var(--slot) * 72%)) scale(0.68); }
[data-mode="desktop"] .report-caption { display: none; }
[data-mode="desktop"] .report-selectors, [data-mode="mobile"] .report-selectors { display: grid; }
/* Mobile shares the vertical scroll states, with a tighter tabletop stack. */
[data-mode="mobile"].report-experience { --report-step: 96px; --stage-height: max(100svh, 38rem); min-height: calc(var(--stage-height) + 5 * var(--report-step)); }
[data-mode="mobile"] .report-stage { --stage-height: max(100svh, 38rem); position: sticky; top: 0; height: var(--stage-height); min-height: 0; grid-template-rows: auto minmax(0,1fr) auto; gap: .5rem; }
[data-mode="mobile"] .report-deck { display: block; container-type: size; padding: 0; overflow: clip; touch-action: pan-y; }
[data-mode="mobile"] .report-card { position: absolute; top: 50%; left: 50%; width: min(76vw, 78cqh); aspect-ratio: 1582 / 2048; transform: translate(-50%, -50%) translateX(calc(var(--slot, 0) * 12%)) translateY(.6rem) scale(.88); transform-origin: center; transition: transform 240ms ease-out; }
[data-mode="mobile"] .report-card.is-active { transform: translate(-50%, -50%) scale(1); }
[data-mode="mobile"].reports-settled .report-card { transform: translate(-50%, -50%) translateX(calc(var(--slot) * 23%)) scale(.66); }
[data-mode="mobile"] .report-caption { display: none; }
[data-mode="mobile"] .report-announcement { position: static; width: auto; height: auto; clip-path: none; white-space: normal; margin: 0 0 .25rem; font-size: .875rem; }
[data-mode="mobile"] .report-selectors { grid-template-columns: repeat(4, minmax(0,1fr)); max-width: 25rem; }
.report-selector-number { display: none; }
[data-mode="mobile"] .report-selector-number { display: inline; }
[data-mode="mobile"] .report-selector-name { display: inline; }
/* Size the mobile stage to its contents, not a full viewport of empty space. */
[data-mode="mobile"] .report-stage { height: auto; grid-template-rows: auto auto auto; gap: .35rem; padding-top: calc(var(--header-height) + .5rem); padding-bottom: .75rem; }
[data-mode="mobile"] .report-deck { height: calc(min(98.39vw, 33.66rem) + 1.25rem); }
[data-mode="mobile"] .report-card { width: min(76vw, 26rem); }
[data-mode="mobile"] .report-instruction { margin-top: .4rem; }
@media (max-width: 48rem) {
  .report-stage { --stage-height: auto; min-height: 0; }
  .report-deck { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem 1rem; }
}
@media (max-width: 42rem) {
  .hero-heading { width: calc(100% - 1.5rem); }
  .hero-heading h1 { max-width: none; font-size: clamp(.75rem, 3.3vw, 1.4rem); line-height: 1.35; }
  .hero-heading h1 > span { display: inline; }
  .hero-heading h1 > .hero-separator { display: inline; }
  .hero-summary { font-size: 1.2rem; margin-top: .55rem; }
}
@media (prefers-reduced-motion: reduce) {
  .report-card { transition: none !important; }
}

.hero-heading h1 { letter-spacing: -.035em; word-spacing: .07em; }
.report-stage::after { background: linear-gradient(180deg,rgba(0,0,0,.12),transparent 30%,transparent 75%,rgba(0,0,0,.18)); }
@media (max-height: 42rem) and (min-width: 48.01rem) {
  [data-mode="desktop"] .report-stage { gap: .75rem; }
  .hero-summary { margin-top: .5rem; }
}

.report-cover-link { display: block; width: 100%; aspect-ratio: 1582 / 2048; box-shadow: 0 1.2rem 2.8rem rgba(0,0,0,.24); }
.report-cover-link img { display: block; width: 100%; height: auto; aspect-ratio: 1582 / 2048; object-fit: contain; }
.report-cover-link:focus-visible { outline: 3px solid white; outline-offset: 4px; }
.report-service-cta { margin: .5rem 0; color: white; font-size: .875rem; }
.report-service-cta a { display: inline-block; padding: .5rem; text-underline-offset: .25em; }
.report-service-cta a:focus-visible { outline: 2px solid white; }

[data-mode="mobile"] .report-selectors { grid-template-columns: repeat(2, minmax(0,1fr)); max-width: 30rem; gap: .2rem .65rem; }

/* Larger covers with the original logo quietly behind the arrival state. */
.report-watermark { position: absolute; left: 50%; top: 52%; width: 92%; height: auto; transform: translate(-50%, -50%); opacity: var(--watermark-opacity, .035); filter: brightness(0) invert(1); pointer-events: none; z-index: 0; transition: opacity 180ms ease-out; }
.report-deck, .report-controls { position: relative; z-index: 1; }
.report-selectors { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 76rem; }
[data-mode="desktop"] .report-card { width: min(42vw, 76cqh); }
[data-mode="desktop"].reports-settled .report-card { transform: translate(-50%, -50%) translateX(calc(var(--slot) * 67%)) scale(.6); }
[data-mode="mobile"] .report-card { width: min(84vw, 28rem); }
[data-mode="mobile"] .report-deck { height: calc(min(108.75vw, 36.25rem) + 1.25rem); }
[data-mode="static"] .report-deck { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 48rem) { [data-mode="static"] .report-deck { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .report-watermark { transition: none; } }

/* Fit the all-covers overview to the scaled artwork, rather than the full-size deck. */
[data-mode="desktop"].report-experience,
[data-mode="mobile"].report-experience {
  min-height: calc(var(--stage-height) + var(--report-count, 6) * var(--report-step));
}
[data-mode="desktop"].reports-settled .report-stage,
[data-mode="mobile"].reports-settled .report-stage {
  height: auto;
  min-height: 0;
  grid-template-rows: auto auto auto;
  gap: .35rem;
  padding-bottom: .65rem;
  align-content: start;
}
[data-mode="desktop"].reports-settled .report-deck,
[data-mode="mobile"].reports-settled .report-deck {
  height: var(--settled-deck-height);
}
[data-mode="desktop"].reports-settled .report-card,
[data-mode="mobile"].reports-settled .report-card {
  width: var(--settled-card-width);
}
/* Mobile overview dimensions are explicit, including before script measurement. */
[data-mode="mobile"].reports-settled .report-deck {
  height: calc(min(71.772vw, 23.924rem) + 1rem);
}
[data-mode="mobile"].reports-settled .report-card {
  width: min(84vw, 28rem);
}
