/* Stage Your Season — overrides on top of style_new.css.
 * Everything here is layout for screens Map Your Month doesn't have.
 * Palette, type and chrome come from style_new.css untouched. */

/* Staged panels navigate with their own stage actions. */
.panel[data-panel="prime"] > .actions,
.panel[data-panel="prep"] > .actions,
.panel[data-panel="process"] > .actions { display: none !important; }

/* Begin */
.season-fixed { font-size: 15px !important; }
.season-fixed strong { font-family: 'Fraunces', serif; font-weight: 500; color: var(--rose); }
.window-note { margin-top: 10px; color: var(--ink) !important; }
.window-closed .save-for-later { margin-top: 18px; }
.season-month { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 13px; color: var(--ink-soft); }
.season-desc { display: block !important; }

.field-meta-soft { opacity: 0.75; font-style: italic; }
.optional-tag { font-family: 'Onest', sans-serif; font-size: 10px; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--ink-soft); margin-left: 10px; vertical-align: middle; font-weight: 400; }

/* Foundations */
.foundations-list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.foundation-item .tending-option-label { padding: 6px 0; }
@media (max-width: 640px) { .foundations-list { grid-template-columns: 1fr; } }

/* Seasonal priorities */
.priority-cards { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 14px; }
.priority-card { padding: 18px 20px 12px !important; }
.priority-card-name { margin-bottom: 4px !important; }
.priority-card .tending-card-desc { margin-bottom: 8px; }
.priority-card .priorities-list { margin: 0; }
.priority-card .priority-row { margin: 6px 0; }

/* Prompt pager (Set the Tone, Connection prompts) */
.prompt-pager { margin-top: 18px; }
.prompt-dots { display: flex; gap: 8px; margin: 0 0 14px; }
.prompt-dot { width: 8px; height: 8px; border-radius: 999px; border: 1px solid var(--gold); background: transparent; }
.prompt-dot.is-filled { background: var(--rose); border-color: var(--rose); }
.prompt-dot.is-skipped { background: var(--hairline); border-color: var(--hairline); }
.prompt-dot.is-current { box-shadow: 0 0 0 3px rgba(197,160,106,0.28); }
.prompt-card { background: var(--surface-2, #fff); border: 0.5px solid var(--ink-hair, var(--hairline)); border-radius: 2px; padding: 22px 24px; }
.prompt-count { font-family: 'Onest', sans-serif; font-size: 10px; letter-spacing: 1.8px; text-transform: uppercase; color: var(--rose); margin-bottom: 6px; }
.prompt-title { font-family: 'Fraunces', serif; font-weight: 500; font-size: 20px; margin: 0 0 6px; color: var(--ink); }
.prompt-text { font-family: 'Onest', sans-serif; font-weight: 300; font-size: 14.5px; line-height: 1.6; color: var(--ink); margin: 0 0 14px; }
.prompt-input { width: 100%; min-height: 160px; }
.prompt-skipped { margin-top: 8px; }
.prompt-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.prompt-actions-right { display: flex; align-items: center; gap: 16px; }
.prompt-skip { font-size: 13px; }

/* Looking Ahead */
.month-blocks { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 14px; }
.holiday-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; }
.holiday-item { display: flex !important; align-items: center; gap: 8px; }
.holiday-item label { display: inline-flex; align-items: baseline; gap: 8px; cursor: pointer; }
@media (max-width: 640px) { .holiday-list { grid-template-columns: 1fr; } }
.stage-date-form { flex-wrap: wrap; margin-top: 12px; }
.stage-date-form .pd-date { flex: 0 0 150px; }
.stage-date-form .pd-label { flex: 1 1 180px; }
.stage-date-form .pd-type { flex: 0 0 130px; }
.pd-seasonal { display: inline-flex; align-items: center; gap: 6px; }
.pd-seasonal-label { font-family: 'Onest', sans-serif; font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--ink-soft); margin-right: 2px; }
.personal-date-meta { font-family: 'Onest', sans-serif; font-size: 11px; color: var(--ink-soft); margin-left: auto; padding-right: 8px; white-space: nowrap; }
.personal-date-row { display: flex; align-items: center; gap: 10px; }

/* Traditions */
.tradition-card { padding: 14px 18px !important; }
.tradition-head { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.tradition-head .tending-card-name { margin: 0 !important; }
.tradition-steps { margin-top: 10px !important; padding-left: 30px; }
.tradition-card:not(.is-on) .tending-card-name { color: var(--ink-soft); }

/* Restoration tiles */
.restoration-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
@media (max-width: 760px) { .restoration-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .restoration-tiles { grid-template-columns: 1fr; } }
.resto-tile { background: var(--surface-2, #fff); border: 0.5px solid var(--ink-hair, var(--hairline)); border-radius: 2px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.resto-tile.is-on { border-color: var(--rose); background: var(--blush-tint, var(--blush)); }
.resto-tile-btn { display: flex; align-items: center; gap: 10px; background: none; border: 0; padding: 0; text-align: left; cursor: pointer; font: inherit; color: var(--ink); width: 100%; }
.resto-check { width: 16px; height: 16px; border-radius: 999px; border: 1px solid var(--gold); flex: 0 0 16px; position: relative; }
.resto-tile.is-on .resto-check { background: var(--rose); border-color: var(--rose); }
.resto-tile.is-on .resto-check::after { content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border: solid #fff; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.resto-label { font-family: 'Fraunces', serif; font-size: 15px; font-weight: 400; line-height: 1.3; }
.resto-month { display: flex; gap: 6px; }
.resto-month .tending-pill { padding: 4px 12px; font-size: 12px; }
.resto-tile.is-custom .tending-custom-remove { margin-left: auto; }
.resto-add { grid-column: 1 / -1; }
.restoration-nudge { margin-top: 12px; color: var(--rose) !important; }

/* Routine builder */
.routine-builder { margin-top: 14px; display: flex; flex-direction: column; gap: 22px; }
.routine-card { padding: 20px 22px !important; }
.routine-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.routine-card-head .kicker-badge { margin: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 10px; }
.chip { padding: 6px 14px; font-size: 12.5px; text-align: left; line-height: 1.3; }
.chip.is-custom { font-style: italic; }
.order-list { list-style: none; margin: 8px 0 0; padding: 0; }
.order-row { display: grid; grid-template-columns: 28px minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 0.5px solid var(--hairline); }
.order-text { font-family: 'Onest', sans-serif; font-weight: 300; font-size: 13.5px; color: var(--ink); }
.order-when { font-size: 13px !important; padding: 6px 10px !important; }
.order-move { display: inline-flex; gap: 4px; }
.order-btn { width: 26px; height: 26px; border-radius: 999px; border: 1px solid var(--hairline); background: #fff; color: var(--ink-soft); cursor: pointer; font-size: 12px; }
.order-btn:hover { border-color: var(--rose); color: var(--rose); }
@media (max-width: 640px) { .order-row { grid-template-columns: 24px 1fr auto; } .order-when { grid-column: 2 / -1; } }

/* Menu card count */
.tending-card-count { font-family: 'Onest', sans-serif; font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--rose); margin-left: auto; margin-right: 12px; }

/* Sidebar sub-progression visibility for any panel */
.sub-progression { display: none; }
.sub-progression.is-visible { display: block; }

/* ---------------------------------------------------------------------
   Cooler gold (default for Stage Your Season, approved 2026-10-14).
   Champagne gold #C5A06A shifts to a cooler, quieter pewter-champagne
   #B4A382 (rgb 180,163,130); tints and washes follow. Everything else in
   the palette stays. body.tone-cool is applied by the template unless
   ?tone=warm is passed, which shows Map Your Month's gold for comparison.
   --------------------------------------------------------------------- */
body.tone-cool {
  --gold: #B4A382; --gold-tint: #F6F3EC; --gold-wash: #EDE8DD;
  --season-tint: #8A6A74;
  background: #ECE8E3;
}
body.tone-cool .form-group { background: rgba(180,163,130,0.10) !important; border-color: rgba(180,163,130,0.24) !important; }
body.tone-cool .form-group:focus-within { background: rgba(180,163,130,0.14) !important; border-color: rgba(180,163,130,0.45) !important; }
body.tone-cool .tending-card { background: rgba(180,163,130,0.08) !important; border-color: rgba(180,163,130,0.22) !important; }
body.tone-cool .evaluate-callout { background: rgba(180,163,130,0.10) !important; border-color: rgba(180,163,130,0.24) !important; }
body.tone-cool .placeholder { background: rgba(180,163,130,0.12) !important; border-color: rgba(180,163,130,0.30) !important; }
body.tone-cool .modal { background: #FDFCFA !important; border-color: rgba(180,163,130,0.28) !important; }
body.tone-cool .step:not(.is-current):hover { background: rgba(180,163,130,0.10); }
body.tool-cool .icon-btn:hover, body.tone-cool .icon-btn:hover { background: rgba(180,163,130,0.10); border-color: rgba(180,163,130,0.30); }
body.tone-cool .mobile-topbar { background: linear-gradient(180deg, #F6F3EC 0%, #FDFCFA 100%); }
body.tone-cool .mobile-menu-btn:hover { background: rgba(180,163,130,0.14); }
body.tone-cool .mobile-progress { background: rgba(180,163,130,0.15); }
body.tone-cool ::-webkit-scrollbar-thumb { background: rgba(180,163,130,0.3); }
body.tone-cool .prompt-card, body.tone-cool .resto-tile { border-color: rgba(180,163,130,0.3); }
body.tone-cool .prompt-dot { border-color: var(--gold); }
body.tone-cool .prompt-dot.is-current { box-shadow: 0 0 0 3px rgba(180,163,130,0.3); }
body.tone-cool .resto-check, body.tone-cool .order-btn { border-color: var(--gold); }

/* ---------------------------------------------------------------------
   2026-10 shell (matches Map Your Month's redesign of 2026-10-15)
   --------------------------------------------------------------------- */

/* Stage strip: the sub-steps inside Prime, Prep and Process, shown under
   the lede now that the rail no longer carries a sub-progression. */
.stage-strip { list-style: none; display: flex; flex-wrap: wrap; gap: 0 26px; margin: -6px 0 26px; padding: 0 0 12px;
  border-bottom: 1px solid var(--ink-hair); }
.stage-strip-item { display: flex; align-items: center; gap: 8px; padding: 8px 0; font-family: 'Onest', sans-serif;
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #A4989E; border-bottom: 2px solid transparent; margin-bottom: -13px; }
.stage-strip-item i { font-family: 'Fraunces', Georgia, serif; font-style: normal; font-size: 12px; color: var(--gold); }
.stage-strip-item.is-done { color: var(--ink-soft); }
.stage-strip-item.is-done i::after { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); margin-left: 6px; vertical-align: middle; }
.stage-strip-item.is-current { color: var(--ink); border-bottom-color: var(--rose); }
@media (max-width: 767px) {
  .stage-strip { flex-wrap: nowrap; overflow-x: auto; gap: 0 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .stage-strip::-webkit-scrollbar { display: none; }
  .stage-strip-item { flex: 0 0 auto; white-space: nowrap; font-size: 8.5px; letter-spacing: 1.2px; }
}

/* Begin hero: the season panel replaces the old "which season" field. */
.season-panel .season-position { display: block !important; }
.season-panel .season-desc { display: block !important; }

/* Square geometry for this tool's own components. */
.prompt-card, .resto-tile, .priority-card, .routine-card, .tradition-card, .order-btn, .tending-pill, .chip { border-radius: 0 !important; }
.resto-check { border-radius: 0; }
.prompt-dot { border-radius: 0; width: 7px; height: 7px; }

/* Cooler gold for the new shell elements. */
body.tone-cool { --gold-deep: #8E8060; }
body.tone-cool .btn.inverse { background: var(--gold-tint) !important; color: #7E7257 !important; border-color: rgba(180,163,130,0.5) !important; }
body.tone-cool .btn.inverse:hover { background: var(--gold-wash) !important; border-color: rgba(180,163,130,0.75) !important; color: #6E634B !important; }
body.tone-cool .topbar-sub, body.tone-cool .season-panel .season-position { color: var(--gold-deep) !important; }
body.tone-cool .season-cell-glyph { color: rgba(180,163,130,0.72); }
body.tone-cool .season-cell.is-current .season-cell-glyph, body.tone-cool .season-cell.is-current .season-cell-months { color: var(--gold); }
@media (min-width: 768px) {
  body.tone-cool .sidebar .brand-mark { background-color: var(--gold) !important; }
  body.tone-cool .sidebar .step .dot { border-color: rgba(180,163,130,.6); }
}
@media (max-width: 767px) {
  body.tone-cool .mobile-brand-mark, body.tone-cool .mobile-progress-fill { background-color: var(--gold) !important; }
  body.tone-cool .mobile-progress { background: rgba(180,163,130,.22) !important; }
  body.tone-cool .mobile-season-glyph, body.tone-cool .mobile-brand-sub { color: var(--gold) !important; }
}

/* ---------------------------------------------------------------------
   v2 flow (2026-10-16): interludes, pagers, tiles, builder, summary
   --------------------------------------------------------------------- */

/* Interludes: a quiet screen with the season glyph and Thea's words. */
.panel.is-interlude > .stage-strip, .panel.is-interlude > .lede, .panel.is-interlude > h2, .panel.is-interlude > .kicker-badge { display: none; }
.interlude { max-width: 640px; margin: 0 auto 0; padding: 4px 0 24px; text-align: left; }
.interlude-glyph { display: block; margin-bottom: 18px; }
.interlude-title { font-family: 'Fraunces', Georgia, serif; font-weight: 300; font-size: 44px; letter-spacing: -1px; line-height: 1.05; margin: 0 0 6px; color: var(--ink); }
.interlude-sub { font-family: 'Onest', sans-serif; font-size: 10px; letter-spacing: 2.4px; text-transform: uppercase; color: var(--gold-deep, #9A7740); margin: 0 0 26px; }
.interlude-text { font-family: 'Fraunces', Georgia, serif; font-weight: 300; font-size: 18px; line-height: 1.6; color: var(--ink); margin: 0 0 18px; }
.interlude-quote { font-style: italic; color: var(--ink-soft); }
.interlude-actions { display: flex; gap: 14px; align-items: center; margin-top: 30px; }
@media (max-width: 767px) { .interlude { padding: 18px 0 10px; } .interlude-title { font-size: 32px; } .interlude-text { font-size: 16px; } }

/* Begin: the walk and the time line. */
.walk { list-style: none; margin: 0 0 8px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; max-width: 860px; }
.walk-item { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; }
.walk-item i { font-family: 'Fraunces', Georgia, serif; font-style: normal; font-size: 15px; color: var(--gold); line-height: 1.4; }
.walk-item strong { display: block; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 15px; color: var(--ink); margin-bottom: 2px; }
.walk-item span { display: block; font-family: 'Onest', sans-serif; font-weight: 300; font-size: 13px; line-height: 1.55; color: var(--ink-soft); }
.walk-time { font-family: 'Onest', sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-deep, #9A7740); margin: 34px 0 30px; }
.returning { font-family: 'Onest', sans-serif; font-size: 13px; color: var(--ink-soft); margin: -8px 0 18px; }
.returning .btn-link { margin-left: 6px; }
@media (max-width: 640px) { .walk { grid-template-columns: 1fr; } }

/* Pills (foundations, routine areas). */
.pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pill { padding: 8px 16px; font-size: 13px; }
.pills-large .pill { padding: 12px 20px; font-size: 14px; }
.pill.is-selected { background: var(--rose) !important; color: #fff !important; border-color: var(--rose) !important; }

/* Priorities pager. */
.priorities-pager { margin: 6px 0 0 !important; }
.priorities-pager .priority-row { margin: 8px 0; }
.prompt-dot { cursor: pointer; padding: 0; }
.pager-escape { margin: 10px 0 0; text-align: right; font-size: 12.5px; }

/* Add-a-date disclosure. */
.pd-open { margin-top: 12px; }
.stage-date-form { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; padding: 14px; border: 1px solid var(--ink-hair); background: #fff; }
.pd-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pd-row .pd-date { flex: 0 0 160px; } .pd-row .pd-label { flex: 1 1 200px; } .pd-row .pd-type { flex: 0 0 140px; }
.pd-cancel { margin-left: 4px; }

/* Tile grid (traditions). */
.tile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
@media (max-width: 760px) { .tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .tile-grid { grid-template-columns: 1fr; } }
.tile { display: flex; align-items: center; gap: 10px; text-align: left; background: var(--surface-2, #fff); border: 0.5px solid var(--ink-hair, var(--hairline)); padding: 14px 14px; cursor: pointer; font: inherit; color: var(--ink); }
.tile.is-on { border-color: var(--rose); background: var(--blush-tint, var(--blush)); }
.tile.is-on .resto-check { background: var(--rose); border-color: var(--rose); }
.tile-label { font-family: 'Fraunces', Georgia, serif; font-size: 15px; line-height: 1.3; }
.tile-add { grid-column: 1 / -1; display: flex; gap: 8px; cursor: default; }
.tile-add .tending-custom-input { flex: 1; }
.tradition-details { display: flex; flex-direction: column; gap: 16px; margin-top: 22px; }

/* Builder. */
.stage-strip-moves { margin-top: 10px; }
.routine-done { padding: 18px 20px !important; margin-bottom: 14px; }
.routine-done-tools { display: inline-flex; align-items: center; gap: 12px; }
.routine-done-order { margin: 8px 0 0; padding-left: 18px; font-family: 'Onest', sans-serif; font-weight: 300; font-size: 13px; color: var(--ink); }
.order-when-text { color: var(--ink-soft); }
.routine-done-anchor { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 14px; color: var(--ink-soft); margin: 10px 0 0; }
.chips-suggest { margin-top: 10px; }
.chips-picked { margin: 10px 0 16px; }
.routine-builder .evaluate-callout { margin: 12px 0 16px; }

/* Stacked connection prompts. */
.stacked-prompts { margin-top: 18px; }
.stacked-prompts-lede { margin-bottom: 8px !important; }
.stacked-prompt { border-top: 1px solid var(--ink-hair); padding: 12px 0; }
.stacked-prompt:last-of-type { border-bottom: 1px solid var(--ink-hair); }
.stacked-prompt summary { list-style: none; display: grid; grid-template-columns: 34px 1fr; gap: 10px; cursor: pointer; align-items: start; }
.stacked-prompt summary::-webkit-details-marker { display: none; }
.stacked-prompt .prompt-count { margin: 2px 0 0; }
.stacked-prompt-text { font-family: 'Onest', sans-serif; font-weight: 300; font-size: 14px; line-height: 1.55; color: var(--ink); }
.stacked-prompt textarea { margin: 12px 0 4px 44px; width: calc(100% - 44px); }

/* Stage It summary. */
.summary { list-style: none; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--ink-hair); max-width: 760px; }
.summary-row { border-bottom: 1px solid var(--ink-hair); }
.summary-link { all: unset; display: grid; grid-template-columns: 1fr auto 20px; gap: 16px; align-items: center; width: 100%; box-sizing: border-box; padding: 14px 4px; cursor: pointer; }
.summary-link:hover { background: rgba(180,163,130,0.08); }
.summary-label { font-family: 'Fraunces', Georgia, serif; font-size: 16px; color: var(--ink); }
.summary-value { font-family: 'Onest', sans-serif; font-size: 12.5px; color: var(--ink-soft); text-align: right; }
.summary-row.is-thin .summary-value { color: var(--rose); }
.summary-go { color: var(--gold); }
.panel.is-interlude > .actions { display: none !important; }
.interlude-actions a.btn { text-decoration: none !important; }

/* ---- v3 flow (2026-10-22): foundations check, focus, image tiles ---- */
.rating-list { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.rating-row { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; align-items: center; gap: 14px; padding: 12px 14px; background: var(--surface-2, #fff); border: 0.5px solid var(--ink-hair, var(--hairline)); }
.rating-row.is-rated { border-color: var(--rose); }
.rating-label { font-family: 'Fraunces', Georgia, serif; font-size: 15px; color: var(--ink); }
.rating-scale { display: flex; gap: 4px; flex-wrap: wrap; }
.rating-dot { width: 32px; height: 32px; border: 0.5px solid var(--ink-hair, var(--hairline)); background: transparent; font: 500 12px 'Onest', sans-serif; color: var(--ink-soft); cursor: pointer; padding: 0; transition: background 120ms, color 120ms, border-color 120ms; }
.rating-dot:hover { border-color: var(--rose); color: var(--ink); }
.rating-dot.is-below { background: var(--blush-tint, var(--blush)); border-color: rgba(95,23,48,0.25); color: var(--ink); }
.rating-dot.is-selected { background: var(--rose); border-color: var(--rose); color: #fff; }
@media (max-width: 640px) { .rating-row { grid-template-columns: 1fr; gap: 8px; } .rating-dot { width: 28px; height: 28px; font-size: 11px; } }

.focus-reminder { margin: 14px 0 22px; padding: 16px 18px; background: var(--surface-2, #fff); border-left: 2px solid var(--gold); }
.focus-reminder .field-label { margin: 0 0 6px; }
.focus-reminder-text { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 16px; line-height: 1.5; color: var(--ink); margin: 0 0 16px; }
.focus-priorities { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 20px; }
.focus-pri-cat { display: block; font: 500 10.5px 'Onest', sans-serif; letter-spacing: 1.4px; text-transform: uppercase; color: var(--gold-deep, var(--gold)); margin-bottom: 4px; }
.focus-pri-list { list-style: none; margin: 0; padding: 0; }
.focus-pri-list li { font-family: 'Fraunces', Georgia, serif; font-size: 14px; line-height: 1.45; color: var(--ink); padding: 2px 0; }
.pill-meta { margin-left: 8px; font-size: 11px; opacity: 0.7; }

.restoration-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .restoration-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.resto-tile.has-image .resto-tile-btn { flex-direction: column; align-items: flex-start; gap: 8px; }
.resto-art { display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; }
.resto-art img { max-width: 100%; max-height: 120px; object-fit: contain; opacity: 0.9; transition: opacity 150ms, transform 200ms; }
.resto-tile.has-image:hover .resto-art img { opacity: 1; transform: translateY(-2px); }
.resto-tile.has-image .resto-check { position: absolute; top: 12px; right: 12px; }
.resto-tile.has-image { position: relative; }
.resto-tile.has-image .resto-label { font-family: 'Fraunces', Georgia, serif; font-size: 15px; line-height: 1.3; }
.tile.is-custom .tending-custom-remove { margin-left: auto; }
.tending-option-row.is-placeholder { opacity: 0.45; }
.tending-option-row.is-placeholder .tending-option-title { font-style: italic; font-weight: 400; }

/* Section instructions (italic): a touch larger for readability (2026-10-22) */
.prep-section > .field-meta, .interlude .field-meta { font-size: 18.5px !important; line-height: 1.5 !important; color: var(--rose, #5F1730) !important; font-weight: 500 !important; margin: 10px 0 20px !important; }
.prep-section .form-group > .field-meta { font-size: 16px !important; line-height: 1.55 !important; color: var(--ink) !important; }

/* Foundations help: hover tip + click-to-open text (2026-10-22) */
.rating-label { display: flex; align-items: center; gap: 8px; }
.help-dot { position: relative; width: 18px; height: 18px; border-radius: 50%; border: 0.5px solid var(--gold-deep, var(--gold)); background: transparent; color: var(--gold-deep, var(--gold)); font: 500 11px 'Onest', sans-serif; line-height: 1; cursor: pointer; padding: 0; flex: none; }
.help-dot:hover, .rating-row.is-help-open .help-dot { background: var(--gold-deep, var(--gold)); color: #fff; }
.help-dot::after { content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); white-space: nowrap; background: var(--ink); color: #fff; font: 300 11.5px 'Onest', sans-serif; letter-spacing: 0.2px; padding: 6px 10px; opacity: 0; pointer-events: none; transition: opacity 120ms; z-index: 5; }
.help-dot:hover::after, .help-dot:focus-visible::after { opacity: 1; }
.rating-row.is-help-open .help-dot::after { opacity: 0; }
.rating-help { grid-column: 1 / -1; margin: 6px 0 2px; padding: 12px 14px; background: #F7F2E8; border-left: 2px solid var(--gold); font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 16px; line-height: 1.5; color: var(--rose, #5F1730); }
.rating-help[hidden] { display: none; }
@media (max-width: 640px) { .help-dot::after { display: none; } }

/* Foundations to Prioritize: the question leads (2026-10-22) */
.focus-ask { margin: 14px 0 22px; padding: 22px 24px 20px; background: var(--surface-2, #fff); border: 0.5px solid var(--rose); }
.focus-ask-question { font-family: 'Fraunces', Georgia, serif; font-weight: 300; font-size: 21px; line-height: 1.35; color: var(--ink); margin: 0 0 14px; }
.focus-ask .pills { margin-top: 4px; }
.focus-ask .pill { padding: 14px 22px; font-size: 14.5px; }
.focus-reminder { margin: 0 0 8px; opacity: 0.92; }
@media (max-width: 640px) { .focus-ask-question { font-size: 18px; } }

/* Looking Ahead: add-your-own invite (2026-10-22) */
.pd-invite { display: block; margin-top: 22px; padding: 0; background: none; border: 0; }
.pd-invite-heading { display: block; font-family: 'Fraunces', Georgia, serif; font-weight: 300; font-size: 19px; line-height: 1.3; color: var(--ink); padding-bottom: 8px; border-bottom: 1px solid var(--gold); margin-bottom: 14px; }
.pd-invite .pd-open { margin-top: 0; }

/* Stage It landing (2026-10-23) */
.stage-landing { max-width: 720px; }
.stage-blank { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 16.5px; line-height: 1.5; color: var(--ink); margin: 0 0 26px; padding: 12px 16px; background: var(--blush-tint, var(--blush)); border-left: 2px solid var(--gold); }
.stage-blank-link { font: inherit !important; font-style: italic !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rose) !important; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; display: inline !important; }
.stage-cta { margin: 6px 0 10px; }
.btn-large { padding: 18px 40px !important; font-size: 13px !important; letter-spacing: 2.4px !important; }
.stage-note { font-family: 'Onest', sans-serif; font-weight: 300; font-size: 13px; line-height: 1.6; color: var(--ink-soft); margin: 14px 0 0; }
.panel[data-panel="finish"] .stage-strip { display: none; }

/* Begin: form box ends where the text column ends (2026-10-23) */
.panel[data-panel="begin"] .form-group, .panel[data-panel="begin"] .begin-actions, .panel[data-panel="begin"] .copyright-notice { max-width: 860px; }

/* Restoration: chosen tiles in gold with a plum outline (2026-10-23) */
.resto-tile.has-image.is-on { background: #DCCFB1 !important; border: 1px solid var(--rose, #5F1730) !important; }
.resto-tile.has-image.is-on .resto-label { color: var(--ink); }
.resto-tile.has-image.is-on .resto-month .tending-pill:not(.is-selected) { background: rgba(255,255,255,0.55); }

/* Custom ("your own") rows read like checked options (2026-10-23) */
.tending-custom-row { align-items: center !important; padding: 8px 0 !important; }
.tending-custom-text { display: block !important; font-family: 'Fraunces', Georgia, serif !important; font-size: 17px !important; line-height: 1.3 !important; color: var(--ink) !important; }
.tending-custom-text::before { content: "" !important; display: inline-block; width: 11px; height: 11px; margin: 0 10px -1px 1px; background: var(--rose); border: 1px solid var(--rose); box-sizing: border-box; }
.tending-custom-remove { color: var(--ink-soft); font-size: 16px; line-height: 1; background: none; border: 0; cursor: pointer; padding: 2px 6px; }
.tending-custom-remove:hover { color: var(--rose); }
.tending-card-body .tending-custom-text { font-size: 15px !important; }

/* Holiday task dump (2026-10-26) */
.task-dump { margin-top: 6px; }
.task-dump-list { margin-bottom: 10px; }
