/* Amber Region «Цвета рубрик» — theme stylesheet (port of design/amber-region/previews-r2/b-colours/site.css).
   A city & travel portal on a paper ground; every rubric owns one flat colour taken from the region
   and its block is a full-width band in that colour. One family (Commissioner), five sizes. */
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("fonts/commissioner-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("fonts/commissioner-latin.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 {
  --bg: #eeeeeb;
  --surface: #e2e2de;
  --ink: #1b1a17;
  --muted: #46443f;
  --amber: #e8961c;
  --amber-deep: #a35f00;
  --amber-ink: #1b1a17;
  --paper: #ffffff;
  /* rubric fields: colour + its ink + its tag colour on paper */
  --r-resorts: #1d5687;      --r-resorts-ink: #ffffff;
  --r-spit: #2d5a37;         --r-spit-ink: #ffffff;
  --r-heritage: #a3352a;     --r-heritage-ink: #ffffff;
  --r-guides: #0d6566;       --r-guides-ink: #ffffff;
  --r-amber: #e8961c;        --r-amber-ink: #1b1a17;
  --r-culture: #2d3340;      --r-culture-ink: #ffffff;
  --r-amber-tag: #8a5000;

  --font: "Commissioner", "Segoe UI", system-ui, -apple-system, sans-serif;
  --s-small: 0.875rem;     /* 14 */
  --s-body: 1rem;          /* 16 */
  --s-card: 1.125rem;      /* 18 */
  --s-head: clamp(1.25rem, 0.95rem + 1.2vw, 1.875rem);  /* band leads + section titles */
  --s-lead: clamp(1.375rem, 0.9rem + 2vw, 2.5rem);          /* the day's lead story */
  --s-band: clamp(2.25rem, 1.2rem + 3.6vw, 4.25rem);      /* chapter headings */
  --gap: clamp(16px, 2vw, 28px);
  --side: clamp(16px, 2.6vw, 40px);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ar: 1200 / 672;   /* every post picture is 1200×672: frames use the same ratio, nothing is cropped or blown up */
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
@media (min-width: 861px) { html:has(body.home) { scroll-padding-top: 64px; } }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: var(--s-body); line-height: 1.5; -webkit-tap-highlight-color: transparent; text-rendering: optimizeLegibility; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p, ol, ul, figure { margin: 0; }
ol, ul { padding: 0; list-style: none; }
button, input { font: inherit; color: inherit; }
::selection { background: var(--amber); color: var(--amber-ink); }
:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 16px; top: -60px; background: var(--ink); color: var(--paper); padding: 10px 14px; z-index: 50; }
.skip:focus { top: 8px; }
.wrap { width: 100%; max-width: 1400px; margin-inline: auto; padding-inline: var(--side); }

/* ---------- practical strip ---------- */
.strip { background: var(--ink); color: var(--paper); font-size: var(--s-small); }
.strip__in { display: flex; align-items: center; gap: 8px 24px; flex-wrap: wrap; min-height: 44px; padding-block: 6px; }
.strip__time span { font-variant-numeric: tabular-nums; }
.strip__sun b { font-weight: 600; color: var(--amber); font-variant-numeric: tabular-nums; }
.strip__pts { display: flex; gap: 4px; margin-left: auto; }
.strip__pt { background: transparent; border: 0; color: #d6d6d2; padding: 8px 10px; min-height: 36px; cursor: pointer; border-radius: 0; transition: color .15s, background-color .15s, transform .12s var(--ease); -webkit-user-select: none; user-select: none; touch-action: manipulation; }
.strip__pt[aria-pressed="true"] { background: #34312b; color: var(--paper); }
.strip__pt:active { transform: scale(0.96); }

/* ---------- header ---------- */
.hd { background: var(--bg); }
.hd__in { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; padding-block: 18px; flex-wrap: wrap; }
.brand { font-size: inherit; font-weight: inherit; }
.brand__a { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; }
.brand .mark { grid-row: 1 / span 2; width: 30px; height: 38px; }
.brand__name { font-size: 1.625rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
.brand__sub { font-size: var(--s-small); color: var(--muted); line-height: 1.3; }
.sform { display: flex; flex: 1 1 340px; max-width: 520px; }
.sform input { flex: 1; min-width: 0; height: 48px; padding: 0 16px; font-size: 16px; background: var(--paper); border: 2px solid var(--ink); border-right: 0; border-radius: 0; -webkit-appearance: none; appearance: none; }
.sform input::placeholder { color: #77736b; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; font-weight: 700; border: 0; border-radius: 0; cursor: pointer; transition: transform .12s var(--ease), background-color .15s; touch-action: manipulation; -webkit-user-select: none; user-select: none; }
.btn--amber { background: var(--amber); color: var(--amber-ink); }
.btn:active { transform: scale(0.97); }

/* ---------- rubric nav (sticky; takes the colour of the band beneath it) ---------- */
.nav { position: relative; top: 0; z-index: 20; background: var(--ink); color: var(--paper); transition: background-color .3s ease, color .3s ease; }
.nav__list { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scroll-snap-type: x proximity; }
.nav__list::-webkit-scrollbar { display: none; }
.nav__list li { flex: 0 0 auto; scroll-snap-align: start; }
.nav__a { position: relative; display: flex; align-items: center; min-height: 52px; padding: 0 18px; font-weight: 600; white-space: nowrap; }
.nav__list li:first-child .nav__a { padding-left: 0; }
.nav__a::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 0; height: 5px; background: var(--c, var(--amber)); transform: scaleX(0.35); transform-origin: left; transition: transform .25s var(--ease); }
.nav__list li:first-child .nav__a::after { left: 0; }
.nav__a[aria-current="page"]::after, .nav__a.is-on::after { transform: scaleX(1); }
.nav__a[data-r="baltic-resorts"] { --c: #6aa7dc; }
.nav__a[data-r="curonian-spit"] { --c: #7fb487; }
.nav__a[data-r="heritage-excursions"] { --c: #e0786a; }
.nav__a[data-r="guides-and-hotels"] { --c: #5fb7b4; }
.nav__a[data-r="amber-and-crafts"] { --c: #e8961c; }
.nav__a[data-r="culture-and-events"] { --c: #a8b0c2; }
.nav[data-tone] .nav__a::after { background: currentColor; }
.nav[data-tone="baltic-resorts"] { background: var(--r-resorts); }
.nav[data-tone="curonian-spit"] { background: var(--r-spit); }
.nav[data-tone="heritage-excursions"] { background: var(--r-heritage); }
.nav[data-tone="guides-and-hotels"] { background: var(--r-guides); }
.nav[data-tone="amber-and-crafts"] { background: var(--r-amber); color: var(--r-amber-ink); }
.nav[data-tone="culture-and-events"] { background: var(--r-culture); }

/* ---------- shared bits ---------- */
.rtag { font-weight: 700; }
.art, .pg { --rc: var(--r-guides); --rk: var(--r-guides); --rk-ink: #ffffff; }
.art--baltic-resorts { --rc: var(--r-resorts); --rk: var(--r-resorts); }
.art--curonian-spit { --rc: var(--r-spit); --rk: var(--r-spit); }
.art--heritage-excursions { --rc: var(--r-heritage); --rk: var(--r-heritage); }
.art--amber-and-crafts { --rc: var(--r-amber-tag); --rk: var(--r-amber); --rk-ink: var(--r-amber-ink); }
.art--culture-and-events { --rc: var(--r-culture); --rk: var(--r-culture); }
.rtag--baltic-resorts { color: var(--r-resorts); }
.rtag--curonian-spit { color: var(--r-spit); }
.rtag--heritage-excursions { color: var(--r-heritage); }
.rtag--guides-and-hotels { color: var(--r-guides); }
.rtag--amber-and-crafts { color: var(--r-amber-tag); }
.rtag--culture-and-events { color: var(--r-culture); }
.card__d { font-size: var(--s-small); color: var(--muted); margin-top: 6px; font-variant-numeric: tabular-nums; }
.more { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: var(--amber); }
.sec-head { display: grid; gap: 4px; margin-bottom: 20px; }
.sec-h { font-size: var(--s-head); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; text-wrap: balance; }
.sec-line { color: var(--muted); }
h3 a, .feed__a, .side__a { transition: color .15s; }
@media (hover: hover) {
  h3 a:hover, .feed__a:hover, .side__a:hover, .place__list a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
  .nav__a:hover::after { transform: scaleX(1); }
  .strip__pt:hover { color: var(--paper); }
  .btn--amber:hover { background: #f2a83c; }
  .card__img img, .lead__img img, .sec__img img, .mini__img img, .band__lead-media img, .pick__img img, .side__img img { transition: transform .5s var(--ease); }
  .card:hover .card__img img, .lead:hover .lead__img img, .sec:hover .sec__img img, .mini:hover .mini__img img, .band__lead:hover .band__lead-media img, .pick:hover .pick__img img, .side__i:hover .side__img img { transform: scale(1.04); }
}
.card__img, .lead__img, .sec__img, .mini__img, .band__lead-media, .pick__img, .side__img, .place__img { display: block; overflow: hidden; background: var(--surface); }
.card__img img, .lead__img img, .sec__img img, .mini__img img, .band__lead-media img, .band__lead-media video, .pick__img img, .side__img img, .place__img img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- top: lead + secondary + feed ---------- */
.top { display: grid; grid-template-columns: minmax(0, 7.4fr) minmax(0, 3fr) minmax(0, 3fr); gap: var(--gap); padding-block: 28px 72px; align-items: start; }
.lead__img { aspect-ratio: var(--ar); }
.lead__body { padding-top: 16px; }
.lead__t { font-size: var(--s-lead); font-weight: 800; letter-spacing: -0.02em; line-height: 1.12; text-wrap: balance; }
.lead__ex { margin-top: 10px; max-width: 52ch; }
.top__sec { display: grid; gap: 22px; }
.sec { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.sec__img { aspect-ratio: var(--ar); }
.sec__t { font-size: var(--s-card); font-weight: 700; line-height: 1.25; }
.top__sec .sec:nth-child(n+2) { grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: start; }
.top__sec .sec:nth-child(n+2) .sec__img { aspect-ratio: var(--ar); }
.top__sec .sec:nth-child(n+2) .sec__t { font-size: var(--s-body); }
.feed { background: var(--paper); padding: 20px 22px 12px; }
.feed__h { font-size: var(--s-card); font-weight: 800; margin-bottom: 8px; }
.feed__list { display: grid; }
.feed__i { padding-block: 10px; }
.feed__m { font-size: var(--s-small); color: var(--muted); margin-top: 3px; font-variant-numeric: tabular-nums; }
.feed__a { font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.feed__r { font-weight: 700; }
.feed__r--baltic-resorts { color: var(--r-resorts); } .feed__r--curonian-spit { color: var(--r-spit); }
.feed__r--heritage-excursions { color: var(--r-heritage); } .feed__r--guides-and-hotels { color: var(--r-guides); }
.feed__r--amber-and-crafts { color: var(--r-amber-tag); } .feed__r--culture-and-events { color: var(--r-culture); }

/* ---------- rubric bands (the chapters) ---------- */
.band { padding-block: clamp(48px, 6vw, 88px); }
.band--baltic-resorts { background: var(--r-resorts); color: var(--r-resorts-ink); }
.band--curonian-spit { background: var(--r-spit); color: var(--r-spit-ink); }
.band--heritage-excursions { background: var(--r-heritage); color: var(--r-heritage-ink); }
.band--guides-and-hotels { background: var(--r-guides); color: var(--r-guides-ink); }
.band--amber-and-crafts { background: var(--r-amber); color: var(--r-amber-ink); }
.band--culture-and-events { background: var(--r-culture); color: var(--r-culture-ink); }
.band .card__d { color: inherit; opacity: 1; }
.band__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px 32px; margin-bottom: 32px; }
.band__h { font-size: var(--s-band); font-weight: 800; letter-spacing: -0.03em; line-height: 1; text-wrap: balance; }
.band__line { grid-column: 1; max-width: 48ch; font-size: var(--s-card); }
.band__all { grid-column: 2; grid-row: 1 / span 2; align-self: end; display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; font-weight: 700; background: var(--paper); color: var(--ink); transition: transform .12s var(--ease); }
.band__all:active { transform: scale(0.97); }
.band__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap); align-items: start; }
.band--flip .band__lead { order: 2; }
.band__lead-media { aspect-ratio: var(--ar); }
.band__lead-body { padding-top: 16px; }
.band__lt { font-size: var(--s-head); font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; text-wrap: balance; }
.band__ex { margin-top: 8px; max-width: 52ch; }
.band__list { display: grid; gap: 18px; }
.mini { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 16px; align-items: start; }
.mini__img { aspect-ratio: var(--ar); }
.mini__t { font-size: var(--s-card); font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }

/* ---------- places ---------- */
.places { padding-block: clamp(56px, 7vw, 104px); }
.places__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
.place { background: var(--paper); display: grid; grid-template-rows: auto 1fr; }
.place__img { aspect-ratio: 3 / 2; }
.place__body { padding: 16px 18px 18px; }
.place__t { font-size: var(--s-card); font-weight: 800; margin-bottom: 8px; }
.place__list { display: grid; gap: 6px; }
.place__list a { font-weight: 500; line-height: 1.3; display: inline-block; }
.place__more { color: var(--muted); font-size: var(--s-small); }
.places__grid .place:first-child { grid-column: span 2; }
.places__grid .place:first-child .place__img { aspect-ratio: 31 / 10; }
.places__grid .place:first-child .place__t { font-size: var(--s-head); }

/* ---------- picks + names ---------- */
.duo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 64px); padding-block: clamp(56px, 7vw, 104px); }
.picks__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.pick__img { aspect-ratio: var(--ar); margin-bottom: 12px; }
.pick__t { font-size: var(--s-card); font-weight: 700; line-height: 1.25; }
.nm { background: var(--paper); padding: 24px; align-self: start; }
.nm__q { width: 100%; height: 48px; padding: 0 14px; font-size: 16px; border: 2px solid var(--ink); border-radius: 0; background: var(--bg); -webkit-appearance: none; appearance: none; margin-bottom: 12px; }
.nm__list { display: grid; }
.nm__row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); column-gap: 10px; padding-block: 8px; align-items: baseline; }
.nm__old { color: var(--muted); }
.nm__arrow { color: var(--amber-deep); }
.nm__new { font-weight: 700; }
.nm__link { grid-column: 1 / -1; font-size: var(--s-small); font-weight: 600; color: var(--r-guides); margin-top: 2px; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; min-height: 28px; align-items: center; }
.nm__row.is-hit .nm__new { color: var(--amber-deep); }
.nm__empty { color: var(--muted); padding-top: 8px; }

/* ---------- footer ---------- */
.ft { background: var(--ink); color: #e8e8e5; padding-block: 64px 32px; }
.ft__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: 32px; }
.ft__name { display: flex; align-items: center; gap: 10px; font-size: var(--s-head); font-weight: 800; color: var(--paper); margin-bottom: 12px; }
.ft__brand p { max-width: 52ch; }
.ft__brand p + p { margin-top: 10px; }
.ft__h { font-size: var(--s-body); font-weight: 800; color: var(--paper); margin-bottom: 10px; }
.ft ul { display: grid; gap: 2px; }
.ft ul a { display: inline-flex; min-height: 34px; align-items: center; }
@media (hover: hover) { .ft a:hover { color: var(--amber); } }
.ft__legal { margin-top: 20px; font-size: var(--s-small); color: #d6d6d2; display: flex; gap: 20px; flex-wrap: wrap; justify-content: space-between; }
.ft__legal a { text-decoration: underline; }

/* ---------- article ---------- */
.art__band { padding-block: 28px 40px; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: var(--s-small); }
.crumbs li { display: inline-flex; align-items: center; }
.crumbs li + li::before { content: "›"; padding-inline: 8px; opacity: .8; }
.crumbs a { text-decoration: underline; text-underline-offset: 3px; }
.crumbs li[aria-current] { opacity: .85; max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.art__h { font-size: var(--s-band); font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; max-width: 22ch; margin-top: 18px; text-wrap: balance; }
.art__meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 18px; font-size: var(--s-small); }
.art__rub { background: var(--paper); font-weight: 700; padding: 3px 10px; }
.art__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(24px, 4vw, 64px); padding-block: 40px 72px; align-items: start; }
.art__lead { font-size: 1.25rem; line-height: 1.45; font-weight: 500; max-width: 62ch; }
.art__fig { margin-top: 28px; }
.art__fig img { width: 100%; }
.art__fig figcaption { font-size: var(--s-small); color: var(--muted); margin-top: 8px; max-width: 80ch; }
.toc { background: var(--paper); padding: 20px 24px; margin-top: 32px; }
.toc__h { font-size: var(--s-body); font-weight: 800; margin-bottom: 8px; }
.toc ol { display: grid; gap: 2px; list-style: decimal; padding-left: 1.3em; }
.toc li { padding-block: 4px; }
.toc a { display: inline; text-decoration: underline; text-decoration-color: var(--rc); text-underline-offset: 3px; }
.prose { max-width: 62ch; margin-top: 32px; font-size: 1.0625rem; line-height: 1.65; }
.prose > * + * { margin-top: 1em; }
.prose h2 { font-size: 1.625rem; font-weight: 800; line-height: 1.18; letter-spacing: -0.015em; margin-top: 2em; text-wrap: balance; }
.prose h3 { font-size: var(--s-card); font-weight: 700; margin-top: 1.6em; }
.prose ul { padding-left: 1.2em; list-style: disc; display: grid; gap: .4em; }
.prose ul li::marker { color: var(--rc); }
.tblwrap { overflow-x: auto; }
.tbl { width: 100%; border-collapse: collapse; font-size: var(--s-body); background: var(--paper); }
.tbl caption { text-align: left; font-weight: 700; padding-bottom: 8px; }
.tbl th, .tbl td { text-align: left; padding: 10px 12px; vertical-align: top; border-bottom: 1px solid var(--surface); }
.tbl th { font-weight: 700; background: var(--surface); }
.key { background: var(--rk); color: var(--rk-ink); padding: 22px 26px; margin-top: 2em !important; }
.key h2 { margin-top: 0; color: inherit; }
.key ul { margin-top: 10px; }
.key ul li::marker { color: inherit; }
.faq h2 { margin-bottom: 8px; }
.qa { background: var(--paper); margin-top: 8px; }
.qa summary { cursor: pointer; font-weight: 700; padding: 14px 18px; min-height: 48px; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: "+"; font-weight: 800; color: var(--rc); transition: transform .2s var(--ease); }
.qa[open] summary::after { transform: rotate(45deg); }
.qa p { padding: 0 18px 16px; }
.sources ul { font-size: var(--s-body); color: var(--muted); }
.sources a, .byline a, .prose a { text-decoration: underline; text-underline-offset: 3px; }
.byline { background: var(--surface); padding: 16px 20px; }
.side { position: sticky; top: 16px; }
.side__in { background: var(--paper); padding: 20px 22px 12px; }
.side__h { font-size: var(--s-card); font-weight: 800; line-height: 1.2; margin-bottom: 12px; }
.side__list { display: grid; gap: 14px; }
.side__i { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: start; }
.side__img { aspect-ratio: var(--ar); }
.side__a { font-weight: 600; line-height: 1.3; }
.also { background: var(--surface); padding-block: 56px 72px; }
.also .sec-h { margin-bottom: 24px; }
.also__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.card { background: var(--paper); display: grid; grid-template-rows: auto 1fr; }
.card__img { aspect-ratio: var(--ar); }
.card__body { padding: 14px 16px 16px; }
.card__t { font-size: var(--s-card); font-weight: 700; line-height: 1.25; }


/* ---------- theme additions (WordPress templates) ---------- */
.noimg { display: block; width: 100%; height: 100%; background: var(--surface); }
.place__old { font-weight: 500; color: var(--muted); font-size: var(--s-small); }
.card__ex { margin-top: 6px; color: var(--muted); font-size: var(--s-body); line-height: 1.45; }

/* listings: rubric / archive / search / 404 */
.lst__head { padding-block: 28px 40px; }
.lst__head:not(.band) { background: var(--surface); }
.lst__h { font-size: var(--s-band); font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; margin-top: 14px; text-wrap: balance; overflow-wrap: anywhere; }
.lst__pg { font-weight: 600; }
.lst__line { margin-top: 12px; max-width: 56ch; font-size: var(--s-card); }
.lst__count { margin-top: 10px; font-size: var(--s-small); }
.lst__search { margin-top: 18px; max-width: 560px; }
.lst__search .sform { max-width: none; }
.lst { padding-block: 32px 72px; }
.lst__sub { margin-bottom: 20px; }
.lst__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.lst__empty { font-size: var(--s-card); }
.pager { margin-top: 36px; }
.pager ul { display: flex; flex-wrap: wrap; gap: 6px; }
.pager .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; background: var(--paper); font-weight: 700; }
.pager .page-numbers.current { background: var(--ink); color: var(--paper); }
.pager .page-numbers.dots { background: transparent; }
@media (hover: hover) { .pager a.page-numbers:hover { background: var(--amber); color: var(--amber-ink); } }

/* plain pages */
.pg { padding-block: 28px 80px; }
.pg__h { font-size: var(--s-band); font-weight: 800; letter-spacing: -0.03em; line-height: 1.04; margin-top: 14px; max-width: 24ch; text-wrap: balance; }
.pg__body { margin-top: 0; }
.pg__grid { padding-block: 28px 0; }
.pg__body h2 { font-size: 1.5rem; }
.credits { list-style: none !important; padding: 0 !important; display: grid; gap: 14px !important; }
.credits__i { background: var(--paper); padding: 14px 18px; }
.credits__what { font-weight: 700; }
.credits__src { margin-top: 4px; font-size: var(--s-body); color: var(--muted); overflow-wrap: anywhere; }

/* mu-plugin blocks inside the article body */
.prose a { overflow-wrap: anywhere; }
.prose figure.pr-data { margin-top: 1.4em; overflow-x: auto; }
.prose figure.pr-data figcaption { font-weight: 700; padding-bottom: 8px; font-size: var(--s-body); }
.prose ol { padding-left: 1.4em; list-style: decimal; display: grid; gap: .4em; }
.prose section.pr-faq { margin-top: .8em; }
.prose .pr-faq details { background: var(--paper); margin-top: 8px; }
.prose .pr-faq summary { cursor: pointer; font-weight: 700; padding: 14px 18px; min-height: 48px; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.prose .pr-faq summary::-webkit-details-marker { display: none; }
.prose .pr-faq summary::after { content: "+"; font-weight: 800; color: var(--rc); transition: transform .2s var(--ease); flex: none; }
.prose .pr-faq details[open] summary::after { transform: rotate(45deg); }
.prose .pr-faq__a { padding: 0 18px 16px; }
.prose .pr-sources { margin-top: 2em; }
.prose .pr-sources h2 { font-size: var(--s-card); margin-top: 0; }
.prose .pr-sources ul { font-size: var(--s-body); color: var(--muted); }
.prose .pr-deep, .prose .pr-editorial { max-width: none; }
.prose img { height: auto; }
.art__fig { margin-top: 0; margin-bottom: 24px; }
.art__lead { margin-top: 0; }
@media (max-width: 1180px) { .lst__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .lst__grid { grid-template-columns: minmax(0, 1fr); }
  .lst__h, .pg__h { font-size: 1.75rem; }
}


/* mu-plugin blocks restyled to the theme (flat, no outlines; the mu-plugin owns their markup and content) */
.prose .pr-editorial { border: 0; border-radius: 0; background: var(--surface); padding: 16px 20px; font-size: var(--s-body); margin-top: 2em; }
.prose .pr-editorial__label { display: block; text-transform: none; letter-spacing: 0; font-size: var(--s-small); font-weight: 600; color: var(--muted); }
.prose .pr-editorial__note { color: var(--muted); }
.prose .pr-deep { border-top: 0; padding-top: 0; margin-top: 2.5em; }
.prose .pr-deep-h { font-size: var(--s-card); font-weight: 800; }
.prose .pr-deep-card { border: 0; border-radius: 0; background: var(--paper); text-decoration: none; }
.prose .pr-deep-card:hover { transform: none; box-shadow: none; }
.prose .pr-deep-thumb { aspect-ratio: var(--ar); }
.prose .pr-deep-title { font-size: var(--s-body); }
@media (hover: hover) { .prose .pr-deep-card:hover .pr-deep-title { text-decoration: underline; text-underline-offset: 3px; } }
.pressroom-reads-card { color: var(--muted) !important; font-size: var(--s-small) !important; }
.band .pressroom-reads-card { color: inherit !important; }
.pg__wide { max-width: none; }
.credits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1180px) { .credits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.credits__i { display: grid; grid-template-rows: auto 1fr; padding: 0; }
.credits__img { aspect-ratio: 3 / 2; overflow: hidden; background: var(--surface); }
.credits__img img, .credits__img video { width: 100%; height: 100%; object-fit: cover; }
.credits__txt { padding: 14px 18px 16px; }
.pg__intro { max-width: 62ch; font-size: var(--s-card); margin-top: 14px; }
@media (min-width: 861px) { body.home .nav { position: sticky; } }
@media (max-width: 860px) { .side { position: static; } }
@media (max-width: 560px) { .credits { grid-template-columns: minmax(0, 1fr); } }
/* long-article tail: transform-only arrival, text is never hidden */
.js [data-drift] { transform: translateY(14px); transition: transform .6s var(--ease); }
.js [data-drift].in { transform: none; }
@media (prefers-reduced-motion: reduce) { .js [data-drift] { transform: none; transition: none; } }


/* mu cookie re-opener: a static full-width line at the very end of the page (a floating pill covered headings) */
body #prc-l { position: static !important; width: 100% !important; margin: 0 !important; padding: 1rem var(--side) calc(env(safe-area-inset-bottom, 0px) + 1rem) !important; border-radius: 0 !important; background: var(--ink) !important; color: #d6d6d2 !important; opacity: 1 !important; text-align: left !important; font: 500 var(--s-small) / 1.4 var(--font) !important; text-decoration: underline; text-underline-offset: 0.22em; box-shadow: none !important; }
body #prc-l:hover { color: #ffffff !important; }

/* ---------- motion ---------- */
.js [data-rise] { opacity: 0; transform: translateY(20px); transition: opacity .6s var(--ease), transform .6s var(--ease); transition-delay: var(--d, 0ms); }
.js [data-rise].in { opacity: 1; transform: none; }
.js.no-io [data-rise] { opacity: 1; transform: none; }
.band__h { transition: transform .7s var(--ease); }
.js .band:not(.seen) .band__h { transform: translateY(18px); }
@media (prefers-reduced-motion: reduce) {
  .js [data-rise], .js .band:not(.seen) .band__h { opacity: 1; transform: none; transition: none; }
  .nav, .nav__a::after { transition: none; }
  * { scroll-behavior: auto !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .top { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .feed { grid-column: 1 / -1; }
  .feed__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .places__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .places__grid .place:first-child { grid-column: 1 / -1; }
  .places__grid .place:first-child .place__img { aspect-ratio: 21 / 9; }
  .duo { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 561px) {
  .nav__list { flex-wrap: wrap; overflow: visible; }
}
@media (max-width: 860px) {
  .top { grid-template-columns: minmax(0, 1fr); padding-top: 16px; }
  .feed__list { grid-template-columns: minmax(0, 1fr); }
  .band__grid { grid-template-columns: minmax(0, 1fr); }
  .band--flip .band__lead { order: 0; }
  .band__head { grid-template-columns: minmax(0, 1fr); }
  .band__all { grid-column: 1; grid-row: auto; justify-self: start; }
  .places__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .places__grid .place:first-child { grid-column: 1 / -1; }
  .art__grid { grid-template-columns: minmax(0, 1fr); }
  .side { position: static; }
  .also__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ft__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  :root { --s-card: 1.0625rem; }
  .hd__in { padding-block: 14px; }
  .brand__name { font-size: 1.375rem; }
  .sform { flex-basis: 100%; max-width: none; }
  .strip__in { gap: 2px 16px; }
  .strip__pts { margin-left: 0; width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .strip__pt { min-height: 40px; padding: 8px 2px; font-size: 13px; }
  .mini { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; }
  .places__grid { grid-template-columns: minmax(0, 1fr); }
  .picks__list { grid-template-columns: minmax(0, 1fr); }
  .pick { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; align-items: start; }
  .pick__img { margin-bottom: 0; }
  .nm { padding: 18px 16px; }
  .also__grid { grid-template-columns: minmax(0, 1fr); }
  .tbl thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tbl, .tbl tbody, .tbl tr, .tbl td, .tbl caption { display: block; width: 100%; }
  .tbl caption { padding: 12px 14px 4px; }
  .tbl tr { padding: 10px 0; border-bottom: 8px solid var(--bg); }
  .tbl td { border: 0; padding: 4px 14px; }
  .tbl td::before { content: attr(data-label); display: block; font-size: var(--s-small); color: var(--muted); font-weight: 600; }
  .ft__grid { grid-template-columns: minmax(0, 1fr); }
  .crumbs li[aria-current] { max-width: 100%; }
  .art__h { font-size: 1.5rem; max-width: none; }
  .prose h2 { font-size: 1.3125rem; }
}

