/* =========================================================================
   Yuvau V1 — Inner pages (Stage 6)
   Page hero, solution blocks, work index, case study, about, contact form.
   Reuses Stage 2 tokens/cards/buttons + Stage 3 glass. One website — same
   container, glass, type and colour system as the homepage.
   Depends on: tokens.css, base.css, glass.css, buttons.css, cards.css, global-ui.css.
   ========================================================================= */

/* ---------------------------- Shared page hero ---------------------------- */
.yv-page-hero { padding: clamp(120px, 16vh, 180px) 0 clamp(36px, 6vh, 66px); position: relative; }
.yv-page-hero__title { margin: 12px 0 18px; max-width: 900px; }
.yv-page-hero__lead { max-width: 620px; color: var(--yv-text-mid); }
.yv-page-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }

/* Split hero — copy + proof/trust panel. Tightens the vertical padding because
   the row now carries real content instead of three lines of text. */
.yv-page-hero--split { padding: clamp(112px, 14vh, 164px) 0 clamp(30px, 5vh, 56px); }
.yv-page-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .8fr); gap: 32px 56px; align-items: center; }
/* The display scale is tuned for a full-width hero; in a ~55% column it wraps
   badly and can break mid-word. Step it down for the split layout. */
.yv-page-hero--split .yv-page-hero__title { margin: 12px 0 16px; font-size: clamp(2.5rem, 1.2rem + 2.9vw, 4rem); line-height: 1.03; }
.yv-page-hero--split .yv-page-hero__lead { max-width: 560px; }
.yv-page-hero__panel { padding: 26px 30px; display: flex; flex-direction: column; gap: 16px; align-self: stretch; justify-content: center; }
.yv-page-hero__stats { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.yv-page-hero__stats li { display: flex; flex-direction: column; gap: 3px; padding-bottom: 16px; border-bottom: 1px solid var(--yv-line); }
.yv-page-hero__stats li:last-child { border-bottom: 0; padding-bottom: 0; }
.yv-page-hero__stats strong { font-family: var(--yv-font-display); font-weight: 850; font-size: clamp(24px, 3.1vw, 34px); line-height: 1; letter-spacing: -.02em; background: linear-gradient(120deg, var(--yv-blue), var(--yv-magenta)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.yv-page-hero__stats span { color: var(--yv-text-mid); font-size: var(--yv-fs-small); line-height: 1.5; }
.yv-page-hero__points { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.yv-page-hero__points li { display: flex; align-items: flex-start; gap: 12px; color: var(--yv-text-mid); font-size: var(--yv-fs-small); line-height: 1.55; }
.yv-page-hero__tick { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 1px; display: grid; place-items: center; border-radius: 50%; font-size: 11px; font-weight: 900; color: #fff; background: linear-gradient(120deg, var(--yv-blue), var(--yv-magenta)); }

/* A grid item's automatic minimum size is min-content, so a long heading can
   force the column wider than the viewport (horizontal scroll on mobile).
   min-width:0 lets these columns actually shrink. */
.yv-page-hero__grid > *,
.yv-work-hero__grid > *,
.yv-case__hero-grid > * { min-width: 0; }
.yv-page-hero__title,
.yv-page-hero__lead { overflow-wrap: break-word; }

@media (max-width: 900px) {
  .yv-page-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .yv-page-hero--split { padding-top: 104px; }
  .yv-page-hero__panel { padding: 22px 24px; }
}
.yv-prose { max-width: 68ch; }
.yv-prose > * + * { margin-top: var(--yv-space-md); }

/* Generic placeholder for approved-but-not-yet-supplied media */
.yv-media-pending {
  display: grid; place-items: center; text-align: center; padding: 20px;
  border-radius: var(--yv-radius-media); border: 1px dashed var(--yv-line);
  background: var(--yv-bg-2); color: var(--yv-text-muted); font-size: var(--yv-fs-small);
  min-height: 180px;
}

/* ------------------------------ Solutions ------------------------------ */
.yv-solution {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px);
  align-items: center; padding-block: clamp(36px, 6vw, 64px);
  border-bottom: 1px solid var(--yv-line);
}
.yv-solution:nth-child(even) .yv-solution__media { order: -1; }
.yv-solution__num { font-family: var(--yv-font-display); font-size: clamp(28px, 4vw, 44px); font-weight: 850; letter-spacing: -.04em;
  background: linear-gradient(90deg, var(--yv-blue), var(--yv-magenta)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.yv-solution__title { margin: 6px 0 12px; }
.yv-solution__caps { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.yv-solution__caps li { font-size: var(--yv-fs-small); color: var(--yv-text-mid); padding: 7px 11px; border-radius: var(--yv-radius-pill); background: var(--yv-glass-bg-soft); border: 1px solid var(--yv-line); }
.yv-solution__cta { margin-top: 20px; }

/* ------------------------------ Work index ------------------------------ */
.yv-work-featured { margin-top: 40px; }
.yv-work-featured .yv-card--work .yv-card__media { height: 320px; }
.yv-work-index { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.yv-case-card__meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.yv-case-card__meta span { font-size: var(--yv-fs-kicker); text-transform: uppercase; letter-spacing: .1em; color: var(--yv-text-muted); }

/* ------------------------------ Case study ------------------------------ */
.yv-case { padding-top: clamp(112px, 14vh, 156px); }
.yv-case__meta { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 0; }
.yv-case__meta span { font-size: var(--yv-fs-small); color: var(--yv-text-mid); padding: 6px 12px; border-radius: var(--yv-radius-pill); background: var(--yv-glass-bg-soft); border: 1px solid var(--yv-line); }
.yv-case__section { padding-block: clamp(28px, 4vw, 48px); border-top: 1px solid var(--yv-line); }
.yv-case__label { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: var(--yv-fs-eyebrow); font-weight: var(--yv-fw-kicker); color: var(--yv-text-muted); margin-bottom: 10px; }
.yv-case__result { font-family: var(--yv-font-display); font-size: clamp(36px, 5vw, 60px); font-weight: 850; letter-spacing: -.03em; color: var(--yv-blue); line-height: 1; }
.yv-case__takeaways { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.yv-case__takeaways li { padding-left: 22px; position: relative; color: var(--yv-text-mid); }
.yv-case__takeaways li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, var(--yv-blue), var(--yv-magenta)); }

/* ------------------------------ About ------------------------------ */
.yv-about-founder { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px, 5vw, 56px); align-items: center; }
.yv-about-founder__img, .yv-about-founder__img img { border-radius: var(--yv-radius-panel); width: 100%; }
.yv-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
.yv-team-grid img, .yv-team-grid .yv-media-pending { border-radius: var(--yv-radius-card); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.yv-trust-logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 24px; align-items: center; }
.yv-trust-logo { display: grid; place-items: center; min-height: 72px; padding: 12px; border-radius: var(--yv-radius-card); background: var(--yv-glass-bg-soft); border: 1px solid var(--yv-line); color: var(--yv-text-muted); font-size: var(--yv-fs-small); text-align: center; }
.yv-trust-logo img { max-height: 42px; width: auto; }
.yv-culture-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 150px; gap: 12px; margin-top: 24px; }
.yv-culture-grid > * { border-radius: var(--yv-radius-card); overflow: hidden; }
.yv-culture-grid > *:first-child { grid-column: span 2; grid-row: span 2; }
.yv-culture-grid img { width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------ Contact ------------------------------ */

.yv-form { margin-top: 30px; display: grid; gap: 16px; max-width: 720px; }
.yv-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.yv-field { display: grid; gap: 6px; }
.yv-field > label { font-size: var(--yv-fs-small); font-weight: 650; color: var(--yv-text); }
.yv-field .req { color: var(--yv-magenta); }
.yv-field input, .yv-field select, .yv-field textarea {
  width: 100%; padding: 12px 14px; border-radius: var(--yv-radius-button);
  border: 1px solid var(--yv-line); background: var(--yv-glass-bg-soft); color: var(--yv-text);
  font: inherit; -webkit-backdrop-filter: blur(var(--yv-glass-blur-soft)); backdrop-filter: blur(var(--yv-glass-blur-soft));
  transition: border-color var(--yv-dur) var(--yv-ease), box-shadow var(--yv-dur) var(--yv-ease);
}
.yv-field textarea { min-height: 120px; resize: vertical; }
.yv-field input:focus-visible, .yv-field select:focus-visible, .yv-field textarea:focus-visible {
  outline: none; border-color: var(--yv-blue); box-shadow: 0 0 0 3px rgba(21,87,232,.16);
}
.yv-field [aria-invalid="true"] { border-color: var(--yv-magenta); box-shadow: 0 0 0 3px rgba(232,60,240,.14); }
.yv-field__error { font-size: var(--yv-fs-small); color: var(--yv-magenta-deep); min-height: 1em; }
.yv-field--consent { grid-template-columns: auto 1fr; align-items: start; gap: 10px; }
.yv-field--consent input { width: 18px; height: 18px; margin-top: 2px; }
.yv-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }  /* honeypot */
.yv-form__status { border-radius: var(--yv-radius-card); padding: 14px 16px; font-size: var(--yv-fs-small); display: none; }
.yv-form__status.is-visible { display: block; }
.yv-form__status--ok { background: rgba(21,87,232,.08); border: 1px solid var(--yv-line); color: var(--yv-text); }
.yv-form__status--err { background: rgba(232,60,240,.08); border: 1px solid rgba(232,60,240,.3); color: var(--yv-magenta-deep); }
.yv-form__note { font-size: var(--yv-fs-small); color: var(--yv-text-muted); }

/* ------------------------------ Dark theme ------------------------------ */
:root[data-theme="dark"] .yv-media-pending, .dark-theme .yv-media-pending { background: var(--yv-bg-2); color: var(--yv-text-muted); }
:root[data-theme="dark"] .yv-field input, :root[data-theme="dark"] .yv-field select, :root[data-theme="dark"] .yv-field textarea,
.dark-theme .yv-field input, .dark-theme .yv-field select, .dark-theme .yv-field textarea { background: var(--yv-glass-bg-soft); color: var(--yv-text); }

/* ------------------------------ Responsive ------------------------------ */
@media (max-width: 900px) {
  .yv-solution { grid-template-columns: 1fr; gap: 20px; }
  .yv-solution:nth-child(even) .yv-solution__media { order: 0; }
  .yv-work-index { grid-template-columns: 1fr; }
  .yv-about-founder { grid-template-columns: 1fr; }
  .yv-team-grid { grid-template-columns: 1fr 1fr; }
  .yv-trust-logos { grid-template-columns: repeat(3, 1fr); }
  .yv-culture-grid { grid-template-columns: 1fr 1fr; }
  .yv-form__row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .yv-team-grid, .yv-trust-logos { grid-template-columns: 1fr 1fr; }
  .yv-culture-grid > *:first-child { grid-column: span 2; grid-row: span 1; }
}


/* ========================= Stage 8.5B — Reusable detail pages ========================= */
.yv-solution-detail,
.yv-city-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.yv-solution-detail__panel,
.yv-content-panel { padding: clamp(24px, 4vw, 36px); border: 1px solid var(--yv-line); border-radius: var(--yv-radius-panel); background: var(--yv-glass-bg-soft); box-shadow: var(--yv-glass-shadow); }
.yv-related-links { margin-top: 46px; }
.yv-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.yv-related-card {
	display: flex; flex-direction: column; gap: 7px; padding: 20px;
	border-radius: var(--yv-radius-card); border: 1px solid var(--yv-line);
	background: var(--yv-glass-bg-soft); transition: transform var(--yv-dur) var(--yv-ease), border-color var(--yv-dur) var(--yv-ease);
}
.yv-related-card:hover { transform: translateY(-3px); border-color: rgba(21,87,232,.30); text-decoration: none; }
.yv-related-card span { color: var(--yv-blue); font-size: var(--yv-fs-kicker); font-weight: 850; }
.yv-related-card strong { font-size: 18px; }
.yv-related-card small { color: var(--yv-text-mid); line-height: 1.45; }

.yv-uae-city-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
.yv-uae-city-card {
	position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 240px;
	padding: 26px; border: 1px solid var(--yv-line); border-radius: var(--yv-radius-panel);
	background: var(--yv-glass-bg-soft); box-shadow: var(--yv-glass-shadow);
	transition: transform var(--yv-dur) var(--yv-ease), border-color var(--yv-dur) var(--yv-ease);
}
.yv-uae-city-card:hover { transform: translateY(-4px); border-color: rgba(21,87,232,.30); text-decoration: none; }
.yv-uae-city-card__num { color: var(--yv-yellow-text); font-weight: 850; font-size: var(--yv-fs-kicker); }
.yv-uae-city-card h3 { margin: 34px 0 0; font-size: 30px; }
.yv-uae-city-card p { color: var(--yv-text-mid); margin: 0; line-height: 1.6; }
.yv-uae-service-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 22px; }
.yv-uae-service-links a {
	display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center;
	padding: 15px 16px; border: 1px solid var(--yv-line); border-radius: 14px;
	background: var(--yv-glass-bg-soft);
}
.yv-uae-service-links a:hover { border-color: rgba(21,87,232,.30); text-decoration: none; }
.yv-uae-service-links span { color: var(--yv-yellow-text); font-weight: 850; }
.yv-city-back { margin-top: 26px; }
.yv-city-content { max-width: 72ch; }

@media (max-width:900px) {
	.yv-solution-detail,
	.yv-city-layout,
	.yv-uae-city-grid,
	.yv-uae-service-links,
	.yv-related-grid { grid-template-columns: 1fr; }
}


/* ========================= Growth Strategy content surface ========================= */
.yv-solution-content {
	width: 100%;
}
.yv-solution-content > .yv-gs {
	width: min(1180px, calc(100% - 32px));
	margin-left: auto;
	margin-right: auto;
}
@media (max-width:600px) {
	.yv-solution-content > .yv-gs {
		width: min(100%, calc(100% - 20px));
	}
}



/* Contact — SEO-led positioning block */
.yv-contact-intro { max-width: 900px; margin: 0 0 34px; }
.yv-contact-intro .yv-kicker { margin-bottom: 12px; }
.yv-contact-intro h2 { max-width: 820px; margin: 0 0 14px; font-family: var(--yv-font-display); font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -.035em; font-weight: var(--yv-fw-h2); }
.yv-contact-intro p:not(.yv-kicker) { max-width: 780px; margin: 0 0 10px; color: var(--yv-text-mid); font-size: var(--yv-fs-body); line-height: 1.7; }
.yv-contact-intro p strong { color: var(--yv-blue); font-weight: 750; }
.yv-contact-intro p:last-child { margin-bottom: 0; }

/* Contact — direct reach-out row */
.yv-contact-direct { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.yv-contact-direct__label { font-size: var(--yv-fs-small); color: var(--yv-text-mid); font-weight: 700; }
.yv-contact-direct__links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.yv-contact-direct__links a { color: var(--yv-blue); font-weight: 700; font-size: var(--yv-fs-small); }
.yv-contact-direct__links a:hover { text-decoration: underline; }


/* =========================================================================
   Work — case-study cards with client logos (page-scoped, inner pages)
   ========================================================================= */
.yv-work-index { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 18px; }
.yv-case-card { padding: 0; gap: 0; overflow: hidden; }
.yv-case-card__logo-wrap { height: 188px; display: grid; place-items: center; padding: 26px; background: linear-gradient(135deg, #d7e8ff 0%, #f0f7ff 48%, #fbeeff 100%); border-bottom: 1px solid rgba(114, 166, 255, .18); }
.yv-case-card__logo { max-width: 72%; max-height: 88px; width: auto; height: auto; object-fit: contain; }
.yv-case-card__logo--text { font-family: var(--yv-font-display); font-weight: 800; font-size: clamp(18px, 2.6vw, 26px); color: var(--yv-blue); text-align: center; }
.yv-case-card__body { display: flex; flex-direction: column; gap: 10px; padding: var(--yv-space-lg); }
.yv-case-card__client { font-size: 10px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--yv-text-muted); font-weight: 850; }
.yv-case-card .yv-card__title { margin: 0; }
.yv-case-card .yv-work__pill { align-self: flex-start; }
.yv-case__logo-wrap { display: inline-flex; align-items: center; padding: 13px 18px; border-radius: 16px; background: linear-gradient(135deg, #d7e8ff, #f0f7ff, #fbeeff); border: 1px solid rgba(114, 166, 255, .18); margin-bottom: 18px; }
.yv-case__logo { max-height: 50px; width: auto; object-fit: contain; }
:root[data-theme="dark"] .yv-case-card__logo-wrap,
:root[data-theme="dark"] .yv-case__logo-wrap,
.dark-theme .yv-case-card__logo-wrap,
.dark-theme .yv-case__logo-wrap { background: linear-gradient(135deg, rgba(12,41,82,.5), rgba(8,26,56,.4), rgba(68,19,72,.3)); border-color: rgba(111,166,255,.2); }

/* =========================================================================
   Work page — balanced two-column hero + tighter cases (fixes empty hero)
   ========================================================================= */
.yv-work-hero { padding: clamp(120px, 15vh, 172px) 0 clamp(28px, 5vh, 52px); position: relative; }
.yv-work-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .82fr); gap: 32px 56px; align-items: center; }
.yv-work-hero__copy .yv-display { margin: 12px 0 16px; }
.yv-work-hero__copy .yv-body-lg { max-width: 560px; color: var(--yv-text-mid); }
.yv-work-hero__actions { margin-top: 26px; }
.yv-work-hero__panel { padding: 26px 30px; display: flex; flex-direction: column; gap: 18px; }
.yv-work-hero__stats { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.yv-work-hero__stats li { display: flex; flex-direction: column; gap: 3px; padding-bottom: 16px; border-bottom: 1px solid var(--yv-line); }
.yv-work-hero__stats li:last-child { border-bottom: 0; padding-bottom: 0; }
.yv-work-hero__stats strong { font-family: var(--yv-font-display); font-weight: 850; font-size: clamp(26px, 3.4vw, 36px); line-height: 1; color: var(--yv-blue); background: linear-gradient(120deg, var(--yv-blue), var(--yv-magenta)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.yv-work-hero__stats span { color: var(--yv-text-mid); font-size: var(--yv-fs-small); line-height: 1.5; }

.yv-work-cases { padding-top: clamp(16px, 3vh, 36px) !important; }
.yv-work-cases .yv-kicker { margin-bottom: 18px; }

@media (max-width: 900px) {
  .yv-work-hero { padding-top: 104px; }
  .yv-work-hero__grid { grid-template-columns: 1fr; gap: 26px; }
}

/* =========================================================================
   Single case study — balanced hero (leads with result) + two-column body
   ========================================================================= */
.yv-case__hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .82fr); gap: 30px 56px; align-items: center; }
/* The display scale is built for a full-width hero; in this ~58% column it ran
   to six lines and dwarfed the result panel. Same step-down as the other split heroes. */
.yv-case__hero-copy .yv-display { margin: 6px 0 0; font-size: clamp(2.4rem, 1.1rem + 2.9vw, 3.9rem); line-height: 1.05; }
/* align-self:center, not stretch — stretching matched the panel to the tall
   headline column and left the content floating in dead space. */
.yv-case__result-panel { padding: 26px 30px; display: flex; flex-direction: column; gap: 16px; align-self: center; }
.yv-case__result-stats { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.yv-case__result-stats li { display: flex; flex-direction: column; gap: 3px; padding-bottom: 14px; border-bottom: 1px solid var(--yv-line); }
.yv-case__result-stats li:last-child { border-bottom: 0; padding-bottom: 0; }
.yv-case__result-stats strong { font-family: var(--yv-font-display); font-weight: 850; font-size: clamp(26px, 3.2vw, 38px); line-height: 1; letter-spacing: -.025em; background: linear-gradient(120deg, var(--yv-blue), var(--yv-magenta)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.yv-case__result-stats span { color: var(--yv-text-mid); font-size: var(--yv-fs-small); line-height: 1.45; }
.yv-case__result-label { text-transform: uppercase; letter-spacing: .14em; font-size: var(--yv-fs-eyebrow); font-weight: var(--yv-fw-kicker); color: var(--yv-text-muted); }
.yv-case__result-panel .yv-case__result { font-size: clamp(24px, 3.1vw, 34px); letter-spacing: -.02em; line-height: 1.15; background: linear-gradient(120deg, var(--yv-blue), var(--yv-magenta)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* Service chips under the hero title */
.yv-case__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.yv-chip { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 6px 12px; border-radius: var(--yv-radius-pill); color: var(--yv-blue); background: rgba(21,87,232,.08); border: 1px solid rgba(21,87,232,.16); }

/* Outcomes stat-band — the strong visual anchor above the story */
.yv-case__outcomes { margin-top: clamp(30px, 4vw, 46px); padding: clamp(22px, 3vw, 34px); border-radius: var(--yv-radius-card); background: linear-gradient(135deg, #eaf1ff 0%, #f4f8ff 55%, #fdeeff 100%); border: 1px solid var(--yv-line); }
.yv-case__outcomes-label { display: block; text-transform: uppercase; letter-spacing: .16em; font-size: var(--yv-fs-eyebrow); font-weight: 850; color: var(--yv-text-muted); margin-bottom: 18px; }
.yv-case__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 22px 28px; }
.yv-case__stat { display: flex; flex-direction: column; gap: 6px; position: relative; padding-left: 18px; }
.yv-case__stat::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--yv-blue), var(--yv-magenta)); }
.yv-case__stat-value { font-family: var(--yv-font-display); font-weight: 850; font-size: clamp(26px, 3.6vw, 42px); line-height: 1; letter-spacing: -.02em; background: linear-gradient(120deg, var(--yv-blue), var(--yv-magenta)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.yv-case__stat-label { color: var(--yv-text-mid); font-size: var(--yv-fs-small); line-height: 1.4; }

/* Story body — numbered, highlighted section cards (replaces thin rows) */
.yv-case__body { margin-top: clamp(22px, 3vw, 34px); display: grid; gap: 18px; }
.yv-case__block { position: relative; overflow: hidden; display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 8px 48px; padding: clamp(24px, 3vw, 38px); border-radius: var(--yv-radius-card); background: var(--yv-glass-bg-soft); border: 1px solid var(--yv-line); }
.yv-case__block::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--yv-blue), var(--yv-magenta)); }
.yv-case__block-rail { display: flex; flex-direction: column; gap: 12px; }
.yv-case__num { font-family: var(--yv-font-display); font-weight: 850; font-size: clamp(30px, 4vw, 46px); line-height: 1; background: linear-gradient(120deg, var(--yv-blue), var(--yv-magenta)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.yv-case__block .yv-case__label { margin: 0; }
.yv-case__block .yv-prose { max-width: 64ch; }
.yv-case__block .yv-prose p { margin: 0; color: var(--yv-text-mid); font-size: clamp(15px, 1.15vw, 17px); line-height: 1.72; }

/* Highlighter for **key phrases** — reads as marked, keeps text readable */
.yv-hl { font-weight: 750; color: var(--yv-text); background: linear-gradient(transparent 58%, rgba(126,73,236,.24) 0); border-radius: 2px; }

/* body sections become label-rail + prose */
.yv-case__section { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 6px 48px; align-items: start; }
.yv-case__section .yv-case__label { margin-bottom: 0; padding-top: 2px; }
.yv-case__section .yv-prose { max-width: 62ch; }
.yv-case__related { display: block; }
.yv-case__related .yv-case__label { margin-bottom: 18px; }

@media (max-width: 820px) {
  .yv-case__hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .yv-case__section { grid-template-columns: 1fr; gap: 10px; }
  .yv-case__block { grid-template-columns: 1fr; gap: 12px; padding: 24px 22px; }
  .yv-case__block-rail { flex-direction: row; align-items: baseline; gap: 14px; }
}

/* Dark theme — outcomes band + highlighter */
:root[data-theme="dark"] .yv-case__outcomes,
.dark-theme .yv-case__outcomes { background: linear-gradient(135deg, rgba(12,41,82,.55), rgba(8,26,56,.42) 55%, rgba(68,19,72,.34)); }
:root[data-theme="dark"] .yv-chip,
.dark-theme .yv-chip { color: #9DC0FF; background: rgba(111,166,255,.12); border-color: rgba(111,166,255,.24); }
:root[data-theme="dark"] .yv-hl,
.dark-theme .yv-hl { color: var(--yv-text); background: linear-gradient(transparent 58%, rgba(126,73,236,.38) 0); }

/* Approach — "how we engage" risk-reversal band */
.yv-approach-reasons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
.yv-approach-reason { display: flex; flex-direction: column; gap: 8px; padding: var(--yv-space-lg); }
.yv-approach-reason h3 { margin: 0; }
.yv-approach-reason p { margin: 0; color: var(--yv-text-mid); line-height: 1.6; }
@media (max-width: 860px) { .yv-approach-reasons { grid-template-columns: 1fr; } }

/* ========================= Contact page polish ========================= */
.yv-page--contact .yv-page-hero {
  padding-bottom: clamp(20px, 3vw, 34px);
}
.yv-page--contact .yv-page-hero__title {
  max-width: 980px;
  margin-bottom: 12px;
}
.yv-page--contact .yv-page-hero__lead {
  max-width: 760px;
}
.yv-page--contact > .yv-section {
  padding-top: clamp(26px, 4vw, 48px);
}
.yv-page--contact .yv-form {
  max-width: 860px;
}

/* Keep the added Contact item visually consistent on desktop and mobile. */
.yv-nav__links .yv-nav-contact a,
.yv-mobile-menu__list .yv-nav-contact a {
  color: var(--yv-text-mid);
}
.yv-nav__links .yv-nav-contact a:hover,
.yv-mobile-menu__list .yv-nav-contact a:hover {
  color: var(--yv-blue);
}

@media (max-width: 900px) {
  .yv-page--contact .yv-page-hero {
    padding-top: clamp(104px, 14vh, 136px);
    padding-bottom: 22px;
  }
  .yv-page--contact > .yv-section {
    padding-top: 24px;
  }
}

@media (max-width: 600px) {
  .yv-page--contact .yv-page-hero {
    padding-top: 104px;
    padding-bottom: 18px;
  }
  .yv-page--contact .yv-page-hero__title {
    margin-bottom: 10px;
  }
  .yv-page--contact .yv-page-hero__lead {
    max-width: none;
  }
  .yv-page--contact > .yv-section {
    padding-top: 18px;
  }
}
