@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap");
/* ===== Fontes Russi Russi ===== */
@font-face {
  font-family: 'SweetGothic';
  src: url('/assets/SweetGothic-Light.otf') format('opentype');
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'SweetGothic';
  src: url('/assets/SweetGothic-Regular.otf') format('opentype');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'SweetGothic';
  src: url('/assets/SweetGothic-Medium.otf') format('opentype');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'GaramondRussi';
  src: url('/assets/GaramondPremrPro-LtItDisp.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'GaramondRussi';
  src: url('/assets/GaramondPremrPro-It.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'GaramondRussi';
  src: url('/assets/GaramondPremrPro-MedIt.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* ===== Russi global overlay ===== */
:root {
  --rr-ink: var(--theme-ink, #070a0c);
  --rr-muted: var(--theme-ink-muted, #6b6560);
  --rr-line: rgba(var(--theme-ink-rgb, 7,10,12), 0.08);
  --rr-bg: var(--theme-card, #ffffff);
  --rr-accent: #b8a08c;
  --font-primary: 'SweetGothic', 'Inter', -apple-system, sans-serif;
  --font-secondary: 'Montserrat', 'GaramondRussi', sans-serif;
}

/* Corpo, textos corridos, UI → GaramondRussi */
html, body,
button, input, select, textarea,
p, li, span, a, label {
  font-family: var(--font-secondary) !important;
}

/* Títulos, headings, hero, nav, eyebrows → SweetGothic */
h1, h2, h3, h4, h5, h6,
.text-size-large, .text-size-xlarge,
.heading-style-h1, .heading-style-h2, .heading-style-h3,
.rrNav, .rrNav-item, .rrNav-logo,
.rrMenu-link, .rrMenu-bigcta .ttl,
.eyebrow, .button-text-one, .button-text-two,
.tag-item, .text-style-allcaps, .text-size-tiny,
.btn, button {
  font-family: var(--font-primary) !important;
  font-style: normal !important;
}

/* Reset overflow horizontal site-wide (navbar bug bleeding ~54px) */
html, body { overflow-x: hidden; max-width: 100%; }
img, video { max-width: 100%; height: auto; display: block; }
img { object-fit: cover; }

/* Hide ORIGINAL Webflow navbar — replaced by floating glass navbar (rrNav) */
.navbar.w-nav,
body > .navbar,
.main-wrapper > .navbar,
.page-wrapper > .navbar,
.navbar-base,
.left-navbar,
.navbar-block { display: none !important; }

/* ===== Capas dos capítulos institucionais ===== */
.rr-history-hero::before {
  background: linear-gradient(to right, rgba(var(--theme-media-shade-rgb, 7,10,12), .25), rgba(var(--theme-media-shade-rgb, 7,10,12), .6)),
    linear-gradient(to bottom, rgba(var(--theme-media-shade-rgb, 7,10,12), .35), rgba(var(--theme-media-shade-rgb, 7,10,12), .25) 40%, rgba(var(--theme-media-shade-rgb, 7,10,12), .82));
  pointer-events: none;
}
.rr-history-hero .hero-right { text-align: right; }
.rr-history-hero .hero-sub { margin-left: auto; color: rgba(var(--theme-on-media-rgb, 255,255,255), .9) !important; }
/* Texto lateral dos heros: compacto, com peso e contraste para leitura sobre a imagem. */
.hero .hero-sub,
.ep-hero-right p {
  font-size: clamp(14px, 1.15vw, 16px);
  font-weight: 500;
  line-height: 1.45;
  color: rgba(var(--theme-on-media-rgb, 255,255,255), .9) !important;
  width: 36ch;
  max-width: 100%;
  text-wrap: balance;
}
[data-cms-section="sobre_1993.fundacao"][hidden] { display: none !important; }

/* ===== Floating Glass Navbar ===== */
:root{
  --rrnav-gold: var(--theme-nav-accent, #b8a08c);
  --rrnav-gold-soft: rgba(var(--theme-nav-accent-rgb, 184,160,140), .8);
}
.rrNav, .rrNav *, .rrMenu, .rrMenu * { box-sizing: border-box; }
.rrNav {
  position: fixed;
  top: 24px;
  left: 24px;
  right: 24px;
  max-width: 1840px;
  margin: 0 auto;
  z-index: 9500;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  background: rgba(var(--theme-nav-bg-rgb, 7,10,12), var(--theme-nav-opacity, .35));
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255), 0.08);
  border-radius: 28px;
  box-shadow: 0 10px 40px rgba(var(--theme-shadow-rgb, 7,10,12), 0.25);
  transition: background-color .5s, border-color .5s, box-shadow .5s;
  font-family: 'SweetGothic', 'Inter', -apple-system, sans-serif;
}
.rrNav.scrolled {
  background: rgba(var(--theme-nav-bg-rgb, 7,10,12), var(--theme-nav-opacity-scrolled, .55));
  border-color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.10);
}
.rrNav-left, .rrNav-right { display: flex; align-items: center; gap: 10px; }
.rrNav-left { flex: 0 0 auto; }
.rrNav-center {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 36px;
}
.rrNav-right { flex: 0 0 auto; margin-left: auto; gap: 12px; }

/* Logo */
.rrNav-logo {
  font-weight: 500;
  letter-spacing: 0.28em;
  font-size: 14px;
  text-transform: uppercase;
  color: var(--theme-nav-text, #ffffff);
  text-decoration: none;
  padding: 4px 0;
  transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.rrNav-logo:hover { color: var(--theme-nav-text, #ffffff); opacity: 1; }
.rrNav-logo-img {
  height: 36px;
  width: auto;
  display: block;
  object-fit: contain;
  transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.rrNav-logo:hover .rrNav-logo-img { opacity: 0.82; }

/* Menu items */
.rrNav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.78);
  text-decoration: none;
  padding: 8px 0;
  background: transparent;
  border: 0;
  transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.rrNav-item::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 0;
  height: 1px;
  background: var(--rrnav-gold-soft);
  transform: translateX(-50%);
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s ease;
  opacity: 0;
}
.rrNav-item:hover {
  color: var(--theme-nav-text, #ffffff);
  transform: translateY(-1px);
  opacity: 1;
}
.rrNav-item:hover::after { width: 100%; opacity: 1; }
.rrNav-item.active { color: var(--theme-nav-text, #ffffff); }
.rrNav-item.active::after { width: 100%; opacity: 1; }

/* CTAs */
.rrNav-cta {
  min-height: 44px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 12px 20px;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.rrNav-cta.ghost {
  background: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.06);
  border: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255), 0.08);
  color: var(--theme-nav-text, #ffffff);
}
.rrNav-cta.ghost:hover {
  background: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.12);
  border-color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.18);
  opacity: 1;
}
.rrNav-cta.premium {
  background: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.14);
  border: 1px solid rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.28);
  color: var(--theme-nav-text, #ffffff);
}
.rrNav-cta.premium:hover {
  background: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.22);
  border-color: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.45);
  box-shadow: 0 0 24px rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.18);
  opacity: 1;
}

/* Menu toggle */
.rrNav-toggle {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 999px;
  background: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.08);
  border: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255), 0.08);
  color: var(--theme-nav-text, #ffffff);
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  padding: 0;
}
.rrNav-toggle svg { width: 18px; height: 18px; }
.rrNav-toggle:hover {
  background: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.14);
  border-color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.18);
  transform: rotate(90deg);
}
.rrNav-toggle.open { background: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.22); border-color: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.45); transform: rotate(45deg); }

/* (No body padding — navbar floats over hero/content) */

/* ===== Fullscreen takeover menu ===== */
.rrMenu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9400;
  background: rgba(var(--theme-menu-bg-rgb, 7,10,12), var(--theme-menu-opacity, 0.88));
  -webkit-backdrop-filter: blur(36px) saturate(140%);
  backdrop-filter: blur(36px) saturate(140%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}
.rrMenu.open { opacity: 1; pointer-events: auto; }
.rrMenu-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  padding: 140px clamp(40px, 6vw, 96px) 60px;
  gap: clamp(40px, 6vw, 96px);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scroll-padding-top: 128px;
  padding-bottom: max(40px, env(safe-area-inset-bottom));
}
.rrMenu-col-left, .rrMenu-col-right { min-width: 0; }
.rrMenu-col-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rrMenu-col-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 36px;
  border-left: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255), 0.08);
  padding-left: clamp(28px, 4vw, 56px);
}
.rrMenu .eyebrow {
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255), var(--theme-nav-label-opacity, 0.4));
  margin-bottom: 28px;
  font-weight: 500;
}
.rrMenu-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
  font-family: 'SweetGothic', 'Inter', sans-serif;
  font-weight: 200;
  font-size: clamp(36px, 3.8vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.82);
  text-decoration: none;
  border-bottom: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255), 0.06);
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), padding 0.5s ease;
  opacity: 0;
  transform: translateY(20px);
}
.rrMenu-link .lbl { min-width: 0; flex: 1 1 auto; }
.rrMenu-link .num, .rrMenu-link .arrow { flex-shrink: 0; }
.rrMenu.open .rrMenu-link {
  opacity: 1;
  transform: translateY(0);
}
.rrMenu.open .rrMenu-link:nth-child(2) { transition-delay: 0.06s }
.rrMenu.open .rrMenu-link:nth-child(3) { transition-delay: 0.12s }
.rrMenu.open .rrMenu-link:nth-child(4) { transition-delay: 0.18s }
.rrMenu.open .rrMenu-link:nth-child(5) { transition-delay: 0.24s }
.rrMenu.open .rrMenu-link:nth-child(6) { transition-delay: 0.30s }

.rrMenu-link .num {
  font-family: 'SweetGothic', 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--rrnav-gold);
  opacity: var(--theme-nav-number-opacity, 0.7);
  font-weight: 500;
  align-self: flex-start;
  margin-top: 22px;
  min-width: 36px;
}
.rrMenu-link .arrow {
  margin-left: auto;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.3);
  font-size: 22px;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), color 0.4s ease, opacity 0.4s ease;
  opacity: 0;
}
.rrMenu-link:hover {
  color: var(--theme-nav-text, #ffffff);
  padding-left: 12px;
}
.rrMenu-link:hover .arrow {
  opacity: 1;
  color: var(--rrnav-gold);
  transform: translateX(6px);
}

/* Empreendimentos list (right column) */
.rrMenu-sub {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.rrMenu-sub a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 13px 0;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.7);
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255), 0.05);
  transition: color 0.4s ease, padding 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.rrMenu-sub a .meta {
  font-family: 'SweetGothic', 'Inter', sans-serif;
  font-size: 13px;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.4);
  letter-spacing: 0;
  text-transform: none;
}
.rrMenu-sub a:hover { color: var(--theme-nav-text, #ffffff); padding-left: 6px; }
.rrMenu-sub a:hover .meta { color: var(--rrnav-gold); }

/* Bottom block in right column: private area + contato */
.rrMenu-bottom {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.rrMenu-bigcta {
  display: block;
  padding: 22px 24px;
  background: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.10);
  border: 1px solid rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.25);
  border-radius: 18px;
  color: var(--theme-nav-text, #ffffff);
  text-decoration: none;
  transition: background 0.4s ease, border-color 0.4s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.rrMenu-bigcta:hover {
  background: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.18);
  border-color: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.45);
  transform: translateY(-2px);
}
.rrMenu-bigcta .lbl {
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rrnav-gold);
  margin-bottom: 8px;
  font-weight: 500;
}
.rrMenu-bigcta .ttl {
  font-family: 'SweetGothic', 'Inter', sans-serif;
  font-size: 22px;
  font-weight: 200;
  line-height: 1.1;
}
.rrMenu-bigcta .sub {
  font-size: 12.5px;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.55);
  margin-top: 6px;
  line-height: 1.5;
}

.rrMenu-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255),0.07);
}
.rrMenu-social a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-family: 'SweetGothic', sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255),0.55);
  text-decoration: none;
  transition: color 0.25s;
}
.rrMenu-social a:hover { color: var(--theme-nav-accent, #b8a08c); }
.rrMenu-social .dot {
  display: block;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255),0.2);
  font-size: 10px;
  line-height: 1;
}

/* Body lock when menu open */
html.rrMenu-open, body.rrMenu-open { overflow: hidden !important; }

/* Make nav stay above the menu and ALWAYS visible while menu open */
.rrNav { z-index: 9500; }
.rrMenu.open ~ .rrNav, .rrNav.menu-active {
  background: transparent;
  border-color: rgba(var(--theme-nav-text-rgb, 255,255,255), 0.06);
  box-shadow: none;
}

/* Toggle becomes an X when open */
.rrNav-toggle .icon-close { display: none; }
.rrNav-toggle.open .icon-open { display: none; }
.rrNav-toggle.open .icon-close { display: block; }
.rrNav-toggle.open { transform: rotate(0deg); background: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.18); border-color: rgba(var(--theme-nav-accent-rgb, 184,160,140), 0.4); }
.rrNav-toggle.open:hover { transform: rotate(90deg); }

@media (max-width: 1200px) {
  .rrNav { top: 16px; left: 16px; right: 16px; padding: 12px 16px; border-radius: 22px; gap: 8px; }
  .rrNav-center { display: none; }
  .rrNav-toggle { display: inline-flex; }
  .rrMenu { display: block; }
  .rrNav-cta.ghost, .rrNav-cta.premium { padding: 9px 14px; font-size: 11px; letter-spacing: .14em; }
  .rrNav-logo { font-size: 12px; letter-spacing: .22em; }
  .rrMenu-inner { grid-template-columns: minmax(0, 1fr); padding: 110px 24px 40px; gap: 40px }
  .rrMenu-col-left, .rrMenu-col-right { min-width: 0 }
  .rrMenu-col-right { border-left: 0; padding-left: 0; border-top: 1px solid rgba(var(--theme-nav-text-rgb, 255,255,255),.08); padding-top: 36px }
  .rrMenu-link { font-size: clamp(21px, 6vw, 44px); padding: 14px 0; gap: 10px }
  .rrMenu-link .lbl { min-width: 0; flex: 1 1 auto; overflow-wrap: normal; word-break: normal }
  .rrMenu-link .num { margin-top: 8px; min-width: 20px }
  .rrMenu-sub a { flex-wrap: wrap; gap: 4px 12px }
  .rrMenu-sub a .meta { white-space: normal; flex-basis: 100%; font-size: 12px }
}
@media (max-width: 600px) {
  .rrNav-cta.ghost { display: none; }
  .rrNav-logo-img { width: clamp(144px, 48vw, 196px); height: auto; }
  .rrNav-logo { display: inline-flex; align-items: center; min-height: 44px; }
  .rrMenu-link { min-height: 52px; }
  .rrMenu-link:hover { padding-left: 0; }
  .rrMenu-link .arrow { font-size: 18px; }
  .rrMenu-inner { padding-bottom: max(32px, env(safe-area-inset-bottom)); }
}

/* Hide phantom debug headings (Webflow template leftover) */
h1:has(code), h1 code, h2:has(code), h2 code { display: none !important; }

/* Seções vazias não ocupam espaço (divs vazios são legítimos: gradientes, overlays, marcadores) */
section:empty { display: none; }

/* Typography polish */
body, p, li, span, a, div {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
p { line-height: 1.6; }
p + p { margin-top: 0.8em; }
h1, h2, h3, h4, h5 { letter-spacing: 0.005em; line-height: 1.15; }
h1 + p, h2 + p, h3 + p { margin-top: 0.6em; }
h1 { font-weight: 500; }
.text-style-allcaps { letter-spacing: 0.1em; }

/* Section rhythm */
section + section { scroll-margin-top: 80px; }
section { box-sizing: border-box; }

/* Link hover */
a { transition: color .2s ease, opacity .2s ease; }
a:hover { opacity: 0.85; }

/* Footer alignment */
.footer, footer { padding-top: 60px; padding-bottom: 40px; }
.footer-content { gap: clamp(16px, 2vw, 32px); }

/* Make image grids consistent + clickable cue */
.work-image, .size2workimag, img[src*="/images/"]:not([src*="marca"]):not([src*="logo"]) {
  cursor: zoom-in;
  transition: transform .35s ease, filter .35s ease;
}
.work-image:hover, .size2workimag:hover { transform: scale(1.01); filter: brightness(1.03); }

/* ===== Lightbox / Carousel ===== */
.rr-lightbox {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(var(--theme-media-shade-rgb, 7,10,12), 0.94);
  display: none; align-items: center; justify-content: center;
  animation: rrFade .25s ease;
}
.rr-lightbox.open { display: flex; }
.rr-lightbox-stage {
  position: relative; width: 92vw; height: 88vh;
  display: flex; align-items: center; justify-content: center;
}
.rr-lightbox-img {
  max-width: 100%; max-height: 100%;
  object-fit: contain;
  box-shadow: 0 30px 80px rgba(var(--theme-shadow-rgb, 7,10,12),.5);
  border-radius: 4px;
  animation: rrZoom .3s ease;
}
.rr-lb-btn {
  position: absolute; z-index: 2; top: 50%; transform: translateY(-50%);
  background: rgba(var(--theme-on-media-rgb, 255,255,255),.08); color: var(--theme-on-media, #ffffff);
  width: 52px; height: 52px; border-radius: 999px; border: 1px solid rgba(var(--theme-on-media-rgb, 255,255,255),.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; cursor: pointer; backdrop-filter: blur(8px);
  transition: background .2s ease, transform .2s ease;
}
.rr-lb-btn:hover { background: rgba(var(--theme-on-media-rgb, 255,255,255),.18); transform: translateY(-50%) scale(1.05); }
.rr-lb-prev { left: 24px; }
.rr-lb-next { right: 24px; }
.rr-lb-close {
  position: absolute; z-index: 2; top: 20px; right: 24px;
  background: rgba(var(--theme-on-media-rgb, 255,255,255),.08); color: var(--theme-on-media, #ffffff);
  width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(var(--theme-on-media-rgb, 255,255,255),.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; cursor: pointer; line-height: 1;
}
.rr-lb-counter {
  position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%);
  color: var(--theme-on-media, #ffffff); font-size: 13px; letter-spacing: .12em;
  background: rgba(var(--theme-media-shade-rgb, 7,10,12),.4); padding: 6px 14px; border-radius: 999px;
}
.rr-lb-thumbs {
  position: absolute; bottom: 60px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 8px; max-width: 80vw; overflow-x: auto; padding: 8px;
  scrollbar-width: thin;
}
.rr-lb-thumbs img {
  width: 56px; height: 40px; object-fit: cover; border-radius: 3px;
  opacity: .5; cursor: pointer; transition: opacity .2s ease, transform .2s ease;
  border: 2px solid transparent;
}
.rr-lb-thumbs img.active { opacity: 1; border-color: var(--theme-on-media-accent, #b8a08c); }
.rr-lb-thumbs img:hover { opacity: .9; }

@keyframes rrFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rrZoom { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }

/* ===== Construction tracking section (inline na coluna de conteúdo) ===== */
.rr-obra {
  padding: 80px 0 40px;
  color: var(--rr-ink);
  font-family: inherit;
}
.rr-obra-wrap { width: 100%; }
.padding-horizontal.padding-medium > .rr-obra {
  padding: 60px 0 20px;
  border-top: 1px solid var(--rr-line);
  margin-top: 40px;
}
.rr-obra-eyebrow {
  font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--rr-muted); margin-bottom: 14px;
}
.rr-obra-title {
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.05;
  margin: 0 0 12px;
  font-weight: 500;
}
.rr-obra-sub {
  color: var(--rr-muted); font-size: 16px; max-width: 640px; margin: 0 0 40px;
}
.rr-obra-months {
  display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px;
  border-bottom: 1px solid var(--rr-line); padding-bottom: 24px;
}
.rr-month-btn {
  background: transparent; color: var(--rr-ink);
  border: 1px solid var(--rr-line);
  padding: 10px 18px; border-radius: 999px;
  font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  cursor: pointer; transition: all .2s ease;
  font-family: inherit;
}
.rr-month-btn:hover { border-color: var(--rr-ink); }
.rr-month-btn.active {
  background: var(--rr-ink); color: var(--theme-on-ink, #ffffff); border-color: var(--rr-ink);
}
.rr-obra-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}
.rr-obra-grid .rr-obra-photo {
  aspect-ratio: 4/3; overflow: hidden; border-radius: 6px;
  background: var(--theme-card, #ffffff); cursor: zoom-in; position: relative;
}
.rr-obra-grid img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s ease;
}
.rr-obra-grid .rr-obra-photo:hover img { transform: scale(1.06); }
.rr-obra-video {
  margin-top: 56px;
  border-radius: 8px; overflow: hidden;
  background: #000; aspect-ratio: 16/9;
  box-shadow: 0 20px 60px rgba(var(--theme-shadow-rgb, 7,10,12),.12);
}
.rr-obra-video video, .rr-obra-video iframe {
  width: 100%; height: 100%; display: block; border: 0;
}
.rr-obra-video-label {
  margin-top: 18px; font-size: 13px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--rr-muted);
}

/* Plant gallery polish */
.rr-plantas-enhanced .work-image,
[class*="planta"] img {
  border-radius: 6px; box-shadow: 0 8px 24px rgba(var(--theme-shadow-rgb, 7,10,12),.06);
}

/* Generic alignment fixes for Webflow flex rows */
.w-layout-hflex { align-items: center; }
.w-layout-vflex { gap: clamp(8px, 1vw, 14px); }

/* Mobile tweaks */
@media (max-width: 720px) {
  .rr-lb-btn { width: 44px; height: 44px; }
  .rr-lb-prev { left: 10px; }
  .rr-lb-next { right: 10px; }
  .rr-lb-thumbs { display: none; }
  .rr-obra { padding: 64px 5vw 80px; }
  .rr-obra-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Language switcher ── */
.rrNav-lang {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-right: 18px;
}
.rrNav-lang-btn {
  font-family: inherit;
  appearance: none;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(var(--theme-nav-text-rgb, 255,255,255),.35);
  cursor: pointer;
  transition: color .25s;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  line-height: 1;
}
.rrNav-lang-btn:hover,
.rrNav-lang-btn.active { color: rgba(var(--theme-nav-text-rgb, 255,255,255),.88); }
.rrNav-lang-sep {
  color: rgba(var(--theme-nav-text-rgb, 255,255,255),.18);
  font-size: 8px;
  line-height: 1;
  pointer-events: none;
}
@media (max-width: 768px) { .rrNav-lang { display: none; } }


/* ═══════════════════════════════════════════════════════════════════════════
   Revisão 2026-09 — regras globais compartilhadas por todas as páginas
   ═══════════════════════════════════════════════════════════════════════════ */

/* Altura do menu flutuante (top + altura), usada por elementos sticky para não ficarem escondidos */
:root{ --rr-nav-offset: 110px; }
@media (max-width: 1200px){ :root{ --rr-nav-offset: 94px; } }

/* Ritmo das animações de entrada: rápidas e secundárias ao conteúdo (o conteúdo nunca espera) */
.anim, .reveal { transition-duration: .6s, .6s !important; }
.anim.d1, .reveal.reveal-d1 { transition-delay: .06s !important; }
.anim.d2, .reveal.reveal-d2 { transition-delay: .12s !important; }
.anim.d3, .reveal.reveal-d3 { transition-delay: .18s !important; }
.anim.d4, .anim.d5 { transition-delay: .24s !important; }

/* prefers-reduced-motion: sem deslocamentos, sem zoom de fundo, sem loops decorativos */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .anim, .reveal, .v-hero-eyebrow, .v-hero-logo, .v-hero-sub, .v-hero-actions, .v-hero-meta, .v-hero-velta, .wm-l, .ep-hero-left .eyebrow, .ep-hero-left h1, .ep-hero-right { opacity: 1 !important; transform: none !important; }
  .v-hero-slide.active, .ep-hero-bg img { animation: none !important; }
  .v-featured-bg { transform: none !important; }
}

/* Botões/atalhos redundantes com o menu principal: só no mobile/tablet (onde o menu está recolhido) */
@media (min-width: 1201px) { .rr-dup-desktop { display: none !important; } }

/* Imagens de conteúdo: nunca deformar; reservar espaço (evita layout shift) */
img[srcset] { object-fit: cover; }

/* Honeypot: fora do fluxo visual e do teclado */
.rr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Newsletter: consentimento + feedback (rodapé e editorial) */
.rr-newsletter { display: block; }
.rr-nl-consent { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; font-size: 12px; line-height: 1.5; color: rgba(var(--theme-text-rgb, 255,255,255),.62); cursor: pointer; }
.rr-nl-consent input { margin: 3px 0 0; width: 14px; height: 14px; flex-shrink: 0; accent-color: var(--theme-accent, #b8a08c); }
.rr-nl-consent-center { justify-content: center; text-align: left; max-width: 460px; margin: 14px auto 0; }
.rr-nl-msg { margin: 8px 0 0; font-size: 12.5px; line-height: 1.5; min-height: 0; color: rgba(var(--theme-text-rgb, 255,255,255),.7); }
.rr-nl-msg:empty { display: none; }
.rr-nl-msg.err { color: var(--theme-negative, #e5907f); }
.rr-nl-msg.ok { color: var(--theme-accent-soft, #cbb69f); }
.rr-nl-below { text-align: center; }
.rr-newsletter button[disabled] { opacity: .6; cursor: wait; }

/* Foco visível por teclado (sem alterar o hover) */
a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--theme-accent, #b8a08c); outline-offset: 3px; }
.rrNav a:focus-visible, .rrMenu a:focus-visible { outline-color: var(--theme-nav-text, #ffffff); }
.rr-lightbox :focus-visible, .v-hero :focus-visible, .v-featured :focus-visible, .ep-hero :focus-visible, .rr-history-hero :focus-visible, #loginCard :focus-visible { outline-color: var(--theme-on-media-accent, #b8a08c); }
.rrNav :focus-visible, .rrMenu :focus-visible { outline-color: var(--theme-nav-accent, #b8a08c); }
#loginCard :focus-visible { outline-color: var(--theme-on-media, #ffffff); }

/* Lightbox: acessível por teclado */
.rr-lightbox[role="dialog"] { outline: none; }

/* Texto nunca estoura o contêiner (URLs, palavras longas) */
p, li, blockquote, figcaption, .v-proj-name, .ep-proj-name { overflow-wrap: anywhere; }
h1, h2, h3, h4 { overflow-wrap: break-word; }

/* ── Larguras pequenas (≤540px): botões quebram linha, grids não estouram, WhatsApp à direita ── */
@media (max-width: 540px) {
  .btn, .btn-outline, .btn-dark, .btn-accent, .btn-outline-dark { white-space: normal !important; height: auto !important; min-height: 48px; padding: 12px 22px !important; text-align: center; line-height: 1.3; }
  .v-cta, .v-univ-top, .v-intro, .v-quote, .v-loc, .v-obra-grid, .v-featured-content, .v-univ-top-right { grid-template-columns: minmax(0, 1fr) !important; }
  .v-cta > *, .v-univ-top > *, .v-intro > *, .v-quote > *, .v-loc > *, .v-featured-content > * { min-width: 0; }
  .v-wa { left: auto !important; right: 16px !important; bottom: 16px !important; }
}

/* Rodapé/newsletter em telas estreitas: o input não impõe largura mínima */
.v-ft-nl-row input { min-width: 0; width: 100%; }
.v-ft-nl-row button { flex-shrink: 0; }
/* Títulos de hero em telas muito estreitas: fonte menor em vez de quebrar palavras */
@media (max-width: 380px) {
  .v-projects-head-left h2, .v-univ-heading, .v-cta-left h2 { font-size: clamp(30px, 9vw, 40px) !important; }
}

/* ── Rodapé em telas estreitas: e-mail/endereço longos não alargam a coluna ── */
.v-ft-cols > div { min-width: 0; }
.v-ft-cinfo-row span, .v-ft-col-links a { overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 768px) { .v-ft-cols { grid-template-columns: minmax(0, 1fr) !important; } }
@media (max-width: 560px) { .v-ft-bot { flex-direction: column; align-items: flex-start; } .v-ft-bot-right { flex-wrap: wrap; gap: 16px 24px; } }

/* ── Páginas institucionais em telas estreitas (≤600px) ── */
@media (max-width: 600px) {
  .ct-item { grid-template-columns: 40px minmax(0, 1fr) !important; white-space: normal !important; }
  .ct-item .ct-btn { grid-column: 2; justify-self: start; margin-top: 10px; white-space: normal; }
  .ct-heading { font-size: clamp(30px, 10vw, 42px) !important; }
  .essence-head-right, .hero-sub, .overview-left p { max-width: 100% !important; flex-shrink: 1 !important; min-width: 0; }
  .overview-right, .obras-grid, .imgs-grid, .essence-grid, .stats-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .roadmap-row { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ── Heros editoriais (repertório, editorias, categoria, artigo) em telas estreitas ── */
@media (max-width: 900px) {
  .hero-content { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  .hero-content > * { min-width: 0; }
  .hero-left h1, .art-hero h1 { white-space: normal !important; overflow-wrap: anywhere; }
  .hero-subtitle, .hero-right p { max-width: 100% !important; }
  .hero-divider { display: none; }
}

/* ── Página de empreendimento em telas estreitas ── */
@media (max-width: 540px) {
  .v-nums { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; padding-left: 16px !important; padding-right: 16px !important; }
  .v-num { padding: 28px 12px !important; min-width: 0; }
  .v-num .n { font-size: clamp(34px, 11vw, 50px) !important; overflow-wrap: anywhere; }
  .v-pthumbs, .v-lzthumbs { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; max-width: none !important; }
  .v-pthumb, .v-lzthumb { min-width: 0; padding: 12px !important; }
  .v-pthumb img, .v-lzthumb img { height: 64px !important; }
  .indicadores-grid { grid-template-columns: minmax(0,1fr) !important; }
  .indicador-block { padding-left: 20px !important; padding-right: 20px !important; min-width: 0; }
  .indicador-value { font-size: clamp(34px, 11vw, 48px) !important; overflow-wrap: anywhere; }
}

/* ── Corpo do artigo: imagens com legenda inseridas pelo editor ── */
.art-body figure, .art-content figure { margin: 36px 0; }
.art-body figure img, .art-content figure img { width: 100%; height: auto; display: block; border-radius: 6px; }
.art-body figcaption, .art-content figcaption { margin-top: 10px; font-size: 12.5px; line-height: 1.5; color: var(--rr-muted); letter-spacing: .02em; }
.art-body img, .art-content img { max-width: 100%; height: auto; }
.art-body h4, .art-content h4 { font-size: 1.05em; margin: 1.6em 0 .5em; }

/* ── Contraste (WCAG AA ≥ 4.5:1 em texto pequeno) ──────────────────────────
   Textos de apoio em fundo escuro: alpha .42–.48 ficava em 4.0–5.0; sobe para .6 (≈7:1).
   Eyebrows/etiquetas em fundo claro: o dourado #b8a08c dá 2.4:1 sobre o creme; usa-se o
   tom #7d6a4f (4.9:1) mantendo a mesma família de cor. Em fundo escuro o dourado é mantido (8:1). */
.ct-desc, .ct-addr, .ct-label, .v-cta-left p, .v-cta-txt p, .v-univ-body, .v-amen .v-sh p, .v-plazer .v-sh p,
.v-num .l, .essence-head-right, .cta-evo-left p,
.v-plb-list li, .v-plazer-list li, .leit-card-desc,
.newsletter p { color: rgba(var(--theme-text-rgb, 255,255,255),.62) !important; }
.v-featured-meta span, .v-featured-num .l, .hero-sub,
.v-lazer-caption span { color: rgba(var(--theme-on-media-rgb, 255,255,255),.62) !important; }
.rrMenu-sub a .meta, .rrMenu-bigcta .sub { color: rgba(var(--theme-nav-text-rgb, 255,255,255),.62) !important; }
.v-ft-tagline { color: rgba(var(--theme-footer-text-rgb, 255,255,255),.62) !important; }
.leit-card-desc { color: var(--theme-ink-muted, #6b6560) !important; }
.v-lazer-slide::before { color: rgba(var(--theme-on-media-rgb, 255,255,255),.55); }
.v-projects-head-left .eyebrow, .v-cta-left .eyebrow, .eyebrow-dark, .v-sh .eyebrow-dark, .ep-hero-left .eyebrow,
.v-plantas .eyebrow, .v-loc .eyebrow, .v-obra .eyebrow, .v-gal .eyebrow, .v-intro .eyebrow, .v-quote .eyebrow,
.ov-label, .section-label, .leit-eyebrow, .leit-card-tag, .ch-eyebrow, .v-ld .lb, .indicador-label,
.v-obra-eyebrow, .ao-video-eyebrow, .v-zoom-hint, .v-omb, .ao-pill, .ao-count, .v-pthumb-lbl, .rr-obra-eyebrow { color: var(--theme-accent-ink, #7d6a4f); }
.v-amen .eyebrow, .v-plazer .eyebrow, .v-cta-txt .eyebrow, .v-univ-eyebrow, .v-cta-left .eyebrow, .v-plb-eyebrow, .newsletter .section-label, .indicadores-inner .section-label { color: var(--theme-accent, #b8a08c); }
.v-hero-eyebrow, .ep-hero-left .eyebrow, .v-ac-cat, .hero-left .eyebrow { color: var(--theme-on-media-accent, #b8a08c); }
.v-ft-col-lbl { color: var(--theme-footer-accent, #b8a08c); }
.v-proj-tag, .ep-proj-tag, .v-proj-num, .ep-proj-num, .v-projects-head-right { color: rgba(var(--theme-ink-2-rgb, 29,29,27), .72); }
.v-proj-num, .ep-proj-num { color: rgba(var(--theme-ink-rgb, 7,10,12),.45) !important; }

/* ── Repertório: linhas do acervo em telas estreitas ── */
@media (max-width: 600px) {
  .acervo-row { grid-template-columns: 40px minmax(0, 1fr) !important; gap: 12px 16px !important; }
  .acervo-row > * { min-width: 0; }
  .acervo-desc { grid-column: 2; max-width: 100% !important; }
  .acervo-arrow { grid-column: 2; text-align: left !important; }
}

/* Sem perfis oficiais cadastrados, as três colunas restantes preenchem o rodapé. */
.v-ft-cols.v-ft-cols-compact { grid-template-columns: 1fr 1fr 1.4fr; }
@media (max-width: 900px) { .v-ft-cols.v-ft-cols-compact { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .v-ft-cols.v-ft-cols-compact { grid-template-columns: 1fr; } }

/* Títulos principais das páginas institucionais no desktop. */
@media (min-width: 901px) {
  h1[data-cms-text="empreendimentos.hero.titulo"],
  .editorial-page .ed-hero h1[data-cms-text="editorial.hero.titulo"],
  h1[data-cms-text="contato.principal.titulo"],
  h1[data-cms-text="sobre.hero.titulo"] {
    font-size: 44px;
  }
}
html body [data-cms-hidden~="true"]{display:none!important}
