/* =====================================================
   CHÁCARA SYSTEM GARDEN — style.css (Versão Estática)
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

/* ─── RESET & BASE ─────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', sans-serif;
  background-color: #faf9f6;
  color: #1c1d1a;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }

/* ─── TYPOGRAPHY HELPERS ───────────────────────────── */
.font-serif { font-family: 'Cormorant Garamond', serif; }

/* ─── SCROLLBAR ─────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #111210; }
::-webkit-scrollbar-thumb { background: #c39c43; border-radius: 3px; }
::selection { background: rgba(195,156,67,.3); color: #000; }

/* ─── LAYOUT HELPERS ───────────────────────────────── */
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 640px)  { .container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container { padding: 0 2rem;   } }

/* ─── KEYFRAMES ─────────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0);    }
}
@keyframes fadeIn {
  from { opacity:0; } to { opacity:1; }
}
@keyframes pulse-subtle {
  0%,100% { box-shadow:0 0 0 0 rgba(195,156,67,.25); }
  50%      { box-shadow:0 0 0 8px rgba(195,156,67,0);  }
}
@keyframes bounce {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-5px); }
}
@keyframes floatIn {
  from { opacity:0; transform:scale(.95) translateY(14px); }
  to   { opacity:1; transform:scale(1)  translateY(0);     }
}

/* ─── HEADER ────────────────────────────────────────── */
#main-header {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  z-index: 1000;
  transition: background .3s, height .3s, box-shadow .3s;
  height: 80px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
#main-header.scrolled {
  background: #ffffff;
  height: 60px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(195,156,67,.15);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

/* Logo */
.logo-link { display:flex; align-items:center; gap:.75rem; }
.logo-img {
  height: 100px;
  width: auto;
  object-fit: contain;
  transition: transform .3s, height .3s, top .3s;
  position: relative;
  top: -15px;
}
.logo-img:hover { transform: scale(1.03); }
#main-header.scrolled .logo-img {
  height: 70px;
  top: -10px;
}

/* Desktop nav */
.desktop-nav {
  display:none;
  align-items:center;
  gap:.25rem;
  position: relative;
  top: -8px;
  transition: top .3s;
}
@media (min-width:1024px) { .desktop-nav { display:flex; } }
.desktop-nav a {
  padding:.5rem .75rem;
  font-size:.68rem;font-weight:600;color:#c39c43;
  letter-spacing:.12em;
  transition:opacity .3s;
}
.desktop-nav a:hover { opacity: 0.8; }

/* Header actions */
.header-actions {
  display:none;
  align-items:center;
  gap:.75rem;
  position: relative;
  top: -9px;
  transition: top .3s;
}
@media (min-width:1024px) { .header-actions { display:flex; } }
#main-header.scrolled .desktop-nav {
  top: -5px;
}
#main-header.scrolled .header-actions {
  top: -7px;
}
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding:.5rem;border-radius:9999px;
  color:#c39c43;transition:opacity .3s,background .3s;
}
.icon-btn:hover { opacity: 0.8; background:rgba(0,0,0,.05); }
.icon-btn svg { width:16px;height:16px; }
.wa-link {
  display:flex;align-items:center;gap:.375rem;
  padding:.5rem;border-radius:9999px;
  color:#c39c43;font-size:.75rem;font-weight:600;
  transition:color .3s,background .3s;
}
.wa-link:hover { color:#10b981;background:rgba(0,0,0,.05); }
.wa-link svg { width:16px;height:16px;color:#10b981; }
.btn-schedule {
  display:flex;align-items:center;gap:.375rem;
  margin-left:.5rem;
  background:linear-gradient(to right,#c39c43,#bf852c);
  color:#000;font-weight:600;font-size:.75rem;
  letter-spacing:.08em;padding:.5rem 1rem;
  border-radius:9999px;
  box-shadow:0 4px 16px rgba(0,0,0,.3);
  transition:all .3s;
}
.btn-schedule:hover { background:linear-gradient(to right,#d1a03e,#c39c43); box-shadow:0 6px 20px rgba(0,0,0,.4); }
.btn-schedule svg { width:14px;height:14px; }

/* Mobile hamburger */
.hamburger { display:flex;align-items:center; }
@media (min-width:1024px) { .hamburger { display:none; } }
.hamburger button {
  padding:.5rem;color:#c39c43;
  transition:opacity .3s;border-radius:.25rem;
}
.hamburger button:hover { opacity: 0.8; }
.hamburger svg { width:24px;height:24px; }

/* Mobile nav */
.mobile-nav {
  display:none;
  overflow:hidden;
  background:rgba(17,18,16,.98);
  border-bottom:1px solid rgba(195,156,67,.2);
}
.mobile-nav.open { display:block;animation:fadeIn .3s ease; }
.mobile-nav-inner { padding:.75rem 1rem 1.5rem; }
.mobile-nav a {
  display:block;padding:.5rem .75rem;border-radius:.375rem;
  font-size:.875rem;font-weight:600;color:#d1d5db;
  letter-spacing:.06em;transition:color .3s,background .3s;
  margin-bottom:.25rem;
}
.mobile-nav a:hover { color:#c39c43;background:rgba(255,255,255,.05); }
.mobile-nav-footer {
  margin-top:1rem;padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;flex-direction:column;gap:.75rem;padding-left:.75rem;
}
.mobile-wa {
  display:flex;align-items:center;gap:.625rem;
  font-size:.875rem;font-weight:500;color:#d1d5db;transition:color .3s;
}
.mobile-wa:hover { color:#10b981; }
.mobile-wa svg { width:16px;height:16px;color:#10b981; }
.mobile-ig {
  display:flex;align-items:center;gap:.625rem;
  font-size:.875rem;font-weight:500;color:#d1d5db;transition:color .3s;
}
.mobile-ig:hover { color:#c39c43; }
.mobile-ig svg { width:16px;height:16px; }
.btn-mobile-schedule {
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  background:#c39c43;color:#000;
  font-weight:600;font-size:.75rem;letter-spacing:.08em;
  padding:.625rem 1rem;border-radius:.375rem;
  transition:background .3s;
}
.btn-mobile-schedule:hover { background:#bf852c; }

/* ─── HERO ──────────────────────────────────────────── */
#home {
  position:relative;
  min-height:95vh;
  display:flex;align-items:center;justify-content:flex-start;
  overflow:hidden;background:#111210;color:#fff;
  padding-top:6rem;padding-bottom:6rem;
}
@media (min-width:640px) { #home { min-height:100vh; padding-bottom:8rem; } }

.hero-bg {
  position:absolute;inset:0;z-index:0;
}
.hero-bg img {
  width:100%;height:100%;object-fit:cover;object-position:center;
  transform:scale(1.02);
}
.hero-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to right, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 45%, rgba(0,0,0,0) 70%);
  z-index:1;
}
.hero-overlay-bottom {
  position:absolute;bottom:0;left:0;right:0;height:8rem;
  background:linear-gradient(to top,rgba(17,18,16,.95),transparent);
  z-index:1;
}
@media (max-width:767px) {
  .hero-overlay {
    background:linear-gradient(to bottom, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 70%, rgba(0,0,0,0) 100%);
  }
}

.hero-ornament {
  position:absolute;top:6rem;left:50%;transform:translateX(-50%);
  width:95%;max-width:1280px;height:1px;
  background:linear-gradient(to right,transparent,rgba(195,156,67,.3),transparent);
  z-index:10;
}
.hero-content { position:relative;z-index:10;width:100%; }
.hero-left { max-width:48rem; }

.hero-tag {
  display:inline-flex;
  align-items: center;
  background: rgba(17, 18, 16, 0.55);
  border: 1px solid #c39c43;
  color: #c39c43;
  font-weight: 400;
  font-size: .55rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .4rem 1.2rem;
  border-radius: 9999px;
  margin-bottom: 2rem;
  backdrop-filter: blur(4px);
  animation: fadeInUp .8s .1s both;
}
@media (min-width:640px) { .hero-tag { font-size: .625rem; padding: .45rem 1.5rem; } }

.hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:2.25rem;font-weight:600;
  line-height:1.15;letter-spacing:-.02em;
  color:#fff;margin-bottom:1.5rem;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
  animation:fadeInUp .9s .2s both;
}
@media (min-width:640px) { .hero-h1 { font-size:3rem; } }
@media (min-width:768px) { .hero-h1 { font-size:3.75rem; } }
.hero-gold-text {
  color: #c39c43;
  font-size: 1.3em;
}

.hero-p1 {
  font-size:1rem;font-weight:300;color:#e5e7eb;
  line-height:1.75;margin-bottom:1.5rem;max-width:42rem;
  text-shadow:0 1px 4px rgba(0,0,0,.3);
  animation:fadeInUp .8s .4s both;
}
@media (min-width:640px) { .hero-p1 { font-size:1.125rem; } }

.hero-feature-box {
  background: rgba(255, 255, 255, 0.05);
  border-left: 3px solid #c39c43;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  width: fit-content;
  max-width: 100%;
  border-radius: 0 0.5rem 0.5rem 0;
  backdrop-filter: blur(8px);
  animation: fadeInUp .8s .5s both;
}
.feature-header {
  font-size: 0.65rem;
  font-weight: 600;
  color: #c39c43;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.feature-diamond {
  font-size: 0.8rem;
}
.feature-body {
  font-size: 0.85rem;
  font-weight: 300;
  color: #e5e7eb;
  line-height: 1.7;
  margin-bottom: 0.75rem;
}
.feature-body .gold-highlight {
  color: #c39c43;
  font-weight: 600;
}
.feature-footer {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.15rem;
  color: #c39c43;
  line-height: 1.5;
}

.hero-ctas {
  display:flex;flex-direction:column;gap:1rem;
  animation:fadeInUp .8s .6s both;
}
@media (min-width:640px) { .hero-ctas { flex-direction:row;align-items:center; } }

.btn-hero-primary {
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.875rem 1.75rem;
  background:linear-gradient(to right,#c39c43,#bf852c);
  color:#000;
  font-weight:700;font-size:.75rem;letter-spacing:.12em;
  border-radius:9999px;
  box-shadow:0 4px 16px rgba(0,0,0,.3);
  transition:all .3s;
  animation:pulse-subtle 2.5s 2s infinite;
}
.btn-hero-primary:hover { background:linear-gradient(to right,#d1a03e,#c39c43); box-shadow:0 6px 20px rgba(0,0,0,.4); }
.btn-hero-primary svg { width:16px;height:16px;flex-shrink:0; }

.btn-hero-secondary {
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.875rem 1.75rem;
  background:rgba(17,18,16,.5);border:1px solid #c39c43;
  color:#c39c43;font-weight:700;font-size:.75rem;letter-spacing:.12em;
  border-radius:9999px;transition:all .3s;
  backdrop-filter:blur(4px);
}
.btn-hero-secondary:hover { background:rgba(195,156,67,.1); box-shadow:0 4px 16px rgba(195,156,67,.15); }
.btn-hero-secondary svg { width:16px;height:16px;color:#c39c43;flex-shrink:0; }

.hero-scroll {
  position:absolute;bottom:1.5rem;left:2rem;z-index:10;
  display:none;flex-direction:column;align-items:center;gap:.5rem;
}
@media (min-width:640px) { .hero-scroll { display:flex; } }
.hero-scroll-label {
  font-size:9px;letter-spacing:.25em;color:#c39c43;
  font-weight:600;text-transform:uppercase;
  animation:fadeIn 1s 1.2s both;
}
.hero-scroll-btn {
  padding:.375rem;border:1px solid rgba(255,255,255,.2);
  border-radius:9999px;background:rgba(0,0,0,.6);
  color:#fff;transition:border-color .3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-scroll-btn:hover { border-color:#c39c43; }
.hero-scroll-btn svg { width:16px;height:16px;animation:bounce 1.4s infinite; }

/* ─── NUMBERS ───────────────────────────────────────── */
#numeros {
  position:relative;
  padding:4rem 0;
  margin-top:-5.625rem;z-index:20;
}
@media (min-width:640px) { #numeros { margin-top:-8.125rem; } }

.numbers-box {
  background:#111210;
  border:1px solid rgba(195,156,67,.2);
  border-radius:1rem;box-shadow:0 25px 60px rgba(0,0,0,.4);
  padding:2rem;position:relative;overflow:hidden;
}
@media (min-width:640px) { .numbers-box { padding:3rem; } }

.numbers-corner { position:absolute;width:2rem;height:2rem; }
.nc-tl { top:0;left:0;border-top:2px solid rgba(195,156,67,.4);border-left:2px solid rgba(195,156,67,.4);border-radius:.5rem 0 0 0; }
.nc-tr { top:0;right:0;border-top:2px solid rgba(195,156,67,.4);border-right:2px solid rgba(195,156,67,.4);border-radius:0 .5rem 0 0; }
.nc-bl { bottom:0;left:0;border-bottom:2px solid rgba(195,156,67,.4);border-left:2px solid rgba(195,156,67,.4);border-radius:0 0 0 .5rem; }
.nc-br { bottom:0;right:0;border-bottom:2px solid rgba(195,156,67,.4);border-right:2px solid rgba(195,156,67,.4);border-radius:0 0 .5rem 0; }
.numbers-glow {
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(44,110,73,.05),transparent);opacity:.5;pointer-events:none;
}

.numbers-grid {
  display:grid;grid-template-columns:1fr;gap:2rem;position:relative;z-index:1;
}
@media (min-width:640px) { .numbers-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .numbers-grid { grid-template-columns:repeat(4,1fr); } }

.stat-item {
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;
  opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s;
}
.stat-item.visible { opacity:1;transform:translateY(0); }
.stat-icon {
  padding:.75rem;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);border-radius:9999px;
  margin-bottom:1rem;transition:border-color .3s,background .3s;
}
.stat-item:hover .stat-icon { border-color:rgba(195,156,67,.4);background:rgba(195,156,67,.05); }
.stat-icon svg { width:24px;height:24px;color:#c39c43; }
.stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.5rem;font-weight:300;color:#fff;
  line-height:1;letter-spacing:-.02em;margin-bottom:.5rem;
}
@media (min-width:640px) { .stat-num { font-size:3rem; } }
.stat-label {
  font-size:.75rem;font-weight:600;color:#c39c43;
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem;
}
.stat-desc { font-size:.75rem;color:#9ca3af;font-weight:300;line-height:1.6;max-width:200px; }

/* ─── HISTORY ───────────────────────────────────────── */
#sobre {
  padding:6rem 0;background:#faf9f6;color:#1c1d1a;
  position:relative;overflow:hidden;
}
.history-blob-l {
  position:absolute;top:50%;left:0;width:24rem;height:24rem;
  background:rgba(44,110,73,.05);border-radius:9999px;
  filter:blur(60px);opacity:.2;transform:translateY(-50%);pointer-events:none;
}
.history-blob-r {
  position:absolute;bottom:0;right:0;width:24rem;height:24rem;
  background:rgba(195,156,67,.05);border-radius:9999px;
  filter:blur(60px);opacity:.2;pointer-events:none;
}
.history-grid {
  display:grid;grid-template-columns:1fr;gap:3rem;
  align-items:center;position:relative;z-index:1;
}
@media (min-width:1024px) { .history-grid { grid-template-columns:7fr 5fr;gap:4rem; } }

.history-tag {
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:600;color:#2c6e49;
  text-transform:uppercase;letter-spacing:.18em;margin-bottom:1rem;
}
.history-tag svg { width:16px;height:16px; }
.history-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.875rem;font-weight:300;letter-spacing:-.02em;
  color:#111210;margin-bottom:2rem;line-height:1.2;
}
@media (min-width:640px) { .history-h2 { font-size:2.25rem; } }
@media (min-width:768px) { .history-h2 { font-size:3rem; } }
.history-h2 em { font-weight:400;color:#c39c43; }

.history-p { font-size:.875rem;color:#374151;font-weight:300;line-height:1.8;margin-bottom:1.5rem; }
@media (min-width:640px) { .history-p { font-size:1rem; } }

.history-quote {
  padding:.25rem 0 .25rem 1rem;margin-bottom:1rem;
  border-radius:0 .5rem .5rem 0;
  opacity:0;transform:translateX(-10px);transition:opacity .6s,transform .6s;
}
.history-quote.visible { opacity:1;transform:translateX(0); }
.history-quote.red   { border-left:2px solid #d62229;background:rgba(255,255,255,.4); }
.history-quote.green { border-left:2px solid #2c6e49;background:rgba(44,110,73,.05); padding:.375rem 0 .375rem 1rem; }
.history-quote p { font-size:1.15rem;font-style:italic;font-weight:300;color:#1f2937;line-height:1.6;font-family:'Cormorant Garamond',serif; }
@media (min-width:640px) { .history-quote p { font-size:1.375rem; } }
.history-quote.green p { font-weight:500;color:#111827; }

.history-p-strong { font-size:.875rem;color:#374151;font-weight:300;line-height:1.8;margin-bottom:1.5rem; }
.history-p-strong strong { font-weight:600;color:#111827; }
@media (min-width:640px) { .history-p-strong { font-size:1rem; } }

.history-italic { font-size:1.15rem;font-family:'Cormorant Garamond',serif;font-style:italic;color:#c39c43;font-weight:500;line-height:1.6; }
@media (min-width:640px) { .history-italic { font-size:1.375rem; } }

/* Card */
.history-card {
  position:relative;padding:1.5rem;
  background:#fff;border:1px solid rgba(195,156,67,.25);
  border-radius:1rem;box-shadow:0 16px 40px rgba(0,0,0,.08);
  max-width:380px;width:100%;
  opacity:0;transform:scale(.95);transition:opacity .8s,transform .8s;
}
@media (min-width:640px) { .history-card { padding:2rem; } }
.history-card.visible { opacity:1;transform:scale(1); }
.history-image-card {
  padding:0 !important;
  border:2px solid #c39c43;
  overflow:hidden;
  aspect-ratio:3/4;
  max-width: 430px;
}
.history-image {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.history-card-icon {
  position:absolute;top:0;right:0;
  transform:translateY(-50%) translateX(16.666%);
  width:4rem;height:4rem;background:rgba(195,156,67,.1);
  border-radius:9999px;display:flex;align-items:center;justify-content:center;
  color:#c39c43;border:1px solid rgba(195,156,67,.3);
}
.history-card-icon svg { width:24px;height:24px; }
.history-card h3 {
  font-size:1.25rem;font-family:'Cormorant Garamond',serif;
  color:#111210;border-bottom:1px solid rgba(195,156,67,.15);
  padding-bottom:1rem;margin-bottom:1rem;font-weight:600;letter-spacing:.04em;
}
.history-card ul { display:flex;flex-direction:column;gap:1rem; }
.history-card li { display:flex;align-items:flex-start;gap:.75rem; }
.bullet { width:6px;height:6px;border-radius:9999px;background:#c39c43;margin-top:.5rem;flex-shrink:0; }
.history-card li p { font-size:.75rem;color:#4b5563;line-height:1.7; }
.history-card li p strong { font-weight:600;color:#111827; }
.history-card-footer { margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(195,156,67,.15);text-align:center; }
.history-card-footer span:first-child { font-size:10px;letter-spacing:.3em;font-weight:700;color:#2c6e49;display:block; }
.history-card-footer span:last-child  { font-size:9px;color:#9ca3af;font-weight:300;display:block; }

/* ─── EVENTS ─────────────────────────────────────────── */
#eventos {
  padding:6rem 0;background:#fff;color:#1c1d1a;
  border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;
}
.section-header { text-align:center;max-width:42rem;margin:0 auto 4rem; }
.section-eyebrow { font-size:.75rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;display:block;margin-bottom:.75rem; }
.section-eyebrow.gold  { color:#c39c43; }
.section-eyebrow.green { color:#2c6e49; }
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.875rem;font-weight:300;color:#111210;
}
@media (min-width:640px) { .section-title { font-size:2.25rem; } }
.section-divider { width:3rem;height:4px;border-radius:9999px;margin:.75rem auto 0; }
.section-divider.gold  { background:#c39c43; }
.section-divider.green { background:#2c6e49; }
.section-sub { font-size:1.05rem;color:#4b5563;font-style:italic;font-family:'Cormorant Garamond',serif;margin-top:.5rem; }
@media (min-width:640px) { .section-sub { font-size:1.25rem; } }
#porque-system .section-sub,
#espacos .section-sub {
  color: #9ca3af;
}

.events-grid {
  display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:4rem;
}
@media (min-width:768px) { .events-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .events-grid { grid-template-columns:repeat(3,1fr); } }

.event-card {
  border-radius:1rem;overflow:hidden;
  border:1px solid rgba(195,156,67,.2);
  background:#ffffff;
  transition:transform .3s, box-shadow .3s;
  box-shadow:0 4px 20px rgba(0,0,0,.04);
  opacity:0;transform:translateY(30px);
  display:flex;flex-direction:column;
}
.event-card.visible { opacity:1;transform:translateY(0); }
.event-card:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(195,156,67,.12); }
.event-card.highlight { border-color:#c39c43;box-shadow:0 12px 35px rgba(195,156,67,.18); }
.event-card-img { position:relative;height:16rem;overflow:hidden; }
.event-card-img img { width:100%;height:100%;object-fit:cover;filter:brightness(.9);transition:transform .5s; }
.event-card:hover .event-card-img img { transform:scale(1.05); }
.event-tag {
  position:absolute;top:1rem;left:1rem;z-index:10;
  display:flex;align-items:center;gap:.25rem;
  background:rgba(17,18,16,.95);border:1px solid rgba(195,156,67,.4);
  padding:.25rem .75rem;border-radius:9999px;
  font-size:10px;font-weight:700;letter-spacing:.1em;color:#c39c43;text-transform:uppercase;
}
.event-tag svg { width:14px;height:14px; }
.event-badge {
  position:absolute;top:1rem;right:1rem;z-index:10;
  display:flex;align-items:center;gap:.25rem;
  background:#bf852c;padding:.25rem .75rem;border-radius:9999px;
  font-size:10px;font-weight:700;color:#000;box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.event-badge svg { width:14px;height:14px;fill:#000; }
.event-card-body { padding:1.5rem;display:flex;flex-direction:column;flex-grow:1; }
@media (min-width:640px) { .event-card-body { padding:2rem; } }
.event-card h3 {
  font-size:1.25rem;font-family:'Cormorant Garamond',serif;
  font-weight:600;color:#111210;margin-bottom:1rem;
  display:flex;align-items:center;gap:.5rem;
}
.event-card h3 .dot { color:#c39c43;font-size:.875rem; }
.event-card p {
  font-size:.75rem;color:#4b5563;font-weight:300;line-height:1.75;
  margin-bottom:1.5rem;flex-grow:1;
}
@media (min-width:640px) { .event-card p { font-size:.875rem; } }
.event-meta { padding-top:1.25rem;border-top:1px solid rgba(195,156,67,.15);display:flex;align-items:center;gap:.625rem;margin-top:auto; }
.event-meta svg { width:16px;height:16px;color:#c39c43;flex-shrink:0; }
.event-meta span { font-size:.75rem;color:#374151;font-weight:300;line-height:1.6;font-family:'Courier New',monospace; }

.events-cta { text-align:center; }
.text-link {
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:1rem;font-weight:600;letter-spacing:.1em;
  border-bottom:2px solid rgba(44,110,73,.2);
  padding-bottom:.25rem;color:#2c6e49;
  transition:color .3s,border-color .3s;
}
.text-link:hover { color:#c39c43;border-color:#c39c43; }
.text-link .arrow { font-size:1.25rem;transition:transform .3s; }
.text-link:hover .arrow { transform:translateX(6px); }

/* ─── WHY CHOOSE US ──────────────────────────────────── */
#porque-system {
  padding:6rem 0;background:#111210;color:#e5e7eb;
  position:relative;overflow:hidden;
}
.why-blob-r {
  position:absolute;top:0;right:0;width:20rem;height:20rem;
  background:rgba(195,156,67,.05);border-radius:9999px;filter:blur(60px);pointer-events:none;
}
.why-blob-l {
  position:absolute;bottom:0;left:0;width:20rem;height:20rem;
  background:rgba(44,110,73,.05);border-radius:9999px;filter:blur(60px);pointer-events:none;
}

.why-grid {
  display:grid;grid-template-columns:1fr;gap:4rem;position:relative;z-index:1;
}
@media (min-width:1024px) { .why-grid { grid-template-columns:8fr 4fr; } }

.proofs-grid {
  display:grid;grid-template-columns:1fr;gap:2rem;
}
@media (min-width:768px) { .proofs-grid { grid-template-columns:repeat(2,1fr); } }

.proof-card {
  display:flex;gap:1rem;padding:1.25rem;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:.75rem;
  transition:background .3s,border-color .3s;
  opacity:0;transform:translateY(15px);
}
.proof-card.visible { opacity:1;transform:translateY(0); }
.proof-card:hover { background:rgba(255,255,255,.1);border-color:rgba(195,156,67,.3); }
.proof-card.gold-highlight {
  border-color: rgba(195,156,67,.5);
  background: rgba(195,156,67,.08);
  box-shadow: 0 4px 20px rgba(195,156,67,.1);
}
.proof-card.gold-highlight:hover {
  background: rgba(195,156,67,.12);
  border-color: #c39c43;
}
.proof-card.gold-highlight h3 {
  color: #c39c43;
}
.proof-card.gold-highlight .proof-icon {
  border-color: rgba(195,156,67,.4);
  background: rgba(195,156,67,.15);
}
.proof-icon {
  flex-shrink:0;margin-top:.25rem;
  width:2.25rem;height:2.25rem;border-radius:.5rem;
  background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
}
.proof-icon svg { width:20px;height:20px; }
.proof-card h3 { font-size:1rem;font-weight:600;color:#fff;margin-bottom:.25rem; }
.proof-card p  { font-size:.75rem;color:#9ca3af;font-weight:300;line-height:1.75; }

.audience-box {
  background:rgba(44,110,73,.2);border:1px solid rgba(44,110,73,.4);
  border-radius:1rem;padding:2rem;
  position:sticky;top:7rem;align-self:flex-start;
}
.audience-box ul { display:flex;flex-direction:column;gap:1.25rem; }
.audience-box li {
  display:flex;align-items:flex-start;gap:.875rem;
  opacity:0;transform:translateX(20px);
}
.audience-box li.visible { opacity:1;transform:translateX(0);transition:opacity .4s,transform .4s; }
.audience-check { flex-shrink:0;margin-top:.25rem; }
.audience-check svg { width:20px;height:20px;color:#c39c43; }
.audience-box li p { font-size:.75rem;color:#e5e7eb;font-weight:300;line-height:1.75; }
@media (min-width:640px) { .audience-box li p { font-size:.875rem; } }
.audience-footer { margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);text-align:center; }
.audience-footer span { font-size:10px;letter-spacing:.25em;font-weight:500;color:#c39c43; }

/* ─── WHAT YOU GET ──────────────────────────────────── */
#excelencia {
  padding:6rem 0;background:#faf9f6;color:#1c1d1a;
  border-bottom:1px solid #e5e7eb;
}
.inclusions-grid {
  display:grid;grid-template-columns:1fr;gap:1.5rem;
  margin-bottom:6rem;
}
@media (min-width:768px)  { .inclusions-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .inclusions-grid { grid-template-columns:repeat(4,1fr); } }

.inclusion-card {
  padding:2rem 1.5rem;background:#fff;
  border:1px solid rgba(195,156,67,.15);border-radius:.75rem;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;
  transition:box-shadow .3s;
  opacity:0;transform:scale(.98);
}
.inclusion-card.visible { opacity:1;transform:scale(1); }
.inclusion-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.08); }
.inclusion-check {
  width:3.5rem;height:3.5rem;border-radius:9999px;
  background:rgba(44,110,73,.1);
  display:flex;align-items:center;justify-content:center;color:#2c6e49;flex-shrink:0;
}
.inclusion-check svg { width:24px;height:24px; }
.inclusion-card h3 { font-size:.75rem;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.1em; }
.inclusion-card p  { font-size:.75rem;color:#4b5563;font-weight:300;line-height:1.75; }

/* Steps */
.steps-divider { border-top:1px solid rgba(195,156,67,.2);padding-top:5rem; }
.steps-layout {
  display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;
}
@media (min-width:1024px) { .steps-layout { grid-template-columns:5fr 7fr; } }

.steps-nav { display:flex;flex-direction:column;gap:.75rem; }
.step-btn {
  width:100%;text-align:left;padding:1.125rem;
  border-radius:.75rem;border:1px solid #e5e7eb;
  display:flex;align-items:center;gap:1rem;
  transition:all .3s;background:#fff;color:#374151;
}
.step-btn:hover { border-color:#d1d5db;background:#f9fafb; }
.step-btn.active { background:#111210;color:#fff;border-color:#c39c43;box-shadow:0 4px 16px rgba(0,0,0,.2); }
.step-num {
  width:2rem;height:2rem;border-radius:9999px;
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;flex-shrink:0;
  background:#f3f4f6;color:#6b7280;
  transition:background .3s,color .3s;
}
.step-btn.active .step-num { background:#c39c43;color:#000; }
.step-btn-text { flex-grow:1; }
.step-label { font-size:.75rem;display:block;letter-spacing:.1em;font-weight:300;margin-bottom:.125rem; }
.step-btn:not(.active) .step-label { color:#9ca3af; }
.step-btn.active .step-label { color:#d1d5db; }
.step-title-nav { font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.3; }
@media (min-width:640px) { .step-title-nav { font-size:.875rem; } }
.step-chevron { width:16px;height:16px;flex-shrink:0;color:#d1d5db;transition:transform .3s,color .3s; }
.step-btn.active .step-chevron { color:#c39c43;transform:translateX(4px); }
.step-btn:not(.active) .step-chevron { color:#d1d5db; }

.step-panel {
  background:#fff;border:2px solid rgba(195,156,67,.15);
  border-radius:1rem;padding:2rem;box-shadow:0 2px 8px rgba(0,0,0,.04);
  min-height:300px;display:flex;flex-direction:column;
  justify-content:space-between;position:relative;overflow:hidden;
  animation:fadeIn .3s;
}
@media (min-width:640px) { .step-panel { padding:2.5rem; } }
.step-watermark {
  position:absolute;top:1rem;right:2rem;
  font-size:4.5rem;font-weight:700;font-family:'Cormorant Garamond',serif;
  color:rgba(195,156,67,.1);pointer-events:none;user-select:none;
}
.step-eyebrow { font-size:.75rem;font-weight:700;color:#2c6e49;letter-spacing:.15em;text-transform:uppercase;display:block;margin-bottom:.5rem; }
.step-h3 {
  font-size:1.5rem;font-family:'Cormorant Garamond',serif;
  font-weight:600;color:#111210;margin-bottom:1.5rem;line-height:1.2;
  padding-right:3rem;
}
.step-desc { font-size:1.05rem;color:#374151;line-height:1.8;font-weight:300; }
.step-footer {
  margin-top:2rem;padding-top:1.5rem;
  border-top:1px solid #f3f4f6;
  display:flex;align-items:center;justify-content:space-between;
}
.step-assurance { font-size:14px;color:#374151;font-weight:400;display:flex;align-items:center;gap:.375rem; }
.step-assurance svg { width:16px;height:16px;color:#10b981; }

.steps-cta { text-align:center;margin-top:3.5rem; }

/* ─── SPACES ─────────────────────────────────────────── */
#espacos {
  padding:6rem 0;background:#111210;color:#e5e7eb;
  position:relative;overflow:hidden;
}
.spaces-bg {
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:16px 16px;pointer-events:none;
}
.spaces-grid {
  display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:4rem;
}
@media (min-width:1024px) { .spaces-grid { grid-template-columns:repeat(3,1fr); } }

.space-card {
  border-radius:1rem;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:#151714;
  transition:transform .3s;
  opacity:0;transform:translateY(30px);
  display:flex;flex-direction:column;
}
.space-card.visible { opacity:1;transform:translateY(0); }
.space-card:hover { transform:translateY(-4px); }
.space-card.highlight { border-color:#c39c43;box-shadow:0 4px 30px rgba(195,156,67,.15); }
.space-card-img { position:relative;height:16rem;overflow:hidden; }
.space-card-img img { width:100%;height:100%;object-fit:cover;filter:brightness(.75);transition:transform .5s; }
.space-card:hover .space-card-img img { transform:scale(1.05); }
.space-tag {
  position:absolute;top:1rem;left:1rem;z-index:10;
  display:flex;align-items:center;gap:.25rem;
  background:rgba(17,18,16,.95);border:1px solid rgba(195,156,67,.4);
  padding:.25rem .75rem;border-radius:9999px;
  font-size:10px;font-weight:700;letter-spacing:.1em;color:#c39c43;text-transform:uppercase;
}
.space-tag svg { width:14px;height:14px; }
.space-badge {
  position:absolute;top:1rem;right:1rem;z-index:10;
  display:flex;align-items:center;gap:.25rem;
  background:#bf852c;padding:.25rem .75rem;border-radius:9999px;
  font-size:10px;font-weight:700;color:#000;box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.space-badge svg { width:14px;height:14px;fill:#000; }
.space-card-body { padding:1.5rem;display:flex;flex-direction:column;flex-grow:1; }
@media (min-width:640px) { .space-card-body { padding:2rem; } }
.space-card-body h3 {
  font-size:1.25rem;font-family:'Cormorant Garamond',serif;
  font-weight:600;color:#fff;margin-bottom:1rem;
  display:flex;align-items:center;gap:.5rem;
}
.space-card-body h3 .dot { color:#c39c43;font-size:.875rem; }
.space-card-body p {
  font-size:.75rem;color:#9ca3af;font-weight:300;line-height:1.75;
  margin-bottom:1.5rem;flex-grow:1;
}
@media (min-width:640px) { .space-card-body p { font-size:.875rem; } }
.space-address { padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:flex-start;gap:.625rem;margin-top:auto; }
.space-address svg { width:16px;height:16px;color:#c39c43;margin-top:.125rem;flex-shrink:0; }
.space-address span { font-size:.75rem;color:#d1d5db;font-weight:300;line-height:1.6;font-family:'Courier New',monospace; }

.spaces-banner {
  background:rgba(255,255,255,.05);border:1px solid rgba(195,156,67,.2);
  border-radius:1rem;padding:2rem;text-align:center;max-width:100%;margin:0 auto;
  opacity:0;transform:scale(.98);transition:opacity .6s,transform .6s;
}
.spaces-banner.visible { opacity:1;transform:scale(1); }
.spaces-banner h4 { font-size:1.05rem;font-weight:600;letter-spacing:.25em;color:#c39c43;text-transform:uppercase;margin-bottom:1.5rem; }
@media (min-width:640px) { .spaces-banner h4 { font-size:1.2rem; } }
.spaces-banner p { font-size:1.35rem;font-family:'Cormorant Garamond',serif;font-style:italic;color:#fff;line-height:1.75;max-width:100%;margin:0 auto 1.5rem; }
@media (min-width:640px) { .spaces-banner p { font-size:1.65rem; } }
.spaces-banner-sub { font-size:1rem;font-weight:500;letter-spacing:.06em;color:#d1d5db; }
@media (min-width:640px) { .spaces-banner-sub { font-size:1.15rem; } }
.spaces-banner-sub .gold { color:#c39c43; }

/* ─── PREMIUM EXPERIENCE ─────────────────────────────── */
#experiencia-premium {
  padding:6rem 0;background:#fff;color:#1c1d1a;
  border-bottom:1px solid #f3f4f6;
}
.premium-quote-block {
  margin:2rem 0;padding:1rem 1.5rem;
  border-top:1px solid rgba(195,156,67,.2);
  border-bottom:1px solid rgba(195,156,67,.2);
  position:relative;text-align:center;
}
.premium-quote-icon {
  position:absolute;top:0;left:50%;
  transform:translate(-50%,-50%);
  background:#fff;padding:0 .75rem;color:#c39c43;
}
.premium-quote-block p {
  font-size:1.25rem;font-family:'Cormorant Garamond',serif;
  font-style:italic;color:#1f2937;line-height:1.6;font-weight:300;
}
@media (min-width:640px) { .premium-quote-block p { font-size:1.5rem; } }

.premium-grid {
  display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:4rem;
}
@media (min-width:768px) { .premium-grid { grid-template-columns:repeat(2,1fr); } }
.premium-card {
  padding:1.5rem;background:#faf9f6;
  border:1px solid rgba(195,156,67,.1);border-radius:1rem;
  display:flex;gap:1rem;
  transition:border-color .3s;box-shadow:0 2px 8px rgba(0,0,0,.04);
  opacity:0;transform:translateY(15px);
}
.premium-card.visible { opacity:1;transform:translateY(0); }
.premium-card:hover { border-color:rgba(195,156,67,.3); }
@media (min-width:640px) { .premium-card { padding:2rem; } }
.premium-icon { flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.75rem;background:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.06); }
.premium-icon svg { width:20px;height:20px; }
.premium-card h3 { font-size:1rem;font-weight:600;color:#111210;margin-bottom:.5rem; }
.premium-card p  { font-size:.75rem;color:#4b5563;font-weight:300;line-height:1.75; }
@media (min-width:640px) { .premium-card p { font-size:.875rem; } }

.premium-ctas { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding-top:1.5rem;border-top:1px solid #f3f4f6; }
@media (min-width:640px) { .premium-ctas { flex-direction:row; } }
.premium-divider { display:none;color:#d1d5db; }
@media (min-width:640px) { .premium-divider { display:inline; } }

/* ─── GALLERY ────────────────────────────────────────── */
#galeria { padding:6rem 0;background:#faf9f6;color:#1c1d1a;position:relative; }
.gallery-filters { display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-bottom:3rem; }
.filter-btn {
  padding:.375rem 1.125rem;border-radius:9999px;
  font-size:.75rem;font-weight:600;letter-spacing:.1em;
  border:1px solid #e5e7eb;background:#fff;color:#4b5563;
  transition:all .3s;
}
.filter-btn:hover { border-color:#d1d5db; }
.filter-btn.active { background:#2c6e49;color:#fff;border-color:#2c6e49;box-shadow:0 2px 8px rgba(44,110,73,.3); }

.gallery-grid {
  display:grid;grid-template-columns:1fr;gap:1.5rem;
}
@media (min-width:640px)  { .gallery-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:768px)  { .gallery-grid { grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px) { .gallery-grid { grid-template-columns:repeat(4,1fr); } }

.gallery-item {
  position:relative;height:18rem;border-radius:1rem;overflow:hidden;
  background:#e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.04);
  border:1px solid #f3f4f6;
  transition:box-shadow .3s;
}
.gallery-item:hover { box-shadow:0 12px 30px rgba(0,0,0,.12); }
.gallery-item img { width:100%;height:100%;object-fit:cover;filter:brightness(.95);transition:transform .7s; }
.gallery-item:hover img { transform:scale(1.08); }
.gallery-hover {
  position:absolute;inset:0;background:rgba(0,0,0,.35);
  opacity:0;transition:opacity .3s;
  cursor:pointer;
}
.gallery-item:hover .gallery-hover { opacity:1; }
.gallery-zoom-btn, .gallery-caption { display:none !important; }

/* Lightbox */
.lightbox {
  display:none;position:fixed;inset:0;z-index:2000;
  background:rgba(0,0,0,.95);backdrop-filter:blur(10px);
  align-items:center;justify-content:center;padding:1rem;
}
.lightbox.open { display:flex;animation:fadeIn .3s; }
.lightbox-close {
  position:absolute;top:1.5rem;right:1.5rem;
  padding:.5rem;border-radius:9999px;
  background:rgba(255,255,255,.1);color:#fff;
  transition:background .3s;z-index:2020;
}
.lightbox-close:hover { background:rgba(255,255,255,.2); }
.lightbox-close svg { width:24px;height:24px; }
.lightbox-nav {
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.1);color:#fff;
  border:none;padding:1rem;cursor:pointer;
  transition:background .3s;z-index:2010;
  display:flex;align-items:center;justify-content:center;
  border-radius:9999px;
}
.lightbox-nav:hover { background:rgba(255,255,255,.25); }
.lightbox-nav svg { width:24px;height:24px; }
.lightbox-prev { left:2rem; }
.lightbox-next { right:2rem; }
@media (max-width:640px) {
  .lightbox-prev { left:.5rem; }
  .lightbox-next { right:.5rem; }
  .lightbox-nav { padding:.5rem; }
}
.lightbox-img-wrap {
  position:relative;max-width:56rem;max-height:85vh;
  overflow:hidden;border-radius:0;border:1px solid rgba(255,255,255,.1);
  animation:floatIn .3s;
}
.lightbox-img-wrap img { width:auto;height:auto;max-width:100%;max-height:80vh;object-fit:contain;border-radius:0; }
.lightbox-caption { display:none !important; }

/* ─── TESTIMONIALS ──────────────────────────────────── */
#testemunhos {
  padding:6rem 0;background:#111210;color:rgba(250,249,246,.95);
  position:relative;overflow:hidden;
}
.testimonials-top-line {
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(195,156,67,.3),transparent);
}

.cta-intermediario {
  padding:2rem;background:#151714;border:1px solid rgba(195,156,67,.2);
  border-radius:1rem;text-align:center;max-width:56rem;margin:0 auto 5rem;
  position:relative;overflow:hidden;
}
@media (min-width:640px) { .cta-intermediario { padding:3rem; } }
.cta-intermediario-glow {
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(44,110,73,.05),transparent);pointer-events:none;
}
.cta-intermediario h3 {
  font-size:1.25rem;font-family:'Cormorant Garamond',serif;
  font-weight:300;letter-spacing:.04em;color:#fff;margin-bottom:.5rem;
}
@media (min-width:640px) { .cta-intermediario h3 { font-size:1.5rem; } }

.btn-gold {
  display:inline-flex;align-items:center;gap:.625rem;
  padding:.75rem 1.5rem;background:#c39c43;color:#000;
  font-weight:600;font-size:.75rem;letter-spacing:.12em;
  border-radius:9999px;margin-top:2rem;
  box-shadow:0 4px 16px rgba(0,0,0,.3);
  transition:all .3s;
}
.btn-gold:hover { background:#bf852c;transform:scale(1.02); }

.bride-grid {
  display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:6rem;
}
@media (min-width:768px) { .bride-grid { grid-template-columns:repeat(2,1fr); } }

.bride-card {
  padding:2rem;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);border-radius:1rem;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:border-color .3s,background .3s;
  opacity:0;transform:translateY(20px);
}
@media (min-width:640px) { .bride-card { padding:2.5rem; } }
.bride-card.visible { opacity:1;transform:translateY(0); }
.bride-card:hover { border-color:rgba(195,156,67,.3);background:rgba(255,255,255,.07); }
.bride-quote { width:32px;height:32px;color:rgba(195,156,67,.4);margin-bottom:1.5rem;transition:color .3s; }
.bride-card:hover .bride-quote { color:#c39c43; }
.bride-text { font-size:1.05rem;font-style:italic;font-family:'Cormorant Garamond',serif;line-height:1.8;color:#e5e7eb; }
@media (min-width:640px) { .bride-text { font-size:1.2rem; } }
.bride-footer { margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center; }
.bride-author { font-size:.875rem;font-weight:600;letter-spacing:.06em;color:#fff; }
.bride-tag { font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#c39c43;background:rgba(255,255,255,.05);border:1px solid rgba(195,156,67,.15);padding:.125rem .625rem;border-radius:9999px; }

.google-section { border-top:1px solid rgba(255,255,255,.15);padding-top:5rem; }
.stars-row { display:flex;justify-content:center;align-items:center;gap:.25rem;margin:1rem 0; }
.stars-row svg { width:20px;height:20px;fill:#f59e0b;color:#f59e0b; }
.stars-row span { font-size:.875rem;color:#d1d5db;font-weight:500;margin-left:.375rem; }

.reviews-grid {
  display:grid;grid-template-columns:1fr;gap:1.5rem;
}
@media (min-width:640px)  { .reviews-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .reviews-grid { grid-template-columns:repeat(3,1fr); } }

.review-card {
  padding:1.5rem;background:#151714;border:1px solid rgba(195,156,67,.1);
  border-radius:.75rem;
  transition:border-color .3s;
  opacity:0;transform:scale(.96);
  display:flex;flex-direction:column;justify-content:space-between;
}
.review-card.visible { opacity:1;transform:scale(1); }
.review-card:hover { border-color:rgba(195,156,67,.3); }
.review-header { display:flex;align-items:center;gap:.75rem;margin-bottom:1rem; }
.review-avatar { width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;color:#fff;text-transform:uppercase;flex-shrink:0;border:1px solid rgba(255,255,255,.1); }
.review-meta { display:flex;flex-direction:column;gap:2px; }
.review-author { font-size:.875rem;font-weight:600;color:#fff; }
.review-stars { display:flex;align-items:center;gap:2px; }
.review-stars svg { width:14px;height:14px;fill:#f59e0b;color:#f59e0b; }
.review-text { font-size:.75rem;color:#e5e7eb;font-weight:300;line-height:1.75;font-style:italic;flex-grow:1; }
@media (min-width:640px) { .review-text { font-size:.875rem; } }
.review-link-btn { display:inline-block;margin-top:1rem;font-size:11px;font-weight:600;color:#c39c43;text-decoration:none;transition:color .3s;text-transform:uppercase;letter-spacing:.05em;align-self:flex-start; }
.review-link-btn:hover { color:#bf852c;text-decoration:underline; }

.google-view-all { text-align:center;margin-top:3rem; }
.view-all-google-btn { display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:transparent;color:#fff;border:1px solid rgba(195,156,67,.4);border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:all .3s;box-shadow:0 4px 12px rgba(0,0,0,.2); }
.view-all-google-btn:hover { background:#c39c43;color:#000;border-color:#c39c43;transform:translateY(-1px); }

/* ─── CONTACT CTA ────────────────────────────────────── */
#contato {
  padding:6rem 0;background:#faf9f6;color:#1c1d1a;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-bottom:1px solid #e5e7eb;
}
.contact-glow {
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100%;max-width:56rem;height:18rem;
  background:rgba(195,156,67,.05);border-radius:9999px;filter:blur(80px);pointer-events:none;
}
.contact-inner { max-width:56rem;width:100%;text-align:center;position:relative;z-index:1; }
.contact-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.875rem;font-weight:300;line-height:1.3;
  color:#111210;max-width:48rem;margin:1rem auto 2rem;
}
@media (min-width:640px) { .contact-h2 { font-size:2.25rem; } }
@media (min-width:768px) { .contact-h2 { font-size:3rem; } }
.contact-h2 em { font-family:'Cormorant Garamond',serif;font-weight:600;font-style:italic;color:#d62229; }
.contact-p { font-size:1rem;color:#374151;line-height:1.75;font-weight:300;max-width:42rem;margin:0 auto 3rem; }
@media (min-width:640px) { .contact-p { font-size:1.125rem; } }
.contact-p em { display:block;margin-top:.75rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.875rem;color:#d62229;font-weight:600; }
@media (min-width:640px) { .contact-p em { font-size:2.25rem; } }
@media (min-width:768px) { .contact-p em { font-size:3rem; } }

.contact-btns { display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:32rem;margin:0 auto; }
@media (min-width:640px) { .contact-btns { flex-direction:row; } }
.btn-cta-primary {
  flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem 2rem;background:linear-gradient(to right,#2c6e49,#3cb043);
  color:#fff;font-weight:600;font-size:.75rem;letter-spacing:.12em;
  border-radius:9999px;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:all .3s;
}
.btn-cta-primary:hover { background:linear-gradient(to right,#3cb043,#2c6e49);box-shadow:0 6px 24px rgba(0,0,0,.3); }
.btn-cta-primary svg { width:16px;height:16px; }
.btn-cta-secondary {
  flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem 2rem;background:#fff;border:1px solid #d1d5db;
  color:#111210;font-weight:600;font-size:.75rem;letter-spacing:.12em;
  border-radius:9999px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:all .3s;
}
.btn-cta-secondary:hover { background:#f9fafb;box-shadow:0 4px 16px rgba(0,0,0,.1); }
.btn-cta-secondary svg { width:16px;height:16px;color:#c39c43; }

/* ─── MODAL ──────────────────────────────────────────── */
.modal-overlay {
  display:none;position:fixed;inset:0;z-index:3000;
  background:rgba(0,0,0,.8);backdrop-filter:blur(4px);
  align-items:center;justify-content:center;padding:1rem;
}
.modal-overlay.open { display:flex;animation:fadeIn .25s; }
.modal-box {
  background:#fff;color:#1c1d1a;width:100%;max-width:36rem;
  border-radius:1rem;box-shadow:0 25px 60px rgba(0,0,0,.4);
  border:1px solid #e5e7eb;overflow:hidden;
  position:relative;z-index:1;
  animation:floatIn .3s;
}
.modal-header { background:#111210;color:#faf9f6;padding:1.5rem;position:relative; }
.modal-header-glow { position:absolute;inset:0;background:linear-gradient(to right,rgba(44,110,73,.2),transparent);pointer-events:none; }
.modal-close {
  position:absolute;top:1.25rem;right:1.25rem;
  padding:.25rem;border-radius:9999px;color:#9ca3af;
  transition:color .3s;z-index:1;
}
.modal-close:hover { color:#fff; }
.modal-close svg { width:20px;height:20px; }
.modal-header-inner { position:relative;z-index:1;display:flex;align-items:center;gap:.75rem; }
.modal-header-icon { padding:.625rem;background:rgba(195,156,67,.15);border:1px solid rgba(195,156,67,.4);border-radius:.75rem;color:#c39c43; }
.modal-header-icon svg { width:20px;height:20px; }
.modal-header h3 { font-size:1.125rem;font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase; }
.modal-header p  { font-size:11px;color:#9ca3af;font-weight:300;letter-spacing:.06em;margin-top:.125rem; }
.modal-body { padding:1.5rem;max-height:75vh;overflow-y:auto; }
@media (min-width:640px) { .modal-body { padding:2rem; } }
.modal-form { display:flex;flex-direction:column;gap:1rem; }
.form-group { display:flex;flex-direction:column;gap:.375rem; }
.form-label { display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.12em; }
.form-label svg { width:14px;height:14px;color:#9ca3af; }
.form-input, .form-select, .form-textarea {
  width:100%;padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;
  font-size:.875rem;font-family:'Inter',sans-serif;color:#374151;
  transition:border-color .3s,box-shadow .3s;outline:none;
  background:#fff;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color:#2c6e49;box-shadow:0 0 0 3px rgba(44,110,73,.15);
}
.form-input::placeholder, .form-textarea::placeholder { color:#9ca3af; }
.form-row { display:grid;grid-template-columns:1fr;gap:1rem; }
@media (min-width:640px) { .form-row { grid-template-columns:repeat(2,1fr); } }
.form-textarea { resize:none; }
.btn-submit {
  width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.875rem 1.5rem;margin-top:.5rem;
  background:#111210;color:#c39c43;
  font-weight:600;font-size:.75rem;letter-spacing:.12em;
  border-radius:.5rem;border:1px solid rgba(195,156,67,.4);
  box-shadow:0 4px 16px rgba(0,0,0,.3);
  transition:all .3s;
}
.btn-submit:hover { background:#000;transform:scale(1.01); }
.btn-submit svg { width:16px;height:16px;color:#10b981;fill:#10b981; }

/* Success state */
.modal-success { display:none;padding:3rem 1rem;text-align:center;flex-direction:column;align-items:center; }
.modal-success.show { display:flex; }
.success-icon {
  width:4rem;height:4rem;background:#d1fae5;border-radius:9999px;
  display:flex;align-items:center;justify-content:center;
  color:#059669;border:1px solid #a7f3d0;margin-bottom:1.5rem;
  box-shadow:0 2px 8px rgba(5,150,105,.2);
}
.success-icon svg { width:32px;height:32px; }
.success-h4 { font-size:1.25rem;font-family:'Cormorant Garamond',serif;font-weight:600;color:#111827;margin-bottom:.5rem; }
.success-p { font-size:.875rem;color:#4b5563;font-weight:300;max-width:24rem;margin:0 auto 1.5rem; }
.success-note { display:inline-flex;align-items:center;gap:.5rem;padding:.75rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.75rem;max-width:28rem; }
.success-note span { font-size:.75rem;color:#065f46;font-weight:500; }
.success-actions { display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap; }
.btn-close-modal { padding:.5rem 1.5rem;border:1px solid #d1d5db;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.1em;color:#374151;transition:background .3s; }
.btn-close-modal:hover { background:#f3f4f6; }
.btn-wa-open { padding:.5rem 1.5rem;background:linear-gradient(to right,#10b981,#059669);color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.1em;transition:all .3s;box-shadow:0 2px 8px rgba(5,150,105,.3); }
.btn-wa-open:hover { background:linear-gradient(to right,#059669,#047857); }

/* ─── LOCATION MAP ──────────────────────────────────── */
#localizacao { padding:6rem 0;background:#fff;color:#1c1d1a;position:relative; }
.map-grid { display:grid;grid-template-columns:1fr;gap:3rem;align-items:stretch; }
@media (min-width:1024px) { .map-grid { grid-template-columns:5fr 7fr; } }

.map-left { display:flex;flex-direction:column;gap:1.5rem; }
.address-card {
  padding:2rem;background:#faf9f6;border:1px solid rgba(195,156,67,.2);
  border-radius:1rem;box-shadow:0 2px 8px rgba(0,0,0,.04);
  flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;
  opacity:0;transform:translateX(-20px);transition:opacity .6s,transform .6s;
}
.address-card.visible { opacity:1;transform:translateX(0); }
.address-icon { width:2.5rem;height:2.5rem;border-radius:.75rem;background:rgba(44,110,73,.1);display:flex;align-items:center;justify-content:center;color:#2c6e49;margin-bottom:1.5rem; }
.address-icon svg { width:20px;height:20px; }
.address-card h3 { font-size:1.25rem;font-family:'Cormorant Garamond',serif;font-weight:600;color:#111210;margin-bottom:.75rem; }
.address-card p { font-size:.75rem;color:#4b5563;font-weight:300;line-height:1.7;font-family:'Courier New',monospace;margin-bottom:1.5rem;user-select:all; }
@media (min-width:640px) { .address-card p { font-size:.875rem; } }
.btn-map-link {
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.75rem 1.5rem;background:#111210;color:#c39c43;
  font-weight:600;font-size:.75rem;letter-spacing:.1em;
  border-radius:.5rem;border:1px solid rgba(195,156,67,.2);
  box-shadow:0 4px 16px rgba(0,0,0,.2);transition:all .3s;
}
.btn-map-link:hover { background:#000; }
.btn-map-link svg { width:16px;height:16px;color:#10b981; }

.access-card {
  padding:1.5rem;background:rgba(250,249,246,.5);border:1px solid #e5e7eb;
  border-radius:1rem;box-shadow:0 1px 4px rgba(0,0,0,.03);
  opacity:0;transform:translateX(-20px);transition:opacity .6s .1s,transform .6s .1s;
}
.access-card.visible { opacity:1;transform:translateX(0); }
.access-card h4 { font-size:.875rem;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem; }
.access-card h4 svg { width:16px;height:16px;color:#c39c43; }
.access-card ul { display:flex;flex-direction:column;gap:.875rem; }
.access-card li { display:flex;align-items:flex-start;gap:.75rem; }
.access-card li p { font-size:.75rem;color:#4b5563;line-height:1.7; }
.access-card li strong { font-weight:600;color:#111827; }

.map-frame {
  height:28rem;border:2px solid #f3f4f6;border-radius:1rem;
  overflow:hidden;background:#f3f4f6;
  opacity:0;transform:translateX(20px);transition:opacity .7s,transform .7s;
}
@media (min-width:640px) { .map-frame { min-height:25rem; } }
.map-frame.visible { opacity:1;transform:translateX(0); }
.map-frame iframe { width:100%;height:100%;border:0; }

/* ─── FOOTER ─────────────────────────────────────────── */
footer {
  background:#111210;color:#9ca3af;
  padding:5rem 0 2.5rem;
  position:relative;overflow:hidden;
  border-top:1px solid rgba(195,156,67,.15);
}
.footer-grid {
  display:grid;grid-template-columns:1fr;gap:3rem;
  padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.1);
}
@media (min-width:768px)  { .footer-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .footer-grid { grid-template-columns:5fr 3.5fr 3.5fr; gap: 4rem; align-items: start; } }

.footer-brand { display:flex;flex-direction:column;align-items:flex-start; }
.footer-logo-img {
  height: 180px;
  width: auto;
  object-fit: contain;
  margin-bottom: 1.5rem;
}
.footer-desc { font-size:.875rem;color:#9ca3af;font-weight:300;line-height:1.8;margin-bottom:1.5rem; }
@media (min-width:640px) { .footer-desc { font-size:1rem; } }
.footer-socials { display:flex;align-items:center;gap:.75rem; }
.footer-social-btn {
  padding:.625rem;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);border-radius:9999px;
  color:#d1d5db;transition:color .3s,background .3s,border-color .3s;
}
.footer-social-btn:hover { background:rgba(195,156,67,.1);color:#c39c43;border-color:rgba(195,156,67,.3); }
.footer-social-btn svg { width:18px;height:18px; }
.footer-social-tiktok { display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem; }

.footer-col h4 { font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.05);display:inline-block; }
.footer-contact-list { display:flex;flex-direction:column;gap:1.25rem; }
.footer-contact-item { display:flex;align-items:flex-start;gap:.75rem; }
.footer-contact-item svg { width:18px;height:18px;color:#c39c43;flex-shrink:0;margin-top:.125rem; }
.footer-contact-item span { font-size:.875rem;color:#d1d5db;line-height:1.7;font-family:'Courier New',monospace; }
.footer-contact-item a { font-size:.875rem;color:#c39c43;transition:opacity .2s; }
.footer-contact-item a:hover { opacity:.8; }
.footer-desc-units { font-size:.875rem;color:#9ca3af;font-weight:300;margin-bottom:1.25rem; line-height: 1.6; }
.footer-units-list { display:flex;flex-direction:column;gap:1rem; }
.footer-units-list a { font-size:.875rem;color:#d1d5db;display:flex;align-items:center;gap:.5rem;transition:color .3s; }
.footer-units-list a:hover { color:#c39c43; }
.footer-units-dot { width:6px;height:6px;border-radius:9999px;background:#c39c43;flex-shrink:0; }

.footer-bottom {
  padding-top:2rem;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  gap:1.5rem;font-size:11px;color:#6b7280;
}
@media (min-width:768px) { .footer-bottom { flex-direction:row; } }
.footer-copyright span { color:#6b7280; font-weight:400; }
.footer-links { display:flex;flex-wrap:wrap;align-items:center;gap:1rem;text-align:center; }
.footer-links span.sep { color:#4b5563; }
.footer-links span.dev { color:#d1d5db;font-weight:600; }
.footer-links a { color:#c39c43; text-decoration:none; }
.footer-links a:hover { text-decoration:underline; }
.footer-privacy-btn { background:none; border:none; color:#6b7280; font-size:11px; cursor:pointer; padding:0; transition:color 0.3s; }
.footer-privacy-btn:hover { color:#c39c43; text-decoration:underline; }
.btn-top {
  padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:9999px;
  color:#c39c43;transition:all .3s;
}
.btn-top:hover { border-color:#c39c43;background:rgba(255,255,255,.05); }
.btn-top svg { width:16px;height:16px; }

/* ─── SCROLL REVEAL TRANSITION DELAYS ─────────────────── */
.stat-item:nth-child(2) { transition-delay:.15s; }
.stat-item:nth-child(3) { transition-delay:.3s; }
.stat-item:nth-child(4) { transition-delay:.45s; }
.event-card:nth-child(2) { transition-delay:.1s; }
.event-card:nth-child(3) { transition-delay:.2s; }
.event-card:nth-child(4) { transition-delay:.3s; }
.event-card:nth-child(5) { transition-delay:.4s; }
.proof-card:nth-child(2) { transition-delay:.05s; }
.proof-card:nth-child(3) { transition-delay:.1s; }
.proof-card:nth-child(4) { transition-delay:.15s; }
.proof-card:nth-child(5) { transition-delay:.2s; }
.proof-card:nth-child(6) { transition-delay:.25s; }
.proof-card:nth-child(7) { transition-delay:.3s; }
.proof-card:nth-child(8) { transition-delay:.35s; }
.inclusion-card:nth-child(2) { transition-delay:.05s; }
.inclusion-card:nth-child(3) { transition-delay:.1s; }
.inclusion-card:nth-child(4) { transition-delay:.15s; }
.inclusion-card:nth-child(5) { transition-delay:.2s; }
.inclusion-card:nth-child(6) { transition-delay:.25s; }
.inclusion-card:nth-child(7) { transition-delay:.3s; }
.inclusion-card:nth-child(8) { transition-delay:.35s; }
.space-card:nth-child(2) { transition-delay:.1s; }
.space-card:nth-child(3) { transition-delay:.2s; }
.premium-card:nth-child(2) { transition-delay:.1s; }
.premium-card:nth-child(3) { transition-delay:.2s; }
.premium-card:nth-child(4) { transition-delay:.3s; }
.bride-card:nth-child(2) { transition-delay:.1s; }
.bride-card:nth-child(3) { transition-delay:.2s; }
.bride-card:nth-child(4) { transition-delay:.3s; }
.review-card:nth-child(2) { transition-delay:.1s; }
.review-card:nth-child(3) { transition-delay:.2s; }
.review-card:nth-child(4) { transition-delay:.3s; }

/* ─── GALLERY HIDDEN STATE ─────────────────────────────── */
.gallery-item.hidden { display:none; }

/* ─── RESPONSIVE HELPERS ───────────────────────────────── */
@media (max-width:639px) {
  .contact-h2 br { display:none; }
}
