/**
 * VirtualSleepCare Theme Kit v1.0
 * Approved Design System implementation.
 */
:root {
  --vsc-purple-50: #f8f5fc;
  --vsc-purple-100: #f0ebf8;
  --vsc-purple-200: #e7e1ef;
  --vsc-purple-300: #d2c7e2;
  --vsc-purple-400: #baa5ce;
  --vsc-purple-500: #9e85bf;
  --vsc-purple-600: #8a72ad;
  --vsc-purple-700: #755c98;
  --vsc-purple-800: #5e497b;
  --vsc-purple-900: #45355b;
  --vsc-gold-50: #fff9eb;
  --vsc-gold-100: #fff3d5;
  --vsc-gold-200: #fee8a8;
  --vsc-gold-300: #fddb7a;
  --vsc-gold-400: #fdc341;
  --vsc-gold-500: #feba27;
  --vsc-gold-600: #eaa415;
  --vsc-gold-700: #c88910;
  --vsc-gold-800: #9e6a0c;
  --vsc-gold-900: #735009;
  --vsc-neutral-50: #fafafa;
  --vsc-neutral-100: #f5f5f5;
  --vsc-neutral-200: #e5e7eb;
  --vsc-neutral-300: #d1d5db;
  --vsc-neutral-400: #9ca3af;
  --vsc-neutral-500: #6b7280;
  --vsc-neutral-600: #4b5563;
  --vsc-neutral-700: #374151;
  --vsc-neutral-800: #1f2937;
  --vsc-neutral-900: #111827;
  --vsc-brand-primary: var(--vsc-purple-500);
  --vsc-brand-primary-hover: var(--vsc-purple-600);
  --vsc-brand-primary-active: var(--vsc-purple-700);
  --vsc-brand-dark: var(--vsc-purple-900);
  --vsc-accent: var(--vsc-gold-500);
  --vsc-accent-hover: var(--vsc-gold-600);
  --vsc-background: #fff;
  --vsc-background-alt: var(--vsc-purple-50);
  --vsc-surface: #fff;
  --vsc-heading: var(--vsc-neutral-900);
  --vsc-text: var(--vsc-neutral-800);
  --vsc-text-secondary: var(--vsc-neutral-600);
  --vsc-text-muted: var(--vsc-neutral-500);
  --vsc-border: var(--vsc-neutral-200);
  --vsc-success: #15803d;
  --vsc-info: #0369a1;
  --vsc-warning: #b45309;
  --vsc-error: #b91c1c;
  --vsc-canada-red: #df0208;
  --vsc-space-2xs: .25rem;
  --vsc-space-xs: .5rem;
  --vsc-space-sm: 1rem;
  --vsc-space-md: 1.5rem;
  --vsc-space-lg: 2rem;
  --vsc-space-xl: 3rem;
  --vsc-space-2xl: 4rem;
  --vsc-space-3xl: 6rem;
  --vsc-space-4xl: 8rem;
  --vsc-width-reading: 800px;
  --vsc-width-standard: 1200px;
  --vsc-width-wide: 1440px;
  --vsc-radius-button: 8px;
  --vsc-radius-card: 12px;
  --vsc-radius-pill: 999px;
  --vsc-shadow-card: 0 1px 2px rgb(17 24 39 / 4%), 0 6px 18px rgb(17 24 39 / 6%);
  --vsc-shadow-hover: 0 4px 8px rgb(17 24 39 / 6%), 0 12px 28px rgb(17 24 39 / 10%);
}

/* Layout foundations */
.vsc-section { position: relative; width: 100%; box-sizing: border-box; }
.vsc-container-reading,
.vsc-container-standard,
.vsc-container-wide { width: calc(100% - 48px); margin-inline: auto; box-sizing: border-box; }
.vsc-container-reading { max-width: var(--vsc-width-reading); }
.vsc-container-standard { max-width: var(--vsc-width-standard); }
.vsc-container-wide { max-width: var(--vsc-width-wide); }
.vsc-container-full { width: 100%; }
.vsc-align-center { text-align: center; align-items: center; }

/* Grids */
.vsc-grid-2,
.vsc-grid-3,
.vsc-grid-4 { display: grid !important; gap: var(--vsc-space-lg); }
.vsc-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vsc-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vsc-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Vertical rhythm */
.vsc-section-sm { padding-block: var(--vsc-space-xl); }
.vsc-section-md { padding-block: var(--vsc-space-2xl); }
.vsc-section-lg,
.vsc-section-hero { padding-block: var(--vsc-space-3xl); }
.vsc-section-xl { padding-block: var(--vsc-space-4xl); }
.vsc-stack-xs,
.vsc-stack-sm,
.vsc-stack-md,
.vsc-stack-lg,
.vsc-stack-xl { display: flex; flex-direction: column; }
.vsc-stack-xs { gap: var(--vsc-space-xs); }
.vsc-stack-sm { gap: var(--vsc-space-sm); }
.vsc-stack-md { gap: var(--vsc-space-md); }
.vsc-stack-lg { gap: var(--vsc-space-lg); }
.vsc-stack-xl { gap: var(--vsc-space-xl); }

/* Surfaces */
.vsc-surface-white { background: #fff; }
.vsc-surface-alt { background: var(--vsc-purple-50); }
.vsc-surface-brand { background: var(--vsc-purple-500); color: #fff; }
.vsc-surface-dark { background: var(--vsc-purple-900); color: #fff; }
.vsc-surface-accent-light { background: var(--vsc-gold-50); }
.vsc-surface-brand :where(h1,h2,h3,h4,h5,h6,p),
.vsc-surface-dark :where(h1,h2,h3,h4,h5,h6,p) { color: inherit; }

/* Editorial typography variants */
.vsc-type-display { font-size: clamp(2.5rem, 5vw, 3.5rem); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: var(--vsc-heading); }
.vsc-type-body-lg { font-size: clamp(1.1875rem, 1.5vw, 1.25rem); line-height: 1.7; }
.vsc-type-small { font-size: 1rem; line-height: 1.6; }
.vsc-type-caption,
.vsc-type-meta { font-size: .875rem; line-height: 1.5; color: var(--vsc-text-muted); }
.vsc-type-eyebrow { margin: 0; font-size: .875rem; font-weight: 600; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; color: var(--vsc-purple-700); }
.vsc-section-header { max-width: var(--vsc-width-reading); }

/* Buttons: apply the variant class to the WordPress Button wrapper. */
.wp-block-button.vsc-button-primary .wp-block-button__link,
.wp-block-button.vsc-button-secondary .wp-block-button__link,
.wp-block-button.vsc-button-accent .wp-block-button__link,
a.vsc-button,
button.vsc-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .75rem 1.5rem; border: 1px solid transparent; border-radius: var(--vsc-radius-button); font-size: 1rem; font-weight: 500; line-height: 1.2; text-decoration: none; transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.wp-block-button.vsc-button-primary .wp-block-button__link,
a.vsc-button.vsc-button-primary,
button.vsc-button.vsc-button-primary { background: var(--vsc-brand-primary); color: #fff; }
.wp-block-button.vsc-button-primary .wp-block-button__link:hover,
a.vsc-button.vsc-button-primary:hover,
button.vsc-button.vsc-button-primary:hover { background: var(--vsc-brand-primary-hover); color: #fff; }
.wp-block-button.vsc-button-secondary .wp-block-button__link,
a.vsc-button.vsc-button-secondary,
button.vsc-button.vsc-button-secondary { background: #fff; color: var(--vsc-purple-600); border-color: var(--vsc-purple-500); }
.wp-block-button.vsc-button-secondary .wp-block-button__link:hover,
a.vsc-button.vsc-button-secondary:hover,
button.vsc-button.vsc-button-secondary:hover { background: var(--vsc-purple-50); color: var(--vsc-purple-700); }
.wp-block-button.vsc-button-accent .wp-block-button__link,
a.vsc-button.vsc-button-accent,
button.vsc-button.vsc-button-accent { background: var(--vsc-accent); color: var(--vsc-neutral-900); font-weight: 600; }
.wp-block-button.vsc-button-accent .wp-block-button__link:hover,
a.vsc-button.vsc-button-accent:hover,
button.vsc-button.vsc-button-accent:hover { background: var(--vsc-accent-hover); color: var(--vsc-neutral-900); }
:where(.wp-block-button.vsc-button-primary,.wp-block-button.vsc-button-secondary,.wp-block-button.vsc-button-accent) .wp-block-button__link:focus-visible,
:where(a.vsc-button,button.vsc-button):focus-visible { outline: 3px solid var(--vsc-gold-300); outline-offset: 3px; }

/* Cards and trust components */
.vsc-card { height: 100%; box-sizing: border-box; padding: var(--vsc-space-md); background: #fff; border: 1px solid var(--vsc-border); border-radius: var(--vsc-radius-card); box-shadow: var(--vsc-shadow-card); }
.vsc-card-feature { padding: var(--vsc-space-lg); }
.vsc-card-expert { overflow: hidden; }
.vsc-card-interactive { transition: transform .18s ease, box-shadow .18s ease; }
.vsc-card-interactive:hover { transform: translateY(-2px); box-shadow: var(--vsc-shadow-hover); }
.vsc-trust-badge { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-radius: var(--vsc-radius-pill); background: var(--vsc-purple-50); color: var(--vsc-purple-700); font-size: 1rem; font-weight: 500; }
.vsc-evidence-box { padding: var(--vsc-space-md); background: var(--vsc-purple-50); border: 1px solid var(--vsc-purple-200); border-radius: var(--vsc-radius-card); }
.vsc-notice { padding: var(--vsc-space-md); background: var(--vsc-gold-50); border-left: 4px solid var(--vsc-gold-500); border-radius: var(--vsc-radius-card); }
.vsc-notice-info { background: #f0f9ff; border-left-color: var(--vsc-info); }
.vsc-notice-warning { background: #fffbeb; border-left-color: var(--vsc-warning); }
.vsc-notice-error { background: #fef2f2; border-left-color: var(--vsc-error); }
.vsc-notice-success { background: #f0fdf4; border-left-color: var(--vsc-success); }
.vsc-image-rounded img { border-radius: var(--vsc-radius-card); }

/* Tables */
.vsc-table { width: 100%; border-collapse: collapse; }
.vsc-table th,
.vsc-table td { padding: var(--vsc-space-sm); border: 1px solid var(--vsc-border); text-align: left; vertical-align: top; }
.vsc-table th { background: var(--vsc-purple-50); color: var(--vsc-heading); }
.vsc-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Accessibility */
.vsc-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 1024px) {
  .vsc-grid-3,
  .vsc-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .vsc-container-reading,
  .vsc-container-standard,
  .vsc-container-wide { width: calc(100% - 32px); }
  .vsc-grid-2,
  .vsc-grid-3,
  .vsc-grid-4 { grid-template-columns: 1fr; }
  .vsc-section-sm { padding-block: var(--vsc-space-lg); }
  .vsc-section-md { padding-block: var(--vsc-space-xl); }
  .vsc-section-lg,
  .vsc-section-hero,
  .vsc-section-xl { padding-block: var(--vsc-space-2xl); }
  .wp-block-buttons > .wp-block-button { width: 100%; }
  .wp-block-button.vsc-button-primary .wp-block-button__link,
  .wp-block-button.vsc-button-secondary .wp-block-button__link,
  .wp-block-button.vsc-button-accent .wp-block-button__link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================
   VirtualSleepCare Theme Kit v2.0 additions
   Backward-compatible production component foundations.
   ========================================================= */

:root {
  --vsc-font-size-body: 1.125rem;
  --vsc-font-size-h2: clamp(2rem, 3.5vw, 3rem);
  --vsc-font-size-h3: clamp(1.35rem, 2vw, 1.75rem);
  --vsc-line-height-body: 1.7;
  --vsc-border-strong: var(--vsc-purple-200);
  --vsc-card-padding: clamp(1.25rem, 2.5vw, 2rem);
  --vsc-grid-gap: clamp(1.25rem, 2.5vw, 2rem);
  --vsc-transition: 180ms ease;
}

/* General page rhythm and section header system */
.vsc-section-inner {
  width: calc(100% - 48px);
  max-width: var(--vsc-width-standard);
  margin-inline: auto;
  box-sizing: border-box;
}

.vsc-section-heading {
  margin-block: 0;
  font-size: var(--vsc-font-size-h2);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--vsc-heading);
}

.vsc-section-intro {
  max-width: var(--vsc-width-reading);
  margin-top: var(--vsc-space-sm);
  margin-bottom: var(--vsc-space-lg);
  font-size: var(--vsc-font-size-body);
  line-height: var(--vsc-line-height-body);
  color: var(--vsc-text-secondary);
}

.vsc-section-eyebrow,
.vsc-hero-eyebrow {
  margin: 0 0 var(--vsc-space-xs);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--vsc-purple-700);
}

.vsc-section-header {
  display: flex;
  flex-direction: column;
  gap: var(--vsc-space-xs);
  max-width: var(--vsc-width-reading);
}

/* Grid aliases used by the reference expert page */
.vsc-grid-auto,
.vsc-credential-highlights-grid,
.vsc-expertise-grid,
.vsc-philosophy-grid,
.vsc-credential-grid,
.vsc-focus-grid,
.vsc-contribution-grid,
.vsc-service-grid,
.vsc-care-pathway-grid,
.vsc-professional-presence,
.vsc-next-steps {
  display: grid !important;
  gap: var(--vsc-grid-gap);
  align-items: stretch;
}

.vsc-grid-auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.vsc-credential-highlights-grid,
.vsc-expertise-grid,
.vsc-credential-grid,
.vsc-focus-grid,
.vsc-contribution-grid,
.vsc-service-grid,
.vsc-care-pathway-grid,
.vsc-professional-presence,
.vsc-next-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vsc-philosophy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Shared card foundation for existing specialist classes */
:where(
  .vsc-credential-highlight-card,
  .vsc-expertise-card,
  .vsc-philosophy-card,
  .vsc-credential-card,
  .vsc-focus-card,
  .vsc-contribution-card,
  .vsc-service-card,
  .vsc-resource-card,
  .vsc-leadership-card,
  .vsc-care-pathway-card,
  .vsc-resource-item,
  .vsc-presence-card,
  .vsc-action-card,
  .vsc-content-item
) {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  padding: var(--vsc-card-padding);
  background: var(--vsc-surface);
  border: 1px solid var(--vsc-border);
  border-radius: var(--vsc-radius-card);
  box-shadow: var(--vsc-shadow-card);
}

:where(
  .vsc-credential-highlight-card,
  .vsc-expertise-card,
  .vsc-philosophy-card,
  .vsc-credential-card,
  .vsc-focus-card,
  .vsc-contribution-card,
  .vsc-service-card,
  .vsc-resource-card,
  .vsc-leadership-card,
  .vsc-care-pathway-card,
  .vsc-resource-item,
  .vsc-presence-card,
  .vsc-action-card,
  .vsc-content-item
) > :first-child { margin-top: 0; }

:where(
  .vsc-credential-highlight-card,
  .vsc-expertise-card,
  .vsc-philosophy-card,
  .vsc-credential-card,
  .vsc-focus-card,
  .vsc-contribution-card,
  .vsc-service-card,
  .vsc-resource-card,
  .vsc-leadership-card,
  .vsc-care-pathway-card,
  .vsc-resource-item,
  .vsc-presence-card,
  .vsc-action-card,
  .vsc-content-item
) > .wp-block-buttons { margin-top: auto; padding-top: var(--vsc-space-md); }

:where(
  .vsc-credential-highlight-title,
  .vsc-expertise-title,
  .vsc-philosophy-card-title,
  .vsc-focus-title,
  .vsc-contribution-title,
  .vsc-service-title,
  .vsc-resource-title,
  .vsc-leadership-title,
  .vsc-care-pathway-title,
  .vsc-presence-title,
  .vsc-action-title,
  .vsc-content-title,
  .vsc-timeline-role
) {
  margin-bottom: var(--vsc-space-xs);
  font-size: var(--vsc-font-size-h3);
  line-height: 1.22;
  letter-spacing: -.015em;
  color: var(--vsc-heading);
}

:where(
  .vsc-credential-highlight-description,
  .vsc-expertise-description,
  .vsc-focus-description,
  .vsc-contribution-description,
  .vsc-service-description,
  .vsc-resource-description,
  .vsc-leadership-description,
  .vsc-care-pathway-description,
  .vsc-presence-description,
  .vsc-action-description,
  .vsc-content-description,
  .vsc-timeline-description,
  .vsc-biography-paragraph
) {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--vsc-text-secondary);
}

/* Expert hero */
.vsc-expert-hero {
  padding-block: var(--vsc-space-3xl);
  background: var(--vsc-background-alt);
}

.vsc-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.vsc-hero-content { display: flex; flex-direction: column; align-items: flex-start; }
.vsc-hero-name {
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  line-height: 1.03;
  letter-spacing: -.035em;
  color: var(--vsc-heading);
}
.vsc-hero-credentials {
  max-width: 42rem;
  margin-block: var(--vsc-space-md);
  font-size: clamp(1.1rem, 1.5vw, 1.25rem);
  line-height: 1.65;
  color: var(--vsc-text);
}
.vsc-hero-actions { gap: var(--vsc-space-sm); }
.vsc-hero-image { min-width: 0; }
.vsc-expert-photo { margin: 0; }
.vsc-expert-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--vsc-radius-card);
  box-shadow: var(--vsc-shadow-hover);
}

/* Credential highlight cards receive stronger visual emphasis */
.vsc-credential-highlights { padding-block: var(--vsc-space-2xl); }
.vsc-credential-highlight-card { border-color: var(--vsc-purple-200); background: linear-gradient(180deg, #fff 0%, var(--vsc-purple-50) 100%); }
.vsc-credential-highlight-title { color: var(--vsc-purple-900); }

/* Highlight and quote components */
.vsc-highlight-box,
.vsc-quote-card {
  box-sizing: border-box;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--vsc-radius-card);
}
.vsc-highlight-box { margin-top: var(--vsc-space-lg); background: var(--vsc-purple-50); border: 1px solid var(--vsc-purple-200); }
.vsc-quote-card { background: var(--vsc-purple-900); color: #fff; box-shadow: var(--vsc-shadow-card); }
.vsc-quote-text { margin: 0; font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.35; font-weight: 600; color: inherit; }
.vsc-quote-attribution { margin: var(--vsc-space-md) 0 0; font-size: 1rem; color: var(--vsc-purple-100); }

/* Timeline */
.vsc-timeline { display: flex; flex-direction: column; gap: var(--vsc-space-lg); }
.vsc-timeline-item {
  display: grid;
  grid-template-columns: minmax(9rem, .3fr) minmax(0, 1fr);
  gap: var(--vsc-space-lg);
  padding: var(--vsc-space-lg);
  background: #fff;
  border: 1px solid var(--vsc-border);
  border-radius: var(--vsc-radius-card);
}
.vsc-timeline-date { margin: 0; font-weight: 700; color: var(--vsc-purple-700); }
.vsc-timeline-content > :first-child { margin-top: 0; }
.vsc-timeline-organization { margin: 0 0 var(--vsc-space-sm); font-weight: 600; color: var(--vsc-text); }

/* Metadata, category and organization labels */
.vsc-credential-organization,
.vsc-resource-category,
.vsc-content-date,
.vsc-content-type {
  margin-top: 0;
  font-size: .875rem;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
  color: var(--vsc-purple-700);
}

/* FAQ */
.vsc-faq-accordion { display: flex; flex-direction: column; gap: var(--vsc-space-sm); }
.vsc-faq-item { overflow: hidden; border: 1px solid var(--vsc-border); border-radius: var(--vsc-radius-card); background: #fff; }
.vsc-faq-question { margin: 0; }
.vsc-faq-question button {
  width: 100%;
  padding: var(--vsc-space-md);
  border: 0;
  background: transparent;
  color: var(--vsc-heading);
  font: inherit;
  font-weight: 700;
  text-align: left;
}
.vsc-faq-question button:hover { background: var(--vsc-purple-50); }
.vsc-faq-question button:focus-visible { outline: 3px solid var(--vsc-gold-300); outline-offset: -3px; }
.vsc-faq-answer { padding: 0 var(--vsc-space-md) var(--vsc-space-md); color: var(--vsc-text-secondary); }

/* Button variants and sizes */
.wp-block-button.vsc-button-outline .wp-block-button__link,
a.vsc-button.vsc-button-outline,
button.vsc-button.vsc-button-outline {
  background: transparent;
  color: var(--vsc-brand-primary);
  border-color: currentColor;
}
.wp-block-button.vsc-button-outline .wp-block-button__link:hover,
a.vsc-button.vsc-button-outline:hover,
button.vsc-button.vsc-button-outline:hover { background: var(--vsc-purple-50); color: var(--vsc-purple-700); }

.wp-block-button.vsc-button-text .wp-block-button__link,
a.vsc-button.vsc-button-text,
button.vsc-button.vsc-button-text {
  min-height: 44px;
  padding-inline: 0;
  background: transparent;
  color: var(--vsc-purple-700);
  border-color: transparent;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}
.wp-block-button.vsc-button-small .wp-block-button__link { min-height: 40px; padding: .55rem 1rem; font-size: .9375rem; }
.wp-block-button.vsc-button-large .wp-block-button__link { min-height: 52px; padding: .9rem 1.8rem; font-size: 1.0625rem; }

/* CTA and action composition */
.vsc-cta-actions { display: flex; flex-wrap: wrap; gap: var(--vsc-space-sm); align-items: center; }
.vsc-cta-trust { flex-basis: 100%; margin: 0 0 var(--vsc-space-xs); color: var(--vsc-text-secondary); }
.vsc-next-steps-section { background: var(--vsc-purple-50); }

/* External-link cards and inactive placeholders */
.vsc-presence-card .wp-block-button__link,
.vsc-resource-card .wp-block-button__link,
.vsc-action-card .wp-block-button__link { white-space: normal; text-align: center; }

/* Generic hover is applied only to explicitly interactive cards. */
.vsc-card-interactive,
a.vsc-resource-item,
a.vsc-presence-card { transition: transform var(--vsc-transition), box-shadow var(--vsc-transition), border-color var(--vsc-transition); }
.vsc-card-interactive:hover,
a.vsc-resource-item:hover,
a.vsc-presence-card:hover { transform: translateY(-2px); border-color: var(--vsc-purple-300); box-shadow: var(--vsc-shadow-hover); }

@media (max-width: 1024px) {
  .vsc-credential-highlights-grid,
  .vsc-expertise-grid,
  .vsc-credential-grid,
  .vsc-focus-grid,
  .vsc-contribution-grid,
  .vsc-service-grid,
  .vsc-care-pathway-grid,
  .vsc-professional-presence,
  .vsc-next-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .vsc-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr); gap: var(--vsc-space-xl); }
}

@media (max-width: 767px) {
  .vsc-section-inner { width: calc(100% - 32px); }
  .vsc-expert-hero { padding-block: var(--vsc-space-2xl); }
  .vsc-hero-grid,
  .vsc-philosophy-grid,
  .vsc-credential-highlights-grid,
  .vsc-expertise-grid,
  .vsc-credential-grid,
  .vsc-focus-grid,
  .vsc-contribution-grid,
  .vsc-service-grid,
  .vsc-care-pathway-grid,
  .vsc-professional-presence,
  .vsc-next-steps { grid-template-columns: 1fr; }
  .vsc-hero-image { order: -1; max-width: 28rem; margin-inline: auto; }
  .vsc-hero-content { align-items: stretch; }
  .vsc-hero-name { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .vsc-timeline-item { grid-template-columns: 1fr; gap: var(--vsc-space-sm); }
  .vsc-cta-actions { flex-direction: column; align-items: stretch; }
}
