    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --off-white: #F7F4EF;
      --beige-light: #F7F5F1;
      --warm-white: #FAF8F4;
      --green-dark: #1C2E1E;
      --green-mid: #2D4A2F;
      --gold: #B8962E;
      --gold-light: #D4AE52;
      --text-dark: #1A1A18;
      --text-mid: #3A3A35;
      --text-light: #7A7A72;
      --border: rgba(184,150,46,0.2);
      --border-dark: rgba(212,174,82,0.2);
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Jost', sans-serif;
      background: var(--off-white);
      color: var(--text-dark);
      font-weight: 300;
      line-height: 1.7;
      overflow-x: hidden;
      padding-top: 68px; /* compensa header fixo */
    }

    /* ── HEADER ── */
    header {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 100;
      padding: 0 40px;
      height: 68px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: rgba(28,46,30,0.95);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(184,150,46,0.15);
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
    }

    .logo-img { height: 40px; width: auto; display: block; }

    .logo-text { display: flex; flex-direction: column; line-height: 1.1; }

    .logo-top {
      font-family: 'Cormorant Garamond', serif;
      font-size: 10px;
      font-weight: 400;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold-light);
    }

    .logo-main {
      font-family: 'Cormorant Garamond', serif;
      font-size: 18px;
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.05em;
    }

    nav {
      display: flex;
      align-items: center;
      gap: 28px;
    }

    nav a {
      font-size: 11px;
      font-weight: 400;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.72);
      text-decoration: none;
      transition: color 0.2s;
    }

    nav a:hover { color: var(--gold-light); }

    .btn-header {
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--green-dark);
      background: var(--gold-light);
      padding: 10px 20px;
      text-decoration: none;
      transition: background 0.2s;
    }

    .btn-header:hover { background: var(--gold); }

    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
    }

    .hamburger span {
      display: block;
      width: 24px;
      height: 1.5px;
      background: #fff;
      transition: transform 0.2s, opacity 0.2s;
    }

    /* ── HERO ── */
    .hero {
      display: grid;
      grid-template-columns: 440px 1fr;
      height: calc(100vh - 68px);
      min-height: 620px;
      overflow: hidden;
      width: 100%;
      margin: 0;
      padding: 0 !important;
      position: relative;
    }

    .hero-left {
      background: rgba(18, 32, 19, 0.92);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      display: flex;
      align-items: center;
      padding: 64px 56px 80px;
      position: relative;
      z-index: 2;
    }

    .hero-left::after {
      content: '';
      position: absolute;
      top: 15%;
      right: 0;
      height: 70%;
      width: 1px;
      background: linear-gradient(to bottom, transparent, var(--gold), transparent);
    }

    .hero-right {
      position: relative;
      overflow: hidden;
    }

    .hero-slide {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center center;
      opacity: 0;
      transition: opacity 1.2s ease;
    }

    .hero-slide.active { opacity: 1; }

    .hero-slide-bg { background-image: url('../img/mirare-cabanas-alto-feliz-serra-gaucha.jpg'); }

    .hero-right::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(6,14,7,0.38) 0%,
        rgba(6,14,7,0.10) 45%,
        rgba(6,14,7,0.0) 100%
      );
    }

    .hero-content {
      position: relative;
      z-index: 2;
      width: 100%;
      margin-top: -32px;
      animation: fadeUp 1.1s ease both;
    }

    .hero-eyebrow {
      font-size: 10px;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold-light);
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .hero-eyebrow::before {
      content: '';
      display: inline-block;
      width: 32px;
      height: 1px;
      background: var(--gold-light);
    }

    h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(36px, 4.6vw, 62px);
      font-weight: 500;
      line-height: 1.1;
      color: #fff;
      margin-bottom: 22px;
      letter-spacing: -0.01em;
      text-shadow: 0 2px 32px rgba(0,0,0,0.5);
    }

    .hero-sub {
      font-size: 16px;
      font-weight: 300;
      color: rgba(255,255,255,0.88);
      max-width: 420px;
      margin-bottom: 28px;
      line-height: 1.75;
      text-shadow: 0 1px 12px rgba(0,0,0,0.4);
    }

    /* ── BUTTONS ── */
    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--green-dark);
      background: var(--gold-light);
      padding: 15px 30px;
      text-decoration: none;
      transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    }

    .btn-primary:hover {
      background: var(--gold);
      transform: translateY(-2px);
      box-shadow: 0 10px 28px rgba(0,0,0,0.22);
    }

    .btn-primary svg { width: 17px; height: 17px; flex-shrink: 0; }

    .btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #fff;
      background: var(--green-dark);
      border: none;
      padding: 14px 26px;
      text-decoration: none;
      transition: background 0.2s, transform 0.2s;
    }

    .btn-outline:hover {
      background: var(--green-mid);
      transform: translateY(-2px);
    }

    .btn-outline svg { width: 17px; height: 17px; flex-shrink: 0; }

    .btn-dark {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--gold-light);
      background: var(--green-dark);
      padding: 14px 28px;
      text-decoration: none;
      transition: background 0.2s, transform 0.2s;
    }

    .btn-dark:hover { background: var(--green-mid); transform: translateY(-2px); }

    /* Light button for dark backgrounds */
    .btn-light {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--green-dark);
      background: #fff;
      padding: 14px 28px;
      text-decoration: none;
      transition: background 0.2s, transform 0.2s;
    }

    .btn-light:hover { background: var(--gold-pale, #E8D5A0); transform: translateY(-2px); }

    .btn-light svg { width: 17px; height: 17px; flex-shrink: 0; }
    .btn-dark svg { width: 17px; height: 17px; flex-shrink: 0; }

    /* ── GENERIC ── */
    section { padding: 120px 60px; }
    .container { max-width: 1160px; margin: 0 auto; }

    .section-eyebrow {
      font-size: 10px;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 20px;
      text-align: center;
    }

    .section-eyebrow-left { text-align: left; }

    h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(26px, 3.6vw, 42px);
      font-weight: 400;
      line-height: 1.2;
      color: var(--text-dark);
      letter-spacing: -0.01em;
    }

    h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(20px, 2.6vw, 28px);
      font-weight: 500;
      color: var(--text-dark);
    }

    /* ── DIFERENCIAIS ── */
    .diferenciais {
      background: #fff;
      padding: 28px 60px;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      margin-top: 0;
    }

    .dif-grid {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(8, 1fr);
      gap: 0;
    }

    .dif-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 22px 10px;
      border-right: 1px solid var(--border);
      transition: background 0.2s;
    }

    .dif-item:last-child { border-right: none; }
    .dif-item:hover { background: rgba(184,150,46,0.04); }

    .dif-icon {
      width: 34px;
      height: 34px;
      margin-bottom: 10px;
      color: var(--gold);
    }

    .dif-label {
      font-size: 11px;
      font-weight: 400;
      color: var(--text-mid);
      line-height: 1.5;
    }

    /* ── CABANAS ── */
    .cabanas-section { background: var(--beige-light); padding-top: 140px; padding-bottom: 140px; }

    .cabanas-header { text-align: center; margin-bottom: 64px; }

    .cabanas-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px;
      max-width: 1100px;
      margin: 0 auto;
    }

    .cabana-card {
      background: #fff;
      overflow: hidden;
      box-shadow: 0 2px 20px rgba(0,0,0,0.06);
      transition: transform 0.3s, box-shadow 0.3s;
    }

    .cabana-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 14px 44px rgba(0,0,0,0.11);
    }

    /* Carrossel cabanas */
    .cabana-carousel {
      position: relative;
      aspect-ratio: 4/3;
      overflow: hidden;
    }

    .cabana-carousel-track {
      display: flex;
      width: 100%;
      height: 100%;
      transition: transform 0.45s ease;
    }

    .cabana-carousel-slide {
      min-width: 100%;
      height: 100%;
      flex-shrink: 0;
    }

    .cabana-carousel-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .carousel-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0,0,0,0.38);
      border: none;
      color: #fff;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 4;
      transition: background 0.2s;
    }

    .carousel-btn:hover { background: rgba(0,0,0,0.62); }
    .carousel-btn svg { width: 16px; height: 16px; }
    .carousel-btn--prev { left: 12px; }
    .carousel-btn--next { right: 12px; }

    .carousel-dots {
      position: absolute;
      bottom: 12px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 6px;
      z-index: 4;
    }

    .carousel-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: rgba(255,255,255,0.5);
      border: none;
      cursor: pointer;
      padding: 0;
      transition: background 0.2s;
    }

    .carousel-dot.active { background: #fff; }

    /* ── CONHEÇA A MIRARE ── */
    .conheca-mirare { background: var(--green-dark); padding-top: 80px; padding-bottom: 80px; }

    .conheca-header {
      text-align: center;
      max-width: 640px;
      margin: 0 auto 40px;
    }

    .conheca-header .section-eyebrow { color: var(--gold-light); }
    .conheca-header h2 { margin: 0 0 20px; color: #fff; }
    .conheca-header p { color: rgba(255,255,255,0.75); font-size: 15px; line-height: 1.7; }

    .conheca-gallery {
      max-width: 960px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }

    .conheca-gallery-item {
      aspect-ratio: 4 / 3;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 14px 44px rgba(0,0,0,0.11);
    }

    .conheca-gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .conheca-depoimento {
      text-align: center;
      max-width: 560px;
      margin: 32px auto 0;
    }

    .conheca-depoimento .depoimento-stars {
      color: var(--gold-light);
      font-size: 15px;
      letter-spacing: 2px;
      margin-bottom: 12px;
    }

    .conheca-depoimento-texto {
      font-size: 16px;
      font-style: italic;
      color: #fff;
      line-height: 1.7;
      margin-bottom: 12px;
    }

    .conheca-depoimento-nome {
      display: block;
      font-family: 'Jost', sans-serif;
      font-size: 14px;
      font-weight: 500;
      color: #fff;
    }

    .conheca-depoimento-fonte {
      display: block;
      font-size: 11px;
      color: rgba(255,255,255,0.6);
      margin-top: 2px;
    }

    @media (max-width: 700px) {
      .conheca-gallery { grid-template-columns: 1fr; }
    }

    /* ── SOBRE A MIRARE ── */
    .sobre-mirare { background: var(--beige-light); }

    .sobre-header {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }

    .sobre-header h2 { margin: 0 0 20px; }

    .sobre-header p {
      color: var(--text-mid);
      font-size: 14px;
      line-height: 1.8;
      text-align: left;
      margin-bottom: 14px;
    }

    .cabana-body { padding: 24px 30px 28px; }

    .cabana-name {
      padding: 26px 30px 16px;
      margin: 0;
    }

    .cabana-title-link {
      text-decoration: none;
      color: inherit;
      transition: color 0.2s;
      display: block;
    }

    .cabana-title-link:hover .cabana-name { color: var(--green-dark); }

    .cabana-selo {
      position: absolute;
      top: 18px;
      left: 18px;
      max-width: calc(100% - 36px);
      box-sizing: border-box;
      background: var(--gold);
      color: #fff;
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 5px 12px;
      pointer-events: none;
      z-index: 3;
      white-space: normal;
      line-height: 1.4;
    }

    .cabana-body p {
      font-size: 14px;
      color: var(--text-mid);
      line-height: 1.8;
      margin-bottom: 12px;
    }

    .cabana-airbnb-note {
      font-size: 11px;
      color: var(--text-light);
      margin-bottom: 18px;
    }

    /* ── LOCALIZAÇÃO ── */
    .localizacao { background: #fff; }

    /* Cabeçalho da seção — largura completa */
    .loc-header {
      max-width: 760px;
      margin: 0 auto 64px;
      text-align: center;
    }

    .loc-header h2 { margin-bottom: 20px; }

    .loc-header p {
      font-size: 15px;
      color: var(--text-mid);
      line-height: 1.9;
      margin: 0 auto;
    }

    /* Corpo da seção — 2 colunas */
    .localizacao-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px;
      max-width: 1100px;
      margin: 0 auto;
      align-items: start;
    }

    .loc-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    .loc-card {
      background: #fff;
      border: 1px solid var(--border);
      padding: 14px 16px;
      display: flex;
      flex-direction: column;
      gap: 2px;
      justify-content: center;
    }

    .loc-card-name {
      font-size: 12px;
      font-weight: 500;
      color: var(--text-dark);
      line-height: 1.4;
    }

    .loc-card-region {
      font-size: 11px;
      color: var(--gold);
      letter-spacing: 0.04em;
    }

    .loc-card-dist {
      font-size: 11px;
      color: var(--text-light);
    }

    /* Coluna direita: grid + botão como bloco único */
    .loc-img-col {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .loc-region-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 5px;
    }

    .loc-region-grid-item {
      overflow: hidden;
      position: relative;
      aspect-ratio: 4/3;
    }

    .loc-region-grid-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.5s ease;
      filter: brightness(0.96) saturate(0.92);
    }

    .loc-region-grid-item:hover img { transform: scale(1.04); }

    /* Botão colado ao grid, alinhado à direita */
    .loc-grid-cta {
      margin-top: 0;
      display: flex;
      justify-content: flex-end;
      border-top: none;
    }

    .loc-grid-cta .btn-dark {
      width: 100%;
      justify-content: center;
      letter-spacing: 0.14em;
    }

    /* ── ACESSO + ESTRUTURA — fundo verde escuro ── */
    .acesso-estrutura {
      background: var(--green-dark);
      padding: 56px 60px;
    }

    .acesso-estrutura-inner {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 36px;
      align-items: stretch;
    }

    .acesso-box, .estrutura-box {
      background: var(--warm-white);
      border: 1px solid rgba(184,150,46,0.15);
      padding: 32px 34px 30px;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      height: 100%;
    }

    .acesso-box .section-eyebrow,
    .estrutura-box .section-eyebrow {
      text-align: left;
    }

    .acesso-box h2,
    .estrutura-box h2 {
      font-size: clamp(20px, 2.4vw, 28px);
      margin-bottom: 12px;
    }

    .acesso-desc {
      font-size: 14px;
      color: var(--text-mid);
      line-height: 1.8;
      margin-bottom: 22px;
    }

    .chegar-cards {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 26px;
    }

    .chegar-card {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      background: #fff;
      border: 1px solid var(--border);
      padding: 16px 18px;
    }

    .chegar-card svg {
      width: 17px;
      height: 17px;
      color: var(--gold);
      flex-shrink: 0;
      margin-top: 2px;
    }

    .chegar-card-content {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .chegar-card span {
      font-size: 13px;
      color: var(--text-mid);
      font-weight: 400;
    }

    .chegar-card-btn {
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--gold);
      text-decoration: none;
      transition: color 0.2s;
    }

    .chegar-card-btn:hover { color: var(--gold-light); }

    .estrutura-items {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .estrutura-item {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 16px 0;
      border-bottom: 1px solid var(--border);
    }

    .estrutura-item:first-child { padding-top: 0; }
    .estrutura-item:last-child { border-bottom: none; padding-bottom: 0; }

    .estrutura-item-title {
      font-size: 13px;
      font-weight: 500;
      color: var(--text-dark);
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .estrutura-item-title svg {
      width: 16px;
      height: 16px;
      color: var(--gold);
      flex-shrink: 0;
    }

    .estrutura-item-desc {
      font-size: 13px;
      color: var(--text-light);
      line-height: 1.7;
      padding-left: 24px;
    }

    /* ── DEPOIMENTOS ── */
    .depoimentos { background: var(--warm-white); }
    .depoimentos-header { text-align: center; margin-bottom: 64px; }

    .depoimentos-grid {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }

    .depoimento-card {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 30px 28px;
      background: #fff;
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .depoimento-stars {
      color: var(--gold);
      font-size: 15px;
      letter-spacing: 2px;
      margin-bottom: 16px;
    }

    .depoimento-texto {
      font-size: 14px;
      color: var(--text-mid);
      line-height: 1.8;
      margin-bottom: 20px;
      flex-grow: 1;
    }

    .depoimento-nome {
      display: block;
      font-family: 'Jost', sans-serif;
      font-size: 14px;
      font-weight: 500;
      color: var(--text-dark);
    }

    .depoimento-fonte {
      display: block;
      font-size: 11px;
      color: var(--text-light);
      margin-top: 2px;
    }

    /* ── FAQ ── */
    .faq { background: var(--beige-light); }
    .faq-header { text-align: center; margin-bottom: 64px; }

    .faq-grid {
      max-width: 1000px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px 32px;
    }

    .faq-card {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 22px 24px;
      background: #fff;
      height: 100%;
    }

    .faq-card-q {
      font-family: 'Jost', sans-serif;
      font-size: 15px;
      font-weight: 500;
      color: var(--text-dark);
      margin-bottom: 8px;
    }

    .faq-card-a {
      font-size: 14px;
      color: var(--text-mid);
      line-height: 1.7;
    }

    /* ── CTA FINAL ── */
    .cta-final {
      position: relative;
      min-height: 370px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      overflow: hidden;
      padding: 72px 60px;
    }

    .cta-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 60%;
    }

    .cta-overlay {
      position: absolute;
      inset: 0;
      background: rgba(8,16,8,0.45);
    }

    .cta-content {
      position: relative;
      z-index: 2;
      max-width: 660px;
    }

    .cta-content .section-eyebrow { color: var(--gold-light); }
    .cta-content h2 { color: #fff; margin-bottom: 10px; }

    .cta-cards {
      display: flex;
      gap: 24px;
      justify-content: center;
      align-items: stretch;
      flex-wrap: wrap;
      margin-top: 24px;
    }

    .cta-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      width: 260px;
      padding: 28px 24px;
      background: rgba(28,46,30,0.55);
      border: 1px solid rgba(212,174,82,0.4);
      border-radius: 8px;
      backdrop-filter: blur(2px);
      text-align: center;
    }

    .cta-card-name {
      display: block;
      font-family: 'Cormorant Garamond', serif;
      font-size: 22px;
      font-weight: 500;
      color: #fff;
      margin-bottom: 6px;
    }

    .cta-card-sub {
      display: block;
      font-size: 12px;
      color: rgba(255,255,255,0.7);
      margin-bottom: 22px;
    }

    .cta-card .btn-primary { margin-top: auto; }

    .cta-content p {
      font-size: 15px;
      color: rgba(255,255,255,0.76);
      margin-bottom: 20px;
      line-height: 1.8;
    }

    /* ── FOOTER ── */
    footer {
      background: #0F0F0E;
      padding: 60px 60px;
      border-top: 1px solid rgba(184,150,46,0.2);
    }

    .footer-inner {
      max-width: 1100px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
    }

    .footer-logo-img { height: 44px; width: auto; display: block; }

    .footer-info {
      text-align: center;
      font-size: 12px;
      color: rgba(255,255,255,0.42);
      line-height: 1.8;
    }

    .footer-info span { display: block; }

    .footer-social a {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      color: var(--gold-light);
      text-decoration: none;
      letter-spacing: 0.08em;
      transition: color 0.2s;
    }

    .footer-social a:hover { color: var(--gold); }
    .footer-social svg { width: 20px; height: 20px; }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(28px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .reveal {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.65s ease, transform 0.65s ease;
    }

    .reveal.visible { opacity: 1; transform: none; }

    /* ── RESPONSIVE ── */
    @media (max-width: 1024px) {
      .dif-grid { grid-template-columns: repeat(4, 1fr); }
      .dif-item:nth-child(4n) { border-right: none; }
      .dif-item:nth-child(n+5) { border-top: 1px solid var(--border); }
    }

    @media (max-width: 900px) {
      header { padding: 0 20px; }
      nav { display: none; }
      .btn-header { display: none; }
      .hamburger { display: flex; }

      section { padding: 56px 20px; }
      .diferenciais { padding: 36px 20px; }
      .acesso-estrutura { padding: 56px 20px; }

      h1 { font-size: clamp(30px, 8vw, 46px); }
      .hero {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        height: 88vh;
        position: relative;
      }
      .hero-left {
        grid-row: 1;
        grid-column: 1;
        background: transparent;
        padding: 0 24px;
        z-index: 2;
      }
      .hero-left::after { display: none; }
      .hero-right {
        position: absolute;
        inset: 0;
        z-index: 0;
      }
      /* overlay escuro no mobile */
      .hero::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(to right, rgba(6,14,7,0.85) 0%, rgba(6,14,7,0.5) 60%, rgba(6,14,7,0.2) 100%);
      }
      .hero-content { padding: 0; }
      .hero-sub { font-size: 15px; max-width: 100%; }

      .dif-grid { grid-template-columns: repeat(2, 1fr); }
      .dif-item:nth-child(2n) { border-right: none; }
      .dif-item:nth-child(n+3) { border-top: 1px solid var(--border); }

      .cabanas-grid { grid-template-columns: 1fr; }
      .cabana-body { padding: 22px 20px 20px; }
      .cabana-name { padding: 20px 20px 12px; }

      .cabana-carousel {
        aspect-ratio: auto;
        height: auto;
        overflow: hidden;
        background: #fff;
      }

      .cabana-carousel-track {
        height: auto;
        align-items: flex-start;
      }

      .cabana-carousel-slide {
        flex: 0 0 100%;
        width: 100%;
        min-width: 100%;
        height: auto;
      }

      .cabana-carousel-slide img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: initial;
      }

      .localizacao-inner { grid-template-columns: 1fr; gap: 32px; }
      .loc-region-grid { grid-template-columns: 1fr 1fr; }
      .loc-grid-cta { justify-content: stretch; }
      .loc-grid-cta .btn-dark { width: 100%; }

      .acesso-estrutura-inner { grid-template-columns: 1fr; }
      .acesso-box, .estrutura-box { padding: 26px 22px; }

      .faq-grid { grid-template-columns: 1fr; }

      .depoimentos-grid { grid-template-columns: 1fr; }

      .footer-inner { flex-direction: column; text-align: center; }
      .footer-info { text-align: center; }

      /* Menu mobile (hamburger) */
      nav.nav-open {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        position: fixed;
        top: 68px;
        left: 0;
        right: 0;
        background: rgba(28,46,30,0.98);
        padding: 24px 20px;
        z-index: 99;
        border-bottom: 1px solid rgba(184,150,46,0.15);
      }
      nav.nav-open a { font-size: 13px; }
      .hamburger.active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
      .hamburger.active span:nth-child(2) { opacity: 0; }
      .hamburger.active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
    }


    /* ══════════════════════════════════════════════════════════
       PÁGINA INTERNA — O QUE FAZER EM ALTO FELIZ
       Estilos específicos desta página. Não reaproveitados na Home.
       ══════════════════════════════════════════════════════════ */

    /* ── Header (3 áreas: logo 220px | menu centralizado | botão 220px) ── */
    .guia-header {
      display: grid;
      grid-template-columns: 220px 1fr 220px;
      align-items: center;
      column-gap: 12px;
    }

    .guia-header .logo { grid-column: 1; justify-self: start; }
    .guia-header nav { grid-column: 2; justify-self: center; }
    .guia-header .btn-header,
    .guia-header .hamburger { grid-column: 3; justify-self: end; }

    .nav-mobile-cta { display: none; }

    /* ── Breadcrumb ── */
    .breadcrumb-guia {
      background: #FAF8F4;
      height: 44px;
      display: flex;
      align-items: center;
      padding: 0 60px;
    }

    .breadcrumb-guia-inner {
      max-width: 860px;
      width: 100%;
      margin: 0 auto;
      padding: 0;
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 12px;
    }

    .breadcrumb-guia a {
      color: #7A7A72;
      text-decoration: none;
      transition: color 0.2s;
    }

    .breadcrumb-guia a:hover { color: var(--gold); }

    .breadcrumb-guia-sep { color: #7A7A72; }

    .breadcrumb-guia-current { color: #3A3A35; }

    /* ── Hero editorial ── */
    .guia-hero {
      background: #1C2E1E;
      padding: 72px 60px 64px;
    }

    .guia-hero .container {
      max-width: 860px;
      text-align: left;
    }

    .guia-hero .section-eyebrow {
      color: var(--gold-light);
      text-align: left;
      margin-bottom: 16px;
    }

    .guia-hero h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(36px, 4.2vw, 50px);
      font-weight: 500;
      line-height: 1.16;
      color: #fff;
      letter-spacing: -0.01em;
      text-shadow: none;
      max-width: 760px;
      margin-bottom: 16px;
    }

    .guia-hero-text {
      font-size: 16px;
      font-weight: 300;
      color: rgba(255,255,255,0.82);
      max-width: 650px;
      line-height: 1.8;
    }

    /* ── Conteúdo editorial ── */
    .guia-content {
      background: #fff;
      padding: 64px 60px 80px;
    }

    .guia-content .container { max-width: 860px; }

    .guia-intro p {
      font-size: 15px;
      color: var(--text-mid);
      line-height: 1.9;
      margin-bottom: 20px;
    }

    .guia-intro p strong { font-weight: 500; color: var(--text-dark); }

    .guia-nota {
      font-size: 13px;
      color: var(--text-mid);
      line-height: 1.8;
      margin-top: 28px;
      padding: 20px 24px;
      background: #F7F5F1;
      border-top: 2px solid #B8962E;
    }

    .guia-nota strong { font-weight: 500; color: var(--text-dark); }

    /* ── Título das atrações ── */
    .atracoes-title {
      text-align: left;
      margin-top: 56px;
      margin-bottom: 36px;
    }

    /* ── Lista editorial de atrações ── */
    .atracao-list { display: flex; flex-direction: column; }

    .atracao-item {
      padding: 36px 0 44px;
      border-bottom: 1px solid rgba(184,150,46,0.20);
    }

    .atracao-item:last-child { border-bottom: none; padding-bottom: 0; }

    .atracao-head {
      display: flex;
      align-items: baseline;
      gap: 14px;
      margin-bottom: 4px;
    }

    .atracao-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 20px;
      font-weight: 500;
      color: #B8962E;
      line-height: 1;
      flex-shrink: 0;
    }

    .atracao-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 28px;
      font-weight: 500;
      color: var(--text-dark);
      margin-bottom: 0;
    }

    .atracao-dist {
      display: block;
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #B8962E;
      margin-bottom: 18px;
    }

    .atracao-item img {
      width: 100%;
      max-width: 100%;
      aspect-ratio: 16/9;
      object-fit: cover;
      display: block;
      margin: 0 0 18px;
    }

    .atracao-desc {
      max-width: 100%;
      margin: 0;
      font-size: 14px;
      line-height: 1.85;
      color: #3A3A35;
    }

    /* ── Onde se hospedar ── */
    .guia-hospedagem {
      background: #F7F5F1;
      padding: 80px 60px;
    }

    .guia-hospedagem .container { max-width: 1100px; }

    .guia-hospedagem-intro {
      text-align: center;
      max-width: 720px;
      margin: 0 auto 44px;
    }

    .guia-hospedagem-intro .section-eyebrow { margin-bottom: 12px; }
    .guia-hospedagem-intro h2 { margin-bottom: 16px; }

    .guia-hospedagem-intro p {
      font-size: 15px;
      color: var(--text-mid);
      line-height: 1.8;
    }

    .guia-hospedagem-grid {
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      max-width: 1000px;
      margin: 0 auto;
    }

    .guia-hospedagem-grid .cabana-card {
      display: flex;
      flex-direction: column;
    }

    .guia-hospedagem-grid .cabana-body {
      display: flex;
      flex-direction: column;
      flex: 1;
      padding: 24px 28px 28px;
    }

    .guia-hospedagem-grid .cabana-body .btn-outline { margin-top: auto; }

    .cabana-review {
      text-align: left;
      margin-top: 14px;
    }

    .cabana-review-stars {
      color: var(--gold);
      font-size: 11px;
      letter-spacing: 1px;
      line-height: 1;
      margin-bottom: 5px;
    }

    .cabana-review .cabana-review-texto {
      font-size: 13px;
      color: var(--text-mid);
      line-height: 1.6;
      margin-bottom: 4px;
    }

    .cabana-review-meta {
      display: block;
      font-size: 11px;
      font-weight: 400;
      color: var(--text-light);
      margin-bottom: 16px;
    }

    /* ── Sobre a Mirare (bloco final institucional) ── */
    .guia-sobre {
      background: #fff;
      padding: 64px 60px;
    }

    .guia-sobre-inner {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }

    .guia-sobre-inner h2 { margin-bottom: 24px; }

    .guia-sobre-inner p {
      text-align: left;
      font-size: 14px;
      color: var(--text-mid);
      line-height: 1.8;
      margin-bottom: 14px;
    }

    .guia-sobre-inner p:last-child { margin-bottom: 0; }

    /* ── Responsivo — específico da página interna ── */
    @media (max-width: 900px) {
      .guia-header { grid-template-columns: auto 1fr; }
      .guia-header .hamburger { grid-column: 2; }

      .nav-mobile-cta { display: block; }

      .breadcrumb-guia { padding: 0 20px; }

      .guia-hero { padding: 56px 20px 44px; }
      .guia-hero .container { max-width: 100%; }
      .guia-hero h1 { max-width: 100%; }
      .guia-hero-text { max-width: 100%; }

      .guia-content { padding: 48px 20px 56px; }
      .guia-content .container { max-width: 100%; }

      .atracao-item { padding: 28px 0 34px; }
      .atracao-item img { width: 100%; }

      .guia-hospedagem { padding: 56px 20px; }
      .guia-hospedagem .container { max-width: 100%; }
      .guia-hospedagem-grid { grid-template-columns: 1fr; gap: 28px; }
      .guia-hospedagem-grid .cabana-carousel {
        aspect-ratio: auto;
        height: auto;
        overflow: hidden;
      }

      .guia-hospedagem-grid .cabana-carousel-track {
        height: auto;
      }

      .guia-hospedagem-grid .cabana-carousel-slide {
        height: auto;
      }

      .guia-hospedagem-grid .cabana-carousel-slide img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: initial;
      }

      .guia-sobre { padding: 48px 20px; }
    }
