/* RT redesign v2, Journal group (30 Sept 2026): the Journal front and every journal post.
   The Journal is a paper: a nameplate over the lead story, a sections bar, stories set with rhythm.
   Loaded after rt-v2.css; every selector is one step stronger than rt.css, as the brief asks. */

html body #rt-site.rt-shell #siteWrapper.v2.jn {
  --soft: var(--v2-ink-2); --hair: rgba(23, 46, 70, .16); --jn-head: 88px;
}

/* ── The front: nameplate over the lead story ────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .jn-front {
  height: 100svh; min-height: 640px; max-height: 1040px;
  & .jn-front__img { position: absolute; inset: 0; margin: 0; }
  & .jn-front__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  & .jn-front__shade { background:
      linear-gradient(to top, rgba(10, 22, 36, .86) 0%, rgba(10, 22, 36, .42) 40%, rgba(10, 22, 36, .06) 66%),
      linear-gradient(to bottom, rgba(10, 22, 36, .62), rgba(10, 22, 36, 0) 46%); }
  & .jn-front__plate { position: absolute; left: 0; right: 0; top: calc(var(--jn-head) + 26px); color: #fff; }
  & h1 { font-size: clamp(56px, 8.6vw, 148px) !important; line-height: .9 !important; letter-spacing: -.04em; margin: 0; color: #fff; max-width: none; }
  & .jn-front__line { margin: 14px 0 0; font: italic 400 clamp(17px, 1.5vw, 21px)/1.3 var(--v2-display); color: #f1e6cf; max-width: none; }
  & .jn-front__lead h2 { font-size: clamp(34px, 4.4vw, 68px) !important; line-height: .98 !important; letter-spacing: -.03em; color: #fff; margin: 0; max-width: 17ch; }
  & .jn-front__lead h2 a { color: inherit; text-decoration: none; }
  & .jn-front__lead h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
  & .jn-front__lead .v2-phero__lede { max-width: 50ch; }
  & .jn-front__date { font: italic 400 17px/1.3 var(--v2-display); color: #e6ecf1; }
}

/* ── Sections bar: the paper's sections, sticky under the masthead ── */
html body #rt-site.rt-shell #siteWrapper.v2 .jn-desks {
  position: sticky; top: var(--jn-head); z-index: 20; background: var(--v2-plate); border-bottom: 1px solid var(--v2-navy);
  & .jn-desks__row { display: flex; align-items: center; gap: 0 clamp(18px, 2.2vw, 34px); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  & .jn-desks__row::-webkit-scrollbar { display: none; }
  & button {
    flex: none; background: none; border: 0; border-radius: 0; padding: 18px 0 16px; margin: 0; cursor: pointer;
    font: 500 15px/1.2 var(--v2-text); color: var(--v2-ink-2); white-space: nowrap; border-bottom: 2px solid transparent;
  }
  & button:hover { color: var(--v2-navy); }
  & button[aria-pressed="true"] { color: var(--v2-navy); border-bottom-color: var(--v2-navy); }
  & .jn-desks__count { flex: none; margin-left: auto; padding-left: 20px; font: italic 400 16px/1.3 var(--v2-display); color: var(--v2-rim); white-space: nowrap; }
}

/* ── The stories: a twelve column grid with a rhythm ────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .jn-stories .v2-tb { margin-bottom: clamp(28px, 3vw, 44px); }
html body #rt-site.rt-shell #siteWrapper.v2 .jn-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(36px, 4vw, 64px) clamp(20px, 2.4vw, 40px); align-items: start;
}
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s {
  border-top: 1px solid var(--hair); padding-top: 16px; min-width: 0;
  & a { display: block; color: inherit; text-decoration: none; }
  & .jn-s__pic { overflow: hidden; background: #e7e9ea; margin: 0 0 18px; }
  & .jn-s__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
  & .jn-s__kicker { font: italic 400 16px/1.3 var(--v2-display); color: var(--v2-rim); margin: 0 0 8px; }
  & h3 { font-size: 26px !important; line-height: 1.12 !important; margin: 0; letter-spacing: -.015em; }
  & a:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  & .jn-s__ex { font-size: 15.5px; line-height: 1.55; color: var(--v2-ink-2); margin: 12px 0 0; max-width: 46ch; }
  & .jn-s__date { font-size: 13.5px; color: var(--v2-ink-2); margin: 12px 0 0; }
  &.is-lead { display: none; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--big {
  grid-column: span 7; grid-row: span 2;
  & .jn-s__pic { aspect-ratio: 3 / 2; }
  & h3 { font-size: clamp(30px, 2.9vw, 44px) !important; line-height: 1.04 !important; max-width: 18ch; }
  & .jn-s__ex { font-size: 17px; max-width: 52ch; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--small2 { align-self: end; }
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--small, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--small2 {
  grid-column: span 5;
  & a { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 0 22px; grid-template-rows: auto auto auto 1fr; }
  & .jn-s__pic { grid-column: 1; grid-row: 1 / 5; aspect-ratio: 4 / 5; margin: 0; }
  & .jn-s__kicker, & h3, & .jn-s__date { grid-column: 2; }
  & h3 { font-size: 24px !important; }
  & .jn-s__ex { display: none; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col {
  grid-column: span 4;
  & .jn-s__pic { aspect-ratio: 4 / 5; }
  & .jn-s__ex { display: none; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--half {
  grid-column: span 6;
  & .jn-s__pic { aspect-ratio: 3 / 2; }
  & h3 { font-size: 28px !important; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--text {
  grid-column: span 3; border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim);
  & .jn-s__pic { display: none; }
  & h3 { font-size: 23px !important; }
  & .jn-s__ex { display: none; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--wide {
  grid-column: span 12;
  & a { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 clamp(24px, 4vw, 64px); grid-template-rows: 1fr auto auto auto auto 1fr; }
  & .jn-s__pic { grid-column: 1; grid-row: 1 / 7; aspect-ratio: 3 / 2; margin: 0; }
  & .jn-s__kicker { grid-column: 2; grid-row: 2; }
  & h3 { grid-column: 2; grid-row: 3; font-size: clamp(32px, 3.4vw, 52px) !important; line-height: 1.02 !important; max-width: 16ch; }
  & .jn-s__ex { grid-column: 2; grid-row: 4; font-size: 17px; }
  & .jn-s__date { grid-column: 2; grid-row: 5; }
}
/* The one moving thing on the front: each picture is set down with a single wipe, once, staggered by column */
@media (prefers-reduced-motion: no-preference) {
  html.jn-js body #rt-site.rt-shell #siteWrapper.v2 .jn-s .jn-s__pic img { clip-path: inset(0 100% 0 0); }
  html.jn-js body #rt-site.rt-shell #siteWrapper.v2 .jn-s.is-in .jn-s__pic img { clip-path: inset(0 0 0 0); transition: clip-path 1s cubic-bezier(.2, .7, .1, 1) var(--jn-d, 0ms); }
}

/* ── Press and news ─────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .jn-press { padding-top: 0; }
html body #rt-site.rt-shell #siteWrapper.v2 .jn-press .jn-press__list strong { font-size: clamp(22px, 2vw, 30px); }

/* ── Posts: the hero ────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .jn-progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 31; pointer-events: none; }
html body #rt-site.rt-shell #siteWrapper.v2 .jn-progress i { display: block; height: 100%; background: var(--v2-rim); transform: scaleX(0); transform-origin: 0 50%; }
html body #rt-site.rt-shell #siteWrapper.v2 .jn-phero {
  height: auto; min-height: min(92svh, 920px); display: flex; align-items: flex-end;
  & .jn-front__img { position: absolute; inset: 0; margin: 0; }
  & .jn-front__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; display: block; }
  & .v2-phero__copy { position: relative; width: 100%; bottom: auto; padding-top: calc(var(--jn-head) + 80px); padding-bottom: clamp(40px, 8vh, 90px); }
  & h1 { font-size: clamp(40px, 5.8vw, 96px) !important; line-height: .96 !important; letter-spacing: -.03em; max-width: 16ch; }
  & .v2-phero__lede { max-width: 52ch; }
  & .v2-phero__lede strong { color: #fff; font-weight: 500; }
  & .jn-phero__meta { margin: 18px 0 0; font: italic 400 17px/1.3 var(--v2-display); color: #e6ecf1; }
}

html body #rt-site.rt-shell #siteWrapper.v2 .jn-split {
  & h1 { font-size: clamp(40px, 5vw, 84px) !important; max-width: 14ch; }
  & .jn-phero__meta { margin: 22px 0 0; font: italic 400 17px/1.3 var(--v2-display); color: var(--v2-mist); }
}
/* ── Posts: the article, long-form reading ──────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .rt-post {
  background: var(--v2-plate); color: var(--v2-navy); font-family: var(--v2-text);
  & .rt-post-body { display: grid; grid-template-columns: 1fr min(660px, calc(100% - 2 * var(--v2-gutter))) 1fr; padding: clamp(48px, 7vw, 96px) 0 24px; }
  & .rt-post-body > * { grid-column: 2; min-width: 0; padding-top: 0; }
  & .rt-post-body > .rt-post-block--wide, & .rt-post-body > .rt-post-block--dark, & .rt-post-body > .rt-post-band, & .rt-post-body > .rt-tt-card { grid-column: 1 / -1; }
  & p, & li { font: 400 18px/1.7 var(--v2-text); color: var(--v2-navy); margin: 0 0 20px; max-width: none; }
  & p + p { margin-top: 0; }
  & .rt-post-lede { font: 400 clamp(23px, 2.2vw, 30px)/1.35 var(--v2-display); letter-spacing: -.015em; margin: 0 0 34px; }
  & h2 { font-size: clamp(30px, 3vw, 44px) !important; line-height: 1.06 !important; letter-spacing: -.025em; margin: 0 0 18px; max-width: none; color: var(--v2-navy); }
  & .rt-post-body > h2 { margin-top: 44px; }
  & h3 { font-size: 25px !important; line-height: 1.15 !important; letter-spacing: -.015em; margin: 34px 0 10px; color: var(--v2-navy); }
  & strong { font-weight: 500; }
  & a { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--v2-rim); text-decoration-thickness: 1px; }
  & figure > img, & img { width: 100%; height: auto; display: block; }
  /* Labels: italic serif, sentence case, never capitals */
  & .rt-post-eyebrow, & .rt-post-callout-label, & .rt-post-fact-label, & .rt-post-step-label, & th, & .rt-tt-card h3, & .rt-tt-meta dt {
    font: italic 400 17px/1.3 var(--v2-display) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--v2-rim) !important; margin: 0 0 10px;
  }
  & .rt-post-body > .rt-post-eyebrow { margin: 40px 0 8px; }
  & .rt-post-eyebrow + h2 { margin-top: 0; }
  /* Lists */
  & .rt-post-list { list-style: none; margin: 24px 0 28px; padding: 0; }
  & .rt-post-list li { border-top: 1px solid var(--hair) !important; padding: 12px 0 !important; margin: 0; font-size: 17px; position: static; }
  & .rt-post-list li:last-child { border-bottom: 1px solid var(--hair) !important; }
  & .rt-post-list li::before { content: none; display: none; }
  & ul:not([class]), & ol:not([class]) { margin: 0 0 24px; padding-left: 1.2em; }
  & ul:not([class]) li, & ol:not([class]) li { margin: 0 0 8px; }
  /* Figures */
  & .rt-post-figure { margin: 40px 0; }
  /* Photographs step out of the measure: a wide one is set across the page, a tall one stands in the middle */
  & .rt-post-body > .rt-post-figure { grid-column: 1 / -1; width: min(1040px, calc(100% - 2 * var(--v2-gutter))); margin: 48px auto; }
  & .rt-post-body > .rt-post-figure--tall { width: min(520px, calc(100% - 2 * var(--v2-gutter))); }
  & .rt-post-figure--tall img { aspect-ratio: 4 / 5; object-fit: cover; }
  & .rt-post-figure figcaption, & figcaption { font-size: 13.5px; line-height: 1.5; color: var(--v2-ink-2); margin-top: 10px; padding: 0; border: 0; }
  & .rt-post-band { margin: 56px 0; height: min(70vh, 640px); overflow: hidden; }
  & .rt-post-band img { height: 100%; object-fit: cover; }
  & .rt-post-video video { width: 100%; display: block; }
  /* Callouts: ruled boxes, not coloured cards */
  & .rt-post-callout { background: none; border: 0; border-top: 1px solid var(--v2-navy); border-bottom: 1px solid var(--hair); padding: 22px 0 16px; margin: 36px 0; }
  & .rt-post-callout p { font-size: 16.5px; line-height: 1.6; margin: 0 0 12px; }
  & .rt-post-callout p:last-child { margin-bottom: 0; }
  & .rt-post-callout--dark { background: var(--v2-navy); color: #fff; border: 0; padding: 26px 28px 24px; }
  & .rt-post-callout--dark p, & .rt-post-callout--dark li { color: var(--v2-mist) !important; }
  & .rt-post-callout--dark strong { color: #fff !important; }
  & .rt-post-callout--dark .rt-post-callout-label { color: var(--v2-ochre) !important; }
  & .rt-post-callout--dark a { text-decoration-color: var(--v2-ochre); }
  /* Blocks */
  & .rt-post-block { padding: 28px 0 0; }
  /* Wide and dark blocks: children share the page's left edge; paragraphs keep the reading measure */
  & .rt-post-block--wide > *, & .rt-post-block--dark > * { box-sizing: content-box; max-width: calc(var(--v2-max) - 2 * var(--v2-gutter)); margin-left: max(var(--v2-gutter), calc((100% - var(--v2-max)) / 2 + var(--v2-gutter))); margin-right: var(--v2-gutter); padding: 0; }
  & .rt-post-block--wide > p, & .rt-post-block--dark > p { max-width: 62ch; }
  & .rt-post-block--dark { background: var(--v2-navy); color: #fff; padding: clamp(56px, 7vw, 96px) 0; margin: 56px 0; }
  & .rt-post-block--dark h2, & .rt-post-block--dark h3 { color: #fff !important; }
  & .rt-post-block--dark p, & .rt-post-block--dark li { color: var(--v2-mist) !important; }
  & .rt-post-block--dark strong { color: #fff !important; }
  & .rt-post-block--dark .rt-post-eyebrow, & .rt-post-block--dark .rt-post-fact-label { color: var(--v2-ochre) !important; }
  & .rt-post-block--dark a { text-decoration-color: var(--v2-ochre); }
  & .rt-post-block--dark .rt-post-facts, & .rt-post-block--dark .rt-post-fact { border-color: rgba(255, 255, 255, .22); }
  & .rt-post-block--dark .rt-post-fact:nth-child(2n) { border-left-color: rgba(255, 255, 255, .22); }
  /* Fact lists */
  & .rt-post-facts { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--hair); margin-top: 12px; }
  & .rt-post-fact { border-bottom: 1px solid var(--hair); padding: 20px 28px 20px 0; }
  & .rt-post-fact:nth-child(2n) { padding-left: 28px; border-left: 1px solid var(--hair); }
  & .rt-post-fact p { font-size: 16px; line-height: 1.6; margin: 0 0 10px; }
  & .rt-post-fact p:last-child { margin: 0; }
  /* Cards: ruled, not boxed */
  & .rt-post-cards { display: grid; gap: clamp(28px, 3vw, 48px); margin-top: 30px; }
  & .rt-post-cards--two { grid-template-columns: 1fr 1fr; }
  & .rt-post-cards--three { grid-template-columns: repeat(3, 1fr); }
  & .rt-post-card { display: flex; flex-direction: column; background: none; border: 0 !important; border-top: 1px solid var(--v2-rim) !important; box-shadow: 0 -4px 0 -3px var(--v2-rim); padding-top: 18px; color: var(--v2-navy); text-decoration: none; transform: none; }
  & a.rt-post-card:hover { border-color: var(--v2-rim); }
  & a.rt-post-card:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  & .rt-post-card-img { aspect-ratio: 3 / 2; overflow: hidden; margin-bottom: 18px; }
  & .rt-post-card-img img { height: 100%; object-fit: cover; }
  & .rt-post-card-body { padding: 0 !important; display: flex; flex-direction: column; flex: 1; }
  & .rt-post-card h3 { margin: 0 0 10px; font-size: 26px !important; }
  & .rt-post-card p { font-size: 16px; line-height: 1.6; margin-bottom: 12px; }
  & .rt-post-card .rt-post-list { margin: 6px 0 16px; }
  & .rt-post-card .rt-post-list li { font-size: 15.5px; padding: 9px 0; }
  & .rt-post-card .rt-post-btn { margin-top: auto; align-self: flex-start; background: none !important; border: 0 !important; border-bottom: 1px solid currentColor !important; padding: 6px 0 !important; font: 500 16px/1.3 var(--v2-text); }
  /* Steps: a true sequence, numbered */
  & .rt-post-steps { list-style: none; counter-reset: s; margin: 26px 0 30px; padding: 0; }
  & .rt-post-steps li { counter-increment: s; display: grid; grid-template-columns: 3em 1fr; gap: 4px 20px; border-top: 1px solid var(--hair); padding: 18px 0; margin: 0; }
  & .rt-post-steps li:last-child { border-bottom: 1px solid var(--hair); }
  & .rt-post-steps li::before { content: counter(s); grid-row: span 2; font: 400 36px/1 var(--v2-display); letter-spacing: -.03em; color: var(--v2-rim); }
  & .rt-post-step-label { margin: 0 0 4px; }
  & .rt-post-step-body { font: 400 17px/1.65 var(--v2-text); color: var(--v2-navy); }
  /* Tables */
  & .rt-post-tablewrap { overflow-x: auto; margin: 26px 0 30px; }
  & .rt-post-tablewrap table { width: 100%; border-collapse: collapse; font-size: 16px; }
  & .rt-post-tablewrap th, & .rt-post-tablewrap td { text-align: left; padding: 12px 18px 12px 0; border-bottom: 1px solid var(--hair); color: var(--v2-navy); vertical-align: top; }
  & .rt-post-tablewrap th { margin: 0; font-weight: 400; }
  & .rt-post-tablewrap tr:first-child th { border-bottom-color: var(--v2-navy); }
  /* Questions */
  & .rt-post-faq { margin-top: 8px; }
  & .rt-post-faq details { border-top: 1px solid var(--hair); }
  & .rt-post-faq details:last-of-type { border-bottom: 1px solid var(--hair); }
  & .rt-post-faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 18px 0; font: 400 21px/1.3 var(--v2-display); color: var(--v2-navy); }
  & .rt-post-faq summary::-webkit-details-marker { display: none; }
  & .rt-post-plus { font: 400 26px/1 var(--v2-display); color: var(--v2-rim); transition: transform .25s ease; }
  & .rt-post-faq details[open] .rt-post-plus { transform: rotate(45deg); }
  & .rt-post-answer { padding: 0 0 20px; max-width: 62ch; }
  & .rt-post-answer p { font-size: 16.5px; line-height: 1.6; color: var(--v2-ink-2); margin: 0 0 10px; }
  & .rt-post-answer p:last-child { margin: 0; }
  /* Buttons: the text link with the plate rim; ochre only for booking */
  & .rt-post-btn { display: inline-block; margin-top: 14px; padding: 6px 0; background: none; border: 0; border-bottom: 1px solid currentColor; box-shadow: 0 3px 0 -2px currentColor; border-radius: 0; font: 500 16px/1.3 var(--v2-text); color: var(--v2-navy) !important; text-decoration: none !important; cursor: pointer; min-height: 0; transform: none; }
  & .rt-post-btn:hover { color: var(--v2-rim) !important; }
  & .rt-post-block--dark .rt-post-btn, & .rt-post-callout--dark .rt-post-btn { color: #fff !important; }
  & .rt-post-block--dark .rt-post-btn:hover, & .rt-post-callout--dark .rt-post-btn:hover { color: var(--v2-ochre) !important; }
  & .rt-post-btn.jn-book { display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; background: var(--v2-ochre); color: var(--v2-navy) !important; border: 0; box-shadow: none; font: 500 16px/1 var(--v2-text); }
  & .rt-post-btn.jn-book:hover { background: #ecc566; color: var(--v2-navy) !important; }
  /* Classic posts */
  & .jn-classic__links { margin-top: 30px; }
  & .jn-classic__links .v2-link { text-decoration: none; }
}

/* ── The tarte tatin: its own hero, kept, in the house colours ─── */
html body #rt-site.rt-shell #siteWrapper.v2.jn-post--custom .rt-post-hero {
  background: var(--v2-navy) !important; color: #fff; width: 100% !important; max-width: none; min-height: 0;
  padding: calc(var(--jn-head) + 56px) var(--v2-gutter) 48px !important;
  padding-left: max(var(--v2-gutter), calc((100vw - var(--v2-max)) / 2 + var(--v2-gutter))) !important;
  padding-right: max(var(--v2-gutter), calc((100vw - var(--v2-max)) / 2 + var(--v2-gutter))) !important;
  & .rt-post-hero-inner { color: #fff; }
  & .rt-post-hero-inner::after { display: none; }
  & .rt-post-tags { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 16px; }
  & .rt-post-tags span { font: italic 400 19px/1.3 var(--v2-display) !important; color: var(--v2-ochre) !important; letter-spacing: 0; text-transform: none; }
  & .rt-post-tags span + span::before { content: ", "; white-space: pre; margin: 0; color: inherit; }
  & h1 { font-size: clamp(44px, 5.6vw, 92px) !important; line-height: .96 !important; letter-spacing: -.03em; color: #fff !important; max-width: 14ch; margin: 0 0 22px; text-shadow: none; }
  & .rt-post-byline { font: 400 19px/1.55 var(--v2-text) !important; color: var(--v2-mist) !important; max-width: 44ch; }
  & .rt-tt-meta { border-top-color: rgba(255, 255, 255, .25); }
  & .rt-tt-meta div { border-right-color: rgba(255, 255, 255, .25); }
  & .rt-tt-meta dt { color: var(--v2-ochre) !important; font-size: 15px !important; margin: 0 0 4px; }
  & .rt-tt-meta dd { font: 400 24px/1.2 var(--v2-display); color: #fff; letter-spacing: -.02em; }
  & .rt-tt-jump a { color: #fff !important; border-bottom: 1px solid #fff; box-shadow: 0 3px 0 -2px #fff; padding: 6px 0; font: 500 16px/1.3 var(--v2-text); }
  & .rt-tt-jump a:hover { color: var(--v2-ochre) !important; }
  & .rt-tt-print { color: var(--v2-mist) !important; border-bottom-color: rgba(255, 255, 255, .4) !important; font: 500 15px/1.3 var(--v2-text) !important; }
  & .rt-tt-film figcaption { color: var(--v2-mist); }
}
html body #rt-site.rt-shell #siteWrapper.v2.jn-post--custom .rt-post {
  & .rt-tt-card { border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim); border-bottom: 1px solid var(--hair); }
  & .rt-tt-card h2 { font-size: 30px !important; }
  & .rt-tt-ing li { font: 400 18px/1.5 var(--v2-text) !important; border-top: 1px solid var(--hair); }
  & .rt-tt-ing li span { font: 400 19px/1.45 var(--v2-display); color: var(--v2-rim); }
  & .rt-tt-note { color: var(--v2-ink-2) !important; }
  & .rt-tt-clip figcaption { color: var(--v2-ink-2); }
}

/* ── Read next ──────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .jn-related {
  padding: clamp(40px, 5vw, 70px) 0 clamp(80px, 10vw, 150px); margin: 0; background: var(--v2-plate); border-top: 0;
  & .jn-related__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 40px); }
  & li { border-top: 1px solid var(--hair); padding-top: 16px; }
  & a { display: block; color: inherit; text-decoration: none; }
  & .jn-s__pic { aspect-ratio: 3 / 2; overflow: hidden; background: #e7e9ea; margin: 0 0 18px; }
  & .jn-s__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
  & .jn-s__kicker { font: italic 400 16px/1.3 var(--v2-display); color: var(--v2-rim); margin: 0 0 8px; }
  & h3 { font-size: 24px !important; line-height: 1.15 !important; margin: 0; letter-spacing: -.015em; }
  & a:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  & .jn-s__date { font-size: 13.5px; color: var(--v2-ink-2); margin: 10px 0 0; }
  & .v2-actions { margin-top: 36px; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-book .v2-kicker { color: var(--v2-ochre); }

/* ── Phones and small tablets ───────────────────────────────────── */
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2.jn { --jn-head: 76px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front { height: 100svh; min-height: 620px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front .jn-front__plate { top: calc(var(--jn-head) + 18px); }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front h1 { font-size: 64px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front .jn-front__line { font-size: 16px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front .jn-front__lead h2 { font-size: 34px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front .jn-front__lead .v2-phero__lede { font-size: 16.5px; margin-top: 14px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front .v2-actions { margin-top: 20px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-front .jn-front__lead { bottom: 96px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-phero .v2-phero__copy { padding-bottom: 96px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-desks button { padding: 15px 0 13px; font-size: 14px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-desks .jn-desks__count { display: none; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-grid { grid-template-columns: 1fr; gap: 32px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s { grid-column: auto !important; grid-row: auto !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s .jn-s__pic { aspect-ratio: 3 / 2; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s h3 { font-size: 26px !important; line-height: 1.1 !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--big h3, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--wide h3 { font-size: 32px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--wide a { display: block; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--wide .jn-s__pic { margin: 0 0 18px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--small .jn-s__pic, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--small2 .jn-s__pic, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col .jn-s__pic { aspect-ratio: 4 / 5; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col a { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 0 18px; grid-template-rows: auto auto auto 1fr; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col .jn-s__pic { grid-column: 1; grid-row: 1 / 5; margin: 0; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col .jn-s__kicker, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col h3, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col .jn-s__date { grid-column: 2; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--small h3, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--small2 h3, html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--col h3 { font-size: 22px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-s--text h3 { font-size: 24px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-phero { min-height: 88svh; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-phero .v2-phero__copy { padding-top: calc(var(--jn-head) + 60px); }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-phero h1 { font-size: 40px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post p, html body #rt-site.rt-shell #siteWrapper.v2 .rt-post li { font-size: 17px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-cards--two, html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-cards--three { grid-template-columns: 1fr; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-facts { grid-template-columns: 1fr; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-fact:nth-child(2n) { padding-left: 0; border-left: 0; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-fact { padding-right: 0; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-figure--tall { width: 100%; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-band { height: 56vh; }
  html body #rt-site.rt-shell #siteWrapper.v2 .rt-post .rt-post-steps li { grid-template-columns: 2.4em 1fr; gap: 4px 14px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-related .jn-related__list { grid-template-columns: 1fr; gap: 20px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-related a { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 0 18px; grid-template-rows: auto auto 1fr; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-related .jn-s__pic { grid-column: 1; grid-row: 1 / 4; aspect-ratio: 4 / 5; margin: 0; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-related .jn-s__kicker, html body #rt-site.rt-shell #siteWrapper.v2 .jn-related h3, html body #rt-site.rt-shell #siteWrapper.v2 .jn-related .jn-s__date { grid-column: 2; }
  html body #rt-site.rt-shell #siteWrapper.v2 .jn-related h3 { font-size: 21px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2.jn-post--custom .rt-post-hero { padding: calc(var(--jn-head) + 32px) 0 32px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2.jn-post--custom .rt-post-hero .rt-post-hero-inner { padding: 0 var(--v2-gutter) 28px !important; }
  html body #rt-site.rt-shell #siteWrapper.v2.jn-post--custom .rt-post-hero .rt-tt-film figcaption { padding: 0 var(--v2-gutter); }
}
