/* Third Party Labs: home, seat pages and About (added 29 Sep 2026) */

/* ─── The table (hero drawing, every seat a link) ─────────────────── */
.table-hero { background: var(--charcoal); padding: var(--space-4xl) 0 var(--space-4xl); position: relative; overflow: hidden; }
.table-hero-inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: center; }
.table-hero h1 { font-size: clamp(48px, 7vw, 92px); line-height: 0.95; color: var(--stone); margin-bottom: var(--space-lg); letter-spacing: -0.01em; }
.table-hero h1 .gap-word { color: var(--amber-light); }
.table-hero .lede { font-size: 18px; line-height: 1.65; color: var(--stone-mid); max-width: 34em; margin-bottom: var(--space-xl); }
.table-hero .fine { font-size: 13px; color: var(--muted-dark); margin-top: var(--space-md); }
.table-hero .fine span + span::before { content: ''; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--muted-dark); margin: 0 10px; vertical-align: middle; }

.seat-table { width: 100%; max-width: 540px; height: auto; display: block; margin: 0 auto; overflow: visible; }
.seat-table .st-board { fill: #353535; stroke: #4a4a4a; }
.seat-table .st-board-text { fill: var(--muted-dark); font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
.seat-table .st-seat rect { transition: transform 200ms var(--ease), opacity 200ms var(--ease); transform-box: fill-box; transform-origin: center; }
.seat-table .st-seat text { fill: #fff; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 15px; pointer-events: none; }
.seat-table .st-seat .st-go { font-size: 11px; font-weight: 500; fill: rgba(255, 255, 255, 0.78); }
.seat-table .st-rc rect { fill: var(--forest); }
.seat-table .st-pr rect { fill: var(--amber-dark); }
.seat-table .st-rp rect { fill: var(--slate); }
.seat-table .st-tp rect { fill: #161616; stroke: var(--stone-mid); stroke-width: 1.5; }
.seat-table .st-seat { cursor: pointer; transition: opacity 200ms var(--ease); }
.seat-table .st-seat:focus { outline: none; }
.seat-table .st-seat:focus-visible rect { stroke: var(--stone); stroke-width: 3; }
.seat-table .st-gap { fill: var(--amber-light); transition: transform 200ms var(--ease), opacity 200ms var(--ease); transform-box: fill-box; transform-origin: center; }
.seat-table .st-gap-ring { fill: none; stroke: var(--amber-light); stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.seat-table .st-caption { fill: var(--muted-dark); font-family: 'Inter', sans-serif; font-size: 13px; }
.seat-table .st-caption-dot { fill: var(--amber-light); }
/* Focus one seat: the other seats step back and its two gaps light up */
.seat-table:has(.st-seat:hover, .st-seat:focus-visible) .st-seat:not(:hover):not(:focus-visible) { opacity: 0.4; }
.seat-table .st-seat:hover rect, .seat-table .st-seat:focus-visible rect { transform: scale(1.04); }
.seat-table:has(.st-seat:hover, .st-seat:focus-visible) .st-gap { opacity: 0.3; }
.seat-table:has(.st-rc:hover, .st-rc:focus-visible) .g-rc,
.seat-table:has(.st-pr:hover, .st-pr:focus-visible) .g-pr,
.seat-table:has(.st-rp:hover, .st-rp:focus-visible) .g-rp,
.seat-table:has(.st-tp:hover, .st-tp:focus-visible) .g-tp { opacity: 1; transform: scale(1.35); }
@media (prefers-reduced-motion: no-preference) {
  .seat-table .st-gap-ring { animation: gap-pulse 3.2s cubic-bezier(0.16, 1, 0.3, 1) infinite; }
  .seat-table .st-gap-ring.d1 { animation-delay: 0.8s; }
  .seat-table .st-gap-ring.d2 { animation-delay: 1.6s; }
  .seat-table .st-gap-ring.d3 { animation-delay: 2.4s; }
  .seat-table:has(.st-seat:hover, .st-seat:focus-visible) .st-gap-ring { animation-play-state: paused; opacity: 0; }
}
@keyframes gap-pulse {
  0% { opacity: 0.7; transform: scale(1); }
  70%, 100% { opacity: 0; transform: scale(2.6); }
}

/* ─── Section rhythm (new pages: headings carry themselves, no kickers) ─ */
.s-block { padding: var(--space-8xl) 0; border-bottom: 1px solid var(--border-hair); }
.s-block.card { background: var(--stone-card); }
.s-title { font-size: clamp(34px, 4.2vw, 56px); color: var(--charcoal); max-width: 16em; margin-bottom: var(--space-md); }
.s-intro { font-size: 17px; line-height: 1.7; color: var(--slate); max-width: 38em; }

/* ─── Seat picker ─────────────────────────────────────────────────── */
.seat-pick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-md); margin-top: var(--space-2xl); list-style: none; }
.seat-pick a { position: relative; display: flex; flex-direction: column; height: 100%; background: var(--stone); border: 1px solid var(--border-hair); border-radius: var(--radius-card); padding: var(--space-xl) var(--space-lg) var(--space-lg); transition: border-color 160ms var(--ease), box-shadow 160ms var(--ease), transform 160ms var(--ease); }
.seat-pick a::before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; height: 5px; border-radius: var(--radius-card) var(--radius-card) 0 0; background: var(--seat, var(--forest)); }
.seat-pick a:hover { border-color: var(--stone-mid); box-shadow: 0 10px 28px rgba(43, 43, 43, 0.1); transform: translateY(-3px); }
.seat-pick .pick-job { font-size: 14px; color: var(--slate); line-height: 1.5; margin-bottom: var(--space-sm); }
.seat-pick .pick-name { font-family: 'Big Shoulders Display', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 26px; line-height: 1; color: var(--charcoal); margin-bottom: var(--space-md); }
.seat-pick .pick-empty { font-size: 14px; line-height: 1.6; color: var(--slate); flex: 1; margin-bottom: var(--space-lg); }
.seat-pick .pick-empty strong { color: var(--charcoal); font-weight: 600; }
.seat-pick .pick-foot { display: flex; justify-content: space-between; align-items: center; gap: var(--space-sm); flex-wrap: wrap; padding-top: var(--space-md); border-top: 1px solid var(--border-hair); font-size: 14px; font-weight: 600; color: var(--forest); }
.seat-pick .pick-foot svg { transition: transform 160ms var(--ease); }
.seat-pick a:hover .pick-foot svg { transform: translateX(3px); }
.seat-pick .seat-amber { --seat: var(--amber); }
.seat-pick .seat-slate { --seat: var(--slate); }
.seat-pick .seat-charcoal { --seat: var(--charcoal); }

.leaders-band { margin-top: var(--space-lg); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xl); align-items: center; background: var(--charcoal); color: var(--stone); border-radius: var(--radius-card); padding: var(--space-xl) var(--space-2xl); }
.leaders-band h3 { font-family: 'Big Shoulders Display', sans-serif; font-weight: 700; text-transform: uppercase; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.05; margin-bottom: var(--space-sm); }
.leaders-band p { font-size: 15px; line-height: 1.65; color: var(--stone-mid); max-width: 44em; }
.leaders-band .btn-stone { white-space: nowrap; }

/* ─── The gaps ────────────────────────────────────────────────────── */
.gap-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2xl); margin-top: var(--space-2xl); list-style: none; }
.gap-list li { padding-top: var(--space-lg); border-top: 1px solid var(--border-line); }
.gap-pair { display: flex; align-items: center; gap: 10px; margin-bottom: var(--space-md); font-size: 13px; font-weight: 600; color: var(--charcoal); flex-wrap: wrap; }
.gap-pair .seat-swatch { grid-row: auto; }
.gap-pair .gap-mark { width: 22px; height: 2px; background: var(--amber); position: relative; }
.gap-pair .gap-mark::after { content: ''; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--amber); }
.gap-list p { font-size: 16px; line-height: 1.65; color: var(--charcoal); }
.illustrative { font-size: 13px; color: var(--slate); margin-top: var(--space-xl); }

/* ─── What you get ────────────────────────────────────────────────── */
.get-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: start; margin-top: var(--space-2xl); }
.get-list { list-style: none; border-top: 1px solid var(--border-line); }
.get-list li { display: grid; grid-template-columns: 22px 1fr; gap: var(--space-md); padding: var(--space-md) 0; border-bottom: 1px solid var(--border-hair); font-size: 16px; line-height: 1.55; }
.get-list li svg { margin-top: 3px; color: var(--forest); }
.price-panel { background: var(--stone); border: 1px solid var(--border-hair); border-radius: var(--radius-card); padding: var(--space-xl); box-shadow: 0 12px 32px rgba(43, 43, 43, 0.06); }
.price-panel .price-label { font-size: 14px; font-weight: 600; color: var(--slate); }
.price-panel .price-amt { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 64px; line-height: 1; color: var(--charcoal); margin: var(--space-xs) 0; font-variant-numeric: tabular-nums; }
.price-panel .price-amt small { font-size: 24px; margin-right: 6px; color: var(--slate); }
.price-panel .price-sub { font-size: 14px; color: var(--slate); margin-bottom: var(--space-lg); }
.price-rows { list-style: none; margin-bottom: var(--space-lg); }
.price-rows li { display: flex; justify-content: space-between; gap: var(--space-md); padding: 12px 0; border-top: 1px solid var(--border-hair); font-size: 14px; }
.price-rows a { color: var(--charcoal); font-weight: 600; text-decoration: underline; text-decoration-color: var(--stone-mid); text-underline-offset: 3px; }
.price-rows a:hover { text-decoration-color: var(--forest); }
.price-rows .chip { flex-shrink: 0; }
.price-panel .btn-primary { width: 100%; justify-content: center; }
.price-panel .price-note { font-size: 13px; color: var(--slate); margin-top: var(--space-md); line-height: 1.55; }
.price-panel .price-note a { color: var(--charcoal); text-decoration: underline; text-underline-offset: 3px; }

/* ─── The currency promise ────────────────────────────────────────── */
.promise-band { background: var(--forest); color: var(--stone); padding: var(--space-8xl) 0; }
.promise-band h2 { font-size: clamp(36px, 4.6vw, 60px); line-height: 1; max-width: 14em; margin-bottom: var(--space-md); }
.promise-band .s-intro { color: #DCEBE2; }
.promise-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2xl); margin-top: var(--space-2xl); list-style: none; }
.promise-points li { border-top: 1px solid rgba(245, 243, 238, 0.35); padding-top: var(--space-md); font-size: 15px; line-height: 1.65; color: #DCEBE2; }
.promise-points strong { display: block; font-size: 18px; color: var(--stone); margin-bottom: 6px; }

/* ─── Founder ─────────────────────────────────────────────────────── */
.founder { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--space-3xl); align-items: center; margin-top: var(--space-2xl); }
.founder-portrait { aspect-ratio: 4 / 5; border-radius: var(--radius-card); background: var(--charcoal); display: grid; place-items: center; overflow: hidden; }
.founder-portrait img { width: 100%; height: 100%; object-fit: cover; }
.founder-portrait .mono { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 96px; color: var(--stone); letter-spacing: 0.02em; line-height: 1; }
.founder-portrait .mono-seats { display: flex; gap: 6px; justify-content: center; margin-top: var(--space-md); }
.founder-portrait .mono-seats span { width: 18px; height: 6px; border-radius: 1px; }
.founder-name { font-family: 'Big Shoulders Display', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 32px; line-height: 1; color: var(--charcoal); }
.founder-role { font-size: 15px; color: var(--slate); margin: 6px 0 var(--space-lg); }
.founder p.body { font-size: 16px; line-height: 1.75; color: var(--charcoal); max-width: 40em; margin-bottom: var(--space-md); }
.founder .text-link { font-weight: 600; }
.bg-forest { background: var(--forest); }
.bg-amber { background: var(--amber); }
.bg-slate { background: var(--slate); }
.bg-stone-mid { background: var(--stone-mid); }

/* ─── Questions ───────────────────────────────────────────────────── */
.faq { margin-top: var(--space-2xl); max-width: 820px; border-top: 1px solid var(--border-line); }
.faq details { border-bottom: 1px solid var(--border-hair); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: var(--space-lg); min-height: 64px; padding: var(--space-md) 0; cursor: pointer; list-style: none; font-size: 17px; font-weight: 600; color: var(--charcoal); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary svg { flex-shrink: 0; color: var(--forest); transition: transform 180ms var(--ease); }
.faq details[open] summary svg { transform: rotate(45deg); }
.faq .answer { padding: 0 0 var(--space-lg); font-size: 16px; line-height: 1.7; color: var(--slate); max-width: 44em; }
.faq .answer a { color: var(--charcoal); text-decoration: underline; text-underline-offset: 3px; }

/* ─── Close ───────────────────────────────────────────────────────── */
.close-band { background: var(--charcoal); color: var(--stone); padding: var(--space-8xl) 0 var(--space-4xl); text-align: center; }
.close-band h2 { font-size: clamp(44px, 6vw, 80px); line-height: 0.95; margin-bottom: var(--space-md); }
.close-band .s-intro { color: var(--stone-mid); margin: 0 auto var(--space-xl); }
.close-band .hero-actions { justify-content: center; }
.close-brief { max-width: 560px; margin: var(--space-3xl) auto 0; padding-top: var(--space-xl); border-top: 1px solid rgba(217, 203, 182, 0.2); text-align: left; }
.close-brief p.lead { font-size: 15px; color: var(--stone-mid); margin-bottom: var(--space-md); }
.close-brief p.lead strong { color: var(--stone); }
.close-brief .inline-form { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.close-brief .inline-form .input { flex: 1 1 240px; background: var(--stone); }
.close-brief .form-status, .close-brief .form-status a, .close-brief .form-fine, .close-brief .form-fine a { color: var(--stone-mid); }
.close-brief .form-status { flex-basis: 100%; }

/* ─── Seat pages ──────────────────────────────────────────────────── */
.seat-hero { background: var(--charcoal); padding: var(--space-3xl) 0 var(--space-4xl); position: relative; }
.seat-hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: var(--seat, var(--forest)); }
.seat-hero .breadcrumb { color: var(--muted-dark); margin-bottom: var(--space-xl); }
.seat-hero .breadcrumb a:hover { color: var(--stone); }
.seat-hero-inner { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: end; }
.seat-hero h1 { font-size: clamp(44px, 6.4vw, 84px); line-height: 0.95; color: var(--stone); margin-bottom: var(--space-lg); }
.seat-hero .lede { font-size: 18px; line-height: 1.65; color: var(--stone-mid); max-width: 34em; margin-bottom: var(--space-xl); }
.seat-hero .fine { font-size: 13px; color: var(--muted-dark); margin-top: var(--space-md); }
.seat-hero .fine a { color: var(--stone); text-decoration: underline; text-underline-offset: 3px; }
.seat-hero .inline-form { display: flex; flex-wrap: wrap; gap: var(--space-sm); max-width: 480px; }
.seat-hero .inline-form .input { flex: 1 1 220px; background: var(--stone); }
.seat-hero .form-status, .seat-hero .form-status a { color: var(--stone-mid); flex-basis: 100%; }
.seat-mini { width: 100%; max-width: 300px; justify-self: end; }
.seat-mini rect { fill: #3a3a3a; }
.seat-mini .on { fill: var(--seat, var(--forest)); }
.seat-mini .on.tp { fill: #161616; stroke: var(--stone-mid); stroke-width: 1.5; }
.seat-mini .board { fill: #313131; stroke: #474747; }
.seat-mini circle { fill: rgba(217, 164, 65, 0.3); }
.seat-mini circle.lit { fill: var(--amber-light); }
.seat-mini text { fill: var(--muted-dark); font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 0.08em; }
.seat-mini text.here { fill: var(--stone); font-family: 'Inter', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 0; }
.seat-rc { --seat: var(--forest); }
.seat-pr { --seat: var(--amber); }
.seat-rp { --seat: var(--slate); }
.seat-tp { --seat: var(--stone-mid); }

.empty-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xl); margin-top: var(--space-2xl); list-style: none; counter-reset: e; }
.empty-list li { background: var(--stone-card); border: 1px solid var(--border-hair); border-radius: var(--radius-card); padding: var(--space-lg) var(--space-xl) var(--space-xl); font-size: 16px; line-height: 1.6; color: var(--charcoal); }
.empty-list li strong { display: block; font-size: 18px; margin-bottom: 6px; }

.meets { list-style: none; margin-top: var(--space-2xl); border-top: 1px solid var(--border-line); }
.meets li { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--space-xl); padding: var(--space-lg) 0; border-bottom: 1px solid var(--border-hair); }
.meets .with { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 16px; color: var(--charcoal); }
.meets .with a { text-decoration: underline; text-decoration-color: var(--stone-mid); text-underline-offset: 3px; }
.meets .with a:hover { text-decoration-color: var(--forest); }
.meets p { font-size: 16px; line-height: 1.65; color: var(--slate); }

.course-offer { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: start; margin-top: var(--space-2xl); }
.course-offer h3 { font-size: 22px; line-height: 1.3; color: var(--charcoal); margin-bottom: var(--space-md); }
.outcomes { list-style: none; border-top: 1px solid var(--border-line); }
.outcomes li { display: grid; grid-template-columns: 22px 1fr; gap: var(--space-md); padding: var(--space-md) 0; border-bottom: 1px solid var(--border-hair); font-size: 16px; line-height: 1.6; }
.outcomes li svg { margin-top: 4px; color: var(--forest); }
.offer-facts { list-style: none; margin-bottom: var(--space-lg); }
.offer-facts li { display: flex; justify-content: space-between; gap: var(--space-md); padding: 10px 0; border-top: 1px solid var(--border-hair); font-size: 14px; }
.offer-facts li span:first-child { color: var(--slate); }
.offer-facts li span:last-child { font-weight: 600; text-align: right; }
.soon-note-card { font-size: 15px; line-height: 1.65; color: var(--slate); margin-bottom: var(--space-lg); }

.free-start { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); margin-top: var(--space-2xl); }
.free-start > div { background: var(--stone); border: 1px solid var(--border-hair); border-radius: var(--radius-card); padding: var(--space-xl); display: flex; flex-direction: column; }
.free-start h3 { font-size: 20px; color: var(--charcoal); margin-bottom: var(--space-sm); }
.free-start p { font-size: 15px; line-height: 1.65; color: var(--slate); flex: 1; margin-bottom: var(--space-lg); }
.free-start .inline-form { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.free-start .inline-form .input { flex: 1 1 200px; }
.free-start .form-status { flex-basis: 100%; }
.free-start .btn-secondary { align-self: flex-start; }

.other-seats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); margin-top: var(--space-xl); list-style: none; }
.other-seats a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); min-height: 64px; padding: var(--space-md) var(--space-lg); border: 1px solid var(--border-hair); border-radius: var(--radius-card); background: var(--stone-card); font-weight: 600; color: var(--charcoal); transition: border-color 160ms var(--ease); }
.other-seats a:hover { border-color: var(--forest); }
.other-seats .seat-swatch { grid-row: auto; }
.other-seats a > span { display: flex; align-items: center; gap: 10px; }

/* ─── About ───────────────────────────────────────────────────────── */
.about-hero { background: var(--charcoal); padding: var(--space-4xl) 0; }
.about-hero h1 { font-size: clamp(44px, 6.4vw, 84px); line-height: 0.95; color: var(--stone); max-width: 12em; margin-bottom: var(--space-lg); }
.about-hero .lede { font-size: 19px; line-height: 1.65; color: var(--stone-mid); max-width: 36em; }
.about-hero .lede strong { color: var(--stone); font-weight: 600; }
.principles { list-style: none; margin-top: var(--space-2xl); border-top: 1px solid var(--border-line); }
.principles li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--space-2xl); padding: var(--space-xl) 0; border-bottom: 1px solid var(--border-hair); }
.principles h3 { font-family: 'Big Shoulders Display', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 28px; line-height: 1; color: var(--charcoal); }
.principles p { font-size: 16px; line-height: 1.7; color: var(--slate); }
.seat-rows { list-style: none; margin-top: var(--space-2xl); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.seat-rows a { display: grid; grid-template-columns: 12px 1fr; column-gap: 14px; row-gap: 4px; padding: var(--space-lg); background: var(--stone); border: 1px solid var(--border-hair); border-radius: var(--radius-card); transition: border-color 160ms var(--ease); }
.seat-rows a:hover { border-color: var(--forest); }
.seat-rows .seat-swatch { grid-row: 1 / span 2; align-self: start; margin-top: 6px; }
.seat-rows strong { font-size: 17px; color: var(--charcoal); }
.seat-rows span.desc { font-size: 14px; line-height: 1.55; color: var(--slate); }

/* ─── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .seat-pick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .table-hero-inner, .seat-hero-inner, .get-grid, .course-offer, .founder { grid-template-columns: 1fr; }
  .table-hero { padding: var(--space-3xl) 0; }
  .seat-table { max-width: 440px; }
  .seat-mini { justify-self: start; max-width: 240px; }
  .gap-list, .promise-points, .empty-list, .free-start, .other-seats, .seat-rows { grid-template-columns: 1fr; }
  .gap-list { gap: var(--space-lg); }
  .leaders-band { grid-template-columns: 1fr; padding: var(--space-xl); }
  .meets li, .principles li { grid-template-columns: 1fr; gap: var(--space-sm); }
  .founder-portrait { max-width: 240px; }
  .s-block, .promise-band { padding: var(--space-4xl) 0; }
  .close-band { padding: var(--space-4xl) 0 var(--space-3xl); }
}
@media (max-width: 560px) {
  .seat-pick { grid-template-columns: 1fr; }
  .table-hero h1 { font-size: 52px; }
}

/* ─── Fixes after first inspection (29 Sep 2026) ─────────────────── */
.seat-pick ~ .leaders-band .btn-stone, .btn-stone { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 13px var(--space-xl); background: var(--stone); color: var(--charcoal); border-radius: var(--radius-ctrl); font-size: 15px; font-weight: 600; transition: background 120ms var(--ease); }
.btn-stone:hover { background: #fff; }
.s-title, .table-hero h1, .seat-hero h1, .about-hero h1, .close-band h2, .promise-band h2, .leaders-band h3 { text-wrap: balance; }
.s-intro, .lede { text-wrap: pretty; }
.gap-pair { flex-direction: column; align-items: flex-start; gap: 6px; }
.gap-pair > span.gp { display: flex; align-items: center; gap: 10px; }
.gap-pair .gap-link { display: flex; align-items: center; gap: 8px; margin-left: 2px; font-size: 12px; font-weight: 500; color: var(--amber-text); }
.gap-pair .gap-link::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 3px rgba(184, 128, 26, 0.18); }
.seat-table-compact, .seat-table-compact-caption { display: none; }
.seat-table-compact .st-seat text { font-size: 15px; }
.seat-table-compact-caption { align-items: center; gap: 10px; margin-top: var(--space-md); font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted-dark); }
.seat-table-compact-caption span { width: 10px; height: 10px; border-radius: 50%; background: var(--amber-light); }
@media (max-width: 560px) {
  .table-figure > .seat-table:not(.seat-table-compact) { display: none; }
  .seat-table-compact { display: block; max-width: 360px; }
  .seat-table-compact-caption { display: flex; }
}
.seat-mini-fig { width: 100%; max-width: 340px; justify-self: end; margin: 0; }
.seat-mini { max-width: none; justify-self: auto; }
.seat-mini .seat { fill: #3d3d3d; }
.seat-mini circle { fill: rgba(217, 164, 65, 0.22); }
.seat-mini-fig figcaption { display: flex; align-items: center; gap: 10px; margin-top: var(--space-md); font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted-dark); }
.seat-mini-fig figcaption span { width: 10px; height: 10px; border-radius: 50%; background: var(--amber-light); flex-shrink: 0; }
@media (max-width: 860px) { .seat-mini-fig { justify-self: start; max-width: 260px; } }
.seat-table { color: #fff; }
.seat-table-compact-caption, .seat-mini-fig figcaption { font-family: 'Inter', sans-serif; font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--muted-dark); }

/* ─── Fixes after finish review (29 Sep 2026) ────────────────────── */
.seat-pick .pick-name { margin-bottom: var(--space-sm); }
.seat-pick .pick-job { margin-bottom: var(--space-md); }
.seat-table .st-board-text { fill: var(--stone-mid); font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0.06em; }
.price-panel { box-shadow: none; }
.gap-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-3xl); row-gap: var(--space-2xl); }
.gap-pair .gap-link { display: block; position: relative; width: 2px; height: 22px; margin: 0 0 0 4px; background: linear-gradient(var(--amber), var(--amber)) center / 2px 100% no-repeat; }
.gap-pair .gap-link::before { content: none; }
.gap-pair .gap-link span { position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 3px rgba(184, 128, 26, 0.2); }
.seat-mini-fig { max-width: 360px; }
.seat-mini .board { fill: #313131; stroke: #474747; }
.seat-mini .mt-seat rect { fill: #3d3d3d; transition: fill 160ms var(--ease); }
.seat-mini .mt-seat text { fill: var(--stone-mid); font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 600; }
.seat-mini a.mt-seat:hover rect, .seat-mini a.mt-seat:focus-visible rect { fill: #4a4a4a; }
.seat-mini a.mt-seat:focus { outline: none; }
.seat-mini a.mt-seat:focus-visible rect { stroke: var(--stone); stroke-width: 2; }
.seat-mini .mt-here rect { fill: var(--seat, var(--forest)); }
.seat-mini .mt-here text { fill: #fff; }
.seat-tp .seat-mini .mt-here rect { fill: #161616; stroke: var(--stone-mid); stroke-width: 1.5; }
.seat-pr .seat-mini .mt-here rect { fill: var(--amber-dark); }
.seat-mini circle { fill: rgba(217, 164, 65, 0.22); }
.seat-mini circle.lit { fill: var(--amber-light); }
.about-hero-inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: center; }
@media (max-width: 860px) {
  .gap-list { grid-template-columns: 1fr; }
  .seat-mini-fig { justify-self: stretch; max-width: 360px; margin: 0 auto; }
  .about-hero-inner { grid-template-columns: 1fr; }
}
.seat-mini .mt-seat text { letter-spacing: 0; font-size: 14px; }
:is(.table-hero, .seat-hero, .about-hero, .leaders-band, .promise-band, .close-band) :is(a, button, input, summary):focus-visible { outline-color: var(--stone); }
.seat-table .st-seat .st-go { font-size: 13px; }

/* ─── Fixes after critique 1 (29 Sep 2026) ───────────────────────── */
:root { --on-forest: #DCEBE2; }
.promise-band .s-intro, .promise-points li { color: var(--on-forest); }
.price-rows li { padding: 0; }
.price-rows a { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); min-height: 52px; text-decoration: none; }
.price-rows a > span:first-child { text-decoration: underline; text-decoration-color: var(--stone-mid); text-underline-offset: 3px; }
.price-rows a:hover > span:first-child { text-decoration-color: var(--forest); }
.price-rows .row-go { display: inline-flex; align-items: center; gap: 10px; color: var(--forest); }
.price-panel .updated { font-size: 12px; color: var(--slate); margin-top: var(--space-sm); }
.faq .answer { max-width: 65ch; }
.faq-seat { margin-top: var(--space-3xl); }
.close-seats { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-sm); max-width: 960px; margin: 0 auto; text-align: left; }
.close-seats a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); min-height: 56px; padding: var(--space-sm) var(--space-md); border: 1px solid rgba(217, 203, 182, 0.3); border-radius: var(--radius-card); color: var(--stone); font-size: 15px; font-weight: 600; transition: border-color 160ms var(--ease), background 160ms var(--ease); }
.close-seats a:hover { border-color: var(--stone-mid); background: rgba(245, 243, 238, 0.06); }
.close-seats a > span { display: flex; align-items: center; gap: 10px; }
.close-seats .seat-swatch.sw-charcoal { background: var(--stone-mid); }
.close-leaders { margin-top: var(--space-lg); font-size: 15px; color: var(--stone-mid); }
.close-leaders a { display: inline-flex; align-items: center; min-height: 44px; color: var(--stone); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.seat-close { padding: var(--space-4xl) 0; }
.seat-hero .breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.seat-hero .breadcrumb { margin-bottom: var(--space-md); }
.meets .with a { display: inline-flex; align-items: center; min-height: 44px; }
.empty-list { gap: 0 var(--space-2xl); }
.empty-list li { background: none; border: 0; border-top: 1px solid var(--border-line); border-radius: 0; padding: var(--space-lg) 0 0; font-size: 17px; }
.seat-mini a.mt-seat rect { stroke: rgba(217, 203, 182, 0.45); stroke-width: 1.5; }
.footer-tagline { font-family: 'Inter', sans-serif; text-transform: none; letter-spacing: 0; font-size: 14px; }
.founder-portrait .mono-seats span { border-radius: 0; }
.nav-seats-list { border: 0; }
.nav-mobile-toggle .icon-close { display: none; }
.nav.is-open .nav-mobile-toggle .icon-close { display: block; }
.nav.is-open .nav-mobile-toggle .icon-menu { display: none; }
@media (max-width: 960px) { .close-seats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .close-seats { grid-template-columns: 1fr; }
  .seat-mini-fig { display: none; }
  .seat-hero .hero-actions a, .table-hero .hero-actions a { flex: 1 1 100%; justify-content: center; }
}

/* ─── Fixes after critique 2 (29 Sep 2026) ───────────────────────── */
.nav-seats-toggle.is-current { color: var(--charcoal); box-shadow: inset 0 -2px 0 var(--forest); }
.seat-table .st-board-text { font-size: 15.5px; } /* renders at 12px or more from a 1024px window (30 Sep) */
.leaders-band p { max-width: 60ch; }
.price-rows li.row-open { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); padding: 6px 0; }
.price-rows li.row-open > a:first-child { min-height: 44px; }
.price-rows .row-enrol { min-height: 44px; text-decoration: none; }
.course-offer .author { font-size: 15px; color: var(--slate); margin: -6px 0 var(--space-md); }
.course-offer .author a { color: var(--charcoal); font-weight: 600; text-decoration: underline; text-decoration-color: var(--stone-mid); text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.principles li > div p + p { margin-top: 0; }
.principles h3 .chip { vertical-align: middle; margin-left: 8px; }
.steps-list { list-style: none; }
.steps-list .step-n { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--forest); color: var(--stone); font-size: 13px; font-weight: 600; margin-right: 12px; flex-shrink: 0; }
.steps-list .who { font-size: 13px; color: var(--forest); font-weight: 600; margin-top: 6px; }
.leaders-close .s-intro { max-width: 60ch; }
.leaders-close .enquiry-fallback { background: none; border: 0; padding: 0; }
.leaders-close .form-fine, .leaders-close .form-fine a { color: var(--stone-mid); margin-top: var(--space-lg); }
.price-rows a.row-enrol { color: var(--stone); background: var(--forest); padding: 0 var(--space-lg); font-weight: 600; } .price-rows a.row-enrol:hover { background: var(--forest-dark); }

/* ─── Fixes after critique 3 (29 Sep 2026) ───────────────────────── */
.seat-table .st-tp rect { stroke: rgba(217, 203, 182, 0.35); stroke-width: 1; }
.seat-table .st-seat:focus-visible rect { stroke: var(--amber-light); stroke-width: 3; stroke-dasharray: 6 4; }
.seat-table .st-caption { font-size: 15px; }
.price-rows li { padding: 12px 0; }
.price-rows li.row-open { padding: 6px 0; }
.founder .text-link { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 560px) { .table-hero .lede-detail { display: none; } }
.founder-portrait { aspect-ratio: 1 / 1; background: var(--stone-card); }
