/* Restore the portrait / name / short topic composition from v6.4. */
.fit-grid { grid-template-columns: minmax(240px,.62fr) minmax(0,1.7fr); }
.fit-list { align-items: stretch; padding: 0; }
.fit-intro { padding: 36px 28px; min-height: 0; gap: 36px; background: #fff; border-top: 3px solid #69429a; }
.fit-intro h2 { font-size: clamp(40px,4.2vw,64px); line-height: 1.02; }
.fit-intro > p { margin: 0; font-size: 16px; line-height: 1.55; }
.fit-row { height: 100%; min-height: 240px; padding: 30px 24px; gap: 18px; grid-template-columns: 104px minmax(0,1fr); grid-template-rows: auto; align-items: start; align-content: center; cursor: pointer; background: #fff; text-decoration: none; }
.fit-row:is(:hover,:focus-visible) { background: #f7f5fa; }
.fit-row:focus-visible { outline: 2px solid #69429a; outline-offset: -3px; }
.fit-row > b { top: 12px; right: 14px; font-size: 10px; }
.fit-row__portrait { grid-column: 1; grid-row: 1; width: 104px; height: 104px; }
.fit-row__copy { display: block; grid-column: 2; grid-row: 1; align-self: start; }
.fit-row__copy small { font-size: 12px; line-height: 1.45; padding: 0; }
.fit-row__copy .case-caption { font-size: 17px; line-height: 1.45; margin: 10px 0 8px; color: #66655f; }
.fit-row::after { display: none; }
.fit-row__copy .case-source { display: inline-block; color: #69429a; margin: 0; padding: 6px 0; font-size: 12px; }
.fit-row:is(:hover,:focus-visible) .case-source { text-decoration: underline; text-underline-offset: 4px; }
/* Live provider calendar and a separate, dated selection of past recordings. */
.calendar-live { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.5fr); border: 1px solid #1113; background: #fff; }
.calendar-live__intro { padding: 28px 32px; background: #f5f4f0; border-top: 3px solid #69429a; }
.calendar-live__intro .kicker { margin: 0; font-size: 10px; }
.calendar-live__drawing { display: block; width: min(100%,300px); height: 110px; margin: 16px 0; color: #69429a; }
.calendar-live__intro h3 { margin: 0; font-size: clamp(28px,3vw,42px); line-height: 1.08; letter-spacing: -.04em; }
.calendar-live__intro > p:not(.kicker) { font-size: 14px; line-height: 1.55; color: #66655f; margin: 20px 0; max-width: 400px; }
.calendar-live__intro .button { margin: 0; }
.calendar-live__intro > small { display: block; max-width: 330px; font-size: 11px; line-height: 1.5; color: #66655f; margin-top: 16px; }
.calendar-live__embed { min-width: 0; padding: 20px; border-left: 1px solid #1113; }
.calendar-live__embed iframe { display: block; width: 100%; height: 100%; min-height: 440px; border: 0; background: #fff; }
.recent-recordings { margin-top: 40px; }
.recent-recordings__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.recent-recordings__head h3 { margin: 0; font-size: clamp(24px,2.5vw,34px); line-height: 1.1; letter-spacing: -.04em; }
.recent-recordings__head a { flex-shrink: 0; font-size: 12px; color: #69429a; padding-block: 12px; }
.recent-recordings__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.recent-recordings__grid li { display: flex; min-width: 0; }
.recent-recording { display: flex; flex-direction: column; width: 100%; border: 1px solid #1113; background: #fff; text-decoration: none; transition: transform .2s, border-color .2s; }
.recent-recording:is(:hover,:focus-visible) { transform: translateY(-4px); border-color: #69429a; outline: 1px solid #69429a; outline-offset: 3px; }
.recent-recording__image { display: block; position: relative; aspect-ratio: 16/9; overflow: hidden; background: #19171b; border-bottom: 3px solid #69429a; }
.recent-recording__image img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3); }
.recent-recording:is(:hover,:focus-visible) img { filter: none; }
.recent-recording__image > span { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; background: #111b; color: #fff; border: 1px solid #fffa; font-size: 12px; }
.recent-recording__image time { position: absolute; bottom: 10px; right: 10px; padding: 4px 6px; color: #fff; background: #111d; font: 11px/1.3 var(--mono); }
.recent-recording__copy { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 22px; }
.recent-recording__copy small { color: #69429a; font-size: 11px; line-height: 1.5; }
.recent-recording__copy strong { display: block; margin-top: 12px; font-size: clamp(20px,1.8vw,28px); line-height: 1.12; letter-spacing: -.035em; }
.recent-recording__copy > span { display: block; font-size: 13px; line-height: 1.5; color: #66655f; margin: 12px 0 22px; }
.recent-recording__copy b { display: block; width: 100%; padding-top: 14px; margin-top: auto; border-top: 1px solid #1113; font-size: 12px; color: #69429a; }
@media (max-width: 900px) {
  .calendar-live { grid-template-columns: 1fr; }
  .calendar-live__intro { padding: 24px; }
  .calendar-live__drawing { float: right; width: 34%; height: 100px; margin: 12px 0 12px 16px; }
  .calendar-live__intro h3 { margin-top: 20px; font-size: 32px; }
  .calendar-live__intro > small { max-width: none; font-size: 12px; }
  .calendar-live__embed { border-left: 0; border-top: 1px solid #1113; padding: 12px; }
  .calendar-live__embed iframe { height: 420px; min-height: 420px; }
  .recent-recordings__grid { gap: 12px; }
  .recent-recording__copy { padding: 16px; }
}
@media (max-width: 600px) {
  .recent-recordings__grid { grid-template-columns: 1fr; gap: 24px; }
  .recent-recordings__head { flex-wrap: wrap; gap: 4px 12px; }
  .calendar-live__intro { padding: 24px 20px; }
  .calendar-live__drawing { width: 30%; height: 80px; margin-top: 20px; }
  .calendar-live__intro h3 { font-size: 28px; }
  .calendar-live__embed { padding: 8px; }
  .recent-recording__copy { padding: 20px; }
  .recent-recording__copy strong { font-size: 24px; }
  .recent-recording__copy small { font-size: 12px; }
  .recent-recording__copy > span { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .recent-recording { transition: none; }
  .recent-recording:is(:hover,:focus-visible) { transform: none; }
}
.season-place[aria-pressed="true"] { background: #69429a0d; border-color: #69429a55; color: #69429a; }
.season-place[aria-pressed="true"] b { background: #69429a; color: #fff; }
.season-phase__step.is-current { background: #f4f1f7; color: #111; }
.season-phase__step.is-current small { color: #69429a; }
/* Reading and touch audit: keep compact labels, give explanatory copy room. */
.field-guide__boundary { font-size: 12px; line-height: 1.6; }
.season-precedent p { font-size: 14px; line-height: 1.55; }
.session-tape__preview span { font-size: 12px; }
.footer__inner { font-size: 11px; line-height: 1.6; }
.footer nav a { display: inline-flex; align-items: center; min-height: 28px; }
/* One invitation, then a connected reading path. The real form stays in Telegram. */
.application { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); border-color: #1113; border-top: 3px solid #69429a; background: #fff; }
.application__copy { padding: clamp(28px,4vw,56px); }
.application__copy .kicker { margin: 0 0 26px; color: #69429a; font-size: 12px; }
.application__copy h2 { font-size: clamp(38px,4.1vw,64px); line-height: 1.05; letter-spacing: -.055em; }
.application__copy > p:not(.kicker) { margin: 26px 0 0; color: #56515c; font-size: 16px; line-height: 1.6; }
.application__action { display: grid; justify-items: start; gap: 16px; margin-top: 30px; }
.application__action .button { margin: 0; }
.application__action > span { font: 400 12px/1.6 var(--mono); color: #66616c; }
.application__flow { grid-template-columns: 1fr; padding: clamp(28px,4vw,56px); background: #fff; border-color: #1113; }
.application__flow h3 { margin: 0 0 22px; font-size: 12px; color: #69429a; letter-spacing: .06em; }
.application__steps { list-style: none; margin: 0; padding: 0; }
.application__flow .application__steps .flow-row { display: grid; position: relative; grid-template-columns: 38px minmax(0,1fr); gap: 18px; min-height: 0; margin: 0; padding: 22px 0; border: 0; border-top: 1px solid #1113; }
.application__flow .application__steps .flow-row:last-child { border-bottom: 1px solid #1113; }
.application__steps .flow-row::before { content: ''; position: absolute; left: 18px; top: 58px; bottom: -22px; width: 1px; background: #69429a44; }
.application__steps .flow-row:last-child::before { display: none; }
.application__steps .flow-row b { width: 38px; height: 36px; margin: 0; border: 1px solid #69429a66; border-radius: 0; color: #69429a; background: #fff; font-size: 12px; }
.application__steps .flow-row strong { font-size: 19px; line-height: 1.25; }
.application__steps .flow-row span { margin-top: 9px; font-size: 14px; line-height: 1.55; color: #66616c; }
@media (max-width: 900px) {
  .application { grid-template-columns: 1fr; }
  .application__flow { border-left: 0; border-top: 1px solid #1113; }
  .application__copy h2 { font-size: clamp(36px,7.5vw,54px); }
  .application__steps .flow-row strong { font-size: 18px; }
}
@media (max-width: 600px) {
  .application__copy, .application__flow { padding: 28px 20px; }
}
@media (max-width: 900px) {
  .space-story .space-field__card p { font-size: 13px; line-height: 1.55; }
  .space-story .space-field__card-route { min-height: 44px; display: flex; align-items: center; font-size: 12px; }
  .human-fragment__label { font-size: 12px; line-height: 1.45; }
  .human-fragment__label [data-person-name] { font-size: 12px; }
  .human-fragment__label [data-person-role] { overflow-wrap: break-word; }
  .media-tile > span small { font-size: 13px; }
  .final-person-caption { font-size: 12px; }
  .footer nav a { min-height: 44px; }
  .mobile-section-nav a { font-size: 12px; padding-inline: 6px; letter-spacing: 0; }
  .mobile-section-nav a[aria-current="location"] { color: #69429a; background: #f4f0fa; }
  .hero-proof-v2 > div span, .season-contract strong,
  .season-marker small, .session-lane span, .application__flow .flow-row span,
  .season-sun span, .season-sun small, .season-orbit__mode { font-size: 12px; line-height: 1.45; letter-spacing: 0; }
  .season-contract small { font-size: 10px; }
  .season-contract__return { font-size: 14px; line-height: 1.55; }
  .season-marker { max-width: 44%; grid-template-columns: minmax(0,1fr); gap: 4px; letter-spacing: 0; }
  .season-marker small { overflow-wrap: break-word; }
  .season-signal { display: none; }
}
@media (max-width: 1100px) {
  .fit-grid { grid-template-columns: 1fr; }
  .fit-intro { position: static; display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 0; }
  .fit-intro h2 { max-width: 700px; }
  .fit-intro p { max-width: 650px; }
}
@media (max-width: 600px) {
  .season-sun { padding: 20px; }
  .season-marker--equinox { bottom: 18%; }
  .season-marker--solstice { bottom: 7%; }
  .fit-row { min-height: 210px; padding: 28px 18px; grid-template-columns: 84px minmax(0,1fr); gap: 16px; }
  .fit-row__portrait { width: 84px; height: 84px; }
  .fit-row__copy .case-caption { font-size: 16px; }
  .fit-intro { padding: 28px 20px; grid-template-columns: 1fr; gap: 20px; }
  .session-index { grid-template-columns: 1fr; }
  .session-lane { padding: 20px; border-right: 0; border-bottom: 1px solid #1113; }
}
/* v7.2: the chapter and selected source share one rail. */
.media-wall-controls { display:flex; justify-content:flex-end; padding:12px 24px; background:#0a0a0a; }
.media-wall-controls .media-motion-toggle { position:static; min-height:44px; font-size:12px; }
#modes .kicker, .media-tile > span small { font-size:12px; }
.space-topic-nav { position:absolute; z-index:7; top:8px; left:18px; right:18px; display:flex; gap:4px; overflow-x:auto; scrollbar-width:thin; }
.space-topic-nav[hidden] { display:none; }
.space-topic-nav button { flex:none; min-height:44px; padding:8px 12px; border:1px solid #d9d9d9; background:#fff; color:#555; font:500 12px/1.3 var(--mono); cursor:pointer; }
.space-topic-nav button:is(:hover,[aria-pressed="true"]) { color:#69429a; border-color:#69429a; background:#f4f0fa; }
.space-story .space-field { --space-camera-inset-top:68px; --space-camera-inset-bottom:62px; }
.session-tape__preview { display:grid; grid-template-columns:minmax(0,1fr); align-content:center; gap:8px; }
.session-tape__image { width:100%; max-width:240px; aspect-ratio:16/9; object-fit:cover; filter:grayscale(.7); }
.session-tape__image[hidden] { display:none; }
.session-tape__preview [data-session-name] { font-size:24px; }
.session-tape__preview [data-session-detail] { font-size:13px; }
.session-tape__preview a { font-size:12px; padding:8px 0; }
.space-story .space-field__card { border-top:3px solid #69429a; }
.space-story .space-field__card-index { font-size:12px; }
.space-story .space-field__card h3 { font-size:21px; }
.space-story .space-field__card p { font-size:13px; }
.space-story .space-field__card-route { font-size:12px; min-height:36px; }
@media (min-width:901px) {
  html[data-story-layout="immersive"] .space-story .space-field { --space-camera-inset-top:68px; --space-camera-inset-bottom:54px; }
  html[data-story-layout="immersive"] .space-topic-nav { left:var(--space-camera-inset-left); }
  html[data-story-layout="immersive"] .space-story__chapters { display:flex; flex-direction:column; gap:14px; }
  html[data-story-layout="immersive"] .story-chapter { display:none; position:relative; inset:auto; width:100%; flex:0 1 auto; min-height:0; }
  html[data-story-layout="immersive"] .story-chapter.is-current { display:block; }
  html[data-story-layout="immersive"] .space-story__chapters .space-field__card { position:relative; inset:auto; width:100%; margin:0; flex:0 0 auto; max-height:42%; overflow-y:auto; pointer-events:auto; grid-template-columns:72px minmax(0,1fr); padding:16px; }
  .space-story .space-field__card[data-media="session"] .space-field__card-image { width:72px; height:auto; aspect-ratio:16/9; }
  .space-story .space-field__card h3 { font-size:19px; }
}
@media (min-width:1200px) {
  .session-tape__preview:has(.session-tape__image:not([hidden])) { grid-template-columns:160px minmax(0,1fr); gap:8px 20px; padding-inline:32px; }
  .session-tape__image { grid-column:1; grid-row:1 / 6; align-self:center; }
  .session-tape__preview:has(.session-tape__image:not([hidden])) > :not(img) { grid-column:2; }
}
@media (max-width:900px) {
  .space-story .space-field__card { grid-template-columns:80px minmax(0,1fr); }
  .space-story .space-field__card-image { width:80px; height:80px; }
  .space-story .space-field__card[data-media="session"] .space-field__card-image { height:auto; aspect-ratio:16/9; }
  .space-story .space-field__legend { font-size:10px; line-height:1.5; }
}
