/* ═══════════════════════════════════════════════════════
   NYE v6 — the WOW layer
   Journey warmth · editorial spreads · living cards ·
   emotional punctuation · type courage · quiet chrome
   ═══════════════════════════════════════════════════════ */

/* ── 1 · scroll journey: dawn→dusk ambient temperature (home) ── */
html.v6-home body::after {
  content: ""; position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(120% 90% at 85% 110%, rgba(226,120,58,0.16), transparent 60%),
    radial-gradient(120% 90% at 12% 100%, rgba(135,43,100,0.10), transparent 55%);
  opacity: var(--v6warm, 0);
  transition: opacity .4s linear;
}

/* ── 2+5 · editorial spread: giant word living behind the portrait ── */
.v6-spread { position: relative; overflow: hidden; }
.v6-word {
  position: absolute; inset-inline-end: -2%; top: 4%; z-index: 0;
  font-family: var(--he-font-sans); font-weight: 800;
  font-size: clamp(110px, 17vw, 250px); line-height: 1;
  color: transparent; -webkit-text-stroke: 1.5px rgba(135,43,100,0.16);
  letter-spacing: -0.03em; pointer-events: none; user-select: none;
  white-space: nowrap;
}
.v6-spread .container { position: relative; z-index: 1; }
.v6-spread .v6-photo { position: relative; z-index: 1; }
@media (max-width: 860px) { .v6-word { font-size: 96px; top: 1%; opacity: .8; } }

/* ── 3 · the deck is alive: cursor tilt + real flip on draw ── */
.chm-stage { perspective: 900px; }
.chm-card { transition: transform .22s ease, filter .22s ease; will-change: transform; }
@media (prefers-reduced-motion: no-preference) {
  .inline-card-reveal:not([hidden]) img,
  .card-reveal:not([hidden]) .reveal-media img,
  .ls-stage:not([hidden]) .ls-cards img:not(.ls-dim) {
    animation: v6flip .72s cubic-bezier(.2,.9,.25,1.15);
    transform-origin: center;
    backface-visibility: hidden;
  }
}
@keyframes v6flip {
  0%   { transform: perspective(900px) rotateY(85deg) scale(.92); box-shadow: -40px 12px 60px rgba(45,24,38,.0); }
  60%  { box-shadow: -18px 22px 48px rgba(45,24,38,.28); }
  100% { transform: perspective(900px) rotateY(0) scale(1); }
}

/* ── 4 · emotional punctuation: the butterfly send ── */
.v6-butterfly {
  position: fixed; z-index: 9999; font-size: 26px; pointer-events: none;
  animation: v6fly 1.15s ease-out forwards;
}
@keyframes v6fly {
  0%   { opacity: 0; transform: translate(0, 6px) rotate(-8deg) scale(.7); }
  18%  { opacity: 1; }
  100% { opacity: 0; transform: translate(-34px, -120px) rotate(10deg) scale(1.15); }
}
.v6-sent { pointer-events: none; }

/* ── 7 · quiet chrome: footer arrives, bubble waits ── */
@media (prefers-reduced-motion: no-preference) {
  .footer-nye.v6-prep { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s ease; }
  .footer-nye.v6-in { opacity: 1; transform: none; }
}

/* ── completeness batch: every past comment closed ── */
/* cards: each type offers its next step (Sapir: אפשרות לסשן, אפשרות לסדנא) */
.v6-type-opts { text-align: center; margin: 26px auto 0; font-size: 15px; color: var(--he-fg-2); }
.v6-type-opts a { font-weight: 700; color: var(--b-magenta, #872B64); text-decoration: none; border-bottom: 1.5px solid rgba(135,43,100,.35); }
.totem-band .v6-type-opts { color: rgba(251,246,235,.82); }
.totem-band .v6-type-opts a { color: #f3c46b; border-bottom-color: rgba(243,196,107,.4); }

/* process: cap the cavernous section voids (agent finding, deferred until now) */
.pp-hero ~ .section, .pp-hero ~ .section-tight { padding-block: clamp(56px, 9vh, 104px); }

/* podcast + global: soften the marquee→footer tone jump with a warm seam */
.nye-marquee { border-top: 5px solid rgba(249,218,89,.65); }

/* workshops: one badge language (were mixed outline/solid/gray) */
.card .num, .feature .num { background: rgba(226,120,58,0.12) !important; color: var(--b-orange, #E2783A) !important; border: 0 !important; }

/* ═══════════════════════════════════════════════════════
   v6.5 — THE MASTERPIECE PASS
   choreography · magnetism · organic shapes · pacing
   ═══════════════════════════════════════════════════════ */

/* ── A · hero choreography: the headline breathes itself in, word by word ── */
@media (prefers-reduced-motion: no-preference) {
  .v6-w { display: inline-block; opacity: 0; transform: translateY(0.5em) rotate(0.5deg); filter: blur(6px);
          animation: v6word 1.1s cubic-bezier(.2,.75,.2,1) forwards; animation-delay: var(--wd, 0s); }
  @keyframes v6word { to { opacity: 1; transform: none; filter: none; } }
  .hero-money-bg { animation: v6ken 18s ease-out forwards; }
  @keyframes v6ken { from { transform: scale(1.07); } to { transform: scale(1); } }
  .hero-money-chevron { animation: v6chev 2.6s ease-in-out infinite; }
  @keyframes v6chev { 0%,100% { transform: translateY(0); opacity:.75 } 50% { transform: translateY(9px); opacity:1 } }
}

/* ── B · magnetic primary buttons: they lean toward you ── */
.btn-accent, .btn-primary { transition: transform .18s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s ease; will-change: transform; }
.btn-accent:hover, .btn-primary:hover { box-shadow: 0 14px 38px -10px rgba(135,43,100,.5); }

/* ── C · orchestrated arrivals: grid children enter in sequence, not as a block ── */
@media (prefers-reduced-motion: no-preference) {
  .v6-stag > * { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--si, 0) * 90ms); }
  .v6-stag.v6-go > * { opacity: 1; transform: none; }
}

/* ── D · signature organic shape: the NYE petal mask on portraits ── */
.v6-petal, .v6-petal img { border-radius: 42% 58% 62% 38% / 55% 42% 58% 45% !important; }
.v6-petal { overflow: hidden; transition: border-radius 1.2s ease; }
.v6-petal:hover, .v6-petal:hover img { border-radius: 52% 48% 45% 55% / 48% 55% 45% 52% !important; }

/* ── E · the journey line: brand-gradient scroll progress, whisper-thin ── */
.v6-progress { position: fixed; top: 0; inset-inline-start: 0; height: 3px; width: 100%;
  background: linear-gradient(90deg, #F9DA59, #E2783A, #872B64, #572B73);
  transform-origin: right center; transform: scaleX(var(--v6p, 0)); z-index: 300; pointer-events: none; }

/* ── F · pacing: the pillars line becomes a whispered statement ── */
[data-i18n="home.welcome.pillars"] {
  font-size: clamp(24px, 3.4vw, 40px) !important;
  letter-spacing: .01em; line-height: 1.5 !important;
}

/* ── H · the closing moment: a giant farewell above the footer ── */
.v6-farewell { position: relative; text-align: center; padding: 64px 20px 8px; overflow: hidden; }
.v6-farewell span {
  font-family: var(--he-font-sans); font-weight: 800;
  font-size: clamp(54px, 9vw, 140px); line-height: 1;
  background: linear-gradient(100deg, #E2783A, #872B64 55%, #572B73);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  letter-spacing: -0.03em;
}

/* ── I · the six ways glow awake on approach ── */
.way-card { position: relative; transition: transform .3s ease, box-shadow .3s ease; }
.way-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px;
  background: linear-gradient(135deg, #F9DA59, #E2783A, #872B64); opacity: 0;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  transition: opacity .35s ease; pointer-events: none; }
.way-card:hover { transform: translateY(-6px); box-shadow: 0 26px 54px -18px rgba(45,24,38,.22); }
.way-card:hover::after { opacity: 1; }

/* marquee lives with your scroll (JS drives --v6vel) */

/* ═══ THE CINEMATIC HERO — the reference DNA: dark, human, type ON the image ═══ */
.home-rima-hero.v6-dark { background: #100A0D; }
.home-rima-hero.v6-dark .hero-money-bg { object-position: left center; opacity: 1; }
.home-rima-hero.v6-dark .hero-money-fade {
  background: linear-gradient(90deg, rgba(16,9,13,0) 35%, rgba(16,9,13,.45) 62%, rgba(16,9,13,.78) 100%),
              linear-gradient(0deg, rgba(16,9,13,.55), transparent 40%) !important;
}
.home-rima-hero.v6-dark .hero-money-card {
  background: transparent !important; box-shadow: none !important; border: 0 !important;
  backdrop-filter: none !important; padding: 0 !important; max-width: 640px;
}
.home-rima-hero.v6-dark .hero-money-card .h1 {
  color: #FBF6EB !important; font-size: clamp(40px, 4.6vw, 74px) !important;
  text-shadow: 0 4px 40px rgba(0,0,0,.35);
}
.home-rima-hero.v6-dark .hero-money-card .h1 .text-orange { color: #F3C46B !important; }
.home-rima-hero.v6-dark .hero-money-card .lead { color: rgba(251,246,235,.82) !important; font-size: 19px; }
.home-rima-hero.v6-dark .hero-money-wm { filter: invert(1) opacity(.25); }
.home-rima-hero.v6-dark .nye-thread { background: linear-gradient(90deg, #F9DA59, #E2783A, #872B64) !important; opacity: .9; }
.home-rima-hero.v6-dark .hero-money-chevron { color: rgba(251,246,235,.85); }
.home-rima-hero.v6-dark .hero-ghost { filter: invert(1); opacity: .12; }
@media (max-width: 860px) {
  .home-rima-hero.v6-dark .hero-money-bg { object-position: 28% center; opacity: .5; }
  .home-rima-hero.v6-dark .hero-money-card { max-width: 100%; }
}

/* v6-dark hero fixes: solid amber accent (clip:text breaks under word-filter), text on the dark side */
.home-rima-hero.v6-dark .h1 .text-orange {
  background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important;
  -webkit-text-fill-color: #F3C46B !important; color: #F3C46B !important;
}
.home-rima-hero.v6-dark .hero-money-card {
  position: absolute; inset-inline-start: 5%; top: 50%; translate: 0 -50%;
  text-align: start;
}
.home-rima-hero.v6-dark .nye-thread { height: 3px !important; max-width: 220px; }
@media (max-width: 860px) {
  .home-rima-hero.v6-dark .hero-money-card { position: relative; inset: auto; translate: none; top: auto; padding: 24px !important; }
}
/* dark hero: keep the whole headline inside the frame */
.home-rima-hero.v6-dark .hero-money-card .h1 { font-size: clamp(34px, 3.6vw, 56px) !important; line-height: 1.18 !important; }
.home-rima-hero.v6-dark .hero-money-card { max-width: 560px; }
/* anchor the copy from the bottom — nothing can clip above */
.home-rima-hero.v6-dark .hero-money-card { top: auto !important; bottom: 9% !important; translate: none !important; }

/* 6 ways — experiential: image-led cards, condensed text (Noa 12:09) */
.way-card .way-img { aspect-ratio: 16/9; border-radius: 12px; overflow: hidden; margin: -6px 0 14px; }
.way-card .way-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.way-card:hover .way-img img { transform: scale(1.05); }
.way-card p {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 14.5px; line-height: 1.7;
}
.way-card .step { position: absolute; top: 14px; inset-inline-start: 14px; z-index: 2; background: rgba(255,255,255,.92); box-shadow: 0 6px 16px rgba(45,24,38,.18); }
.way-card { position: relative; }
/* hero accent line: guaranteed visible — solid brand orange (clip:text unreliable under animation) */
.hero-money-card .h1 .text-orange, .hero .h1 .text-orange {
  background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important;
  -webkit-text-fill-color: #E2783A !important; color: #E2783A !important;
}

/* ═══ monthly course calendar (Dean: לפי ימים בחודש) ═══ */
.nye-cal { max-width: 880px; margin: 26px auto 0; background: #fff; border: 1px solid rgba(135,43,100,.10); border-radius: 18px; padding: 22px 22px 16px; box-shadow: 0 18px 44px -24px rgba(45,24,38,.18); }
.nye-cal-head { text-align: center; font-family: var(--he-font-display); font-size: 24px; color: var(--c-ink); margin-bottom: 14px; }
.nye-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.nye-cal-grid .dow { text-align: center; font-size: 12px; font-weight: 800; color: var(--he-fg-3); padding: 4px 0 8px; }
.nye-cal-grid .day { min-height: 56px; border-radius: 10px; background: var(--he-base-2, #faf6f1); padding: 5px 7px; font-size: 12.5px; color: var(--he-fg-3); position: relative; }
.nye-cal-grid .day.empty { background: transparent; }
.nye-cal-grid .day.today { outline: 2px solid rgba(135,43,100,.45); outline-offset: -2px; }
.nye-cal-grid .day.has-ev { background: linear-gradient(140deg, rgba(226,120,58,.14), rgba(135,43,100,.14)); cursor: pointer; }
.nye-cal-grid .day.has-ev::after { content: ""; position: absolute; bottom: 7px; inset-inline-start: 7px; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, #E2783A, #872B64); }
.nye-cal-events { max-width: 880px; margin: 16px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cal-ev { display: grid; grid-template-columns: 64px 1fr; grid-template-rows: auto auto auto; gap: 2px 12px; align-items: center; text-decoration: none; background: #fff; border: 1px solid rgba(135,43,100,.10); border-radius: 14px; padding: 12px; transition: transform .25s, box-shadow .25s; }
.cal-ev:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(45,24,38,.25); }
.cal-ev img { grid-row: 1 / 4; width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.cal-ev .t { font-size: 13.5px; font-weight: 800; color: var(--c-ink); line-height: 1.35; }
.cal-ev .s { font-size: 12px; color: var(--he-fg-3); }
.cal-ev .r { font-size: 12.5px; font-weight: 700; color: var(--b-magenta, #872B64); }
.cal-ev.flash { animation: calflash 1.2s ease; }
@keyframes calflash { 0%,100% { box-shadow: 0 0 0 0 rgba(135,43,100,0) } 30% { box-shadow: 0 0 0 4px rgba(135,43,100,.35) } }
@media (max-width: 760px) {
  .nye-cal-grid .day { min-height: 40px; }
  .nye-cal-events { grid-template-columns: 1fr; }
}

/* dark bands on /cards/ — same ink-on-plum family the cta-band had (Dean's screenshot) */
.totem-band h2, .totem-band .h2 { color: #FBF7EE !important; }
.totem-band .cards-section-sub { color: rgba(251,246,235,.85) !important; }
.msg-band .eyebrow { color: var(--b-orange, #E2783A) !important; }
.msg-band .v6-type-opts { color: var(--he-fg-2); }
.msg-band .v6-type-opts a { color: var(--b-magenta, #872B64); border-bottom-color: rgba(135,43,100,.35); }
.totem-band .draw-hint { color: rgba(251,246,235,.75); }

/* ═══════════ THE SOUL LAYER — the site practices what Noa teaches ═══════════ */

/* breath moments: the page stops, and breathes */
.soul-breath { text-align: center; padding: clamp(70px, 12vh, 130px) 24px; }
.soul-breath .sb-line {
  display: block; width: 120px; height: 2px; margin: 0 auto 26px; border-radius: 2px;
  background: linear-gradient(90deg, #F9DA59, #E2783A, #872B64);
}
@media (prefers-reduced-motion: no-preference) {
  .soul-breath .sb-line { animation: sbBreathe 6.5s ease-in-out infinite; transform-origin: center; }
  @keyframes sbBreathe { 0%,100% { transform: scaleX(.55); opacity: .65; } 50% { transform: scaleX(1); opacity: 1; } }
}
.soul-breath p {
  margin: 0 0 10px; font-family: var(--he-font-display); font-style: italic;
  font-size: clamp(20px, 2.2vw, 27px); color: var(--c-ink);
}
.soul-breath .sb-words { font-size: 13.5px; font-weight: 700; letter-spacing: .14em; color: var(--b-magenta, #872B64); opacity: .75; }

/* the signature seal: a letter, signed */
.soul-seal { display: block; width: 190px; margin: 8px auto 46px; opacity: .32; }

/* sessions: opening a session is an exhale, not a disclosure widget */
details.session-card { transition: background 0.9s ease; }
details.session-card[open] { background: radial-gradient(120% 130% at 50% 0%, #fff 30%, #fdf3ee 75%, #faeaf2); }
details.session-card[open] > *:not(summary) { line-height: 1.9; }

/* together: the checklist becomes a hand-checked note */
.tg-checklist li { background: none !important; border: 0 !important; box-shadow: none !important; position: relative; padding-inline-start: 38px; }
.tg-checklist li::before {
  content: ""; position: absolute; inset-inline-start: 4px; top: 4px; width: 22px; height: 22px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23572B73' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 13.5c2.6 1.8 4.1 3.6 5 5.2 2-5.4 6-10.6 11-14.6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.tg-checklist li:nth-child(1) { transform: rotate(-0.6deg); }
.tg-checklist li:nth-child(2) { transform: rotate(0.4deg); }
.tg-checklist li:nth-child(3) { transform: rotate(-0.3deg); }

/* training: "אתם לא לבד" gets the room of a held breath */
.soul-alone { min-height: 52vh; display: grid; place-content: center; text-align: center; }
.soul-alone .h2 { font-size: clamp(34px, 4vw, 54px) !important; }

/* ═══ ARTICLES — Ynet-mobile fidelity (Noa's reference, 2026-08-11) ═══ */
@media (max-width: 860px) {
  /* the section band: solid, decisive, like Ynet's חדשות bar */
  .art-topic-title {
    background: #872B64 !important; border-radius: 7px;
    font-size: 18px !important; font-weight: 800 !important; padding: 10px 16px !important;
  }
  /* lead story: full-width image, BIG bold headline under it, meta line */
  .art-rail .art-rail-card:first-child { gap: 12px; }
  .art-rail .art-rail-card:first-child .art-rail-img { border-radius: 8px; }
  .art-rail .art-rail-card:first-child h3 {
    font-size: 23px !important; font-weight: 800 !important; line-height: 1.32 !important;
    -webkit-line-clamp: 4 !important;
  }
  .art-rail .art-rail-card:first-child .art-excerpt { display: none !important; }
  .art-rail .art-rail-card:first-child .cat-tag { font-size: 12px; }
  /* rows: dense, bold, hard thin rules */
  .art-rail .art-rail-card:not(:first-child) { grid-template-columns: 1fr 118px !important; padding: 13px 0 !important; gap: 12px !important; }
  .art-rail .art-rail-card:not(:first-child) h3 {
    font-size: 15.5px !important; font-weight: 800 !important; line-height: 1.38 !important;
  }
  .art-rail .art-rail-card .meta { font-size: 11.5px; opacity: .8; }
  .rail-more-btn { width: calc(100% - 8px); }
}
/* desktop: headline authority up a notch (Ynet decisiveness, our warmth) */
.art-rail .art-rail-card:not(:first-child) h3 { font-weight: 800; }
.art-rail .art-rail-card:first-child h3 { font-weight: 800 !important; }
/* rows/lead: no dead vertical space — headline, then meta, tight */
.art-rail .art-rail-card .art-rail-info { display: flex; flex-direction: column; gap: 6px; justify-content: center; min-width: 0; }
.art-rail .art-rail-card .art-rail-info .meta { margin: 0; }
.art-rail .art-rail-card .art-rail-info h3 { margin: 0; }
@media (max-width: 860px) {
  .art-rail .art-rail-card:not(:first-child) { align-items: center; }
  .art-rail .art-rail-card:first-child .art-rail-info { gap: 8px; }
}
/* row thumbs: hard 16/11, no rogue heights — rows compact like Ynet */
.art-rail .art-rail-card:not(:first-child) .art-rail-img { aspect-ratio: 16/11 !important; height: auto !important; align-self: center; }
.art-rail .art-rail-card:not(:first-child) .art-rail-img img { height: 100% !important; }

/* ═══ FULL-HEART PASS — consolidated fixes from the 3-agent sweep (2026-08-11) ═══ */
/* reveals: no blur limbo — content never reads half-broken */
html.v5 .nye-reveal, html.v5 .v4-stagger { filter: none !important; transition-duration: .6s; }

/* dark-band stat digits: luminous, never plum-on-plum */
.cta-band b, .cta-band .num, .cta-band [class*="stat"] { color: #F9DA59 !important; }
.cta-band .form-card b, .cta-band .form-card .num { color: var(--c-ink) !important; }
/* dark-band consent: checkbox in its own start column */
.cta-band .v5-consent, .cta-band .consent { display: flex !important; gap: 9px; align-items: flex-start; text-align: start; }

/* sessions: collapsed cards never stretch to sibling height */
div:has(> details.session-card) { align-items: start !important; }
details.session-card { align-self: start; }

/* together ticks: clear of the text */
.tg-checklist li { padding-inline-start: 46px !important; }
.tg-checklist li::before { top: 2px; }

/* testimonials top strip: crop phone chrome */
.wa-grid img, .wa-grid .wa-shot img { max-height: 520px; object-fit: cover; object-position: top center; }

/* videos: placeholders read as designed posters, captions as titles */
.vidslot-ph { background: linear-gradient(150deg, #FDF3E3, #F7E9F1 60%, #EFE1F3) !important; border: 1px solid rgba(135,43,100,.10); }
.vidslot figcaption { color: var(--c-ink); font-weight: 600; font-size: 14.5px; }

/* press: the orphan finds center */
.press-grid { justify-items: stretch; }
.press-grid > *:last-child:nth-child(3n+1) { grid-column: 1 / -1; max-width: 460px; justify-self: center; }
.press-grid img { aspect-ratio: 4/3; object-fit: cover; }

/* store: session covers sharp with duotone (blur read as broken twice — I concede) */
#sessions .product .cover img { filter: saturate(1.1) brightness(.95) !important; transform: none !important; }
#sessions .product:nth-child(2) .cover img { object-position: 20% center; }
#sessions .product:nth-child(3) .cover img { object-position: 80% center; }
#sessions .product:nth-child(4) .cover img { object-position: center 20%; }
#sessions .product:nth-child(5) .cover img { object-position: center 75%; }
#sessions .product .cover::after { background: linear-gradient(160deg, rgba(135,43,100,.5), rgba(226,120,58,.3)); }
/* store: single-ring outline buttons, centered incomplete rows */
.product .add { box-shadow: none !important; border: 1.5px solid #572B73; }
#books .products { justify-content: center; }

/* articles: fallback covers are brand, never gray; rules harder */
.art-rail-img:not(:has(img)), .cover-fallback {
  background: linear-gradient(150deg, #872B64, #E2783A) !important;
  color: rgba(255,255,255,.9) !important; display: flex; align-items: center; justify-content: center;
}
.art-rail .art-rail-card:not(:first-child) { border-bottom-color: rgba(87,43,115,.14) !important; }

/* elevators: headings carry ink, not fog */
.elv-grid h3, .elv-card h3 { color: var(--c-ink) !important; font-weight: 700; }
/* elevators/bg cards: bodies start on one baseline */
.elv-card h3 { min-height: 2.6em; }

/* cards page: message tiles breathe */
.msg-grid { gap: 14px !important; }
.msg-grid .msg-card { box-shadow: 0 5px 14px rgba(120,50,30,.12); }

/* method: watermark crop reads intentional */
.quote-band { position: relative; }

/* ═══ P2/P3 refinement layer (agents' leftovers, 2026-08-11) ═══ */
/* one accordion voice: warm orange toggles everywhere */
.faq summary .pl::before, .faq summary .pl::after { background: var(--b-orange, #E2783A) !important; }
.faq-item summary::after, .suit-item summary::after { color: var(--b-orange, #E2783A) !important; font-weight: 700; }

/* one add-to-cart voice: outlined pill (like the store) */
.cards-shop .add, .cards-shop button[type="submit"].add {
  background: none !important; border: 1.5px solid #572B73 !important; color: #572B73 !important;
  border-radius: 999px !important; font-weight: 700;
}

/* podcast product trio: three crops of the shared photo */
.pod-products .product:nth-child(1) img, .pod-prod-grid .product:nth-child(1) img { object-position: 22% center; }
.pod-products .product:nth-child(2) img, .pod-prod-grid .product:nth-child(2) img { object-position: center 30%; }
.pod-products .product:nth-child(3) img, .pod-prod-grid .product:nth-child(3) img { object-position: 78% center; }
.ep-meta { row-gap: 2px; }

/* about: bios truncate with intention */
.team-card p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* home podcast pills: anchored, not floating */
.pod-listen-links .pod-pill { border: 1px solid rgba(135,43,100,.16); box-shadow: 0 6px 16px -10px rgba(45,24,38,.25); }

/* ghost buttons earn their outline */
.btn-outline { border-color: rgba(37,33,35,.32) !important; }

/* breath moments: consistent, slightly tighter pulse */
.soul-breath { padding-block: clamp(56px, 9vh, 100px); }

/* workshops step badges: one filled voice */
.card .step { border: 0 !important; }

/* forms: textarea joins the family */
textarea { resize: vertical; border-radius: 12px !important; }

/* hero headlines never orphan a word */
.hero .h1, .hero-money-card .h1 { text-wrap: balance; }

/* ═══ שאלון החיבור העצמי — signature edition ═══ */
.qz-card {
  position: relative; background: linear-gradient(165deg, #fff 55%, #fdf6f1 85%, #f9eef5);
  border: 1px solid rgba(135,43,100,.12); border-radius: 24px;
  padding: 38px clamp(22px, 4.5vw, 50px);
  box-shadow: 0 30px 70px -34px rgba(87,43,115,.35);
  overflow: hidden;
}
.qz-card::before {
  content: "?"; position: absolute; top: -40px; inset-inline-end: -10px;
  font-family: var(--he-font-display); font-size: 220px; line-height: 1;
  color: transparent; -webkit-text-stroke: 1.5px rgba(135,43,100,.07);
  pointer-events: none;
}
/* progress: visible silk track + luminous fill + counter chip */
.qz-progress { height: 8px; border-radius: 8px; background: rgba(135,43,100,.10); overflow: hidden; margin-bottom: 20px; position: relative; z-index: 1; }
.qz-progress span { display: block; height: 100%; min-width: 8px; border-radius: 8px; background: linear-gradient(90deg, #F9DA59, #E2783A, #872B64); transition: width .55s cubic-bezier(.2,.7,.2,1); box-shadow: 0 0 12px rgba(226,120,58,.5); }
.qz-meta { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; position: relative; z-index: 1; }
.qz-meta { font-size: 12.5px; font-weight: 800; letter-spacing: .05em; }
.qz-meta #qzNum { background: linear-gradient(100deg, #872B64, #572B73); color: #fff; border-radius: 999px; padding: 5px 14px; }
.qz-meta #qzTag { color: var(--b-orange, #E2783A); }
.qz-q {
  font-family: var(--he-font-display); font-weight: 400;
  font-size: clamp(21px, 2.6vw, 29px); line-height: 1.45; color: var(--c-ink);
  margin: 0 0 24px; position: relative; z-index: 1;
}
/* answers: living cards */
.qz-answers { display: grid; gap: 13px; position: relative; z-index: 1; }
.qz-a {
  position: relative; display: flex; align-items: flex-start; gap: 14px;
  text-align: start; font: inherit; font-size: 15.5px; line-height: 1.75; color: var(--he-fg-2);
  background: #fff; border: 1.5px solid rgba(135,43,100,.14); border-radius: 16px;
  padding: 16px 18px; cursor: pointer;
  transition: border-color .22s, box-shadow .22s, transform .22s, background .3s;
}
.qz-a::before {
  content: ""; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px;
  border-radius: 50%; border: 2px solid rgba(135,43,100,.3);
  transition: border-color .2s, background .25s, box-shadow .25s;
}
.qz-a:hover { border-color: rgba(135,43,100,.5); transform: translateY(-2px); box-shadow: 0 14px 30px -16px rgba(87,43,115,.35); }
.qz-a:hover::before { border-color: #872B64; }
.qz-a.on { border-color: #872B64; background: linear-gradient(140deg, rgba(249,218,89,.12), rgba(226,120,58,.10), rgba(135,43,100,.10)); }
.qz-a.on::before {
  background: linear-gradient(135deg, #E2783A, #872B64) padding-box; border-color: transparent;
  box-shadow: 0 4px 12px rgba(135,43,100,.4);
  background-image: linear-gradient(135deg, #E2783A, #872B64), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M5 13l4.2 4L19 7'/%3E%3C/svg%3E");
}
.qz-a.on::after {
  content: ""; position: absolute; inset-inline-start: 17px; top: 19px; width: 20px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4.2 4L19 7'/%3E%3C/svg%3E") center/13px no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
  .qz-in .qz-q { animation: qzIn .5s cubic-bezier(.2,.7,.2,1) both; }
  .qz-in .qz-a { animation: qzIn .5s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--qi, 0) * 70ms + 80ms); }
  @keyframes qzIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  .qz-a.on { animation: qzPick .35s ease; }
  @keyframes qzPick { 40% { transform: scale(.985); } }
}
/* intro chips */
.qz-chips { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 18px 0 4px; }
.qz-chip { font-size: 13px; font-weight: 700; color: var(--b-magenta, #872B64); background: rgba(135,43,100,.08); border-radius: 999px; padding: 7px 16px; }
/* result: circular gauge */
.qz-gauge { display: block; width: 172px; height: 172px; margin: 6px auto 18px; }
.qz-gauge .track { stroke: rgba(135,43,100,.12); }
.qz-gauge .fill { stroke: url(#qzGrad); stroke-linecap: round; transition: stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1); }
.qz-gauge text { font: 800 30px var(--he-font-sans, sans-serif); fill: var(--c-ink); }
.qz-gauge .of { font-size: 13px; font-weight: 700; fill: #8a7f86; }
.qz-rtitle { font-family: var(--he-font-display); font-weight: 400; font-size: clamp(25px, 3.2vw, 36px); color: var(--b-magenta, #872B64); text-align: center; margin: 2px 0 14px; line-height: 1.35; }
.qz-rbody { font-size: 16.5px; line-height: 1.95; color: var(--he-fg-2); text-align: center; max-width: 560px; margin: 0 auto; }
.qz-form { margin-top: 30px; padding-top: 26px; border-top: 1px solid rgba(135,43,100,.12); text-align: center; }
.qz-form form { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.qz-form input[type="text"], .qz-form input[type="tel"] { flex: 1 1 180px; max-width: 240px; padding: 12px 15px; font: inherit; }
.qz-again { background: none; border: 0; font: inherit; font-size: 13.5px; color: var(--he-fg-3); text-decoration: underline; cursor: pointer; }

/* ═══ FEEDBACK DOC BATCH (2026-08-18) ═══ */
/* F8: collage chip labels — solid, readable */
.chm-card span { background: #fff !important; box-shadow: 0 4px 14px rgba(45,24,38,.22); color: #572B73 !important; font-weight: 800 !important; }

/* F8: "לקריאה מלאה" — the message reveal becomes a gentle lightbox */
.card-reveal:not([hidden]) {
  position: fixed; inset: 0; z-index: 400; overflow-y: auto;
  background: rgba(30,16,26,.55); backdrop-filter: blur(6px);
  padding: 4vh 16px; display: grid; place-items: start center;
}
.card-reveal:not([hidden]) .card-reveal-in {
  background: #fff; border-radius: 22px; max-width: 880px; width: 100%;
  box-shadow: 0 40px 100px -30px rgba(0,0,0,.5); padding: 30px clamp(18px,3vw,40px);
  position: relative; margin-bottom: 40px;
}
.qz-close, .reveal-close {
  position: absolute; top: 14px; inset-inline-end: 14px; width: 38px; height: 38px;
  border-radius: 50%; border: 0; cursor: pointer; font-size: 19px; line-height: 1;
  background: rgba(135,43,100,.08); color: #872B64; z-index: 2;
}
.reveal-close:hover { background: rgba(135,43,100,.16); }
.card-reveal .reveal-again { position: sticky; bottom: 10px; text-align: center; }

/* F10: reveal CTA hierarchy — one hero, quiet row */
.reveal-ctas-clean { display: grid; gap: 12px; justify-items: center; margin-top: 18px; }
.reveal-quiet { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; font-size: 14px; color: var(--he-fg-3); }
.reveal-quiet a { color: var(--b-magenta, #872B64); font-weight: 700; text-decoration: none; border-bottom: 1.5px solid rgba(135,43,100,.3); }
.inline-card-reveal .reveal-more, .inline-card-reveal .reveal-wa, .inline-card-reveal .reveal-buy { display: inline-block; margin: 10px 8px 0; }
.inline-card-reveal { text-align: center; }
.inline-card-reveal .reveal-buy { font-size: 15px; }
.inline-card-reveal .reveal-wa { color: #1faa55; border-bottom-color: rgba(31,170,85,.35); font-size: 13.5px; }
.inline-card-reveal .reveal-more { font-size: 13.5px; }

/* F9: shop strip that sells — uniform covers, price chip, hover */
.cards-shop .product .cover, .cards-shop .cover { aspect-ratio: 16/10; overflow: hidden; border-radius: 14px; }
.cards-shop .cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.cards-shop .product:hover .cover img { transform: scale(1.05); }
.cards-shop .product { transition: transform .3s, box-shadow .3s; border-radius: 18px; }
.cards-shop .product:hover { transform: translateY(-5px); box-shadow: 0 24px 50px -22px rgba(87,43,115,.35); }
.cards-shop .price { font-size: 20px; font-weight: 800; background: linear-gradient(100deg, #E2783A, #872B64); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cards-shop .add { background: linear-gradient(100deg, #E2783A, #872B64) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 10px 22px; font-weight: 700; }

/* F12: continue band + explore — home-level spirit */
.cards-continue .h2 { font-size: clamp(30px, 3.4vw, 44px) !important; }
.cards-continue .sh { border-radius: 18px; transition: transform .3s, box-shadow .3s; }
.cards-continue .sh:hover { transform: translateY(-5px); box-shadow: 0 22px 48px -20px rgba(87,43,115,.3); }
.cards-explore { gap: 14px; }
.cards-explore a {
  background: linear-gradient(160deg, #fff, #fdf5f0) !important;
  border: 1px solid rgba(135,43,100,.12) !important; border-radius: 16px !important;
  transition: transform .3s, box-shadow .3s;
}
.cards-explore a:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(87,43,115,.3); }
.cards-explore .t { font-weight: 800; color: #572B73; }

/* F3: the pillars line lives on ONE line, always */
[data-i18n="home.welcome.pillars"] {
  white-space: nowrap;
  font-size: clamp(14px, 2.55vw, 27px) !important;
}
/* F4: the cards band breathes in waves (top + bottom curves) */
.section.dark { position: relative; }
.section.dark::before, .section.dark::after {
  content: ""; position: absolute; left: 0; right: 0; height: 42px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 42' preserveAspectRatio='none'%3E%3Cpath d='M0,42 C240,0 480,42 720,21 C960,0 1200,42 1440,10 L1440,42 Z' fill='%23FFFFFF'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.section.dark::before { top: -1px; transform: scaleY(-1); }
.section.dark::after { bottom: -1px; }
.cards-cta-tile { max-width: 300px; }
.section.dark .cards-cta-row, .section.dark [class*="tiles"] { justify-content: center; }

/* F7: articles — quieter toolbar (no counts), air between topics */
.filters .count { display: none !important; }
.filter { font-size: 13.5px; }
.art-topic { margin-bottom: 64px !important; }

/* F6: testimonials — flowing gallery rows instead of masonry salad */
#clients [style*="column"], #training [style*="column"] {
  column-width: unset !important; columns: unset !important;
  display: flex !important; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 16px; scrollbar-width: thin;
}
#clients [style*="column"] > *, #training [style*="column"] > * {
  flex: 0 0 auto; scroll-snap-align: center; margin: 0 !important;
}
#clients [style*="column"] img, #training [style*="column"] img {
  height: 380px !important; width: auto !important; max-height: none !important;
  border-radius: 14px; box-shadow: 0 14px 34px -18px rgba(45,24,38,.3);
}
/* section headings become chapters with a highlight pull-quote rhythm */
.testim-hi, #clients .section-head h2, #training .section-head h2 { text-wrap: balance; }
#whatsapp .wa-grid { align-items: start; }
.wa-grid { column-width: unset !important; display: flex !important; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; max-width: none !important; }
.wa-grid > * { flex: 0 0 auto; scroll-snap-align: center; }
.wa-grid img { height: 360px !important; width: auto !important; }

/* home cards band: the pair sits CENTERED, rich and worthy of the stage */
.cards-cta-grid { display: flex !important; justify-content: center; gap: 26px; flex-wrap: wrap; grid-template-columns: none !important; }
.cards-cta-rich { max-width: 330px !important; width: 100%; text-align: center; padding: 26px 26px 28px !important; }
.cards-cta-rich .tile-deck {
  width: 108px; border-radius: 10px; margin: 0 auto 16px; display: block;
  box-shadow: 0 16px 36px rgba(0,0,0,.45); transform: rotate(-4deg);
  transition: transform .35s ease;
}
.cards-cta-rich:hover .tile-deck { transform: rotate(0deg) translateY(-4px); }
.cards-cta-rich h4 { font-size: 21px !important; }
.cards-cta-rich .tile-sub { font-size: 14px; color: rgba(251,246,235,.75); margin: 6px 0 16px; }
.section.dark { padding-block: 84px; }
/* the two decks stand at equal height */
.cards-cta-rich { display: flex; flex-direction: column; align-items: center; }
.cards-cta-rich .tile-deck { height: 150px; width: auto; object-fit: contain; }
.cards-cta-rich .btn { margin-top: auto; }

/* ═══ F13 ROUND 1 — home-level design on every page ═══ */
/* background rhythm: quiet cream waves through pages that were walls of white */
main section.section:not([style*="background"]):not(.dark):not(.v6-spread):not(.totem-band):not(.pf-band):not(.solution-band):not(.cta-band):nth-of-type(even),
body > section.section:not([style*="background"]):not(.dark):not(.v6-spread):not(.totem-band):not(.pf-band):not(.solution-band):not(.cta-band):nth-of-type(even) {
  background: linear-gradient(178deg, #fff 0%, #FAF5F1 45%, #F8F1F3 100%);
}
/* section heads arrive with intent everywhere */
@media (prefers-reduced-motion: no-preference) {
  .v6-headrise { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
  .v6-headrise.v6-go { opacity: 1; transform: none; }
}
/* photographic moments */
.v6-sidephoto { max-width: 300px; margin: 26px auto 0; }
.v6-sidephoto img { width: 100%; display: block; }

/* ═══ F13 ROUND 2 — inner pages earn the cinematic hero ═══ */
/* plain white heroes get the silk wash + presence */
.hero:not([style*="background"]):not(.pp-hero) {
  background:
    radial-gradient(900px 400px at 85% -10%, rgba(249,218,89,.10), transparent 60%),
    radial-gradient(800px 460px at 8% 110%, rgba(135,43,100,.07), transparent 55%),
    linear-gradient(180deg, #FFFDFB, #FAF4F1);
}
/* typography courage: inner hero h1s speak up */
.hero h1, .hero .h1 { font-size: clamp(32px, 4vw, 54px) !important; line-height: 1.16 !important; }
.hero .lead, .hero .sub { max-width: 62ch; }
/* quiz hero included */
#quiz .qz-card { margin-top: 8px; }

/* ===== F13 round 3: inner-page deepening ===== */

/* press — newspaper clipping feel: warm paper, masthead badge, gentle scatter */
.press-card {
  background: linear-gradient(178deg, #FFFDF8, #FBF6EC) !important;
  border: 1px solid rgba(101, 46, 21, .1) !important;
  box-shadow: 0 10px 26px rgba(101, 46, 21, .07);
  transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease;
}
.press-grid > *:nth-child(3n+1) .press-card { transform: rotate(-.6deg); }
.press-grid > *:nth-child(3n)   .press-card { transform: rotate(.5deg); }
.press-card:hover { transform: rotate(0) translateY(-6px); box-shadow: 0 22px 48px rgba(101, 46, 21, .14); }
.press-thumb img { filter: saturate(.92) contrast(1.02); }
.press-badge {
  background: #2B2118 !important; color: #FFFDF8 !important;
  font-weight: 800; letter-spacing: .08em; text-transform: none;
}
.press-year { font-variant-numeric: tabular-nums; }

/* research — the four applications ride the palette journey */
.application .app-card { position: relative; overflow: hidden; }
.application .app-card::before {
  content: ""; position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 5px;
  border-radius: 0 4px 4px 0; background: var(--app-hue, var(--b-orange, #E2783A));
}
.application .app-card:nth-child(1) { --app-hue: linear-gradient(180deg, #F2B434, #E2783A); }
.application .app-card:nth-child(2) { --app-hue: linear-gradient(180deg, #E2783A, #C94F63); }
.application .app-card:nth-child(3) { --app-hue: linear-gradient(180deg, #C94F63, #872B64); }
.application .app-card:nth-child(4) { --app-hue: linear-gradient(180deg, #872B64, #5B2A86); }
.application .app-card::before { background: var(--app-hue); }
.application .app-card .letter {
  background: var(--app-hue, #E2783A); color: #fff;
  -webkit-background-clip: border-box; background-clip: border-box;
}

/* about hero — primary CTA carries the brand gradient */
.ab-hero .btn-primary {
  background: linear-gradient(120deg, #E2783A, #C94F63 55%, #872B64) !important;
  border: none !important; color: #fff !important;
  box-shadow: 0 12px 30px rgba(201, 79, 99, .3);
}
.ab-hero .btn-primary:hover { box-shadow: 0 16px 40px rgba(201, 79, 99, .42); filter: brightness(1.05); }

/* store — each category opens with a small moment */
.section-cat .section-head h2 { position: relative; padding-bottom: 14px; }
.section-cat .section-head h2::after {
  content: ""; position: absolute; bottom: 0; inset-inline-start: 0; width: 64px; height: 3px;
  border-radius: 3px; background: linear-gradient(90deg, #E2783A, #872B64);
}
.section-cat:nth-of-type(even) { background: linear-gradient(180deg, #FFF9F3, #FFFDFB); }

/* testimonials — written quotes get their voice mark + settled attribution */
.cards-3 figure { position: relative; }
.cards-3 figure blockquote { position: relative; z-index: 1; }
.cards-3 figure::before {
  content: "”"; position: absolute; top: -6px; inset-inline-start: 16px;
  font-family: var(--he-font-display, serif); font-size: 92px; line-height: 1;
  color: var(--b-orange, #E2783A); opacity: .16; pointer-events: none;
}
.cards-3 figure figcaption {
  border-top: 1px solid var(--he-border, #eee); padding-top: 12px !important; margin-top: auto;
}

/* ===== F13 round 3b: last-mile parity ===== */
/* podcast product trio: equal bottoms — desc clamps, price settles to the base */
.pod-prod-grid { align-items: stretch; }
.pod-prod-card { display: flex; flex-direction: column; height: 100%; }
.pod-prod-body { display: flex; flex-direction: column; flex: 1; }
.pod-prod-body p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pod-prod-body .pod-prod-price { margin-top: auto; padding-top: 10px; }

/* guard: banded sections keep their own backgrounds (Sapir 24.8 regression fix) */
.totem-band {
  background: radial-gradient(120% 140% at 50% 0%, #7c2554 0%, #5b1a3e 55%, #461330 100%) !important;
  color: #fff;
}

/* =====================================================================
   SWEEP 2026-09-15 · "alive, warm, no dead corners" — global rules.
   Loads last among the global layers, before page CSS.
   ===================================================================== */

/* 1 · nothing may stay invisible: every JS-gated reveal gets a CSS fallback.
      If an IntersectionObserver never fires (tall element, transformed ancestor,
      double-gating), the content still arrives 1.4s later. */
@keyframes nye-safe { to { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: no-preference) {
  .v6-stag > *, .v4-stagger, .nye-reveal, .v6-headrise, .footer-nye.v6-prep { animation: nye-safe .7s ease 1.4s forwards; }
  .v6-stag.v6-go > *, .v4-stagger.v4-in, .v4-stagger.nye-in, .nye-reveal.nye-in { animation: none; }
  /* once a stagger has played, its per-child delay must not lag hover/focus transitions */
  .v6-stag.v6-done > * { transition-delay: 0s !important; }
  html { scroll-behavior: smooth; }
}

/* 2 · hover life on everything that is a destination (touch devices untouched) */
@media (hover: hover) and (pointer: fine) {
  .card:has(a), .product, .article-card, .art-rail-card, .team-card, .press-card, .way-card, .sh, .offer,
  .research-card, .app-card, .ep-card, .course-row, .cal-ev, .vision-card, .part-card, .sol-card,
  .efrat-card, .empha-card, .audience-card, .example-card, .tg-card, .elv-card, .ls-tile, .cards-cta-tile {
    transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease, border-color .45s ease, background-color .45s ease, color .3s ease;
  }
  .card:has(a):hover, .product:hover, .article-card:hover, .team-card:hover, .press-card:hover, .way-card:hover,
  .sh:hover, .offer:hover, .research-card:hover, .app-card:hover, .ep-card:hover, .vision-card:hover, .part-card:hover,
  .sol-card:hover, .example-card:hover, .tg-card:hover, .elv-card:hover, .ls-tile:hover, .cards-cta-tile:hover {
    transform: translateY(-4px); box-shadow: 0 24px 46px -26px rgba(45,24,38,.38);
  }
  .art-rail-card:hover h3, .course-row:hover h3, .sh:hover h3, .cal-ev:hover h4 { color: var(--b-magenta, #872B64); }
  .art-rail-card .art-rail-img img, .article-card .cover img, .ep-card img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
  .art-rail-card:hover .art-rail-img img, .article-card:hover .cover img, .ep-card:hover img { transform: scale(1.05); }
  details > summary { transition: color .3s ease, background-color .3s ease; }
  .faq-item > summary:hover, .session-card > summary:hover, .pj-stage > summary:hover, .belief > summary:hover { color: var(--b-magenta, #872B64); }
}
/* keyboard users get the same warmth */
:where(a, button, summary, [tabindex]):focus-visible { outline: 2px solid var(--b-magenta, #872B64); outline-offset: 3px; border-radius: 6px; }

/* 3 · one lead-form skin for every page (labels/wrappers stay page-specific; the fields agree) */
.lead-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .lead-form textarea, .lead-form select,
.form-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .form-card textarea, .form-card select,
.art-consult-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .art-consult-form textarea, .art-consult-form select,
.cta-actions input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .cta-actions textarea, .cta-actions select,
.fit-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .fit-form textarea {
  border-radius: 14px; border: 1px solid var(--he-border, #e6dcd9); background: #fff; color: var(--c-ink, #2d1826);
  font-family: inherit; font-size: 16px; transition: border-color .25s ease, box-shadow .25s ease;
}
.lead-form :is(input, textarea, select):focus, .form-card :is(input, textarea, select):focus, .art-consult-form :is(input, textarea, select):focus,
.cta-actions :is(input, textarea, select):focus, .fit-form :is(input, textarea):focus {
  outline: none; border-color: var(--b-magenta, #872B64); box-shadow: 0 0 0 4px rgba(135,43,100,.12);
}
/* the injected consent line: one flex row, never a one-word-per-line column */
label.v5-consent { display: flex !important; align-items: flex-start; gap: 9px; width: 100%; text-align: start; font-size: 13.5px; line-height: 1.5; margin: 6px 0 12px; }
label.v5-consent > input { flex: 0 0 auto; margin-top: 3px; width: 16px; height: 16px; }
label.v5-consent > span { flex: 1 1 auto; min-width: 0; }
.cta-band label.v5-consent, .cta-band label.v5-consent a { color: rgba(255,255,255,.88); }

/* 4 · fixes surfaced by the 2026-09-15 review (global components) */
.art-rail .art-rail-card:not(:first-child).rail-hidden { display: none !important; }   /* "show 6, expand" was defeated by a later display:grid!important */
.sessions-grid { align-items: start; }                                                   /* an open session card no longer stretches its neighbour */
.pj-stage[open] .pj-peek { display: none; }                                              /* "peek" pill is meaningless once the stage is open */
.v6-type-opts a, .v6-type-opts .sep { white-space: nowrap; }                              /* no orphan "·" at the line start on mobile */
.soul-breath { padding-block: clamp(34px, 6vh, 64px); }                                  /* a breath, not a void */
#books .products { grid-template-columns: repeat(2, minmax(0, 380px)); justify-content: center; }
.way-card:not(.c-orange):not(.c-purple) .way-sub { color: var(--b-magenta, #872B64); }  /* off-palette green sub-line */
.qz-card::before { top: -8px; inset-inline-end: -22px; font-size: 180px; -webkit-text-stroke: 1.5px rgba(135,43,100,.09); }
.founder-body p:first-of-type { padding-inline-start: 22px; }
img[alt=""]:not([aria-hidden]) { }                                                       /* (audit hook – no-op) */
@media (max-width: 820px) { .hero-money-bg { object-position: 68% 0%; } }                /* keep Noa's face in the mobile fold */
@media (max-width: 480px) { .offers-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 640px) { .section-cat { padding: 40px 0; } }

/* 5 · WARM BAND — a breathing full-bleed photo with an optional italic line.
      Use on text-heavy pages so no reader goes more than ~3 screens without a human face.
      <figure class="warm-band"><img src=… alt=…><figcaption>…<small>…</small></figcaption></figure> */
.warm-band { position: relative; margin: 0 auto; max-width: 1240px; border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 7;
  box-shadow: 0 34px 70px -44px rgba(45,24,38,.5); background: #2d1826; }
.warm-band img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.03); }
.warm-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(45,24,38,0) 38%, rgba(45,24,38,.58) 100%); pointer-events: none; }
.warm-band figcaption { position: absolute; inset-inline: 0; bottom: 0; z-index: 1; padding: 26px 36px 30px; color: #fff;
  font-family: var(--he-font-display); font-style: italic; font-weight: 300; font-size: clamp(20px, 2.4vw, 32px); line-height: 1.35;
  text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.warm-band figcaption small { display: block; font-family: var(--he-font-sans); font-style: normal; font-weight: 700; font-size: 13px; letter-spacing: .08em; opacity: .85; margin-top: 8px; }
.warm-band.warm-band-soft::after { background: linear-gradient(180deg, rgba(45,24,38,0) 55%, rgba(45,24,38,.42) 100%); }
.warm-band.warm-band-tall { aspect-ratio: 16 / 9; }
@keyframes warm-drift { from { transform: scale(1.03) translate3d(0,0,0); } to { transform: scale(1.09) translate3d(-1.2%, -1%, 0); } }
@media (prefers-reduced-motion: no-preference) { .warm-band img { animation: warm-drift 16s ease-in-out infinite alternate; } }
@media (max-width: 760px) { .warm-band, .warm-band.warm-band-tall { aspect-ratio: 4 / 3; border-radius: 20px; } .warm-band figcaption { padding: 18px 20px 20px; } }

/* WARM SPLIT — photo beside a text block for heroes/sections that were text-only */
.warm-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.warm-split .warm-photo { border-radius: 26px; overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 30px 60px -38px rgba(45,24,38,.5); position: relative; }
.warm-split .warm-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.warm-split .warm-photo.warm-photo-wide { aspect-ratio: 5 / 4; }
@media (max-width: 900px) { .warm-split { grid-template-columns: 1fr; gap: 26px; } .warm-split .warm-photo { max-width: 420px; margin: 0 auto; aspect-ratio: 4 / 3; } }

/* CITE line under quotes — a name makes a voice */
.quote-cite { display: block; margin-top: 10px; font-family: var(--he-font-sans); font-style: normal; font-size: 13.5px; font-weight: 700; letter-spacing: .04em; color: var(--b-magenta, #872B64); }

/* white form card on a plum band: its sub-line must stay readable */
.cta-band .form-card .sub, .ws-cta .form-card .sub { color: #5c4a55; }

/* ===== 2026-10-12 · Dean: buttons lean to the purple end of the palette (cards-page feel) ===== */
.btn-accent {
  background-image: linear-gradient(115deg, #B8405A 0%, #872B64 48%, #5B2A86 100%);
  background-size: 160% 100%; background-position: 0% 50%;
  box-shadow: 0 14px 34px -10px rgba(91,42,134,.5);
}
.btn-accent:hover { background-position: 96% 50%; box-shadow: 0 20px 44px -12px rgba(91,42,134,.55); }
.btn-primary { background: linear-gradient(100deg, #872B64, #572B73); color: #fff; }
.btn-primary:hover { background: linear-gradient(100deg, #6f2453, #45205c); color: #fff; }
.btn-outline { color: #572B73; border-color: rgba(87,43,115,.45) !important; background: transparent; }
.btn-outline:hover { background: #572B73; border-color: #572B73 !important; color: #fff; }
.dark .btn-outline, .cta-band .btn-outline, .cta-actions .btn-outline { color: #fff; border-color: rgba(255,255,255,.42) !important; }
.btn-ghost { color: #872B64; }
.btn-ghost:hover { color: #572B73; }
.btn-accent, .btn-primary { text-shadow: 0 1px 1px rgba(45,24,38,.15); }
@keyframes v5ctabreath {
  0%, 100% { box-shadow: 0 14px 34px -10px rgba(91,42,134,.42); }
  50%      { box-shadow: 0 18px 44px -8px rgba(91,42,134,.62); }
}
.footer-nye-cta:hover { background: rgba(255,255,255,.14); }
