:root {
  --premium-ink: #183a31;
  --premium-forest: #214f42;
  --premium-mint: #dce8df;
  --premium-sage: #c9d9cf;
  --premium-paper: #f4f0e7;
  --premium-greige: #d9d5cd;
  --premium-muted: #777a74;
  --premium-coral: #b85d40;
  --premium-radius: 28px;
}

.home .site-header:not(.is-scrolled) {
  background: rgba(24, 58, 49, .92);
  color: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .1);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

body.home {
  background: var(--premium-paper);
  color: var(--premium-ink);
  font-family: "DM Sans", Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.home .shell { width: min(1320px, calc(100% - 64px)); }
.home .section { padding-block: clamp(88px, 10vw, 144px); }
.home .section-title,
.home .hero h1,
.home .path-card h2,
.home .statement h2 {
  letter-spacing: -.045em;
}

.home .hero {
  min-height: clamp(680px, 56.25vw, 780px);
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--premium-forest);
  color: #fff;
  isolation: isolate;
  align-items: center;
  perspective: 1200px;
}

.home .hero::before {
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 72% 24%, rgba(238,239,217,.3), transparent 30%),
    linear-gradient(90deg, transparent 40%, rgba(7,28,22,.08) 58%, rgba(7,28,22,.24) 100%),
    linear-gradient(180deg, rgba(8,27,22,.162), rgba(13,38,31,.378)),
    linear-gradient(90deg, rgba(10,35,28,.216), rgba(17,45,37,.009) 52%, rgba(8,29,23,.198));
  pointer-events: none;
  animation: hero-light-breathe 9s ease-in-out infinite alternate;
}

.home .hero-media-sequence {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  background: var(--premium-forest);
}

.home .hero-media-set { position: absolute; inset: 0; }

.home .hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-focus-x, 50%) var(--hero-focus-y, 26%);
  filter: saturate(.9) contrast(1.1) brightness(1.05);
  transform: translate3d(var(--hero-pan-x, 0px), var(--hero-pan-y, 0px), 0) scale(1.01);
  transform-origin: var(--hero-focus-x, 50%) var(--hero-focus-y, 26%);
  opacity: 0;
  will-change: transform, filter, opacity;
  animation-name: hero-cinematic-dolly, hero-frame-cycle;
  animation-duration: 12s, 24s;
  animation-timing-function: cubic-bezier(.42,0,.2,1), linear;
  animation-iteration-count: infinite, infinite;
  animation-direction: alternate, normal;
  animation-delay: 0s, calc((var(--frame-index, 0) * 8s) - 24s);
}

.home .hero-media--portrait {
  object-fit: contain;
  object-position: center center;
  background: #9ca8a1;
  transform-origin: center center;
  animation-name: hero-portrait-breathe, hero-frame-cycle;
}

@keyframes hero-portrait-breathe {
  from { transform: scale(1.005); filter: saturate(.92) contrast(1.08) brightness(1.08); }
  to { transform: scale(1.035); filter: saturate(.98) contrast(1.12) brightness(1.1); }
}

@keyframes hero-cinematic-dolly {
  0% { transform: translate3d(calc(var(--hero-pan-x, 0px) - 1.2%), var(--hero-pan-y, 0px), 0) scale(1.005); filter: saturate(.94) contrast(1.12) brightness(1.1); }
  48% { filter: saturate(.98) contrast(1.12) brightness(1.1); }
  100% { transform: translate3d(calc(var(--hero-pan-x, 0px) + 1.8%), var(--hero-pan-y, 0px), 0) scale(1.065); filter: saturate(1) contrast(1.16) brightness(1.12); }
}

@keyframes hero-frame-cycle {
  0%, 29% { opacity: 1; }
  36%, 93% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes hero-light-breathe {
  from { opacity: .86; transform: scale(1); }
  to { opacity: 1; transform: scale(1.035); }
}

.home .hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(5,20,16,.144) 0, transparent 18%, transparent 80%, rgba(4,18,14,.324) 100%),
    radial-gradient(ellipse at center, transparent 50%, rgba(4,20,15,.252) 120%);
  box-shadow: inset 0 0 100px rgba(5,22,17,.126);
  pointer-events: none;
}

@keyframes hero-breathe {
  from { transform: translate3d(0, calc(var(--page-scroll, 0px) * .035), 0) scale(1.07); }
  to { transform: translate3d(-1.4%, calc(var(--page-scroll, 0px) * .035 - 1%), 0) scale(1.12); }
}

.home .hero-copy { z-index: 1; width: calc(100% - 48px); max-width: none; display:flex; align-items:center; flex-direction:column; padding: 158px 0 64px; text-align:center; animation: hero-copy-arrive 1.35s cubic-bezier(.2,.72,.2,1) both; }
.home .hero-glass {
  width: 100% !important;
  max-width: none !important;
  min-height: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(42px, 6vw, 74px) clamp(24px, 6vw, 82px);
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(17,48,39,.34), rgba(18,45,37,.16));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 30px 80px rgba(7,27,21,.16);
  -webkit-backdrop-filter: blur(4px) saturate(1.08);
  backdrop-filter: blur(4px) saturate(1.08);
}
.home .hero-glass > * { width: min(820px, 100%); max-width: 820px; }
.home .hero h1 {
  max-width: 820px;
  color: #fff;
  font-family: "DM Sans", Manrope, sans-serif;
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 500;
  line-height: 1.02;
}
.home .hero h1 em { color: #fff; font-family: var(--font-heading); font-weight: 400; }
.home .hero p { max-width: 650px; color: rgba(255,255,255,.86); font-size: 17px; }
.home .hero .eyebrow { color: rgba(255,255,255,.76); }
.home .hero-actions .button { border-radius: 999px !important; background: var(--premium-coral); box-shadow: 0 14px 30px rgba(91,52,37,.16); }
.home .hero-actions { justify-content:center; }
.home .hero-actions > a { display:inline-flex; min-height:48px; align-items:center; padding:0 22px; border:1px solid rgba(255,255,255,.72); border-radius:999px; color:#fff; text-decoration:none; }

@keyframes hero-copy-arrive {
  from { opacity: 0; transform: translate3d(0, 26px, 0); filter: blur(6px); }
  to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}

.home .section--sage { background: var(--premium-mint); }
.home .help-overview { border-radius: 34px; margin: 20px 18px; }
.home .condition-list a { border-color: rgba(24,58,49,.16); }
.home .condition-list a:hover { padding-left: 16px; background: rgba(255,255,255,.34); }

.home .path-selector { gap: 18px; padding: 18px; background: var(--premium-paper); }
.home .path-card { border-radius: var(--premium-radius); overflow: hidden; }
.home .path-card--dark { background: var(--premium-forest); }
.home .path-card--light { background: var(--premium-greige); }

.home .approach-section {
  position: relative;
  overflow: hidden;
  background: #eef1eb;
}
.home .approach-section::before {
  content: "";
  position: absolute;
  inset: 0 0 0 56%;
  background: linear-gradient(90deg, #eef1eb 0%, rgba(238,241,235,.52) 22%, rgba(238,241,235,.08) 100%), url('assets/cinematic/exec-8a5379cc-5eb9-41f1-a35b-ab0490ca73ce.png') center / cover;
  opacity: .72;
  transform: translate3d(0, var(--media-shift, 0), 0) scale(1.08);
  pointer-events: none;
}
.home .approach-stage { position: relative; z-index: 1; }
.home .approach-principles li { border-color: rgba(24,58,49,.14); }

.home .specialists { background: var(--premium-paper); }
.home .specialist-card,
.home .entity-card {
  border-radius: 24px;
  background: rgba(255,255,255,.56);
  border-color: rgba(24,58,49,.12);
  overflow: hidden;
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}
.home .specialist-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.home .specialist-card h3 {
  margin: 20px 20px 8px;
  font-family: "DM Sans", Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(19px, 1.45vw, 22px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.home .specialist-card > p {
  display: -webkit-box;
  min-height: 78px;
  margin: 0 20px;
  overflow: hidden;
  color: var(--premium-muted);
  font-size: 13px;
  line-height: 1.48;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.home .specialist-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: auto 20px 0;
  padding: 18px 0 20px;
  border-top: 1px solid rgba(24,58,49,.12);
  font-size: 12px;
}
.home .specialist-card > div a {
  white-space: nowrap;
}
.home .filter-sidebar {
  padding-inline: 20px;
}
.home .specialist-card:hover,
.home .entity-card:hover { transform: translateY(-7px); box-shadow: 0 26px 70px rgba(35,70,59,.11); }
.home .specialist-photo-link { overflow: hidden; }
.home .specialist-photo { transform: translate3d(0, var(--media-shift, 0), 0) scale(1.08); transition: transform .35s linear, filter .45s ease; }

.home .events-preview { background: #e8ebe5; }
.home .events-preview__grid { gap: 18px; border: 0; }
.home .event-preview-card {
  border: 0;
  border-radius: var(--premium-radius);
  overflow: hidden;
  transform: translate3d(0, var(--media-shift, 0), 0);
}
.home .event-preview-card--education {
  background: linear-gradient(180deg, rgba(24,58,49,.08), rgba(24,58,49,.88)), var(--event-image, url('assets/cinematic/exec-8a5379cc-5eb9-41f1-a35b-ab0490ca73ce.png')) center / cover;
}
.home .event-preview-card--workshops {
  background: linear-gradient(180deg, rgba(184,93,64,.03), rgba(54,64,55,.84)), var(--event-image, url('assets/cinematic/exec-86a75af5-126b-4839-b4d0-b3f4be835585.png')) center / cover;
}
.home .events-preview__grid .event-preview-card{position:relative;display:block;min-height:0;padding:0;background:none!important;color:#fff;transform:none}.home .events-preview__grid .event-preview-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s ease}.home .events-preview__grid .event-preview-card:hover img{transform:scale(1.025)}.home .event-preview-card__overlay{position:absolute;inset:0;display:flex;justify-content:space-between;flex-direction:column;padding:clamp(24px,3vw,38px);background:linear-gradient(180deg,rgba(17,38,31,.12),rgba(17,38,31,.84));color:#fff}.home .event-preview-card__overlay>span{display:block}.home .event-preview-card__overlay small,.home .event-preview-card__overlay strong,.home .event-preview-card__overlay em,.home .event-preview-card__overlay b{display:block}.home .event-preview-card__overlay small{margin-bottom:14px;font-size:11px;font-style:normal;font-weight:700;letter-spacing:.08em}.home .event-preview-card__overlay strong{font:clamp(35px,4vw,56px)/.95 var(--font-heading);font-weight:400}.home .event-preview-card__overlay em{max-width:420px;margin-top:18px;font-size:15px;font-style:normal;line-height:1.4}.home .event-preview-card__overlay b{font-size:13px}

.home .service-grid a { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--premium-forest); }
.home .service-grid a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(24,58,49,.9), rgba(24,58,49,.26)), url('assets/cinematic/exec-b7270557-a542-4fa3-abab-fc344b6b19b0.png') center / cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.home .service-grid a:nth-child(even)::before { background-image: linear-gradient(90deg, rgba(24,58,49,.88), rgba(24,58,49,.22)), url('assets/cinematic/exec-86a75af5-126b-4839-b4d0-b3f4be835585.png'); }
.home .service-grid a:hover::before { transform: scale(1.07); }

.home .clinic-gallery { grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,.62fr); gap: 12px; padding: 12px 18px; min-height: 0; border: 0; background: var(--premium-paper); }
.home .clinic-gallery figure { overflow: hidden; border: 0; border-radius: 20px; }
.home .clinic-gallery figure:not(.clinic-gallery__statement) { aspect-ratio:1; }
.home .clinic-gallery img { border-radius: 20px; }
.home .clinic-gallery img,
.home .space-grid img { transform: translate3d(0, var(--media-shift, 0), 0) scale(1.08); will-change: transform; }
.home .clinic-gallery__statement { min-width:0; padding:clamp(16px,1.6vw,28px); background: var(--premium-forest); }
.home .clinic-gallery__statement p { overflow-wrap:anywhere; font-size:clamp(20px,2vw,31px); }
.home .clinic-gallery__statement a { align-self:flex-end; margin-top:auto; padding:10px 12px; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#fff; font-size:12px; font-weight:700; line-height:1; text-decoration:none; white-space:nowrap; }
.home .clinic-gallery__statement a:hover,.home .clinic-gallery__statement a:focus-visible { background:#fff; color:var(--premium-forest); }
.home .space { background: #e2e3dc; }
.home .space-grid { gap: 18px; }
.home .space-grid img { border-radius: var(--premium-radius); }
.home .faq-list details { border-color: rgba(24,58,49,.18); }
.home .final-cta { margin: 18px; border-radius: 34px; background: var(--premium-forest); overflow: hidden; }

.motion-ready .motion-reveal {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .85s ease var(--reveal-delay, 0ms), transform .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms);
}
.motion-ready .motion-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .home .hero::before {
    background: linear-gradient(180deg, rgba(14,39,32,.24), rgba(17,45,37,.48));
  }
}

@media (max-width: 760px) {
  .home .shell { width: min(100% - 32px, 1320px); }
  .home .hero { min-height: 720px; margin: 0; border-radius: 0; }
  .home .hero::before {
    background: linear-gradient(0deg, rgba(244,240,231,.99) 4%, rgba(244,240,231,.92) 48%, rgba(244,240,231,.16) 82%);
  }
  .home .hero-media { object-position: var(--hero-mobile-x, var(--hero-focus-x, 50%)) var(--hero-mobile-y, 22%); transform-origin: var(--hero-mobile-x, var(--hero-focus-x, 50%)) var(--hero-mobile-y, 22%); animation-duration: 12s, 24s; }
  .home .approach-section::before { inset: 44% 0 0; opacity: .46; }
  .home .hero-copy { width: calc(100% - 24px); align-items:center; justify-content:center; min-height:720px; padding: 150px 0 34px; }
  .home .hero-glass { width:100%; min-height:540px; padding:38px 18px; border-radius:24px; }
  .home .hero h1 { font-size: clamp(42px, 11.5vw, 56px); line-height: 1; }
  .home .hero p { font-size: 16px; }
  .home .hero-actions { align-items: stretch; width:100%; }
  .home .hero-actions .button { width: 100%; justify-content: center; }
  .home .specialist-grid {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
  }
  .home .specialist-card {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }
  .home .specialist-card h3 { margin-inline: 18px; font-size: 21px; }
  .home .specialist-card > p { margin-inline: 18px; }
  .home .specialist-card > div { margin-inline: 18px; }
  .home .help-overview,
  .home .final-cta { margin-inline: 8px; border-radius: 24px; }
  .home .path-selector { padding: 8px; }
  .home .clinic-gallery { grid-template-columns: 1fr; padding-inline: 8px; }
  .home .clinic-gallery figure,
  .home .clinic-gallery__feature,
  .home .clinic-gallery__statement { grid-column: 1; min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .home .hero::before { animation: none; transform: none; }
  .home .hero-media { animation: none; transform: none; }
  .home .hero-media { opacity: 0; }
  .home .hero-media:first-child { opacity: 1; }
  .home .hero-copy { animation: none; }
  .motion-ready .motion-reveal,
  .home .clinic-gallery img,
  .home .space-grid img,
  .home .specialist-photo { transition: none; transform: none; }
}
