/* Shared raised CTA finish. Loaded after page styles; geometry stays with each page.
   Primary and ghost actions share the same bevel, depth and interaction. */
:root body :is(.button, .cta-button, .demo-form__primary, .demo-form__secondary, .contact-form-section__submit, .resource-card__download, .floating-contact__toggle, .floating-contact__fallback):not([hidden]) {
  background-color: var(--button-surface, var(--brand, #19c8ff));
  background-image: linear-gradient(105deg, transparent 43%, var(--button-sheen-soft, rgb(255 255 255 / 48%)) 49%, var(--button-sheen-peak, rgb(255 255 255 / 65%)) 50%, transparent 57%), linear-gradient(180deg, rgb(255 255 255 / 14%), transparent 55%, rgb(0 0 0 / 6%));
  background-size: 250% 100%, 100% 100%;
  background-position: 100% 0, 0 0;
  background-repeat: no-repeat;
  border-color: var(--button-border, var(--brand, #19c8ff));
  color: var(--button-ink, #031019);
  box-shadow: inset 0 1px 0 var(--button-top-light, rgba(255, 255, 255, 0.42)), 0 3px 0 var(--button-edge, #087e9e), 0 7px 14px -6px rgb(0 0 0 / 60%);
  transform: none;
  transition: transform 300ms var(--ease, ease-out), box-shadow 300ms ease, background-color 300ms ease, border-color 300ms ease, color 300ms ease, opacity 220ms ease, background-position 600ms ease;
}
:root body :is(.button-ghost, .cta-button--secondary, .demo-form__secondary, .resource-card__download, .button.secondary, .floating-contact__toggle, .floating-contact__fallback):not([hidden]) {
  --button-surface: #13263a;
  --button-hover: #1b334b;
  --button-border: #4c5a69;
  --button-ink: #f8fbff;
  --button-edge: var(--button-border);
  --button-top-light: rgba(255, 255, 255, 0.32);
  --button-sheen-soft: rgb(255 255 255 / 18%);
  --button-sheen-peak: rgb(255 255 255 / 30%);
}
@media (hover: hover) and (pointer: fine) {
  :root body :is(.button, .cta-button, .demo-form__primary, .demo-form__secondary, .contact-form-section__submit, .resource-card__download, .floating-contact__toggle, .floating-contact__fallback):not([hidden]):hover:where(:not(:disabled):not([aria-disabled="true"])) {
    background-color: var(--button-hover, #8ae9ff);
    background-position: -100% 0, 0 0;
    box-shadow: inset 0 1px 0 var(--button-top-light, rgba(255, 255, 255, 0.42)), 0 5px 0 var(--button-edge, #087e9e), 0 12px 20px -6px rgb(0 0 0 / 65%);
    transform: translateY(-3px);
  }
}
:root body :is(.button, .cta-button, .demo-form__primary, .demo-form__secondary, .contact-form-section__submit, .resource-card__download, .floating-contact__toggle, .floating-contact__fallback):not([hidden]):active:where(:not(:disabled):not([aria-disabled="true"])) {
  box-shadow: inset 0 1px 0 var(--button-top-light, rgba(255, 255, 255, 0.42)), 0 1px 0 var(--button-edge, #087e9e), 0 3px 7px -4px rgb(0 0 0 / 60%);
  transform: translateY(2px);
}
:root body :is(.button, .cta-button, .demo-form__primary, .demo-form__secondary, .contact-form-section__submit, .resource-card__download, .floating-contact__toggle, .floating-contact__fallback):not([hidden]):is(:disabled, [aria-disabled="true"]) {
  box-shadow: inset 0 1px 0 var(--button-top-light, rgba(255, 255, 255, 0.42));
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  :root body :is(.button, .cta-button, .demo-form__primary, .demo-form__secondary, .contact-form-section__submit, .resource-card__download, .floating-contact__toggle, .floating-contact__fallback):not([hidden]),
  :root body :is(.button, .cta-button, .demo-form__primary, .demo-form__secondary, .contact-form-section__submit, .resource-card__download, .floating-contact__toggle, .floating-contact__fallback):not([hidden]):is(:hover, :active) {
    background-image: linear-gradient(180deg, rgb(255 255 255 / 14%), transparent 55%, rgb(0 0 0 / 6%));
    background-size: 100% 100%;
    transform: none;
    transition: none;
  }
}
