.hero-line { display: inline; }
.hero-word {
  display: inline-block;
  opacity: 0;
  filter: blur(12px);
  transform: translateY(.5em);
  animation: intro-word .72s cubic-bezier(.16, 1, .3, 1) forwards;
  will-change: opacity, filter, transform;
}
.hero-word:nth-of-type(1) { animation-delay: .05s; }
.hero-word:nth-of-type(2) { animation-delay: .12s; }
.hero-line:nth-of-type(2) .hero-word:nth-of-type(1) { animation-delay: .19s; }
.hero-line:nth-of-type(2) .hero-word:nth-of-type(2) { animation-delay: .26s; }
.hero-line:nth-of-type(3) .hero-word { animation-delay: .33s; }

.hero-intro .lead,
.hero-intro .hero-actions,
.hero-intro .stats,
.hero-visual-intro {
  opacity: 0;
  transform: translateY(18px);
  animation: intro-rise .7s cubic-bezier(.16, 1, .3, 1) forwards;
}
.hero-intro .lead { animation-delay: .23s; }
.hero-intro .hero-actions { animation-delay: .34s; }
.hero-intro .stats { animation-delay: .45s; }
.hero-visual-intro { animation-delay: .3s; }

.privacy-card { overflow: hidden; outline: none; transition: border-color .28s ease, box-shadow .28s ease; }
.privacy-card:hover,
.privacy-card:focus-visible { border-color: #bd81ff55; box-shadow: inset 0 1px #ffffff06, 0 20px 60px #7b36c31c; }
.privacy-note {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 3;
  padding: 20px 24px;
  border: 1px solid #bd81ff48;
  border-radius: 17px;
  background: #0a0b0ef5;
  box-shadow: 0 14px 40px #0006;
  color: #a39fa8;
  font-size: 13px;
  line-height: 1.6;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: opacity .26s ease, transform .32s cubic-bezier(.2,.8,.2,1), border-color .26s ease;
}
.privacy-card:hover .privacy-note,
.privacy-card:focus-visible .privacy-note { opacity: 1; transform: translateY(0); border-color: #bd81ff66; }

@keyframes intro-word { to { opacity: 1; filter: blur(0); transform: none; } }
@keyframes intro-rise { to { opacity: 1; transform: none; } }

@media (hover: none) { .privacy-note { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .hero-word,.hero-intro .lead,.hero-intro .hero-actions,.hero-intro .stats,.hero-visual-intro { opacity: 1; filter: none; transform: none; animation: none; }
}

.platform-boxes .platform-option {
  height: 125px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 9px;
  border: 1px solid #ffffff0b;
  border-radius: 13px;
  background: #090a0dcc;
  color: #8c8892;
  font: inherit;
  cursor: pointer;
  transition: color .22s ease, border-color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.platform-boxes .platform-option:hover { color: #d9d3e5; border-color: #bd81ff35; transform: translateY(-2px); }
.platform-boxes .platform-option:focus-visible { outline: 2px solid #c58cff; outline-offset: 3px; }
.platform-boxes .platform-option b { font-size: 14px; }
.platform-boxes .platform-option small { color: #68636f; font-size: 11px; }
.platform-boxes .platform-option.is-selected {
  color: #f0e9f8;
  border-color: #bd81ff62;
  background: radial-gradient(circle at 50% 0,#a95bf326,transparent 70%),#100d16;
  box-shadow: inset 0 0 28px #9f55ef12,0 12px 34px #7834bb18;
}
.platform-boxes .platform-option.is-selected small { color: #b69acb; }
.platform-boxes .active-platform { grid-column: span 2; }

/* Keep gradients in one tile across the transparent border, including at fractional zoom.
   Important overrides the existing secondary-button background shorthand. */
.button {
  background-origin: border-box !important;
  background-repeat: no-repeat !important;
}

/* Keep all three hero labels and vector icons consistent. */
.incy-hero .hero-actions .button-primary,
.incy-hero .hero-actions .button-secondary,
.incy-hero .hero-actions .button-ghost {
  font-weight: 600;
  letter-spacing: 0;
  gap: 11px;
  transition: transform .2s ease, filter .2s ease;
}
.incy-hero .hero-actions .button-primary:hover,
.incy-hero .hero-actions .button-secondary:hover { filter: brightness(1.05); }
.incy-hero .hero-actions .button-primary:active,
.incy-hero .hero-actions .button-secondary:active { transform: translateY(0); filter: brightness(.96); }
.incy-hero .hero-actions .button-primary:focus-visible,
.incy-hero .hero-actions .button-secondary:focus-visible,
.incy-hero .hero-actions .button-ghost:focus-visible { outline: 2px solid #c3a5f7; outline-offset: 4px; }
.incy-hero .hero-actions .button-label { line-height: 1.2; }
.incy-hero .hero-actions .windows-icon,
.incy-hero .hero-actions .action-icon,
.incy-hero .hero-actions .features-icon {
  display: block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

/* The download panel keeps its layout; icons and labels share one optical baseline. */
.cta-actions .button {
  min-height: 54px;
  padding: 0 25px;
  gap: 11px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
.cta-actions .button-label { display: block; white-space: nowrap; }
.cta-actions .cta-icon { display: block; width: 20px; height: 20px; flex: 0 0 20px; }
.cta-actions .cta-windows { fill: currentColor; width: 18px; height: 18px; flex-basis: 18px; }
.cta-actions .button-primary {
  background: linear-gradient(120deg, #cdb4ff, #ae88f0);
  border-color: transparent;
  box-shadow: 0 7px 24px #9869d923;
}
.cta-actions .button-ghost { color: #e8e1f1; border-color: #c1a8e32b; background: #17141d; box-shadow: none; }
@media (hover: hover) and (pointer: fine) {
  .cta-actions .button:hover { transform: translateY(-2px); }
  .cta-actions .button-primary:hover { filter: brightness(1.06); box-shadow: 0 10px 28px #9869d938; }
  .cta-actions .button-ghost:hover { border-color: #c1a8e36b; background: #211b2b; }
}
.cta-actions .button:active { transform: translateY(1px) scale(.98); filter: brightness(.97); }
.cta-actions .button:focus-visible { outline: 2px solid #d0b3ff; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .incy-hero .hero-actions .button-primary,
  .incy-hero .hero-actions .button-secondary,
  .incy-hero .hero-actions .button-ghost { transition: none; }
  .cta-actions .button { transition: none; }
  .cta-actions .button:hover, .cta-actions .button:active { transform: none; }
}
