/* Keep every live-page hero inside the visible area below the shared header. */
:root{
  --chale-hero-header:90px;
  --chale-hero-viewport:calc(100svh - var(--chale-hero-header));
}

/* Home */
.body>.hero.shared-hero-top{
  display:flex;
  height:var(--chale-hero-viewport);
  min-height:0;
  flex-direction:column;
}
.body>.hero .hero-carousel{min-height:0;flex:1 1 auto}
.body>.hero .hero-carousel__track,
.body>.hero .hero-slide{height:100%}
.body>.hero .hero-slide .hero-inner{
  display:flex;
  height:100%;
  flex-direction:column;
  justify-content:center;
  padding-top:clamp(24px,8svh,86px);
  padding-bottom:clamp(18px,4svh,35px);
}
.body>.hero .hero-stats-container{flex:0 0 auto}

/* Who We Are */
.about-page .about-hero.shared-hero-top{
  height:var(--chale-hero-viewport);
  min-height:0;
  padding-top:0!important;
  align-items:center!important;
  background-size:cover!important;
}
.about-page.is-ready .about-hero.shared-hero-top{background-size:cover!important}
.about-page .about-hero__inner{padding-top:0!important}

/* Australia, Japan and New Zealand */
.destination-australia-page main>.hero.shared-hero-top,
.destination-japan-page main>.hero.shared-hero-top,
.destination-newzealand-page main>.hero.shared-hero-top{
  box-sizing:border-box;
  height:var(--chale-hero-viewport)!important;
  min-height:0!important;
  margin:0!important;
}
.destination-australia-page main>.hero .hero-copy,
.destination-japan-page main>.hero .hero-copy,
.destination-newzealand-page main>.hero .hero-copy{
  padding-top:clamp(30px,7svh,68px);
}
.destination-australia-page main>.hero>.facts,
.destination-japan-page main>.hero>.facts,
.destination-newzealand-page main>.hero>.facts{
  bottom:clamp(20px,6svh,53px);
}

/* Events */
.events-hero.shared-hero-top{
  box-sizing:border-box;
  height:var(--chale-hero-viewport)!important;
  min-height:0!important;
  padding:clamp(30px,6svh,72px) 0!important;
}
.events-hero>.events-shell{height:100%}
.events-hero .events-hero-copy h1{
  margin-bottom:clamp(14px,3svh,32px)!important;
  font-size:clamp(46px,7svh,64px)!important;
}
.events-hero .events-hero-copy>p{margin-bottom:clamp(12px,2.5svh,24px)!important}
.events-hero .events-hero-copy>p:nth-of-type(3){margin-bottom:clamp(18px,4svh,48px)!important}
.events-hero .events-collage{
  top:0!important;
  width:auto!important;
  max-width:49%;
  height:100%!important;
  aspect-ratio:612/815;
}
.events-hero .events-stats>div{
  height:clamp(82px,14svh,113px)!important;
  padding:clamp(10px,1.8svh,16px)!important;
}

/* Contact */
.contact-hero.shared-hero-top{
  box-sizing:border-box;
  height:var(--chale-hero-viewport)!important;
  min-height:0!important;
  padding:clamp(28px,5svh,56px) 59px!important;
  align-items:center;
  overflow:hidden;
}
.contact-hero .contact-hero-title{
  margin-top:0!important;
  font-size:clamp(46px,7svh,64px)!important;
}
.contact-hero .contact-hero-copy>h1+div{margin-top:clamp(14px,3svh,32px)!important}
.contact-hero .contact-hero-copy>h2{margin-top:clamp(14px,3svh,28px)!important;font-size:clamp(30px,4.5svh,40px)!important}
.contact-hero .contact-hero-copy>p{margin-top:clamp(14px,3svh,28px)!important;font-size:clamp(16px,2.4svh,20px)!important}
.contact-hero .contact-hero-copy>p+div{margin-top:clamp(18px,4svh,48px)!important}
.contact-hero .contact-hero-copy>div:last-child{margin-top:clamp(14px,3svh,32px)!important}
.contact-hero .contact-hero-art{
  top:auto!important;
  width:min(100%,612px);
  height:auto!important;
  max-height:100%;
  min-height:0;
  aspect-ratio:612/678;
  align-self:center;
}
.contact-hero .contact-hero-art>img{
  height:auto!important;
  object-fit:contain!important;
  transform-origin:center!important;
}
.contact-hero .contact-hero-art>img:first-child{left:0!important;top:0!important;width:61%!important;aspect-ratio:420/443;transform:scale(1.125)!important}
.contact-hero .contact-hero-art>img:nth-child(2){right:0!important;top:13.27%!important;width:39%!important;aspect-ratio:288/304;transform:scale(1.19)!important}
.contact-hero .contact-hero-art>img:nth-child(3){bottom:0!important;left:5%!important;width:59%!important;aspect-ratio:410/359;transform:scale(1.143)!important}
.contact-hero .contact-hero-art>div{right:0!important;bottom:3%!important;left:auto!important;top:auto!important;width:clamp(72px,14svh,100px)!important;height:clamp(72px,14svh,100px)!important}

/* Georgia already uses a viewport hero; subtract the header reserved above it. */
.georgia-page main>section:first-child{
  height:var(--chale-hero-viewport)!important;
  min-height:0!important;
}

/* Align Georgia hero typography with the Australia destination hero. */
.georgia-page main>section:first-child .geo-display,
.georgia-page main>section:first-child .geo-display.pt-10,
.georgia-page main>section:first-child #geoSeasonTitle,
.georgia-page main>section:first-child #geoSeasonSubtitle{
  font-family:"Cormorant",serif;
  font-weight:500;
  letter-spacing:-.04em;
  text-transform:none;
}

.georgia-page main>section:first-child .geo-display.pt-10{
  font-size:clamp(18px,2vw,28px);
  line-height:1.25;
  font-style:italic;
  color:rgba(255,255,255,.8);
}

.georgia-page main>section:first-child #geoSeasonTitle{
  font-size:clamp(64px,8vw,96px);
  line-height:1.08;
  margin:0;
}

.georgia-page main>section:first-child #geoSeasonSubtitle{
  font-size:clamp(28px,3vw,40px);
  line-height:1.2;
  font-style:italic;
  color:#faa421;
}

.georgia-page main>section:first-child .geo-eyebrow,
.georgia-page main>section:first-child #geoSeasonMeta,
.georgia-page main>section:first-child #geoSeasonCount,
.georgia-page main>section:first-child .geo-season-nav button,
.georgia-page main>section:first-child .geo-season-controls button,
.georgia-page main>section:first-child #geoSeasonName{
  font-family:"DM Sans",sans-serif;
  font-size:11px;
  line-height:1.4;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

@media(max-width:1180px){
  :root{--chale-hero-header:72px}
}

@media(min-width:601px) and (max-width:1023px){
  .contact-hero.shared-hero-top{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)!important;
    gap:clamp(18px,3vw,28px)!important;
    padding:clamp(26px,4svh,36px) clamp(20px,4vw,36px)!important;
    align-items:start!important;
  }
  .contact-hero .contact-hero-copy{order:1!important}
  .contact-hero .contact-hero-art{order:2!important;max-width:360px!important;align-self:start!important;justify-self:end}
  .contact-hero .contact-hero-title{font-size:clamp(40px,6vw,54px)!important}
  .contact-hero .contact-hero-copy>h2{font-size:clamp(26px,4vw,34px)!important}
  .contact-hero .contact-hero-copy>p{font-size:clamp(14px,2vw,17px)!important}
}

/* iPad Pro portrait and comparable large-tablet widths. */
@media(min-width:1024px) and (max-width:1279px){
  .contact-hero.shared-hero-top{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)!important;
    gap:28px!important;
    padding:36px 40px!important;
    align-items:start!important;
    overflow:hidden;
  }
  .contact-hero .contact-hero-art{
    width:100%!important;
    max-width:420px!important;
    align-self:start!important;
    justify-self:end;
  }
}

@media(min-width:1024px) and (max-width:1279px){
  .contact-hero.shared-hero-top{
    height:auto!important;
    min-height:0!important;
    align-items:start!important;
    overflow:visible!important;
  }
}

@media(min-width:1280px){
  .contact-hero.shared-hero-top{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}

@media(min-width:561px) and (max-width:900px){
  .events-hero>.events-shell{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(250px,.95fr);
    align-items:center;
    gap:26px;
  }
  .events-hero .events-hero-copy{max-width:none!important}
  .events-hero .events-hero-copy>p:nth-of-type(3){display:none}
  .events-hero .events-collage{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none;
    height:min(72svh,560px)!important;
    margin:0!important;
  }
  .events-hero .events-stats{gap:9px!important}
  .events-hero .events-stats>div{min-height:72px!important}
}

@media(max-width:1024px){
  .destination-australia-page main>.hero.shared-hero-top,
  .destination-japan-page main>.hero.shared-hero-top,
  .destination-newzealand-page main>.hero.shared-hero-top{
    display:flex!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(18px,4svh,34px) 0!important;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
  }
  .destination-australia-page main>.hero .hero-copy,
  .destination-japan-page main>.hero .hero-copy,
  .destination-newzealand-page main>.hero .hero-copy{
    padding-top:0!important;
  }
  .destination-australia-page main>.hero>.facts,
  .destination-japan-page main>.hero>.facts,
  .destination-newzealand-page main>.hero>.facts{
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    width:calc(100% - 40px)!important;
    max-width:860px;
    margin:clamp(14px,3svh,28px) auto 0!important;
    transform:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:clamp(8px,1.8svh,14px)!important;
  }
  .destination-australia-page main>.hero>.facts article,
  .destination-japan-page main>.hero>.facts article,
  .destination-newzealand-page main>.hero>.facts article{
    width:100%!important;
    min-height:clamp(68px,10svh,92px)!important;
    height:auto!important;
    padding:10px!important;
  }
  .destination-australia-page main>.hero>.facts article:last-child,
  .destination-japan-page main>.hero>.facts article:last-child,
  .destination-newzealand-page main>.hero>.facts article:last-child{
    width:calc(50% - 5px)!important;
    grid-column:1/-1!important;
    justify-self:center;
  }
}

@media(max-width:600px){
  .contact-hero.shared-hero-top{
    display:grid!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(16px,3svh,24px) 18px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto;
    gap:clamp(12px,2svh,20px)!important;
    overflow:hidden;
  }
  .contact-hero .contact-hero-copy{order:1!important}
  .contact-hero .contact-hero-art{
    order:2!important;
    width:min(calc(100% - 48px),360px)!important;
    height:auto!important;
    min-height:0;
    max-height:none!important;
    aspect-ratio:612/678;
  }
  .contact-hero .contact-hero-title{font-size:clamp(32px,9vw,40px)!important;line-height:1!important}
  .contact-hero .contact-hero-copy>h1+div{margin-top:10px!important}
  .contact-hero .contact-hero-copy>h2{margin-top:10px!important;font-size:clamp(22px,6.4vw,28px)!important}
  .contact-hero .contact-hero-copy>p{margin-top:10px!important;font-size:clamp(12px,3.5vw,14px)!important;line-height:1.35!important}
  .contact-hero .contact-hero-copy>p+div{margin-top:12px!important}
  .contact-hero .contact-hero-copy>div:last-child{margin-top:12px!important}
  .contact-hero .contact-stat-label{font-size:9px!important}
  .contact-hero .contact-stat{font-size:clamp(22px,6vw,28px)!important}

  .events-hero.shared-hero-top{padding:clamp(14px,2.5svh,22px) 0!important}
  .events-hero>.events-shell{display:flex;height:100%;flex-direction:column}
  .events-hero .events-hero-copy{max-width:none!important}
  .events-hero .events-hero-copy h1{margin-bottom:10px!important;font-size:clamp(34px,10vw,42px)!important}
  .events-hero .events-hero-copy>p{margin-bottom:8px!important;font-size:12px!important;line-height:1.35!important}
  .events-hero .events-hero-copy>p:nth-of-type(3){display:none}
  .events-hero .events-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .events-hero .events-stats>div{min-height:58px!important;height:58px!important;padding:7px!important}
  .events-hero .event-stat-number{font-size:20px!important}
  .events-hero .events-stats>div>div:last-child{font-size:9px!important;line-height:1.15!important}
  .events-hero .events-collage{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none;
    height:clamp(150px,25svh,210px)!important;
    margin-top:10px!important;
    aspect-ratio:auto;
    overflow:hidden;
  }
}

@media(max-width:560px){
  .destination-australia-page main>.hero h1,
  .destination-japan-page main>.hero h1,
  .destination-newzealand-page main>.hero h1{
    margin:8px 0 2px!important;
    font-size:clamp(42px,13vw,56px)!important;
    line-height:1!important;
  }
  .destination-australia-page main>.hero h2,
  .destination-japan-page main>.hero h2,
  .destination-newzealand-page main>.hero h2{
    margin:4px 0 10px!important;
    font-size:clamp(19px,5.8vw,24px)!important;
    line-height:1.15!important;
  }
  .destination-australia-page main>.hero p,
  .destination-japan-page main>.hero p,
  .destination-newzealand-page main>.hero p{
    max-width:calc(100% - 28px)!important;
    font-size:12px!important;
    line-height:1.35!important;
  }
  .destination-australia-page main>.hero>.facts,
  .destination-japan-page main>.hero>.facts,
  .destination-newzealand-page main>.hero>.facts{
    width:calc(100% - 28px)!important;
  }
  .destination-australia-page main>.hero>.facts article,
  .destination-japan-page main>.hero>.facts article,
  .destination-newzealand-page main>.hero>.facts article{
    min-height:62px!important;
    gap:7px!important;
    padding:7px!important;
  }
  .destination-australia-page main>.hero>.facts article>b,
  .destination-japan-page main>.hero>.facts article>b,
  .destination-newzealand-page main>.hero>.facts article>b{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    background-size:25px 25px!important;
  }
  .destination-australia-page main>.hero>.facts strong,
  .destination-japan-page main>.hero>.facts strong,
  .destination-newzealand-page main>.hero>.facts strong{font-size:11px!important;line-height:1.15!important}
  .destination-australia-page main>.hero>.facts span,
  .destination-japan-page main>.hero>.facts span,
  .destination-newzealand-page main>.hero>.facts span{margin-top:3px!important;font-size:9px!important;line-height:1.15!important}

  .about-page .about-hero h1{font-size:clamp(34px,10.5vw,43px)!important}
  .about-page .about-hero p{font-size:clamp(13px,3.8vw,15px)!important;line-height:1.4!important}

  .body>.hero .hero-slide .hero-inner{padding:18px 16px}
  .body>.hero .hero-title{font-size:clamp(31px,9.8vw,38px);line-height:1.04}
  .body>.hero .hero-title--long{font-size:clamp(29px,8.7vw,34px)}
  .body>.hero .hero-copy{margin-bottom:14px;font-size:13px;line-height:1.35}
  .body>.hero .hero-actions{gap:8px}
  .body>.hero .hero-actions .btn{height:40px;min-height:40px;padding:8px 14px;font-size:12px}
  .body>.hero .stats-bar{margin-top:0}
  .body>.hero .stats-grid{padding:12px;gap:10px}
  .body>.hero .stat-item,
  .body>.hero .stat-item:nth-child(3){grid-template-columns:30px minmax(0,1fr);gap:8px}
  .body>.hero .stat-icon img,
  .body>.hero .stat-icon svg{width:30px;height:30px}
  .body>.hero .stat-number{font-size:21px}
  .body>.hero .stat-label{font-size:11px;line-height:1.15}

  .georgia-page main>section:first-child .geo-display.pt-10{padding-top:18px}
  .georgia-page main>section:first-child h1{font-size:clamp(48px,17vw,72px)}
  .georgia-page main>section:first-child .mt-8.pb-7{margin-top:16px;padding-bottom:16px}
}

@media(max-height:650px) and (min-width:721px){
  .body>.hero .hero-slide .hero-inner{padding-top:28px;padding-bottom:18px}
  .body>.hero .hero-title{font-size:52px}
  .body>.hero .hero-title--long{font-size:42px}
  .body>.hero .stats-grid{padding-top:14px;padding-bottom:14px}
  .body>.hero .stat-number{font-size:27px}
  .body>.hero .stat-label{font-size:15px}

  .events-hero .events-hero-copy>p:nth-of-type(3){display:none}
  .events-hero .events-stats>div{height:78px!important;min-height:78px!important}
  .events-hero .events-collage{max-width:43%}
}
