/* ════════════════════════════════════════════════════
   CASARINO HOLDINGS — style.css v2
   ════════════════════════════════════════════════════ */

:root {
  --crimson: #8B0000;
  --crimson-mid: #A00000;
  --gold: #C9A84C;
  --gold-light: #E8C96D;
  --gold-pale: #F5E6C0;
  --black: #080808;
  --dark: #101010;
  --dark-mid: #161616;
  --dark-card: #131313;
  --gray: #777777;
  --gray-mid: #999999;
  --gray-light: #BBBBBB;
  --white: #F5F0E8;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--white);
  font-family: 'Barlow', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
  line-height: 1;
}

body::after {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 9998;
}

/* ─── LOADER ─── */
.loader {
  position: fixed; inset: 0;
  background: var(--black);
  z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}
.loader.hidden { opacity: 0; visibility: hidden; }

.loader-inner { text-align: center; }

.loader-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.5rem; font-weight: 300;
  letter-spacing: 0.2em; color: var(--white);
  margin-bottom: 2rem; overflow: hidden;
}
.loader-c { color: var(--gold); display: inline-block; animation: loaderC 0.6s ease forwards; }
.loader-name { display: inline-block; opacity: 0; transform: translateX(-20px); animation: loaderName 0.7s 0.3s ease forwards; }
.loader-bar { width: 200px; height: 1px; background: rgba(255,255,255,0.08); margin: 0 auto 1.5rem; overflow: hidden; }
.loader-bar-fill { height: 100%; background: linear-gradient(90deg, var(--crimson), var(--gold)); width: 0; animation: loaderBar 1.5s 0.2s ease forwards; }
.loader-sub { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 0.35em; text-transform: uppercase; color: var(--gray); opacity: 0; animation: fadeIn 0.5s 0.8s forwards; }

@keyframes loaderC { from{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)} }
@keyframes loaderName { from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)} }
@keyframes loaderBar { from{width:0}to{width:100%} }
@keyframes fadeIn { from{opacity:0}to{opacity:1} }
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)} }
@keyframes slideUp { from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)} }

/* ─── NAV ─── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  padding: 0 5vw; height: 70px;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(8,8,8,0.97); border-bottom: 1px solid rgba(201,168,76,0.08);
  transition: all 0.4s ease;
}
nav.scrolled {
  background: rgba(8,8,8,0.96);
  backdrop-filter: blur(14px);
  border-bottom-color: rgba(201,168,76,0.12);
}

.nav-logo { text-decoration: none; display: flex; flex-direction: column; line-height: 1; }
.nav-logo-main { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 600; letter-spacing: 0.2em; color: var(--gold); }
.nav-logo-sub { font-family: 'Barlow Condensed', sans-serif; font-size: 0.55rem; letter-spacing: 0.4em; text-transform: uppercase; color: var(--gray); margin-top: 2px; }

.nav-links { display: flex; gap: 2.5rem; list-style: none; align-items: center; }
.nav-links a {
  color: rgba(245,240,232,0.7); text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.82rem;
  letter-spacing: 0.14em; text-transform: uppercase;
  transition: color 0.2s; position: relative;
}
.nav-links a::after { content:''; position:absolute; bottom:-3px; left:0; width:0; height:1px; background:var(--gold); transition:width 0.3s ease; }
.nav-links a:hover { color: var(--white); }
.nav-links a:hover::after { width: 100%; }

.nav-cta { border: 1px solid rgba(201,168,76,0.5) !important; color: var(--gold) !important; padding: 0.45rem 1.3rem; }
.nav-cta::after { display:none !important; }
.nav-cta:hover { background: var(--gold) !important; color: var(--black) !important; border-color: var(--gold) !important; }

.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; z-index: 100; }
.hamburger span { display: block; width: 24px; height: 1.5px; background: var(--gold); transition: all 0.3s ease; }

/* ─── PAGE SYSTEM ─── */
.page { display: none; }
.page.active { display: block; }

/* ─── HERO ─── */
.hero {
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden; padding: 0 5vw;
}
#heroCanvas { position: absolute; inset: 0; z-index: 0; opacity: 0.5; }
.hero-bg {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(139,0,0,0.22) 0%, transparent 65%),
    radial-gradient(ellipse 35% 35% at 85% 75%, rgba(201,168,76,0.06) 0%, transparent 60%),
    linear-gradient(170deg, #080808 0%, #100808 60%, #080808 100%);
}
.hero-content { position: relative; z-index: 2; text-align: center; max-width: 980px; }

.hero-eyebrow {
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem;
  letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 2.5rem; display: flex; align-items: center; justify-content: center; gap: 1.2rem;
  opacity: 0; animation: fadeUp 0.8s 1.6s forwards;
}
.eyebrow-line { display: block; width: 40px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold)); }
.eyebrow-line:last-child { background: linear-gradient(90deg, var(--gold), transparent); }

.hero-title {
  display: flex; flex-direction: column;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(4rem, 10vw, 9rem); font-weight: 300;
  line-height: 0.9; letter-spacing: -0.02em; margin-bottom: 1.5rem; overflow: hidden;
}
.hero-title-line { display: block; opacity: 0; transform: translateY(100%); animation: slideUp 0.9s var(--ease) forwards; }
.hero-title-line:first-child { animation-delay: 1.7s; }
.hero-title-line:last-child { animation-delay: 1.85s; }
.hero-title .italic { font-style: italic; color: var(--gold); }

.hero-subtitle { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.1rem,2.5vw,1.6rem); font-weight: 300; color: var(--gray-light); margin-bottom: 2rem; opacity: 0; animation: fadeUp 0.8s 2s forwards; }
.hero-subtitle em { color: var(--gold); font-style: italic; }

.hero-divider { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 0 auto 2rem; opacity: 0; animation: fadeIn 0.8s 2.1s forwards; }
.hero-divider span:not(.diamond) { display: block; width: 60px; height: 1px; background: linear-gradient(90deg, transparent, rgba(201,168,76,0.5)); }
.hero-divider span:last-child { background: linear-gradient(90deg, rgba(201,168,76,0.5), transparent); }
.diamond { color: var(--gold); font-size: 0.5rem; }

.hero-desc { font-size: clamp(0.95rem,1.5vw,1.05rem); color: var(--gray-mid); max-width: 540px; margin: 0 auto 3rem; line-height: 1.85; opacity: 0; animation: fadeUp 0.8s 2.2s forwards; }
.hero-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; opacity: 0; animation: fadeUp 0.8s 2.35s forwards; }

.orb { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; z-index: 1; }
.orb-1 { width:500px;height:500px; background:radial-gradient(circle,rgba(139,0,0,0.15),transparent 70%); top:-100px;left:-100px; animation:orbFloat1 12s ease-in-out infinite; }
.orb-2 { width:400px;height:400px; background:radial-gradient(circle,rgba(201,168,76,0.08),transparent 70%); bottom:-50px;right:-50px; animation:orbFloat2 15s ease-in-out infinite; }
.orb-3 { width:300px;height:300px; background:radial-gradient(circle,rgba(139,0,0,0.1),transparent 70%); top:50%;right:15%; animation:orbFloat3 18s ease-in-out infinite; }
@keyframes orbFloat1 { 0%,100%{transform:translate(0,0)}50%{transform:translate(60px,80px)} }
@keyframes orbFloat2 { 0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,-60px)} }
@keyframes orbFloat3 { 0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-40px) scale(1.1)} }

/* ─── BUTTONS ─── */
.btn-primary {
  display: inline-flex; align-items: center; gap: 0.7rem;
  background: var(--gold); color: var(--black);
  padding: 0.95rem 2.2rem;
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.88rem;
  letter-spacing: 0.14em; text-transform: uppercase;
  text-decoration: none; font-weight: 600;
  border: none; cursor: pointer; position: relative; overflow: hidden;
  transition: all 0.3s ease;
}
.btn-primary::before { content:''; position:absolute; inset:0; background:var(--gold-light); transform:translateX(-100%); transition:transform 0.35s ease; }
.btn-primary:hover::before { transform:translateX(0); }
.btn-primary span, .btn-primary svg { position:relative; z-index:1; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(201,168,76,0.25); }

.btn-outline {
  display: inline-flex; align-items: center; gap: 0.7rem;
  background: transparent; color: var(--white);
  border: 1px solid rgba(245,240,232,0.2);
  padding: 0.95rem 2.2rem;
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.88rem;
  letter-spacing: 0.14em; text-transform: uppercase;
  text-decoration: none; font-weight: 500; transition: all 0.3s ease;
}
.btn-outline:hover { border-color: var(--gold); color: var(--gold); transform: translateY(-2px); }
.btn-full { width: 100%; justify-content: center; }

/* ─── MARQUEE ─── */
.marquee-strip { overflow: hidden; background: var(--dark-mid); border-top: 1px solid rgba(201,168,76,0.1); border-bottom: 1px solid rgba(201,168,76,0.1); padding: 1rem 0; }
.marquee-track { display: flex; gap: 2rem; animation: marqueeScroll 30s linear infinite; white-space: nowrap; width: max-content; }
.marquee-track span { font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray); }
.marquee-track .sep { color: var(--gold); opacity: 0.5; }
@keyframes marqueeScroll { from{transform:translateX(0)}to{transform:translateX(-50%)} }

/* ─── SECTIONS SHARED ─── */
section { padding: 9rem 5vw; position: relative; overflow: hidden; }
.section-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 0.45em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.2rem; }
.section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.4rem,5vw,4rem); font-weight: 300; line-height: 1.05; color: var(--white); margin-bottom: 1.5rem; }
.section-title em { font-style: italic; color: var(--gold); }
.section-bg-number { position: absolute; right: 4vw; top: 5rem; font-family: 'Cormorant Garamond', serif; font-size: clamp(8rem,18vw,16rem); font-weight: 700; color: rgba(201,168,76,0.03); line-height: 1; pointer-events: none; user-select: none; z-index: 0; }

/* ─── ABOUT ─── */
.about { background: var(--dark); }
.about-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 8rem; align-items: center; max-width: 1300px; margin: 0 auto; position: relative; z-index: 1; }
.about-text p { color: var(--gray-mid); line-height: 1.9; margin-bottom: 1.4rem; font-size: 1rem; }
.about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.stat-box { background: var(--dark-card); border: 1px solid rgba(201,168,76,0.08); padding: 2.2rem 1.8rem; position: relative; overflow: hidden; transition: border-color 0.3s; }
.stat-box::before { content:''; position:absolute; top:0; left:0; width:2px; height:0; background:var(--gold); transition:height 0.4s ease; }
.stat-box:hover { border-color: rgba(201,168,76,0.3); }
.stat-box:hover::before { height: 100%; }
.stat-number { font-family: 'Cormorant Garamond', serif; font-size: 3.2rem; font-weight: 600; color: var(--gold); line-height: 1; margin-bottom: 0.5rem; }
.stat-glyph { font-family: 'Cormorant Garamond', serif; font-size: 3.2rem; font-weight: 300; color: var(--gold); line-height: 1; margin-bottom: 0.5rem; }
.stat-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gray); }

/* ─── HOW ─── */
.how { background: var(--black); }
.how-inner { max-width: 1300px; margin: 0 auto; position: relative; z-index: 1; }
.how-header { margin-bottom: 5rem; }
.pillars { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(201,168,76,0.06); }
.pillar { background: var(--black); padding: 3rem 2.2rem; position: relative; transition: background 0.3s ease; }
.pillar:hover { background: rgba(201,168,76,0.025); }
.pillar-number { font-family: 'Cormorant Garamond', serif; font-size: 4.5rem; font-weight: 300; color: rgba(201,168,76,0.1); line-height: 1; margin-bottom: 1.5rem; transition: color 0.3s; }
.pillar:hover .pillar-number { color: rgba(201,168,76,0.2); }
.pillar-icon { font-size: 1.6rem; margin-bottom: 1.2rem; }
.pillar-title { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 600; color: var(--white); margin-bottom: 0.8rem; }
.pillar-text { font-size: 0.88rem; color: var(--gray); line-height: 1.8; }

/* ─── PORTFOLIO ─── */
.portfolio { background: var(--dark); }
.portfolio-header { max-width: 1300px; margin: 0 auto 4rem; position: relative; z-index: 1; }
.portfolio-sub { color: var(--gray); font-size: 1rem; margin-top: 1rem; max-width: 520px; line-height: 1.75; }

.companies-grid { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5px; background: rgba(201,168,76,0.05); position: relative; z-index: 1; }

/* ─── FLIP CARD ─── */.card-inner {
  position: relative; width: 100%; height: 100%;
  transition: transform 1.1s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
}

/* Flip só acontece quando card tem classe .flipped — controlado por JS */
.company-card.flipped .card-inner { transform: rotateY(180deg); }

/* Remover flip por hover */
/* .company-card:hover .card-inner { transform: rotateY(180deg); } */

.card-front, .card-back {
  position: absolute; inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  padding: 2.2rem;
  background: var(--dark-card);
}

.card-back {
  transform: rotateY(180deg);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: #0e0e0e;
  border: 1px solid rgba(201,168,76,0.12);
}

.card-back-img {
  width: 100%; max-width: 200px;
  height: 160px;
  object-fit: contain;
  margin-bottom: 1rem;
  filter: drop-shadow(0 4px 20px rgba(0,0,0,0.5));
}

.card-back-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-weight: 600;
  color: var(--gold); text-align: center;
  letter-spacing: 0.05em;
}

.card-back-hint {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.65rem; letter-spacing: 0.25em;
  text-transform: uppercase; color: var(--gray);
  margin-top: 0.5rem;
}

/* Front card glow effect */
.card-glow { position: absolute; inset: 0; background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(201,168,76,0.06), transparent 60%); opacity: 0; transition: opacity 0.4s; pointer-events: none; }
.company-card:hover .card-front .card-glow { opacity: 1; }

.card-line { position: absolute; bottom: 0; left: 0; right: 0; height: 1.5px; background: linear-gradient(90deg, transparent, var(--gold), transparent); transform: scaleX(0); transition: transform 0.4s ease; }
.company-card:hover .card-line { transform: scaleX(1); }

/* ─── COMPANY CARDS ─── */
.company-card {
  perspective: 1000px;
  height: 360px;
  cursor: default;
  position: relative;
}

/* Subtle bottom line reveal on hover — like print 3 */
.company-card::after { display: none; }
.company-card::before { display: none; }

/* Card tag */
.company-tag {
  display: inline-block;
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--gold); border: 1px solid rgba(201,168,76,0.25);
  padding: 0.25rem 0.75rem; margin-bottom: 1.2rem;
}
.company-tag--gold { border-color: rgba(201,168,76,0.5); }

.company-icon {
  font-size: 1.8rem; margin-bottom: 0.8rem; display: block;
}

.company-name {
  font-family: 'Cormorant Garamond', serif; font-size: 1.5rem;
  font-weight: 600; color: var(--white); margin-bottom: 0.4rem; line-height: 1.15;
}

.company-sector {
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gray); margin-bottom: 0.9rem;
}
.company-desc { font-size: 0.87rem; color: var(--gray-mid); line-height: 1.75; }
.company-card--expand .card-front { background: transparent; border: 1px dashed rgba(201,168,76,0.1); }

/* Company card height increase to fit saiba mais button */
.company-card { perspective: 1000px; height: 360px; cursor: default; }

/* Flip trigger button */
.card-flip-btn {
  position: absolute;
  bottom: 1rem; right: 1.2rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.6rem; letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(201,168,76,0.45);
  background: none; border: none; cursor: pointer;
  padding: 0.3rem 0;
  transition: color 0.2s;
  z-index: 10;
}
.card-flip-btn:hover { color: var(--gold); }

/* Back flip-back button */
.card-unflip-btn {
  margin-top: 1rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.6rem; letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(201,168,76,0.45);
  background: none; border: none; cursor: pointer;
  padding: 0.3rem 0;
  transition: color 0.2s;
}
.card-unflip-btn:hover { color: var(--gold); }

/* ─── MOBILE: card bottom row layout ─── */
@media (max-width: 680px) {
  .company-card {
    height: auto;
    border: none !important;
    outline: 1px solid rgba(201,168,76,0.15);
  }
  .card-inner { position: relative; height: 100%; }

  .card-front {
    position: relative !important;
    padding: 1.5rem 1.5rem 0 !important;
    height: auto !important;
    border: none !important;
  }

  .card-back {
    position: absolute !important;
    inset: 0;
    height: 100% !important;
    border: none !important;
  }

  .company-name { font-size: 1.25rem; }
  .company-desc { font-size: 0.83rem; }

  /* Bottom bar — both buttons perfectly aligned */
  .card-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 0 0.9rem;
    margin-top: 0.8rem;
    border-top: 1px solid rgba(255,255,255,0.05);
  }

  /* Saiba mais: strip the fill animation on mobile, plain border */
  .card-saiba-mais {
    position: static !important;
    margin-top: 0 !important;
    padding: 0.38rem 0.85rem !important;
    font-size: 0.68rem !important;
    line-height: 1 !important;
    height: 28px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  .card-saiba-mais::before { display: none !important; }

  /* Flip button: same height as saiba mais */
  .card-flip-btn {
    position: static !important;
    font-size: 0.62rem !important;
    padding: 0 !important;
    line-height: 1 !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Gap between cards */
  .companies-grid { gap: 10px !important; background: transparent !important; }
}

/* ─── TYPES + BENEFITS ─── */
.types { background: var(--black); }
.types-inner { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.1fr; gap: 9rem; align-items: start; position: relative; z-index: 1; }
.types-list { margin-top: 3rem; }
.type-item { display: grid; grid-template-columns: 3rem 1fr; gap: 1.5rem; padding: 2rem 0; border-bottom: 1px solid rgba(255,255,255,0.04); transition: border-color 0.3s; }
.type-item:hover { border-bottom-color: rgba(201,168,76,0.2); }
.type-index { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; font-weight: 300; color: rgba(201,168,76,0.35); padding-top: 0.1rem; transition: color 0.3s; }
.type-item:hover .type-index { color: var(--gold); }
.type-title { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 600; color: var(--white); margin-bottom: 0.5rem; transition: color 0.3s; }
.type-item:hover .type-title { color: var(--gold); }
.type-text { font-size: 0.9rem; color: var(--gray); line-height: 1.75; }
.benefits-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(201,168,76,0.05); margin-top: 2.5rem; }
.benefit { background: var(--dark-card); padding: 1.8rem 1.5rem; transition: background 0.3s; }
.benefit:hover { background: #171717; }
.benefit-icon { font-size: 1.4rem; margin-bottom: 0.8rem; }
.benefit-title { font-family: 'Barlow Condensed', sans-serif; font-size: 0.78rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.5rem; }
.benefit-text { font-size: 0.85rem; color: var(--gray); line-height: 1.65; }

/* ─── QUOTE BANNER — WORLD MAP ─── */
.quote-banner {
  position: relative; overflow: hidden;
  padding: 8rem 5vw;
  background: #050505;
}

/* World map SVG background */
.quote-world-map {
  position: absolute;
  inset: 0;
  opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600'%3E%3Cstyle%3Epath%7Bfill:%23C9A84C%7D%3C/style%3E%3Cpath d='M120,120 L140,100 L160,105 L170,90 L185,95 L195,80 L210,85 L225,75 L240,80 L250,70 L265,78 L275,65 L290,72 L300,60 L320,68 L330,55 L345,62 L350,50 L365,58 L370,45 L385,52 L390,40 L405,48 L415,55 L420,42 L435,50 L445,38 L460,46 L465,35 L480,43 L490,52 L495,40 L510,48 L515,37 L530,45 L540,55 L545,43 L560,51 L565,40 L580,48 L590,38 L605,46 L610,35 L625,43 L635,53 L640,42 L655,50 L660,39 L675,47 L685,57 L690,46 L705,54 L710,43 L725,51 L730,40 L745,48 L755,38 L760,28 L775,36 L785,26 L800,34 L810,44 L815,33 L830,41 L840,51 L845,40 L860,48 L865,37 L880,45 L890,55 L895,44 L910,52 L920,62 L925,50 L940,58 L945,68 L950,57 L965,65 L975,75 L980,64 L995,72 L1000,82 L1005,71 L1020,79 L1030,89 L1035,78 L1050,86 L1060,96 L1065,85 L1080,93 L1090,103 L1095,92 L1110,100 L1120,110 L1125,99 L1140,107 L1150,117 L1155,130 L1150,140 L1140,135 L1130,145 L1120,140 L1110,150 L1100,145 L1090,155 L1080,150 L1070,160 L1060,155 L1050,165 L1040,160 L1030,170 L1020,165 L1010,175 L1000,170 L990,180 L980,175 L970,185 L960,180 L950,190 L940,185 L930,195 L920,200 L910,190 L900,200 L890,210 L880,205 L870,215 L860,220 L850,210 L840,220 L830,230 L820,225 L810,235 L800,240 L790,230 L780,240 L770,250 L760,245 L750,255 L740,260 L730,250 L720,260 L710,270 L700,265 L690,275 L680,280 L670,270 L660,280 L650,290 L640,285 L630,295 L620,300 L610,290 L600,300 L590,310 L580,305 L570,315 L560,320 L550,310 L540,320 L530,330 L520,325 L510,335 L500,340 L490,330 L480,340 L470,350 L460,345 L450,355 L440,360 L430,350 L420,360 L410,370 L400,365 L390,375 L380,380 L370,370 L360,380 L350,390 L340,385 L330,395 L320,400 L310,390 L300,400 L290,410 L280,415 L270,405 L260,415 L250,420 L240,410 L230,415 L225,425 L215,430 L205,420 L195,430 L185,440 L175,435 L165,445 L160,455 L155,445 L145,455 L140,465 L130,460 L120,470 L115,460 L108,470 L100,480 L95,470 L88,480 L80,490 L75,480 L70,470 L75,460 L80,450 L85,440 L80,430 L75,420 L80,410 L85,400 L80,390 L75,380 L80,370 L85,360 L80,350 L75,340 L80,330 L85,320 L80,310 L75,300 L80,290 L85,280 L80,270 L75,260 L80,250 L85,240 L80,230 L75,220 L80,210 L85,200 L90,190 L85,180 L90,170 L95,160 L100,150 L105,140 L110,130 L115,120 L120,120 Z'/%3E%3Cpath d='M450,200 L460,195 L470,188 L480,182 L490,178 L500,172 L510,168 L520,162 L530,158 L540,154 L550,148 L560,152 L570,158 L580,162 L590,168 L600,172 L610,178 L620,182 L630,188 L640,192 L650,198 L655,208 L648,215 L638,220 L628,225 L618,230 L608,235 L598,240 L588,245 L578,248 L568,252 L558,256 L548,252 L538,248 L528,244 L518,240 L508,236 L498,232 L488,228 L478,224 L468,220 L458,216 L448,212 L445,205 L450,200 Z'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
}

/* Pulsing dots on map (simulated cities) */
/* map dots removed */

/* Crimson gradient overlay on quote */
.quote-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(60,0,0,0.92) 0%, rgba(139,0,0,0.85) 45%, rgba(50,0,0,0.92) 100%);
}

/* Grid texture */
.quote-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(201,168,76,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(201,168,76,0.05) 1px, transparent 1px);
  background-size: 60px 60px;
}

.quote-bg-text {
  position: absolute; right: -2vw; top: 50%; transform: translateY(-50%);
  font-family: 'Cormorant Garamond', serif; font-size: clamp(8rem,20vw,18rem); font-weight: 700;
  color: rgba(255,255,255,0.04); pointer-events: none; user-select: none; line-height: 1;
  z-index: 2;
}

.quote-inner { position: relative; z-index: 3; max-width: 900px; margin: 0 auto; text-align: center; }

.quote-mark { display: none !important; }

/* ─── WHATSAPP FAB ─── */
.whatsapp-fab {
  position: fixed;
  bottom: 2rem; right: 2rem;
  width: 56px; height: 56px;
  background: #25D366;
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,0.4);
  z-index: 9000;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  text-decoration: none;
  opacity: 1;
}
.whatsapp-fab:hover {
  transform: scale(1.1) translateY(-3px);
  box-shadow: 0 8px 30px rgba(37,211,102,0.5);
  background: #1ebe5d;
}

/* ─── HOW INTRO ─── */
.how-intro {
  font-size: 1rem;
  color: var(--gray-mid);
  max-width: 700px;
  line-height: 1.85;
  margin-top: 1rem;
}

/* ─── OBJECTIVES STRIP ─── */
.objectives-strip {
  margin-top: 4rem;
  background: var(--dark-card);
  border: 1px solid rgba(201,168,76,0.1);
  padding: 2.5rem 3rem;
}

.obj-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--gold);
  margin-bottom: 1.5rem;
  letter-spacing: 0.05em;
}

.objectives-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.obj-item {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  font-size: 0.9rem;
  color: var(--gray-light);
  line-height: 1.6;
}

.obj-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }

/* ─── EXAMPLE SECTION ─── */
.example { background: var(--dark); }

.example-inner {
  max-width: 1300px;
  margin: 0 auto;
  position: relative; z-index: 1;
}

.example-header { margin-bottom: 4rem; }

.example-intro {
  font-size: 1rem;
  color: var(--gray-mid);
  max-width: 680px;
  line-height: 1.85;
  margin-top: 1rem;
}

/* Diagram */
.example-diagram {
  margin-bottom: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.holding-box {
  background: linear-gradient(135deg, var(--crimson), #5a0000);
  border: 1px solid rgba(201,168,76,0.3);
  padding: 1.4rem 3rem;
  text-align: center;
  position: relative;
  min-width: 280px;
}

.holding-label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.2em;
}

.holding-sublabel {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-top: 4px;
}

.diagram-arrows {
  display: flex;
  justify-content: center;
  gap: 8rem;
  height: 50px;
  align-items: flex-end;
  position: relative;
  width: 100%;
  max-width: 700px;
}

.arrow-line {
  width: 1px;
  height: 50px;
  background: linear-gradient(to bottom, var(--gold), rgba(201,168,76,0.2));
  position: relative;
}

.arrow-line::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid rgba(201,168,76,0.5);
}

.companies-boxes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(201,168,76,0.08);
  width: 100%;
  max-width: 700px;
}

.co-box {
  background: var(--dark-card);
  padding: 1.8rem 1.5rem;
  text-align: center;
  transition: background 0.3s;
}

.co-box:hover { background: #1a1a1a; }

.co-icon { font-size: 2rem; margin-bottom: 0.8rem; }

.co-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 0.4rem;
}

.co-desc {
  font-size: 0.78rem;
  color: var(--gray);
  line-height: 1.5;
}

/* Example Benefits */
.example-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(201,168,76,0.06);
}

.ex-benefit {
  background: var(--black);
  padding: 2.5rem 2rem;
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  transition: background 0.3s;
}

.ex-benefit:hover { background: rgba(201,168,76,0.02); }

.ex-benefit-number {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.5rem;
  font-weight: 300;
  color: rgba(201,168,76,0.2);
  line-height: 1;
  flex-shrink: 0;
  transition: color 0.3s;
}

.ex-benefit:hover .ex-benefit-number { color: rgba(201,168,76,0.4); }

.ex-benefit h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 0.6rem;
}

.ex-benefit p {
  font-size: 0.88rem;
  color: var(--gray);
  line-height: 1.75;
}

.quote-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.6rem,3.5vw,2.5rem); font-weight: 300; font-style: italic;
  color: rgba(245,240,232,0.92); line-height: 1.5; margin-bottom: 3rem;
}
.quote-text strong { color: var(--gold-light); font-style: normal; font-weight: 600; }

.quote-author { display: flex; align-items: center; justify-content: center; }
.quote-line { display: none; }
.quote-name { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 600; color: var(--gold-light); }
.quote-role { font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-top: 0.2rem; }

/* ─── FOOTER — Classic design ─── */
footer {
  background: var(--black);
  border-top: 1px solid rgba(201,168,76,0.12);
  padding: 5rem 5vw 3rem;
}

.footer-inner { max-width: 1300px; margin: 0 auto; }

.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 4rem;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.footer-brand-name { font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 600; color: var(--gold); letter-spacing: 0.1em; margin-bottom: 0.2rem; }
.footer-brand-sub { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 0.35em; text-transform: uppercase; color: var(--gray); margin-bottom: 1.5rem; }
.footer-brand-desc { font-size: 0.88rem; color: var(--gray); line-height: 1.8; max-width: 280px; }

.footer-col-title { font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.35em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.5rem; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 0.8rem; }
.footer-col ul li a { color: var(--gray); text-decoration: none; font-size: 0.9rem; transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--white); }

.footer-bottom {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem;
}
.footer-copy { font-size: 0.8rem; color: var(--gray); }
.footer-legal { display: flex; gap: 1.5rem; }
.footer-legal a { font-size: 0.8rem; color: var(--gray); text-decoration: none; transition: color 0.2s; }
.footer-legal a:hover { color: var(--gold); }
.footer-back { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: var(--gold); text-decoration: none; transition: opacity 0.2s; }
.footer-back:hover { opacity: 0.7; }

/* ─── CONTACT ─── */
.contact-hero { min-height: 42vh; display: flex; align-items: flex-end; padding: 0 5vw 5rem; position: relative; overflow: hidden; }
.contact-hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 25% 60%, rgba(139,0,0,0.18) 0%, transparent 65%), linear-gradient(165deg, #080808 0%, #100808 100%); }
.contact-hero-content { position: relative; z-index: 2; max-width: 1300px; width: 100%; margin: 0 auto; padding-top: 100px; }
.contact-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(3rem,8vw,6rem); font-weight: 300; line-height: 0.95; color: var(--white); }
.contact-title em { font-style: italic; color: var(--gold); }

.contact-body { background: var(--dark); }
.contact-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 7rem; max-width: 1300px; margin: 0 auto; padding: 6rem 5vw; }

.contact-info-block { margin-bottom: 2.5rem; }
.contact-info-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.65rem; letter-spacing: 0.35em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.5rem; }
.contact-info-value { font-size: 1rem; color: var(--white); }
.contact-info-value a { color: var(--white); text-decoration: none; transition: color 0.2s; }
.contact-info-value a:hover { color: var(--gold); }
.contact-info-note { font-size: 0.88rem; color: var(--gray); line-height: 1.75; margin-top: 0.4rem; }

.whatsapp-btn { display: inline-flex; align-items: center; gap: 0.8rem; background: #25D366; color: #fff; padding: 0.9rem 1.8rem; text-decoration: none; font-family: 'Barlow Condensed', sans-serif; font-size: 0.88rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; margin-top: 1rem; transition: all 0.3s ease; }
.whatsapp-btn:hover { background: #1ebe5d; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(37,211,102,0.25); }

/* ─── FORM ─── */
.form-section-title { font-family: 'Cormorant Garamond', serif; font-size: 1rem; font-weight: 600; color: var(--gold); letter-spacing: 0.1em; text-transform: uppercase; margin: 2rem 0 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(201,168,76,0.15); }
.form-section-title:first-child { margin-top: 0; }

.form-group { margin-bottom: 1.4rem; }
.form-label { display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 0.68rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gray); margin-bottom: 0.6rem; }
.form-input { width: 100%; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); color: var(--white); padding: 0.9rem 1.1rem; font-family: 'Barlow', sans-serif; font-size: 0.95rem; font-weight: 300; outline: none; transition: border-color 0.25s, background 0.25s; -webkit-appearance: none; }
.form-input:focus { border-color: var(--gold); background: rgba(201,168,76,0.03); }
.form-input::placeholder { color: var(--gray); }
.form-select { cursor: pointer; }
.form-select option { background: var(--dark); }
.form-textarea { height: 110px; resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-note { font-size: 0.78rem; color: var(--gray); margin-top: 1rem; line-height: 1.6; }
.form-note a { color: var(--gold); text-decoration: none; }

/* ─── LEGAL ─── */
.legal-page { background: var(--dark); min-height: 100vh; }
.legal-content { max-width: 820px; margin: 0 auto; padding: 8rem 5vw 6rem; }
.legal-back { display: inline-block; font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray); text-decoration: none; margin-bottom: 3rem; transition: color 0.2s; }
.legal-back:hover { color: var(--gold); }
.legal-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5rem,6vw,4rem); font-weight: 300; color: var(--white); margin-bottom: 0.5rem; }
.legal-date { font-size: 0.85rem; color: var(--gray); margin-bottom: 3.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid rgba(255,255,255,0.06); }
.legal-content h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 600; color: var(--gold); margin: 3rem 0 1rem; }
.legal-content p { font-size: 0.95rem; color: var(--gray-mid); line-height: 1.9; margin-bottom: 1rem; }
.legal-content ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.legal-content li { font-size: 0.95rem; color: var(--gray-mid); line-height: 1.85; margin-bottom: 0.4rem; }
.legal-content a { color: var(--gold); text-decoration: none; }

/* ─── MISSÃO VISÃO VALORES ─── */
.mvv { background: var(--dark); }
.mvv-inner { max-width: 1300px; margin: 0 auto; position: relative; z-index: 1; }
.mvv-header { margin-bottom: 4rem; }
.mvv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5px; background: rgba(201,168,76,0.06); }
.mvv-card {
  background: var(--dark-card); padding: 3rem 2.5rem;
  position: relative; transition: background 0.3s;
}
.mvv-card:hover { background: #181818; }
.mvv-icon { font-size: 2.2rem; margin-bottom: 1.2rem; }
.mvv-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.8rem;
  font-weight: 600; color: var(--white); margin-bottom: 1rem;
}
.mvv-divider {
  width: 40px; height: 2px;
  background: linear-gradient(90deg, var(--gold), transparent);
  margin-bottom: 1.5rem;
}
.mvv-text { font-size: 0.95rem; color: var(--gray-mid); line-height: 1.85; }
.mvv-list { list-style: none; display: flex; flex-direction: column; gap: 0.75rem; }
.mvv-list li { font-size: 0.92rem; color: var(--gray-mid); display: flex; align-items: center; gap: 0.75rem; }
.mvv-bullet { color: var(--gold); font-size: 0.5rem; flex-shrink: 0; }

/* ─── GOVERNANÇA ─── */
.governance { background: var(--black); }
.governance-inner { max-width: 1300px; margin: 0 auto; position: relative; z-index: 1; }
.governance-header { margin-bottom: 4rem; }
.governance-intro { font-size: 1rem; color: var(--gray-mid); max-width: 680px; line-height: 1.85; margin-top: 1rem; }
.governance-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5px; background: rgba(201,168,76,0.05); }
.governance-card {
  background: var(--dark-card); padding: 2.8rem;
  position: relative; transition: background 0.3s;
}
.governance-card:hover { background: #181818; }
.gov-number {
  font-family: 'Cormorant Garamond', serif; font-size: 3.5rem;
  font-weight: 300; color: rgba(201,168,76,0.1); line-height: 1;
  margin-bottom: 0.5rem; transition: color 0.3s;
}
.governance-card:hover .gov-number { color: rgba(201,168,76,0.2); }
.gov-icon { font-size: 1.6rem; margin-bottom: 1rem; }
.gov-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.4rem;
  font-weight: 600; color: var(--white); margin-bottom: 0.8rem;
}
.gov-text { font-size: 0.9rem; color: var(--gray); line-height: 1.8; }

/* ─── DIFERENCIAIS ─── */
.diferenciais { background: var(--dark); }
.diferenciais-inner { max-width: 1300px; margin: 0 auto; position: relative; z-index: 1; }
.diferenciais-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: rgba(201,168,76,0.05); margin-top: 4rem;
}
.diferencial-item {
  background: var(--dark-card); padding: 2.5rem;
  display: flex; gap: 1.5rem; align-items: flex-start;
  transition: background 0.3s; position: relative; overflow: hidden;
}
.diferencial-item::before {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform: scaleX(0); transition: transform 0.4s;
}
.diferencial-item:hover { background: #181818; }
.diferencial-item:hover::before { transform: scaleX(1); }
.dif-icon { font-size: 1.8rem; flex-shrink: 0; margin-top: 0.15rem; }
.dif-content h4 {
  font-family: 'Cormorant Garamond', serif; font-size: 1.2rem;
  font-weight: 600; color: var(--white); margin-bottom: 0.6rem;
}
.dif-content p { font-size: 0.88rem; color: var(--gray); line-height: 1.75; }

/* ─── PROCESSO ─── */
.processo { background: var(--black); }
.processo-inner { max-width: 1300px; margin: 0 auto; position: relative; z-index: 1; }
.processo-header { margin-bottom: 4rem; }
.processo-intro { font-size: 1rem; color: var(--gray-mid); max-width: 600px; line-height: 1.85; margin-top: 1rem; }
.processo-steps {
  display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 1rem; align-items: center; margin-bottom: 4rem;
}
.pstep {
  background: var(--dark-card); border: 1px solid rgba(201,168,76,0.08);
  padding: 2.5rem 2rem; position: relative; transition: border-color 0.3s;
}
.pstep:hover { border-color: rgba(201,168,76,0.3); }
.pstep-number {
  font-family: 'Cormorant Garamond', serif; font-size: 3rem;
  font-weight: 300; color: rgba(201,168,76,0.2); line-height: 1; margin-bottom: 0.8rem;
}
.pstep-arrow {
  font-size: 1.5rem; color: rgba(201,168,76,0.3);
  text-align: center; flex-shrink: 0;
}
.pstep-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.2rem;
  font-weight: 600; color: var(--white); margin-bottom: 0.6rem;
}
.pstep-text { font-size: 0.87rem; color: var(--gray); line-height: 1.75; }
.processo-cta { text-align: center; }

/* ─── FAQ ─── */
.faq { background: var(--dark); }
.faq-inner { max-width: 900px; margin: 0 auto; position: relative; z-index: 1; }
.faq-header { margin-bottom: 4rem; }
.faq-list { display: flex; flex-direction: column; gap: 1px; }
.faq-item {
  background: var(--dark-card); border: 1px solid rgba(201,168,76,0.06);
  transition: border-color 0.3s;
}
.faq-item.open { border-color: rgba(201,168,76,0.2); }
.faq-question {
  width: 100%; background: none; border: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.8rem 2rem; gap: 1rem;
  font-family: 'Cormorant Garamond', serif; font-size: 1.15rem;
  font-weight: 600; color: var(--white); text-align: left;
  transition: color 0.2s;
}
.faq-question:hover { color: var(--gold); }
.faq-item.open .faq-question { color: var(--gold); }
.faq-arrow {
  font-size: 1.4rem; color: var(--gold); flex-shrink: 0;
  transition: transform 0.35s ease; font-weight: 300;
  font-family: 'Barlow', sans-serif;
}
.faq-item.open .faq-arrow { transform: rotate(45deg); }
.faq-answer {
  max-height: 0; overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  padding: 0 2rem;
}
.faq-item.open .faq-answer { max-height: 300px; padding-bottom: 1.8rem; }
.faq-answer p { font-size: 0.93rem; color: var(--gray-mid); line-height: 1.9; }

/* ─── REVEAL ─── */
.reveal { opacity: 0; transform: translateY(35px); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ─── TABLET LARGE (≤1200px) ─── */
@media (max-width: 1200px) {
  .about-inner { grid-template-columns: 1fr; gap: 4rem; }
  .types-inner { grid-template-columns: 1fr; gap: 4rem; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .exemplo-inner { padding: 0 2vw; }
  .processo-steps { grid-template-columns: 1fr; gap: 1rem; }
  .pstep-arrow { transform: rotate(90deg); text-align: center; }
}

/* ─── TABLET (≤900px) ─── */
@media (max-width: 900px) {
  section { padding: 6rem 5vw; }
  .companies-grid { grid-template-columns: 1fr 1fr; }
  .pillars { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
  .example-benefits { grid-template-columns: 1fr; }
  .objectives-list { grid-template-columns: 1fr 1fr; }
  .companies-boxes { grid-template-columns: 1fr; gap: 1rem; }
  .diagram-arrows { display: none; }
  .holding-box { margin-bottom: 1.5rem; }
  .hero-title { font-size: clamp(3.5rem, 8vw, 7rem); }
  .contact-grid { padding: 4rem 5vw; }
  .quote-text { font-size: clamp(1.4rem, 3vw, 2rem); }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .mvv-grid { grid-template-columns: 1fr; }
  .governance-grid { grid-template-columns: 1fr; }
  .diferenciais-grid { grid-template-columns: 1fr 1fr; }
  .processo-steps { grid-template-columns: 1fr; }
  .pstep-arrow { display: none; }
}

/* ─── MOBILE (≤680px) ─── */
@media (max-width: 680px) {
  /* ─── MOBILE: hamburger ─── */
  .hamburger { display: flex; }

  /* Nav always dark on mobile */
  nav {
    background: rgba(8,8,8,0.97) !important;
    border-bottom-color: rgba(201,168,76,0.1) !important;
  }

  /* ─── Botão X para fechar o drawer ─── */
  .drawer-close-btn {
    display: none;
    position: fixed;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    z-index: 100000;
    color: rgba(201,168,76,0.75);
    font-size: 1.35rem;
    line-height: 38px;
    text-align: center;
    cursor: pointer;
    border: 1px solid rgba(201,168,76,0.3);
    border-radius: 2px;
    background: #111;
    user-select: none;
    transition: color 0.2s, border-color 0.2s;
  }
  .drawer-close-btn.visible { display: block; }
  .drawer-close-btn:active { color: var(--gold); border-color: var(--gold); }

  /* ─── MOBILE: nav-links vira drawer fixo ─── */
  .nav-links {
    position: fixed !important;
    top: 0 !important;
    right: -100vw !important;
    bottom: 0 !important;
    width: 270px !important;
    height: 100vh !important;
    background: #0d0d0d !important;
    border-left: 1px solid rgba(201,168,76,0.15) !important;
    padding: 70px 0 2rem 0 !important;
    margin: 0 !important;
    z-index: 99999 !important;
    transition: right 0.3s ease !important;
    overflow-y: auto !important;
    flex-direction: column !important;
    display: flex !important;
    gap: 0 !important;
    align-items: stretch !important;
    list-style: none !important;
  }

  /* Drawer aberto */
  .nav-links.open { right: 0 !important; }

  /* Botão X */
  .nav-close-btn {
    border-bottom: none !important;
    padding: 0 !important;
    text-align: right;
    position: sticky;
    top: 0;
    background: #0d0d0d;
    z-index: 1;
  }
  .nav-close-btn button {
    background: none;
    border: none;
    color: rgba(201,168,76,0.6);
    font-size: 1.3rem;
    padding: 1.1rem 1.5rem;
    cursor: pointer;
    width: 100%;
    text-align: right;
    display: block;
    line-height: 1;
    transition: color 0.2s;
  }
  .nav-close-btn button:hover,
  .nav-close-btn button:active { color: var(--gold); }

  /* Links */
  .nav-links li { border-bottom: 1px solid rgba(255,255,255,0.06); }
  .nav-links li:last-child { border-bottom: none; padding: 1.2rem 2rem 0; }

  .nav-links a {
    display: block !important;
    padding: 1.1rem 2rem !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: rgba(245,240,232,0.72) !important;
    text-decoration: none !important;
  }
  .nav-links a::after { display: none !important; }
  .nav-links .nav-active { color: var(--gold) !important; }

  .nav-links .nav-cta {
    display: block !important;
    text-align: center !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid rgba(201,168,76,0.45) !important;
    color: var(--gold) !important;
  }

  /* Hamburger → X */
  #mainNav.open .hamburger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  #mainNav.open .hamburger span:nth-child(2) { opacity: 0; }
  #mainNav.open .hamburger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  /* Overlay — covers only the LEFT part, not the drawer */
  .mob-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; bottom: 0;
    right: 270px;
    background: rgba(0,0,0,0.5);
    z-index: 99998;
    cursor: pointer;
  }
  .mob-overlay.show { display: block; }

  section { padding: 5rem 5vw; }
  .hero-title { font-size: clamp(3rem, 14vw, 5rem); }
  .hero-buttons { flex-direction: column; align-items: center; }
  .hero-eyebrow { flex-direction: column; gap: 0.5rem; font-size: 0.65rem; }
  .eyebrow-line { display: none; }
  .hero-desc { font-size: 0.95rem; }
  .about-stats { grid-template-columns: 1fr 1fr; }
  .stat-number { font-size: 2.5rem; }
  .companies-grid { grid-template-columns: 1fr; gap: 1.5px; }
  .company-card { height: auto; min-height: 280px; }
  .card-front, .card-back { padding: 1.8rem; }
  .pillars { grid-template-columns: 1fr; gap: 1px; }
  .pillar { padding: 2rem 1.5rem; }
  .benefits-grid { grid-template-columns: 1fr; }
  .types-inner { gap: 3rem; }
  .types-list { margin-top: 1.5rem; }
  .type-item { grid-template-columns: 2.5rem 1fr; gap: 1rem; }
  .objectives-list { grid-template-columns: 1fr; }
  .objectives-strip { padding: 2rem 1.5rem; }
  .companies-boxes { grid-template-columns: 1fr; }
  .diagram-arrows { display: none; }
  .example-benefits { grid-template-columns: 1fr; }
  .ex-benefit { padding: 1.5rem; }
  .example-diagram { padding: 2rem 1rem; }
  .holding-box { padding: 1.2rem 2rem; }
  .quote-banner { padding: 5rem 5vw; }
  .quote-text { font-size: clamp(1.3rem, 5vw, 1.8rem); }
  .quote-bg-text { font-size: clamp(5rem, 30vw, 10rem); opacity: 0.03; }
  .quote-author { flex-direction: column; gap: 0.5rem; }
  .footer-top { grid-template-columns: 1fr; gap: 2rem; }
  .footer-brand-desc { max-width: 100%; }
  .contact-hero { min-height: 35vh; padding: 0 5vw 3rem; }
  .contact-title { font-size: clamp(2.5rem, 10vw, 4rem); }
  .contact-grid { padding: 3rem 5vw; gap: 2.5rem; }
  .form-row { grid-template-columns: 1fr; }
  .form-section-title { font-size: 0.85rem; }
  .marquee-track { gap: 1.5rem; }
  .whatsapp-fab { bottom: 1.2rem; right: 1.2rem; width: 50px; height: 50px; }
  .whatsapp-fab svg { width: 22px; height: 22px; }
  .section-bg-number { font-size: clamp(6rem, 25vw, 12rem); top: 3rem; }
  .legal-content { padding: 6rem 5vw 4rem; }
  .legal-title { font-size: clamp(2rem, 8vw, 3rem); }
  /* New sections mobile */
  .mvv-grid { grid-template-columns: 1fr; gap: 1.5px; }
  .mvv-card { padding: 2rem 1.8rem; }
  .governance-grid { grid-template-columns: 1fr; gap: 1.5px; }
  .governance-card { padding: 2rem 1.8rem; }
  .diferenciais-grid { grid-template-columns: 1fr; }
  .diferencial-item { padding: 1.8rem 1.5rem; }
  .processo-steps { grid-template-columns: 1fr; gap: 1rem; }
  .pstep-arrow { display: none; }
  .pstep { padding: 1.8rem 1.5rem; }
  .faq-question { padding: 1.4rem 1.5rem; font-size: 1rem; }
  .faq-answer { padding: 0 1.5rem; }
  .faq-item.open .faq-answer { padding-bottom: 1.4rem; }
}

/* ─── MOBILE SMALL (≤400px) ─── */
@media (max-width: 400px) {
  .about-stats { grid-template-columns: 1fr; }
  .hero-title { font-size: clamp(2.8rem, 16vw, 4rem); }
  .footer-top { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .nav-logo-main { font-size: 1.1rem; }
  .stat-number { font-size: 2.2rem; }
  .btn-primary, .btn-outline { padding: 0.85rem 1.5rem; font-size: 0.82rem; }
}

/* ─── PAGE HERO (holding.html) ─── */
.page-hero {
  min-height: 45vh;
  display: flex; align-items: flex-end;
  padding: 0 5vw 5rem;
  position: relative; overflow: hidden;
  padding-top: 70px;
}
.page-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 25% 60%, rgba(139,0,0,0.18) 0%, transparent 65%),
    linear-gradient(165deg, #080808 0%, #100808 100%);
}
.page-hero-content {
  position: relative; z-index: 2;
  max-width: 1300px; width: 100%; margin: 0 auto;
  padding-top: 3rem;
}
.page-hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 300; line-height: 0.95; color: var(--white);
  margin: 0.8rem 0 1.2rem;
}
.page-hero-title em { font-style: italic; color: var(--gold); }
.page-hero-sub { font-size: 1rem; color: var(--gray-mid); max-width: 520px; line-height: 1.75; }

/* ─── PORTFOLIO CTA ─── */
.portfolio-cta {
  max-width: 1300px; margin: 3rem auto 0;
  padding: 2.5rem 3rem;
  background: var(--dark-card);
  border: 1px solid rgba(201,168,76,0.1);
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; flex-wrap: wrap;
}
.portfolio-cta p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; color: var(--gray-light);
  font-style: italic;
}

/* ─── NAV ACTIVE ─── */
/* ─── Drawer close button — hidden on desktop ─── */
.drawer-close-btn { display: none; }
.nav-links .nav-active { color: var(--gold) !important; }
.nav-links .nav-active::after { width: 100% !important; }

/* ─── Hide mobile-only elements on desktop ─── */
.nav-close-btn { display: none; }
.mob-overlay { display: none; }

/* ─── CARD SAIBA MAIS BUTTON — Enhanced ─── */
.card-saiba-mais {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.72rem; letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold); text-decoration: none;
  padding: 0.45rem 1rem;
  border: 1px solid rgba(201,168,76,0.3);
  position: relative; overflow: hidden;
  transition: color 0.3s, border-color 0.3s;
}
.card-saiba-mais::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--gold);
  transform: translateX(-101%);
  transition: transform 0.3s ease;
  z-index: 0;
}
.card-saiba-mais span, .card-saiba-mais { z-index: 1; position: relative; }
.card-saiba-mais:hover { color: var(--black); border-color: var(--gold); }
.card-saiba-mais:hover::before { transform: translateX(0); }

/* ════════════════════════════════════
   GRUPO MAP — Pirâmide visual das empresas
   ════════════════════════════════════ */
.grupo-map {
  background: #080808;
  padding: 5rem 5vw;
  position: relative;
  overflow: hidden;
}
.grupo-map::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(201,168,76,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,0.04) 1px, transparent 1px);
  background-size: 50px 50px;
}

.grupo-map-inner {
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

.grupo-map-header { text-align: center; margin-bottom: 2.5rem; }
.grupo-map-eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.62rem; letter-spacing: 0.28em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 1rem;
}
.grupo-map-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 6vw, 4rem); font-weight: 300;
  letter-spacing: 0.12em; color: var(--white); line-height: 1;
}
.grupo-map-title span { font-style: italic; color: var(--gold); }

.grupo-row {
  display: flex;
  justify-content: center;
  gap: 2rem;
  width: 100%;
  padding: 1.2rem 0;
}
.grupo-row-2 { gap: 4rem; }
.grupo-row-3 { gap: 2rem; }

.grupo-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  transition: transform 0.3s ease;
  width: 140px;
  flex-shrink: 0;
}
.grupo-node:hover { transform: translateY(-5px); }

.grupo-node-circle {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #2a2a2a, #111);
  border: 1px solid rgba(201,168,76,0.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  margin-bottom: 0.7rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  transition: border-color 0.3s, box-shadow 0.3s;
}
.grupo-node:hover .grupo-node-circle {
  border-color: var(--gold);
  box-shadow: 0 6px 24px rgba(201,168,76,0.2);
}

.grupo-node-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.68rem; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--white);
  line-height: 1.35; margin-bottom: 0.35rem;
}
.grupo-node-name span { color: var(--gray); }

.grupo-node-sector {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.58rem; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 0.35rem;
}

.grupo-node-desc {
  font-size: 0.72rem; color: var(--gray);
  line-height: 1.45; text-align: center;
}

.grupo-vline {
  width: 1px; height: 28px;
  background: linear-gradient(to bottom, rgba(201,168,76,0.35), rgba(201,168,76,0.08));
}

.grupo-divider-line {
  width: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.25), transparent);
  margin: 1.8rem 0;
}

.grupo-footer-phrase {
  margin-top: 2rem;
  text-align: center;
  padding: 1.5rem 2.5rem;
  border: 1px solid rgba(201,168,76,0.2);
  background: rgba(201,168,76,0.02);
  max-width: 520px;
  width: 100%;
}
.grupo-footer-icon {
  font-size: 1.1rem; color: var(--gold);
  margin-bottom: 0.5rem; opacity: 0.7;
}
.grupo-footer-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.6rem; letter-spacing: 0.3em;
  text-transform: uppercase; color: var(--gray);
  margin-bottom: 0.4rem;
}
.grupo-footer-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(0.95rem, 2vw, 1.2rem); font-weight: 600;
  color: var(--white); letter-spacing: 0.04em;
}

@media (max-width: 700px) {
  .grupo-row-2, .grupo-row-3 { flex-direction: column; align-items: center; gap: 1rem; }
  .grupo-node { width: 130px; }
  .grupo-node-circle { width: 60px; height: 60px; font-size: 1.4rem; }
  .grupo-footer-phrase { padding: 1.2rem; }
}

/* ─── Link color resets ─── */
a:visited { color: inherit; }
nav a, footer a, .nav-links a, .card-saiba-mais, .whatsapp-fab,
.btn-primary, .btn-outline, .emp-btn-wa, .emp-btn-back,
.emp-hero-btn, .grupo-node, .footer-col a, .footer-brand-col a {
  color: inherit;
}
a:visited.emp-btn-back, a:visited.emp-hero-btn { color: rgba(245,240,232,0.75) !important; }

/* ─── Nav back button (empresa pages) ─── */
.nav-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(245,240,232,0.75) !important;
  text-decoration: none !important;
  border: 1px solid rgba(245,240,232,0.25) !important;
  padding: 0.45rem 1.2rem !important;
  line-height: 1 !important;
  transition: all 0.2s !important;
}
.nav-back-btn:visited { color: rgba(245,240,232,0.75) !important; }
.nav-back-btn:hover { border-color: rgba(201,168,76,0.6) !important; color: rgba(201,168,76,0.9) !important; }
