/* ─── Fonts ─────────────────────────────────────────────── */
@font-face {
  font-family: 'Halenoir';
  src: url('fonts/Halenoir-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Halenoir';
  src: url('fonts/Halenoir-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Halenoir';
  src: url('fonts/Halenoir-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NT Epika';
  src: url('fonts/nt-epika-thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NT Epika';
  src: url('fonts/nt-epika-regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NT Epika';
  src: url('fonts/nt-epika-medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NT Epika';
  src: url('fonts/nt-epika-bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ─── Font Preload hints (via CSS) ─────────────────────── */

/* ─── Reset ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; background: #000; color: #FAFAFA; font-family: 'Halenoir', 'Helvetica Neue', sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; }
body { touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; }

/* ─── Vars ──────────────────────────────────────────────── */
:root {
  --gold: #C9A84C;
  --ink: #FAFAFA;
  --bg: #000;
  --hairline: rgba(250,250,250,0.12);
  --t: 480ms cubic-bezier(0.25,0.1,0.25,1);
}

/* ─── STANDBY ───────────────────────────────────────────── */
body.standby { background: #000; }
.standby-stage { position: fixed; inset: 0; overflow: hidden; }
.standby-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.04);
  animation: silk 24s ease-in-out infinite alternate;
  filter: brightness(0.6) contrast(1.1);
}
@keyframes silk {
  from { transform: scale(1.04) translate(0,0); }
  to   { transform: scale(1.10) translate(-2%, -1%); }
}
.standby-tint { position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.7) 100%); }
.standby-brand {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; z-index: 2; padding: 0 6vw;
}
.brand-aurora {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(14px, 1.6vw, 22px); letter-spacing: 0.4em;
  color: rgba(250,250,250,0.85); text-transform: uppercase;
}
.brand-oasis-svg {
  height: clamp(52px, 9.1vw, 130px);
  width: auto;
  color: #fff;
  display: block;
}
.brand-loc {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(11px, 1vw, 14px); letter-spacing: 0.32em;
  color: rgba(250,250,250,0.65); text-transform: uppercase; margin-top: 24px;
}
.standby-cta {
  position: absolute; bottom: 6vh; left: 50%; transform: translateX(-50%);
  background: transparent; border: 0; color: rgba(250,250,250,0.7); cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  z-index: 3; padding: 12px 24px;
}
.cta-mini {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(11px, 1vw, 14px); letter-spacing: 0.32em; text-transform: uppercase;
}
.cta-bar {
  width: 80px; height: 1px; background: rgba(250,250,250,0.4);
  animation: ctapulse 2.4s ease-in-out 2s infinite;
}
@keyframes ctapulse {
  0%, 100% { transform: scaleX(0.5); opacity: 0.4; }
  50%       { transform: scaleX(1);   opacity: 1;   }
}

/* ─── Header ─────────────────────────────────────────────── */
.totem-header {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 20;
  display: flex; align-items: center; justify-content: space-between;
  padding: clamp(20px, 2.4vh, 36px) clamp(28px, 2.8vw, 56px);
  pointer-events: none;
}
.totem-burger {
  background: transparent; border: 0; cursor: pointer; padding: 14px;
  display: flex; flex-direction: column; gap: 5px; pointer-events: auto;
}
.totem-burger span { display: block; width: 28px; height: 2px; background: #FAFAFA; transition: transform 320ms; }
.totem-brand { display: flex; align-items: baseline; gap: 14px; pointer-events: auto; }
.brand-oasis-sm-svg {
  height: clamp(18px, 2vw, 29px);
  width: auto;
  color: #fff;
}
.totem-header .brand-aurora { font-size: clamp(11px, 1vw, 14px); letter-spacing: 0.4em; color: rgba(250,250,250,0.85); font-weight: 400; }

/* ─── Burger Overlay ──────────────────────────────────────── */
.burger-overlay {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex; flex-direction: column;
  transform: translateX(-100%);
  transition: transform 400ms cubic-bezier(0.25,0.46,0.45,0.94);
  overflow-y: auto;
}
.burger-overlay.open { transform: translateX(0); }
.overlay-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: clamp(24px, 3vh, 48px) clamp(32px, 3vw, 56px);
  border-bottom: 1px solid rgba(250,250,250,0.08);
}
.overlay-brand { display: flex; align-items: baseline; gap: 10px; }
.overlay-brand .brand-aurora { font-size: clamp(11px, 1vw, 14px); letter-spacing: 0.4em; }
.overlay-brand .brand-oasis-sm-svg { height: clamp(18px, 2.3vw, 29px); }
.overlay-close {
  background: transparent; border: 1px solid rgba(250,250,250,0.2);
  color: #fff; width: 44px; height: 44px; cursor: pointer;
  font-size: 18px; display: flex; align-items: center; justify-content: center;
  transition: border-color var(--t), color var(--t);
}
.overlay-close:hover { border-color: var(--gold); color: var(--gold); }
.overlay-nav {
  flex: 1;
  padding: clamp(32px, 4vh, 64px) clamp(32px, 3vw, 56px);
  display: flex; flex-direction: column; gap: clamp(16px, 2.5vh, 28px);
}
.overlay-link {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(18px, 2.2vw, 32px); letter-spacing: 0.04em;
  color: rgba(250,250,250,0.75); text-decoration: none;
  padding: 12px 0; border-bottom: 1px solid rgba(250,250,250,0.06);
  transition: color var(--t), padding-left var(--t);
  display: flex; align-items: center; justify-content: space-between;
}
.overlay-link:hover { color: var(--gold); padding-left: 8px; }
.overlay-link span.ol-arrow { opacity: 0.4; font-size: 0.75em; }
.overlay-link:hover .ol-arrow { opacity: 1; color: var(--gold); }
.overlay-footer {
  padding: clamp(24px, 3vh, 40px) clamp(32px, 3vw, 56px);
  border-top: 1px solid rgba(250,250,250,0.08);
}
.overlay-home-link {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(11px, 0.9vw, 13px); letter-spacing: 0.3em;
  color: rgba(250,250,250,0.45); text-transform: uppercase; text-decoration: none;
  transition: color var(--t);
}
.overlay-home-link:hover { color: #fff; }

/* ─── Menu Grid (LANDSCAPE) ──────────────────────────────── */
.menu-grid {
  position: fixed;
  inset: clamp(80px, 9vh, 120px) clamp(28px, 2.5vw, 48px) clamp(40px, 4vh, 60px);
  display: grid;
  grid-template-columns: 1.05fr 1fr 1.05fr;
  gap: clamp(14px, 1.1vw, 20px);
  z-index: 5;
}
.col { display: flex; flex-direction: column; gap: clamp(14px, 1.1vw, 20px); min-width: 0; }

.row-2 {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 1.1vw, 20px);
}

/* ─── Card base ──────────────────────────────────────────── */
.card {
  position: relative; display: block; overflow: hidden;
  border: 1px solid rgba(250,250,250,0.06); background: #0a0a0a; cursor: pointer;
  transition: border-color 900ms cubic-bezier(0.19, 1, 0.22, 1);
  text-decoration: none; color: inherit; min-height: 0;
  isolation: isolate;
  contain: layout paint;
  transform: translateZ(0);
}
.card:hover { border-color: rgba(201,168,76,0.35); }

/* col-left: 5 itens empilhados */
.col-left { justify-content: stretch; }
.col-left > .card:first-child { flex: 1.4 1 0; }
.col-left > .row-2            { flex: 1.8 1 0; }
.col-left > .card:nth-child(3),
.col-left > .card:nth-child(4),
.col-left > .card:nth-child(5) { flex: 1 1 0; }

/* row-2 quadradinhos */
.row-2 .card { flex: 1 1 0; aspect-ratio: 1 / 1; }

/* col-mid: quote + card grande */
.col-mid { justify-content: stretch; }
.col-mid .quote-card { flex: 1.2 1 0; }
.col-mid .col-mid-card { flex: 1.8 1 0; }

/* col-right: 4 cards iguais */
.col-right > .card { flex: 1 1 0; }

.card:hover, .card:active {
  transform: translateY(-2px);
  border-color: rgba(201,168,76,0.4);
  box-shadow: 0 8px 32px rgba(201,168,76,0.12);
}

.card-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(0) brightness(0.95) saturate(1);
  transform: translateZ(0) scale(1.001);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, filter;
  transition:
    transform 1400ms cubic-bezier(0.16, 1, 0.3, 1),
    filter   1100ms cubic-bezier(0.16, 1, 0.3, 1);
}
.card:hover .card-bg, .card:active .card-bg, .card:focus-visible .card-bg {
  transform: translateZ(0) scale(1.07);
  filter: grayscale(1) brightness(0.75) contrast(1.08);
}
.card-tint {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0.52) 55%, rgba(0,0,0,0.86) 100%);
  transition: opacity 1100ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity;
}
.card:hover .card-tint,
.card:active .card-tint,
.card:focus-visible .card-tint {
  opacity: 0.55;
}
/* Camada gold radial separada (compositada) */
.card::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 100%, rgba(201,168,76,0.28) 0%, rgba(201,168,76,0) 55%);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  will-change: opacity;
  transition: opacity 1100ms cubic-bezier(0.16, 1, 0.3, 1);
}
.card:hover::before, .card:focus-visible::before { opacity: 1; }
/* Glow externo dourado · sombra estática otimizada · só opacity transitiona */
.card::after {
  content: '';
  position: absolute; inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    0 22px 60px -18px rgba(201,168,76,0.55),
    0 0 0 1px rgba(201,168,76,0.4) inset;
  opacity: 0;
  z-index: 3;
  will-change: opacity;
  transition: opacity 1100ms cubic-bezier(0.16, 1, 0.3, 1);
}
.card:hover::after, .card:focus-visible::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .card-bg, .card-tint, .card::after, .card::before { transition: none !important; }
}

.card-content {
  position: absolute; inset: 0;
  padding: clamp(14px, 1.4vw, 24px);
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 12px; z-index: 2;
}
.card-title {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(13px, 1.15vw, 20px); line-height: 1.2;
  color: #FAFAFA; max-width: 78%;
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
  transition: color 900ms cubic-bezier(0.16, 1, 0.3, 1);
}
.card:hover .card-title,
.card:active .card-title,
.card:focus-visible .card-title {
  color: #FAFAFA;
}
.card-icon {
  font-size: clamp(18px, 1.6vw, 26px); color: rgba(250,250,250,0.85); flex: 0 0 auto;
  align-self: flex-end; opacity: 0.85;
  transition:
    opacity 900ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 900ms cubic-bezier(0.16, 1, 0.3, 1),
    color 900ms cubic-bezier(0.16, 1, 0.3, 1);
}
.card:hover .card-icon,
.card:active .card-icon,
.card:focus-visible .card-icon {
  opacity: 1;
  transform: scale(1.1);
  color: var(--gold);
}

/* ─── Quote card (centro) ───────────────────────────────── */
.quote-card {
  background: #0c0c0c; border: 1px solid rgba(250,250,250,0.06);
  padding: clamp(28px, 2.8vw, 52px);
  display: flex; align-items: center; justify-content: center;
}
.quote-text {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(15px, 1.28vw, 21px); line-height: 1.7;
  letter-spacing: 0.006em;
  color: rgba(250,250,250,0.92); text-align: center; max-width: 300px;
}

/* ─── Scroll hint ─────────────────────────────────────────── */
.totem-scroll-hint {
  position: fixed; bottom: 12px; left: 50%; transform: translateX(-50%);
  background: transparent; border: 0; color: rgba(250,250,250,0.4);
  font-size: 22px; cursor: pointer;
  animation: scrollhint 2.4s ease-in-out infinite; pointer-events: none;
}
@keyframes scrollhint {
  0%, 100% { transform: translate(-50%, 0); opacity: 0.4; }
  50%       { transform: translate(-50%, 4px); opacity: 1;  }
}

/* ─── VERTICAL (9:16 totem portrait) ───────────────────────── */
@media (orientation: portrait), (max-aspect-ratio: 1/1) {
  html, body { overflow: hidden; }

  .menu-grid {
    grid-template-columns: 1fr;
    gap: clamp(10px, 1.4vh, 14px);
    inset: clamp(70px, 7vh, 100px) clamp(16px, 3.5vw, 28px) clamp(32px, 3vh, 48px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .col { display: flex; flex-direction: column; gap: clamp(10px, 1.4vh, 14px); min-width: 0; }
  .col-left, .col-mid, .col-right { width: 100%; }

  .col-left > .card:first-child { flex: none; aspect-ratio: 16/7; }
  .col-left > .row-2            { flex: none; }
  .col-left > .card:nth-child(3),
  .col-left > .card:nth-child(4),
  .col-left > .card:nth-child(5) { flex: none; aspect-ratio: 16/7; }

  .row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .row-2 .card { aspect-ratio: 4/5; }

  .col-mid .quote-card  { flex: none; aspect-ratio: 16/8; }
  .col-mid .col-mid-card { flex: none; aspect-ratio: 16/8; }

  .col-right > .card { flex: none; aspect-ratio: 16/7; }

  .quote-text { max-width: none; }
  .standby-cta { bottom: 4vh; }
  .brand-oasis-svg { height: clamp(46px, 13vw, 104px); }

  .burger-overlay { transform: translateX(-100%); }
  .burger-overlay.open { transform: translateX(0); }
}

/* ─── Section page ───────────────────────────────────────── */
body.secao { overflow-y: auto; overflow-x: hidden; }
.secao-hero {
  position: relative; min-height: 55vh;
  display: flex; align-items: center; justify-content: center;
  padding: 80px 6vw 48px; overflow: hidden;
}
.secao-hero-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(0.5) brightness(0.5) contrast(1.05);
}
.secao-hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: grayscale(0.6) brightness(0.55); transform: scale(1.04);
  animation: silk 18s ease-in-out infinite alternate;
  transition: transform 0.1s ease-out;
}
.secao-hero-tint {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.88) 100%);
  z-index: 1;
}
.secao-hero-content { position: relative; z-index: 2; text-align: center; max-width: 900px; }
.secao-mini {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(11px, 1vw, 14px); letter-spacing: 0.4em;
  color: var(--gold); text-transform: uppercase; margin-bottom: 24px;
}
.secao-title {
  font-family: 'Cinzel', Georgia, serif; font-weight: 500; font-style: normal;
  font-size: clamp(28px, 4.4vw, 64px); letter-spacing: 0.02em;
  line-height: 1.08; color: #fff; margin: 0 auto 20px;
  max-width: min(1100px, 92vw);
  text-transform: uppercase;
  font-variant-caps: normal;
  font-feature-settings: "smcp" 0, "c2sc" 0, "c2pc" 0;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}
.secao-title::first-letter { font-size: inherit !important; font-weight: inherit !important; }
.secao-title::first-line { font-size: inherit !important; }
.secao-lead {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(15px, 1.3vw, 20px); line-height: 1.55;
  color: rgba(250,250,250,0.85); max-width: 640px; margin: 0 auto;
}

.secao-body { padding: 64px 6vw 100px; max-width: 1280px; margin: 0 auto; overflow: visible; }
.secao-body p, .body-p {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(14px, 1.2vw, 17px); line-height: 1.7;
  color: rgba(250,250,250,0.85); margin: 0 0 20px; max-width: 760px;
}
.secao-body .body-h2, .body-h2 {
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: clamp(22px, 2.2vw, 32px); margin: 48px 0 20px;
  color: #fff; letter-spacing: -0.01em;
}
.secao-back {
  position: fixed; top: 28px; left: 28px; z-index: 30;
  background: transparent; border: 1px solid rgba(250,250,250,0.2);
  color: #fff; padding: 12px 18px; cursor: pointer;
  font-family: 'Halenoir'; font-weight: 300; font-style: normal;
  font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
  transition: all 240ms; text-decoration: none;
}
.secao-back:hover { border-color: var(--gold); color: var(--gold); }

/* ─── Scroll-reveal ──────────────────────────────────────── */
[data-reveal] {
  opacity: 0;
  transform: translateY(40px) rotateX(8deg);
  filter: blur(12px);
  transition: opacity 1000ms cubic-bezier(0.16,1,0.3,1), transform 1000ms cubic-bezier(0.16,1,0.3,1), filter 1000ms cubic-bezier(0.16,1,0.3,1);
}
[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0) rotateX(0);
  filter: blur(0);
}

/* ─── Idle countdown ─────────────────────────────────────── */
#idle-countdown {
  position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%);
  background: rgba(0,0,0,0.85); border: 1px solid rgba(250,250,250,0.2);
  color: rgba(250,250,250,0.8); padding: 12px 24px;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(12px, 1vw, 14px); letter-spacing: 0.18em; text-transform: uppercase;
  z-index: 200; white-space: nowrap;
  animation: fadeInUp 400ms ease;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translate(-50%, 10px); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}

/* ─── Lightbox ───────────────────────────────────────────── */
.lightbox {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(0,0,0,0.96);
  display: flex; align-items: center; justify-content: center;
  animation: fadein 240ms ease;
}
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }
.lb-img-wrap { max-width: 92vw; max-height: 88vh; display: flex; align-items: center; }
.lb-img { max-width: 92vw; max-height: 88vh; object-fit: contain; display: block; }
.lb-close {
  position: absolute; top: 24px; right: 24px;
  background: transparent; border: 1px solid rgba(250,250,250,0.2);
  color: #fff; width: 48px; height: 48px; cursor: pointer; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  transition: border-color var(--t), color var(--t);
  z-index: 10;
}
.lb-close:hover { border-color: var(--gold); color: var(--gold); }
.lb-prev, .lb-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: transparent; border: 1px solid rgba(250,250,250,0.15);
  color: #fff; width: 52px; height: 52px; cursor: pointer; font-size: 28px;
  display: flex; align-items: center; justify-content: center;
  transition: border-color var(--t);
}
.lb-prev { left: 24px; }
.lb-next { right: 24px; }
.lb-prev:hover, .lb-next:hover { border-color: var(--gold); }
.lb-counter {
  position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
  font-family: 'Halenoir'; font-weight: 300; font-size: 13px; letter-spacing: 0.2em;
  color: rgba(250,250,250,0.55);
}

/* ─── Video Modal ───────────────────────────────────────── */
.video-modal {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(0,0,0,0.97);
  display: flex; align-items: center; justify-content: center;
  animation: fadein 240ms ease;
}
.vm-video {
  max-width: 94vw; max-height: 90vh;
  outline: none; background: #000;
}
.vm-close {
  position: absolute; top: 24px; right: 24px;
  background: transparent; border: 1px solid rgba(250,250,250,0.2);
  color: #fff; width: 48px; height: 48px; cursor: pointer; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  transition: border-color var(--t); z-index: 10;
}
.vm-close:hover { border-color: var(--gold); }

/* ─── CTA WhatsApp ──────────────────────────────────────── */
.cta-block { margin-top: 48px; }
.cta-wpp {
  display: inline-flex; align-items: center; gap: 12px;
  background: transparent; border: 1px solid var(--gold);
  color: var(--gold); padding: 16px 32px; text-decoration: none;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(14px, 1.2vw, 17px); letter-spacing: 0.12em; text-transform: uppercase;
  transition: background var(--t), color var(--t), transform var(--t), box-shadow var(--t);
  cursor: pointer;
}
.cta-wpp:hover {
  background: var(--gold); color: #000;
  transform: scale(1.02);
  box-shadow: 0 0 28px rgba(201,168,76,0.3);
}
.cta-tour {
  display: inline-flex; align-items: center; gap: 14px;
  background: var(--gold); color: #000; padding: 18px 40px; text-decoration: none;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(15px, 1.3vw, 19px); letter-spacing: 0.1em; text-transform: uppercase;
  transition: background var(--t), transform var(--t), box-shadow var(--t);
  cursor: pointer;
}
.cta-tour:hover {
  background: #e0b84a;
  transform: scale(1.02);
  box-shadow: 0 0 36px rgba(201,168,76,0.4);
}

/* ─── Steps (Jornada) ────────────────────────────────────── */
.steps-row {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2vw, 32px); margin: 0 0 48px;
}
.step-card {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(24px, 2.5vw, 40px);
  transition: border-color var(--t), background var(--t), transform var(--t);
}
.step-card:hover { border-color: rgba(201,168,76,0.35); background: rgba(201,168,76,0.04); transform: translateY(-4px); }
.step-num {
  font-family: 'Cinzel', Georgia, serif; font-weight: 500; font-style: normal;
  font-size: clamp(36px, 4vw, 64px); color: rgba(201,168,76,0.25);
  line-height: 1; margin-bottom: 16px;
}
.step-title {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(17px, 1.6vw, 24px); color: #fff; margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.step-desc {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(13px, 1.1vw, 16px); line-height: 1.65;
  color: rgba(250,250,250,0.7); margin: 0 0 20px;
}
.step-link {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(11px, 0.95vw, 13px); letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); text-decoration: none;
  transition: opacity var(--t);
}
.step-link:hover { opacity: 0.75; }

/* ─── Metrics (Silva / Investimento) ────────────────────── */
.metrics-row {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 1.8vw, 28px); margin: 40px 0 48px;
}
.metric-card {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(24px, 2.5vw, 40px); text-align: center;
  transition: border-color var(--t);
}
.metric-card:hover { border-color: rgba(201,168,76,0.35); }
.metric-num {
  display: block;
  font-family: 'Cinzel', Georgia, serif; font-weight: 500; font-style: normal;
  font-size: clamp(32px, 3.5vw, 56px); color: var(--gold); line-height: 1; margin-bottom: 10px;
}
.metric-label {
  display: block;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(12px, 1vw, 15px); letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(250,250,250,0.6);
}

/* ─── Principles (Silva) ─────────────────────────────────── */
.principles-list { margin-top: 8px; }
.principle-items {
  list-style: none; margin-top: 16px;
  display: flex; flex-direction: column; gap: 12px;
}
.principle-items li {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(14px, 1.2vw, 17px); line-height: 1.5;
  color: rgba(250,250,250,0.8); padding: 14px 0;
  border-bottom: 1px solid rgba(250,250,250,0.06);
  padding-left: 20px; position: relative;
}
.principle-items li::before {
  content: '–'; position: absolute; left: 0; color: var(--gold); opacity: 0.7;
}

/* ─── Amenidades (Lago) ──────────────────────────────────── */
.amenidades-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 2vw, 32px); margin-top: 40px;
}
.amen-card {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(24px, 2.5vw, 40px);
  transition: border-color var(--t), transform var(--t);
}
.amen-card:hover { border-color: rgba(201,168,76,0.35); transform: translateY(-3px); }
.amen-icon { display: block; color: var(--gold); opacity: 0.85; margin-bottom: 16px; }
.amen-title {
  font-family: 'NT Epika', 'Halenoir', Georgia, serif;
  font-weight: 300 !important;
  font-style: normal;
  font-size: clamp(18px, 1.7vw, 26px); color: #fff; margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-variant-caps: normal;
  font-feature-settings: "smcp" 0, "c2sc" 0;
}
.amen-title::first-letter {
  font-size: inherit;
  font-weight: inherit;
}
.amen-desc {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(13px, 1.1vw, 16px); line-height: 1.6;
  color: rgba(250,250,250,0.65);
}

/* ─── Pilares (Aurora) ───────────────────────────────────── */
.pilares-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 2vw, 32px); margin-top: 8px;
}
.pilar-card {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(28px, 3vw, 48px);
  transition: border-color var(--t), background var(--t), transform var(--t);
  cursor: default;
}
.pilar-card:hover { border-color: rgba(201,168,76,0.4); background: rgba(201,168,76,0.04); transform: translateY(-4px); }
.pilar-title {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(18px, 1.8vw, 26px); color: var(--gold); margin-bottom: 14px;
  letter-spacing: -0.01em;
}
.pilar-desc {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(13px, 1.15vw, 16px); line-height: 1.7;
  color: rgba(250,250,250,0.72); margin: 0;
}

/* ─── Gallery ───────────────────────────────────────────── */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(140px, 18vw, 240px), 1fr));
  gap: clamp(10px, 1vw, 16px);
}
.gallery-thumb {
  aspect-ratio: 4/3; overflow: hidden; cursor: pointer;
  border: 1px solid rgba(250,250,250,0.06);
  transition: transform var(--t), border-color var(--t);
}
.gallery-thumb:hover { transform: scale(1.02); border-color: rgba(201,168,76,0.4); }
.gallery-thumb img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(0.3); transition: filter var(--t), transform var(--t);
}
.gallery-thumb:hover img { filter: grayscale(0); transform: scale(1.04); }

/* ─── Video grid ────────────────────────────────────────── */
.videos-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 1.6vw, 24px);
}
.vid-card {
  position: relative; aspect-ratio: 16/9; overflow: hidden; cursor: pointer;
  border: 1px solid rgba(250,250,250,0.06);
  transition: transform var(--t), border-color var(--t);
}
.vid-card:hover { transform: translateY(-3px); border-color: rgba(201,168,76,0.35); }
.vid-thumb { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.4); transition: filter var(--t); }
.vid-card:hover .vid-thumb { filter: grayscale(0); }
.vid-play {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: clamp(28px, 3vw, 44px); color: #fff;
  background: rgba(0,0,0,0.45); transition: background var(--t);
}
.vid-card:hover .vid-play { background: rgba(0,0,0,0.28); }
.vid-label {
  position: absolute; bottom: 14px; left: 16px;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(12px, 1vw, 15px); letter-spacing: 0.12em;
  color: rgba(250,250,250,0.85); text-transform: uppercase;
}

/* ─── Lifestyle grid ─────────────────────────────────────── */
.lifestyle-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 1.8vw, 28px);
}
.lifestyle-card {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(24px, 2.5vw, 40px);
  transition: border-color var(--t), transform var(--t);
}
.lifestyle-card:hover { border-color: rgba(201,168,76,0.35); transform: translateY(-4px); }
.ls-icon { display: block; color: var(--gold); opacity: 0.85; margin-bottom: 16px; }
.ls-title {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(15px, 1.4vw, 20px); color: #fff; margin-bottom: 10px;
}
.ls-desc {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(12px, 1vw, 15px); line-height: 1.6;
  color: rgba(250,250,250,0.62);
}

/* ─── Investment metrics ─────────────────────────────────── */
.invest-metrics {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.5vw, 24px); margin-bottom: 48px;
}
.inv-metric {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(20px, 2vw, 36px); text-align: center;
  transition: border-color var(--t);
}
.inv-metric:hover { border-color: rgba(201,168,76,0.35); }
.inv-num {
  display: block;
  font-family: 'Cinzel', Georgia, serif; font-weight: 500; font-style: normal;
  font-size: clamp(28px, 3vw, 48px); color: var(--gold); line-height: 1; margin-bottom: 10px;
}
.inv-label {
  display: block;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(11px, 0.9vw, 13px); letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(250,250,250,0.55);
}

/* ─── Investment table ───────────────────────────────────── */
.table-wrap { overflow-x: auto; margin-top: 8px; }
.inv-table {
  width: 100%; border-collapse: collapse;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(13px, 1.1vw, 16px);
}
.inv-table th, .inv-table td {
  padding: 14px 20px; text-align: left;
  border-bottom: 1px solid rgba(250,250,250,0.07);
  color: rgba(250,250,250,0.75);
}
.inv-table th {
  font-size: clamp(11px, 0.9vw, 13px); letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(250,250,250,0.45); font-weight: 300;
}
.inv-table tbody tr { transition: background var(--t); }
.inv-table tbody tr:hover td { background: rgba(250,250,250,0.04); color: #fff; }
.inv-table .inv-highlight td { color: var(--gold); border-left: 2px solid var(--gold); }

/* ─── Filtros (Disponibilidade) ──────────────────────────── */
.filter-row {
  display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px;
}
.filter-btn {
  background: transparent; border: 1px solid rgba(250,250,250,0.15);
  color: rgba(250,250,250,0.6); padding: 10px 22px; cursor: pointer;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(11px, 0.95vw, 14px); letter-spacing: 0.15em; text-transform: uppercase;
  transition: border-color var(--t), color var(--t), background var(--t);
}
.filter-btn:hover, .filter-btn.active {
  border-color: var(--gold); color: var(--gold);
}
.filter-btn.active { background: rgba(201,168,76,0.08); }

/* ─── Lotes cards ───────────────────────────────────────── */
.lotes-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 1.8vw, 28px); margin-bottom: 48px;
}
.lote-card {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(24px, 2.5vw, 40px);
  transition: border-color var(--t), transform var(--t), opacity var(--t);
}
.lote-card:hover { border-color: rgba(201,168,76,0.4); transform: translateY(-4px); }
.lote-badge {
  display: inline-block;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); border: 1px solid rgba(201,168,76,0.4);
  padding: 4px 12px; margin-bottom: 16px;
}
.lote-title {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(18px, 1.7vw, 24px); color: #fff; margin-bottom: 12px;
}
.lote-specs {
  display: flex; align-items: center; gap: 8px; margin-bottom: 14px;
}
.lote-spec {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(12px, 1vw, 15px); color: rgba(250,250,250,0.6);
}
.lote-sep { color: rgba(250,250,250,0.25); }
.lote-desc {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(13px, 1.1vw, 16px); line-height: 1.65;
  color: rgba(250,250,250,0.65); margin-bottom: 20px;
}
.lote-status {
  display: inline-block;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  padding: 4px 12px;
}
.lote-status.disponivel { background: rgba(80,180,80,0.12); color: #7ed87e; border: 1px solid rgba(80,180,80,0.25); }

/* ─── Address (Localização) ──────────────────────────────── */
.address-block { margin-bottom: 40px; }
.address-line {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(13px, 1.1vw, 16px); letter-spacing: 0.1em;
  color: rgba(250,250,250,0.5); margin-top: 8px;
}

/* ─── Distance cards ────────────────────────────────────── */
.dist-row {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 1.6vw, 24px); margin-bottom: 48px;
}
.dist-card {
  background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08);
  padding: clamp(20px, 2vw, 36px); text-align: center;
  transition: border-color var(--t);
}
.dist-card:hover { border-color: rgba(201,168,76,0.35); }
.dist-city {
  display: block;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(12px, 1vw, 15px); letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(250,250,250,0.55); margin-bottom: 8px;
}
.dist-time {
  display: block;
  font-family: 'Cinzel', Georgia, serif; font-weight: 500; font-style: normal;
  font-size: clamp(28px, 3vw, 48px); color: var(--gold); line-height: 1;
}
.dist-km {
  display: block;
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(11px, 0.9vw, 13px); color: rgba(250,250,250,0.4); margin-top: 6px;
  letter-spacing: 0.1em;
}

/* ─── Mapa ──────────────────────────────────────────────── */
.map-wrap { border: 1px solid rgba(250,250,250,0.08); overflow: hidden; }
#aurora-map { width: 100%; height: clamp(320px, 40vh, 560px); }
.map-marker-aurora {
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--gold); border: 2px solid #000;
  box-shadow: 0 0 0 4px rgba(201,168,76,0.35);
  position: relative; cursor: pointer;
}
.map-marker-aurora span {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
  background: #000; color: var(--gold); padding: 4px 10px;
  font-family: 'Halenoir'; font-weight: 300; font-size: 11px; letter-spacing: 0.15em;
  text-transform: uppercase; white-space: nowrap;
  border: 1px solid rgba(201,168,76,0.4);
}
.map-marker-city {
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(250,250,250,0.7); border: 2px solid #000;
  position: relative; cursor: pointer;
}
.map-marker-city span {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  background: rgba(0,0,0,0.82); color: rgba(250,250,250,0.8); padding: 3px 8px;
  font-family: 'Halenoir'; font-weight: 300; font-size: 10px; letter-spacing: 0.12em;
  text-transform: uppercase; white-space: nowrap;
  border: 1px solid rgba(250,250,250,0.15);
}

/* ─── Responsive secao portrait ─────────────────────────── */
@media (orientation: portrait), (max-aspect-ratio: 1/1) {
  body.secao { overflow-y: auto; }
  .steps-row,
  .lifestyle-grid,
  .lotes-grid { grid-template-columns: 1fr; }
  .metrics-row,
  .amenidades-grid,
  .pilares-grid,
  .dist-row,
  .invest-metrics { grid-template-columns: repeat(2, 1fr); }
  .videos-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .secao-back { top: 16px; left: 16px; }
}

/* ─── Logo oficial Aurora Oasis (PNG) ──────────────────── */
.brand-oasis-img {
  width: clamp(182px, 32.5vw, 468px);
  height: auto;
  display: block;
  margin: 8px auto;
  filter: drop-shadow(0 2px 24px rgba(0,0,0,0.3));
}
.brand-oasis-img-sm {
  height: clamp(18px, 2.2vw, 36px);
  width: auto;
  display: block;
}
.standby-brand .brand-aurora { display: none; }

/* ─── Standby fundo preto puro ───────────────────────────── */
body.standby { background: #000; }
.standby-stage { background: #000; }
.standby-bg { display: none !important; }
.standby-tint { background: radial-gradient(ellipse at center, rgba(15,15,20,0.4) 0%, rgba(0,0,0,1) 80%); }

/* ─── Ampulheta SVG real (não rotação 360°) ────────────── */
.amp-scene {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  z-index: 1;
  pointer-events: none;
  gap: clamp(40px, 6vh, 80px);
  opacity: 0;
  animation: amp-fade-in 2.4s cubic-bezier(0.16,1,0.3,1) 0.4s forwards;
}
@keyframes amp-fade-in {
  0%   { opacity: 0; filter: blur(40px); transform: scale(0.92); }
  60%  { opacity: 0.8; filter: blur(8px); }
  100% { opacity: 1;  filter: blur(0);  transform: scale(1); }
}

/* Frase "Raro como o tempo" formada de areia */
.amp-quote {
  font-family: 'Cinzel', Georgia, serif;
  font-weight: 400;
  font-size: clamp(14px, 1.6vw, 22px);
  letter-spacing: 0.42em;
  color: #C9A84C;
  text-transform: uppercase;
  margin-bottom: clamp(12px, 2vh, 24px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.amp-q-letter {
  display: inline-block;
  opacity: 0;
  transform: translateY(-12px);
  filter: blur(8px);
  animation: amp-letter-in 1.2s cubic-bezier(0.16,1,0.3,1) forwards, amp-letter-shimmer 4s ease-in-out infinite;
  text-shadow: 0 0 20px rgba(201,168,76,0.6);
}
.amp-q-space { display: inline-block; width: 0.5em; }
.amp-q-letter:nth-child(1)  { animation-delay: 1.6s, 5s; }
.amp-q-letter:nth-child(2)  { animation-delay: 1.7s, 5.1s; }
.amp-q-letter:nth-child(3)  { animation-delay: 1.8s, 5.2s; }
.amp-q-letter:nth-child(4)  { animation-delay: 1.9s, 5.3s; }
.amp-q-letter:nth-child(6)  { animation-delay: 2.0s, 5.4s; }
.amp-q-letter:nth-child(7)  { animation-delay: 2.1s, 5.5s; }
.amp-q-letter:nth-child(8)  { animation-delay: 2.2s, 5.6s; }
.amp-q-letter:nth-child(9)  { animation-delay: 2.3s, 5.7s; }
.amp-q-letter:nth-child(11) { animation-delay: 2.4s, 5.8s; }
.amp-q-letter:nth-child(13) { animation-delay: 2.5s, 5.9s; }
.amp-q-letter:nth-child(14) { animation-delay: 2.6s, 6s; }
.amp-q-letter:nth-child(15) { animation-delay: 2.7s, 6.1s; }
.amp-q-letter:nth-child(16) { animation-delay: 2.8s, 6.2s; }
.amp-q-letter:nth-child(17) { animation-delay: 2.9s, 6.3s; }
@keyframes amp-letter-in {
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes amp-letter-shimmer {
  0%, 100% { text-shadow: 0 0 18px rgba(201,168,76,0.6); }
  50%      { text-shadow: 0 0 32px rgba(201,168,76,1); }
}

/* Glow background */
.amp-glow {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 600px; height: 600px;
  background: radial-gradient(ellipse at center, rgba(201,168,76,0.45) 0%, rgba(201,168,76,0.15) 25%, transparent 65%);
  filter: blur(36px);
  z-index: -1;
  animation: amp-glow-pulse 6.4s ease-in-out infinite alternate;
}
@keyframes amp-glow-pulse {
  0%   { opacity: 0.5; transform: translate(-50%, -50%) scale(0.95); }
  100% { opacity: 1;   transform: translate(-50%, -50%) scale(1.08); }
}

/* Particles flutuando */
.amp-particles { position: absolute; left: 50%; top: 50%; }
.amp-p {
  position: absolute;
  width: 3px; height: 3px; border-radius: 50%;
  background: #C9A84C;
  box-shadow: 0 0 8px rgba(201,168,76,0.8);
  animation: amp-p-float 9.6s ease-in-out infinite;
  animation-delay: var(--p-d, 0s);
  transform: translate(var(--p-x), var(--p-y));
  opacity: 0;
}
@keyframes amp-p-float {
  0%, 100% { opacity: 0; transform: translate(var(--p-x), var(--p-y)) scale(0.4); }
  20%      { opacity: 1; }
  50%      { opacity: 1; transform: translate(calc(var(--p-x) * 0.7), calc(var(--p-y) * 1.3)) scale(1.3); }
  80%      { opacity: 1; }
}

/* Stage: turntable real 3D */
.amp-stage {
  width: clamp(280px, 38vmin, 540px);
  height: clamp(280px, 38vmin, 540px);
  position: relative;
  filter: drop-shadow(0 0 60px rgba(201,168,76,0.5));
}
.amp-frame { position: absolute; inset: 0; display: block; }
.amp-frame img {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
}
.amp-stage-glow {
  position: absolute; inset: -10%;
  background: radial-gradient(circle at center, rgba(201,168,76,0.06) 0%, transparent 55%);
  filter: blur(28px);
  z-index: -1;
  animation: amp-glow-pulse 8s ease-in-out infinite alternate;
}
.amp-stage-reflect {
  position: absolute;
  bottom: -6%; left: 50%; transform: translateX(-50%) scaleY(-0.35);
  width: 40%; height: 22%;
  background: radial-gradient(ellipse at center, rgba(201,168,76,0.12) 0%, transparent 70%);
  filter: blur(10px);
  pointer-events: none;
  opacity: 0.5;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,1) 0%, transparent 100%);
          mask-image: linear-gradient(180deg, rgba(0,0,0,1) 0%, transparent 100%);
}
@keyframes amp-glow-pulse {
  0%   { opacity: 0.4; transform: scale(1); }
  100% { opacity: 0.85; transform: scale(1.05); }
}

/* (SVG sand/stream animations removed — turntable real 3D em uso) */

/* DoF overlay */
.amp-dof {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 50% at center, transparent 0%, rgba(0,0,0,0.4) 100%);
  pointer-events: none;
  mix-blend-mode: multiply;
  z-index: 2;
}

/* Saída */
body.standby.leaving .amp-scene {
  animation: amp-exit 1s cubic-bezier(0.7,0,0.84,0) forwards;
}
body.standby.leaving .standby-brand,
body.standby.leaving .standby-cta {
  animation: amp-exit-fade 0.8s cubic-bezier(0.7,0,0.84,0) forwards;
}
@keyframes amp-exit {
  to { opacity: 0; filter: blur(40px) brightness(2); transform: scale(1.4); }
}
@keyframes amp-exit-fade {
  to { opacity: 0; transform: translateY(-20px); }
}

/* Standby brand */
.standby-brand {
  position: relative;
  z-index: 4 !important;
  pointer-events: none;
  margin-top: clamp(24px, 4vh, 48px) !important;
  display: flex; flex-direction: column; align-items: center; gap: 14px;
}
.standby-brand .brand-oasis-img {
  width: clamp(220px, 36vmin, 480px);
  filter: drop-shadow(0 4px 28px rgba(0,0,0,0.6));
  animation: brand-enter 1.6s cubic-bezier(0.25,0.1,0.25,1) 1.4s both;
}
.standby-brand .brand-loc {
  opacity: 0;
  animation: brand-enter 1.4s cubic-bezier(0.25,0.1,0.25,1) 2s forwards;
}
@keyframes brand-enter {
  from { opacity: 0; transform: translateY(20px); filter: blur(12px); }
  to   { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
  .amp-stage-glow, .amp-glow, .amp-p, .amp-q-letter { animation: none !important; }
}
@media (orientation: portrait) {
  .amp-glow { width: 480px; height: 480px; }
}

.standby-cta { z-index: 5; }

/* ─── ADMIN MODE ─────────────────────────────────────────── */
.admin-trigger {
  position: fixed; bottom: 12px; right: 12px; z-index: 90;
  width: 32px; height: 32px;
  background: transparent;
  border: 1px solid rgba(250,250,250,0.06);
  cursor: pointer;
  display: flex; flex-direction: column; gap: 2px;
  align-items: center; justify-content: center;
  opacity: 0.25;
  transition: opacity 320ms, border-color 320ms;
  padding: 0;
}
.admin-trigger:hover { opacity: 1; border-color: var(--gold); }
.admin-trigger span {
  display: block; width: 12px; height: 1px;
  background: rgba(250,250,250,0.5);
}
.admin-trigger:hover span { background: var(--gold); }

/* ─── Admin Dashboard Fullscreen ─────────────────────────── */
.admin-overlay { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,0.96); display: flex; flex-direction: column; }

/* Admin Bar */
.admin-bar { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid rgba(250,250,250,0.08); flex-shrink: 0; }
.admin-bar-brand { display: flex; flex-direction: column; gap: 4px; }
.admin-bar-mini { font: 400 9px/1 'Halenoir'; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); }
.admin-bar-title { font: 300 18px/1 'Halenoir'; color: #fff; letter-spacing: 0.04em; }
.admin-bar-actions { display: flex; gap: 8px; }
.admin-bar-btn { background: transparent; border: 1px solid rgba(250,250,250,0.15); color: rgba(250,250,250,0.85); padding: 10px 18px; cursor: pointer; font: 400 10px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; transition: all 240ms; }
.admin-bar-btn:hover { border-color: var(--gold); color: var(--gold); }
.admin-bar-btn-icon { width: 36px; height: 36px; padding: 0; }

/* Admin Grid */
.admin-grid { flex: 1 1 auto; display: grid; grid-template-columns: 240px minmax(0, 1fr) minmax(0, 1fr); min-height: 0; height: calc(100vh - 76px); align-items: stretch; }
.admin-grid > * { min-width: 0; min-height: 0; height: 100%; max-height: 100%; }
@media (max-width: 1280px) { .admin-grid { grid-template-columns: 200px 1fr 0.85fr; } }
@media (max-width: 1024px) { .admin-grid { grid-template-columns: 200px 1fr; } .admin-preview { display: none; } }

/* Admin Sidebar */
.admin-sidebar { padding: 20px 12px; border-right: 1px solid rgba(250,250,250,0.08); display: flex; flex-direction: column; gap: 8px; overflow-y: auto; }
.admin-nav { display: flex; flex-direction: column; gap: 2px; }
.admin-nav-btn { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: transparent; border: 0; cursor: pointer; text-align: left; transition: all 240ms; color: rgba(250,250,250,0.65); font: 400 12px/1 'Halenoir'; letter-spacing: 0.04em; }
.admin-nav-btn:hover { background: rgba(255,255,255,0.04); color: #fff; }
.admin-nav-btn.is-active { background: rgba(201,168,76,0.12); color: var(--gold); }
.ann-icon { font-family: 'Cinzel', serif; font-size: 16px; width: 22px; text-align: center; }
.admin-info { margin-top: auto; padding: 12px 14px; }
.admin-info-mini { font: 400 9px/1.4 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(250,250,250,0.4); }

/* Admin Content */
.admin-content {
  padding: 28px 32px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #050505;
  display: block;
}
.admin-content:empty::before {
  content: "Carregando…";
  display: block;
  text-align: center;
  padding: 60px 20px;
  color: rgba(250,250,250,0.4);
  font: 400 12px/1.5 'Halenoir';
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* Admin Preview */
.admin-preview { border-left: 1px solid rgba(250,250,250,0.08); display: flex; flex-direction: column; }
.admin-preview-header { padding: 16px 20px; border-bottom: 1px solid rgba(250,250,250,0.08); display: flex; align-items: center; justify-content: space-between; }
.admin-preview-mini { font: 400 9px/1 'Halenoir'; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); }
.admin-preview-tabs { display: flex; gap: 2px; }
.apt-btn { background: transparent; border: 1px solid rgba(250,250,250,0.12); color: rgba(250,250,250,0.7); padding: 6px 12px; cursor: pointer; font: 400 9px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; transition: all 240ms; }
.apt-btn.is-active { border-color: var(--gold); color: var(--gold); background: rgba(201,168,76,0.06); }
.admin-preview-frame { flex: 1; padding: 16px; display: flex; align-items: center; justify-content: center; background: #0a0a0a; }
.admin-preview-frame iframe { width: 100%; height: 100%; border: 1px solid rgba(250,250,250,0.1); background: #000; transition: width 320ms, height 320ms; }
.admin-preview-frame.vp-vertical iframe { width: 56%; height: 96%; aspect-ratio: 9/16; }

/* ─── Shared adm-* classes ─────────────────────────────── */
.adm-section { margin-bottom: 32px; }
.adm-h3 { font: 300 22px/1.2 'Halenoir'; color: #fff; margin-bottom: 8px; display: flex; align-items: center; gap: 12px; }
.adm-count { background: rgba(201,168,76,0.15); border: 1px solid var(--gold); color: var(--gold); font: 400 11px/1 'Halenoir'; letter-spacing: 0.18em; padding: 4px 10px; }
.adm-desc { font: 400 13px/1.6 'Halenoir'; color: rgba(250,250,250,0.6); margin-bottom: 24px; max-width: 580px; }
.adm-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.adm-label { font: 400 11px/1.4 'Halenoir'; letter-spacing: 0.04em; color: rgba(250,250,250,0.85); display: flex; align-items: center; gap: 8px; }
.adm-input, .adm-textarea, .adm-select { background: transparent; border: 1px solid rgba(250,250,250,0.12); color: #fff; padding: 10px 14px; font-family: 'Halenoir'; font-weight: 300; font-size: 13px; outline: none; transition: border-color 240ms; width: 100%; box-sizing: border-box; }
.adm-input:focus, .adm-textarea:focus, .adm-select:focus { border-color: var(--gold); }
.adm-textarea { min-height: 80px; resize: vertical; font-family: 'SF Mono', Menlo, monospace; font-size: 12px; }
.adm-range { width: 100%; appearance: none; background: rgba(250,250,250,0.08); height: 2px; outline: none; }
.adm-range::-webkit-slider-thumb { appearance: none; width: 14px; height: 14px; border-radius: 50%; background: var(--gold); cursor: pointer; }
.adm-range-val { font: 400 11px/1 'SF Mono', monospace; color: var(--gold); }
.adm-btn { background: rgba(201,168,76,0.12); border: 1px solid var(--gold); color: var(--gold); padding: 10px 18px; cursor: pointer; font: 400 10px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; transition: all 240ms; margin-right: 8px; }
.adm-btn:hover { background: rgba(201,168,76,0.22); }
.adm-btn-secondary { background: transparent; border-color: rgba(250,250,250,0.15); color: rgba(250,250,250,0.85); }
.adm-btn-secondary:hover { border-color: var(--gold); color: var(--gold); }
.adm-actions-row { display: flex; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }
.adm-empty { font: 400 13px/1.5 'Halenoir'; color: rgba(250,250,250,0.4); padding: 32px; text-align: center; border: 1px dashed rgba(250,250,250,0.1); }
.adm-color-row { display: grid; grid-template-columns: 1fr 80px; gap: 10px; align-items: center; }
.adm-color-row input[type="color"] { width: 100%; height: 36px; padding: 0; border: 1px solid rgba(250,250,250,0.12); background: transparent; cursor: pointer; }

/* ─── Toast notification ───────────────────────────────── */
.adm-toast { position: fixed; bottom: 24px; right: 24px; padding: 14px 22px; background: rgba(201,168,76,0.95); color: #1a1a1a; font: 500 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; z-index: 9999; opacity: 0; transform: translateY(12px); transition: all 320ms cubic-bezier(0.25,0.1,0.25,1); }
.adm-toast.is-visible { opacity: 1; transform: translateY(0); }

/* ─── Admin thumb grid (shared) ─────────────────────────── */
.admin-thumb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.admin-thumb-item { position: relative; aspect-ratio: 16/9; border: 1px solid rgba(250,250,250,0.12); overflow: hidden; }
.admin-thumb-item img { width: 100%; height: 100%; object-fit: cover; }
.admin-thumb-item label { position: absolute; bottom: 0; left: 0; right: 0; padding: 4px 6px; background: rgba(0,0,0,0.7); font: 400 9px/1 'Halenoir'; letter-spacing: 0.1em; color: rgba(250,250,250,0.85); cursor: pointer; }
.admin-thumb-item input[type="file"] { display: none; }

/* ─── Layout cards grid ──────────────────────────────────── */
.adm-layout-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 16px; }
.adm-layout-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(250,250,250,0.08); padding: 16px; transition: all 240ms; cursor: pointer; }
.adm-layout-card:hover { border-color: rgba(201,168,76,0.4); background: rgba(255,255,255,0.04); }
.adm-layout-card.is-selected { border-color: var(--gold); background: rgba(201,168,76,0.06); }
.adm-layout-thumb { aspect-ratio: 16/10; background: #0c0c0c; border: 1px solid rgba(250,250,250,0.06); display: flex; align-items: center; justify-content: center; color: rgba(250,250,250,0.7); margin-bottom: 12px; }
.adm-layout-thumb svg { width: 80%; height: 80%; }
.adm-layout-card.is-selected .adm-layout-thumb { color: var(--gold); border-color: var(--gold); }
.adm-layout-meta { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.adm-layout-tag { font: 400 8.5px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); }
.adm-layout-name { font: 300 14px/1.2 'Halenoir'; color: #fff; }
.adm-layout-desc { font: 400 11px/1.5 'Halenoir'; color: rgba(250,250,250,0.6); }
.adm-layout-apply { background: transparent; border: 1px solid rgba(250,250,250,0.15); color: rgba(250,250,250,0.85); padding: 8px 14px; cursor: pointer; font: 400 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; transition: all 240ms; width: 100%; }
.adm-layout-apply:hover { border-color: var(--gold); color: var(--gold); }
.adm-layout-card.is-selected .adm-layout-apply { background: rgba(201,168,76,0.15); border-color: var(--gold); color: var(--gold); }

/* ─── Leads list ─────────────────────────────────────────── */
.adm-leads-list { display: flex; flex-direction: column; gap: 8px; }
.adm-lead { display: grid; grid-template-columns: 40px 1fr auto; gap: 14px; padding: 14px; background: rgba(255,255,255,0.02); border: 1px solid rgba(250,250,250,0.06); align-items: center; }
.adm-lead-num { font: 400 10px/1 'Halenoir'; letter-spacing: 0.22em; color: var(--gold); }
.adm-lead-data { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.adm-lead-name { font: 400 14px/1.2 'Halenoir'; color: #fff; }
.adm-lead-meta { font: 400 11px/1.4 'Halenoir'; color: rgba(250,250,250,0.6); }
.adm-lead-extra { font: 400 9.5px/1.4 'Halenoir'; letter-spacing: 0.18em; color: rgba(250,250,250,0.45); text-transform: uppercase; }
.adm-lead-wpp { background: rgba(201,168,76,0.12); border: 1px solid var(--gold); color: var(--gold); padding: 8px 14px; cursor: pointer; font: 400 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; transition: all 240ms; }
.adm-lead-wpp:hover { background: rgba(201,168,76,0.25); }

/* ─── Layout variants: body[data-layout] ─────────────────── */
/* bento-grid */
body.menu[data-layout="bento-grid"] .menu-grid { grid-template-columns: 2fr 1fr 1fr 1fr !important; grid-template-rows: repeat(4, 1fr) !important; gap: 12px !important; }
body.menu[data-layout="bento-grid"] .col { display: contents !important; }
body.menu[data-layout="bento-grid"] .card-h:first-child { grid-column: 1 / 3; grid-row: 1 / 3; aspect-ratio: auto !important; }

/* brutalist */
body.menu[data-layout="brutalist"] { background: #fff; color: #000; }
body.menu[data-layout="brutalist"] .card-bg { filter: grayscale(1) contrast(1.5); }
body.menu[data-layout="brutalist"] .card-title { font-family: 'Halenoir' !important; font-weight: 500 !important; text-transform: uppercase; letter-spacing: 0.04em; }
body.menu[data-layout="brutalist"] .totem-header { background: #000; color: #fff; }

/* stack-card */
body.menu[data-layout="stack-card"] .menu-grid { display: flex !important; align-items: center; justify-content: center; }
body.menu[data-layout="stack-card"] .col { display: none; }
body.menu[data-layout="stack-card"] .col-mid { display: flex !important; }

/* cinema-strip */
body.menu[data-layout="cinema-strip"] .menu-grid { display: flex !important; flex-direction: row; overflow-x: auto; gap: 0 !important; }
body.menu[data-layout="cinema-strip"] .col { flex: 0 0 100%; display: flex; flex-direction: column; }

/* magazine-spread */
body.menu[data-layout="magazine-spread"] .menu-grid { grid-template-columns: 1fr 1fr !important; }
body.menu[data-layout="magazine-spread"] .col-mid { grid-column: 1 / 2; }
body.menu[data-layout="magazine-spread"] .col-left, body.menu[data-layout="magazine-spread"] .col-right { grid-column: 2 / 3; }

/* hex-honeycomb */
body.menu[data-layout="hex-honeycomb"] .card { clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); }

/* spatial-3d */
body.menu[data-layout="spatial-3d"] .menu-grid { perspective: 1400px; }
body.menu[data-layout="spatial-3d"] .card { transform: rotateX(4deg) rotateY(-2deg); transition: transform 480ms; }
body.menu[data-layout="spatial-3d"] .card:hover { transform: rotateX(0) rotateY(0) translateZ(20px); }

/* Backward-compat: old admin-section/admin-input classes used in legacy tab renders */
.admin-section { margin-bottom: 32px; }
.admin-mini { font: 400 9.5px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.admin-section h3 { font: 300 16px/1.2 'Halenoir'; color: #fff; margin-bottom: 14px; }
.admin-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.admin-label { font: 400 10px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(250,250,250,0.55); }
.admin-input, .admin-textarea, .admin-select { background: transparent; border: 1px solid rgba(250,250,250,0.12); color: #fff; padding: 10px 14px; font-family: 'Halenoir'; font-weight: 300; font-size: 13px; outline: none; transition: border-color 240ms; }
.admin-input:focus, .admin-textarea:focus, .admin-select:focus { border-color: var(--gold); }
.admin-textarea { min-height: 80px; resize: vertical; font-family: 'SF Mono', Menlo, monospace; font-size: 12px; }
.admin-color-row { display: grid; grid-template-columns: 1fr 80px; gap: 10px; align-items: center; }
.admin-color-row input[type="color"] { width: 100%; height: 32px; padding: 0; border: 1px solid rgba(250,250,250,0.12); background: transparent; cursor: pointer; }
.admin-btn { background: rgba(201,168,76,0.1); border: 1px solid var(--gold); color: var(--gold); padding: 10px 16px; cursor: pointer; font: 400 10px/1 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; transition: all 240ms; margin-right: 8px; }
.admin-btn:hover { background: rgba(201,168,76,0.2); }
.admin-btn-secondary { border-color: rgba(250,250,250,0.15); color: rgba(250,250,250,0.85); background: transparent; }
.admin-btn-secondary:hover { border-color: var(--gold); color: var(--gold); }
.admin-file-row { display: flex; gap: 8px; align-items: center; }

/* ─── SF Symbols-style icons (override unicode-based) — reduzido 40% ──── */
.card-icon {
  width: clamp(13px, 1.14vw, 18px);
  height: clamp(13px, 1.14vw, 18px);
  stroke-width: 1.4;
  color: rgba(250,250,250,0.92);
  flex: 0 0 auto;
  align-self: flex-end;
  opacity: 0.92;
  transition: opacity var(--t), transform var(--t), color var(--t);
}
.card:hover .card-icon, .card:active .card-icon {
  opacity: 1;
  transform: scale(1.10);
  color: var(--gold);
}

/* Garantir que card-bg sempre carregue visível (sem opacity 0 inicial) */
.card-bg {
  opacity: 1 !important;
}

/* ─── ARCHVIZ MODE — Maquete 3D Aurora Oasis ──────────────── */
body.archviz-mode .secao-hero { min-height: 90vh; }
.archviz-stage {
  margin: clamp(40px, 6vh, 80px) 0;
  perspective: 1800px;
}
.archviz-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border: 1px solid rgba(250,250,250,0.08);
  background: #000;
  box-shadow: 0 40px 100px rgba(0,0,0,0.7), 0 0 0 1px rgba(201,168,76,0.08);
  cursor: crosshair;
}
.archviz-layer {
  position: absolute;
  inset: -4%;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transform-origin: center;
  transition: transform 480ms cubic-bezier(0.25,0.1,0.25,1);
  will-change: transform;
}
.archviz-bg  { filter: blur(0.5px) brightness(0.92) saturate(1.05); z-index: 1; }
.archviz-mid { filter: blur(0px) brightness(1) saturate(1.08); z-index: 2; mix-blend-mode: normal; opacity: 0.92; mask-image: radial-gradient(ellipse 70% 60% at center, black 30%, transparent 100%); }
.archviz-fg  { filter: brightness(1.08) saturate(1.15) contrast(1.08); z-index: 3; opacity: 0.55; mask-image: radial-gradient(ellipse 50% 40% at 70% 80%, black 0%, transparent 90%); }
.archviz-vignette {
  position: absolute; inset: 0; z-index: 4;
  background:
    radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.55) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.15) 0%, transparent 30%, transparent 70%, rgba(0,0,0,0.45) 100%);
  pointer-events: none;
}
.archviz-caption {
  position: absolute; left: clamp(20px, 2vw, 40px); bottom: clamp(20px, 2.5vh, 32px);
  z-index: 5; display: flex; flex-direction: column; gap: 6px;
  pointer-events: none;
}
.archviz-mini { font-family: 'Halenoir'; font-weight: 400; font-size: clamp(10px, 0.95vw, 13px); letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); }
.archviz-loc { font-family: 'Halenoir'; font-weight: 300; font-size: clamp(13px, 1.2vw, 18px); color: rgba(250,250,250,0.92); letter-spacing: 0.04em; }

.archviz-spec {
  margin: clamp(24px, 4vh, 48px) 0;
}
.spec-row {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2vw, 32px);
  border-top: 1px solid rgba(250,250,250,0.08);
  border-bottom: 1px solid rgba(250,250,250,0.08);
  padding: clamp(20px, 3vh, 32px) 0;
}
.spec-col { display: flex; flex-direction: column; gap: 8px; }
.spec-mini { font-family: 'Halenoir'; font-weight: 400; font-size: clamp(9px, 0.85vw, 11px); letter-spacing: 0.28em; text-transform: uppercase; color: rgba(250,250,250,0.5); }
.spec-val { font-family: 'Halenoir'; font-weight: 300; font-size: clamp(15px, 1.4vw, 22px); color: #fff; letter-spacing: 0.02em; }

.archviz-narr {
  margin-top: clamp(32px, 5vh, 64px);
  max-width: 760px;
}
.archviz-narr p {
  font-family: 'Halenoir'; font-weight: 300;
  font-size: clamp(14px, 1.2vw, 18px); line-height: 1.7;
  color: rgba(250,250,250,0.85);
  margin-bottom: 18px;
}

@media (orientation: portrait), (max-aspect-ratio: 1/1) {
  .spec-row { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .archviz-frame { aspect-ratio: 4/3; }
}

@media (prefers-reduced-motion: reduce) {
  .archviz-layer { transition: none !important; }
}

/* ─── Archviz 3D Viewer (GLB / Three.js) ──────────────── */
.archviz-3d-viewer { margin: clamp(40px, 6vh, 80px) 0; }
.av3d-mini { font: 400 9.5px/1 'Halenoir'; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.av3d-title { font: 300 22px/1.2 'Halenoir'; color: #fff; margin-bottom: 18px; }
.av3d-canvas-wrap { position: relative; width: 100%; aspect-ratio: 16/10; background: #000; border: 1px solid rgba(250,250,250,0.08); overflow: hidden; }
#archviz-3d { width: 100%; height: 100%; display: block; cursor: grab; }
#archviz-3d:active { cursor: grabbing; }
.av3d-controls { position: absolute; bottom: 12px; left: 12px; display: flex; gap: 8px; }
.av3d-btn { background: rgba(0,0,0,0.6); backdrop-filter: blur(10px); border: 1px solid rgba(250,250,250,0.15); color: #fff; padding: 10px 16px; cursor: pointer; font: 400 10px/1 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; transition: all 240ms; }
.av3d-btn:hover { border-color: var(--gold); color: var(--gold); }

/* ─── LOCALIZAÇÃO HIPER INTERATIVA ──────────────────────── */
.loc-toolbar {
  display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
  margin: clamp(20px, 3vh, 32px) 0 16px;
}
.loc-search-wrap {
  display: flex; flex: 1 1 320px; min-width: 240px;
  border: 1px solid rgba(250,250,250,0.12);
}
.loc-search-wrap input {
  flex: 1; background: transparent; border: 0; padding: 12px 16px;
  font-family: 'Halenoir'; font-weight: 300; font-size: 14px; color: #fff;
  outline: none;
}
.loc-search-wrap input::placeholder { color: rgba(250,250,250,0.4); }
.loc-search-wrap button {
  background: transparent; border-left: 1px solid rgba(250,250,250,0.12);
  color: #fff; padding: 0 18px; cursor: pointer;
  font-family: 'Halenoir'; font-weight: 400; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  transition: color 240ms, background 240ms;
}
.loc-search-wrap button:hover { color: var(--gold); background: rgba(201,168,76,0.06); }

.loc-layer-switcher { display: flex; gap: 4px; padding: 4px; background: rgba(250,250,250,0.04); border: 1px solid rgba(250,250,250,0.08); }
.ll-btn { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 10px; background: transparent; border: 1px solid transparent; cursor: pointer; transition: all 280ms; min-width: 60px; }
.ll-btn:hover { background: rgba(255,255,255,0.04); border-color: rgba(250,250,250,0.1); }
.ll-btn.is-active { border-color: var(--gold); background: rgba(201,168,76,0.06); }
.ll-thumb { width: 36px; height: 24px; border: 1px solid rgba(250,250,250,0.1); }
.ll-sat { background: linear-gradient(135deg, #2d4a3e, #5a8268, #c8a878); }
.ll-str { background: #1a1a1a; }
.ll-ter { background: linear-gradient(135deg, #d4c19a, #8b6f47, #4a5d3a); }
.ll-drk { background: linear-gradient(135deg, #0a0a0a, #1a1a2e, #2d3a4e); }
.ll-lbl { font: 400 9px/1 'Halenoir'; letter-spacing: 0.06em; color: rgba(250,250,250,0.7); }
.ll-btn.is-active .ll-lbl { color: var(--gold); }

.loc-stage {
  position: relative; height: clamp(520px, 70vh, 820px);
  background: #000; border: 1px solid rgba(250,250,250,0.08);
  overflow: hidden;
  display: grid;
  grid-template-columns: 280px 1fr;
}
.loc-stage::before {
  content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none;
  background: var(--dc-tint, transparent);
  transition: background 600ms ease;
  mix-blend-mode: overlay;
}
.loc-map {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 100%;
}

.loc-cities {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  display: flex; flex-direction: column; gap: 2px;
  padding: 18px 16px;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(14px);
  border-right: 1px solid rgba(250,250,250,0.08);
  width: 100%;
  height: 100%;
  overflow-y: auto;
  z-index: 5;
}
.lc-btn { background: transparent; border: 0; padding: 8px 12px; text-align: left; cursor: pointer; font: 400 12px/1.3 'Halenoir'; color: rgba(250,250,250,0.85); transition: all 240ms; display: flex; flex-direction: column; gap: 2px; position: relative; }
.lc-btn::before { content: ""; position: absolute; left: 0; top: 50%; width: 0; height: 1px; background: var(--gold); transition: width 280ms; transform: translateY(-50%); }
.lc-btn:hover { color: var(--gold); padding-left: 18px; }
.lc-btn:hover::before { width: 12px; }
.lc-btn.is-active { color: var(--gold); }
.lc-btn.is-active::before { width: 12px; }
.lc-name { font-weight: 400; }
.lc-meta { font-size: 9.5px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(250,250,250,0.5); }
.lc-aurora .lc-name { color: var(--gold); font-weight: 500; }
.lc-divider { height: 1px; background: rgba(250,250,250,0.1); margin: 4px 0; }
.lc-tour, .lc-overview, .lc-3d, .lc-pois { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; }
.lc-tour { color: var(--gold); }

/* Overlays sobre o mapa — JS move pra dentro de .loc-map (que é position relative) */
.loc-coords { position: absolute; bottom: 14px; left: 14px; z-index: 4; padding: 6px 12px; background: rgba(0,0,0,0.7); backdrop-filter: blur(10px); border: 1px solid rgba(250,250,250,0.08); font: 400 10px/1 'SF Mono', Menlo, monospace; color: rgba(250,250,250,0.75); cursor: pointer; transition: color 240ms; }
.loc-coords:hover { color: var(--gold); }

.loc-compass { position: absolute; top: 14px; right: 14px; z-index: 4; width: 38px; height: 38px; padding: 0; background: rgba(0,0,0,0.7); backdrop-filter: blur(10px); border: 1px solid rgba(250,250,250,0.12); color: #fff; cursor: pointer; transition: transform 240ms, color 240ms, border-color 240ms; display: flex; align-items: center; justify-content: center; }
.loc-compass:hover { color: var(--gold); border-color: var(--gold); }
.loc-compass svg { width: 16px; height: 16px; }

.loc-minimap { position: absolute; bottom: 14px; right: 14px; z-index: 4; width: 180px; height: 120px; border: 1px solid rgba(250,250,250,0.12); overflow: hidden; background: #0a0a0a; }

.loc-share { position: absolute; top: 14px; right: 64px; z-index: 4; padding: 8px 14px; background: rgba(0,0,0,0.7); backdrop-filter: blur(10px); border: 1px solid rgba(250,250,250,0.12); color: rgba(250,250,250,0.85); cursor: pointer; font: 400 9.5px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; transition: all 240ms; height: 38px; display: flex; align-items: center; }
.loc-share:hover { color: var(--gold); border-color: var(--gold); }

.loc-info-card { position: absolute; bottom: 150px; right: 14px; z-index: 4; padding: 14px 18px; min-width: 220px; max-width: 260px; background: rgba(0,0,0,0.88); backdrop-filter: blur(14px); border: 1px solid rgba(201,168,76,0.3); transform: translateY(8px); opacity: 0; transition: all 320ms cubic-bezier(0.25,0.1,0.25,1); }
.loc-info-card.is-visible { opacity: 1; transform: translateY(0); }

/* Mobile: empilha sidebar + mapa */
@media (max-width: 800px) {
  .loc-stage { grid-template-columns: 1fr !important; height: auto !important; }
  .loc-cities { max-height: 280px; border-right: 0; border-bottom: 1px solid rgba(250,250,250,0.08); flex-direction: row; flex-wrap: wrap; overflow-x: auto; overflow-y: hidden; padding: 12px; }
  .loc-map { height: 480px !important; min-height: 480px; }
  .loc-minimap { width: 130px !important; height: 90px !important; }
} padding: 6px 12px; background: rgba(0,0,0,0.7); backdrop-filter: blur(10px); border: 1px solid rgba(250,250,250,0.08); font: 400 10px/1 'SF Mono', Menlo, monospace; color: rgba(250,250,250,0.75); cursor: pointer; transition: color 240ms; }
.loc-coords:hover { color: var(--gold); }

.loc-compass { position: absolute; top: 14px; right: 14px; z-index: 4; width: 38px; height: 38px; padding: 0; background: rgba(0,0,0,0.7); backdrop-filter: blur(10px); border: 1px solid rgba(250,250,250,0.12); color: #fff; cursor: pointer; transition: transform 240ms, color 240ms, border-color 240ms; display: flex; align-items: center; justify-content: center; }
.loc-compass:hover { color: var(--gold); border-color: var(--gold); }
.loc-compass svg { width: 16px; height: 16px; }

.loc-minimap { position: absolute; bottom: 14px; right: 14px; z-index: 4; width: 180px; height: 120px; border: 1px solid rgba(250,250,250,0.12); overflow: hidden; background: #0a0a0a; }

.loc-share { position: absolute; top: 14px; right: 64px; z-index: 4; padding: 8px 14px; background: rgba(0,0,0,0.7); backdrop-filter: blur(10px); border: 1px solid rgba(250,250,250,0.12); color: rgba(250,250,250,0.85); cursor: pointer; font: 400 9.5px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; transition: all 240ms; height: 38px; display: flex; align-items: center; }
.loc-share:hover { color: var(--gold); border-color: var(--gold); }

.loc-info-card { position: absolute; bottom: 150px; right: 14px; z-index: 4; padding: 14px 18px; min-width: 220px; max-width: 260px; background: rgba(0,0,0,0.88); backdrop-filter: blur(14px); border: 1px solid rgba(201,168,76,0.3); transform: translateY(8px); opacity: 0; transition: all 320ms cubic-bezier(0.25,0.1,0.25,1); }
.loc-info-card.is-visible { opacity: 1; transform: translateY(0); }
.ic-cat { font: 400 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.ic-stats { display: flex; gap: 20px; margin-bottom: 10px; }
.ic-stats span { display: flex; flex-direction: column; gap: 2px; }
.ic-stats b { font: 300 18px/1 'Halenoir'; color: #fff; font-weight: 400; }
.ic-stats i { font: 400 9px/1 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(250,250,250,0.5); font-style: normal; margin-top: 4px; }
.ic-route { font: 400 11px/1.5 'Halenoir'; color: rgba(250,250,250,0.7); }

.aurora-marker { position: relative; width: 16px; height: 16px; cursor: pointer; }
.aurora-marker .m-pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid #1a1a1a; box-shadow: 0 1px 4px rgba(0,0,0,0.4); transition: transform 240ms; }
.aurora-marker.is-primary .m-pin { background: var(--gold); border-color: #fff; width: 16px; height: 16px; }
.aurora-marker .m-ring { position: absolute; left: 50%; top: 50%; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--gold); transform: translate(-50%,-50%); animation: m-ringp 2.4s ease-out infinite; pointer-events: none; }
.aurora-marker .m-ring.r2 { animation-delay: 0.8s; }
.aurora-marker .m-ring.r3 { animation-delay: 1.6s; }
@keyframes m-ringp { 0% { transform: translate(-50%,-50%) scale(0.6); opacity: 0.9; } 100% { transform: translate(-50%,-50%) scale(3.2); opacity: 0; } }
.aurora-marker:hover .m-pin { transform: translate(-50%,-50%) scale(1.3); }
.poi-marker .m-pin { background: #4a90e2; border-color: rgba(255,255,255,0.85); width: 10px; height: 10px; }
.poi-marker .m-ring { border-color: rgba(74,144,226,0.5); }

.aurora-popup .maplibregl-popup-content { background: rgba(0,0,0,0.92); backdrop-filter: blur(14px); border: 1px solid rgba(201,168,76,0.3); border-radius: 0; padding: 0; box-shadow: 0 8px 32px rgba(0,0,0,0.5); }
.aurora-popup .maplibregl-popup-tip { display: none; }
.ap-card { padding: 12px 16px; min-width: 220px; }
.ap-cat { font: 400 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.ap-name { font: 300 16px/1.2 'Halenoir'; color: #fff; margin-bottom: 6px; }
.ap-route { font: 400 11px/1.4 'Halenoir'; color: rgba(250,250,250,0.65); }

.loc-route-block, .loc-day-cycle { margin: clamp(40px, 6vh, 64px) 0; padding: clamp(24px, 3.5vh, 40px); border: 1px solid rgba(250,250,250,0.08); }
.loc-route-title { font: 300 22px/1.2 'Halenoir'; color: #fff; margin-bottom: 18px; letter-spacing: 0.02em; }
.loc-route-form { display: flex; gap: 10px; flex-wrap: wrap; }
.loc-route-form input { flex: 1 1 320px; min-width: 240px; background: transparent; border: 1px solid rgba(250,250,250,0.12); color: #fff; padding: 12px 16px; font-family: 'Halenoir'; font-weight: 300; font-size: 14px; outline: none; }
.loc-route-form input::placeholder { color: rgba(250,250,250,0.4); }
.loc-route-form button { background: transparent; border: 1px solid var(--gold); color: var(--gold); padding: 12px 24px; cursor: pointer; font: 400 11px/1 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; transition: all 240ms; }
.loc-route-form button:hover { background: rgba(201,168,76,0.1); }
.loc-route-result { margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(250,250,250,0.08); }
.rr-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 16px; }
.rr-stats > div { display: flex; flex-direction: column; gap: 4px; }
.rr-mini { font: 400 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250,250,250,0.5); }
.rr-val { font: 300 22px/1 'Halenoir'; color: #fff; }
.rr-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.rr-actions a { padding: 10px 18px; border: 1px solid rgba(250,250,250,0.15); color: rgba(250,250,250,0.85); text-decoration: none; font: 400 10px/1 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; transition: all 240ms; }
.rr-actions a:hover { border-color: var(--gold); color: var(--gold); }

.dc-controls { display: flex; align-items: center; gap: 16px; }
.dc-controls input[type="range"] { flex: 1; appearance: none; background: rgba(250,250,250,0.08); height: 2px; outline: none; }
.dc-controls input[type="range"]::-webkit-slider-thumb { appearance: none; width: 14px; height: 14px; border-radius: 50%; background: var(--gold); cursor: pointer; }
.dc-time { font: 400 14px/1 'SF Mono', Menlo, monospace; color: var(--gold); min-width: 60px; }

@media (max-width: 720px) {
  .loc-cities { min-width: 160px; }
  .loc-minimap { width: 130px; height: 90px; }
  .rr-stats { grid-template-columns: 1fr; }
  .ll-lbl { display: none; }
}

/* ─── Experiência: webcam + Gemini Image ──────────────── */
.exp-stage { position: relative; max-width: 1280px; margin: 0 auto; aspect-ratio: 16/9; background: #000; border: 1px solid rgba(250,250,250,0.08); overflow: hidden; }
.exp-step { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.exp-step[hidden] { display: none; }
.exp-step video, .exp-step img { width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); }
.exp-step-result img { transform: none; }
.exp-overlay { position: absolute; inset: 0; pointer-events: none; }
.exp-frame { position: absolute; inset: 8% 18% 18% 18%; border: 1px dashed rgba(201,168,76,0.5); }
.exp-hint { position: absolute; bottom: 80px; left: 0; right: 0; text-align: center; font: 400 13px/1 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(250,250,250,0.7); }
.exp-controls { position: absolute; bottom: 24px; left: 0; right: 0; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.exp-btn { background: transparent; border: 1px solid rgba(250,250,250,0.2); color: rgba(250,250,250,0.85); padding: 14px 24px; cursor: pointer; font: 400 11px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; transition: all 240ms; backdrop-filter: blur(12px); background: rgba(0,0,0,0.4); }
.exp-btn:hover { color: var(--gold); border-color: var(--gold); }
.exp-btn-primary { background: rgba(201,168,76,0.15); border-color: var(--gold); color: var(--gold); }
.exp-btn-primary:hover { background: rgba(201,168,76,0.3); }
.exp-loader { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.exp-loader-ring { width: 60px; height: 60px; border: 2px solid rgba(201,168,76,0.2); border-top-color: var(--gold); border-radius: 50%; animation: exp-spin 1.2s linear infinite; }
@keyframes exp-spin { to { transform: rotate(360deg); } }
.exp-loader-text { font: 300 16px/1 'Halenoir'; color: #fff; letter-spacing: 0.04em; }
.exp-loader-sub { font: 400 11px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(250,250,250,0.5); }

/* ─── Imersivo: MediaPipe Hands ──────────────────────── */
.imm-stage { position: relative; max-width: 1280px; margin: 0 auto; aspect-ratio: 16/9; background: radial-gradient(ellipse at center, #1a1a1a 0%, #000 100%); border: 1px solid rgba(250,250,250,0.08); overflow: hidden; perspective: 1800px; }
#imm-cam { position: absolute; bottom: 16px; right: 16px; width: 200px; height: 150px; object-fit: cover; border: 1px solid rgba(250,250,250,0.2); transform: scaleX(-1); z-index: 5; }
#imm-canvas { display: none; }
#imm-canvas-3d { width: 100%; height: 100%; display: block; }
.imm-3d { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transform-style: preserve-3d; }
.imm-amp { width: 280px; height: 280px; transform-style: preserve-3d; transition: transform 200ms ease-out; }
.imm-amp img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 60px rgba(201,168,76,0.5)); }
.imm-amp.is-open img { animation: imm-amp-open 1.4s ease-out forwards; }
@keyframes imm-amp-open { to { filter: drop-shadow(0 0 120px rgba(201,168,76,1)) brightness(1.2); } }
.imm-amenities { position: absolute; inset: 0; pointer-events: none; }
.imm-amenity {
  position: absolute; left: 50%; top: 50%;
  width: 90px; height: 90px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  background: rgba(0,0,0,0.7); backdrop-filter: blur(14px);
  border: 1px solid rgba(201,168,76,0.4);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  transition: all 480ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.imm-amenity.is-visible {
  opacity: 1;
  transform: translate(calc(-50% + var(--imm-ox, 0px)), calc(-50% + var(--imm-oy, 0px))) scale(1);
}
.imm-amenity.is-focused {
  background: rgba(201,168,76,0.3);
  transform: translate(calc(-50% + var(--imm-ox, 0px)), calc(-50% + var(--imm-oy, 0px))) scale(1.15);
}
.imm-amenity:nth-child(1) { --imm-ox: 240px;  --imm-oy: 0px; }
.imm-amenity:nth-child(2) { --imm-ox: 120px;  --imm-oy: -208px; }
.imm-amenity:nth-child(3) { --imm-ox: -120px; --imm-oy: -208px; }
.imm-amenity:nth-child(4) { --imm-ox: -240px; --imm-oy: 0px; }
.imm-amenity:nth-child(5) { --imm-ox: -120px; --imm-oy: 208px; }
.imm-amenity:nth-child(6) { --imm-ox: 120px;  --imm-oy: 208px; }
.imm-glyph { font: 300 24px/1 'Cinzel', serif; color: var(--gold); }
.imm-label { font: 400 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250,250,250,0.85); }
.imm-status { position: absolute; top: 16px; left: 16px; padding: 8px 14px; background: rgba(0,0,0,0.7); backdrop-filter: blur(12px); border: 1px solid rgba(250,250,250,0.1); display: flex; flex-direction: column; gap: 2px; z-index: 5; }
.imm-status-mini { font: 400 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250,250,250,0.5); }
.imm-status-text { font: 300 13px/1 'Halenoir'; color: #fff; }
.imm-controls { position: absolute; bottom: 16px; left: 16px; display: flex; gap: 8px; z-index: 5; }
.imm-btn { background: rgba(201,168,76,0.15); border: 1px solid var(--gold); color: var(--gold); padding: 12px 20px; cursor: pointer; font: 400 11px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; transition: all 240ms; }
.imm-btn-secondary { background: transparent; border-color: rgba(250,250,250,0.2); color: #fff; }
.imm-btn:hover { background: rgba(201,168,76,0.3); }

/* ─── Hiper transições page-to-page ────────────────────── */
body { transition: opacity 600ms cubic-bezier(0.16,1,0.3,1), filter 600ms cubic-bezier(0.16,1,0.3,1); }
body.page-leaving {
  opacity: 0;
  filter: blur(40px) brightness(0.4);
  transform: scale(1.04);
}

/* Cards entrada — stagger reveal cubic-bezier disruptivo */
.menu-grid .card {
  opacity: 0;
  transform: translateY(60px) rotateX(20deg) scale(0.94);
  filter: blur(20px);
  transition:
    opacity 1100ms cubic-bezier(0.16,1,0.3,1),
    transform 1100ms cubic-bezier(0.16,1,0.3,1),
    filter 1100ms cubic-bezier(0.16,1,0.3,1);
  transform-origin: center bottom;
}
.menu-grid .card.is-revealed {
  opacity: 1;
  transform: translateY(0) rotateX(0) scale(1);
  filter: blur(0);
}

/* Hover 3D depth */
.menu-grid .card:hover {
  transform: translateY(-6px) rotateX(-2deg) scale(1.015);
  z-index: 5;
}
.menu-grid .card:hover .card-bg { transform: scale(1.08); filter: brightness(1.05) saturate(1.1); }
.menu-grid .card:hover .card-tint { background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 60%, rgba(0,0,0,0.65) 100%); }
.menu-grid .card:hover .card-icon { color: var(--gold); transform: scale(1.15) rotate(-3deg); }

/* Saída entrando seção: blur + zoom forward */
body.menu.entering-section .menu-grid .card {
  animation: page-exit-card 600ms cubic-bezier(0.7,0,0.84,0) forwards;
  animation-delay: calc(var(--card-i, 0) * 30ms);
}
@keyframes page-exit-card {
  0%   { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
  100% { opacity: 0; transform: translateY(-40px) scale(0.96); filter: blur(20px); }
}

/* Section entrada — vinda profunda */
body.secao .secao-hero {
  animation: secao-enter 1.4s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes secao-enter {
  0%   { opacity: 0; transform: scale(1.08); filter: blur(30px) brightness(0.4); }
  100% { opacity: 1; transform: scale(1);    filter: blur(0)  brightness(1);   }
}
body.secao .secao-mini, body.secao .secao-title, body.secao .secao-lead {
  opacity: 0;
  animation: secao-text-enter 1.2s cubic-bezier(0.16,1,0.3,1) forwards;
}
body.secao .secao-mini  { animation-delay: 600ms; }
body.secao .secao-title { animation-delay: 800ms; }
body.secao .secao-lead  { animation-delay: 1000ms; }
@keyframes secao-text-enter {
  from { opacity: 0; transform: translateY(20px); filter: blur(8px); }
  to   { opacity: 1; transform: translateY(0);   filter: blur(0);   }
}

/* Saída seção */
body.secao.page-leaving .secao-hero { animation: secao-exit 700ms cubic-bezier(0.7,0,0.84,0) forwards; }
@keyframes secao-exit {
  to { opacity: 0; filter: blur(40px) brightness(0.3); transform: scale(0.94); }
}

/* Burger overlay entrada disruptiva */
.burger-overlay { transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.16,1,0.3,1); }
.burger-overlay.open { transform: translateX(0); }
.burger-overlay.open .overlay-link {
  animation: ov-link-enter 800ms cubic-bezier(0.16,1,0.3,1) both;
}
.burger-overlay.open .overlay-link:nth-child(1)  { animation-delay: 0.20s; }
.burger-overlay.open .overlay-link:nth-child(2)  { animation-delay: 0.26s; }
.burger-overlay.open .overlay-link:nth-child(3)  { animation-delay: 0.32s; }
.burger-overlay.open .overlay-link:nth-child(4)  { animation-delay: 0.38s; }
.burger-overlay.open .overlay-link:nth-child(5)  { animation-delay: 0.44s; }
.burger-overlay.open .overlay-link:nth-child(6)  { animation-delay: 0.50s; }
.burger-overlay.open .overlay-link:nth-child(7)  { animation-delay: 0.56s; }
.burger-overlay.open .overlay-link:nth-child(8)  { animation-delay: 0.62s; }
.burger-overlay.open .overlay-link:nth-child(9)  { animation-delay: 0.68s; }
.burger-overlay.open .overlay-link:nth-child(10) { animation-delay: 0.74s; }
.burger-overlay.open .overlay-link:nth-child(11) { animation-delay: 0.80s; }
.burger-overlay.open .overlay-link:nth-child(12) { animation-delay: 0.86s; }
.burger-overlay.open .overlay-link:nth-child(13) { animation-delay: 0.92s; }
.burger-overlay.open .overlay-link:nth-child(14) { animation-delay: 0.98s; }
@keyframes ov-link-enter {
  from { opacity: 0; transform: translateX(-30px) rotateY(-15deg); filter: blur(8px); }
  to   { opacity: 1; transform: translateX(0)    rotateY(0);      filter: blur(0); }
}

/* ─── Localização layout refinado ──────────────────────── */
.loc-toolbar {
  position: absolute; top: 16px; left: 50%; transform: translateX(-50%);
  z-index: 4;
  display: flex; gap: 10px; align-items: center;
  margin: 0 !important;
  pointer-events: auto;
}
.loc-search-wrap { flex: 0 1 320px; min-width: 200px; background: rgba(0,0,0,0.6); backdrop-filter: blur(14px); border-color: rgba(250,250,250,0.12); }
.loc-layer-switcher { background: rgba(0,0,0,0.6); backdrop-filter: blur(14px); }

/* Side panel cidades — reduzir e colocar melhor */
.loc-cities {
  top: 76px !important; left: 16px !important;
  min-width: 180px !important;
  max-width: 220px;
  padding: 10px 8px !important;
}
.lc-btn { padding: 6px 10px !important; font-size: 11px !important; }
.lc-name { font-size: 13px; }
.lc-meta { font-size: 9px !important; letter-spacing: 0.16em; }

/* Mini-map menor e mais discreto */
.loc-minimap { width: 160px !important; height: 100px !important; bottom: 16px !important; right: 16px !important; }

/* Coords mais discreto */
.loc-coords { padding: 5px 10px !important; font-size: 9px !important; }

/* Info card só aparece com cidade selecionada (não pre-render) */
.loc-info-card {
  display: none;
  position: absolute !important;
  bottom: 130px !important; right: 16px !important;
  min-width: 220px !important; max-width: 280px;
  padding: 12px 16px !important;
}
.loc-info-card.is-visible { display: block; }
.ic-stats b { font-size: 16px !important; }

/* Compass mais discreto */
.loc-compass { width: 38px !important; height: 38px !important; bottom: 130px !important; right: 188px !important; }

/* Share posicionado pra não conflitar */
.loc-share { top: 76px !important; right: 16px !important; padding: 6px 12px !important; font-size: 9px !important; }

/* Stage maior pra acomodar elementos */
.loc-stage { height: clamp(500px, 75vh, 880px) !important; margin-top: 60px; }

/* Route + day cycle blocks lado a lado em landscape */
.loc-route-block, .loc-day-cycle {
  display: inline-block;
  vertical-align: top;
  width: calc(50% - 8px);
}
.loc-route-block { margin-right: 16px !important; }
@media (max-width: 900px) {
  .loc-route-block, .loc-day-cycle { display: block; width: 100%; margin-right: 0 !important; }
}

/* ─── Cadastro Lead ──────────────────────────────────────── */
.cad-stage { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(24px, 4vw, 48px); margin: clamp(24px, 4vh, 48px) 0; }
@media (max-width: 900px) { .cad-stage { grid-template-columns: 1fr; } }
.cad-form { background: rgba(250,250,250,0.03); border: 1px solid rgba(250,250,250,0.08); padding: clamp(28px, 4vh, 56px); position: relative; min-height: 380px; }
.cad-step { display: none; flex-direction: column; gap: 18px; animation: cad-step-in 720ms cubic-bezier(0.16,1,0.3,1) both; }
.cad-step.is-active { display: flex; }
@keyframes cad-step-in { from { opacity: 0; transform: translateX(20px); filter: blur(8px); } to { opacity: 1; transform: translateX(0); filter: blur(0); } }
.cad-step-num { font: 400 10px/1 'Halenoir'; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); }
.cad-label { font: 300 24px/1.2 'Halenoir'; color: #fff; letter-spacing: 0.02em; }
.cad-input { background: transparent; border: 0; border-bottom: 1px solid rgba(250,250,250,0.2); color: #fff; padding: 12px 0; font-family: 'Halenoir'; font-weight: 300; font-size: 18px; outline: none; transition: border-color 320ms; width: 100%; }
.cad-input::placeholder { color: rgba(250,250,250,0.35); }
.cad-input:focus { border-bottom-color: var(--gold); }
.cad-input.cad-err { border-bottom-color: #ff5555; animation: cad-shake 320ms cubic-bezier(0.36,0.07,0.19,0.97); }
@keyframes cad-shake { 0%,100%{transform:translateX(0);} 20%,60%{transform:translateX(-6px);} 40%,80%{transform:translateX(6px);} }
.cad-actions { display: flex; gap: 10px; margin-top: 12px; }
.cad-btn { background: transparent; border: 1px solid rgba(250,250,250,0.15); color: #fff; padding: 14px 24px; cursor: pointer; font: 400 11px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; transition: all 240ms; text-decoration: none; display: inline-block; }
.cad-btn:hover { border-color: var(--gold); color: var(--gold); }
.cad-btn-next, .cad-btn-submit { background: rgba(201,168,76,0.15); border-color: var(--gold); color: var(--gold); }
.cad-btn-next:hover, .cad-btn-submit:hover { background: rgba(201,168,76,0.3); }
.cad-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.cad-chip { background: transparent; border: 1px solid rgba(250,250,250,0.15); color: rgba(250,250,250,0.85); padding: 12px 18px; cursor: pointer; font: 400 11px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; transition: all 240ms; }
.cad-chip:hover { border-color: rgba(201,168,76,0.5); color: #fff; }
.cad-chip.is-selected { background: rgba(201,168,76,0.18); border-color: var(--gold); color: var(--gold); }
.cad-success { align-items: center; text-align: center; }
.cad-success-icon { color: var(--gold); animation: cad-check 1.6s cubic-bezier(0.16,1,0.3,1) forwards; }
@keyframes cad-check { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.cad-success-title { font: 300 28px/1.2 'Halenoir'; color: #fff; }
.cad-success-text { font: 400 14px/1.6 'Halenoir'; color: rgba(250,250,250,0.7); max-width: 480px; }

.cad-side { background: rgba(250,250,250,0.02); border: 1px solid rgba(250,250,250,0.06); padding: clamp(28px, 4vh, 48px); display: flex; flex-direction: column; gap: 18px; }
.cad-side-mini { font: 400 9px/1 'Halenoir'; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); }
.cad-side-title { font: 300 22px/1.2 'Halenoir'; color: #fff; }
.cad-side-text { font: 400 13px/1.6 'Halenoir'; color: rgba(250,250,250,0.7); }
.cad-side-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-top: 16px; border-top: 1px solid rgba(250,250,250,0.08); }
.cad-side-stats > div { display: flex; flex-direction: column; gap: 2px; }
.cad-stat-mini { font: 400 9px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(250,250,250,0.5); }
.cad-stat-val { font: 300 18px/1 'Halenoir'; color: #fff; }

/* ─── Override global para títulos: sem first-letter inflada, balance ─── */
h1, h2, h3, h4, .step-title, .pillar-title, .ls-title, .archviz-title, .layer-title, .av3d-title, .cad-side-title, .loc-route-title, .modal-title {
  font-variant-caps: normal !important;
  font-feature-settings: "smcp" 0, "c2sc" 0, "c2pc" 0 !important;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}
h1::first-letter, h2::first-letter, h3::first-letter, h4::first-letter,
.secao-title::first-letter, .step-title::first-letter, .pillar-title::first-letter,
.archviz-title::first-letter, .av3d-title::first-letter, .cad-side-title::first-letter,
.loc-route-title::first-letter {
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* Originais ampulheta — glow suave + animação visível */
.amp-original {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
  transform-origin: center center;
  will-change: transform, filter;
  animation:
    amp-orig-breathe 7s ease-in-out infinite alternate,
    amp-orig-sway   11s ease-in-out infinite alternate,
    amp-orig-glow    9s ease-in-out infinite alternate !important;
}
@keyframes amp-orig-breathe {
  from { transform: scale(1)     translateY(0); }
  to   { transform: scale(1.035) translateY(-8px); }
}
@keyframes amp-orig-sway {
  from { rotate: -2.2deg; }
  to   { rotate:  2.2deg; }
}
@keyframes amp-orig-glow {
  from { filter: drop-shadow(0 0 18px rgba(201,168,76,0.18)) drop-shadow(0 0 40px rgba(201,168,76,0.08)) brightness(0.96); }
  to   { filter: drop-shadow(0 0 28px rgba(201,168,76,0.30)) drop-shadow(0 0 60px rgba(201,168,76,0.15)) brightness(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .amp-original { animation: none; }
}

/* ─── Admin trigger dentro do overlay-footer ─────────────── */
.overlay-footer { display: flex !important; align-items: center; justify-content: space-between; gap: 16px; }
.admin-trigger-inline {
  position: static !important;
  bottom: auto !important; right: auto !important;
  margin-left: auto;
  width: 36px !important; height: 36px !important;
  background: transparent;
  border: 1px solid rgba(250,250,250,0.12) !important;
  cursor: pointer;
  display: flex !important; flex-direction: column; gap: 3px;
  align-items: center; justify-content: center;
  opacity: 0.45;
  transition: opacity 320ms, border-color 320ms;
  padding: 0;
  flex: 0 0 auto;
}
.admin-trigger-inline:hover { opacity: 1; border-color: var(--gold) !important; }
.admin-trigger-inline span {
  display: block; width: 14px; height: 1px;
  background: rgba(250,250,250,0.7);
}
.admin-trigger-inline:hover span { background: var(--gold); }

/* ─── Admin preview mode (iframe no painel admin) ─────────── */
body.admin-preview-mode #admin-overlay,
body.admin-preview-mode #admin-trigger,
body.admin-preview-mode #burger-overlay { display: none !important; }
body.admin-preview-mode { overflow: hidden; pointer-events: none; }
body.admin-preview-mode .menu-grid { transform: scale(1); }

/* ─── Remover partículas + intro animation do standby ─────── */
.amp-particles, .amp-p { display: none !important; }
.amp-scene {
  animation: none !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}
.amp-q-letter {
  animation: amp-letter-shimmer 4s ease-in-out infinite !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.standby-brand .brand-oasis-img,
.standby-brand .brand-loc {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* ─── Garantir admin overlay 100% oculto até user abrir ─── */
.admin-overlay[hidden] { display: none !important; visibility: hidden !important; pointer-events: none !important; }
.admin-overlay { display: none; }
.admin-overlay:not([hidden]) { display: flex !important; visibility: visible !important; pointer-events: auto !important; }

/* ─── Thumb label funcionalidade ─────────────────────── */
.thumb-label-funcao {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  padding: 8px 10px !important;
  background: rgba(0,0,0,0.85) !important;
  font: 400 10px/1.3 'Halenoir' !important;
  letter-spacing: 0.06em !important;
  color: var(--gold) !important;
  cursor: pointer !important;
  text-transform: none !important;
  text-align: center !important;
}

/* ─── Standby fundo profundidade de campo ─────────────── */
body.standby .standby-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 30% 30%, rgba(80, 60, 30, 0.25) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 70%, rgba(60, 40, 20, 0.2) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(20, 15, 10, 0.4) 0%, rgba(0,0,0,1) 80%);
  filter: blur(40px);
}
body.standby .amp-stage {
  filter: drop-shadow(0 0 40px rgba(0,0,0,0.8));
}

/* ─── Admin trigger ícone dourado ─────────────────────── */
.admin-trigger-inline {
  color: var(--gold) !important;
  border-color: rgba(201,168,76,0.35) !important;
  opacity: 0.85 !important;
}
.admin-trigger-inline svg {
  color: var(--gold) !important;
  stroke: var(--gold) !important;
}
.admin-trigger-inline:hover {
  opacity: 1 !important;
  border-color: var(--gold) !important;
  background: rgba(201,168,76,0.08);
}

/* ─── Quote card · Ampulheta 3D background + reveal letra a letra ─── */
.quote-card {
  position: relative;
  overflow: hidden;
}
.quote-amp-bg {
  position: absolute;
  left: 50%; top: 50%;
  width: 88%; height: auto;
  transform: translate(-50%, -50%);
  opacity: 0.12;
  filter: drop-shadow(0 0 24px rgba(201,168,76,0.25));
  pointer-events: none;
  z-index: 0;
  animation: none;
  transform-origin: center center;
}

.quote-text { position: relative; z-index: 2; }
.quote-text .qw { display: inline-block; white-space: nowrap; }
.quote-text .ql {
  display: inline-block;
  opacity: 0;
  transform: translateY(14px) rotateX(-30deg);
  filter: blur(6px);
  transition:
    opacity 720ms cubic-bezier(0.16,1,0.3,1),
    transform 720ms cubic-bezier(0.16,1,0.3,1),
    filter 720ms cubic-bezier(0.16,1,0.3,1);
  transition-delay: calc(var(--li, 0) * 26ms + 600ms);
  transform-origin: center bottom;
}
.quote-text.is-revealed .ql {
  opacity: 1;
  transform: translateY(0) rotateX(0);
  filter: blur(0);
}
/* Hover micro animation por letra */
.quote-text .ql:hover {
  color: var(--gold);
  transform: translateY(-3px) scale(1.08);
  transition-delay: 0ms;
}

@media (prefers-reduced-motion: reduce) {
  .quote-amp-bg { animation: none !important; }
  .quote-text .ql { transition: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* ─── Quote: ênfase NT Epika dourado em raro/tempo/único/vida/sente ─── */
.quote-text .qw-em .ql {
  font-family: 'NT Epika', 'Halenoir', Georgia, serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: var(--gold) !important;
  font-size: 1.06em !important;
  letter-spacing: 0.01em !important;
  text-shadow: 0 0 18px rgba(201,168,76,0.18) !important;
}
/* Canvas ampulheta 3D standby */
.amp-3d-canvas {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.amp-3d-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0.12 !important;
  filter: blur(6px) drop-shadow(0 0 18px rgba(201,168,76,0.35)) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* PNG fiel oficial é a fonte primária — esconde canvas 3D (desativado) */
.amp-stage .amp-3d-canvas { display: none !important; }
.amp-stage .amp-original {
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter:
    drop-shadow(0 0 28px rgba(232, 182, 90, 0.45))
    drop-shadow(0 0 70px rgba(212, 168, 90, 0.28))
    drop-shadow(0 0 140px rgba(201, 168, 76, 0.18));
  animation: amp-fiel-breath 5.6s ease-in-out infinite alternate, amp-fiel-sway 9.8s ease-in-out infinite alternate;
  transform-origin: center center;
  will-change: transform, filter;
}
@keyframes amp-fiel-breath {
  0%   { transform: scale(1)     translateY(0); }
  100% { transform: scale(1.025) translateY(-6px); }
}
@keyframes amp-fiel-sway {
  0%   { rotate: -1.2deg; }
  100% { rotate:  1.2deg; }
}
@media (prefers-reduced-motion: reduce) {
  .amp-stage .amp-original { animation: none; }
}

/* ─── Zero italic global ─────────────────────────────────── */
*, *::before, *::after { font-style: normal !important; }
i, em { font-style: normal; display: inline; }

/* ─── Maquete 3D · Diorama ───────────────────────────────────── */
.maquete-3d-stage {
  position: relative;
  width: 100%;
  height: clamp(580px, 84vh, 1080px);
  background: radial-gradient(ellipse at center, #1a1208 0%, #050402 75%);
  border: 1px solid rgba(201, 168, 76, 0.18);
  overflow: hidden;
  margin: 28px 0;
}
.maquete-3d-stage:fullscreen,
.maquete-3d-stage:-webkit-full-screen {
  height: 100vh !important; margin: 0; border: 0; border-radius: 0;
}
#maquete-canvas {
  display: block; width: 100%; height: 100%;
  cursor: grab;
}
#maquete-canvas:active { cursor: grabbing; }
.maquete-overlay {
  position: absolute; top: 24px; left: 24px; right: 24px;
  display: flex; justify-content: space-between; align-items: flex-start;
  pointer-events: none; z-index: 2;
}
.maquete-caption { display: flex; flex-direction: column; gap: 6px; }
.cap-mini {
  font: 400 10px/1 'Halenoir'; color: var(--gold);
  letter-spacing: 0.32em; text-transform: uppercase;
}
.cap-title {
  font: 400 16px/1.3 'Halenoir'; color: rgba(250,250,250,0.9);
  letter-spacing: 0.04em; max-width: 360px;
}
.maquete-hint {
  display: flex; align-items: center; gap: 8px;
  font: 400 10px/1 'Halenoir'; color: rgba(250,250,250,0.55);
  letter-spacing: 0.18em; text-transform: uppercase;
}
.maquete-controls {
  position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 8px; z-index: 2;
}
.mq-btn {
  background: rgba(0,0,0,0.55); backdrop-filter: blur(8px);
  border: 1px solid rgba(250,250,250,0.18);
  color: rgba(250,250,250,0.85);
  padding: 10px 18px;
  font: 400 11px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase;
  cursor: pointer;
  transition: all 280ms cubic-bezier(0.25,0.1,0.25,1);
}
.mq-btn:hover {
  border-color: var(--gold); color: var(--gold);
  background: rgba(201,168,76,0.08);
}
.mq-btn-toggle.is-on { border-color: var(--gold); color: var(--gold); }
@media (max-width: 720px) {
  .maquete-controls { flex-wrap: wrap; justify-content: center; max-width: 90%; }
  .mq-btn { padding: 8px 12px; font-size: 10px; }
  .cap-title { font-size: 13px; }
}

/* ─── Admin · Imagens & Thumbs (grupos colapsáveis) ───────────── */
.adm-img-group {
  border: 1px solid rgba(250,250,250,0.08);
  margin-bottom: 16px;
  background: rgba(0,0,0,0.25);
}
.adm-img-summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font: 400 12px/1 'Halenoir';
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(250,250,250,0.85);
  user-select: none;
  transition: background 200ms;
}
.adm-img-summary::-webkit-details-marker { display: none; }
.adm-img-summary::before {
  content: "▸";
  display: inline-block;
  margin-right: 12px;
  font-size: 10px;
  color: var(--gold);
  transition: transform 240ms cubic-bezier(0.25,0.1,0.25,1);
}
.adm-img-group[open] > .adm-img-summary::before { transform: rotate(90deg); }
.adm-img-summary:hover { background: rgba(201,168,76,0.06); color: var(--gold); }
.adm-img-group-title { flex: 1; }
.adm-img-count {
  font: 400 10px/1 'Halenoir';
  color: rgba(201,168,76,0.7);
  letter-spacing: 0.18em;
  padding: 4px 10px;
  border: 1px solid rgba(201,168,76,0.25);
}
.adm-img-group > .adm-desc {
  padding: 0 18px 12px;
  margin: 0;
  font-size: 11px;
}
.adm-img-group > .admin-thumb-grid {
  padding: 8px 18px 18px;
}
.adm-count {
  font: 400 10px/1 'Halenoir';
  color: var(--gold);
  letter-spacing: 0.18em;
  padding: 4px 10px;
  border: 1px solid rgba(201,168,76,0.4);
  margin-left: 10px;
  vertical-align: middle;
}

/* Botão restore individual (↺) sobre cada thumb */
.admin-thumb-item { position: relative; }
.thumb-restore {
  position: absolute;
  top: 8px; right: 8px;
  width: 28px; height: 28px;
  background: rgba(0,0,0,0.7);
  border: 1px solid rgba(201,168,76,0.4);
  color: var(--gold);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 240ms cubic-bezier(0.25,0.1,0.25,1);
  z-index: 3;
  backdrop-filter: blur(6px);
}
.thumb-restore:hover {
  background: var(--gold);
  color: #0a0a0a;
  transform: rotate(-180deg) scale(1.1);
}

/* ─── Layout Editorial Aurora · Imagens & Vídeos ────────────────── */
.ed-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 0;
}

/* Hero banner top — proporção mais panorâmica + gradient mais elegante */
.ed-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 3.6;
  overflow: hidden;
  background: #0a0a0a;
  border: 1px solid rgba(250,250,250,0.06);
}
.ed-hero-bg, .ed-hero-vid {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(100%) brightness(0.55) contrast(1.08);
  transition: filter 1000ms cubic-bezier(0.25,0.1,0.25,1), transform 1500ms cubic-bezier(0.25,0.1,0.25,1);
  transform: scale(1.02);
}
.ed-hero:hover .ed-hero-bg, .ed-hero:hover .ed-hero-vid {
  filter: grayscale(100%) brightness(0.7) contrast(1.12);
  transform: scale(1.06);
}
.ed-hero-tint {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.15) 35%, transparent 60%, rgba(0,0,0,0.25) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.55) 100%);
  pointer-events: none;
}
.ed-hero-title {
  position: absolute;
  bottom: 26%;
  left: 6%;
  margin: 0;
  font: 300 clamp(32px, 5.2vw, 78px)/1 'Halenoir', 'Helvetica Neue', sans-serif;
  font-style: normal !important;
  letter-spacing: 0.005em;
  color: rgba(250,250,250,0.96);
  text-transform: none;
  z-index: 2;
  text-shadow: 0 2px 24px rgba(0,0,0,0.4);
}
.ed-slash {
  color: rgba(250,250,250,0.45);
  font-weight: 300;
  margin-right: 0.35em;
  display: inline-block;
}
/* Hairline dourado sob o título */
.ed-hero-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  margin-top: 18px;
  opacity: 0.7;
}

/* Grid de cards — mais respiro */
.ed-grid {
  display: grid;
  gap: 18px;
  width: 100%;
}
.ed-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ed-grid-2 { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 900px) {
  .ed-grid-3 { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .ed-grid-2 { grid-template-columns: 1fr; gap: 14px; }
  .ed-hero { aspect-ratio: 16 / 5.2; }
}
@media (max-width: 600px) {
  .ed-grid-3, .ed-grid-2 { grid-template-columns: 1fr; }
  .ed-hero { aspect-ratio: 16 / 7; }
  .ed-section { gap: 18px; }
}

/* Card editorial — proporção 16:10 cinematográfica + border sutil */
.ed-card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(250,250,250,0.06);
  background: #0a0a0a;
  cursor: pointer;
  overflow: hidden;
  padding: 0;
  outline: none;
  transition: border-color 500ms cubic-bezier(0.25,0.1,0.25,1), transform 600ms cubic-bezier(0.25,0.1,0.25,1);
}
.ed-card:hover {
  transform: translateY(-2px);
  border-color: rgba(201, 168, 76, 0.32);
}
.ed-card:focus-visible { outline: 1px solid var(--gold); outline-offset: 4px; }
.ed-card-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(100%) brightness(0.62) contrast(1.05);
  transition: filter 800ms cubic-bezier(0.25,0.1,0.25,1), transform 1400ms cubic-bezier(0.25,0.1,0.25,1);
}
.ed-card:hover .ed-card-bg {
  filter: grayscale(60%) brightness(0.82) contrast(1.1);
  transform: scale(1.05);
}
.ed-card::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.82) 100%);
  pointer-events: none;
  z-index: 1;
  transition: background 600ms cubic-bezier(0.25,0.1,0.25,1);
}
.ed-card:hover::after {
  background: linear-gradient(180deg, rgba(0,0,0,0) 25%, rgba(0,0,0,0.88) 100%);
}

/* Ícone superior direito — quadrado outline minimalista */
.ed-card-icon {
  position: absolute;
  top: 16px; right: 16px;
  width: 32px; height: 32px;
  border: 1px solid rgba(250,250,250,0.55);
  display: flex; align-items: center; justify-content: center;
  color: rgba(250,250,250,0.92);
  z-index: 2;
  transition: all 450ms cubic-bezier(0.25,0.1,0.25,1);
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.ed-card-icon svg { width: 14px; height: 14px; }
.ed-card:hover .ed-card-icon {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(0,0,0,0.4);
  transform: rotate(-3deg);
}

/* Vídeos — play icon no centro do card */
.ed-card-icon-play {
  border: 0 !important;
  width: 64px !important; height: 64px !important;
  top: 50% !important; left: 50% !important; right: auto !important; bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  color: rgba(250,250,250,0.92);
  background: transparent !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: transform 500ms cubic-bezier(0.25,0.1,0.25,1), color 400ms;
}
.ed-card-icon-play svg { width: 64px !important; height: 64px !important; }
.ed-card-vid:hover .ed-card-icon-play {
  transform: translate(-50%, -50%) scale(1.12) rotate(0) !important;
  color: var(--gold);
}

/* Label inferior esquerdo — Halenoir maior + tracking sutil */
.ed-card-label {
  position: absolute;
  bottom: 24px; left: 26px;
  font: 300 clamp(17px, 1.85vw, 24px)/1.25 'Halenoir', 'Helvetica Neue', sans-serif;
  font-style: normal !important;
  color: rgba(250,250,250,0.96);
  letter-spacing: 0.005em;
  text-transform: none;
  z-index: 2;
  text-align: left;
  max-width: 78%;
  text-shadow: 0 1px 12px rgba(0,0,0,0.5);
  transition: transform 500ms cubic-bezier(0.25,0.1,0.25,1);
}
.ed-card:hover .ed-card-label {
  transform: translateX(2px);
}
/* Hairline dourado sob a label que aparece no hover */
.ed-card-label::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--gold);
  margin-top: 8px;
  transition: width 600ms cubic-bezier(0.25,0.1,0.25,1);
}
.ed-card:hover .ed-card-label::after {
  width: 32px;
}
@media (max-width: 600px) {
  .ed-card-label { font-size: 16px; bottom: 18px; left: 18px; }
  .ed-card-icon { width: 28px; height: 28px; top: 12px; right: 12px; }
  .ed-card-icon svg { width: 12px; height: 12px; }
  .ed-card-icon-play { width: 50px !important; height: 50px !important; }
  .ed-card-icon-play svg { width: 50px !important; height: 50px !important; }
}

/* Reveal stagger */
.ed-card { opacity: 0; transform: translateY(20px); transition: opacity 700ms cubic-bezier(0.25,0.1,0.25,1), transform 700ms cubic-bezier(0.25,0.1,0.25,1); }
[data-reveal].revealed .ed-card { opacity: 1; transform: translateY(0); }
[data-reveal].revealed .ed-card:nth-child(1) { transition-delay: 120ms; }
[data-reveal].revealed .ed-card:nth-child(2) { transition-delay: 220ms; }
[data-reveal].revealed .ed-card:nth-child(3) { transition-delay: 320ms; }
.ed-hero { opacity: 0; transition: opacity 900ms cubic-bezier(0.25,0.1,0.25,1); }
[data-reveal].revealed .ed-hero { opacity: 1; }
.ed-hero-title { opacity: 0; transform: translateY(12px); transition: opacity 900ms cubic-bezier(0.25,0.1,0.25,1) 300ms, transform 900ms cubic-bezier(0.25,0.1,0.25,1) 300ms; }
[data-reveal].revealed .ed-hero-title { opacity: 1; transform: translateY(0); }

/* ─── Redução global de 40% nos ícones (mantém 60% do tamanho original) ─── */
.card-icon { width: clamp(13px, 1.14vw, 18px) !important; height: clamp(13px, 1.14vw, 18px) !important; }
.card-icon svg { width: 100%; height: 100%; }

/* Ícone superior direito dos cards editoriais (Imagens / Vídeos) */
.ed-card-icon {
  width: 25px !important; height: 25px !important;
}
.ed-card-icon svg { width: 12px !important; height: 12px !important; }
.ed-card-icon-play {
  width: 34px !important; height: 34px !important;
}
.ed-card-icon-play svg { width: 34px !important; height: 34px !important; }

/* Ícones unicode e SVG genéricos dentro de cards */
.card .bb-icon, .ed-card .bb-icon { width: 16px !important; height: 16px !important; }

@media (max-width: 600px) {
  .ed-card-icon { width: 22px !important; height: 22px !important; top: 10px !important; right: 10px !important; }
  .ed-card-icon svg { width: 11px !important; height: 11px !important; }
  .ed-card-icon-play { width: 26px !important; height: 26px !important; }
  .ed-card-icon-play svg { width: 26px !important; height: 26px !important; }
}

/* ─── Standby refinado · Layout proporcional + ícone touch ──────── */
/* IMPORTANTE: standby-stage MANTÉM position: fixed inset:0 (linha 49) — NÃO usar display:flex aqui pq quebra os filhos position:absolute */

/* Brand topo — sobe um pouco e dá respiro */
.standby-brand {
  position: absolute;
  top: 9%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  z-index: 4;
}
.standby-brand .brand-oasis-img {
  width: clamp(150px, 24vw, 320px) !important;
  margin: 0 auto !important;
}
.standby-brand .brand-loc {
  font: 300 11px/1.4 'Halenoir' !important;
  letter-spacing: 0.32em;
  color: rgba(250,250,250,0.55);
  text-transform: uppercase;
  margin-top: 12px;
}

/* Quote LOGO ACIMA da ampulheta — flex column ordering */
.amp-quote {
  position: relative;
  z-index: 3;
  margin-bottom: clamp(20px, 3.5vh, 48px);
  order: 1;
}

/* Ampulheta centralizada com proporção controlada */
.amp-scene {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.amp-scene .amp-stage { order: 2; }
.amp-scene .amp-glow { order: 0; }
.amp-scene .amp-dof  { order: 3; }
.amp-stage {
  width: clamp(280px, 38vw, 520px) !important;
  height: clamp(360px, 50vh, 620px) !important;
  position: relative;
}
.amp-original {
  filter: drop-shadow(0 0 24px rgba(232, 182, 90, 0.4)) drop-shadow(0 0 60px rgba(201, 168, 76, 0.25)) !important;
}

/* CTA bottom refinado — ícone touch + pulses + label */
.standby-cta {
  position: absolute;
  bottom: 7%;
  left: 50%;
  transform: translateX(-50%);
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 12px 18px;
  z-index: 5;
  transition: transform 320ms cubic-bezier(0.25,0.1,0.25,1);
}
.standby-cta:hover { transform: translateX(-50%) translateY(-2px); }
.standby-cta:active { transform: translateX(-50%) scale(0.96); }

.cta-touch-icon {
  position: relative;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  z-index: 2;
}
.cta-touch-icon svg {
  width: 30px;
  height: 30px;
  position: relative;
  z-index: 3;
  animation: cta-touch-bob 2.2s ease-in-out infinite;
}
.cta-touch-pulse {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(201, 168, 76, 0.55);
  border-radius: 50%;
  pointer-events: none;
  animation: cta-touch-ring 2.4s ease-out infinite;
}
.cta-touch-pulse-2 { animation-delay: 1.2s; }

@keyframes cta-touch-bob {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-3px); }
}
@keyframes cta-touch-ring {
  0%   { opacity: 0.7; transform: scale(0.6); }
  80%  { opacity: 0;   transform: scale(1.8); }
  100% { opacity: 0;   transform: scale(1.8); }
}
@media (prefers-reduced-motion: reduce) {
  .cta-touch-icon svg, .cta-touch-pulse { animation: none !important; }
}

.cta-mini {
  font: 300 10.5px/1 'Halenoir' !important;
  font-style: normal !important;
  letter-spacing: 0.32em !important;
  color: rgba(250,250,250,0.65) !important;
  text-transform: uppercase !important;
}
.cta-bar {
  display: block;
  width: 32px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0.6;
  margin-top: 2px;
}

@media (max-width: 600px) {
  .standby-brand { top: 7%; }
  .amp-quote { top: 22%; }
  .amp-stage { width: 78vw !important; height: 44vh !important; }
  .standby-cta { bottom: 5%; }
  .cta-touch-icon { width: 42px; height: 42px; }
  .cta-touch-icon svg { width: 26px; height: 26px; }
}
@media (orientation: portrait) and (min-width: 600px) {
  .amp-stage { width: 60vw !important; height: 48vh !important; }
}

/* ─── Admin · Visibilidade (hide/show cards) ──────────────────── */
.card.is-hidden-by-admin,
.overlay-link.is-hidden-by-admin {
  display: none !important;
}

.vis-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vis-row {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(250,250,250,0.06);
  cursor: pointer;
  transition: all 240ms cubic-bezier(0.25,0.1,0.25,1);
}
.vis-row:hover {
  background: rgba(201,168,76,0.05);
  border-color: rgba(201,168,76,0.25);
}
.vis-row.is-hidden {
  opacity: 0.45;
  background: rgba(0,0,0,0.6);
}
.vis-toggle {
  appearance: none;
  -webkit-appearance: none;
  width: 34px; height: 18px;
  border-radius: 9px;
  background: rgba(250,250,250,0.12);
  border: 1px solid rgba(250,250,250,0.22);
  position: relative;
  cursor: pointer;
  transition: background 240ms, border-color 240ms;
  margin: 0;
  flex: 0 0 auto;
}
.vis-toggle::before {
  content: "";
  position: absolute;
  top: 2px; left: 2px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: rgba(250,250,250,0.6);
  transition: transform 280ms cubic-bezier(0.25,0.1,0.25,1), background 280ms;
}
.vis-toggle:checked {
  background: rgba(201,168,76,0.28);
  border-color: var(--gold);
}
.vis-toggle:checked::before {
  transform: translateX(16px);
  background: var(--gold);
}
.vis-icon {
  width: 22px; height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(250,250,250,0.7);
}
.vis-icon svg { width: 18px; height: 18px; }
.vis-icon .vis-icon-hide { display: none; }
.vis-row.is-hidden .vis-icon-show { display: none; }
.vis-row.is-hidden .vis-icon-hide { display: block; color: rgba(250,250,250,0.45); }
.vis-label {
  font: 400 13px/1.3 'Halenoir';
  color: rgba(250,250,250,0.92);
  letter-spacing: 0.02em;
}
.vis-row.is-hidden .vis-label {
  text-decoration: line-through;
  text-decoration-color: rgba(250,250,250,0.4);
}
.vis-status {
  font: 400 10px/1 'Halenoir';
  color: var(--gold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 4px 10px;
  border: 1px solid rgba(201,168,76,0.3);
}
.vis-row.is-hidden .vis-status {
  color: rgba(250,250,250,0.4);
  border-color: rgba(250,250,250,0.2);
}

/* ─── HIPER MOTION GRAPHICS · Adicionado 2026-05-08 ──────── */

/* ─── Page Transition Overlay (dourado radial) ────────────── */
.page-transition-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(201,168,76,0.55) 0%, rgba(201,168,76,0.12) 40%, transparent 70%);
  opacity: 0;
  transform-origin: center;
}

/* ─── Partículas douradas (standby) ────────────────────────── */
.standby-particles {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.sp-particle {
  position: absolute;
  bottom: -20px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(201,168,76,0.7);
  box-shadow: 0 0 6px rgba(201,168,76,0.5);
  animation: sp-rise 8s ease-in-out infinite;
  opacity: 0;
}
.sp-p1 { left: 8%;  animation-delay: 0s;    animation-duration: 9s;  width: 2px; height: 2px; }
.sp-p2 { left: 18%; animation-delay: 1.3s;  animation-duration: 11s; width: 3px; height: 3px; }
.sp-p3 { left: 75%; animation-delay: 2.8s;  animation-duration: 8.5s; width: 2px; height: 2px; }
.sp-p4 { left: 85%; animation-delay: 0.6s;  animation-duration: 10s; width: 3px; height: 3px; }
.sp-p5 { left: 92%; animation-delay: 4.1s;  animation-duration: 9.5s; width: 2px; height: 2px; }
.sp-p6 { left: 5%;  animation-delay: 3.5s;  animation-duration: 12s; width: 2px; height: 2px; }

@keyframes sp-rise {
  0%   { opacity: 0;   transform: translateY(0)    translateX(0)   scale(1); }
  15%  { opacity: 0.3; }
  50%  { opacity: 0.25; transform: translateY(-45vh) translateX(8px)  scale(0.9); }
  85%  { opacity: 0.1; }
  100% { opacity: 0;   transform: translateY(-90vh) translateX(-4px) scale(0.7); }
}
@media (prefers-reduced-motion: reduce) {
  .sp-particle { animation: none !important; opacity: 0 !important; }
}

/* ─── Standby: logo OASIS fade-in delay + brand-loc underline draw ──── */
#brand-oasis-img {
  opacity: 0;
  animation: oasis-logo-reveal 1.1s cubic-bezier(0.16,1,0.3,1) 0.4s forwards;
}
@keyframes oasis-logo-reveal {
  from { opacity: 0; transform: translateY(16px); filter: blur(8px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}

#brand-loc {
  position: relative;
  opacity: 0;
  animation: brand-loc-reveal 0.9s cubic-bezier(0.16,1,0.3,1) 0.9s forwards;
}
@keyframes brand-loc-reveal {
  from { opacity: 0; letter-spacing: 0.55em; }
  to   { opacity: 1; letter-spacing: 0.32em; }
}
#brand-loc::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.6), transparent);
  transform: scaleX(0);
  transform-origin: left;
  animation: loc-underline-draw 0.8s cubic-bezier(0.16,1,0.3,1) 1.4s forwards;
}
@keyframes loc-underline-draw {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ─── amp-q-letter intensify: blur(6px) → 0 + lift ──────── */
.amp-q-letter {
  display: inline-block;
}

/* ─── Standby leaving: overlay dourado ──────────────────── */
body.standby.leaving-cinematic .page-transition-overlay {
  animation: pt-overlay-expand 0.9s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes pt-overlay-expand {
  0%   { opacity: 0;   transform: scale(0.4); }
  40%  { opacity: 0.3; transform: scale(1.2); }
  100% { opacity: 0;   transform: scale(2.0); }
}

body.standby.leaving-cinematic .standby-brand,
body.standby.leaving-cinematic .standby-cta {
  animation: amp-exit-fade 0.6s cubic-bezier(0.7,0,0.84,0) forwards !important;
}

/* ─── Menu entering overlay dourado ─────────────────────── */
body.menu.entering-from-standby .page-transition-overlay {
  animation: pt-overlay-fadeout 0.8s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes pt-overlay-fadeout {
  0%   { opacity: 0.35; transform: scale(1.8); }
  100% { opacity: 0;    transform: scale(1.0); }
}

/* ─── Menu: cards entering-from-standby stagger ─────────── */
body.menu.entering-from-standby .menu-grid .card {
  opacity: 0;
  transform: translateY(50px) scale(0.9);
  filter: blur(8px);
}
body.menu.entering-from-standby .menu-grid .card.card-enter {
  animation: card-enter-stagger 900ms cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes card-enter-stagger {
  from { opacity: 0; transform: translateY(50px) scale(0.9); filter: blur(8px); }
  to   { opacity: 1; transform: translateY(0) scale(1);      filter: blur(0); }
}

/* ─── Menu: brand header entering ───────────────────────── */
body.menu.entering-from-standby .totem-header {
  opacity: 0;
  animation: header-fadein 700ms cubic-bezier(0.16,1,0.3,1) 300ms forwards;
}
@keyframes header-fadein {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─── Card hover: 3D tilt ────────────────────────────────── */
.menu-grid .card {
  transform-style: preserve-3d;
  perspective: 1000px;
  will-change: transform;
}
/* Neutralize old hover since we do it via JS */
.menu-grid .card.tilt-active {
  transition: transform 80ms ease, box-shadow 80ms ease, border-color 80ms ease !important;
}

/* ─── Card morph click ───────────────────────────────────── */
.menu-grid .card.morphing {
  animation: card-morph-out 700ms cubic-bezier(0.7,0,0.84,0) forwards;
  z-index: 100 !important;
  position: fixed !important;
}
@keyframes card-morph-out {
  0%   { opacity: 1; transform: scale(1);          filter: blur(0);    }
  60%  { opacity: 1; transform: scale(2.5);        filter: blur(4px);  }
  100% { opacity: 0; transform: scale(3.0);        filter: blur(20px); }
}

/* Adjacent cards fade on morph */
body.menu.card-exiting .menu-grid .card:not(.morphing) {
  animation: card-adj-fade 500ms ease forwards;
}
@keyframes card-adj-fade {
  to { opacity: 0; transform: scale(0.97); filter: blur(4px); }
}

/* ─── Scroll progress bar ────────────────────────────────── */
.scroll-progress-bar {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 2px;
  background: linear-gradient(90deg, rgba(201,168,76,0.8), rgba(201,168,76,0.4));
  z-index: 200;
  pointer-events: none;
  transition: width 80ms linear;
  box-shadow: 0 0 6px rgba(201,168,76,0.5);
}

/* ─── Quote card: pulse glow dourado ────────────────────── */
.quote-card {
  animation: quote-glow-pulse 6s ease-in-out infinite;
}
@keyframes quote-glow-pulse {
  0%, 100% { box-shadow: 0 0 0 0 transparent; }
  50%       { box-shadow: 0 0 32px rgba(201,168,76,0.1), inset 0 0 24px rgba(201,168,76,0.04); }
}

/* ─── Secao: hero ken burns scroll-driven ───────────────── */
.secao-hero-bg {
  will-change: transform;
}
.secao-hero-bg.kb-active {
  animation: none !important;
  transition: transform 0.15s linear !important;
}

/* ─── Back button: slide-right reveal ───────────────────── */
.secao-back {
  opacity: 0;
  transform: translateX(-16px);
  animation: back-btn-reveal 700ms cubic-bezier(0.16,1,0.3,1) 800ms forwards;
}
@keyframes back-btn-reveal {
  to { opacity: 1; transform: translateX(0); }
}

/* ─── Secao: back transition slide-right ────────────────── */
body.secao.leaving-to-menu {
  animation: secao-slide-exit 600ms cubic-bezier(0.7,0,0.84,0) forwards;
}
@keyframes secao-slide-exit {
  0%   { opacity: 1; transform: translateX(0); filter: blur(0); }
  100% { opacity: 0; transform: translateX(60px); filter: blur(12px); }
}

/* ─── Orientation switcher (overlay menu footer) ──────────────── */
.orientation-switcher {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid rgba(250,250,250,0.12);
  background: rgba(0,0,0,0.4);
  margin: 0 12px;
}
.orient-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  background: transparent;
  border: 0;
  color: rgba(250,250,250,0.55);
  cursor: pointer;
  font: 400 9px/1 'Halenoir', sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all 280ms cubic-bezier(0.25,0.1,0.25,1);
}
.orient-btn:hover { color: rgba(250,250,250,0.92); background: rgba(255,255,255,0.04); }
.orient-btn.is-active { color: var(--gold); background: rgba(201,168,76,0.08); }
.orient-btn svg { flex: 0 0 auto; }

@media (max-width: 600px) {
  .orient-btn span { display: none; }
  .orient-btn { padding: 6px 8px; }
}

/* ─── Orientação manual = LAYOUT do totem (NÃO rotação visual) ─────── */
/* Apenas reorganiza grid/conteúdo pra otimizar espaço de leitura no totem específico */

/* Hairline dourado quando orient manual ativo */
body[data-orient]::before {
  content: "";
  position: fixed; top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  z-index: 9999;
  pointer-events: none;
}

/* === MODO LANDSCAPE (totem deitado) === */
/* Menu: grid 3 colunas wide com cards horizontais editoriais */
body[data-orient="landscape"] .menu-grid {
  grid-template-columns: 1.2fr 1fr 1.2fr !important;
  gap: 20px;
}
body[data-orient="landscape"] .col-left,
body[data-orient="landscape"] .col-right {
  display: flex; flex-direction: column; gap: 18px;
}
body[data-orient="landscape"] .col-mid {
  display: flex; flex-direction: column; gap: 18px;
}
body[data-orient="landscape"] .standby-brand .brand-oasis-img {
  width: clamp(220px, 28vw, 420px) !important;
}
body[data-orient="landscape"] .amp-stage {
  width: clamp(360px, 32vw, 540px) !important;
  height: clamp(420px, 56vh, 640px) !important;
}

/* === MODO PORTRAIT (totem em pé / vertical) === */
/* Menu: grid 2 colunas estreitas + 1 coluna principal, cards mais altos */
body[data-orient="portrait"] .menu-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 14px;
}
body[data-orient="portrait"] .col-mid {
  grid-column: span 2;
  display: flex; flex-direction: row; gap: 14px;
  align-items: stretch;
}
body[data-orient="portrait"] .quote-card {
  flex: 1;
}
body[data-orient="portrait"] .col-mid-card {
  flex: 1;
}
body[data-orient="portrait"] .standby-brand {
  top: 11% !important;
}
body[data-orient="portrait"] .standby-brand .brand-oasis-img {
  width: clamp(180px, 50vw, 360px) !important;
}
body[data-orient="portrait"] .amp-stage {
  width: clamp(280px, 70vw, 480px) !important;
  height: clamp(420px, 56vh, 720px) !important;
}
body[data-orient="portrait"] .ed-grid-3 {
  grid-template-columns: 1fr !important;
  gap: 14px;
}
body[data-orient="portrait"] .ed-grid-2 {
  grid-template-columns: 1fr !important;
  gap: 14px;
}
body[data-orient="portrait"] .ed-hero {
  aspect-ratio: 9 / 5 !important;
}
/* Localização em portrait: empilha sidebar em cima e mapa embaixo */
body[data-orient="portrait"] .loc-stage {
  grid-template-columns: 1fr !important;
  height: clamp(620px, 82vh, 900px) !important;
}
body[data-orient="portrait"] .loc-cities {
  flex-direction: row !important;
  flex-wrap: wrap;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(250,250,250,0.08);
  max-height: 240px;
  overflow-y: auto;
}

/* ─────────────────────────────────────────────────────────────
   Imersivo 3D · Loader visual (ring + ampulheta + percentual)
   ───────────────────────────────────────────────────────────── */
.imm-loader{
  position:absolute;inset:0;z-index:20;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:22px;
  background:radial-gradient(ellipse at center,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.95) 70%);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:1;transition:opacity 600ms cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
.imm-loader.imm-loader-fading{opacity:0}

.imm-loader-stage{
  position:relative;width:240px;height:240px;
  display:grid;place-items:center;
}
.imm-loader-ring{
  position:absolute;inset:0;width:100%;height:100%;
}
.imm-loader-ring-progress{
  transition:stroke-dashoffset 320ms cubic-bezier(.4,0,.2,1);
  filter:drop-shadow(0 0 10px rgba(201,168,76,0.45));
}
.imm-loader-hourglass{
  position:relative;width:84px;height:108px;
  margin-bottom:30px;
  animation:immHourglassGlow 2.6s ease-in-out infinite;
}
@keyframes immHourglassGlow{
  0%,100%{filter:drop-shadow(0 0 4px rgba(201,168,76,0.35))}
  50%{filter:drop-shadow(0 0 14px rgba(240,206,122,0.65))}
}
.imm-loader-hourglass .sand-top,
.imm-loader-hourglass .sand-bottom{
  transition:clip-path 280ms cubic-bezier(.4,0,.2,1);
}
.imm-loader-hourglass .sand-stream{
  animation:immSandFall 0.9s linear infinite;
  opacity:0.85;
}
@keyframes immSandFall{
  0%{stroke-dasharray:1 3;stroke-dashoffset:0;opacity:0.9}
  100%{stroke-dasharray:1 3;stroke-dashoffset:-12;opacity:0.4}
}
.imm-loader-percent{
  position:absolute;bottom:38px;
  font-family:'Halenoir','Helvetica Neue',sans-serif;
  font-weight:300;font-size:20px;letter-spacing:0.06em;
  color:#C9A84C;
  text-shadow:0 0 12px rgba(201,168,76,0.4);
  font-variant-numeric:tabular-nums;
}
.imm-loader-label{
  font-family:'Halenoir','Helvetica Neue',sans-serif;
  font-weight:300;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  color:rgba(201,168,76,0.7);margin:0;
}
@media (max-width:640px){
  .imm-loader-stage{width:180px;height:180px}
  .imm-loader-hourglass{width:64px;height:84px;margin-bottom:24px}
  .imm-loader-percent{font-size:16px;bottom:28px}
}

/* ─────────────────────────────────────────────────────────────
   Overlay menu · ícones por item (intuitivo)
   ───────────────────────────────────────────────────────────── */
.overlay-link{display:flex;align-items:center;gap:18px}
.overlay-link .ol-icon{
  width:22px;height:22px;flex-shrink:0;
  color:rgba(201,168,76,0.55);
  transition:color 380ms cubic-bezier(.4,0,.2,1),transform 380ms cubic-bezier(.4,0,.2,1);
}
.overlay-link .ol-label{flex:1;min-width:0}
.overlay-link:hover .ol-icon,
.overlay-link:focus-visible .ol-icon{
  color:#C9A84C;
  transform:translateX(3px) scale(1.06);
  filter:drop-shadow(0 0 6px rgba(201,168,76,0.45));
}
@media (max-width:640px){
  .overlay-link{gap:14px}
  .overlay-link .ol-icon{width:19px;height:19px}
}

/* ─────────────────────────────────────────────────────────────
   Maquete 3D · Viz Styles UI + Loader
   ───────────────────────────────────────────────────────────── */
.maquete-3d-stage { position: relative; }
.maquete-loader {
  position: absolute; inset: 0; z-index: 30;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 18px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.95) 70%);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: opacity 600ms cubic-bezier(.4,0,.2,1); opacity: 1;
}
.maquete-loader.is-fading { opacity: 0; pointer-events: none; }
.mq-loader-spinner { width: 60px; height: 60px; }
#mq-loader-ring {
  transition: stroke-dashoffset 320ms cubic-bezier(.4,0,.2,1);
  filter: drop-shadow(0 0 10px rgba(201,168,76,0.45));
}
.mq-loader-percent {
  font-family: 'Halenoir', sans-serif; font-weight: 300; font-size: 18px;
  color: #C9A84C; letter-spacing: 0.06em; font-variant-numeric: tabular-nums;
}
.mq-loader-label {
  font-family: 'Halenoir', sans-serif; font-weight: 300; font-size: 11px;
  letter-spacing: 0.22em; text-transform: uppercase; color: rgba(201,168,76,0.65);
  margin: 0;
}

.viz-styles {
  position: absolute; left: 50%; transform: translateX(-50%);
  bottom: 86px; z-index: 12;
  display: inline-flex; gap: 4px;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 999px;
  padding: 5px;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.viz-chip {
  padding: 8px 16px;
  background: transparent; border: 0; border-radius: 999px;
  color: rgba(250,250,250,0.65);
  font-family: 'Halenoir', sans-serif; font-weight: 300;
  font-size: 12px; letter-spacing: 0.06em;
  cursor: pointer;
  transition: all 280ms cubic-bezier(.4,0,.2,1);
  white-space: nowrap;
}
.viz-chip:hover { color: #fff; background: rgba(255,255,255,0.05); }
.viz-chip.is-active {
  background: rgba(201,168,76,0.18);
  color: #E0B95F;
  box-shadow: 0 0 12px rgba(201,168,76,0.25) inset;
}

@media (max-width: 720px) {
  .viz-styles {
    bottom: 70px;
    overflow-x: auto; max-width: calc(100% - 32px);
    flex-wrap: nowrap; justify-content: flex-start;
  }
  .viz-chip { font-size: 11px; padding: 7px 12px; }
}

/* ─────────────────────────────────────────────────────────────
   Localização · Map3D vanilla Three.js
   ───────────────────────────────────────────────────────────── */
.loc3d-stage {
  position: relative;
  width: 100%;
  height: clamp(560px, 78vh, 980px);
  background: radial-gradient(ellipse at center, #100a05 0%, #050402 80%);
  border: 1px solid rgba(201,168,76,0.18);
  overflow: hidden;
  margin: 28px 0;
}
.loc3d-stage:fullscreen,
.loc3d-stage:-webkit-full-screen { height: 100vh !important; margin: 0; border: 0; }
#loc3d-canvas { display: block; width: 100%; height: 100%; cursor: grab; }
#loc3d-canvas:active { cursor: grabbing; }

.loc3d-loader {
  position: absolute; inset: 0; z-index: 30;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.8), rgba(0,0,0,0.95) 70%);
  backdrop-filter: blur(8px);
  transition: opacity 600ms cubic-bezier(.4,0,.2,1);
}
.loc3d-loader.is-fading { opacity: 0; pointer-events: none; }
#l3d-ring { transition: stroke-dashoffset 320ms cubic-bezier(.4,0,.2,1); filter: drop-shadow(0 0 10px rgba(201,168,76,0.45)); }
.l3d-percent { font: 300 18px/1 'Halenoir'; color: #C9A84C; letter-spacing: 0.06em; font-variant-numeric: tabular-nums; }
.l3d-label { font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(201,168,76,0.65); margin: 0; }

.loc3d-cities {
  position: absolute; top: 22px; left: 50%; transform: translateX(-50%);
  z-index: 10;
  display: inline-flex; gap: 4px;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 999px; padding: 5px;
  backdrop-filter: blur(10px);
}
.lc3-btn {
  padding: 8px 16px; border: 0; border-radius: 999px;
  background: transparent; color: rgba(250,250,250,0.65);
  font: 300 12px/1 'Halenoir'; letter-spacing: 0.06em;
  cursor: pointer; transition: all 280ms cubic-bezier(.4,0,.2,1);
}
.lc3-btn:hover { color: #fff; background: rgba(255,255,255,0.05); }
.lc3-btn.is-active { background: rgba(201,168,76,0.18); color: #E0B95F; }

.loc3d-info {
  position: absolute; top: 22px; left: 24px;
  display: flex; flex-direction: column; gap: 4px;
  z-index: 10; pointer-events: none;
}
.l3i-mini { font: 300 10px/1 'Halenoir'; color: var(--gold, #C9A84C); letter-spacing: 0.28em; text-transform: uppercase; }
.l3i-title { font: 400 22px/1.2 'NT Epika', 'Halenoir'; color: #FAFAFA; letter-spacing: 0.01em; }
.l3i-meta { font: 300 12px/1.4 'Halenoir'; color: rgba(250,250,250,0.65); }

.loc3d-controls {
  position: absolute; bottom: 22px; right: 22px; z-index: 10;
  display: flex; gap: 8px;
}
.loc3d-controls .mq-btn {
  padding: 9px 16px; border: 1px solid rgba(201,168,76,0.3); background: rgba(0,0,0,0.5);
  border-radius: 999px; color: #C9A84C;
  font: 300 11px/1 'Halenoir'; letter-spacing: 0.1em; text-transform: uppercase;
  cursor: pointer; transition: all 280ms ease;
  backdrop-filter: blur(8px);
}
.loc3d-controls .mq-btn:hover { background: rgba(201,168,76,0.12); border-color: #C9A84C; color: #E0B95F; }
.loc3d-controls .mq-btn.is-on { background: rgba(201,168,76,0.18); color: #E0B95F; }

@media (max-width: 720px) {
  .loc3d-info { top: 90px; left: 14px; }
  .loc3d-cities { top: 14px; padding: 4px; }
  .lc3-btn { font-size: 11px; padding: 7px 12px; }
  .loc3d-controls { bottom: 14px; right: 14px; gap: 6px; }
  .loc3d-controls .mq-btn { padding: 7px 12px; font-size: 10px; }
}

/* ─────────────────────────────────────────────────────────────
   Localização · Viewer Switch + Aurora Terrain 3D
   ───────────────────────────────────────────────────────────── */
.loc-viewer-switch {
  display: inline-flex; gap: 4px;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 999px; padding: 5px;
  margin: 0 0 22px;
  backdrop-filter: blur(10px);
}
.lvs-chip {
  padding: 10px 22px; border: 0; border-radius: 999px;
  background: transparent; color: rgba(250,250,250,0.65);
  font: 300 12px/1 'Halenoir'; letter-spacing: 0.08em;
  cursor: pointer; transition: all 320ms cubic-bezier(.4,0,.2,1);
  white-space: nowrap;
}
.lvs-chip:hover { color: #fff; background: rgba(255,255,255,0.05); }
.lvs-chip.is-active { background: rgba(201,168,76,0.18); color: #E0B95F; box-shadow: 0 0 12px rgba(201,168,76,0.25) inset; }

.loc-view { display: none; }
.loc-view.loc-view-active { display: block; }

.loc3d-terrain-canvas {
  width: 100%; height: 100%;
  background: radial-gradient(ellipse at center, #100a05 0%, #050402 80%);
}

/* Marker Aurora dourado pulsante */
.aurora-marker {
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  pointer-events: none;
}
.aurora-marker .am-dot {
  width: 14px; height: 14px;
  background: #C9A84C;
  border-radius: 50%;
  box-shadow: 0 0 14px rgba(201,168,76,0.7), 0 0 30px rgba(201,168,76,0.35);
}
.aurora-marker .am-pulse {
  position: absolute; top: 0; left: 50%; transform: translate(-50%, 0);
  width: 14px; height: 14px;
  background: rgba(201,168,76,0.4);
  border-radius: 50%;
  animation: auroraMarkerPulse 2s ease-out infinite;
}
@keyframes auroraMarkerPulse {
  0%   { transform: translate(-50%, 0) scale(1); opacity: 0.6; }
  100% { transform: translate(-50%, 0) scale(4); opacity: 0; }
}
.aurora-marker .am-label {
  font: 400 12px/1 'NT Epika', serif;
  color: #fff;
  background: rgba(0,0,0,0.7);
  padding: 5px 11px; margin-top: 6px;
  border-radius: 6px;
  border: 1px solid rgba(201,168,76,0.4);
  letter-spacing: 0.08em;
  white-space: nowrap;
  backdrop-filter: blur(6px);
}

/* Garante MapLibre fill no container */
.maplibregl-map { height: 100%; }
.maplibregl-ctrl-attrib { font-size: 9px; opacity: 0.4; }

/* ─────────────────────────────────────────────────────────────
   Lago Corumbá IV · apresentação imersiva 4D
   ───────────────────────────────────────────────────────────── */
.lago-hero {
  padding: clamp(48px, 8vh, 96px) 0;
}
.lago-hero-title {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: clamp(36px, 5.5vw, 72px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #FAFAFA;
  max-width: 880px;
  margin: 0 0 18px;
}
.lago-hero-sub {
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 1.4vw, 19px);
  color: rgba(250,250,250,0.7);
  max-width: 640px;
  margin: 0 0 64px;
}

.lago-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(24px, 3vw, 48px);
  padding: clamp(32px, 5vh, 64px) 0;
  border-top: 1px solid rgba(201,168,76,0.18);
  border-bottom: 1px solid rgba(201,168,76,0.18);
}
.lago-stat-num {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: clamp(48px, 6.5vw, 92px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: #C9A84C;
  font-variant-numeric: tabular-nums;
  display: block;
  margin-bottom: 12px;
}
.lago-stat-unit {
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 0.42em;
  color: rgba(201,168,76,0.6);
  margin-left: 4px;
  letter-spacing: 0.04em;
}
.lago-stat-label {
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(250,250,250,0.55);
  display: block;
}
@media (max-width: 720px) {
  .lago-stats { grid-template-columns: repeat(2, 1fr); gap: 28px; }
}

.lago-story {
  position: relative;
  margin: clamp(64px, 10vh, 128px) 0;
  min-height: 80vh;
  overflow: hidden;
  border-radius: 0;
}
.lago-story-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(0.55) contrast(1.05);
}
.lago-story-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.55) 45%, rgba(0,0,0,0.15) 100%);
}
.lago-story-text {
  position: relative;
  z-index: 2;
  max-width: 560px;
  padding: clamp(48px, 8vh, 96px) clamp(28px, 5vw, 64px);
}
.lago-story-text p {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1.35;
  color: #FAFAFA;
  margin: 0 0 28px;
}
.lago-story-text p:nth-child(2) { color: #E0B95F; }

.lago-activities {
  margin: clamp(64px, 10vh, 128px) 0;
}
.lago-activities-title {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: clamp(28px, 3.6vw, 48px);
  color: #FAFAFA;
  margin: 0 0 48px;
  letter-spacing: -0.01em;
}
.lago-act-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2vw, 28px);
}
.lago-act-card {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(201,168,76,0.14);
  padding: clamp(22px, 2.5vw, 32px);
  transition: all 600ms cubic-bezier(0.16,1,0.3,1);
}
.lago-act-card:hover {
  background: rgba(201,168,76,0.05);
  border-color: rgba(201,168,76,0.4);
  transform: translateY(-3px);
}
.lago-act-icon {
  width: 36px; height: 36px;
  color: #C9A84C;
  margin-bottom: 18px;
}
.lago-act-name {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: 18px;
  color: #FAFAFA;
  margin: 0 0 8px;
}
.lago-act-desc {
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(250,250,250,0.6);
  margin: 0;
}
@media (max-width: 720px) {
  .lago-act-grid { grid-template-columns: 1fr; }
}

.lago-climate {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.5vw, 36px);
  margin: clamp(64px, 10vh, 128px) 0;
  padding: clamp(36px, 5vh, 56px) 0;
  border-top: 1px solid rgba(201,168,76,0.18);
  border-bottom: 1px solid rgba(201,168,76,0.18);
}
.lago-clim-card {
  text-align: left;
}
.lago-clim-num {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: clamp(28px, 3.6vw, 48px);
  color: #E0B95F;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.lago-clim-mini {
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(201,168,76,0.55);
  display: block;
  margin-bottom: 6px;
}
.lago-clim-desc {
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(250,250,250,0.65);
  margin: 0;
}
@media (max-width: 720px) {
  .lago-climate { grid-template-columns: 1fr; }
}

.lago-distances {
  margin: clamp(64px, 10vh, 128px) 0;
}
.dist-axis {
  position: relative;
  height: 120px;
  margin: 40px 0;
}
.dist-line {
  position: absolute;
  top: 50%; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(201,168,76,0.4), rgba(201,168,76,0.18));
}
.dist-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex; flex-direction: column; align-items: center;
}
.dist-dot {
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #C9A84C;
  box-shadow: 0 0 18px rgba(201,168,76,0.55);
  margin-bottom: 12px;
}
.dist-marker.is-aurora .dist-dot {
  width: 20px; height: 20px;
  box-shadow: 0 0 30px rgba(201,168,76,0.85);
}
.dist-name {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: 14px;
  color: #FAFAFA;
  position: absolute;
  top: calc(50% - 56px);
  white-space: nowrap;
}
.dist-meta {
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 11px;
  color: rgba(250,250,250,0.55);
  letter-spacing: 0.06em;
  position: absolute;
  top: calc(50% + 18px);
  white-space: nowrap;
}
@media (max-width: 720px) {
  .dist-axis { display: none; }
  .lago-distances .dist-mobile { display: block; }
}
.dist-mobile { display: none; }
.dist-mobile-item {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 16px 0;
  border-bottom: 1px solid rgba(201,168,76,0.18);
}
.dist-mobile-name { font: 400 16px 'NT Epika'; color: #FAFAFA; }
.dist-mobile-meta { font: 300 12px 'Halenoir'; color: rgba(250,250,250,0.55); }

.lago-map3d-stage {
  position: relative;
  width: 100%;
  height: clamp(420px, 60vh, 760px);
  background: radial-gradient(ellipse at center, #100a05 0%, #050402 80%);
  border: 1px solid rgba(201,168,76,0.18);
  overflow: hidden;
  margin: clamp(64px, 10vh, 128px) 0;
}
#lago-map3d-canvas { width: 100%; height: 100%; }
.lago-map3d-caption {
  position: absolute;
  top: 22px; left: 24px;
  display: flex; flex-direction: column; gap: 4px;
  z-index: 10; pointer-events: none;
}
.lago-map3d-caption .l3m-mini { font: 300 10px 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: #C9A84C; }
.lago-map3d-caption .l3m-title { font: 400 22px 'NT Epika'; color: #FAFAFA; }

.lago-gallery {
  margin: clamp(64px, 10vh, 128px) 0;
}
.lago-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.lago-gal-item {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.lago-gal-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(0.4) brightness(0.85);
  transition: all 900ms cubic-bezier(0.16,1,0.3,1);
}
.lago-gal-item:hover img {
  filter: grayscale(0) brightness(1);
  transform: scale(1.05);
}
.lago-gal-caption {
  position: absolute;
  bottom: 18px; left: 18px; right: 18px;
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #FAFAFA;
  text-shadow: 0 2px 8px rgba(0,0,0,0.7);
}
@media (max-width: 720px) {
  .lago-gallery-grid { grid-template-columns: 1fr; }
}

.lago-cta {
  margin: clamp(64px, 10vh, 128px) auto;
  max-width: 780px;
  text-align: center;
  padding: clamp(48px, 6vw, 80px) clamp(28px, 5vw, 48px);
  border: 1px solid rgba(201,168,76,0.25);
  background: radial-gradient(ellipse at center, rgba(201,168,76,0.05) 0%, transparent 70%);
}
.lago-cta-quote {
  font-family: 'NT Epika', serif;
  font-weight: 400;
  font-size: clamp(22px, 3vw, 36px);
  line-height: 1.3;
  color: #FAFAFA;
  margin: 0 0 32px;
}
.lago-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: transparent;
  border: 1px solid #C9A84C;
  color: #C9A84C;
  font-family: 'Halenoir', sans-serif;
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 500ms cubic-bezier(0.16,1,0.3,1);
}
.lago-cta-btn:hover {
  background: rgba(201,168,76,0.12);
  color: #E0B95F;
  gap: 16px;
}

/* ─────────────────────────────────────────────────────────────
   Auto-updater UI (Electron only)
   ───────────────────────────────────────────────────────────── */
/* Botão de update fica ao lado do admin-trigger (herda .admin-trigger / .admin-trigger-inline) */
.aurora-update-trigger { color: rgba(201,168,76,0.85); transition: color 320ms ease, transform 320ms ease; }
.aurora-update-trigger:hover { color: #E0B95F; }
.aurora-update-trigger.is-checking { pointer-events: none; opacity: 0.6; }
.aurora-update-trigger.is-checking svg { animation: aubSpin 1.2s linear infinite; transform-origin: center; }
@keyframes aubSpin { to { transform: rotate(360deg); } }

.aurora-update-toast {
  position: fixed; bottom: 28px; left: 50%; transform: translate(-50%, 20px);
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(201,168,76,0.3);
  color: #FAFAFA;
  padding: 14px 22px;
  border-radius: 999px;
  font: 300 13px 'Halenoir';
  letter-spacing: 0.04em;
  opacity: 0;
  z-index: 9999;
  transition: opacity 500ms, transform 500ms cubic-bezier(0.16,1,0.3,1);
  backdrop-filter: blur(10px);
}
.aurora-update-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

.aurora-update-modal {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity 500ms cubic-bezier(0.16,1,0.3,1);
}
.aurora-update-modal.is-show { opacity: 1; pointer-events: auto; }
.aum-backdrop {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.85), rgba(0,0,0,0.95));
  backdrop-filter: blur(14px);
}
.aum-card {
  position: relative; z-index: 1;
  max-width: 540px; width: calc(100% - 48px);
  background: #0a0806;
  border: 1px solid rgba(201,168,76,0.3);
  padding: clamp(36px, 5vw, 56px);
  text-align: center;
  transform: translateY(20px) scale(0.97);
  transition: transform 600ms cubic-bezier(0.16,1,0.3,1);
}
.aurora-update-modal.is-show .aum-card { transform: translateY(0) scale(1); }
.aum-icon {
  width: 64px; height: 64px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: rgba(201,168,76,0.1);
  border: 1px solid rgba(201,168,76,0.4);
  display: grid; place-items: center;
  color: #C9A84C;
}
.aum-mini {
  font: 300 10px 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--gold, #C9A84C);
  display: block; margin-bottom: 10px;
}
.aum-title {
  font: 400 clamp(22px, 2.8vw, 32px) 'NT Epika', serif;
  color: #FAFAFA;
  margin: 0 0 14px;
  letter-spacing: -0.01em;
}
.aum-notes {
  font: 300 14px/1.55 'Halenoir';
  color: rgba(250,250,250,0.75);
  margin: 0 0 12px;
}
.aum-version {
  font: 300 11px 'Halenoir'; letter-spacing: 0.12em;
  color: rgba(201,168,76,0.6);
  margin: 0 0 28px;
}
.aum-progress { margin-bottom: 22px; }
.aum-bar {
  width: 100%; height: 4px;
  background: rgba(201,168,76,0.12);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 10px;
}
.aum-bar-fill {
  height: 100%; width: 0;
  background: linear-gradient(90deg, #C9A84C, #E0B95F);
  transition: width 320ms ease-out;
}
.aum-phase {
  font: 300 11px 'Halenoir'; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(201,168,76,0.7);
}
.aum-actions {
  display: flex; flex-direction: column; gap: 10px;
}
.aum-btn {
  padding: 14px 22px;
  border: 1px solid rgba(201,168,76,0.3);
  background: transparent;
  color: #C9A84C;
  font: 300 12px 'Halenoir'; letter-spacing: 0.14em; text-transform: uppercase;
  cursor: pointer;
  transition: all 380ms cubic-bezier(0.16,1,0.3,1);
}
.aum-btn:hover { background: rgba(201,168,76,0.1); border-color: #C9A84C; color: #E0B95F; }
.aum-btn:disabled { opacity: 0.4; pointer-events: none; }
.aum-btn.aum-primary {
  background: #C9A84C; color: #0a0806; border-color: #C9A84C;
}
.aum-btn.aum-primary:hover { background: #E0B95F; border-color: #E0B95F; }
.aum-btn.aum-ghost {
  border-color: rgba(250,250,250,0.12);
  color: rgba(250,250,250,0.5);
}
.aum-btn.aum-ghost:hover { border-color: rgba(250,250,250,0.3); color: rgba(250,250,250,0.85); background: transparent; }

@media (max-width: 720px) {
  .aurora-update-btn .aub-label { display: none; }
  .aurora-update-btn { padding: 8px; }
}

/* ─────────────────────────────────────────────────────────────
   Lago · Imersivo Premium · 50+ effects
   ───────────────────────────────────────────────────────────── */
:root {
  --lc-gold: #C9A84C;
  --lc-gold-light: #E0B95F;
  --lc-ink: #0a0806;
  --lc-text: #FAFAFA;
}
body.secao-lago { background: #050402; }
body.secao-lago ::selection { background: var(--lc-gold); color: var(--lc-ink); }
body.secao-lago ::-moz-selection { background: var(--lc-gold); color: var(--lc-ink); }

/* Grain + Vignette + Scroll progress */
.lc-grain { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 9000; opacity: 0.035; mix-blend-mode: overlay; }
.lc-vignette { position: fixed; inset: 0; pointer-events: none; z-index: 8999; background: radial-gradient(ellipse at center, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 90%, rgba(0,0,0,0.85) 100%); }
.lc-scroll-progress { position: fixed; top: 0; left: 0; width: 0%; height: 2px; background: linear-gradient(90deg, var(--lc-gold), var(--lc-gold-light)); z-index: 9001; transition: width 80ms linear; }

/* Cursor custom */
.lc-cursor, .lc-cursor-trail { position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9999; border-radius: 50%; mix-blend-mode: difference; transform: translate3d(-50%, -50%, 0); transition: transform 180ms cubic-bezier(0.16,1,0.3,1); }
.lc-cursor { width: 8px; height: 8px; background: #FAFAFA; }
.lc-cursor-trail { width: 36px; height: 36px; border: 1px solid rgba(201,168,76,0.6); transition: transform 380ms cubic-bezier(0.16,1,0.3,1), width 200ms, height 200ms; }
.lc-cursor.is-hover { transform: translate3d(-50%, -50%, 0) scale(3); background: rgba(201,168,76,0.5); }
.lc-cursor-trail.is-hover { width: 64px; height: 64px; }
@media (hover: none), (pointer: coarse) { .lc-cursor, .lc-cursor-trail { display: none; } }

/* Sections base */
.lc-section { position: relative; padding: clamp(64px, 12vh, 160px) clamp(28px, 5vw, 80px); max-width: 1440px; margin: 0 auto; }
.lc-section + .lc-section { border-top: 1px solid rgba(201,168,76,0.08); }
.lc-mini { display: inline-block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: var(--lc-gold); margin-bottom: 14px; }
.lc-h2 { font: 400 clamp(28px, 4vw, 56px)/1.15 'NT Epika', serif; color: var(--lc-text); letter-spacing: -0.01em; margin: 0 0 24px; max-width: 720px; }
.lc-body { font: 300 clamp(15px, 1.3vw, 18px)/1.65 'Halenoir', sans-serif; color: rgba(250,250,250,0.72); margin: 0 0 18px; max-width: 580px; }

/* HERO */
.lc-hero { padding: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.lc-three-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.lc-hero-content { position: relative; z-index: 1; text-align: center; padding: 0 clamp(24px, 4vw, 64px); max-width: 1200px; }
.lc-pretitle { display: inline-block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.36em; text-transform: uppercase; color: var(--lc-gold); margin-bottom: 36px; opacity: 0; }
.lc-hero-title { font: 400 clamp(40px, 6.5vw, 96px)/1.05 'NT Epika', serif; color: var(--lc-text); letter-spacing: -0.015em; margin: 0 0 36px; }
.lc-line-wrap { display: block; overflow: hidden; padding: 0 0 0.08em; }
.lc-line { display: block; transform: translateY(120%); }
.lc-hero-sub { font: 300 clamp(16px, 1.4vw, 22px)/1.5 'Halenoir'; color: rgba(250,250,250,0.65); max-width: 540px; margin: 0 auto 56px; opacity: 0; }
.lc-hero-indicator { display: inline-flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; }
.lc-indicator-line { width: 1px; height: 48px; background: linear-gradient(to bottom, transparent, var(--lc-gold)); transform-origin: top; animation: lcBreathe 3s ease-in-out infinite; }
@keyframes lcBreathe { 0%, 100% { transform: scaleY(0.3); opacity: 0.2; } 50% { transform: scaleY(1); opacity: 1; } }
.lc-indicator-text { font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(201,168,76,0.6); }

/* STATS */
.lc-stats-section { padding-top: clamp(48px, 8vh, 96px); padding-bottom: clamp(48px, 8vh, 96px); }
.lc-stats-label { font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: var(--lc-gold); display: block; margin-bottom: 48px; opacity: 0; }
.lc-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.lc-stat-card { position: relative; padding: clamp(20px, 2.5vw, 36px); border-left: 1px solid rgba(201,168,76,0.18); opacity: 0; transition: background 600ms cubic-bezier(0.16,1,0.3,1); will-change: transform; }
.lc-stat-card:first-child { border-left: 0; }
.lc-stat-card:hover { background: rgba(201,168,76,0.03); }
.lc-stat-mini { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250,250,250,0.5); margin-bottom: 14px; }
.lc-stat-num { display: block; font: 400 clamp(40px, 5vw, 72px)/1 'NT Epika', serif; color: var(--lc-gold); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
@media (max-width: 720px) { .lc-stats-grid { grid-template-columns: repeat(2, 1fr); } .lc-stat-card:nth-child(3) { border-left: 0; } }

/* ORIGIN */
.lc-origin { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.lc-origin-text { opacity: 0; }
.lc-origin-visual { aspect-ratio: 4/5; position: relative; opacity: 0; }
.lc-water-canvas { width: 100%; height: 100%; display: block; background: #050402; border: 1px solid rgba(201,168,76,0.18); }
@media (max-width: 900px) { .lc-origin { grid-template-columns: 1fr; } }

/* CLIMATE */
.lc-climate-section { padding-top: clamp(48px, 8vh, 96px); }
.lc-climate-header { opacity: 0; margin-bottom: 56px; }
.lc-climate-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 40px); }
.lc-climate-card { position: relative; padding: clamp(28px, 3vw, 44px); background: rgba(255,255,255,0.02); border: 1px solid rgba(201,168,76,0.14); opacity: 0; transition: all 600ms cubic-bezier(0.16,1,0.3,1); overflow: hidden; }
.lc-climate-card::before { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--lc-gold); transition: width 700ms cubic-bezier(0.16,1,0.3,1); }
.lc-climate-card:hover { border-color: rgba(201,168,76,0.45); transform: translateY(-8px); box-shadow: 0 24px 60px -28px rgba(201,168,76,0.4); }
.lc-climate-card:hover::before { width: 100%; }
.lc-ring-progress { position: absolute; top: 22px; right: 22px; width: 48px; height: 48px; }
.lc-ring-fill { transition: stroke-dashoffset 1800ms cubic-bezier(0.16,1,0.3,1); }
.lc-climate-mini { font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: var(--lc-gold); display: block; margin-bottom: 18px; }
.lc-climate-num { font: 400 clamp(28px, 3vw, 44px)/1 'NT Epika'; color: var(--lc-text); display: block; margin-bottom: 14px; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.lc-climate-unit { font: 300 0.52em 'Halenoir'; color: var(--lc-gold); margin-left: 4px; letter-spacing: 0.06em; }
.lc-climate-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.55); margin: 0; }
@media (max-width: 900px) { .lc-climate-grid { grid-template-columns: 1fr; } }

/* ACTIVITIES */
.lc-activities-section { padding-top: clamp(64px, 10vh, 128px); }
.lc-activities-header { opacity: 0; margin-bottom: 48px; }
.lc-activities-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(201,168,76,0.18); }
.lc-act-row { position: relative; display: grid; grid-template-columns: 60px 220px 1fr; gap: 24px; align-items: baseline; padding: clamp(20px, 2.5vw, 32px) 0; border-bottom: 1px solid rgba(201,168,76,0.10); opacity: 0; transition: padding 600ms cubic-bezier(0.16,1,0.3,1); cursor: pointer; }
.lc-act-row::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 0; height: 1px; background: var(--lc-gold); transition: width 700ms cubic-bezier(0.16,1,0.3,1); }
.lc-act-row:hover { padding-left: 18px; padding-right: 18px; }
.lc-act-row:hover::after { width: 100%; }
.lc-act-row:hover .lc-act-name { color: var(--lc-gold); }
.lc-act-num { font: 300 13px/1 'Halenoir'; letter-spacing: 0.16em; color: rgba(201,168,76,0.45); font-variant-numeric: tabular-nums; }
.lc-act-name { font: 400 clamp(20px, 2.2vw, 28px)/1.2 'NT Epika'; color: var(--lc-text); transition: color 500ms cubic-bezier(0.16,1,0.3,1); }
.lc-act-desc { font: 300 14px/1.55 'Halenoir'; color: rgba(250,250,250,0.55); }
@media (max-width: 720px) { .lc-act-row { grid-template-columns: 50px 1fr; } .lc-act-desc { grid-column: 1 / -1; } }

/* LOCATION */
.lc-location-section { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: center; padding-top: clamp(64px, 10vh, 128px); }
.lc-location-visual { aspect-ratio: 1/1; position: relative; opacity: 0; transform: scale(0.9); transition: transform 1200ms cubic-bezier(0.16,1,0.3,1); }
.lc-map-canvas { width: 100%; height: 100%; display: block; background: #050402; border: 1px solid rgba(201,168,76,0.18); }
.lc-location-text { opacity: 0; }
.lc-route-list { list-style: none; margin: 32px 0 0; padding: 0; }
.lc-route-item { position: relative; padding: 18px 0 18px 24px; border-bottom: 1px solid rgba(201,168,76,0.10); display: flex; justify-content: space-between; align-items: baseline; opacity: 0; transition: padding 600ms cubic-bezier(0.16,1,0.3,1); cursor: pointer; }
.lc-route-item::before { content: ''; position: absolute; left: 0; top: 18px; bottom: 18px; width: 2px; background: var(--lc-gold); transform: scaleY(0); transform-origin: top; transition: transform 500ms cubic-bezier(0.16,1,0.3,1); }
.lc-route-item:hover { padding-left: 38px; }
.lc-route-item:hover::before { transform: scaleY(1); }
.lc-route-name { font: 400 16px/1 'NT Epika'; color: var(--lc-text); }
.lc-route-meta { font: 300 12px/1 'Halenoir'; letter-spacing: 0.08em; color: rgba(250,250,250,0.55); }
@media (max-width: 900px) { .lc-location-section { grid-template-columns: 1fr; } }

/* GALLERY */
.lc-gallery-section { padding-top: clamp(64px, 10vh, 128px); }
.lc-gallery-header { opacity: 0; margin-bottom: 56px; }
.lc-gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px; grid-auto-flow: dense; }
.lc-gal-item { position: relative; overflow: hidden; opacity: 0; transition: transform 1200ms cubic-bezier(0.16,1,0.3,1); display: block; text-decoration: none; }
.lc-gal-item[data-h="tall"] { grid-column: span 5; aspect-ratio: 4/5; }
.lc-gal-item[data-h="medium"] { grid-column: span 4; aspect-ratio: 1/1; }
.lc-gal-item[data-h="short"] { grid-column: span 3; aspect-ratio: 4/3; }
.lc-gal-item img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(30%) brightness(0.8); transition: filter 900ms cubic-bezier(0.16,1,0.3,1), transform 1400ms cubic-bezier(0.16,1,0.3,1); will-change: transform, filter; }
.lc-gal-item:hover img { filter: grayscale(0) brightness(1); transform: scale(1.08); }
.lc-gal-caption { position: absolute; bottom: 14px; left: 14px; right: 14px; font: 300 11px/1.3 'Halenoir'; letter-spacing: 0.1em; text-transform: uppercase; color: var(--lc-text); text-shadow: 0 2px 8px rgba(0,0,0,0.7); opacity: 0; transform: translateY(8px); transition: opacity 500ms, transform 500ms cubic-bezier(0.16,1,0.3,1); }
.lc-gal-item:hover .lc-gal-caption { opacity: 1; transform: translateY(0); }
@media (max-width: 900px) { .lc-gal-item[data-h="tall"], .lc-gal-item[data-h="medium"], .lc-gal-item[data-h="short"] { grid-column: span 6; aspect-ratio: 4/3; } }

/* CTA */
.lc-cta-section { padding: clamp(80px, 14vh, 200px) clamp(28px, 5vw, 80px); text-align: center; }
.lc-cta-content { opacity: 0; max-width: 720px; margin: 0 auto; }
.lc-cta-quote { font: 400 clamp(24px, 3vw, 40px)/1.3 'NT Epika'; color: var(--lc-text); margin: 14px 0 40px; letter-spacing: -0.01em; }
.lc-cta-btn { position: relative; display: inline-flex; align-items: center; gap: 12px; padding: 18px 36px; border: 1px solid var(--lc-gold); color: var(--lc-gold); font: 300 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; overflow: hidden; transition: color 500ms cubic-bezier(0.16,1,0.3,1); cursor: pointer; }
.lc-cta-btn-fill { position: absolute; inset: 0; background: var(--lc-gold); transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.7,0,0.2,1); z-index: 0; }
.lc-cta-btn-text, .lc-cta-btn-arrow { position: relative; z-index: 1; transition: color 500ms; }
.lc-cta-btn:hover { color: var(--lc-ink); }
.lc-cta-btn:hover .lc-cta-btn-fill { transform: translateX(0); }
.lc-cta-btn:hover .lc-cta-btn-arrow { transform: translateX(6px); }
.lc-cta-btn-arrow { transition: transform 500ms cubic-bezier(0.16,1,0.3,1); }

/* ─────────────────────────────────────────────────────────────
   Lago · 6 novas sub-secoes disruptivas + scroll 3D transitions
   ───────────────────────────────────────────────────────────── */

/* 3D base wrapper */
body.secao-lago .lc-section {
  perspective: 1200px;
  transform-style: preserve-3d;
  will-change: transform, opacity;
}

/* A. PIN-ORIGIN */
.lc-pin-origin { padding: 0; height: 200vh; position: relative; }
.lc-pin-inner { position: sticky; top: 0; height: 100vh; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: center; padding: 0 clamp(28px, 5vw, 80px); }
.lc-pin-sticky { max-width: 480px; }
.lc-pin-steps { position: relative; height: 60vh; display: flex; flex-direction: column; justify-content: space-around; }
.lc-pin-step { position: relative; padding-left: 60px; opacity: 0.15; transition: opacity 600ms cubic-bezier(0.16,1,0.3,1); }
.lc-pin-step.is-active { opacity: 1; }
.lc-pin-step-num { position: absolute; top: 0; left: 0; font: 300 14px/1 'Halenoir'; letter-spacing: 0.16em; color: var(--lc-gold); }
.lc-pin-step p { font: 400 clamp(18px, 2vw, 26px)/1.4 'NT Epika', serif; color: var(--lc-text); margin: 0; }
@media (max-width: 900px) { .lc-pin-origin { height: auto; } .lc-pin-inner { position: relative; height: auto; grid-template-columns: 1fr; padding: 80px clamp(28px, 5vw, 80px); } .lc-pin-steps { height: auto; gap: 32px; } .lc-pin-step { opacity: 1; } }

/* C. SPLIT-HORA */
.lc-split-hora { padding: 0; height: 300vh; position: relative; }
.lc-split-inner { position: sticky; top: 0; height: 100vh; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; }
.lc-split-left { position: relative; overflow: hidden; }
.lc-split-img { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 900ms cubic-bezier(0.16,1,0.3,1); }
.lc-split-img.is-active { opacity: 1; }
.lc-split-right { position: relative; display: flex; align-items: center; padding: 0 clamp(28px, 5vw, 80px); }
.lc-split-text { position: absolute; opacity: 0; transform: translateY(20px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); max-width: 460px; }
.lc-split-text.is-active { opacity: 1; transform: translateY(0); }
@media (max-width: 900px) { .lc-split-hora { height: auto; } .lc-split-inner { position: relative; height: auto; grid-template-columns: 1fr; } .lc-split-left { height: 60vh; } .lc-split-right { padding: 32px clamp(28px, 5vw, 80px); } .lc-split-text { position: relative; opacity: 1; transform: none; margin-bottom: 24px; } .lc-split-img { transition: none; } .lc-split-img:first-child { opacity: 1; } }

/* B. BIODIVERSIDADE 3D tilt */
.lc-biodiv-section { padding: clamp(80px, 12vh, 160px) clamp(28px, 5vw, 80px); }
.lc-biodiv-header { margin-bottom: 56px; }
.lc-biodiv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.5vw, 32px); perspective: 1400px; }
.lc-bio-card { padding: clamp(28px, 3vw, 44px); background: rgba(201,168,76,0.04); border: 1px solid rgba(201,168,76,0.18); transform-style: preserve-3d; will-change: transform; transition: border-color 600ms, background 600ms; }
.lc-bio-card:hover { background: rgba(201,168,76,0.09); border-color: rgba(201,168,76,0.5); }
.lc-bio-num { font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: var(--lc-gold); display: block; margin-bottom: 18px; }
.lc-bio-name { font: 400 clamp(20px, 2.2vw, 26px)/1.2 'NT Epika', serif; color: var(--lc-text); margin: 0 0 12px; letter-spacing: -0.01em; }
.lc-bio-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 900px) { .lc-biodiv-grid { grid-template-columns: 1fr; } }

/* D. TUNNEL CIDADES */
.lc-tunnel-section { padding: clamp(64px, 10vh, 128px) clamp(28px, 5vw, 80px); }
.lc-tunnel-header { margin-bottom: 56px; max-width: 720px; }
.lc-tunnel-stage { position: relative; height: 60vh; perspective: 1000px; display: flex; align-items: center; justify-content: center; }
.lc-tunnel-card { position: absolute; padding: clamp(22px, 2.5vw, 36px) clamp(28px, 3.5vw, 48px); background: rgba(10,8,6,0.85); border: 1px solid rgba(201,168,76,0.3); backdrop-filter: blur(8px); transform-style: preserve-3d; will-change: transform, opacity; text-align: center; min-width: 200px; }
.lc-tun-mini { font: 300 10px/1 'Halenoir'; letter-spacing: 0.24em; text-transform: uppercase; color: var(--lc-gold); display: block; margin-bottom: 10px; }
.lc-tun-name { font: 400 clamp(20px, 2.2vw, 28px)/1.1 'NT Epika', serif; color: var(--lc-text); margin: 0; letter-spacing: -0.01em; }

/* E. CUBE CICLO */
.lc-cube-section { padding: clamp(64px, 10vh, 128px) clamp(28px, 5vw, 80px) clamp(120px, 20vh, 240px); }
.lc-cube-header { margin-bottom: 64px; max-width: 600px; }
.lc-cube-stage { position: relative; perspective: 1600px; height: 50vh; min-height: 360px; display: flex; align-items: center; justify-content: center; }
.lc-cube { position: relative; width: 280px; height: 280px; transform-style: preserve-3d; transition: transform 200ms linear; }
.lc-cube-face { position: absolute; inset: 0; background: rgba(10,8,6,0.95); border: 1px solid rgba(201,168,76,0.3); padding: 32px; display: flex; flex-direction: column; justify-content: space-between; backdrop-filter: blur(6px); }
.lc-cube-face-front  { transform: translateZ(140px); }
.lc-cube-face-right  { transform: rotateY(90deg)   translateZ(140px); }
.lc-cube-face-back   { transform: rotateY(180deg)  translateZ(140px); }
.lc-cube-face-left   { transform: rotateY(-90deg)  translateZ(140px); }
.lc-cube-icon { width: 32px; height: 32px; color: var(--lc-gold); }
.lc-cube-mini { font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: var(--lc-gold); }
.lc-cube-text { font: 400 18px/1.35 'NT Epika', serif; color: var(--lc-text); margin: 0; letter-spacing: -0.005em; }

/* F. MANIFESTO PARALLAX */
.lc-manifesto-section { position: relative; padding: 0; height: 200vh; }
.lc-manifesto-bg { position: absolute; inset: 0; background-size: cover; background-position: center; will-change: transform; filter: grayscale(0.7) brightness(0.45) contrast(1.1); }
.lc-manifesto-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.85) 100%); }
.lc-manifesto-bignum { position: absolute; top: 30%; left: 0; right: 0; text-align: center; font: 400 clamp(140px, 28vw, 380px)/1 'NT Epika', serif; color: rgba(201,168,76,0.06); letter-spacing: -0.04em; pointer-events: none; will-change: transform; z-index: 1; }
.lc-manifesto-content { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 0 clamp(28px, 5vw, 80px); z-index: 2; }
.lc-manifesto-text { font: 400 clamp(20px, 2.5vw, 32px)/1.5 'NT Epika', serif; color: rgba(250,250,250,0.82); margin: 0 0 18px; max-width: 720px; opacity: 0; transform: translateY(20px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.lc-manifesto-text.is-active { opacity: 1; transform: translateY(0); }
.lc-manifesto-strong { color: var(--lc-gold-light); font-style: italic; }

@media (prefers-reduced-motion: reduce) {
  .lc-line, .lc-pretitle, .lc-hero-sub, .lc-hero-indicator, .lc-stats-label, .lc-stat-card, .lc-origin-text, .lc-origin-visual, .lc-climate-header, .lc-climate-card, .lc-activities-header, .lc-act-row, .lc-location-visual, .lc-location-text, .lc-route-item, .lc-gallery-header, .lc-gal-item, .lc-cta-content, .lc-pin-step, .lc-split-text, .lc-split-img, .lc-bio-card, .lc-tunnel-card, .lc-manifesto-text { opacity: 1 !important; transform: none !important; }
  .lc-grain, .lc-vignette { display: none; }
  .lc-three-canvas, .lc-water-canvas, .lc-map-canvas { opacity: 0.3; }
  body.secao-lago .lc-section { transform: none !important; }
  .lc-cube { transform: none !important; }
  .lc-manifesto-bg { transform: none !important; }
}

/* ─────────────────────────────────────────────────────────────
   Cadastro Lead · Premium Imersivo + 3D scroll transitions
   ───────────────────────────────────────────────────────────── */
body.secao-cadastro { background: #050402; }
body.secao-cadastro ::selection { background: var(--lc-gold, #C9A84C); color: #0a0806; }
body.secao-cadastro .cad-section { perspective: 1200px; transform-style: preserve-3d; will-change: transform, opacity; position: relative; padding: clamp(64px, 12vh, 160px) clamp(28px, 5vw, 80px); max-width: 1440px; margin: 0 auto; }
body.secao-cadastro .cad-section + .cad-section { border-top: 1px solid rgba(201,168,76,0.08); }

.cad-mini { display: inline-block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: #C9A84C; margin-bottom: 14px; }
.cad-h2 { font: 400 clamp(28px, 4vw, 56px)/1.15 'NT Epika', serif; color: #FAFAFA; letter-spacing: -0.01em; margin: 0 0 24px; max-width: 720px; }
.cad-body { font: 300 clamp(15px, 1.3vw, 18px)/1.65 'Halenoir', sans-serif; color: rgba(250,250,250,0.72); margin: 0 0 18px; max-width: 580px; }
.cad-section-header { margin-bottom: 56px; max-width: 720px; }

/* HERO */
.cad-hero { padding: 0 !important; min-height: 95vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cad-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: grayscale(0.5) brightness(0.4) contrast(1.05); transform: scale(1.05); will-change: transform; }
.cad-hero-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,0.45) 30%, rgba(0,0,0,0.92) 100%); }
.cad-hero-content { position: relative; z-index: 2; text-align: center; padding: 0 clamp(24px, 4vw, 64px); max-width: 1100px; }
.cad-pretitle { display: inline-block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.36em; text-transform: uppercase; color: #C9A84C; margin-bottom: 36px; opacity: 0; }
.cad-hero-title { font: 400 clamp(40px, 6vw, 92px)/1.05 'NT Epika', serif; color: #FAFAFA; letter-spacing: -0.015em; margin: 0 0 36px; }
.cad-line-wrap { display: block; overflow: hidden; padding: 0 0 0.08em; }
.cad-line { display: block; transform: translateY(120%); }
.cad-hero-sub { font: 300 clamp(16px, 1.3vw, 20px)/1.55 'Halenoir'; color: rgba(250,250,250,0.7); max-width: 580px; margin: 0 auto 56px; opacity: 0; }
.cad-hero-indicator { display: inline-flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; }
.cad-indicator-line { width: 1px; height: 48px; background: linear-gradient(to bottom, transparent, #C9A84C); animation: cadBreathe 3s ease-in-out infinite; transform-origin: top; }
@keyframes cadBreathe { 0%,100% { transform: scaleY(0.3); opacity: 0.2; } 50% { transform: scaleY(1); opacity: 1; } }
.cad-indicator-text { font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(201,168,76,0.6); }

/* VALUE GRID 3D-tilt */
.cad-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 24px); perspective: 1400px; }
.cad-value-card { padding: clamp(28px, 3vw, 40px); background: rgba(201,168,76,0.03); border: 1px solid rgba(201,168,76,0.16); transform-style: preserve-3d; will-change: transform, opacity; transition: border-color 600ms, background 600ms, transform 600ms cubic-bezier(0.16,1,0.3,1); }
.cad-value-card:hover { background: rgba(201,168,76,0.08); border-color: rgba(201,168,76,0.5); transform: translateY(-6px) rotateX(2deg); }
.cad-value-num { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: #C9A84C; margin-bottom: 16px; }
.cad-value-name { font: 400 clamp(18px, 2vw, 22px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 12px; letter-spacing: -0.005em; }
.cad-value-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 900px) { .cad-value-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .cad-value-grid { grid-template-columns: 1fr; } }

/* FORM */
.cad-form-section { padding-top: clamp(80px, 12vh, 160px) !important; padding-bottom: clamp(80px, 12vh, 160px) !important; }
.cad-form-frame { max-width: 720px; margin: 0 auto; }
.cad-form-header { text-align: center; margin-bottom: 56px; }
.cad-form-header .cad-h2 { margin-left: auto; margin-right: auto; }
.cad-form-sub { font: 300 14px/1.5 'Halenoir'; color: rgba(250,250,250,0.6); }
.cad-form-stage { position: relative; background: rgba(255,255,255,0.02); border: 1px solid rgba(201,168,76,0.18); padding: clamp(36px, 5vw, 56px); }
.cad-progress-bar { position: absolute; top: 0; left: 0; right: 0; height: 2px; background: rgba(201,168,76,0.08); }
.cad-progress-fill { height: 100%; width: 0; background: linear-gradient(90deg, #C9A84C, #E0B95F); transition: width 600ms cubic-bezier(0.16,1,0.3,1); }
.cad-form { position: relative; min-height: 320px; }
.cad-step { display: none; opacity: 0; transform: translateY(20px) rotateY(8deg); transition: opacity 500ms cubic-bezier(0.16,1,0.3,1), transform 500ms cubic-bezier(0.16,1,0.3,1); transform-style: preserve-3d; }
.cad-step.is-active { display: flex; flex-direction: column; gap: 20px; opacity: 1; transform: translateY(0) rotateY(0); }
.cad-step-num { font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: #C9A84C; }
.cad-label { font: 400 clamp(18px, 2vw, 24px)/1.3 'NT Epika', serif; color: #FAFAFA; letter-spacing: -0.005em; }
.cad-input { background: transparent; border: 0; border-bottom: 1px solid rgba(201,168,76,0.25); padding: 14px 0; font: 300 18px/1.4 'Halenoir'; color: #FAFAFA; outline: none; transition: border-color 400ms, padding 400ms; }
.cad-input::placeholder { color: rgba(250,250,250,0.3); }
.cad-input:focus { border-color: #C9A84C; padding-left: 4px; }
.cad-input.cad-err { border-color: #ff6b6b; animation: cadShake 0.4s; }
@keyframes cadShake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
.cad-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.cad-chip { padding: 12px 20px; background: transparent; border: 1px solid rgba(201,168,76,0.3); color: rgba(250,250,250,0.85); font: 300 13px/1 'Halenoir'; letter-spacing: 0.06em; cursor: pointer; transition: all 380ms cubic-bezier(0.16,1,0.3,1); }
.cad-chip:hover { border-color: #C9A84C; color: #E0B95F; }
.cad-chip.is-selected { background: #C9A84C; color: #0a0806; border-color: #C9A84C; }
.cad-actions { display: flex; gap: 14px; margin-top: 12px; }
.cad-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px; border: 1px solid #C9A84C; color: #C9A84C; background: transparent; font: 300 12px/1 'Halenoir'; letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer; overflow: hidden; transition: color 500ms; text-decoration: none; }
.cad-btn-fill { position: absolute; inset: 0; background: #C9A84C; transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.7,0,0.2,1); z-index: 0; }
.cad-btn-text, .cad-btn-arrow { position: relative; z-index: 1; transition: color 500ms, transform 400ms cubic-bezier(0.16,1,0.3,1); }
.cad-btn:hover { color: #0a0806; }
.cad-btn:hover .cad-btn-fill { transform: translateX(0); }
.cad-btn:hover .cad-btn-arrow { transform: translateX(6px); }
.cad-btn-back { border-color: rgba(250,250,250,0.15); color: rgba(250,250,250,0.7); }
.cad-btn-back:hover { border-color: rgba(250,250,250,0.5); color: #fff; }
.cad-btn-back .cad-btn-fill { background: rgba(255,255,255,0.06); }
.cad-btn-submit { background: #C9A84C; color: #0a0806; }
.cad-btn-submit .cad-btn-text, .cad-btn-submit .cad-btn-arrow { color: #0a0806; }
.cad-btn-submit:hover { color: #FAFAFA; }
.cad-btn-submit .cad-btn-fill { background: #0a0806; }
.cad-btn-submit:hover .cad-btn-text, .cad-btn-submit:hover .cad-btn-arrow { color: #FAFAFA; }
.cad-success { align-items: center; text-align: center; }
.cad-success-icon { color: #C9A84C; margin-bottom: 20px; }
.cad-success-icon path { stroke-dasharray: 100; stroke-dashoffset: 100; animation: cadCheck 1s cubic-bezier(0.16,1,0.3,1) 0.3s forwards; }
@keyframes cadCheck { to { stroke-dashoffset: 0; } }
.cad-success-title { font: 400 clamp(24px, 3vw, 36px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 10px; }
.cad-success-text { font: 300 15px/1.6 'Halenoir'; color: rgba(250,250,250,0.7); max-width: 460px; margin: 0 0 28px; }
.cad-success-actions { display: flex; flex-direction: column; gap: 12px; }

/* PROCESSO timeline */
.cad-timeline { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding-top: 32px; }
.cad-timeline-line { position: absolute; top: 60px; left: 14%; right: 14%; height: 1px; background: linear-gradient(90deg, rgba(201,168,76,0), #C9A84C 20%, #C9A84C 80%, rgba(201,168,76,0)); z-index: 0; }
.cad-tl-step { position: relative; padding: 0 12px; text-align: center; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.cad-tl-step::before { content: ''; display: block; width: 14px; height: 14px; border-radius: 50%; background: #C9A84C; box-shadow: 0 0 14px rgba(201,168,76,0.55); margin: 53px auto 24px; position: relative; z-index: 1; }
.cad-tl-num { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: rgba(201,168,76,0.6); margin-bottom: 8px; }
.cad-tl-name { font: 400 clamp(18px, 2vw, 22px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 8px; }
.cad-tl-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 800px) { .cad-timeline { grid-template-columns: 1fr; gap: 28px; } .cad-timeline-line { display: none; } .cad-tl-step::before { margin: 0 auto 16px; } }

/* TRUST */
.cad-trust-header { margin-bottom: 56px; max-width: 720px; }
.cad-trust-stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.cad-trust-card { position: relative; padding: clamp(20px, 2.5vw, 32px); border-left: 1px solid rgba(201,168,76,0.18); opacity: 0; transform: translateY(40px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); }
.cad-trust-card:first-child { border-left: 0; }
.cad-trust-num { display: inline; font: 400 clamp(40px, 5vw, 72px)/1 'NT Epika', serif; color: #C9A84C; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.cad-trust-unit { display: inline; font: 300 0.4em 'Halenoir'; color: rgba(201,168,76,0.65); margin-left: 2px; }
.cad-trust-mini { display: block; margin-top: 14px; font: 300 11px/1.3 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(250,250,250,0.5); }
@media (max-width: 720px) { .cad-trust-stats { grid-template-columns: repeat(2, 1fr); } .cad-trust-card:nth-child(3) { border-left: 0; } }

/* TESTIMONIALS stack */
.cad-tstm-stack { display: flex; flex-direction: column; gap: 24px; max-width: 780px; margin: 0 auto; }
.cad-tstm-card { padding: clamp(28px, 3vw, 44px); background: rgba(201,168,76,0.04); border-left: 2px solid #C9A84C; opacity: 0; transform: translateX(-30px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.cad-tstm-quote { font: 400 clamp(18px, 2vw, 24px)/1.4 'NT Epika', serif; color: #FAFAFA; margin: 0 0 14px; letter-spacing: -0.005em; font-style: italic; }
.cad-tstm-by { font: 300 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(201,168,76,0.7); }

/* GUARANTEES */
.cad-gua-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 24px); }
.cad-gua-card { padding: clamp(24px, 3vw, 32px); background: rgba(255,255,255,0.02); border: 1px solid rgba(201,168,76,0.14); opacity: 0; transform: translateY(40px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); }
.cad-gua-icon { width: 32px; height: 32px; color: #C9A84C; margin-bottom: 18px; }
.cad-gua-name { font: 400 clamp(16px, 1.6vw, 18px)/1.3 'NT Epika', serif; color: #FAFAFA; margin: 0 0 8px; }
.cad-gua-desc { font: 300 12px/1.55 'Halenoir'; color: rgba(250,250,250,0.55); margin: 0; }
@media (max-width: 900px) { .cad-gua-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .cad-gua-grid { grid-template-columns: 1fr; } }

/* FINAL CTA */
.cad-final-cta { padding: clamp(80px, 14vh, 200px) clamp(28px, 5vw, 80px) !important; text-align: center; }
.cad-final-content { max-width: 720px; margin: 0 auto; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.cad-final-quote { font: 400 clamp(22px, 3vw, 36px)/1.3 'NT Epika', serif; color: #FAFAFA; margin: 14px 0 40px; letter-spacing: -0.01em; }
.cad-final-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) {
  .cad-line, .cad-pretitle, .cad-hero-sub, .cad-hero-indicator, .cad-value-card, .cad-tl-step, .cad-trust-card, .cad-tstm-card, .cad-gua-card, .cad-final-content { opacity: 1 !important; transform: none !important; }
}

/* ─────────────────────────────────────────────────────────────
   Imagens / Vídeos · Premium Imersivo (compartilhado)
   ───────────────────────────────────────────────────────────── */
body.secao-media { background: #050402; }
body.secao-media .med-section { perspective: 1200px; transform-style: preserve-3d; will-change: transform, opacity; position: relative; padding: clamp(64px, 12vh, 160px) clamp(28px, 5vw, 80px); max-width: 1440px; margin: 0 auto; }
body.secao-media .med-section + .med-section { border-top: 1px solid rgba(201,168,76,0.08); }

.med-mini { display: inline-block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: #C9A84C; margin-bottom: 14px; }
.med-h2 { font: 400 clamp(28px, 4vw, 52px)/1.15 'NT Epika', serif; color: #FAFAFA; letter-spacing: -0.01em; margin: 0 0 24px; max-width: 720px; }
.med-body { font: 300 clamp(15px, 1.3vw, 18px)/1.65 'Halenoir', sans-serif; color: rgba(250,250,250,0.72); margin: 0 0 18px; max-width: 580px; }
.med-section-header { margin-bottom: 56px; max-width: 720px; }

/* HERO */
.med-hero { padding: 0 !important; min-height: 95vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.med-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: grayscale(0.4) brightness(0.45) contrast(1.05); transform: scale(1.05); will-change: transform; }
.med-hero-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,0.45) 30%, rgba(0,0,0,0.92) 100%); }
.med-hero-content { position: relative; z-index: 2; text-align: center; padding: 0 clamp(24px, 4vw, 64px); max-width: 1100px; }
.med-pretitle { display: inline-block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.36em; text-transform: uppercase; color: #C9A84C; margin-bottom: 36px; opacity: 0; }
.med-hero-title { font: 400 clamp(40px, 6.5vw, 96px)/1.05 'NT Epika', serif; color: #FAFAFA; letter-spacing: -0.015em; margin: 0 0 36px; }
.med-line-wrap { display: block; overflow: hidden; padding: 0 0 0.08em; }
.med-line { display: block; transform: translateY(120%); }
.med-hero-sub { font: 300 clamp(16px, 1.4vw, 22px)/1.5 'Halenoir'; color: rgba(250,250,250,0.65); max-width: 540px; margin: 0 auto 56px; opacity: 0; }
.med-hero-indicator { display: inline-flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; }
.med-indicator-line { width: 1px; height: 48px; background: linear-gradient(to bottom, transparent, #C9A84C); animation: medBreathe 3s ease-in-out infinite; transform-origin: top; }
@keyframes medBreathe { 0%,100% { transform: scaleY(0.3); opacity: 0.2; } 50% { transform: scaleY(1); opacity: 1; } }
.med-indicator-text { font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(201,168,76,0.6); }

/* STATS */
.med-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(201,168,76,0.18); border-bottom: 1px solid rgba(201,168,76,0.18); }
.med-stat { padding: clamp(24px, 3vw, 40px); border-left: 1px solid rgba(201,168,76,0.18); opacity: 0; transform: translateY(40px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); }
.med-stat:first-child { border-left: 0; }
.med-stat-num { font: 400 clamp(40px, 5vw, 72px)/1 'NT Epika', serif; color: #C9A84C; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; display: inline; }
.med-stat-unit { font: 300 0.4em 'Halenoir'; color: rgba(201,168,76,0.7); margin-left: 4px; }
.med-stat-mini { display: block; margin-top: 14px; font: 300 11px/1.3 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(250,250,250,0.55); }
@media (max-width: 720px) { .med-stats-grid { grid-template-columns: 1fr; } .med-stat { border-left: 0; border-top: 1px solid rgba(201,168,76,0.18); } .med-stat:first-child { border-top: 0; } }

/* FEATURED FRAME */
.med-featured { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(36px, 5vw, 72px); align-items: center; }
.med-featured-img { aspect-ratio: 4/3; background-size: cover; background-position: center; filter: grayscale(0.2) brightness(0.9); transition: filter 900ms cubic-bezier(0.16,1,0.3,1); opacity: 0; transform: scale(0.96); }
.med-featured-img:hover { filter: grayscale(0) brightness(1); }
.med-featured-meta { opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.med-featured-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.med-tag { padding: 6px 14px; background: rgba(201,168,76,0.08); border: 1px solid rgba(201,168,76,0.3); color: #E0B95F; font: 300 11px/1 'Halenoir'; letter-spacing: 0.12em; text-transform: uppercase; }
@media (max-width: 900px) { .med-featured { grid-template-columns: 1fr; } }

/* CATEGORIAS 3D */
.med-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 28px); perspective: 1400px; }
.med-cat-card { position: relative; background: transparent; border: 1px solid rgba(201,168,76,0.18); padding: 0; cursor: pointer; overflow: hidden; transform-style: preserve-3d; will-change: transform, opacity; transition: border-color 600ms; text-align: left; color: inherit; aspect-ratio: 4/5; }
.med-cat-card:hover { border-color: rgba(201,168,76,0.6); }
.med-cat-img { position: absolute; inset: 0; background-size: cover; background-position: center; filter: grayscale(0.5) brightness(0.55) contrast(1.05); transition: filter 900ms cubic-bezier(0.16,1,0.3,1), transform 1400ms cubic-bezier(0.16,1,0.3,1); will-change: transform, filter; }
.med-cat-card:hover .med-cat-img { filter: grayscale(0) brightness(0.85); transform: scale(1.08); }
.med-cat-info { position: absolute; bottom: 0; left: 0; right: 0; padding: clamp(20px, 2.5vw, 32px); display: flex; flex-direction: column; gap: 8px; background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0) 100%); }
.med-cat-num { font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: #C9A84C; }
.med-cat-label { font: 400 clamp(18px, 2vw, 24px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0; letter-spacing: -0.005em; }
.med-cat-count { font: 300 12px/1 'Halenoir'; letter-spacing: 0.06em; color: rgba(250,250,250,0.55); }
.med-cat-arrow { position: absolute; top: 20px; right: 20px; width: 28px; height: 28px; color: #C9A84C; opacity: 0; transform: translateX(-6px); transition: all 500ms cubic-bezier(0.16,1,0.3,1); }
.med-cat-card:hover .med-cat-arrow { opacity: 1; transform: translateX(0); }
.med-cat-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.95); width: 64px; height: 64px; color: #FAFAFA; opacity: 0.85; transition: all 500ms cubic-bezier(0.16,1,0.3,1); pointer-events: none; }
.med-cat-card-video:hover .med-cat-play { opacity: 1; transform: translate(-50%, -50%) scale(1.1); color: #E0B95F; }
@media (max-width: 900px) { .med-cat-grid { grid-template-columns: 1fr; } .med-cat-card { aspect-ratio: 16/10; } }

/* PHILOSOPHY GRID */
.med-phil-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.5vw, 28px); perspective: 1200px; }
.med-phil-card { padding: clamp(28px, 3vw, 40px); background: rgba(201,168,76,0.04); border: 1px solid rgba(201,168,76,0.16); opacity: 0; transform: translateY(40px) rotateX(8deg); transform-style: preserve-3d; will-change: transform, opacity; transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.med-phil-card:hover { background: rgba(201,168,76,0.08); border-color: rgba(201,168,76,0.5); transform: translateY(-4px); }
.med-phil-num { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: #C9A84C; margin-bottom: 18px; }
.med-phil-name { font: 400 clamp(18px, 2vw, 24px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 10px; letter-spacing: -0.005em; }
.med-phil-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 900px) { .med-phil-grid { grid-template-columns: 1fr; } }

/* CTA */
.med-cta { padding: clamp(80px, 14vh, 200px) clamp(28px, 5vw, 80px) !important; text-align: center; }
.med-cta-content { max-width: 720px; margin: 0 auto; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.med-cta-quote { font: 400 clamp(22px, 3vw, 36px)/1.3 'NT Epika', serif; color: #FAFAFA; margin: 14px 0 40px; letter-spacing: -0.01em; }
.med-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.med-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; border: 1px solid #C9A84C; color: #C9A84C; background: transparent; font: 300 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; overflow: hidden; transition: color 500ms; text-decoration: none; }
.med-btn-fill { position: absolute; inset: 0; background: #C9A84C; transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.7,0,0.2,1); z-index: 0; }
.med-btn-text, .med-btn-arrow { position: relative; z-index: 1; transition: color 500ms, transform 400ms cubic-bezier(0.16,1,0.3,1); }
.med-btn:hover { color: #0a0806; }
.med-btn:hover .med-btn-fill { transform: translateX(0); }
.med-btn:hover .med-btn-arrow { transform: translateX(6px); }
.med-btn-back { border-color: rgba(250,250,250,0.15); color: rgba(250,250,250,0.7); }
.med-btn-back:hover { border-color: rgba(250,250,250,0.5); color: #fff; }
.med-btn-back .med-btn-fill { background: rgba(255,255,255,0.06); }

@media (prefers-reduced-motion: reduce) {
  .med-line, .med-pretitle, .med-hero-sub, .med-hero-indicator, .med-stat, .med-featured-img, .med-featured-meta, .med-cat-card, .med-phil-card, .med-cta-content { opacity: 1 !important; transform: none !important; }
}

/* ─────────────────────────────────────────────────────────────
   Global · Títulos display em CAIXA ALTA (substitui Blaak por NT Epika)
   ───────────────────────────────────────────────────────────── */
.lc-h2,
.lc-hero-title,
.lc-bio-name,
.lc-tun-name,
.lc-act-name,
.lc-route-name,
.lc-cta-quote,
.cad-h2,
.cad-hero-title,
.cad-value-name,
.cad-tl-name,
.cad-success-title,
.cad-gua-name,
.cad-final-quote,
.med-h2,
.med-hero-title,
.med-cat-label,
.med-phil-name,
.med-cta-quote,
.aur-h2,
.aur-hero-title,
.aur-pilar-name,
.aur-stat-mini,
.aur-feat-h2,
.aur-cta-quote,
.body-h2,
.pilar-title,
.amen-title,
.secao-title,
.spec-val,
.secao-mini,
.cap-title,
.q-cap-mini,
.dist-name,
.inv-num,
.metric-num {
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
/* Excecoes: parágrafos longos, manifestos, testimonials não viram caixa alta */
.lc-manifesto-text,
.cad-tstm-quote,
.lc-body,
.cad-body,
.med-body,
.aur-body,
.lc-act-desc,
.lc-bio-desc,
.cad-value-desc,
.cad-tl-desc,
.cad-gua-desc,
.med-phil-desc,
.aur-pilar-desc,
.lc-pin-step p,
.lc-climate-desc {
  text-transform: none !important;
}
/* Ajuste letter-spacing pra letras grandes em caixa alta */
.lc-hero-title,
.cad-hero-title,
.med-hero-title,
.aur-hero-title {
  letter-spacing: 0;
}

/* ─────────────────────────────────────────────────────────────
   Aurora · Apresentação principal premium
   ───────────────────────────────────────────────────────────── */
body.secao-aurora { background: #050402; }
body.secao-aurora .aur-section { perspective: 1200px; transform-style: preserve-3d; will-change: transform, opacity; position: relative; padding: clamp(64px, 12vh, 160px) clamp(28px, 5vw, 80px); max-width: 1440px; margin: 0 auto; }
body.secao-aurora .aur-section + .aur-section { border-top: 1px solid rgba(201,168,76,0.08); }

.aur-mini { display: inline-block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: #C9A84C; margin-bottom: 14px; }
.aur-h2 { font: 400 clamp(28px, 4vw, 56px)/1.15 'NT Epika', serif; color: #FAFAFA; margin: 0 0 24px; max-width: 720px; }
.aur-body { font: 300 clamp(15px, 1.3vw, 18px)/1.65 'Halenoir', sans-serif; color: rgba(250,250,250,0.72); margin: 0 0 18px; max-width: 580px; }
.aur-section-header { margin-bottom: 56px; max-width: 720px; }

/* HERO */
.aur-hero { padding: 0 !important; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.aur-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: grayscale(0.5) brightness(0.32) contrast(1.1); transform: scale(1.05); will-change: transform; }
.aur-hero-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,0.35) 25%, rgba(0,0,0,0.92) 100%); }
.aur-hero-amp { position: absolute; left: 50%; top: 50%; width: 60vmin; max-width: 720px; transform: translate(-50%, -50%); opacity: 0.18; filter: drop-shadow(0 0 60px rgba(201,168,76,0.45)); z-index: 1; pointer-events: none; }
.aur-hero-content { position: relative; z-index: 2; text-align: center; padding: 0 clamp(24px, 4vw, 64px); max-width: 1100px; }
.aur-pretitle { display: inline-block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.36em; text-transform: uppercase; color: #C9A84C; margin-bottom: 36px; opacity: 0; }
.aur-hero-title { font: 400 clamp(42px, 6.6vw, 96px)/1.05 'NT Epika', serif; color: #FAFAFA; margin: 0 0 36px; }
.aur-line-wrap { display: block; overflow: hidden; padding: 0 0 0.08em; }
.aur-line { display: block; transform: translateY(120%); }
.aur-hero-sub { font: 300 clamp(16px, 1.4vw, 22px)/1.5 'Halenoir'; color: rgba(250,250,250,0.7); max-width: 600px; margin: 0 auto 56px; opacity: 0; }
.aur-hero-indicator { display: inline-flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; }
.aur-indicator-line { width: 1px; height: 48px; background: linear-gradient(to bottom, transparent, #C9A84C); animation: aurBreathe 3s ease-in-out infinite; transform-origin: top; }
@keyframes aurBreathe { 0%,100% { transform: scaleY(0.3); opacity: 0.2; } 50% { transform: scaleY(1); opacity: 1; } }
.aur-indicator-text { font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(201,168,76,0.6); }

/* MANIFESTO */
.aur-manifesto { position: relative; min-height: 80vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.aur-manifesto-bignum { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font: 400 clamp(180px, 36vw, 520px)/1 'NT Epika', serif; color: rgba(201,168,76,0.05); letter-spacing: -0.04em; pointer-events: none; z-index: 0; text-transform: uppercase; }
.aur-manifesto-content { position: relative; z-index: 1; max-width: 720px; text-align: center; }
.aur-manifesto-text { font: 400 clamp(20px, 2.6vw, 32px)/1.45 'NT Epika', serif; color: rgba(250,250,250,0.85); margin: 0 0 22px; opacity: 0; transform: translateY(30px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.aur-manifesto-text.is-active { opacity: 1; transform: translateY(0); }
.aur-manifesto-strong { color: #E0B95F; font-style: italic; }

/* PILARES 3D-tilt */
.aur-pilar-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(18px, 2.5vw, 32px); perspective: 1400px; }
.aur-pilar-card { padding: clamp(32px, 3.5vw, 48px); background: rgba(201,168,76,0.04); border: 1px solid rgba(201,168,76,0.18); transform-style: preserve-3d; will-change: transform, opacity; transition: border-color 600ms, background 600ms, transform 600ms cubic-bezier(0.16,1,0.3,1); }
.aur-pilar-card:hover { background: rgba(201,168,76,0.08); border-color: rgba(201,168,76,0.5); transform: translateY(-6px); }
.aur-pilar-num { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: #C9A84C; margin-bottom: 22px; }
.aur-pilar-name { font: 400 clamp(22px, 2.4vw, 30px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 14px; }
.aur-pilar-desc { font: 300 14px/1.6 'Halenoir'; color: rgba(250,250,250,0.65); margin: 0; }
@media (max-width: 800px) { .aur-pilar-grid { grid-template-columns: 1fr; } }

/* STATS */
.aur-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(201,168,76,0.18); border-bottom: 1px solid rgba(201,168,76,0.18); }
.aur-stat { padding: clamp(24px, 3vw, 40px); border-left: 1px solid rgba(201,168,76,0.18); opacity: 0; transform: translateY(40px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); }
.aur-stat:first-child { border-left: 0; }
.aur-stat-num { font: 400 clamp(40px, 5vw, 72px)/1 'NT Epika', serif; color: #C9A84C; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; display: inline; }
.aur-stat-unit { font: 300 0.4em 'Halenoir'; color: rgba(201,168,76,0.7); margin-left: 4px; }
.aur-stat-mini { display: block; margin-top: 14px; font: 300 11px/1.3 'Halenoir'; letter-spacing: 0.2em; color: rgba(250,250,250,0.55); }
@media (max-width: 720px) { .aur-stats-grid { grid-template-columns: 1fr 1fr; } .aur-stat:nth-child(3) { border-left: 0; } }

/* FEATURED */
.aur-featured { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(36px, 5vw, 72px); align-items: center; }
.aur-feat-img { aspect-ratio: 4/3; background-size: cover; background-position: center; filter: grayscale(0.25) brightness(0.85); transition: filter 900ms cubic-bezier(0.16,1,0.3,1); opacity: 0; transform: scale(0.96); }
.aur-feat-img:hover { filter: grayscale(0) brightness(1); }
.aur-feat-h2 { font: 400 clamp(28px, 3.6vw, 44px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 20px; }
.aur-feat-meta { opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.aur-feat-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.aur-tag { padding: 6px 14px; background: rgba(201,168,76,0.08); border: 1px solid rgba(201,168,76,0.3); color: #E0B95F; font: 300 11px/1 'Halenoir'; letter-spacing: 0.14em; text-transform: uppercase; }
@media (max-width: 900px) { .aur-featured { grid-template-columns: 1fr; } }

/* DIFERENCIAIS */
.aur-diff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.5vw, 28px); perspective: 1200px; }
.aur-diff-card { padding: clamp(28px, 3vw, 40px); background: rgba(255,255,255,0.02); border: 1px solid rgba(201,168,76,0.14); opacity: 0; transform: translateY(40px) rotateX(8deg); transform-style: preserve-3d; transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.aur-diff-card:hover { background: rgba(201,168,76,0.06); border-color: rgba(201,168,76,0.45); transform: translateY(-4px); }
.aur-diff-icon { width: 34px; height: 34px; color: #C9A84C; margin-bottom: 20px; }
.aur-diff-name { font: 400 clamp(18px, 2vw, 22px)/1.25 'NT Epika', serif; color: #FAFAFA; margin: 0 0 12px; }
@media (max-width: 900px) { .aur-diff-grid { grid-template-columns: 1fr; } }

/* CTA */
.aur-cta { padding: clamp(80px, 14vh, 200px) clamp(28px, 5vw, 80px) !important; text-align: center; }
.aur-cta-content { max-width: 760px; margin: 0 auto; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.aur-cta-quote { font: 400 clamp(24px, 3.2vw, 40px)/1.3 'NT Epika', serif; color: #FAFAFA; margin: 14px 0 40px; }
.aur-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.aur-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; border: 1px solid #C9A84C; color: #C9A84C; background: transparent; font: 300 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; overflow: hidden; transition: color 500ms; text-decoration: none; }
.aur-btn-fill { position: absolute; inset: 0; background: #C9A84C; transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.7,0,0.2,1); z-index: 0; }
.aur-btn-text, .aur-btn-arrow { position: relative; z-index: 1; transition: color 500ms, transform 400ms cubic-bezier(0.16,1,0.3,1); }
.aur-btn:hover { color: #0a0806; }
.aur-btn:hover .aur-btn-fill { transform: translateX(0); }
.aur-btn:hover .aur-btn-arrow { transform: translateX(6px); }
.aur-btn-back { border-color: rgba(250,250,250,0.15); color: rgba(250,250,250,0.7); }
.aur-btn-back:hover { border-color: rgba(250,250,250,0.5); color: #fff; }
.aur-btn-back .aur-btn-fill { background: rgba(255,255,255,0.06); }

@media (prefers-reduced-motion: reduce) {
  .aur-line, .aur-pretitle, .aur-hero-sub, .aur-hero-indicator, .aur-manifesto-text, .aur-pilar-card, .aur-stat, .aur-feat-img, .aur-feat-meta, .aur-diff-card, .aur-cta-content { opacity: 1 !important; transform: none !important; }
}

/* ─────────────────────────────────────────────────────────────
   Global · Banners hero em P&B + grão (todas apresentações)
   ───────────────────────────────────────────────────────────── */

/* P&B agressivo + textura nos backgrounds hero */
.lc-hero .lc-three-canvas { filter: grayscale(0.85) contrast(1.05); }
.lc-story-img,
.lc-manifesto-bg,
.cad-hero-bg,
.med-hero-bg,
.aur-hero-bg,
.secao-hero-bg,
.cad-section .med-hero-bg,
.med-featured-img,
.aur-feat-img,
.med-cat-img,
.lc-gal-item img,
.lago-gal-item img {
  filter: grayscale(1) brightness(0.55) contrast(1.08) !important;
  transition: filter 1100ms cubic-bezier(0.16,1,0.3,1) !important;
}

/* Hover restaura cor (mantém comportamento de galeria) */
.lc-gal-item:hover img,
.lago-gal-item:hover img,
.med-cat-card:hover .med-cat-img,
.med-featured-img:hover {
  filter: grayscale(0) brightness(0.9) contrast(1) !important;
}

/* Hero secao (header padrão da plataforma) também */
.secao-hero { position: relative; }
.secao-hero-bg {
  filter: grayscale(1) brightness(0.45) contrast(1.1) !important;
}
.secao-hero-video {
  filter: grayscale(1) brightness(0.55) contrast(1.08) !important;
}

/* Overlay de grão universal em todos os heroes/banners */
.lc-hero::after,
.cad-hero::after,
.med-hero::after,
.aur-hero::after,
.secao-hero::after,
.lc-story::after,
.lc-manifesto-section::after,
.med-featured::after,
.aur-featured::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size: 200px 200px;
  opacity: 0.08;
  mix-blend-mode: overlay;
  animation: grainShift 4s steps(6) infinite;
}
@keyframes grainShift {
  0%   { background-position: 0 0; }
  20%  { background-position: -40px 30px; }
  40%  { background-position: 80px -60px; }
  60%  { background-position: -120px 90px; }
  80%  { background-position: 60px -120px; }
  100% { background-position: 0 0; }
}

/* Garante que os heroes têm z-index correto pro overlay */
.lc-hero, .cad-hero, .med-hero, .aur-hero, .secao-hero,
.lc-story, .lc-manifesto-section, .med-featured, .aur-featured {
  position: relative;
}

/* Conteúdo do hero acima do grão */
.lc-hero-content, .cad-hero-content, .med-hero-content, .aur-hero-content,
.secao-hero-content { position: relative; z-index: 4; }

/* Cards/categorias de mídia: também P&B por default + cor no hover (já existe, reforçar) */
.med-cat-img,
.lago-gal-item img {
  filter: grayscale(1) brightness(0.55) contrast(1.1) !important;
}

@media (prefers-reduced-motion: reduce) {
  .lc-hero::after, .cad-hero::after, .med-hero::after, .aur-hero::after,
  .secao-hero::after, .lc-story::after, .lc-manifesto-section::after,
  .med-featured::after, .aur-featured::after { animation: none; }
}

/* ─────────────────────────────────────────────────────────────
   Estilo de Vida · Premium Imersivo
   ───────────────────────────────────────────────────────────── */
body.secao-estilo { background: #050402; }
body.secao-estilo .est-section { perspective: 1200px; transform-style: preserve-3d; will-change: transform, opacity; position: relative; padding: clamp(64px, 12vh, 160px) clamp(28px, 5vw, 80px); max-width: 1440px; margin: 0 auto; }
body.secao-estilo .est-section + .est-section { border-top: 1px solid rgba(201,168,76,0.08); }

.est-mini { display: inline-block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: #C9A84C; margin-bottom: 14px; }
.est-h2 { font: 400 clamp(28px, 4vw, 56px)/1.15 'NT Epika', serif; color: #FAFAFA; margin: 0 0 24px; max-width: 720px; text-transform: uppercase; letter-spacing: 0.02em; }
.est-section-header { margin-bottom: 56px; max-width: 720px; }

/* HERO */
.est-hero { padding: 0 !important; min-height: 95vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.est-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: grayscale(1) brightness(0.45) contrast(1.1); transform: scale(1.05); will-change: transform; }
.est-hero-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,0.4) 30%, rgba(0,0,0,0.92) 100%); }
.est-hero-content { position: relative; z-index: 4; text-align: center; padding: 0 clamp(24px, 4vw, 64px); max-width: 1100px; }
.est-pretitle { display: inline-block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.36em; text-transform: uppercase; color: #C9A84C; margin-bottom: 36px; opacity: 0; }
.est-hero-title { font: 400 clamp(42px, 6.6vw, 96px)/1.05 'NT Epika', serif; color: #FAFAFA; margin: 0 0 36px; text-transform: uppercase; letter-spacing: 0; }
.est-line-wrap { display: block; overflow: hidden; padding: 0 0 0.08em; }
.est-line { display: block; transform: translateY(120%); }
.est-hero-sub { font: 300 clamp(16px, 1.4vw, 22px)/1.5 'Halenoir'; color: rgba(250,250,250,0.7); max-width: 600px; margin: 0 auto 56px; opacity: 0; }
.est-hero-indicator { display: inline-flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; }
.est-indicator-line { width: 1px; height: 48px; background: linear-gradient(to bottom, transparent, #C9A84C); animation: estBreathe 3s ease-in-out infinite; transform-origin: top; }
@keyframes estBreathe { 0%,100% { transform: scaleY(0.3); opacity: 0.2; } 50% { transform: scaleY(1); opacity: 1; } }
.est-indicator-text { font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(201,168,76,0.6); }

/* MANIFESTO */
.est-manifesto { position: relative; min-height: 80vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.est-manifesto-bignum { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font: 400 clamp(180px, 36vw, 520px)/1 'NT Epika', serif; color: rgba(201,168,76,0.05); letter-spacing: -0.04em; pointer-events: none; z-index: 0; text-transform: uppercase; }
.est-manifesto-content { position: relative; z-index: 1; max-width: 720px; text-align: center; }
.est-manifesto-text { font: 400 clamp(20px, 2.6vw, 32px)/1.45 'NT Epika', serif; color: rgba(250,250,250,0.85); margin: 0 0 22px; opacity: 0; transform: translateY(30px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.est-manifesto-text.is-active { opacity: 1; transform: translateY(0); }
.est-manifesto-strong { color: #E0B95F; font-style: italic; }

/* STATS */
.est-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(201,168,76,0.18); border-bottom: 1px solid rgba(201,168,76,0.18); }
.est-stat { padding: clamp(24px, 3vw, 40px); border-left: 1px solid rgba(201,168,76,0.18); opacity: 0; transform: translateY(40px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); }
.est-stat:first-child { border-left: 0; }
.est-stat-num { font: 400 clamp(40px, 5vw, 72px)/1 'NT Epika', serif; color: #C9A84C; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; display: inline; }
.est-stat-unit { font: 300 0.4em 'Halenoir'; color: rgba(201,168,76,0.7); margin-left: 4px; }
.est-stat-mini { display: block; margin-top: 14px; font: 300 11px/1.3 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(250,250,250,0.55); }
@media (max-width: 720px) { .est-stats-grid { grid-template-columns: 1fr 1fr; } .est-stat:nth-child(3) { border-left: 0; } }

/* AMENIDADES 3D-tilt */
.est-amen-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.5vw, 28px); perspective: 1400px; }
.est-amen-card { padding: clamp(28px, 3vw, 40px); background: rgba(201,168,76,0.04); border: 1px solid rgba(201,168,76,0.18); transform-style: preserve-3d; will-change: transform, opacity; transition: border-color 600ms, background 600ms, transform 600ms cubic-bezier(0.16,1,0.3,1); }
.est-amen-card:hover { background: rgba(201,168,76,0.08); border-color: rgba(201,168,76,0.5); transform: translateY(-6px); }
.est-amen-icon { width: 34px; height: 34px; color: #C9A84C; margin-bottom: 18px; }
.est-amen-num { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: rgba(201,168,76,0.55); margin-bottom: 12px; }
.est-amen-name { font: 400 clamp(20px, 2.2vw, 26px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 12px; letter-spacing: -0.005em; }
.est-amen-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 900px) { .est-amen-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .est-amen-grid { grid-template-columns: 1fr; } }

/* DAYLIFE */
.est-day-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid rgba(201,168,76,0.18); border-bottom: 1px solid rgba(201,168,76,0.18); }
.est-day-card { padding: clamp(28px, 3.5vw, 44px) clamp(22px, 2.5vw, 32px); border-left: 1px solid rgba(201,168,76,0.18); position: relative; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.est-day-card:first-child { border-left: 0; }
.est-day-time { font: 300 12px/1 'Halenoir'; letter-spacing: 0.22em; color: #C9A84C; display: block; margin-bottom: 18px; font-variant-numeric: tabular-nums; }
.est-day-title { font: 400 clamp(22px, 2.5vw, 28px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 12px; }
.est-day-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 900px) { .est-day-grid { grid-template-columns: 1fr; } .est-day-card { border-left: 0; border-top: 1px solid rgba(201,168,76,0.18); } .est-day-card:first-child { border-top: 0; } }

/* DIFERENCIAIS */
.est-diff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.5vw, 28px); perspective: 1200px; }
.est-diff-card { padding: clamp(28px, 3vw, 40px); background: rgba(255,255,255,0.02); border: 1px solid rgba(201,168,76,0.14); opacity: 0; transform: translateY(40px) rotateX(8deg); transform-style: preserve-3d; transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.est-diff-card:hover { background: rgba(201,168,76,0.06); border-color: rgba(201,168,76,0.45); transform: translateY(-4px); }
.est-diff-icon { width: 34px; height: 34px; color: #C9A84C; margin-bottom: 20px; }
.est-diff-name { font: 400 clamp(18px, 2vw, 22px)/1.25 'NT Epika', serif; color: #FAFAFA; margin: 0 0 12px; }
@media (max-width: 900px) { .est-diff-grid { grid-template-columns: 1fr; } }

/* CTA */
.est-cta { padding: clamp(80px, 14vh, 200px) clamp(28px, 5vw, 80px) !important; text-align: center; }
.est-cta-content { max-width: 760px; margin: 0 auto; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.est-cta-quote { font: 400 clamp(24px, 3.2vw, 40px)/1.3 'NT Epika', serif; color: #FAFAFA; margin: 14px 0 40px; }
.est-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.est-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; border: 1px solid #C9A84C; color: #C9A84C; background: transparent; font: 300 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; overflow: hidden; transition: color 500ms; text-decoration: none; }
.est-btn-fill { position: absolute; inset: 0; background: #C9A84C; transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.7,0,0.2,1); z-index: 0; }
.est-btn-text, .est-btn-arrow { position: relative; z-index: 1; transition: color 500ms, transform 400ms cubic-bezier(0.16,1,0.3,1); }
.est-btn:hover { color: #0a0806; }
.est-btn:hover .est-btn-fill { transform: translateX(0); }
.est-btn:hover .est-btn-arrow { transform: translateX(6px); }
.est-btn-back { border-color: rgba(250,250,250,0.15); color: rgba(250,250,250,0.7); }
.est-btn-back:hover { border-color: rgba(250,250,250,0.5); color: #fff; }
.est-btn-back .est-btn-fill { background: rgba(255,255,255,0.06); }

@media (prefers-reduced-motion: reduce) {
  .est-line, .est-pretitle, .est-hero-sub, .est-hero-indicator, .est-manifesto-text, .est-stat, .est-amen-card, .est-day-card, .est-diff-card, .est-cta-content { opacity: 1 !important; transform: none !important; }
}

/* Canvases 3D bloqueiam scroll de página ao arrastar (mobile + desktop) */
#maquete-canvas,
#loc3d-canvas,
#aurora-terrain-map,
#imm-canvas-3d,
.lc-three-canvas,
.lc-water-canvas,
.lc-map-canvas {
  touch-action: none !important;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

/* Wrappers permitem scroll da página normal */
.maquete-3d-stage,
.loc3d-stage,
.lc-section,
.cad-section,
.med-section,
.aur-section,
.est-section {
  touch-action: pan-y;
}

/* Mobile: motion 3D mais sutil pra não atrapalhar leitura */
@media (max-width: 720px) {
  body.secao-lago .lc-section,
  body.secao-cadastro .cad-section,
  body.secao-media .med-section,
  body.secao-aurora .aur-section,
  body.secao-estilo .est-section {
    perspective: 800px;
  }
  /* Ajusta padding dos heroes pra mobile retrato */
  .lc-hero, .cad-hero, .med-hero, .aur-hero, .est-hero {
    min-height: 88vh;
  }
  .lc-hero-content, .cad-hero-content, .med-hero-content, .aur-hero-content, .est-hero-content {
    padding: 0 20px;
  }
  /* Tipografia ajustada pra mobile */
  .lc-hero-title, .cad-hero-title, .med-hero-title, .aur-hero-title, .est-hero-title {
    font-size: clamp(32px, 8vw, 56px) !important;
    line-height: 1.08;
  }
  .lc-h2, .cad-h2, .med-h2, .aur-h2, .est-h2 {
    font-size: clamp(24px, 6vw, 36px) !important;
  }
  .lc-manifesto-text, .aur-manifesto-text, .est-manifesto-text {
    font-size: clamp(18px, 5vw, 24px) !important;
  }
  .lc-stat-num, .aur-stat-num, .est-stat-num, .med-stat-num, .cad-trust-num {
    font-size: clamp(36px, 10vw, 56px) !important;
  }
  /* Section padding mobile */
  body.secao-lago .lc-section,
  body.secao-cadastro .cad-section,
  body.secao-media .med-section,
  body.secao-aurora .aur-section,
  body.secao-estilo .est-section {
    padding: clamp(48px, 8vh, 80px) clamp(20px, 5vw, 32px) !important;
  }
  /* Grain animado pode ficar pesado em mobile — congela */
  .lc-hero::after, .cad-hero::after, .med-hero::after, .aur-hero::after, .secao-hero::after,
  .lc-story::after, .lc-manifesto-section::after, .med-featured::after, .aur-featured::after {
    animation: none;
  }
}

/* Retrato muito alto (iPhone landscape) */
@media (max-width: 480px) {
  .lc-pin-origin, .lc-split-hora { height: auto !important; }
  .lc-pin-inner, .lc-split-inner { position: relative !important; height: auto !important; grid-template-columns: 1fr !important; }
  .lc-pin-step { opacity: 1 !important; }
  .lc-split-img { transition: none !important; }
  .lc-split-img:first-child { opacity: 1 !important; }
  .lc-split-text { position: relative !important; opacity: 1 !important; transform: none !important; margin-bottom: 28px; }
}

/* ─────────────────────────────────────────────────────────────
   Touch UX polish · global
   ───────────────────────────────────────────────────────────── */

/* Tap highlight dourado custom (substitui azul iOS/Android padrao) */
*, *::before, *::after {
  -webkit-tap-highlight-color: rgba(201, 168, 76, 0.18);
}

/* Sem callout em controles UI */
button, a, .card, .overlay-link, .viz-chip, .lvs-chip, .lc3-btn,
.cad-chip, .cad-btn, .mq-btn, .ll-btn, .lc-btn,
.aur-btn, .est-btn, .med-btn, .lc-cta-btn, .secao-back,
.aurora-update-trigger, .admin-trigger, .totem-burger,
.overlay-close, .overlay-link, .filter-btn {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}

/* Tap targets min 44px */
.viz-chip, .lvs-chip, .lc3-btn, .cad-chip, .term-tab, .ll-btn,
.lc-btn, .aurora-update-trigger, .filter-btn {
  min-height: 44px;
}
.cad-btn, .aur-btn, .est-btn, .med-btn, .lc-cta-btn, .mq-btn,
.lago-cta-btn, .secao-back {
  min-height: 48px;
}

/* Active state · feedback de toque imediato em botoes */
@media (hover: none), (pointer: coarse) {
  /* Desliga hover states que ficam "presos" em touch */
  .card:hover .card-bg,
  .card:hover .card-tint,
  .card:focus-visible .card-bg,
  .card:focus-visible .card-tint {
    transform: none !important;
    filter: grayscale(0.7) brightness(0.85) contrast(1.08);
  }
  .card:active .card-bg {
    transform: translateZ(0) scale(1.05) !important;
    filter: grayscale(0) brightness(1.02) saturate(1.08) !important;
  }
  .card:active .card-tint { opacity: 0.55; }

  /* Botoes: pulso ao tocar */
  button:active,
  a:active:not(.overlay-link),
  .viz-chip:active,
  .lvs-chip:active,
  .lc3-btn:active,
  .cad-btn:active,
  .aur-btn:active,
  .est-btn:active,
  .med-btn:active,
  .lc-cta-btn:active,
  .mq-btn:active,
  .cad-chip:active,
  .term-tab:active,
  .lc-btn:active,
  .filter-btn:active {
    transform: scale(0.97);
    transition: transform 120ms ease-out;
  }

  /* Overlay links: highlight dourado bem visivel */
  .overlay-link:active {
    background: rgba(201, 168, 76, 0.08);
    color: #E0B95F;
  }

  /* Cards de menu touch ainda mais fluido */
  .card { transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1); }
}

/* Sem outline em focus por mouse/touch (mantém pra teclado) */
:focus { outline: none; }
:focus-visible {
  outline: 2px solid rgba(201, 168, 76, 0.6);
  outline-offset: 2px;
}

/* Pinch zoom desabilitado no html (totem fullscreen) */
html { touch-action: pan-x pan-y; -webkit-text-size-adjust: 100%; }

/* Scroll momentum iOS */
body, .secao-body, .menu-grid, .lc-pin-steps, .term-code, .cad-form-stage {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Imagens em lightbox: zoom permitido */
.lightbox-img, .lightbox img,
.med-cat-card-video, .cad-form-stage img {
  touch-action: manipulation pinch-zoom;
}

/* Body scroll lock quando lightbox ou modal aberto */
body.is-lightbox-open,
body.is-modal-open {
  overflow: hidden !important;
  touch-action: none !important;
}

/* Inputs: text selection permitido + sem zoom no foco iOS */
input, textarea {
  -webkit-user-select: text;
  user-select: text;
  font-size: 16px;
}

/* Chips de selecao: feedback visual claro no toque */
@media (hover: none), (pointer: coarse) {
  .cad-chip:active,
  .viz-chip:active,
  .lvs-chip:active,
  .lc3-btn:active,
  .term-tab:active {
    background: rgba(201, 168, 76, 0.25);
    color: #FAFAFA;
  }
}

/* Burger button: tap target generoso */
.totem-burger, .secao-burger {
  min-width: 56px;
  min-height: 56px;
  touch-action: manipulation;
}

/* Compass / floating buttons em mapa: maior em touch */
.loc-compass, .loc-share {
  min-width: 48px;
  min-height: 48px;
}

/* Carrossel/galeria horizontal com scroll snap */
.lc-gallery-grid {
  scroll-snap-type: y proximity;
}
.lc-gal-item {
  scroll-snap-align: start;
}

/* Form inputs · feedback de foco em touch */
.cad-input:focus,
#loc-search:focus,
#loc-route-from:focus {
  border-bottom-color: #C9A84C;
  background: rgba(201, 168, 76, 0.04);
}

/* Reduz peso de animations em touch low-end */
@media (hover: none) and (max-width: 480px) {
  .lc-hero::after, .cad-hero::after, .med-hero::after, .aur-hero::after, .est-hero::after,
  .secao-hero::after, .lc-story::after, .lc-manifesto-section::after {
    animation: none;
  }
}

/* ---------------------------------------------------------
   Disponibilidade - Mapa interativo
   --------------------------------------------------------- */
body.secao-disp { background: #050402; }
body.secao-disp .disp-section { position: relative; padding: clamp(48px, 8vh, 120px) clamp(28px, 5vw, 80px); max-width: 1440px; margin: 0 auto; perspective: 1200px; transform-style: preserve-3d; will-change: transform, opacity; }
body.secao-disp .disp-section + .disp-section { border-top: 1px solid rgba(201,168,76,0.08); }

.disp-mini { display: inline-block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: #C9A84C; margin-bottom: 14px; }
.disp-h2 { font: 400 clamp(28px, 4vw, 52px)/1.15 'NT Epika', serif; color: #FAFAFA; margin: 0 0 24px; text-transform: uppercase; letter-spacing: 0.02em; }
.disp-section-header { margin-bottom: 36px; max-width: 720px; }

/* STATS */
.disp-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(201,168,76,0.18); border-bottom: 1px solid rgba(201,168,76,0.18); }
.disp-stat { padding: clamp(20px, 2.5vw, 36px); border-left: 1px solid rgba(201,168,76,0.18); opacity: 0; transform: translateY(40px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); }
.disp-stat:first-child { border-left: 0; }
.disp-stat-num { font: 400 clamp(36px, 5vw, 64px)/1 'NT Epika', serif; color: #C9A84C; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; display: inline; }
.disp-stat-unit { font: 300 0.4em 'Halenoir'; color: rgba(201,168,76,0.7); margin-left: 4px; }
.disp-stat-mini { display: block; margin-top: 14px; font: 300 11px/1.3 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(250,250,250,0.55); }
@media (max-width: 720px) { .disp-stats-grid { grid-template-columns: 1fr 1fr; } .disp-stat:nth-child(3) { border-left: 0; } }

/* FILTROS */
.disp-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.disp-chip { padding: 9px 16px; background: transparent; border: 1px solid rgba(201,168,76,0.25); color: rgba(250,250,250,0.7); font: 300 11px/1 'Halenoir'; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: all 380ms cubic-bezier(0.16,1,0.3,1); min-height: 44px; touch-action: manipulation; }
.disp-chip:hover { border-color: #C9A84C; color: #E0B95F; }
.disp-chip.is-active { background: #C9A84C; color: #0a0806; border-color: #C9A84C; }

/* MAP STAGE */
.disp-map-stage { position: relative; width: 100%; height: clamp(540px, 80vh, 980px); background: #050402; border: 1px solid rgba(201,168,76,0.18); overflow: hidden; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.disp-map-stage:active { cursor: grabbing; }
.disp-map-stage:fullscreen, .disp-map-stage:-webkit-full-screen { height: 100vh !important; }
.disp-map-pan { position: absolute; inset: 0; width: 100%; height: 100%; transform-origin: center; will-change: transform; transition: transform 320ms cubic-bezier(0.16,1,0.3,1); }
.disp-map-pan.is-dragging { transition: none; }
.disp-map-img { width: 100%; height: 100%; object-fit: contain; display: block; filter: invert(0.9) hue-rotate(170deg) saturate(0.4) brightness(0.85) contrast(1.1); pointer-events: none; }
.disp-hotspots { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.disp-hotspot { pointer-events: auto; cursor: pointer; transform-origin: center; transition: transform 280ms cubic-bezier(0.16,1,0.3,1); }
.disp-hotspot:hover { transform: scale(1.6); }
.disp-hotspot.is-active { transform: scale(2); }
.disp-hotspot circle { transition: fill 320ms, r 280ms cubic-bezier(0.16,1,0.3,1); }

.disp-map-controls { position: absolute; top: 16px; right: 16px; display: flex; flex-direction: column; gap: 6px; z-index: 5; }
.disp-mc-btn { width: 40px; height: 40px; border-radius: 50%; background: rgba(0,0,0,0.75); border: 1px solid rgba(201,168,76,0.3); color: #C9A84C; font: 400 18px/1 'NT Epika'; cursor: pointer; transition: all 380ms; backdrop-filter: blur(10px); display: flex; align-items: center; justify-content: center; touch-action: manipulation; }
.disp-mc-btn:hover { background: rgba(201,168,76,0.18); color: #E0B95F; }

.disp-map-view-toggle { position: absolute; bottom: 16px; left: 16px; display: inline-flex; gap: 4px; background: rgba(0,0,0,0.65); border: 1px solid rgba(201,168,76,0.25); border-radius: 999px; padding: 4px; backdrop-filter: blur(10px); z-index: 5; }
.disp-view-btn { padding: 7px 14px; background: transparent; border: 0; border-radius: 999px; color: rgba(250,250,250,0.65); font: 300 11px/1 'Halenoir'; letter-spacing: 0.08em; cursor: pointer; transition: all 380ms; min-height: 36px; touch-action: manipulation; }
.disp-view-btn.is-active { background: rgba(201,168,76,0.2); color: #E0B95F; }

.disp-legend { position: absolute; bottom: 16px; right: 16px; display: flex; gap: 14px; background: rgba(0,0,0,0.7); border: 1px solid rgba(201,168,76,0.25); padding: 8px 14px; border-radius: 999px; backdrop-filter: blur(10px); z-index: 5; }
.disp-leg-item { display: inline-flex; align-items: center; gap: 6px; font: 300 10px/1 'Halenoir'; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(250,250,250,0.7); }
.disp-leg-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.disp-leg-disp { background: #C9A84C; box-shadow: 0 0 8px rgba(201,168,76,0.7); }
.disp-leg-res { background: #E0B95F; opacity: 0.55; }
.disp-leg-sold { background: rgba(250,250,250,0.25); }

@media (max-width: 720px) {
  .disp-map-controls { top: 10px; right: 10px; }
  .disp-mc-btn { width: 36px; height: 36px; font-size: 16px; }
  .disp-map-view-toggle { bottom: 10px; left: 10px; padding: 3px; }
  .disp-view-btn { padding: 6px 10px; font-size: 10px; }
  .disp-legend { bottom: 10px; right: 10px; gap: 8px; padding: 6px 10px; }
  .disp-leg-item { font-size: 9px; }
}

/* DRAWER */
.disp-drawer { position: fixed; top: 0; right: 0; width: clamp(320px, 30vw, 420px); height: 100vh; background: #0a0806; border-left: 1px solid rgba(201,168,76,0.3); padding: clamp(32px, 4vw, 48px); z-index: 200; overflow-y: auto; transform: translateX(100%); transition: transform 500ms cubic-bezier(0.16,1,0.3,1); }
.disp-drawer:not([hidden]) { transform: translateX(0); }
.disp-drawer-close { position: absolute; top: 18px; right: 18px; width: 36px; height: 36px; border-radius: 50%; background: transparent; border: 1px solid rgba(250,250,250,0.18); color: #FAFAFA; font: 400 18px/1 'Halenoir'; cursor: pointer; transition: all 320ms; }
.disp-drawer-close:hover { border-color: #C9A84C; color: #C9A84C; }
.disp-drawer-mini { display: inline-block; padding: 5px 12px; background: rgba(201,168,76,0.12); border: 1px solid rgba(201,168,76,0.4); color: #E0B95F; font: 300 10px/1 'Halenoir'; letter-spacing: 0.2em; text-transform: uppercase; border-radius: 999px; margin: 32px 0 18px; }
.disp-drawer-title { font: 400 clamp(28px, 3.2vw, 40px)/1.1 'NT Epika', serif; color: #FAFAFA; margin: 0 0 24px; text-transform: uppercase; letter-spacing: 0.02em; }
.disp-drawer-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(201,168,76,0.18); border-bottom: 1px solid rgba(201,168,76,0.18); margin-bottom: 24px; }
.disp-drawer-stats > div { display: flex; flex-direction: column; gap: 4px; }
.dd-mini { font: 300 9px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(201,168,76,0.6); }
.dd-val { font: 400 16px/1 'NT Epika', serif; color: #FAFAFA; }
.disp-drawer-desc { font: 300 13px/1.6 'Halenoir'; color: rgba(250,250,250,0.7); margin: 0 0 18px; }
.disp-drawer-price { display: block; font: 300 12px/1 'Halenoir'; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(201,168,76,0.7); margin-bottom: 28px; }
.disp-drawer-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 26px; background: #C9A84C; color: #0a0806; font: 400 12px/1 'Halenoir'; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: all 380ms; }
.disp-drawer-btn:hover { background: #E0B95F; }
.disp-drawer-btn .disp-btn-arrow { transition: transform 380ms cubic-bezier(0.16,1,0.3,1); }
.disp-drawer-btn:hover .disp-btn-arrow { transform: translateX(6px); }

@media (max-width: 720px) {
  .disp-drawer { width: 100%; }
}

/* TIPOLOGIAS 3D-tilt */
.disp-tipo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.5vw, 28px); perspective: 1400px; }
.disp-tipo-card { padding: clamp(28px, 3vw, 40px); background: rgba(201,168,76,0.04); border: 1px solid rgba(201,168,76,0.18); transform-style: preserve-3d; will-change: transform, opacity; transition: all 600ms cubic-bezier(0.16,1,0.3,1); opacity: 0; transform: translateY(40px); }
.disp-tipo-card:hover { background: rgba(201,168,76,0.08); border-color: rgba(201,168,76,0.5); transform: translateY(-6px); }
.disp-tipo-num { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: rgba(201,168,76,0.55); margin-bottom: 16px; }
.disp-tipo-name { font: 400 clamp(20px, 2.2vw, 26px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 8px; }
.disp-tipo-count { font: 300 12px/1 'Halenoir'; letter-spacing: 0.06em; color: #E0B95F; margin: 0 0 14px; }
.disp-tipo-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 900px) { .disp-tipo-grid { grid-template-columns: 1fr; } }

/* CTA */
.disp-cta { padding: clamp(60px, 10vh, 140px) clamp(28px, 5vw, 80px) !important; text-align: center; }
.disp-cta-content { max-width: 760px; margin: 0 auto; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.disp-cta-quote { font: 400 clamp(22px, 3vw, 36px)/1.3 'NT Epika', serif; color: #FAFAFA; margin: 14px 0 36px; }
.disp-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.disp-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; border: 1px solid #C9A84C; color: #C9A84C; font: 300 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; overflow: hidden; transition: color 500ms; text-decoration: none; }
.disp-btn-fill { position: absolute; inset: 0; background: #C9A84C; transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.7,0,0.2,1); z-index: 0; }
.disp-btn-text, .disp-btn-arrow { position: relative; z-index: 1; transition: color 500ms, transform 400ms; }
.disp-btn:hover { color: #0a0806; }
.disp-btn:hover .disp-btn-fill { transform: translateX(0); }
.disp-btn-back { border-color: rgba(250,250,250,0.18); color: rgba(250,250,250,0.7); }
.disp-btn-back:hover { border-color: rgba(250,250,250,0.5); color: #fff; }
.disp-btn-back .disp-btn-fill { background: rgba(255,255,255,0.06); }

@media (prefers-reduced-motion: reduce) {
  .disp-stat, .disp-tipo-card, .disp-cta-content { transition: none !important; }
  .disp-map-pan { transition: none !important; }
}

/* ── DISPONIBILIDADE UX/UI v2 ── */

/* 1. Chip counter pill */
.disp-chip-count {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  background: rgba(201,168,76,0.15);
  border-radius: 10px;
  font-size: 10px;
  font-weight: 400;
  color: #E0B95F;
  letter-spacing: 0.05em;
}
.disp-chip.is-active .disp-chip-count {
  background: rgba(10,8,6,0.25);
  color: #0a0806;
}

/* 2. Onboarding tooltip */
.disp-onboarding {
  position: absolute;
  top: 16px; left: 16px;
  z-index: 8;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  background: rgba(0,0,0,0.75);
  border: 1px solid rgba(201,168,76,0.35);
  border-radius: 999px;
  backdrop-filter: blur(10px);
  color: #E0B95F;
  font: 300 11px/1 'Halenoir', sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  animation: dispOnboardIn 600ms cubic-bezier(0.16,1,0.3,1) 0.3s both,
             dispOnboardOut 600ms cubic-bezier(0.16,1,0.3,1) 6s forwards;
  pointer-events: none;
}
.disp-onboarding svg { color: #C9A84C; }
@keyframes dispOnboardIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes dispOnboardOut { from { opacity: 1; } to { opacity: 0; transform: translateY(-6px); } }

/* 8. Drag hint */
.disp-drag-hint {
  position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
  z-index: 4; pointer-events: none;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px;
  background: rgba(0,0,0,0.5);
  border: 1px solid rgba(201,168,76,0.18);
  border-radius: 999px;
  color: rgba(250,250,250,0.55);
  font: 300 10px/1 'Halenoir', sans-serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  animation: dispDragHint 5s ease-in-out 4s forwards;
}
@keyframes dispDragHint {
  from { opacity: 1; }
  to { opacity: 0; transform: translateX(-50%) translateY(10px); visibility: hidden; }
}

/* 10. Estado vazio filtro */
.disp-empty {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(201,168,76,0.3);
  color: #E0B95F;
  padding: 18px 28px;
  border-radius: 999px;
  font: 300 13px/1 'Halenoir', sans-serif; letter-spacing: 0.1em; text-transform: uppercase;
  backdrop-filter: blur(10px);
  z-index: 7;
  opacity: 0; pointer-events: none;
  transition: opacity 400ms;
}
.disp-empty.is-show { opacity: 1; }

/* 5. Drawer enriquecido */
.disp-drawer-mini-map {
  width: 100%; height: 120px;
  background: #050402;
  border: 1px solid rgba(201,168,76,0.18);
  position: relative;
  margin-bottom: 24px;
  overflow: hidden;
}
canvas.disp-drawer-mini-map {
  display: block;
}
.disp-drawer-extras {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  padding: 14px 0; margin-bottom: 18px;
  border-bottom: 1px solid rgba(201,168,76,0.18);
}
.disp-drawer-extra { display: flex; flex-direction: column; gap: 4px; }
.disp-drawer-actions {
  display: flex; gap: 10px; margin-top: 18px;
}
.disp-drawer-action {
  flex: 1;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 14px;
  background: transparent;
  border: 1px solid rgba(201,168,76,0.3);
  color: rgba(250,250,250,0.85);
  font: 300 11px/1 'Halenoir', sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 300ms;
}
.disp-drawer-action:hover {
  background: rgba(201,168,76,0.08);
  border-color: #C9A84C;
  color: #E0B95F;
}
.disp-drawer-action svg { color: #C9A84C; }

/* Toast */
.disp-toast {
  position: fixed;
  bottom: 28px; left: 50%; transform: translate(-50%, 20px);
  background: rgba(0,0,0,0.85);
  border: 1px solid rgba(201,168,76,0.4);
  color: #FAFAFA;
  padding: 12px 22px;
  border-radius: 999px;
  font: 300 13px/1 'Halenoir', sans-serif;
  letter-spacing: 0.04em;
  opacity: 0; z-index: 9999;
  transition: opacity 400ms, transform 400ms cubic-bezier(0.16,1,0.3,1);
  backdrop-filter: blur(10px);
  pointer-events: none;
}
.disp-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

/* 8. Mapa maior desktop */
.disp-map-stage {
  height: clamp(600px, 85vh, 1080px) !important;
}

/* prefers-reduced-motion para novas animacoes */
@media (prefers-reduced-motion: reduce) {
  .disp-onboarding { animation: none !important; opacity: 0 !important; }
  .disp-drag-hint { animation: none !important; opacity: 0 !important; }
}

/* 3D Map Canvas */
.disp-map-canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.disp-map-canvas:active { cursor: grabbing; }
.disp-map-loader { position: absolute; inset: 0; z-index: 30; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; background: radial-gradient(ellipse at center, rgba(0,0,0,0.8), rgba(0,0,0,0.96) 70%); backdrop-filter: blur(8px); transition: opacity 600ms cubic-bezier(0.16,1,0.3,1); }
.disp-map-loader.is-fading { opacity: 0; pointer-events: none; }
#dml-ring { transition: stroke-dashoffset 320ms cubic-bezier(0.16,1,0.3,1); filter: drop-shadow(0 0 10px rgba(201,168,76,0.45)); animation: dmlSpin 2s linear infinite; }
@keyframes dmlSpin { to { transform: rotate(450deg); transform-origin: center; } }
.dml-label { font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(201,168,76,0.7); margin: 0; }

/* Hide legacy flat SVG map elements */
.disp-map-pan, .disp-hotspots, .disp-hotspot { display: none !important; }

/* ─────────────────────────────────────────────────────────────
   Memorial Descritivo · Premium
   ───────────────────────────────────────────────────────────── */
body.secao-memorial { background: #050402; }
body.secao-memorial .mem-section { perspective: 1200px; transform-style: preserve-3d; will-change: transform, opacity; position: relative; padding: clamp(56px, 10vh, 140px) clamp(28px, 5vw, 80px); max-width: 1440px; margin: 0 auto; }
body.secao-memorial .mem-section + .mem-section { border-top: 1px solid rgba(201,168,76,0.08); }

.mem-mini { display: inline-block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.28em; text-transform: uppercase; color: #C9A84C; margin-bottom: 14px; }
.mem-h2 { font: 400 clamp(28px, 4vw, 52px)/1.15 'NT Epika', serif; color: #FAFAFA; margin: 0 0 20px; max-width: 720px; text-transform: uppercase; letter-spacing: 0.02em; }
.mem-h3 { font: 400 clamp(22px, 2.6vw, 32px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 8px; text-transform: uppercase; letter-spacing: 0.02em; }
.mem-body { font: 300 clamp(14px, 1.2vw, 17px)/1.6 'Halenoir'; color: rgba(250,250,250,0.72); margin: 0 0 18px; max-width: 640px; }
.mem-section-header { margin-bottom: 48px; max-width: 720px; }

/* HERO */
.mem-hero { text-align: left; padding-top: clamp(64px, 10vh, 120px); padding-bottom: clamp(48px, 6vh, 96px); }
.mem-pretitle { display: inline-block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.36em; text-transform: uppercase; color: #C9A84C; margin-bottom: 28px; opacity: 0; }
.mem-hero-title { font: 400 clamp(36px, 5.5vw, 76px)/1.06 'NT Epika', serif; color: #FAFAFA; margin: 0 0 28px; text-transform: uppercase; letter-spacing: 0; max-width: 900px; }
.mem-line-wrap { display: block; overflow: hidden; padding: 0 0 0.08em; }
.mem-line { display: block; transform: translateY(120%); }
.mem-hero-sub { font: 300 clamp(15px, 1.3vw, 19px)/1.55 'Halenoir'; color: rgba(250,250,250,0.7); max-width: 640px; margin: 0 0 36px; opacity: 0; }
.mem-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; opacity: 0; }

/* STATS */
.mem-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(201,168,76,0.18); border-bottom: 1px solid rgba(201,168,76,0.18); }
.mem-stat { padding: clamp(20px, 2.5vw, 36px); border-left: 1px solid rgba(201,168,76,0.18); opacity: 0; transform: translateY(40px); transition: all 700ms cubic-bezier(0.16,1,0.3,1); }
.mem-stat:first-child { border-left: 0; }
.mem-stat-num { font: 400 clamp(36px, 5vw, 64px)/1 'NT Epika', serif; color: #C9A84C; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; display: inline; }
.mem-stat-unit { font: 300 0.36em 'Halenoir'; color: rgba(201,168,76,0.65); margin-left: 4px; }
.mem-stat-mini { display: block; margin-top: 12px; font: 300 11px/1.3 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(250,250,250,0.55); }
@media (max-width: 720px) { .mem-stats-grid { grid-template-columns: 1fr 1fr; } .mem-stat:nth-child(3) { border-left: 0; } }

/* CATEGORIAS 12 cards */
.mem-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 24px); }
.mem-cat-card { padding: clamp(22px, 2.6vw, 32px); background: rgba(201,168,76,0.03); border: 1px solid rgba(201,168,76,0.16); transition: all 600ms cubic-bezier(0.16,1,0.3,1); opacity: 0; transform: translateY(30px); }
.mem-cat-card:hover { background: rgba(201,168,76,0.08); border-color: rgba(201,168,76,0.5); transform: translateY(-4px); }
.mem-cat-num { display: block; font: 300 11px/1 'Halenoir'; letter-spacing: 0.22em; color: rgba(201,168,76,0.55); margin-bottom: 14px; }
.mem-cat-name { font: 400 clamp(17px, 1.8vw, 21px)/1.25 'NT Epika', serif; color: #FAFAFA; margin: 0 0 10px; text-transform: uppercase; letter-spacing: 0.01em; }
.mem-cat-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.62); margin: 0; }
@media (max-width: 900px) { .mem-cat-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .mem-cat-grid { grid-template-columns: 1fr; } }

/* AUTHOR */
.mem-author-card { padding: clamp(32px, 4vw, 56px); background: rgba(201,168,76,0.05); border: 1px solid rgba(201,168,76,0.22); }
.mem-author-meta { font: 300 13px/1 'Halenoir'; letter-spacing: 0.16em; color: #C9A84C; margin: 0 0 18px; }

/* VIEWER */
.mem-viewer-wrap { width: 100%; height: 80vh; min-height: 600px; background: #050402; border: 1px solid rgba(201,168,76,0.25); overflow: hidden; position: relative; }
.mem-viewer { width: 100%; height: 100%; display: block; border: 0; }
.mem-viewer-fallback { padding: clamp(36px, 5vw, 56px); display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.mem-viewer-fallback p { font: 300 14px/1.5 'Halenoir'; color: rgba(250,250,250,0.7); margin: 0; }
.mem-disclaimer { font: 300 11px/1.5 'Halenoir'; letter-spacing: 0.08em; color: rgba(250,250,250,0.5); margin: 18px 0 0; max-width: 760px; }
@media (max-width: 720px) { .mem-viewer-wrap { height: 70vh; min-height: 480px; } }

/* RELATED */
.mem-rel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2.5vw, 24px); }
.mem-rel-card { display: block; padding: clamp(24px, 3vw, 36px); background: rgba(255,255,255,0.02); border: 1px solid rgba(201,168,76,0.18); text-decoration: none; transition: all 600ms cubic-bezier(0.16,1,0.3,1); opacity: 0; transform: translateY(30px); }
.mem-rel-card:hover { background: rgba(201,168,76,0.06); border-color: rgba(201,168,76,0.5); transform: translateY(-4px); }
.mem-rel-icon { width: 30px; height: 30px; color: #C9A84C; margin-bottom: 16px; display: block; }
.mem-rel-mini { display: block; font: 300 10px/1 'Halenoir'; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(201,168,76,0.65); margin-bottom: 10px; }
.mem-rel-title { font: 400 clamp(17px, 1.8vw, 21px)/1.2 'NT Epika', serif; color: #FAFAFA; margin: 0 0 8px; text-transform: uppercase; letter-spacing: 0.02em; }
.mem-rel-desc { font: 300 13px/1.55 'Halenoir'; color: rgba(250,250,250,0.6); margin: 0; }
@media (max-width: 720px) { .mem-rel-grid { grid-template-columns: 1fr; } }

/* CTA */
.mem-cta { padding: clamp(64px, 10vh, 160px) clamp(28px, 5vw, 80px) !important; text-align: center; }
.mem-cta-content { max-width: 760px; margin: 0 auto; opacity: 0; transform: translateY(40px); transition: all 800ms cubic-bezier(0.16,1,0.3,1); }
.mem-cta-quote { font: 400 clamp(22px, 3vw, 36px)/1.3 'NT Epika', serif; color: #FAFAFA; margin: 14px 0 36px; text-transform: uppercase; letter-spacing: 0.02em; }
.mem-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* BUTTONS */
.mem-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; border: 1px solid #C9A84C; color: #C9A84C; background: transparent; font: 300 12px/1 'Halenoir'; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; overflow: hidden; transition: color 500ms; text-decoration: none; min-height: 48px; }
.mem-btn-fill { position: absolute; inset: 0; background: #C9A84C; transform: translateX(-100%); transition: transform 600ms cubic-bezier(0.7,0,0.2,1); z-index: 0; }
.mem-btn-text, .mem-btn-arrow { position: relative; z-index: 1; transition: color 500ms, transform 400ms cubic-bezier(0.16,1,0.3,1); }
.mem-btn:hover { color: #0a0806; }
.mem-btn:hover .mem-btn-fill { transform: translateX(0); }
.mem-btn:hover .mem-btn-arrow { transform: translateX(6px); }
.mem-btn-primary { background: #C9A84C; color: #0a0806; }
.mem-btn-primary .mem-btn-text, .mem-btn-primary .mem-btn-arrow { color: #0a0806; }
.mem-btn-primary:hover { color: #FAFAFA; }
.mem-btn-primary .mem-btn-fill { background: #0a0806; }
.mem-btn-primary:hover .mem-btn-text, .mem-btn-primary:hover .mem-btn-arrow { color: #FAFAFA; }
.mem-btn-back { border-color: rgba(250,250,250,0.18); color: rgba(250,250,250,0.75); }
.mem-btn-back:hover { border-color: rgba(250,250,250,0.5); color: #fff; }
.mem-btn-back .mem-btn-fill { background: rgba(255,255,255,0.06); }

@media (prefers-reduced-motion: reduce) {
  .mem-line, .mem-pretitle, .mem-hero-sub, .mem-hero-actions, .mem-stat, .mem-cat-card, .mem-rel-card, .mem-cta-content { opacity: 1 !important; transform: none !important; }
}
