/* RUMA v3 · home area. Owned by the home agent; reads tokens.css vars only. */

/* ---------- hero: Your place is waiting. / Move well. Live well. ---------- */
.theme-v3 .hero__kicker { font-family: var(--font-display); font-style: italic; color: var(--candle-soft); font-size: clamp(1.2rem, 1.5vw, 1.55rem); line-height: 1.3;
  margin-bottom: clamp(14px, 1.6vw, 24px); text-shadow: 0 1px 18px rgb(var(--deep-rgb) / .8); }
/* RUMA is read (h1 = "RUMA Move well. Live well."), the header wordmark shows it */
.theme-v3 .home-h1 { font-size: clamp(3.4rem, 8.2vw, 9.6rem); line-height: .96; letter-spacing: -.035em; padding-bottom: .06em; text-shadow: 0 2px 40px rgb(var(--deep-rgb) / .5); }
.theme-v3 .home-h1__brand { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.theme-v3 .home-h1__tag > span, .theme-v3 .home-h1__tag > em { display: block; }
.theme-v3 .home-h1__tag > em { padding-left: .9em; } /* the second line steps in, like a breath out */
.theme-v3 .hero__sub { margin-top: clamp(20px, 2.2vw, 34px); font-size: clamp(1.15rem, 1.35vw, 1.4rem); line-height: 1.5; max-width: 44ch; color: var(--text);
  text-wrap: balance; text-shadow: 0 1px 18px rgb(var(--deep-rgb) / .7); }
.theme-v3 .hero__ctas { display: flex; flex-wrap: wrap; align-items: center; margin-top: clamp(28px, 3.2vw, 48px); gap: 4px clamp(24px, 2.6vw, 40px); }
/* signed in: the "Your RUMA today" card tucks up over the hero's foot */
.theme-v3 .hero:has(+ .home-today) .hero__inner { padding-bottom: calc(clamp(72px, 11vh, 136px) + clamp(40px, 6vw, 72px)); }
@media (max-width: 700px) {
  .theme-v3 .home-h1__tag > em { padding-left: .55em; }
  /* phones: the Book dock is the thumb-reach "Reserve your mat"; the hero keeps the quiet link */
  .theme-v3.has-dock .hero__reserve { display: none; }
  .theme-v3 .hero:has(+ .home-today) .hero__inner { padding-bottom: calc(var(--dock-h) + 40px + 40px); }
}

/* ---------- your RUMA today (signed in) ---------- */
.theme-v3 .home-today { position: relative; z-index: 3; margin-top: calc(-1 * clamp(40px, 6vw, 72px)); }
.theme-v3 .home-today__card {
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 16px clamp(24px, 4vw, 64px); align-items: center;
  padding: clamp(22px, 3vw, 36px) clamp(22px, 3.4vw, 44px); border-radius: var(--r-shell);
  background: rgb(var(--ember-rgb) / .92); box-shadow: inset 0 0 0 1px var(--line-strong);
}
.theme-v3 .home-today__hello { font-family: var(--font-display); font-style: italic; color: var(--candle-soft); font-size: 1.2rem; }
.theme-v3 .home-today__h { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-top: 4px; }
.theme-v3 .home-today__body { display: grid; gap: 8px; }
.theme-v3 .home-today__cls { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; color: var(--text); }
.theme-v3 .home-today__cls b { font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; color: var(--text-strong); }
.theme-v3 .home-today__note { color: var(--candle-soft); font-style: italic; font-family: var(--font-display); }
.theme-v3 .home-today__links { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0 24px; }
@media (max-width: 760px) { .theme-v3 .home-today__card { grid-template-columns: 1fr; } }

/* ---------- move well. live well. + pillars ---------- */
.theme-v3 .home-mwlw { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 112px); align-items: end; margin-bottom: clamp(48px, 6vw, 96px); }
.theme-v3 .home-mwlw .sec-head { margin-bottom: 0; }
.theme-v3 .home-mwlw__pair { list-style: none; padding: 0; display: grid; gap: 0; margin: 0; border-top: 1px solid var(--line); }
.theme-v3 .home-mwlw__pair > li {
  display: grid; grid-template-columns: clamp(96px, 11vw, 168px) minmax(0, 1fr); gap: clamp(16px, 2vw, 32px); align-items: center;
  padding: clamp(18px, 2vw, 26px) 0; border-bottom: 1px solid var(--line);
}
.theme-v3 .home-mwlw__m { aspect-ratio: 4 / 5; }
.theme-v3 .home-mwlw__txt { display: grid; gap: 6px; }
.theme-v3 .home-mwlw__pair .label { color: var(--candle-soft); }
.theme-v3 .home-mwlw__lead { font-family: var(--font-display); font-size: clamp(1.3rem, 1.8vw, 1.6rem); line-height: 1.2; color: var(--text-strong); }
.theme-v3 .home-mwlw__list { color: var(--muted); font-size: var(--fs-small); line-height: 1.55; }
.theme-v3 .home-pillars .pillar__word { font-size: clamp(2.4rem, 5.2vw, 4.6rem); }
.theme-v3 .home-pillars .pillar__es { font-size: 1.1rem; color: var(--candle-soft); text-align: right; }
.theme-v3 .home-close {
  margin: clamp(48px, 6vw, 96px) auto 0; max-width: 40ch; text-align: center;
  font-family: var(--font-display); font-style: italic; font-size: clamp(1.3rem, 2vw, 1.75rem); line-height: 1.45; color: var(--text-strong);
}
@media (max-width: 900px) { .theme-v3 .home-mwlw { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .theme-v3 .home-pillars .pillar__es { grid-column: 1 / -1; text-align: left; } }

/* ---------- how do you want to feel today? (radios, no JS needed) ---------- */
.theme-v3 .feel__set { border: 0; margin: 0; padding: 0; min-width: 0; }
.theme-v3 .feel__radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.theme-v3 .feel__panel { display: none; }
.theme-v3 .feel__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; gap: 6px clamp(18px, 3vw, 40px); }
.theme-v3 .feel__word { font-size: clamp(2.2rem, 4vw, 3.4rem); font-style: italic; color: var(--candle-soft); }
.theme-v3 .feel__line { color: var(--text); max-width: 52ch; }
.theme-v3 .feel__count { font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--muted); }

/* the photo cards: one row on wide screens, a swipeable row on phones */
.theme-v3 .feel__cards {
  list-style: none; padding: 0; margin: clamp(22px, 3vw, 36px) 0 0;
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: clamp(10px, 1.3vw, 20px);
}
.theme-v3 .feel__link {
  position: relative; display: block; height: 100%; border-radius: var(--r-media); overflow: hidden; text-decoration: none; color: var(--text-strong);
  isolation: isolate; box-shadow: inset 0 0 0 1px var(--line);
}
.theme-v3 .feel__media { display: block; border-radius: 0; aspect-ratio: 4 / 5; }
.theme-v3 .feel__cards[data-n="3"] .feel__media { aspect-ratio: 5 / 4; }
.theme-v3 .feel__cards[data-n="4"] .feel__media { aspect-ratio: 1; }
.theme-v3 .feel__media > img { transition: transform 1.4s var(--ease-out), filter 1s var(--ease-warm); }
.theme-v3 .feel__link::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, transparent 38%, rgb(var(--night-rgb) / .55) 64%, rgb(var(--night-rgb) / .94));
}
.theme-v3 .feel__body { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; display: grid; gap: 4px; padding: clamp(14px, 1.6vw, 22px); }
.theme-v3 .feel__rec { font-family: var(--font-display); font-size: clamp(1.2rem, 1.5vw, 1.45rem); line-height: 1.15; text-shadow: 0 1px 12px rgb(var(--deep-rgb) / .6); }
.theme-v3 .feel__note { font-size: var(--fs-micro); color: var(--candle-soft); letter-spacing: var(--track-label); text-transform: uppercase; }
.theme-v3 .feel__go {
  position: absolute; z-index: 3; right: 12px; top: 12px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
  color: var(--candle-soft); box-shadow: inset 0 0 0 1px var(--line-strong); background: rgb(var(--deep-rgb) / .45);
  transition: background-color .5s var(--ease-warm), color .5s var(--ease-warm), transform .5s var(--ease-out);
}
.theme-v3 .feel__link:focus-visible { outline: 2px solid var(--candle); outline-offset: 3px; }
@media (hover: hover) {
  .theme-v3 .feel__link:hover .feel__media > img { transform: scale(1.045); filter: sepia(.22) saturate(.92) brightness(.9); }
  .theme-v3 .feel__link:hover .feel__go { background: var(--candle); color: var(--on-candle); transform: translate(2px, -2px); }
  .theme-v3 .feel__link:hover .feel__rec { color: var(--candle-soft); }
}
.theme-v3 .feel__foot { margin-top: 28px; }

@media (max-width: 1099px) and (min-width: 700px) {
  .theme-v3 .feel__cards { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .theme-v3 .feel__cards .feel__media, .theme-v3 .feel__cards[data-n] .feel__media { aspect-ratio: 1; }
}
@media (max-width: 699px) {
  .theme-v3 .feel__head { grid-template-columns: 1fr; }
  .theme-v3 .feel__cards {
    grid-auto-columns: min(72%, 300px); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
    margin-inline: calc(-1 * var(--gut)); padding: 0 var(--gut) 10px; scroll-padding-inline: var(--gut); scrollbar-width: thin;
  }
  .theme-v3 .feel__card { scroll-snap-align: start; }
  .theme-v3 .feel__cards .feel__media, .theme-v3 .feel__cards[data-n] .feel__media { aspect-ratio: 4 / 5; }
}

/* one rule per feeling: its panel shows, the hint steps aside (the votives light in the block at the end) */
.theme-v3 .feel__radio:checked ~ .feel__panels .feel__hint { display: none; }
.theme-v3 #feel-stronger:checked ~ .feel__panels [data-feel="stronger"],
.theme-v3 #feel-restored:checked ~ .feel__panels [data-feel="restored"],
.theme-v3 #feel-grounded:checked ~ .feel__panels [data-feel="grounded"],
.theme-v3 #feel-energized:checked ~ .feel__panels [data-feel="energized"],
.theme-v3 #feel-mobile:checked ~ .feel__panels [data-feel="mobile"],
.theme-v3 #feel-connected:checked ~ .feel__panels [data-feel="connected"] { display: block; }
@keyframes home-feel { from { opacity: 0; transform: translateY(10px); filter: blur(3px); } }

/* ---------- this week at RUMA: a photo card per session ---------- */
.theme-v3 .week__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px clamp(32px, 6vw, 112px); align-items: end; margin-bottom: clamp(36px, 4.4vw, 64px); }
.theme-v3 .week__intro { display: grid; gap: 14px; justify-items: start; }
.theme-v3 .week__aside { display: grid; gap: 18px; justify-items: start; }
.theme-v3 .week__aside p { max-width: 52ch; color: var(--text); }
.theme-v3 .week__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.theme-v3 .week__item {
  display: grid; grid-template-rows: auto 1fr; border-radius: var(--r-shell); overflow: hidden;
  background: var(--ember); box-shadow: inset 0 0 0 1px var(--line);
}
.theme-v3 .week__media { aspect-ratio: 4 / 3; border-radius: 0; }
.theme-v3 .week__media::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, transparent 50%, rgb(var(--ember-rgb) / .9));
}
.theme-v3 .week__when { position: absolute; z-index: 3; left: clamp(18px, 2vw, 28px); bottom: 10px; }
.theme-v3 .week__time { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.4rem, 3.6vw, 3.4rem); line-height: 1; color: var(--text-strong); text-shadow: 0 2px 18px rgb(var(--deep-rgb) / .6); }
.theme-v3 .week__time small { font-size: .42em; font-style: italic; color: var(--candle-soft); margin-left: 3px; }
.theme-v3 .week__body { display: grid; gap: 8px; align-content: start; justify-items: start; padding: clamp(16px, 1.8vw, 24px) clamp(18px, 2vw, 28px) clamp(20px, 2.2vw, 30px); }
.theme-v3 .week__day { font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--candle); }
.theme-v3 .week__name { font-size: clamp(1.6rem, 2.3vw, 2.2rem); }
.theme-v3 .week__name a { text-decoration: none; color: inherit; }
@media (hover: hover) { .theme-v3 .week__name a:hover { color: var(--candle-soft); } }
.theme-v3 .week__meta { display: flex; flex-wrap: wrap; gap: 4px 18px; color: var(--muted); font-size: var(--fs-small); }
.theme-v3 .week__spots { color: var(--text); }
.theme-v3 .week__item .upnext__book { margin-top: 8px; }
.theme-v3 .week__empty { display: grid; gap: 10px; padding: 32px 0; border-top: 1px solid var(--line); }
@media (max-width: 1023px) and (min-width: 700px) {
  .theme-v3 .week__list { grid-template-columns: 1fr; }
  .theme-v3 .week__item { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-rows: none; }
  .theme-v3 .week__media { aspect-ratio: auto; min-height: 220px; }
  .theme-v3 .week__media > img { position: absolute; inset: 0; }
  .theme-v3 .week__media::after { background: linear-gradient(90deg, transparent 55%, rgb(var(--ember-rgb) / .7)), linear-gradient(180deg, transparent 50%, rgb(var(--ember-rgb) / .8)); }
  .theme-v3 .week__body { align-content: center; }
}
@media (max-width: 900px) { .theme-v3 .week__head { grid-template-columns: 1fr; } }
@media (max-width: 699px) { .theme-v3 .week__list { grid-template-columns: 1fr; } .theme-v3 .week__media { aspect-ratio: 16 / 10; } }

/* ---------- wellness education teaser ---------- */
.theme-v3 .home-learn__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 112px); align-items: center; }
.theme-v3 .home-learn__media { aspect-ratio: 4 / 5; max-height: 820px; width: 100%; }
.theme-v3 .home-learn__media img { width: 100%; height: 100%; object-fit: cover; }
.theme-v3 .home-learn__copy { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; justify-items: start; }
.theme-v3 .home-learn__topics { list-style: none; padding: 0; margin: 4px 0 8px; width: 100%; border-top: 1px solid var(--line); }
.theme-v3 .home-learn__topics li { border-bottom: 1px solid var(--line); }
.theme-v3 .home-learn__topics a { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px; align-items: center; padding: 14px 0; min-height: 64px; text-decoration: none; }
.theme-v3 .home-learn__thumb { display: block; aspect-ratio: 1; border-radius: 14px; }
.theme-v3 .home-learn__t { display: grid; gap: 2px; }
.theme-v3 .home-learn__topics b { display: block; font-family: var(--font-display); font-weight: 400; font-size: 1.35rem; line-height: 1.2; color: var(--text-strong); text-wrap: balance; }
.theme-v3 .home-learn__topics .home-learn__t span { color: var(--muted); font-size: var(--fs-small); }
@media (hover: hover) { .theme-v3 .home-learn__topics a:hover b { color: var(--candle-soft); } }
@media (max-width: 860px) { .theme-v3 .home-learn__grid { grid-template-columns: minmax(0, 1fr); } .theme-v3 .home-learn__media { aspect-ratio: 16 / 10; } }

/* ---------- breathe with us, right here: a candlelit room ---------- */
.theme-v3 .hbreath { overflow: hidden; background: var(--night-deep); isolation: isolate; padding-block: clamp(96px, 12vw, 176px); }
.theme-v3 .hbreath__bg { position: absolute; inset: 0; }
.theme-v3 .hbreath__bg .vid img, .theme-v3 .hbreath__bg .vid video { filter: sepia(.3) saturate(.8) brightness(.42) blur(2px); transform: scale(1.04); }
.theme-v3 .hbreath__bg .vid-toggle { z-index: 4; right: var(--gut); bottom: 20px; }
.theme-v3 .hbreath__veil {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(60% 70% at 72% 50%, rgb(var(--flame-rgb) / .08), transparent 70%),
    linear-gradient(90deg, rgb(var(--deep-rgb) / .92) 0%, rgb(var(--deep-rgb) / .72) 42%, rgb(var(--deep-rgb) / .5) 100%),
    linear-gradient(180deg, var(--night) 0%, transparent 18%, transparent 82%, var(--night) 100%);
}
.theme-v3 .hbreath__wrap {
  position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 5vw, 96px); align-items: center;
}
.theme-v3 .hbreath__copy { display: grid; gap: 22px; justify-items: start; }
.theme-v3 .hbreath__copy h2 { text-shadow: 0 2px 24px rgb(var(--deep-rgb) / .7); }
.theme-v3 .hbreath__how { color: var(--muted); max-width: 46ch; }
.theme-v3 .hbreath__pattern { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.theme-v3 .hbreath__pattern li {
  min-height: 36px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: var(--r-pill);
  font-size: var(--fs-small); color: var(--text); box-shadow: inset 0 0 0 1px var(--line);
  transition: background-color .8s var(--ease-warm), color .8s var(--ease-warm), box-shadow .8s var(--ease-warm);
}
.theme-v3 .hbreath__wrap[data-phase="in"] [data-step="in"],
.theme-v3 .hbreath__wrap[data-phase="hold"] [data-step="hold"],
.theme-v3 .hbreath__wrap[data-phase="out"] [data-step="out"] { background: rgb(var(--candle-glow) / .16); color: var(--candle-soft); box-shadow: inset 0 0 0 1px var(--line-strong); }
.theme-v3 .hbreath__ctl { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 6px; }

/* the stage: rings of light around one flame */
.theme-v3 .hbreath__stage {
  position: relative; width: min(100%, 640px); aspect-ratio: 1; justify-self: center; display: grid; place-items: center; margin-bottom: 64px;
  --hb-s: .62; --hb-t: 1.2s; --hb-ease: cubic-bezier(.45, 0, .4, 1);
}
.theme-v3 .hbreath__wrap[data-phase="in"] .hbreath__stage { --hb-s: 1; --hb-t: 4s; }
.theme-v3 .hbreath__wrap[data-phase="hold"] .hbreath__stage { --hb-s: 1; --hb-t: 2s; }
.theme-v3 .hbreath__wrap[data-phase="out"] .hbreath__stage { --hb-s: .62; --hb-t: 6s; --hb-ease: cubic-bezier(.5, 0, .3, 1); }
.theme-v3 .hbreath__halo {
  position: absolute; inset: -18%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgb(var(--flame-rgb) / .3), rgb(var(--candle-glow) / .12) 45%, transparent 72%);
  mix-blend-mode: screen; transform: scale(calc(var(--hb-s) * .9)); opacity: calc(var(--hb-s) * .95);
  transition: transform var(--hb-t) var(--hb-ease), opacity var(--hb-t) var(--hb-ease);
}
.theme-v3 .hbreath__rings { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.theme-v3 .hb-ticks line { stroke: rgb(var(--candle-glow) / .32); stroke-width: 1; }
.theme-v3 .hb-track { fill: none; stroke: rgb(var(--candle-glow) / .14); stroke-width: 1; }
.theme-v3 .hb-prog { fill: none; stroke: var(--candle); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; transform: rotate(-90deg); transform-origin: 50% 50%; }
.theme-v3 .hb-ring { fill: none; stroke: rgb(var(--flame-rgb) / .22); stroke-width: 1; transform-origin: 50% 50%; transform: scale(var(--hb-s)); transition: transform var(--hb-t) var(--hb-ease), opacity var(--hb-t) var(--hb-ease); }
.theme-v3 .hb-ring--2 { transition-delay: .12s; stroke: rgb(var(--flame-rgb) / .3); }
.theme-v3 .hb-ring--1 { transition-delay: .24s; stroke: rgb(var(--flame-rgb) / .4); }
.theme-v3 .hb-core { transform-origin: 50% 50%; transform: scale(calc(var(--hb-s) * .92)); opacity: calc(.45 + var(--hb-s) * .5); transition: transform var(--hb-t) var(--hb-ease), opacity var(--hb-t) var(--hb-ease); }
.theme-v3 .hb-core-a { stop-color: var(--candle-soft); stop-opacity: .55; }
.theme-v3 .hb-core-b { stop-color: var(--candle); stop-opacity: .2; }
.theme-v3 .hb-core-c { stop-color: var(--plum); stop-opacity: 0; }

/* the candle: a flame that grows taller with the in-breath and settles with the out-breath */
.theme-v3 .hbreath__flame { position: absolute; left: 50%; top: 21%; width: 13%; translate: -50% 0; display: grid; justify-items: center; pointer-events: none; }
.theme-v3 .hbreath__flame svg { width: 100%; height: auto; overflow: visible; transform-origin: 50% 90%; transform: scale(calc(.72 + var(--hb-s) * .38), calc(.66 + var(--hb-s) * .5)); transition: transform var(--hb-t) var(--hb-ease); filter: drop-shadow(0 0 18px rgb(var(--flame-rgb) / .75)) drop-shadow(0 0 48px rgb(var(--candle-glow) / .5)); }
.theme-v3 .hb-f-outer { fill: var(--candle-soft); opacity: .92; }
.theme-v3 .hb-f-inner { fill: rgb(var(--flame-rgb)); }
.theme-v3 .hb-wick { fill: var(--umber); }
@media (prefers-reduced-motion: no-preference) {
  .theme-v3 .hb-f-outer { animation: hb-flicker 3.2s ease-in-out infinite; transform-origin: 50% 90%; transform-box: fill-box; }
  .theme-v3 .hb-f-inner { animation: hb-flicker 2.3s ease-in-out infinite reverse; transform-origin: 50% 90%; transform-box: fill-box; }
}
@keyframes hb-flicker { 0%, 100% { transform: scale(1, 1) skewX(0); } 30% { transform: scale(.97, 1.04) skewX(1.5deg); } 60% { transform: scale(1.02, .97) skewX(-1deg); } }

/* the words in the middle of the light */
.theme-v3 .hbreath__read { position: relative; z-index: 2; display: grid; justify-items: center; text-align: center; gap: 6px; margin-top: 22%; padding: 0 18%; }
.theme-v3 .hbreath__phase { font-family: var(--font-display); font-weight: 300; font-style: italic; font-size: clamp(2.2rem, 4.6vw, 3.8rem); line-height: 1.05; color: var(--text-strong); text-shadow: 0 2px 22px rgb(var(--deep-rgb) / .8); }
.theme-v3 .hbreath__cue { font-size: var(--fs-small); color: var(--text); text-shadow: 0 1px 12px rgb(var(--deep-rgb) / .9); min-height: 1.5em; }
.theme-v3 .hbreath__sec { font-family: var(--font-display); font-size: clamp(1.4rem, 2.2vw, 1.9rem); color: var(--candle-soft); min-height: 1.3em; line-height: 1.2; }
.theme-v3 .hbreath__count { position: absolute; left: 0; right: 0; top: calc(100% + 14px); display: grid; justify-items: center; gap: 10px; }
.theme-v3 .hbreath__dots { list-style: none; padding: 0; margin: 0; display: flex; gap: 10px; }
.theme-v3 .hbreath__dots li { width: 9px; height: 9px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--line-strong); transition: background-color .8s var(--ease-warm), box-shadow .8s var(--ease-warm); }
.theme-v3 .hbreath__dots li.is-on { background: var(--candle); box-shadow: 0 0 12px rgb(var(--flame-rgb) / .7); }
.theme-v3 .hbreath__dots li.is-now { box-shadow: inset 0 0 0 1px var(--candle), 0 0 10px rgb(var(--flame-rgb) / .5); }
.theme-v3 .hbreath__counter { font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--muted); font-variant-numeric: tabular-nums; }

/* the gentle ending */
.theme-v3 .hbreath__done {
  grid-column: 1 / -1; justify-self: center; display: grid; justify-items: center; text-align: center; gap: 8px; max-width: 46ch;
  padding: clamp(24px, 3vw, 36px) clamp(24px, 4vw, 48px); border-radius: var(--r-shell);
  background: rgb(var(--ember-rgb) / .72); box-shadow: inset 0 0 0 1px var(--line-strong); backdrop-filter: blur(6px);
}
.theme-v3 .hbreath__done[hidden] { display: none; }
.theme-v3 .hbreath__done .flame { width: 16px; height: 22px; color: var(--candle); }
.theme-v3 .hbreath__done-note { color: var(--text-strong); font-family: var(--font-display); font-size: 1.2rem; line-height: 1.5; }
.theme-v3 .hbreath__wrap[data-state="done"] .hbreath__stage { --hb-s: .8; --hb-t: 3s; }
@media (prefers-reduced-motion: no-preference) {
  .theme-v3 .hbreath__done:not([hidden]) { animation: home-feel 1.6s var(--ease-warm) both; }
}
/* reduced motion: the light holds still, the words and numbers still guide */
@media (prefers-reduced-motion: reduce) {
  .theme-v3 .hbreath__stage, .theme-v3 .hbreath__wrap[data-phase] .hbreath__stage { --hb-s: .82; --hb-t: .01s; }
  .theme-v3 .hbreath__wrap[data-phase="out"] .hb-core { opacity: .6; }
  .theme-v3 .hbreath__bg .vid video { display: none; }
}
@media (max-width: 900px) {
  .theme-v3 .hbreath__wrap { grid-template-columns: 1fr; }
  .theme-v3 .hbreath__stage { width: min(100%, 520px); }
  .theme-v3 .hbreath__veil { background: linear-gradient(180deg, var(--night) 0%, rgb(var(--deep-rgb) / .78) 14%, rgb(var(--deep-rgb) / .62) 60%, var(--night) 100%); }
}
@media (max-width: 480px) {
  .theme-v3 .hbreath__read { padding: 0 12%; margin-top: 26%; }
  .theme-v3 .hbreath__phase { font-size: 2rem; }
  .theme-v3 .hbreath__cue { font-size: .9rem; }
}

/* ---------- beyond the class: nourishment + experiences ---------- */
.theme-v3 .beyond { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(14px, 1.6vw, 24px); }
.theme-v3 .beyond__card { position: relative; border-radius: var(--r-shell); overflow: hidden; background: var(--ember); box-shadow: inset 0 0 0 1px var(--line); display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; isolation: isolate; }
.theme-v3 .beyond__media { position: relative; aspect-ratio: 16 / 9; }
.theme-v3 .beyond__media--still { overflow: hidden; }
.theme-v3 .beyond__media--still > img { width: 100%; height: 100%; object-fit: cover; }
.theme-v3 .beyond__media::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, transparent 50%, var(--ember)); }
.theme-v3 .beyond__media .vid img, .theme-v3 .beyond__media .vid video { filter: sepia(.2) saturate(.85) brightness(.75); }
.theme-v3 .beyond__media .vid-toggle { top: 14px; right: 14px; bottom: auto; }
.theme-v3 .beyond__body { padding: clamp(24px, 3.4vw, 48px); display: grid; gap: 10px; align-content: start; justify-items: start; }
.theme-v3 .beyond__body h3 { font-size: clamp(1.7rem, 2.6vw, 2.3rem); }
.theme-v3 .beyond__body p { color: var(--text); max-width: 46ch; }
.theme-v3 .beyond__body p + .label { margin-top: 18px; }
.theme-v3 .beyond__body .btn { margin-top: 16px; }
.theme-v3 .beyond__quiet { font-family: var(--font-display); font-style: italic; color: var(--candle-soft) !important; }
@media (min-width: 1440px) { .theme-v3 .beyond__media { aspect-ratio: 2 / 1; } }
@media (max-width: 860px) { .theme-v3 .beyond { grid-template-columns: minmax(0, 1fr); } }

/* ---------- the RUMA intro ---------- */
.theme-v3 .home-offer__line { font-size: var(--fs-small); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--candle-soft); }
.theme-v3 .home-offer__fine { font-size: var(--fs-small); color: var(--muted); }

/* ---------- concierge ---------- */
.theme-v3 .guide { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 112px); align-items: start; }
.theme-v3 .guide__head { display: grid; gap: 18px; justify-items: start; }
.theme-v3 .guide__media { width: 100%; max-width: 520px; aspect-ratio: 4 / 3; margin-top: 12px; }
.theme-v3 .guide__list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.theme-v3 .guide__list li { border-bottom: 1px solid var(--line); }
.theme-v3 .guide__list a {
  display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 64px; padding: 16px 0;
  font-family: var(--font-display); font-size: clamp(1.2rem, 1.8vw, 1.55rem); color: var(--text-strong); text-decoration: none;
}
.theme-v3 .guide__list svg { flex: none; color: var(--candle); transition: transform .5s var(--ease-out); }
@media (hover: hover) { .theme-v3 .guide__list a:hover { color: var(--candle-soft); } .theme-v3 .guide__list a:hover svg { transform: translate(3px, -2px); } }
@media (max-width: 860px) { .theme-v3 .guide { grid-template-columns: 1fr; } .theme-v3 .guide__media { display: none; } }

/* ==========================================================================
   FEELINGS PICKER · "six votives" (feelings section only; begin)
   Each feeling is a soft votive card with a hand-drawn mark (v3_mark), the
   word, a whisper and an unlit ring (the radio, drawn). Pure CSS state: the
   checked radio sets --on on its label and the lit pieces (ring, glow pool,
   gold rule, thread, mark re-trace) read it. An explicit line above the cards
   says what to do; the first time the cards come on screen a single wave of
   light passes along them (JS adds .is-cue once per visit). Reduced motion:
   no movement, no cue, no re-trace, only colour and opacity changes.
   ========================================================================== */
@property --feel-x { syntax: "<number>"; inherits: true; initial-value: .5; }
@property --feel-lum { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --feel-cue { syntax: "<number>"; inherits: true; initial-value: 0; }

/* account.css styles another component called .feel as a box: not this one.
   The section clips sideways so the aimed glow can fade past the wrap. */
.theme-v3 #feel { overflow-x: clip; }
.theme-v3 #feel .feel { padding: 0; border-radius: 0; background: none; box-shadow: none; }

.theme-v3 .feel { --feel-gap: clamp(36px, 4vw, 56px); --feel-r: 18px; }

/* the instruction: one plain line where the hand goes, led by the same ring the cards carry */
.theme-v3 .feel__how {
  display: flex; align-items: center; gap: 12px; margin: 0 0 clamp(16px, 1.6vw, 22px);
  font-family: var(--font-display); font-style: italic; font-weight: 400;
  font-size: clamp(1.14rem, 1.3vw, 1.32rem); line-height: 1.3; color: var(--candle-soft);
}
.theme-v3 .feel__how-ring {
  flex: none; position: relative; width: 16px; height: 16px; border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--candle);
}
.theme-v3 .feel__how-ring::after {
  content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--candle);
  opacity: var(--feel-cue); box-shadow: 0 0 8px rgb(var(--flame-rgb) / .7);
}

.theme-v3 .feel__chips {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: auto;
  column-gap: clamp(8px, .8vw, 14px); row-gap: 0;
}
.theme-v3 .feel__chip {
  --on: 0; --dim: 0;
  position: relative; isolation: isolate; display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0;
  align-content: start; justify-items: start;
  padding: clamp(26px, 2.4vw, 40px) clamp(16px, 1.5vw, 26px) clamp(26px, 2.4vw, 36px);
  border-radius: var(--feel-r);
  background: rgb(var(--text-rgb) / calc(.026 + var(--feel-cue) * .035));
  box-shadow: inset 0 0 0 1px rgb(var(--text-rgb) / calc(.09 + var(--feel-cue) * .1));
  cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent; color: var(--text);
  transition: transform .5s var(--ease-out), background-color .5s var(--ease-warm), box-shadow .6s var(--ease-warm);
}

/* the pool of candlelight that rises from the floor of a chosen card */
.theme-v3 .feel__glow {
  position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: var(--on); border-radius: inherit;
  background:
    radial-gradient(85% 62% at 50% 100%, rgb(var(--flame-rgb) / .17), rgb(var(--candle-glow) / .07) 48%, transparent 76%),
    linear-gradient(180deg, transparent 40%, rgb(var(--candle-glow) / .05));
  transition: opacity 1s var(--ease-warm);
}
/* a gold rule that draws across the top, and a thread that carries the light down to the suggestions */
.theme-v3 .feel__chip::before, .theme-v3 .feel__chip::after { content: ""; position: absolute; pointer-events: none; }
.theme-v3 .feel__chip::before {
  left: var(--feel-r); right: var(--feel-r); top: 0; height: 1px; background: var(--candle);
  transform: scaleX(var(--on)); transition: transform 1s var(--ease-out);
}
.theme-v3 .feel__chip::after {
  left: 50%; top: 100%; width: 1px; height: var(--feel-gap);
  background: linear-gradient(180deg, var(--candle), rgb(var(--candle-glow) / 0));
  transform: scaleY(var(--on)); transform-origin: top; transition: transform .9s var(--ease-out) .15s;
}

/* the unlit ring: an empty wick that lights when this feeling is chosen */
.theme-v3 .feel__wick {
  position: absolute; top: clamp(16px, 1.4vw, 22px); right: clamp(16px, 1.4vw, 22px);
  width: 18px; height: 18px; border-radius: 50%; pointer-events: none;
  box-shadow: inset 0 0 0 1.5px var(--feel-ring, rgb(var(--candle-glow) / calc(.5 + var(--feel-cue) * .5 - var(--dim) * .15)));
  transition: box-shadow .5s var(--ease-warm);
}
.theme-v3 .feel__wick::after {
  content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--candle-soft);
  box-shadow: 0 0 10px 1px rgb(var(--flame-rgb) / .65);
  opacity: max(var(--on), var(--feel-cue) * .6); transform: scale(calc(.3 + max(var(--on), var(--feel-cue) * .5) * .7));
  transition: opacity .4s var(--ease-warm), transform .5s var(--ease-out);
}

.theme-v3 .feel__mark {
  display: block; width: clamp(56px, 4.4vw, 76px); height: auto; aspect-ratio: 1; overflow: visible;
  color: var(--feel-mark, color-mix(in oklab, var(--candle-soft) calc(max(var(--feel-lum), var(--feel-cue)) * 100%), rgb(var(--candle-glow) / calc(.85 - var(--dim) * .35))));
  filter: drop-shadow(0 0 calc((var(--on) + var(--feel-lum) + var(--feel-cue)) * 10px) rgb(var(--flame-rgb) / calc((var(--on) + var(--feel-lum) + var(--feel-cue)) * .5)));
  transition: color .7s var(--ease-warm), transform .7s var(--ease-out), filter .9s var(--ease-warm);
}
.theme-v3 .feel__mark path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.theme-v3 .feel__chip-word {
  margin-top: clamp(18px, 1.8vw, 28px); font-family: var(--font-display); font-weight: 400;
  font-size: clamp(1.3rem, 1.6vw, 1.8rem); line-height: 1.1; color: var(--feel-word, var(--text-strong));
  text-wrap: balance; transition: color .7s var(--ease-warm);
}
.theme-v3 .feel__chip-mood {
  margin-top: 10px; font-size: var(--fs-small); line-height: 1.42; max-width: 22ch; text-wrap: pretty;
  color: var(--feel-mood, var(--muted)); transition: color .7s var(--ease-warm);
}

/* chosen: one card lights, the others step back a little */
.theme-v3 .feel__radio:checked ~ .feel__chips .feel__chip { --dim: 1; }
.theme-v3 #feel-stronger:checked ~ .feel__chips [for="feel-stronger"],
.theme-v3 #feel-restored:checked ~ .feel__chips [for="feel-restored"],
.theme-v3 #feel-grounded:checked ~ .feel__chips [for="feel-grounded"],
.theme-v3 #feel-energized:checked ~ .feel__chips [for="feel-energized"],
.theme-v3 #feel-mobile:checked ~ .feel__chips [for="feel-mobile"],
.theme-v3 #feel-connected:checked ~ .feel__chips [for="feel-connected"] {
  --on: 1; --dim: 0; --feel-trace: feel-trace; --feel-ring: var(--candle-soft);
  --feel-mark: var(--candle-soft); --feel-word: var(--candle-soft); --feel-mood: var(--text);
  background: rgb(var(--text-rgb) / .045);
  box-shadow: inset 0 0 0 1px rgb(var(--candle-glow) / .55), 0 24px 60px -30px rgb(var(--flame-rgb) / .35);
}
.theme-v3 #feel-stronger:focus-visible ~ .feel__chips [for="feel-stronger"],
.theme-v3 #feel-restored:focus-visible ~ .feel__chips [for="feel-restored"],
.theme-v3 #feel-grounded:focus-visible ~ .feel__chips [for="feel-grounded"],
.theme-v3 #feel-energized:focus-visible ~ .feel__chips [for="feel-energized"],
.theme-v3 #feel-mobile:focus-visible ~ .feel__chips [for="feel-mobile"],
.theme-v3 #feel-connected:focus-visible ~ .feel__chips [for="feel-connected"] { outline: 2px solid var(--candle); outline-offset: 3px; --feel-ring: var(--candle-soft); }

/* hover: the card lifts toward you, its edge warms, the mark and ring brighten */
@media (hover: hover) and (pointer: fine) {
  .theme-v3 .feel__chip:hover {
    --feel-mood: var(--text); --feel-ring: var(--candle-soft);
    transform: translateY(-4px);
    background: rgb(var(--text-rgb) / .05);
    box-shadow: inset 0 0 0 1px rgb(var(--candle-glow) / .45), 0 22px 44px -26px rgb(0 0 0 / .7), 0 0 36px -14px rgb(var(--flame-rgb) / .3);
  }
  .theme-v3 .feel__chip:hover .feel__glow { opacity: max(var(--on), .5); }
  .theme-v3 .feel__chip:hover .feel__mark { color: var(--candle-soft); filter: drop-shadow(0 0 8px rgb(var(--flame-rgb) / .45)); }
  .theme-v3 .feel__chip:hover .feel__chip-word { color: var(--candle-soft); }
  .theme-v3 .feel__chip:hover .feel__wick::after { opacity: max(var(--on), .35); transform: scale(max(var(--on), .55)); }
}
.theme-v3 .feel__chip:active { transform: translateY(-1px) scale(.985); transition-duration: .18s; }

/* the suggestions: the light lands where the thread points */
.theme-v3 .feel__panels { position: relative; isolation: isolate; container-type: inline-size; margin-top: var(--feel-gap); min-height: 12rem; }
.theme-v3 .feel__panels::before {
  content: ""; position: absolute; z-index: -1; left: 0; top: calc(-1 * var(--feel-gap)); width: min(860px, 66cqw); height: 560px; pointer-events: none;
  background: radial-gradient(50% 100% at 50% 0%, rgb(var(--flame-rgb) / .11), rgb(var(--candle-glow) / .045) 48%, transparent 100%);
  translate: calc(var(--feel-x) * 100cqw - 50%) 0;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 22%); mask-image: linear-gradient(180deg, transparent, #000 22%);
  opacity: 0; transition: opacity 1.2s var(--ease-warm), --feel-x 1.1s var(--ease-out);
}
.theme-v3 .feel__radio:checked ~ .feel__panels::before { opacity: 1; }
.theme-v3 #feel-stronger:checked ~ .feel__panels { --feel-x: .0833; }
.theme-v3 #feel-restored:checked ~ .feel__panels { --feel-x: .25; }
.theme-v3 #feel-grounded:checked ~ .feel__panels { --feel-x: .4167; }
.theme-v3 #feel-energized:checked ~ .feel__panels { --feel-x: .5833; }
.theme-v3 #feel-mobile:checked ~ .feel__panels { --feel-x: .75; }
.theme-v3 #feel-connected:checked ~ .feel__panels { --feel-x: .9167; }

/* the panel head: the word again, quieter (account.css has its own .feel__word) */
.theme-v3 #feel .feel__word { font-family: var(--font-display); font-size: clamp(1.6rem, 2.2vw, 2.1rem); font-style: italic; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--candle-soft); }

/* nothing chosen yet: four unlit frames where the suggestions will appear, and a pointer back up */
.theme-v3 .feel__hint { position: relative; display: grid; }
.theme-v3 .feel__ghosts {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.3vw, 20px);
  -webkit-mask-image: radial-gradient(46% 70% at 50% 50%, transparent 35%, #000 100%); mask-image: radial-gradient(46% 70% at 50% 50%, transparent 35%, #000 100%);
}
.theme-v3 .feel__ghost {
  display: block; height: clamp(190px, 17vw, 300px); border-radius: var(--r-media);
  background: linear-gradient(180deg, rgb(var(--text-rgb) / .018), rgb(var(--text-rgb) / .045));
  box-shadow: inset 0 0 0 1px rgb(var(--text-rgb) / .07);
}
.theme-v3 .feel__prompt {
  position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 10px;
  padding: 24px; text-align: center;
}
.theme-v3 .feel__prompt .flame { width: 16px; height: 23px; color: var(--candle); filter: drop-shadow(0 0 10px rgb(var(--flame-rgb) / .55)); }
.theme-v3 .feel__hint-text { font-family: var(--font-display); font-style: italic; font-size: clamp(1.25rem, 1.7vw, 1.55rem); line-height: 1.35; color: var(--text-strong); max-width: 34ch; text-wrap: balance; }
.theme-v3 .feel__hint-sub { font-size: var(--fs-small); color: var(--text); max-width: 46ch; text-wrap: balance; }
.theme-v3 .feel__up { display: inline-block; margin-right: .35em; color: var(--candle-soft); font-weight: 600; }

@media (prefers-reduced-motion: no-preference) {
  /* the waiting wave: each mark brightens in turn, then rests */
  .theme-v3 .feel__mark { animation: feel-idle 7.2s var(--ease-inout) infinite; animation-delay: calc(var(--i, 0) * 520ms + 1.2s); }
  .theme-v3 .feel__radio:checked ~ .feel__chips .feel__mark { animation: none; }
  .theme-v3 .feel__mark path { animation: var(--feel-trace, none) 1.3s var(--ease-out) both; }
  .theme-v3 .feel__mark path:nth-child(2) { animation-delay: .12s; }
  .theme-v3 .feel__mark path:nth-child(3) { animation-delay: .24s; }
  .theme-v3 .feel__mark path:nth-child(n + 4) { animation-delay: .36s; }
  .theme-v3 .feel__ghost { animation: feel-ghost 6s var(--ease-inout) infinite; animation-delay: calc(var(--i, 0) * .45s); }
  .theme-v3 .feel__prompt .flame { animation: feel-flicker 3.4s ease-in-out infinite; transform-origin: 50% 90%; }
  .theme-v3 .feel__head { animation: feel-rise .9s var(--ease-out) both; }
  .theme-v3 .feel__card { animation: feel-light 1.2s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 90ms + 160ms); }
  /* the one-time cue (JS adds .is-cue once per visit, never under reduced
     motion): the instruction's ring lights, then a single wave of light walks
     along the six cards, each rising a few pixels and settling back */
  .theme-v3 .feel.is-cue .feel__how { animation: feel-cue 1.6s var(--ease-inout); }
  .theme-v3 .feel.is-cue .feel__chip { animation: feel-cue-lift 1.4s var(--ease-inout); animation-delay: calc(var(--i, 0) * 120ms + 260ms); }
}
@media (prefers-reduced-motion: reduce) {
  .theme-v3 .feel__head { animation: feel-fade .6s var(--ease-warm) both; }
  .theme-v3 .feel__card { animation: feel-fade .7s var(--ease-warm) both; }
  .theme-v3 .feel__chip::before, .theme-v3 .feel__chip::after { transition-property: opacity; opacity: var(--on); transform: none; }
  .theme-v3 .feel__chip, .theme-v3 .feel__chip:hover, .theme-v3 .feel__chip:active { transform: none; }
  .theme-v3 .feel__wick::after { transform: none; }
}
@keyframes feel-idle {
  0%, 22%, 100% { --feel-lum: 0; }
  9% { --feel-lum: 1; }
}
@keyframes feel-cue { 0%, 100% { --feel-cue: 0; } 35% { --feel-cue: 1; } }
@keyframes feel-cue-lift {
  0%, 100% { --feel-cue: 0; transform: none; }
  32% { --feel-cue: 1; transform: translateY(-6px); }
}
@keyframes feel-trace { from { stroke-dashoffset: 1; } }
@keyframes feel-ghost { 0%, 100% { opacity: .7; } 50% { opacity: 1; } }
@keyframes feel-flicker { 0%, 100% { transform: scale(1); } 35% { transform: scale(.94, 1.06) skewX(2deg); } 65% { transform: scale(1.03, .96) skewX(-1deg); } }
@keyframes feel-rise { from { opacity: 0; transform: translateY(10px); } }
@keyframes feel-light {
  from { opacity: 0; transform: translateY(18px); filter: brightness(.35) saturate(.6); }
  55% { opacity: 1; }
  to { filter: none; }
}
@keyframes feel-fade { from { opacity: 0; } }

/* tablet: two rows of three; the thread and the aimed glow only make sense on one row */
@media (max-width: 1099px) {
  .theme-v3 .feel__chips { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(8px, .8vw, 14px); }
  .theme-v3 .feel__chip::after { display: none; }
  .theme-v3 .feel__panels { --feel-x: .5 !important; }
}
/* phones: two columns of comfortable, full-height targets */
@media (max-width: 699px) {
  .theme-v3 .feel { --feel-gap: 32px; --feel-r: 16px; }
  .theme-v3 .feel__how { font-size: 1.1rem; }
  .theme-v3 .feel__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .theme-v3 .feel__chip { padding: 20px 16px 22px; min-height: 150px; }
  .theme-v3 .feel__wick { top: 16px; right: 14px; }
  .theme-v3 .feel__mark { width: 40px; }
  .theme-v3 .feel__chip-word { margin-top: 14px; font-size: 1.28rem; }
  .theme-v3 .feel__chip-mood { margin-top: 6px; font-size: .95rem; line-height: 1.38; }
  .theme-v3 .feel__ghosts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-v3 .feel__ghost:nth-child(n + 3) { display: none; }
  .theme-v3 .feel__ghost { height: 210px; }
  .theme-v3 .feel__panels::before { width: 130cqw; height: 420px; }
}
/* FEELINGS PICKER · end */

/* ---------- how to book: the ~1-minute site walkthrough video ---------- */
.theme-v3 .home-howto__grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(32px, 5vw, 96px); align-items: center; }
.theme-v3 .home-howto__copy { display: grid; gap: 20px; justify-items: start; }
.theme-v3 .home-howto__copy .lede { max-width: 40ch; }
.theme-v3 .home-howto__media { margin: 0; display: grid; gap: 14px; }
.theme-v3 .home-howto__video {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--r-media);
  background: var(--ember); box-shadow: 0 0 0 1px var(--line), 0 28px 80px rgb(0 0 0 / .45), 0 0 60px rgb(var(--candle-glow) / .1);
}
.theme-v3 .home-howto__video::cue { font-family: var(--font-body); background: rgb(18 15 13 / .82); color: var(--text-strong); }
.theme-v3 .home-howto__cap { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; color: var(--muted); font-size: var(--fs-small); }
@media (max-width: 900px) { .theme-v3 .home-howto__grid { grid-template-columns: 1fr; } }
