    /* =============================================
       VARIÁVEIS E RESET
    ============================================= */
    *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    :root {
      --cream : #F5EFE0;
      --sand  : #E8D9B5;
      --terra : #4b7fe8;
      --rust  : #2459c3;
      --olive : #5E6B3A;
      --dark  : #1E1A14;
      --mid   : #4A3F2F;
      --white : #FDFAF3;

      --nav-h : 60px;
      --px    : clamp(1.25rem, 5vw, 6rem);
      --py    : clamp(3.5rem, 8vw, 7rem);
    }

    html {
      scroll-behavior: smooth;
      -webkit-text-size-adjust: 100%;
    }

    body {
      font-family: 'Jost', sans-serif;
      font-weight: 300;
      background: var(--cream);
      color: var(--dark);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    img, svg { display: block; max-width: 100%; }
    button   { font-family: inherit; }
    a        { text-decoration: none; }

    /* =============================================
       ANIMAÇÕES
    ============================================= */
    @keyframes fade-up {
      from { opacity: 0; transform: translateY(22px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    @keyframes zoom-suave {
      from { transform: scale(1.04); }
      to   { transform: scale(1.00); }
    }

    /* =============================================
       BOTÕES
    ============================================= */
    .btn-primario {
      display: inline-block;
      background: var(--terra);
      color: var(--white);
      border: none;
      cursor: pointer;
      padding: .88rem 2rem;
      font-size: .76rem;
      font-weight: 500;
      letter-spacing: .15em;
      text-transform: uppercase;
      border-radius: 2px;
      transition: background .25s, transform .2s;
      -webkit-tap-highlight-color: transparent;
    }
    .btn-primario:hover { background: var(--rust); transform: translateY(-2px); }

    .btn-secundario {
      display: inline-block;
      background: transparent;
      color: var(--dark);
      border: 1px solid rgba(30,26,20,.3);
      cursor: pointer;
      padding: .88rem 2rem;
      font-size: .76rem;
      font-weight: 400;
      letter-spacing: .15em;
      text-transform: uppercase;
      border-radius: 2px;
      transition: border-color .25s, color .25s;
      -webkit-tap-highlight-color: transparent;
    }
    .btn-secundario:hover { border-color: var(--terra); color: var(--terra); }

    /* =============================================
       NAVEGAÇÃO
    ============================================= */
    nav {
      position: fixed;
      top: 0; left: 0;
      width: 100%;
      z-index: 200;
      height: var(--nav-h);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 var(--px);
      background: rgba(245,239,224,.92);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(194,112,61,.18);
    }

    .nav-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.25rem;
      font-weight: 600;
      letter-spacing: .07em;
      color: var(--rust);
      white-space: nowrap;
    }

    .nav-links {
      display: flex;
      gap: 2rem;
      list-style: none;
      align-items: center;
    }
    .nav-links a {
      color: var(--mid);
      font-size: .75rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      transition: color .2s;
    }
    .nav-links a:hover { color: var(--terra); }

    .nav-links .nav-cta {
      background: var(--terra);
      color: var(--white) !important;
      padding: .4rem 1.1rem;
      border-radius: 2px;
      transition: background .2s;
    }
    .nav-links .nav-cta:hover { background: var(--rust); }

    /* Hamburger — só mobile */
    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: 6px;
    }
    .hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--dark);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .hamburger.aberto span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.aberto span:nth-child(2) { opacity: 0; }
    .hamburger.aberto span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* Menu drawer mobile */
    .menu-mobile {
      display: none;
      position: fixed;
      inset: 0;
      top: var(--nav-h);
      z-index: 190;
      background: var(--cream);
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2.5rem;
    }
    .menu-mobile.aberto { display: flex; }

    .menu-mobile a {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2rem;
      font-weight: 300;
      color: var(--dark);
      letter-spacing: .04em;
      transition: color .2s;
    }
    .menu-mobile a:hover { color: var(--terra); }

    .menu-mobile .m-reservar {
      background: var(--terra);
      color: var(--white) !important;
      padding: .9rem 3rem;
      border-radius: 2px;
      font-family: 'Jost', sans-serif;
      font-size: .85rem;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    /* =============================================
       HERO
    ============================================= */
    .hero {
      padding-top: var(--nav-h);
      min-height: 50svh;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }

    .hero-imagem {
      position: relative;
      overflow: hidden;
      background: var(--dark);
      height: 94svh;
      min-height:600px;
    }

    .hero-imagem img { 
      width: 100%; 
      height: 100%; 
      object-fit: cover; 
      object-position: 50% 75%;
      display: block; 
      animation: zoom-suave 18s ease-out forwards; }


    .hero-conteudo {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 3.5rem var(--px) 3.5rem clamp(2rem,4vw,4.5rem);
      background: var(--cream);
      position: relative;
    }

    .hero-eyebrow {
      font-size: .68rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--terra);
      margin-bottom: 1.2rem;
      opacity: 0;
      animation: fade-up .8s .3s forwards;
    }

    .hero-titulo {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.6rem, 4.5vw, 5.2rem);
      font-weight: 300;
      line-height: 1.07;
      color: var(--dark);
      opacity: 0;
      animation: fade-up .9s .5s forwards;
    }
    .hero-titulo .blue { color: var(--terra); }

    .hero-subtitulo {
      margin-top: 1.2rem;
      font-size: .9rem;
      line-height: 1.78;
      color: var(--mid);
      max-width: 36ch;
      opacity: 0;
      animation: fade-up .9s .7s forwards;
    }

    .hero-meta {
      display: flex;
      gap: 2rem;
      flex-wrap: wrap;
      margin-top: 2.2rem;
      opacity: 0;
      animation: fade-up .9s .9s forwards;
    }
    .hero-meta-item  { display: flex; flex-direction: column; gap: .2rem; }
    .hero-meta-label { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--terra); }
    .hero-meta-valor {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.5rem; font-weight: 600;
    }

    .hero-botoes {
      display: flex;
      gap: .8rem;
      flex-wrap: wrap;
      margin-top: 2.4rem;
      opacity: 0;
      animation: fade-up .9s 1.1s forwards;
    }

    .hero-decor {
      position: absolute;
      right: .6rem; bottom: 2.5rem;
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: .8rem;
      color: var(--terra);
      writing-mode: vertical-rl;
      letter-spacing: .12em;
      opacity: .45;
    }

/* ═══════════════════════════════════════
   GALERIA — Carousel
═══════════════════════════════════════ */

.galeria {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}

.galeria-title{
  padding-top: var(--py);
  padding-left: var(--py);
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--terra);
  opacity: 0;
  animation: fade-up .8s .3s forwards;
  font-weight: bold;
}

.galeria-subtitle {
  font-size: .82rem;
  line-height: 1.65;
  color: var(--mid);
  padding-left: var(--py);
  padding-bottom: 20px;
    }

.galeria::-webkit-scrollbar {
  display: none;
}

.galeria.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}


/* Cada fotografia */

.galeria-item {
  position: relative;

  /* Todos têm a mesma altura */
  height: 400px;

  /* A largura é determinada pela fotografia */
  flex: 0 0 auto;

  overflow: hidden;

  scroll-snap-align: start;

  background: var(--dark);
}


/* A imagem mantém SEMPRE a proporção original */

.galeria-item img {
  display: block;

  height: 100%;
  width: auto;

  /* Nunca corta a fotografia */
  object-fit: contain;

  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}


/* Legenda */

.galeria-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;

  padding: 1rem;

  color: white;
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;

  background: linear-gradient(
    transparent,
    rgba(0, 0, 0, .7)
  );
}


/* ═══════════════════════════════════════
   MOBILE
═══════════════════════════════════════ */

@media (max-width: 640px) {

  .galeria {
    gap: .6rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .galeria-item {
    height: 260px;
  }

}

/* ═══════════════════════════════════════
MOBILE
═══════════════════════════════════════ */

@media (max-width: 640px) {

.galeria {
gap: .6rem;
padding-left: 1.25rem;
padding-right: 1.25rem;
}

.galeria-item {
flex: 0 0 85%;
aspect-ratio: 4 / 3;
}

}

.galeria {
  cursor: grab;
}

.galeria.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.galeria-item img {
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

    /* =============================================
       SECÇÕES — BASE
    ============================================= */
    .secao        { padding: var(--py) var(--px); }
    .secao-clara  { background: var(--white); }
    .secao-escura { background: var(--dark); color: var(--cream); }

    .etiqueta {
      display: block;
      font-size: .65rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--terra);
      margin-bottom: .9rem;
    }
    .secao-escura .etiqueta { color: var(--sand); }

    .titulo-secao {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.1rem, 4vw, 3.8rem);
      font-weight: 300;
      line-height: 1.1;
    }
    .titulo-secao em { font-style: italic; }
    .secao-escura .titulo-secao { color: var(--cream); }

    .corpo-texto {
      font-size: .9rem;
      line-height: 1.85;
      color: var(--mid);
      max-width: 58ch;
      margin-top: 1.2rem;
    }
    .secao-escura .corpo-texto { color: var(--sand); max-width: none; }

    .divisor {
      width: 50px; height: 2px;
      background: var(--terra);
      margin: 1.8rem 0;
    }

    /* =============================================
       SOBRE A QUINTA
    ============================================= */
    .sobre-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(3rem, 7vw, 8rem);
      align-items: center;
    }

    .sobre-img-wrap { position: relative; }
    .sobre-img-wrap svg { width: 100%; border-radius: 2px; }

    .sobre-badge {
      position: absolute;
      bottom: -1.8rem; right: -1.5rem;
      width: 110px; height: 110px;
      background: var(--terra);
      border-radius: 50%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: var(--white);
      box-shadow: 0 8px 28px rgba(155,62,28,.35);
    }
    .sobre-badge-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.9rem; font-weight: 600; line-height: 1;
    }
    .sobre-badge-label {
      font-size: .58rem;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .stats-row { display: flex; gap: clamp(1.5rem,4vw,3rem); margin-top: 2.5rem; flex-wrap: wrap; }
    .stat-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2.2rem; font-weight: 600;
      color: var(--terra);
    }
    .stat-label {
      font-size: .7rem;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--mid);
      opacity: .7;
    }

    /* =============================================
       COMODIDADES
    ============================================= */
    .comodidades-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
      margin-top: 3.5rem;
    }

    .comodidade-card {
      padding: 2rem 1.5rem;
      border: 1px solid rgba(194,112,61,.2);
      border-radius: 2px;
      position: relative;
      overflow: hidden;
      transition: border-color .3s, transform .3s;
      background: var(--white);
    }
    .comodidade-card::before {
      content: '';
      position: absolute; left: 0; top: 0;
      width: 3px; height: 0;
      background: var(--terra);
      transition: height .4s ease;
    }
    .comodidade-card:hover {
      border-color: var(--terra);
      transform: translateY(-3px);
    }
    .comodidade-card:hover::before { height: 100%; }

    .comodidade-icone  { font-size: 1.6rem; margin-bottom: 1rem; }
    .comodidade-titulo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.15rem; font-weight: 600;
      margin-bottom: .5rem;
      color: var(--dark);
    }
    .comodidade-desc {
      font-size: .82rem;
      line-height: 1.65;
      color: var(--mid);
    }

    /* =============================================
       QUARTOS
    ============================================= */
    .quartos-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.2rem;
      margin-top: 3.5rem;
    }

    .quarto-card { overflow: hidden; border-radius: 2px; }
    .quarto-card svg { width: 100%; transition: transform .5s ease; }
    .quarto-card:hover svg { transform: scale(1.05); }

    .quarto-info {
      padding: 1.3rem;
      background: var(--white);
      border: 1px solid rgba(194,112,61,.15);
      border-top: none;
    }
    .quarto-nome {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.3rem; font-weight: 600;
      margin-bottom: .35rem;
      color: var(--dark);
    }
    .quarto-desc { font-size: .8rem; color: var(--mid); line-height: 1.6; }

    /* =============================================
       TESTEMUNHO
    ============================================= */
    .testemunho {
      text-align: center;
      padding: var(--py) clamp(1.5rem, 10vw, 15vw);
      background: var(--terra);
      color: var(--white);
    }
    .testemunho-estrelas  { font-size: .95rem; letter-spacing: .2em; margin-bottom: 1.3rem; }
    .testemunho-citacao {
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: clamp(1.3rem, 3vw, 2.2rem);
      font-weight: 300;
      line-height: 1.5;
    }
    .testemunho-autor {
      margin-top: 1.6rem;
      font-size: .72rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      opacity: .75;
    }

    /* =============================================
       RESERVA
    ============================================= */
    .reserva-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(3rem, 6vw, 8rem);
      align-items: start;
    }

    .vantagens { display: flex; flex-direction: column; gap: .75rem; margin-top: 2.5rem; }
    .vantagem  { display: flex; align-items: center; gap: .85rem; font-size: .85rem; color: var(--sand); }
    .vantagem-tick { color: var(--terra); font-size: 1rem; flex-shrink: 0; }

    .formulario {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(245,239,224,.15);
      border-radius: 3px;
      padding: clamp(1.5rem, 3vw, 2.5rem);
      display: flex;
      flex-direction: column;
      gap: 1.3rem;
    }

    .form-linha     { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .form-campo     { display: flex; flex-direction: column; gap: .45rem; }
    .form-etiqueta  {
      font-size: .62rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--sand);
      opacity: .7;
    }
    .form-input {
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(245,239,224,.2);
      border-radius: 2px;
      padding: .8rem .95rem;
      color: var(--cream);
      font-family: 'Jost', sans-serif;
      font-size: .88rem;
      font-weight: 300;
      outline: none;
      transition: border-color .25s;
      -webkit-appearance: none;
      width: 100%;
    }
    .form-input:focus       { border-color: var(--terra); }
    .form-input::placeholder { color: rgba(245,239,224,.3); }

    .preco-linha {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid rgba(245,239,224,.15);
      padding-top: 1.4rem;
      flex-wrap: wrap;
      gap: 1rem;
    }
    .preco-legenda { font-size: .78rem; color: var(--sand); margin-bottom: .2rem; }
    .preco-valor {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.9rem; font-weight: 600;
      color: var(--cream);
    }
    .preco-valor span { font-size: .85rem; font-weight: 300; opacity: .6; }

    /* =============================================
       LOCALIZAÇÃO
    ============================================= */
    .localizacao-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(3rem, 6vw, 7rem);
      align-items: center;
      margin-top: 3.5rem;
    }

    .mapa-container { background: var(--sand); border-radius: 2px; overflow: hidden; }
    .mapa-container svg { width: 100%; }

    .proximidades { display: flex; flex-direction: column; gap: 1.1rem; margin-top: 2rem; }
    .proximidade {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-bottom: 1.1rem;
      border-bottom: 1px solid rgba(194,112,61,.15);
    }
    .proximidade-nome { font-size: .88rem; }
    .proximidade-dist { font-size: .8rem; color: var(--terra); white-space: nowrap; margin-left: 1rem; }

    /* =============================================
       RODAPÉ
    ============================================= */
    footer {
      background: var(--dark);
      color: var(--sand);
      padding: 3rem var(--px);
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem;
      justify-content: space-between;
      align-items: center;
    }
    .footer-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.4rem; font-weight: 600;
      color: var(--cream);
    }
    .footer-sub  { font-size: .72rem; opacity: .5; margin-top: .25rem; letter-spacing: .07em; }
    .footer-links { display: flex; gap: 1.8rem; list-style: none; flex-wrap: wrap; }
    .footer-links a {
      color: var(--sand);
      font-size: .72rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      opacity: .55;
      transition: opacity .2s;
    }
    .footer-links a:hover { opacity: 1; }
    .footer-copy { font-size: .68rem; opacity: .3; }

    /* =============================================
       BARRA STICKY (só mobile)
    ============================================= */
    .barra-sticky {
      display: none;
      position: fixed;
      bottom: 0; left: 0; right: 0;
      z-index: 150;
      background: var(--white);
      border-top: 1px solid rgba(194,112,61,.2);
      padding: .85rem 1.25rem;
      align-items: center;
      justify-content: space-between;
      box-shadow: 0 -4px 20px rgba(30,26,20,.1);
    }
    .barra-sticky-preco {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.5rem; font-weight: 600;
    }
    .barra-sticky-label { font-size: .78rem; color: var(--mid); }

    /* =============================================
       SCROLL REVEAL
    ============================================= */
    .revelar {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .65s ease, transform .65s ease;
    }
    .revelar.visivel {
      opacity: 1;
      transform: translateY(0);
    }

    /* =============================================
       RESPONSIVO — TABLET (≤ 900px)
    ============================================= */
    @media (max-width: 900px) {
      .sobre-grid       { grid-template-columns: 1fr; gap: 3.5rem; }
      .sobre-badge      { bottom: -1.5rem; right: 0; }
      .comodidades-grid { grid-template-columns: repeat(2, 1fr); }
      .quartos-grid     { grid-template-columns: 1fr 1fr; }
      .reserva-grid     { grid-template-columns: 1fr; }
      .localizacao-grid { grid-template-columns: 1fr; }
      footer            { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
      .footer-links     { gap: 1.2rem; }
    }

    /* =============================================
       RESPONSIVO — MOBILE (≤ 640px)
    ============================================= */
    @media (max-width: 640px) {
      :root { --nav-h: 56px; }

      /* Navegação */
      .nav-links  { display: none; }
      .hamburger  { display: flex; }

      /* Hero */
      .hero                { grid-template-columns: 1fr; min-height: auto; }
      .hero-imagem         { height: 52vmin; min-height: 220px; }
      .hero-conteudo       { padding: 2.2rem 1.25rem 3rem; }
      .hero-titulo         { font-size: clamp(2.2rem, 9vw, 3rem); }
      .hero-subtitulo      { font-size: .85rem; max-width: none; }
      .hero-meta           { gap: 1.5rem; }
      .hero-botoes         { gap: .7rem; }
      .hero-decor          { display: none; }
      .btn-primario,
      .btn-secundario      { padding: .85rem 1.5rem; font-size: .72rem; }

      /* Galeria */
      .galeria-desktop { display: none; }
      .galeria-mobile  { display: flex; }

      /* Sobre */
      .sobre-grid       { grid-template-columns: 1fr; }
      .sobre-img-wrap   { max-width: 90%; margin: 0 auto; }
      .sobre-badge      { width: 90px; height: 90px; bottom: -1.2rem; right: 0; }
      .sobre-badge-num  { font-size: 1.5rem; }
      .stats-row        { gap: 1.5rem; }

      /* Comodidades */
      .comodidades-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
      .comodidade-card  { padding: 1.4rem 1.1rem; }
      .comodidade-icone { font-size: 1.3rem; margin-bottom: .7rem; }
      .comodidade-titulo { font-size: 1rem; }
      .comodidade-desc   { font-size: .77rem; }

      /* Quartos */
      .quartos-grid { grid-template-columns: 1fr; }

      /* Reserva */
      .formulario    { padding: 1.6rem 1.25rem; }
      .form-linha    { grid-template-columns: 1fr; }
      .preco-linha   { flex-direction: column; align-items: flex-start; }

      /* Testemunho */
      .testemunho { padding: 3.5rem 1.5rem; }

      /* Barra sticky */
      .barra-sticky { display: flex; }
      footer        { padding-bottom: calc(3rem + 64px); }
      .footer-links { gap: 1rem; }
    }

    /* =============================================
       RESPONSIVO — MUITO PEQUENO (≤ 380px)
    ============================================= */
    @media (max-width: 380px) {
      .comodidades-grid { grid-template-columns: 1fr; }
      .hero-botoes      { flex-direction: column; }
      .btn-primario,
      .btn-secundario   { width: 100%; text-align: center; }
    }

/* =============================================
   MAPA
   ============================================= */
#map { width: 100%; height: 500px; }
