/* =====================================================================
   NYE v5 — "הממד" (The Dimension)
   Immersion layer on top of v4: portal entry, living canvases,
   depth physics. Pure design — no content. Motion-safe throughout.
   ===================================================================== */

/* ---------- PORTAL ENTRY ---------- */
.v5-portal {
  position: fixed; inset: 0; z-index: 9999;
  background:
    radial-gradient(90vw 70vh at 78% 18%, rgba(135,43,100,0.30), transparent 60%),
    radial-gradient(80vw 60vh at 12% 82%, rgba(226,120,58,0.18), transparent 60%),
    radial-gradient(60vw 50vh at 40% 40%, rgba(87,43,115,0.20), transparent 65%),
    #120D11;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: opacity .95s cubic-bezier(.6,0,.3,1), transform 1.15s cubic-bezier(.6,0,.3,1), filter .95s ease;
}
.v5-portal canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.v5-portal .v5-portal-mark {
  position: relative; text-align: center;
  opacity: 0; transform: scale(.92);
  transition: opacity 1.2s cubic-bezier(.16,1,.3,1), transform 1.6s cubic-bezier(.16,1,.3,1);
}
.v5-portal.mark-in .v5-portal-mark { opacity: 1; transform: scale(1); }
.v5-portal .v5-portal-mark img {
  width: min(280px, 52vw); height: auto; display: block; margin: 0 auto;
  filter: brightness(0) invert(1) drop-shadow(0 0 34px rgba(249,218,89,0.35));
}
.v5-portal .v5-portal-sub {
  margin-top: 18px;
  font-family: var(--t-font-script); font-size: clamp(22px, 3vw, 34px);
  color: rgba(255,255,255,0.65); direction: ltr;
}
.v5-portal.leave {
  opacity: 0; transform: scale(1.55); filter: blur(18px);
  pointer-events: none;
}
body.v5-locked { overflow: hidden !important; }

/* boot veil — covers first paint until the portal takes the stage (self-clears as a fail-safe) */
html.v5-boot body::before {
  content: ""; position: fixed; inset: 0; z-index: 9998;
  background:
    radial-gradient(80vw 60vh at 70% 20%, rgba(135,43,100,0.25), transparent 60%),
    #120D11;
  animation: v5bootout 0.4s ease 5s forwards;
  transition: opacity .85s ease;
}
html.v5-boot.v5-boot-out body::before { opacity: 0; pointer-events: none; }
@keyframes v5bootout { to { opacity: 0; visibility: hidden; } }

/* navigation veil — dissolve between pages */
.v5-veil {
  position: fixed; inset: 0; z-index: 9997;
  background:
    radial-gradient(80vw 60vh at 70% 20%, rgba(135,43,100,0.28), transparent 60%),
    radial-gradient(70vw 50vh at 15% 85%, rgba(226,120,58,0.16), transparent 60%),
    #120D11;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .42s ease, visibility .42s;
}
.v5-veil.on { opacity: 1; visibility: visible; pointer-events: auto; }
/* the cut carries the mark */
.v5-veil::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: 84px; height: 76px; margin: -38px 0 0 -42px;
  background: url('/assets/brand/nye-icon.png') no-repeat center / contain;
  filter: brightness(0) invert(1);
  opacity: 0; transform: scale(.85);
  transition: opacity .5s ease .15s, transform .7s var(--t-ease-out) .15s;
}
.v5-veil.on::after { opacity: .9; transform: scale(1); }

/* (letterbox removed per Noa/Sapir) */

/* events board — image + text + register (Noa) */
.home-events { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.home-events .ev-card {
  background: #fff; border-radius: 22px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(37,33,35,.04), 0 20px 46px -22px rgba(87,43,115,.20);
  display: flex; flex-direction: column;
  transition: transform .3s var(--t-ease-out), box-shadow .3s;
}
.home-events .ev-card:hover { transform: translateY(-6px); box-shadow: 0 30px 62px -22px rgba(135,43,100,.28); }
.home-events .ev-img { aspect-ratio: 16/9; overflow: hidden; }
.home-events .ev-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--t-ease-out); }
.home-events .ev-card:hover .ev-img img { transform: scale(1.05); }
.home-events .ev-body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.home-events .ev-body h4 { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.35; color: var(--t-ink); }
.home-events .ev-status {
  margin: 0; font-size: 13.5px; font-weight: 700; color: #1a7a3d;
  display: inline-flex; align-items: center; gap: 7px; flex: 1;
}
.home-events .ev-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #27ae60; box-shadow: 0 0 0 3px rgba(39,174,96,.16); }
.home-events .btn { align-self: flex-start; }
@media (max-width: 860px) { .home-events { grid-template-columns: 1fr; } }

/* WhatsApp testimonials — a slow living stream (measured marquee, uniform heights) */
html.v5 .home-wa-strip {
  display: block !important; grid-template-columns: none !important;
  max-width: 1100px; margin-inline: auto; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
html.v5 .v5-wa-track { display: flex; gap: 16px; width: max-content; will-change: transform; }
html.v5 .v5-wa-track img {
  height: 400px; width: auto; flex: none; margin: 0;
  border-radius: 16px; border: 1px solid rgba(37,33,35,0.08);
  box-shadow: 0 14px 34px -16px rgba(42,24,37,.25);
}
@media (max-width: 700px) { html.v5 .v5-wa-track img { height: 300px; } }

/* the theater vignette — deepens around dark scenes */
.v5-vignette {
  position: fixed; inset: 0; z-index: 45; pointer-events: none;
  background: radial-gradient(115% 95% at 50% 45%, transparent 56%, rgba(8,5,9,0.62) 100%);
  opacity: 0;
  transition: opacity .5s ease;
}

/* the healing journey thread — flows top→bottom in the page margins, above the hero
   but confined to the gutters so it never crosses text */
.v5-journey {
  position: fixed; inset: 0; z-index: 6;
  pointer-events: none;
}

/* breathing atmosphere: cool at the start of the journey, golden at the end */
.v5-atmo {
  position: fixed; inset: 0; z-index: 43;
  pointer-events: none;
  mix-blend-mode: soft-light;
  opacity: 0;
}
.v5-atmo-cool {
  background: linear-gradient(180deg, rgba(140,142,185,0.9) 0%, rgba(150,150,195,0.35) 55%, transparent 100%);
}
.v5-atmo-warm {
  background: radial-gradient(130% 95% at 50% 85%, rgba(255,198,122,0.95) 0%, rgba(255,182,120,0.30) 52%, transparent 78%);
}

/* the four steps become a living circle — the brand rings slowly breathe behind them */
@media (min-width: 760px) {
  html.v5 .home-4step {
    position: relative;
    display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 30px;
    width: auto; height: auto;
    margin: 26px auto 6px;
  }
  /* multiple concentric circles behind the four steps (clean, slowly turning + breathing) */
  /* multiple concentric circles behind the four steps (clean, slowly turning + breathing) */
  html.v5 .home-4step::before { content: none !important; }
  html.v5 .home-4step > .v5-step { /* row layout */
    position: static;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(4px);
    border-radius: 999px;
    padding: 10px 20px 10px 14px;
    box-shadow: 0 14px 34px -14px rgba(87,43,115,0.35);
  }
  html.v5 .home-4step > .v5-step:nth-child(1) { position: static; translate: none; }
  html.v5 .home-4step > .v5-step:nth-child(2) { position: static; translate: none; }
  html.v5 .home-4step > .v5-step:nth-child(3) { position: static; translate: none; }
  html.v5 .home-4step > .v5-step:nth-child(4) { position: static; translate: none; }
}
@keyframes v5ringspin {
  from { transform: translate(-50%, -50%) rotate(0); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes v5ringbreath { 0%, 100% { opacity: .72; } 50% { opacity: 1; } }
@keyframes v5circspin { from { transform: translate(-50%,-50%) rotate(0); } to { transform: translate(-50%,-50%) rotate(360deg); } }

/* method timeline — the same living rings breathe behind the four stages */
html.v5 .solution-band .timeline-grid { position: relative; }

html.v5 .solution-band .tl-step { position: relative; }
html.v5 .tl-num { animation: v5beat 5.6s ease-in-out infinite; }
html.v5 .timeline-grid .tl-step:nth-child(1) .tl-num { animation-delay: 0s; }
html.v5 .timeline-grid .tl-step:nth-child(2) .tl-num { animation-delay: .7s; }
html.v5 .timeline-grid .tl-step:nth-child(3) .tl-num { animation-delay: 1.4s; }
html.v5 .timeline-grid .tl-step:nth-child(4) .tl-num { animation-delay: 2.1s; }

/* heartbeat: the four steps find their rhythm */
html.v5 .home-4step .n {
  animation: v5beat 5.6s ease-in-out infinite;
}
html.v5 .home-4step > .v5-step:nth-child(1) .n { animation-delay: 0s; }
html.v5 .home-4step > .v5-step:nth-child(2) .n { animation-delay: .7s; }
html.v5 .home-4step > .v5-step:nth-child(3) .n { animation-delay: 1.4s; }
html.v5 .home-4step > .v5-step:nth-child(4) .n { animation-delay: 2.1s; }
@keyframes v5beat {
  0%, 18%, 100% { box-shadow: 0 0 0 0 rgba(135,43,100,0.38); transform: scale(1); }
  6% { box-shadow: 0 0 0 14px rgba(135,43,100,0); transform: scale(1.12); }
  12% { box-shadow: 0 0 0 0 rgba(135,43,100,0); transform: scale(1); }
}

/* film grain */
.v5-grain {
  position: fixed; inset: -60%; z-index: 44; pointer-events: none;
  opacity: 0.16; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");
  animation: v5grain 1.1s steps(5) infinite;
}
@keyframes v5grain {
  0% { transform: translate(0, 0); }
  20% { transform: translate(-2.2%, 1.4%); }
  40% { transform: translate(1.6%, -2.4%); }
  60% { transform: translate(-1.2%, -1.2%); }
  80% { transform: translate(2.4%, 1.8%); }
  100% { transform: translate(0, 0); }
}

/* scenes settle into place */
html.v5 .v5-scene > .container {
  transform: translateY(26px);
  transition: transform 1.5s cubic-bezier(.22,1,.32,1);   /* softer settle — like an exhale */
}
html.v5 .v5-scene.v5-scene-in > .container { transform: none; }

/* scrubbed parallax elements must not fight their hover/entrance transitions */
.v5-par { transition: none !important; will-change: translate; }

/* ---------- LIVING CANVASES ---------- */
.v5-threads {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; display: block;
}
/* hero: enchanted light instead of lines — nothing draws over Noa */
.v5-bokeh {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 1;
}
.v5-lantern {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
  mix-blend-mode: soft-light;
  background: radial-gradient(540px 540px at var(--lx, 65%) var(--ly, 38%),
    rgba(255, 219, 153, 0.85), rgba(255, 219, 153, 0.25) 40%, transparent 65%);
  opacity: 0;
  transition: opacity .8s ease;
}
.hero-money.v5-lit .v5-lantern { opacity: 1; }
/* the card's thread turns alive: hide the static SVG, the canvas takes over */
html.v5 .hero-money-card .nye-thread svg { display: none; }
html.v5 .hero-money-card .nye-thread { overflow: hidden; }
html.v5 .hero-money-card .nye-thread .v5-threads { position: absolute; inset: 0; }
.hero-money .hero-money-card { z-index: 3; }
.hero-money .hero-ghost { z-index: 2; }
.hero-money .hero-money-fade { z-index: 2; }
.section.dark .v5-threads, .pf-band .v5-threads { opacity: .8; }
/* footer: the side-to-side silk + the authored tree-of-life root artwork */
.footer-nye .v5-threads { opacity: .55; mix-blend-mode: screen; }

.section.dark, .pf-band, .footer-nye, .totem-band { position: relative; }
.section.dark > .container, .pf-band > .container, .footer-nye > .container,
.totem-band > .container { position: relative; z-index: 1; }
/* live canvases replace the static thread textures */
html.v5 .dark, html.v5 .pf-band {
  background-image:
    radial-gradient(ellipse 900px 640px at 88% 8%, rgba(135,43,100,0.38), transparent 55%),
    radial-gradient(ellipse 760px 560px at 6% 92%, rgba(226,120,58,0.26), transparent 55%);
  background-size: auto, auto;
  background-position: 0 0, 0 0;
}
html.v5 .footer-nye { background: var(--t-grad-deep); }

/* ---------- AMBIENT DUST (global, fixed, behind everything) ---------- */
.v5-dust {
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none;
}
/* page content sits above the dust */
body > main, body > section, body > .section, body > div, body > footer, body > nav, body > header { position: relative; z-index: 1; }

/* ---------- DEPTH: blur-emergence reveals ---------- */
html.v5 .nye-reveal, html.v5 .v4-stagger {
  filter: blur(9px);
  transition-property: opacity, transform, filter;
  transition-duration: 1.05s;
  transition-timing-function: cubic-bezier(.16,1,.3,1);
}
html.v5 .nye-reveal.nye-in, html.v5 .v4-stagger.nye-in, html.v5 .v4-stagger.v4-in {
  filter: blur(0);
}

/* ---------- DEPTH: card tilt + glare ---------- */
html.v5-tilt .card, html.v5-tilt .product, html.v5-tilt .course-row,
html.v5-tilt .cards-cta-tile, html.v5-tilt .test-card {
  transform-style: preserve-3d;
  transform:
    perspective(900px)
    rotateX(var(--tx, 0deg)) rotateY(var(--ty, 0deg))
    translateY(var(--lift, 0px));
  transition: transform .18s ease-out, box-shadow .3s ease;
}
html.v5-tilt .card::before, html.v5-tilt .product::before,
html.v5-tilt .cards-cta-tile::before {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(420px 320px at var(--gx, 50%) var(--gy, 50%),
    rgba(255,255,255, var(--glare, 0)), transparent 60%);
  transition: opacity .3s;
}

/* ---------- DEPTH: scroll-momentum shear ---------- */
html.v5-flow .section, html.v5-flow .section-tight {
  transform: skewY(var(--v5-skew, 0deg));
  transition: transform .12s linear;
}

/* hero photo gets deeper parallax room */
html.v5 .hero-money-bg { transform-origin: 50% 30%; }

/* the chevron invites you deeper */
html.v5 .hero-money-chevron {
  background: rgba(24,12,20,0.34);
  border: 1px solid rgba(255,255,255,0.35);
}

/* ---------- THE CARD RITUAL — a message from the universe ---------- */
/* live silk on the sanctum + light heroes */
.v5-threads-light { mix-blend-mode: multiply; opacity: .4; }

/* cards hero: the deck flies from Noa's hands to its places, then levitates */
/* the throw: cards arc UP out of her hands, tumble, and float down into place */
html.v5 .chm-card.v5-fly {
  animation: v5flyout 1.9s cubic-bezier(.3,.75,.35,1) var(--fd, .4s) both,
             v5lev 5.4s ease-in-out calc(var(--fd, .4s) + 2s) infinite;
}
@keyframes v5flyout {
  0% { translate: var(--fx, 0) var(--fy, 0); scale: .42; opacity: 0; rotate: -24deg; }
  18% { opacity: 1; }
  46% {
    translate: calc(var(--fx, 0px) * 0.32) calc(var(--fy, 0px) * 0.32 - 150px);
    scale: .96; rotate: 14deg;
  }
  74% { translate: calc(var(--fx, 0px) * 0.05) -22px; rotate: -6deg; scale: 1.02; }
  100% { translate: 0 0; scale: 1; opacity: 1; rotate: 0deg; }
}
/* a breath on click — inhale… and go */
html.v5 .chm-card.v5-breathing {
  animation: v5inhale .65s ease-in-out both;
  z-index: 5;
}
@keyframes v5inhale {
  0% { scale: 1; }
  45% { scale: 1.22; filter: drop-shadow(0 0 26px rgba(249,218,89,.65)); }
  100% { scale: 1; }
}

/* the deck levitates, waiting */
html.v5 .deck-fan { position: relative; }
html.v5 .deck-fan .deck-card,
html.v5 .msg-grid .msg-card {
  animation: v5lev 5.4s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * -0.5s);
}
@keyframes v5lev { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }

/* the sanctum breathes around the deck */
html.v5 .deck-fan::before {
  content: ""; position: absolute; left: 50%; top: 52%;
  width: min(820px, 92%); aspect-ratio: 2.4 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(249,218,89,0.18), rgba(226,120,58,0.08) 55%, transparent 78%);
  animation: v5haloBreath 9s ease-in-out infinite;
  pointer-events: none;
}
@keyframes v5haloBreath {
  0%, 100% { opacity: .5; transform: translate(-50%, -50%) scale(.92); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.07); }
}
html.v5 .deck-fan .deck-card:hover {
  box-shadow: 0 22px 44px rgba(20, 4, 14, 0.6), 0 0 30px rgba(249, 218, 89, 0.35);
}

/* the choosing: the world recedes, the chosen card rises to the light */
html.v5 .v5-choosing .deck-card, html.v5 .v5-choosing .msg-card {
  transition: opacity .55s ease, filter .55s ease, translate .7s var(--t-ease-out), scale .7s var(--t-ease-out);
}
html.v5 .v5-choosing .deck-card:not(.v5-chosen),
html.v5 .v5-choosing .msg-card:not(.v5-chosen) {
  opacity: .10; filter: blur(2px) saturate(.6);
  animation-play-state: paused;
}
html.v5 .v5-chosen {
  z-index: 6; position: relative;
  translate: var(--cx, 0) -30px;
  scale: 1.3;
  animation-play-state: paused;
  box-shadow: 0 30px 70px -14px rgba(20,4,14,.7), 0 0 44px rgba(249,218,89,.5), 0 0 0 1.5px rgba(255,231,154,.65) !important;
}
/* the turn: the card you touched reveals its face in your hand */
html.v5 .v5-chosen { perspective: 700px; }
html.v5 .v5-chosen img { transition: transform .26s ease-in; backface-visibility: hidden; }
html.v5 .v5-chosen.v5-turning img { transform: rotateY(88deg); }
html.v5 .v5-chosen.v5-turned img { animation: v5turnin .34s ease-out both; }
@keyframes v5turnin { from { transform: rotateY(-88deg); } to { transform: rotateY(0); } }

/* one full breath with the card — inhale… hold… exhale */
html.v5 .v5-chosen.v5-card-breath {
  animation: v5cardbreath 1.35s cubic-bezier(.4,0,.35,1) both !important;
}
@keyframes v5cardbreath {
  0% { scale: 1.3; }
  42% { scale: 1.44; box-shadow: 0 34px 80px -12px rgba(20,4,14,.75), 0 0 70px rgba(249,218,89,.75), 0 0 0 2px rgba(255,231,154,.9); }
  58% { scale: 1.44; }
  100% { scale: 1.32; }
}

/* the light burst — the universe answers */
.v5-burst { position: absolute; width: 8px; height: 8px; pointer-events: none; z-index: 7; }
.v5-burst::before {
  content: ""; position: absolute; inset: -70px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,236,170,0.95), rgba(249,218,89,0.30) 45%, transparent 72%);
  animation: v5burstGlow 1.1s ease-out forwards;
}
.v5-burst::after {
  content: ""; position: absolute; inset: -8px; border-radius: 50%;
  border: 1.5px solid rgba(255,236,170,0.9);
  animation: v5burstRing 1s cubic-bezier(.16,1,.3,1) forwards;
}
.v5-burst .sp {
  position: absolute; top: 50%; left: 50%; width: 4px; height: 4px; border-radius: 50%;
  background: #FFE79A; box-shadow: 0 0 8px rgba(255,231,154,.9);
  animation: v5sp 1s ease-out forwards;
}
@keyframes v5burstGlow { 0% { opacity: 0; transform: scale(.35); } 22% { opacity: 1; } 100% { opacity: 0; transform: scale(2.1); } }
@keyframes v5burstRing { 0% { opacity: .95; transform: scale(.3); } 100% { opacity: 0; transform: scale(8); } }
@keyframes v5sp { 0% { opacity: 1; transform: translate(0,0) scale(1); } 100% { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(.3); } }

/* the reveal: the card turns over, the message surfaces */
html.v5 .card-reveal .reveal-media { perspective: 1000px; }
html.v5 .card-reveal.v5-in .reveal-media img {
  animation: v5flip .85s var(--t-ease-out) both;
  transform-origin: 50% 50%;
}
@keyframes v5flip {
  from { transform: rotateY(88deg) scale(.92); opacity: 0; }
  60% { opacity: 1; }
  to { transform: rotateY(0) scale(1); }
}
html.v5 .card-reveal.v5-in .reveal-text > * {
  opacity: 0; filter: blur(7px); transform: translateY(14px);
  animation: v5surface .9s var(--t-ease-out) forwards;
}
html.v5 .card-reveal.v5-in .reveal-text > *:nth-child(1) { animation-delay: .30s; }
html.v5 .card-reveal.v5-in .reveal-text > *:nth-child(2) { animation-delay: .44s; }
html.v5 .card-reveal.v5-in .reveal-text > *:nth-child(3) { animation-delay: .58s; }
html.v5 .card-reveal.v5-in .reveal-text > *:nth-child(4) { animation-delay: .72s; }
html.v5 .card-reveal.v5-in .reveal-text > *:nth-child(5) { animation-delay: .86s; }
html.v5 .card-reveal.v5-in .reveal-text > *:nth-child(6) { animation-delay: 1.0s; }
@keyframes v5surface { to { opacity: 1; filter: blur(0); transform: none; } }

/* ---------- ROUND-7: alive ---------- */
/* anchored scrolls never hide under the sticky nav (card reveals, session cards, forms) */
[id], .card-reveal, .inline-card-reveal {
  scroll-margin-top: calc(var(--he-nav-h, 78px) + 26px);
}

/* the gradient words shimmer — slowly, like light moving through silk */
html.v5 .h1 em, html.v5 .h1 .italic, html.v5 .h2 em, html.v5 .h2 .italic,
html.v5 .h1 .text-orange, html.v5 .h1 .text-magenta, html.v5 .h1 .text-purple,
html.v5 .h2 .text-orange, html.v5 .h2 .text-magenta, html.v5 .h2 .text-purple, html.v5 .h2 .text-blue {
  background-size: 220% 100%;
  animation: v5gradshift 9s ease-in-out infinite alternate;
}
@keyframes v5gradshift { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }

/* the main CTA breathes with the page */
html.v5 .btn-accent { animation: v5ctabreath 9s ease-in-out infinite; }
@keyframes v5ctabreath {
  0%, 100% { box-shadow: 0 14px 34px -10px rgba(135,43,100,0.42); }
  50% { box-shadow: 0 18px 44px -8px rgba(135,43,100,0.62); }
}

/* the mandala holds the brand mark at its heart */
@media (min-width: 760px) {

}

/* dark-band tiles: perfectly aligned — titles share a zone, buttons share a baseline */
.cards-cta-grid { align-items: stretch; }
.cards-cta-tile { justify-content: space-between; }
.cards-cta-tile h4 { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 52px; }
.cards-cta-tile .btn { margin-top: auto; }

/* answers surface softly when a question opens */
html.v5 .home-faq details[open] > div, html.v5 .faq details[open] .answer {
  animation: v5surface .7s var(--t-ease-out) both;
}

/* ---------- ROUND-6 COMPONENTS ---------- */
/* elevators: perspective-on-your-case */
.elv-case-in {
  text-align: center; max-width: 760px; margin: 0 auto;
  background:
    radial-gradient(120% 150% at 85% -20%, rgba(249,218,89,0.12), transparent 55%),
    radial-gradient(120% 150% at 10% 120%, rgba(135,43,100,0.08), transparent 55%),
    #fff;
  border-radius: 26px; padding: 52px 46px;
  box-shadow: 0 30px 70px -30px rgba(87,43,115,.30);
}
.elv-case-in .btn { margin-top: 22px; }
.elv-case-in .lead { margin: 14px auto 0; max-width: 560px; }

/* podcast: products glide as a carousel (Noa) */
html.v5 .pod-prod-grid {
  display: flex !important; grid-template-columns: none !important;
  overflow-x: auto; scroll-snap-type: x mandatory; gap: 22px;
  padding-bottom: 14px; scrollbar-width: none;
}
html.v5 .pod-prod-grid::-webkit-scrollbar { display: none; }
html.v5 .pod-prod-grid .pod-prod-card { flex: 0 0 min(330px, 78vw); scroll-snap-align: center; }
.v5-carousel-nav { display: flex; gap: 10px; justify-content: center; margin-top: 6px; }
.v5-carousel-nav button {
  width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(135,43,100,.3);
  background: #fff; color: var(--b-magenta); font-size: 19px; cursor: pointer;
  transition: all .2s var(--t-ease-out);
}
.v5-carousel-nav button:hover { background: var(--b-magenta); color: #fff; transform: translateY(-2px); }

/* podcast: what's clickable, glows (Noa: מחוזק) */
html.v5 .ep-card, html.v5 .ep-featured { cursor: pointer; position: relative; }
html.v5 .ep-card:hover, html.v5 .ep-featured:hover {
  box-shadow: 0 26px 56px -20px rgba(135,43,100,.36), 0 0 0 2px rgba(226,120,58,.35);
}
html.v5 .ep-card::after {
  content: "▶ לצפייה בפרק";
  position: absolute; bottom: 14px; inset-inline-start: 14px;
  background: var(--t-grad-warm); color: #fff;
  font-size: 13px; font-weight: 700; padding: 7px 14px; border-radius: 999px;
  opacity: 0; translate: 0 6px; transition: opacity .25s, translate .3s var(--t-ease-out);
  pointer-events: none;
}
html.v5 .ep-card:hover::after { opacity: 1; translate: 0 0; }
.lang-en .ep-card::after { content: "▶ Watch"; }

/* session cards: each session gets its line-drawn figure */
.v5-session-ic {
  flex: none; width: 54px; height: 54px; margin-inline-end: 4px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: linear-gradient(#fff,#fff) padding-box, var(--t-grad) border-box;
  border: 1.5px solid transparent;
}
.v5-session-ic svg { width: 34px; height: 34px; display: block; }
.session-card summary { display: flex; align-items: center; gap: 12px; }

/* article body images — one calm rhythm (Noa: סימטריה) */
.article-body img, .reveal-body img {
  width: 100%; aspect-ratio: 16 / 9; object-fit: cover;
  border-radius: 18px; margin: 18px 0;
}

/* ---------- REDUCED MOTION / MOBILE ---------- */
@media (prefers-reduced-motion: reduce) {
  .v5-portal, .v5-threads, .v5-dust, .v5-veil, .v5-vignette, .v5-grain,
  .v5-journey, .v5-atmo, .v5-bar { display: none !important; }
  html.v5 .home-4step .n { animation: none !important; }
  html.v5-boot body::before { display: none !important; }
  html.v5 .v5-scene > .container { transform: none !important; transition: none !important; }
  html.v5 .nye-reveal, html.v5 .v4-stagger { filter: none !important; }
  html.v5-flow .section, html.v5-flow .section-tight { transform: none !important; }
}
@media (max-width: 820px) {
  html.v5-flow .section, html.v5-flow .section-tight { transform: none; }
  .hero-money .v5-threads { opacity: .55; }
}

/* =====================================================================
   THE FINAL BOOK — consolidated fixes from the 4-agent design review
   ===================================================================== */

/* GLOBAL: brand every control */
input[type="checkbox"], input[type="radio"] { accent-color: #872B64; }
textarea { resize: vertical; }
/* WA float stays WhatsApp-green (Sapir: בולט בעין) */
.a11y-btn { background: #572B73 !important; }
html.v5 .btn-primary { background: linear-gradient(120deg, #6E2355, #572B73); }
html.v5 .btn-primary:hover { background: linear-gradient(120deg, #872B64, #6E2355); }
/* nav progress gets a quiet track so partial width reads intentional */
.nav::before {
  content: ""; position: absolute; inset-inline: 0; bottom: -2px; height: 2.5px;
  background: rgba(135, 43, 100, 0.08);
}
/* marquee: keep Hebrew punctuation on the right side inside the LTR track */
.nye-marquee-track span { direction: rtl; unicode-bidi: isolate; }
/* legacy blue chips → violet */
.course-n.c-blue { background: var(--b-violet) !important; }

/* HOME: video slots in warm silk, not black slabs */
.vidslot-ph {
  background:
    url('/assets/brand/thread-soft.svg') no-repeat 50% 65% / 240% auto,
    radial-gradient(130% 100% at 75% 0%, rgba(226,120,58,0.45), transparent 55%),
    linear-gradient(155deg, #7C2554 0%, #572B73 100%) !important;
}
.vidslot-soon { color: rgba(255,255,255,0.9) !important; font-size: 13.5px !important; }
/* hero: signature over the sofa, watermark unclipped */
.hero-ghost { inset-inline-end: auto; right: 4%; left: auto; bottom: 6%; }
.hero-money-wm { top: -8px; inset-inline-end: -10px; width: 150px; opacity: 0.1; }

/* ABOUT: value-card numbers become quiet gradient chips, cards hug content */
.vision-card { min-height: 0 !important; }
.vision-card .num {
  position: static !important; font-size: 17px !important; opacity: 1 !important;
  width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 1.5px solid transparent;
  background: linear-gradient(#fff,#fff) padding-box, var(--t-grad) border-box !important;
  color: var(--b-magenta) !important; font-weight: 600;
}
.vision-grid { align-items: start; }

/* METHOD: the four parts of self carry the brand tints */
.part-card:nth-child(1) { background: linear-gradient(165deg, rgba(249,218,89,0.10), #fff 60%); }
.part-card:nth-child(2) { background: linear-gradient(165deg, rgba(226,120,58,0.09), #fff 60%); }
.part-card:nth-child(3) { background: linear-gradient(165deg, rgba(135,43,100,0.08), #fff 60%); }
.part-card:nth-child(4) { background: linear-gradient(165deg, rgba(87,43,115,0.08), #fff 60%); }
.part-card { border: 0 !important; box-shadow: 0 16px 36px -20px rgba(87,43,115,.22); }
.sol-card .sol-ic { min-height: 44px; display: flex; align-items: center; justify-content: center; }

/* RESEARCH: no blue anywhere */
.research-card:nth-child(4n) .badge { background: linear-gradient(180deg, var(--b-violet), var(--b-magenta)) !important; }
.r-hero .eyebrow, .research-card a { color: var(--b-magenta) !important; }

/* ARTICLES + PODCAST: stock imagery pulled into the brand family */
.article-card .cover-wrap, .featured .cover-wrap, .art-featured-img, .ep-thumb { position: relative; }
.article-card .cover-wrap::after, .featured .cover-wrap::after,
.art-featured-img::after, .ep-thumb::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(160deg, rgba(135,43,100,0.30), rgba(226,120,58,0.14));
  mix-blend-mode: multiply;
}
.filter.active { background: var(--t-grad-warm) !important; border-color: transparent !important; color: #fff !important; }
/* episode/course cards: content columns, links on one baseline */
.ep-card, .course-card, .card[href] { display: flex; flex-direction: column; }
.ep-card > *:last-child, .course-card .btn:last-child { margin-top: auto; }
.pod-products .section-head { display: block !important; text-align: center; }
.pod-products .section-head h2 { margin-inline: auto; }

/* CARDS: the fan must never wrap into broken rows on desktop */
@media (min-width: 821px) {
  .deck-fan { flex-wrap: nowrap; }
  .deck-fan .deck-card { width: 92px; margin-inline-start: -46px; }
}
.deck-hint { color: rgba(255,255,255,0.85) !important; font-size: 15px !important; }
.totem-band { position: relative; }
/* totem-band feather removed (read as a stray line) */
.chm-noa { filter: sepia(0.06) saturate(1.06) drop-shadow(0 24px 40px rgba(96,40,70,0.28)) !important; }

/* SESSIONS: titles breathe, the pipe becomes a soft mark */
.session-card { background: #fff !important; height: auto !important; }
.session-card summary h3 .pipe { color: var(--b-orange); font-weight: 300; padding-inline: 8px; }

/* TOGETHER + ELEVATORS: the flat heroes get the brand's breath */
.tg-hero, .elv-hero {
  background:
    url('/assets/brand/thread-soft.svg') no-repeat 85% -30% / 130% auto,
    radial-gradient(120% 130% at 80% 0%, rgba(249,218,89,0.14), transparent 50%),
    linear-gradient(150deg, #872B64 0%, #6E2355 55%, #572B73 100%) !important;
}
.tg-hero .btn-accent, .elv-hero .btn-accent {
  background: linear-gradient(135deg, #F9DA59, #E2783A);
  color: #451531;
}



/* TESTIMONIALS: crop the phone chrome, cards hug content */
.wa-grid .wa-shot img { width: 100%; display: block; border-radius: 14px; }
.test-grid { align-items: start; }

/* PRESS: fill the page */
.press-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 980px) { .press-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 640px) { .press-grid { grid-template-columns: 1fr !important; } }

/* STORE: identical photos become a deliberate tinted series per category */
#sessions .product .cover { position: relative; }
#cards .product .cover { position: relative; }
#books .product .cover { position: relative; }
#sessions .product .cover::after, #cards .product .cover::after, #books .product .cover::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: color; opacity: .38;
}
#sessions .product .cover::after { background: linear-gradient(135deg, #E2783A, #872B64); }
#cards .product .cover::after { background: linear-gradient(135deg, #872B64, #572B73); }
#books .product .cover::after { background: linear-gradient(135deg, #F9DA59, #E2783A); }

/* footer script signature never clipped */
.footer-nye::after { inset-inline-start: auto; left: -1%; right: auto; }


/* ===== ROUND 8 (Sapir WhatsApp notes + pinch-zoom fix) ===== */
/* no accidental navigation from zoom gestures */
a, button, .btn { touch-action: manipulation; }

/* headings without classes still get the accent (About h2 em etc.) */
html.v5 h1 em, html.v5 h2 em, html.v5 h3 em {
  font-family: var(--he-font-sans);
  font-style: normal;
  font-weight: 800;
  background: var(--t-grad-warm);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* portal: the real brand script */
.v5-portal .v5-portal-sub img {
  width: min(230px, 44vw); height: auto; display: block; margin: 16px auto 0;
  filter: brightness(0) invert(1); opacity: .8;
}

/* home dark band: the cards fly here too (like the cards-page opening) */
.v5-band-card {
  position: absolute; width: 74px; border-radius: 9px;
  box-shadow: 0 14px 30px rgba(10,4,10,.55);
  pointer-events: none; z-index: 0;
  animation: v5flyout 1.9s cubic-bezier(.3,.75,.35,1) var(--fd, .4s) both,
             v5lev 6s ease-in-out calc(var(--fd, .4s) + 2s) infinite;
}
@media (max-width: 760px) { .v5-band-card { width: 52px; } }

/* dark-band tiles: buttons that fit (mobile wrap fix) */
.cards-cta-tile .btn { font-size: 14px; padding: 12px 14px; line-height: 1.3; }
@media (max-width: 760px) {
  .cards-cta-grid { gap: 10px; }
  .cards-cta-tile { padding: 16px 12px; gap: 10px; }
  .cards-cta-tile h4 { font-size: 16px; }
}

/* card download pill (totem + inline reveals) */
.v5-dl {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px; border-radius: 999px; border: 1px dashed rgba(135,43,100,.45);
  background: #fff; color: var(--b-magenta); font-weight: 700; font-size: 13.5px;
  cursor: pointer; font-family: inherit;
}
.v5-dl:hover { background: var(--b-magenta); color: #fff; }
.inline-card-reveal .v5-dl { margin: 12px auto 0; display: table; }

/* ===== RESPONSIVE + SYMMETRY LAYER (multi-agent audit round) ===== */

/* -- 1024px band (tablet landscape / small laptop) -- */
@media (max-width: 1100px) {
  /* method 4 steps + store offers: 2×2 instead of a cramped 4-up */
  .timeline-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .offers-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* session cards: stack the interior — title gets full width */
  .session-card summary { flex-wrap: wrap; }
  .session-card summary h3 { flex: 1 1 100%; order: 3; min-width: 0; }
  /* about floating pill clears the WhatsApp bubble */
  .story-cta-final .btn, .back-home-float { margin-inline-end: 76px; }
}

/* store: product media never taller than a screen */
.product .cover { aspect-ratio: 4 / 3; max-height: 440px; overflow: hidden; }
.product .cover img { width: 100%; height: 100%; object-fit: cover; }

/* cards page: message mosaic centers every wrapped row */
.msg-grid { display: flex !important; flex-wrap: wrap; justify-content: center; }

/* cards hero chips never break mid-label */
.chm-card span { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; justify-content: center; }

/* article rails: clean fade at the cut edge instead of chopped text */
.rail-track {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 26px, #000 calc(100% - 26px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 26px, #000 calc(100% - 26px), transparent 100%);
  scroll-padding-inline: 26px;
}

/* -- session cards: fully stacked interior below 1100px (the worst mobile break) -- */
@media (max-width: 1100px) {
  .session-card summary { display: block !important; }
  .session-card summary .tag { position: static !important; display: inline-block; margin: 0 0 8px; }
  .session-card summary h3 { display: block; margin: 4px 0 8px; font-size: 19px; line-height: 1.4; }
  .session-card summary h3 .pipe { display: block; height: 0; overflow: hidden; }   /* title / subtitle on two lines */
  .session-card summary .pitch { display: block; margin: 0; }
  .session-card .v5-session-ic { float: inline-end; margin-inline-start: 10px; }
  .session-card .full-body { columns: 1 !important; column-count: 1 !important; display: block; }
  .session-card .full-body p { column-count: 1 !important; }
  .session-card .meta-line { display: flex; flex-wrap: wrap; gap: 8px 18px; }
  .session-card .testimonials-link { display: inline-block; max-width: 100%; white-space: normal; margin-inline: 0; }
}

/* -- floating buttons: smaller and tucked on phones (stop covering prices/steps/text) -- */
@media (max-width: 600px) {
  .wa-float { width: 46px !important; height: 46px !important; bottom: 12px !important; inset-inline-start: 12px !important; }
  .wa-float svg { width: 22px; height: 22px; }
  .a11y-btn { transform: scale(0.78); transform-origin: bottom left; }
}

/* -- topstrip: no orphan arrow when the label hides -- */
@media (max-width: 700px) { .topstrip .signup { display: none; } }

/* -- CTA hygiene on phones: no breathing shadow artifact, one width discipline -- */
@media (max-width: 600px) {
  html.v5 .btn-accent { animation: none; box-shadow: 0 10px 24px -8px rgba(135,43,100,0.4); }
  .hero .btn-row .btn, .m-hero .btn, .s-hero .btn-row .btn,
  .elv-hero .btn, .tg-hero .btn, .cards-hero-mock .chm-text .btn {
    width: 100%; justify-content: center;
  }
  .hero-money-card { text-align: right; }
  .hero-money-card .btn { width: 100%; }
}

/* -- store products: two columns on tablets, capped media everywhere -- */
@media (min-width: 641px) and (max-width: 1040px) {
  .products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* -- offers ("איך נוכל לעזור"): no orphan hole -- */
@media (max-width: 820px) {
  .offers-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .offers-grid .offer:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .offer p { overflow-wrap: break-word; min-width: 0; }
}

/* -- message mosaic tiles: sane sizes per width -- */
.msg-grid .msg-card { flex: 0 0 clamp(96px, 12vw, 150px); }
@media (max-width: 820px) { .msg-grid .msg-card { flex: 0 0 22%; } }

/* -- cards hero cluster: fewer floaters on small screens, no chip collisions -- */
@media (max-width: 900px) {
  .chm-card.c-do, .chm-card.c-how { display: none; }
  .chm-stage { min-height: 460px; }
}

/* -- carousels: no visible scrollbars, no cut glyphs -- */
.art-rail::-webkit-scrollbar, .rail-track::-webkit-scrollbar, .pod-prod-grid::-webkit-scrollbar { display: none; }
.art-rail, .rail-track { scrollbar-width: none; }

/* -- together / generic card lists align with their paragraphs -- */
.tg-card li, .tg-band li { text-align: start; }

/* -- SYMMETRY (desktop audit) -- */
/* centered section intros: eyebrow, H2 and lede share ONE axis
   (the 18ch max-width was hugging the inline-start edge) */
.section-head[style*="display:block"] h2,
.section-head[style*="display: block"] h2,
.section-head[style*="text-align:center"] h2,
.section-head[style*="text-align: center"] h2 { margin-inline: auto; }
.section-head[style*="display:block"] .lead,
.section-head[style*="text-align:center"] .lead { margin-inline: auto; }
/* one eyebrow→H2 rhythm everywhere */
.section-head .eyebrow { margin-bottom: 14px; }
.section-head h2 { margin-top: 0; }

/* heroes share the same content grid edge as the body (was jumping ~100px between pages) */
.ab-hero-in, .articles-hero-in, .r-hero-in, .sm-hero-in,
.ab-hero .container, .articles-hero .container, .m-hero .container, .r-hero .container {
  max-width: var(--he-max) !important;
  margin-inline: auto;
  padding-inline: 36px !important;
}

/* article cards: one image box, one text baseline */
.article-card .cover-wrap { aspect-ratio: 16 / 10; }
.article-card .cover-wrap img { width: 100%; height: 100%; object-fit: cover; }

/* odd session card count: the last one spans, no lopsided column */
#sessions .session-card:last-of-type:nth-of-type(odd) { grid-column: 1 / -1; }
@media (max-width: 600px) {
  .session-card .testimonials-link { margin-inline-end: 56px; }
}


/* ===== ROUND 10: proportion, accessibility, restraint (Sapir/Noa) ===== */
/* inner-page heroes: calmer height + capped headline so they don't dominate */
.p-hero, .s-hero, .m-hero, .elv-hero, .tg-hero, .pp-hero, .r-hero,
.ab-hero, .articles-hero, .cards-hero-mock, .sm-hero {
  padding-top: 40px !important; padding-bottom: 40px !important;
}
.p-hero .h1, .s-hero .h1, .m-hero .h1, .elv-hero .h1, .tg-hero .h1,
.pp-hero .h1, .r-hero .h1, .ab-hero .h1 {
  font-size: clamp(28px, 3.4vw, 46px) !important;
}
.p-hero .lead, .s-hero .lead, .m-hero .lead, .elv-hero .lead,
.tg-hero .lead, .pp-hero .lead, .r-hero .lead { font-size: 17px !important; }

/* ACCESSIBILITY: never a white/pale heading on a light ground */
.section:not(.dark):not(.pf-band) .h1,
.section:not(.dark):not(.pf-band) .h2,
.section:not(.dark):not(.pf-band) h1,
.section:not(.dark):not(.pf-band) h2 { color: var(--t-ink); }
/* the gradient-clip accent words already carry contrast; leave those */
.wc-text-gradient, .h1 em, .h2 em, .h1 .italic, .h2 .italic { -webkit-text-fill-color: transparent; }

/* calm the ambient dust further (Sapir: scatter, hard to know what to look at) */
html.v5 .v5-dust { opacity: 0.5; }

/* remove the wavy thread band under the home steps (reads scribbly) */
.nye-thread-wide { display: none !important; }

/* home 4-step: clickable, with meaning popups */
html.v5 .home-4step .v5-step {
  border: 0; background: rgba(255,255,255,0.92); cursor: pointer;
  font: inherit; color: var(--t-ink);
  display: inline-flex; align-items: center; gap: 9px;
  transition: transform .2s var(--t-ease-out), box-shadow .2s;
}
html.v5 .home-4step .v5-step:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 18px 40px -16px rgba(87,43,115,.4); }
.home-4step-hint { text-align: center; margin: 30px auto 0; position: relative; z-index: 2; font-size: 14px; color: var(--he-fg-3); font-weight: 600; }
/* meaning modal */
.v5-modal { position: fixed; inset: 0; z-index: 9996; display: flex; align-items: center; justify-content: center;
  background: rgba(24,12,20,0.55); backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s; padding: 24px; }
.v5-modal.on { opacity: 1; visibility: visible; }
.v5-modal-card { position: relative; background: #fff; border-radius: 24px; max-width: 460px; width: 100%;
  padding: 44px 38px 38px; box-shadow: 0 40px 100px -24px rgba(24,12,20,.5); text-align: center;
  transform: translateY(16px) scale(.97); transition: transform .4s var(--t-ease-out); }
.v5-modal.on .v5-modal-card { transform: none; }
.v5-modal-badge { width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-family: var(--he-font-display); font-size: 22px; font-weight: 700;
  color: #fff; background: var(--t-grad-warm); }
.v5-modal-title { font-family: var(--he-font-sans); font-weight: 800; font-size: 26px; margin: 0 0 12px;
  background: var(--t-grad-warm); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.v5-modal-body { font-size: 16.5px; line-height: 1.8; color: var(--he-fg-2); margin: 0; }
.v5-modal-x { position: absolute; top: 14px; inset-inline-end: 18px; background: none; border: 0; font-size: 26px;
  color: var(--he-fg-3); cursor: pointer; line-height: 1; }
.v5-modal-x:hover { color: var(--b-magenta); }

/* ===== cards page: clean draw-a-card decks (was stacked unreadable faces) ===== */
.draw-hint { text-align: center; color: var(--b-magenta); font-weight: 700; font-size: 15px; margin: 0 0 26px; }
.draw-decks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 900px; margin: 0 auto; }
.draw-decks .comm-group { display: flex; flex-direction: column; align-items: center; text-align: center; }
.draw-decks .draw-deck { width: 200px; max-width: 62vw; cursor: pointer; position: relative; }
.draw-decks .draw-deck img { width: 100%; border-radius: 16px; display: block;
  box-shadow: 0 18px 40px -18px rgba(87,43,115,.5); transition: transform .28s var(--t-ease-out), box-shadow .28s; }
.draw-decks .draw-deck::after { content: "✦ שליפה"; position: absolute; inset-inline: 0; bottom: 12px; text-align: center;
  color: #fff; font-weight: 700; font-size: 13px; opacity: 0; transition: opacity .25s; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.draw-decks .draw-deck:hover img { transform: translateY(-6px) scale(1.03); box-shadow: 0 28px 56px -20px rgba(87,43,115,.6); }
.draw-decks .draw-deck:hover::after { opacity: 1; }
.draw-decks .comm-group h3 { margin: 18px 0 4px; font-family: var(--he-font-sans); font-weight: 800; font-size: 20px; color: var(--t-ink); }
.draw-decks .comm-group .what { margin: 0; font-size: 14.5px; color: var(--he-fg-2); max-width: 24ch; }
.draw-decks-4 { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; }
.draw-decks-4 img { width: 150px; max-width: 40vw; border-radius: 14px; cursor: pointer;
  box-shadow: 0 16px 36px -18px rgba(87,43,115,.5); transition: transform .28s var(--t-ease-out); }
.draw-decks-4 img:hover { transform: translateY(-6px) scale(1.04); }
/* purchase clearly separated from the experience */
.take-home { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.take-home-lbl { font-size: 14.5px; color: var(--he-fg-3); }
.btn-soft { background: #fff; color: var(--b-magenta); border: 1.5px solid rgba(135,43,100,.35); border-radius: 999px;
  padding: 12px 22px; font-weight: 700; font-size: 14.5px; display: inline-flex; align-items: center; gap: 8px; }
.btn-soft:hover { background: var(--b-magenta); color: #fff; }
/* the drawn card reveal — clean, centered, bright (no unclear line) */
.inline-card-reveal { max-width: 420px; margin: 30px auto 0; text-align: center; }
.inline-card-reveal img { width: 300px; max-width: 78vw; border-radius: 18px; margin: 0 auto;
  box-shadow: 0 30px 70px -22px rgba(87,43,115,.55); animation: v5flip .7s var(--t-ease-out) both; }
@media (max-width: 760px) { .draw-decks { grid-template-columns: 1fr; gap: 24px; } }

/* consent checkbox on lead forms */
.v5-consent { display: flex; align-items: flex-start; gap: 9px; margin: 6px 0 14px;
  font-size: 12.5px; line-height: 1.6; color: var(--he-fg-3); text-align: start; cursor: pointer; }
.v5-consent input { margin-top: 3px; flex: none; accent-color: #872B64; }
.v5-consent a { color: var(--b-magenta, #872B64); text-decoration: underline; }
.dark .v5-consent, .pf-band .v5-consent, .cta-band .v5-consent { color: rgba(255,255,255,.75); }
.dark .v5-consent a, .pf-band .v5-consent a { color: #F3C7A6; }

/* ===== ROUND 11b: testimonials + home video brightness ===== */
/* testimonials: cards hug content (no gaping one-liner) */
.test-grid { align-items: start !important; }
.test-card { height: auto !important; }
.test-card blockquote { flex: 0 1 auto !important; }

/* home "החיים שאחרי" video slots: bright (from the cards page), not dark */
html.v5 .vidslot-ph {
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(249,218,89,.18), transparent 55%),
    linear-gradient(160deg, #FBF3F8, #F3EEF6) !important;
  border: 1px solid rgba(135,43,100,.12) !important;
}
html.v5 .vidslot-play { background: var(--t-grad-warm) !important; color: #fff; border: 0; }
html.v5 .vidslot-soon { color: var(--b-magenta) !important; }

/* team bios collapsed by default — clean, less overload */
.v5-bio { max-height: 4.9em; overflow: hidden; position: relative; transition: max-height .5s var(--t-ease-out); }
.v5-bio::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 2.2em;
  background: linear-gradient(transparent, var(--he-paper, #fff)); pointer-events: none; transition: opacity .3s; }
.v5-bio.v5-bio-open { max-height: 80em; }
.v5-bio.v5-bio-open::after { opacity: 0; }
.v5-bio-more { background: none; border: 0; cursor: pointer; padding: 6px 0 0; margin-top: 4px;
  font-family: var(--he-font-sans); font-weight: 700; font-size: 13.5px; color: var(--b-magenta, #872B64); }
.v5-bio-more:hover { text-decoration: underline; }
/* tighter team cards */
.team-card { padding: 26px !important; }
.team-info .name { font-size: 22px !important; font-style: normal !important; font-weight: 800 !important; }


/* ===== ROUND 12 verify fixes ===== */
/* testimonials quote cards: hug content, no gaping one-liner */
#clients .cards-3, #training .cards-3 { align-items: start !important; }
#clients .cards-3 > figure, #training .cards-3 > figure { height: auto !important; }

/* articles: equal card heights + no clipped-text peek */
.article-card { display: flex; flex-direction: column; height: 100%; }
.article-card .body { flex: 1; display: flex; flex-direction: column; }
.article-card .body .read, .article-card .body .art-more { margin-top: auto; }
.art-rail, .rail-track { scroll-padding-inline: 26px; }

/* articles: unify the clashing stock covers with a stronger brand duotone */
.article-card .cover-wrap::after, .featured .cover-wrap::after, .art-featured-img::after {
  background: linear-gradient(155deg, rgba(135,43,100,0.42), rgba(226,120,58,0.24)) !important;
  mix-blend-mode: multiply;
}

/* store: unmistakable category dividers */
.section-cat { border-top: 1px solid rgba(135,43,100,.10); }
.section-cat:first-of-type { border-top: 0; }
.section-cat .section-head h2 { font-weight: 800 !important; font-size: clamp(26px, 3vw, 38px) !important; }


/* ===== ROUND 12b (Sapir/Noa) ===== */
/* home FAQ heading centered (Sapir: "לא יושבת טוב, להעביר לאמצע") */
#articles-preview + section .section-head,
.home-faq { }
.section .section-head:has(+ .home-faq),
section:has(.home-faq) .section-head { text-align: center !important; display: block !important; }
section:has(.home-faq) .section-head h2, section:has(.home-faq) .section-head .eyebrow { margin-inline: auto; justify-content: center; }

/* stronger form field borders site-wide (Noa: "המסגרות בטפסים חלשות מידי") */
.art-consult-form input, .art-consult-form textarea, .art-consult-form select,
.form-card input, .form-card textarea, .form-card select,
.field input, .field textarea, .field select,
form input[type="text"], form input[type="tel"], form input[type="email"], form textarea, form select {
  border: 1.5px solid rgba(135,43,100,0.30) !important;
  border-radius: 12px;
  transition: border-color .18s, box-shadow .18s;
}
.art-consult-form input:focus, .form-card input:focus, .field input:focus,
form input:focus, form textarea:focus, form select:focus {
  border-color: var(--b-magenta, #872B64) !important;
  box-shadow: 0 0 0 3px rgba(135,43,100,0.12) !important;
  outline: none;
}

/* 6-ways cards (Sapir): title + subtitle + body + ghost CTA */
.ways-grid { row-gap: 24px; }
.way-card .way-sub { font-family: var(--he-font-sans); font-size: 13.5px; font-weight: 700; color: var(--b-magenta,#872B64); margin: -2px 0 8px; }
.way-card.c-orange .way-sub { color: var(--b-orange,#E2783A); }
.way-card.c-purple .way-sub { color: var(--b-violet,#572B73); }
.way-card h3 { margin-bottom: 2px; }
.ways-lead { text-align: center; margin-top: 40px; }
.ways-lead p { font-size: 17px; color: var(--he-fg-2); margin: 0 0 16px; }

/* ===== ROUND 15 — Sapir/Noa mobile + polish (2026-07-27) ===== */
/* dark CTA band collapses on mobile (was one-word-per-line + form overflowing) */
@media (max-width: 900px) {
  .cta-band { grid-template-columns: 1fr !important; padding: 46px 24px !important; gap: 34px !important; }
  .cta-band h2 { font-size: clamp(26px, 7vw, 34px) !important; }
  .cta-band .form-card { width: 100%; max-width: 100%; box-sizing: border-box; }
}
/* dark band: no near-black text on the maroon (Noa: "לא רואים טוב") */
.cta-band h2, .cta-band h3 { color: #FBF7EE; }
.cta-band .form-card h3 { color: var(--c-ink); }

/* FAQ toggle: + becomes a clean − when open (was rotating into a broken glyph) */
.faq details[open] summary .pl::before { transform: none !important; }
.faq details[open] summary .pl::after { transform: rotate(90deg) !important; }

/* bullets: brand spark instead of a bare line (Sapir: "אייקונים מעניינים במקום קו") */
.bullets li::before {
  width: 15px; height: 15px; top: 6px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23E2783A'/%3E%3Cstop offset='1' stop-color='%23872B64'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M12 2c.7 4.8 2.5 8.6 10 10-7.5 1.4-9.3 5.2-10 10-.7-4.8-2.5-8.6-10-10 7.5-1.4 9.3-5.2 10-10z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* step badge: pill that fits text like "חלק 1" (was clipped circle) */
.card .step { width: auto; min-width: 44px; height: 40px; padding: 0 15px; border-radius: 999px; white-space: nowrap; align-self: flex-start; }

/* method 4-step timeline: cube under cube on mobile (Sapir) */
@media (max-width: 700px) {
  .timeline-grid, div:has(> .tl-step) { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; }
  .tl-step { min-width: 0; }
}

/* comparison table: make clear which column is which (Sapir: "לא ברור מה זה מה") */
.compare-table .row > div:nth-child(3) { background: rgba(135,43,100,0.05); }
@media (max-width: 760px) {
  .compare-table .row { grid-template-columns: 1fr !important; }
  .compare-table .row.head { display: none; }
  .compare-table .row > div:first-child { background: var(--he-base-2); font-weight: 800; padding: 13px 20px; font-size: 15px; }
  .compare-table .row > div:nth-child(2)::before,
  .compare-table .row > div:nth-child(3)::before {
    display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .05em; margin-bottom: 6px;
  }
  .compare-table .row > div:nth-child(2)::before { content: "שיטות קלאסיות / מסורתיות"; color: var(--he-fg-3); }
  .compare-table .row > div:nth-child(3)::before { content: "שיטת NYE"; color: var(--b-magenta, #872B64); }
}

/* topbar: never clip mid-word on mobile — show one line, ellipsis */
@media (max-width: 720px) {
  .topstrip-in { flex-wrap: nowrap; overflow: hidden; justify-content: center; }
  .topstrip-in > span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
  .topstrip-in > .sep, .topstrip-in > a:not(.signup) { display: none; }
  .topstrip-in > .signup { flex-shrink: 0; white-space: nowrap; }
}

/* big pull-quotes: readable size on phones (were enormous) */
@media (max-width: 640px) {
  .case-quote p, .pull-quote p, .quote-card p, blockquote.big p, .elv-quote p, .quote-block p, .quote-block { font-size: 17px !important; line-height: 1.85 !important; }
}

/* 6-ways: "NYE אצלך בבית" one line + closing question attached, smaller */
.ways-grid .way-card h3 { text-wrap: balance; }
.way-card h3 .nowrap { white-space: nowrap; }
.ways-lead { margin-top: 26px; }
.ways-lead p { font-size: 16px; margin-bottom: 12px; }

/* perk chips: pack evenly on phones (were 2-1-1 with big gaps) */
@media (max-width: 640px) {
  .perks { display: flex !important; flex-wrap: wrap; gap: 10px 18px !important; }
  .perks span { margin: 0 !important; }
}

/* pillars (מקרה בוחן 1-4): stack cube-under-cube on phones — was 4 squeezed columns (Noa img 42) */
@media (max-width: 760px) {
  .pillars { grid-template-columns: 1fr !important; gap: 22px; }
  .pillars::before { display: none; }
  .pillar { padding: 0; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .pillars { grid-template-columns: 1fr 1fr !important; gap: 26px 18px; }
}

/* ===== ROUND 17 (Sapir/Noa 2026-07-28 batch) ===== */
/* totem 1-2-3 steps right-aligned (Sapir: מיושרים לימין) */
.cards-steps { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: fit-content; margin-inline: auto; }
.cards-steps li { display: flex; align-items: center; gap: 10px; text-align: start; }
.deck-count-light { color: #f3c46b; opacity: .95; }

/* listening tiles: topic face thumbnail */
.ls-tile .ls-thumb { width: 74px; border-radius: 8px; box-shadow: 0 8px 18px rgba(45,24,38,.18); }
.ls-more { margin-top: 14px; font-size: 15.5px; color: var(--he-fg-2); }

/* comm reveal: whatsapp share */
.inline-card-reveal .reveal-wa { display: block; margin: 10px auto 0; width: fit-content; font-weight: 700; color: #1faa55; text-decoration: none; border-bottom: 1.5px solid currentColor; }

/* home cards band: warm brand-plum gradient instead of flat black (Sapir: רקע דורש שינוי) */
.section.dark {
  background:
    radial-gradient(ellipse 900px 700px at 88% 12%, rgba(196,42,111,0.40), transparent 50%),
    radial-gradient(ellipse 800px 600px at 8% 88%, rgba(240,163,64,0.34), transparent 50%),
    linear-gradient(135deg, #4A1F3C 0%, #2A1825 62%, #1A0E16 100%) !important;
}

/* store: session products — the clinic photo becomes a soft blurred backdrop (Sapir) */
#sessions .product .cover { position: relative; overflow: hidden; }
#sessions .product .cover img { filter: blur(7px) saturate(1.15) brightness(.92); transform: scale(1.12); }
#sessions .product .cover::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(135,43,100,0.55), rgba(226,120,58,0.35));
  mix-blend-mode: multiply;
}
#sessions .product .cover .type { z-index: 2; }

/* podcast: give episode text more lines (Sapir) */
.pod-ep p, .pod-card p, .pod-ep .desc { -webkit-line-clamp: 5 !important; line-clamp: 5 !important; }

/* articles: Ynet-style rows instead of carousels (Sapir) */
.art-rail { display: grid !important; grid-template-columns: 1fr; gap: 14px; overflow: visible !important; }
.art-rail-card { display: grid !important; grid-template-columns: 200px 1fr; gap: 18px; align-items: center;
  width: auto !important; min-width: 0 !important; background: #fff; border: 1px solid rgba(135,43,100,.08);
  border-radius: 16px; padding: 12px; }
.art-rail-card .art-rail-img { aspect-ratio: 16/10; border-radius: 10px; overflow: hidden; }
.art-rail-card .art-rail-img img { width: 100%; height: 100%; object-fit: cover; }
.art-rail-nav { display: none !important; }
.art-rail-card.rail-hidden { display: none !important; }
.rail-more-btn { margin: 14px auto 0; display: block; }
@media (max-width: 640px) { .art-rail-card { grid-template-columns: 110px 1fr; gap: 12px; } .art-rail-card h3 { font-size: 16px; } }

/* [hidden] must always win (e.g. .btn display rules were overriding it) */
[hidden] { display: none !important; }

/* nav: plain top-level link (cards) — styled like triggers, but actually navigates */
.nav-item > a.nav-solo {
  font-family: var(--he-font-sans); font-size: 14px; font-weight: 500; color: var(--he-fg-2);
  padding: 4px 0; text-decoration: none; transition: color var(--he-t-fast);
}
.nav-item > a.nav-solo:hover { color: var(--c-ink); }

/* ===== ARTICLES — actual Ynet anatomy (overrides the earlier row layout) ===== */
.art-topic { margin-bottom: 40px; }
.art-topic-head { border-bottom: 2px solid var(--he-border); margin-bottom: 16px; padding-bottom: 0; }
.art-topic-title {
  display: inline-block; position: relative; font-size: 22px; font-weight: 800;
  padding-bottom: 10px; margin-bottom: -2px; border-bottom: 3px solid var(--b-magenta, #872B64);
}
.art-rail { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 18px 16px; overflow: visible !important; }
.art-rail-card {
  display: block !important; width: auto !important; min-width: 0 !important;
  background: transparent; border: 0; border-radius: 0; padding: 0;
}
.art-rail-card .art-rail-img { aspect-ratio: 16/10; border-radius: 6px; overflow: hidden; margin-bottom: 10px; }
.art-rail-card .art-rail-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.art-rail-card:hover .art-rail-img img { transform: scale(1.04); }
.art-rail-card .cat-tag { font-size: 11.5px; font-weight: 800; letter-spacing: .03em; color: var(--b-magenta, #872B64); background: none; padding: 0; }
.art-rail-card h3 {
  font-size: 16.5px; font-weight: 800; line-height: 1.4; margin: 4px 0 6px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.art-rail-card .art-excerpt {
  font-size: 13.5px; line-height: 1.6; color: var(--he-fg-3); margin: 0 0 6px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.art-rail-card .meta { font-size: 12px; color: var(--he-fg-3); }
@media (max-width: 1000px) { .art-rail { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) {
  .art-rail { grid-template-columns: repeat(2, 1fr); gap: 16px 12px; }
  .art-rail-card h3 { font-size: 14.5px; -webkit-line-clamp: 3; }
  .art-rail-card .art-excerpt { display: none; }
}
/* the newest block: first story is the splash (Ynet lead) */
.art-topic[data-sec="all"] .art-rail-card:first-child { grid-column: 1 / -1; display: grid !important; grid-template-columns: 1.5fr 1fr; gap: 22px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--he-border); }
.art-topic[data-sec="all"] .art-rail-card:first-child .art-rail-img { aspect-ratio: 16/8; margin: 0; border-radius: 10px; }
.art-topic[data-sec="all"] .art-rail-card:first-child h3 { font-size: clamp(22px, 2.4vw, 30px); -webkit-line-clamp: 3; }
.art-topic[data-sec="all"] .art-rail-card:first-child .art-excerpt { display: -webkit-box; font-size: 15px; -webkit-line-clamp: 3; }
@media (max-width: 760px) { .art-topic[data-sec="all"] .art-rail-card:first-child { grid-template-columns: 1fr; } }

/* ===== ARTICLES — Noa's Ynet spec: topic band → lead article → headline rows ===== */
.art-topic-head { border-bottom: 0 !important; margin-bottom: 14px; }
.art-topic-title {
  display: block !important; border-bottom: 0 !important; margin: 0 !important;
  background: linear-gradient(90deg, #872B64, #572B73);
  color: #fff !important; padding: 10px 18px !important; border-radius: 8px;
  font-size: 20px !important;
}
.art-rail { grid-template-columns: 1fr 1fr !important; gap: 0 28px !important; }
/* lead story — full width splash */
.art-rail .art-rail-card:first-child {
  grid-column: 1 / -1; display: grid !important; grid-template-columns: 1.5fr 1fr;
  gap: 22px; align-items: center; padding: 0 0 18px; margin-bottom: 6px;
  border-bottom: 1px solid var(--he-border);
}
.art-rail .art-rail-card:first-child .art-rail-img { aspect-ratio: 16/9; margin: 0; border-radius: 10px; }
.art-rail .art-rail-card:first-child h3 { font-size: clamp(22px, 2.2vw, 30px); -webkit-line-clamp: 3; }
.art-rail .art-rail-card:first-child .art-excerpt { display: -webkit-box !important; font-size: 15px; -webkit-line-clamp: 3; }
/* secondary stories — Ynet rows: headline + small thumb, thin rules */
.art-rail .art-rail-card:not(:first-child) {
  display: grid !important; grid-template-columns: 1fr 128px; gap: 14px; align-items: center;
  padding: 14px 0; border-bottom: 1px solid var(--he-border); border-radius: 0;
}
.art-rail .art-rail-card:not(:first-child) .art-rail-img { aspect-ratio: 16/11; margin: 0; border-radius: 6px; }
.art-rail .art-rail-card:not(:first-child) h3 { font-size: 16.5px; -webkit-line-clamp: 3; margin: 2px 0 4px; }
.art-rail .art-rail-card:not(:first-child) .art-excerpt { display: none !important; }
.art-rail .art-rail-card:not(:first-child) .cat-tag { display: none; }
@media (max-width: 860px) {
  .art-rail { grid-template-columns: 1fr !important; }
  .art-rail .art-rail-card:first-child { grid-template-columns: 1fr; gap: 10px; }
  .art-rail .art-rail-card:not(:first-child) { grid-template-columns: 1fr 110px; }
}
/* rows: headline takes the wide right track, thumb takes the narrow left one */
.art-rail .art-rail-card:not(:first-child) .art-rail-img { order: 2; }
.art-rail .art-rail-card:not(:first-child) .art-rail-info { order: 1; min-width: 0; }
.vids-page-grid { grid-template-columns: repeat(3, 1fr) !important; }
@media (max-width: 860px) { .vids-page-grid { grid-template-columns: 1fr !important; } }

/* connector videos: lite YouTube embeds + captions */
.yt-lite { position: relative; aspect-ratio: 16/9; border-radius: 14px; overflow: hidden; cursor: pointer; background: #1a0e16; }
.yt-lite img { width: 100%; height: 100%; object-fit: cover; opacity: .88; transition: opacity .2s, transform .3s; }
.yt-lite:hover img { opacity: 1; transform: scale(1.03); }
.yt-lite .vidslot-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.5); }
.yt-lite iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vidslot figcaption .vid-cap { display: block; font-weight: 400; font-size: 13px; color: var(--he-fg-3); margin-top: 3px; }

/* connector videos: strict RTL order + uniform card heights (placeholder was taller) */
.home-vidslots { direction: rtl; }
.home-vidslots .vidslot-ph, .home-vidslots .yt-lite { aspect-ratio: 16/9 !important; height: auto !important; }
.home-vidslots .vidslot video { aspect-ratio: 16/9; }

/* ═══════════ FULL-SITE HARMONY PASS (2026-08-01) ═══════════ */

/* 1 · dark panels: cream headings, amber accents — ends the ink-on-maroon fight everywhere */
.cta-band h2, .cta-band h2 > *:not(.y):not(em), .cta-band h3, .quote-band p { color: #FBF7EE !important; }
.cta-band h2 .y, .cta-band h2 em, .cta-band strong { color: #F3C46B !important; }
.cta-band .form-card h3, .cta-band .form-card * { color: var(--c-ink); }
.cta-band .v5-consent, .cta-band .consent { position: relative; z-index: 1; display: block; margin: 10px 0 14px; }
.cta-band .eyebrow { color: #F3C46B; }

/* 2 · ONE primary button: the brand gradient (was near-black ink on sessions/process) */
.btn-primary { background: linear-gradient(100deg, #E2783A, #872B64); color: #fff; }
.btn-primary:hover { background: linear-gradient(100deg, #d06c33, #6f2453); color: #fff; }

/* 3 · sessions accordion: title breathes (was one-word-per-line next to the tag) */
.session-card summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; }
.session-card summary h3 { flex: 1 1 60%; min-width: 260px; }
.session-card summary .pitch { flex-basis: 100%; }

/* 4 · the quote slabs (method/research): brand dusk instead of near-black */
.quote-band {
  background: linear-gradient(135deg, #572B73, #872B64 60%, #6f2453) !important;
  border-radius: var(--he-r-lg, 24px);
}
.quote-band p { font-size: clamp(22px, 2.6vw, 34px); line-height: 1.5; }
.quote-band em { color: #F3C46B !important; }

/* 5 · store session covers: art-directed duotone, not "broken blur" */
#sessions .product .cover img { filter: blur(3px) saturate(1.2) brightness(.9); transform: scale(1.08); }
#sessions .product .cover::after { background: linear-gradient(160deg, rgba(135,43,100,0.68), rgba(226,120,58,0.45)); }
#sessions .product .cover .type { font-size: 15px; font-weight: 800; letter-spacing: .02em; }

/* 6 · articles: warm unified imagery + soft sticky bar + fuller rows */
.art-rail-img img, .art-featured-img img { filter: sepia(.10) saturate(.94); }
.cover-fallback { background: linear-gradient(150deg, #872B64, #E2783A) !important; color: rgba(255,255,255,.85) !important; font-size: 34px; display: flex; align-items: center; justify-content: center; }
.toolbar { background: rgba(251,246,238,.85) !important; backdrop-filter: blur(9px); box-shadow: 0 10px 24px -18px rgba(45,24,38,.35); }
@media (min-width: 861px) {
  .art-rail .art-rail-card:not(:first-child) .art-excerpt { display: -webkit-box !important; -webkit-line-clamp: 2; font-size: 13.5px; }
}

/* 7 · press: no orphan floating in a void */
.press-grid { justify-content: center; }
.press-grid > *:last-child:nth-child(odd) { max-width: 480px; }

/* 8 · testimonials masonry: keyboards trimmed, rhythm evened */
#clients [style*="column"] img, #training [style*="column"] img { max-height: 520px; object-fit: cover; object-position: top center; width: 100%; }

/* 9 · reading comfort */
.elv-lead p, .section-intro p { max-width: 65ch; margin-inline: auto; }
.section-head h2, .cta-band h2 { text-wrap: balance; }
.quote-block { overflow: hidden; }

/* 10 · forms feel native to the brand */
input[type="checkbox"], input[type="radio"] { accent-color: #872B64; }

/* 11 · podcast product trio: same photo, three crops — reads intentional */
.pod-products .product:nth-child(1) .cover img { object-position: 25% center; }
.pod-products .product:nth-child(2) .cover img { object-position: center 30%; }
.pod-products .product:nth-child(3) .cover img { object-position: 75% center; }

/* QA final: form-card headings solid magenta (were gradient-washed on white) */
.cta-band .form-card h3 { background: none !important; -webkit-background-clip: initial !important; -webkit-text-fill-color: #872B64 !important; color: #872B64 !important; }
/* QA final: sticky logo never clips (home wellspring override) */
.nav .brand .mark img { width: auto !important; max-width: none; height: 40px; object-fit: contain; }
