/* One warm, readable identity for the project's editorial pages. */
.stories-page,
.press-page {
  --paper: #fafaf8;
  --ink: #1d211e;
  --acid: #d5ff65;
  --muted: #63695f;
  --line: #d8dbcf;
  --accent: #354724;
  --tint: #f1f2ef;
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
.stories-page a,
.press-page a { color: inherit; text-underline-offset: .24em; }
.stories-page a:hover,
.press-page a:hover { color: var(--accent); }
.stories-page a:focus-visible,
.stories-page summary:focus-visible,
.stories-page audio:focus-visible,
.press-page a:focus-visible,
.press-page audio:focus-visible,
.press-page video:focus-visible,
.press-page .catalog-scroll:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
.stories-page ::selection,
.press-page ::selection { background: var(--acid); color: var(--ink); }
.stories-page .skip,
.press-page .skip-link { z-index: 100; background: var(--acid); color: var(--ink); }
.stories-page > .header,
.press-page > .header { background: var(--paper); color: var(--ink); border-color: var(--line); }
.stories-page > .header nav a:hover,
.press-page > .header nav a:hover { color: var(--accent); }
.editorial-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; padding: 24px 0 0; color: var(--muted); font: 12px/1.5 var(--sans); }
.editorial-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; }
.editorial-breadcrumb li { display: inline-flex; align-items: center; min-width: 0; }
.editorial-breadcrumb li + li::before { content: "/"; margin: 0 12px; color: #93998d; }
.editorial-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.editorial-breadcrumb a:hover { text-decoration: underline; }
.editorial-breadcrumb [aria-current="page"] { color: var(--ink); }

/* Stories use the same typography as the rest of the site, with room to read. */
.stories-page { font-size: 18px; line-height: 1.75; }
.stories-page main { max-width: 1200px; padding-inline: 40px; }
.stories-page .brand { display: inline-flex; align-items: center; gap: 12px; }
.stories-page .editorial-brand-mark { display: inline-flex; width: 44px; padding: 7px; background: var(--ink); border-radius: 8px; }
.stories-page .editorial-brand-mark svg { display: block; width: 100%; height: auto; }
.stories-page .editorial-brand-copy { font: 600 21px/1.1 var(--sans); letter-spacing: -.04em; }
.stories-page .editorial-brand-copy small { display: block; margin-top: 7px; font: 10px/1.4 var(--sans); color: var(--muted); letter-spacing: .02em; }
.stories-page h1,
.stories-page h2,
.stories-page h3 { font-family: var(--sans); font-weight: 500; text-wrap: balance; }
.stories-page h1 { font-size: clamp(42px, 5.3vw, 72px); line-height: 1.08; letter-spacing: -.04em; overflow-wrap: normal; hyphens: auto; }
.stories-page h2 { font-size: clamp(30px, 3.6vw, 45px); line-height: 1.12; letter-spacing: -.04em; }
.stories-page h3 { font-size: 26px; line-height: 1.18; letter-spacing: -.035em; }
.stories-page .eyebrow { font: 11px/1.6 var(--sans); letter-spacing: .08em; color: var(--muted); }
.stories-page .hero { gap: clamp(40px, 7vw, 96px); padding: 48px 0 100px; }
.stories-page .hero-copy { min-width: 0; }
.stories-page .lead { font-size: clamp(22px, 2.2vw, 27px); line-height: 1.45; letter-spacing: -.025em; }
.stories-page .scene { font-size: 17px; line-height: 1.75; }
.stories-page .version { font: 13px/1.6 var(--sans); }
.stories-page .cover img { box-shadow: 0 12px 32px #1b211d0d; border-radius: 8px; }
.stories-page .cover figcaption { font: 10px/1.6 var(--sans); letter-spacing: .06em; }
.stories-page .listen { max-width: 480px; padding: 16px; background: var(--tint); border: 1px solid var(--line); border-radius: 12px; }
.stories-page .listen .audio-label { font: 12px/1.6 var(--sans); color: var(--muted); }
.stories-page audio { height: 46px; }
.story-listening-path { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 12px; font: 13px/1.6 var(--sans); text-decoration-thickness: 1px; }
.story-listening-path::before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--ink); }
.stories-page .reading { max-width: 730px; }
.stories-page .reading blockquote { padding: 32px; border-left: 0; background: var(--tint); border-radius: 16px; font-size: clamp(21px, 2.3vw, 27px); line-height: 1.6; }
.stories-page .reading cite { font: 10px/1.6 var(--sans); letter-spacing: .08em; }
.stories-page .meaning { margin-bottom: 40px; }
.stories-page .meaning p { line-height: 1.8; }
.stories-page .transmission { padding-top: 100px; }
.stories-page .invitation { margin-top: 100px; margin-bottom: 100px; padding: 48px; }
.stories-page .related { padding-top: 0; }
.stories-page .credit { font: 13px/1.7 var(--sans); }
.stories-page .section-intro { font-size: 17px; line-height: 1.75; }
.stories-page .passing-grid { gap: 14px; }
.stories-page .passing-grid details { padding: 0; border-radius: 10px; background: transparent; }
.stories-page .passing-grid summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 68px; padding: 18px 22px; font-size: 23px; list-style: none; }
.stories-page .passing-grid summary::-webkit-details-marker { display: none; }
.stories-page .passing-grid summary::after { content: ""; flex: 0 0 7px; width: 7px; height: 7px; margin-right: 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.stories-page .passing-grid details[open] summary::after { transform: translateY(2px) rotate(225deg); }
.stories-page .passing-grid p { margin: 0; padding: 0 22px 24px; font-size: 17px; }
.stories-page .invitation { border-radius: 12px; background: var(--tint); }
.stories-page .invitation p:not(.eyebrow) { font-size: 18px; line-height: 1.75; }
.stories-page .text-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; font: 14px/1.6 var(--sans); }
.stories-page .related-card { border-radius: 0; transition: background-color .18s ease; }
.stories-page .related-card:hover { background: var(--tint); }
.stories-page .related-card span { font-size: 25px; font-weight: 500; }
.stories-page .related-card p { font-size: 17px; line-height: 1.65; }
.stories-page .related-card small,
.stories-page .sequence small { font: 11px/1.6 var(--sans); }
.stories-page .sequence { gap: 14px; padding: 20px 0; border: 0; }
.stories-page .sequence a { display: flex; flex-direction: column; justify-content: center; min-height: 106px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 10px; font-size: 17px; transition: background-color .18s ease; }
.stories-page .sequence a:hover { background: var(--tint); }
.stories-page .sequence a:nth-child(2) { background: var(--tint); }
.stories-page .sequence small { margin-bottom: 7px; }
.stories-page .map-hero { max-width: 850px; padding: 48px 0 100px; }
.stories-page .map-section { margin-bottom: 100px; }
.stories-page .map-hero h1 { font-size: clamp(48px, 6.2vw, 78px); }
.stories-page .story-map-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.stories-page .story-map-actions .button,
.stories-page .story-map-actions .story-listening-path { margin-top: 0; }
.stories-page .button { display: inline-flex; align-items: center; min-height: 48px; padding: 11px 20px; border-radius: 99px; background: var(--ink); color: var(--paper); font: 14px/1.6 var(--sans); }
.stories-page .button:hover { background: var(--acid); color: var(--ink); }
.stories-page .map-grid { gap: 40px 28px; }
.stories-page .map-card { display: block; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.stories-page .map-card img { object-fit: contain; max-width: 360px; border-radius: 8px; }
.stories-page .map-card p { font-size: 16px; line-height: 1.65; }
.stories-page .map-card .eyebrow { font-size: 10px; }
.stories-page .open-story { display: inline-flex; align-items: center; min-height: 44px; font: 12px/1.6 var(--sans); }
.stories-page .map-card:hover .open-story { text-decoration-thickness: 2px; }
.stories-page .map-end p { font-size: 18px; line-height: 1.75; }
.stories-page .footer { max-width: 1200px; padding: 32px 40px; align-items: start; color: var(--muted); background: var(--paper); font: 12px/1.7 var(--sans); }
.stories-page .footer > p { max-width: 490px; margin-bottom: 0; }
.editorial-footer-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; }
.stories-page .editorial-footer-nav { max-width: 340px; align-items: start; }
.editorial-footer-nav a { display: inline-flex; align-items: center; min-height: 44px; margin: 0; }

/* The press-kit presents real material in the same calm visual language. */
.press-page > main > .editorial-breadcrumb { padding: 12px 4.4%; border-bottom: 1px solid var(--line); }
.press-page .section { padding-block: 100px; scroll-margin-top: calc(var(--site-nav-height, 80px) + 16px); }
html.has-global-navigation .press-page .section { scroll-margin-top: 16px; }
.press-page .eyebrow,
.press-page .edition { color: var(--muted); font-size: 11px; letter-spacing: .07em; line-height: 1.6; }
.press-page .press-hero { padding-top: 56px; padding-bottom: 56px; background: var(--paper); color: var(--ink); }
.press-page .press-hero h1 { margin: 48px 0 44px; color: var(--ink); text-transform: none; font-size: clamp(46px, 7.1vw, 98px); line-height: 1.06; letter-spacing: -.04em; font-weight: 500; }
.press-page .press-hero h1 span { margin-top: 12px; color: var(--ink); font: 500 .64em/1.15 var(--sans); letter-spacing: -.035em; }
.press-page .press-hero-bottom { align-items: start; padding-top: 24px; border-color: var(--line); }
.press-page .press-hero-bottom > p { font-size: clamp(23px, 2.7vw, 32px); line-height: 1.3; letter-spacing: -.025em; }
.press-page .press-prelaunch { font-size: 13px; line-height: 1.75; color: var(--muted); }
.press-page .press-section-nav { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.5; }
.press-page .press-section-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.press-page .press-section-nav a:hover { text-decoration: underline; }
.press-page .press-overview-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 7%; }
.press-page .press-overview-grid h2,
.press-page .release-heading h2,
.press-page .press-route h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.15; letter-spacing: -.035em; font-weight: 500; }
.press-page .press-overview-grid h2 em { font: inherit; color: inherit; }
.press-page .press-overview-grid p { max-width: 590px; font-size: 16px; line-height: 1.8; }
.press-page .press-overview-grid .press-lead { font-size: 21px; line-height: 1.55; letter-spacing: -.015em; }
.press-page .press-numbers { border-color: var(--line); }
.press-page .press-numbers strong { font-size: clamp(42px, 5vw, 64px); font-weight: 500; }
.press-page .press-numbers span { font-size: 12px; line-height: 1.6; color: var(--muted); }
.press-page .press-materials { background: var(--tint); }
.press-page .release-heading > p { font-size: 14px; line-height: 1.75; color: var(--muted); }
.press-page .press-materials-intro { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; margin: -8px 0 24px; font-size: 13px; }
.press-page .press-materials-intro a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.press-page .materials-grid { border-top-color: var(--line); }
.press-page .material + .material,
.press-page .materials-grid > #audio-material { border-color: var(--line); }
.press-page .material-type { font-size: 11px; letter-spacing: .06em; line-height: 1.6; color: var(--muted); }
.press-page .material h3 { font-size: clamp(26px, 2.6vw, 35px); line-height: 1.16; }
.press-page .material p { font-size: 15px; line-height: 1.75; }
.press-page .material-actions { gap: 4px 24px; }
.press-page .material-download { min-height: 44px; margin-top: 0; padding-block: 9px; font-size: 13px; line-height: 1.5; }
.press-page .material-download > span { font-size: 16px; }
.press-page .trailer-preview { border-radius: 10px; }
.press-page .media-safe-note { font-size: 12px !important; line-height: 1.7; color: var(--muted); }
.press-page .press-audio-item { border-color: #ced3c4; }
.press-page .press-audio-item h4 { font-size: 17px; line-height: 1.4; }
.press-page .press-route-list { border-color: var(--line); }
.press-page .press-route-list li { border-color: var(--line); }
.press-page .press-route-list li > span { font-size: 12px; color: var(--muted); }
.press-page .press-route-list h3 { font-size: 24px; line-height: 1.25; }
.press-page .press-route-list p { font-size: 15px; line-height: 1.75; }
.press-page .press-route-list b { font-size: 11px; color: var(--muted); }
.press-page .press-note { font-size: 12px; line-height: 1.75; color: var(--muted); }
.press-page .catalog-intro { font-size: 16px; line-height: 1.8; }
.press-page .catalog-scroll { padding: 18px; border: 1px solid var(--line); border-radius: 10px; scrollbar-width: thin; }
.press-page .catalog-scroll table { font-size: 14px; }
.press-page .catalog-scroll caption { font-size: 11px; line-height: 1.6; color: var(--muted); }
.press-page .catalog-scroll th,
.press-page .catalog-scroll td { border-color: var(--line); }
.press-page .catalog-scroll thead th { border-color: var(--line); color: var(--muted); font-size: 11px; }
.press-page .catalog-scroll td:first-child,
.press-page .catalog-scroll small { color: var(--muted); font-size: 12px; }
.press-page .press-rights { background: var(--paper); color: var(--ink); border-top: 1px solid var(--line); }
.press-page .press-rights h3 { font-size: 20px; line-height: 1.4; }
.press-page .press-rights p { color: var(--muted); }
.press-page .closing { background: var(--tint); color: var(--ink); }
.press-page .closing p { font-size: clamp(32px, 4.5vw, 58px); line-height: 1.15; }
.press-page .closing p span { font-family: var(--sans); font-style: normal; }
.press-page .press-back { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; padding-block: 10px; border-bottom: 1px solid currentColor; font-size: 14px; }
.press-page .press-back br { display: none; }
.press-page .press-back span { display: inline; margin: 0; font-size: 18px; }
.press-page footer { background: var(--paper); color: var(--ink); border-top: 1px solid var(--line); font-size: 12px; }
.press-page footer > span { color: var(--muted); }
.press-page footer .footer-brand { font-size: 18px; }
.press-page footer .footer-brand span { color: var(--ink); font-size: 14px; }

@media (max-width: 950px) {
  .stories-page .hero { gap: 32px; }
  .press-page .press-overview-grid { gap: 5%; }
}
@media (max-width: 650px) {
  .editorial-breadcrumb { padding-top: 12px; font-size: 11px; }
  .editorial-breadcrumb li + li::before { margin-inline: 8px; }
  .stories-page { font-size: 17px; }
  .stories-page main { padding-inline: 22px; }
  .stories-page .hero { padding: 28px 0 56px; gap: 32px; }
  .stories-page h1 { font-size: clamp(38px, 10.5vw, 48px); line-height: 1.08; }
  .stories-page h2 { font-size: 32px; }
  .stories-page .lead { font-size: 22px; }
  .stories-page .listen { max-width: 100%; padding: 16px 12px; }
  .stories-page .reading blockquote { padding: 20px 18px; font-size: 21px; }
  .stories-page .transmission { padding-top: 56px; }
  .stories-page .passing-grid summary { font-size: 22px; }
  .stories-page .invitation { padding: 32px 24px; margin-top: 56px; margin-bottom: 56px; }
  .stories-page .map-hero { padding: 28px 0 56px; }
  .stories-page .map-section { margin-bottom: 60px; }
  .stories-page .map-hero h1 { font-size: clamp(42px, 12vw, 56px); }
  .stories-page .story-map-actions { align-items: start; flex-direction: column; gap: 8px; }
  .stories-page .map-grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .stories-page .map-card h3 { font-size: 22px; }
  .stories-page .map-card p { font-size: 15px; }
  .stories-page .map-card .eyebrow { font-size: 10px; }
  .stories-page .sequence { grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 30px; }
  .stories-page .sequence a { padding: 16px 14px; font-size: 16px; }
  .stories-page .sequence a:nth-child(2) { display: flex; order: 3; grid-column: 1 / -1; min-height: 76px; }
  .stories-page .footer { padding: 28px 22px; }
  .stories-page .editorial-footer-nav { margin-top: 14px; gap: 4px 20px; }
  .stories-page .footer > span { margin-top: 14px; }
  .press-page > main > .editorial-breadcrumb { padding: 8px 6%; }
  .press-page .section { padding-block: 56px; }
  .press-page .press-hero { padding-top: 36px; padding-bottom: 36px; }
  .press-page .press-hero h1 { margin: 32px 0 28px; font-size: 9.3vw; }
  .press-page .press-hero h1 span { margin-top: 12px; font-size: 1em; }
  .press-page .press-hero-bottom { display: block; }
  .press-page .press-prelaunch { display: block; margin-top: 20px; }
  .press-page .press-section-nav { gap: 2px 22px; font-size: 12px; }
  .press-page .press-overview-grid { grid-template-columns: 1fr; gap: 26px; }
  .press-page .press-overview-grid h2,
  .press-page .release-heading h2,
  .press-page .press-route h2 { font-size: 33px; }
  .press-page .press-overview-grid .press-lead { font-size: 20px; }
  .press-page .press-materials-intro { align-items: start; gap: 2px 22px; font-size: 13px; }
  .press-page .material p { max-width: 100%; }
  .press-page .material h3 { font-size: 28px; }
  .press-page .press-route-list h3 { font-size: 22px; }
  .press-page .catalog-scroll { padding: 12px; margin-inline: -6px; }
  .press-page .closing { flex-direction: column; align-items: start; gap: 24px; }
  .press-page .closing p { font-size: 34px; }
  .press-page .press-back { width: 100%; }
  .press-page footer .footer-brand span { float: none; }
}
@media (max-width: 370px) {
  .stories-page .map-grid { grid-template-columns: 1fr; }
  .stories-page .map-card { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 18px; align-items: start; }
  .stories-page .map-card img { margin-bottom: 0; }
  .stories-page .map-card h3 { font-size: 22px; }
  .stories-page .map-card p { margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .stories-page .related-card,
  .stories-page .sequence a { transition: none; }
}
