/*
Theme Name:  Residence Club Hard Rock Gramado (ATUAL 2026-05-14)
Theme URI:   https://meuclubedeferias.com.br
Author:      Meu Clube de Férias
Author URI:  https://meuclubedeferias.com.br
Description: Tema premium para o Residence Club  Hard Rock Hotel & Vacation Club Gramado. Totalmente personalizável pelo Customizador do WordPress com seções hero, conceito, complexo, apartamentos, localização, história, FAQ, blog e formulário de contato. REQUER: Arquivos de áudio em /assets/audio/ (one-note.mp3, guitar-long-sound-with-muting.mp3, fingers-ran-along-the-strings-of-the-guitar.mp3)
Version:     1.0.1
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hardhock
Tags:        custom-colors, custom-logo, custom-menu, featured-images, full-width-template, theme-options, blog, one-page
*/

/* =========================================================
   VARIÁVEIS CSS + BASE
   Hard Rock Design System — Residence Club Gramado
   ========================================================= */
:root {
  /* ── Design System — Paleta oficial ── */
  --color-bg-primary:    #1A1624;
  --color-bg-secondary:  #242033;
  --color-purple:        #242033;
  --color-purple-mid:    #2A253C;
  --color-purple-light:  #2A253C;
  --color-pink:          #d6b55d;
  --color-pink-mid:      #b58f44;
  --color-blue:          #0F54F9;
  --color-gold:          #d6b55d; /* brand gold per guidelines */
  --color-text-primary:  #FFFFFF;
  --color-text-body:     #000000;
  --color-text-dark:     #0A0A0A;

  /* ── Gradientes ── */
  --gradient-hero:  linear-gradient(160deg, #1A1624 0%, var(--color-gold, #d6b55d) 58%, var(--color-gold, #d6b55d) 100%);
  --gradient-cta:   linear-gradient(135deg, #FE5000 0%, var(--color-gold, #d6b55d) 100%);
  --gradient-card:  linear-gradient(180deg, rgba(26,22,36,0) 0%, #1A1624 100%);
  --gradient-bar:   linear-gradient(90deg, var(--color-gold, #d6b55d) 0%, #0F54F9 52%, #FE5000 100%);

  /* ── Aliases --hh-* mapeados para o novo sistema ── */
  --hh-black:         #000000;
  --hh-white:         #ffffff;
  --hh-gold:          var(--color-gold, #d6b55d);
  --hh-gold-light:    #ff7b3d;
  --hh-gold-dark:     #d64500;

  --hh-bg:            var(--color-bg-primary);
  --hh-bg-section:    var(--color-bg-secondary);
  --hh-bg-alt:        #1D1728;
  --hh-bg-card:       #232424; /* card background per guidelines */
  --hh-bg-card-hover: #2b2a2a;
  --hh-bg-input:      rgba(26,22,36,0.85);

  --hh-text-white:    var(--color-text-primary);
  --hh-text-muted:    var(--color-text-body);
  --hh-text-subtle:   rgba(221,215,233,0.45);

  --hh-border:        rgba(132,97,177,0.18);
  --hh-border-gold:    var(--color-gold, #d6b55d);

  --hh-text-dark:     var(--color-text-body);
  --hh-text-gray:     rgba(221,215,233,0.66);
  --hh-light-bg:      var(--color-bg-secondary);
  --hh-lighter-bg:    #2A253C;
  --hh-border-light:  rgba(132,97,177,0.22);

  /* ── Paleta extra ── */
  --hh-purple:        var(--color-purple);
  --hh-purple-dark:   #242033;
  --hh-purple-light:  var(--color-purple-light);
  --hh-purple-bg:     rgba(69,32,111,0.17);
  --hh-orange:        #FE5000;
  --hh-pink:          var(--color-pink);
  --hh-magenta-brand: var(--hh-gold, #d6b55d);
  --hh-blue-brand:    #0F54F9;
  --hh-red-brand:     #ff0f24;
  --hh-yellow-brand:  #F5BD47;
  --hh-green-brand:   #215732;

  /* ── Tipografia ── */
  --hh-font-title:   'Apex Sans', 'ITC Avant Garde Gothic Pro', 'ITC Avant Garde Gothic Std', 'Avant Garde', 'Montserrat', 'Open Sans', sans-serif;
  --hh-font-body:    'Source Sans Pro', 'Open Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --hh-font-script:  var(--hh-font-display);
  --hh-font-display: 'Apex Sans', 'ITC Avant Garde Gothic Pro', 'ITC Avant Garde Gothic Std', 'Avant Garde', 'Montserrat', 'Open Sans', sans-serif;
  --hh-font-heading: var(--hh-font-display);

  /* ── Escala tipográfica (manual) ── */
  --hh-size-headline:  clamp(2.25rem, 6.2vw, 4rem);  /* 36-64 */
  --hh-size-subhead:   clamp(1.125rem, 2.2vw, 1.5rem);/* 18-24 */
  --hh-size-body:      clamp(0.875rem, 1.2vw, 1rem);  /* 14-16 */
  --hh-size-cta:       1.125rem;                      /* 18 */
  --hh-script-scale:   1.10;

  /* ── Título script overlay ── */
  --hh-nav-text:      #ffffff; /* New variable for navigation text color */


  --hh-script-overlap-y:  -0.18em;  /* reduzido: evita sobrepor letras maiúsculas */
  --hh-script-overlap-x:   0.18em;
  --hh-script-shadow:      0 8px 22px rgba(0,0,0,.45);

  /* ── Superfícies escuras premium (evita preto pesado) ── */
  --hh-surface-dark:       #141917;
  --hh-surface-dark-soft:  #1c2521;
  --hh-surface-dark-input: #101613;
  --hh-overlay-gramado-a:  rgba(8,18,14,.62);
  --hh-overlay-gramado-b:  rgba(8,18,14,.34);
  --hh-overlay-rock-a:     rgba(8,18,14,.70);
  --hh-bg-white-wash:      rgba(255,255,255,.035);
  --hh-bg-white-wash-strong: rgba(255,255,255,.050);

  /* ── Acento principal ── */
  --hh-accent:        var(--hh-gold, #d6b55d);
  --hh-accent-hover:  var(--hh-gold-dark);
  --hh-border-accent: rgba(255,45,120,0.35);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--hh-font-body);
  background: var(--color-bg-primary);
  color: var(--color-text-body);
  line-height: 1.65;
  /* overflow-x: hidden removido para permitir scroll livre */
}

body :where(
  h1, h2, h3, h4, h5, h6,
  .hh-nav-link, .hh-sub-link,
  .hh-mega__link, .hh-mega__flat-link, .hh-mega__col-title,
  .hh-btn
) {
  font-family: var(--hh-font-display);
}

img { max-width: 100%; height: auto; display: block; }

.hh-inline-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  color: var(--color-text-primary);
  vertical-align: middle;
}
.hh-inline-icon svg { display: block; }

.hh-container a:not(.hh-btn),
.site-main a:not(.hh-btn),
.entry-content a:not(.hh-btn),
.hh-section a:not(.hh-btn),
.hh-widget a:not(.hh-btn) {
  color: var(--hh-gold, #d6b55d) !important;
  text-decoration: none;
  transition: color .3s;
}

.hh-container a:not(.hh-btn):hover,
.site-main a:not(.hh-btn):hover,
.entry-content a:not(.hh-btn):hover,
.hh-section a:not(.hh-btn):hover,
.hh-widget a:not(.hh-btn):hover {
  color: var(--hh-gold-light);
}

/* =========================================================
  PALETAS — preview por URL (?palette=brand|emerald|olive|teal)
  brand = manual de identidade visual
  ========================================================= */
body.hh-palette-premium-brand {
  --hh-black:           #181320;
  --color-bg-primary:    #1A1624;
  --color-bg-secondary:  #242033;
  --color-purple:        #242033;
  --color-purple-mid:    #2A253C;
  --color-purple-light:  #2A253C;
  --color-pink:          #d6b55d;
  --color-pink-mid:      #b58f44;
  --color-blue:          #0F54F9;
  --color-gold:          #d6b55d; /* brand gold per guidelines */
  --color-text-primary:  #ffffff;
  --color-text-body:     #000000;
  --gradient-hero:       linear-gradient(160deg, #1A1624 0%, var(--color-gold, #d6b55d) 58%, var(--color-gold, #d6b55d) 100%);
  --gradient-cta:        linear-gradient(135deg, #FE5000 0%, var(--color-gold, #d6b55d) 100%);
  --gradient-bar:        linear-gradient(90deg, var(--color-gold, #d6b55d) 0%, #0F54F9 52%, #FE5000 100%);
  --hh-surface-dark:      #211b2c;
  --hh-surface-dark-soft: #2a2339;
  --hh-surface-dark-elev: #342c47;
  --hh-surface-dark-input:#1b1626;
  --hh-overlay-gramado-a: rgba(21,16,30,.54);
  --hh-overlay-gramado-b: rgba(21,16,30,.30);
  --hh-overlay-rock-a:    rgba(21,16,30,.62);
  --hh-overlay-rock-b:    rgba(21,16,30,.48);
  --hh-bg-white-wash:       rgba(255,255,255,.040);
  --hh-bg-white-wash-strong:rgba(255,255,255,.062);
  --hh-bg-alt:            #1d1728;
  --hh-border:            rgba(132,97,177,.20);
  --hh-border-gold:       var(--color-gold, #d6b55d);
  --hh-accent:            #FE5000;
  --hh-accent-hover:      var(--hh-gold-dark);
  --hh-border-accent:     rgba(254,80,0,.42);
}

body.hh-palette-premium-emerald {
  --hh-black:           #171b1c;
  --color-bg-primary:    #15191a;
  --color-bg-secondary:  #1d2324;
  --color-purple:        #215732;
  --color-purple-mid:    #2c6b41;
  --color-purple-light:  #6c9f7f;
  --color-pink:          #cbb381;
  --color-pink-mid:      #b79b62;
  --color-gold:          #e8c885;
  --color-text-primary:  #ffffff;
  --color-text-body:     #d9dfde;
  --gradient-hero:       linear-gradient(158deg, #15191a 0%, #1f3430 46%, #006974 74%, #827a04 100%);
  --gradient-cta:        linear-gradient(135deg, #006974 0%, #827a04 100%);
  --gradient-bar:        linear-gradient(90deg, #215732 0%, #006974 52%, #827a04 100%);
  --hh-surface-dark:     #1b2021;
  --hh-surface-dark-soft:#252d2e;
  --hh-surface-dark-elev:#313b3b;
  --hh-surface-dark-input:#151a1b;
  --hh-overlay-gramado-a: rgba(11,16,17,.52);
  --hh-overlay-gramado-b: rgba(11,16,17,.28);
  --hh-overlay-rock-a:    rgba(11,16,17,.60);
  --hh-overlay-rock-b:    rgba(11,16,17,.46);
  --hh-bg-white-wash:      rgba(255,255,255,.045);
  --hh-bg-white-wash-strong: rgba(255,255,255,.065);
  --hh-bg-alt:           #161d1e;
  --hh-border:           rgba(143,157,158,.24);
  --hh-border-gold:       var(--color-gold, #e8c885);
  --hh-accent:           #cbb381;
  --hh-accent-hover:     #e8c885;
  --hh-border-accent:    rgba(203,179,129,.40);
}

body.hh-palette-premium-olive {
  --hh-black:           #1c1b16;
  --color-bg-primary:    #191914;
  --color-bg-secondary:  #24231d;
  --color-purple:        #827a04;
  --color-purple-mid:    #9d9232;
  --color-purple-light:  #bcb682;
  --color-pink:          #d2c28f;
  --color-pink-mid:      #b6a46d;
  --color-gold:          #e3cd93;
  --color-text-primary:  #fefdf7;
  --color-text-body:     #e3dcc8;
  --gradient-hero:       linear-gradient(158deg, #191914 0%, #302f22 46%, #827a04 74%, #006974 100%);
  --gradient-cta:        linear-gradient(135deg, #827a04 0%, #006974 100%);
  --gradient-bar:        linear-gradient(90deg, #827a04 0%, #006974 48%, #215732 100%);
  --hh-surface-dark:     #25241d;
  --hh-surface-dark-soft:#312f26;
  --hh-surface-dark-elev:#3e3a2f;
  --hh-surface-dark-input:#1a1912;
  --hh-overlay-gramado-a: rgba(20,19,14,.52);
  --hh-overlay-gramado-b: rgba(20,19,14,.28);
  --hh-overlay-rock-a:    rgba(20,19,14,.60);
  --hh-overlay-rock-b:    rgba(20,19,14,.46);
  --hh-bg-white-wash:      rgba(255,255,255,.040);
  --hh-bg-white-wash-strong: rgba(255,255,255,.060);
  --hh-bg-alt:           #1f1e17;
  --hh-border:           rgba(188,182,130,.24);
  --hh-border-gold:      var(--color-gold, #e3cd93);
  --hh-accent:           #d2c28f;
  --hh-accent-hover:     #e3cd93;
  --hh-border-accent:    rgba(210,194,143,.42);
}

body.hh-palette-premium-teal {
  --hh-black:           #161e21;
  --color-bg-primary:    #141a1d;
  --color-bg-secondary:  #1d262a;
  --color-purple:        #006974;
  --color-purple-mid:    #1f7f88;
  --color-purple-light:  #6faab0;
  --color-pink:          #d2b98a;
  --color-pink-mid:      #b99c65;
  --color-gold:          #e7c98e;
  --color-text-primary:  #f8fbfb;
  --color-text-body:     #d4e1e3;
  --gradient-hero:       linear-gradient(158deg, #141a1d 0%, #1f2f32 46%, #006974 74%, #827a04 100%);
  --gradient-cta:        linear-gradient(135deg, #006974 0%, #215732 100%);
  --gradient-bar:        linear-gradient(90deg, #006974 0%, #215732 48%, #827a04 100%);
  --hh-surface-dark:     #1b2427;
  --hh-surface-dark-soft:#243034;
  --hh-surface-dark-elev:#2f3d42;
  --hh-surface-dark-input:#161d20;
  --hh-overlay-gramado-a: rgba(17,23,26,.50);
  --hh-overlay-gramado-b: rgba(17,23,26,.27);
  --hh-overlay-rock-a:    rgba(17,23,26,.58);
  --hh-overlay-rock-b:    rgba(17,23,26,.44);
  --hh-bg-white-wash:      rgba(255,255,255,.042);
  --hh-bg-white-wash-strong: rgba(255,255,255,.062);
  --hh-bg-alt:           #1a2226;
  --hh-border:           rgba(111,170,176,.24);
  --hh-border-gold:      var(--color-gold, #e7c98e);
  --hh-accent:           #d2b98a;
  --hh-accent-hover:     #e7c98e;
  --hh-border-accent:    rgba(210,185,138,.40);
}

body.hh-palette-premium-brand,
body.hh-palette-premium-emerald,
body.hh-palette-premium-olive,
body.hh-palette-premium-teal {
  --hh-bg:            var(--color-bg-primary);
  --hh-bg-section:    var(--color-bg-secondary);
  --hh-text-muted:    var(--color-text-body);
  --hh-script-color:  var(--hh-magenta-brand);
}

/* ========================================================= */

/* =========================================================
   SISTEMA DE CORES CONTEXTUAL — San Juan design system
   ---------------------------------------------------------
   REGRAS:
   · Fundo branco/claro  → texto preto (padrão do body)
   · Hero / sobre imagem → texto branco
   · Seção escura (.hh-section--dark / .hh-section--black) → texto branco
   · Card em seção escura → título dourado + corpo branco
   · Cor individual definida no Customizer via --hh-text-color
   · Elementor: inline styles ganham por ausência de !important
   ========================================================= */

/* Cor padrão do body — escuro em fundo branco */
body {
  color: var(--hh-body-color, #1a1a1a);
}

/* Respeita cor individual definida via Customizer (hh_text_color_style) */
[style*="--hh-text-color"] {
  color: var(--hh-text-color);
}

/* Textos escuros em áreas claras */
.hh-text-dark { color: var(--color-text-dark); }

/* Botões: cor herdada do contexto */
.hh-btn { color: inherit; }

/* ── Elementor compatibility ──────────────────────────────
   Sem !important em seletores amplos, os inline styles do
   Elementor (style="color:…") vencem naturalmente na cascata.
   ─────────────────────────────────────────────────────── */

/* =========================================================
  TIPOGRAFIA GLOBAL
  ========================================================= */
.hh-section-title {
  font-family: 'apex-sans', Georgia, "Times New Roman", serif;
  font-size: var(--hh-size-headline);
  font-weight: 100;
  margin-bottom: 90px;
  color: var(--hh-text-color, var(--color-text-primary));
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.02;
  padding-top: 0px !important;
}
.hh-section-title span {
  font-family: var(--hh-font-display);
  font-size: calc(var(--hh-script-scale) * 0.5em);
  color: var(--hh-text-color, var(--hh-gold, #d6b55d));
  display: block;
  text-transform: inherit;
  max-height: 72px; /* tuned ~25% larger than previous default */
  font-style: normal;
  line-height: 1.15;
  font-weight: 100;
  margin-top: var(--hh-script-overlap-y);
  margin-left: var(--hh-script-overlap-x);
  position: relative;
  z-index: 2;
}
/* ┌─────────────────────────────────────────────────────────────────────────
   Exceção para "Hard Rock" e nomes próprios — preserve maiúsculas
   ─────────────────────────────────────────────────────────────────────────
   Por padrão, TODOS os textos com fonte cursiva (gloriant-font-letterhend)
   aparecem em minúsculas (text-transform: lowercase) para consistência visual.
   
   Para EXCEÇÕES (Hard Rock, nomes próprios), use a classe:
   
   Exemplo HTML:
   <span class="hh-preserve-case">Hard Rock</span>
   
   A classe .hh-preserve-case cancela o text-transform: lowercase e mantém
   as maiúsculas originais do texto.
   ─────────────────────────────────────────────────────────────────────────
   Afetadas: .hh-section-title span, .hh-hero__title span, .hh-section__title span
   ───────────────────────────────────────────────────────────────────────── */
.hh-section-title span.hh-preserve-case,
.hh-hero__title span.hh-preserve-case,
.hh-section__title span.hh-preserve-case {
  text-transform: none;
}

/* Páginas internas: centraliza melhor os títulos principais */
body.page .hh-section .hh-section-subtitle,
body.page .hh-section .hh-section-title {
  text-align: center;
}

body.page .hh-section .hh-section-title {
  margin-left: auto;
  margin-right: auto;
}

body.page .hh-section .hh-section-title span {
  margin-left: 0;
}

body.page .hh-section .hh-gold-bar {
  margin-left: auto;
  margin-right: auto;
}

.hh-section-subtitle {
  font-size: 0.7rem;
  color: var(--hh-text-color, var(--color-gold, #d6b55d));
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  margin-bottom: 16px;
  display: block;
}

.hh-lead {
  font-family: var(--hh-font-body);
  font-size: var(--hh-size-body);
    color: var(--hh-text-color, #d6b55d);
}

/* =========================================================
   LAYOUT
   ========================================================= */
.hh-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 6%;
}

.hh-page-shell {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.hh-section {
  --hh-section-vibrant:   var(--hh-orange);
  --hh-section-vibrant-2: var(--hh-magenta-brand);
  padding: 110px 6%;
  position: relative;
  background:
    linear-gradient(180deg, var(--hh-bg-white-wash) 0%, rgba(255,255,255,0) 100%),
    var(--hh-bg-section);
}

.hh-section .hh-section-title span { font-family: var(--hh-font-display); color: var(--hh-text-color, var(--hh-gold, #d6b55d)); }
.hh-section .hh-gold-bar {
  background: var(--hh-section-vibrant);
}

/* Mapeamento por seção — neutra + uma vibrante dominante */
#sec-economia {
  --hh-section-vibrant: var(--hh-orange);
  --hh-section-vibrant-2: var(--hh-magenta-brand);
  --hh-script-color: var(--hh-orange);
  /* script shadow reforçado (roxo antigo removido) */
  --hh-script-shadow: 0 4px 20px rgba(0,0,0,.60), 0 0 12px rgba(0,0,0,.40);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 100%),
    var(--hh-bg-section);
}

#sec-apartamentos,
#sec-cta {
  --hh-section-vibrant: var(--hh-orange);
  --hh-section-vibrant-2: var(--hh-magenta-brand);
  --hh-script-color: var(--hh-orange);
}

#sec-complexo,
#sec-historia,
#sec-rockstar,
#sec-imprensa {
  --hh-section-vibrant: var(--hh-magenta-brand);
  --hh-section-vibrant-2: var(--hh-blue-brand);
  --hh-script-color: var(--hh-magenta-brand);
}

#sec-rci,
#sec-depoimentos,
#galeria {
  background: #ffffff;
  color: inherit;
}
#sec-depoimentos,
#sec-gramado,
#sec-parceiros {
  --hh-section-vibrant: var(--hh-blue-brand);
  --hh-section-vibrant-2: var(--hh-orange);
  --hh-script-color: var(--hh-orange);
}

#sec-faq {
  --hh-section-vibrant: var(--hh-purple-dark);
  --hh-section-vibrant-2: var(--hh-blue-brand);
  --hh-script-color: var(--hh-magenta-brand);
}

/* Truly dark alternating section — black-ish with full text override */
.hh-section--dark {
  background:
    linear-gradient(180deg, var(--hh-bg-white-wash-strong) 0%, rgba(255,255,255,0) 100%),
    var(--hh-surface-dark);
  color: var(--hh-white);
}
.hh-section--dark .hh-section-title  { color: var(--hh-text-color, var(--hh-white)); }
.hh-section--dark .hh-section-subtitle { color: var(--hh-text-color, var(--hh-section-vibrant, var(--color-gold, #d6b55d))); }
.hh-section--dark .hh-lead           { color: var(--hh-text-color, rgba(255,255,255,.68)); }
/* Cards inside dark sections — San Juan design: fundo escuro, título dourado, texto branco */
.hh-section--dark .hh-card {
  background: linear-gradient(180deg, rgba(28,18,8,.90) 0%, rgba(18,10,2,.95) 100%);
  border-color: rgba(201,169,97,.28);
  box-shadow: 0 18px 36px rgba(0,0,0,.32);
  color: var(--hh-white);
}
.hh-section--dark .hh-card:hover {
  border-color: var(--hh-gold, #d6b55d);
  box-shadow: 0 24px 48px rgba(0,0,0,.45);
}
/* Títulos dos cards em seção escura: dourado */
.hh-section--dark .hh-card h3,
.hh-section--dark .hh-card h4,
.hh-section--dark .hh-card .hh-card__title { color: var(--hh-gold, #d6b55d); }
/* Corpo dos cards em seção escura: branco */
.hh-section--dark .hh-card p    { color: rgba(255,255,255,0.82); }
/* Form inside dark sections */
.hh-section--dark .hh-form-wrap {
  background:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.01) 100%),
    var(--hh-surface-dark-soft);
  border-color: rgba(201,169,97,.3);
}
.hh-section--dark .hh-form-group label { color: rgba(255,255,255,.75); }
.hh-section--dark .hh-form-group input,
.hh-section--dark .hh-form-group select,
.hh-section--dark .hh-form-group textarea {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%),
    var(--hh-surface-dark-input);
  border-color: rgba(255,255,255,.12);
  color: var(--hh-white);
}
.hh-section--dark .hh-form-group input::placeholder,
.hh-section--dark .hh-form-group textarea::placeholder { color: rgba(255,255,255,.28); }
.hh-section--dark .hh-checkbox { color: rgba(255,255,255,.6); }
/* FAQ in dark sections */
.hh-section--dark .hh-faq details {
  background:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.01) 100%),
    var(--hh-surface-dark-soft);
  border-color: rgba(255,255,255,.08);
}
.hh-section--dark .hh-faq summary   { color: var(--hh-white); }
.hh-section--dark .hh-faq details p { color: rgba(255,255,255,.6); }
.hh-section--dark .hh-faq details[open],
.hh-section--dark .hh-faq details:hover { border-color: var(--hh-gold, #d6b55d); background: var(--hh-surface-dark-elev); }
/* Cities in dark sections */
.hh-section--dark .hh-city {
  background:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.01) 100%),
    var(--hh-surface-dark-soft);
  border-color: rgba(255,255,255,.08);
  color: rgba(255,255,255,.75);
}
/* Divider lines */
.hh-section--dark .hh-divider { border-color: rgba(255,255,255,.12); }

.hh-section--black {
  background:
    linear-gradient(180deg, var(--hh-bg-white-wash-strong) 0%, rgba(255,255,255,0) 100%),
    var(--hh-surface-dark);
  color: var(--hh-white);
}
/* Form wrap inside dark premium sections */
.hh-section--black .hh-form-wrap {
  background:
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.01) 100%),
    var(--hh-surface-dark-soft);
  border-color: rgba(201,169,97,.3);
}
.hh-section--black .hh-form-group label { color: rgba(255,255,255,.75); }
.hh-section--black .hh-form-group input,
.hh-section--black .hh-form-group select,
.hh-section--black .hh-form-group textarea {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%),
    var(--hh-surface-dark-input);
  border-color: rgba(255,255,255,.12);
  color: var(--hh-white);
}
.hh-section--black .hh-form-group input::placeholder,
.hh-section--black .hh-form-group textarea::placeholder { color: rgba(255,255,255,.28); }
.hh-section--black .hh-checkbox { color: rgba(255,255,255,.6); }
/* Section title in black sections */
.hh-section--black .hh-section-title  { color: var(--hh-text-color, var(--hh-white)); }
.hh-section--black .hh-section-subtitle { color: var(--hh-text-color, var(--hh-section-vibrant, var(--color-gold, #d6b55d))); }
.hh-section--black .hh-lead           { color: var(--hh-text-color, rgba(255,255,255,.68)); }
.hh-section--black .hh-divider        { border-color: rgba(255,255,255,.12); }

/* Centered content variant — usado apenas nos CTAs pretos */
.hh-section--centered { text-align: center; }
.hh-section--centered .hh-section-title {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
}
.hh-section--centered .hh-lead {
  max-width: 1780px;
  margin-left: auto;
  margin-right: auto;
}
.hh-section--centered .hh-gold-bar { margin-left: auto; margin-right: auto; }
.hh-section--centered .hh-grid    { margin-top: 64px; }

/* =========================================================
   HEADER / NAV
   ========================================================= */
#masthead {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  background: #fff;
  color: var(--color-text-dark);
  padding: 20px 6%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  transition: background .4s, color .4s, border-color .4s, box-shadow .4s;
}
#masthead.scrolled {
  background: linear-gradient(180deg, black, transparent);
  color: var(--color-text-primary);
  border-bottom: 1px solid rgba(184,151,80,.24);
  box-shadow: none;
}
.site-branding img { width: auto; }

/* Keep dark and light logos occupying the same space to prevent layout shift
   when toggling on scroll. Both images are absolutely positioned inside the
   logo link and visibility is toggled via opacity (smooth, non-layout change). */
.hh-header__logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  height: auto;
  min-height: 70px; /* reserve header space without forcing large fixed sizes */
  width: auto;
}
.hh-header__logo-link .hh-header__logo {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  max-height: 84px; /* slightly larger default so logo is visible */
  width: auto;
  display: block;
  transition: opacity .18s ease-in-out, transform .18s ease-in-out;
}
.hh-header__logo-link .hh-header__logo--dark { opacity: 1; }
.hh-header__logo-link .hh-header__logo--light { opacity: 0; }
#masthead.scrolled .hh-header__logo-link .hh-header__logo--dark { opacity: 0; }
#masthead.scrolled .hh-header__logo-link .hh-header__logo--light { opacity: 1; }

/* Ensure brand container doesn't shrink and keeps alignment */
.hh-header__brand { flex-shrink: 0; justify-self: flex-start; }
.site-title-text {
  font-size: 28px;
  color: var(--color-text-dark);
  letter-spacing: 2px;
}
#masthead.scrolled .site-title-text { color: var(--color-text-primary); }

/* Nav — regras base (detalhamento na seção header abaixo) */

/* Hamburger */
.hh-menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
}
.hh-menu-toggle span {
  display: block;
  width: 26px;
  height: 2px;
  background: var(--hh-white);
  transition: all .3s;
}

/* =========================================================
   HERO
   ========================================================= */
.hh-hero {
  min-height: 100vh;
  color: var(--hh-white);
  background-color: var(--hh-black);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  /* overflow:hidden + bg layer separado = parallax 60fps no compositor */
}

/* Camada de fundo paralaxada — o GSAP anima translateY() aqui;
   escala 1.3 garante margens para o movimento sem mostrar bordas */
.hh-hero__bg {
  position: absolute;
  inset: -20% 0;
  background-size: cover;
  background-position: center;
  transform: translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
  z-index: 0;
}

/* Overlay gradiente cinematográfico em camada separada */
.hh-hero::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      rgba(0,0,0,.80) 0%,
      rgba(0,0,0,.45) 45%,
      rgba(0,0,0,.78) 100%);
  pointer-events: none;
  z-index: 1;
}

/* Linha pink decorativa no rodapé do hero */
.hh-hero::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--color-pink) 30%, var(--color-purple-light) 70%, transparent 100%);
  z-index: 2;
  opacity: .8;
}
/* CTAs do hero — hierarquia primário + secundários */
.hh-hero__ctas {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
.hh-btn--hero-primary {
  font-size: .9rem;
  padding: .85rem 2.4rem;
  letter-spacing: .18em;
  border-radius: 2px;
  box-shadow: 0 0 32px rgba(201,169,97,.35);
}
.hh-btn--hero-primary:hover {
  box-shadow: 0 0 48px rgba(201,169,97,.55);
  transform: translateY(-2px);
}
.hh-hero__ctas-secondary {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  justify-content: center;
}

.hh-hero__content {
  max-width: 960px;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}
.hh-hero__eyebrow {
  font-size: clamp(0.95rem, 1.3vw, 1.125rem);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--hh-text-color, var(--hh-gold, #d6b55d));
  margin-bottom: 20px;
}
.hh-hero__title {
  font-family: 'apex-sans', Georgia, "Times New Roman", serif;
  font-size: var(--hh-size-headline);
  font-weight: 100;
  line-height: 1.02;
  text-transform: uppercase;
  letter-spacing: 1.5rem !important;
  text-shadow: 3px 3px 20px rgba(26,10,46,0.9);
  margin-bottom: 22px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: var(--hh-text-color, var(--color-text-primary));
}
.hh-hero__title span {
  font-family: var(--hh-font-display);
  font-size: calc(var(--hh-script-scale) * 0.6em);
  color: var(--hh-text-color, var(--hh-white)) !important;
  display: block;
  text-transform: inherit;
  letter-spacing: 0;
  font-style: normal;
  line-height: 1.1;
  font-weight: 100;
  margin-top: var(--hh-script-overlap-y);
  margin-left: 0;
  position: relative;
  z-index: 2;
}

/* Modo conservador (sem sobreposição): ?titlefx=conservative */
body.hh-titlefx-conservative .hh-section-title span,
body.hh-titlefx-conservative .hh-hero__title span {
  margin-top: 0;
  margin-left: 0;
}

@media (max-width: 960px) {
  body.hh-titlefx-overlay .hh-section-title span,
  body.hh-titlefx-overlay .hh-hero__title span {
    margin-top: -0.12em;
    margin-left: 0.14em;
  }
}
.hh-hero__sub,
.hh-hero__text {
  font-size: var(--hh-size-subhead);
  font-weight: 400;
  margin-bottom: 0;
  opacity: .85;
  letter-spacing: .01em;
  line-height: 1.55;
  text-shadow: 0 1px 8px rgba(0,0,0,.7);
}
.hh-hero__arrow {
  font-size: 42px;
  color: var(--hh-gold, #d6b55d);
  display: block;
  margin-top: 24px;
  animation: hh-bounce 2.2s infinite;
}
@keyframes hh-bounce {
  0%,20%,50%,80%,100% { transform: translateY(0); }
  40% { transform: translateY(-18px); }
  60% { transform: translateY(-9px); }
}

/* =========================================================
   BOTÕES
   ========================================================= */
@keyframes pulse-pink {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,45,120,0.55); }
  50%      { box-shadow: 0 0 0 14px rgba(255,45,120,0); }
}

.hh-btn {
  display: inline-block;
  padding: 16px 48px;
  background: var(--gradient-cta);
  color: var(--color-text-primary);
  font-family: var(--hh-font-title);
  font-size: var(--hh-size-cta);
  font-weight: 100;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background .25s, color .25s, transform .2s, box-shadow .25s;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1;
  animation: pulse-pink 2.5s infinite;
}
.hh-btn:hover {
  background: linear-gradient(135deg, #EC4899 0%, #FF2D78 100%);
  color: var(--color-text-primary);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(255,45,120,.6);
  animation: none;
}
.hh-btn--gold {
  background: var(--color-gold, #d6b55d);
  border: 2px solid var(--color-gold, #d6b55d);
  color: var(--color-text-dark);
  animation: none;
}
.hh-btn--gold:hover {
  background: transparent;
  color: var(--color-gold, #d6b55d);
  border-color: var(--color-gold, #d6b55d);
  box-shadow: 0 12px 36px rgba(251,191,36,.25);
  animation: none;
}
.hh-btn--outline {
  background: transparent;
  color: var(--color-purple-light);
  border: 2px solid var(--color-purple-light);
  animation: none;
}
.hh-btn--outline:hover {
  background: var(--color-purple);
  border-color: var(--color-purple);
  color: var(--color-text-primary);
}
.hh-btn--ghost {
  background: transparent;
  color: rgba(255,255,255,0.80);
  border: 2px solid rgba(168,85,247,0.50);
  animation: none;
}
.hh-btn--ghost:hover {
  background: rgba(168,85,247,0.12);
  color: var(--color-text-primary);
  border-color: var(--color-purple-light);
  transform: translateY(-1px);
}
.hh-btn--dark {
  background: transparent;
  border-color: rgba(255,255,255,0.20);
  color: rgba(255,255,255,0.75);
}
.hh-btn--dark:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.45);
  color: var(--color-text-primary);
}
.hh-btn--pink {
  background: var(--hh-pink);
  border-color: var(--hh-pink);
  color: var(--color-text-primary);
}
.hh-btn--pink:hover {
  background: transparent;
  color: var(--hh-pink);
  border-color: var(--hh-pink);
  box-shadow: 0 12px 36px rgba(249,51,130,.35);
  transform: translateY(-2px);
}
.hh-btn--orange {
  background: var(--hh-orange);
  border-color: var(--hh-orange);
  color: var(--color-text-primary);
}
.hh-btn--orange:hover {
  background: transparent;
  color: var(--hh-orange);
  border-color: var(--hh-orange);
  box-shadow: 0 12px 36px rgba(254,80,0,.35);
  transform: translateY(-2px);
}

/* =========================================================
   CARDS
   ========================================================= */
.hh-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 36px;
  margin-top: 50px;
}
.hh-grid--2 { grid-template-columns: repeat(auto-fit, minmax(440px, 1fr)); }
.hh-grid--3 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }

.hh-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  overflow: hidden;
  transition: all .3s;
  position: relative;
}
.hh-card::before {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--hh-gold, #d6b55d), transparent);
  transition: left .4s;
}
.hh-card:hover::before { left: 0; }
.hh-card:hover {
  border-color: var(--hh-gold, #d6b55d);
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(63,43,12,.12);
}
.hh-card__body { padding: 28px; }
.hh-card__img { width: 100%; height: 280px; object-fit: cover; }
.hh-card__tag {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--hh-gold, #d6b55d);
  margin-bottom: 10px;
}

.hh-card h4 {
  font-size: 26px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-text-dark);
  margin-bottom: 12px;
}
.hh-card p { color: var(--hh-card-text); line-height: 1.8; font-size: 15px; }

/* =========================================================
   STATS
   ========================================================= */
.hh-stats {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 0;
  padding: 72px 10%;
  background: #232424; /* card background */
  border-top: 1px solid rgba(214,181,93,.18);
  border-bottom: 1px solid rgba(214,181,93,.18);
  border-left: none;
  margin: 72px -6%;       /* bleed past section padding */
  width: calc(100% + 12%);
}
.hh-stat {
  text-align: center;
  padding: 0 3px;
  position: relative;
  flex: 1;
  min-width: 180px;
}
.hh-stat + .hh-stat::before {
  position: absolute;
  left: 0;
  top: 10%;
  height: 80%;
  width: 1px;
  background: rgba(201,169,97,.25);
}
.hh-stat__number {
  font-size: clamp(52px, 3vw, 80px);
  color: var(--hh-gold, #d6b55d);
  display: block;
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-variant-ligatures: no-common-ligatures;
  -webkit-font-variant-ligatures: no-common-ligatures;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.02em;
}

.hh-stat__number sup,
.hh-stat__number .unit {
  font-size: 0.42em;
  vertical-align: super;
  margin-left: 0.08em;
  color: var(--color-text-primary);
}
.hh-stat__label {
  font-size: 12px;
  color: white !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 12px;
  line-height: 1.5;
}

/* =========================================================
   FORM
   ========================================================= */
.hh-form-wrap {
  background: var(--hh-bg-card);
  border: 1px solid var(--hh-border-gold);
  padding: 60px;
}
.hh-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.hh-form-group { margin-bottom: 22px; }
.hh-form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.65);
}
.hh-form-group input,
.hh-form-group textarea,
.hh-form-group select {
  width: 100%;
  padding: 14px 18px;
  background: var(--hh-bg-input);
  border: 1px solid var(--hh-border);
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  font-family: 'Apex Sans', sans-serif;
  font-size: 15px;
  color: var(--hh-white);
  transition: border-color .3s, background .3s, box-shadow .3s, transform .2s;
}
.hh-form-group select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--hh-gold, #d6b55d) 50%), linear-gradient(135deg, var(--hh-gold, #d6b55d) 50%, transparent 50%);
  background-position: calc(100% - 20px) calc(50% - 2px), calc(100% - 14px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 48px;
  cursor: pointer;
}
.hh-form-group select:hover {
  border-color: rgba(214,181,93,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 20px rgba(0,0,0,.12);
  transform: translateY(-1px);
}
.hh-form-group select:focus {
  outline: none;
  border-color: var(--hh-gold, #d6b55d);
  background-color: rgba(255,255,255,.02);
  box-shadow: 0 0 0 3px rgba(214,181,93,.14), inset 0 1px 0 rgba(255,255,255,.04);
}
.hh-form-group input:focus,
.hh-form-group textarea:focus {
  outline: none;
  border-color: var(--color-pink);
  background: rgba(255,45,120,0.05);
}
.hh-form-group textarea { min-height: 120px; resize: vertical; }
.hh-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0;
  font-size: 14px;
  color: var(--hh-text-muted);
}
.hh-checkbox input { width: 18px; height: 18px; cursor: pointer; accent-color: var(--hh-gold, #d6b55d); }

/* =========================================================
   FAQ / DETAILS
   ========================================================= */
.hh-faq details {
  border: 1px solid var(--hh-border-light);
  padding: 24px 28px;
  background: var(--hh-lighter-bg);
  margin-bottom: 18px;
  transition: border-color .3s;
}
.hh-faq details:hover,
.hh-faq details[open] { border-color: var(--hh-gold, #d6b55d); background: var(--hh-bg-card-hover); }
.hh-faq summary {
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  user-select: none;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--hh-white);
}
.hh-faq summary::-webkit-details-marker { display: none; }
.hh-faq summary::after {
  content: '+';
  font-size: 28px;
  color: var(--hh-gold, #d6b55d);
  transition: transform .3s;
}
.hh-faq details[open] summary::after { transform: rotate(45deg); }
.hh-faq details p {
  margin-top: 18px;
  color: var(--hh-text-muted);
  line-height: 1.9;
}

/* =========================================================
   CITIES GRID
   ========================================================= */
.hh-cities {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
  margin-top: 40px;
}
.hh-city {
  padding: 18px 10px;
  background: var(--hh-bg-card);
  border: 1px solid var(--hh-border);
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  transition: all .3s;
  color: rgba(255,255,255,0.65);
}
.hh-city:hover {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
  transform: scale(1.05);
}

/* =========================================================
   DECORATIVE DIVIDER
   ========================================================= */
.hh-divider {
  border: none;
  border-top: 1px solid var(--hh-border-light);
  margin: 0;
}
.hh-divider--gold {
  border-color: var(--hh-gold, #d6b55d);
  border-width: 3px;
}
.hh-gold-bar {
  height: 4px;
  width: 72px;
  background: var(--gradient-bar);
  margin-top: 0px !important;
  margin-bottom: 28px;
  border-radius: 2px;
}

/* =========================================================
   BLOG - ARCHIVE / HOME
   ========================================================= */
.hh-blog-hero {
  min-height: 52vh;
  background-color: var(--hh-black);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--hh-white);
  position: relative;
  padding: 120px 6% 80px;
}
.hh-blog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
}
.hh-blog-hero__content { position: relative; z-index: 1; }

.hh-blog-hero.hh-hero--inner {
  display: grid;
  padding: clamp(2rem, 4vw, 3rem) max(2rem, calc((100vw - 1320px) / 2));
  text-align: initial;
}

.hh-blog-hero.hh-hero--inner::before {
  content: none;
}

.hh-blog-hero-intro .hh-lead {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.hh-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 40px;
  margin-top: 60px;
}

article.hh-post-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  overflow: hidden;
  transition: all .3s;
}
article.hh-post-card:hover {
  border-color: var(--hh-gold, #d6b55d);
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(63,43,12,.12);
}
.hh-post-card__thumb { height: 240px; overflow: hidden; }
.hh-post-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
article.hh-post-card:hover .hh-post-card__thumb img { transform: scale(1.08); }
.hh-post-card__body { padding: 28px; }
.hh-post-card__meta {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--hh-gold, #d6b55d);
  font-weight: 700;
  margin-bottom: 12px;
  display: flex;
  gap: 14px;
  align-items: center;
}
.hh-post-card__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: 26px;
  letter-spacing: 2px;
  line-height: 1.15;
  margin-bottom: 14px;
  color: var(--color-text-dark);
}
.hh-post-card__title a { color: inherit; }
.hh-post-card__title a:hover { color: var(--hh-gold, #d6b55d); }
.hh-post-card__excerpt { color: var(--hh-card-text) !important; font-size: 14px; line-height: 1.8; margin-bottom: 22px; }
.hh-post-card__readmore {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--hh-gold, #d6b55d);
  border-bottom: 1px solid transparent;
  transition: border-color .3s;
}
.hh-post-card__readmore:hover { border-bottom-color: var(--hh-gold, #d6b55d); color: var(--hh-gold, #d6b55d); }

/* Home blog section (featured style): title and CTA inside image */
#sec-blog .hh-posts-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#sec-blog article.hh-post-card {
  position: relative;
  min-height: 390px;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: none;
  background: #111;
}

#sec-blog .hh-post-card__thumb {
  position: absolute;
  inset: 0;
  height: 100%;
}

#sec-blog .hh-post-card__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.30) 52%, rgba(0,0,0,.84) 100%);
}

#sec-blog .hh-post-card__thumb a,
#sec-blog .hh-post-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
}

#sec-blog .hh-post-card__body {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  z-index: 2;
  padding: 0;
}

#sec-blog .hh-post-card__meta,
#sec-blog .hh-post-card__excerpt {
  display: none;
}

#sec-blog .hh-post-card__title {
  margin: 0 0 14px;
  font-size: 1rem;
  line-height: 1.15;
  letter-spacing: .02em;
  font-weight: 700;
  color: var(--hh-white);
  text-transform: uppercase;
}

/* Blog page/archive: same card visual language used on Home blog section */
.hh-posts-grid--home-style {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.hh-posts-grid--search {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .hh-posts-grid--search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .hh-posts-grid--home-style,
  .hh-posts-grid--search {
    grid-template-columns: 1fr;
  }
}

.hh-posts-grid--home-style article.hh-post-card {
  position: relative;
  min-height: 390px;
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: none;
  background: #111;
}

.hh-posts-grid--home-style .hh-post-card__thumb {
  position: absolute;
  inset: 0;
  height: 100%;
}

.hh-posts-grid--home-style .hh-post-card__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.30) 52%, rgba(0,0,0,.84) 100%);
}

.hh-posts-grid--home-style .hh-post-card__thumb a,
.hh-posts-grid--home-style .hh-post-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
}

.hh-posts-grid--home-style .hh-post-card__body {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  z-index: 2;
  padding: 0;
}

.hh-posts-grid--home-style .hh-post-card__meta,
.hh-posts-grid--home-style .hh-post-card__excerpt {
  display: none;
}

.hh-posts-grid--home-style .hh-post-card__title {
  margin: 0 0 14px;
  font-size: 1rem;
  line-height: 1.15;
  letter-spacing: .02em;
  font-weight: 700;
  color: var(--hh-white);
  text-transform: uppercase;
}

.hh-posts-grid--home-style .hh-post-card__title a {
  color: inherit;
}

.hh-posts-grid--home-style .hh-post-card__readmore {
  font-size: .75rem;
  letter-spacing: .12em;
  color: var(--hh-gold, #d6b55d);
}

#sec-blog .hh-post-card__title a {
  color: var(--hh-white);
}

#sec-blog .hh-post-card__title a:hover {
  color: var(--hh-white);
  opacity: .9;
}

#sec-blog .hh-post-card__readmore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,.8);
  color: var(--hh-white);
  font-size: 13px;
  letter-spacing: .08em;
  text-decoration: none;
}

#sec-blog .hh-post-card__readmore:hover {
  border-color: var(--hh-white);
  color: var(--hh-white);
  background: rgba(255,255,255,.10);
}

@media (max-width: 980px) {
  #sec-blog .hh-posts-grid {
    grid-template-columns: 1fr;
  }

  #sec-blog article.hh-post-card {
    min-height: 340px;
  }

  #sec-blog .hh-post-card__body {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}

/* Sidebar */
.hh-blog-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 60px;
  align-items: start;
}
.hh-sidebar { margin-top: 0; }
.hh-widget {
  background: var(--hh-lighter-bg);
  border: 1px solid var(--hh-border-light);
  padding: 30px;
  margin-bottom: 30px;
}
.hh-widget__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: 22px;
  letter-spacing: 2px;
  color: var(--hh-gold, #d6b55d);
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--hh-border-light);
}
.hh-widget ul { list-style: none; padding: 0; }
.hh-widget ul li {
  padding: 8px 0;
  border-bottom: 1px solid var(--hh-border-light);
  font-size: 14px;
}
.hh-widget ul li:last-child { border-bottom: none; }
.hh-widget ul li a { color: var(--hh-text-gray); }
.hh-widget ul li a:hover { color: var(--hh-gold, #d6b55d); }

/* Search form */
.hh-search-form__wrap {
  display: flex;
  align-items: center;
  border: 1px solid var(--hh-border-light);
  border-radius: 2px;
  overflow: hidden;
}
.hh-search-form__input {
  flex: 1;
  min-width: 0;
  padding: .55rem .75rem;
  font-family: inherit;
  font-size: .85rem;
  background: transparent;
  border: none;
  outline: none;
  color: var(--color-text-body);
}
.hh-search-form__input::placeholder { color: var(--hh-text-muted, rgba(0,0,0,.38)); }
.hh-search-form__btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: transparent;
  border: none;
  border-left: 1px solid var(--hh-border-light);
  cursor: pointer;
  color: var(--hh-gold, #d6b55d);
  transition: background .2s;
}
.hh-search-form__btn:hover { background: rgba(214,181,93,.1); }
.hh-search-form__btn svg { width: 16px; height: 16px; display: block; }

/* Pagination */
.hh-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 64px;
}
.hh-pagination .page-numbers {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hh-border-light);
  font-weight: 700;
  font-size: 14px;
  color: var(--hh-text-dark);
  transition: all .3s;
}
.hh-pagination .page-numbers.current,
.hh-pagination .page-numbers:hover {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
}

/* =========================================================
   SINGLE POST
   ========================================================= */
.hh-single__header {
  min-height: 55vh;
  background-color: var(--hh-black);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  padding: 120px 6% 60px;
  position: relative;
  color: var(--hh-white);
}
.hh-single__header--neutral {
  background-image: linear-gradient(160deg, #1f1f1f 0%, #262626 42%, #181818 100%);
}
.hh-single__header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 100%);
}
.hh-single__header-content { position: relative; z-index: 1; max-width: 900px; }
.hh-single__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: clamp(25px, 2vw, 68px);;
  letter-spacing: 3px;
  line-height: 1.1;
  margin-bottom: 18px;
}
.hh-single__meta {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--hh-gold, #d6b55d);
  font-weight: 700;
}
.hh-single__content {
  max-width: 860px;
  margin: 0 auto;
  padding: 80px 6%;
}
.hh-single__content h2,
.hh-single__content h3,
.hh-single__content h4 {
  font-family: 'Apex Sans', sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 40px 0 16px;
  color: var(--hh-text-dark);
}
.hh-single__content h2 { font-size: clamp(28px, 3vw, 40px); }
.hh-single__content h3 { font-size: clamp(22px, 2.5vw, 32px); color: var(--hh-gold, #d6b55d); }
.hh-single__content p { margin-bottom: 24px; line-height: 1.9; color: var(--hh-text-dark); }
.hh-single__content ul,
.hh-single__content ol { margin: 0 0 24px 30px; color: var(--hh-text-gray); line-height: 1.9; }
.hh-single__content blockquote {
  border-left: 4px solid var(--hh-gold, #d6b55d);
  padding: 16px 28px;
  margin: 32px 0;
  background: var(--hh-light-bg);
  font-style: italic;
  font-size: 20px;
  color: var(--hh-text-dark);
}
.hh-single__content img { margin: 30px 0; }

.hh-single__featured {
  margin: 0;
  background: #0f0f0f;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.hh-single__featured img {
  display: block;
  width: min(1320px, 100%);
  margin: 0 auto;
  height: clamp(260px, 45vw, 520px);
  object-fit: cover;
}

.hh-post-nav {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 40px 6%;
  border-top: 1px solid var(--hh-border-light);
}
.hh-post-nav a {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--hh-text-gray);
  max-width: 45%;
}
.hh-post-nav a:hover { color: var(--hh-gold, #d6b55d); }
.hh-post-nav__label {
  font-size: 11px;
  color: var(--hh-gold, #d6b55d);
  letter-spacing: 2px;
  margin-bottom: 5px;
  font-weight: 700;
}

/* Categories / tags */
.hh-post-tags { padding: 24px 6%; display: flex; flex-wrap: wrap; gap: 10px; }
.hh-post-tags a {
  padding: 6px 16px;
  border: 1px solid var(--hh-border-light);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--hh-text-gray);
  transition: all .3s;
}
.hh-post-tags a:hover { border-color: var(--hh-gold, #d6b55d); color: var(--hh-gold, #d6b55d); }

/* =========================================================
   FOOTER
   ========================================================= */
#colophon {
  background: var(--color-bg-primary);
  border-top: 2px solid var(--color-purple);
  padding: 80px 6%;
  text-align: center;
}
.hh-footer__logo { margin: 0 auto 26px; }
.hh-footer__logo img { height: 52px; width: auto; margin: 0 auto; }
.hh-footer__logo-text {
  font-family: 'Apex Sans', sans-serif;
  font-size: 32px;
  color: var(--hh-gold, #d6b55d);
  letter-spacing: 3px;
}

.hh-social {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 28px 0;
}
.hh-social__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(255,255,255,.24);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: all .3s;
}
.hh-social__icon:hover {
  background: transparent;
  border-color: rgba(255,255,255,.5);
  color: var(--color-text-primary);
  transform: scale(1.08);
}

.hh-footer__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 26px;
  margin: 26px 0;
  list-style: none;
  padding: 0;
}
.hh-footer__links a {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--hh-text-gray);
}
.hh-footer__links a:hover { color: var(--hh-gold, #d6b55d); }

.hh-footer__legal {
  font-size: 10px;
  line-height: 1.7;
  color: var(--hh-muted);
  text-align: left;
  max-width: 1000px;
  margin: 40px auto 0;
}
.hh-footer__legal p { margin: 0 0 10px; }
.hh-footer__legal p:last-child { margin-bottom: 0; }
.hh-footer__copy {
  margin-top: 30px;
  font-size: 13px;
  color: var(--hh-muted);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .hh-blog-layout { grid-template-columns: 1fr; }
  .hh-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
}

@media (max-width: 768px) {
  #masthead { padding: 12px 5%; }
  #site-navigation { display: none; }
  #site-navigation.is-open { display: block; position: absolute; top: 70px; left: 0; right: 0; background: rgba(0,0,0,.97); padding: 20px 5%; }
  #primary-menu { flex-direction: column; gap: 16px; }
  .hh-menu-toggle { display: flex; }
  
  .hh-section { padding: 72px 5%; }
  .hh-grid--2, .hh-grid--3, .hh-grid { grid-template-columns: 1fr; }
  .hh-form-grid { grid-template-columns: 1fr; }
  .hh-footer__legal { font-size: 9px; line-height: 1.65; }
  .hh-stats {
    flex-direction: column;
    padding: 48px 6%;
    margin: 48px 0;
    width: 100%;
    gap: 36px;
  }
  .hh-stat + .hh-stat::before { display: none; }
  .hh-form-wrap { padding: 36px 24px; }
  .hh-posts-grid { grid-template-columns: 1fr; }
  .hh-sidebar { grid-template-columns: 1fr; }
  .hh-post-nav { flex-direction: column; }
  .hh-post-nav a { max-width: 100%; }
  .hh-blog-layout { grid-template-columns: 1fr; }
}

/* =========================================================
   HIGHLIGHT / SELECTION
   ========================================================= */
::selection { background: var(--color-pink); color: var(--color-text-primary); }

/* =========================================================
   SKIP LINK — ACESSIBILIDADE
   ========================================================= */
.hh-skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  background: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
  padding: .5rem 1.5rem;
  font-weight: 700;
  z-index: 9999;
  transition: top .15s;
}
.hh-skip-link:focus { top: 0; }

/* =========================================================
   HEADER — ESTRUTURA
   ========================================================= */
.hh-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: #fff;
  color: var(--color-text-dark);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  transition: background .4s, border-color .4s, box-shadow .3s, color .4s;
}
.hh-header.scrolled {
  background: linear-gradient(180deg, black, transparent);
  color: var(--color-text-primary);
  border-bottom-color: rgba(184,151,80,.24);
  box-shadow: none;
}

.hh-header__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 88px;
  max-width: 1400px;
  margin: 0 auto;
}

.hh-header__brand { flex-shrink: 0; justify-self: flex-start; }
.hh-header__brand img { height: 120px; width: auto; display: block; }

/* Nav centralizada — tamanho flex adjustable */
.hh-header__nav { flex: 1; display: flex; justify-content: center; min-width: 0; }

.hh-header__actions {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
  position: relative;
}

.hh-header__vacation-link {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-text-dark);
  text-decoration: none;
  padding: .15rem .25rem;
  transition: color .2s;
}

.hh-header__vacation-link:hover {
  color: var(--color-pink);
}

/* Botão Rockstar nav — outline dourado fino */
.hh-btn--rockstar-nav {
  background: transparent;
  color: var(--hh-gold, #d6b55d);
  border: 1.5px solid var(--hh-gold, #d6b55d);
  font-size: .7rem;
  padding: .45rem 1rem;
  letter-spacing: .12em;
  border-radius: 2px;
  transition: background .2s, color .2s;
}
.hh-btn--rockstar-nav:hover {
  background: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
}

/* Ghost button — borda roxa, header nav */
.hh-btn--ghost {
  background: transparent;
  color: var(--hh-white);
  border: 1.5px solid rgba(168,85,247,0.55);
  font-size: .72rem;
  padding: .55rem 1.3rem;
  letter-spacing: .1em;
  border-radius: 2px;
  backdrop-filter: blur(4px);
  transition: background .2s, color .2s, border-color .2s;
}
.hh-btn--ghost:hover {
  background: rgba(168,85,247,0.15);
  border-color: var(--color-purple-light);
  color: var(--color-purple-light);
}

/* Mobile toggle */
.hh-menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: .5rem;
  color: var(--hh-white);
  margin-left: auto;
}
.hh-menu-toggle .bar {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  margin: 5px 0;
  transition: transform .25s, opacity .25s;
}
/* Animação X ao abrir */
.hh-menu-toggle.is-active .bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hh-menu-toggle.is-active .bar:nth-child(2) { opacity: 0; }
.hh-menu-toggle.is-active .bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =========================================================
   NAVEGAÇÃO — DESKTOP (base)
   ========================================================= */

/* Lista raiz */
#primary-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

/* Item raiz — flex para manter link + chevron na mesma linha */
#primary-menu > li {
  position: relative;
  display: flex;
  align-items: stretch;
}

/* Link raiz */
/* =========================================================
   HOME — blocos temporariamente ocultos por diretriz
   ========================================================= */
#sec-historia {
  display: none !important;
}
.hh-nav-link {
  display: inline-flex;
  align-items: center;
  padding: .55rem .7rem;
  font-size: .68rem;
  font-family: 'Apex Sans', sans-serif !important;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--hh-black) !important;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s;
  position: relative;
}
/* Underline pink animado */
.hh-nav-link::after {
  position: absolute;
  bottom: 4px;
  left: .7rem;
  right: .7rem;
  height: 1px;
  background: var(--color-gold, #d6b55d);
  transform:  scaleX(0) !important;
  transform-origin: left;
  transition: transform .25s ease;
  padding: 18px 0 0;
}
.hh-nav-link:hover,
#primary-menu > li.current-menu-item > .hh-nav-link,
#primary-menu > li.current-menu-ancestor > .hh-nav-link { color: var(--color-pink); }

.hh-nav-link:hover::after,
#primary-menu > li.current-menu-item > .hh-nav-link::after,
#primary-menu > li.current-menu-ancestor > .hh-nav-link::after { transform: scaleX(1) scaleY(0.1); }

/* Botão toggle submenu (seta ▾) */
.hh-sub-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: .4rem .3rem;
  color: rgba(255,255,255,.6);
  transition: color .2s, transform .25s;
  vertical-align: middle;
  line-height: 1;
}
.hh-sub-toggle svg {
  width: 10px;
  height: 6px;
  display: block;
  transition: transform .25s ease;
  stroke: currentColor;
}
.hh-sub-toggle:hover { color: var(--hh-gold, #d6b55d); }

/* Rotaciona seta quando aberto */
#primary-menu > li.is-open > .hh-sub-toggle { color: var(--hh-gold, #d6b55d); }
#primary-menu > li.is-open > .hh-sub-toggle svg { transform: rotate(180deg); }

/* =========================================================
   PRIORITY+ MENU — botão "Mais" para itens que não cabem
   ========================================================= */
.hh-overflow-btn {
  cursor: pointer;
  background: none;
  border: none;
  display: inline-flex;
  align-items: center;
}
.hh-overflow-btn svg {
  transition: transform .25s ease;
  stroke: currentColor;
}
#hh-overflow-item.is-open > .hh-overflow-btn { color: var(--hh-gold, #d6b55d); }
#hh-overflow-item.is-open > .hh-overflow-btn svg { transform: rotate(180deg); }
#hh-overflow-item > .hh-sub-menu {
  display: none;
  right: 0;
  left: auto;
  min-width: 200px;
}
#hh-overflow-item.is-open > .hh-sub-menu {
  display: block;
  animation: hhDropIn .2s ease forwards;
}
/* Clones dos itens overflow: força display block no dropdown */
.hh-pnav-clone { display: block !important; }
.hh-pnav-clone > .hh-nav-link {
  display: flex !important;
  padding: .6rem 1.1rem !important;
  font-size: .72rem !important;
  white-space: nowrap;
  color: rgba(255,255,255,.72) !important;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.hh-pnav-clone > .hh-nav-link::after { display: none !important; }
.hh-pnav-clone > .hh-nav-link:hover { color: var(--color-pink) !important; background: rgba(255,45,120,.06); }
.hh-pnav-clone .hh-sub-menu { position: static; border: none; background: rgba(255,255,255,.04); box-shadow: none; animation: none !important; }
.hh-pnav-clone .hh-sub-toggle { display: none; }
/* Item escondido no menu principal */
.hh-pnav-hidden { display: none !important; }

/* =========================================================
   SUBMENU DROPDOWN (desktop)
   ========================================================= */
@keyframes hhDropIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hh-sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  min-width: 220px;
  background: #111;
  border: 1px solid rgba(201,169,97,.2);
  border-top: 2px solid var(--hh-gold, #d6b55d);
  list-style: none;
  margin: 0;
  padding: .3rem 0;
  box-shadow: 0 16px 48px rgba(0,0,0,.7);
  z-index: 9999;
}

/* Abre quando o <li> pai tem .is-open */
#primary-menu > li.is-open > .hh-sub-menu {
  display: block;
  animation: hhDropIn .2s ease forwards;
}

/* Links do submenu */
.hh-sub-link {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem 1.1rem;
  font-size: .73rem;
  font-family: 'Apex Sans', sans-serif;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  transition: color .18s, background .18s, padding-left .18s;
  white-space: nowrap;
}
.hh-sub-link::before {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--hh-gold, #d6b55d);
  flex-shrink: 0;
  opacity: 0;
  transition: opacity .18s;
}
.hh-sub-link:hover,
.hh-sub-menu li.current-menu-item > .hh-sub-link {
  color: var(--hh-gold, #d6b55d);
  padding-left: 1.4rem;
  background: rgba(201,169,97,.06);
}
.hh-sub-link:hover::before,
.hh-sub-menu li.current-menu-item > .hh-sub-link::before { opacity: 1; }

.hh-sub-menu > li { border-bottom: 1px solid rgba(255,255,255,.04); }
.hh-sub-menu > li:last-child { border-bottom: none; }

/* =========================================================
   MEGA MENU (desktop)
  Ativado automaticamente para itens raiz com submenu.
  (Compatível com classe CSS manual "mega-menu".)
   ========================================================= */

/* Contexto de posicionamento: o próprio header full-width */
.hh-header { position: sticky; top: 0; z-index: 900; background: var(--hh-black);
  border-bottom: 1px solid rgba(201,169,97,.2); transition: box-shadow .3s;
  /* position: sticky já é declarado acima, apenas adicionamos o contexto */ }
.hh-header.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,.6); }

/* O li com mega-menu é relativo ao hh-header via chain */
#primary-menu > li.mega-menu { position: static; }
#primary-menu > li.mega-menu > .hh-nav,
#site-navigation { position: static; }
.hh-header__nav { position: static; }
.hh-header__inner { position: static; }

/* Painel largo */
.hh-mega {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  background: var(--hh-surface-dark);
  border-top: 2px solid var(--hh-gold, #d6b55d);
  border-bottom: 1px solid rgba(201,169,97,.18);
  box-shadow: 0 24px 60px rgba(0,0,0,.85);
  z-index: 9999;
  padding: 2.5rem 0 3rem;
}

/* Abre quando o li pai tem .is-open */
#primary-menu > li.mega-menu.is-open > .hh-mega {
  display: block;
  animation: hhDropIn .22s ease forwards;
}

/* Grade de colunas — centralizada e com padding próprio */
.hh-mega__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 2rem 3.5rem;
  list-style: none;
  margin: 0 auto;
  padding: 0 clamp(1rem,4vw,3rem);
  max-width: 1200px;
}

/* Headline acima da grid (ex: "DESCUBRA NOSSO MUNDO") */
.hh-mega__headline {
  font-family: 'Apex Sans', sans-serif;
  font-size: 1.5rem;
  letter-spacing: .12em;
  color: var(--hh-gold, #d6b55d);
  margin: 0 auto 1.6rem;
  padding: 0 clamp(1rem,4vw,3rem);
  max-width: 1200px;
}

/* Coluna do mega menu */
.hh-mega__col { padding: 0; }

/* Título da coluna */
.hh-mega__col-title {
  display: block;
  font-size: .63rem;
  font-family: 'Apex Sans', sans-serif;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hh-gold, #d6b55d);
  margin-bottom: .85rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(201,169,97,.22);
}

/* Link plano na grade (depth-1 sem filhos) */
.hh-mega__col--link {
  display: flex;
  align-items: center;
}
.hh-mega__flat-link {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem .2rem;
  font-size: .78rem;
  font-family: 'Apex Sans', sans-serif;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255,255,255,.82);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid rgba(201,169,97,.15);
  width: 100%;
  transition: color .18s, padding-left .18s;
}
.hh-mega__flat-link::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--hh-gold, #d6b55d);
  flex-shrink: 0;
  opacity: 0;
  transition: opacity .18s;
}
.hh-mega__flat-link:hover,
.hh-mega__col--link.current-menu-item > .hh-mega__flat-link {
  color: var(--hh-gold, #d6b55d);
  padding-left: .4rem;
}
.hh-mega__flat-link:hover::before,
.hh-mega__col--link.current-menu-item > .hh-mega__flat-link::before {
  opacity: 1;
}

/* Lista dentro da coluna */
.hh-mega__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hh-mega__links > li { border-bottom: 1px solid rgba(255,255,255,.04); }
.hh-mega__links > li:last-child { border-bottom: none; }

/* Links dentro da coluna */
.hh-mega__link {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem 0 .45rem .1rem;
  font-size: .73rem;
  font-family: 'Apex Sans', sans-serif;
  font-weight: 600;
  letter-spacing: .05em;
  color: rgba(255,255,255,.68);
  text-decoration: none;
  transition: color .18s, padding-left .18s;
  white-space: nowrap;
}
.hh-mega__link::before {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--hh-gold, #d6b55d);
  flex-shrink: 0;
  opacity: 0;
  transition: opacity .18s;
}
.hh-mega__link:hover,
.hh-mega__links li.current-menu-item > .hh-mega__link {
  color: var(--hh-gold, #d6b55d);
  padding-left: .55rem;
}
.hh-mega__link:hover::before,
.hh-mega__links li.current-menu-item > .hh-mega__link::before { opacity: 1; }

/* =========================================================
   COLUNA DESTAQUE DO MEGA MENU (.mega-featured)
   Ativada adicionando classe "mega-featured" a item depth-1
   ========================================================= */
.hh-mega__col--featured {
  display: flex;
  flex-direction: column;
}

/* Título da coluna destaque — mesmo estilo */
.hh-mega__col--featured > .hh-mega__col-title {
  background: none;
  border-bottom-color: rgba(201,169,97,.22);
}
.hh-mega__col--featured > .hh-mega__col-title strong {
  color: var(--hh-white);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .7rem;
}

/* Imagem do destaque */
.hh-mega__feat-img-wrap {
  display: block;
  margin: .8rem 0 .6rem;
  overflow: hidden;
  border: 1px solid rgba(201,169,97,.2);
  border-radius: 2px;
  line-height: 0;
}
.hh-mega__feat-img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  display: block;
  transition: transform .35s ease, filter .35s ease;
  filter: brightness(.9);
}
.hh-mega__feat-img-wrap:hover .hh-mega__feat-img {
  transform: scale(1.04);
  filter: brightness(1);
}

/* Links da coluna destaque usam o mesmo .hh-mega__link */
.hh-mega__col--featured .hh-mega__links { margin-top: .1rem; }

/* =========================================================
   SETA (legado) — mantido para compatibilidade
   ========================================================= */
.hh-nav__arrow {
  width: 10px; height: 6px;
  flex-shrink: 0; fill: none;
  stroke: currentColor; stroke-width: 1.8; opacity: .8;
}

/* =========================================================
   BOTÕES — HEADER (compact nav variant, scoped)
   ========================================================= */
.hh-header .hh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .6rem 1.4rem;
  font-size: .78rem;
  font-family: inherit;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s, transform .15s;
  white-space: nowrap;
}
.hh-header .hh-btn:hover { transform: translateY(-1px); }

.hh-header .hh-btn--gold {
  background: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
  border-color: var(--hh-gold, #d6b55d);
}
.hh-header .hh-btn--gold:hover { background: var(--hh-gold, #d6b55d); border-color: var(--hh-gold, #d6b55d); color: var(--hh-black); }

.hh-header .hh-btn--outline {
  background: transparent;
  color: var(--hh-white);
  border-color: rgba(255,255,255,0.45);
}
.hh-header .hh-btn--outline:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); color: var(--color-text-primary); }

.hh-btn--portal {
  background: transparent;
  color: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  font-size: .72rem;
  padding: .5rem 1rem;
}
.hh-btn--portal:hover { background: var(--hh-gold, #d6b55d); color: var(--hh-black); }

/* WhatsApp & utility — global */
.hh-btn--wa {
  background: var(--hh-green-brand);
  color: var(--color-text-primary);
  border-color: var(--hh-green-brand);
}
.hh-btn--wa:hover { background: var(--hh-green-brand); border-color: var(--hh-green-brand); color: var(--color-text-primary); }

.hh-btn--block { width: 100%; }

/* =========================================================
   POPUP SYSTEM
   ========================================================= */
.hh-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.hh-popup-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.hh-popup {
  background: var(--hh-black);
  border: 1px solid var(--hh-gold, #d6b55d);
  border-radius: 4px;
  padding: 2.5rem;
  max-width: 520px;
  width: calc(100% - 2rem);
  position: relative;
  transform: scale(.95);
  transition: transform .3s;
}
.hh-popup-overlay.is-open .hh-popup { transform: scale(1); }

.hh-popup__close {
  position: absolute;
  top: .75rem;
  right: 1rem;
  background: none;
  border: none;
  color: var(--hh-white);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  opacity: .7;
}
.hh-popup__close:hover { opacity: 1; color: var(--hh-gold, #d6b55d); }

/* =========================================================
   WHATSAPP FLUTUANTE
   ========================================================= */
.hh-whatsapp-float {
  position: fixed;
  bottom: 2rem;
  right: 1.5rem;
  z-index: 800;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .5rem;
}
.hh-whatsapp-float__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--hh-green-brand);
  color: var(--color-text-primary);
  box-shadow: 0 4px 16px rgba(0,0,0,.35);
  transition: transform .2s, box-shadow .2s;
  text-decoration: none;
}
.hh-whatsapp-float__btn:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(37,211,102,.4); }
.hh-whatsapp-float__btn svg { width: 28px; height: 28px; fill: var(--color-text-primary); }

.hh-whatsapp-float__label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--hh-white);
  background: rgba(0,0,0,.65);
  padding: .25rem .6rem;
  border-radius: 2px;
  display: none;
}
@media (min-width: 768px) { .hh-whatsapp-float__label { display: block; } }

/* =========================================================
   STICKY CTA BAR
   ========================================================= */
.hh-sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 700;
  background: var(--hh-black);
  border-top: 2px solid var(--hh-gold, #d6b55d);
  padding: .75rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  transform: translateY(100%);
  transition: transform .4s ease;
}
.hh-sticky-cta.visible { transform: none; }
.hh-sticky-cta__text {
  font-size: .85rem;
  color: var(--hh-white);
  font-weight: 600;
  letter-spacing: .05em;
}
@media (max-width: 480px) { .hh-sticky-cta__text { display: none; } }

/* =========================================================
   SEÇÕES COMUNS — UTILITÁRIOS DE PÁGINA
   ========================================================= */
.hh-eyebrow {
  display: block;
  font-family: 'Apex Sans', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--hh-gold, #d6b55d);
  margin-bottom: .75rem;
}
.hh-section__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
  color: var(--hh-text-dark);
  margin: 0 0 1rem;
}
.hh-section__title span {
  font-family: var(--hh-font-script);
  font-size: 1.15em;
  color: var(--hh-script-color, var(--color-pink));
  display: block;
  text-transform: lowercase;
  letter-spacing: -0.5px;
  line-height: 1.12;
  font-weight: 700;
  margin-top: 0;
  transform: rotate(var(--hh-script-rotate, -2deg));
  transform-origin: left center;
}
/* Título claro: seções escuras e formulário de lead */
.hh-section--black .hh-section__title,
.hh-form-lead .hh-section__title { color: var(--hh-white); }
/* Modificador explícito de texto claro (usado nos templates) */
.hh-section__title--light { color: var(--hh-text-dark) !important; }
.hh-section__sub {
  font-size: 1.05rem;
  color: var(--hh-text-gray);
  max-width: 640px;
  line-height: 1.65;
}
.hh-section--black .hh-section__sub,
.hh-form-lead .hh-section__sub { color: rgba(255,255,255,.75); }

.hh-img-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: #1a1a1a;
  border: 1px dashed rgba(201,169,97,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.2);
  font-size: .8rem;
  letter-spacing: .05em;
  border-radius: 4px;
}

/* Two-column layout */
.hh-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.hh-two-col--reverse { direction: rtl; }
.hh-two-col--reverse > * { direction: ltr; }
@media (max-width: 900px) {
  .hh-two-col { grid-template-columns: 1fr; gap: 2.5rem; }
  .hh-two-col--reverse { direction: ltr; }
}

/* =========================================================
   FORMULÁRIO DE LEAD — SEÇÃO
   ========================================================= */
.hh-form-lead { background: #3f3f3f; padding: 5rem 0; }

.hh-form-lead__inner {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(460px, 1.22fr);
  gap: 2rem;
  align-items: start;
}
@media (max-width: 900px) {
  .hh-form-lead__inner { grid-template-columns: 1fr; gap: 2.5rem; }
}

.hh-check-list {
  list-style: none;
  margin: 1.5rem 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.hh-check-list li {
  padding-left: 1.6rem;
  position: relative;
  font-size: .9rem;
  color: var(--hh-text-color, var(--hh-gold, #d6b55d)) !important;
}
/* Lista dentro de seções escuras (formulário de lead) */
.hh-form-lead .hh-check-list li,
.hh-section--black .hh-check-list li { color: var(--hh-text-color, rgba(255,255,255,.85)); }
.hh-check-list li::before,
.hh-ec-card ul li::before,
.hh-card ul li::before {
  position: absolute;
  left: 0;
  color: var(--hh-gold, #d6b55d);
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Apply Montserrat styling to native list markers only inside theme content */
.hh-container ul li::marker,
.hh-container ol li::marker,
.site-main ul li::marker,
.site-main ol li::marker,
.entry-content ul li::marker,
.entry-content ol li::marker,
.hh-ec-card ul li::marker,
.hh-card ul li::marker,
.hh-check-list li::marker {
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hh-gold, #d6b55d);
}

.hh-form-lead__form-wrap {
  background: var(--hh-surface-dark);
  border: 1px solid rgba(201,169,97,.2);
  border-radius: 4px;
  padding: 2.1rem 2.25rem;
}
.hh-lead-form { display: flex; flex-direction: column; gap: .55rem; }
.hh-lead-form__row input {
  width: 100%;
  padding: .6rem .85rem;
  background: var(--hh-white);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 2px;
  color: var(--hh-input-text);
  font-family: 'Apex Sans', sans-serif;
  font-size: .85rem;
  transition: border-color .2s;
}
.hh-lead-form__row textarea,
.hh-lead-form__row select {
  width: 100%;
  padding: .6rem .85rem;
  background: var(--hh-white);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 2px;
  color: var(--hh-input-text);
  font-family: 'Apex Sans', sans-serif;
  font-size: .85rem;
  transition: border-color .2s;
}
.hh-lead-form__row textarea {
  min-height: 92px;
  resize: vertical;
}
.hh-lead-form__row {
  color: var(--hh-white);
}
.hh-lead-form__row input:focus,
.hh-lead-form__row textarea:focus,
.hh-lead-form__row select:focus {
  outline: none;
  border-color: var(--hh-gold, #d6b55d);
}
.hh-lead-form__row input::placeholder { color: rgba(0,0,0,.35); }
.hh-lead-form__row textarea::placeholder { color: rgba(0,0,0,.35); }

/* Submit button and small text colors */
.hh-lead-form__row--submit { display: block; margin-top: .5rem; }
.hh-btn--gold { background: var(--color-gold, #d6b55d); color: var(--color-text-dark); padding: .9rem 1.25rem; border-radius: 2px; }
.hh-lead-form__lgpd { text-align: left; color: rgba(255,255,255,.75); font-size: .82rem; margin-top: .6rem; }

@media (max-width: 900px) {
  .hh-lead-form { gap: .55rem; }
  .hh-btn--gold { width: 100%; }
}

.hh-lead-form__feedback {
  text-align: center;
  font-size: .85rem;
  font-weight: 700;
  min-height: 1.2em;
  color: var(--hh-gold, #d6b55d);
}
.hh-lead-form__feedback.error { color: var(--hh-error); }

.hh-lead-form__lgpd {
  font-size: .65rem;
  color: rgba(255,255,255,.4);
  text-align: center;
  margin: 0;
  line-height: 1.4;
}
.hh-lead-form__lgpd a { color: rgba(255,255,255,.55); text-decoration: underline; }

.hh-lead-form__payload-preview {
  margin-top: .65rem;
  border: 1px solid rgba(201,169,97,.28);
  border-radius: 4px;
  background: rgba(0,0,0,.25);
  overflow: hidden;
}
.hh-lead-form__payload-preview summary {
  cursor: pointer;
  padding: .55rem .7rem;
  color: var(--hh-gold, #d6b55d);
  font-weight: 700;
  font-size: .8rem;
}
.hh-lead-form__payload-actions {
  display: flex;
  justify-content: flex-end;
  padding: 0 .7rem .45rem;
}
.hh-copy-json-btn {
  border: 1px solid rgba(201,169,97,.45);
  background: transparent;
  color: rgba(255,255,255,.92);
  font-size: .74rem;
  letter-spacing: .02em;
  padding: .38rem .62rem;
  border-radius: 3px;
  cursor: pointer;
  transition: all .2s ease;
}
.hh-copy-json-btn:hover {
  border-color: rgba(201,169,97,.75);
  color: var(--hh-gold, #d6b55d);
}
.hh-copy-json-btn.is-copied {
  background: rgba(34,140,72,.2);
  border-color: rgba(48,185,94,.75);
  color: #c9f8d8;
}
.hh-copy-json-btn.is-copy-error {
  background: rgba(170,46,46,.2);
  border-color: rgba(226,82,82,.7);
  color: #ffd1d1;
}
.hh-lead-form__payload-preview pre {
  margin: 0;
  padding: .7rem;
  max-height: 260px;
  overflow: auto;
  font-size: .72rem;
  line-height: 1.45;
  color: rgba(255,255,255,.9);
  background: rgba(0,0,0,.35);
}

/* =========================================================
   PAGE HERO — REUTILIZÁVEL
   ========================================================= */
.hh-page-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(320px, 55vh, 600px);
  display: flex;
  align-items: flex-end;
  background: var(--hh-black);
}
.hh-page-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .55;
}
.hh-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85) 35%, rgba(0,0,0,.2));
}
.hh-page-hero__content {
  position: relative;
  z-index: 2;
  padding: 4rem clamp(1rem,4vw,3rem);
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}

/* =========================================================
   TIMELINE — PÁGINA HISTÓRIA
   ========================================================= */
.hh-timeline {
  position: relative;
  padding: 2rem 0;
  list-style: none;
  margin: 0;
}
.hh-timeline::before {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(201,169,97,.3);
  transform: translateX(-50%);
}
.hh-timeline__item {
  position: relative;
  width: 45%;
  padding: 1.5rem;
  background: #111;
  border: 1px solid rgba(201,169,97,.15);
  border-radius: 4px;
  margin-bottom: 2.5rem;
}
.hh-timeline__item:nth-child(odd) { margin-left: 0; }
.hh-timeline__item:nth-child(even) { margin-left: 55%; }
.hh-timeline__item::after {
  position: absolute;
  top: 1.5rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--hh-gold, #d6b55d);
}
.hh-timeline__item:nth-child(odd)::after { right: -6.5%; }
.hh-timeline__item:nth-child(even)::after { left: -6.5%; }
.hh-timeline__year {
  font-family: 'Apex Sans', sans-serif;
  font-size: 2.5rem;
  color: var(--hh-gold, #d6b55d);
  line-height: 1;
  margin-bottom: .5rem;
}
.hh-timeline__title { font-weight: 700; font-size: 1rem; color: var(--hh-white); margin-bottom: .4rem; }
.hh-timeline__text { font-size: .9rem; color: rgba(255,255,255,.65); line-height: 1.6; }

@media (max-width: 768px) {
  .hh-timeline::before { left: 1rem; }
  .hh-timeline__item { width: calc(100% - 3rem); margin-left: 3rem !important; }
  .hh-timeline__item::after { left: -2.5rem !important; right: auto !important; }
}

/* =========================================================
   APARTAMENTOS — TIPOLOGIAS
   ========================================================= */
.hh-apto-tipologia {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
  padding: 3rem 0;
  border-bottom: 1px solid var(--hh-border-light);
}
.hh-apto-tipologia:last-child { border-bottom: none; }
.hh-apto-tipologia:nth-child(even) { direction: rtl; }
.hh-apto-tipologia:nth-child(even) > * { direction: ltr; }
.hh-apto-tipologia__specs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin: 1.25rem 0;
}
.hh-apto-tipologia__spec {
  background: rgba(201,169,97,.1);
  border: 1px solid rgba(201,169,97,.2);
  border-radius: 3px;
  padding: .75rem;
  text-align: center;
}
.hh-apto-tipologia__spec strong { display: block; font-size: 1.1rem; color: var(--hh-gold, #d6b55d); }
.hh-apto-tipologia__spec span { font-size: .72rem; color: var(--hh-text-gray); text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 768px) {
  .hh-apto-tipologia { grid-template-columns: 1fr; direction: ltr; }
  .hh-apto-tipologia:nth-child(even) { direction: ltr; }
}

/* =========================================================
   EXPERIÊNCIAS — GRID
   ========================================================= */
.hh-exp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.hh-exp-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  overflow: hidden;
}
.hh-exp-card__img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.hh-exp-card__body { padding: 1.5rem; }
.hh-exp-card__eyebrow { font-size: .7rem; color: var(--hh-gold, #d6b55d); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hh-exp-card__title { font-size: 1.3rem; font-family: 'Apex Sans', sans-serif; color: var(--color-text-dark); margin: .4rem 0 .75rem; }
.hh-exp-card__text { font-size: .88rem; color: var(--hh-card-text); line-height: 1.6; }
@media (max-width: 900px) { .hh-exp-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 580px) { .hh-exp-grid { grid-template-columns: 1fr; } }

/* =========================================================
   OBRA — BARRA DE PROGRESSO
   ========================================================= */
.hh-obra-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}
.hh-progress-bar {
  margin-bottom: 1.25rem;
}
.hh-progress-bar__label {
  display: flex;
  justify-content: space-between;
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  margin-bottom: .4rem;
}
.hh-progress-bar__track {
  height: 8px;
  background: rgba(255,255,255,.1);
  border-radius: 4px;
  overflow: hidden;
}
.hh-progress-bar__fill {
  height: 100%;
  background: var(--hh-gold, #d6b55d);
  border-radius: 4px;
  width: 0;
  transition: width 1s ease .3s;
}
.hh-video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 4px;
}
.hh-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.hh-video-wrap video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  object-fit: cover;
  display: block;
}

/* =========================================================
   DESTINOS — RCI
   ========================================================= */
.hh-rci-intro { max-width: 700px; margin-bottom: 3rem; }
.hh-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 3.5rem;
}
.hh-stats-row .hh-stat {
  text-align: center;
  padding: 1.5rem;
  background: rgba(201,169,97,.07);
  border: 1px solid rgba(201,169,97,.2);
  border-radius: 4px;
}
.hh-stats-row .hh-stat strong { font-family: 'Apex Sans', sans-serif; font-size: 2.8rem; color: var(--hh-gold, #d6b55d); display: block; line-height: 1; }
.hh-stats-row .hh-stat span { font-size: .78rem; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .1em; }
@media (max-width: 768px) { .hh-stats-row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .hh-stats-row { grid-template-columns: 1fr; } }

.hh-economy-compare {
  display: grid;
  grid-template-columns: 1fr 2rem 1fr;
  align-items: center;
  gap: 1rem;
  background: #111;
  border: 1px solid rgba(201,169,97,.15);
  padding: 2rem;
  border-radius: 4px;
  margin-bottom: 3rem;
}
.hh-economy-compare__vs { font-family: 'Apex Sans', sans-serif; font-size: 1.5rem; color: var(--hh-gold, #d6b55d); text-align: center; }
@media (max-width: 640px) { .hh-economy-compare { grid-template-columns: 1fr; } }

/* =========================================================
   GRAMADO — ESTAÇÕES / ITINERÁRIO
   ========================================================= */
.hh-seasons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 3.5rem;
}
.hh-season {
  background: var(--hh-bg-card);
  border: 1px solid rgba(255,255,255,.08);
  padding: 1.5rem;
  border-radius: 4px;
  text-align: center;
}
.hh-season__icon { font-size: 2.5rem; display: block; margin-bottom: .75rem; }
.hh-season__name { font-family: 'Apex Sans', sans-serif; font-size: 1.3rem; color: var(--hh-gold, #d6b55d); margin-bottom: .5rem; }
.hh-season__text { font-size: .85rem; color: rgba(255,255,255,.6); }
@media (max-width: 768px) { .hh-seasons-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .hh-seasons-grid { grid-template-columns: 1fr; } }

.hh-itinerary { display: flex; flex-direction: column; gap: 1.25rem; }
.hh-itinerary__day {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 1.5rem;
  align-items: start;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.hh-itinerary__day-label { font-family: 'Apex Sans', sans-serif; font-size: 1.2rem; color: var(--hh-gold, #d6b55d); }
.hh-itinerary__title { font-weight: 700; color: var(--hh-white); font-size: .95rem; margin-bottom: .25rem; }
.hh-itinerary__text { font-size: .88rem; color: rgba(255,255,255,.6); line-height: 1.6; }
@media (max-width: 540px) { .hh-itinerary__day { grid-template-columns: 1fr; gap: .3rem; } }

/* =========================================================
   ROCKSTAR — BENEFÍCIOS & PONTOS
   ========================================================= */
.hh-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.hh-benefit {
  background: #111;
  border: 1px solid rgba(201,169,97,.15);
  padding: 2rem 1.5rem;
  border-radius: 4px;
  transition: border-color .2s, transform .2s;
}
.hh-benefit:hover { border-color: var(--hh-gold, #d6b55d); transform: translateY(-4px); }
.hh-benefit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  color: var(--color-text-primary);
}
.hh-benefit__icon svg { width: 28px; height: 28px; display: block; }
.hh-benefit__title { font-family: 'Apex Sans', sans-serif; font-size: 1.3rem; color: var(--hh-gold, #d6b55d); margin-bottom: .5rem; }
.hh-benefit__text { font-size: .88rem; color: rgba(255,255,255,.65); line-height: 1.6; }
.hh-benefit-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  padding: 2rem 1.5rem;
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  transition: border-color .2s, transform .2s;
}
.hh-benefit-card:hover { border-color: var(--hh-gold, #d6b55d); transform: translateY(-4px); }
.hh-benefit-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  margin-bottom: 1rem;
}
.hh-benefit-card__icon svg { width: 28px; height: 28px; display: block; }
.hh-benefit-card h3 { font-family: 'Apex Sans', sans-serif; font-size: 1.3rem; color: var(--color-text-dark); margin: 0 0 .5rem; }
.hh-benefit-card p { font-size: .88rem; color: var(--hh-card-text); line-height: 1.6; margin: 0; }
@media (max-width: 900px) { .hh-benefits-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .hh-benefits-grid { grid-template-columns: 1fr; } }

.hh-points-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  counter-reset: steps;
}
.hh-step,
.hh-points-step {
  counter-increment: steps;
  padding: 1.5rem;
  background: rgba(255,251,244,.88);
  border: 1px solid rgba(184,151,80,.24);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--hh-soft-shadow);
}
.hh-step::before,
.hh-points-step::before {
  content: counter(steps);
  position: absolute;
  top: -1rem;
  right: .5rem;
  font-family: 'Apex Sans', sans-serif;
  font-size: 5rem;
  color: rgba(184,151,80,.16);
  line-height: 1;
  pointer-events: none;
}
.hh-step__title,
.hh-points-step h2 {
  font-weight: 700;
  color: var(--color-text-primary);
  margin-bottom: .4rem;
  font-size: .9rem;
}
.hh-step__text,
.hh-points-step p {
  font-size: .85rem;
  color: var(--color-text-body);
  line-height: 1.6;
}
.hh-points-step__num {
  color: var(--hh-gold-dark);
  display: inline-block;
  margin-bottom: .45rem;
}
@media (max-width: 900px) { .hh-points-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .hh-points-steps { grid-template-columns: 1fr; } }

.hh-levels-table { width: 100%; border-collapse: collapse; margin: 2rem 0; }
.hh-levels-table th, .hh-levels-table td { padding: 1rem 1.25rem; text-align: left; border-bottom: 1px solid rgba(90,74,48,.18); font-size: .88rem; }
.hh-levels-table th { background: rgba(201,169,97,.12); color: var(--hh-gold, #d6b55d); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hh-levels-table tr:last-child td { border-bottom: none; }
.hh-levels-table td { color: var(--color-text-body); }

/* =========================================================
   MEMBER AREA
   ========================================================= */
.hh-member-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.hh-member-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  padding: 1.75rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  transition: border-color .2s, transform .2s;
}
.hh-member-card:hover { border-color: var(--hh-gold, #d6b55d); transform: translateY(-3px); }
.hh-member-card__icon { font-size: 2rem; color: var(--color-text-primary); }
.hh-member-card__icon svg { width: 28px; height: 28px; display: block; }
.hh-member-card__title { font-size: 1rem; font-weight: 700; color: var(--color-text-dark); }
.hh-member-card__sub { font-size: .82rem; color: var(--hh-member-sub); }
@media (max-width: 768px) { .hh-member-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .hh-member-grid { grid-template-columns: 1fr; } }

/* =========================================================
   CONTATO — LISTA & DIRETORA
   ========================================================= */
.hh-hero--contato {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hh-page--contato .hh-two-col__text h2 {
  color: var(--color-text-primary);
  margin-bottom: .85rem;
}
.hh-page--contato .hh-two-col__text > p {
  color: var(--hh-black);
  margin-bottom: 1.1rem;
}
.hh-page--contato .hh-section {
  padding: 0 !important;
}
.hh-page--contato .hh-section + .hh-section {
  padding-top: 0 !important;
}
.hh-page--contato > .hh-section:first-of-type {
  padding-bottom: 0 !important;
}
.hh-page--contato > .hh-section.hh-section--light {
  padding-top: 0 !important;
}
.hh-page--contato .hh-two-col.hh-two-col--single {
  grid-template-columns: minmax(0, 820px);
  justify-content: center;
  gap: 1.2rem;
}
.hh-page--contato .hh-two-col__media { align-self: start; }

.hh-page--contato .hh-diretora {
  background: var(--hh-bg-card);
  border: 1px solid var(--hh-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--hh-soft-shadow);
}
.hh-page--contato .hh-diretora img {
  width: 100%;
  display: block;
}
.hh-page--contato .hh-diretora figcaption {
  padding: 1rem 1.15rem;
  background: rgba(255,251,244,.72);
  border-top: 1px solid var(--hh-border);
}
.hh-page--contato .hh-diretora figcaption strong {
  display: block;
  color: var(--color-text-primary);
}
.hh-page--contato .hh-diretora figcaption span {
  display: block;
  margin-top: .2rem;
  color: var(--color-text-body);
  font-size: .85rem;
  line-height: 1.5;
}

.hh-contact-list { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.hh-contact-list li { display: flex; align-items: flex-start; gap: .75rem; font-size: .95rem; color: var(--color-text-body); }
.hh-contact-list li svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin-top: .1rem;
  color: var(--hh-green-brand);
  fill: currentColor;
}
.hh-contact-list__icon { color: var(--hh-green-brand); font-size: 1.2rem; flex-shrink: 0; margin-top: .1rem; }
.hh-contact-list a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color .2s;
}
.hh-contact-list a:hover { color: var(--hh-green-brand); }

.hh-contact-social {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 1rem 0 1.2rem;
}
.hh-page--contato .hh-contact-social:last-child,
.hh-page--contato .hh-contact-list:last-child {
  margin-bottom: 0;
}

.hh-contact-social__btn {
  padding: .5rem .9rem;
  font-size: .72rem;
  letter-spacing: .08em;
}

.hh-page--contato .hh-map-embed {
  margin-top: 1rem;
}

@media (max-width: 900px) {
  .hh-page--contato .hh-section {
    padding: 0 !important;
  }
  .hh-page--contato .hh-section + .hh-section {
    padding-top: 0 !important;
  }
  .hh-page--contato > .hh-section:first-of-type,
  .hh-page--contato > .hh-section.hh-section--light {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

#galeria [data-gallery-slug="gramado" i] {
  margin-top: 56px;
  display: flex !important;
  flex-wrap: wrap;
  gap: 1rem;
}

#galeria [data-gallery-slug="gramado" i] .hh-gal-filter__btn {
  color: rgba(16,16,16,.82);
  border-color: rgba(201,169,97,.48);
  background: rgba(255,255,255,.9);
}

#galeria [data-gallery-slug="gramado" i] .hh-gal-filter__btn:hover {
  color: #111;
  background: rgba(214,181,93,.14);
}

#galeria [data-gallery-slug="gramado" i] .hh-gal-filter__btn.is-active {
  color: #111;
}

#galeria [data-gallery-slug="gramado" i] .hh-gal-count {
  color: rgba(16,16,16,.56);
}

#galeria [data-gallery-slug="gramado" i] > .hhgm-shortcode-filter {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-filter__btn {
  background: transparent;
  border: 1px solid rgba(201,169,97,.35);
  font-family: 'Apex Sans', sans-serif;
  font-size: .82rem;
  letter-spacing: 2px;
  padding: 8px 20px;
  border-radius: 0;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .25s, color .25s, border-color .25s;
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-filter__btn:hover {
  color: var(--hh-text-color, var(--hh-white));
  border-color: var(--hh-gold, #d6b55d);
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-filter__btn.is-active {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-text-color, var(--hh-black));
}

#galeria [data-gallery-slug="gramado" i] > .hhgm-shortcode-gallery__item {
  width: calc((100% - 2rem) / 3);
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-gallery__item {
  margin: 0;
  overflow: hidden;
  border-radius: 3px;
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-gallery__item.is-hidden,
#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-gallery__item[hidden] {
  display: none !important;
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-gallery__item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  height: auto;
  border-radius: 0;
  transition: transform .4s;
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-gallery__item:hover img {
  transform: scale(1.04);
}

#galeria [data-gallery-slug="gramado" i] .hhgm-shortcode-gallery__item figcaption {
  margin-top: .5rem;
  font-size: .78rem;
  color: rgba(255,255,255,.6);
  line-height: 1.5;
}

@media (max-width: 768px) {
  #galeria [data-gallery-slug="gramado" i] > .hhgm-shortcode-gallery__item {
    width: calc((100% - 1rem) / 2);
  }
}

@media (max-width: 480px) {
  #galeria [data-gallery-slug="gramado" i] > .hhgm-shortcode-gallery__item {
    width: 100%;
  }
}

/* =========================================================
   GALERIA — FILTROS
   ========================================================= */
.hh-gallery-filters {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.hh-gallery-filters__btn {
  padding: .4rem 1.1rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.2);
  background: none;
  color: rgba(255,255,255,.65);
  cursor: pointer;
  border-radius: 2px;
  transition: border-color .2s, color .2s, background .2s;
}
.hh-gallery-filters__btn:hover,
.hh-gallery-filters__btn.active {
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-gold, #d6b55d);
  background: rgba(201,169,97,.08);
}
.hh-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.hh-gallery-item { overflow: hidden; border-radius: 3px; }
.hh-gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; transition: transform .4s; }
.hh-gallery-item:hover img { transform: scale(1.04); }
.hh-gallery-item.hidden { display: none; }
@media (max-width: 768px) { .hh-gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .hh-gallery-grid { grid-template-columns: 1fr; } }

/* =========================================================
   TOUR VIRTUAL IFRAME
   ========================================================= */
.hh-tour-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 4px;
  border: 1px solid rgba(201,169,97,.2);
}
.hh-tour-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* =========================================================
   PRÊMIOS / AWARDS
   ========================================================= */
.hh-awards-row {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 3rem;
}
.hh-award {
  text-align: center;
  max-width: 180px;
}
.hh-award img { width: 80px; height: 80px; object-fit: contain; display: block; margin: 0 auto .75rem; filter: brightness(.9); }
.hh-award__text { font-size: .78rem; color: rgba(255,255,255,.6); line-height: 1.5; }

/* =========================================================
   BREADCRUMB
   ========================================================= */
.hh-breadcrumb {
  padding: .75rem 0;
  font-size: .78rem;
  color: rgba(255,255,255,.45);
  letter-spacing: .04em;
}
.hh-breadcrumb a { color: rgba(255,255,255,.45); text-decoration: none; }
.hh-breadcrumb a:hover { color: var(--hh-gold, #d6b55d); }
.hh-breadcrumb span + span::before { content: ' / '; margin: 0 .4rem; }

/* =========================================================
   HEADER MOBILE / TABLET  (≤ 960 px)
   ========================================================= */
@media (max-width: 960px) {

  /* Mostra o hamburguer */
  .hh-menu-toggle { display: flex; flex-direction: column; justify-content: center; }

  /* Nav: oculta por padrão, desce abaixo do header como painel */
  .hh-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7) !important;
    border-top: 1px solid rgba(255, 255, 255, 0) !important;
    padding: .5rem 0 1rem;
    z-index: 9998;
    overflow-y: auto;
    max-height: calc(100vh - 64px);
  }
  .hh-header__nav.is-open { display: block; }

  /* Lista raiz em coluna */
  #primary-menu {
    flex-direction: column;
    align-items: stretch;
  }

  /* Item raiz — mantém relative para o toggle absoluto funcionar */
  #primary-menu > li {
    position: relative;
    display: block;
  }

  #primary-menu li.menu-item-has-children {
    display: block;
  }

  /* Link raiz no mobile */
  .hh-nav-link {
    display: flex;
    width: 100%;
    padding: .85rem 1.4rem;
    border-bottom: 1px solid rgba(255,255,255,.05);
    font-size: .8rem;
    color: var(--color-text-primary) !important;
  }
  .hh-nav-link::after { display: none; }

  /* Seta fica à direita do link */
  .hh-sub-toggle {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    padding: 0 1.2rem;
    border-left: 1px solid rgba(255,255,255,0) !important;
  }

  /* Submenu mobile: oculto por padrão, abre expandindo */
  .hh-sub-menu {
    display: none;
    position: static;
    top: auto;
    left: auto;
    right: auto;
    border: none;
    border-top: 1px solid rgba(255,255,255,0) !important;
    background: rgba(0, 0, 0, 0.7) !important;
    box-shadow: none;
    min-width: 0;
    padding: 0;
    animation: none !important;
  }
  #primary-menu > li > .hh-sub-menu,
  #primary-menu > li > .hh-mega {
    width: 100%;
  }
  #primary-menu li.is-open > .hh-sub-menu { display: block; }

  .hh-sub-link {
    padding: .7rem 1.4rem .7rem 2rem;
    font-size: .74rem;
    color: var(--color-text-primary) !important;
  }
  .hh-sub-link::before { display: none; }

  /* Mega menu mobile: comporta-se como submenu normal */
  #primary-menu > li.mega-menu { position: relative; }

  /* Priority+ desabilitado no mobile: mostra tudo, esconde botão Mais */
  #hh-overflow-item { display: none !important; }
  .hh-pnav-hidden   { display: flex !important; }
  .hh-mega {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    border: none;
    border-top: 1px solid rgba(255,255,255,0) !important;
    background: rgba(0, 0, 0, 0.7) !important;
    box-shadow: none;
    padding: .5rem 0 1rem;
    animation: none !important;
  }
  #primary-menu li.mega-menu.is-open > .hh-mega { display: block; }
  .hh-mega__grid {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .hh-mega__col,
  .hh-mega__col--link { display: block; }
  .hh-mega__col-title,
  .hh-mega__flat-link {
    display: flex;
    width: 100%;
    padding: .7rem 1.4rem;
    font-size: .74rem;
    letter-spacing: .07em;
    text-transform: uppercase;
    white-space: normal;
    border-bottom: 1px solid rgba(255,255,255,.05);
    color: var(--color-text-primary) !important;
  }
  .hh-mega__col-title {
    margin: 0;
    border-bottom-color: rgba(255,255,255,0) !important;
  }
  .hh-mega__links {
    margin: 0;
    padding: 0;
    background: transparent;
  }
  .hh-mega__link { padding: .7rem 1.4rem .7rem 2rem; white-space: normal; color: var(--color-text-primary) !important; }
  .hh-mega__link::before,
  .hh-mega__flat-link::before { display: none; }
  .hh-mega__headline { display: none; }
  .hh-mega__feat-img-wrap { display: none; } /* imagem oculta no mobile */

  .hh-nav-link:hover,
  .hh-sub-link:hover,
  .hh-mega__flat-link:hover,
  .hh-mega__link:hover {
    color: var(--hh-gold, #d6b55d) !important;
  }

  /* Esconde botões de ação do header */
  .hh-header__actions { display: none; }

  /* Hero CTAs em coluna */
  .hh-hero__ctas-secondary { flex-direction: column; align-items: center; }
  .hh-btn--ghost { width: 100%; max-width: 260px; justify-content: center; }
  .hh-btn--hero-primary { width: 100%; max-width: 300px; justify-content: center; }
}

/* =========================================================
   PARALLAX BREAK — bandas cinematográficas entre seções
   Uso: <div class="hh-parallax-break" data-parallax-img
               style="background-image:url(...)">
          <div class="hh-pb__inner"><!-- opcional: texto sobreposto --></div>
        </div>
   ========================================================= */
.hh-parallax-break {
  position: relative;
  height: clamp(380px, 52vh, 600px);
  overflow: hidden;
  isolation: isolate;
}
.hh-parallax-break__bg {
  position: absolute;
  inset: -25% 0;
  background-size: cover;
  background-position: center;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  z-index: 0;
}
.hh-parallax-break::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.35) 50%,
    rgba(0,0,0,.55) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.hh-parallax-break__inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 6%;
  text-align: center;
  color: var(--hh-on-dark);
}
.hh-parallax-break__label {
  font-family: 'Apex Sans', sans-serif;
  font-size: clamp(1.1rem, 2.2vw, 1.6rem);
  letter-spacing: .35em;
  color: var(--hh-text-color, var(--hh-gold, #d6b55d));
  display: block;
  margin-bottom: .6rem;
  text-transform: uppercase;
}
.hh-parallax-break__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: clamp(3.2rem, 7vw, 6.5rem);
  line-height: .95;
  letter-spacing: .04em;
  text-shadow: 0 6px 32px rgba(0,0,0,.8);
  color: var(--hh-text-color, var(--hh-on-dark));
  margin: 0;
  max-width: 900px;
}
.hh-parallax-break__line {
  width: 56px;
  height: 2px;
  background: var(--hh-gold, #d6b55d);
  margin-top: 1.4rem;
  transition: width .6s ease;
}
.hh-parallax-break:hover .hh-parallax-break__line { width: 120px; }

/* Página Apartamentos: manter CTA parallax em dourado mesmo sem ajuste no Customizer */
.hh-page--apartamentos .hh-parallax-break__label,
.hh-page--apartamentos .hh-parallax-break__title {
  color: var(--hh-gold, #d6b55d) !important;
}
.hh-page--apartamentos .hh-parallax-break__title {
  text-shadow: 0 6px 28px rgba(0, 0, 0, 0.65);
}
.hh-page--apartamentos .hh-parallax-break__line {
  background: var(--hh-gold, #d6b55d);
}

/* =========================================================
   PARALLAX GLOBAL — GPU-accelerated, zero layout thrash
   ========================================================= */
.hh-hero__content,
.hh-hero__inner {
  will-change: transform;
  backface-visibility: hidden;
}

/* ----------------------------------------------------------
   [data-parallax-img] — wrapper que contém a imagem ampliada
   O GSAP move a imagem via transform:translateY() (compositor)
   ---------------------------------------------------------- */
[data-parallax-img] {
  overflow: hidden;
  will-change: transform;
  isolation: isolate;
}
[data-parallax-img] img {
  transform-origin: center center;
  will-change: transform;
  scale: 1.2;              /* espaço de manobra vertical */
  backface-visibility: hidden;
}

/* ----------------------------------------------------------
   .hh-parallax-section — seção com fundo paralaxado
   Usa transform:translateY() no pseudo ::before (compositor)
   ---------------------------------------------------------- */
.hh-parallax-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.hh-parallax-section > * { position: relative; z-index: 1; }
.hh-parallax-section::before {
  position: absolute;
  inset: -30% 0;           /* margem vertical para o movimento */
  background: inherit;
  background-attachment: local;
  background-size: cover;
  background-position: center;
  will-change: transform;
  backface-visibility: hidden;
  z-index: 0;
  transform: translateZ(0);
}

/* ----------------------------------------------------------
   CSS 3D PARALLAX PURO — perspective container
   Uso: <div class="hh-css-parallax">
          <div class="hh-cpp__bg" style="background-image:url(...)">
          <div class="hh-cpp__content">…</div>
        </div>
   Funciona sem JS — usa a GPU via translateZ + perspective
   ---------------------------------------------------------- */
.hh-css-parallax {
  perspective: 1px;
  perspective-origin: center top;
  overflow: hidden;
  height: 100vh;
  position: relative;
}
.hh-cpp__bg {
  position: absolute;
  inset: 0;
  /* translateZ(-1px) afasta do olho → precisa escalar para preencher */
  transform: translateZ(-1px) scale(2);
  transform-origin: center center;
  background-size: cover;
  background-position: center;
  will-change: transform;
  backface-visibility: hidden;
}
.hh-cpp__content {
  position: relative;
  z-index: 1;
  /* translateZ(0) = plano do observador — rola à velocidade normal */
  transform: translateZ(0);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 4rem 6%;
  color: var(--hh-on-dark);
}

/* ----------------------------------------------------------
   .hh-3d-section — seção com transformação 3D suave no scroll
   O GSAP anima rotateX + translateY via ScrollTrigger scrub
   ---------------------------------------------------------- */
.hh-3d-section {
  perspective: 1200px;
  perspective-origin: 50% 40%;
  overflow: hidden;
  isolation: isolate;
}
.hh-3d-section__inner {
  transform-style: preserve-3d;
  will-change: transform;
  backface-visibility: hidden;
}

/* ----------------------------------------------------------
   .hh-float-3d — elementos que 'flutuam' em 3D com o mouse
   ---------------------------------------------------------- */
.hh-float-3d {
  transform-style: preserve-3d;
  will-change: transform;
}
.hh-float-3d__layer {
  will-change: transform;
  backface-visibility: hidden;
}
.hh-float-3d__layer--deep  { transform: translateZ(-40px) scale(1.04); }
.hh-float-3d__layer--mid   { transform: translateZ(0px); }
.hh-float-3d__layer--front { transform: translateZ(30px); }

/* ----------------------------------------------------------
   .hh-img-reveal — revelação de imagem com varredura dourada
   Uso: <div class="hh-img-reveal">
          <span class="hh-img-reveal__bar" aria-hidden="true"></span>
          <div class="hh-img-reveal__inner">
            <img …>
          </div>
        </div>
   ---------------------------------------------------------- */
.hh-img-reveal {
  position: relative;
  overflow: hidden;
  display: block;
  isolation: isolate;
}
.hh-img-reveal__bar {
  /* Barra dourada que varre a imagem antes de revelar */
  position: absolute;
  inset: 0;
  background: var(--hh-gold, #c9a961);
  transform-origin: left center;
  transform: scaleX(0);
  z-index: 2;
  pointer-events: none;
}
.hh-img-reveal__inner {
  display: block;
  width: 100%;
  will-change: clip-path, transform;
  /* estado inicial — clipado pelo JS */
  clip-path: inset(0 100% 0 0);
}
.hh-img-reveal__inner img {
  width: 100%;
  display: block;
  transform-origin: left center;
}

/* ----------------------------------------------------------
   CSS Scroll-Driven Animations (progressivo — Chrome ≥115)
   Funciona em paralelo com GSAP; navegadores sem suporte
   simplesmente ignoram o bloco @supports.
   ---------------------------------------------------------- */
@supports (animation-timeline: scroll()) {

  /* Barra de progresso — fallback CSS puro caso o JS não carregue */
  @keyframes hh-scroll-prog {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
  }
  #hh-scroll-progress {
    animation: hh-scroll-prog linear both;
    animation-timeline: scroll(root block);
  }

  /* Reveal de seções via CSS puro (complementa o GSAP) */
  @keyframes hh-section-reveal {
    from { opacity: 0; translate: 0 48px; }
    to   { opacity: 1; translate: 0 0; }
  }
  .hh-section[data-reveal] {
    animation: hh-section-reveal linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 35%;
    /* GSAP vai sobrescrever com overwrite:true quando ativo */
  }

  /* Fundo paralaxado em seções opt-in */
  @keyframes hh-parallax-bg {
    from { transform: translateY(0); }
    to   { transform: translateY(30%); }
  }
  .hh-parallax-section::before {
    animation: hh-parallax-bg linear both;
    animation-timeline: view(block);
    animation-range: entry exit;
  }
}

/* =========================================================
   HERO — ANIMAÇÃO REVEAL NO LOAD
   ========================================================= */
@keyframes hhHeroReveal {
  from {
    opacity: 0;
    transform: translateY(40px) scale(.97);
    letter-spacing: .25em;
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    letter-spacing: inherit;
  }
}
@keyframes hhFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hhLineGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

.hh-hero__title {
  animation: hhHeroReveal .9s cubic-bezier(.16,1,.3,1) both;
  animation-delay: .15s;
}
.hh-hero__sub,
.hh-hero__text {
  animation: hhFadeUp .8s cubic-bezier(.16,1,.3,1) both;
  animation-delay: .45s;
}
.hh-hero__actions,
.hh-hero__ctas {
  animation: hhFadeUp .8s cubic-bezier(.16,1,.3,1) both;
  animation-delay: .7s;
}
.hh-hero__eyebrow {
  animation: hhFadeUp .6s cubic-bezier(.16,1,.3,1) both;
  animation-delay: .05s;
  color: var(--hh-text-color, var(--hh-gold, #d6b55d));
}

/* =========================================================
   COUNTER — animação numérica
   ========================================================= */
.hh-stat__num,
[data-count] {
  display: inline-block;
  transition: color .3s;
}
/* highlight dourado enquanto conta */
.hh-stat--counting .hh-stat__num,
.hh-stat--counting [data-count] { color: var(--hh-gold, #d6b55d); }

/* =========================================================
   SECTION REVEAL — efeito de entrada nas seções
   ========================================================= */
.hh-section[data-reveal],
.hh-section-dark[data-reveal],
.hh-section-light[data-reveal] {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s ease, transform .8s ease;
}
.hh-section[data-reveal].is-visible,
.hh-section-dark[data-reveal].is-visible,
.hh-section-light[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* =========================================================
   SHIMMER — acento decorativo dourado (linhas)
   ========================================================= */
.hh-shimmer-line {
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, var(--hh-gold, #d6b55d), transparent);
  margin: .75rem auto;
}
.hh-shimmer-line--left { margin-left: 0; }

/* =========================================================
   HOVER CARD ELEVATE
   ========================================================= */
.hh-card,
.hh-exp-card,
.hh-benefit,
.hh-apto-tipologia {
  transition: transform .3s ease, box-shadow .3s ease, opacity .5s ease;
}
.hh-card:hover,
.hh-exp-card:hover,
.hh-benefit:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px rgba(63,43,12,.12);
}

/* =========================================================
   SCROLL FX — CURTAIN (transição de página)
   ========================================================= */
#hh-curtain {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  pointer-events: none;
}
.hh-curtain__bar {
  flex: 1;
  background: #0a0a0a;
  transform-origin: top;
}
.hh-curtain__bar--1 { background: #0a0a0a; }
.hh-curtain__bar--2 { background: #111; }
.hh-curtain__bar--3 { background: var(--hh-gold,#c9a961); }

/* =========================================================
   SCROLL FX — SPLIT TEXT
   ========================================================= */
.hh-sw {          /* split-wrap: esconde o excesso vertical */
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  line-height: inherit;
}
.hh-si {          /* split-inner: o bloco que sobe */
  display: inline-block;
  line-height: inherit;
}

/* =========================================================
   SCROLL FX — BARRA DE PROGRESSO SUPERIOR
   (JS atualiza scaleX via ScrollTrigger; CSS scroll-driven
   animation é o fallback se o JS ainda não carregou)
   ========================================================= */
#hh-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(
    90deg,
    #a07832 0%,
    var(--hh-gold, #c9a961) 50%,
    #ffe28a 100%
  );
  transform: scaleX(0);
  transform-origin: left;
  z-index: 99998;
  pointer-events: none;
  box-shadow: 0 0 10px rgba(201,169,97,.8), 0 1px 0 rgba(201,169,97,.3);
  backface-visibility: hidden;
  will-change: transform;
}

/* =========================================================
   SCROLL FX — MARQUEE (cidades)
   ========================================================= */
.hh-cities--marquee {
  overflow: hidden !important;
  display: block !important;
  padding: 0 !important;
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 8%,
    #000 92%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 8%,
    #000 92%,
    transparent 100%
  );
}
.hh-marquee__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  will-change: transform;
  width: max-content;
}
.hh-marquee__track .hh-city {
  flex-shrink: 0;
  padding: .5rem 2.5rem;
  white-space: nowrap;
}

/* =========================================================
   SCROLL FX — clip-path em imagens (não quebra layout)
   ========================================================= */
.hh-card__img,
.img-full,
[data-parallax-img] img {
  will-change: clip-path, transform;
}

/* Wrapper de imagem paralaxada em seções: ocupa 100% da largura */
[data-parallax-img] {
  display: block;
  width: 100%;
}
/* Imagem complexo — margem superior para separar dos stats */
.hh-complexo-img {
  width: 100%;
  display: block;
  margin-top: 20px;
}

/* =========================================================
   PRELOADER
   ========================================================= */
#hh-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #060606;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hh-pl__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.hh-pl__logo svg {
  width: 280px;
  height: auto;
  display: block;
  filter: drop-shadow(0 0 18px rgba(201,169,97,.45));
}
.hh-pl__logo img {
  width: 280px;
  max-width: min(70vw, 320px);
  height: auto;
  max-height: 84px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 0 18px rgba(201,169,97,.35));
}
.hh-pl__bar-wrap {
  width: 220px;
  height: 2px;
  background: rgba(201,169,97,.18);
  border-radius: 99px;
  overflow: hidden;
}
.hh-pl__bar {
  height: 100%;
  width: 100%;
  background: var(--hh-gold, #c9a961);
  border-radius: 99px;
  transform: scaleX(0);
  transform-origin: left;
  box-shadow: 0 0 10px rgba(201,169,97,.6);
}
.hh-pl__label {
  font-family: 'Apex Sans', sans-serif;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(201,169,97,.55);
  margin: 0;
}

/* =========================================================
   CUSTOM CURSOR
   ========================================================= */
.hh-has-cursor,
.hh-has-cursor * { cursor: none !important; }

#hh-cursor-dot {
  position: fixed;
  top: 0; left: 0;
  width: 8px; height: 8px;
  background: var(--hh-gold, #c9a961);
  border-radius: 50%;
  z-index: 999997;
  pointer-events: none;
  transition: transform .05s, width .25s, height .25s, background .25s;
  will-change: transform;
}
#hh-cursor-ring {
  position: fixed;
  top: 0; left: 0;
  width: 40px; height: 40px;
  border: 1.5px solid rgba(201,169,97,.65);
  border-radius: 50%;
  z-index: 999996;
  pointer-events: none;
  will-change: transform;
  transition: width .3s, height .3s, border-color .3s, opacity .3s;
}
#hh-cursor-dot.hh-cursor--hover {
  width: 14px; height: 14px;
  background: var(--hh-white);
}
#hh-cursor-ring.hh-cursor--hover {
  width: 56px; height: 56px;
  border-color: rgba(201,169,97,1);
}
#hh-cursor-ring.hh-cursor--click {
  width: 30px; height: 30px;
  border-color: var(--hh-white);
  opacity: .6;
}

/* =========================================================
   3-D TILT — cards
   ========================================================= */
.hh-tilt {
  transform-style: preserve-3d;
  will-change: transform;
  overflow: hidden;     /* contém o glare */
  backface-visibility: hidden;
}
.hh-tilt__glare {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
  transition: background .15s;
  mix-blend-mode: overlay;
}

/* =========================================================
   SPLIT-WORD REVEAL — overflow clip por palavra
   (gerado pelo JS wrapWords() no scroll-fx.js)
   ========================================================= */
.hh-sw {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  line-height: inherit;
}
.hh-si {
  display: inline-block;
  /* estado inicial definido pelo GSAP (yPercent 108 → 0) */
}

/* =========================================================
   HERO CANVAS PARTICLES
   ========================================================= */
#hh-hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.hh-hero__content { position: relative; z-index: 2; display: none; }

/* =========================================================
   NÚMERO DE SEÇÃO — lateral
   ========================================================= */
#hh-section-counter {
  position: fixed;
  right: 2rem;
  bottom: 2.5rem;
  z-index: 9000;
  display: flex;
  align-items: baseline;
  gap: .2rem;
  pointer-events: none;
  font-family: 'Apex Sans', sans-serif;
  letter-spacing: .06em;
  color: rgba(201,169,97,.45);
  line-height: 1;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.6));
}
.hh-sc__num {
  font-size: 2.8rem;
  color: var(--hh-gold, #c9a961);
  opacity: .9;
  display: inline-block;
}
.hh-sc__slash {
  font-size: 1.1rem;
  margin: 0 .1rem;
  opacity: .45;
}
.hh-sc__total {
  font-size: 1.1rem;
  opacity: .45;
}

/* =========================================================
   PAGE — GRAMADO
   ========================================================= */

/* Numbers bar */
.hh-gramado-numbers,
.hh-Gramado-numbers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--hh-black);
  border-top: 2px solid var(--hh-gold, #d6b55d);
}
.hh-gramado-numbers__item,
.hh-Gramado-numbers__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 20px;
  border-right: 1px solid rgba(255,255,255,.08);
  text-align: center;
}
.hh-gramado-numbers__item:last-child,
.hh-Gramado-numbers__item:last-child { border-right: none; }
.hh-gramado-numbers__item strong,
.hh-Gramado-numbers__item strong {
  font-family: var(--hh-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 100;
  color: var(--hh-gold, #d6b55d);
  line-height: 1;
  display: block;
  margin-bottom: 8px;
}
.hh-gramado-numbers__item span,
.hh-Gramado-numbers__item span {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.55);
}

/* Two-column: gastronomia */
.hh-gramado-twocol,
.hh-Gramado-twocol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
.hh-gramado-twocol__media,
.hh-Gramado-twocol__media {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 4/3;
}
.hh-gramado-twocol__media img,
.hh-Gramado-twocol__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}
.hh-gramado-twocol__media:hover img,
.hh-Gramado-twocol__media:hover img { transform: scale(1.04); }
.hh-gramado-twocol__badge,
.hh-Gramado-twocol__badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .15em;
  padding: 6px 14px;
}
.hh-gramado-list,
.hh-Gramado-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}
.hh-gramado-list li,
.hh-Gramado-list li {
  padding: 10px 0 10px 28px;
  position: relative;
  font-size: .95rem;
  color: var(--hh-gold, #d6b55d);
  border-bottom: 1px solid var(--hh-border-light);
}
.hh-gramado-list li::before,
.hh-Gramado-list li::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: var(--hh-gold, #d6b55d);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

/* Atrações cards */
.hh-Gramado-cards, 
.hh-gramado-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 56px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.hh-gramado-card,
.hh-Gramado-card {
  width: 100%;
  max-width: none;
  background: #232424 !important;
  border: 1px solid rgba(201,169,97,.22);
  border-top: 2px solid var(--hh-gold, #d6b55d);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  padding: 32px 24px;
  transition: background .3s, transform .3s;
}
.hh-gramado-card:hover,
.hh-Gramado-card:hover {
  background: var(--hh-black) !important;
  transform: translateY(-4px);
}
.hh-gramado-card__icon,
.hh-Gramado-card__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 8px;
  color: var(--color-text-primary);
  margin-bottom: 16px;
  flex-shrink: 0;
  transition: border-color .3s;
  overflow: hidden;
  line-height: 0;
}
.hh-gramado-card__icon svg,
.hh-Gramado-card__icon svg {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  stroke: var(--color-text-primary);
  display: block;
}
.hh-gramado-card:hover .hh-gramado-card__icon,
.hh-gramado-card:hover .hh-Gramado-card__icon,
.hh-Gramado-card:hover .hh-gramado-card__icon,
.hh-Gramado-card:hover .hh-Gramado-card__icon {
  border-color: rgba(201,169,97,.42);
}
.hh-gramado-card__title,
.hh-Gramado-card__title {
  font-family: var(--hh-font-display);
  font-size: 1rem;
  letter-spacing: .1em;
  color: var(--color-text-dark);
  margin: 0 0 12px;
}
.hh-gramado-card p,
.hh-Gramado-card p {
  font-size: .875rem;
  color: #ffffff;
  line-height: 1.6;
  margin: 0;
}

/* Seasons / Estações */
.hh-seasons,
.hh-Seasons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 56px;
  border: 1px solid var(--hh-border-light);
  overflow: hidden;
  border-radius: 4px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.hh-season,
.hh-Season {
  padding: 40px 28px;
  border-right: 1px solid var(--hh-border-light);
  transition: background .3s;
}
.hh-season:last-child,
.hh-Season:last-child { border-right: none; }
.hh-season:hover,
.hh-Season:hover { background: var(--hh-lighter-bg); }
.hh-season__header,
.hh-Season__header {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--hh-border-light);
}
.hh-season__emoji,
.hh-Season__emoji {
  width: 42px;
  height: 42px;
  font-size: 0;
  display: block;
  margin-bottom: 12px;
  color: #D4AF37;
}
.hh-season__emoji svg,
.hh-Season__emoji svg {
  width: 100%;
  height: 100%;
  display: block;
}
.hh-season__header h3,
.hh-Season__header h3 {
  font-family: var(--hh-font-display);
  font-size: .9rem;
  letter-spacing: .15em;
  color: var(--hh-black);
  margin: 0 0 8px;
}
.hh-season__header strong,
.hh-Season__header strong {
  font-size: .8rem;
  color: var(--hh-text-gray);
  line-height: 1.5;
  display: block;
}

/* Headings follow centralized font variable */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--hh-font-heading) !important;
}
.hh-season__header span,
.hh-Season__header span { color: var(--hh-gold, #d6b55d); font-weight: 700; }
.hh-season ul,
.hh-Season ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.hh-season ul li,
.hh-Season ul li {
  font-size: .85rem;
  color: #ffffff;
  padding: 6px 0 6px 18px;
  position: relative;
  border-bottom: 1px dashed var(--hh-border-light);
}
.hh-season ul li::before,
.hh-Season ul li::before {
  position: absolute;
  left: 0;
  color: var(--hh-gold, #d6b55d);
  font-size: .75rem;
}
.hh-season ul li:last-child,
.hh-Season ul li:last-child { border-bottom: none; }
/* color accents per season */
.hh-season--spring .hh-season__header h3 { color: var(--hh-season-spring); }
.hh-season--summer .hh-season__header h3  { color: var(--hh-season-summer); }
.hh-season--autumn .hh-season__header h3  { color: var(--hh-season-autumn); }
.hh-season--winter .hh-season__header h3  { color: var(--hh-season-winter); }

.hh-page--gramado .hh-season:not(:hover) .hh-season__header strong,
.hh-page--gramado .hh-Season:not(:hover) .hh-Season__header strong {
  color: rgba(255,255,255,.72);
}
.hh-page--gramado .hh-season:not(:hover) ul li,
.hh-page--gramado .hh-Season:not(:hover) ul li {
  color: rgba(255,255,255,.82);
  border-bottom-color: rgba(255,255,255,.14);
}

/* Eventos */
.hh-gramado-eventos-wrap,
.hh-Gramado-eventos-wrap {
  background: var(--hh-black);
  padding: 80px 5vw;
}
.hh-gramado-eventos,
.hh-Gramado-eventos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 4px;
  overflow: hidden;
  margin-top: 40px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.hh-evento,
.hh-Evento {
  background: #0a0a0a;
  padding: 32px 24px;
  display: flex;
  gap: 20px;
  transition: background .3s;
}
.hh-evento:hover,
.hh-Evento:hover { background: #111; }
.hh-evento__mes,
.hh-Evento__mes {
  display: block;
  flex: 0 0 96px;
  font-family: var(--hh-font-display);
  font-size: 1.1rem;
  letter-spacing: .1em;
  line-height: 1.35;
  color: var(--hh-gold, #d6b55d);
  min-width: 96px;
  padding-top: 3px;
}
.hh-evento__body,
.hh-Evento__body {
  flex: 1;
  min-width: 0;
}
.hh-evento__body h4,
.hh-Evento__body h4 {
  font-family: var(--hh-font-display);
  font-size: .9rem;
  letter-spacing: .08em;
  color: var(--hh-white);
  margin: 0 0 8px;
}
.hh-evento__body p,
.hh-Evento__body p {
  font-size: .8rem;
  color: rgba(255,255,255,.5);
  line-height: 1.55;
  margin: 0;
}

/* Itinerary */
.hh-itinerary,
.hh-Itinerary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin-top: 56px;
background: var(--hh-bg-card);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 4px;
  overflow: hidden;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.hh-itinerary__day,
.hh-Itinerary__day {
  background: rgba(0,0,0,.3);
  padding: 40px 32px;
  transition: background .3s;
}
.hh-itinerary__day:hover,
.hh-Itinerary__day:hover { background: rgba(255,255,255,.04); }
.hh-itinerary__num,
.hh-Itinerary__num {
  font-family: var(--hh-font-display);
  font-size: 4rem;
  line-height: 1;
  color: var(--hh-gold, #d6b55d);
  opacity: .25;
  margin-bottom: 20px;
}
.hh-itinerary__content h3,
.hh-Itinerary__content h3 {
  font-family: var(--hh-font-display);
  font-size: .95rem;
  letter-spacing: .12em;
  color: var(--hh-gold, #d6b55d);
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.hh-itinerary__list,
.hh-Itinerary__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.hh-itinerary__list li,
.hh-Itinerary__list li {
  font-size: .875rem;
  color: rgba(255,255,255,.7);
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.hh-itinerary__list li:last-child,
.hh-Itinerary__list li:last-child { border-bottom: none; }
.hh-it-time,
.hh-It-time {
  font-size: .72rem;
  font-weight: 700;
  color: var(--hh-gold, #d6b55d);
  letter-spacing: .08em;
  min-width: 36px;
  flex-shrink: 0;
}

/* Map */
.hh-gramado-map-wrap,
.hh-Gramado-map-wrap {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 48px;
  align-items: stretch;
  margin-top: 48px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.hh-gramado-distance,
.hh-Gramado-distance {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 4px;
}
.hh-gramado-distance__item,
.hh-Gramado-distance__item {
  background: var(--hh-bg-card);
  border-left: 3px solid var(--hh-gold, #d6b55d);
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.hh-gramado-distance__item strong,
.hh-Gramado-distance__item strong {
  font-family: var(--hh-font-display);
  font-size: 1.4rem;
  color: var(--hh-gold, #d6b55d);
  min-width: 60px;
}
.hh-gramado-distance__item span,
.hh-Gramado-distance__item span {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--hh-white);
}
.hh-gramado-map-embed,
.hh-Gramado-map-embed {
  border-radius: 4px;
  overflow: hidden;
  min-height: 400px;
  box-shadow: 0 12px 40px rgba(0,0,0,.15);
}
.hh-gramado-map-embed iframe,
.hh-Gramado-map-embed iframe { display: block; height: 100%; min-height: 400px; }

/* ---- Responsive: Gramado page ---- */
@media (max-width: 1100px) {
  .hh-gramado-cards,
  .hh-Gramado-cards      { grid-template-columns: repeat(2, 1fr); }
  .hh-seasons,
  .hh-Seasons            { grid-template-columns: repeat(2, 1fr); }
  .hh-gramado-eventos,
  .hh-Gramado-eventos    { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  .hh-gramado-twocol,
  .hh-Gramado-twocol     { gap: 40px; }
  .hh-gramado-map-wrap,
  .hh-Gramado-map-wrap   { grid-template-columns: 1fr; }
  .hh-gramado-map-embed,
  .hh-Gramado-map-embed  { min-height: 320px; }
}
@media (max-width: 768px) {
  .hh-gramado-numbers,
  .hh-Gramado-numbers    { grid-template-columns: repeat(2, 1fr); }
  .hh-gramado-twocol,
  .hh-Gramado-twocol     { grid-template-columns: 1fr; gap: 28px; }
  .hh-gramado-cards,
  .hh-Gramado-cards      { grid-template-columns: 1fr; }
  .hh-seasons,
  .hh-Seasons            { grid-template-columns: 1fr 1fr; }
  .hh-season,
  .hh-Season             { border-right: none; border-bottom: 1px solid var(--hh-border-light); }
  .hh-itinerary,
  .hh-Itinerary          { grid-template-columns: 1fr; }
  .hh-gramado-eventos,
  .hh-Gramado-eventos    { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .hh-gramado-numbers,
  .hh-Gramado-numbers    { grid-template-columns: 1fr 1fr; }
  .hh-seasons,
  .hh-Seasons            { grid-template-columns: 1fr; }
  .hh-gramado-eventos,
  .hh-Gramado-eventos    { grid-template-columns: 1fr; }
}

/* ---------- San Juan visual overrides (site-wide) ---------- */
/* Align whole theme to the San Juan visual line while keeping existing content */
/* Cards, icons, headings, CTAs and surfaces */
/* Keep this block near the end so it wins in the cascade */
/* Backgrounds and surfaces */
.hh-card, .hh-post-card, article.hh-post-card, .hh-area-card, .hh-widget, .hh-ec-card {
  background: var(--hh-bg-card) !important;
  color: var(--hh-on-dark) !important;
  border-color: rgba(214,181,93,0.08) !important;
  margin-left: 30px;
  padding: 20px;
}

/* Card titles and important headings in brand gold */
.hh-post-card__title, .hh-card h2, .hh-card h3, .hh-ec-card h1, .hh-ec-card h4, .hh-section__title, .hh-section h2, .hh-section h3 {
  color: var(--hh-text-color, var(--hh-gold, #d6b55d)) !important;
  font-family: var(--hh-font-title) !important;
}

/* Icons (SVG) forced to brand gold */
svg, .hh-ec-card__icon svg, .hh-benefit-icon svg, .hh-area-icon svg, .hh-destino-cat__icon svg, .hh-contact-inline a svg {
  fill: #d6b55d00 !important;
  stroke: var(--hh-gold, #d6b55d) !important;
  color: var(--hh-gold, #d6b55d) !important;
}

/* Lists inside cards should be white for readability */
.hh-ec-card ul li, .hh-card ul li, .hh-check-list li { color: var(--hh-on-dark); }

/* Buttons / CTAs — primary filled gold, outline uses border in gold */
.hh-btn--primary, .hh-btn--primary:visited { background: var(--hh-gold, #d6b55d) !important; color: var(--hh-text-color, var(--hh-black)) !important; border-color: var(--hh-gold, #d6b55d) !important; }
.hh-btn--outline { background: transparent !important; color: var(--hh-text-color, var(--hh-gold, #d6b55d)) !important; border: 1.5px solid var(--hh-gold, #d6b55d) !important; }

/* Hero and headings scale to match San Juan style */
.hh-hero, .hero, .site-hero { color: var(--hh-on-dark); }
.hh-hero h1, .site-hero h1, .entry-header h1 { color: var(--hh-text-color, var(--hh-gold, #d6b55d)) !important; font-family: 'apex-sans', Georgia, "Times New Roman", serif !important; font-size: clamp(2.5rem, 6vw, 4.5rem); letter-spacing: .02em; }
.hh-hero .hh-hero__sub, .site-hero .hh-hero__sub { color: var(--hh-text-color, rgba(255,255,255,.92)); }

/* Stats: ensure numbers and units are readable (already tuned) */
.hh-stats, .hh-stats-row { background: var(--hh-bg-card) !important; }

/* Ensure logo stays left and doesn't overlap navigation */
#masthead .site-branding { margin-right: 12px; }

/* Small layout tweak: center content containers to San Juan-like width */
.container, .hh-container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }

/* Accessibility: keep sufficient contrast for links in cards */
.hh-card a, .hh-ec-card a { color: var(--hh-gold, #d6b55d) !important; }

/* End of San Juan visual overrides */

/* ---------- Final brand lock (override any palette previews) ---------- */
/* This block is intentionally last so it wins in the cascade. It ensures
   the entire site uses the selected brand values (San Juan alignment). */
:root {
  --bde-font-size-ratio: 1.35;
    --bde-base-font-size: 16px;
    --bde-h6-font-size: var(--bde-base-font-size);
    --bde-h5-font-size: calc(var(--bde-h6-font-size) * var(--bde-font-size-ratio));
    --bde-h4-font-size: calc(var(--bde-h5-font-size) * var(--bde-font-size-ratio));
    --bde-h3-font-size: calc(var(--bde-h4-font-size) * var(--bde-font-size-ratio));
    --bde-h2-font-size: calc(var(--bde-h3-font-size) * var(--bde-font-size-ratio));
    --bde-h1-font-size: calc(var(--bde-h2-font-size) * var(--bde-font-size-ratio));
  --color-gold: #d6b55d;
  --hh-gold: var(--color-gold, #d6b55d);
  --hh-gold-light: #f3d79a;
  --hh-gold-dark: #b58f44;
  --hh-bg-card: #232424;
  --hh-bg-card-hover: #2b2a2a;
  --hh-font-heading: 'Apex Sans', 'ITC Avant Garde Gothic Pro', 'ITC Avant Garde Gothic Std', 'Avant Garde', 'Montserrat', 'Open Sans', sans-serif;
  --hh-font-body: 'Source Sans Pro', 'Open Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --hh-font-title: 'Apex Sans', 'ITC Avant Garde Gothic Pro', 'Montserrat', 'Open Sans', sans-serif;
}

/* Also apply to palette classes to be safe */
body.hh-palette-premium-brand,
body.hh-palette-premium-emerald,
body.hh-palette-premium-olive,
body.hh-palette-premium-teal {
  --color-gold: #d6b55d;
  --hh-gold: var(--color-gold, #d6b55d);
  --hh-bg-card: #232424;
  --hh-bg-card-hover: #2b2a2a;
}

/* Nav link color: black (default) → white (scrolled) */
#masthead.scrolled .hh-nav-link {
  color: var(--hh-white) !important;
}
/* =========================================================
   SCROLL FX — reduced-motion: desativa tudo
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  #hh-preloader { display: none !important; }
  #hh-curtain,
  #hh-scroll-progress { display: none !important; }
  #hh-cursor-dot,
  #hh-cursor-ring { display: none !important; }
  .hh-has-cursor,
  .hh-has-cursor * { cursor: auto !important; }

  .hh-sw { overflow: visible; }
  .hh-si { transform: none !important; opacity: 1 !important; }

  .hh-card__img,
  .img-full,
  [data-parallax-img] img { clip-path: none !important; transform: none !important; }
}

/* =========================================================
   HERO — PÁGINA INTERNA
   ========================================================= */
.hh-hero--inner {
  min-height: clamp(420px, 62vh, 700px);
  height: auto;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(380px, .94fr);
  align-items: stretch;
  padding: clamp(2rem, 4vw, 3rem) max(2rem, calc((100vw - 1320px) / 2));
  position: relative;
  overflow: hidden;
  color: var(--hh-white);
}
.hh-hero--inner::before {
  grid-column: 1;
  grid-row: 1;
  min-height: clamp(420px, 62vh, 700px);
  background: inherit;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hh-hero--inner .hh-hero__bg {
  transform: none !important; /* remove parallax em páginas internas */
}
.hh-hero--inner .hh-hero__content {
  grid-column: 2;
  grid-row: 1;
  min-height: clamp(420px, 62vh, 700px);
  padding: clamp(2rem, 4vw, 4rem);
  background: var(--hh-bg-card);
  position: relative;
  z-index: 2;
  text-align: left;
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: none !important;
}
.hh-hero--inner .hh-hero__title {
  color: var(--hh-text-color, var(--hh-white))!important;
}
.hh-hero--inner > .hh-page-shell {
  grid-column: 1 / -1;
  grid-row: 1;
  display: grid;
  place-items: center;
  z-index: 2;
}
.hh-hero--inner > .hh-hero__title--outside {
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: center;
  justify-self: center;
  z-index: 2;
}
.hh-hero--inner > .hh-page-shell > .hh-hero__title--outside {
  justify-self: center;
  align-self: center;
}
.hh-hero--inner .hh-hero__title span {
  color: var(--hh-text-color, var(--hh-sj-accent2));
}
.hh-hero--inner .hh-hero__sub {
  color: var(--hh-text-color, rgba(255,255,255,.95));
  opacity: 1;
  max-width: 30rem;
}

/* Páginas internas: manter layout e centralizar somente o texto do hero */
body.page .hh-hero--inner .hh-hero__content {
  text-align: center;
  align-items: center;
}

body.page .hh-hero--inner .hh-hero__sub {
  margin-left: auto;
  margin-right: auto;
}


.hh-page--complexo .hh-hero--inner .hh-hero__eyebrow {
  color: var(--hh-sj-accent3);
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.hh-page--complexo .hh-hero--inner .hh-hero__title {
  color: var(--hh-text-color, var(--hh-sj-text-light));
  text-shadow: 0 4px 22px rgba(0,0,0,.55);
}
.hh-page--complexo .hh-hero--inner .hh-hero__title span {
  text-shadow: 0 6px 20px rgba(58,20,92,.55), 0 2px 10px rgba(0,0,0,.45);
}
.hh-page--complexo .hh-hero--inner .hh-hero__sub {
  color: var(--hh-text-color, rgba(255,253,248,.96));
  opacity: 1;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}

/* Hero específico da página Galeria */
.hh-page--galeria .hh-hero--inner .hh-hero__overlay {
  background: linear-gradient(115deg, rgba(8,8,8,.72) 0%, rgba(8,8,8,.48) 55%, rgba(8,8,8,.30) 100%);
}
.hh-page--galeria .hh-hero--inner .hh-hero__title {
  color: var(--hh-text-color, var(--hh-sj-text-light));
  text-shadow: 0 4px 20px rgba(0,0,0,.52);
}
.hh-page--galeria .hh-hero--inner .hh-hero__sub {
  color: var(--hh-text-color, rgba(255,253,248,.95));
  opacity: 1;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}

@media (max-width: 1024px) {
  .hh-hero--inner {
    grid-template-columns: 1fr;
    padding: 16px 16px 0;
  }
  .hh-hero--inner::before,
  .hh-hero--inner .hh-hero__content {
    grid-column: 1;
    grid-row: auto;
  }
  .hh-hero--inner::before {
    min-height: 300px;
  }
  .hh-hero--inner .hh-hero__content {
    min-height: 0;
  }
}

/* =========================================================
   APARTAMENTOS — TABS DE TIPOLOGIA
   ========================================================= */
.hh-apto-tipologias-section {
  padding-bottom: 0;
}
.hh-apto-tabs {
  display: flex;
  gap: 0;
  color: var(--hh-text-color, var(--color-text-dark));
  border-bottom: 2px solid var(--hh-border-light);
  flex-wrap: wrap;
}
.hh-apto-tab__btn {
  display: flex;
  align-items: center;
  gap: 14px;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  font-family: 'Apex Sans', sans-serif;
  font-size: 1rem;
  letter-spacing: 2px;
  transition: color .25s, border-color .25s;
  color: var(--hh-text-color, var(--color-text-primary));
}
.hh-apto-tab__btn:hover {
  color: var(--hh-text-color, var(--hh-text-dark));
}
.hh-apto-tab__btn.is-active {
  color: var(--hh-text-color, var(--hh-gold, #d6b55d));
  border-bottom-color: var(--hh-text-color, var(--hh-gold, #d6b55d));
}
.hh-apto-tab__num {
  font-size: .7rem;
  opacity: .55;
  letter-spacing: 1px;
}
.hh-apto-tab__name {
  letter-spacing: 2.5px;
  color: var(--hh-gold, inherit);
}

/* ── Painéis ── */
.hh-apto-panel {
  display: none;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .4s ease, transform .4s ease;
}
.hh-apto-panel.is-active {
  display: block;
  opacity: 1;
  transform: none;
  animation: hh-panel-in .45s ease forwards;
}
@keyframes hh-panel-in {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: none; }
}
.hh-apto-panel__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 560px;
}
.hh-apto-panel__media {
  position: relative;
  overflow: hidden;
}
.hh-apto-panel__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}
.hh-apto-panel__media:hover img {
  transform: scale(1.04);
}
.hh-apto-panel__badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  background: var(--hh-gold, #d6b55d);
  color: var(--hh-text-color, var(--hh-black));
  font-family: 'Apex Sans', sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  padding: 10px 20px;
  text-transform: uppercase;
}
.hh-apto-panel__badge strong {
  font-size: 1rem;
  display: block;
  margin-top: 2px;
  color: var(--hh-text-color, inherit);
}
.hh-apto-panel__text {
  padding: 60px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--hh-bg-card);
}
.hh-apto-panel__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: clamp(28px, 3.5vw, 44px);
  letter-spacing: 3px;
  color: var(--hh-text-color, var(--hh-text-dark));
  margin-bottom: 16px;
  line-height: 1;
}
.hh-apto-panel__ctas {
  margin-top: 32px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* ── Diferenciais rápidos ── */
.hh-apto-perks {
  background: var(--hh-black);
  padding: 56px 6%;
}
.hh-apto-perks__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
}
.hh-apto-perk {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  color: var(--hh-white);
}
.hh-apto-perk__icon {
  width: 52px;
  height: 52px;
  color: var(--color-text-primary);
}
.hh-apto-perk__icon svg {
  width: 100%;
  height: 100%;
}
.hh-apto-perk span {
  font-size: .72rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--hh-text-color, var(--hh-white));
  opacity: .8;
}

/* =========================================================
   GALERIA — FILTRO
   ========================================================= */
.hh-gallery-wrap {
  margin-top: 56px;
}

/* =========================================================
   GALERIA — CARROSSEL PRINCIPAL
   ========================================================= */
.hh-gal-carousel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  gap: 14px;
  margin-bottom: 28px;
  align-items: stretch;
}
.hh-gal-carousel__viewport {
  position: relative;
  min-height: 420px;
  border: 1px solid rgba(201,169,97,.24);
  background: #111;
  overflow: hidden;
}
.hh-gal-carousel__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}
.hh-gal-carousel__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}
.hh-gal-carousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hh-gal-carousel__slide figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 14px 18px;
  font-size: .86rem;
  color: var(--hh-white);
  background: linear-gradient(to top, rgba(0,0,0,.76) 0%, rgba(0,0,0,.2) 65%, transparent 100%);
}
.hh-gal-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(0,0,0,.38);
  color: var(--hh-white);
  font-size: 20px;
  cursor: pointer;
  z-index: 3;
}
.hh-gal-carousel__nav--prev { left: 12px; }
.hh-gal-carousel__nav--next { right: 12px; }
.hh-gal-carousel__nav:hover {
  border-color: var(--hh-gold, #d6b55d);
  background: rgba(0,0,0,.58);
  color: var(--hh-gold, #d6b55d);
}
.hh-gal-carousel__nav:disabled {
  opacity: .35;
  cursor: default;
}
.hh-gal-carousel__counter {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  padding: 4px 10px;
  font-size: .72rem;
  letter-spacing: 2px;
  color: var(--hh-white);
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(0,0,0,.38);
}

/* separador com cordas verticais à direita */
.hh-gal-vstrings {
  border-left: 1px solid rgba(201,169,97,.24);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: 6px;
  padding: 10px 8px;
}
.hh-gal-vstrings__s {
  display: block;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, rgba(10,10,10,.92) 0%, rgba(165,130,74,.7) 48%, rgba(10,10,10,.92) 100%);
  opacity: .6;
}
.hh-gal-vstrings__s--1 { width: 3px; opacity: .52; }
.hh-gal-vstrings__s--2 { width: 2px; opacity: .44; }
.hh-gal-vstrings__s--3 { width: 1.6px; opacity: .36; }
.hh-gal-vstrings__s--4 { width: 1.2px; opacity: .28; }
.hh-gal-vstrings__s--5 { width: .8px; opacity: .22; }
.hh-gal-vstrings__s--6 { width: .5px; opacity: .16; }
.hh-gal-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.hh-gal-filter__btn {
  background: transparent;
  border: 1px solid rgba(201,169,97,.35);
  color: var(--hh-text-color, rgba(255,255,255,.5));
  font-family: 'Apex Sans', sans-serif;
  font-size: .82rem;
  letter-spacing: 2px;
  padding: 8px 20px;
  cursor: pointer;
  transition: background .25s, color .25s, border-color .25s;
}
.hh-gal-filter__btn:hover {
  color: var(--hh-text-color, var(--hh-white));
  border-color: var(--hh-gold, #d6b55d);
}
.hh-gal-filter__btn.is-active {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-text-color, var(--hh-black));
}
.hh-gal-meta {
  margin-bottom: 28px;
  min-height: 20px;
}
.hh-gal-count {
  font-size: .72rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: .45;
  color: var(--hh-text-color, var(--hh-white));
}

/* =========================================================
   GALERIA — GRID
   ========================================================= */
.hh-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 260px;
  grid-auto-flow: dense;
  gap: 8px;
}
.hh-gal-item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: #111;
}
.hh-gal-item.is-hidden,
.hh-gal-item[hidden] {
  display: none !important;
}
.hh-gal-item--wide { grid-column: span 2; }
.hh-gal-item--tall { grid-row:    span 2; }

.hh-gal-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform .55s cubic-bezier(.25,.46,.45,.94);
  filter: brightness(.88);
}
.hh-gal-item:hover img {
  transform: scale(1.08);
  filter: brightness(.65);
}

/* overlay desliza de baixo para cima */
.hh-gal-item__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.2) 50%, transparent 100%);
  transform: translateY(100%);
  transition: transform .4s cubic-bezier(.25,.46,.45,.94);
}
.hh-gal-item:hover .hh-gal-item__overlay {
  transform: none;
}
.hh-gal-item__cat {
  font-size: .65rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--hh-text-color, var(--hh-gold, #d6b55d));
  font-weight: 700;
  margin-bottom: 4px;
}
.hh-gal-item__caption {
  font-size: .82rem;
  color: var(--hh-text-color, var(--hh-white));
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
}
.hh-gal-item__zoom {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  background: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  opacity: 0;
  transform: scale(.7);
  transition: opacity .3s .1s, transform .3s .1s;
}
.hh-gal-item:hover .hh-gal-item__zoom {
  opacity: 1;
  transform: scale(1);
}

/* =========================================================
   GALERIA — LOADING / LAZY RENDER BOOST
   ========================================================= */
.hh-gallery-enhanced .hh-gal-item,
.hh-gallery-enhanced .hh-gallery-item,
.hh-gallery-enhanced .hh-apto-slide {
  position: relative;
  background: rgba(0,0,0,.28);
}

.hh-gallery-enhanced .hh-gal-item img,
.hh-gallery-enhanced .hh-gallery-item img,
.hh-gallery-enhanced .hh-apto-slide img {
  opacity: 0;
  transition: opacity .35s ease;
}

.hh-gallery-enhanced .hh-gal-item.hh-img-ready img,
.hh-gallery-enhanced .hh-gallery-item.hh-img-ready img,
.hh-gallery-enhanced .hh-apto-slide.hh-img-ready img {
  opacity: 1;
}

.hh-gallery-enhanced .hh-img-loading::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(100deg, rgba(255,255,255,.03) 10%, rgba(255,255,255,.16) 50%, rgba(255,255,255,.03) 90%);
  background-size: 220% 100%;
  animation: hh-img-shimmer 1.15s linear infinite;
}

@keyframes hh-img-shimmer {
  from { background-position: 120% 0; }
  to   { background-position: -120% 0; }
}

/* filter enter/exit */
.hh-gal-item--exit {
  opacity: 0;
  transform: scale(.88);
}
.hh-gal-item--enter {
  animation: hh-gal-enter .4s ease forwards;
}
@keyframes hh-gal-enter {
  from { opacity: 0; transform: scale(.9); }
  to   { opacity: 1; transform: none; }
}

/* =========================================================
   LIGHTBOX
   ========================================================= */
#hh-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
#hh-lightbox.is-open {
  opacity: 1;
  pointer-events: all;
}
.hh-lb__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.96);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.hh-lb__box {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 92vw;
  max-height: 92vh;
}
.hh-lb__img-wrap {
  position: relative;
  max-width: min(80vw, 1100px);
  max-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hh-lb__img {
  max-width: 100%;
  max-height: 78vh;
  object-fit: contain;
  opacity: 0;
  transform: scale(.9);
  transition: opacity .35s ease, transform .35s ease;
  display: block;
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
}
.hh-lb__img.is-loaded {
  opacity: 1;
  transform: none;
}
.hh-lb__img.is-changing {
  opacity: 0;
  transform: scale(.9);
}
.hh-lb__loader {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
}
.hh-lb__loader.is-loading {
  display: flex;
}
.hh-lb__loader span {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(255,255,255,.15);
  border-top-color: var(--hh-gold, #d6b55d);
  border-radius: 50%;
  animation: hh-spin .7s linear infinite;
}
@keyframes hh-spin { to { transform: rotate(360deg); } }

.hh-lb__nav {
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  color: var(--hh-white);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
  flex-shrink: 0;
}
.hh-lb__nav:hover {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
}
.hh-lb__nav:disabled {
  opacity: .2;
  cursor: default;
  pointer-events: none;
}
.hh-lb__nav svg { width: 22px; height: 22px; }

.hh-lb__close {
  position: fixed;
  top: 20px;
  right: 20px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  color: var(--hh-white);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: background .2s, border-color .2s;
}
.hh-lb__close:hover {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
}
.hh-lb__close svg { width: 20px; height: 20px; }

.hh-lb__info {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 32px;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(8px);
}
.hh-lb__category {
  font-family: 'Apex Sans', sans-serif;
  font-size: .8rem;
  letter-spacing: 3px;
  color: var(--hh-gold, #d6b55d);
  white-space: nowrap;
}
.hh-lb__caption {
  flex: 1;
  font-size: .85rem;
  color: rgba(255,255,255,.75);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hh-lb__counter {
  font-size: .75rem;
  color: rgba(255,255,255,.4);
  white-space: nowrap;
  font-family: 'Apex Sans', sans-serif;
  letter-spacing: 2px;
}
body.hh-lb-open {
  overflow: hidden;
}

/* =========================================================
   APARTAMENTOS — RESPONSIVO
   ========================================================= */
@media (max-width: 1100px) {
  .hh-gal-carousel {
    grid-template-columns: minmax(0, 1fr) 44px;
  }
  .hh-gal-carousel__viewport {
    min-height: 360px;
  }
  .hh-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .hh-apto-perks__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .hh-gal-carousel {
    grid-template-columns: 1fr;
  }
  .hh-gal-vstrings {
    min-height: 80px;
    border-left: none;
    border-top: 1px solid rgba(201,169,97,.24);
    padding: 8px 0;
  }
  .hh-gal-vstrings__s {
    height: 100%;
  }
  .hh-gal-carousel__viewport {
    min-height: 280px;
  }
  .hh-apto-panel__inner {
    grid-template-columns: 1fr;
  }
  .hh-apto-panel__media {
    height: 300px;
  }
  .hh-apto-panel__text {
    padding: 36px 28px;
  }
  .hh-apto-tabs {
    gap: 0;
    flex-direction: column;
    border-bottom: none;
  }
  .hh-apto-tab__btn {
    border-bottom: none;
    border-left: 3px solid transparent;
    padding: 14px 20px;
  }
  .hh-apto-tab__btn.is-active {
    border-left-color: var(--hh-gold, #d6b55d);
    border-bottom-color: transparent;
  }
  .hh-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 200px;
  }
  .hh-gal-item--wide,
  .hh-gal-item--tall { grid-column: span 1; grid-row: span 1; }
  .hh-apto-perks__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .hh-lb__box {
    flex-direction: column;
    gap: 8px;
  }
  .hh-lb__nav { display: none; }
}
@media (max-width: 480px) {
  .hh-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 240px;
  }
  .hh-apto-perks__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
/* ================================================================
   FRONT-PAGE — 14 SECTIONS  (added)
   ================================================================ */

/* ---- Hero Split ---- */
.hh-hero--split .hh-hero__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: center;
  padding: 130px 0 70px;
  position: relative;
  z-index: 2;
}
.hh-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.hh-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hh-hero__copy { text-align: left; color: var(--hh-white); display: none; }
.hh-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.hh-hero__badges span {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 4px;
  padding: 6px 14px;
  font-size: 12px;
  color: rgba(255,255,255,.85);
  letter-spacing: .06em;
}

/* Hero form box */
.hh-hero__form-box {
  background: rgba(10,10,10,.88);
  border: 1px solid var(--hh-gold, #d6b55d);
  border-radius: 4px;
  max-width: 360px;
  padding: 14px 16px;
  position: relative;
  z-index: 2;
}
.hh-hero__form-title {
  font-family: var(--hh-font-heading);
  font-size: 14px;
  color: var(--hh-gold, #d6b55d);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 1px;
}
.hh-hero__form-sub {
  font-size: 11.5px;
  color: var(--hh-text-gray);
  margin: 0 0 8px;
}
.hh-hero__form-box .hh-form-lead {
  background: transparent;
  padding: 0;
}
.hh-hero__form-box .hh-form-lead > .hh-container {
  max-width: none;
  padding: 0;
}
.hh-hero__form-box .hh-form-lead__inner {
  display: block;
  grid-template-columns: 1fr;
  gap: 0;
}
.hh-hero__form-box .hh-form-lead__copy { display: none; }
.hh-hero__form-box .hh-form-lead__form-wrap {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.hh-hero__form-box .hh-lead-form { gap: .4rem; }
.hh-hero__form-box .hh-lead-form__row input {
  padding: .52rem .7rem;
  font-size: .78rem;
  line-height: 1.25;
}
.hh-hero__form-box .hh-lead-form__feedback {
  min-height: 1em;
  font-size: .72rem;
  margin-top: 2px;
}
.hh-hero__form-box .hh-lead-form__lgpd {
  font-size: .56rem;
  line-height: 1.25;
  margin-top: 2px;
}
.hh-hero__form-box .hh-btn {
  padding: 10px 18px;
  font-size: .76rem;
}
.hh-hero--split .hh-hero__inner.hh-front-hero,
.hh-hero--split .hh-hero__inner.hh-press-split {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 0;
  align-items: stretch;
  padding: 0;
  max-width: 1240px;
  margin: 0 auto;
  box-shadow: 0 24px 54px rgba(0,0,0,.18);
}
.hh-front-hero__media,
.hh-press-split__media {
  position: relative;
  min-height: 410px;
  overflow: hidden;
}
.hh-front-hero__panel {
  background: var(--hh-bg-card);
  padding: clamp(2rem, 4vw, 4rem);
  display: none;
  flex-direction: column;
  justify-content: center;
}
.hh-press-split__content {
  background: var(--hh-bg-card);
  padding: clamp(2rem, 4vw, 4rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hh-front-hero__panel .hh-hero__copy {
  color: var(--color-text-primary);
  margin-bottom: 1.4rem;
}
.hh-front-hero__panel .hh-hero__title,
.hh-press-split__content .hh-section-title {
  color: var(--hh-sj-accent1) !important;
}
.hh-front-hero__panel .hh-hero__title span {
  color: var(--hh-sj-accent2);
}
.hh-front-hero__panel .hh-hero__sub,
.hh-press-split__content .hh-press-hero__lead,
.hh-press-split__content .hh-press-hero__panel,
.hh-press-split__content .hh-press-kpis {
  color: rgba(255,255,255,.95);
  opacity: 1;
}
.hh-front-hero__panel .hh-hero__form-box {
  max-width: none;
  width: 100%;
  background: rgba(255,255,255,.03);
  border-color: rgba(214,181,93,.28);
  margin-top: 5rem;
}
.hh-press-split__content .hh-press-hero__panel {
  margin-top: 1.35rem;
}
@media (max-width: 1024px) {
  .hh-hero--split .hh-hero__inner.hh-front-hero,
  .hh-hero--split .hh-hero__inner.hh-press-split {
    grid-template-columns: 1fr;
  }
  .hh-front-hero__media,
  .hh-press-split__media {
    min-height: 300px;
    width: 100%;
  }
}
.hh-hero__arrow-link {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  font-size: 22px;
  animation: hh-bounce 1.8s infinite;
}
@keyframes hh-bounce {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50%      { transform: translateX(-50%) translateY(8px); }
}

/* ---- Economia Compartilhada ---- */
.hh-ec-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  margin: 48px 0;
  overflow: hidden;
  border-radius: 10px;
  background: transparent;
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}
.hh-ec-col {
  min-width: 0;
  padding: 48px 34px 38px;
  background: #232424;
  color: var(--color-text-primary);
  text-align: center;
}
.hh-ec-col--before {
  border-right: 1px solid rgba(214,181,93,.12);
}
.hh-ec-col--after {
  border-left: 1px solid rgba(214,181,93,.12);
}
.hh-ec-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 22px;
  color: var(--hh-gold, #d6b55d);
}
.hh-ec-card__icon svg { display: block; }
.hh-ec-card__icon svg,
.hh-ec-card__icon svg path,
.hh-ec-card__icon svg circle {
  fill: currentColor;
  stroke: currentColor;
}
.hh-ec-plan {
  font-family: var(--hh-font-heading);
  font-size: clamp(1.05rem, 1.2vw, 1.38rem);
  line-height: 1.2;
  letter-spacing: .06em;
  color: var(--hh-gold, #d6b55d);
  margin: 0 0 26px;
}
.hh-ec-price {
  display: block;
}
.hh-ec-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.hh-ec-list li {
  padding: 14px 8px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,.96);
}
.hh-ec-list li:last-child { border-bottom: 0; }

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-card__icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-benefit-icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat__icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rockstar-perk span,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-trust-seal .hh-inline-icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-contact-inline a svg {
  color: var(--hh-gold, #d6b55d);
}
.hh-ec-card__total { font-size: 13px; font-weight: 700; color: var(--hh-gold, #d6b55d) !important; text-transform: uppercase; letter-spacing: .06em; }
.hh-ec-vs {
  align-self: stretch;
  justify-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  min-height: 100%;
  background: #f6f3ea;
  color: var(--color-text-dark);
  font-family: var(--hh-font-heading);
  font-size: 18px;
  font-weight: 700;
  padding: 0;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: .18em;
  text-transform: uppercase;
  border-left: 1px solid rgba(214,181,93,.10);
  border-right: 1px solid rgba(214,181,93,.10);
}
.hh-ec-vs::before,
.hh-ec-vs::after {
  position: absolute;
}
.hh-benefits-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin-top: 48px;
}
.hh-benefit-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 140px;
  gap: 10px;
}
.hh-benefit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--color-text-primary);
  flex-shrink: 0;
}
.hh-benefit-icon svg { display: block; }
.hh-benefit-label { font-size: 12px; color: var(--hh-gold); line-height: 1.5; text-align: center; }

/* ---- Complexo Layout ---- */
.hh-stats--row { justify-content: space-around; flex-wrap: wrap; gap: 54px; margin-bottom: 48px; }
.hh-complexo-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 48px;
  align-items: start;
  margin-bottom: 48px;
}
.hh-complexo-areas { display: flex; flex-direction: column; gap: 16px; }
.hh-area-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,.04);
  border-left: 3px solid var(--hh-gold, #d6b55d);
  border-radius: 3px;
}
.hh-area-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--color-text-primary);
  flex-shrink: 0;
}
.hh-area-icon svg { display: block; }
.hh-area-item strong { display: block; font-size: 14px; font-family: var(--hh-font-title); letter-spacing:.04em; color: var(--color-text-primary); }
.hh-area-item span   { font-size: 12px; color: var(--hh-white); }
.hh-tour-cta {
  text-align: center;
  padding: 48px;
  border: 1px solid var(--hh-gold, #d6b55d);
  border-radius: 6px;
  background: rgba(196,159,77,.05);
  p {
    color:  var(--hh-white) !important;
  }
}
.hh-tour-cta__label { display: block; font-size: 12px; color: var(--hh-gold, #d6b55d); text-transform: uppercase; letter-spacing:.1em; margin-bottom: 8px; }
.hh-tour-cta__title { font-family: var(--hh-font-heading); font-size: 28px; color: var(--color-text-primary); margin: 0 0 28px; }

/* ---- Apartamentos Tabs ---- */
.hh-apto-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--hh-border-light);
  margin-bottom: 40px;
  overflow-x: auto;
}
.hh-apto-tab {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  color: var(--hh-text-gray);
  font-family: var(--hh-font-heading);
  font-size: 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 14px 32px;
  cursor: pointer;
  white-space: nowrap;
  transition: color .25s, border-color .25s;
  margin-bottom: -2px;
}
.hh-apto-tab:hover,
.hh-apto-tab.is-active {
  color: var(--hh-gold, #d6b55d);
  border-bottom-color: var(--hh-gold, #d6b55d);
}
.hh-apto-panel { display: none; }
.hh-apto-panel.is-active { display: block; }
.hh-apto-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 48px;
  align-items: start;
}

/* ---- Carousel ---- */
.hh-apto-carousel {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 4/3;
  background: #111;
}
.hh-apto-slides { position: relative; width: 100%; height: 100%; }
.hh-apto-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .45s ease;
}
.hh-apto-slide.is-active { opacity: 1; }
.hh-apto-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-apto-prev,
.hh-apto-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.2);
  color: var(--color-text-primary);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  transition: background .2s;
}
.hh-apto-prev:hover,
.hh-apto-next:hover { background: var(--hh-gold, #d6b55d); color: var(--hh-black); }
.hh-apto-prev { left: 12px; }
.hh-apto-next { right: 12px; }
.hh-apto-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 3;
}
.hh-apto-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  cursor: pointer;
  transition: background .2s;
}
.hh-apto-dot.is-active { background: var(--hh-gold, #d6b55d); }
.hh-apto-info h3 {
  font-family: var(--hh-font-heading);
  font-size: 26px;
  letter-spacing: .06em;
  margin: 0 0 16px;
}
.hh-apto-desc { color: var(--hh-text-gray); line-height: 1.7; margin-bottom: 24px; }
.hh-apto-features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hh-apto-features li { font-size: 14px; color: var(--hh-text-gray); }
.hh-apto-features li::before { color: var(--hh-gold, #d6b55d); margin-right: 4px; }

/* ---- Gramado Parallax section ---- */
.hh-section--gramado-parallax { padding: 0; }
.hh-gramado-parallax,
.hh-Gramado-parallax {
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 120px 0;
}
.hh-gramado-overlay,
.hh-Gramado-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--hh-overlay-gramado-a) 0%, var(--hh-overlay-gramado-b) 100%);
}
.hh-gramado-content,
.hh-Gramado-content { position: relative; z-index: 2; }
.hh-gramado-distances,
.hh-Gramado-distances {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 28px;
  font-size: 14px;
  color: rgba(255,255,255,.8);
}
.hh-gramado-distances div,
.hh-Gramado-distances div {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.hh-gramado-distances strong,
.hh-Gramado-distances strong { color: var(--hh-gold, #d6b55d); }

/* ---- RCI Numbers ---- */
.hh-rci-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
  border: 1px solid var(--hh-border-light);
  border-radius: 6px;
  overflow: hidden;
  margin: 48px 0;
}
.hh-rci-num {
  flex: 1;
  min-width: 160px;
  text-align: center;
  padding: 36px 20px;
  border-right: 1px solid var(--hh-border-light);
}
.hh-rci-num:last-child { border-right: none; }
.hh-rci-num__value {
  display: block;
  font-family: var(--hh-font-heading);
  font-size: 40px;
  color: var(--hh-gold, #d6b55d);
  line-height: 1;
  margin-bottom: 8px;
}
.hh-rci-num__value sup { font-size: 20px; }
.hh-rci-num__label { font-size: 12px; color: var(--hh-white) !important; text-transform: uppercase; letter-spacing: .07em; }
.hh-destinos-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.hh-destino-cat {
  text-align: center;
  padding: 32px 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--hh-border-light);
  border-radius: 6px;
  transition: border-color .25s, background .25s;
}
.hh-destino-cat:hover { border-color: var(--hh-gold, #d6b55d); background: rgba(196,159,77,.06); }
.hh-destino-cat__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  margin-bottom: 12px;
}
.hh-destino-cat__icon svg { width: 32px; height: 32px; display: block; }
.hh-destino-cat h4 { font-family: var(--hh-font-heading); font-size: 14px; letter-spacing:.06em; margin: 0 0 8px; }
.hh-destino-cat p  { font-size: 12px; color: var(--hh-text-gray); margin: 0; }

/* ---- Timeline ---- */
.hh-timeline {
  position: relative;
  max-width: 860px;
  margin: 48px auto 0;
  padding: 0;
}
.hh-timeline::before {
  position: absolute;
  left: 50%;
  top: 0; bottom: 0;
  width: 2px;
  background: var(--hh-gold, #d6b55d);
  opacity: .3;
  transform: translateX(-50%);
}
.hh-timeline-item {
  display: flex;
  position: relative;
  margin-bottom: 40px;
}
.hh-timeline-item--left  { justify-content: flex-end; padding-right: calc(50% + 32px); }
.hh-timeline-item--right { justify-content: flex-start; padding-left: calc(50% + 32px); }
.hh-timeline-dot {
  position: absolute;
  left: 50%;
  top: 24px;
  transform: translateX(-50%);
  width: 14px; height: 14px;
  background: var(--hh-gold, #d6b55d);
  border-radius: 50%;
  z-index: 2;
}
.hh-timeline-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  padding: 24px 28px;
  max-width: 380px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.hh-timeline-card:hover { border-color: var(--hh-gold, #d6b55d); transform: translateY(-3px); box-shadow: 0 20px 40px rgba(63,43,12,.12); }
.hh-timeline-year {
  display: block;
  font-family: var(--hh-font-heading);
  font-size: 32px;
  color: var(--hh-gold, #d6b55d);
  line-height: 1;
  margin-bottom: 6px;
}
.hh-timeline-card h4 { font-size: 15px; font-family: var(--hh-font-heading); letter-spacing:.04em; margin: 0 0 10px; color: var(--color-text-dark); }
.hh-timeline-card p  { font-size: 13px; color: var(--hh-card-text); line-height: 1.65; margin: 0; }
.hh-city--active { color: var(--hh-gold, #d6b55d) !important; border-color: var(--hh-gold, #d6b55d) !important; font-weight: 700; }

/* ---- Rockstar section ---- */
.hh-section--rockstar {
  position: relative;
  text-align: center;
  overflow: hidden;
}
.hh-rockstar-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.hh-rockstar-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--hh-overlay-rock-a) 0%, var(--hh-overlay-rock-b) 100%);
}
.hh-rockstar-content { position: relative; z-index: 2; }
.hh-rockstar-perks {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  max-width: 700px;
  margin: 0 auto;
}
.hh-rockstar-perk {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 6px;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #ffffff;
  min-width: 200px;
}

/* Rockstar split hero used above the first container */
.hh-hero--rockstar {
  padding: 40px 0 10px;
  color: var(--color-text-primary);
}
.hh-hero--rockstar .hh-hero__inner.hh-rockstar-split {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 0;
  align-items: stretch;
  max-width: 1240px;
  margin: 0 auto;
  background: var(--hh-bg-card);
  overflow: hidden;
  box-shadow: 0 24px 54px rgba(0,0,0,.18);
}
.hh-rockstar-split__media {
  min-height: 410px;
  background: var(--hh-surface-dark);
}
.hh-rockstar-split__img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.hh-rockstar-split__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 4rem);
}
.hh-rockstar-split__content .hh-hero__title {
  color: var(--hh-sj-accent1) !important;
  margin-bottom: 1.3rem;
}
.hh-rockstar-split__content .hh-hero__title span {
  color: var(--hh-sj-accent2);
}
.hh-rockstar-split__content .hh-hero__sub {
  color: rgba(255,255,255,.95);
  max-width: 28rem;
}
@media (max-width: 900px) {
  .hh-hero--rockstar {
    padding-top: 16px;
  }
  .hh-hero--rockstar .hh-hero__inner.hh-rockstar-split {
    grid-template-columns: 1fr;
  }
  .hh-rockstar-split__media {
    min-height: 260px;
  }
}
.hh-rockstar-perk span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  flex-shrink: 0;
}
.hh-rockstar-perk span svg { width: 20px; height: 20px; display: block; }

/* ---- Depoimentos ---- */
.hh-owners-count {
  text-align: center;
  margin: 0 auto 48px;
}
.hh-owners-count__number {
  display: block;
  font-family: var(--hh-font-heading);
  font-size: 64px;
  color: var(--hh-gold, #d6b55d);
  line-height: 1;
  margin-bottom: 8px;
}
.hh-owners-count__label {
  display: block;
  font-size: 14px;
  color: var(--hh-text-gray);
  text-transform: uppercase;
  letter-spacing: .07em;
}
.hh-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.hh-testimonial-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.hh-testimonial-card:hover { border-color: var(--hh-gold, #d6b55d); transform: translateY(-3px); box-shadow: 0 20px 40px rgba(63,43,12,.12); }
.hh-testimonial-stars { color: var(--hh-gold, #d6b55d); font-size: 16px; letter-spacing: 3px; }
.hh-testimonial-text  { font-size: 14px; color: var(--hh-card-text); line-height: 1.7; font-style: italic; flex: 1; margin: 0; }
.hh-testimonial-author strong { display: block; font-size: 14px; color: var(--color-text-dark); font-family: var(--hh-font-heading); letter-spacing:.04em; }
.hh-testimonial-author span   { font-size: 12px; color: var(--hh-white) !important; }
.hh-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}
.hh-testimonial-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--hh-gold, #d6b55d);
}
.hh-testimonial-author__info { display: flex; flex-direction: column; }

/* ---- Trust seals ---- */
.hh-trust-seals {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-bottom: 36px;
}
.hh-trust-seal {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--hh-gold, #d6b55d);
  border-radius: 4px;
  padding: 8px 18px;
  font-size: 12px;
  color: rgba(255,255,255,.8) !important;
  letter-spacing: .05em;
  display: flex;
  align-items: center;
  gap: 6px;
}
.hh-trust-seal .hh-inline-icon { color: var(--color-text-primary); }

/* ---- Contact inline ---- */
.hh-contact-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  margin-top: 36px;
  padding-top: 32px;
  border-top: 1px solid var(--hh-border-light);
}
.hh-contact-inline a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: var(--hh-text-gray);
  text-decoration: none;
  transition: color .2s;
}
.hh-contact-inline a svg { width: 16px; height: 16px; display: block; color: var(--color-text-primary); }
.hh-contact-inline a:hover { color: var(--color-text-primary); }

/* ---- FAQ (improved) ---- */
.hh-faq-item {
  border-bottom: 1px solid var(--hh-border-light);
}
.hh-faq-q {
  width: 100%;
  background: none;
  border: none;
  color: var(--hh-text-color, #000000);
  font-family: var(--hh-font-heading);
  font-size: 16px;
  letter-spacing: .04em;
  text-align: left;
  padding: 22px 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: color .2s;
}
.hh-faq-q span {
  font-size: 14px;
  color: var(--hh-gold, #d6b55d);
  font-family: var(--hh-font-heading);
  flex-shrink: 0;
}
.hh-faq-q:hover { color: var(--hh-text-color, var(--hh-gold, #d6b55d)); }
.hh-faq-chevron {
  margin-left: auto;
  flex-shrink: 0;
  transition: transform .3s;
  color: var(--hh-gold, #d6b55d);
  opacity: .7;
}
.hh-faq-q[aria-expanded="true"] .hh-faq-chevron { transform: rotate(180deg); }
.hh-faq-q[aria-expanded="true"] { color: var(--hh-text-color, var(--hh-gold, #d6b55d)); }
.hh-faq-a { padding: 0 16px 24px 52px; }
.hh-faq-a p { color: var(--hh-text-color, var(--hh-text-gray)); line-height: 1.75; font-size: 15px; margin: 0; }

/* ---- Press Logos ---- */
.hh-press-logos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.hh-press-item {
  display: block;
  background: #232424 !important;
  border: 1px solid var(--hh-border-light);
  border-radius: 6px;
  padding: 28px 20px;
  text-decoration: none;
  transition: border-color .25s, transform .25s;
  text-align: center;
}
.hh-press-item:hover { border-color: var(--hh-gold, #d6b55d); transform: translateY(-3px); }
.hh-press-logo-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 70px;
  margin-bottom: 16px;
}
.hh-press-logo-box strong {
  font-family: var(--hh-font-heading);
  font-size: 26px;
  color: var(--hh-gold);
  letter-spacing: .04em;
}
.hh-press-logo-box span {
  font-size: 10px;
  color: var(--hh-gold, #d6b55d);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-top: 2px;
}
.hh-press-logo-box--dark strong { color: var(--hh-gold, #d6b55d); }
.hh-press-headline {
  font-size: 12px;
  color: var(--hh-white);
  line-height: 1.5;
  margin: 0;
  font-style: italic;
}

/* ---- Press Page ---- */
.hh-press-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(214,181,93,.16), transparent 34%),
    linear-gradient(180deg, rgba(18,18,24,.96) 0%, rgba(20,20,28,.92) 100%);
  border-bottom: 1px solid var(--hh-border-light);
}
.hh-press-hero::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.04), transparent 30%, rgba(214,181,93,.06) 70%, transparent 100%);
}
.hh-press-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, .9fr);
  gap: 32px;
  align-items: stretch;
  padding: 80px 0;
}
.hh-press-hero__copy,
.hh-press-hero__panel,
.hh-press-note,
.hh-press-contact {
  background: rgba(35,36,36,.88);
  border: 1px solid var(--hh-border-light);
  box-shadow: 0 20px 50px rgba(0,0,0,.16);
}
.hh-press-hero__copy {
  padding: 36px;
  border-radius: 20px;
}
.hh-press-hero__lead {
  max-width: 760px;
  color: var(--hh-text-body);
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.8;
  margin: 18px 0 0;
}
.hh-press-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.hh-imprensa-hero-intro {
  padding-top: clamp(1.2rem, 2.6vw, 2rem);
}
.hh-imprensa-hero-intro .hh-press-hero__lead {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.hh-imprensa-hero-intro .hh-press-hero__actions {
  justify-content: center;
  margin-top: clamp(1rem, 2vw, 1.4rem);
}
.hh-page--imprensa .hh-imprensa-hero-intro .hh-btn--ghost {
  color: var(--hh-white) !important;
  border-color: var(--hh-gold, #d6b55d) !important;
}
.hh-page--imprensa .hh-imprensa-hero-intro .hh-btn--ghost:hover {
  color: var(--hh-white) !important;
  border-color: var(--hh-gold, #d6b55d) !important;
}
.hh-press-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}
.hh-press-kpi {
  padding: 18px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
}
.hh-press-kpi strong {
  display: block;
  font-family: var(--hh-font-heading);
  color: var(--hh-gold, #d6b55d);
  font-size: 1.65rem;
  line-height: 1;
  margin-bottom: 8px;
}
.hh-press-kpi span {
  display: block;
  color: var(--hh-text-gray);
  font-size: .92rem;
  line-height: 1.45;
}
.hh-press-hero__panel {
  border-radius: 20px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}
.hh-press-hero__panel-label,
.hh-press-note__eyebrow {
  color: var(--hh-gold, #d6b55d);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .72rem;
  font-weight: 700;
  margin: 0;
}
.hh-press-hero__panel h2,
.hh-press-note h3,
.hh-press-contact h2 {
  margin: 0;
  font-family: var(--hh-font-heading);
  color: var(--hh-text-primary);
  line-height: 1.15;
}
.hh-press-hero__panel h2 { font-size: clamp(1.8rem, 2.4vw, 2.7rem); }
.hh-press-hero__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 12px;
  color: var(--hh-text-gray);
}
.hh-press-hero__list li::marker { color: var(--hh-gold, #d6b55d); }

.hh-press-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
}
.hh-press-section-head__text {
  color: var(--hh-text-gray);
  margin: 0;
  line-height: 1.7;
}
.hh-press-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.hh-press-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 100%;
  padding: 28px;
  border-radius: 20px;
  border: 1px solid var(--hh-border-light);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  color: var(--hh-text-primary) !important;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.hh-press-card:hover {
  transform: translateY(-4px);
  border-color: rgba(214,181,93,.55);
  background: linear-gradient(180deg, rgba(214,181,93,.08), rgba(255,255,255,.025));
}
.hh-press-card__tag {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(214,181,93,.12);
  color: var(--hh-gold, #d6b55d);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .7rem;
  font-weight: 700;
}
.hh-press-card h3 {
  margin: 0;
  font-family: var(--hh-font-heading);
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  line-height: 1.2;
}
.hh-press-card p {
  margin: 0;
  color: var(--hh-text-gray);
  line-height: 1.7;
}
.hh-press-card__link {
  margin-top: auto;
  color: var(--hh-gold, #d6b55d) !important;
  font-weight: 700;
  letter-spacing: .04em;
}
.hh-press-note {
  margin-top: 24px;
  padding: 24px 28px;
  border-radius: 18px;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  align-items: center;
}
.hh-press-note p { margin: 0; color: var(--hh-text-gray); line-height: 1.7; max-width: 760px; }

.hh-press-contact {
  margin-top: 0;
  padding: 28px 30px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.hh-press-contact__text {
  margin: 14px 0 0;
  color: var(--hh-text-gray);
  line-height: 1.75;
  max-width: 760px;
}
.hh-press-contact__email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--hh-gold, #d6b55d);
  color: var(--color-text-dark) !important;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
  transition: transform .25s ease, background .25s ease;
}
.hh-press-contact__email:hover { transform: translateY(-2px); background: var(--hh-gold-light); }

/* e-mail como link simples (nova classe) */
.hh-press-contact__email-link {
  display: inline-block;
  color: var(--hh-gold, #d6b55d);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  border-bottom: 1px solid rgba(214,181,93,.4);
  padding-bottom: 2px;
  transition: border-color .2s, opacity .2s;
}
.hh-press-contact__email-link:hover {
  border-bottom-color: var(--hh-gold, #d6b55d);
  opacity: .8;
}

.hh-press-contact__cta-link {
  display: inline-block;
  margin-top: 1rem;
  color: var(--hh-gold, #d6b55d);
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(214,181,93,.4);
  padding-bottom: 2px;
  transition: border-color .2s, color .2s;
}
.hh-press-contact__cta-link:hover {
  border-bottom-color: var(--hh-gold, #d6b55d);
  color: var(--hh-gold, #d6b55d);
}

/* Imprensa: tipografia escopada apenas nesta página */
.hh-page--imprensa {
  color: var(--hh-white);
}
.hh-page--imprensa p,
.hh-page--imprensa li,
.hh-page--imprensa .hh-press-hero__lead,
.hh-page--imprensa .hh-press-section-head__text,
.hh-page--imprensa .hh-press-note p,
.hh-page--imprensa .hh-press-contact__text {
  color: var(--hh-white);
}
.hh-page--imprensa .hh-section-title,
.hh-page--imprensa .hh-section__title,
.hh-page--imprensa .hh-press-hero__panel h2,
.hh-page--imprensa .hh-press-note h3,
.hh-page--imprensa .hh-press-contact h2,
.hh-page--imprensa .hh-press-card h3 {
  font-family: 'Montserrat', var(--hh-font-heading);
  font-weight: 700;
  color: var(--hh-gold, #d6b55d) !important;
}
.hh-page--imprensa .hh-press-card,
.hh-page--imprensa .hh-press-card * {
  color: var(--hh-white) !important;
}
.hh-page--imprensa .hh-press-card__tag,
.hh-page--imprensa .hh-press-card__link,
.hh-page--imprensa .hh-press-hero__panel-label,
.hh-page--imprensa .hh-press-note__eyebrow,
.hh-page--imprensa .hh-section-subtitle {
  color: var(--hh-gold, #d6b55d) !important;
}
.hh-page--imprensa .hh-press-contact__email,
.hh-page--imprensa .hh-press-card:hover .hh-press-card__link {
  color: var(--hh-black) !important;
}

/* ---- Partners ---- */
.hh-partners-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  align-items: center;
  margin-top: 48px;
}
.hh-partner-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: 140px;
  text-align: center;
}
.hh-partner-item img {
  max-width: 140px;
  max-height: 60px;
  object-fit: contain;
  filter: none;
  opacity: 1;
  transition: opacity .2s, filter .2s;
}
.hh-partner-item:hover img { opacity: 1; filter: none; }
.hh-partner-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.08);
  color: var(--hh-gold, #d6b55d);
  font-family: var(--hh-font-heading);
  font-size: 18px;
  letter-spacing: .08em;
  font-weight: 700;
}
.hh-partner-name {
  font-family: var(--hh-font-heading);
  font-size: 18px;
  color: rgba(255,255,255,.75);
  letter-spacing: .06em;
}
.hh-partner-role {
  font-size: 11px;
  color: var(--hh-gold, #d6b55d);
  text-transform: uppercase;
  letter-spacing: .1em;
}

/* ---- hh-lead--center ---- */
.hh-lead--center { text-align: center; margin-left: auto; margin-right: auto; }

/* ================================================================
   RESPONSIVE — Front Page
   ================================================================ */
@media (max-width: 1024px) {
  .hh-hero--split .hh-hero__inner { grid-template-columns: 1fr; padding: 140px 0 80px; }
  .hh-hero__form-box { max-width: 560px; margin: 0 auto; }
  .hh-apto-layout    { grid-template-columns: 1fr; }
  .hh-complexo-layout { grid-template-columns: 1fr; }
  .hh-timeline-item--left  { padding-right: 0; justify-content: flex-start; padding-left: calc(2rem + 32px); }
  .hh-timeline-item--right { padding-left: calc(2rem + 32px); }
  .hh-timeline::before { left: 1rem; }
  .hh-timeline-dot { left: 1rem; }
  .hh-testimonials { grid-template-columns: 1fr; }
  .hh-press-logos { grid-template-columns: repeat(2, 1fr); }
  .hh-press-hero__grid,
  .hh-press-section-head,
  .hh-press-contact { grid-template-columns: 1fr; }
  .hh-press-contact { flex-direction: column; align-items: flex-start; }
  .hh-press-grid { grid-template-columns: 1fr; }
  .hh-press-kpis { grid-template-columns: 1fr; }
  .hh-destinos-cats { grid-template-columns: repeat(2, 1fr); }
.hh-lead--white { color: var(--hh-black) !important; }
}
@media (max-width: 640px) {
  .hh-ec-grid { flex-direction: column; }
  .hh-ec-vs { writing-mode: horizontal-tb; padding: 16px; text-align: center; }
  .hh-rci-numbers { flex-direction: column; }
  .hh-rci-num { border-right: none; border-bottom: 1px solid var(--hh-border-light); }
  .hh-rci-num:last-child { border-bottom: none; }
  .hh-press-logos { grid-template-columns: 1fr 1fr; }
  .hh-apto-tabs { gap: 0; }
  .hh-apto-tab { padding: 12px 16px; font-size: 12px; }
  .hh-destinos-cats { grid-template-columns: 1fr 1fr; }
  .hh-owners-count__number { font-size: 48px; }
  .hh-press-hero__copy,
  .hh-press-hero__panel,
  .hh-press-note,
  .hh-press-contact { padding: 22px; }
}

/* =========================================================
   PAGE: COMPLEXO
   ========================================================= */

/* ── Section variants ── */
.hh-section--alt {
  background: var(--hh-bg-alt);
}
.hh-section--dark-alt {
  background: var(--hh-bg);
}
.hh-section--accent {
  background: var(--hh-bg-card)!important;
  border-top: 1px solid var(--color-gold, #d6b55d);
  border-bottom: 1px solid var(--color-gold, #d6b55d);
}

/* ── Numbers bar ── */
.hh-numbers-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
}
.hh-number-item {
  flex: 1 1 160px;
  text-align: center;
  padding: 2.5rem 2rem;
  border-right: 1px solid var(--hh-gold, #d6b55d);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
}
.hh-number-item:last-child { border-right: none; }
.hh-number-item__value {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: wrap;
  font-family: 'Apex Sans', sans-serif;
  font-size: clamp(40px, 5vw, 72px);
  color: var(--hh-gold, #d6b55d) !important;
  line-height: 1;
  min-height: 90px;
  margin-bottom: 0;
}

/* Ensure numbers in the complexo bar use tabular figures and style units */
.hh-number-item__value {
  font-variant-numeric: tabular-nums;
  -moz-font-feature-settings: "tnum" 1;
  -webkit-font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.hh-number-item__value sup,
.hh-number-item__value .unit {
  font-size: 0.45em;
  vertical-align: super;
  margin-left: .12em;
  color: rgba(255,255,255,.85);
}
.hh-number-item__label {
  display: block;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ffffff;
  font-weight: 600;
  margin-top: .2rem;
}

/* ── Split 2-col ── */
.hh-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: center;
}
.hh-split__media { position: relative; }
.hh-split__img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
  border: 1px solid var(--hh-border);
}

/* ── Areas grid ── */
.hh-areas-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5px;
  margin-top: 0;
}
.hh-area-card {
  background: linear-gradient(180deg, rgba(255,250,242,.98) 0%, rgba(246,236,220,.98) 100%);
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  padding: 2.5rem 2rem;
  transition: background .25s, transform .25s, box-shadow .25s, border-color .25s;
  cursor: default;
}
.hh-area-card:hover { background: linear-gradient(180deg, rgba(255,248,238,.98) 0%, rgba(244,233,214,.98) 100%); border-color: var(--hh-gold, #d6b55d); transform: translateY(-3px); box-shadow: 0 20px 40px rgba(63,43,12,.12); }
.hh-area-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}
.hh-area-card__tag {
  font-size: 9px;
  letter-spacing: 3px;
  font-weight: 700;
  color: var(--hh-gold, #d6b55d);
  text-transform: uppercase;
}
.hh-area-card__icon {
  color: var(--color-text-primary);
  opacity: .9;
}
.hh-area-card__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: 22px;
  letter-spacing: 2px;
  color: var(--color-text-dark);
  margin: 0 0 .8rem;
}
.hh-area-card__desc {
  font-size: 14px;
  color: var(--color-text-primary);
  line-height: 1.65;
  margin: 0;
}

/* ── Feature split (full-bleed 2-col) ── */
.hh-section--feature {
  padding: 0;
  overflow: hidden;
}
.hh-feature-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 640px;
}
.hh-feature-split__media {
  position: relative;
  overflow: hidden;
}
.hh-feature-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hh-feature-split__text {
  padding: 6rem 5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #232424;
}
.hh-feature-list {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .8rem;
}
.hh-feature-list li {
  padding-left: 1.4rem;
  position: relative;
  font-size: 15px;
  color: #ffffff;
  line-height: 1.5;
}
.hh-feature-list li::before {
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  background: var(--hh-gold, #d6b55d);
  border-radius: 50%;
}

/* ── Tour embed ── */
.hh-tour-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.hh-tour-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}
.hh-tour-placeholder {
  padding: 4rem 2rem;
  text-align: center;
  border: 1px dashed var(--hh-border-gold);
  color: var(--hh-text-muted);
  background: var(--hh-bg-card);
  font-size: 14px;
}

/* ── Map embed ── */
.hh-map-embed {
  width: 100%;
  height: 480px;
  overflow: hidden;
  border: 1px solid var(--hh-border);
}
.hh-map-embed iframe {
  width: 100%;
  height: 100%;
  display: block;
  filter: grayscale(100%) invert(90%) contrast(85%);
}

/* ── Complexo responsive ── */
@media (max-width: 1024px) {
  .hh-areas-grid { grid-template-columns: repeat(2, 1fr); }
  .hh-feature-split { grid-template-columns: 1fr; }
  .hh-feature-split__text { padding: 4rem 3rem; }
  .hh-split { grid-template-columns: 1fr; gap: 3rem; }
  .hh-split__img { height: 380px; }
}
@media (max-width: 640px) {
  .hh-areas-grid { grid-template-columns: 1fr; }
  .hh-feature-split__text { padding: 3rem 1.5rem; }
  .hh-number-item { flex: 1 1 140px; padding: 2rem 1rem; }
  .hh-split__img { height: 260px; }
}

/* =========================================================
   PAGE: EXPERIÊNCIAS
   ========================================================= */
.hh-exp-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  background-color: var(--hh-bg-card);
}
.hh-exp-split--reverse .hh-exp-split__media { order: 2; }
.hh-exp-split--reverse .hh-exp-split__text  { order: 1; margin-left: 20px;}
.hh-exp-split__img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
  border: 1px solid var(--hh-border);
}
@media (max-width: 1024px) {
  .hh-exp-split { grid-template-columns: 1fr; gap: 3rem; }
  .hh-exp-split--reverse .hh-exp-split__media { order: 0; }
  .hh-exp-split--reverse .hh-exp-split__text  { order: 0; }
  .hh-exp-split__img { height: 360px; }
}

/* =========================================================
   PAGE: OBRA
   ========================================================= */
.hh-obra-badge {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: var(--hh-bg-card);
  padding: .6rem 1.4rem;
  font-size: 14px;
  color: #ffffff;
  margin-bottom: 0;
}
.hh-obra-badge__label {
  color: var(--hh-gold);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 10px;
  font-weight: 700;
}
.hh-obra-badge__value { color: var(--hh-gold, #d6b55d); font-weight: 700; }

.hh-progress-blocks { display: flex; flex-direction: column; gap: 1.5rem; }
.hh-progress-item__meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: .5rem;
}
.hh-progress-item__label {
  font-size: 13px;
  color: var(--hh-black);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.hh-progress-item__pct {
  font-size: 13px;
  color: var(--hh-gold, #d6b55d);
  font-weight: 700;
}
.hh-progress-bar {
  height: 6px;
  background: rgba(255,255,255,0.07);
  border-radius: 3px;
  overflow: hidden;
}
.hh-progress-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--hh-gold-dark), var(--hh-gold, #d6b55d));
  border-radius: 3px;
  transition: width 1.2s ease .3s;
}
.hh-obra-overall {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 2.5rem;
}
.hh-obra-overall__label {
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--hh-black);
}
.hh-obra-overall__value {
  font-family: 'Apex Sans', sans-serif;
  font-size: 56px;
  color: var(--hh-gold, #d6b55d);
  line-height: 1;
}
.hh-obra-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.hh-obra-gallery__item {
  overflow: hidden;
  margin: 0;
  aspect-ratio: 4/3;
}
.hh-obra-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.hh-obra-gallery__item:hover img { transform: scale(1.05); }
.hh-obra-gallery__item figcaption {
  padding: .5rem .75rem;
  font-size: 11px;
  color: var(--hh-text-muted);
  background: var(--hh-bg-card);
  text-align: center;
}
.hh-obra-gallery-placeholder {
  padding: 4rem 2rem;
  text-align: center;
  border: 1px dashed var(--hh-border-gold);
  background: var(--hh-bg-card);
  color: #ffffff;
}
.hh-obra-gallery-placeholder__hint {
  font-size: 12px;
  margin-top: .75rem;
  opacity: .55;
}
.hh-obra-milestones {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.hh-obra-milestone {
  text-align: center;
  padding: 2rem;
  background: var(--hh-bg-card);
  border: 1px solid var(--hh-border);
  min-width: 160px;
  transition: border-color .25s;
}
.hh-obra-milestone:hover { border-color: var(--hh-gold); }
.hh-obra-milestone--final {
  background: var(--hh-bg-card-hover);
}
.hh-obra-milestone__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  margin-bottom: .75rem;
}
.hh-obra-milestone__icon svg { width: 28px; height: 28px; display: block; }
.hh-obra-milestone__year {
  display: block;
  font-family: 'Apex Sans', sans-serif;
  font-size: 36px;
  color: var(--color-gold, #d6b55d);
  line-height: 1;
  margin-bottom: .3rem;
}
.hh-obra-milestone__label {
  display: block;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ffffff;
  font-weight: 600;
}
.hh-obra-milestone-arrow {
  color: var(--hh-gold, #d6b55d);
  font-size: 24px;
  opacity: .4;
}
@media (max-width: 768px) {
  .hh-obra-gallery { grid-template-columns: 1fr 1fr; }
  .hh-obra-milestones { flex-direction: column; }
  .hh-obra-milestone-arrow { transform: rotate(90deg); }
}

/* =========================================================
   PAGE: LEAD FORM
   ========================================================= */
:where(.hh-lead, .hh-form-lead) {
  color: var(--color-text-dark);
}

:where(.hh-lead, .hh-form-lead) :is(h1, h2, h3, h4, h5, h6, p, li, span, strong, em, label, small, a) {
  color: inherit;
}

:where(.hh-lead, .hh-form-lead) :is(input, textarea, select, button) {
  color: inherit;
}

:where(.hh-lead, .hh-form-lead) :is(input, textarea, select)::placeholder {
  color: currentColor;
  opacity: .62;
}

:where(.hh-lead, .hh-form-lead):is(.hh-lead--dark, .hh-form-lead--dark, [style*="background:"], [style*="background-color:"]) {
  color: var(--color-text-primary) !important;
}

:where(.hh-lead, .hh-form-lead):is(.hh-lead--dark, .hh-form-lead--dark, [style*="background:"], [style*="background-color:"]) :is(h1, h2, h3, h4, h5, h6, p, li, span, strong, em, label, small, a) {
  color: inherit;
}

:where(.hh-lead, .hh-form-lead):is(.hh-lead--dark, .hh-form-lead--dark, [style*="background:"], [style*="background-color:"]) :is(input, textarea, select, button)::placeholder {
  color: currentColor;
}

/* =========================================================
   PAGE: HISTÓRIA
   ========================================================= */
.hh-awards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5px;
  background: var(--hh-border);
  border: 1px solid var(--hh-border);
  margin-top: 0;
}
.hh-award {
  background: var(--hh-bg-card);
  padding: 2.5rem 2rem;
  text-align: center;
  transition: background .25s;
}
.hh-award:hover { background: var(--hh-bg-card-hover); }
.hh-award__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  margin-bottom: 1rem;
}
.hh-award__icon svg { width: 32px; height: 32px; display: block; }
.hh-award__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: 20px;
  letter-spacing: 2px;
  color: var(--hh-gold, #d6b55d);
  margin: 0 0 .75rem;
}
.hh-award__desc {
  font-size: 13px;
  color: var(--hh-text-muted);
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 768px) {
  .hh-awards-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .hh-awards-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   PAGE: DESTINOS
   ========================================================= */
.hh-dest-steps {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.hh-dest-step {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}
.hh-dest-step__num {
  font-family: 'Apex Sans', sans-serif;
  font-size: 40px;
  color: var(--hh-gold, #d6b55d);
  line-height: 1;
  flex-shrink: 0;
  width: 2.5rem;
}
.hh-dest-step strong {
  display: block;
  color: var(--hh-gold, #d6b55d);
  font-size: 15px;
  font-weight: 700;
  margin-bottom: .3rem;
}
.hh-dest-step p {
  margin: 0;
  font-size: 14px;
  color: var(--hh-black);
  line-height: 1.6;
}
.hh-destinos-cats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5px;
}
.hh-dest-cat-card {
  background: #232424;
  border: 1px solid rgba(201,169,97,.22);
  border-radius: 12px;
  box-shadow: 0 18px 36px rgba(63,43,12,.08);
  padding: 2.5rem 2rem;
  text-align: center;
  transition: background .25s, transform .25s, box-shadow .25s, border-color .25s;
}
.hh-dest-cat-card:hover { background: var(--hh-black); border-color: var(--hh-gold, #d6b55d); transform: translateY(-3px); box-shadow: 0 20px 40px rgba(63,43,12,.12); }
.hh-dest-cat-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  margin-bottom: .6rem;
}
.hh-dest-cat-card__icon svg { width: 34px; height: 34px; display: block; }
.hh-dest-cat-card__count {
  display: block;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--hh-gold, #d6b55d);
  font-weight: 700;
  margin-bottom: .75rem;
}
.hh-dest-cat-card__title {
  font-family: 'Apex Sans', sans-serif;
  font-size: 22px;
  letter-spacing: 2px;
  color: var(--color-text-dark);
  margin: 0 0 .75rem;
}
.hh-dest-cat-card__items {
  font-size: 13px;
  color: var(--color-text-primary);
  line-height: 1.6;
  margin: 0;
}
/* Destinos economy compare — override existing hh-ec-* */
.hh-ec-saving {
  display: inline-block;
  margin-top: 1.25rem;
  font-size: 14px;
  color: #ffffff;
}
.hh-ec-saving strong { color: var(--hh-gold, #d6b55d); font-size: 20px; }
.hh-ec-price--gold { color: var(--hh-gold, #d6b55d) !important; }
@media (max-width: 1024px) {
  .hh-destinos-cats-grid { grid-template-columns: repeat(2, 1fr); }
  .hh-ec-grid { grid-template-columns: 1fr; }
  .hh-ec-col--before,
  .hh-ec-col--after {
    border: 0;
  }
  .hh-ec-vs {
    width: 100%;
    min-height: 64px;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid rgba(214,181,93,.10);
    border-bottom: 1px solid rgba(214,181,93,.10);
  }
}
@media (max-width: 640px) {
  .hh-destinos-cats-grid { grid-template-columns: 1fr 1fr; }
  .hh-ec-col { padding: 36px 20px 30px; }
  .hh-ec-plan { margin-bottom: 20px; }
  .hh-ec-list li { font-size: 14px; padding: 12px 0; }
}

/* =========================================================
   GALLERY FILTER BUTTONS
   ========================================================= */
.hh-gal-filter {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
}
.hh-gal-filter__btn {
  background: transparent;
  border: 1px solid var(--hh-border);
  color: var(--hh-text-muted);
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 700;
  text-transform: uppercase;
  padding: .5rem 1.2rem;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.hh-gal-filter__btn:hover,
.hh-gal-filter__btn.is-active {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-black);
}
.hh-gal-meta {
  margin-bottom: 1.5rem;
  font-size: 12px;
  color: var(--hh-text-muted);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

/* =========================================================
   LIGHTBOX (class-based, dynamically injected by JS)
   ========================================================= */
.hh-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0,0,0,.95);
  backdrop-filter: blur(6px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.hh-lightbox__close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  color: var(--color-text-primary);
  font-size: 28px;
  line-height: 1;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color .2s, background .2s;
}
.hh-lightbox__close:hover { border-color: var(--hh-gold, #d6b55d); color: var(--hh-gold, #d6b55d); }
.hh-lightbox__img-wrap { max-width: 90vw; max-height: 80vh; }
.hh-lightbox__img-wrap img {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  display: block;
  box-shadow: 0 0 60px rgba(0,0,0,.8);
}
.hh-lightbox__caption {
  margin-top: 1rem;
  text-align: center;
  font-size: 13px;
  color: rgba(255,255,255,.55);
  letter-spacing: 1px;
}
/* .hh-no-scroll desabilitado para permitir scroll livre 
   Se precisar bloquear scroll ao abrir modal, use JS:
   document.body.style.overflow = 'hidden';
   document.body.style.overflow = 'auto';  
*/

/* =========================================================
   PARALLAX BREAK (apartamentos page)
   ========================================================= */
.hh-parallax-break {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.hh-parallax-break__bg {
  position: absolute;
  inset: -20% 0;
  background-size: cover;
  background-position: center;
  will-change: transform;
}
.hh-parallax-break__bg::after {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}
.hh-parallax-break__inner {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 3rem 2rem;
}
.hh-parallax-break__label {
  display: block;
  font-size: 11px;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--hh-gold, #d6b55d);
  font-weight: 700;
  margin-bottom: 1rem;
}
.hh-parallax-break__title {
  font-family: 'Apex Sans', sans-serif !important;
  font-size: clamp(28px, 4vw, 54px);
  color: var(--hh-gold);
  font-weight: 100;
  letter-spacing: 4px;
  line-height: 1.1;
  margin: 0 0 1.5rem;
}
.hh-parallax-break__line {
  display: block;
  width: 60px;
  height: 2px;
  background: var(--hh-gold, #d6b55d);
  margin: 0 auto;
}

/* Strong override: ensure hero/entry headings and section titles use apex-sans
  Placed late in the file to win the cascade and avoid accidental overrides. */
.hh-hero h1,
.site-hero h1,
.entry-header h1,
.hh-section-title,
.hh-section__title {
  font-family: 'Montserrat', 'apex-sans', Georgia, "Times New Roman", serif !important;
  color: var(--hh-white) !important;
  padding-top: 1%;
}

/* Contato: reduzir o padding top dos títulos pela metade */
.hh-page--contato .hh-hero h1,
.hh-page--contato .site-hero h1,
.hh-page--contato .entry-header h1,
.hh-page--contato .hh-section-title,
.hh-page--contato .hh-section__title {
  padding-top: 0 !important;
}
.hh-parallax-break__line {
  display: block;
  width: 60px;
  height: 2px;
  background: var(--hh-gold, #d6b55d);
  margin: 0 auto;
}

/* =====================================================================
   GUITAR STRINGS — Hard Rock Brand Language
   Regras de uso:
     • entram pela esquerda de uma imagem
     • saem pela direita ou transitam para o próximo frame
     • dividem duas imagens na mesma página horizontalmente
     • corda mais grossa (Low E) lidera; imagens quebram na 3ª corda
     • opacidade variável para não interferir com outros elementos
     • nunca forçadas — omitidas quando não acrescentam valor
   ===================================================================== */
.hh-strings {
  pointer-events: none;
  user-select: none;
  overflow: hidden;
  /* ocultadas em mobile — nunca forçadas */
  display: none;
}
@media (min-width: 961px) {
  .hh-strings { display: block; }
}

.hh-strings__s {
  display: block;
  width: 100%;
  will-change: transform;
  /* JS define scaleX:0 → scaleX:1 com transformOrigin:left */
}

/* Cordas são interativas no desktop — palheta do mouse ativa vibração */
@media (min-width: 961px) {
  .hh-strings__s {
    pointer-events: auto;
    cursor: crosshair;
  }
}

/* ── 6 cordas de guitarra — Low E (mais grossa) → High e (mais fina) ──
   Espessuras mimetizam cordas reais: Low E visivelmente mais grossa;
   opacidades no range 30–50% conforme manual (elemento de suporte, não linha sólida);
   espaçamento maior entre cordas graves, menor entre agudas          */
.hh-strings__s--1 { height: 5px;    opacity: .42; margin-bottom: 18px; } /* Low E — visivelmente mais grossa */
.hh-strings__s--2 { height: 3px;    opacity: .34; margin-bottom: 14px; }
.hh-strings__s--3 { height: 1.8px;  opacity: .26; margin-bottom: 10px;  } /* imagens quebram aqui */
.hh-strings__s--4 { height: 1.1px;  opacity: .18; margin-bottom: 8px;  }
.hh-strings__s--5 { height: .6px;   opacity: .13; margin-bottom: 6px;  }
.hh-strings__s--6 { height: .35px;  opacity: .08; margin-bottom: 0;    }
.hh-strings__s--2 { height: 3px;    opacity: .38; margin-bottom: 11px; }
.hh-strings__s--3 { height: 1.8px;  opacity: .30; margin-bottom: 8px;  } /* imagens quebram aqui */
.hh-strings__s--4 { height: 1.1px;  opacity: .22; margin-bottom: 6px;  }
.hh-strings__s--5 { height: .6px;   opacity: .16; margin-bottom: 4px;  }
.hh-strings__s--6 { height: .35px;  opacity: .10; margin-bottom: 0;    }

/* ── Paletas por contexto de fundo ── */
.hh-strings--light .hh-strings__s  { background: linear-gradient(90deg, rgba(10,10,10,.88) 0%, rgba(100,100,100,.72) 48%, rgba(18,18,18,.88) 100%); }
.hh-strings--dark  .hh-strings__s  { background: linear-gradient(90deg, rgba(6,6,6,.90) 0%, rgba(70,70,70,.65) 48%, rgba(8,8,8,.92) 100%); }

/* Transição dark → light: cordas escuras com realce de gradiente */
.hh-strings--d2l .hh-strings__s {
  background: linear-gradient(90deg, rgba(6,6,6,.88) 0%, rgba(85,85,85,.68) 48%, rgba(10,10,10,.90) 100%);
}
/* Transição light → dark: cordas com tom dourado/vintage discreto */
.hh-strings--l2d .hh-strings__s {
  background: linear-gradient(90deg, rgba(12,12,12,.82) 0%, rgba(140,110,60,.58) 48%, rgba(8,8,8,.86) 100%);
}

/* ── Variante hero-exit:
      entram pela borda ESQUERDA da tela — left: 0, sem padding horizontal.
      A corda mais grossa (Low E) lidera; saem pela direita do frame.
      Cordas tratadas como elemento de suporte (opacidade 30–50%).    */
.hh-strings--hero-exit {
  position: absolute;
  bottom: -22px;
  left: 0;
  right: 0;
  z-index: 12;
  padding: 0;            /* ancoragem à borda esquerda — sem recuo lateral */
  overflow: visible;
}

.hh-hero .hh-strings {
  z-index: 12;
}

/* ── Overlay das cordas — posicionadas logo abaixo do hero
      Ficam na frente de tudo com z-index elevado, sem ocupar fluxo  */
.hh-strings-overlay {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 99;
  pointer-events: none;
  overflow: visible;
  height: auto;
  padding: 12px 0 0;
  width: 100%;
}

/* ── Variante divide:
      Filho absoluto posicionado em bottom:0 da seção anterior.
      Não ocupa fluxo — zero gap de layout.                          */
.hh-strings--divide {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 8;
  padding: 8px 0;
  overflow: visible;
  width: 100%;
}

/* ── Variante exit-right:
      Saída pela direita do frame/imagem — faixa na base da seção.
      Segura para seções com overflow:hidden (usa bottom:0, não -22px).
      A corda mais grossa (--1) alinha‑se à borda inferior da imagem. */
.hh-strings--exit-right {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 4;
  padding: 0 6%;
  overflow: visible;
}

/* ── Variante enter-left:
      Cordas entram pela borda esquerda de uma imagem/seção.
      O container cobre ~48% da largura a partir da esquerda;
      as cordas crescem (scaleX 0→1) da borda esquerda do frame
      para dentro da imagem — nunca ultrapassam o centro.
      A corda mais grossa (--1) alinha‑se à borda esquerda do frame. */
.hh-strings--enter-left {
  position: absolute;
  top: 50%;
  left: 0;
  width: 48%;
  transform: translateY(-50%);
  z-index: 4;
  padding: 0;
  overflow: visible;
}

/* ── Variante gold:
      Para fundos escuros com imagens vivas onde branco interfere.
      Tom dourado sutil, entre a marca Hard Rock e o vintage das cordas. */
.hh-strings--gold .hh-strings__s {
  background: linear-gradient(90deg, rgba(24,18,8,.84) 0%, rgba(185,145,60,.76) 48%, rgba(18,14,6,.88) 100%);
}

/* =========================================================
   REFRESH HOTELARIA CLARA — março/2026
   ========================================================= */
body.hh-palette-premium-brand {
  --color-bg-primary:    #FFF;
  --color-bg-secondary:  #EDE0C4;
  --color-purple:        #215732;
  --color-purple-mid:    #2F6A43;
  --color-purple-light:  #5E8263;
  --color-pink:          #B89750;
  --color-pink-mid:      #9B7B3B;
  --color-blue:          #215732;
  --color-gold:          #B89750;
  --color-text-primary:  #1A1008;
  --color-text-body:     #5A4A30;
  --color-text-dark:     #1A1008;

  --gradient-hero:  linear-gradient(135deg, #F5EDD8 0%, #EDE0C4 56%, #E6D0AF 100%);
  --gradient-cta:   linear-gradient(135deg, #B89750 0%, #9B7B3B 100%);
  --gradient-card:  linear-gradient(180deg, rgba(245,237,216,0) 0%, rgba(237,224,196,.95) 100%);
  --gradient-bar:   linear-gradient(90deg, #B89750 0%, #215732 100%);

  --hh-black:         #1A1008;
  --hh-white:         #FFFDF8;
  --hh-gold:          #B89750;
  --hh-gold-light:    #C8AA68;
  --hh-gold-dark:     #8E7037;

  --hh-bg:            var(--color-bg-primary);
  --hh-bg-section:    var(--color-bg-primary);
  --hh-bg-alt:        #EDE0C4;
  --hh-bg-card:       #232424;
  --hh-bg-card-hover: rgba(255,248,239,.98);
  --hh-bg-input:      rgba(255,255,255,.88);

  --hh-text-white:    #FFFDF8;
  --hh-text-muted:    var(--color-text-body);
  --hh-text-subtle:   rgba(90,74,48,.56);

  --hh-border:        rgba(184,151,80,.24);
  --hh-border-gold:   rgba(184,151,80,.42);

  --hh-text-dark:     #1A1008;
  --hh-text-gray:     rgba(90,74,48,.82);
  --hh-light-bg:      #EDE0C4;
  --hh-lighter-bg:    #FBF5E8;
  --hh-border-light:  rgba(90,74,48,.16);

  --hh-purple:        #215732;
  --hh-purple-dark:   #215732;
  --hh-purple-light:  #5E8263;
  --hh-purple-bg:     rgba(33,87,50,.10);
  --hh-orange:        #B89750;
  --hh-pink:          #B89750;
  --hh-magenta-brand: #883001;
  --hh-blue-brand:    #215732;
  --hh-red-brand:     #FE5000;
  --hh-yellow-brand:  #D9B96C;
  --hh-green-brand:   #215732;

  --hh-script-shadow:      none;
  --hh-surface-dark:       #EDE0C4;
  --hh-surface-dark-soft:  #F7F0E0;
  --hh-surface-dark-elev:  #F1E4C8;
  --hh-surface-dark-input: #FFF9F0;
  --hh-overlay-gramado-a:  rgba(245,237,216,.90);
  --hh-overlay-gramado-b:  rgba(237,224,196,.72);
  --hh-overlay-rock-a:     rgba(245,237,216,.84);
  --hh-overlay-rock-b:     rgba(237,224,196,.76);
  --hh-bg-white-wash:      rgba(255,255,255,.20);
  --hh-bg-white-wash-strong: rgba(255,255,255,.32);

  --hh-accent:        #B89750;
  --hh-accent-hover:  #215732;
  --hh-border-accent: rgba(33,87,50,.18);
  --hh-badge-hot:     #883001;
  --hh-urgency:       #FE5000;
  --hh-cta-text:      #1A1008;
  --hh-on-accent-hover: #FFFDF8;
  --hh-panel-shadow:  0 24px 48px rgba(90,74,48,.10);
  --hh-soft-shadow:   0 12px 30px rgba(90,74,48,.08);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) {
  background: transparent;
  color: var(--hh-text-primary);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) ::selection {
  background: var(--hh-accent);
  color: var(--hh-text-dark);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) a {
  color: var(--hh-gold);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) a:hover {
  color: var(--hh-gold-dark);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section-title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section__title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-post-card__title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card h4,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta__title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-author strong,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-info h3,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat h4,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card h4,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-item strong {
  color: var(--color-text-primary);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section-title span,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__title span {
  text-shadow: none;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section-subtitle,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__eyebrow,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card__tag,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-post-card__meta,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta__label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-year,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-owners-count__number,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rci-num__value,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-stars,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-nav-link::after {
  color: var(--hh-gold, #d6b55d);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-gold-bar,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-nav-link::after {
  background: var(--hh-gold, #d6b55d);
  box-shadow: none;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section__sub,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-post-card__excerpt,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-text,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-author span,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-contact-inline a,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-footer__legal,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-footer__copy,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-footer__links a,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-lead .hh-section__sub,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-section__sub,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-desc,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-features li,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rci-num__label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-owners-count__label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-stat__label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rockstar-perk,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-trust-seal {
  color: var(--hh-black);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section:not(.hh-section--dark):not(.hh-section--black) {
  background: var(--hh-white);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-economia {
  background:
    linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 100%),
    var(--color-bg-primary);
}

/* dark sections mantêm fundo escuro — só form-lead e footer viram branco */
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #colophon {
  background: white;
  color: var(--color-text-dark, #1a1a1a);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-section-title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-section-title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-faq summary,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-section__title {
  color: var(--hh-text-color, var(--color-text-primary));
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) article.hh-post-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq details,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-city,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rockstar-perk,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-trust-seal,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-wrap,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-lead__form-wrap,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__form-box,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-item,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rci-numbers,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-stats,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-grid {
  background: rgb(35 36 36);
  border-color: rgba(184,151,80,.24);
  box-shadow: var(--hh-soft-shadow);
  color: var(--hh-white, #ffffff);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-city {
  color: var(--color-text-primary);
}

/* texto interno de cards escuros — anula o var(--hh-black) do bloco geral acima */
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) article.hh-post-card .hh-post-card__excerpt,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-card .hh-testimonial-text,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-item p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq details p {
  color: rgba(255,255,255,.78);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-gramado-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-Gramado-card {
  background: rgba(255,251,244,.88);
  border-color: rgba(184,151,80,.24);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-gramado-card:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-Gramado-card:hover {
  background: rgba(255,248,239,.98);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-gramado-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-Gramado-card p {
  color: #ffffff;
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-gramado-card__icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-gramado-card__icon svg,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-Gramado-card__icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-Gramado-card__icon svg {
  color: var(--hh-accent, #B89750);
  stroke: var(--hh-accent, #B89750);
  border-color: rgba(90,74,48,.18);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq-item {
  border-bottom-color: rgba(90,74,48,.22);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq-q {
  color: var(--color-text-primary);
}
/* texto de resposta do FAQ — caixas escuras no palette padrão */
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq-a p {
  color: rgba(255,255,255,.75);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq-q span,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq-chevron {
  color: var(--hh-gold-dark);
  opacity: 1;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page--gramado #roteiro .hh-itinerary {
  background: rgba(90,74,48,.14);
  border-color: rgba(90,74,48,.18);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page--gramado #roteiro .hh-itinerary__day {
  background: rgba(255,251,244,.92);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page--gramado #roteiro .hh-itinerary__day:hover {
  background: #fffdf8;
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page--gramado #roteiro .hh-itinerary__num {
  color: var(--hh-gold-dark);
  opacity: .52;
  text-shadow: none;
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page--gramado #roteiro .hh-itinerary__content h3 {
  color: var(--hh-gold-dark);
  border-bottom-color: rgba(90,74,48,.22);
  text-shadow: none;
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page--gramado #roteiro .hh-itinerary__list li {
  color: var(--color-text-dark, #1a1a1a);
  border-bottom-color: rgba(90,74,48,.16);
  text-shadow: none;
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page--gramado #roteiro .hh-it-time {
  color: var(--hh-gold-dark);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) article.hh-post-card:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-card:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq details:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-faq details[open] {
  border-color: rgba(33,87,50,.28);
  box-shadow: 0 18px 36px rgba(90,74,48,.10);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-form-group label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-form-group label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__lgpd,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-checkbox,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-checkbox {
  color: var(--color-text-body);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group input,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group textarea,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group select,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-form-group input,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-form-group textarea,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-form-group select,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-form-group input,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-form-group textarea,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-form-group select,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__row input {
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(90,74,48,.16);
  color: var(--color-text-dark, #1a1a1a);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group input::placeholder,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group textarea::placeholder,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__row input::placeholder {
  color: rgba(90,74,48,.48);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group input:focus,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group textarea:focus,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-form-group select:focus,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__row input:focus {
  border-color: var(--hh-green-brand);
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(33,87,50,.08);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__feedback {
  color: var(--hh-green-brand);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__feedback.error {
  color: var(--hh-urgency);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__lgpd a {
  color: var(--hh-white);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn {
  background: var(--gradient-cta);
  color: var(--hh-cta-text);
  border-color: var(--hh-accent);
  animation: none;
  box-shadow: 0 14px 30px rgba(184,151,80,.16);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn:hover {
  background: var(--hh-accent-hover);
  border-color: rgba(255,255,255,.92);
  color: var(--hh-on-accent-hover);
  box-shadow: 0 16px 36px rgba(33,87,50,.18);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--gold {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-white) !important;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--gold:hover {
  background: var(--hh-accent-hover);
  border-color: var(--hh-accent-hover);
  color: var(--hh-on-accent-hover) !important;
}

@keyframes hh-btn-text-bounce-subtle {
  0%, 100% {
    transform: translateY(0);
    text-shadow: 0 0 0 rgba(255,255,255,0);
  }
  50% {
    transform: translateY(-0.8px);
    text-shadow: 0 1px 0 rgba(255,255,255,.34);
  }
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--outline,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--ghost,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--dark,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--portal,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--rockstar-nav {
  background: transparent;
  color: var(--hh-gold);
  border-color: var(--hh-gold);
  box-shadow: none;
  animation: none;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--outline:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--ghost:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--dark:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--portal:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--rockstar-nav:hover {
  background: rgba(201,169,97,.12);
  border-color: rgba(0,0,0,.28);
  color: var(--hh-text-color, var(--hh-black));
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-btn--outline,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-btn--ghost,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-btn--dark,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-btn--portal,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-btn--rockstar-nav,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-btn--outline,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-btn--ghost,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-btn--dark,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-btn--portal,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-btn--rockstar-nav {
  background: transparent;
  color: var(--hh-text-color, var(--hh-white));
  border-color: rgba(255,255,255,.66);
  box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset;
  animation: hh-btn-text-bounce-subtle 3.4s ease-in-out infinite;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--pink {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-white);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--pink:hover {
  background: var(--hh-green-brand);
  border-color: var(--hh-green-brand);
  color: var(--hh-white);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--orange {
  background: var(--hh-urgency);
  border-color: var(--hh-urgency);
  color: var(--hh-white);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-btn--orange:hover {
  background: var(--hh-gold, #d6b55d);
  border-color: var(--hh-gold, #d6b55d);
  color: var(--hh-white);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header {
  background: var(--hh-white);
  border-bottom: 1px solid rgba(0,0,0,.08);
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  color: var(--color-text-dark);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled {
  background: linear-gradient(black, transparent);
  border-bottom-color: rgba(184,151,80,.32);
  box-shadow: 0 18px 40px rgba(90,74,48,.12);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .site-title-text,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-nav-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-menu-toggle,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-sub-toggle {
  color: var(--hh-black);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .site-title-text,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-nav-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-menu-toggle,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-sub-toggle,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .site-title-text,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-nav-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-menu-toggle,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-sub-toggle {
  color: var(--color-text-primary);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header__logo--dark { display: block; }
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-header__logo--dark { display: none; }
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-header__logo--light { display: block; }

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-nav-link:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #primary-menu > li.current-menu-item > .hh-nav-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #primary-menu > li.current-menu-ancestor > .hh-nav-link {
  color: var(--hh-black);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled .hh-nav-link:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled #primary-menu > li.current-menu-item > .hh-nav-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #masthead.scrolled #primary-menu > li.current-menu-ancestor > .hh-nav-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled .hh-nav-link:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled #primary-menu > li.current-menu-item > .hh-nav-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header.scrolled #primary-menu > li.current-menu-ancestor > .hh-nav-link {
  color: var(--color-text-primary);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-sub-menu,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-pnav-clone .hh-sub-menu {
  background: rgba(0, 0, 0, 0.7);
  border-top-color: rgba(255, 255, 255, 0);
  border-bottom-color: rgba(255, 255, 255, 0);
  box-shadow: 0 24px 50px rgba(90,74,48,.12);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-sub-menu > li,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega__links > li,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-pnav-clone > .hh-nav-link {
  border-bottom-color: rgba(90,74,48,.08);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-sub-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega__flat-link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega__link,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-pnav-clone > .hh-nav-link {
  color: var(--hh-white) !important;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-sub-link:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega__flat-link:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega__link:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-pnav-clone > .hh-nav-link:hover {
  color: var(--hh-gold, #d6b55d) !important;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega__headline,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega__col-title {
  color: var(--hh-gold, #d6b55d);
  border-bottom-color: rgba(255, 255, 255, 0);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero {
  color: var(--color-text-body);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__bg {
  filter: saturate(.92) sepia(.06) brightness(.95);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero::before {
  background: none;
}


body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero--has-video .hh-hero__video {
  filter: saturate(.92) contrast(1.04) brightness(.88);
}

/* Gramado: com vídeo no hero, não renderiza a camada de imagem (fica só fallback sem vídeo) */
.hh-page--gramado .hh-hero--has-video .hh-hero__bg {
  display: none;
}

.hh-page--galeria .hh-hero--has-video .hh-hero__bg {
  display: none;
}

.hh-page--destinos .hh-hero--has-video .hh-hero__bg {
  display: none;
}

.hh-destinos-transition {
  padding-top: clamp(24px, 4vw, 56px);
  padding-bottom: clamp(24px, 4vw, 56px);
}

.hh-destinos-transition__media {
  max-width: 1600px;
  margin: 0 auto;
}

.hh-destinos-transition__img {
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}

.hh-page--galeria .hh-hero--has-video .hh-hero__video {
  transform: scale(1.12);
  transform-origin: center center;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero::after {
  background: transparent;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__title {
  color: var(--hh-black);
  text-shadow: none;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__eyebrow,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta__label {
  color: var(--hh-gold, #d6b55d);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__sub,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__text {
  color: var(--hh-white) !important;
  background: var(--hh-bg-card);
  padding: .62rem .9rem;
  display: inline-block;
  max-width: min(92vw, 860px);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__badges span {
  background: rgba(255,251,244,.78);
  border-color: rgba(184,151,80,.22);
  color: var(--color-text-body);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__form-title {
  color: var(--hh-gold, #d6b55d);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__form-sub,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-lead-form__lgpd {
  color: var(--hh-gold, #d6b55d);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__arrow,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__arrow-link {
  color: var(--hh-gold, #d6b55d);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-stats {
  background: rgba(255,251,244,.74);
  border-top: 1px solid rgba(184,151,80,.32);
  border-bottom: 1px solid rgba(184,151,80,.32);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-stat + .hh-stat::before {
  background: rgba(184,151,80,.18);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-card--good,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta {
  background: rgba(184,151,80,.10);
  border-color: rgba(184,151,80,.30);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-vs {
  background: var(--hh-on-accent-hover);
  color: var(--hh-cta-text);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-card__icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-benefit-icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat__icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rockstar-perk span,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-trust-seal .hh-inline-icon,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-contact-inline a svg {
  color: var(--hh-white);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-city:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-city--active {
  background: var(--hh-accent);
  color: var(--hh-cta-text) !important;
  border-color: var(--hh-accent) !important;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-tabs {
  border-bottom-color: rgba(184,151,80,.24);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-tab {
  color: var(--color-text-body);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-tab:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-tab.is-active {
  color: var(--hh-green-brand);
  border-bottom-color: var(--hh-accent);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-carousel {
  background: rgba(237,224,196,.52);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-prev,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-next {
  background: rgba(255,251,244,.84);
  border-color: rgba(184,151,80,.28);
  color: var(--color-text-primary);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-prev:hover,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-next:hover {
  background: var(--hh-accent);
  color: var(--hh-cta-text);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-dot {
  background: rgba(90,74,48,.22);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-dot.is-active {
  background: var(--hh-accent);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-gramado-distances strong,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-Gramado-distances strong,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta__label,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-hero__eyebrow {
  color: var(--hh-gold, #d6b55d);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-gramado .hh-section-title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-rockstar .hh-section-title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-gramado .hh-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-rockstar .hh-lead {
  color: var(--color-text-primary);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-gramado .hh-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-rockstar .hh-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-gramado .hh-gramado-distances,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-gramado .hh-Gramado-distances,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #sec-rockstar .hh-rockstar-perk {
  color: #ffffff;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-author strong,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-footer__logo-text {
  color: var(--color-text-primary);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) #colophon {
  border-top: 1px solid rgba(184,151,80,.28);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-social__icon {
  background: rgba(255,251,244,.78);
  border-color: rgba(184,151,80,.28);
  color: var(--hh-green-brand);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-social__icon:hover {
  background: rgba(33,87,50,.08);
  border-color: var(--hh-green-brand);
  color: var(--hh-green-brand);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-footer__links a:hover {
  color: var(--hh-green-brand);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page-hero {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero::before,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page-hero__overlay {
  background: linear-gradient(135deg, rgba(245,237,216,.94) 0%, rgba(237,224,196,.78) 100%);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero.hh-blog-hero--search {
  color: var(--hh-white);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero.hh-blog-hero--search::before {
  background: rgba(0,0,0,.72);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero.hh-blog-hero--search .hh-hero__title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero.hh-blog-hero--search .hh-hero__title--outside,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero.hh-blog-hero--search .hh-hero__title--outside span {
  color: var(--hh-white) !important;
  text-shadow: 0 4px 18px rgba(0,0,0,.48);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-blog-hero.hh-blog-hero--search .hh-hero__eyebrow {
  color: var(--hh-gold, #d6b55d);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-page-hero__img {
  opacity: .34;
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) article.hh-post-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-card,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-item,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-rockstar-perk,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-trust-seal,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-grid,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-card--bad,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-card--good {
  background: #232424;
  border-color: rgba(214,181,93,.18);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section-title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section__title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-post-card__title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card h4,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta__title,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-author strong,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-apto-info h3,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat h4,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card h4,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-item strong {
  color: var(--hh-gold, #d6b55d);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) article.hh-post-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-post-card__excerpt,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-destino-cat p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-timeline-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-testimonial-card p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-tour-cta p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-area-item span,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-ec-card ul li {
  color: var(--color-text-primary);
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-strings--light .hh-strings__s {
  background: linear-gradient(90deg, rgba(10,10,10,.88) 0%, rgba(95,95,95,.70) 48%, rgba(16,16,16,.88) 100%);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-strings--d2l .hh-strings__s {
  background: linear-gradient(90deg, #111 0%, rgba(33, 87, 50, .22) 100%);
}
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-strings--l2d .hh-strings__s {
  background: linear-gradient(90deg, rgba(10,10,10,.82) 0%, rgba(135,105,55,.60) 48%, rgba(8,8,8,.86) 100%);
}

@media (max-width: 768px) {
  body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-header__nav {
    background: rgba(245,237,216,.98);
    border-top: 1px solid rgba(184,151,80,.20);
    box-shadow: 0 18px 36px rgba(90,74,48,.12);
  }

  body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-nav-link {
    border-bottom-color: rgba(90,74,48,.08);
  }

  body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-sub-toggle {
    border-left-color: rgba(90,74,48,.08);
  }

  body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-sub-menu,
  body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-mega {
    background-color: rgba(0, 0, 0, 0.7) !important;
    border-color: rgba(255, 255, 255, 0) !important;
  }
}

body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-lead,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--dark .hh-faq details p,
body:not(.hh-palette-premium-emerald):not(.hh-palette-premium-olive):not(.hh-palette-premium-teal) .hh-section--black .hh-faq details p {
  color: var(--hh-text-color, var(--color-text-body));
}

@media (max-width: 768px) {
  .hh-hero--split .hh-hero__copy {
    padding-inline: clamp(12px, 4.5vw, 18px);
  }
}

.hh-lead-form select,
.hh-form-wrap select,
.hh-form-lead select {
  width: 100%;
  display: block;
  color: var(--hh-white);
  background: linear-gradient(180deg, rgba(35,36,36,.98) 0%, rgba(24,24,24,.98) 100%);
  border: 1px solid rgba(214,181,93,.28);
  border-radius: 4px;
  padding: 12px 44px 12px 16px;
  min-height: 48px;
  line-height: 1.2;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--hh-gold, #d6b55d) 50%), linear-gradient(135deg, var(--hh-gold, #d6b55d) 50%, transparent 50%);
  background-position: calc(100% - 20px) calc(50% - 2px), calc(100% - 14px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  transition: border-color .25s, box-shadow .25s, transform .2s, background .25s;
}

#sec-cta .hh-form-lead > .hh-container {
  max-width: min(1880px, 98vw);
  padding-left: clamp(12px, 1.8vw, 30px);
  padding-right: clamp(10px, 1.6vw, 24px);
}

#sec-cta .hh-form-lead {
  --hh-cta-shift-left: clamp(56px, 5.3vw, 120px);
  position: relative;
  left: calc(-5 * var(--hh-cta-shift-left));
  width: calc(100% + var(--hh-cta-shift-left));
  min-width: 107vw;
}

#sec-cta .hh-form-lead__inner {
  grid-template-columns: minmax(340px, 0.9fr) minmax(760px, 1.55fr);
  gap: 2.4rem;
  margin-left: 0;
}

@media (max-width: 1100px) {
  #sec-cta .hh-form-lead {
    left: 0;
    width: 100%;
    min-width: 100%;
  }

  #sec-cta .hh-form-lead__inner {
    grid-template-columns: minmax(280px, 0.95fr) minmax(460px, 1.22fr);
    gap: 1.8rem;
    margin-left: 0;
  }
}

@media (max-width: 900px) {
  #sec-cta .hh-form-lead > .hh-container {
    max-width: 100%;
    padding-left: clamp(12px, 4vw, 18px);
    padding-right: clamp(12px, 4vw, 18px);
  }

  #sec-cta .hh-form-lead__inner {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  #sec-cta .hh-form-lead__form-wrap {
    padding: clamp(1rem, 4vw, 1.4rem);
  }
}

.hh-lead-form select:hover,
.hh-form-wrap select:hover,
.hh-form-lead select:hover {
  border-color: rgba(214,181,93,.52);
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
  transform: translateY(-1px);
}

.hh-lead-form select:focus,
.hh-form-wrap select:focus,
.hh-form-lead select:focus {
  outline: none;
  border-color: var(--hh-gold, #d6b55d);
  box-shadow: 0 0 0 3px rgba(214,181,93,.14), 0 10px 24px rgba(0,0,0,.14);
}

.hh-lead-form select option,
.hh-form-wrap select option,
.hh-form-lead select option {
  color: var(--color-text-dark);
}

/* Title moved outside hero: keep visual scale and spacing */
.hh-hero__title--outside {
  display: block;
  width: min(100%, 1200px);
  margin: 40px auto 24px;
  box-sizing: border-box;
  padding-inline: 24px;
  font-size: clamp(40px,6vw,86px);
  line-height: 1.02;
  text-align: center;
  font-weight: 700;
  align-self: center;
  justify-self: center;
}
.hh-hero__title--outside span {
  display: block;
  font-weight: 100;
  margin-left: 0;
  color: var(--hh-black);
}

@media (min-width: 980px) {
  .hh-hero__title--outside { margin-top: 12%; }
}

/* =========================================================
   MOBILE — Revisão completa de responsividade
   Corrige overflow, espaçamentos e grids em telas pequenas
   ========================================================= */

/* ── 768 px ── tablets e celulares grandes ── */
@media (max-width: 768px) {

  .hh-hero__title--outside {
    padding-inline: 20px;
  }

  /* Hero: letter-spacing de 1.5rem causa overflow horizontal grave */
  .hh-hero__title {
    letter-spacing: 0.2rem !important;
    font-size: clamp(1.9rem, 7vw, 3rem);
  }

  /* Section title: margem inferior excessiva */
  .hh-section-title {
    margin-bottom: 48px;
  }
  .hh-section-title span {
    max-height: none; /* evita clipping em telas pequenas */
  }

  /* Logo no header menor */
  .hh-header__logo-link .hh-header__logo { max-height: 60px; }
  .hh-header__logo-link { min-height: 60px; }

  /* CTAs secundárias do hero empilhadas */
  .hh-hero__ctas-secondary {
    flex-direction: column;
    align-items: center;
  }

  /* Cards: cancela margin-left: 30px do bloco global (San Juan) */
  .hh-card,
  .hh-post-card,
  article.hh-post-card,
  .hh-area-card,
  .hh-widget,
  .hh-ec-card {
    margin-left: 0;
  }

  /* Contato e imprensa splits: 1 coluna */
  .hh-contact-split,
  .hh-contact-inner { grid-template-columns: 1fr; }
  .hh-press-split    { grid-template-columns: 1fr; }

  /* Historia split */
  .hh-historia-split,
  .hh-Historia-split { grid-template-columns: 1fr; gap: 32px; }

  /* Número items: border direita removida em 2-col */
  .hh-number-item {
    border-right: none;
    padding-bottom: 1.25rem;
  }
}

/* ── 480 px ── celulares comuns (iPhone 14, Pixel, Samsung) ── */
@media (max-width: 480px) {

  .hh-hero__title--outside {
    padding-inline: 16px;
  }

  /* Hero */
  .hh-hero__title {
    letter-spacing: 0 !important;
    font-size: clamp(1.7rem, 9vw, 2.6rem);
  }
  .hh-hero__sub,
  .hh-hero__text { font-size: 1rem; }
  .hh-hero__ctas { gap: .75rem; }
  .hh-btn--hero-primary { width: 100%; max-width: 320px; }

  /* Seção */
  .hh-section { padding: 52px 5%; }
  .hh-section-title { margin-bottom: 32px; }
  .hh-section-subtitle { letter-spacing: 0.15em; }

  /* Botão: evita overflow e texto cortado */
  .hh-btn {
    padding: 14px 32px;
    font-size: 1rem;
    letter-spacing: 0.04em;
    white-space: normal;
    word-break: break-word;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Cards: cancela margin-left em telas pequenas */
  .hh-card,
  .hh-post-card,
  article.hh-post-card,
  .hh-area-card,
  .hh-widget,
  .hh-ec-card {
    margin-left: 0;
    padding: 20px 16px;
  }

  /* Eventos Gramado */
  .hh-evento { padding: 16px 18px; }
  .hh-evento__mes { font-size: .7rem; min-width: 76px; }

  /* FAQ */
  .hh-faq details summary { font-size: .85rem; }

  /* Imprensa: logos 2 colunas */
  .hh-press-logos-grid { grid-template-columns: repeat(2, 1fr); }

  /* Gallery filter: botões mais compactos */
  .hh-gal-filter__btn { font-size: 10px; padding: .4rem .8rem; }

  /* Tabs apartamentos */
  .hh-apto-tab__btn { font-size: .7rem; padding: 10px 14px; }

  /* Points step */
  .hh-points-step { padding: 20px; }

  /* Seasons */
  .hh-season,
  .hh-Season { padding: 24px 16px; }

  /* Benefícios */
  .hh-benefit-card { padding: 24px 20px; }

  /* Economia comparada: padding no container */
  .hh-ec-grid { margin: 24px 0; padding: 0 12px; }
  .hh-ec-plan { font-size: 1rem; margin-bottom: 14px; }

  /* Numbers row: alinha em 2 colunas sem overflow */
  .hh-numbers-row { flex-wrap: wrap; }
  .hh-number-item { flex: 0 0 50%; max-width: 50%; }

  /* Contato inline */
  .hh-contact-inline { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ── 380 px ── iPhone SE, Galaxy A, telas muito pequenas ── */
/* =========================================================
   EMPTY FIELD GUARD
   Respeita campos limpos no Customizer/Gutenberg:
   quando o PHP produz uma tag vazia (esc_html('') == '')
   o seletor :empty a esconde automaticamente.
   ========================================================= */
.hh-section-subtitle:empty,
.hh-section-title span:empty,
.hh-tour-cta__label:empty,
.hh-tour-cta__title:empty,
.hh-lead:empty,
.hh-lead--center:empty,
.hh-section-title:empty { display: none; }

@media (max-width: 380px) {

  /* Hero */
  .hh-hero__title {
    font-size: clamp(1.45rem, 10vw, 2rem);
    letter-spacing: 0 !important;
  }

  /* Seção */
  .hh-section { padding: 40px 4%; }
  .hh-section-title { font-size: clamp(1.45rem, 9vw, 2rem); margin-bottom: 24px; }
  .hh-section-subtitle { font-size: .58rem; letter-spacing: .1em; }

  /* Botão ainda mais compacto */
  .hh-btn { padding: 12px 20px; font-size: .88rem; }

  /* Economia comparada */
  .hh-ec-grid { margin: 16px 0; padding: 0 8px; }

  /* Header */
  .hh-header__logo-link .hh-header__logo { max-height: 46px; }
  .hh-header__logo-link { min-height: 46px; }
  #masthead,
  .hh-header { padding: 12px 4%; }

  /* Gold bar */
  .hh-gold-bar { width: 40px; }

  /* Eventos: período menor */
  .hh-evento__mes { font-size: .62rem; min-width: 68px; }

  /* Cards: sem padding extra */
  .hh-card,
  .hh-post-card,
  article.hh-post-card,
  .hh-area-card,
  .hh-widget,
  .hh-ec-card {
    margin-left: 0;
    padding: 16px 14px;
  }
}

/* =========================================================
   FRONT PAGE HOTFIX V2 — June 2026
   Force stable alignment on Home only
   ========================================================= */
body.home #hh-hero .hh-hero__inner.hh-front-hero {
  max-width: 1600px !important;
  margin: 0 auto !important;
  grid-template-columns: 1fr !important;
}

body.home #hh-hero .hh-front-hero__media {
  min-height: clamp(340px, 52vh, 620px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  grid-column: 1 / -1 !important;
}

body.home #hh-hero .hh-hero__title--outside {
  position: relative !important;
  left: auto !important;
  transform: none !important;
  margin: 0 auto !important;
  width: min(100%, 1100px) !important;
  max-width: 1100px !important;
  padding-inline: 20px !important;
  text-align: center !important;
}

body.home #sec-complexo .hh-stats--row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(170px, 1fr)) !important;
  gap: 20px !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}

body.home #sec-complexo .hh-stat {
  min-width: 0 !important;
  text-align: center !important;
}

body.home #sec-complexo .hh-stat__number {
  font-size: clamp(34px, 3.1vw, 58px) !important;
  line-height: 1.06 !important;
  white-space: nowrap !important;
}

body.home #sec-complexo .hh-complexo-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px) !important;
  gap: 32px !important;
  align-items: start !important;
}

body.home #sec-complexo .hh-complexo-img-wrap {
  width: 100% !important;
  margin: 0 !important;
  justify-self: stretch !important;
}

body.home #sec-complexo .hh-complexo-img-wrap img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
}

body.home #sec-apartamentos .hh-apto-carousel {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 4/3 !important;
  min-height: 420px !important;
}

body.home #sec-apartamentos .hh-apto-slides {
  position: relative !important;
  height: 100% !important;
  overflow: hidden !important;
}

body.home #sec-apartamentos .hh-apto-slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 0 !important;
  transform: none !important;
}

body.home #sec-apartamentos .hh-apto-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1 !important;
}

body.home #sec-apartamentos .hh-apto-slide img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
}

body.home #sec-apartamentos .hh-apto-slide::before,
body.home #sec-apartamentos .hh-gallery-enhanced .hh-apto-slide.hh-img-loading::before {
  display: none !important;
}

@media (max-width: 1024px) {
  body.home #sec-complexo .hh-stats--row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home #sec-complexo .hh-complexo-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.home #sec-complexo .hh-stats--row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.home #sec-apartamentos .hh-apto-carousel {
    min-height: 300px !important;
  }
}

/* Hero block-mode hard lock: centers title when WP block wrapper is present */
body.home #hh-hero .hh-front-hero__container {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding-inline: clamp(14px, 3vw, 32px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

body.home #hh-hero .hh-front-hero__container .hh-hero__title,
body.home #hh-hero .hh-front-hero__container .hh-hero__title--outside {
  width: min(100%, 980px) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  text-align: center !important;
  line-height: 1.04 !important;
  letter-spacing: clamp(0.2rem, 1vw, 0.9rem) !important;
}

/* Gutenberg image block: full width only inside Home hero */
body.home #hh-hero figure.wp-block-image.size-full,
body.home #hh-hero .wp-block-image.size-full {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}

body.home #hh-hero figure.wp-block-image.size-full img,
body.home #hh-hero .wp-block-image.size-full img {
  width: 100%;
  max-width: none;
  height: clamp(280px, 52vh, 760px);
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px) {
  body.home #hh-hero figure.wp-block-image.size-full img,
  body.home #hh-hero .wp-block-image.size-full img {
    height: clamp(220px, 38vh, 460px);
  }
}

/* =========================================================
   GLOBAL MOBILE SAFETY LAYER
   Hard override to keep all templates usable on phones
   ========================================================= */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  #main-content,
  .hh-page,
  .hh-page-shell {
    max-width: 100%;
    overflow-x: clip;
  }

  .container,
  .hh-container {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .hh-hero--split .hh-hero__inner,
  .hh-hero--split .hh-hero__inner.hh-front-hero,
  .hh-hero--split .hh-hero__inner.hh-press-split,
  .hh-apto-layout,
  .hh-apto-panel__inner,
  .hh-split,
  .hh-two-col,
  .hh-contact-split,
  .hh-contact-inner,
  .hh-complexo-layout,
  .hh-destinos-cats-grid,
  .hh-ec-grid,
  .hh-gramado-map-wrap,
  .hh-blog-layout {
    grid-template-columns: 1fr !important;
  }

  .hh-front-hero__media,
  .hh-press-split__media {
    width: 100% !important;
    min-height: 260px;
  }

  .hh-apto-tabs,
  .hh-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .hh-apto-tab,
  .hh-apto-tab__btn,
  .hh-tab,
  .hh-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  body {
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
  }

  .hh-sticky-cta {
    left: 8px;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    border-radius: 10px;
    padding: .7rem .9rem;
  }

  .hh-whatsapp-float {
    right: 10px;
    bottom: calc(88px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 480px) {
  .hh-section {
    padding-left: 0;
    padding-right: 0;
  }

  .hh-number-item,
  .hh-stat,
  .hh-benefit-item {
    min-width: 0;
  }
}

/* =========================================================
   MOBILE REFINEMENT PASS 2
   Improves readability and spacing on small screens
   ========================================================= */
@media (max-width: 768px) {
  .hh-header__inner {
    min-height: 72px;
    gap: .5rem;
  }

  .hh-header__brand img,
  .hh-header__logo-link .hh-header__logo {
    height: 54px;
    max-height: 54px;
    width: auto;
  }

  #site-navigation.is-open {
    width: 100vw;
    max-width: 100vw;
    left: 0;
    right: 0;
    border-radius: 0;
  }

  .hh-section {
    padding-top: 44px;
    padding-bottom: 44px;
    padding-left: 0;
    padding-right: 0;
  }

  .hh-apto-panel__inner {
    min-height: 0;
  }

  .hh-apto-panel__media {
    min-height: 230px;
    height: auto;
  }

  .hh-apto-panel__text {
    padding: 24px 18px !important;
  }

  .hh-apto-panel__title,
  .hh-apto-info h3 {
    font-size: clamp(1.65rem, 7.8vw, 2.15rem);
    letter-spacing: .06em;
    line-height: 1.1;
  }

  .hh-apto-desc,
  .hh-apto-features li {
    font-size: .98rem;
    line-height: 1.58;
  }

  .hh-apto-tab,
  .hh-apto-tab__btn {
    font-size: .76rem;
    letter-spacing: .08em;
    padding: 11px 14px;
  }
}

@media (max-width: 768px) {
  #main-content,
  .hh-page,
  .hh-page-shell,
  .container,
  .hh-container,
  .hh-section,
  #masthead,
  .hh-header,
  .hh-header__inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

@media (max-width: 480px) {
  .hh-header__brand img,
  .hh-header__logo-link .hh-header__logo {
    height: 66px;
    max-height: 66px;
  }

  .hh-apto-panel__media {
    min-height: 210px;
  }

  .hh-apto-panel__text {
    padding: 20px 14px !important;
  }

  .hh-apto-panel__title,
  .hh-apto-info h3 {
    font-size: clamp(1.45rem, 8.8vw, 1.95rem);
  }

  .hh-apto-panel__ctas {
    flex-direction: column;
    gap: 10px;
  }

  .hh-apto-panel__ctas .hh-btn {
    width: 100%;
    max-width: 100%;
  }

  .hh-sticky-cta {
    padding: .62rem .8rem;
  }
}

@media (max-width: 768px) {
  .hh-press-logos,
  .hh-press-logos-grid,
  .hh-press-grid {
    grid-template-columns: 1fr !important;
  }

  .hh-press-card {
    min-height: auto;
    padding: 22px 18px;
    border-radius: 14px;
  }

  .hh-press-card h3 {
    font-size: clamp(1.55rem, 7vw, 2rem);
    line-height: 1.15;
    letter-spacing: .04em;
    margin-bottom: .7rem;
  }

  .hh-press-card p {
    font-size: 1rem;
    line-height: 1.55;
  }

  .hh-press-card__tag {
    font-size: .68rem;
    letter-spacing: .18em;
  }
}

@media (max-width: 768px) {
  .hh-page--imprensa .hh-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .hh-page--imprensa .hh-press-grid {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  .hh-page--imprensa .hh-press-card {
    width: 100%;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 16px;
    border-radius: 12px;
    min-height: 0;
  }

  .hh-page--imprensa .hh-press-card h3 {
    font-size: clamp(1.35rem, 7.2vw, 1.85rem);
    line-height: 1.16;
    word-break: break-word;
    margin-bottom: .6rem;
  }

  .hh-page--imprensa .hh-press-card p {
    font-size: .98rem;
    line-height: 1.58;
  }

  .hh-page--imprensa .hh-press-note,
  .hh-page--imprensa .hh-press-contact,
  .hh-page--imprensa .hh-press-section-head,
  .hh-page--imprensa .hh-press-hero__panel,
  .hh-page--imprensa .hh-press-hero__copy {
    padding: 18px 14px;
  }
}

@media (max-width: 480px) {
  .hh-page--imprensa .hh-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .hh-page--imprensa .hh-press-card {
    max-width: none;
    padding: 18px 14px;
  }

  .hh-page--imprensa .hh-press-card h3 {
    font-size: clamp(1.25rem, 8.2vw, 1.6rem);
  }

  .hh-page--imprensa .hh-press-card__tag {
    font-size: .62rem;
    letter-spacing: .14em;
  }

  /* ──────────────────────────────────────────────────────────────── */
  /* PAGE-SPECIFIC MOBILE RULES: DESTINOS, APARTAMENTOS, COMPLEXO, etc */
  /* ──────────────────────────────────────────────────────────────── */

  /* .hh-page--destinos */
  .hh-page--destinos .hh-destinos-cats-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .hh-page--destinos .hh-ec-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .hh-page--destinos .hh-ec-card {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }

  .hh-page--destinos h3,
  .hh-page--destinos h2 {
    font-size: clamp(1.35rem, 6.8vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--apartamentos */
  .hh-page--apartamentos .hh-apto-perks__grid {
    grid-template-columns: 1fr !important;
  }

  .hh-page--apartamentos .hh-apto-panel__inner {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }

  .hh-page--apartamentos h3 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--complexo */
  .hh-page--complexo .hh-complexo-layout {
    grid-template-columns: 1fr !important;
  }

  .hh-page--complexo .hh-stats--row {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .hh-page--complexo h3,
  .hh-page--complexo h2 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--contato */
  .hh-page--contato .hh-contact-split {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }

  .hh-page--contato .hh-contact-inner {
    grid-template-columns: 1fr !important;
  }

  .hh-page--contato h3 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--galeria */
  .hh-page--galeria .hh-gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px;
  }

  .hh-page--galeria h3 {
    font-size: clamp(1.2rem, 6.5vw, 1.6rem);
    line-height: 1.15;
  }

  /* .hh-page--gramado */
  .hh-page--gramado .hh-Gramado-cards,
  .hh-page--gramado .hh-Seasons,
  .hh-page--gramado .hh-Gramado-eventos {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .hh-page--gramado .hh-Gramado-card {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }

  .hh-page--gramado h3,
  .hh-page--gramado h2 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--historia */
  .hh-page--historia .hh-historia-split,
  .hh-page--historia .hh-Historia-split {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .hh-page--historia h3,
  .hh-page--historia h2 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--guia-admin */
  .hh-page--guia-admin .hh-guide-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .hh-page--guia-admin .hh-guide-card {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }

  .hh-page--guia-admin h3,
  .hh-page--guia-admin h2 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--experiencias */
  .hh-page--experiencias .hh-exp-grid,
  .hh-page--experiencias .hh-exp-split {
    grid-template-columns: 1fr !important;
  }

  .hh-page--experiencias .hh-exp-card {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }

  .hh-page--experiencias h3,
  .hh-page--experiencias h2 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }

  /* .hh-page--obra */
  .hh-page--obra .hh-obra-gallery {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .hh-page--obra .hh-obra-card {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }

  .hh-page--obra h3,
  .hh-page--obra h2 {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
    line-height: 1.15;
  }
}

@media (max-width: 768px) {
  /* Restore horizontal breathing room for blog layouts/text on small screens. */
  body.blog .hh-blog-layout,
  body.archive .hh-blog-layout,
  body.single-post .hh-blog-layout,
  body.page .hh-single__content,
  body.single-post .hh-single__content {
    padding-left: clamp(14px, 4.5vw, 22px) !important;
    padding-right: clamp(14px, 4.5vw, 22px) !important;
  }

  body.single-post .hh-post-nav,
  body.single-post .hh-post-tags,
  body.single-post .hh-pagination,
  body.single-post .hh-single__content > .wp-block-group,
  body.single-post .hh-single__content > .wp-block-columns {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Keep language switcher accessible without covering sticky CTA actions. */
  #gt_float_wrapper {
    left: auto !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    z-index: 760 !important;
  }

  #gt_float_wrapper .gt_float_switcher {
    transform: scale(0.94);
    transform-origin: right bottom;
  }

  /* Blog post blocks: ensure readable side gutters in mobile. */
  body.single-post .hh-single__content > :where(p, ul, ol, h2, h3, h4, h5, h6, blockquote, pre, table, figure, .wp-block-group, .wp-block-columns, .wp-block-media-text):not(.alignfull) {
    padding-left: clamp(14px, 4.5vw, 22px) !important;
    padding-right: clamp(14px, 4.5vw, 22px) !important;
    box-sizing: border-box;
  }

  /* Experiencias: text blocks were touching screen edges on mobile. */
  .hh-page--experiencias .hh-exp-split__text,
  .hh-page--experiencias .hh-hero__content,
  .hh-page--experiencias .hh-lead {
    padding-left: clamp(14px, 4.5vw, 22px) !important;
    padding-right: clamp(14px, 4.5vw, 22px) !important;
    box-sizing: border-box;
  }

  /* Apartamentos: keep outside hero title away from screen edges. */
  .hh-page--apartamentos .hh-hero__title--outside {
    width: 100%;
    font-size: 2rem;
    padding-left: clamp(16px, 5vw, 24px) !important;
    padding-right: clamp(16px, 5vw, 24px) !important;
    box-sizing: border-box;
  }
}

  /* =========================================================
     CHECKLIST FIXES — 2026-06
     ========================================================= */

  /* Blog/Search: improve legibility without changing template structure. */
  .hh-blog-hero::before {
    background: linear-gradient(180deg, rgba(11, 11, 11, 0.44) 0%, rgba(11, 11, 11, 0.72) 100%);
  }
  .hh-blog-hero.hh-blog-hero--search::before {
    background: linear-gradient(180deg, rgba(8, 8, 8, 0.62) 0%, rgba(8, 8, 8, 0.84) 100%);
  }

  /* Experiencias: normalize left spacing on split text blocks. */
  .hh-exp-split--reverse .hh-exp-split__text {
    margin-left: 0;
    margin-right: clamp(12px, 2.2vw, 28px);
  }
  .hh-page--experiencias .hh-exp-split__text {
    padding-left: clamp(12px, 2vw, 24px);
    padding-right: clamp(12px, 2vw, 24px);
  }

  /* Apartamentos: add breathing room to hero heading. */
  .hh-page--apartamentos .hh-hero__title--outside {
    margin-top: clamp(16px, 3.2vw, 36px);
  }

  /* Galeria: keeps desktop intact and applies one image per row only on mobile. */
  @media (max-width: 768px) {
    .hh-page--galeria .hh-gallery-grid,
    .page-template-page-galeria .hh-gallery-grid,
    .page-template-page-galeria-php .hh-gallery-grid {
      grid-template-columns: 1fr !important;
      grid-auto-flow: row !important;
    }

    .hh-page--galeria .hh-gallery-grid .hh-gal-item,
    .page-template-page-galeria .hh-gallery-grid .hh-gal-item,
    .page-template-page-galeria-php .hh-gallery-grid .hh-gal-item {
      grid-column: auto !important;
      grid-row: auto !important;
    }
  }

  /* Contato: icon buttons with tighter spacing and consistent icon sizing. */
  .hh-contact-social__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
  }
  .hh-contact-social__icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .hh-contact-social__icon svg {
    width: 16px;
    height: 16px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .hh-contact-social__icon img {
    width: 16px;
    height: 16px;
    display: block;
    object-fit: contain;
  }
  .hh-page--contato .hh-contact-inline {
    margin-top: 24px;
    padding-top: 20px;
  }

  /* Gramado: ensure accent text follows gold standard. */
  .hh-page--gramado .hh-section-title span,
  .hh-page--gramado .hh-hero__title span {
    color: var(--hh-gold, #d6b55d) !important;
  }

  .hh-complexo-layout--no-image {
    grid-template-columns: 1fr !important;
  }

  /* =========================================================
     GALERIAS — PADRAO GLOBAL DE RESPONSIVIDADE
     Desktop: varias colunas | Mobile: uma imagem por linha
     ========================================================= */
  @media (min-width: 769px) {
    #galeria [data-gallery-slug] > .hhgm-shortcode-gallery__item {
      width: calc((100% - 2rem) / 3) !important;
    }
  }

  @media (min-width: 769px) and (max-width: 1024px) {
    .hh-gallery-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }

    .hh-obra-gallery {
      grid-template-columns: repeat(2, 1fr) !important;
    }

    #galeria [data-gallery-slug] > .hhgm-shortcode-gallery__item {
      width: calc((100% - 1rem) / 2) !important;
    }
  }

  @media (max-width: 768px) {
    .hh-gallery-grid {
      grid-template-columns: 1fr !important;
      grid-auto-flow: row !important;
    }

    .hh-gallery-grid .hh-gal-item,
    .hh-gallery-grid .hh-gallery-item,
    .hh-gallery-grid .hh-gal-item--wide,
    .hh-gallery-grid .hh-gal-item--tall {
      grid-column: auto !important;
      grid-row: auto !important;
    }

    .hh-obra-gallery {
      grid-template-columns: 1fr !important;
    }

    #galeria [data-gallery-slug] > .hhgm-shortcode-gallery__item {
      width: 100% !important;
    }
  }

  .hh-complexo-layout--no-image {
    grid-template-columns: 1fr !important;
  }

