/* Hallmark · shape: Marquee Hero (Index of the day below the fold) · genre: playful · theme: Paste-up (deal 2/3, seed prompt-5b14·3eb99784·2026-10-27·r0) · job: listen · draw: 196312
 * hero: Banner · nav: banner over a retracting bar · footer: index columns · imagery: photographs, library 2, mono · signature: the daily issue pasted up, today's date on the orange sheet beside the question · pasteup: kraft, navy toner from the logo, the fluorescent sheet is the logo orange
 * axes: mid/display-condensed/chromatic-orange · posture: committed · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: S, a feed of other people's posts could be anyone's; the issue is dated, rubricated by weekday and led by one story on a tilted sheet, so the page reads as this paper's daily paste-up */
/* Hallmark · dismissed 81 · the tickets slot holds a Wikimedia Commons photo that this build sandbox cannot reach, it loads on the live host */
/* Hallmark · fonts: League Gothic and Newsreader have no Cyrillic; Oswald 500 and Literata stand in, same builds (condensed poster grotesk, text serif) */
/* Шрифты: Oswald и Literata (SIL Open Font License), лежат на сайте, без запросов к Google */
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/oswald-cyrillic-500-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Literata"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/literata-cyrillic-wght-normal.woff2") format("woff2-variations"), url("/assets/fonts/literata-cyrillic-wght-normal.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/oswald-latin-ext-500-normal.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Literata"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/literata-latin-ext-wght-normal.woff2") format("woff2-variations"), url("/assets/fonts/literata-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/oswald-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Literata"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("/assets/fonts/literata-latin-wght-normal.woff2") format("woff2-variations"), url("/assets/fonts/literata-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root {
  color-scheme: light;
  --space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px; --space-xl: 40px; --space-2xl: 64px; --space-3xl: 96px; --space-4xl: 144px;
  --text-xs: 0.8125rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.25rem; --text-xl: 1.5625rem; --text-2xl: 1.953rem; --text-3xl: 2.441rem;
  --text-display-s: clamp(2.25rem, 4vw + 0.5rem, 3.75rem); --text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);
  --text-section: clamp(2rem, 2.5vw + 1rem, 3.5rem); --text-title: clamp(1.25rem, 0.75vw + 0.875rem, 1.625rem); --text-lead: clamp(1.125rem, 0.35vw + 1rem, 1.375rem);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --ease-in: cubic-bezier(0.7, 0, 0.84, 0); --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;
  --color-error: oklch(52% 0.19 27); --color-success: oklch(50% 0.12 150);
  --container: 1440px; --gutter: 64px; --gap-columns: 32px; --section-gap-s: 120px; --section-gap: 144px; --section-gap-l: 176px;
  --z-base: 1; --z-raised: 10; --z-dropdown: 100; --z-sticky: 200; --z-sticky-nav: 300; --z-modal: 400; --z-toast: 500; --z-tooltip: 600;
  --color-paper: oklch(73% 0.068 70); --color-paper-2: oklch(66% 0.072 68); --color-paper-3: oklch(97% 0.008 90);
  --color-ink: oklch(29% 0.095 262); --color-ink-2: oklch(35% 0.085 262); --color-muted: oklch(31% 0.06 262);
  --color-rule: oklch(50% 0.055 68); --color-rule-2: oklch(84% 0.012 85);
  --color-accent: oklch(70% 0.2 45); --color-accent-ink: oklch(29% 0.095 262); --color-focus: oklch(29% 0.095 262);
  --color-on-ink: oklch(94% 0.012 85); --color-on-ink-2: oklch(84% 0.03 75);
  --font-display: "Oswald", "Arial Narrow", Impact, sans-serif; --font-body: "Literata", Georgia, serif;
  --radius-card: 0; --radius-pill: 999px; --rule-hair: 1px;
  --shadow-card: 0 1px 0 oklch(22% 0.06 262 / 0.2), 0 4px 10px oklch(22% 0.06 262 / 0.12);
  --shadow-sheet: 0 14px 30px oklch(22% 0.06 262 / 0.26), 0 2px 4px oklch(22% 0.06 262 / 0.14);
  --tracking-display: 0.005em; --display-weight: 500;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scrollbar-color: var(--color-muted) var(--color-paper); scroll-padding-top: var(--space-3xl); }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-md); line-height: 1.55; -webkit-font-smoothing: antialiased; caret-color: var(--color-accent); }
::selection { background: color-mix(in oklab, var(--color-accent) 70%, transparent); color: var(--color-ink); }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
h1, h2, h3 { margin: 0; font-family: var(--font-display); font-weight: var(--display-weight, 700); font-synthesis: none; letter-spacing: var(--tracking-display); line-height: 1.05; overflow-wrap: break-word; min-width: 0; text-wrap: balance; }
h1 { max-width: 20ch; font-size: var(--text-display); } h2 { max-width: 30ch; font-size: var(--text-section); } h3 { max-width: 40ch; font-size: var(--text-title); line-height: 1.2; }
.lead { font-size: var(--text-lead); line-height: 1.45; max-width: 52ch; }
p { margin: 0; text-wrap: pretty; }
p:not([class]) { max-width: 65ch; }
img, video { max-width: 100%; height: auto; display: block; }
svg { display: block; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); box-sizing: border-box; }
.num, .figure, td.num { font-variant-numeric: tabular-nums; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-slot] { position: relative; overflow: hidden; background: linear-gradient(160deg, var(--color-paper-2, var(--color-paper)), var(--color-paper-3, var(--color-paper))); }
[data-slot] > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
[data-slot]:has(> img) > :not(img):not([data-keep]) { display: none !important; }
@media (max-width: 60rem) { :root { --gutter: 24px; --section-gap-s: 80px; --section-gap: 96px; --section-gap-l: 120px; } }
@media (max-width: 40rem) { :root { --gutter: 16px; --section-gap-s: 56px; --section-gap: 72px; --section-gap-l: 96px; --gap-columns: 16px; } }
@media (prefers-reduced-motion: reduce) { *:not(.keep-motion), *:not(.keep-motion)::before, *:not(.keep-motion)::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }
/* photographs: mono con=45 */
[data-slot] > img { filter: grayscale(1) contrast(1.45); }


/* ---------- chrome ---------- */
.skip { position: absolute; left: var(--space-md); top: calc(-1 * var(--space-3xl)); z-index: var(--z-toast); padding: var(--space-xs) var(--space-md); background: var(--color-ink); color: var(--color-on-ink); }
.skip:focus-visible { top: var(--space-md); }

.banner { background: var(--color-ink); color: var(--color-on-ink); }
.banner .container { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg); align-items: center; justify-content: space-between; padding-block: var(--space-xs); font-size: var(--text-sm); }
.banner a { color: var(--color-on-ink); }
.banner a:focus-visible, .foot a:focus-visible, .band :focus-visible { outline-color: var(--color-on-ink); }

.bar { position: sticky; top: 0; z-index: var(--z-sticky-nav); background: var(--color-paper); border-bottom: 2px solid var(--color-ink); }
.bar .container { display: flex; align-items: center; gap: var(--space-lg); min-height: 68px; }
.bar__logo { display: inline-flex; flex-shrink: 0; }
.bar__logo img { width: 112px; height: auto; }
.bar__links { display: flex; gap: var(--space-lg); margin: 0 0 0 auto; padding: 0; list-style: none; font-size: var(--text-sm); font-weight: 500; }
.bar__links a { text-decoration: none; padding-block: var(--space-xs); white-space: nowrap; }
.bar__links a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.bar__links a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }

/* ---------- controls ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 48px; padding: 0 var(--space-lg); border: 0; border-radius: 0; background: var(--color-paper-3); color: var(--color-ink); font: 500 15px/1.2 var(--font-body); white-space: nowrap; text-decoration: none; cursor: pointer; box-shadow: 4px 4px 0 var(--color-ink); transition: translate var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out); }
.btn:hover { translate: 1px 1px; box-shadow: 3px 3px 0 var(--color-ink); }
.btn:active { translate: 4px 4px; box-shadow: 0 0 0 var(--color-ink); }
.btn:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.btn:disabled, .btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; translate: none; }
.btn--primary { background: var(--color-accent); color: var(--color-accent-ink); }
.sheet .btn:not(.btn--primary) { background: var(--color-paper); }
.btn--small { min-height: 44px; padding: 0 var(--space-md); font-size: var(--text-sm); }
.actions { display: flex; flex-wrap: wrap; gap: var(--space-md); }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } }

/* ---------- sheets ---------- */
.sheet { background: var(--color-paper-3); color: var(--color-ink); box-shadow: var(--shadow-sheet); rotate: var(--r, 0deg); }
.sheet--fluoro { background: var(--color-accent); color: var(--color-accent-ink); }
.fibre { position: relative; isolation: isolate; }
.fibre::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.5; mix-blend-mode: multiply; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02 0.03' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.45 0 0 0 0 0.3 0 0 0 0.28 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E"); }

h1, h2 { text-transform: uppercase; line-height: 1; }
h3 { font: 500 var(--text-title)/1.2 var(--font-body); text-transform: none; letter-spacing: 0; }
.meta { font-size: var(--text-sm); color: var(--color-ink); }
.meta a { color: inherit; }
.tag { font-weight: 500; white-space: nowrap; }
.nowrap { white-space: nowrap; }

/* ---------- hero (Banner posture) ---------- */
.hero { padding-block: var(--space-2xl); border-bottom: 6px solid var(--color-ink); }
.hero + .sec { padding-top: var(--space-2xl); }
.hero .container { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-2xl); align-items: end; }
.hero h1 { font-size: clamp(3.5rem, 8.4vw, 8.5rem); line-height: 1; max-width: 11ch; }
.hero__text { display: flex; flex-direction: column; gap: var(--space-lg); min-width: 0; }
.hero .lead { color: var(--color-ink); max-width: 40ch; }
.dateslip { --r: 2deg; display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-xl) var(--space-lg); justify-self: end; width: min(100%, 320px); }
.dateslip b { font: 500 clamp(3rem, 5vw, 4.5rem)/1 var(--font-display); text-transform: uppercase; }
.dateslip span { font-size: var(--text-lead); font-weight: 500; }

/* ---------- section rhythm ---------- */
.sec { padding-block: var(--section-gap-s) 0; }
.sec--gap { padding-block: var(--section-gap) 0; }
.head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-md) var(--gap-columns); align-items: end; margin-bottom: var(--space-2xl); }
.head .lead { color: var(--color-ink); }

/* ---------- issue of the day: lead sheet + index ---------- */
.issue { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-2xl); align-items: start; }
.lead-story { --r: -1deg; display: flex; flex-direction: column; gap: var(--space-md); padding: var(--space-md) var(--space-md) var(--space-xl); }
.lead-story .photo { aspect-ratio: 4 / 3; margin: 0; }
.lead-story .body { display: flex; flex-direction: column; gap: var(--space-md); padding-inline: var(--space-md); }
.lead-story h3 { font-size: var(--text-xl); }
.lead-story h3 a { text-decoration: none; }
.lead-story h3 a:hover { text-decoration: underline; }
.rows { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--color-ink); }
.rows li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) auto; gap: var(--space-xs) var(--space-lg); align-items: baseline; padding-block: var(--space-md); border-bottom: 1px solid var(--color-rule); }
.rows time { font: 500 var(--text-lg)/1 var(--font-display); font-variant-numeric: tabular-nums; }
.rows .t { font-size: var(--text-md); font-weight: 500; line-height: 1.35; text-decoration: none; }
.rows .t:hover { text-decoration: underline; }
.rows .src { grid-column: 2; font-size: var(--text-sm); }
.rows .share-mini { grid-row: 1 / span 2; grid-column: 3; align-self: center; }
.lang { font-weight: 500; }
.more-link { margin-top: var(--space-md); }
.list-h1 { font-size: var(--text-display-s); }
.js [data-hide] { display: none; }

/* ---------- schedule ---------- */
.week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--space-md); margin: 0; padding: 0; list-style: none; }
.week li { --r: 0deg; display: flex; flex-direction: column; gap: var(--space-xs); min-height: 220px; padding: var(--space-lg) var(--space-md); }
.week li:nth-child(3n+2) { --r: -0.6deg; }
.week li.is-today { --r: 1.2deg; }
.week b { font: 500 var(--text-2xl)/1 var(--font-display); text-transform: uppercase; }
.week a { font-weight: 500; font-size: var(--text-md); }
.week p { font-size: var(--text-sm); }

/* ---------- toner band ---------- */
.band { margin-top: var(--section-gap); padding-block: var(--section-gap-s); background: var(--color-ink); color: var(--color-on-ink); }
.band blockquote { margin: 0; font: 500 clamp(2.25rem, 4.6vw, 4.5rem)/1.05 var(--font-display); text-transform: uppercase; max-width: 22ch; overflow-wrap: break-word; text-wrap: balance; }
.band p { margin-top: var(--space-lg); color: var(--color-on-ink-2); font-size: var(--text-md); }

/* ---------- world switcher ---------- */
.switch { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-2xl); align-items: start; }
.tabs { display: flex; flex-direction: column; gap: var(--space-xs); }
.tabs button { min-height: 48px; padding: 0 var(--space-md); border: 0; border-left: 4px solid transparent; background: transparent; color: var(--color-ink); font: 500 var(--text-md)/1.2 var(--font-body); text-align: left; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out); }
.tabs button:hover { background: color-mix(in oklab, var(--color-paper-3) 40%, transparent); }
.tabs button[aria-selected="true"] { border-left-color: var(--color-ink); background: var(--color-paper-3); }
.tabs button:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.tabs button:active { background: var(--color-paper-2); }
.panel { --r: 0.8deg; display: flex; flex-direction: column; gap: var(--space-lg); min-height: 320px; padding: var(--space-2xl) var(--space-xl); }
.panel .orig { font: 500 var(--text-2xl)/1.25 var(--font-body); }
.panel .tr { font-size: var(--text-lead); }
.abroad { margin-top: var(--space-2xl); }

/* ---------- tickets band ---------- */
.tickets { margin-top: var(--section-gap); padding-block: var(--section-gap-s); background: var(--color-paper-2); }
.tickets .container { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-2xl); align-items: center; }
.tickets .photo { --r: -1.5deg; aspect-ratio: 4 / 5; margin: 0; box-shadow: var(--shadow-sheet); rotate: var(--r); }
.tickets__side { display: flex; flex-direction: column; gap: var(--space-lg); min-width: 0; }
.tp-slot { min-height: 360px; padding: var(--space-lg); }
.tp-slot p { font-size: var(--text-md); }

/* ---------- archive rail ---------- */
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(15rem, 19%); gap: var(--gap-columns); margin: 0; padding: var(--space-md) var(--gutter) var(--space-xl); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); overscroll-behavior-x: contain; list-style: none; max-width: var(--container); margin-inline: auto; }
.rail > li { scroll-snap-align: start; }
.rail:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.cover { --r: 0deg; display: flex; flex-direction: column; gap: var(--space-sm); height: 100%; min-height: 300px; padding: var(--space-lg); text-decoration: none; transition: translate var(--dur-short) var(--ease-out); }
.rail > li:nth-child(even) .cover { --r: -0.8deg; }
.cover:hover { translate: 0 -2px; }
.cover:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.cover b { font: 500 var(--text-3xl)/1 var(--font-display); text-transform: uppercase; }
.cover span { font-size: var(--text-sm); }
.cover p { font-weight: 500; }

/* ---------- article page ---------- */
.article { padding-block: var(--space-2xl) 0; }
.article__sheet { --r: -0.4deg; max-width: 860px; margin-inline: auto; padding: var(--space-2xl) var(--space-xl); display: flex; flex-direction: column; gap: var(--space-lg); }
.article h1 { font-size: var(--text-display-s); line-height: 1.02; max-width: 24ch; }
.article .text { font-size: 1.125rem; line-height: 1.6; max-width: 65ch; }
.article .text p + p { margin-top: var(--space-md); }
.article .embed { min-height: 120px; }
.share { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; padding-top: var(--space-md); border-top: 1px solid var(--color-rule-2); }
.share__note { font-size: var(--text-sm); min-height: 1lh; }
.pager { display: flex; justify-content: space-between; gap: var(--space-md); margin-top: var(--space-xl); }

/* ---------- footer ---------- */
.foot { margin-top: var(--section-gap); padding-block: var(--space-3xl) var(--space-xl); background: var(--color-ink); color: var(--color-on-ink); }
.foot a { color: var(--color-on-ink); }
.foot__grid { display: grid; grid-template-columns: minmax(0, 3fr) repeat(4, minmax(0, 2fr)); gap: var(--space-2xl) var(--gap-columns); }
.foot__brand { display: flex; flex-direction: column; gap: var(--space-md); }
.foot__brand img { width: 168px; height: auto; }
.foot h2 { font-size: var(--text-xl); margin-bottom: var(--space-md); }
.foot ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--space-xs); }
.foot small { display: block; color: var(--color-on-ink-2); }
.foot__legal { display: flex; flex-direction: column; gap: var(--space-xs); margin-top: var(--space-2xl); padding-top: var(--space-lg); border-top: 1px solid color-mix(in oklab, var(--color-on-ink) 25%, transparent); }

.empty { padding: var(--space-xl); }

/* ---------- responsive ---------- */
@media (max-width: 75rem) {
  .week { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .foot__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .foot__brand { grid-column: 1 / -1; }
  .bar__links li.opt { display: none; }
}
@media (max-width: 60rem) {
  .hero .container, .issue, .switch, .tickets .container, .head { grid-template-columns: minmax(0, 1fr); }
  .hero { padding-block: var(--space-xl) var(--space-2xl); }
  .dateslip { justify-self: start; }
  .week { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(12rem, 60%); overflow-x: auto; scroll-snap-type: x mandatory; padding-block: var(--space-sm) var(--space-lg); }
  .week li { scroll-snap-align: start; min-height: 180px; }
  .tabs { flex-direction: row; overflow-x: auto; }
  .tabs button { flex-shrink: 0; border-left: 0; border-bottom: 4px solid transparent; }
  .tabs button[aria-selected="true"] { border-bottom-color: var(--color-ink); }
  .panel { padding: var(--space-xl) var(--space-lg); min-height: 0; }
  .tickets .photo { order: 2; max-height: 420px; aspect-ratio: 4 / 3; }
  .foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot__brand { grid-column: 1 / -1; }
  .rail { grid-auto-columns: minmax(14rem, 70%); }
}
@media (max-width: 40rem) {
  .bar__links { gap: var(--space-md); }
  .bar__links li.opt2 { display: none; }
  .bar__logo img { width: 92px; }
  .rows li { grid-template-columns: 3.25rem minmax(0, 1fr); }
  .rows .share-mini { display: none; }
  .article__sheet { padding: var(--space-xl) var(--space-lg); }
  .banner .container { justify-content: flex-start; }
  .foot__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .cover, .tabs button { transition: none; } .cover:hover { translate: none; } }

/* ---------- guides ---------- */
.guides { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-columns); margin: 0; padding: 0; list-style: none; }
.guide-card { display: flex; flex-direction: column; gap: var(--space-sm); height: 100%; min-height: 200px; padding: var(--space-lg); text-decoration: none; transition: translate var(--dur-short) var(--ease-out); }
.guides > li:nth-child(3n+2) .guide-card { --r: -0.6deg; }
.guide-card:hover { translate: 0 -2px; }
.guide-card:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.guide-card b { font: 500 var(--text-xl)/1.1 var(--font-display); text-transform: uppercase; }
.guide-card span { font-size: var(--text-sm); }
.guide .answer { font-size: var(--text-lead); line-height: 1.5; max-width: 65ch; padding: var(--space-md) var(--space-lg); background: var(--color-paper); }
.guide__sec { display: flex; flex-direction: column; gap: var(--space-sm); }
.guide__sec h2 { font-size: var(--text-2xl); }
.guide__sec ul { margin: 0; padding-left: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-xs); max-width: 65ch; }
.faq details { border-top: 1px solid var(--color-rule-2); padding-block: var(--space-sm); }
.faq summary { font-weight: 500; cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.faq summary:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.faq details p { margin-top: var(--space-xs); max-width: 65ch; }
@media (max-width: 75rem) { .guides { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .guides { grid-template-columns: minmax(0, 1fr); } .guide-card { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .guide-card { transition: none; } .guide-card:hover { translate: none; } }
