/* Cariama progressive performance layer — preserves all content and layout. */

/*
 * The Portuguese and English homes share one stage. Keep every inactive
 * artwork and its editorial overlay fully isolated so a slide can never
 * bleed into the next one, including before JavaScript finishes loading.
 */
body.cariama-view-home .published-home .published-hero-slider{
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body.cariama-view-home .published-home .published-hero-slider > [data-hero-image][aria-hidden="true"]{
  z-index: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.cariama-view-home .published-home .published-hero-slider > [data-hero-image][aria-hidden="false"]{
  opacity: 1 !important;
  visibility: visible !important;
}

body.cariama-view-home .published-hero-slider [data-hero-region][aria-hidden="true"],
body.cariama-view-home .published-hero-slider [data-hero-cover][aria-hidden="true"],
body.cariama-view-home .published-hero-slider [data-hero-cafeteria][aria-hidden="true"]{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.cariama-view-home .published-hero-slider [data-hero-region][aria-hidden="false"],
body.cariama-view-home .published-hero-slider [data-hero-cover][aria-hidden="false"],
body.cariama-view-home .published-hero-slider [data-hero-cafeteria][aria-hidden="false"]{
  visibility: visible !important;
}

/* Let the browser postpone layout and paint work for content below the fold. */
@supports (content-visibility: auto){
  main > section:not(:first-child){
    content-visibility: auto;
    contain-intrinsic-size: auto 900px;
  }
}

/* Keep the page ending painted, including rapid scrolls on mobile browsers. */
.site-footer{
  content-visibility: visible;
  contain-intrinsic-size: none;
}

@media (max-width: 980px){
  /* Match the footer when Safari exposes the page canvas during overscroll. */
  html{
    background-color: #f8e2c6;
  }

  body .site-footer{
    margin-bottom: 0 !important;
    padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Respect user preferences and reduce expensive decorative work on modest hardware. */
html.cariama-lite{
  scroll-behavior: auto;
}

html.cariama-lite .cariama-pointer-glow,
html.cariama-lite .page-loader,
html.cariama-lite [data-cariama-parallax]::before,
html.cariama-lite [data-cariama-parallax]::after{
  display: none !important;
}

/* Keep content animations alive in adaptive mode; only flatten pointer-driven tilt. */
html.cariama-lite [data-cariama-tilt]{
  transform: none !important;
}

html.cariama-lite .site-header,
html.cariama-lite .site-header.is-scrolled,
html.cariama-lite .site-header.is-open{
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (prefers-reduced-motion: reduce), (update: slow){
  html{
    scroll-behavior: auto !important;
  }
}

/* Skip work below the fold on the tourism story until it approaches view. */
@supports (content-visibility: auto){
  .visitacao-reading-chapter,
  .visitacao-reading-ending{
    content-visibility: auto;
    contain-intrinsic-size: auto 900px;
  }
}

html.cariama-lite .visitacao-reading-route::after{
  clip-path: none !important;
  transition: none !important;
}

html.cariama-lite .visitacao-reading-chapter figure::after{
  display: none !important;
}

html.cariama-lite .visitacao-reading-copy h2 .visitacao-reading-word,
html.cariama-lite .visitacao-reading-copy p{
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (max-width: 620px){
  .visitacao-reading-opening{
    min-height: max(680px, 100svh);
    padding: 104px 18px 88px;
  }

  .visitacao-reading-opening h1{
    max-width: 540px;
    font-size: clamp(43px, 14vw, 68px);
    line-height: 0.9;
  }

  .visitacao-reading-opening > .visitacao-reading-cta{
    width: min(340px, 100%);
  }

  .visitacao-reading-chapter,
  .visitacao-reading-chapter.is-two{
    gap: 38px;
    padding: 82px 18px 96px 42px;
  }

  .visitacao-reading-copy h2{
    font-size: clamp(40px, 13vw, 58px);
    line-height: 0.92;
  }

  .visitacao-reading-copy p{
    font-size: 16px;
    line-height: 1.55;
  }

  .visitacao-reading-ending{
    min-height: max(620px, 88svh);
    padding: 82px 18px;
  }

  .visitacao-reading-ending h2{
    font-size: clamp(46px, 14.5vw, 68px);
    line-height: 0.9;
  }

  .cariama-cookie-consent{
    max-height: calc(100svh - 24px);
    overflow-y: auto;
  }
}
