/* =========================================================
   TRAINING FACILITIES PAGE — styles + animations
   Extends style.css design tokens
   ========================================================= */

/* =========================================================
   SCROLL-REVEAL ANIMATION SYSTEM (defined first so more
   specific component states like :hover, defined below,
   correctly win the cascade once revealed)
   ========================================================= */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition: opacity 700ms cubic-bezier(.2,.7,.2,1), transform 700ms cubic-bezier(.2,.7,.2,1);
}
.reveal.in-view{
  opacity:1;
  transform:translateY(0);
}
.aircraft-list .aircraft-card:nth-child(2){ transition-delay:120ms; }
.aircraft-list .aircraft-card:nth-child(3){ transition-delay:240ms; }

@media (prefers-reduced-motion: reduce){
  .reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* =========================================================
   HERO — full-bleed image with slow ambient zoom
   ========================================================= */
.facilities-hero{
  position:relative;
  height:64vh;
  min-height:420px;
  max-height:720px;
  overflow:hidden;
  background:var(--navy);
}
.facilities-hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  animation: heroZoom 22s ease-in-out infinite alternate;
}
@keyframes heroZoom{
  from{ transform:scale(1); }
  to{ transform:scale(1.06); }
}
.facilities-hero-scrim{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(11,31,58,0.72) 0%, rgba(11,31,58,0.35) 45%, rgba(11,31,58,0.82) 100%);
}
.facilities-hero-content{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 24px;
  animation: heroContentIn 900ms cubic-bezier(.2,.7,.2,1) both;
}
@keyframes heroContentIn{
  from{ opacity:0; transform:translateY(18px); }
  to{ opacity:1; transform:translateY(0); }
}
.eyebrow-line-light{ margin-bottom:20px; }
.rule-light{ background:rgba(255,255,255,0.8) !important; }
.eyebrow-light{ color:#fff !important; }
.facilities-hero-heading{
  font-size:38px;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#fff;
  margin:0 0 16px;
}
.facilities-hero-body{
  font-size:17px;
  line-height:1.7;
  color:rgba(255,255,255,0.85);
  max-width:520px;
  margin:0;
}

@media (min-width:768px){
  .facilities-hero-heading{ font-size:56px; }
  .facilities-hero-body{ font-size:19px; }
}

@media (prefers-reduced-motion: reduce){
  .facilities-hero-img{ animation:none; }
  .facilities-hero-content{ animation:none; opacity:1; transform:none; }
}

/* =========================================================
   AIRCRAFT INTRO
   ========================================================= */
.aircraft-intro{
  padding:64px 0 24px;
  background:var(--white);
  text-align:center;
}
.aircraft-intro-inner{ max-width:640px; margin:0 auto; }
.aircraft-intro-heading{
  font-size:30px;
  font-weight:800;
  letter-spacing:-0.01em;
  color:var(--navy);
  margin:0 0 16px;
}
.aircraft-intro-body{
  font-size:17px;
  line-height:1.7;
  color:var(--muted);
  margin:0;
}

@media (min-width:768px){
  .aircraft-intro{ padding:96px 0 32px; }
  .aircraft-intro-heading{ font-size:36px; }
}

/* =========================================================
   AIRCRAFT CARDS
   ========================================================= */
.aircraft-section{
  padding:32px 0 80px;
  background:var(--white);
}
.aircraft-list{
  display:flex;
  flex-direction:column;
  gap:32px;
}
.aircraft-card{
  display:grid;
  grid-template-columns:1fr;
  background:var(--surface);
  border-radius:var(--radius-card);
  overflow:hidden;
  box-shadow:0 20px 45px -26px rgba(11,31,58,0.3);
  transition: transform 420ms cubic-bezier(.2,.8,.2,1), box-shadow 420ms ease;
}
.aircraft-card:hover{
  transform:translateY(-8px);
  box-shadow:0 32px 60px -28px rgba(11,31,58,0.4);
}
.aircraft-media{
  overflow:hidden;
}
.aircraft-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  aspect-ratio:4/3;
  transition:transform 600ms cubic-bezier(.2,.8,.2,1);
}
.aircraft-card:hover .aircraft-media img{ transform:scale(1.05); }
.aircraft-content{
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.aircraft-tail{
  display:inline-block;
  align-self:flex-start;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.1em;
  color:var(--primary);
  background:var(--sky);
  padding:5px 12px;
  border-radius:999px;
  margin-bottom:14px;
}
.aircraft-name{
  font-size:23px;
  font-weight:800;
  color:var(--navy);
  margin:0 0 14px;
  letter-spacing:-0.01em;
}
.aircraft-desc{
  font-size:16px;
  line-height:1.75;
  color:var(--muted);
  margin:0 0 22px;
}
.aircraft-tags{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.aircraft-tags li{
  font-size:12.5px;
  font-weight:700;
  color:var(--primary);
  background:#fff;
  border:1px solid var(--border);
  padding:6px 12px;
  border-radius:999px;
  transition: background-color 250ms ease, border-color 250ms ease, transform 250ms ease;
}
.aircraft-card:hover .aircraft-tags li{
  border-color:var(--primary);
}

@media (min-width:768px){
  .aircraft-section{ padding:32px 0 96px; }
}

@media (min-width:900px){
  .aircraft-card{ grid-template-columns:1fr 1fr; }
  .aircraft-card:nth-child(even){ direction:rtl; }
  .aircraft-card:nth-child(even) .aircraft-content{ direction:ltr; }
  .aircraft-content{ padding:48px; }
}

@media (prefers-reduced-motion: reduce){
  .aircraft-card:hover{ transform:none; }
  .aircraft-card:hover .aircraft-media img{ transform:none; }
}
