/* Charlie Jacks - shared styles
   Two dressings of one brand:
   .corp  = leaders, teams, tools, shop (clean, business)
   .parch = the Paradoxes, the book (warm parchment)
*/
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy: #1B2A4A;
  --navy-2: #24365C;
  --gold: #C9A84C;
  --gold-text: #8A6A1E;   /* gold dark enough for text on light grounds */
  --rust: #8B3A2A;
  --cream: #F5EDD8;
  --parchment: #EDE0C4;
  --dark-parchment: #D4C5A0;
  --ivory: #FBF8F1;
  --paper: #FFFFFF;
  --ink: #1F2430;
  --ink-2: #4A5060;
  --line: #DDD8CC;
  --text: #2C1F14;
  --mid: #5C4A38;
  --ok: #3F6E45;
  --warn: #9A6B12;
  --bad: #8B3A2A;
  --display: 'Playfair Display', Georgia, serif;
  --body: 'Source Sans 3', 'Segoe UI', Arial, sans-serif;
  --serif: 'EB Garamond', Georgia, serif;
  --mono: 'Courier Prime', 'Courier New', monospace;
}
html { scroll-behavior: smooth; }
body { font-family: var(--body); font-size: 18px; line-height: 1.6; color: var(--ink); background: var(--ivory); overflow-x: hidden; }
body.parch { font-family: var(--serif); color: var(--text); background: var(--cream); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--rust); }
a:hover { color: var(--navy); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

/* ---------- Nav ---------- */
.site-nav { position: sticky; top: 0; z-index: 50; background: rgba(251,248,241,0.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.parch .site-nav { background: rgba(245,237,216,0.96); border-bottom-color: var(--dark-parchment); }
.nav-inner { max-width: 1180px; margin: 0 auto; padding: 0.9rem 1.5rem; display: flex; align-items: center; gap: 2rem; }
.logo { font-family: var(--display); font-weight: 700; font-size: 1.15rem; color: var(--navy); text-decoration: none; letter-spacing: 0.04em; white-space: nowrap; }
.nav-links { display: flex; gap: 1.6rem; list-style: none; overflow-x: auto; scrollbar-width: none; flex: 1; justify-content: flex-end; }
.nav-links::-webkit-scrollbar { display: none; }
.nav-links a { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); text-decoration: none; white-space: nowrap; padding: 0.4rem 0; display: inline-block; }
.parch .nav-links a { color: var(--mid); }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--navy); border-bottom: 2px solid var(--gold); }

/* ---------- Layout ---------- */
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 1.5rem; }
.narrow { max-width: 760px; margin: 0 auto; padding: 0 1.5rem; }
section { padding: 5rem 0; }
.band-navy { background: var(--navy); color: var(--cream); }
.band-paper { background: var(--paper); }
.band-parch { background: var(--parchment); }
.band-cream { background: var(--cream); }

.label { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--rust); display: block; margin-bottom: 0.9rem; }
.band-navy .label { color: var(--gold); }
.rule { width: 50px; height: 3px; background: var(--gold); margin-bottom: 1.6rem; }

h1, h2, h3 { font-family: var(--display); color: var(--navy); line-height: 1.12; }
h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); font-weight: 900; margin-bottom: 1.2rem; }
h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); font-weight: 900; margin-bottom: 1.2rem; }
h3 { font-size: clamp(1.25rem, 2.6vw, 1.55rem); font-weight: 700; margin-bottom: 0.6rem; }
h1 em, h2 em, h3 em { font-style: italic; color: var(--rust); }
.band-navy h1, .band-navy h2, .band-navy h3 { color: var(--cream); }
.band-navy h1 em, .band-navy h2 em { color: var(--gold); }
p { margin-bottom: 1rem; max-width: 68ch; }
.lede { font-size: 1.22rem; color: var(--ink-2); }
.band-navy .lede, .band-navy p { color: rgba(245,237,216,0.85); }
.small { font-size: 0.92rem; color: var(--ink-2); }
.band-navy .small { color: rgba(245,237,216,0.7); }

/* ---------- Buttons ---------- */
.btn { display: inline-block; cursor: pointer; padding: 0.95rem 1.8rem; min-height: 48px; background: var(--navy); color: var(--cream); border: 2px solid var(--navy); font-family: var(--mono); font-weight: 700; font-size: 0.76rem; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background 0.2s, color 0.2s; }
.btn:hover { background: transparent; color: var(--navy); }
.btn.ghost { background: transparent; color: var(--navy); }
.btn.ghost:hover { background: var(--navy); color: var(--cream); }
.btn.gold { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.btn.gold:hover { background: transparent; color: var(--gold); }
.band-navy .btn.ghost { color: var(--cream); border-color: var(--cream); }
.band-navy .btn.ghost:hover { background: var(--cream); color: var(--navy); }
.btn-row { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.6rem; }

/* ---------- Grids and cards ---------- */
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.card { background: var(--paper); border: 1px solid var(--line); padding: 1.6rem; display: flex; flex-direction: column; gap: 0.5rem; }
.parch .card { background: var(--ivory); border-color: var(--dark-parchment); }
.card p { margin-bottom: 0.4rem; }
.card .card-foot { margin-top: auto; padding-top: 0.8rem; }
a.card { text-decoration: none; color: inherit; transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s; }
a.card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(27,42,74,0.1); border-color: var(--navy); }
.card-dark { background: var(--navy); border-color: var(--navy); color: var(--cream); }
.card-dark h3 { color: var(--cream); }
.card-dark p { color: rgba(245,237,216,0.85); }
.tag { display: inline-block; font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.25rem 0.55rem; border: 1px solid var(--gold); color: var(--gold-text); align-self: flex-start; }
.card-dark .tag, .band-navy .tag { color: var(--gold); }
.price { font-family: var(--display); font-weight: 900; font-size: 1.7rem; color: var(--navy); }

/* Fact callout */
.fact { display: flex; gap: 1.2rem; align-items: flex-start; border-left: 4px solid var(--gold); background: var(--paper); padding: 1.1rem 1.3rem; }
.fact .num { font-family: var(--display); font-weight: 900; font-size: 2.6rem; line-height: 1; color: var(--rust); flex-shrink: 0; }
.fact p { margin: 0; font-size: 1rem; }
.fact .src { display: block; font-size: 0.8rem; color: var(--ink-2); margin-top: 0.3rem; }

/* Two seats */
.seats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 2px solid var(--navy); }
.seat { padding: 1.6rem; }
.seat + .seat { border-left: 2px solid var(--navy); }
.seat.boss { background: var(--paper); }
.seat.team { background: var(--parchment); }

/* Quote */
.pull { font-family: var(--display); font-style: italic; font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.3; color: var(--navy); max-width: 30ch; }
.band-navy .pull { color: var(--cream); }

/* Hero */
.hero { padding: 5.5rem 0 4.5rem; }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 3rem; align-items: center; }
.hero-art { border: 1px solid var(--line); box-shadow: 14px 14px 0 rgba(201,168,76,0.25); }

/* Signup */
.signup-frame { max-width: 480px; border: 2px solid var(--navy); background: var(--cream); overflow: hidden; }
.signup-frame iframe { display: block; width: 100%; height: 220px; border: 0; background: var(--cream); }

/* Footer */
.site-foot { background: var(--navy); color: rgba(245,237,216,0.6); padding: 3rem 0 2.5rem; font-size: 0.92rem; }
.site-foot .foot-grid { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; }
.site-foot a { color: var(--gold); text-decoration: none; }
.site-foot a:hover { color: var(--cream); }
.site-foot ul { list-style: none; display: flex; flex-direction: column; gap: 0.35rem; }
.site-foot .motto { font-family: var(--display); font-style: italic; color: var(--cream); font-size: 1.1rem; }

/* Tools: shared */
.tool-head { padding: 3.5rem 0 1.5rem; }
.panel { background: var(--paper); border: 1px solid var(--line); padding: 2rem; }
.q-text { font-family: var(--display); font-weight: 700; font-size: clamp(1.25rem, 3vw, 1.6rem); color: var(--navy); line-height: 1.25; margin-bottom: 1.2rem; }
.opts { display: grid; gap: 0.6rem; }
.opt { text-align: left; cursor: pointer; width: 100%; min-height: 48px; font-family: var(--body); font-size: 1.05rem; color: var(--ink); background: var(--ivory); border: 1px solid var(--line); padding: 0.85rem 1.1rem; transition: border-color 0.15s, background 0.15s; }
.opt:hover, .opt:focus-visible { border-color: var(--navy); }
.opt.on { background: var(--navy); color: var(--cream); border-color: var(--navy); }
.scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; }
.scale .opt { text-align: center; font-size: 0.92rem; padding: 0.7rem 0.4rem; }
.progress { display: flex; gap: 5px; margin-bottom: 1.8rem; }
.progress span { flex: 1; height: 4px; background: var(--line); }
.progress span.done { background: var(--gold); }
.back { margin-top: 1.4rem; background: none; border: 0; cursor: pointer; font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); min-height: 44px; }
.back:hover { color: var(--navy); }
.note { font-size: 0.9rem; color: var(--ink-2); border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1.5rem; }
label.field { display: flex; flex-direction: column; gap: 0.35rem; font-weight: 600; color: var(--navy); font-size: 0.98rem; }
label.field span.hint { font-weight: 400; color: var(--ink-2); font-size: 0.88rem; }
input[type="text"], input[type="number"], textarea, select { font-family: var(--body); font-size: 1rem; color: var(--ink); border: 1px solid #BDB6A6; background: var(--paper); padding: 0.7rem 0.8rem; min-height: 46px; width: 100%; }
textarea { min-height: 84px; resize: vertical; }
input:focus, textarea:focus, select:focus { outline: 3px solid var(--gold); outline-offset: 0; border-color: var(--navy); }
.copied { font-family: var(--mono); font-size: 0.75rem; color: var(--rust); min-height: 1.2em; margin-top: 0.6rem; }
.fade { animation: fadeUp 0.35s ease both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .fade { animation: none; } html { scroll-behavior: auto; } }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .hero-grid, .grid-3 { grid-template-columns: minmax(0,1fr); }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-inner { gap: 1rem; }
}
@media (max-width: 680px) {
  body { font-size: 17px; }
  section { padding: 3.5rem 0; }
  .wrap, .narrow { padding: 0 1rem; }
  .nav-inner { flex-direction: column; align-items: flex-start; gap: 0.3rem; padding: 0.7rem 1rem; }
  .nav-links { justify-content: flex-start; width: 100%; gap: 1.2rem; }
  .grid-2, .grid-4, .seats { grid-template-columns: minmax(0,1fr); }
  .seat + .seat { border-left: 0; border-top: 2px solid var(--navy); }
  .panel { padding: 1.3rem; }
  .scale { grid-template-columns: 1fr; }
  .scale .opt { text-align: left; }
  .btn { width: 100%; text-align: center; }
  .fact { flex-direction: column; gap: 0.4rem; }
  .hero { padding: 3.5rem 0 3rem; }
}

@media print {
  .site-nav, .site-foot, .no-print { display: none !important; }
  body { background: #fff; }
  .panel { border: 0; padding: 0; }
}
@media (min-width: 961px) { .sticky-desk { position: sticky; top: 90px; } }
/* Light cards sitting on the navy band keep dark text */
.band-navy .card:not(.card-dark) h3 { color: var(--navy); }
.band-navy .card:not(.card-dark) p, .band-navy .card:not(.card-dark) .small { color: var(--ink-2); }
.band-navy .card:not(.card-dark) .tag { color: var(--gold-text); }
.card-dark .small { color: rgba(245,237,216,0.75); }
.card-dark .label { color: var(--gold); }

/* ---------- Round 2: bigger small text, mobile menu, lightbox, way-finding ---------- */
.small { font-size: 1rem; }
.tag { font-size: 0.72rem; }
.label { font-size: 0.76rem; }
.fact p { font-size: 1.05rem; }
.fact .src { font-size: 0.86rem; }
.card p.small, .card .small { font-size: 1rem; line-height: 1.5; }
.nav-links a { font-size: 0.78rem; }
.menu-btn { display: none; margin-left: auto; font-family: var(--mono); font-weight: 700; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; background: var(--navy); color: var(--cream); border: 0; padding: 0.7rem 1rem; min-height: 44px; cursor: pointer; }
.who-for { display: inline-block; background: var(--parchment); color: var(--navy); font-weight: 600; font-size: 1rem; padding: 0.45rem 0.8rem; margin: 0.4rem 0 0.8rem; }
.crumb { font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.08em; margin-bottom: 1.2rem; display: inline-block; }
.next-steps { border-top: 1px solid var(--line); }
img.zoomable { cursor: zoom-in; }
img.zoomable:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.zoom-hint { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.08em; color: var(--ink-2); }
.lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(27,42,74,0.94); display: none; align-items: center; justify-content: center; padding: 3.5rem 1rem 1rem; }
.lightbox.open { display: flex; }
.lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 10px 40px rgba(0,0,0,0.4); }
.lb-close { position: absolute; top: 0.8rem; right: 0.8rem; background: var(--cream); color: var(--navy); border: 0; font-family: var(--mono); font-weight: 700; font-size: 0.85rem; padding: 0.7rem 1rem; min-height: 44px; cursor: pointer; }
@media (max-width: 680px) {
  .nav-inner { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .menu-btn { display: inline-block; }
  .nav-links { display: none; flex-direction: column; gap: 0; width: 100%; overflow: visible; padding: 0.5rem 0 0.3rem; }
  .nav-links.open { display: flex; }
  .nav-links a { display: block; padding: 0.85rem 0; font-size: 0.9rem; border-bottom: 1px solid var(--line); width: 100%; }
  .nav-links a[aria-current="page"] { border-bottom: 2px solid var(--gold); }
}

/* Table Talk cards (groups page) */
.talk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1.4rem; margin-top: 1.6rem; }
.talk-card { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--gold); padding: 1.6rem; display: flex; flex-direction: column; }
.talk-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.talk-time { font-family: 'Courier Prime', monospace; font-size: 0.85rem; color: var(--rust); }
.talk-card h3 { margin: 0.5rem 0 0.8rem; font-size: 1.5rem; }
.talk-scene { font-family: 'EB Garamond', serif; font-size: 1.15rem; line-height: 1.55; font-style: italic; }
.talk-q-label { font-family: 'Courier Prime', monospace; font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--navy); margin: 0.6rem 0 0.3rem; }
.talk-qs { padding-left: 1.3rem; display: grid; gap: 0.5rem; margin: 0 0 1rem; }
.talk-take { background: var(--ivory); border-left: 3px solid var(--rust); padding: 0.7rem 0.9rem; font-size: 0.98rem; }
.talk-foot { margin-top: auto; padding-top: 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; font-family: 'Courier Prime', monospace; font-size: 0.9rem; color: var(--navy); }
.talk-wide { grid-column: 1 / -1; }
.cast-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1.2rem; margin-bottom: 1rem; }
.cast-tile { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 0.9rem; align-items: start; }
.cast-tile img { width: 96px; height: auto; border: 1px solid var(--line); }
.cast-tile h4 { margin: 0 0 0.2rem; font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--navy); }
.cast-tile p { margin: 0 0 0.35rem; font-size: 0.95rem; line-height: 1.45; }
.cast-tile .cast-who { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.05rem; }
@media print {
  body.printing-one .site-nav, body.printing-one .site-foot, body.printing-one main > section:not(.has-print),
  body.printing-one .has-print .wrap > :not(.talk-grid), body.printing-one .talk-grid > :not(.print-one), body.printing-one .talk-print { display: none !important; }
  body.printing-one .has-print { padding: 0; background: #fff; }
  body.printing-one .talk-grid { display: block; margin: 0; }
  body.printing-one .print-one { border: 2px solid #1B2A4A; border-top: 8px solid #C9A84C; font-size: 14pt; padding: 1.2cm; }
  body.printing-one #cast-sheet.print-one { font-size: 10pt; padding: 0.8cm; }
  body.printing-one #cast-sheet .cast-grid { grid-template-columns: 1fr 1fr; gap: 0.5cm; }
  body.printing-one #cast-sheet .cast-tile { grid-template-columns: 2.6cm 1fr; break-inside: avoid; }
  body.printing-one #cast-sheet .cast-tile img { width: 2.6cm; }
  body.printing-one #cast-sheet .cast-tile p { font-size: 9pt; }
}
#cast .talk-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.talk-host { font-size: 0.92rem; color: var(--navy); border-top: 1px dashed var(--line); padding-top: 0.6rem; margin-top: 0.4rem; }
.talk-rule { font-weight: 700; color: var(--rust); font-size: 0.98rem; }
@media print {
  body.print-plain #cast-sheet .cast-tile img { display: none; }
  body.print-plain #cast-sheet .cast-tile { grid-template-columns: 1fr; }
  body.print-plain #cast-sheet .cast-tile p { font-size: 11.5pt; }
  body.print-plain #cast-sheet .cast-tile h4 { font-size: 15pt; }
  body.printing-one .talk-host { color: #000; }
}
.cast-note { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.1rem; margin: -0.2rem 0 1.1rem; color: var(--navy); }
.talk-gr { font-family: 'Courier Prime', monospace; font-size: 0.8rem; letter-spacing: 0.04em; color: var(--rust); margin: 0.6rem 0 0; }
.cast-tag { display: block; font-family: 'Courier Prime', monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rust); font-weight: 400; margin-top: 0.1rem; }
.subtitle { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.15rem, 2.4vw, 1.4rem); color: var(--navy); margin: 0.4rem 0 0.8rem; }
.talk-hot { border-top-color: var(--rust); }
.shop-img { display: block; width: calc(100% + 4rem); max-width: none; margin: -2rem -2rem 1.3rem; aspect-ratio: 3 / 2; object-fit: cover; }

/* ---------- Character plates: specimen component ---------- */
.specimen { margin: 0; }
.plate-btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; text-align: left; }
.plate-btn .crop { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #F5EDD8; box-shadow: 0 0 0 4px var(--cream), 0 0 0 5px #b9a27a; }
.plate-btn.shape-sq .crop { aspect-ratio: 1 / 1; }
.plate-btn img { display: block; width: 100%; height: 100%; object-fit: cover; }
.plate-btn .pl { position: absolute; top: 8px; left: 8px; font-family: 'Courier Prime', monospace; font-size: 0.72rem; letter-spacing: 0.12em; background: rgba(245,237,216,0.9); color: var(--navy); padding: 2px 6px; }
.plate-btn .open { position: absolute; right: 6px; bottom: 6px; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: var(--cream); display: grid; place-items: center; box-shadow: 0 2px 6px rgba(0,0,0,0.25); }
.plate-btn:hover .open { background: var(--rust); }
.plate-btn:focus-visible { outline: 3px solid var(--navy); outline-offset: 6px; }
.specimen figcaption { margin-top: 0.75rem; display: grid; gap: 0.1rem; }
.specimen .cap-name { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.15rem; color: var(--navy); }
.specimen .cap-desc { font-family: 'EB Garamond', serif; font-style: italic; color: var(--mid); }
.specimen .cap-k { font-family: 'Courier Prime', monospace; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rust); margin-top: 0.35rem; }
.specimen .cap-v { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.05rem; line-height: 1.3; color: var(--ink); }
.plate-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; align-items: start; }
.plate-row .specimen:nth-child(2) { margin-top: 1.6rem; }
.plate-hint { font-family: 'Courier Prime', monospace; font-size: 0.82rem; color: var(--mid); margin-top: 1rem; grid-column: 1 / -1; }
@media (max-width: 760px) {
  .plate-btn .open { width: 28px; height: 28px; }
  .plate-row { gap: 0.6rem; }
  .plate-row .specimen:nth-child(2) { margin-top: 0; }
  .plate-row .cap-desc { display: none; }
  .plate-row .cap-v { font-size: 0.95rem; }
}

/* ---------- Plate viewer ---------- */
dialog.viewer { width: min(96vw, 900px); max-height: 94vh; padding: 0; border: 0; background: #1B2A4A; color: var(--cream); display: none; flex-direction: column; }
dialog.viewer[open] { display: flex; }
dialog.viewer::backdrop { background: rgba(10,15,30,0.82); }
.v-bar { display: flex; gap: 0.4rem; padding: 0.6rem; align-items: center; }
.v-spacer { flex: 1; }
.v-btn { font-family: 'Courier Prime', monospace; font-size: 0.95rem; min-width: 44px; min-height: 44px; padding: 0 0.8rem; background: transparent; color: var(--cream); border: 1px solid rgba(245,237,216,0.4); cursor: pointer; }
.v-btn:hover, .v-btn:focus-visible { background: rgba(245,237,216,0.12); outline: 2px solid var(--gold); outline-offset: 1px; }
.v-stage { overflow: auto; flex: 1 1 auto; min-height: 0; background: #F5EDD8; touch-action: pan-x pan-y pinch-zoom; max-height: 70vh; }
.v-img { display: block; width: 100%; height: auto; margin: 0 auto; }
dialog.viewer:not(.no-motion) .v-img { transition: width 0.2s ease; }
.v-cap { padding: 0.8rem 1rem 1rem; font-size: 0.95rem; }
.v-cap p { margin: 0 0 0.3rem; color: var(--cream); }
.v-title { font-family: 'Playfair Display', serif; font-size: 1.15rem; }
.v-title em { font-family: 'EB Garamond', serif; color: var(--gold); }
.v-num { font-family: 'Courier Prime', monospace; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-right: 0.4rem; }
.v-desc { font-family: 'EB Garamond', serif; font-style: italic; }
.v-cap details { margin-top: 0.4rem; }
.v-cap summary { cursor: pointer; font-family: 'Courier Prime', monospace; font-size: 0.85rem; color: var(--gold); }
.v-cap ul { margin: 0.5rem 0; padding-left: 1.1rem; }
.v-cap dl { display: grid; grid-template-columns: 6rem minmax(0,1fr); gap: 0.2rem 0.6rem; margin: 0.4rem 0 0; }
.v-cap dt { color: var(--gold); }
.v-cap dd { margin: 0; }
@media (prefers-reduced-motion: reduce) { .v-img { transition: none !important; } }
/* Home hero with plates */
.hero-home { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); grid-template-areas: "top art" "bottom art"; column-gap: 3rem; row-gap: 0.4rem; align-items: start; }
.hh-top { grid-area: top; }
.hh-art { grid-area: art; align-self: center; }
.hh-bottom { grid-area: bottom; }
@media (max-width: 860px) {
  .hero-home { grid-template-columns: minmax(0, 1fr); grid-template-areas: "top" "bottom" "art"; row-gap: 1.4rem; }
}
/* Cast sheet thumbnails as plate buttons */
.cast-tile { grid-template-columns: 112px minmax(0, 1fr); }
.cast-tile .plate-btn img { width: 100%; height: 100%; border: 0; }
.cast-tile .plate-btn .pl { font-size: 0.6rem; top: 4px; left: 4px; padding: 1px 4px; }
.cast-tile .plate-btn .open { width: 26px; height: 26px; right: 4px; bottom: 4px; }
@media print {
  body.printing-one #cast-sheet .cast-tile { grid-template-columns: 2.6cm 1fr; }
  body.printing-one .plate-btn .open, body.printing-one .plate-btn .pl { display: none; }
}
dialog.viewer { position: fixed; inset: 0; margin: auto; max-width: 96vw; box-sizing: border-box; }
/* Viewer layout v2: whole plate fits, labels beside on wide screens */
dialog.viewer { width: min(96vw, 1120px); height: min(94vh, 1000px); max-height: 94vh; }
.v-body { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; }
.v-stage { max-height: none; height: 100%; display: block; text-align: center; }
.v-img { height: 100%; width: auto; max-width: none; display: inline-block; }
.v-cap { overflow: auto; }
@media (max-width: 760px) {
  dialog.viewer { height: 94vh; }
  .v-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 62vh) auto; overflow: auto; }
}

/* Home page: products, steps, readability (Oct 2026) */
.label { font-size: 0.8rem; letter-spacing: 0.16em; }
.tag { font-size: 0.74rem; letter-spacing: 0.1em; }
.hh-meta { margin-top: 1.1rem; font-weight: 600; color: var(--navy); }
.buy-card { display: flex; flex-direction: column; padding: 1.8rem; border-top: 4px solid var(--gold); }
.buy-card h3 { font-size: 1.5rem; margin: 0.6rem 0 0.5rem; }
.buy-facts { display: grid; grid-template-columns: auto 1fr; gap: 0.3rem 0.9rem; margin: 0.4rem 0 1.2rem; font-size: 0.95rem; }
.buy-facts dt { font-weight: 600; color: var(--navy); }
.buy-facts dd { margin: 0; color: var(--ink-2); }
.buy-card .card-foot { margin-top: auto; }
.price { font-family: var(--serif, Georgia, serif); font-size: 1.6rem; color: var(--navy); margin: 0 0 0.8rem; }
.price span { font-family: inherit; font-size: 0.95rem; color: var(--ink-2); }
.text-link { display: inline-block; margin: 0.6rem 0 0 0.8rem; font-size: 0.95rem; }
.steps-3 { list-style: none; padding: 0; margin: 1.4rem 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.steps-3 li { position: relative; padding-top: 0.4rem; }
.step-n { display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--navy); color: var(--gold); font-weight: 700; font-size: 1.1rem; margin-bottom: 0.6rem; }
.steps-3 h3 { margin: 0 0 0.4rem; }
.tick-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }
.tick-list li { padding-left: 1.6rem; position: relative; }
.tick-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--rust); font-weight: 700; }
@media (max-width: 760px) { .steps-3 { grid-template-columns: 1fr; gap: 1.1rem; } .text-link { margin-left: 0; display: block; } }

/* ==========================================================================
   Design pass (Nov 2026): bigger plates, cast sheet as picture cards,
   print sizes, mobile tightening, fewer orphans and dead gaps.
   ========================================================================== */

/* --- Plates: sharper sources are 600px wide; let them show --- */
.plate-btn img { object-position: center 18%; }
@media (max-width: 760px) {
  /* phones get the square source; show it whole instead of side-cropping it */
  .plate-btn.shape-34 .crop { aspect-ratio: 1 / 1; }
}

/* Home hero: give the art more room on desktop */
@media (min-width: 861px) {
  .hero-home { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); column-gap: 3.5rem; }
  .plate-row { gap: 1.2rem; }
  .plate-row .specimen:nth-child(2) { margin-top: 2rem; }
}
/* Home hero on phones: a swipeable strip of big plates, not three thumbnails */
@media (max-width: 760px) {
  .hh-art .plate-row { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 68%; gap: 1rem;
    overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 6px 0.6rem; margin: 0 -6px; scrollbar-width: thin; }
  .hh-art .plate-row .specimen { scroll-snap-align: start; }
  .hh-art .plate-row .cap-desc { display: block; }
  .hh-art .plate-row .cap-v { font-size: 1rem; }
}

/* --- Groups: the cast sheet as picture-on-top cards --- */
#cast .talk-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.cast-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.6rem 2rem; margin: 1.4rem 0 1.6rem; }
.cast-tile { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; align-content: start; }
.cast-tile .plate-btn .crop { aspect-ratio: 4 / 5; }
.cast-tile .plate-btn .pl { font-size: 0.72rem; top: 8px; left: 8px; padding: 2px 6px; }
.cast-tile .plate-btn .open { width: 34px; height: 34px; right: 8px; bottom: 8px; }
.cast-tile h4 { font-size: 1.45rem; margin-bottom: 0.35rem; }
.cast-tag { font-size: 0.76rem; margin-top: 0.25rem; }
.cast-tile .cast-who { font-size: 1.15rem; line-height: 1.4; margin-bottom: 0.6rem; }
.cast-tile p { font-size: 1rem; line-height: 1.5; margin-bottom: 0.45rem; }
#cast-sheet { padding: 2.2rem; }
#cast-sheet > h3 { font-size: 1.9rem; }
.cast-note { max-width: 60ch; }
@media (max-width: 960px) { .cast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .cast-grid { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
  .cast-tile .plate-btn .crop { aspect-ratio: 1 / 1; }
  #cast-sheet { padding: 1.3rem; }
}

/* Groups: no dead space in rule cards or the Hot Seat card */
#ground-rules { align-items: start; }
.talk-hot .talk-qs { display: block; columns: 2; column-gap: 3rem; }
.talk-hot .talk-qs li { break-inside: avoid; margin-bottom: 0.55rem; }
.talk-hot .talk-rule, .talk-hot .talk-take { max-width: 62ch; }
@media (max-width: 760px) { .talk-hot .talk-qs { columns: 1; } }
/* Card header on phones: label and time stack cleanly instead of wrapping into each other */
@media (max-width: 600px) {
  .talk-top { flex-direction: column; gap: 0.1rem; }
  .talk-top .label { margin-bottom: 0; }
  .talk-card { padding: 1.3rem; }
}

/* --- Shop: cards in the top row size to their content (no empty navy block) --- */
.shop-top { align-items: start; }

/* --- Tools index: nine tools sit in a 3 x 3 grid --- */
.tools-grid .card h3 { font-size: 1.35rem; }

/* --- "Where next?" --- */
/* when the dark tools card would sit alone on its row, let it span the row */
.next-steps .grid-3 > .card-dark:nth-child(3n+1) { grid-column: 1 / -1; }
.next-steps .grid-3 > .card-dark:nth-child(3n+1) p { margin-bottom: 0; }
/* on phones: compact link list rather than ten full cards */
@media (max-width: 680px) {
  .next-steps { padding: 2.4rem 0 !important; }
  .next-steps .grid-3 { gap: 0.6rem; }
  .next-steps .card { padding: 0.95rem 1.1rem; gap: 0.15rem; }
  .next-steps .card .tag { display: none; }
  .next-steps .card h3 { font-size: 1.15rem; margin: 0; }
  .next-steps .card p.small { font-size: 0.92rem; margin: 0; }
}

/* --- Print: big pictures on the cast sheet, full-width card text --- */
@media print {
  @page { size: A4; margin: 10mm; }
  body.printing-one .print-one p, body.printing-one .print-one .talk-qs { max-width: none; }
  body.printing-one .print-one h3 { font-size: 20pt; }
  body.printing-one .print-one .talk-scene { font-size: 14pt; }
  body.printing-one .talk-card.print-one .talk-top { flex-direction: row; }
  body.printing-one .talk-hot.print-one .talk-qs { columns: 1; }

  body.printing-one #cast-sheet.print-one { padding: 0.55cm 0.7cm 0.4cm; font-size: 9pt; }
  body.printing-one #cast-sheet > h3 { font-size: 17pt; margin: 0.15cm 0 0.1cm; }
  body.printing-one #cast-sheet .cast-note { font-size: 10.5pt; margin: 0 0 0.3cm; }
  body.printing-one #cast-sheet .cast-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.3cm 0.55cm; margin: 0 0 0.15cm; }
  body.printing-one #cast-sheet .cast-tile { grid-template-columns: minmax(0, 1fr); gap: 0.2cm; break-inside: avoid; }
  body.printing-one #cast-sheet .cast-tile .plate-btn { width: 100%; }
  body.printing-one #cast-sheet .cast-tile .crop { aspect-ratio: 4 / 3; box-shadow: 0 0 0 1px #b9a27a; }
  body.printing-one #cast-sheet .cast-tile img { width: 100%; height: 100%; object-position: center 12%; }
  body.printing-one #cast-sheet .cast-tile h4 { font-size: 13pt; margin: 0; }
  body.printing-one #cast-sheet .cast-tag { font-size: 7pt; }
  body.printing-one #cast-sheet .cast-tile .cast-who { font-size: 10pt; line-height: 1.25; margin: 0.05cm 0 0.1cm; }
  body.printing-one #cast-sheet .cast-tile p { font-size: 8.6pt; line-height: 1.3; margin: 0 0 0.08cm; }
  body.printing-one #cast-sheet .talk-foot { padding-top: 0.1cm; }
  body.printing-one #cast-sheet .talk-gr { margin-top: 0.1cm; }

  /* large type, no pictures: drop the whole picture frame, not just the img */
  body.print-plain #cast-sheet .plate-btn { display: none !important; }
  body.print-plain #cast-sheet .cast-grid { grid-template-columns: 1fr 1fr; gap: 0.35cm 0.8cm; }
  body.print-plain #cast-sheet .cast-tile h4 { font-size: 15pt; }
  body.print-plain #cast-sheet .cast-tag { font-size: 8.5pt; }
  body.print-plain #cast-sheet .cast-tile .cast-who { font-size: 12.5pt; }
  body.print-plain #cast-sheet .cast-tile p { font-size: 11pt; line-height: 1.3; }
}

/* ==========================================================================
   Option A, "The line-up" (Nov 2026): navy header sitewide + new home top
   ========================================================================== */
/* --- Sitewide navy header (both .corp and .parch pages) --- */
.site-nav, .parch .site-nav { background: rgba(27,42,74,0.97); border-bottom: 1px solid rgba(201,168,76,0.35); }
.site-nav .logo { color: var(--cream); }
.site-nav .nav-links a, .parch .site-nav .nav-links a { color: rgba(245,237,216,0.8); }
.site-nav .nav-links a:hover, .site-nav .nav-links a[aria-current="page"] { color: #fff; border-bottom-color: var(--gold); }
.site-nav .menu-btn { background: var(--gold); color: var(--navy); }
.site-nav :focus-visible { outline-color: var(--gold); }
@media (max-width: 680px) {
  .site-nav .nav-links a { border-bottom: 1px solid rgba(245,237,216,0.15); }
  .site-nav .nav-links a[aria-current="page"] { border-bottom: 2px solid var(--gold); }
}
.site-foot { border-top: 3px solid var(--gold); }

/* --- Home: hero, line-up, products, steps --- */
.a-hero { background: radial-gradient(ellipse at 50% 0%, #24365C 0%, #1B2A4A 55%, #15213B 100%); color: var(--cream); padding: 5.5rem 0 0; position: relative; overflow: hidden; }
.a-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(201,168,76,0.06) 1px, transparent 1px); background-size: 100% 44px; pointer-events: none; }
.a-hero-in { position: relative; max-width: 980px; margin: 0 auto; padding: 0 1.5rem; text-align: center; }
.a-kicker { display: inline-block; font-family: var(--mono); font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); padding-bottom: 0.9rem; margin-bottom: 1.6rem; border-bottom: 1px solid rgba(201,168,76,0.5); }
.a-hero h1 { color: var(--cream); font-size: clamp(2.6rem, 6.4vw, 5.6rem); line-height: 1.02; letter-spacing: -0.01em; margin: 0 auto 1.6rem; max-width: 15ch; }
.a-hero h1 em { color: var(--gold); display: block; }
.a-lede { font-size: 1.28rem; line-height: 1.6; color: rgba(245,237,216,0.86); max-width: 58ch; margin: 0 auto 2rem; }
.a-ctas { display: flex; gap: 0.9rem; justify-content: center; flex-wrap: wrap; }
.a-ctas .btn.ghost { color: var(--cream); border-color: rgba(245,237,216,0.7); }
.a-ctas .btn.ghost:hover { background: var(--cream); color: var(--navy); }
.a-meta { margin: 1.4rem auto 0; font-size: 0.98rem; color: rgba(245,237,216,0.7); max-width: none; letter-spacing: 0.01em; }

.a-stage { position: relative; max-width: 1360px; margin: 4.5rem auto 0; padding: 0 1.5rem; }
.a-stage-label { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); max-width: none; border-top: 1px solid rgba(201,168,76,0.4); padding-top: 0.9rem; margin-bottom: 1.6rem; }
.a-stage-label .a-hint { letter-spacing: 0.06em; text-transform: none; color: rgba(245,237,216,0.6); }
.a-lineup { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.4rem; align-items: end; }
.a-fig { margin: 0; }
.a-fig .plate-btn .crop { box-shadow: 0 0 0 5px var(--cream), 0 0 0 6px var(--gold), 0 24px 40px rgba(0,0,0,0.35); }
.a-fig figcaption { display: grid; gap: 0.1rem; padding: 1.2rem 0 2.6rem; text-align: center; }
.a-name { font-family: var(--display); font-weight: 700; font-size: 1.35rem; color: var(--cream); }
.a-desc { font-family: var(--serif); font-style: italic; font-size: 1.08rem; color: var(--gold); line-height: 1.3; }
.a-stage { z-index: 1; }
.a-fig figcaption { position: relative; }
.a-fig:nth-child(odd) .plate-btn { transform: translateY(0); }

/* buy */
.a-buy { background: var(--ivory); padding: 4rem 0 5.5rem; }
.a-head { max-width: 820px; margin-bottom: 2.6rem; }
.a-head-c { text-align: center; margin: 0 auto 3rem; }
.a-head h2 { font-size: clamp(2rem, 4vw, 3rem); }
.a-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 30px 60px -30px rgba(27,42,74,0.25); }
.a-card { padding: 2.4rem 2.2rem; display: flex; flex-direction: column; }
.a-card + .a-card { border-left: 1px solid var(--line); }
.a-card-feature { background: var(--navy); color: var(--cream); margin: -1.2rem 0; padding-top: 3.6rem; padding-bottom: 3.6rem; box-shadow: 0 30px 60px -20px rgba(27,42,74,0.55); position: relative; }
.a-card-feature h3, .a-card-feature .o-price { color: var(--cream); }
.a-card-feature .o-body, .a-card-feature dd, .a-card-feature .o-price span { color: rgba(245,237,216,0.82) !important; }
.a-card-feature dt { color: var(--gold) !important; }
.a-card-feature .btn { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.a-card-feature .text-link { color: var(--gold); }
.o-tag { font-family: var(--mono); font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rust); }
.a-card-feature .o-tag { color: var(--gold); }
.a-card h3 { font-size: 1.6rem; margin: 0.9rem 0 0.4rem; }
.o-price { font-family: var(--display); font-weight: 900; font-size: 3rem; line-height: 1; color: var(--navy); margin: 0.4rem 0 1.2rem; }
.o-price span { font-family: var(--serif); font-weight: 400; font-style: italic; font-size: 1.1rem; color: var(--ink-2); }
.o-body { font-size: 1.02rem; }
.o-facts { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 1rem; font-size: 0.95rem; margin: 0.6rem 0 1.6rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.a-card-feature .o-facts { border-top-color: rgba(245,237,216,0.2); }
.o-facts dt { font-weight: 600; color: var(--navy); }
.o-facts dd { margin: 0; color: var(--ink-2); }
.o-foot { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1rem; }
.o-foot .text-link { margin: 0; }
.buy-note { margin-top: 2.6rem; }

/* steps */
.a-steps { background: var(--paper); border-top: 1px solid var(--line); }
.a-steplist { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; counter-reset: s; position: relative; }
.a-steplist li { padding: 0 2.4rem; text-align: center; position: relative; }
.a-steplist li + li { border-left: 1px solid var(--line); }
.a-num { display: block; font-family: var(--display); font-weight: 900; font-style: italic; font-size: 5rem; line-height: 1; color: var(--gold); margin-bottom: 1rem; }
.a-steplist h3 { font-size: 1.5rem; }
.a-steplist p { margin: 0 auto; color: var(--ink-2); }

@media (max-width: 1100px) { .a-lineup { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 960px) {
  .a-cards { grid-template-columns: 1fr; border: 0; background: none; box-shadow: none; gap: 1.2rem; }
  .a-card { border: 1px solid var(--line); background: var(--paper); }
  .a-card + .a-card { border-left: 1px solid var(--line); }
  .a-card-feature { margin: 0; padding: 2.4rem 2.2rem; }
  .a-steplist { grid-template-columns: 1fr; gap: 2.4rem; }
  .a-steplist li + li { border-left: 0; border-top: 1px solid var(--line); padding-top: 2.4rem; }
}
@media (max-width: 680px) {
  .a-hero { padding-top: 3.2rem; }
  .a-hero-in { text-align: left; padding: 0 1rem; }
  .a-kicker { font-size: 0.72rem; letter-spacing: 0.16em; }
  .a-hero h1 { font-size: 2.6rem; margin-left: 0; }
  .a-lede { font-size: 1.1rem; margin-left: 0; }
  .a-ctas { justify-content: flex-start; }
  .a-stage { margin-top: 2.8rem; padding: 0 1rem; }
  .a-stage-label .a-hint { display: none; }
  .a-lineup { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1rem; }
  .a-fig figcaption { padding: 0.8rem 0 1.2rem; }
  .a-name { font-size: 1.15rem; }
  .a-desc { font-size: 0.98rem; }
  .a-card { padding: 1.8rem 1.4rem; }
  .o-price { font-size: 2.5rem; }
}
/* fold tuning: headline in two lines, cast visible in the first screen */
.a-hero { padding-top: 3.6rem; }
.a-hero-in { max-width: 1120px; }
.a-kicker { margin-bottom: 1.2rem; }
.a-hero h1 { font-size: clamp(2.6rem, 5.2vw, 4.7rem); max-width: 22ch; margin-bottom: 1.2rem; }
.a-lede { margin-bottom: 1.6rem; }
.a-stage { margin-top: 3rem; }
.a-lineup { align-items: start; gap: 1.2rem; }
@media (max-width: 680px) { .a-hero h1 { font-size: 2.6rem; } .a-hero { padding-top: 3rem; } }

/* fold tuning and longer-copy handling */
.a-hero { padding-top: 3.6rem; }
.a-hero-in { max-width: 1120px; }
.a-kicker { margin-bottom: 1.2rem; max-width: 100%; line-height: 1.7; }
.a-hero h1 { font-size: clamp(2.6rem, 5.2vw, 4.7rem); max-width: 22ch; margin-bottom: 1.2rem; }
.a-lede { font-size: 1.18rem; max-width: 62ch; margin-bottom: 1.6rem; }
.a-stage { margin-top: 3rem; }
.a-lineup { align-items: start; gap: 1.2rem; }
.a-hint a { color: var(--gold); }
.a-head .rule { margin-bottom: 1.2rem; }
.a-head-c .label { margin-bottom: 0.6rem; }
@media (max-width: 680px) {
  .a-hero h1 { font-size: 2.6rem; }
  .a-hero { padding-top: 3rem; }
  .a-kicker { line-height: 1.6; }
  .a-lede { font-size: 1.08rem; }
  .a-stage-label .a-hint { display: inline; text-align: right; }
  .a-stage-label .a-hint > span { display: none; }
  .a-stage-label .a-hint > .a-sep { display: none; }
}
/* home sections below the new top: quieter cards, consistent heads */
#seats .card { border-top: 3px solid var(--gold); }
@media print { .a-hero { background: #fff; color: #000; } }

/* Recipe note under home line-up (Nov 2026) */
.a-stage-note{max-width:760px;margin:1.6rem auto 0;text-align:center;color:var(--cream);font-family:var(--serif);font-size:1.25rem;line-height:1.5}
.a-stage-note em{color:var(--gold)}
.a-stage-note a{color:var(--gold);font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-left:.4rem;white-space:nowrap}
#recipe p{color:rgba(245,237,216,.92)}

/* Hero lede: justified block (owner request, Nov 2026) */
.a-hero .a-lede, .a-lede{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}
.a-stage-note{padding-bottom:3.2rem}
.a-stage-note .n1,.a-stage-note .n2{display:block}
.a-stage-note em{white-space:nowrap}
.a-stage-note a{display:inline-block;margin:.9rem 0 0}
@media (max-width:760px){.a-stage-note{padding-bottom:2.4rem}.a-stage-note em{display:inline-block}}
/* Lede block matches the headline width on larger screens */
@media (min-width:761px){
  .a-hero-in{width:fit-content;max-width:min(1120px,100%);box-sizing:border-box}
  .a-hero .a-lede{width:0;min-width:100%;max-width:none;margin-left:0;margin-right:0}
}
.tools-grid .tool-feature{grid-column:1/-1;border-top:4px solid var(--gold);background:var(--cream)}
.tools-grid .tool-feature h3{font-size:1.6rem}
