/* ============================================================
   AX Gen 2 — bespoke premium LANDING template (experiences,
   destinations, and future pages). Loads on top of ax-home.css
   (reuses .nav, .hero, .btn, .reveal). Editorial luxury.
   ============================================================ */

/* smooth in-page jumps to the section anchors, clearing the fixed header */
html{scroll-behavior:smooth;}
#regions,#experiences{scroll-margin-top:104px;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* full-screen hero, matching the home */
.hero.hero-land{min-height:100dvh;align-items:center;}
.hero.hero-land .wrap{width:100%;padding-top:clamp(74px,9vh,110px);padding-bottom:clamp(40px,7vh,90px);}

/* intro line above the grid */
.land-intro{max-width:720px;margin:0 auto clamp(34px,5vw,58px);text-align:center;}
.land-intro .accent{font-family:var(--display);font-style:italic;color:var(--green-d);font-size:26px;line-height:1.4;}
.land-intro p{margin-top:12px;color:var(--muted);font-size:1.08rem;line-height:1.7;}

/* premium card grid */
.land-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.land-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.land-grid.cols-4{grid-template-columns:repeat(4,1fr);}
/* regions — editorial bento: a tall feature card + a balanced 2x2 of the rest.
   No more landscape cards with the caption swallowing the image. */
.land-grid.regions{grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:18px;}
.land-grid.regions .land-card{aspect-ratio:auto;min-height:248px;}
@media(min-width:901px){
  .land-grid.regions .land-card:first-child{grid-column:span 2;grid-row:span 2;}
}
@media(max-width:900px){
  .land-grid.regions{grid-template-columns:repeat(2,1fr);}
  .land-grid.regions .land-card{min-height:210px;}
}
@media(max-width:560px){
  .land-grid.regions{grid-template-columns:1fr;}
  .land-grid.regions .land-card{min-height:200px;}
}
@media(min-width:901px){
  .land-grid.regions .land-card:first-child .cap h3{font-size:1.55rem;}
  .land-grid.regions .land-card:first-child .cap p{opacity:1;max-height:120px;transform:none;margin-top:8px;}
}
.land-sub{text-align:center;font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--blue);margin:clamp(48px,7vw,80px) 0 26px;}
@media(min-width:1001px){.land-grid.cols-4 .land-card{aspect-ratio:3/4;}}
@media(max-width:1000px){.land-grid.cols-4{grid-template-columns:repeat(2,1fr);}}
.land-card{position:relative;display:block;aspect-ratio:4/5;border-radius:18px;overflow:hidden;isolation:isolate;
  box-shadow:0 26px 56px -28px rgba(20,45,30,.55);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s;}
.land-card:hover{transform:translateY(-6px);box-shadow:0 40px 80px -30px rgba(20,45,30,.6);}
.land-card .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.16,1,.3,1);z-index:0;}
.land-card:hover .img{transform:scale(1.07);}
/* Lighter scrim (client request 2026-06-29): William felt the old gradient made photos
   look darker than the originals. Keep only a soft foot of shade behind the text. */
.land-card::after{content:"";position:absolute;inset:0;z-index:1;
  background:none;
  transition:background .45s ease;}
.land-card:hover::after{background:none;}
/* Client request 2026-06-29: drop the frosted glass box on ALL viewports — title + EXPLORE
   sit straight on the bottom scrim so more of the image shows. Description reveals on hover (desktop). */
.land-card .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;color:#fff;
  padding:0 15px 15px;
  background:none;border:none;border-radius:0;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  transition:transform .45s cubic-bezier(.16,1,.3,1);}
.land-card:hover .cap{transform:translateY(-3px);}
.land-card .cap .eyebrow{color:#e9f7ee;font-size:9px;letter-spacing:.2em;margin-bottom:4px;display:block;font-weight:700;text-shadow:0 1px 8px rgba(0,0,0,.7);}
.land-card .cap h3{font-family:var(--head);font-weight:600;font-size:clamp(.95rem,2.6vw,1.12rem);line-height:1.18;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.8),0 2px 5px rgba(0,0,0,.55);}
.land-card .cap p{margin-top:0;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.95);text-shadow:0 1px 8px rgba(0,0,0,.7);
  opacity:0;max-height:0;transform:translateY(4px);overflow:hidden;transition:opacity .4s ease,max-height .5s ease,transform .45s ease,margin-top .4s ease;}
.land-card:hover .cap p{opacity:1;max-height:120px;transform:none;margin-top:8px;}
.land-card .cap .go{margin-top:8px;display:inline-flex;align-items:center;gap:7px;font-family:var(--head);font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7);}
.land-card .cap .go::after{content:"\2192";transition:transform .3s ease;}
.land-card:hover .cap .go::after{transform:translateX(5px);}

/* feature card (first one can span 2 cols on wide grids) */
.land-grid .land-card.feature{aspect-ratio:auto;}
@media(min-width:900px){.land-grid.cols-3 .land-card.feature{grid-column:span 2;grid-row:span 2;}}

/* a calm band variant between sections */
.land-quote{background:var(--surface);text-align:center;padding:clamp(34px,4.5vw,56px) 0;}
/* R2-7: keep the quote on a single line on desktop + a tighter band; wrap gracefully on mobile */
.land-quote p{font-family:var(--display);font-style:italic;color:var(--green-d);font-size:clamp(1.1rem,1.9vw,1.55rem);max-width:none;margin:0 auto;line-height:1.4;white-space:nowrap;}
@media(max-width:780px){.land-quote p{white-space:normal;font-size:1.18rem;max-width:30ch;}}

@media(max-width:900px){
  .land-grid.cols-3{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .land-grid,.land-grid.cols-3{grid-template-columns:1fr;}
}

/* card reveal stagger (cascade in as a row enters) */
.land-grid .land-card.reveal:nth-child(2){transition-delay:.06s;}
.land-grid .land-card.reveal:nth-child(3){transition-delay:.12s;}
.land-grid .land-card.reveal:nth-child(4){transition-delay:.18s;}
.land-grid .land-card.reveal:nth-child(5){transition-delay:.24s;}
.land-grid .land-card.reveal:nth-child(6){transition-delay:.30s;}
.land-grid .land-card.reveal:nth-child(7){transition-delay:.36s;}
.land-grid .land-card.reveal:nth-child(8){transition-delay:.42s;}

/* (Mobile caption legibility now handled by the base .land-card .cap scrim rules above,
   which apply on all viewports — client request 2026-06-29.) */

/* ---- Region-page tour cards + jump nav (Asia modernisation prototype, 2026-06-29) ---- */
.jump-nav{margin-top:16px;font-family:var(--head);font-size:13px;letter-spacing:.02em;}
.jump-nav a{color:var(--green-d,#2f6b41);font-weight:600;text-decoration:none;padding:0 2px;transition:color .2s;}
.jump-nav a:hover{color:var(--blue,#49828f);}
.jump-nav span{color:var(--muted,#8a8f88);margin:0 7px;}

.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:clamp(20px,2.6vw,32px);}
@media(max-width:900px){.tour-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(max-width:560px){.tour-grid{grid-template-columns:1fr;}}

.tour-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border,#e7e3da);border-radius:16px;overflow:hidden;
  box-shadow:0 20px 46px -28px rgba(20,45,30,.45);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;text-decoration:none;}
.tour-card:hover{transform:translateY(-5px);box-shadow:0 36px 70px -30px rgba(20,45,30,.55);}
.tour-card .tc-img{position:relative;display:block;aspect-ratio:3/2;background-size:cover;background-position:center;overflow:hidden;}
.tour-card .tc-price{position:absolute;right:0;bottom:0;background:var(--green-d,#2f6b41);color:#fff;font-family:var(--head);font-weight:700;
  font-size:12.5px;letter-spacing:.02em;padding:7px 12px;border-top-left-radius:12px;}
.tour-card .tc-body{display:flex;flex-direction:column;gap:6px;padding:16px 17px 18px;}
.tour-card .tc-name{font-family:var(--head);font-weight:600;font-size:1.02rem;line-height:1.24;color:var(--title,#15301f);}
.tour-card .tc-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.11em;font-size:10.5px;color:var(--blue,#49828f);}
.tour-card .tc-go{margin-top:6px;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:11px;
  color:var(--green-d,#2f6b41);display:inline-flex;align-items:center;gap:6px;}
.tour-card .tc-go::after{content:"\2192";transition:transform .3s ease;}
.tour-card:hover .tc-go::after{transform:translateX(5px);}

/* anchor offset for region-page country jumps */
.ed-head[id]{scroll-margin-top:96px;}

/* ============================================================
   Region destination feature bands (Asia redesign, 2026-06-29)
   Alternating editorial image/text rows with elegant trip rows.
   ============================================================ */
.dest{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(26px,4.2vw,72px);align-items:center;scroll-margin-top:96px;}
.dest + .dest{margin-top:clamp(60px,8.5vw,128px);}
.dest-media{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 44px 84px -44px rgba(20,45,30,.55);isolation:isolate;}
.dest-media .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.16,1,.3,1);}
.dest:hover .dest-media .img{transform:scale(1.05);}
.dest-media::after{content:"";position:absolute;inset:0;background:none;}
.dest.flip .dest-media{order:2;}
.dest-body{padding:clamp(4px,1vw,18px) 0;}
.dest-body .place{font-family:var(--display);font-weight:400;color:var(--green-d);font-size:clamp(2.1rem,4.2vw,3.2rem);line-height:1.03;margin:0;}
.dest-body .blurb{color:var(--muted);font-size:1.05rem;line-height:1.72;margin:16px 0 0;max-width:48ch;}
.dest-trips{margin-top:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:12px;}
.trips-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:10.5px;color:var(--blue);margin:0 0 4px;}

.trip{display:grid;grid-template-columns:88px 1fr auto;gap:16px;align-items:center;
  padding:9px 16px 9px 9px;border:1px solid var(--border);border-radius:14px;background:#fff;text-decoration:none;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease;}
.trip:hover{transform:translateX(5px);box-shadow:0 22px 44px -30px rgba(20,45,30,.55);border-color:rgba(20,45,30,.18);}
.trip .t-img{width:88px;height:66px;border-radius:10px;background-size:cover;background-position:center;}
.trip .t-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.trip .t-name{font-family:var(--head);font-weight:600;font-size:.99rem;color:var(--title);line-height:1.22;}
.trip .t-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--blue);}
.trip .t-price{text-align:right;font-family:var(--head);font-weight:700;color:var(--green-d);font-size:.98rem;white-space:nowrap;line-height:1.1;}
.trip .t-price small{display:block;font-family:var(--mono);font-weight:400;font-size:9px;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;margin-bottom:2px;}
.trip .t-go{display:none;}
@media(min-width:560px){
  .trip{grid-template-columns:88px 1fr auto;}
}
@media(max-width:820px){
  .dest{grid-template-columns:1fr;gap:20px;}
  .dest.flip .dest-media{order:0;}
  .dest-media{aspect-ratio:16/10;}
  .dest-body .blurb{max-width:none;}
}

/* "view all trips" link under capped trip lists (region rollout, 2026-06-29) */
.trip-all{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-family:var(--head);font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--blue);text-decoration:none;transition:color .25s;}
.trip-all:hover{color:var(--green-d);}
.trip-all::after{content:"\2192";transition:transform .3s ease;}
.trip-all:hover::after{transform:translateX(4px);}
