/**
 * @file
 * Custom cursor visuals — landing_page only, Forttech accents (sage / warm bronze).
 */

@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.node-type-landing-page.landing-cursor--active .landing-cursor {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 2147483000;
    width: 0;
    height: 0;
    pointer-events: none;
    overflow: visible;
    mix-blend-mode: normal;
  }

  body.node-type-landing-page.landing-cursor--active .landing-cursor.is-hidden {
    opacity: 0;
  }

  body.node-type-landing-page.landing-cursor--active .landing-cursor__ring {
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    border: 1.25px solid rgba(255, 255, 255, 0.75);
    border-radius: 50%;
    background: transparent;
    box-sizing: border-box;
    transition:
      width 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      height 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      margin 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      border-color 0.2s ease,
      opacity 0.2s ease,
      transform 0.2s ease;
    will-change: transform;
  }

  body.node-type-landing-page.landing-cursor--active .landing-cursor.is-hover .landing-cursor__ring {
    width: 48px;
    height: 48px;
    margin: -24px 0 0 -24px;
    border-color: rgba(255, 255, 255, 0.95);
    background: rgba(255, 255, 255, 0.08);
    transform: scale(1.03);
  }

  body.node-type-landing-page.landing-cursor--active .landing-cursor__dot {
    position: absolute;
    left: 0;
    top: 0;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
    transition:
      transform 0.15s ease,
      background 0.25s ease,
      opacity 0.15s ease;
    will-change: transform;
  }

  body.node-type-landing-page.landing-cursor--active .landing-cursor.is-hover .landing-cursor__dot {
    background: rgba(255, 255, 255, 1);
    transform: scale(1.15);
  }

  body.node-type-landing-page.landing-cursor--active,
  body.node-type-landing-page.landing-cursor--active #page-wrapper,
  body.node-type-landing-page.landing-cursor--active #page-wrapper * {
    cursor: none !important;
  }

  /* Keep I-beam in form fields for usability on the landing contact block. */
  body.node-type-landing-page.landing-cursor--active textarea,
  body.node-type-landing-page.landing-cursor--active
    input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='submit']):not([type='button']):not([type='reset']):not([type='range']):not([type='file']) {
    cursor: text !important;
  }
}
