/* Five-second particle signature; no video, bitmap ornament or animation library. */
.brand-intro { place-items:center; color:var(--white); touch-action:none; }
.brand-intro.is-playing { animation:intro-exit .35s ease 4.65s forwards; }
.intro-particles { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.intro-stage {
  --intro-logo-size:clamp(2.75rem,6.5vw,5.5rem);
  --intro-type-size:clamp(4.5rem,18vw,10rem);
  --intro-gap:clamp(1.25rem,2.4vw,2rem);
  position:relative; width:min(86vw,40rem);
  height:calc(var(--intro-logo-size) + var(--intro-type-size) + var(--intro-gap) * 2 + 1.5rem);
}
.intro-wordmark {
  position:absolute; top:calc(var(--intro-logo-size) + var(--intro-gap)); left:50%; display:flex; align-items:baseline;
  font-family:var(--font-display); font-size:var(--intro-type-size);
  font-weight:400; line-height:1; letter-spacing:-.025em; white-space:nowrap;
  transform:translateX(calc(-50% + var(--q-shift,7.1rem)));
}
.intro-q { opacity:0; }
.intro-logo-slot { position:absolute; top:0; left:50%; display:block; width:var(--intro-logo-size); aspect-ratio:1; transform:translateX(-50%); }
.intro-company-logo { width:100%; height:100%; opacity:0; }
.is-playing .intro-company-logo { animation:intro-q-in .45s ease 3.2s forwards; }
html.logo-flight .header .brand img { visibility:hidden; }
.intro-letters { display:flex; }
.intro-letters>span { display:inline-block; opacity:0; }
.intro-descriptor {
  position:absolute; left:0; right:0; top:calc(var(--intro-logo-size) + var(--intro-type-size) + var(--intro-gap) * 2);
  font-family:var(--font); font-size:.8125rem; font-weight:400; line-height:1.5;
  text-align:center; letter-spacing:.3em; color:var(--gold); opacity:0;
}
.is-playing .intro-q { animation:intro-q-in .4s ease 3.05s forwards; }
.is-playing .intro-particles { animation:intro-particles-out .35s ease 3.2s forwards; }
.is-playing .intro-wordmark { animation:intro-word-align .72s cubic-bezier(.22,1,.36,1) 3.3s forwards; }
.is-playing .intro-letters>span { animation:intro-letter-in .55s cubic-bezier(.22,1,.36,1) calc(3.32s + var(--letter)*.1s) both; }
.is-playing .intro-descriptor { animation:intro-caption-in .5s ease 3.72s forwards; }
@keyframes intro-q-in { to { opacity:1; } }
@keyframes intro-letter-in { from { opacity:0; transform:translateX(-1rem); filter:blur(3px); } to { opacity:1; transform:none; filter:blur(0); } }
@keyframes intro-word-align { to { transform:translateX(-50%); } }
@keyframes intro-caption-in { from { opacity:0; transform:translateY(-.4rem); } to { opacity:1; transform:none; } }
@keyframes intro-particles-out { to { opacity:0; } }
@keyframes intro-exit { to { opacity:0; visibility:hidden; pointer-events:none; } }
.cursor-tail {
  position:fixed; inset:0; z-index:120; width:100%; height:100%;
  pointer-events:none; user-select:none; mix-blend-mode:difference;
}
html[data-intro] .cursor-tail { visibility:hidden; }
@media(max-width:600px) {
  .intro-descriptor { font-size:.75rem; letter-spacing:.24em; }
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) { .cursor-tail { display:none; } }
@media(prefers-reduced-motion:reduce) { html[data-intro] .brand-intro { display:none; } html[data-intro] body { overflow:auto; } }

.section-shell{position:relative}
.plus{transition:background .42s ease,border-color .42s ease}
.plus:before,.plus:after{transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .42s ease,background .42s ease}
.plus:after{transform:rotate(90deg);opacity:1}
details[open]>summary .plus:after{transform:rotate(0deg);opacity:0}
details[data-disclosure=closing]>summary .plus{background:transparent;border-color:var(--line)}
details[data-disclosure=closing]>summary .plus:after{transform:rotate(90deg);opacity:1}
.section-dark details[data-disclosure=closing]>summary .plus:before,.section-dark details[data-disclosure=closing]>summary .plus:after{background:var(--white)}
@media(prefers-reduced-motion:reduce){
  .plus,.plus:before,.plus:after{transition:none}
}
