/* Airport route guide polish — 2026-09-16
   Keeps the route-specific content while matching the approved Areas page
   hero photography, card proportions and calmer editorial spacing. */

body.airport-route-page{
  --airport-route-card-line:#e2d8ce;
  --airport-route-soft-shadow:0 12px 32px rgba(38,28,20,.06);
}

/* Hero: mirror the approved Areas image card exactly enough that the pages
   read as one visual family, while keeping airport-specific copy. */
.airport-route-page .airport-route-hero{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:clamp(42px,5.6vw,86px);
  align-items:center;
  padding-top:70px;
  padding-bottom:66px;
}

.airport-route-page .airport-route-hero > div{
  max-width:800px;
}

.airport-route-page .airport-route-hero h1{
  max-width:780px;
  text-wrap:balance;
}

.airport-route-page .airport-route-hero .seo-lead{
  max-width:690px;
  text-wrap:pretty;
}

.airport-route-page .airport-route-hero .seo-photo{
  width:min(100%,500px);
  height:auto;
  aspect-ratio:auto;
  justify-self:end;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(20,20,20,.08);
  background:#0d0d0d;
  box-shadow:0 34px 78px rgba(38,28,20,.16),0 8px 22px rgba(38,28,20,.08);
  isolation:isolate;
  contain:layout paint;
  /* <figure> has 40px inline margins in the browser default stylesheet.
     Reset them so the airport image card aligns with the hero copy/buttons
     instead of being pushed right and clipped on narrow screens. */
  margin:0;
  max-width:100%;
}

.airport-route-page .airport-route-hero .seo-photo picture{
  position:relative;
  display:block;
  width:100%;
  height:288px;
  flex:none;
  overflow:hidden;
}

.airport-route-page .airport-route-hero .seo-photo::before{
  content:"";
  position:absolute;
  inset:10px 10px auto 10px;
  width:auto;
  height:268px;
  aspect-ratio:auto;
  border:1px solid rgba(255,255,255,.45);
  border-radius:21px;
  pointer-events:none;
  z-index:3;
}

.airport-route-page .airport-route-hero .seo-photo::after{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  width:100%;
  height:288px;
  aspect-ratio:auto;
  background:linear-gradient(180deg,rgba(0,0,0,0) 48%,rgba(0,0,0,.17) 76%,rgba(0,0,0,.42) 100%);
  pointer-events:none;
  z-index:2;
}

.airport-route-page .airport-route-hero .seo-photo img{
  position:relative;
  z-index:0;
  width:100%;
  height:288px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 50%;
  display:block;
  filter:saturate(.9) contrast(1.035);
  transform:scale(1.002);
}

.airport-route-page .airport-route-hero .seo-photo:hover img{
  transform:scale(1.002);
}

.airport-route-page .airport-route-hero .seo-photo-copy{
  position:relative;
  inset:auto;
  z-index:4;
  min-height:128px;
  padding:24px 27px 27px;
  color:#fff;
  background:linear-gradient(135deg,#101010 0%,#17130f 100%);
}

/* Remove the old orange slab and present the service benefits as three clean,
   independent proof cards like the Areas summary row. */
.airport-route-page .seo-trust{
  max-width:1500px;
  margin:0 auto 16px;
  padding:0 clamp(22px,5vw,78px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  background:transparent!important;
}

.airport-route-page .seo-trust > div{
  min-height:92px;
  padding:22px 24px 22px 28px;
  border:1px solid rgba(255,255,255,.03)!important;
  border-radius:17px;
  background:var(--black)!important;
  box-shadow:0 10px 28px rgba(35,27,20,.08);
}

.airport-route-page .seo-trust > div::before{
  top:18px;
  bottom:18px;
  width:4px;
  background:var(--orange);
}

.airport-route-page .seo-trust strong{
  font-size:14px;
  line-height:1.3;
}

.airport-route-page .seo-trust small{
  margin-top:7px;
  color:#c9c9c9;
  line-height:1.48;
}

/* Tighten section rhythm and make the content cards feel intentional rather
   than like isolated legacy blocks. */
.airport-route-page .seo-section{
  padding-top:78px;
  padding-bottom:78px;
}

.airport-route-page .seo-heading{
  margin-bottom:36px;
}

.airport-route-page .seo-card,
.airport-route-page .fleet-card,
.airport-route-page .faq details,
.airport-route-page .link-cluster > div{
  border-color:var(--airport-route-card-line);
  box-shadow:var(--airport-route-soft-shadow);
}

.airport-route-page .seo-card{
  min-height:200px;
}

.airport-route-page .route-box{
  border:1px solid rgba(255,255,255,.05);
  box-shadow:0 24px 58px rgba(27,21,16,.14);
}

.airport-route-page .route-list div{
  align-items:flex-start;
}

.airport-route-page .official-link{
  display:inline-flex;
  margin-top:18px;
  font-weight:850;
  text-underline-offset:4px;
}

@media(max-width:1100px){
  .airport-route-page .airport-route-hero{
    grid-template-columns:minmax(0,1fr) minmax(320px,.68fr);
    gap:38px;
  }

  .airport-route-page .airport-route-hero .seo-photo{
    width:min(100%,440px);
  }

  .airport-route-page .airport-route-hero .seo-photo picture,
  .airport-route-page .airport-route-hero .seo-photo img,
  .airport-route-page .airport-route-hero .seo-photo::after{
    height:254px;
  }

  .airport-route-page .airport-route-hero .seo-photo::before{
    height:234px;
  }
}

@media(max-width:980px){
  .airport-route-page .airport-route-hero{
    grid-template-columns:1fr;
    gap:38px;
    padding-top:54px;
  }

  .airport-route-page .airport-route-hero .seo-photo{
    width:100%;
    max-width:100%;
    margin:0;
    justify-self:stretch;
  }

  .airport-route-page .airport-route-hero .seo-photo picture,
  .airport-route-page .airport-route-hero .seo-photo img,
  .airport-route-page .airport-route-hero .seo-photo::after{
    height:340px;
  }

  .airport-route-page .airport-route-hero .seo-photo::before{
    height:320px;
  }

  .airport-route-page .seo-trust{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .airport-route-page .airport-route-hero{
    padding:42px max(18px,env(safe-area-inset-right)) 46px max(18px,env(safe-area-inset-left));
    gap:30px;
  }

  .airport-route-page .airport-route-hero h1{
    font-size:clamp(47px,14vw,58px)!important;
    line-height:.9;
  }

  .airport-route-page .airport-route-hero .seo-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    width:100%;
  }

  .airport-route-page .airport-route-hero .seo-btn{
    width:100%;
    min-width:0;
    min-height:50px;
    padding:13px 12px;
    font-size:clamp(12px,3.35vw,14px);
    line-height:1.15;
    white-space:nowrap;
  }

  .airport-route-page .airport-route-hero .seo-photo{
    border-radius:22px;
    box-shadow:0 20px 48px rgba(38,28,20,.14),0 5px 16px rgba(38,28,20,.06);
  }

  .airport-route-page .airport-route-hero .seo-photo picture,
  .airport-route-page .airport-route-hero .seo-photo img,
  .airport-route-page .airport-route-hero .seo-photo::after{
    height:225px;
  }

  .airport-route-page .airport-route-hero .seo-photo::before{
    inset:8px 8px auto 8px;
    height:209px;
    border-radius:15px;
  }

  .airport-route-page .airport-route-hero .seo-photo-copy{
    min-height:auto;
    padding:21px 21px 23px;
  }

  .airport-route-page .airport-route-hero .seo-photo-copy::after{
    left:21px;
  }

  .airport-route-page .airport-route-hero .seo-photo-copy strong{
    font-size:23px;
  }

  .airport-route-page .seo-trust{
    padding-left:max(18px,env(safe-area-inset-left));
    padding-right:max(18px,env(safe-area-inset-right));
    gap:10px;
  }

  .airport-route-page .seo-section{
    padding-top:62px;
    padding-bottom:62px;
  }

  .airport-route-page .route-box{
    padding:27px 21px;
  }
}

@media(max-width:360px){
  .airport-route-page .airport-route-hero .seo-actions{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  .airport-route-page .airport-route-hero .seo-photo img{
    transition:none!important;
  }
}
