
.f-emb {
  --f-emb-pad: clamp(16px, 4vw, 48px);
  padding: clamp(24px, 4svh, 64px) var(--f-emb-pad);
}
.f-emb.f-emb-join-previous { margin-block-start: 0; }
.f-emb-inner { width: min(1200px, 100%); margin-inline: auto; }
.f-emb-light {
  background: var(--brand-bg, #FCFCFC);
  color: var(--brand-ink, #333);
  --f-em-ink: var(--brand-ink-strong, #1A1A1A);
  --f-em-body: var(--brand-ink, #333);
  --f-em-quiet: var(--f-quiet-ink);
  --f-em-accent: var(--f-accent-ink, var(--brand-accent, #0074C8));
}
.f-emb-dark {
  background: var(--brand-surface-dark, #1A1A1A);
  color: var(--brand-ink-on-dark, #FCFCFC);
  --f-em-ink: var(--brand-ink-on-dark, #FCFCFC);
  --f-em-body: rgba(255, 255, 255, 0.86);
  --f-em-quiet: rgba(255, 255, 255, 0.62);
  --f-em-accent: var(--brand-accent-bright, var(--brand-accent, #0A99FF));
}
.f-emb h2, .f-emb h3 { color: inherit; }
.f-emb-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: center;
}
.f-emb-stage {
  position: relative;
  margin: 0;
  width: min(100%, 420px);
  max-width: min(420px, 46svh);
  justify-self: center;
}
.f-emb-mark { display: block; }
.f-emb-mark svg, .f-emb-mark img { display: block; width: 100%; height: auto; }
.f-emb-head { max-width: var(--f-measure-wide); }
.f-emb-kicker {
  margin: 0 0 clamp(4px, 0.8svh, 8px);
  font-size: var(--f-text-caption);
  letter-spacing: var(--f-track-eyebrow);
  text-transform: uppercase;
  color: var(--f-em-accent);
}
.f-emb-title-row {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.6vw, 20px);
}
.f-emb-title { margin: 0; color: var(--f-em-ink); }
.f-emb-reference {
  display: none;
  flex: 0 0 auto;
  width: clamp(48px, 5vw, 68px);
  translate: 0 -4px;
}
.f-emb-can.is-driven .f-emb-reference { display: block; }
.f-emb-reference svg { display: block; width: 100%; height: auto; }
.f-emb-intro {
  margin: clamp(6px, 1.1svh, 12px) 0 0;
  font-size: var(--f-text-lead);
  line-height: var(--f-lh-body);
  color: var(--f-em-quiet);
  max-width: 46ch;
}
.f-emb-lines { list-style: none; margin: clamp(10px, 1.9svh, 22px) 0 0; padding: 0; }
.f-emb-line { padding: clamp(5px, 1.05svh, 11px) 0; }
.f-emb-line-t {
  margin: 0 0 var(--f-space-2xs);
  font-size: var(--f-h4);
  line-height: var(--f-lh-h4);
  color: var(--f-em-ink);
}
.f-emb-line-b {
  margin: 0;
  font-size: var(--f-text);
  line-height: var(--f-lh-body);
  color: var(--f-em-body);
  max-width: 48ch;
}
.f-emb-close {
  margin: clamp(6px, 1.2svh, 12px) 0 0;
  font-family: var(--brand-font-display, inherit);
  font-weight: 700;
  text-transform: var(--brand-display-transform, none);
  font-size: var(--f-h4);
  line-height: var(--f-lh-h4);
  color: var(--f-em-ink);
  max-width: 34ch;
  text-wrap: balance;
}
@media (max-height: 759px) {
  .f-emb-intro { margin-top: 6px; font-size: var(--f-text); }
  .f-emb-lines { margin-top: 10px; }
  .f-emb-line { padding: 6px 0; }
  .f-emb-line-t { font-size: var(--f-h5); line-height: var(--f-lh-h5); margin-bottom: 2px; }
  .f-emb-close { margin-top: 6px; font-size: var(--f-h5); line-height: var(--f-lh-h5); }
}
@media (max-width: 860px) {
  .f-emb-grid { grid-template-columns: 1fr; gap: clamp(20px, 4vw, 32px); }
  .f-emb-stage { max-width: min(260px, 34svh); }
  .f-emb-intro { font-size: var(--f-text); }
}
@supports (animation-timeline: view()) {
  @media screen and (prefers-reduced-motion: no-preference) {
    .f-emb-can.is-driven .f-emb-a {
      view-timeline: --f-emb-a block;
      height: 440svh;
    }
    .f-emb-can.is-driven .f-emb-stage-wrap {
      position: sticky;
      top: 0;
      min-height: 100svh;
      display: grid;
      align-items: center;
      padding-top: 88px;
      padding-bottom: 16px;
    }
    .f-emb-can.is-driven .f-emb-stage .f-emb-field,
    .f-emb-can.is-driven .f-emb-stage .f-emb-tri,
    .f-emb-can.is-driven .f-emb-stage .f-emb-ring,
    .f-emb-can.is-driven .f-emb-stage .f-emb-lt {
      transform-box: fill-box;
      transform-origin: center;
      animation: f-emb-rise linear both;
      animation-timeline: --f-emb-a;
    }
    .f-emb-can.is-driven .f-emb-stage .f-emb-field { animation-range: contain 3% contain 15%; }
    .f-emb-can.is-driven .f-emb-stage .f-emb-tri {
      animation-name: f-emb-settle;
      animation-range: contain 24% contain 38%;
    }
    .f-emb-can.is-driven .f-emb-stage .f-emb-ring { animation-range: contain 50% contain 60%; }
    .f-emb-can.is-driven .f-emb-stage .f-emb-lt {
      animation-name: f-emb-lift;
      animation-range: contain calc(56% + var(--k, 0) * 8%) contain calc(64% + var(--k, 0) * 8%);
    }
    .f-emb-can.is-driven .f-emb-line {
      animation: f-emb-ink linear both;
      animation-timeline: --f-emb-a;
    }
    .f-emb-can.is-driven .f-emb-line[data-i="1"] { animation-range: contain 8% contain 20%; }
    .f-emb-can.is-driven .f-emb-line[data-i="2"] { animation-range: contain 28% contain 42%; }
    .f-emb-can.is-driven .f-emb-line[data-i="3"] { animation-range: contain 40% contain 52%; }
    .f-emb-can.is-driven .f-emb-line[data-i="4"] { animation-range: contain 62% contain 76%; }
    .f-emb-can.is-driven .f-emb-line[data-i="5"] { animation-range: contain 70% contain 84%; }
    @media (min-width: 861px) {
      .f-emb-can.is-driven .f-emb-copy { display: grid; align-items: center; }
      .f-emb-can.is-driven .f-emb-copy > * { grid-area: 1 / 1; }
      .f-emb-can.is-driven .f-emb-lines { margin: 0; display: grid; align-items: center; }
      .f-emb-can.is-driven .f-emb-line { grid-area: 1 / 1; padding: 0; }
      .f-emb-can.is-driven .f-emb-head {
        animation: f-emb-hand-off linear both;
        animation-timeline: --f-emb-a;
        animation-range: contain 6% contain 26%;
        animation-timing-function: ease-in-out;
      }
      .f-emb-can.is-driven .f-emb-line {
        animation-name: f-emb-voice;
        animation-timing-function: ease-in-out;
      }
      .f-emb-can.is-driven .f-emb-line[data-i="1"] { animation-range: contain 26% contain 48%; }
      .f-emb-can.is-driven .f-emb-line[data-i="2"] { animation-range: contain 48% contain 66%; }
      .f-emb-can.is-driven .f-emb-line[data-i="3"] { animation-range: contain 66% contain 82%; }
      .f-emb-can.is-driven .f-emb-line[data-i="4"] { animation-range: contain 66% contain 82%; }
      .f-emb-can.is-driven .f-emb-stage .f-emb-field { animation-range: contain 8% contain 20%; }
      .f-emb-can.is-driven .f-emb-stage .f-emb-tri   { animation-range: contain 36% contain 48%; }
      .f-emb-can.is-driven .f-emb-stage .f-emb-ring  { animation-range: contain 68% contain 76%; }
      .f-emb-can.is-driven .f-emb-stage .f-emb-lt {
        animation-range: contain calc(74% + var(--k, 0) * 8%) contain calc(82% + var(--k, 0) * 8%);
      }
      .f-emb-can.is-driven .f-emb-line.f-emb-line-close {
        animation-name: f-emb-close-in;
        animation-range: contain 82% contain 94%;
        animation-timing-function: ease-in-out;
      }
    }
    @media (max-width: 860px) {
      .f-emb-can.is-driven .f-emb-a { height: 300svh; }
      .f-emb-can.is-driven .f-emb-stage-wrap {
        align-items: center;
        padding: 88px var(--f-emb-pad) 16px;
      }
      .f-emb-can.is-driven .f-emb-grid { display: block; }
      .f-emb-can.is-driven .f-emb-stage {
        position: relative;
        width: min(224px, 31svh);
        height: auto;
        max-width: none;
        margin: 0 auto clamp(24px, 3.5svh, 36px);
        overflow: visible;
        clip-path: none;
        pointer-events: none;
      }
      .f-emb-can.is-driven .f-emb-copy { width: 100%; }
      .f-emb-can.is-driven .f-emb-head { max-width: none; text-align: center; }
      .f-emb-can.is-driven .f-emb-kicker,
      .f-emb-can.is-driven .f-emb-intro { display: none; }
      .f-emb-can.is-driven .f-emb-title {
        margin-bottom: 0;
      }
      .f-emb-can.is-driven .f-emb-title-row {
        justify-content: center;
        margin-bottom: clamp(44px, 7svh, 62px);
      }
      .f-emb-can.is-driven .f-emb-lines {
        display: grid;
        place-items: center;
        min-height: clamp(230px, 32svh, 330px);
        margin: 0;
      }
      .f-emb-can.is-driven .f-emb-line {
        grid-area: 1 / 1;
        width: min(100%, 38ch);
        padding: 0;
        text-align: center;
        animation-name: f-emb-crossfade;
      }
      .f-emb-can.is-driven .f-emb-line-close { display: none; }
      .f-emb-can.is-driven .f-emb-line[data-i="1"] {
        animation-name: f-emb-first;
        animation-range: cover 6% cover 44%;
      }
      .f-emb-can.is-driven .f-emb-line[data-i="2"] {
        animation-range: cover 24% cover 64%;
      }
      .f-emb-can.is-driven .f-emb-line[data-i="3"] {
        animation-name: f-emb-mobile-last;
        animation-range: cover 52% cover 84%;
      }
      .f-emb-can.is-driven .f-emb-stage .f-emb-field {
        animation-name: f-emb-rise;
        animation-timeline: --f-emb-a;
        animation-range: cover 10% cover 30%;
      }
    }
  }
}
@keyframes f-emb-rise   { from { opacity: 0; transform: scale(0.94); } }
@keyframes f-emb-settle { from { opacity: 0; transform: scale(1.08); } }
@keyframes f-emb-lift   { from { opacity: 0; transform: translateY(12px); } }
@keyframes f-emb-ink    { from { opacity: 0; translate: 0 10px; } }
@keyframes f-emb-first {
  0%, 76% { opacity: 1; }
  86%, 100% { opacity: 0; }
}
@keyframes f-emb-voice {
  0%, 7%    { opacity: 0; }
  25%, 72%  { opacity: 1; }
  91%, 100% { opacity: 0; }
}
@keyframes f-emb-hand-off {
  0%, 45%   { opacity: 1; }
  90%, 100% { opacity: 0; }
}
@keyframes f-emb-close-in {
  0%, 14% { opacity: 0; }
  100%    { opacity: 1; }
}
@keyframes f-emb-crossfade {
  0%, 28% { opacity: 0; }
  40%, 65% { opacity: 1; }
  75%, 100% { opacity: 0; }
}
@keyframes f-emb-mobile-last {
  0%, 8% { opacity: 0; }
  20%, 100% { opacity: 1; }
}
