/* A neutral bridge between warm family imagery and the blue ALUNEVIA pack. */
:root {
  --paper: #F8F7F4;
  --surface: #FFFFFF;
  --surface-sunk: #F0EFEB;
  --deep: #202D3A;
  --deep-2: #2C3C4D;
  --on-deep: #F1F3F5;
  --on-deep-2: #B4BFC8;
  --ink: #202C36;
  --ink-2: #626B72;
  --ink-3: #757F87;
  --rule: #E1E2E1;
  --rule-strong: #C8CDD0;
  --amber: #846744;
  --amber-lift: #B18A58;
  --amber-wash: #F3EDE4;
  --sage: #647D90;
  --sage-lift: #B5C4CE;
  --clinical: #48657C;
  --clinical-wash: #E8EDF1;
  --alv-stage: #F2F1ED;
  --alv-mist: rgba(193,207,218,.15);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #111820;
    --surface: #1A2530;
    --surface-sunk: #151F29;
    --deep: #0D151D;
    --deep-2: #1C2B39;
    --on-deep: #F1F3F5;
    --on-deep-2: #B4BFC8;
    --ink: #E6EBEF;
    --ink-2: #A7B3BD;
    --ink-3: #8999A5;
    --rule: #2B3843;
    --rule-strong: #3E4D59;
    --amber: #C7A778;
    --amber-lift: #E0BD89;
    --amber-wash: #2E2921;
    --sage: #A8BDCD;
    --sage-lift: #C9D8E3;
    --clinical: #A3BCCF;
    --clinical-wash: #22303D;
    --alv-stage: #1A2530;
    --alv-mist: rgba(130,158,179,.09);
  }
}

:root[data-theme="dark"] {
  --paper: #111820;
  --surface: #1A2530;
  --surface-sunk: #151F29;
  --deep: #0D151D;
  --deep-2: #1C2B39;
  --on-deep: #F1F3F5;
  --on-deep-2: #B4BFC8;
  --ink: #E6EBEF;
  --ink-2: #A7B3BD;
  --ink-3: #8999A5;
  --rule: #2B3843;
  --rule-strong: #3E4D59;
  --amber: #C7A778;
  --amber-lift: #E0BD89;
  --amber-wash: #2E2921;
  --sage: #A8BDCD;
  --sage-lift: #C9D8E3;
  --clinical: #A3BCCF;
  --clinical-wash: #22303D;
  --alv-stage: #1A2530;
  --alv-mist: rgba(130,158,179,.09);
}

.hero-stage--family { background: var(--alv-stage); }
.alv-family-brand,
.alv-brand-lockup { background: transparent; padding: 0; }
.alv-family-photo { isolation: isolate; }
.alv-family-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, var(--alv-stage), transparent 19%);
}
.alv-family-photo img { filter: saturate(.9); }
.alv-feature {
  background: radial-gradient(ellipse at 75% 45%, var(--alv-mist), transparent 68%), var(--alv-stage);
}
.alv-feature--immersive {
  --ink: #202C36;
  --ink-2: #626B72;
  --amber: #846744;
  --paper: #F8F7F4;
  --rule-strong: #C8CDD0;
  position: relative;
  isolation: isolate;
  min-height: clamp(540px, 43vw, 680px);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: #F2F1ED;
  color: var(--ink);
}
.alv-feature--immersive .alv-feature__copy {
  position: relative;
  z-index: 1;
  max-width: 520px;
}
.alv-feature--reversed .alv-feature__copy { grid-column: 2; }
.alv-injection-visual {
  margin: 0;
  overflow: hidden;
  border-radius: var(--r-lg, 28px);
  background: var(--alv-stage);
}
.alv-injection-visual img { display: block; width: 100%; height: auto; }
@media (max-width: 640px) {
  .alv-injection-visual img { aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: 70% center; }
}
.alv-feature__scene {
  position: absolute;
  inset: 0;
  z-index: -1;
  margin: 0;
}
.alv-feature__scene picture,
.alv-feature__scene img {
  display: block;
  width: 100%;
  height: 100%;
}
.alv-feature__scene img { object-fit: cover; object-position: center; }
@media (max-width: 800px) {
  .alv-feature--immersive {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 0;
    padding: 0;
  }
  .alv-feature--immersive .alv-feature__copy {
    grid-column: 1;
    max-width: none;
    padding: clamp(1.5rem, 5vw, 2.5rem) clamp(1.5rem, 5vw, 2.5rem) 0;
  }
  .alv-feature__scene {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    aspect-ratio: 1;
    margin-top: -1px;
  }
}
.alv-feature__visual--campaign img,
.alv-gallery__image--editorial img {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(0deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(0deg, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.alv-gallery__image,
.alv-brand-signature { background: var(--alv-stage); }
.alv-gallery__image--vial {
  background: radial-gradient(ellipse at 50% 45%, var(--alv-mist), transparent 75%), var(--alv-stage);
}
.alv-brand-signature { border-color: transparent; }
.alv-feature__visual img,
.alv-gallery__image--vial img { filter: drop-shadow(0 18px 26px rgba(35,46,58,.08)); }
.alv-feature__visual--campaign img { filter: none; }
.tai-plate--dark .tai-plate__field {
  background: radial-gradient(ellipse at 30% 20%, rgba(213,218,224,.22), transparent 60%), linear-gradient(150deg, #354657, #182633);
}
.tai-plate--cold .tai-plate__field {
  background: radial-gradient(ellipse at 70% 20%, #F0F3F5, transparent 65%), linear-gradient(150deg, #AABCCB, #5E788F 58%, #293F53);
}

/* Keep navy wordmarks readable in both native and explicit dark themes. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) :is(.alv-family-brand,.alv-brand-lockup,.alv-brand-signature) {
    background: #F5F4F0;
    border-radius: 10px;
  }
}
:root[data-theme="dark"] :is(.alv-family-brand,.alv-brand-lockup,.alv-brand-signature) {
  background: #F5F4F0;
  border-radius: 10px;
}
@media (max-width: 900px) {
  .alv-family-photo::after { background: linear-gradient(180deg, var(--alv-stage), transparent 18%); }
}
