/* RT redesign v2 (30 Sept 2026). Home first; other pages adopt it section by section.
   Language taken from the house itself: the blue-rimmed RT plate, the chequered Cellar marble,
   the panelled green walls, the brass lanterns, the Solent.
   Scoped under .v2 and one step stronger than rt.css, whose global heading sizes are !important. */

:root {
  --v2-navy: #172e46;      /* Solent: the brand ink */
  --v2-plate: #fbfaf6;     /* the white of the plates, not cream */
  --v2-rim: #2c4f7c;       /* the blue rim on every RT plate */
  --v2-green: #1f3b38;     /* The Cellar's panelled walls */
  --v2-ochre: #dfb34e;     /* the lanterns; booking buttons only */
  --v2-rust: #b4552d;      /* the chequered floor; the chequer edge only */
  --v2-ink-2: #4a5a66;     /* secondary text on white */
  --v2-mist: #cfd9e1;      /* secondary text on navy */
  --v2-display: 'Bodoni Moda', Didot, Georgia, serif;
  --v2-text: 'DM Sans', Arial, sans-serif;
  --v2-gutter: clamp(16px, 4vw, 56px);
  --v2-max: 1320px;
}

/* ── Header over the film (home only) ─────────────────────────────── */
html body.v2-home #rt-site .masthead {
  position: fixed; top: 0; left: 0; right: 0;
  background: linear-gradient(to bottom, rgba(12, 24, 38, .55), rgba(12, 24, 38, 0));
  border-bottom-color: transparent; transition: background-color .35s ease;
}
html body.v2-home #rt-site .masthead.is-solid,
html body.v2-home #rt-site .masthead:has(nav.open) { background: var(--v2-navy); }

/* ── Base ─────────────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 {
  background: var(--v2-plate); color: var(--v2-navy);
  font: 400 17px/1.65 var(--v2-text);
  -webkit-font-smoothing: antialiased;

  & h1, & h2, & h3 { font-family: var(--v2-display) !important; font-weight: 400; letter-spacing: -.02em; }
  & h2 { font-size: clamp(34px, 4.2vw, 60px) !important; line-height: 1.04 !important; margin: 0 0 22px; max-width: 16ch; }
  & p { max-width: 62ch; }
  & p + p { margin-top: 14px; }
  & figure { margin: 0; }
  & picture, & picture img, & figure > img { display: block; width: 100%; height: 100%; object-fit: cover; }
  & :focus-visible { outline: 2px solid var(--v2-ochre); outline-offset: 3px; }
  & .v2-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  & .v2-wrap { max-width: var(--v2-max); margin: 0 auto; padding: 0 var(--v2-gutter); }

  /* Small place names above headings: italic serif, sentence case, never capitals */
  & .v2-kicker { font: italic 400 19px/1.3 var(--v2-display); margin: 0 0 14px; color: var(--v2-rim); letter-spacing: 0; }

  /* Buttons: one filled style (booking), one text link with the plate-rim underline */
  & .v2-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 30px; }
  & .v2-btn {
    display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px;
    background: var(--v2-ochre); color: var(--v2-navy); border: 0; border-radius: 0;
    font: 500 16px/1 var(--v2-text); letter-spacing: .01em; cursor: pointer; text-decoration: none;
    transition: background-color .2s;
  }
  & .v2-btn:hover { background: #ecc566; }
  & .v2-link {
    display: inline-block; padding: 6px 0; background: none; border: 0; cursor: pointer;
    font: 500 16px/1.3 var(--v2-text); color: inherit; text-decoration: none;
    border-bottom: 1px solid currentColor; box-shadow: 0 3px 0 -2px currentColor;  /* the double plate rim */
  }
  & .v2-link:hover { color: var(--v2-rim); }
  & .v2-link--light:hover { color: var(--v2-ochre); }
  & .v2-inline { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
}

/* ── Hero ─────────────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-hero {
  position: relative; height: 100svh; min-height: 560px; max-height: 1000px; overflow: hidden;
  background: var(--v2-navy) url("https://vz-2e37f356-28e.b-cdn.net/bd86018b-630e-4c62-ad42-6e3a2928b76a/thumbnail.jpg") center / cover no-repeat;
  color: #fff;

  & .v2-hero__film { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.4s ease; }
  &.is-playing .v2-hero__film { opacity: 1; }
  & .v2-hero__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 22, 36, .82) 0%, rgba(10, 22, 36, .28) 45%, rgba(10, 22, 36, 0) 70%); }
  & .v2-hero__copy { position: absolute; left: var(--v2-gutter); right: var(--v2-gutter); bottom: clamp(40px, 8vh, 88px); max-width: var(--v2-max); margin: 0 auto; }
  & .v2-hero__kicker { font: italic 400 19px/1.3 var(--v2-display); color: #f1e6cf; margin: 0 0 18px; }
  & h1 {
    font-size: clamp(54px, 9.2vw, 152px) !important; line-height: .92 !important; letter-spacing: -.035em;
    margin: 0; color: #fff; max-width: none;
  }
  & h1 .v2-reveal { display: block; }
  & .v2-hero__toggle {
    position: absolute; right: var(--v2-gutter); bottom: clamp(40px, 8vh, 88px); width: 46px; height: 46px;
    border-radius: 50%; border: 1px solid rgba(255, 255, 255, .6); background: rgba(10, 22, 36, .3);
    color: #fff; display: grid; place-items: center; cursor: pointer;
  }
  & .v2-hero__toggle svg { width: 14px; height: 14px; }
  & .v2-hero__toggle .i-play { display: none; }
  &.is-paused .v2-hero__toggle .i-play { display: block; }
  &.is-paused .v2-hero__toggle .i-pause { display: none; }
}
/* The one orchestrated moment: the headline rises from behind a line as the page opens. */
@media (prefers-reduced-motion: no-preference) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-hero h1 .v2-reveal { clip-path: inset(0 0 100% 0); animation: v2-rise 1.1s cubic-bezier(.2, .7, .1, 1) .25s forwards; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-hero h1 .v2-reveal--2 { animation-delay: .45s; }
  @keyframes v2-rise { to { clip-path: inset(0 0 -10% 0); } }
}

/* ── Intro and proof ──────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-intro {
  padding: clamp(72px, 11vw, 150px) 0 clamp(56px, 8vw, 110px);
  & .v2-intro__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: end; }
  & .v2-statement { font: 400 clamp(30px, 3.5vw, 50px)/1.14 var(--v2-display); letter-spacing: -.015em; max-width: 22ch; margin: 0; }
  & .v2-lede { margin-top: 26px; font-size: 19px; color: var(--v2-ink-2); max-width: 46ch; }
  & .v2-proof { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim); }
  & .v2-proof li { padding: 16px 0; border-bottom: 1px solid rgba(23, 46, 70, .14); font-size: 14px; color: var(--v2-ink-2); line-height: 1.45; }
  & .v2-proof strong { display: block; font: 400 21px/1.2 var(--v2-display); color: var(--v2-navy); margin-bottom: 4px; }
}

/* ── A day on the seafront ───────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-day {
  padding: 0 0 clamp(80px, 10vw, 140px);
  & .v2-day__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-bottom: 40px; }
  & .v2-day__head h2 { margin: 0; }
  & .v2-day__head p { font-size: 15px; color: var(--v2-ink-2); justify-self: end; max-width: 46ch; }
  & .v2-day__rail {
    list-style: none; margin: 0; padding: 0 var(--v2-gutter);
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 18px);
  }
  & .v2-day__slot figure { aspect-ratio: 3 / 4; overflow: hidden; background: #e7e9ea; }
  & .v2-day__time {
    font: 400 clamp(52px, 5.5vw, 100px)/.9 var(--v2-display); letter-spacing: -.045em;
    margin: 18px 0 12px; color: var(--v2-navy); white-space: nowrap; max-width: none;
  }
  & h3 { font-size: 20px !important; line-height: 1.2 !important; margin: 0 0 6px; letter-spacing: 0; }
  & .v2-day__line { font-size: 15px; color: var(--v2-ink-2); margin: 0 0 10px; }
  & .v2-day__slot .v2-link { font-size: 14px; }
}

/* ── The three places ─────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-place {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center;
  & .v2-place__img { overflow: hidden; }
  & .v2-place__text { padding: clamp(56px, 7vw, 110px) var(--v2-gutter); }
  & .v2-note { margin-top: 22px; font-size: 13.5px; opacity: .8; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-place--grill {
  & .v2-place__img { grid-column: 1 / 8; aspect-ratio: 3 / 2; }
  & .v2-place__text { grid-column: 8 / 13; padding-left: clamp(32px, 4vw, 72px); }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-place--thompsons {
  background: var(--v2-navy); color: #fff; margin-top: clamp(64px, 8vw, 120px);
  & .v2-place__text { grid-column: 1 / 7; padding-left: max(var(--v2-gutter), calc((100vw - var(--v2-max)) / 2 + var(--v2-gutter))); }
  & .v2-place__text p { color: var(--v2-mist); }
  & .v2-kicker { color: var(--v2-ochre); }
  & .v2-place__img { grid-column: 7 / 13; align-self: stretch; min-height: 620px; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-place--cellar {
  position: relative; background: var(--v2-green); color: #fff;
  & .v2-place__img { grid-column: 1 / 7; align-self: stretch; min-height: 680px; }
  & .v2-place__text { grid-column: 7 / 13; padding-left: clamp(40px, 5vw, 96px); }
  & .v2-place__text > p { color: #d6e1dc; }
  & .v2-kicker { color: var(--v2-ochre); }
}
/* The Cellar floor, as an edge: rust, white and black squares in a single row */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-place--cellar::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 14px; z-index: 1;
  background:
    linear-gradient(90deg, var(--v2-rust) 0 14px, #f3efe6 14px 28px, #151b1a 28px 42px, #f3efe6 42px 56px) 0 0 / 56px 14px repeat-x;
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-facts {
  margin: 28px 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid rgba(255, 255, 255, .22);
  & div { display: grid; grid-template-columns: 8.5em 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, .22); }
  & dt { font: 400 19px/1.3 var(--v2-display); color: #fff; }
  & dd { margin: 0; color: #d6e1dc; font-size: 15.5px; align-self: center; }
}

/* ── The kitchen ──────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-kitchen {
  padding: clamp(80px, 10vw, 150px) 0;
  & .v2-kitchen__grid {
    display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto auto; gap: clamp(12px, 1.5vw, 22px);
  }
  & .v2-kitchen__text { grid-column: 1 / 6; grid-row: 1 / 3; align-self: center; padding-right: clamp(0px, 3vw, 48px); }
  & .v2-kitchen__text h2 { max-width: 13ch; }
  & .v2-kitchen__text p { color: var(--v2-ink-2); }
  & .v2-kitchen__text .v2-link { margin-top: 26px; }
  & .v2-kitchen__a { grid-column: 6 / 13; grid-row: 1; aspect-ratio: 3 / 2; overflow: hidden; }
  & .v2-kitchen__b { grid-column: 6 / 9; grid-row: 2; aspect-ratio: 4 / 5; overflow: hidden; }
  & .v2-kitchen__c { grid-column: 9 / 13; grid-row: 2; aspect-ratio: 5 / 4; overflow: hidden; align-self: start; }
}

/* ── Getting here ─────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-crossing {
  position: relative; min-height: min(92vh, 860px); display: flex; align-items: flex-end; color: #fff; overflow: hidden;
  & .v2-crossing__img { position: absolute; inset: 0; }
  & .v2-crossing__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 22, 36, .85), rgba(10, 22, 36, .1) 65%); }
  & .v2-crossing__text { position: relative; width: 100%; padding-bottom: clamp(48px, 8vw, 110px); }
  & h2 { font-size: clamp(40px, 6vw, 96px) !important; max-width: 12ch; color: #fff; }
  & p { color: #e3e9ee; font-size: 18px; }
  & .v2-address { font-size: 15px; opacity: .85; margin-top: 18px; }
  & .v2-link { margin-top: 26px; }
}

/* ── Journal ──────────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-journal {
  padding: clamp(80px, 10vw, 140px) 0 clamp(64px, 8vw, 110px);
  & .v2-journal__head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 34px; border-bottom: 1px solid var(--v2-rim); box-shadow: 0 4px 0 -3px var(--v2-rim); padding-bottom: 18px; }
  & .v2-journal__head h2 { margin: 0; }
  & .v2-journal__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 36px); }
  & .v2-journal__list a { display: block; color: inherit; text-decoration: none; }
  & .v2-journal__list img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; margin-bottom: 18px; }
  & .v2-journal__cat { display: block; font: italic 400 16px/1.3 var(--v2-display); color: var(--v2-rim); margin-bottom: 8px; }
  & h3 { font-size: clamp(22px, 1.8vw, 28px) !important; line-height: 1.15 !important; margin: 0 0 10px; }
  & .v2-journal__list a:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  & .v2-journal__date { font-size: 13.5px; color: var(--v2-ink-2); }
}

/* ── Book ─────────────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-book {
  background: var(--v2-navy); color: #fff; padding: clamp(72px, 9vw, 130px) 0;
  & .v2-book__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 100px); align-items: start; }
  & h2 { color: #fff; }
  & p { color: var(--v2-mist); }
  & .v2-book__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .25); }
  & .v2-book__list li { border-bottom: 1px solid rgba(255, 255, 255, .25); }
  & .v2-book__list a, & .v2-book__list button {
    display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; width: 100%; padding: 22px 0; text-align: left;
    background: none; border: 0; color: #fff; cursor: pointer; text-decoration: none; font: inherit;
  }
  & .v2-book__list a::after, & .v2-book__list button::after { content: ""; grid-column: 2; grid-row: 1 / 3; align-self: center; width: 10px; height: 10px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
  & .v2-book__list strong { font: 400 clamp(24px, 2.2vw, 32px)/1.1 var(--v2-display); }
  & .v2-book__list span { grid-column: 1; font-size: 15px; color: var(--v2-mist); }
  & .v2-book__list a:hover strong, & .v2-book__list button:hover strong { color: var(--v2-ochre); }
}

/* ── Phones and small tablets ─────────────────────────────────────── */
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 {
    font-size: 16.5px;
    & .v2-intro .v2-intro__grid, & .v2-day .v2-day__head, & .v2-book .v2-book__grid { grid-template-columns: 1fr; }
    & .v2-day .v2-day__head p { justify-self: start; }
    /* The day becomes a swipe: each hour a card, the next one peeking in */
    & .v2-day .v2-day__rail {
      display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 8px;
      scroll-padding: 0 var(--v2-gutter); -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    & .v2-day .v2-day__rail::-webkit-scrollbar { display: none; }
    & .v2-day .v2-day__slot { flex: 0 0 76vw; scroll-snap-align: start; }
    & .v2-day .v2-day__time { font-size: 72px; }
    & .v2-place { grid-template-columns: 1fr; }
    & .v2-place .v2-place__img, & .v2-place .v2-place__text { grid-column: 1 / -1 !important; }
    & .v2-place .v2-place__text { padding: 44px var(--v2-gutter) 56px !important; }
    & .v2-place--thompsons .v2-place__img { grid-row: 1; min-height: 0; aspect-ratio: 4 / 5; }
    & .v2-place--cellar .v2-place__img { min-height: 0; aspect-ratio: 4 / 5; }
    & .v2-place--grill .v2-place__img { aspect-ratio: 4 / 3; }
    & .v2-kitchen .v2-kitchen__grid { grid-template-columns: 1fr 1fr; }
    & .v2-kitchen .v2-kitchen__text { grid-column: 1 / -1; grid-row: auto; padding: 0 0 12px; }
    & .v2-kitchen .v2-kitchen__a { grid-column: 1 / -1; grid-row: auto; }
    & .v2-kitchen .v2-kitchen__b, & .v2-kitchen .v2-kitchen__c { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 5; }
    & .v2-journal .v2-journal__list { grid-template-columns: 1fr; }
    & .v2-hero .v2-hero__copy { bottom: 110px; }
    & .v2-hero .v2-hero__toggle { bottom: 110px; top: auto; }
    & .v2-actions { gap: 14px 22px; }
  }
}
@media (max-width: 900px) and (min-width: 600px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-journal .v2-journal__list { grid-template-columns: 1fr 1fr; }
}

/* Fixes after the first review */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-day__slot { position: relative; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-place--cellar .v2-place__text > p.v2-kicker { color: var(--v2-ochre); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-journal .v2-journal__list img { height: auto; }
@media (min-width: 901px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-place--thompsons .v2-place__img,
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-place--cellar .v2-place__img { height: clamp(560px, 82vh, 820px); min-height: 0; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-hero h1 { line-height: .96 !important; }
/* Bodoni's ball terminal on the r sits over a full stop and reads as a colon: open the pair a little */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-stop { margin-left: .07em; }

/* The phone booking bar, in the new palette on redesigned pages */
html body.v2-home #rt-site .mobile-book { background: var(--v2-navy); border-top: 0; }
html body.v2-home #rt-site .mobile-book button:first-child { background: var(--v2-ochre); border-color: var(--v2-ochre); color: var(--v2-navy); font-family: var(--v2-text); font-weight: 500; }
html body.v2-home #rt-site .mobile-book > a, html body.v2-home #rt-site .mobile-book > button:not(:first-child) { color: #fff; border: 1px solid rgba(255,255,255,.6); background: transparent; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-journal__head .v2-link { white-space: nowrap; }

/* ════════════════════════════════════════════════════════════════════
   Inner pages (RT Café Grill, Thompson's, The Cellar)
   ════════════════════════════════════════════════════════════════════ */

/* Page hero: a full-bleed photograph with the name set large over it */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero {
  position: relative; height: min(92svh, 920px); min-height: 560px; overflow: hidden; color: #fff; background: var(--v2-navy);
  & .v2-phero__img { position: absolute; inset: 0; }
  & .v2-phero__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 22, 36, .84) 0%, rgba(10, 22, 36, .35) 42%, rgba(10, 22, 36, .05) 72%), linear-gradient(to bottom, rgba(10, 22, 36, .45), rgba(10, 22, 36, 0) 22%); }
  & .v2-phero__copy { position: absolute; left: 0; right: 0; bottom: clamp(40px, 8vh, 90px); }
  & .v2-hero__kicker { font: italic 400 19px/1.3 var(--v2-display); color: #f1e6cf; margin: 0 0 16px; }
  & h1 { font-size: clamp(60px, 10vw, 168px) !important; line-height: .9 !important; letter-spacing: -.04em; color: #fff; margin: 0; max-width: none; }
  & .v2-phero__lede { margin-top: 22px; font-size: 19px; color: #e6ecf1; max-width: 44ch; }
}

/* Split hero: colour on one side, a tall photograph on the other */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: min(96svh, 980px); color: #fff; position: relative;
  & .v2-split__text { display: flex; flex-direction: column; justify-content: flex-end; padding: 150px var(--v2-gutter) clamp(48px, 7vw, 96px); padding-left: max(var(--v2-gutter), calc((100vw - var(--v2-max)) / 2 + var(--v2-gutter))); }
  & .v2-split__img { position: relative; overflow: hidden; }
  & .v2-split__img picture { position: absolute; inset: 0; }
  & .v2-hero__kicker { font: italic 400 19px/1.3 var(--v2-display); color: var(--v2-ochre); margin: 0 0 18px; }
  & h1 { font-size: clamp(60px, 8.4vw, 150px) !important; line-height: .9 !important; letter-spacing: -.04em; color: #fff; margin: 0; max-width: none; }
  & .v2-split__lede { margin-top: 26px; font-size: 19px; color: var(--v2-mist); max-width: 40ch; }
  & .v2-note { margin-top: 20px; font-size: 14px; color: var(--v2-mist); max-width: 46ch; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split--navy { background: var(--v2-navy); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split--green { background: var(--v2-green); grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split--green .v2-split__img { order: -1; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split--green .v2-split__text { padding-left: clamp(40px, 5vw, 96px); padding-right: max(var(--v2-gutter), calc((100vw - var(--v2-max)) / 2 + var(--v2-gutter))); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split--green .v2-split__lede { color: #d6e1dc; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split--green::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14px;
  background: linear-gradient(90deg, var(--v2-rust) 0 14px, #f3efe6 14px 28px, #151b1a 28px 42px, #f3efe6 42px 56px) 0 0 / 56px 14px repeat-x;
}

/* Quick facts under a hero: plain words, separated by the plate rim */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-quick {
  list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0;
  & li { padding: 14px 26px 14px 0; margin-right: 26px; border-right: 1px solid currentColor; font-size: 15px; line-height: 1.3; }
  & li:last-child { border-right: 0; margin-right: 0; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-quickbar { border-bottom: 1px solid rgba(23, 46, 70, .16); color: var(--v2-ink-2); padding: 8px 0; }

/* Section rhythm for inner pages */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec { padding: clamp(80px, 10vw, 150px) 0; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--tight { padding-top: clamp(40px, 5vw, 70px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy { background: var(--v2-navy); color: #fff; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy h2, html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy h3 { color: #fff; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy p { color: var(--v2-mist); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green { background: var(--v2-green); color: #fff; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green h2, html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green h3 { color: #fff; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green p { color: #d6e1dc; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy .v2-kicker, html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green .v2-kicker { color: var(--v2-ochre); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 60px; align-items: end; margin-bottom: clamp(36px, 4vw, 60px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-head h2 { margin: 0; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-head p { margin: 0; color: var(--v2-ink-2); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy .v2-head p { color: var(--v2-mist); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: start; }

/* An index of things to open: menus, rooms, occasions */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-index {
  list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim);
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(32px, 5vw, 80px);
  & li { border-bottom: 1px solid rgba(23, 46, 70, .16); }
  & a { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 4px 20px; padding: 20px 0; color: var(--v2-navy); text-decoration: none; }
  & strong { font: 400 clamp(26px, 2.4vw, 36px)/1.1 var(--v2-display); letter-spacing: -.01em; }
  & span { grid-column: 1; font-size: 14.5px; color: var(--v2-ink-2); }
  & a::after { content: ""; grid-column: 2; grid-row: 1 / 3; align-self: center; width: 10px; height: 10px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
  & a:hover strong { color: var(--v2-rim); }
}

/* Opening hours: the clock again, set large */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-hours {
  margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid rgba(255, 255, 255, .25);
  & div { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid rgba(255, 255, 255, .25); align-items: baseline; }
  & dt { font: 400 clamp(22px, 2vw, 30px)/1.15 var(--v2-display); color: #fff; }
  & dd { margin: 0; color: var(--v2-mist); font-size: 16px; }
  & dd b { display: block; font: 400 clamp(30px, 3vw, 46px)/1 var(--v2-display); letter-spacing: -.03em; color: #fff; margin-bottom: 6px; font-weight: 400; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-seasons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 30px 0 0; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-seasons div { border: 1px solid rgba(255, 255, 255, .3); padding: 18px 20px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-seasons dt { font: italic 400 17px/1.3 var(--v2-display); color: var(--v2-ochre); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-seasons dd { margin: 6px 0 0; font: 400 24px/1.15 var(--v2-display); color: #fff; }

/* Photo pairs */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(12px, 1.5vw, 22px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-pair figure { aspect-ratio: 4 / 5; overflow: hidden; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-pair figure:nth-child(2) { margin-top: clamp(40px, 8vw, 120px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-cap { font-size: 13.5px; color: var(--v2-ink-2); margin-top: 10px; }

/* Two options side by side (garden dining and garden bar; the two rooms) */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-options { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-option {
  & figure { aspect-ratio: 3 / 2; overflow: hidden; margin-bottom: 26px; }
  & .v2-option__size { font: italic 400 18px/1.3 var(--v2-display); color: var(--v2-rim); margin: 0 0 8px; }
  & h3 { font-size: clamp(36px, 3.6vw, 54px) !important; line-height: 1 !important; margin: 0 0 16px; }
  & > p { color: var(--v2-ink-2); }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green .v2-option .v2-option__size { color: var(--v2-ochre); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-spec {
  margin: 22px 0 0; border-top: 1px solid rgba(23, 46, 70, .16);
  & div { display: grid; grid-template-columns: 7.5em 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(23, 46, 70, .16); }
  & dt { font: italic 400 17px/1.4 var(--v2-display); }
  & dd { margin: 0; font-size: 15.5px; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green .v2-spec, html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green .v2-spec div { border-color: rgba(255, 255, 255, .22); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--green .v2-spec dd { color: #d6e1dc; }

/* Steps: a real sequence, so numbered */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-steps {
  list-style: none; margin: 0; padding: 0; counter-reset: step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 44px);
  & li { counter-increment: step; border-top: 1px solid var(--v2-rim); padding-top: 18px; }
  & li::before { content: counter(step); display: block; font: 400 clamp(56px, 5vw, 84px)/.9 var(--v2-display); letter-spacing: -.04em; color: var(--v2-navy); margin-bottom: 18px; }
  & h3 { font-size: 22px !important; line-height: 1.2 !important; margin: 0 0 8px; }
  & p { font-size: 15.5px; color: var(--v2-ink-2); }
}

/* Questions */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-faq {
  border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim);
  & details { border-bottom: 1px solid rgba(23, 46, 70, .16); }
  & summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 22px 0; font: 400 clamp(21px, 1.8vw, 26px)/1.25 var(--v2-display); color: var(--v2-navy); }
  & summary::-webkit-details-marker { display: none; }
  & summary::after { content: ""; width: 16px; height: 16px; background: linear-gradient(currentColor, currentColor) center / 16px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 16px no-repeat; transition: transform .25s ease; }
  & details[open] summary::after { transform: rotate(45deg); }
  & details > div { padding: 0 0 24px; max-width: 64ch; color: var(--v2-ink-2); }
  & details > div p + p { margin-top: 10px; }
}

/* Thompson's: prices set like the menu card */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-prices {
  list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, .3);
  & li { padding: 26px 24px 30px 0; border-right: 1px solid rgba(255, 255, 255, .3); }
  & li + li { padding-left: 24px; }
  & li:last-child { border-right: 0; }
  & .v2-prices__len { font: italic 400 19px/1.3 var(--v2-display); color: var(--v2-ochre); display: block; }
  & .v2-prices__num { display: block; font: 400 clamp(64px, 7vw, 116px)/1 var(--v2-display); letter-spacing: -.045em; color: #fff; margin: 10px 0 4px; }
  & .v2-prices__per { font-size: 14.5px; color: var(--v2-mist); }
}

/* Thompson's: the menu itself */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-menu {
  & .v2-tabs { display: inline-flex; gap: 0; border: 1px solid var(--v2-navy); margin-bottom: 34px; }
  & .v2-tabs button { background: transparent; color: var(--v2-navy); border: 0; padding: 12px 22px; font: 500 15px/1 var(--v2-text); cursor: pointer; }
  & .v2-tabs button[aria-selected="true"] { background: var(--v2-navy); color: #fff; }
  & .v2-course { display: grid; grid-template-columns: minmax(0, 1fr); padding: 18px 0; border-bottom: 1px solid rgba(23, 46, 70, .14); }
  & .v2-course:first-child { border-top: 1px solid rgba(23, 46, 70, .14); }
  & .v2-course h3 { font-size: clamp(22px, 2vw, 28px) !important; line-height: 1.15 !important; margin: 0 0 6px; }
  & .v2-course p { color: var(--v2-ink-2); font-size: 16px; margin: 0; }
  & .v2-menu__date { font: italic 400 19px/1.3 var(--v2-display); color: var(--v2-rim); margin: 0 0 10px; }
}

/* Thompson's: dates as tiles you can book */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates {
  display: grid; gap: clamp(34px, 4vw, 56px);
  & .v2-month h3 { font-size: clamp(28px, 2.6vw, 40px) !important; line-height: 1.1 !important; margin: 0 0 16px; }
  & .v2-month ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  & .v2-month a { display: block; padding: 20px 22px 22px; border: 1px solid var(--v2-navy); color: var(--v2-navy); text-decoration: none; transition: background-color .2s, color .2s; }
  & .v2-month a:hover, & .v2-month a:focus-visible { background: var(--v2-navy); color: #fff; }
  & .v2-date__day { display: block; font: italic 400 17px/1.3 var(--v2-display); }
  & .v2-date__num { display: block; font: 400 clamp(56px, 5vw, 80px)/1 var(--v2-display); letter-spacing: -.04em; margin: 6px 0 10px; }
  & .v2-date__cta { font-size: 14.5px; font-weight: 500; border-bottom: 1px solid currentColor; }
}

/* A timeline (Thompson's story) */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-timeline {
  margin: 30px 0 0; border-top: 1px solid rgba(255, 255, 255, .25);
  & div { display: grid; grid-template-columns: 9em 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .25); align-items: baseline; }
  & dt { font: 400 26px/1.1 var(--v2-display); color: #fff; letter-spacing: -.02em; }
  & dd { margin: 0; color: var(--v2-mist); font-size: 16px; }
}

/* A closing band */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-close {
  text-align: left;
  & h2 { font-size: clamp(44px, 6vw, 96px) !important; max-width: 14ch; }
}

@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 {
    & .v2-split { grid-template-columns: 1fr; min-height: 0; }
    & .v2-split .v2-split__img { order: -1; aspect-ratio: 4 / 5; }
    & .v2-split .v2-split__text { padding: 40px var(--v2-gutter) 56px !important; }
    & .v2-split--navy .v2-split__img { aspect-ratio: 4 / 5; }
    & .v2-head, & .v2-two, & .v2-options, & .v2-index { grid-template-columns: 1fr; }
    & .v2-steps { grid-template-columns: 1fr 1fr; }
    & .v2-prices { grid-template-columns: 1fr; }
    & .v2-prices li { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .3); padding: 20px 0 !important; display: grid; grid-template-columns: 1fr auto; align-items: baseline; }
    & .v2-prices .v2-prices__num { grid-row: 1 / 3; grid-column: 2; font-size: 64px; margin: 0; }
    & .v2-dates .v2-month ul { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
    & .v2-dates .v2-month a { padding: 14px 12px 16px; }
    & .v2-dates .v2-date__num { font-size: 44px; }
    & .v2-dates .v2-date__cta { font-size: 13px; }
    & .v2-hours div, & .v2-timeline div { grid-template-columns: 1fr; gap: 6px; }
    & .v2-seasons { grid-template-columns: 1fr; }
    & .v2-quick li { padding: 10px 16px 10px 0; margin-right: 16px; font-size: 14px; }
    & .v2-pair figure:nth-child(2) { margin-top: 40px; }
    & .v2-phero { height: 88svh; }
  }
}
@media (max-width: 560px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-steps { grid-template-columns: 1fr; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-wide { margin: 0; height: min(78vh, 760px); overflow: hidden; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-note-box { margin-top: 40px; padding: 26px 28px 30px; border: 1px solid rgba(255, 255, 255, .3); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-note-box .v2-kicker { margin-bottom: 8px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-close-band { position: relative; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-close-band h2 { font-size: clamp(44px, 6vw, 96px) !important; margin: 0; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-close-band .v2-two { align-items: end; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-close-band::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 14px;
  background: linear-gradient(90deg, var(--v2-rust) 0 14px, #f3efe6 14px 28px, #151b1a 28px 42px, #f3efe6 42px 56px) 0 0 / 56px 14px repeat-x;
}
/* The booking list, anywhere on navy */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy .v2-book__list {
  list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .25);
  & li { border-bottom: 1px solid rgba(255, 255, 255, .25); }
  & a, & button { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; width: 100%; padding: 22px 0; text-align: left; background: none; border: 0; color: #fff; cursor: pointer; text-decoration: none; font: inherit; }
  & a::after, & button::after { content: ""; grid-column: 2; grid-row: 1 / 3; align-self: center; width: 10px; height: 10px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
  & strong { font: 400 clamp(24px, 2.2vw, 32px)/1.1 var(--v2-display); }
  & span { grid-column: 1; font-size: 15px; color: var(--v2-mist); }
  & a:hover strong, & button:hover strong { color: var(--v2-ochre); }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-faq summary + div .v2-inline { color: var(--v2-navy); }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-wide { height: 56vh; }
}
/* rt.css sets every dl dt to small italic Newsreader with !important; the v2 lists need their own */
html body #rt-site.rt-shell #siteWrapper.v2 dl dt { font-family: var(--v2-display) !important; font-weight: 400 !important; letter-spacing: -.01em !important; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-hours dt { font-size: clamp(20px, 1.8vw, 26px) !important; font-style: normal; line-height: 1.15 !important; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-timeline dt { font-size: 26px !important; font-style: normal; line-height: 1.1 !important; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-facts dt { font-size: 19px !important; font-style: normal; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-seasons dt, html body #rt-site.rt-shell #siteWrapper.v2 .v2-spec dt { font-size: 17px !important; font-style: italic; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split h1 { font-size: clamp(56px, 6.8vw, 124px) !important; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-quick { padding: 0 var(--v2-gutter); max-width: var(--v2-max); margin: 0 auto; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding-top: 6px; padding-bottom: 6px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-quick li { border-right: 0; margin: 0; padding: 7px 0; font-size: 13.5px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month a { padding: 12px 10px 14px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-date__cta { white-space: nowrap; font-size: 12px; }
}
/* The Cellar page: no chequered edge (Tom, 30 Sept) */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-split--green::after,
html body #rt-site.rt-shell #siteWrapper.v2 .v2-close-band::before { content: none; display: none; }

/* ════════════════════════════════════════════════════════════════════
   Architectural pass (30 Sept, evening): title blocks, bays, plans
   ════════════════════════════════════════════════════════════════════ */

/* Title block: a ruled line over a section, like the title strip on a drawing */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-tb {
  display: flex; justify-content: space-between; gap: 20px; align-items: baseline;
  border-top: 1px solid currentColor; box-shadow: 0 -4px 0 -3px currentColor; padding-top: 12px; margin-bottom: clamp(36px, 5vw, 72px);
  font: italic 400 17px/1.3 var(--v2-display); color: var(--v2-rim);
  & span:last-child { text-align: right; color: var(--v2-ink-2); }
}
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-sec--navy, .v2-sec--green) .v2-tb { color: var(--v2-ochre); }
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-sec--navy, .v2-sec--green) .v2-tb span:last-child { color: var(--v2-mist); }

/* Bays: the facts strip under a hero, equal cells between vertical rules */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-quickbar { padding: 0; border-bottom: 1px solid var(--v2-navy); background: var(--v2-plate); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-bays {
  list-style: none; margin: 0 auto; padding: 0 var(--v2-gutter); max-width: var(--v2-max);
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  & li { padding: 22px 22px 24px; border-left: 1px solid rgba(23, 46, 70, .22); }
  & li:first-child { border-left: 0; padding-left: 0; }
  & i { display: block; font: italic 400 15px/1.3 var(--v2-display); color: var(--v2-rim); margin-bottom: 6px; }
  & b { display: block; font: 400 clamp(19px, 1.6vw, 24px)/1.2 var(--v2-display); color: var(--v2-navy); letter-spacing: -.01em; }
}

/* Plates: little plate-rim circles that count the courses */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plates { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 4px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plates i {
  width: 22px; height: 22px; border-radius: 50%; background: #fbfaf6; box-shadow: inset 0 0 0 2px #fbfaf6, inset 0 0 0 3.2px var(--v2-rim);
  transform: scale(.4); opacity: 0; transition: transform .45s cubic-bezier(.3, 1.6, .5, 1), opacity .3s;
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-prices li.is-in .v2-plates i { transform: none; opacity: 1; }
@media (prefers-reduced-motion: reduce) { html body #rt-site.rt-shell #siteWrapper.v2 .v2-plates i { transform: none; opacity: 1; transition: none; } }

/* Dates as place cards: a fold line, and a little tilt when you reach for one */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month a {
  position: relative; background: #fff; border: 1px solid rgba(23, 46, 70, .25); box-shadow: 0 1px 0 rgba(23, 46, 70, .08), 0 14px 26px -18px rgba(23, 46, 70, .45);
  transition: transform .25s cubic-bezier(.3, 1.4, .5, 1), background-color .2s, color .2s;
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month a::before { content: ""; position: absolute; left: 0; right: 0; top: 34%; border-top: 1px dashed rgba(23, 46, 70, .22); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month li:nth-child(1) a:hover { transform: rotate(-2deg) translateY(-4px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month li:nth-child(2) a:hover { transform: rotate(1.5deg) translateY(-4px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month li:nth-child(3) a:hover { transform: rotate(-1deg) translateY(-4px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month a:hover::before, html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-month a:focus-visible::before { border-color: rgba(255, 255, 255, .3); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates .v2-date__day { margin-bottom: 18px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 4vw, 64px); }

/* Table plans: The Cellar rooms drawn from above */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan { margin: 26px 0 6px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan svg { display: block; width: 100%; height: auto; overflow: visible; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan figcaption { font-size: 13.5px; color: var(--v2-ink-2); margin-top: 8px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan .seat { fill: #fbfaf6; stroke: var(--v2-rim); stroke-width: 1.4; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); transform-box: fill-box; transform-origin: center; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan .seat-in { fill: none; stroke: var(--v2-rim); stroke-width: .7; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan .table { fill: var(--v2-navy); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan .wall { fill: none; stroke: var(--v2-navy); stroke-width: 1; stroke-dasharray: 3 4; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-plan .lbl { font: italic 400 13px var(--v2-display); fill: var(--v2-rim); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-option:hover .v2-plan .seat { transform: scale(1.18); }

/* Staggered pair: the second item steps down, like a setback */
@media (min-width: 901px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-options--stagger .v2-option:nth-child(2) { margin-top: clamp(80px, 10vw, 160px); }
}

/* The day bar: opening hours drawn on a clock from 9am to 10pm */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar {
  --h: 14; position: relative; padding-bottom: 34px;
  & .v2-daybar__row { margin-bottom: 30px; }
  & .v2-daybar__row > h3 { font-size: 22px !important; line-height: 1.2 !important; color: #fff; margin: 0 0 12px; }
  & .v2-lane { position: relative; height: 44px; margin-bottom: 8px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 1px, transparent 1px calc(100% / var(--h))); }
  & .v2-bar { position: absolute; top: 6px; bottom: 6px; left: calc((var(--s) - 8) / var(--h) * 100%); width: calc((var(--e) - var(--s)) / var(--h) * 100%); background: var(--c, var(--v2-ochre)); }
  & .v2-bar--bar { --c: rgba(255, 255, 255, .22); }
  & .v2-bar--food { --c: var(--v2-ochre); }
  & .v2-lane span { position: absolute; top: 50%; transform: translateY(-50%); font-size: 14px; color: #fff; white-space: nowrap; padding-left: 10px; left: calc((var(--s) - 8) / var(--h) * 100%); }
  & .v2-lane span.on-bar { color: var(--v2-navy); font-weight: 500; }
  & .v2-lane span.after { left: calc((var(--e) - 8) / var(--h) * 100%); }
  & .v2-axis { position: absolute; left: 0; right: 0; bottom: 0; height: 22px; }
  & .v2-axis b { position: absolute; transform: translateX(-50%); font: 400 15px/1 var(--v2-display); color: var(--v2-mist); font-weight: 400; left: calc((var(--t) - 8) / var(--h) * 100%); }
}

@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-bays { grid-template-columns: 1fr 1fr; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-bays li { padding: 14px 14px 16px; border-left: 1px solid rgba(23, 46, 70, .22); border-top: 1px solid rgba(23, 46, 70, .22); }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-bays li:nth-child(odd) { border-left: 0; padding-left: 0; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-bays li:nth-child(-n+2) { border-top: 0; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-bays b { font-size: 18px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-dates { grid-template-columns: 1fr; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-tb { font-size: 15px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar .v2-lane span { font-size: 12.5px; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-tb { max-width: none; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar .v2-lane span.after { color: #fff; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar { overflow: hidden; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar .v2-lane span.after { max-width: calc(100% - (var(--e) - 8) / var(--h) * 100%); white-space: normal; line-height: 1.15; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar .v2-lane { height: 48px; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar { padding-bottom: 0; overflow: visible; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar .v2-axis { position: relative; height: 22px; margin-top: -14px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar .v2-axis b:first-child { transform: none; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-daybar .v2-axis b:last-child { transform: translateX(-100%); }

/* ════════════════════════════════════════════════════════════════════
   Thompson's v2.1: at the pass, the strip, the courses counted
   ════════════════════════════════════════════════════════════════════ */

/* The hero photograph settles slowly, like the room going quiet before service */
@media (prefers-reduced-motion: no-preference) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero--ken .v2-phero__img img { animation: v2-ken 18s cubic-bezier(.2, .6, .2, 1) forwards; transform-origin: 50% 30%; }
  @keyframes v2-ken { from { transform: scale(1.12); } to { transform: scale(1); } }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero h1 .v2-reveal { display: block; clip-path: inset(0 0 100% 0); animation: v2-rise 1.1s cubic-bezier(.2, .7, .1, 1) .3s forwards; }
}

/* The strip: the facts running past, separated by plate rims. Pauses under the cursor. */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-strip {
  overflow: hidden; background: var(--v2-navy); color: #fff; border-top: 1px solid rgba(255, 255, 255, .15);
  & .v2-strip__track { display: flex; width: max-content; }
  & ul { list-style: none; margin: 0; padding: 0; display: flex; }
  & li { display: flex; align-items: center; gap: 28px; padding: 18px 0 18px 28px; font: italic 400 clamp(19px, 1.7vw, 24px)/1 var(--v2-display); white-space: nowrap; }
  & li i { width: 14px; height: 14px; border-radius: 50%; background: var(--v2-navy); box-shadow: inset 0 0 0 1.5px #fff, inset 0 0 0 3px var(--v2-navy), inset 0 0 0 4px #fff; flex: none; }
}
@media (prefers-reduced-motion: no-preference) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-strip .v2-strip__track { animation: v2-run 48s linear infinite; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-strip:hover .v2-strip__track { animation-play-state: paused; }
  @keyframes v2-run { to { transform: translateX(-50%); } }
}

/* The courses: the heading and counter stay while the menu scrolls past */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-courses {
  & .v2-courses__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 7vw, 120px); align-items: start; }
  & .v2-courses__stick { position: sticky; top: 110px; }
  & .v2-courses__stick > p { color: var(--v2-ink-2); }
  & .v2-tabs { margin: 26px 0 30px; }
  & .v2-courseno { display: flex; align-items: baseline; gap: 14px; margin: 0 0 26px; }
  & .v2-courseno__n { display: inline-block; font: 400 clamp(96px, 11vw, 176px)/.85 var(--v2-display); letter-spacing: -.05em; color: var(--v2-navy); }
  & .v2-courseno__of { font: italic 400 20px/1 var(--v2-display); color: var(--v2-rim); }
  & ol { list-style: none; margin: 0; padding: 0; }
  & .v2-course {
    display: grid; grid-template-columns: 3.2em 1fr; gap: 20px; padding: 28px 0; border-bottom: 1px solid rgba(23, 46, 70, .16);
    opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .1, 1);
  }
  & .v2-course:first-child { border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim); }
  & .v2-course.is-in { opacity: 1; transform: none; }
  & .v2-course__n { font: 400 22px/1.3 var(--v2-display); color: var(--v2-rim); letter-spacing: -.02em; padding-top: 2px; }
  & .v2-course h3 { font-size: clamp(26px, 2.4vw, 36px) !important; line-height: 1.1 !important; margin: 0 0 8px; }
  & .v2-course p { color: var(--v2-ink-2); margin: 0; }
  & .v2-cap { margin-top: 20px; }
}
@media (prefers-reduced-motion: no-preference) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-courseno__n.is-tick { animation: v2-tick .5s cubic-bezier(.2, .7, .1, 1); }
  @keyframes v2-tick { from { clip-path: inset(0 0 100% 0); transform: translateY(.12em); } to { clip-path: inset(0 0 -10% 0); transform: none; } }
}
@media (prefers-reduced-motion: reduce) { html body #rt-site.rt-shell #siteWrapper.v2 .v2-course { opacity: 1; transform: none; transition: none; } }

/* Three plates side by side, full bleed, the middle one set lower */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(8px, 1vw, 16px); padding: 0 clamp(8px, 1vw, 16px) clamp(8px, 1vw, 16px);
  & figure { aspect-ratio: 3 / 4; overflow: hidden; }
  & figure:nth-child(2) { margin-top: clamp(40px, 6vw, 96px); }
  & figure:nth-child(1), & figure:nth-child(3) { margin-bottom: clamp(40px, 6vw, 96px); }
}

/* The story photograph, with room to drift */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-story .v2-story__img { aspect-ratio: 4 / 5; overflow: hidden; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-story .v2-story__img img { will-change: transform; transform: scale(1.12); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-story .v2-tb { color: var(--v2-ochre); margin-bottom: 30px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-story .v2-tb span:last-child { color: var(--v2-mist); }

@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-courses .v2-courses__grid { grid-template-columns: 1fr; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-courses .v2-courses__stick { position: static; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-courses .v2-courseno { display: none; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-courses .v2-course { grid-template-columns: 2.6em 1fr; gap: 12px; padding: 20px 0; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0 6px 6px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio figure:nth-child(2) { margin-top: 24px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio figure:nth-child(1), html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio figure:nth-child(3) { margin-bottom: 24px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-strip li { font-size: 17px; padding: 14px 0 14px 20px; gap: 20px; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-tabs { display: inline-flex; border: 1px solid var(--v2-navy); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-tabs button { background: transparent; color: var(--v2-navy); border: 0; padding: 12px 22px; font: 500 15px/1 var(--v2-text); cursor: pointer; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-tabs button[aria-selected="true"] { background: var(--v2-navy); color: #fff; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero--ken .v2-phero__img img { transform-origin: 55% 60%; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-tb { flex-direction: column; gap: 4px; align-items: flex-start; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-tb span:last-child { text-align: left; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-tb span:first-child { flex: none; }
}

/* ════════════════════════════════════════════════════════════════════
   1 Oct fixes: day strip of four, the phone gap, text on photographs
   ════════════════════════════════════════════════════════════════════ */

/* A day on the seafront: four moments (the garden bar is summer only, so it is not one of them) */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-day .v2-day__rail { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-day .v2-day__time { font-size: clamp(52px, 5.6vw, 96px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-day .v2-day__slot figure { aspect-ratio: 4 / 5; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-day .v2-day__rail { display: flex; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-day .v2-day__time { font-size: 72px; }
}

/* Phones: rt.css pads the page wrapper 90px to clear the fixed booking bar, which left a white band
   above the footer. The footer takes that space instead, in its own navy. */
@media (max-width: 1060px) {
  html body #rt-site.rt-shell #siteWrapper.v2 { padding-bottom: 0 !important; margin-bottom: 0 !important; }
  html body:has(#siteWrapper.v2) #rt-site .site-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
}

/* Text on photographs, everywhere. Three layers, the same on every page:
   1. a shade that darkens the photo where the words sit (left-hand column and the foot),
   2. a soft shadow on the type itself, so a bright patch behind a letter never takes it,
   3. the words kept to a measure that stays inside the shaded area. */
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-hero__shade, .v2-phero__shade, .v2-crossing__shade) {
  background:
    linear-gradient(90deg, rgba(10, 22, 36, .66) 0%, rgba(10, 22, 36, .4) 34%, rgba(10, 22, 36, .08) 62%, rgba(10, 22, 36, 0) 78%),
    linear-gradient(to top, rgba(10, 22, 36, .82) 0%, rgba(10, 22, 36, .42) 34%, rgba(10, 22, 36, 0) 62%),
    linear-gradient(to bottom, rgba(10, 22, 36, .5) 0, rgba(10, 22, 36, 0) 150px) !important;
}
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-hero, .v2-phero, .v2-crossing) :is(h1, h2, .v2-hero__kicker, .v2-kicker, p) {
  text-shadow: 0 1px 2px rgba(10, 22, 36, .35), 0 2px 28px rgba(10, 22, 36, .45);
}
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-hero, .v2-phero, .v2-crossing) :is(.v2-btn, .v2-link) { text-shadow: none; }
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-phero, .v2-crossing) :is(p:not(.v2-hero__kicker):not(.v2-kicker)) { max-width: 46ch; color: #fff !important; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-crossing h2 { max-width: 11ch; }
@media (max-width: 900px) {
  /* On a phone the words run full width, so the shade does too, rising from the foot */
  html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-hero__shade, .v2-phero__shade, .v2-crossing__shade) {
    background:
      linear-gradient(to top, rgba(10, 22, 36, .9) 0%, rgba(10, 22, 36, .72) 38%, rgba(10, 22, 36, .2) 68%, rgba(10, 22, 36, 0) 82%),
      linear-gradient(to bottom, rgba(10, 22, 36, .55) 0, rgba(10, 22, 36, 0) 130px) !important;
  }
}
/* The Journal front carries its title at the top and the lead story at the foot: shade both */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero__shade.jn-front__shade {
  background:
    linear-gradient(90deg, rgba(10, 22, 36, .62) 0%, rgba(10, 22, 36, .34) 36%, rgba(10, 22, 36, 0) 70%),
    linear-gradient(to top, rgba(10, 22, 36, .86) 0%, rgba(10, 22, 36, .42) 38%, rgba(10, 22, 36, 0) 64%),
    linear-gradient(to bottom, rgba(10, 22, 36, .7) 0, rgba(10, 22, 36, .3) 32%, rgba(10, 22, 36, 0) 50%) !important;
}
/* A shade that travels with the words: however tall the text block, the photo darkens behind it */
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-phero__copy, .v2-hero__copy, .v2-crossing__text) { isolation: isolate; }
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-phero__copy, .v2-hero__copy, .v2-crossing__text)::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  left: -30vw; right: 18%; top: -22%; bottom: -40%;
  background: radial-gradient(ellipse 72% 64% at 40% 56%, rgba(10, 22, 36, .6) 0%, rgba(10, 22, 36, .46) 42%, rgba(10, 22, 36, 0) 74%);
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-crossing__text { position: relative; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-phero__copy, .v2-hero__copy, .v2-crossing__text)::before {
    left: -20%; right: -20%; top: -18%; bottom: -30%;
    background: radial-gradient(ellipse 80% 62% at 45% 55%, rgba(10, 22, 36, .62) 0%, rgba(10, 22, 36, .46) 45%, rgba(10, 22, 36, 0) 78%);
  }
}
/* Headlines on photographs keep to the left, shaded half: a narrow measure, so they stack rather than run across a face */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero h1 { max-width: 8.5ch !important; font-size: clamp(56px, 7.6vw, 128px) !important; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero h1 .v2-reveal { display: inline; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero .v2-phero__lede { max-width: 40ch; }
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-phero__copy, .v2-hero__copy, .v2-crossing__text)::before { top: -42%; right: 10%; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero h1 { max-width: 9ch !important; font-size: clamp(48px, 13vw, 64px) !important; }
}
html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-phero__copy, .v2-hero__copy, .v2-crossing__text)::before {
  background: radial-gradient(ellipse 74% 70% at 38% 46%, rgba(10, 22, 36, .66) 0%, rgba(10, 22, 36, .5) 44%, rgba(10, 22, 36, 0) 76%);
}
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-hero__shade, .v2-phero__shade, .v2-crossing__shade) {
    background:
      linear-gradient(to top, rgba(10, 22, 36, .9) 0%, rgba(10, 22, 36, .72) 40%, rgba(10, 22, 36, .38) 70%, rgba(10, 22, 36, .3) 100%),
      linear-gradient(to bottom, rgba(10, 22, 36, .4) 0, rgba(10, 22, 36, 0) 130px) !important;
  }
}
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 :is(.v2-phero__copy, .v2-hero__copy, .v2-crossing__text)::before {
    left: -10%; right: -10%; top: -70px; bottom: -40px;
    background: linear-gradient(to bottom, rgba(10, 22, 36, 0) 0, rgba(10, 22, 36, .5) 70px, rgba(10, 22, 36, .5) 100%);
  }
}
@media (min-width: 901px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-day .v2-day__rail { max-width: var(--v2-max); margin: 0 auto; }
}

/* Photo heroes grow to fit their words (1 Oct). The photo used to be a fixed height with the text
   pinned to its foot, so a long headline or paragraph climbed up under the header on short screens.
   Now the text is in the flow: the hero is at least most of a screen tall, and taller when the words need it,
   and the first line never comes closer than a set distance below the header. */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero {
  height: auto !important; min-height: min(92svh, 920px); max-height: none !important;
  display: flex; flex-direction: column; justify-content: flex-end;
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero .v2-phero__copy {
  position: relative; inset: auto; width: 100%; margin: 0 auto; box-sizing: border-box;
  padding-top: 150px; padding-bottom: clamp(44px, 8vh, 90px);
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero.jn-front { justify-content: space-between; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero.jn-front .jn-front__plate { position: relative; inset: auto; width: 100%; box-sizing: border-box; padding-top: calc(var(--jn-head, 88px) + 48px); margin: 0 auto; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero.jn-front .jn-front__lead { padding-top: 56px; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero { min-height: 88svh; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero .v2-phero__copy { padding-top: 132px; padding-bottom: 44px; }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero.jn-front .jn-front__plate { padding-top: calc(var(--jn-head, 76px) + 40px); }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero.jn-front .jn-front__lead { padding-top: 48px; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero.jn-front { min-height: min(100svh, 1040px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero.jn-front .jn-front__plate { z-index: 2; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero h1 { max-width: 11ch !important; font-size: clamp(54px, 6.8vw, 112px) !important; }
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-phero h1 { max-width: 11ch !important; font-size: clamp(46px, 12.5vw, 60px) !important; }
}

/* Film inside picture frames (6 Oct 2026): plays only while on screen (rt-buzz.js); the poster stands in for reduced motion. */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio figure video,
html body #rt-site.rt-shell #siteWrapper.v2 .v2-pair figure video,
html body #rt-site.rt-shell #siteWrapper.v2 .v2-story .v2-story__img video { width: 100%; height: 100%; object-fit: cover; display: block; background: var(--v2-navy, #172e46); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio--film { background: var(--v2-plate, #fbfaf6); padding-top: clamp(8px, 1vw, 16px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-trio--film .v2-cap { grid-column: 1 / -1; text-align: center; margin: 0 0 clamp(20px, 3vw, 40px); }


/* ── Vignettes: the RT foodles (6 Oct 2026). One engraved drawing to a page, in the colour of the text around it. ──
   Rules: plain grounds only, never over a photograph, never in a row, only where the drawing means something. */
html body #rt-site.rt-shell #siteWrapper.v2 .rt-vig {
  display: block; flex: none; width: min(var(--mw, 320px), calc(var(--h, 160px) * var(--ar, 1))); aspect-ratio: var(--ar, 1);
  background: currentColor; color: var(--v2-navy);
  -webkit-mask: var(--src) center / contain no-repeat; mask: var(--src) center / contain no-repeat;
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-sec--navy .rt-vig { color: var(--v2-ochre); }
@media (forced-colors: active) { html body #rt-site.rt-shell #siteWrapper.v2 .rt-vig { display: none; } }
@media print { html body #rt-site.rt-shell #siteWrapper.v2 .rt-vig { display: none; } }
html body #rt-site.rt-shell #siteWrapper.v2 .rt-404-vig { --h: clamp(92px, 10vw, 132px); --mw: 240px; margin-bottom: 28px; }
html body #rt-site.rt-shell #siteWrapper.v2 .oc-vig { --h: clamp(96px, 10vw, 140px); --mw: 170px; margin-bottom: 26px; }
