/* =========================================================
   AVALIA PATRIMÔNIO v2 — Design Tokens
   Dark continuous canvas · glass surfaces · connected sections
   ========================================================= */
:root{
  --bg-0:          #06090B;
  --bg-1:          #0B1316;
  --panel:         rgba(244,247,246,.045);
  --panel-strong:  rgba(244,247,246,.075);
  --border:        rgba(244,247,246,.10);
  --border-strong: rgba(244,247,246,.18);

  --ink:           #F4F7F6;
  --muted:         rgba(244,247,246,.66);
  --muted-2:       rgba(244,247,246,.44);

  --petrol:        #2C4C50;
  --petrol-light:  #45787E;
  --petrol-glow:   #4E959E;
  --gold:          #C9A227;
  --gold-soft:     #E9C978;
  --gold-dim:      #9C7C24;

  --font-display: 'Space Grotesk', sans-serif;
  --font-body:    'Inter', sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  --radius: 18px;
  --radius-sm: 12px;
  --shadow-soft: 0 20px 50px -24px rgba(0,0,0,.6);
  --shadow-lift: 0 30px 70px -20px rgba(0,0,0,.7);
  --shadow-gold: 0 0 0 1px rgba(201,162,39,.35), 0 20px 60px -20px rgba(201,162,39,.25);
  --container: 1200px;
  --ease: cubic-bezier(.16,.84,.44,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  position:relative;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg-0);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 .5em;line-height:1.14;letter-spacing:-.015em;}
p{margin:0 0 1em;}
::selection{background:rgba(201,162,39,.35);color:#fff;}

.container{max-width:var(--container);margin:0 auto;padding:0 28px;position:relative;z-index:1;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  html{scroll-behavior:auto;}
}

/* ---------- Ambient background (persistent glow, ties sections together) ---------- */
.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.ambient-blob{position:absolute;border-radius:50%;filter:blur(120px);opacity:.5;}
.ambient-blob--teal{width:56vw;height:56vw;top:-18vw;left:-14vw;background:radial-gradient(circle, var(--petrol-glow), transparent 68%);}
.ambient-blob--gold{width:44vw;height:44vw;bottom:-16vw;right:-12vw;background:radial-gradient(circle, var(--gold-dim), transparent 68%);opacity:.32;}

/* subtle blueprint texture reused across sections for continuity */
.hero-blueprint{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(244,247,246,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244,247,246,.045) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(120% 100% at 50% 0%, rgba(0,0,0,.9), transparent 75%);
}

/* ---------- Top scroll progress ---------- */
.progress-bar{
  position:fixed;top:0;left:0;height:2.5px;width:0%;z-index:200;
  background:linear-gradient(90deg, var(--petrol-glow), var(--gold-soft));
  transition:width .08s linear;
}

/* ---------- Vertical connector rail ---------- */
.scroll-rail{
  position:fixed;left:30px;top:50%;transform:translateY(-50%);
  width:2px;height:44vh;z-index:60;
}
.scroll-rail-track{position:absolute;inset:0;background:var(--border);border-radius:2px;}
.scroll-rail-fill{
  position:absolute;top:0;left:0;width:100%;height:0%;
  background:linear-gradient(180deg, var(--gold-soft), var(--petrol-glow));
  border-radius:2px;
  box-shadow:0 0 14px rgba(233,201,120,.55);
  transition:height .12s linear;
}
@media (max-width: 1150px){.scroll-rail{display:none;}}

/* ---------- Reveal-on-scroll (replaces AOS) ---------- */
[data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
  transition-delay:var(--rd,0ms);
  will-change:opacity, transform;
}
[data-reveal="right"],[data-reveal-dir="right"]{transform:translateX(-28px);}
[data-reveal-dir="left"]{transform:translateX(28px);}
[data-reveal].is-visible,
[data-reveal-dir].is-visible{opacity:1;transform:translate(0,0);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  padding:1em 1.8em;
  border-radius:999px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:.95rem;
  border:1px solid transparent;
  cursor:pointer;
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s ease, color .3s ease, border-color .3s ease;
  white-space:nowrap;
}
.btn::before{
  content:"";position:absolute;z-index:-1;inset:-1px auto -1px -45%;width:28%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-20deg);opacity:0;transition:left .55s var(--ease),opacity .2s ease;
}
.btn:hover::before{left:120%;opacity:.75;}
.btn-gold{background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#181206;box-shadow:var(--shadow-soft);font-weight:700;}
.btn-gold:hover{box-shadow:var(--shadow-gold);transform:translateY(-3px);}
.btn-outline{border-color:var(--border-strong);color:var(--ink);background:var(--panel);backdrop-filter:blur(8px);}
.btn-outline:hover{background:var(--panel-strong);border-color:var(--gold-soft);transform:translateY(-3px);}
.btn-outline--light{border-color:rgba(255,255,255,.3);}
.btn-sm{padding:.65em 1.4em;font-size:.85rem;}
.btn-block{width:100%;justify-content:center;}
.icon-wa{width:18px;height:18px;fill:currentColor;}
.magnetic{will-change:transform;}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}
.site-header.is-scrolled{
  background:rgba(6,9,11,.72);
  border-bottom-color:rgba(244,247,246,.07);
  backdrop-filter:blur(20px) saturate(135%);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:82px;}
.brand{display:flex;align-items:center;}
.brand-logo{height:32px;width:auto;display:block;}
.main-nav{display:flex;align-items:center;gap:24px;font-size:.82rem;font-weight:500;color:var(--muted);}
.main-nav a{position:relative;padding:6px 0;transition:color .25s ease;}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--gold-soft);transition:width .25s ease;}
.main-nav a:hover,.main-nav a.is-active{color:var(--ink);}
.main-nav a:hover::after,.main-nav a.is-active::after{width:100%;}
.header-actions{display:flex;align-items:center;gap:16px;}

.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;border:none;background:none;cursor:pointer;}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;transition:transform .3s ease, opacity .3s ease;}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-active span:nth-child(2){opacity:0;}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width: 920px){
  .main-nav{
    position:fixed;top:82px;left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(6,9,11,.96);border-top:1px solid var(--border);
    max-height:0;overflow:hidden;
    transition:max-height .35s ease;
  }
  .main-nav.is-open{max-height:420px;}
  .main-nav a{width:100%;padding:16px 28px;border-bottom:1px solid var(--border);}
  .header-actions .btn-sm{display:none;}
  .nav-toggle{display:flex;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:center;
  padding-top:118px;padding-bottom:92px;
  overflow:hidden;
  isolation:isolate;
}
.hero::after{
  content:"";position:absolute;left:50%;right:0;bottom:-1px;height:1px;z-index:2;
  background:linear-gradient(90deg, transparent, rgba(233,201,120,.26), transparent);
}
.hero-vignette{
  position:absolute;inset:0;
  background:
    radial-gradient(62% 66% at 80% 42%, rgba(78,149,158,.12), transparent 72%),
    radial-gradient(44% 46% at 72% 34%, rgba(233,201,120,.10), transparent 70%),
    linear-gradient(90deg, rgba(6,9,11,.18), transparent 52%);
}
.hero-inner{
  position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr);
  gap:46px;align-items:center;
}
.hero-copy{position:relative;z-index:4;}
.hero-kicker{
  width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:9px;
  margin-bottom:19px;padding:7px 11px 7px 9px;border-radius:999px;
  border:1px solid rgba(233,201,120,.18);
  background:linear-gradient(100deg,rgba(233,201,120,.07),rgba(78,149,158,.045));
  color:rgba(244,247,246,.72);font-family:var(--font-mono);font-size:.68rem;
  text-transform:uppercase;letter-spacing:.105em;line-height:1.4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-kicker-dot{
  width:6px;height:6px;border-radius:50%;background:var(--gold-soft);
  box-shadow:0 0 0 4px rgba(233,201,120,.08),0 0 14px rgba(233,201,120,.45);
}
.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--gold-soft);margin-bottom:1em;display:flex;align-items:center;gap:.6em;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-soft);display:inline-block;}
.eyebrow-center{justify-content:center;}
.hero-title{
  font-size:clamp(2.55rem,4.65vw,4.25rem);font-weight:600;max-width:14.5ch;
  letter-spacing:-.035em;line-height:1.02;margin-bottom:.38em;
  background:linear-gradient(112deg,#fff 2%,#f4f7f6 36%,var(--gold-soft) 67%,#fff 98%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 10px 36px rgba(0,0,0,.18));
}
.typewriter{white-space:nowrap;}
.typewriter-cursor{
  display:inline-block;width:.045em;height:.83em;margin-left:.045em;
  background:var(--gold-soft);vertical-align:-.08em;
  box-shadow:0 0 14px rgba(233,201,120,.38);
  animation:cursor-blink .9s step-end infinite;
}
@keyframes cursor-blink{0%,100%{opacity:1;}50%{opacity:0;}}
.hero-subtitle{font-size:1.06rem;color:var(--muted);max-width:55ch;margin-bottom:1.85em;line-height:1.72;}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:2.15em;}
.hero-actions--center{justify-content:center;}
.hero-seal-wrap{position:relative;display:flex;justify-content:center;z-index:2;}
.hero-proof{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:700px;
  border-top:1px solid rgba(244,247,246,.09);
}
.hero-proof span{
  min-width:0;padding:14px 16px 0 0;color:var(--muted-2);font-size:.69rem;line-height:1.45;
}
.hero-proof span+span{padding-left:16px;border-left:1px solid rgba(244,247,246,.08);}
.hero-proof strong{display:block;margin-bottom:2px;color:rgba(244,247,246,.82);font-family:var(--font-mono);font-size:.67rem;font-weight:500;letter-spacing:.015em;}

/* ---------- Hero visual — interactive architectural model ---------- */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;z-index:2;min-height:570px;}
.hero-visual-glow{
  position:absolute;width:84%;height:82%;border-radius:50%;
  background:radial-gradient(circle at 50% 52%,rgba(78,149,158,.16),rgba(233,201,120,.09) 34%,transparent 70%);
  filter:blur(38px);opacity:.9;transform:translateY(2%);
}
.hero-building-stage{
  position:relative;width:min(520px,46vw);height:570px;display:flex;align-items:center;justify-content:center;
}
.hero-building-stage::before{
  content:"";position:absolute;inset:6% 4% 9%;border-radius:50%;
  border:1px solid rgba(244,247,246,.045);
  background:radial-gradient(circle at 50% 48%,rgba(244,247,246,.025),transparent 58%);
  mask-image:linear-gradient(180deg,transparent 2%,#000 24%,#000 78%,transparent);
}
.hero-building-orbit{
  position:absolute;left:50%;bottom:52px;width:74%;height:18%;transform:translateX(-50%);
  border:1px solid rgba(233,201,120,.16);border-radius:50%;
  box-shadow:0 0 45px rgba(78,149,158,.055),inset 0 0 35px rgba(233,201,120,.035);
  opacity:.72;
}
.hero-building-orbit::before,.hero-building-orbit::after{
  content:"";position:absolute;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;
  background:var(--gold-soft);box-shadow:0 0 12px rgba(233,201,120,.65);
}
.hero-building-orbit::before{left:8%;}.hero-building-orbit::after{right:8%;}
.hero-building-viewport{
  position:absolute;inset:0;z-index:2;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;
}
.hero-building-viewport.is-dragging{cursor:grabbing;}
.hero-building-viewport canvas{display:block;width:100%;height:100%;outline:none;}
.hero-building-viewport.no-webgl{
  background:radial-gradient(60% 60% at 50% 60%,rgba(233,201,120,.12),transparent 70%);
  border-radius:22px;
}
.building-interaction-hint{
  position:absolute;z-index:5;left:20px;bottom:18px;display:flex;align-items:center;gap:10px;
  padding:9px 12px;border:1px solid rgba(244,247,246,.09);border-radius:12px;
  background:rgba(7,13,15,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 14px 35px -22px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.035);
  color:var(--muted);pointer-events:none;
}
.building-interaction-hint svg{width:20px;height:20px;color:var(--gold-soft);flex:none;}
.building-interaction-hint span{display:flex;flex-direction:column;gap:1px;}
.building-interaction-hint strong{font-size:.68rem;font-family:var(--font-mono);font-weight:500;color:var(--ink);letter-spacing:.02em;}
.building-interaction-hint small{font-size:.63rem;color:var(--muted-2);white-space:nowrap;}
.building-data-chip{
  position:absolute;z-index:4;display:flex;flex-direction:column;gap:1px;padding:9px 11px;
  border:1px solid rgba(244,247,246,.075);border-radius:10px;
  background:rgba(6,12,14,.38);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.building-data-chip span{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);}
.building-data-chip strong{font-family:var(--font-display);font-size:.76rem;font-weight:500;color:rgba(244,247,246,.82);}
.building-data-chip--top{right:-4px;top:88px;}
.building-data-chip--bottom{right:12px;bottom:104px;}

.hero-scroll-cue{
  position:absolute;left:50%;bottom:28px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--muted-2);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
}
.hero-scroll-cue svg{width:14px;height:14px;animation:cue-bounce 1.8s ease-in-out infinite;}
@keyframes cue-bounce{0%,100%{transform:translateY(0);opacity:.5;}50%{transform:translateY(8px);opacity:1;}}

@media (max-width:1080px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:24px;}
  .hero-building-stage{width:min(470px,44vw);height:535px;}
  .building-data-chip--top{right:0;}
}
@media (max-width:920px){
  .hero{padding-top:112px;padding-bottom:94px;}
  .hero-inner{grid-template-columns:1fr;text-align:left;gap:12px;}
  .hero-copy{max-width:760px;}
  .hero-title{max-width:14ch;}
  .hero-visual{margin-top:6px;min-height:500px;}
  .hero-building-stage{width:min(540px,96vw);height:500px;}
  .building-data-chip--top{right:7%;top:82px;}
  .building-data-chip--bottom{right:8%;bottom:96px;}
}
@media (max-width:620px){
  .hero{padding-top:102px;padding-bottom:78px;}
  .hero-title{font-size:clamp(2.35rem,11vw,3.25rem);max-width:15ch;}
  .typewriter{white-space:normal;}
  .hero-subtitle{font-size:.98rem;line-height:1.66;}
  .hero-actions{gap:10px;margin-bottom:1.8em;}
  .hero-actions .btn{width:100%;justify-content:center;}
  .hero-proof{grid-template-columns:1fr;gap:0;}
  .hero-proof span{padding:11px 0;}
  .hero-proof span+span{padding-left:0;border-left:0;border-top:1px solid rgba(244,247,246,.07);}
  .hero-visual{min-height:450px;margin-top:0;}
  .hero-building-stage{width:calc(100vw - 30px);height:450px;}
  .building-interaction-hint{left:50%;bottom:8px;transform:translateX(-50%);}
  .building-data-chip{display:none;}
  .hero-building-orbit{bottom:45px;width:82%;}
  .hero-scroll-cue{display:none;}
}
@media (max-width:390px){
  .hero-kicker{font-size:.59rem;letter-spacing:.075em;}
  .hero-building-stage{height:420px;}
  .building-interaction-hint small{font-size:.59rem;}
}

/* ---------- Sections ---------- */
.section{padding:130px 0;position:relative;}
.section-alt{}
.section-dark{}
.title-light{}
.section-title{font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:600;max-width:20ch;}
.section-title-center{text-align:center;margin-left:auto;margin-right:auto;}
.lead-text{font-size:1.2rem;color:var(--ink);font-weight:500;}
.body-text{color:var(--muted);font-size:1.02rem;}

.grid-2{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;}
@media (max-width: 860px){.grid-2{grid-template-columns:1fr;gap:28px;}}

/* ---------- Glass surface base ---------- */
.glass{
  background:linear-gradient(145deg,rgba(244,247,246,.055),rgba(244,247,246,.025));
  border:1px solid var(--border);
  border-radius:var(--radius);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease);
}
.glass:hover{transform:translateY(-6px);border-color:var(--border-strong);background:var(--panel-strong);box-shadow:var(--shadow-lift);}

/* ---------- Credentials ---------- */
.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;}
.cred-card{padding:28px 24px;}
.cred-code{
  display:inline-block;font-family:var(--font-mono);font-weight:500;
  color:var(--gold-soft);background:rgba(233,201,120,.08);border:1px solid rgba(233,201,120,.2);
  border-radius:999px;padding:.35em 1em;font-size:.8rem;margin-bottom:14px;
}
.cred-card p{color:var(--muted);font-size:.94rem;margin:0;}

.marquee{margin-top:60px;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;-webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.marquee-track{display:flex;gap:18px;white-space:nowrap;width:max-content;animation:marquee-scroll 32s linear infinite;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.marquee-track .dot{color:var(--gold-soft);}
@keyframes marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@media (max-width:860px){.cred-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.cred-grid{grid-template-columns:1fr;}}

/* ---------- Diferenciais — bento grid ---------- */
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:20px;margin-top:56px;}
.diff-card{position:relative;padding:32px 28px;overflow:hidden;}
.diff-card--lg{grid-column:span 1.5;}
.diff-index{
  font-family:var(--font-mono);font-size:.78rem;color:var(--gold-dim);
  position:absolute;top:24px;right:26px;letter-spacing:.1em;
}
.diff-card h3{font-size:1.1rem;margin-bottom:.5em;padding-right:32px;}
.diff-card p{color:var(--muted);font-size:.93rem;margin:0;}
@media (max-width:980px){.diff-grid{grid-template-columns:repeat(2,1fr);}.diff-card--lg{grid-column:span 2;}}
@media (max-width:600px){.diff-grid{grid-template-columns:1fr;}.diff-card--lg{grid-column:span 1;}}

/* ---------- Serviços — mind map diagram ---------- */
.mindmap{position:relative;margin-top:70px;}

.mindmap-hub{
  width:132px;height:132px;border-radius:50%;margin:0 auto;position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;
  background:radial-gradient(circle at 32% 24%, rgba(233,201,120,.16), var(--panel) 72%);
}
.mindmap-hub-icon{width:34px;height:34px;object-fit:contain;margin-bottom:4px;}
.mindmap-hub-label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;color:var(--muted);line-height:1.4;text-transform:uppercase;}

.mindmap-trunk{width:2px;height:52px;background:var(--border-strong);margin:0 auto;}

.mindmap-branches{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-top:52px;}
.mindmap-branches::before{content:"";position:absolute;top:0;left:12.5%;right:12.5%;height:2px;background:var(--border-strong);}
.mindmap-branch{position:relative;}
.mindmap-branch::before{content:"";position:absolute;top:-52px;left:50%;width:2px;height:52px;background:var(--border-strong);}

.mindmap-branch-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:14px;}
.mindmap-branch-icon{
  width:38px;height:38px;border-radius:10px;flex:none;
  background:linear-gradient(135deg, var(--petrol), var(--petrol-light));
  display:flex;align-items:center;justify-content:center;color:var(--gold-soft);
  box-shadow:inset 0 0 0 1px rgba(233,201,120,.2);
}
.mindmap-branch-icon svg{width:18px;height:18px;}
.mindmap-branch-head h3{font-size:.94rem;margin:0;line-height:1.28;}

.mindmap-leaves{position:relative;padding-left:19px;margin-top:16px;}
.mindmap-leaves::before{content:"";position:absolute;left:0;top:0;bottom:14px;width:1px;background:var(--border);}
.mindmap-leaves li{position:relative;padding:8px 0 8px 17px;}
.mindmap-leaves li::before{content:"";position:absolute;left:0;top:50%;width:15px;height:1px;background:var(--border);}
.mindmap-leaves li::after{
  content:"";position:absolute;left:15px;top:50%;transform:translate(-50%,-50%);
  width:5px;height:5px;border-radius:50%;background:var(--muted-2);
  transition:background .25s ease, box-shadow .25s ease;
}
.mindmap-leaves a{font-size:.86rem;color:var(--muted);transition:color .25s ease;}
.mindmap-leaves li:hover a{color:var(--ink);}
.mindmap-leaves li:hover::after{background:var(--gold-soft);box-shadow:0 0 8px rgba(233,201,120,.7);}

@media (max-width:1080px){
  .mindmap-branches{grid-template-columns:repeat(2,1fr);row-gap:52px;}
  .mindmap-branches::before{left:25%;right:25%;}
}
@media (max-width:680px){
  .mindmap-branches{grid-template-columns:1fr;gap:36px;padding-top:36px;}
  .mindmap-branches::before,.mindmap-branch::before,.mindmap-trunk{display:none;}
  .mindmap-hub{margin-bottom:8px;}
}

/* ---------- Quando Contratar — icon bento mosaic ---------- */
.occasion-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,auto);
  gap:18px;margin-top:60px;grid-auto-flow:dense;
}
.occasion-card{
  position:relative;padding:26px 24px;display:flex;flex-direction:column;
}
.occasion-card--wide{grid-column:span 2;}
.occasion-card--tall{grid-row:span 2;}
.occasion-index{
  position:absolute;top:20px;right:22px;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--muted-2);
}
.occasion-icon{
  width:42px;height:42px;border-radius:11px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(233,201,120,.08);border:1px solid rgba(233,201,120,.22);color:var(--gold-soft);
}
.occasion-icon svg{width:20px;height:20px;}
.occasion-card:nth-child(even) .occasion-icon{
  background:rgba(30,122,140,.14);border-color:rgba(30,122,140,.32);color:#7FD4E3;
}
.occasion-card h4{font-family:var(--font-display);font-size:1.02rem;font-weight:600;margin:0 0 .4em;color:var(--ink);}
.occasion-card p{color:var(--muted);font-size:.88rem;margin:0;max-width:32ch;}
.occasion-card--tall p{max-width:none;}

@media (max-width:980px){
  .occasion-grid{grid-template-columns:repeat(2,1fr);}
  .occasion-card--wide{grid-column:span 2;}
  .occasion-card--tall{grid-row:span 1;}
}
@media (max-width:560px){
  .occasion-grid{grid-template-columns:1fr;}
  .occasion-card--wide{grid-column:span 1;}
}

/* ---------- Flow (Como Funciona) — vertical connected timeline ---------- */
.flow{position:relative;display:flex;flex-direction:column;gap:8px;margin-top:70px;max-width:720px;margin-left:auto;margin-right:auto;}
.flow-line{position:absolute;top:26px;bottom:26px;left:25px;width:2px;background:var(--border);}
.flow-line-fill{position:absolute;top:0;left:0;width:100%;height:0%;background:linear-gradient(180deg, var(--gold-soft), var(--petrol-glow));box-shadow:0 0 12px rgba(233,201,120,.4);transition:height .15s linear;}
.flow-step{display:flex;gap:26px;align-items:flex-start;padding:22px 0;position:relative;}
.flow-node{
  position:relative;z-index:2;flex:none;
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-0);border:1px solid var(--border-strong);
  font-family:var(--font-mono);font-size:.85rem;color:var(--muted-2);
  transition:border-color .4s ease, color .4s ease, box-shadow .4s ease, background .4s ease;
}
.flow-step.is-active .flow-node{border-color:var(--gold-soft);color:var(--gold-soft);background:rgba(233,201,120,.06);box-shadow:0 0 0 7px rgba(233,201,120,.09);}
.flow-content{padding-top:10px;}
.flow-content h4{font-size:1.05rem;margin-bottom:.35em;color:var(--muted);transition:color .4s ease;}
.flow-step.is-active .flow-content h4{color:var(--ink);}
.flow-content p{color:var(--muted-2);font-size:.9rem;margin:0;max-width:44ch;}

/* ---------- Para Quem Trabalhamos ---------- */
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.audience-card{padding:40px 32px;}
.audience-card--gold{
  background:linear-gradient(160deg, rgba(233,201,120,.12), var(--panel) 70%);
  border-color:rgba(233,201,120,.28);
  box-shadow:var(--shadow-lift);
  transform:translateY(-10px);
}
.audience-card h3{font-size:1.3rem;margin-bottom:.9em;}
.audience-card--gold h3{color:var(--gold-soft);}
.audience-card ul li{padding:9px 0;border-top:1px solid var(--border);font-size:.94rem;color:var(--muted);}
.audience-card ul li:first-child{border-top:none;}
@media (max-width:920px){.audience-grid{grid-template-columns:1fr;}.audience-card--gold{transform:none;}}

/* ---------- Conversão ---------- */
.conversion{position:relative;overflow:hidden;text-align:center;padding:150px 0;}
.conversion-inner{position:relative;z-index:2;max-width:780px;margin:0 auto;}
.conversion-title{font-size:clamp(1.9rem,3.8vw,2.8rem);font-weight:600;margin-bottom:.5em;}
.conversion-text{color:var(--muted);font-size:1.05rem;margin-bottom:1.8em;}

/* ---------- Formulário ---------- */
.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start;}
.contact-info{margin-top:24px;font-family:var(--font-mono);font-size:.9rem;color:var(--gold-soft);}
.contact-info p{margin:0 0 6px;}
.lead-form{padding:36px;}
.field{margin-bottom:20px;display:flex;flex-direction:column;gap:8px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px;}
.field-row .field{margin-bottom:0;}
label{font-size:.85rem;font-weight:600;color:var(--muted);}
input,select,textarea{
  font-family:var(--font-body);font-size:.96rem;
  padding:.85em 1em;border:1px solid var(--border);border-radius:10px;
  background:rgba(255,255,255,.03);color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input::placeholder,textarea::placeholder{color:var(--muted-2);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-soft);box-shadow:0 0 0 3px rgba(233,201,120,.14);background:rgba(255,255,255,.05);}
select option{background:var(--bg-1);color:var(--ink);}
textarea{resize:vertical;}
.form-note{margin-top:14px;font-size:.82rem;color:var(--muted-2);text-align:center;}
@media (max-width:860px){.form-layout{grid-template-columns:1fr;gap:32px;}.field-row{grid-template-columns:1fr;gap:20px;}}

/* ---------- Footer ---------- */
.site-footer{padding-top:70px;position:relative;}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--border);}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.footer-logo{height:30px;width:auto;display:block;}
.footer-cred{font-family:var(--font-mono);font-size:.78rem;color:var(--muted-2);margin:2px 0 0;}
.footer-col h5{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--gold-soft);margin:0 0 16px;}
.footer-col a{display:block;margin-bottom:10px;font-size:.9rem;color:var(--muted);transition:color .2s ease;}
.footer-col a:hover{color:var(--ink);}
.footer-bottom{padding:24px 28px 32px;font-size:.8rem;color:var(--muted-2);}
@media (max-width:860px){.footer-inner{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-inner{grid-template-columns:1fr;}}

/* ---------- Floating WhatsApp button ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px -8px rgba(0,0,0,.6);
  transition:transform .3s var(--ease);
}
.wa-float svg{width:28px;height:28px;fill:#fff;}
.wa-float:hover{transform:scale(1.08);}
