/* ============================================================
   DESIGN A, "THE READING ROOM" (L572; ruled by Mike 2026-10-20)
   Home (/), the class (/class) and the terms index (/terms).
   Source mockup: Projects\design-pass-2026-10-19\mockups\a-reading-room\
   with direction B's portrait (img/teaching-portrait.jpg).

   Paper first: the page is a well-kept book. Azure survives as the
   ONE field on the home page, the "Today" band, so the cool sky
   still makes the warm lamps read as light (brand guide section 3,
   amended 2026-10-20). Tokens only, from styles-v2.css; no new hues.
   Brass is for hairlines and frames, never text.
   Loaded after styles-v2.css by index.html, class.html and
   terms/index.html. The markup inside the generated regions comes
   from monitor\premiere-block.py, home_today.py, class_syllabus.py
   and term_pages.py; edit those, not the HTML.
   ============================================================ */

/* ---------- shared pieces ---------- */
.rr-sect {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(1.45rem, 1.2rem + 0.9vw, 1.9rem);
  line-height: 1.3; color: var(--ink); margin-bottom: 0.9rem; text-wrap: balance;
}
.rr-arrow {
  display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px;
  font-family: var(--sans); font-weight: 700; color: var(--sindoor); text-decoration: none;
}
.rr-arrow::after { content: "\2192"; transition: transform 250ms var(--ease); }
.rr-arrow:hover { color: var(--sindoor-deep); }
.rr-arrow:hover::after { transform: translateX(4px); }

/* ---------- HOME: hero on paper ---------- */
.rr-hero { padding-block: clamp(2rem, 1rem + 4vw, 4.5rem) var(--space-md); }
.rr-hero .wrap {
  display: grid;
  grid-template-columns: minmax(0, 10fr) minmax(0, 9fr);
  grid-template-areas: "kicker figure" "head figure" "deck figure" "act figure";
  column-gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}
/* desktop (Mike 2026-10-20, second pass): the two columns align TOP AND BOTTOM. The figure spans every
   row and stretches; its frame is taken out of flow so the photograph is exactly as tall as the text
   column, whatever the latest class title does to it. The source is square, so a taller-than-wide crop
   keeps his full height and never clips his head. */
@media (min-width: 62rem) {
  .rr-hero .wrap { grid-template-columns: minmax(0, 10fr) minmax(0, 9fr); align-items: start; }
  .rr-kicker { align-self: start; }
  /* scoped to the home hero (2026-10-20 pass 2): .rr-frame is reused as the brass frame on interior pages */
  .rr-hero .rr-figure { align-self: stretch; position: relative; max-width: none; min-height: 34rem; }
  .rr-hero .rr-frame { position: absolute; inset: 0; display: flex; }
  .rr-hero .rr-frame img { height: 100%; aspect-ratio: auto; }
}
.rr-kicker {
  grid-area: kicker; align-self: end; margin-bottom: 1.1rem;
  font-family: var(--sans); font-size: 0.85rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--saffron-deep);
}
.rr-hero h1 {
  grid-area: head; font-family: var(--display); font-weight: 400;
  font-size: clamp(2.35rem, 1.2rem + 3.4vw, 3.75rem); line-height: 1.08;
  color: var(--ink); text-wrap: balance;
}
.rr-hero h1 em { font-style: normal; color: var(--sindoor); display: block; }
.rr-deck {
  grid-area: deck; margin-top: 1.5rem; max-width: 34em;
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.3rem); line-height: 1.7; color: var(--body);
}
.rr-actions { grid-area: act; margin-top: 2.1rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }

/* the door, and its length beside it (Mike 2026-10-20: "19 lessons" sits next to the button) */
.rr-begin { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.1rem; }
.rr-cta {
  display: inline-flex; flex-direction: column; gap: 0.15rem; min-height: 44px;
  padding: 1rem 1.6rem 1.05rem; border-radius: 3px; text-decoration: none;
  background: var(--marigold); color: var(--on-marigold);
  box-shadow: 0 1px 0 rgba(36,16,9,.25), 0 14px 30px -18px rgba(140,42,14,.7);
  transition: background-color 200ms var(--ease), transform 200ms var(--ease), box-shadow 200ms var(--ease);
}
.rr-cta strong { font-family: var(--serif); font-weight: 700; font-size: 1.15rem; line-height: 1.3; }
.rr-cta span { font-family: var(--sans); font-size: 0.92rem; }
.rr-cta:hover { background: var(--marigold-bright); color: var(--on-marigold); transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(36,16,9,.25), 0 20px 36px -18px rgba(140,42,14,.75); }
.rr-cta:active { transform: translateY(0); }
.rr-cta:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.rr-length {
  display: flex; align-items: center; gap: 0.65rem;
  font-family: var(--sans); font-size: 1rem; font-weight: 600; color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
.rr-length::before { content: ""; width: 1.4rem; height: 1px; background: var(--brass); flex: none; }
/* desktop: the length sits BESIDE the door, two lines tall like the button, never wrapping beneath it */
@media (min-width: 62rem) {
  .rr-begin { flex-wrap: nowrap; }
  .rr-length { max-width: 10.5em; line-height: 1.35; } /* two lines: "19 lessons," / "about six weeks" */
}

/* the two ruled entries under the door (Mike 2026-10-20, second pass: the class keeps its TITLE, and
   One Term at a Time is back; both set as designed elements, not an afterthought line).
   Entry 1 is written by premiere-block.py (blank when stale), entry 2 by home_today.py.
   Each entry: a small dated label, the title as a serif link, the series quiet beneath. */
.rr-after { list-style: none; margin: 0.6rem 0 0; padding: 0; width: 100%; border-top: 1px solid var(--brass); }
.rr-entry { padding: 0.9rem 0 1rem; border-bottom: 1px solid var(--rule); }
.rr-entry-label { display: block; font-family: var(--sans); font-size: 0.85rem; font-weight: 600; color: var(--saffron-deep); margin-bottom: 0.2rem; }
.rr-entry-label time { white-space: nowrap; }
.rr-entry-title {
  display: block; padding-block: 0.62rem; margin-block: -0.5rem; /* a 44px target that does not grow the rhythm */
  font-family: var(--serif); font-weight: 700; font-size: 1.1rem; line-height: 1.35;
  color: var(--ink); text-decoration: none; text-wrap: pretty;
}
.rr-entry-title::after { content: "\2192"; display: inline-block; margin-left: 0.4rem; color: var(--sindoor); transition: transform 220ms var(--ease); }
/* desktop: the two entries share one ruled band, side by side, so the hero keeps its fold and the
   portrait keeps a portrait's proportions (stacked, they added 230px and cut the photo to a strip) */
@media (min-width: 62rem) {
  .rr-after { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2rem; }
}
.rr-entry-title:hover { color: var(--sindoor); text-decoration: underline; text-decoration-color: var(--marigold); text-underline-offset: 0.15em; }
.rr-entry-title:hover::after { transform: translateX(4px); }
.rr-entry-title:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.rr-entry-series { display: block; font-family: var(--sans); font-size: 0.9rem; color: var(--ink-soft); }

/* the portrait: B's photograph in A's brass frame */
.rr-hero .rr-figure { grid-area: figure; justify-self: end; width: 100%; max-width: 33rem; margin: 0; }
.rr-frame { padding: clamp(0.6rem, 1.2vw, 1rem); border: 1px solid var(--brass); background: var(--paper-raised);
  box-shadow: 0 30px 60px -36px rgba(36,16,9,.55); }
/* Mike 2026-10-20: "a little more centered (shifted slightly to the right)" than mockup B (78%).
   45% puts his face on the frame's centre line at 5/6; 30% does the same at the phone's 4/4.2. */
.rr-hero .rr-frame img { width: 100%; aspect-ratio: 5 / 6; object-fit: cover; object-position: 36% 50%; /* Mike 10-20: a touch right, more of his hands */ }

.rr-kicker, .rr-hero h1, .rr-deck, .rr-actions { animation: rise 800ms var(--ease) both; }
.rr-hero h1 { animation-delay: 80ms; }
.rr-deck { animation-delay: 160ms; }
.rr-actions { animation-delay: 240ms; }
.rr-hero .rr-figure { animation: rr-settle 1100ms var(--ease) both; }
@keyframes rr-settle { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 61.99rem) {
  .rr-hero .wrap { grid-template-columns: 1fr; grid-template-areas: "kicker" "head" "figure" "deck" "act"; }
  .rr-hero .rr-figure { justify-self: stretch; max-width: none; margin-top: 1.5rem; }
  .rr-hero .rr-frame { padding: 0.5rem; }
  .rr-hero .rr-frame img { aspect-ratio: 4 / 4.2; object-position: 30% 50%; }
}
@media (max-width: 30rem) {
  .rr-kicker { font-size: 0.8rem; letter-spacing: 0.1em; }
  .rr-begin { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .rr-length { padding-left: 0.2rem; }
  .rr-length::before { width: 0.9rem; }
}

/* ---------- HOME: the record line ---------- */
.rr-record { padding-bottom: var(--space-md); }
.rr-record ul {
  list-style: none; display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between;
  gap: 0.5rem 2rem; border-block: 1px solid var(--brass); padding: 1.1rem 0;
}
.rr-record li { display: flex; align-items: baseline; gap: 0.6rem; color: var(--ink-soft); font-size: 1rem; }
.rr-record strong {
  font-family: var(--display); font-weight: 400; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  color: var(--ink); font-variant-numeric: tabular-nums; line-height: 1;
}
@media (max-width: 62rem) { .rr-record ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 40rem) {
  .rr-record ul { grid-template-columns: 1fr; }
  .rr-record li { border-bottom: 1px solid var(--rule); padding-bottom: 0.6rem; }
  .rr-record li:last-child { border: 0; padding: 0; }
}

/* ---------- HOME: today, the one azure band (home_today.py) ---------- */
.rr-today {
  position: relative; padding-block: var(--space-md); color: var(--field-ink);
  background: radial-gradient(ellipse 60% 70% at 92% 0%, var(--azure-2), transparent 70%), var(--azure);
}
.rr-today::before { content: ""; position: absolute; inset: 0; background-image: var(--grain); pointer-events: none; }
.rr-today .wrap { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2rem clamp(2rem, 5vw, 5rem); }
.rr-today h2 { font-family: var(--display); font-weight: 400; font-size: var(--text-h2); line-height: 1.1; color: var(--field-bright); }
.rr-today ul { list-style: none; border-top: 1px solid rgba(244,228,198,.28); }
.rr-today li {
  display: grid; grid-template-columns: 12rem 1fr; gap: 0.15rem 1.5rem; align-items: baseline;
  padding: 1.05rem 0; border-bottom: 1px solid rgba(244,228,198,.28);
}
.rr-when { font-family: var(--sans); font-size: 0.95rem; color: var(--field-soft); }
.rr-today li.rr-lead .rr-when { color: var(--field-bright); font-weight: 700; }
.rr-today a {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--field-ink);
  font-weight: 700; font-size: 1.12rem; line-height: 1.35; text-decoration-color: rgba(244,228,198,.45);
}
.rr-today a:hover { color: #fff; text-decoration-color: var(--marigold); }
.rr-today :focus-visible { outline-color: var(--marigold); }
.rr-today .rr-note { grid-column: 2; font-size: 0.98rem; color: var(--field-soft); }
.rr-today li.rr-lead a { font-family: var(--display); font-weight: 400; font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.75rem); line-height: 1.25; }
.rr-dot {
  display: inline-block; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--marigold);
  margin-right: 0.45rem; vertical-align: 0.08em; box-shadow: 0 0 0 0 rgba(231,149,23,.6);
  animation: rr-pulse 2.4s ease-out infinite;
}
@keyframes rr-pulse { 70% { box-shadow: 0 0 0 0.5rem rgba(231,149,23,0); } 100% { box-shadow: 0 0 0 0 rgba(231,149,23,0); } }
@media (max-width: 52rem) {
  .rr-today .wrap { grid-template-columns: 1fr; }
  .rr-today li { grid-template-columns: 1fr; }
  .rr-today .rr-note { grid-column: 1; }
}

/* ---------- HOME: the shelf (premiere-block.py + home_today.py) ---------- */
.rr-shelf { padding-block: var(--space-lg) var(--space-md); }
.rr-shelf .wrap { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 3rem clamp(2rem, 6vw, 6rem); align-items: start; }
.rr-latest .premiere-plate { width: auto; box-shadow: none; overflow: visible; } /* cancel styles-v2 .premiere-plate */
.rr-latest .premiere-plate { display: block; border: 1px solid var(--brass); padding: 0.5rem; background: var(--paper-raised);
  transition: transform 260ms var(--ease), box-shadow 260ms var(--ease); }
.rr-latest .premiere-plate:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.rr-latest .premiere-plate img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.rr-latest h3 { font-family: var(--display); font-weight: 400; font-size: clamp(1.45rem, 1.2rem + 1vw, 2.05rem); line-height: 1.2; margin-top: 1rem; text-wrap: balance; }
.rr-latest h3 a { color: var(--ink); text-decoration: none; }
.rr-latest h3 a:hover { color: var(--sindoor); text-decoration: underline; text-decoration-color: var(--marigold); }
.rr-meta { font-family: var(--sans); font-size: 0.95rem; color: var(--ink-soft); margin-top: 0.6rem; }
.rr-keep ul { list-style: none; border-top: 1px solid var(--brass); }
.rr-keep li { padding: 1.05rem 0; border-bottom: 1px solid var(--rule); }
.rr-keep li a { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--display); font-size: 1.45rem; color: var(--ink); text-decoration: none; line-height: 1.2; }
.rr-keep li a:hover { color: var(--sindoor); }
.rr-from { display: block; font-family: var(--sans); font-size: 0.92rem; font-weight: 600; color: var(--saffron-deep); }
.rr-keep .rr-note { display: block; font-size: 0.98rem; color: var(--ink-soft); }
@media (max-width: 52rem) { .rr-shelf .wrap { grid-template-columns: 1fr; } }

/* ---------- HOME: the teacher, a chronology on paper ---------- */
.rr-teacher { padding-block: var(--space-md) var(--space-lg); }
.rr-teacher-head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 1.5rem clamp(2rem, 6vw, 6rem); align-items: end; padding-bottom: 2.5rem; }
.rr-teacher-head h2 { font-family: var(--display); font-weight: 400; font-size: var(--text-h2); line-height: 1.08; color: var(--ink); text-wrap: balance; }
.rr-teacher-head p { font-size: 1.08rem; max-width: 36em; }
.rr-teacher-head strong { color: var(--ink); }
.rr-journey { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem clamp(1.5rem, 4vw, 3.5rem); border-top: 1px solid var(--brass); margin-bottom: 2rem; }
.rr-journey li { padding-top: 1.4rem; position: relative; }
.rr-journey li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--paper); border: 1px solid var(--brass); }
.rr-year { display: block; font-family: var(--display); font-size: clamp(2.4rem, 1.8rem + 2vw, 3.6rem); line-height: 1; color: var(--sindoor); font-variant-numeric: tabular-nums; }
.rr-place { display: block; font-weight: 700; color: var(--ink); font-size: 1.1rem; margin-top: 0.5rem; }
.rr-journey .rr-note { display: block; color: var(--body); margin-top: 0.25rem; max-width: 22em; }
@media (max-width: 52rem) {
  .rr-teacher-head { grid-template-columns: 1fr; }
  .rr-journey { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid var(--brass); padding-left: 1.4rem; gap: 1.75rem; }
  .rr-journey li { padding-top: 0; }
  .rr-journey li::before { top: 0.9rem; left: calc(-1.4rem - 5px); }
}

/* ---------- HOME: support, recessed paper ---------- */
.rr-support { background: var(--paper-deep); border-top: 1px solid var(--brass); padding-block: var(--space-md); }
.rr-support .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 3rem; }
.rr-support h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(1.45rem, 1.15rem + 1.2vw, 2.15rem); line-height: 1.3; max-width: 24em; color: var(--ink); text-wrap: balance; }

/* ============================================================
   INTERIOR: the paper page head (/class, /terms). Same reading
   room as the home hero: kicker, Rozha head, deck, on paper.
   ============================================================ */
.page-head.rr-paper { position: relative; background: radial-gradient(ellipse 60% 70% at 92% 0%, var(--azure-2), transparent 70%), var(--azure); color: var(--field-ink); border-bottom: 0; }
.page-head.rr-paper::before { content: ""; display: block; position: absolute; inset: 0; background-image: var(--grain); pointer-events: none; }
.rr-paper :focus-visible { outline-color: var(--ink); }
.rr-paper .hero-kicker { color: var(--saffron-deep); font-size: 0.85rem; letter-spacing: 0.14em; }
.rr-paper h1 { color: var(--ink); }
.rr-paper .page-deck { color: var(--body); font-weight: 400; }
.rr-paper .cta-quiet { color: var(--ink-soft); font-size: 1rem; }
.rr-paper .cta-quiet a { color: var(--sindoor); }
.rr-paper .cta-primary { box-shadow: 0 1px 0 rgba(36,16,9,.25), 0 14px 30px -18px rgba(140,42,14,.7); }
.rr-paper .cta-primary :is(strong, span) { opacity: 1; }
.rr-paper .cta-primary span { font-size: 0.9rem; }
.rr-paper .cta-primary:focus-visible { outline-color: var(--ink); }

/* ============================================================
   /class: 356 lessons as collapsible blocks of 50 + a range rail
   (critique #1). class_syllabus.py writes the <details>.
   ============================================================ */
.rr-paper .class-player { outline-color: var(--brass); box-shadow: 0 30px 60px -36px rgba(36,16,9,.55); }
.rr-paper .class-player-cap { color: var(--ink-soft); }
.rr-class-grid { display: grid; gap: 1.5rem 3rem; }
@media (min-width: 62rem) {
  .rr-class-grid { grid-template-columns: minmax(0, 52rem) 12rem; align-items: start; }
  .rr-rail { position: sticky; top: 1.5rem; order: 2; }
  .rr-rail .jump { flex-direction: column; gap: 0; border-top: 1px solid var(--brass); }
  .rr-rail .jump a { border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; padding-inline: 0.2rem; justify-content: space-between; }
  .rr-rail .jump a::after { content: "\2193"; color: var(--saffron-deep); }
}
.rr-rail-h { font-family: var(--sans); font-size: 0.95rem; font-weight: 700; color: var(--ink); margin: 0 0 0.4rem; }
.rr-rail .jump { margin: 0; }
.rr-rail .jump a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; font-size: 0.95rem; color: var(--ink); }
.rr-band { border-bottom: 1px solid var(--rule); scroll-margin-top: 1rem; }
.rr-band > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: 1rem; min-height: 44px;
  padding-block: 0.4rem; border-radius: 2px;
}
.rr-band > summary::-webkit-details-marker { display: none; }
.rr-band > summary h2.band { margin: 0; padding: 0; border: 0; flex: 1; line-height: 1.2; }
.rr-band > summary::after {
  content: "Show"; flex: none; font-family: var(--sans); font-size: 0.92rem; font-weight: 600;
  color: var(--saffron-deep); border: 1px solid var(--rule-strong); border-radius: 2px; padding: 0.35rem 0.75rem;
}
.rr-band[open] > summary::after { content: "Hide"; }
.rr-band > summary:hover::after { background: var(--paper-raised); color: var(--ink); }
.rr-band > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.rr-band:first-of-type { border-top: 2px solid var(--brass); }
.rr-band[open] { padding-bottom: 1rem; }
.rr-band .lessons { margin-top: 0.4rem; }

/* ============================================================
   /terms index: a ruled list, Devanagari as live text (critique #8)
   ============================================================ */
.rr-paper .term-def { color: var(--body); }
.rr-paper .term-def p:first-child { color: var(--ink); }
.rr-paper .term-def .credit { opacity: 1; color: var(--ink-soft); font-size: 0.95rem; }
.term-feature h2 { font-family: var(--display); font-weight: 400; color: var(--ink); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.term-feature video { border: 1px solid var(--brass); padding: 0.5rem; background: var(--paper-raised); border-radius: 0; }
.term-feature .g { color: var(--ink-soft); opacity: 1; }
.term-feature p:last-child a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.rr-ruled ol { gap: 0; border-top: 1px solid var(--brass); }
.rr-ruled li a, .rr-ruled li span.here {
  display: grid; grid-template-columns: 2.5rem minmax(6rem, 9rem) minmax(5rem, 8rem) 1fr; gap: 0.2rem 1rem;
  align-items: baseline; padding: 0.7rem 0.3rem; min-height: 44px;
  border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; text-decoration: none; color: var(--ink);
}
.rr-ruled li a:hover { background: var(--paper-raised); }
.rr-ruled li a:hover strong { color: var(--sindoor); }
.rr-ruled .n { font-family: var(--display); color: var(--saffron-deep); opacity: 1; font-variant-numeric: tabular-nums; }
.rr-ruled strong { font-family: var(--display); font-weight: 400; font-size: 1.2rem; line-height: 1.3; }
.rr-ruled .dev { font-family: var(--serif); font-size: 1.15rem; color: var(--saffron-deep); line-height: 1.4; }
.rr-ruled .g { color: var(--ink-soft); opacity: 1; font-style: italic; }
@media (max-width: 40rem) {
  .rr-ruled li a, .rr-ruled li span.here { grid-template-columns: 2.2rem minmax(0, auto) minmax(0, 1fr); }
  .rr-ruled .g { grid-column: 2 / -1; }
}
/* the Four Paths band under the index: the faded labels measured 4.44:1 and below (opacity on ink-soft) */
.term-join .fp-paths .asp, .term-join .fp-why cite { opacity: 1; color: var(--on-marigold-soft); }
.rr-nowrap { white-space: nowrap; }

/* ============================================================
   INTERIOR FAMILIES (pass 2, 2026-10-20): the term pages, the Four
   Paths lessons, the study guides, the books/library/support heads.
   Same room as the home: paper, one brass hairline per idea, Rozha for
   the head, Martel for the reading, saffron-deep for every small label,
   ink-soft (8.6:1) for every quiet line. No opacity on text, no brass
   text, no boxes where a rule will do. Every target 44px tall.
   ============================================================ */

/* the paper head, shared */
.page-head.rr-paper { padding-block: clamp(2.2rem, 1.2rem + 3vw, 4rem) clamp(1.8rem, 1rem + 2.5vw, 3rem); }
.page-head.rr-paper .hero-kicker::before { background: var(--brass); }
.page-head.rr-paper .hero-kicker { font-variant-numeric: tabular-nums; }
.rr-paper .cta-quiet a:hover { color: var(--sindoor-deep); }
.page-head.rr-paper .hero-kicker a { color: var(--saffron-deep); text-decoration-color: var(--brass); display: inline-block; padding-block: 0.7rem; margin-block: -0.7rem; }
.page-head.rr-paper .hero-kicker a:hover { color: var(--sindoor); }
.page-head.rr-paper h1 { font-size: clamp(2.1rem, 1.3rem + 2.8vw, 3.4rem); line-height: 1.1; }
.page-head.rr-paper h1 .h1-accent, .page-head.rr-paper h1 em { font-style: normal; color: var(--sindoor); }
.page-head.rr-paper .page-deck { font-size: clamp(1.08rem, 1rem + 0.4vw, 1.25rem); line-height: 1.7; color: var(--body); max-width: 36em; }
.page-head.rr-paper .page-deck a { color: var(--sindoor); text-decoration-color: var(--marigold); }
.page-head.rr-paper .page-deck a:hover { color: var(--sindoor-deep); }
.page-head.rr-paper .hero-actions { margin-top: 1.6rem; }
.page-head.rr-paper .btn { min-height: 44px; }
.page-head.rr-paper time { white-space: nowrap; }
/* 2026-10-20 Mike: blue page head (azure, the home's Today recipe) so every interior page opens with colour,
   not cream on cream. Inks below re-point the paper-head colours for the dark field. */
.page-head.rr-paper :focus-visible { outline-color: var(--marigold); }
.page-head.rr-paper .hero-kicker, .page-head.rr-paper .hero-kicker a { color: var(--on-sindoor-gold); } /* WIG 2026-10-20 #2: marigold was 3.05-4.33:1 at 13.6px; pale gold is 5.4:1 at the glow */
.page-head.rr-paper .hero-kicker a:hover { color: var(--field-bright); }
.page-head.rr-paper h1 { color: var(--field-bright); }
.page-head.rr-paper h1 .h1-accent, .page-head.rr-paper h1 em { color: var(--marigold); }
.page-head.rr-paper .page-deck, .page-head.rr-paper p { color: var(--field-ink); }
.page-head.rr-paper a, .page-head.rr-paper .page-deck a, .page-head.rr-paper .cta-quiet a { color: var(--field-bright); text-decoration-color: var(--marigold); }
.page-head.rr-paper a:hover, .page-head.rr-paper .page-deck a:hover, .page-head.rr-paper .cta-quiet a:hover { color: #fff; }
/* WIG 2026-10-20 #1: the marigold button keeps its own dark ink (7.55:1); the cream link rule above made it 2.04:1 */
.page-head.rr-paper :is(.cta-primary, .btn), .page-head.rr-paper :is(.cta-primary, .btn):hover { color: var(--on-marigold); }
.page-head.rr-paper .cta-quiet { color: var(--field-soft); }
.page-head.rr-paper figcaption { color: var(--field-soft); }

/* a ledger that follows a paper head becomes the home's record line (critique #3: no hero-metric strip) */
.rr-paper + .ledger { border-bottom: 0; }
.rr-paper + .ledger .wrap { padding-block: clamp(1.6rem, 3vw, 2.4rem); } /* 2026-10-20: own padding back; the bio's top padding was stacking on it (About gap) */
.rr-paper + .ledger ul {
  display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between;
  gap: 0.5rem 2rem; border-block: 1px solid var(--brass); padding: 1.1rem 0;
}
.rr-paper + .ledger li { display: flex; align-items: baseline; gap: 0.6rem; padding: 0; border: 0; border-image: none; color: var(--ink-soft); font-size: 1rem; }
.rr-paper + .ledger strong { display: inline; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-variant-numeric: tabular-nums; line-height: 1; }
.rr-paper + .ledger span { font-family: var(--serif); font-size: 1rem; color: var(--ink-soft); }
@media (max-width: 62rem) { .rr-paper + .ledger ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 40rem) {
  .rr-paper + .ledger ul { grid-template-columns: 1fr; }
  .rr-paper + .ledger li { border-bottom: 1px solid var(--rule); padding-bottom: 0.6rem; }
  .rr-paper + .ledger li:last-child { border: 0; padding: 0; }
}

/* ---------- /terms/<term>: the word, the film, Swamiji on it, prev/next ---------- */
.term-head.rr-paper .wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.4rem 3rem; }
@media (min-width: 56rem) {
  .term-head.rr-paper .wrap { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "kicker kicker" "word def"; align-items: start; }
  .term-head.rr-paper .hero-kicker { grid-area: kicker; }
  .term-head.rr-paper .term-word { grid-area: word; }
  .term-head.rr-paper .term-def { grid-area: def; margin-top: 0.15rem; border-left: 1px solid var(--brass); padding-left: 1.5rem; } /* word | meaning: the split reads as intended */
}
.term-head.rr-paper h1 { font-size: clamp(2.6rem, 1.4rem + 4.5vw, 4.6rem); line-height: 1.05; margin: 0; overflow-wrap: anywhere; }
.term-head.rr-paper .deva { font-family: var(--serif); font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem); line-height: 1.3; color: var(--saffron-deep); margin: 0.35em 0 0; opacity: 1; }
.term-head.rr-paper .term-def { max-width: 34rem; margin-top: 1.2rem; font-size: 1.12rem; line-height: 1.65; }
.term-head.rr-paper .term-def p { color: var(--body); }
.term-head.rr-paper .term-def p:first-child { font-family: var(--serif); font-weight: 700; font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.65rem); line-height: 1.3; color: var(--ink); margin-bottom: 0.35em; text-wrap: balance; }
.term-head.rr-paper .term-def .credit { font-family: var(--sans); font-size: 0.9rem; color: var(--ink-soft); opacity: 1; margin-top: 0.8em; }
.term-head.rr-paper .term-def p + p { margin-top: 0.3em; }

/* the film comes first: the teacher before our summary (critique #9) */
.term-film { max-width: 60rem; margin: 0 auto; padding: clamp(0.5rem, 1.5vw, 1.5rem) clamp(1.25rem, 4vw, 3rem) 0; }
.term-film .rr-frame { padding: clamp(0.4rem, 1vw, 0.6rem); }
.term-film video { width: 100%; height: auto; display: block; aspect-ratio: 16 / 9; background: var(--field); border-radius: 0; }
.term-film figcaption { font-family: var(--sans); font-size: 0.95rem; line-height: 1.5; color: var(--ink-soft); margin-top: 0.9rem; opacity: 1; }
.term-film figcaption strong { font-weight: 600; color: var(--saffron-deep); }

/* Swamiji on the term: his line is the largest text on the page body; our summary is marked as ours */
.term-on { padding-block: var(--space-md) 0; }
.term-on .wrap { max-width: 76rem; padding: 0 clamp(1.25rem, 4vw, 3rem); }
.term-on .on-grid { display: grid; gap: 1.5rem 3rem; border-top: 1px solid var(--brass); padding-top: 1.6rem; }
@media (min-width: 62rem) { .term-on .on-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: start; } }
.term-on h2 { font-family: var(--display); font-weight: 400; font-size: clamp(1.45rem, 1.2rem + 0.9vw, 1.9rem); line-height: 1.25; color: var(--ink); margin: 0 0 0.6rem; text-wrap: balance; }
.term-on .on-quote { margin: 0; }
.term-on .on-quote blockquote { margin: 0; padding: 0; border: 0; font-family: var(--display); font-style: normal; font-size: clamp(1.45rem, 1.1rem + 1.4vw, 2.1rem); line-height: 1.3; color: var(--ink); text-wrap: balance; }
.term-on .on-quote blockquote p::before { content: "\201C"; color: var(--sindoor); }
.term-on .on-quote blockquote p::after { content: "\201D"; color: var(--sindoor); }
.term-on .on-quote figcaption { font-family: var(--sans); font-size: 0.9rem; font-weight: 600; color: var(--saffron-deep); margin-top: 0.9rem; opacity: 1; }
.term-on .on-label { font-family: var(--sans); font-size: 0.9rem; font-weight: 600; color: var(--saffron-deep); margin: 0 0 0.5rem; opacity: 1; }
.term-on .on-summary { max-width: 38rem; font-size: 1.05rem; line-height: 1.8; color: var(--body); margin: 0; }
.term-on .on-see { margin: 1.2rem 0 0; font-size: 0.98rem; color: var(--ink-soft); }
.term-on .on-see a { display: inline-block; padding-block: 0.55rem; margin-block: -0.4rem; color: var(--sindoor); text-decoration-color: var(--marigold); }
.term-on .on-see a:hover { color: var(--sindoor-deep); }

/* prev / next, two ruled entries like the home's, then the whole series (critique #10) */
.term-pager { max-width: 76rem; margin: 0 auto; padding: var(--space-md) clamp(1.25rem, 4vw, 3rem) 0; }
.term-pager ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--brass); }
@media (min-width: 52rem) { .term-pager ul { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2rem; } }
.term-pager .rr-entry-title::after { content: none; }
.term-pager .rr-entry-prev .rr-entry-title::before { content: "\2190"; display: inline-block; margin-right: 0.45rem; color: var(--sindoor); transition: transform 220ms var(--ease); }
.term-pager .rr-entry-next { text-align: right; }
.term-pager .rr-entry-next .rr-entry-title::after { content: "\2192"; display: inline-block; margin-left: 0.45rem; color: var(--sindoor); transition: transform 220ms var(--ease); }
.term-pager .rr-entry-prev .rr-entry-title:hover::before { transform: translateX(-4px); }
.term-pager .rr-entry-next .rr-entry-title:hover::after { transform: translateX(4px); }
.term-pager .rr-entry-series .dev { color: var(--saffron-deep); margin-left: 0.4rem; }
.term-pager .rr-entry-empty { color: var(--ink-soft); }
.term-pager .term-all { margin: 1.4rem 0 0; display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; align-items: center; }
.term-pager .term-all .rr-arrow { font-size: 1rem; }
.term-pager .term-all span { color: var(--ink-soft); }

/* the Four Paths band on the term pages: tokens, not opacity (A2) */
.term-join .fp-paths .asp, .term-join .fp-why cite { opacity: 1; color: var(--on-marigold-soft); }
.term-join .fp-peek a, .fp-peek a { display: inline-block; padding-block: 0.65rem; margin-block: -0.5rem; }
.term-join h2 { text-wrap: balance; }

/* /terms index: the feature film and the ruled list (critique #8), no opacity anywhere */
.term-feature { max-width: 60rem; margin: 0 auto; padding: clamp(1rem, 2vw, 2rem) clamp(1.25rem, 4vw, 3rem) 0; }
.term-feature .g { opacity: 1; color: var(--ink-soft); }
.term-feature video { width: 100%; height: auto; display: block; aspect-ratio: 16 / 9; background: var(--field); }
.term-series.rr-ruled { max-width: 76rem; margin: var(--space-md) auto 0; padding: 0 clamp(1.25rem, 4vw, 3rem) var(--space-md); }
.term-series ol { list-style: none; margin: 0; padding: 0; }
.term-series .n { opacity: 1; color: var(--saffron-deep); }
.term-series .g { opacity: 1; color: var(--ink-soft); }
.rr-ruled li a:focus-visible, .rr-entry-title:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* ---------- /four-paths/lesson-NN: the lesson, on paper ---------- */
.fp-lesson .page-head.rr-paper { padding-bottom: clamp(4.5rem, 10vw, 7.5rem); }
.fp-lesson .fp-illus-frame { border-color: var(--brass); }
.fp-lesson .fp-body .fp-chapter { color: var(--saffron-deep); }
.fp-lesson .fp-credit { color: var(--ink-soft); }
.fp-lesson .fp-next { background: var(--paper); border-top: 1px solid var(--brass); }
.fp-lesson .fp-next .link-arrow { min-height: 44px; }

/* ---------- /study: the guide, on paper ---------- */
.study-guide { max-width: 44rem; margin: 0 auto; padding: clamp(1.8rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3rem) 2rem; line-height: 1.75; }
.study-guide .wp-block-image, .study-guide figure { margin: 1.8rem 0; }
.study-guide img { border: 1px solid var(--brass); padding: 0.4rem; background: var(--paper-raised); }
.study-guide h2 { font-family: var(--display); font-weight: 400; font-size: clamp(1.45rem, 1.2rem + 0.9vw, 1.9rem); line-height: 1.25; color: var(--ink); margin: 2.4rem 0 0.7rem; text-wrap: balance; }
.study-guide h3 { font-family: var(--serif); font-weight: 700; font-size: 1.12rem; line-height: 1.35; color: var(--ink); margin: 1.8rem 0 0.5rem; }
.study-guide h4 { font-family: var(--serif); font-weight: 700; margin: 1.4rem 0 0.4rem; }
.study-guide p, .study-guide li { color: var(--body); font-size: 1.05rem; }
.study-guide ul, .study-guide ol { padding-left: 1.3rem; margin: 0 0 1.1rem; }
.study-guide li { margin-bottom: 0.35rem; }
.study-guide blockquote { margin: 1.4rem 0; padding: 0 0 0 1.2rem; border-left: 1px solid var(--brass); font-style: italic; color: var(--ink); font-size: 1.1rem; }
.study-guide blockquote p { color: var(--ink); }
.study-guide a { padding-block: 0.4rem; margin-block: -0.4rem; text-decoration-color: var(--marigold); }
.study-guide iframe { aspect-ratio: 16 / 9; width: 100%; height: auto; border: 1px solid var(--brass); padding: 0.4rem; background: var(--paper-raised); }
.study-guide .wp-block-embed__wrapper { margin: 1.6rem 0; }
.study-guide hr { border: 0; border-top: 1px solid var(--rule); margin: 2rem 0; }
.study-guide table { border-collapse: collapse; width: 100%; font-size: 0.98rem; margin: 1.4rem 0; }
.study-guide td, .study-guide th { border-bottom: 1px solid var(--rule); padding: 0.5rem 0.4rem; text-align: left; vertical-align: top; }
.study-head.rr-paper .hero-kicker time { color: var(--ink-soft); font-weight: 400; letter-spacing: 0; text-transform: none; font-size: 0.95rem; }
/* the index: the guides as a ruled list, by month, every row 44px (critique: no gutter, 28px rows) */
.study-index-wrap { padding-block: 0 var(--space-md); }
.study-month { margin-top: 2.2rem; }
.study-month h2 { font-family: var(--display); font-weight: 400; font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.75rem); color: var(--ink); line-height: 1.2; margin: 0 0 0.3rem; }
.study-index { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--brass); }
.study-index li { border-bottom: 1px solid var(--rule); }
.study-index a {
  display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 0.2rem 1.25rem; align-items: baseline;
  min-height: 44px; padding: 0.75rem 0.3rem; text-decoration: none; color: var(--ink);
  font-family: var(--serif); font-weight: 700; font-size: 1.08rem; line-height: 1.35; text-wrap: pretty;
}
.study-index a:hover { background: var(--paper-raised); color: var(--sindoor); }
.study-index a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.study-index time { font-family: var(--sans); font-size: 0.9rem; font-weight: 600; color: var(--saffron-deep); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 40rem) { .study-index a { grid-template-columns: 1fr; gap: 0.1rem; } }

/* ---------- /writings, /teachings, /support, /wellness-es: the paper head; the bodies keep their fittings ---------- */
.rr-paper .give-intro .label, .rr-paper .closing .label { color: var(--saffron-deep); }

/* ---------- family 3 polish (About, Live, Contact, Questions, Support, 404), 2026-10-20 review ---------- */
.page-head.rr-paper:has(+ .ledger) { border-bottom: 0; } /* one rule at the seam, not two */
.page-head.rr-paper .hero-kicker { align-items: flex-start; }
.page-head.rr-paper .hero-kicker::before { margin-top: 0.62em; }
/* readable floor for older readers: no fine print under 0.95rem, no 300-weight italics for provenance */
.rr-paper ~ * .shelf-provenance, .rr-paper ~ * .carries-note, .rr-paper ~ * .give-fineprint, .rr-paper ~ * .form-privacy,
.rr-paper ~ * .reg-meta, .rr-paper ~ * .qa-meta, .rr-paper ~ * .hour-note, .rr-paper ~ * .reading-quiet,
.rr-paper ~ * .qa-status, .rr-paper ~ * .qa-archive-foot, .rr-paper ~ * .expect-foot, .rr-paper ~ * .freq-note,
.rr-paper ~ * .bio-figure figcaption { font-size: 0.95rem; font-weight: 400; }
.rr-paper ~ * .field label { font-size: 0.9rem; letter-spacing: 0.08em; }
/* the body h2s step down from the paper h1 (they still used the old head size) */
.rr-paper ~ * .section-head h2, .rr-paper ~ .band-sindoor .band-head h2, .rr-paper ~ * .teacher-head h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); }
/* brass is a hairline, never a numeral */
.rr-paper ~ * .step-no, .rr-paper ~ * .carries-no, .rr-paper ~ * .visit-register li::before { color: var(--saffron-deep); }
/* the three-up grids on Questions and Support read as ruled entries, not boxes */
.rr-paper ~ * .expect-grid, .rr-paper ~ * .carries-grid { gap: 0; border-top: 1px solid var(--brass); background: none; border-left: 0; border-right: 0; box-shadow: none; }
.rr-paper ~ * .expect-step, .rr-paper ~ * .carries-card { background: none; border: 0; border-bottom: 1px solid var(--rule); box-shadow: none; border-radius: 0; padding: 1.4rem 1.2rem 1.4rem 0; }
@media (min-width: 52rem) { .rr-paper ~ * .expect-step, .rr-paper ~ * .carries-card { border-bottom: 0; border-right: 1px solid var(--rule); } .rr-paper ~ * .expect-step:last-child, .rr-paper ~ * .carries-card:last-child { border-right: 0; } }
/* phones: body type never below 17px on this site (brand principle 5) */
@media (max-width: 40rem) { :root { --text-base: 1.0625rem; } }
/* narrow phones (320-390): the Live place grid, the Contact desk's two-up fields and the long email on About */
.rr-paper ~ * .wrap > *, .rr-paper ~ * .message-desk, .rr-paper ~ * .field-row > * { min-width: 0; }
@media (max-width: 52rem) { .rr-paper ~ .place .wrap { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 30rem) { .rr-paper ~ * .field-row { grid-template-columns: minmax(0, 1fr); } }
.rr-paper ~ * .vc-row dd, .rr-paper ~ * .reg-meta { overflow-wrap: anywhere; }
/* inline links in the routing and register lists: a 44px hit area without changing the line (WIG A11) */
.rr-paper ~ * :is(.routing-list, .register-foot, .qa-archive-foot, .expect-foot, .slip-foot, .desk-note) a { padding-block: 0.6rem; }

/* ---------- family 6 polish (books, library, Spanish), 2026-10-20 review ---------- */
.rr-paper + .ledger strong { white-space: nowrap; }
.rr-paper ~ * .book-meta p, .rr-paper ~ * .ic-meta, .rr-paper ~ * .issue-note, .rr-paper ~ * .sub-price span,
.rr-paper ~ * .lec-meta, .rr-paper ~ * .door p, .rr-paper ~ * .router-foot { font-size: 0.98rem; font-weight: 400; }
.rr-paper ~ * .scripture-count, .rr-paper ~ * .lec-count, .rr-paper ~ * .row-count, .rr-paper ~ * .closing-quiet { font-size: 0.95rem; }
.rr-paper ~ * .label.stamp, .rr-paper ~ * .oc-how, .rr-paper ~ * .issue-line, .rr-paper ~ * .living-mark, .rr-paper ~ * .shelf-tag { font-size: 0.8rem; letter-spacing: 0.1em; }
body:has(.page-head.rr-paper) .letter-fineprint { font-size: 0.95rem; }
.rr-paper ~ * .lec-read, .rr-paper ~ * .lec-clear, .rr-paper ~ * .head-alt a { padding-block: 0.6rem; margin-block: -0.45rem; }
.rr-paper ~ * .door[data-door="3"] { --door-hue: var(--saffron-deep); } /* brass numerals -> saffron */
.rr-paper ~ * .closing .cta-primary span { opacity: 1; }
/* /teachings: "three ways into the library" kept to the subject chips; the series and format columns repeated the register below */
.rr-paper ~ * .axes-grid { display: block; }
.rr-paper ~ * .axes-grid .axis:nth-child(n+2) { display: none; }
.rr-paper ~ * .shelf-lang { font-family: var(--sans); font-size: 0.85rem; font-weight: 500; color: var(--ink-soft); }
/* guidelines review 2026-10-20: tel/mailto links in the register rows are 44px targets; the fine-print floor covers the forms' notes */
.rr-paper ~ * .vc-row dd a, .rr-paper ~ * .step-entry a { display: inline-block; padding-block: 0.6rem; margin-block: -0.6rem; }
.rr-paper ~ * .register-foot, .rr-paper ~ * .routing-foot, .rr-paper ~ * .ask-consent, .rr-paper ~ * .ask-mail-alt, .rr-paper ~ * .ask-coming { font-size: 0.95rem; font-weight: 400; }
.fp-fineprint, .fp-choice-opts label small { font-size: 0.88rem; }

/* ============================================================
   A page's own photograph in the paper head (Mike 2026-10-20: "two hero pics that look the exact
   same... makes it look like the same page over and over"). The home keeps the teaching portrait;
   /start, About, Live and Support each carry a different photograph from the Foundation's collection
   (mala, never a garland), and the frame changes with the page: tall and captioned on About, a wide
   plate of the hall on Live, a small plate on Support.
   ============================================================ */
.page-head.rr-paper.rr-with-figure .wrap { display: grid; grid-template-columns: 1fr; gap: clamp(1.6rem, 4vw, 3rem) clamp(2rem, 5vw, 5rem); align-items: start; }
@media (min-width: 60rem) { .page-head.rr-paper.rr-with-figure .wrap { grid-template-columns: minmax(0, 11fr) minmax(0, 8fr); } }
.rr-head-copy { min-width: 0; }
.rr-head-figure { margin: 0; width: 100%; justify-self: center; animation: rr-settle 1100ms var(--ease) both; }
@media (min-width: 60rem) { .rr-head-figure { justify-self: end; } }
.rr-head-figure .rr-frame img { display: block; width: 100%; object-fit: cover; }
.rr-head-figure figcaption { margin-top: 0.8rem; font-family: var(--sans); font-size: 0.95rem; line-height: 1.5; color: var(--ink-soft); }
.rr-head-figure.rr-fig-tall { max-width: 26rem; }
.rr-head-figure.rr-fig-tall .rr-frame img { aspect-ratio: 4 / 5; object-position: 50% 12%; }
.rr-head-figure.rr-fig-wide { max-width: 34rem; }
.rr-head-figure.rr-fig-wide .rr-frame { padding: clamp(0.8rem, 1.6vw, 1.3rem); }
.rr-head-figure.rr-fig-wide .rr-frame img { aspect-ratio: 4 / 3; object-position: 50% 0%; }
.rr-head-figure.rr-fig-small { max-width: 20rem; }
.rr-head-figure.rr-fig-small .rr-frame { padding: 0.45rem; box-shadow: none; }
.rr-head-figure.rr-fig-small .rr-frame img { aspect-ratio: 4 / 5; object-position: 50% 22%; } /* headroom above the crown; the festival streamers stay, they are the garden's, not a garland */
@media (max-width: 59.99rem) {
  .rr-head-figure.rr-fig-tall, .rr-head-figure.rr-fig-wide { max-width: 30rem; }
  .rr-head-figure.rr-fig-tall .rr-frame img { aspect-ratio: 4 / 4.2; object-position: 50% 10%; }
}
@media (prefers-reduced-motion: reduce) { .rr-head-figure { animation: none; } }

/* 2026-10-20 blue page head, term pages: the term-head rules above set paper inks; re-point them for the azure field */
.term-head.rr-paper .deva { color: var(--marigold); }
.term-head.rr-paper .term-def p { color: var(--field-ink); }
.term-head.rr-paper .term-def p:first-child { color: var(--field-bright); }
.term-head.rr-paper .term-def .credit { color: var(--field-soft); }
.study-head.rr-paper .hero-kicker time { color: var(--field-soft); }
/* 2026-10-20 (Fable photo note): one page carries its photograph on the LEFT so the heads stop repeating one composition. Support: the face beside the ask. */
@media (min-width: 60rem) {
  .page-head.rr-paper.rr-with-figure.rr-fig-first .wrap { grid-template-columns: minmax(0, 9fr) minmax(0, 10fr); }
  .rr-fig-first .rr-head-figure { order: -1; justify-self: start; }
}
.rr-fig-first .rr-head-figure.rr-fig-wide .rr-frame img { object-position: 50% 40%; }
/* 2026-10-20: Questions carries the book its answers come from, not another portrait (imagery restraint) */
.rr-head-figure.rr-fig-book { max-width: 12rem; }
.rr-head-figure.rr-fig-book img { display: block; width: 100%; height: auto; box-shadow: 0 2px 0 rgba(0,0,0,.25), 0 22px 40px -16px rgba(0,0,0,.6); }
.rr-head-figure.rr-fig-book { align-self: center; } /* Mike 10-20: centred on the blue band, not pinned to the top */
@media (min-width: 60rem) { .rr-head-figure.rr-fig-book { justify-self: center; } }
@media (max-width: 59.99rem) { .rr-head-figure.rr-fig-book { max-width: 10rem; justify-self: center; } } /* phone: centred across */
