/* index.css - rules used only by index.html. Loads after main.css. */

.atf-block.homepage {
  margin-top: 164px;
  margin-bottom: 164px;
}

@media screen and (max-width: 479px) {
  .atf-block.homepage {
    margin-top: 64vw;
    margin-bottom: 0;
  }
}

/* ======================================================================
   vendor: Splide 3.2.2 core (self-hosted, was a jsDelivr request)
   ====================================================================== */
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}.splide--rtl{direction:rtl}.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide__progress__bar{width:0}.splide{outline:none;position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}.splide__slide img{vertical-align:bottom}.splide__slider{position:relative}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid var(--color-gray-dim);border-left-color:transparent;border-radius:50%;bottom:0;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__track{overflow:hidden;position:relative;z-index:0}

/* ----------------------------------------------------------------------
   Splide overrides (were an inline <style> block on 5 pages)
   ---------------------------------------------------------------------- */
/* Overide default styles so all slides are visible */
.splide__track {
  overflow: visible;
}
/* Change button style when disabled */
.splide button:disabled {
	opacity: 0.4;
}



/* ===== Home hero: astronaut composition ===== */
.hero-composition {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  aspect-ratio: 1261 / 1111;
  pointer-events: none;
}

.comp-piece {
  position: absolute;
  width: 33.31%;
  height: auto;
  display: block;
  opacity: 0;
  will-change: opacity;
  animation-name: comp-piece-fade;
  animation-fill-mode: both;
}

@keyframes comp-piece-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Left column */
.cp-left-circle    { left: 0%;     top: 0.99%;
  animation-delay: 0.10s; animation-duration: 0.9s;  animation-timing-function: ease-out; }
.cp-left-mid-431   { left: 0%;     top: 38.79%;
  animation-delay: 1.20s; animation-duration: 0.7s;  animation-timing-function: ease-in; }
.cp-left-mid-564   { left: 0%;     top: 50.77%;
  animation-delay: 0.80s; animation-duration: 0.9s;  animation-timing-function: cubic-bezier(0.5, 0, 0.75, 0); }
.cp-left-789       { left: 0.16%;  top: 71.02%;
  animation-delay: 1.60s; animation-duration: 0.5s;  animation-timing-function: linear; }
.cp-left-901       { left: 0.08%;  top: 81.10%;
  animation-delay: 1.00s; animation-duration: 1.2s;  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }

/* Middle column */
.cp-mid-astronaut  { left: 33.30%; top: 15.74%;
  animation-delay: 0s;    animation-duration: 1.3s;  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); }
.cp-mid-circle     { left: 33.30%; top: 62.19%;
  animation-delay: 0.40s; animation-duration: 1.1s;  animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }

/* Right column */
.cp-right-top      { left: 66.61%; top: 0%;
  animation-delay: 0.60s; animation-duration: 0.5s;  animation-timing-function: ease-in; }
.cp-right-62       { left: 66.61%; top: 5.57%;
  animation-delay: 0.30s; animation-duration: 0.7s;  animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); }
.cp-right-174      { left: 66.61%; top: 15.65%;
  animation-delay: 0.90s; animation-duration: 0.6s;  animation-timing-function: ease-out; }
.cp-right-553      { left: 66.69%; top: 49.77%;
  animation-delay: 1.10s; animation-duration: 0.8s;  animation-timing-function: linear; }
.cp-right-615      { left: 66.69%; top: 55.36%;
  animation-delay: 0.70s; animation-duration: 0.5s;  animation-timing-function: ease-in-out; }
.cp-right-677      { left: 66.69%; top: 60.93%;
  animation-delay: 1.40s; animation-duration: 0.6s;  animation-timing-function: ease-out; }
.cp-right-789      { left: 66.69%; top: 71.01%;
  animation-delay: 0.50s; animation-duration: 1.0s;  animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1); }

@media (prefers-reduced-motion: reduce) {
  .comp-piece { animation: none; opacity: 1; }
}

/* ---- home service slider (SELL/BUILD/OPERATE/RETHINK) ------------------
   short copy: cards size to content; the whole card is the link */
.slider1 .splide__list {
  gap: 0; /* Splide's own gap option spaces the slides; a CSS gap doubles it */
}

.slider1 .splide__slide {
  height: auto;
}

.slider1 .service-card-swiper.light {
  position: relative;
  height: 100%;
  min-height: 280px;
  margin-right: 0;
}

.slider1 .service-card-swiper .heading-5 {
  color: inherit;
  text-decoration: none;
}

.slider1 .service-card-swiper .heading-5::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}

.slider1 .service-card-swiper:hover .heading-5 {
  color: var(--color-blue);
}

.slider1 .service-card-swiper .heading-5:focus-visible {
  outline: none;
}

.slider1 .service-card-swiper:has(.heading-5:focus-visible) {
  outline: 2px solid var(--color-green);
  outline-offset: 2px;
}

@media screen and (max-width: 767px) {
  .slider1 .service-card-swiper.light {
    min-height: 220px;
  }
}