/* ==========================================================================
   SITE V2 - page parts for: learner hub (v2l-), services (v2s-), about (v2a-),
   booking (v2k-), 404 (v2n-), accessibility (v2x-). Tokens and shared parts
   live in v2.css (loaded first). Separate file so parallel work on v2.css
   (the build page block) never collides with these rules.
   ========================================================================== */
.v2-nw { white-space: nowrap; unicode-bidi: isolate; }
/* Hebrew eyebrows: the landing-page eyebrow is Latin caps with wide tracking; Hebrew gets none. */
.v2 .v2-eyebrow:not([dir="ltr"]) { font-family: 'Rubik', sans-serif; letter-spacing: 0; text-transform: none; font-size: 0.98rem !important; font-weight: 700; }
/* a11y (axe 07.11): clay on the tinted tag fell to 4.39:1; lighter clay passes 4.5:1. */
.v2 .v2-door-tag { color: #F2A285; }
.v2 .v2-door-learn .v2-door-tag { color: var(--v2-c-sky); }
[lang="he"] iframe:focus, [lang="he"] iframe:focus-visible { outline: 3px solid #D97757; outline-offset: -3px; }
/* legacy /he/contact/ under the forced dark theme: the big grey labels fell to 2.97:1 */
[lang="he"] .expertise-labels { opacity: 1; }
[lang="he"] .expertise-labels span { color: #7A756D; }
/* build page (axe 07.11): stamp red and the agent tag lifted to 4.5:1 on their tinted grounds */
.v2 .vm-stamp { color: #FF8268; border-color: #FF8268; }
.v2 .v2b-tag-agent { color: #F2A285; }
/* The system-starter hero rule styles .v2-hero-cta as a single padded button; on v2 pages
   .v2-hero-cta is the button ROW, so undo the padding/inline-block for the row itself. */
.v2 .v2-hero .v2-cta-row.v2-hero-cta { display: flex; width: auto; padding: 0; margin-top: 4px; }
/* The footer nav is a <nav>: undo the site's sticky top-bar rules for it. */
.v2-footer nav.v2-footer-nav { position: static; padding: 0; min-height: 0; border: 0; background: none; z-index: auto; }

/* ---- learner hub ---- */
.v2l-btn-sky, .v2 .v2l-btn-sky { background: var(--v2-c-sky); color: #0E1A20; }
.v2l-btn-sky:hover { background: #8ADFFF; color: #0E1A20; }
.v2l-without { margin: 0 0 22px; }
.v2l-without li { padding: 10px 14px; font-size: 1rem; }
.v2l-hero-body { display: grid; gap: 14px; }
.v2l-prompt { min-height: 42px; display: grid; }
.v2l-floors .vm-floor { padding: 13px 16px; }
.v2l-floors .vm-floor .v2-ic { color: var(--v2-c-sky); }
.v2l-floors .vm-floor:nth-child(2) .v2-ic { color: var(--v2-c-pink); }
.v2l-floors .vm-floor:nth-child(3) .v2-ic { color: var(--v2-c-yellow); }
.v2l-floors .vm-floor > span { color: var(--v2-c-sky); font-family: 'Inter', sans-serif; }
.v2l-floors .vm-floor-top { border-color: rgba(92, 208, 255, 0.55); background: rgba(92, 208, 255, 0.08); }
@media (max-width: 959px) {
  .v2-hero .v2l-without { order: 4; }
}
.v2l-wants { margin-top: 48px; }
.v2l-en { font-size: 0.6em; font-weight: 600; color: var(--v2-dim); }
.v2l-four-h { margin-top: 28px !important; }
.v2l-layers { margin-top: 20px; }
@media (max-width: 700px) { .v2l-layers { grid-template-columns: 1fr; } }
.v2l-layers .vm-l4 .v2-ic { width: 28px; height: 28px; color: var(--v2-c-sky); }
.v2l-layers .vm-l4:nth-child(2) .v2-ic { color: var(--v2-c-pink); }
.v2l-layers .vm-l4:nth-child(3) .v2-ic { color: var(--v2-c-yellow); }
.v2l-layers .vm-l4-n { color: var(--v2-c-sky); }
.v2l-layers .vm-l4 > span:last-child { font-size: 1rem; }
.v2l-l4-hot { border-color: rgba(92, 208, 255, 0.5) !important; background: rgba(92, 208, 255, 0.07) !important; }

.v2l-tracks { display: grid; gap: 20px; margin-top: 36px; }
@media (min-width: 1000px) { .v2l-tracks { grid-template-columns: repeat(3, 1fr); align-items: stretch; } }
.v2l-track {
  display: flex; flex-direction: column;
  padding: 28px 24px 24px;
  border: 1px solid var(--v2-border);
  border-top: 4px solid var(--v2-c-pink);
  border-radius: 14px;
  background: var(--v2-card);
}
.v2l-track:nth-child(3) { border-top-color: var(--v2-c-yellow); }
.v2l-track-main { border-top-color: var(--v2-c-sky); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35); }
.v2l-track-n { font-family: 'Rubik', sans-serif; font-weight: 900; font-size: 2.2rem; line-height: 1; color: var(--v2-dim) !important; opacity: 0.6; margin: 0 0 10px !important; }
.v2l-track-h { font-size: 1.3rem; line-height: 1.35; color: var(--v2-ink); margin: 0 0 6px; }
.v2l-track-sub { font-size: 0.95rem; color: var(--v2-c-sky) !important; font-weight: 600; margin: 0 0 18px !important; }
.v2l-dl { margin: 0 0 20px; display: grid; gap: 4px; }
.v2l-dl dt { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 0.92rem; color: var(--v2-ink); margin-top: 10px; }
.v2l-dl dd { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--v2-mid); }
.v2l-price { margin: auto 0 16px !important; padding-top: 16px; border-top: 1px dashed var(--v2-border); color: var(--v2-mid) !important; }
.v2l-price-n { font-family: 'Rubik', sans-serif; font-weight: 900; font-size: 2rem; color: var(--v2-ink); margin-inline-end: 6px; }
.v2l-price-note { font-size: 0.92rem; }
.v2l-track .v2-btn { font-size: 1.02rem; padding: 14px 16px; }
.v2l-track-main .v2-btn { background: var(--v2-c-sky); color: #0E1A20; }
.v2l-track-main .v2-btn:hover { background: #8ADFFF; color: #0E1A20; }

/* ---- services ---- */
.v2s-fit { display: grid; gap: 16px; }
.v2s-fit-row { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 14px; align-items: center; min-height: 170px; }
.v2s-box {
  display: grid; place-items: center; gap: 8px; text-align: center;
  height: 150px; border: 2px dashed rgba(255, 90, 79, 0.55); border-radius: 10px;
  background: rgba(255, 90, 79, 0.06); color: var(--v2-mid);
}
.v2s-box .v2-ic { width: 30px; height: 30px; color: var(--v2-w-red); }
.v2s-box b { font-family: 'Rubik', sans-serif; color: var(--v2-ink); }
.v2s-procs { display: flex; flex-wrap: wrap; gap: 8px; }
.v2s-procs span {
  padding: 7px 12px; border-radius: 999px; border: 1px solid var(--v2-border);
  background: var(--v2-card); color: var(--v2-ink); font-size: 0.9rem; font-weight: 600;
}
.v2s-wrap {
  display: grid; gap: 4px; padding: 16px 18px;
  border: 1px solid rgba(92, 208, 255, 0.5); border-radius: 10px; background: rgba(92, 208, 255, 0.08);
}
.v2s-wrap .v2-ic { color: var(--v2-c-sky); width: 24px; height: 24px; }
.v2s-wrap b { font-family: 'Rubik', sans-serif; font-size: 1.1rem; color: var(--v2-ink); }
.v2s-wrap span { font-size: 0.95rem; color: var(--v2-mid); }
.v2s-stages-wrap { display: grid; gap: 24px; max-width: 1080px; }
@media (min-width: 960px) {
  .v2s-stages-wrap { grid-template-columns: 0.9fr 1.3fr; gap: 64px; align-items: start; }
  .v2s-stages-head { position: sticky; top: 110px; }
}
.v2s-steps { margin-top: 0; }
.v2s-ladder { list-style: none; margin: 40px auto 0; padding: 0; display: grid; gap: 12px; max-width: 900px; }
.v2s-rung {
  position: relative;
  margin-inline-start: calc(var(--i) * 4%);
  padding: 20px 22px 18px 22px;
  padding-inline-start: 72px;
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  background: var(--v2-card);
}
.v2s-rung h3 { font-size: 1.2rem; color: var(--v2-ink); margin: 0 0 6px; }
.v2s-rung p { margin: 0 !important; font-size: 1rem; }
.v2s-rung-n {
  position: absolute; inset-inline-start: 20px; top: 18px;
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  border: 2px solid var(--v2-c-sky); color: var(--v2-c-sky);
  font-family: 'Rubik', sans-serif; font-weight: 900;
}
.v2s-rung:nth-child(2) .v2s-rung-n { border-color: var(--v2-c-pink); color: var(--v2-c-pink); }
.v2s-rung:nth-child(3) .v2s-rung-n { border-color: var(--v2-c-yellow); color: var(--v2-c-yellow); }
.v2s-rung-top { border-color: var(--v2-accent-line); background: linear-gradient(var(--v2-accent-soft), var(--v2-accent-soft)), var(--v2-card); }
.v2s-rung-top .v2s-rung-n { background: var(--v2-accent); border-color: var(--v2-accent); color: #191310; }
@media (max-width: 640px) {
  .v2s-rung { margin-inline-start: 0; padding-inline-start: 64px; }
}
.v2s-learn-note { margin-top: 28px !important; }
.v2s-paren { font-style: normal; color: var(--v2-mid); }

/* ---- about ---- */
.v2a-hero { display: grid; gap: 12px; }
.v2a-role { padding: 16px; border: 1px solid var(--v2-border2); border-radius: 10px; background: var(--v2-card); }
.v2a-role-h { display: flex; align-items: center; gap: 8px; font-family: 'Rubik', sans-serif; font-weight: 800; color: var(--v2-ink) !important; margin: 0 0 10px !important; }
.v2a-role-ai .v2a-role-h .v2-ic { color: var(--v2-c-sky); }
.v2a-role-human { border-color: var(--v2-accent-line); background: var(--v2-accent-soft); position: relative; }
.v2a-role-human .v2a-role-h .v2-ic { color: var(--v2-accent); }
.v2a-tasks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2a-tasks li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 6px; background: var(--v2-bg2); font-size: 0.92rem; color: var(--v2-ink); }
.v2a-tasks .v2-ic { width: 16px; height: 16px; color: var(--v2-c-sky); }
.v2a-hero .vm-progress i { background: var(--v2-c-sky); }
.v2-js .v2a-hero .vm-progress i.fx-grow[data-at] { transition: transform 3s linear; }
.v2a-arrow { justify-self: center; }
.v2a-gate { margin: 0 !important; color: var(--v2-mid) !important; font-size: 0.95rem; }
.v2a-yes {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 14px; border-radius: 6px; background: var(--v2-accent); color: #191310;
  font-family: 'Rubik', sans-serif; font-weight: 800; font-size: 0.95rem;
}
.v2a-yes .v2-ic { width: 16px; height: 16px; stroke-width: 2.6; }
.v2a-role-human .v2a-yes { position: absolute; inset-inline-end: 16px; top: 14px; }
.v2a-pre { margin-bottom: 0 !important; }
.v2a-roles { display: grid; gap: 18px; margin-top: 32px; }
@media (min-width: 860px) { .v2a-roles { grid-template-columns: 1fr 1fr; gap: 24px; } }
.v2a-card {
  position: relative; overflow: hidden;
  padding: 28px 24px 34px;
  border: 1px solid var(--v2-border); border-radius: 12px; background: var(--v2-card);
}
.v2a-card h3 { font-size: 1.4rem; color: var(--v2-ink); margin: 0 0 12px; }
.v2a-card p { margin: 0 0 10px !important; }
.v2a-card-n { position: absolute; inset-inline-end: 20px; top: 14px; font-family: 'Rubik', sans-serif; font-weight: 900; font-size: 2rem; color: var(--v2-dim); opacity: 0.4; }
.v2a-card-ic { width: 32px; height: 32px; margin-bottom: 12px; color: var(--v2-c-sky); }
.v2a-card-human { border-color: var(--v2-accent-line); }
.v2a-card-human .v2a-card-ic { color: var(--v2-accent); }
.v2a-bar { position: absolute; inset-inline: 0; bottom: 0; height: 4px; background: var(--v2-c-sky); }
.v2a-yes-card { margin-top: 6px; }
.v2a-principles { display: grid; gap: 16px; margin-top: 36px; }
@media (min-width: 900px) {
  .v2a-principles { grid-template-columns: 1fr 1fr; }
  .v2a-principles .v2a-wide { grid-row: span 2; }
}
.v2a-principles .vm-card { border-top-color: var(--v2-c-sky); }
.v2a-principles .vm-card:nth-child(2) { border-top-color: var(--v2-accent); }
.v2a-principles .vm-card:nth-child(3) { border-top-color: var(--v2-c-pink); }
.v2a-principles .vm-card:nth-child(4) { border-top-color: var(--v2-c-yellow); }
.v2a-principles .vm-card p { font-size: 1.02rem; }
.v2a-principles .vm-card-n { color: var(--v2-c-sky) !important; }
.v2a-principles .vm-card-pull { color: var(--v2-ink) !important; font-size: 1.05rem !important; font-weight: 700; }

/* ---- booking ---- */
.v2k-hero { padding-bottom: 72px; }
.v2k-agenda { list-style: none; margin: 36px 0 0; padding: 0; display: grid; gap: 14px; }
@media (min-width: 900px) { .v2k-agenda { grid-template-columns: repeat(4, 1fr); } }
.v2k-agenda li { padding: 22px 20px; border: 1px solid var(--v2-border); border-top: 3px solid var(--v2-c-sky); border-radius: 12px; background: var(--v2-card); }
.v2k-agenda li:nth-child(2) { border-top-color: var(--v2-c-pink); }
.v2k-agenda li:nth-child(3) { border-top-color: var(--v2-c-yellow); }
.v2k-agenda li:nth-child(4) { border-top-color: var(--v2-accent); }
.v2k-agenda h3 { font-size: 1.15rem; color: var(--v2-ink); margin: 12px 0 8px; }
.v2k-agenda p { margin: 0 !important; font-size: 1rem; }
.v2k-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--v2-bg2); border: 1px solid var(--v2-border); color: var(--v2-c-sky); }
.v2k-ic .v2-ic { width: 22px; height: 22px; }
.v2k-cal { margin: 32px auto 0; max-width: 1000px; border: 1px solid var(--v2-border); border-radius: 14px; overflow: hidden; background: var(--v2-card2); }
.v2k-cal iframe { display: block; width: 100%; height: 720px; border: 0; }
@media (max-width: 640px) { .v2k-cal iframe { height: 900px; } }
.v2k-cal-alt { margin-top: 24px !important; }
#call-cal-inline { width: 100%; min-height: 720px; overflow: auto; }
#call-cal-inline iframe { height: auto; min-height: 720px; }

/* ---- 404 ---- */
.v2n-hero { padding-top: 64px; }
.v2n-code { display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 16px; font-family: 'Rubik', sans-serif; font-weight: 900; font-size: clamp(4rem, 10vw, 7rem); line-height: 1; color: var(--v2-accent); }
.v2n-zero { display: grid; place-items: center; width: 0.9em; height: 0.9em; border-radius: 50%; border: 0.1em solid var(--v2-c-sky); color: var(--v2-c-sky); }
.v2n-zero .v2-ic { width: 0.45em; height: 0.45em; stroke-width: 2.4; }
.v2n-door-link { color: var(--v2-ink); text-decoration: underline; text-decoration-color: var(--v2-accent); text-underline-offset: 6px; }
.v2-door-learn .v2n-door-link { text-decoration-color: var(--v2-c-sky); }
.v2n-door-link:hover { color: var(--v2-accent); }
.v2n-more-h { margin-top: 48px !important; }
.v2n-more { list-style: none; padding: 0; display: grid; gap: 10px; }
.v2n-more li { color: var(--v2-mid); }
.v2 .v2n-more a, .v2x-s a, .v2-measure p a, .v2 .vm-marks a, .v2s-rung a, .v2s-paren a { color: var(--v2-ink); text-decoration: underline; text-decoration-color: var(--v2-accent); text-underline-offset: 4px; }

/* ---- accessibility ---- */
.v2x-s .v2-h2 { margin-top: 48px; font-size: clamp(1.5rem, 1.4vw + 1rem, 1.9rem); }
.v2x-s .v2-h2:first-child { margin-top: 0; }
.v2x-s .v2-checks li { color: var(--v2-mid); }
.v2x-slot { min-height: 0; margin: 0 0 12px; font-size: 0.98rem; }
.v2x-contact { display: grid; grid-template-columns: max-content 1fr; gap: 10px 18px; margin: 16px 0 0; }
.v2x-contact dt { font-weight: 700; color: var(--v2-ink); }
.v2x-contact dd { margin: 0; color: var(--v2-mid); }
.v2x-ph { color: var(--v2-dim); border: 1px dashed var(--v2-border); padding: 2px 8px; border-radius: 4px; }
@media (max-width: 560px) { .v2x-contact { grid-template-columns: 1fr; gap: 2px; } .v2x-contact dd { margin-bottom: 10px; } }

/* ==========================================================================
   NO STRIPE CARDS (Rani 07.11 evening: the thick coloured top line on a rounded card
   reads as "AI slop"). Every card gets one even hairline border; the colour moves to
   the content (icon, number, tag) plus a soft glow in the card's top corner.
   Same for side stripes on callouts and lists.
   ========================================================================== */
.v2 .v2-door, .v2 .v2-reliefs li, .v2 .vm-card, .v2 .v2l-track, .v2 .v2k-agenda li,
.v2 .v2-get, .v2 .v2-card {
  border: 1px solid var(--v2-border) !important;
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(242, 239, 233, 0.04);
  --glow: rgba(242, 239, 233, 0.035);
  background: radial-gradient(120% 70% at 100% 0%, var(--glow), transparent 60%), var(--v2-card);
}
.v2 .v2-door { background-color: var(--v2-card2); }
.v2 .v2-door-biz { --glow: rgba(217, 119, 87, 0.12); }
.v2 .v2-door-learn { --glow: rgba(92, 208, 255, 0.10); }
.v2 .v2-reliefs li, .v2 .v2l-track, .v2 .v2k-agenda li, .v2 .vm-card { --glow: rgba(92, 208, 255, 0.07); }
.v2 .v2-reliefs li:nth-child(3n+2), .v2 .v2l-track:nth-child(2), .v2 .v2k-agenda li:nth-child(2), .v2 .vm-card:nth-child(3n+2) { --glow: rgba(255, 120, 196, 0.07); }
.v2 .v2-reliefs li:nth-child(3n), .v2 .v2l-track:nth-child(3), .v2 .v2k-agenda li:nth-child(3), .v2 .vm-card:nth-child(3n) { --glow: rgba(255, 224, 102, 0.06); }
.v2 .v2k-agenda li:nth-child(4), .v2 .v2h-ex-safe, .v2 .v2a-principles .vm-card:nth-child(2) { --glow: rgba(217, 119, 87, 0.10); }
.v2 .v2l-track-main { border-color: rgba(92, 208, 255, 0.35) !important; --glow: rgba(92, 208, 255, 0.14); }
.v2 .v2b-reliefs li.v2b-rel-wide { border-color: rgba(92, 208, 255, 0.35) !important; --glow: rgba(92, 208, 255, 0.12); }
.v2 .v2-door:hover, .v2 .v2l-track:hover { border-color: var(--v2-accent-line) !important; }
/* numbers and tags carry the colour now */
.v2 .v2-reliefs li::marker { content: none; }
.v2 .vm-card-n { color: var(--v2-c-sky) !important; }
.v2 .vm-card:nth-child(3n+2) .vm-card-n { color: var(--v2-c-pink) !important; }
.v2 .vm-card:nth-child(3n) .vm-card-n { color: var(--v2-c-yellow) !important; }
.v2 .v2l-track-n { color: var(--v2-c-sky) !important; opacity: 1; }
.v2 .v2l-track:nth-child(2) .v2l-track-n { color: var(--v2-c-pink) !important; }
.v2 .v2l-track:nth-child(3) .v2l-track-n { color: var(--v2-c-yellow) !important; }
/* callouts and lists: no side stripe */
.v2 .v2-callout {
  border: 1px solid var(--v2-border2);
  border-radius: 14px;
  background: radial-gradient(100% 120% at 100% 0%, rgba(242, 239, 233, 0.05), transparent 60%), var(--v2-card);
}
.v2 .v2b-qa li { border-inline-start: 0; border: 1px solid var(--v2-border2); border-radius: 10px; }
.v2 .v2-filter { border-right: 0; padding-right: 0; }

/* Legacy Hebrew pages under the forced dark look (axe 07.11): bare links were browser blue
   (1.95:1) and the case-study service chip 4.23:1. */
[lang="he"] main a:not([class]) { color: #F2EFE9; text-decoration: underline; text-decoration-color: #D97757; text-underline-offset: 4px; }
[lang="he"] main a:not([class]):hover { color: #D97757; }
[lang="he"] .cs-chip--service { color: #A8A398; }
/* case-study result strip: it painted var(--black) as a dark box; in the dark look that token is cream */
[lang="he"] .cs-results { background: #242220; border: 1px solid #38352F; }
[lang="he"] .cs-stat-value { color: #F2EFE9; }
[lang="he"] .cs-stat-label { color: #C7C2B8; }
