/* Decorative only; absent with disabled JavaScript or reduced motion. */
.site-intro { display: none; }

@media screen and (prefers-reduced-motion: no-preference) {
  .c2c-arriving .site-intro {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));
    background: radial-gradient(ellipse at 50% 46%, #0b6e6609, transparent 58%), var(--c-paper, #f7f4ee);
    pointer-events: none;
    animation: c2c-intro-away 500ms cubic-bezier(.4, 0, 1, 1) 1100ms both;
  }
  .site-intro-brand {
    display: grid;
    justify-items: center;
    gap: 24px;
    width: min(280px, 80vw);
    animation: c2c-intro-brand 1400ms cubic-bezier(.22, 1, .36, 1) both;
  }
  .site-intro-brand img { display: block; width: min(244px, 100%); height: auto; }
  .site-intro-tagline { margin: 0; color: var(--c-muted, #5e6d76); font-size: 1rem; line-height: 1.6; }
  .site-intro-line { width: 64px; height: 2px; background: #0b6e6626; overflow: hidden; border-radius: 2px; }
  .site-intro-line::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--c-teal, #0b6e66);
    transform-origin: left;
    animation: c2c-intro-line 1400ms cubic-bezier(.65, 0, .35, 1) both;
  }
  .site-intro[dir="rtl"] .site-intro-line::after,
  [dir="rtl"] .site-intro:not([dir="ltr"]) .site-intro-line::after { transform-origin: right; }

  .c2c-entry { --entry-delay: 0ms; }
  .c2c-entry.c2c-arriving { --entry-delay: 1200ms; }
  .c2c-entry :is(.hero-copy, .page-hero > .container) > :is(.tag, .eyebrow, h1, .lead) {
    animation: c2c-copy-arrive 1600ms cubic-bezier(.22, 1, .36, 1) var(--entry-delay) both;
  }
  .c2c-entry :is(.hero-copy, .page-hero > .container) > .lead { animation-delay: calc(var(--entry-delay) + 100ms); }

  @keyframes c2c-intro-away {
    from { opacity: 1; visibility: visible; }
    to { opacity: 0; visibility: hidden; }
  }
  @keyframes c2c-intro-brand {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes c2c-intro-line {
    0% { transform: scaleX(0); }
    70%, 100% { transform: scaleX(1); }
  }
  @keyframes c2c-copy-arrive {
    from { opacity: .55; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce), print {
  .site-intro { display: none !important; }
}
