.capsule-page { min-height: 100vh; }

.capsule-page .atmosphere::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3, 9, 18, .55), rgba(3, 9, 18, .82)),
    radial-gradient(circle at 50% 18%, transparent, rgba(3, 9, 18, .46) 70%);
}

.capsule-page .storm-front { opacity: .28; }
.capsule-shell { width: min(1180px, calc(100% - 2.5rem)); min-height: calc(100svh - 7rem); margin: 0 auto; padding: clamp(8rem, 13vw, 10.5rem) 0 clamp(5rem, 9vw, 7rem); }

.capsule-maker {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .85fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 6rem);
}

.capsule-maker__copy h1,
.loading-panel h2,
.report-cover h2,
.report-section h3,
.spotlight-card h3 {
  margin: 0;
  font-family: var(--display);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
}

.capsule-maker__copy h1,
.loading-panel h2 {
  color: transparent;
  background: linear-gradient(112deg, #f9f4e7 4%, #d0b36f 20%, #fff8df 34%, #8998a4 49%, #f3e5bb 61%, #b18749 78%, #f7f2e8 96%);
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 .08em .08em rgba(1, 6, 12, .9));
}

.capsule-maker__copy h1 { font-size: clamp(3.15rem, 6.7vw, 6.7rem); }
.capsule-maker__copy > p:last-child { max-width: 48rem; margin: 1.4rem 0 0; color: #d2dce1; font-size: clamp(1rem, 1.7vw, 1.16rem); line-height: 1.7; }

.capsule-form {
  position: relative;
  padding: clamp(1.5rem, 4vw, 2.8rem);
  display: grid;
  gap: .75rem;
  border: 1px solid rgba(231, 211, 164, .34);
  border-radius: .8rem;
  background: linear-gradient(145deg, rgba(5, 16, 29, .93), rgba(15, 39, 58, .83));
  box-shadow: 0 2.5rem 7rem rgba(0, 0, 0, .42), inset 0 0 4rem rgba(115, 171, 205, .04);
  backdrop-filter: blur(18px);
}

.capsule-form::before { content: ""; position: absolute; inset: .6rem; border: 1px solid rgba(199, 206, 211, .1); border-radius: .55rem; pointer-events: none; }
.capsule-form > * { position: relative; z-index: 1; }
.capsule-form label,
.date-fields legend { margin-top: .4rem; color: var(--champagne-200); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.capsule-form label small { color: #748590; font-weight: 600; letter-spacing: .04em; }
.capsule-form input { width: 100%; min-height: 3.55rem; padding: .8rem .95rem; border: 1px solid rgba(199, 206, 211, .27); border-radius: .35rem; color: var(--white); color-scheme: dark; background: rgba(2, 9, 16, .74); font: inherit; }
.capsule-form input::placeholder { color: #72828c; }
.capsule-form input:focus { border-color: var(--champagne-300); outline: none; box-shadow: 0 0 0 3px rgba(231, 211, 164, .1); }
.date-fields { margin: .45rem 0 0; padding: 0; border: 0; }
.date-fields legend { margin-bottom: .65rem; }
.date-fields__grid { display: grid; grid-template-columns: 1.25fr .8fr 1fr; gap: .65rem; }
.date-fields__grid label { margin: 0; display: grid; gap: .45rem; color: #aebcc4; font-size: .66rem; }
.capsule-form .button { width: 100%; margin-top: .5rem; cursor: pointer; }
.privacy-line { margin: .25rem 0 0; color: #8898a1; font-size: .8rem; line-height: 1.5; }
.privacy-line span { margin-right: .35rem; color: var(--champagne-300); font-size: .58rem; }
.form-status { min-height: 1.25rem; margin: 0; color: #ffb8aa; font-size: .82rem; }

.loading-panel { margin-top: clamp(3rem, 7vw, 5rem); padding: clamp(2rem, 5vw, 4rem); display: flex; align-items: center; gap: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(231, 211, 164, .25); background: rgba(3, 11, 20, .76); backdrop-filter: blur(14px); }
.loading-panel h2 { font-size: clamp(2rem, 4.5vw, 4rem); }
.loading-panel p:last-child { margin: .7rem 0 0; color: #9eadb5; }
.loading-orbit { flex: 0 0 auto; width: 5.5rem; aspect-ratio: 1; border: 1px solid rgba(231, 211, 164, .22); border-top-color: var(--champagne-200); border-radius: 50%; box-shadow: inset 0 0 2rem rgba(96, 157, 190, .14); animation: capsule-spin 1.15s linear infinite; }
@keyframes capsule-spin { to { transform: rotate(360deg); } }

[hidden] { display: none !important; }
.capsule-report { margin-top: clamp(3rem, 7vw, 6rem); color: #17232d; background: #f3efe4; box-shadow: 0 3rem 8rem rgba(0, 0, 0, .52); }
.report-cover { position: relative; min-height: 31rem; padding: clamp(2.2rem, 7vw, 5.5rem); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: #f9f6ed; background: linear-gradient(135deg, #06111e 0%, #102c40 52%, #78613e 125%); }
.report-cover::before { content: ""; position: absolute; width: min(36rem, 72vw); aspect-ratio: 1; top: -55%; right: -10%; border: 1px solid rgba(231, 211, 164, .28); border-radius: 50%; box-shadow: 0 0 0 2.5rem rgba(231, 211, 164, .035), 0 0 0 5rem rgba(231, 211, 164, .025); }
.report-cover > * { position: relative; z-index: 1; }
.report-cover > img { position: absolute; top: clamp(1.5rem, 4vw, 3rem); left: clamp(1.7rem, 6vw, 5rem); width: min(13rem, 46vw); height: auto; }
.report-cover__kicker { margin: 0 0 .8rem; color: #d9c596; font-size: .8rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.report-cover h2 { max-width: 48rem; color: #fffaf0; font-size: clamp(3rem, 7vw, 6.8rem); }
.report-cover__date { margin: 1rem 0 0; color: #e6d8b5; font-family: var(--serif); font-size: clamp(1.2rem, 2.5vw, 1.8rem); }
.report-cover__name { min-height: 1.4rem; margin: .4rem 0 0; color: #b8c5cd; font-size: 1rem; }
.report-actions { margin-top: 1.6rem; display: flex; flex-wrap: wrap; gap: .7rem; }
.report-actions button { cursor: pointer; }

.quick-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #d0c7b5; background: #e7e0d1; }
.quick-facts div { padding: 1.35rem 1.5rem; border-right: 1px solid #d0c7b5; }
.quick-facts div:last-child { border-right: 0; }
.quick-facts span { display: block; color: #6c716e; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.quick-facts strong { display: block; margin-top: .35rem; color: #172d3d; font-family: var(--serif); font-size: 1.12rem; font-weight: 600; }

.spotlight-grid { padding: clamp(1.5rem, 5vw, 4rem); display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.spotlight-card { min-height: 18rem; padding: clamp(1.5rem, 4vw, 2.8rem); display: flex; flex-direction: column; justify-content: flex-end; color: #f8f4e9; background: #0d2333; }
.spotlight-card--music { background: linear-gradient(145deg, #112d40, #07131f); }
.spotlight-card--movie { background: linear-gradient(145deg, #59482f, #17212a); }
.spotlight-card .eyebrow { color: #d7c18f; }
.spotlight-card h3 { max-width: 30rem; color: #fffaf0; font-size: clamp(2rem, 4vw, 3.6rem); }
.spotlight-card > p:not(.eyebrow) { margin: .75rem 0 0; color: #ced7dc; font-family: var(--serif); font-size: 1.05rem; }
.spotlight-card small { margin-top: .85rem; color: #93a2aa; font-size: .76rem; line-height: 1.5; }

.report-section { margin: 0 clamp(1.5rem, 5vw, 4rem); padding: clamp(2rem, 5vw, 4rem) 0; border-top: 1px solid #d0c7b5; }
.report-section__heading { max-width: 48rem; margin-bottom: 1.7rem; }
.report-section__heading .eyebrow { color: #846e43; }
.report-section h3 { color: #112a3b; font-size: clamp(2.1rem, 4.5vw, 4rem); }
.timeline-list { margin: 0; padding: 0; display: grid; gap: 1px; list-style: none; counter-reset: event; background: #d4cbb9; }
.timeline-list li { position: relative; padding: 1.2rem 1.25rem 1.2rem 5.8rem; color: #313e46; background: #f3efe4; line-height: 1.65; counter-increment: event; }
.timeline-list li::before { content: attr(data-year); position: absolute; left: 1.1rem; top: 1.25rem; color: #876e3e; font-family: var(--serif); font-size: .92rem; font-weight: 700; }
.timeline-list a { color: inherit; text-decoration-color: #9c8454; text-underline-offset: .18em; }
.timeline-list--compact { grid-template-columns: repeat(2, 1fr); gap: .75rem; background: transparent; }
.timeline-list--compact li { min-height: 8rem; padding-left: 4.8rem; background: #e8e1d3; }
.empty-copy { margin: 0 0 1.3rem; padding: 1rem 1.2rem; border-left: 3px solid #9b7d43; color: #48545b; background: #e8e1d3; line-height: 1.6; }

.people-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.person-card { padding: 1.2rem; border: 1px solid #d0c7b5; background: #e9e3d6; }
.person-card strong { display: block; color: #182f3e; font-family: var(--serif); font-size: 1.05rem; }
.person-card span { display: block; margin-top: .35rem; color: #69716f; font-size: .84rem; line-height: 1.5; }
.person-card a { color: inherit; }

.report-sources { padding: clamp(2rem, 5vw, 4rem); color: #a9b5bc; background: #071522; }
.report-sources p { max-width: 60rem; margin: 0 0 .85rem; font-size: .8rem; line-height: 1.6; }
.report-sources strong { color: #e3d6b3; }
.source-links { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.3rem 0; }
.source-links a { padding: .5rem .75rem; border: 1px solid rgba(231, 211, 164, .25); border-radius: 99rem; color: #d9c99f; font-size: .75rem; text-decoration: none; }
.report-sources .report-brand { margin-top: 1.5rem; color: #e1d4b1; font-family: var(--serif); font-size: 1rem; }

@media (max-width: 850px) {
  .capsule-maker { grid-template-columns: 1fr; }
  .capsule-maker__copy { max-width: 52rem; }
  .quick-facts { grid-template-columns: repeat(2, 1fr); }
  .quick-facts div:nth-child(2) { border-right: 0; }
  .quick-facts div:nth-child(-n+2) { border-bottom: 1px solid #d0c7b5; }
  .spotlight-grid,
  .timeline-list--compact { grid-template-columns: 1fr; }
  .people-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .capsule-shell { width: min(100% - 1.25rem, 1180px); padding-top: 7.5rem; }
  .capsule-form { padding: 1.2rem; }
  .capsule-form::before { display: none; }
  .date-fields__grid { grid-template-columns: 1fr 1fr; }
  .date-fields__grid label:last-child { grid-column: 1 / -1; }
  .loading-panel { align-items: flex-start; flex-direction: column; }
  .report-cover { min-height: 34rem; padding: 2rem 1.4rem; }
  .quick-facts { grid-template-columns: 1fr; }
  .quick-facts div { border-right: 0; border-bottom: 1px solid #d0c7b5; }
  .quick-facts div:last-child { border-bottom: 0; }
  .spotlight-grid { padding: 1rem; }
  .spotlight-card { min-height: 16rem; padding: 1.35rem; }
  .report-section { margin-inline: 1.25rem; }
  .timeline-list li { padding-left: 1.25rem; padding-top: 3.2rem; }
  .timeline-list li::before { left: 1.25rem; top: 1rem; }
  .people-grid { grid-template-columns: 1fr; }
  .report-actions .button { width: 100%; }
}

@media print {
  @page { size: letter; margin: .45in; }
  body.capsule-page { color: #17232d; background: white !important; }
  .capsule-page .atmosphere,
  .capsule-page .storm-canvas,
  .capsule-page .site-aura,
  .capsule-page .site-header,
  .capsule-maker,
  .loading-panel,
  .page-footer,
  .report-actions { display: none !important; }
  .capsule-shell { width: 100%; min-height: 0; padding: 0; }
  .capsule-report { display: block !important; margin: 0; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .report-cover { min-height: 8.7in; page-break-after: always; }
  .quick-facts,
  .spotlight-card,
  .person-card,
  .timeline-list li,
  .report-sources { break-inside: avoid; }
  .report-section { break-before: auto; }
  .source-links a { color: #d9c99f !important; }
}

@media (prefers-reduced-motion: reduce) {
  .loading-orbit { animation-duration: 2.4s; }
}
