  :root{
    --c-falesia:#C64E3E;
    --c-hibisco:#D54154;
    --c-iguana:#758464;
    --c-restinga:#D7DAB5;
    --c-duna:#F3E7D6;
    --c-raiz:#6F614E;
    --c-baia:#75BDBC;

    --c-bg: #F0EEEA; /* branco/cinza claro, ref. Gungaporanga */
    --c-dark: var(--c-raiz);
    --c-ink: var(--c-raiz); /* elementos escuros usam a Raiz, conforme pedido */
    --c-overlay-dark: #2B2620; /* marrom escuro do menu/motor, como no print de referência */
    --c-mid: #8C7E68;
    --c-tag: #6E6B62; /* cinza para eyebrows/tags, ref. Gungaporanga */
    --c-accent: var(--c-iguana);
    --c-accent-h: #626F55;
    --c-border: rgba(111,97,78,0.16);

    --font-display: 'Montserrat Alternates', sans-serif;
    --font-body: 'Poppins', sans-serif;
    --ease-out: cubic-bezier(0.16,1,0.3,1);
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--c-bg);color:var(--c-dark);font-family:var(--font-body);font-weight:300;overflow-x:hidden;}
  img{display:block;max-width:100%;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;}

  .preview-note{
    background:var(--c-ink); color:var(--c-duna); font-family:var(--font-body);
    font-size:0.7rem; letter-spacing:0.03em; text-align:center; padding:0.65rem 1.2rem; line-height:1.6;
  }
  .preview-note b{color:#fff;}

  /* ============ NAV — padrão BA'RA (hambúrguer sempre) ============ */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:600;
    padding:1.3rem 3rem; display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
    background:var(--c-iguana);
    opacity:0; transform:translateY(-10px); pointer-events:none;
    transition:padding .4s var(--ease-out), opacity .4s ease, transform .4s ease;
  }
  .nav.scrolled{padding:0.9rem 3rem; opacity:1; transform:translateY(0); pointer-events:auto;}
  .nav-side{display:flex; align-items:center; gap:1.1rem;}
  .nav-side.right{justify-content:flex-end;}
  .nav-social a{color:var(--c-duna); opacity:0.85; transition:opacity .25s;}
  .nav-social a:hover{opacity:1;}
  .nav-social svg{width:16px;height:16px;}
  .nav-lang{display:flex; gap:0.5rem; font-size:0.68rem; font-weight:600; letter-spacing:0.06em; margin-left:0.4rem; color:var(--c-duna);}
  .nav-lang span{opacity:0.6; cursor:pointer;}
  .nav-lang span.active{opacity:1; text-decoration:underline; text-underline-offset:3px;}
  .nav-logo-img{height:38px; width:auto; object-fit:contain; filter:brightness(0) invert(1);}
  .nav-cta{
    font-family:var(--font-body); font-size:0.6rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--c-iguana); background:var(--c-duna); padding:0.75rem 1.7rem; border-radius:999px; transition:background .3s; border:none;
  }
  .nav-cta:hover{background:#fff;}
  .nav-hamburger{display:flex; flex-direction:column; gap:5px; background:none; border:none; padding:11px;}
  .nav-hamburger span{width:24px; height:1.5px; background:var(--c-duna); transition:transform .3s, opacity .3s; display:block;}
  .nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .nav-hamburger.open span:nth-child(2){opacity:0;}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  .nav-overlay{
    position:fixed; inset:0; z-index:590; background:var(--c-overlay-dark);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.5rem;
    clip-path:circle(0% at 92% 3%); transition:clip-path .7s var(--ease-out);
  }
  .nav-overlay.open{clip-path:circle(150% at 92% 3%);}
  .nav-overlay a{
    color:var(--c-duna); font-family:var(--font-display); font-weight:300;
    font-size:clamp(1.2rem,3.4vw,1.9rem); opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease;
  }
  .nav-overlay.open a{opacity:1; transform:translateY(0);}
  .nav-overlay a.active{text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--c-baia);}
  .nav-overlay-icon{
    width:42px; height:auto; opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; transition-delay:.03s;
    filter:brightness(0) invert(1); margin-bottom:0.4rem;
  }
  .nav-overlay.open .nav-overlay-icon{opacity:0.85; transform:translateY(0);}
  .nav-overlay a:nth-child(2){transition-delay:.08s;}
  .nav-overlay a:nth-child(3){transition-delay:.13s;}
  .nav-overlay a:nth-child(4){transition-delay:.18s;}
  .nav-overlay a:nth-child(5){transition-delay:.23s;}
  .nav-overlay a:nth-child(6){transition-delay:.28s;}
  .nav-overlay a:nth-child(7){transition-delay:.33s;}
  .nav-overlay a:nth-child(8){transition-delay:.38s;}
  .nav-overlay a:nth-child(9){transition-delay:.43s;}
  .nav-overlay-reservar{margin-top:1rem; background:var(--c-restinga); color:var(--c-overlay-dark) !important; padding:0.9rem 2.4rem; border-radius:999px; font-family:var(--font-body) !important; font-size:0.65rem !important; font-weight:700; letter-spacing:0.12em; font-style:normal !important;}

  @media (max-width:980px){
    .nav{padding:1.2rem 1.4rem;}
    .nav-social, .nav-lang{display:none;}
    .nav-cta{display:none;}
  }

  /* ============ HERO ============ */
  .hero{position:relative; height:100vh; min-height:640px; display:flex; align-items:center; justify-content:center; overflow:hidden;}
  .hero-bg{position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.08); overflow:hidden;}
  .hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(25,18,12,0.28) 0%, rgba(25,18,12,0.4) 100%);}
  .hero-content{position:relative; z-index:2; padding:0 2rem; max-width:640px; text-align:center;}
  .hero-h1{
    font-family:var(--font-display); font-weight:300;
    font-size:clamp(1.1rem, 1.8vw, 1.4rem); line-height:1.6; letter-spacing:0.03em; color:#fff; overflow:hidden;
  }
  .hero-h1 span{display:block; transform:translateY(110%);}
  .hero-scroll-hint{position:absolute; right:3rem; bottom:2.2rem; z-index:2; display:flex; flex-direction:column; align-items:center; gap:0.6rem; opacity:0;}
  .hero-scroll-line{width:1px; height:52px; background:rgba(255,255,255,0.5); position:relative; overflow:hidden;}
  .hero-scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:#fff;animation:scrollLine 1.8s ease-in-out infinite;}
  @keyframes scrollLine{0%{top:-100%;}100%{top:100%;}}
  .hero-scroll-hint span{font-size:0.58rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.75); writing-mode:vertical-rl;}

  @media (max-width:980px){
    .hero-content{padding:0 1.4rem 3rem;}
    .hero-scroll-hint{display:none;}
  }

  /* ============ BOOKING BAR — full width, escura, colada no hero ============ */
  .booking-bar{
    position:relative; z-index:5; background:var(--c-overlay-dark);
    display:grid; grid-template-columns:1.3fr 1fr 1fr auto;
  }
  .booking-field{padding:1.3rem 2.2rem; border-right:1px solid rgba(243,231,214,0.14); display:flex; flex-direction:column; gap:0.35rem;}
  .booking-label{font-size:0.6rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:rgba(243,231,214,0.5);}
  .booking-input{border:none; outline:none; font-family:var(--font-body); font-size:0.92rem; font-weight:400; color:#fff; background:transparent; width:100%;}
  .booking-input::placeholder{color:rgba(243,231,214,0.55);}
  .booking-select{cursor:pointer;}
  .booking-select option{color:#000;}
  .booking-btn{
    font-family:var(--font-body); font-size:0.66rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    background:var(--c-iguana); color:#fff; border:none; padding:0 2.6rem; cursor:pointer; transition:background .3s; white-space:nowrap;
  }
  .booking-btn:hover{background:var(--c-accent-h);}

  /* Calendário do motor de reservas — seleção de check-in/check-out */
  .date-field{position:relative;}
  .booking-calendar-backdrop{position:fixed; inset:0; z-index:40; display:none;}
  .booking-calendar-backdrop.open{display:block;}
  .booking-calendar{
    position:absolute; top:calc(100% + 0.8rem); left:0; z-index:50; background:#fff; border-radius:8px;
    box-shadow:0 24px 60px rgba(25,18,12,0.28); padding:1.3rem 1.3rem 1.1rem; width:320px; display:none;
  }
  .booking-calendar.open{display:block;}
  .bc-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:0.9rem;}
  .bc-header button{
    background:none; border:1px solid var(--c-border); cursor:pointer; font-size:0.9rem; color:var(--c-dark);
    width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .25s;
  }
  .bc-header button:hover{background:var(--c-duna);}
  .bc-title{font-family:var(--font-display); font-size:0.9rem; color:var(--c-dark); text-transform:capitalize;}
  .bc-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center;}
  .bc-dow{font-size:0.58rem; font-weight:600; color:var(--c-mid); padding:0.4rem 0; text-transform:uppercase;}
  .bc-day{font-size:0.8rem; padding:0.55rem 0; cursor:pointer; border-radius:5px; color:var(--c-dark); transition:background .2s;}
  .bc-day:hover{background:var(--c-duna);}
  .bc-day.empty{cursor:default; pointer-events:none;}
  .bc-day.disabled{color:var(--c-border); cursor:default; pointer-events:none;}
  .bc-day.selected{background:var(--c-falesia); color:#fff;}
  .bc-day.in-range{background:rgba(198,78,62,0.15);}
  .bc-footer{margin-top:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem;}
  .bc-hint{font-size:0.72rem; color:var(--c-mid);}
  .bc-footer button#bcConfirm{
    font-family:var(--font-body); font-size:0.6rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    background:var(--c-iguana); color:#fff; border:none; padding:0.7rem 1.4rem; border-radius:999px; cursor:pointer;
    transition:background .25s; white-space:nowrap;
  }
  .bc-footer button#bcConfirm:hover{background:var(--c-accent-h);}
  .bc-footer button#bcConfirm:disabled{background:var(--c-border); cursor:not-allowed;}

  @media (max-width:640px){
    .booking-calendar{
      position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:51;
      width:calc(100vw - 2.4rem); max-width:340px;
    }
  }

  @media (max-width:980px){
    .booking-bar{grid-template-columns:1fr; }
    .booking-field{border-right:none; border-bottom:1px solid rgba(243,231,214,0.14); padding:1rem 1.4rem;}
    .booking-btn{padding:1.1rem;}
  }

  /* ============ SEÇÃO 2 — INTRO ============ */
  .section-intro{padding:8rem 3rem 7rem; max-width:1280px; margin:0 auto;}
  .section-intro-inner{display:grid; grid-template-columns:0.95fr 1.05fr; gap:5rem; align-items:center;}
  .intro-label{font-size:0.66rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-tag); margin-bottom:1.2rem;}
  .intro-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.5rem,2.6vw,2.15rem); line-height:1.3; color:var(--c-ink); margin-bottom:1.6rem;}
  .intro-divider{width:52px; height:2px; background:var(--c-iguana); margin-bottom:1.6rem;}
  .intro-text{font-size:0.94rem; line-height:1.85; color:var(--c-mid); max-width:480px;}
  .intro-text + .intro-text{margin-top:1.1rem;}
  .intro-img-wrap{position:relative; border-radius:4px; overflow:hidden; aspect-ratio:4/5;}
  .intro-img-wrap img{width:100%; height:100%; object-fit:cover;}
  .intro-watermark{position:absolute; width:170px; height:auto; opacity:0.9; right:-50px; bottom:-36px; z-index:-1;}

  @media (max-width:980px){
    .section-intro{padding:6rem 1.4rem 4rem;}
    .section-intro-inner{grid-template-columns:1fr; gap:2.4rem;}
    .intro-img-wrap{order:-1;}
  }

  /* ============ SEÇÃO 3 — DATAS ============ */
  .section-datas{padding:6rem 3rem 8rem; background:var(--c-bg);}
  .section-header{text-align:center; max-width:640px; margin:0 auto 3.6rem;}
  .section-eyebrow{font-size:0.66rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-tag); margin-bottom:1rem; position:relative; padding-bottom:0.9rem; display:inline-block;}
  .section-eyebrow::after{content:'';position:absolute; left:0; bottom:0; width:28px; height:1px; background:var(--c-ink);}
  .section-header .section-eyebrow{display:block; margin-left:auto; margin-right:auto;}
  .section-header .section-eyebrow::after{left:50%; transform:translateX(-50%);}
  .section-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.32; color:var(--c-ink);}
  .datas-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; max-width:1180px; margin:0 auto;}
  .data-card{position:relative; aspect-ratio:3/4.1; overflow:hidden; border-radius:3px; transition:transform .35s var(--ease-out), box-shadow .35s;}
  .data-card:hover{transform:translateY(-6px); box-shadow:0 24px 44px rgba(60,45,30,0.22);}
  .data-card-img{position:absolute; inset:0;}
  .data-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out);}
  .data-card:hover .data-card-img img{transform:scale(1.06);}
  .data-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(25,18,12,0.82) 0%, rgba(25,18,12,0.05) 46%);}
  .data-card-body{position:relative; z-index:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:1.8rem 1.8rem 2rem;}
  .data-card-period{font-size:0.62rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#fff; margin-bottom:0.5rem;}
  .data-card-title{font-family:var(--font-display); font-weight:400; font-size:1.4rem; color:#fff; margin-bottom:1.2rem;}
  .data-card-btn{
    display:inline-block; align-self:flex-start; font-family:var(--font-body); font-size:0.62rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
    border:1px solid rgba(255,255,255,0.6); color:#fff; padding:0.75rem 1.6rem; border-radius:999px; transition:background .3s, color .3s;
  }
  .data-card-btn:hover{background:#fff; color:var(--c-ink);}
  .datas-cta{text-align:center; margin-top:3.4rem;}
  .btn-outline{
    display:inline-block; font-family:var(--font-body); font-size:0.63rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
    border:1px solid var(--c-ink); padding:1rem 2.6rem; border-radius:999px; color:var(--c-ink); transition:background .3s, color .3s;
  }
  .btn-outline:hover{background:var(--c-ink); color:var(--c-duna);}
  .btn-outline.on-dark{border-color:rgba(255,255,255,0.55); color:#fff;}
  .btn-outline.on-dark:hover{background:#fff; color:var(--c-ink);}
  .btn-primary{
    display:inline-block; font-family:var(--font-body); font-size:0.63rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
    background:var(--c-falesia); color:#fff; padding:1.05rem 2.8rem; border-radius:999px; transition:background .3s; border:none;
  }
  .btn-primary:hover{background:#A93F32;}

  @media (max-width:980px){
    .section-datas{padding:5rem 1.4rem;}
    .datas-grid{grid-template-columns:1fr; gap:1.2rem;}
  }

  /* ============ SEÇÃO 4 — EXPERIÊNCIAS (carrossel full-screen, ref. Litoral Sul) ============ */
  .exp-section{position:relative; height:100vh; min-height:680px; overflow:hidden; color:#fff;}
  .exp-slide{position:absolute; inset:0; opacity:0; transition:opacity 1.1s var(--ease-out); background-size:cover; background-position:center;}
  .exp-slide.active{opacity:1;}
  .exp-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(25,18,12,0.68) 0%, rgba(25,18,12,0.08) 45%, rgba(25,18,12,0.28) 100%);}
  .exp-overlay{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:9rem 3rem 5rem;}
  .exp-top{max-width:560px;}
  .exp-tag{font-size:0.68rem; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:#fff; margin-bottom:0.8rem;}
  .exp-title{font-family:var(--font-display); font-weight:300; font-size:clamp(0.8rem,1.3vw,1.15rem); line-height:1.4; max-width:560px; margin:0;}
  .exp-current-name{font-family:var(--font-display); font-weight:400; font-size:clamp(1.15rem,1.9vw,1.5rem); color:var(--c-duna); margin-bottom:2.2rem;}
  .exp-nav{display:flex; align-items:center; gap:1.4rem;}
  .exp-arrow{
    width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,0.45); background:rgba(255,255,255,0.06);
    color:#fff; font-size:1.15rem; display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s;
  }
  .exp-arrow:hover{background:rgba(255,255,255,0.2); border-color:#fff;}
  .exp-counter{font-size:0.68rem; letter-spacing:0.1em; color:rgba(255,255,255,0.7);}
  .exp-cta-wrap{position:absolute; right:3rem; bottom:5rem; z-index:2;}

  @media (max-width:980px){
    .exp-overlay{padding:6.5rem 1.4rem 3.5rem;}
    .exp-cta-wrap{position:static; margin-top:1.6rem;}
  }

  /* ============ SEÇÃO 5 — colagem centralizada (ref. "Viva o mundo ao seu redor") ============ */
  .section-frase{padding:6.5rem 3rem; background:var(--c-bg);}
  .frase-icon{width:52px; height:auto; margin:0 auto 1.6rem; opacity:0.85;}
  .frase-center{text-align:center; max-width:700px; margin:0 auto;}
  .frase-text{
    font-family:var(--font-display); font-weight:300; font-size:clamp(1.1rem,1.8vw,1.4rem); line-height:1.7; letter-spacing:0.03em; color:var(--c-ink);
  }
  .frase-text em{font-style:normal; font-weight:600; color:var(--c-tag);}

  @media (max-width:640px){
    .section-frase{padding:4.5rem 1.4rem;}
  }

  /* ============ SEÇÃO 6 — ACOMODAÇÕES (carrossel BA'RA-style) ============ */
  .acoms-section{position:relative; height:100vh; min-height:700px; overflow:hidden; color:#fff;}
  .acoms-section::before{content:''; position:absolute; top:0; left:0; right:0; height:340px; z-index:1; pointer-events:none; background:linear-gradient(180deg, var(--c-bg) 0%, var(--c-bg) 8%, rgba(240,238,234,0.75) 30%, rgba(240,238,234,0.35) 55%, rgba(240,238,234,0.1) 78%, rgba(240,238,234,0) 100%);}
  .acoms-slide{position:absolute; inset:0; opacity:0; transition:opacity 1s var(--ease-out); background-size:cover; background-position:center;}
  .acoms-slide.active{opacity:1;}
  .acoms-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(25,18,12,0.78) 0%, rgba(25,18,12,0.05) 42%, rgba(25,18,12,0.35) 100%);}
  .acoms-overlay{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:space-between;}
  .acoms-top{display:flex; justify-content:space-between; align-items:flex-start; padding:8rem 3rem 0;}
  .acoms-header .section-eyebrow{color:var(--c-iguana);}
  .acoms-header .section-h2{color:#fff; text-align:left;}
  .acoms-mid{flex:1; display:flex; align-items:flex-end; padding:0 3rem 2.4rem; gap:2rem; flex-wrap:wrap; justify-content:space-between;}
  .acoms-info{max-width:520px;}
  .acoms-nav-arrows{display:flex; gap:0.8rem; margin-top:1.6rem;}
  .acoms-name{font-family:var(--font-display); font-weight:300; font-size:clamp(1.5rem,2.8vw,2.3rem); margin-bottom:1rem;}
  .acoms-desc{font-size:0.9rem; line-height:1.75; color:rgba(255,255,255,0.88); min-height:3.2em;}
  .acoms-right{display:flex; flex-direction:column; align-items:flex-end; gap:1.4rem;}
  .acoms-nav-arrows{display:flex; gap:0.8rem;}
  .acoms-arrow{
    width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,0.4); background:rgba(255,255,255,0.08);
    color:#fff; font-size:1.1rem; display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s;
  }
  .acoms-arrow:hover{background:rgba(255,255,255,0.22); border-color:#fff;}
  .acoms-tabs-bar{position:relative; z-index:2; background:var(--c-overlay-dark); display:flex; overflow-x:auto;}
  .acoms-tab{
    flex:1; text-align:center; font-family:var(--font-body); font-size:0.6rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
    color:rgba(243,231,214,0.5); padding:1.1rem 1rem; white-space:nowrap; border-bottom:2px solid transparent; transition:color .3s, border-color .3s, background .3s;
  }
  .acoms-tab.active{color:#fff; border-color:var(--c-falesia); background:rgba(255,255,255,0.04);}

  @media (max-width:980px){
    .acoms-top{padding:7rem 1.4rem 0; flex-direction:column; gap:1.4rem;}
    .acoms-mid{padding:0 1.4rem 2rem; flex-direction:column; align-items:flex-start;}
    .acoms-right{align-items:flex-start;}
    .acoms-tab{padding:0.9rem 0.8rem; font-size:0.56rem;}
  }

  /* ============ SEÇÃO 7 — EVENTOS (full screen, texto+CTA sobre foto, ref. suíte) ============ */
  .section-eventos{padding:6.5rem 3rem 7rem; background:var(--c-bg);}
  .eventos-top-rule{max-width:1360px; margin:0 auto; height:1px; background:var(--c-border);}
  .eventos-header{margin-bottom:3.6rem; display:grid; grid-template-columns:200px 1fr; gap:2rem; align-items:start;}
  .eventos-header .section-eyebrow{margin-bottom:0;}
  .eventos-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.4rem,2.2vw,1.9rem); line-height:1.4; color:var(--c-ink); margin-bottom:1.1rem; max-width:640px;}
  .eventos-text{font-size:0.86rem; line-height:1.8; color:var(--c-mid); margin-bottom:1.3rem; max-width:520px;}

  .eventos-carousel-wrap{position:relative; display:flex; align-items:center; gap:1rem;}
  .eventos-carousel{display:flex; gap:1.3rem; overflow-x:hidden; scroll-behavior:smooth; flex:1;}
  .eventos-card{flex:0 0 calc(33.333% - 0.87rem); min-width:220px;}
  .eventos-card-img{aspect-ratio:4/5; overflow:hidden; border-radius:2px;}
  .eventos-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out);}
  .eventos-card:hover .eventos-card-img img{transform:scale(1.05);}
  .eventos-arrow{
    flex:0 0 auto; width:40px; height:40px; border-radius:50%; border:1px solid var(--c-border); background:var(--c-bg);
    color:var(--c-ink); font-size:1rem; display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s; z-index:2;
  }
  .eventos-arrow:hover{background:var(--c-ink); color:var(--c-bg); border-color:var(--c-ink);}
  .eventos-cta-mobile{display:none;}

  @media (max-width:980px){
    .section-eventos{padding:4.5rem 1.4rem 5rem;}
    .eventos-header{grid-template-columns:1fr; gap:1rem;}
    .eventos-card{flex:0 0 100%; min-width:0;}
    .eventos-header a.btn-outline{display:none;}
    .eventos-cta-mobile{display:block; text-align:center; margin-top:1.8rem;}
  }
  @media (max-width:640px){
    .eventos-carousel-wrap{gap:0;}
    .eventos-carousel{padding:0 1.4rem; scroll-snap-type:x mandatory;}
    .eventos-card{scroll-snap-align:start;}
    .eventos-arrow{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.92); box-shadow:0 4px 14px rgba(25,18,12,0.18);}
    .eventos-arrow#eventosPrev{left:0.6rem;}
    .eventos-arrow#eventosNext{right:0.6rem;}
  }

  /* ============ SEÇÃO 8 — DEPOIMENTOS ============ */
  .section-dep{padding:8rem 3rem; background:var(--c-bg);}
  .dep-inner{max-width:1180px; margin:0 auto;}
  .dep-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; margin-top:3.6rem;}
  .dep-card{background:#fff; border:1px solid var(--c-border); padding:2.4rem 2rem;}
  .dep-stars{color:var(--c-falesia); font-size:0.85rem; letter-spacing:0.12em; margin-bottom:1.2rem;}
  .dep-text{font-size:0.86rem; line-height:1.75; color:var(--c-mid); font-style:italic; margin-bottom:1.6rem;}
  .dep-author{font-family:var(--font-display); font-weight:400; font-size:1rem; color:var(--c-ink);}
  .dep-source{font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--c-baia); margin-top:0.2rem;}

  @media (max-width:980px){
    .section-dep{padding:5rem 1.4rem;}
    .dep-grid{grid-template-columns:1fr; gap:1.2rem;}
  }

  /* ============ FOOTER ============ */
  .footer{background:var(--c-iguana); color:rgba(243,231,214,0.78); padding:5rem 3rem 2rem;}
  .footer-inner{max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:3rem;}
  .footer-logo-img{height:52px; width:auto; margin-bottom:1.2rem; filter:brightness(0) invert(1);}
  .footer-tagline{font-size:0.82rem; line-height:1.7; color:rgba(243,231,214,0.6);}
  .footer-col-title{font-family:var(--font-body); font-size:0.64rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--c-duna); margin-bottom:1.2rem;}
  .footer-links li{margin-bottom:0.7rem;}
  .footer-links a{font-size:0.82rem; color:rgba(243,231,214,0.65); transition:color .25s;}
  .footer-links a:hover{color:#fff;}
  .footer-bottom{max-width:1280px; margin:3.6rem auto 0; padding-top:1.8rem; border-top:1px solid rgba(243,231,214,0.14); text-align:center;}
  .footer-copy{font-size:0.72rem; color:rgba(243,231,214,0.45); letter-spacing:0.02em;}

  @media (max-width:980px){
    .footer{padding:4rem 1.4rem 2rem;}
    .footer-inner{grid-template-columns:1fr 1fr; gap:2.4rem;}
  }
  @media (max-width:560px){
    .footer-inner{grid-template-columns:1fr; gap:2.2rem;}
  }

  /* ============ WHATSAPP FLOAT ============ */
  .whatsapp-float{
    position:fixed; bottom:1.8rem; left:1.8rem; z-index:580; width:54px; height:54px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,0.25);
    transition:transform .3s;
  }
  .whatsapp-float:hover{transform:scale(1.08);}
  .whatsapp-float svg{width:25px; height:25px; fill:#fff;}

  /* Efeito de fade-in ao rolar foi removido — em favor de garantir que o
     conteúdo NUNCA fique invisível, independente de cache/JS do servidor. */
  .reveal{opacity:1 !important; transform:none !important;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ═══════════════════════════════════════════════════════════════════════
     ESTILOS COMPARTILHADOS — páginas internas (O Aldeia, Acomodações, etc.)
     ═══════════════════════════════════════════════════════════════════════ */

  /* Hero simples de página interna (foto + título) */
  .pg-hero{position:relative; height:70vh; min-height:460px; display:flex; align-items:flex-end; overflow:hidden;}
  .pg-hero-bg{position:absolute; inset:0; background-size:cover; background-position:center;}
  .pg-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(25,18,12,0.62) 0%, rgba(25,18,12,0.12) 60%);}
  .pg-hero-content{position:relative; z-index:2; padding:0 3rem 3.6rem; max-width:760px;}
  .pg-hero-eyebrow{font-family:var(--font-body); font-size:0.66rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.75); margin-bottom:0.9rem;}
  .pg-hero-h1{font-family:var(--font-display); font-weight:300; font-size:clamp(1.7rem,3.6vw,2.9rem); line-height:1.18; color:#fff;}
  @media (max-width:980px){ .pg-hero-content{padding:0 1.4rem 2.6rem;} }

  /* Tags */
  .pg-tag{display:block; font-size:0.66rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-tag); margin-bottom:1rem; position:relative; padding-bottom:0.9rem;}
  .pg-tag::after{content:'';position:absolute; left:0; bottom:0; width:28px; height:1px; background:var(--c-ink);}
  .pg-tag-light{display:block; font-size:0.66rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-baia); margin-bottom:1rem;}

  /* Bloco alternado (foto + texto, alterna lado a cada seção) */
  .pg-bloco{background:var(--c-bg);}
  .pg-bloco-inner{max-width:1320px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; align-items:center;}
  .pg-bloco.reverse .pg-bloco-inner{direction:rtl;}
  .pg-bloco.reverse .pg-bloco-inner > *{direction:ltr;}
  .pg-bloco-media{position:relative; overflow:hidden; background:#ded9cd; aspect-ratio:6/5; max-height:560px; min-width:0;}
  .pg-bloco-media img{width:100%; height:100%; object-fit:cover; display:block;}
  .pg-bloco-content{padding:4rem 4rem; display:flex; flex-direction:column; justify-content:center; min-width:0;}
  .pg-bloco-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.35rem,2.2vw,1.9rem); line-height:1.34; color:var(--c-ink); margin-bottom:1.4rem;}
  .pg-bloco-text{font-size:0.92rem; line-height:1.85; color:var(--c-mid); max-width:460px;}
  .pg-bloco-text + .pg-bloco-text{margin-top:1rem;}
  .pg-bloco-cta{display:inline-block; margin-top:1.6rem; font-family:var(--font-body); font-size:0.78rem; font-weight:500; color:var(--c-ink); text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--c-falesia); transition:opacity .25s;}
  .pg-bloco-cta:hover{opacity:0.7;}

  @media (max-width:980px){
    .pg-bloco-inner{grid-template-columns:1fr; min-height:0; direction:ltr !important;}
    .pg-bloco-media{aspect-ratio:4/3; min-height:0; order:2;}
    .pg-bloco-content{padding:3rem 1.4rem; order:1;}
  }

  /* Banner cheio, foto de fundo escura (ex.: "O Cenário", "Localização") */
  .pg-cenario{position:relative; min-height:78vh; display:flex; align-items:center; overflow:hidden;}
  .pg-cenario-bg{position:absolute; inset:0; background-size:cover; background-position:center;}
  .pg-cenario-bg::after{content:'';position:absolute;inset:0;background:rgba(25,18,12,0.5);}
  .pg-cenario-content{position:relative; z-index:2; padding:6rem 4rem; max-width:640px;}
  .pg-cenario-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.4rem,2.6vw,2.1rem); line-height:1.32; color:#fff; margin-bottom:1.3rem;}
  .pg-cenario-text{font-size:0.94rem; line-height:1.85; color:rgba(255,255,255,0.78); max-width:520px;}
  .pg-cenario-text + .pg-cenario-text{margin-top:1rem;}
  .pg-cenario-btn{display:inline-block; margin-top:1.6rem; font-family:var(--font-body); font-size:0.62rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; background:var(--c-falesia); color:#fff; padding:0.95rem 2.2rem; border-radius:999px; transition:background .3s;}
  .pg-cenario-btn:hover{background:#A93F32;}
  @media (max-width:980px){ .pg-cenario-content{padding:4.5rem 1.4rem;} }

  /* Localização — banner full + duas colunas */
  .pg-loc{background:var(--c-overlay-dark);}
  .pg-loc-img-full{width:100%; aspect-ratio:21/8; overflow:hidden; display:block; background:#1a1512;}
  .pg-loc-img-full img{width:100%; height:100%; object-fit:cover; display:block;}
  .pg-loc-cols{max-width:1220px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; padding:5rem 4rem 6rem;}
  .pg-loc-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.4; color:var(--c-duna); margin-bottom:1.2rem;}
  .pg-loc-text{font-size:0.9rem; line-height:1.85; color:rgba(243,231,214,0.62); margin-bottom:1.5rem;}
  .pg-loc-btn{display:inline-block; font-family:var(--font-body); font-size:0.62rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; background:var(--c-restinga); color:var(--c-overlay-dark); border:none; padding:0.9rem 2rem; border-radius:999px; transition:background .3s;}
  .pg-loc-btn:hover{background:#fff;}
  @media (max-width:980px){
    .pg-loc-img-full{aspect-ratio:4/3;}
    .pg-loc-cols{grid-template-columns:1fr; gap:3rem; padding:3.5rem 1.4rem 4rem;}
  }

  /* FAQ acordeão */
  .pg-faq{background:var(--c-bg); padding:7rem 3rem;}
  .pg-faq-inner{max-width:840px; margin:0 auto;}
  .pg-faq-header{margin-bottom:3.2rem;}
  .pg-faq-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.3rem,2.2vw,1.8rem); line-height:1.35; color:var(--c-ink);}
  .pg-faq-list{display:flex; flex-direction:column;}
  .pg-faq-item{border-bottom:1px solid var(--c-border);}
  .pg-faq-question{width:100%; background:none; border:none; cursor:pointer; padding:1.5rem 0; display:flex; align-items:center; justify-content:space-between; gap:1rem; text-align:left; font-family:var(--font-body); font-size:0.92rem; font-weight:500; color:var(--c-ink); line-height:1.4; transition:color .25s;}
  .pg-faq-question:hover{color:var(--c-falesia);}
  .pg-faq-icon{width:22px; height:22px; flex-shrink:0; border-radius:50%; border:1px solid var(--c-border); display:flex; align-items:center; justify-content:center; font-size:0.85rem; color:var(--c-falesia); transition:transform .3s;}
  .pg-faq-item.open .pg-faq-icon{transform:rotate(45deg);}
  .pg-faq-answer{max-height:0; overflow:hidden; transition:max-height .4s ease;}
  .pg-faq-item.open .pg-faq-answer{max-height:400px;}
  .pg-faq-answer p{font-size:0.88rem; line-height:1.8; color:var(--c-mid); padding-bottom:1.5rem;}
  @media (max-width:980px){ .pg-faq{padding:5rem 1.4rem;} }

  /* CTA final */
  .pg-cta{background:var(--c-iguana); padding:7rem 3rem; text-align:center;}
  .pg-cta-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.3rem,2.4vw,2rem); line-height:1.3; color:#fff; margin-bottom:1.2rem;}
  .pg-cta-text{font-size:0.92rem; line-height:1.8; color:rgba(255,255,255,0.85); max-width:560px; margin:0 auto 2rem;}
  @media (max-width:980px){ .pg-cta{padding:5rem 1.4rem;} }

  /* ═══════════════════════════════════════════════════════════════════════
     NAMI & DAY USE — componentes específicos desta página
     ═══════════════════════════════════════════════════════════════════════ */

  /* Intro (tag + h2 + parágrafos, centralizado) */
  .pg-intro{background:var(--c-bg); padding:7rem 3rem 5rem; text-align:center;}
  .pg-intro-inner{max-width:680px; margin:0 auto;}
  .pg-intro-inner .pg-tag{display:inline-block;}
  .pg-intro-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.35; color:var(--c-ink); margin-bottom:1.3rem;}
  .pg-intro-text{font-size:0.92rem; line-height:1.85; color:var(--c-mid);}
  .pg-intro-text + .pg-intro-text{margin-top:0.9rem;}
  @media (max-width:980px){ .pg-intro{padding:5rem 1.4rem 3.5rem;} }

  /* Momentos — abas (Café da Manhã / Almoço / Jantar) + carrossel de fotos */
  .nami-moments{background:var(--c-bg); padding:2rem 3rem 7rem;}
  .nami-moments-inner{max-width:1280px; margin:0 auto;}
  .nami-tabs-row{display:flex; align-items:center; gap:0.6rem; margin-bottom:0.3rem; flex-wrap:wrap;}
  .nami-arrow{
    width:44px; height:44px; border-radius:50%; border:1px solid var(--c-border); background:none;
    color:var(--c-ink); font-size:1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:background .3s, border-color .3s, color .3s;
  }
  .nami-arrow:hover{background:var(--c-ink); color:#fff; border-color:var(--c-ink);}
  .nami-tabs{display:flex; gap:2.6rem; margin-left:1rem; flex-wrap:wrap;}
  .nami-tab{
    background:none; border:none; cursor:pointer; text-align:left; padding:0.4rem 0.2rem 0.6rem;
    font-family:var(--font-body); font-size:0.82rem; font-weight:500; color:var(--c-mid);
    border-bottom:1px solid transparent; transition:color .25s, border-color .25s;
  }
  .nami-tab.active{color:var(--c-ink); border-color:var(--c-falesia);}
  .nami-grid{display:grid; grid-template-columns:0.72fr 1.28fr; gap:3rem; align-items:center;}
  .nami-content{}
  .nami-content-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.28; color:var(--c-ink); margin-bottom:1.4rem;}
  .nami-content-text{font-size:0.92rem; line-height:1.85; color:var(--c-mid); max-width:440px;}
  .nami-content-text p + p{margin-top:0.9rem;}
  .nami-photo-wrap{position:relative; aspect-ratio:5/4; overflow:hidden; border-radius:3px; background:#ded9cd;}
  .nami-photo{position:absolute; inset:0; opacity:0; transition:opacity .6s ease;}
  .nami-photo.active{opacity:1;}
  .nami-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .nami-photo-outer{display:flex; align-items:center; gap:1.2rem; max-width:100%; margin:0 auto;}
  .nami-photo-outer .nami-photo-wrap{flex:1;}
  .nami-photo-arrow{
    flex-shrink:0; width:36px; height:36px; border-radius:50%; border:1px solid var(--c-border); background:var(--c-bg);
    color:var(--c-ink); font-size:0.9rem; display:flex; align-items:center; justify-content:center; transition:background .3s, color .3s, border-color .3s;
  }
  .nami-photo-arrow:hover{background:var(--c-ink); color:#fff; border-color:var(--c-ink);}
  .nami-dots{display:flex; gap:0.5rem; justify-content:center; margin-top:1.1rem;}
  .nami-dot{width:9px; height:9px; border-radius:50%; background:var(--c-border); border:none; cursor:pointer; padding:0; transition:background .25s, transform .25s;}
  .nami-dot.active{background:var(--c-falesia); transform:scale(1.3);}
  @media (max-width:980px){
    .nami-moments{padding:1rem 1.4rem 4.5rem;}
    .nami-grid{grid-template-columns:1fr; gap:2rem;}
    .nami-tabs{gap:1.4rem; margin-left:0;}
    .nami-tabs-row{margin-bottom:1.3rem;}
    .nami-photo-outer{display:block; position:relative;}
    .nami-photo-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:2; background:rgba(255,255,255,0.9);}
    .nami-photo-arrow.left{left:0.6rem;}
    .nami-photo-arrow.right{right:0.6rem;}
  }

  /* Horário de funcionamento */
  .pg-horario{background:var(--c-overlay-dark); padding:5.5rem 3rem; color:#fff;}
  .pg-horario-inner{max-width:900px; margin:0 auto; text-align:center;}
  .pg-horario-tag{font-family:var(--font-body); font-size:0.68rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-baia); margin-bottom:2.2rem;}
  .pg-horario-cols{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; max-width:640px; margin:0 auto 2.4rem; text-align:left;}
  .pg-horario-col-title{font-family:var(--font-display); font-weight:400; font-size:1.15rem; color:#fff; margin-bottom:0.7rem;}
  .pg-horario-col-items{font-size:0.85rem; line-height:2; color:rgba(255,255,255,0.68);}
  .pg-horario-note{font-size:0.82rem; color:rgba(255,255,255,0.55); font-style:italic; margin-bottom:2.2rem;}
  .pg-horario-btns{display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;}
  @media (max-width:980px){
    .pg-horario{padding:4rem 1.4rem;}
    .pg-horario-cols{grid-template-columns:1fr; gap:1.6rem; text-align:center;}
    .pg-horario-btns{flex-direction:column; align-items:stretch; max-width:320px; margin:0 auto;}
    .pg-horario-btns a{text-align:center;}
  }

  /* Day Use — foto/vídeo de tela cheia */
  .pg-fullscreen{position:relative; height:100vh; min-height:560px; overflow:hidden; display:flex; align-items:center; justify-content:center;}
  .pg-fullscreen-bg{position:absolute; inset:0; background-size:cover; background-position:center; overflow:hidden;}
  .pg-fullscreen-bg::after{content:'';position:absolute;inset:0;background:rgba(25,18,12,0.4);}
  .pg-fullscreen-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .pg-fullscreen-label{position:relative; z-index:2; font-family:var(--font-display); font-weight:300; letter-spacing:0.06em; font-size:clamp(2.4rem,7vw,5.5rem); color:#fff;}

  /* Day Use — texto + lista de detalhes */
  .pg-dayuse-info{background:var(--c-bg);}
  .pg-dayuse-inner{max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding:6.5rem 3rem;}
  .pg-dayuse-text-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.35; color:var(--c-ink); margin-bottom:1.3rem;}
  .pg-dayuse-text p{font-size:0.92rem; line-height:1.85; color:var(--c-mid); max-width:460px;}
  .pg-dayuse-text p + p{margin-top:1rem;}
  .pg-dayuse-list{list-style:none; padding:0; margin:0; border-top:1px solid var(--c-border);}
  .pg-dayuse-list li{padding:1.1rem 0; border-bottom:1px solid var(--c-border); font-size:0.88rem; line-height:1.7; color:var(--c-mid); display:flex; gap:0.8rem;}
  .pg-dayuse-list li::before{content:'—'; color:var(--c-falesia); flex-shrink:0;}
  .pg-dayuse-list li small{display:block; margin-top:0.35rem; color:var(--c-mid); opacity:0.8; font-size:0.82rem;}
  .dayuse-btn-mobile{display:none;}
  @media (max-width:980px){
    .pg-dayuse-inner{grid-template-columns:1fr; gap:2.4rem; padding:4.5rem 1.4rem;}
    .dayuse-btn-desktop{display:none !important;}
    .dayuse-btn-mobile{display:inline-block; margin-top:1.8rem;}
    .pg-dayuse-list li{display:block;}
    .pg-dayuse-list li::before{display:inline; margin-right:0.4rem;}
    .pg-dayuse-list li small{margin-top:0.5rem;}
  }

  /* ═══════════════════════════════════════════════════════════════════════
     EVENTOS — carrossel de tipos de evento + galeria
     ═══════════════════════════════════════════════════════════════════════ */

  /* Carrossel de tipos de evento (foto em cima, texto embaixo, 3 por vez) */
  .evt-section{background:var(--c-bg); padding:1rem 0 7rem;}
  .evt-nav{display:flex; justify-content:flex-end; gap:0.6rem; max-width:1320px; margin:0 auto; padding:0 3rem 1.4rem;}
  .evt-arrow{
    width:44px; height:44px; border-radius:50%; border:1px solid var(--c-border); background:none;
    color:var(--c-ink); font-size:1rem; display:flex; align-items:center; justify-content:center;
    transition:background .3s, border-color .3s, color .3s;
  }
  .evt-arrow:hover{background:var(--c-ink); color:#fff; border-color:var(--c-ink);}
  .evt-track{display:flex; gap:1.8rem; overflow-x:hidden; scroll-behavior:smooth; max-width:1320px; margin:0 auto; padding:0 3rem; scroll-snap-type:x mandatory;}
  .evt-card{flex:0 0 calc(25% - 1.35rem); scroll-snap-align:start;}
  .evt-card-img{position:relative; aspect-ratio:3/4; overflow:hidden; background:#ded9cd; margin-bottom:1.3rem;}
  .evt-card-img img{width:100%; height:100%; object-fit:cover; display:block;}
  .evt-card-location{font-size:0.66rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--c-tag); line-height:1.5; margin-bottom:0.7rem;}
  .evt-card-body{padding:0;}
  .evt-card-title{font-family:var(--font-display); font-weight:400; font-size:clamp(1.15rem,1.7vw,1.45rem); line-height:1.28; color:var(--c-ink); margin-bottom:0.7rem;}
  .evt-card-text{font-size:0.85rem; line-height:1.7; color:var(--c-mid);}
  @media (max-width:980px){
    .evt-nav{padding:0 1.4rem 1.2rem;}
    .evt-track{padding:0 1.4rem;}
    .evt-card{flex:0 0 100%;}
  }
  @media (max-width:640px){
    .evt-carousel-outer{position:relative;}
    .evt-nav{padding:0;}
    .evt-track{padding:0 1.4rem;}
    .evt-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:2; background:rgba(255,255,255,0.92); box-shadow:0 4px 14px rgba(25,18,12,0.18);}
    .evt-arrow#evtPrev{left:0.6rem;}
    .evt-arrow#evtNext{right:0.6rem;}
  }

  /* Galeria de fotos (seção final) */
  .pg-galeria{background:var(--c-bg); padding:1rem 0 6rem;}
  .pg-galeria-header{display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; max-width:1320px; margin:0 auto; padding:0 3rem 1.6rem;}
  .pg-galeria-h2{font-family:var(--font-display); font-weight:300; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.3; color:var(--c-ink); margin:0;}
  .pg-galeria-nav{display:flex; gap:0.6rem; flex-shrink:0;}
  .pg-galeria-arrow{
    width:44px; height:44px; border-radius:50%; border:1px solid var(--c-border); background:none;
    color:var(--c-ink); font-size:1rem; display:flex; align-items:center; justify-content:center;
    transition:background .3s, border-color .3s, color .3s;
  }
  .pg-galeria-arrow:hover{background:var(--c-ink); color:#fff; border-color:var(--c-ink);}
  .pg-galeria-track{display:flex; gap:0; overflow-x:hidden; scroll-behavior:smooth;}
  .pg-galeria-card{flex:0 0 33.3334%;}
  .pg-galeria-card img{width:100%; aspect-ratio:5/5.4; object-fit:cover; display:block;}
  .pg-galeria-cta{text-align:center; margin-top:2.6rem; padding:0 3rem;}
  .pg-galeria-nav-mobile{display:none;}
  @media (max-width:980px){
    .pg-galeria{padding:0.5rem 0 4.5rem;}
    .pg-galeria-header{padding:0 1.4rem 1.2rem;}
    .pg-galeria-card{flex:0 0 88%;}
  }
  @media (max-width:640px){
    .pg-galeria-nav{display:none;}
    .pg-galeria-h2{width:100%;}
    .pg-galeria-carousel-outer{position:relative;}
    .pg-galeria-nav-mobile{display:flex;}
    .pg-galeria-track{padding:0 1.4rem;}
    .pg-galeria-nav-mobile .pg-galeria-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:2; background:rgba(255,255,255,0.92); box-shadow:0 4px 14px rgba(25,18,12,0.18);}
    .pg-galeria-nav-mobile .galeria-prev-btn{left:0.6rem;}
    .pg-galeria-nav-mobile .galeria-next-btn{right:0.6rem;}
  }

  /* ═══════════════════════════════════════════════════════════════════════
     ACOMODAÇÕES — "Escolha a sua vista" (toggle + carrossel + popup) e tabela
     ═══════════════════════════════════════════════════════════════════════ */

  .acm-section{background:var(--c-bg); padding:5rem 0 6rem;}
  .acm-header{text-align:center; max-width:640px; margin:0 auto 2.2rem; padding:0 1.4rem;}

  /* Toggle Vista Jardim / Vista Mar */
  .acm-toggle-row{display:flex; justify-content:center; gap:2.4rem; margin-bottom:2.6rem;}
  .acm-toggle{
    background:none; border:none; cursor:pointer; padding:0.5rem 0.2rem 0.6rem;
    font-family:var(--font-body); font-size:0.86rem; font-weight:500; color:var(--c-mid);
    border-bottom:1px solid transparent; transition:color .25s, border-color .25s;
  }
  .acm-toggle.active{color:var(--c-falesia); border-color:var(--c-falesia);}

  /* Carrossel de cards */
  .acm-carousel-wrap{position:relative; max-width:1320px; margin:0 auto; padding:0 3rem;}
  .acm-arrow{
    position:absolute; top:45%; transform:translateY(-50%); z-index:3; width:46px; height:46px; border-radius:50%;
    border:1px solid var(--c-border); background:var(--c-bg); color:var(--c-ink); font-size:1rem;
    display:flex; align-items:center; justify-content:center; transition:background .3s, color .3s;
  }
  .acm-arrow:hover{background:var(--c-ink); color:#fff;}
  .acm-arrow.prev{left:0.3rem;}
  .acm-arrow.next{right:0.3rem;}
  .acm-track{display:flex; gap:1.1rem; overflow-x:hidden; scroll-behavior:smooth;}
  .acm-card{flex:0 0 calc(33.3334% - 0.74rem); position:relative; aspect-ratio:1/1; overflow:hidden; background:#ded9cd;}
  .acm-card img{width:100%; height:100%; object-fit:cover; display:block;}
  .acm-card::after{content:'';position:absolute; inset:0; background:linear-gradient(0deg, rgba(25,18,12,0.78) 0%, rgba(25,18,12,0) 50%);}
  .acm-card-info{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:1.6rem 1.4rem; text-align:center;}
  .acm-card-meta{font-family:var(--font-body); font-size:0.66rem; font-weight:600; letter-spacing:0.04em; color:rgba(255,255,255,0.72); margin-bottom:0.4rem;}
  .acm-card-name{font-family:var(--font-body); font-size:0.92rem; font-weight:600; color:#fff; margin-bottom:0.7rem;}
  .acm-card-more{
    background:none; border:none; cursor:pointer; font-family:var(--font-body); font-size:0.68rem; font-weight:500;
    letter-spacing:0.02em; color:rgba(255,255,255,0.85); text-decoration:underline; text-underline-offset:3px;
    transition:color .25s; padding:0.5rem 0.4rem;
  }
  .acm-card-more:hover{color:#fff;}

  @media (max-width:980px){
    .acm-carousel-wrap{padding:0 1.4rem;}
    .acm-arrow{width:38px; height:38px;}
    .acm-card{flex:0 0 84%;}
  }

  /* Popup de detalhes da acomodação */
  .acm-modal{position:fixed; inset:0; z-index:900; display:none; align-items:center; justify-content:center; padding:1.6rem;}
  .acm-modal.open{display:flex;}
  .acm-modal-backdrop{position:absolute; inset:0; background:rgba(25,18,12,0.72);}
  .acm-modal-box{
    position:relative; z-index:1; background:var(--c-bg); max-width:960px; width:100%; max-height:90vh; overflow-y:auto;
    display:grid; grid-template-columns:1.05fr 0.95fr; align-items:start;
  }
  .acm-modal-photo-wrap{position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; background:#ded9cd;}
  .acm-modal-photo{position:absolute; inset:0; opacity:0; transition:opacity .5s ease;}
  .acm-modal-photo.active{opacity:1;}
  .acm-modal-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .acm-modal-photo-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:36px; height:36px; border-radius:50%;
    border:none; background:rgba(255,255,255,0.85); color:var(--c-ink); font-size:0.9rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background .25s;
  }
  .acm-modal-photo-arrow:hover{background:#fff;}
  .acm-modal-photo-arrow.left{left:0.6rem;}
  .acm-modal-photo-arrow.right{right:0.6rem;}
  .acm-modal-photo-dots{position:absolute; left:0; right:0; bottom:0.9rem; z-index:2; display:flex; gap:0.4rem; justify-content:center;}
  .acm-modal-photo-dot{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.55); border:none; cursor:pointer; padding:0;}
  .acm-modal-photo-dot.active{background:#fff;}
  .acm-modal-content{padding:2rem 2.2rem; text-align:left; align-self:stretch; display:flex; flex-direction:column; justify-content:center;}
  #acmModalCta{align-self:flex-start;}
  .acm-modal-close{
    position:absolute; top:1.6rem; right:1.6rem; z-index:3; width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,0.9); border:none; color:var(--c-ink); font-size:1.1rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background .25s;
  }
  .acm-modal-close:hover{background:#fff;}
  .acm-modal-name{font-family:var(--font-display); font-weight:400; font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.2; color:var(--c-ink); margin-bottom:0.4rem;}
  .acm-modal-meta{font-size:0.72rem; font-weight:600; letter-spacing:0.05em; color:var(--c-tag); text-transform:uppercase; margin-bottom:0.9rem;}
  .acm-modal-desc{font-size:0.82rem; line-height:1.6; color:var(--c-mid); margin-bottom:1.1rem;}
  .acm-modal-amenities{list-style:none; padding:0; margin:0 0 1.2rem; display:grid; grid-template-columns:1fr 1fr; gap:0.45rem 1rem; text-align:left;}
  .acm-modal-amenities li{font-size:0.74rem; color:var(--c-mid); display:flex; align-items:center; gap:0.5rem;}
  .acm-modal-amenities li::before{content:'✓'; color:var(--c-iguana); font-weight:700; flex-shrink:0;}
  @media (max-width:820px){
    .acm-modal-box{grid-template-columns:1fr; max-height:92vh;}
    .acm-modal-content{padding:2rem 1.6rem;}
    .acm-modal-amenities{grid-template-columns:1fr;}
  }

  /* Seção 3 — tabela comparativa */
  .acm-compare{background:var(--c-bg); padding:1rem 3rem 6rem;}
  .acm-compare-inner{max-width:1000px; margin:0 auto;}
  .acm-compare-groups{display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; margin-bottom:3rem;}
  .acm-compare-group-title{font-family:var(--font-display); font-weight:400; font-size:1.15rem; color:var(--c-ink); margin-bottom:1.1rem; padding-bottom:0.8rem; border-bottom:1px solid var(--c-border);}
  .acm-compare-table{width:100%; border-collapse:collapse;}
  .acm-compare-table th{font-size:0.64rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--c-tag); text-align:left; padding-bottom:0.7rem; border-bottom:1px solid var(--c-border);}
  .acm-compare-table td{font-size:0.82rem; color:var(--c-mid); padding:0.75rem 0; border-bottom:1px solid var(--c-border);}
  .acm-compare-table td:first-child, .acm-compare-table th:first-child{padding-right:0.6rem;}
  .acm-compare-table td:not(:first-child), .acm-compare-table th:not(:first-child){text-align:right;}
  .acm-compare-cta{text-align:center;}
  @media (max-width:980px){
    .acm-compare{padding:1rem 1.4rem 4.5rem;}
    .acm-compare-groups{grid-template-columns:1fr; gap:2.4rem;}
    .acm-compare-table td, .acm-compare-table th{font-size:0.76rem;}
  }
