@media (max-width: 1100px) {
  .site-header { gap: 24px; }
  .desktop-nav { gap: 18px; }
  .hero { min-height: 800px; }
  .hero h1 { top: 23%; }
  .hero-footnote { bottom: 155px; }
  .story-photo img { height: 640px; }
  .story-year { grid-template-columns: 65px 1fr; gap: 18px; }
  .story-year > span { font-size: 55px; }
  .story-today, .story-next { margin-left: 83px; }
  .stays-count { right: 19%; bottom: 85px; }
  .stays-count-label { bottom: 40px; right: 8%; }
  .room-caption { align-items: start; flex-direction: column; gap: 0; }
  .room-manaca .room-heading { margin-left: -50px; }
  .rooms-duet { column-gap: 3%; row-gap: 45px; }
  .room-ipe .room-primary, .room-sibipiruna .room-primary { height: 460px; }
  .room-pau-brasil .room-primary { height: 440px; }
  .gallery-composition { margin-top: -150px; }
  .gallery-coffee img { height: 260px; }
  .booking-copy { align-items: start; gap: 35px; }
  .footer-main { grid-template-columns: .8fr .6fr 1.3fr; gap: 30px; }
  .footer-social { grid-column: 3; }
}
@media (max-width: 760px) {
  :root { --gutter: 24px; }
  html { scroll-padding-top: 88px; }
  .site-header, .site-header.is-scrolled { padding: 12px var(--gutter); gap: 24px; }
  .brand img { width: 86px; height: 60px; }
  .desktop-nav { display: none; }
  .header-reserve { font-size: 12px; gap: 12px; }
  .menu-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 44px; height: 44px; border: 0; background: transparent; z-index: 42; }
  .menu-toggle span { width: 26px; height: 1px; background: currentColor; transition: transform .25s; }
  .menu-toggle[aria-expanded='true'] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu { position: fixed; z-index: 29; inset: 0; background: var(--wine); color: var(--sand); padding: 120px 32px 32px; overflow-y: auto; }
  .mobile-menu { display: flex; flex-direction: column; gap: 10px; }
  .mobile-menu > a { font: 700 clamp(36px, 7svh, 60px)/1.2 var(--display); }
  .mobile-menu > span { font-size: 11px; margin-top: 30px; }
  .hero { min-height: 760px; max-height: 1000px; }
  .hero-location { top: 112px; font-size: 9px; }
  .hero h1 { top: 25%; }
  .hero-entre { font-size: 17vw; }
  .hero-gigantes { font-size: 26vw; }
  .hero-continuation { font-size: 9vw; padding-left: 15%; margin-top: 24px; line-height: 1.1; }
  .hero-continuation em { display: block; padding-left: 28%; }
  .hero-footnote { bottom: 146px; max-width: 80%; width: 310px; }
  .hero-footnote p { font-size: 12px; }
  .hero-bottom { bottom: 70px; gap: 12px; }
  .discover-link { font-size: 9px; gap: 10px; }
  .slide-rule { width: 20px; }
  .slider-controls { gap: 0; }
  .slider-pause { margin-left: 0; }
  .hero-relief { height: 48px; }
  .territory { padding-top: 40px; padding-bottom: 65px; }
  .territory-opening { display: block; padding-bottom: 40px; }
  .territory-invitation { margin-top: 15px; font-size: 15px; max-width: 340px; }
  .territory h2 { grid-column: 1/-1; font-size: 24vw; }
  .territory-symbol { top: 190px; width: 65%; right: -15%; }
  .story-copy { grid-column: 1/-1; grid-row: 3; padding-top: 35px; }
  .story-year { grid-template-columns: 62px 1fr; gap: 18px; }
  .story-year p, .story-today { font-size: 13px; }
  .story-today { margin-left: 80px; }
  .story-next { grid-column: 1/-1; grid-row: 4; margin-left: 80px; font-size: 12px; gap: 16px; }
  .story-photo { grid-column: 3/13; grid-row: 5; margin-top: 45px; margin-bottom: -130px; }
  .story-photo img { height: 430px; }
  .story-photo figcaption { font-size: 9px; }
  .stays { padding-top: 160px; padding-bottom: 60px; }
  .stays-opening { display: block; padding: 0 0 45px; }
  .stays-opening h2 { font-size: 16vw; margin: 20px 0; }
  .stays-opening > p:not(.eyebrow) { font-size: 14px; max-width: 80%; }
  .stays-count { position: static; display: inline-block; font-size: 110px; margin-top: 25px; }
  .stays-count-label { position: static; display: inline-block; margin-left: 20px; font-size: 11px; }
  .room-heading h3 { font-size: 23vw; }
  .room-index { font-size: 10px; }
  .room-caption > div { gap: 24px; flex-wrap: wrap; }
  .room-ipe .room-heading { grid-column: 1/6; padding-top: 0; }
  .room-ipe h3 { font-size: 34vw; }
  .room-ipe .room-primary { grid-column: 4/13; height: 330px; }
  .room-ipe .room-secondary { grid-column: 1/7; height: 170px; border-width: 5px; margin-top: 20px; }
  .room-ipe .room-caption { grid-column: 1/-1; grid-row: 4; }
  .rooms-duet { padding: 70px 0; row-gap: 45px; }
  .room-jatoba { grid-column: 1/12; padding-top: 0; }
  .room-jatoba .room-primary { height: 310px; }
  .room-manaca { grid-column: 4/13; }
  .room-manaca .room-primary { height: 390px; }
  .room-manaca .room-heading { margin-left: -40px; margin-top: 15px; }
  .duet-note { grid-column: 1/9; font-size: 40px; }
  .duet-note em { margin-left: 20px; }
  .duet-symbol { width: 95px; bottom: 60px; right: 0; }
  .room-pau-brasil { padding-block: 55px; }
  .room-pau-brasil .room-heading { grid-column: 1/7; }
  .room-pau-brasil h3 { font-size: 26vw; }
  .room-pau-brasil .room-primary { grid-column: 5/13; height: 340px; align-self: end; margin-top: 100px; }
  .room-pau-brasil .room-secondary { grid-column: 1/7; height: 180px; border-width: 5px; margin-top: 25px; }
  .room-pau-brasil .room-caption { grid-column: 1/-1; grid-row: 4; }
  .room-sibipiruna { margin-top: 60px; }
  .room-sibipiruna .room-heading { margin-left: 0; }
  .room-sibipiruna h3 { font-size: 21vw; }
  .room-sibipiruna .room-primary { grid-column: 1/12; height: 320px; margin-top: 10px; }
  .room-sibipiruna .room-secondary { grid-column: 8/13; height: 190px; margin-bottom: -80px; border-width: 5px; }
  .room-sibipiruna .room-caption { grid-column: 1/-1; grid-row: 4; padding-top: 100px; }
  .mirante { display: block; padding-block: 65px; }
  .mirante-heading h2 { font-size: 30vw; }
  .mirante-copy { margin-top: 35px; }
  .mirante-copy > p:not(.lead) { font-size: 14px; }
  .experience-landscape { height: 680px; min-height: 0; }
  .experience-eyebrow { top: 40px; font-size: 10px; }
  .experience-landscape h2 { top: 27%; left: 24px; right: 24px; }
  .experience-landscape h2 > span { font-size: 13vw; margin-left: 0; }
  .experience-landscape h2 strong { font-size: 24vw; white-space: normal; max-width: 450px; line-height: .95; margin-top: 15px; }
  .experience-side { bottom: 105px; font-size: 9px; }
  .experience-story { padding-bottom: 65px; gap: 0; }
  .water-photo { grid-column: 1/10; margin-top: -65px; }
  .water-photo img { height: 400px; }
  .experience-copy { grid-column: 2/13; padding-top: 35px; padding-bottom: 0; }
  .experience-copy > p:not(.lead) { font-size: 14px; }
  .experience-copy .text-link { font-size: 12px; gap: 15px; }
  .experience-symbol { bottom: 25px; width: 150px; left: -70px; }
  .gallery { padding-block: 65px; }
  .gallery h2 { font-size: 17vw; }
  .gallery h2 > em { padding-left: 10%; }
  .gallery-composition { margin-top: 35px; gap: 20px 3%; }
  .gallery-coffee { grid-column: 8/13; grid-row: 1/3; }
  .gallery-coffee img { height: 220px; }
  .gallery-veranda { grid-column: 1/11; grid-row: 2/4; margin-top: 135px; }
  .gallery-veranda img { height: 300px; }
  .gallery-flower { grid-column: 8/13; grid-row: 3/5; margin-top: 155px; border-width: 5px; }
  .gallery-flower img { height: 185px; }
  .gallery-copy { grid-column: 1/-1; grid-row: 5; padding-top: 15px; }
  .gallery-copy p { font-size: 14px; }
  .gallery-caption { font-size: 8px; }
  .closing { padding: 60px 12px 12px; }
  .booking-invitation { padding: 0 12px 55px; }
  .booking-invitation h2 { font-size: 14vw; }
  .booking-invitation h2 > span { font-size: 1.45em; }
  .booking-invitation h2 > em { padding-left: 12%; font-size: .8em; }
  .booking-copy { display: block; margin-top: 30px; }
  .booking-actions { margin-top: 25px; gap: 18px; }
  .floating-footer { padding: 30px 20px 20px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .footer-brand img { width: 115px; height: 95px; }
  .footer-social { grid-column: auto; }
  .footer-social > a { font-size: 12px; overflow-wrap: anywhere; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .lightbox-top { padding: 5px; height: 70px; }
  .lightbox-top h2 { font-size: 34px; }
  .lightbox[open] { grid-template-rows: 70px minmax(0, 1fr) 50px; }
  .lightbox-stage { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 4px; }
  .lightbox-stage .icon-button { width: 44px; height: 44px; margin-top: -96px; }
  .lightbox-stage figure { grid-template-rows: minmax(0, 1fr) 96px; }
  .lightbox-stage figcaption { font-size: 11px; padding-inline: 0; }
  .lightbox-bottom { padding: 12px 5px; }
  .lightbox-bottom > span { display: none; }
  .reservation-dialog { padding: 35px 24px; }
}
@media (max-width: 360px) {
  :root { --gutter: 18px; }
  .site-header { gap: 12px; }
  .hero-footnote { max-width: 86%; }
  .discover-link { letter-spacing: 0; }
  .slider-controls button { width: 36px; }
  .slide-rule { width: 12px; }
  .footer-main { grid-template-columns: 1fr; }
  .room-caption > div { gap: 15px; }
  .story-today, .story-next { margin-left: 0; }
}
