/* HOMEPAGE ONLY. Elementor: add these classes to the existing widgets.
   Keep the existing layout, font settings, navigation and arch image.
   Background photo is assigned in Elementor > Style > Background. */
@property --mouse-x { syntax: '<length-percentage>'; inherits: false; initial-value: 0px; }
@property --mouse-y { syntax: '<length-percentage>'; inherits: false; initial-value: 0px; }
@property --spotlight-opacity { syntax: '<number>'; inherits: false; initial-value: 0.85; }
.las26-site .las26-landscape-hero {
  --mouse-x: 50%; --mouse-y: 50%; --spotlight-opacity: .85;
  position: relative; overflow: hidden; isolation: isolate;
  background-size: cover; background-position: center; background-repeat: no-repeat;
  transition: --mouse-x .1s ease-out, --mouse-y .1s ease-out, --spotlight-opacity .25s ease;
}
/* 380px diameter spotlight. The first gradient retains shading behind copy.
   Both overlays are pointer-transparent; existing links remain interactive. */
.las26-site .las26-landscape-hero::after {
  content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    linear-gradient(90deg,rgba(10,25,47,.66) 0%,rgba(10,25,47,.66) 47%,rgba(10,25,47,0) 76%),
    linear-gradient(0deg,rgba(10,25,47,.7) 0%,rgba(10,25,47,0) 28%),
    radial-gradient(circle 190px at var(--mouse-x) var(--mouse-y),
      rgba(10,25,47,var(--spotlight-opacity)) 0%,rgba(10,25,47,.85) 100%);
}
.las26-site .las26-landscape-hero > .e-con-inner,
.las26-site .las26-landscape-hero > .las26-hero-content { position: relative; z-index: 1; }
.las26-site .las26-landscape-hero.is-spotlit { --spotlight-opacity: .15; }
.las26-site .las26-landscape-hero .las26-hero-headline .elementor-heading-title { color: #fff; }
.las26-site .las26-landscape-hero .las26-hero-summary { color: #f8f9fa; }
.las26-site .las26-landscape-hero .las26-hero-subline .elementor-heading-title,
.las26-site .las26-landscape-hero .las26-hero-kicker .elementor-heading-title { color: #e5c765; }
.las26-site .las26-landscape-hero .las26-hero-caption { color: #f8f9fa; }
.las26-site .las26-landscape-hero .las26-divider { --divider-color: #ffffff45; }

@keyframes las26-hero-down { from { opacity:0; transform:translateY(-15px); } to { opacity:1; transform:translateY(0); } }
@keyframes las26-hero-up { from { opacity:0; transform:translateY(25px); } to { opacity:1; transform:translateY(0); } }
@keyframes las26-hero-button { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }
@keyframes las26-hero-arch { from { opacity:0; transform:scale(.98); } to { opacity:1; transform:scale(1); } }
@media (prefers-reduced-motion:no-preference) {
  .las26-site .las26-landscape-hero :is(.las26-hero-subline,.las26-hero-headline,.las26-hero-summary,.las26-hero-action,.las26-hero-arch) {
    opacity:0; animation-duration:.95s; animation-timing-function:cubic-bezier(.16,1,.3,1); animation-fill-mode:forwards;
  }
  .las26-site .las26-landscape-hero .las26-hero-subline { animation-name:las26-hero-down; animation-delay:.1s; }
  .las26-site .las26-landscape-hero .las26-hero-headline { animation-name:las26-hero-up; animation-delay:.3s; }
  .las26-site .las26-landscape-hero .las26-hero-summary { animation-name:las26-hero-up; animation-delay:.5s; }
  .las26-site .las26-landscape-hero .las26-hero-action { animation-name:las26-hero-button; animation-delay:.7s; }
  .las26-site .las26-landscape-hero .las26-hero-arch { animation-name:las26-hero-arch; animation-delay:.9s; }
}
/* Touch and reduced-motion users retain the static navy overlay. */
@media (prefers-reduced-motion:reduce), (hover:none), (pointer:coarse) {
  .las26-site .las26-landscape-hero { --spotlight-opacity:.85!important; transition:none; }
}

/* Original purpose-card loop inspired by the supplied reference.
   Without JS / with reduced motion, all four cards remain horizontally readable. */
.las26-site .las26-purpose-loop { overflow-x:auto; width:100%; padding-block:10px 20px; }
.las26-site .las26-purpose-track { display:flex; flex-flow:row nowrap; width:max-content; gap:0; }
.las26-site .las26-purpose-group { display:flex; flex-flow:row nowrap; width:max-content; gap:20px; padding-right:20px; flex:0 0 auto; }
.las26-site .las26-purpose-card { width:280px; min-height:225px; flex:0 0 280px; padding:28px; border:1px solid #ccd5de; background:#fff; }
.las26-site .las26-purpose-card h3 { text-wrap:balance; }
.las26-site .las26-purpose-toggle .elementor-button { min-height:44px; }
@keyframes las26-purpose-drift { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:no-preference) {
  .las26-site .las26-purpose-loop.is-loop-ready { overflow-x:hidden; }
  .las26-site .las26-purpose-loop.is-loop-ready .las26-purpose-track { animation:las26-purpose-drift 32s linear infinite; }
  .las26-site .las26-purpose-loop:is(:hover,:focus-within,.is-paused,.is-offscreen) .las26-purpose-track { animation-play-state:paused; }
}
@media (prefers-reduced-motion:reduce) {
  .las26-site .las26-purpose-toggle { display:none; }
}
