/* ================================================================
   DESIGN TOKENS — Guardez Engenharia
================================================================ */
:root {
  --bg:         #0d0f13;
  --bg-soft:    #111317;
  --card:       #181b22;
  --card-2:     #1e2230;
  --tertiary:   #222730;
  --teal:       #22c5d3;
  --teal-dark:  #1aabb8;
  --teal-glow:  rgba(34,197,211,.18);
  --teal-soft:  rgba(34,197,211,.10);
  --text:       #f2f2f2;
  --text-muted: #818a99;
  --text-dim:   #5a6373;
  --border:     #2d3240;
  --border-soft:#222731;
  --danger:     #f97171;
  --warn:       #f5b754;
  --ok:         #4ade80;
  --whatsapp:   #25d366;
  --radius:     .75rem;
  --radius-lg:  1.1rem;
  --shadow:     0 8px 32px rgba(0,0,0,.4);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer}
strong{color:var(--text);font-weight:600}
em{font-style:normal;color:var(--teal)}

/* ================================================================
   UTILITIES
================================================================ */
.container{width:min(1200px,92%);margin-inline:auto}
.container-narrow{width:min(900px,92%);margin-inline:auto}
.section{padding:96px 0;position:relative}
.section-alt{background:var(--bg-soft)}
.section-dark{background:#08090c}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  letter-spacing:.18em;font-size:.72rem;font-weight:700;
  color:var(--teal);text-transform:uppercase;margin-bottom:.85rem
}
.eyebrow::before{
  content:'';width:18px;height:2px;background:var(--teal);
  display:inline-block
}
.section-title{
  font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800;line-height:1.18;
  letter-spacing:-.01em;text-wrap:balance
}
.section-title span,.section-title .teal{color:var(--teal)}
.section-desc{
  font-size:1rem;color:var(--text-muted);max-width:620px;line-height:1.75;margin-top:1rem;text-wrap:pretty
}
.section-header{margin-bottom:3.5rem;max-width:760px}
.section-header.centered{text-align:center;margin-inline:auto}
.section-header.centered .section-desc{margin-inline:auto}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;justify-content:center;
  padding:.85rem 1.5rem;border-radius:.6rem;
  font-size:.92rem;font-weight:600;border:none;
  transition:all .2s ease;white-space:nowrap;
  font-family:inherit
}
.btn-primary{background:var(--whatsapp);color:#fff}
.btn-primary:hover{background:#1fb855;transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,211,102,.35)}
.btn-teal{background:var(--teal);color:#0a1014}
.btn-teal:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 6px 20px var(--teal-glow)}
.btn-outline{background:transparent;color:var(--text);border:1.5px solid var(--border)}
.btn-outline:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text-muted);border:none;padding:.5rem 0}
.btn-ghost:hover{color:var(--teal)}
.btn-lg{padding:1.05rem 1.85rem;font-size:1rem}
.btn-sm{padding:.55rem 1.1rem;font-size:.82rem}
.btn svg{width:18px;height:18px;flex-shrink:0}

/* ================================================================
   NAVBAR
================================================================ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:rgba(13,15,19,.88);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border-soft);padding:.85rem 0;
  transition:background .3s, padding .3s
}
.navbar.scrolled{padding:.65rem 0;background:rgba(13,15,19,.96)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:flex;align-items:center;gap:.7rem}
.logo-img{
  height:46px;width:auto;max-width:200px;object-fit:contain;display:block;
  filter:brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(150deg);
}
@media(max-width:768px){.logo-img{height:38px;max-width:160px}}

.nav-links{display:flex;align-items:center;gap:1.6rem}
.nav-links a{font-size:.88rem;color:var(--text-muted);transition:color .2s;font-weight:500}
.nav-links a:hover,.nav-links a.active{color:var(--teal)}
.nav-cta{margin-left:.5rem}

.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}
.hamburger span{display:block;width:23px;height:2px;background:var(--text);border-radius:2px;transition:.25s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.mobile-menu{
  display:none;position:fixed;top:64px;left:0;right:0;
  background:rgba(13,15,19,.98);border-bottom:1px solid var(--border);
  padding:1.25rem;flex-direction:column;gap:.4rem;z-index:899
}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:1rem;color:var(--text);padding:.7rem .5rem;border-bottom:1px solid var(--border-soft)}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu .btn{margin-top:.6rem}

/* ================================================================
   HERO
================================================================ */
.hero{
  min-height:100vh;display:flex;align-items:center;
  position:relative;overflow:hidden;padding:130px 0 60px
}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(34,197,211,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,197,211,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 80%);
}
.hero::after{
  content:'';position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);
  width:900px;height:900px;pointer-events:none;
  background:radial-gradient(circle,rgba(34,197,211,.10) 0%,transparent 60%)
}
.hero-grid{
  display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center;
  position:relative;z-index:1;width:100%
}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:3rem}}
.hero-content{max-width:680px}

.hero-badge{
  display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(34,197,211,.08);border:1px solid rgba(34,197,211,.28);
  border-radius:100px;padding:.4rem 1rem;margin-bottom:1.5rem;
  font-size:.74rem;color:var(--teal);font-weight:600;letter-spacing:.08em;text-transform:uppercase
}
.hero-badge::before{
  content:'';width:7px;height:7px;border-radius:50%;background:var(--teal);
  box-shadow:0 0 0 0 rgba(34,197,211,.6);animation:pulse 2.2s infinite
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,211,.6)}
  70%{box-shadow:0 0 0 10px rgba(34,197,211,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,211,0)}
}

.hero-title{
  font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:800;
  line-height:1.1;letter-spacing:-.02em;margin-bottom:1.3rem;text-wrap:balance
}
.hero-title .teal{color:var(--teal)}
.hero-title .dim{color:var(--text-muted);font-weight:600}
.hero-desc{
  max-width:560px;margin-bottom:2rem;font-size:1.05rem;
  color:var(--text-muted);line-height:1.7
}
.hero-desc strong{color:#cbd2dc;font-weight:500}
.hero-ctas{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.hero-microcopy{
  font-size:.78rem;color:var(--text-dim);line-height:1.5;
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap
}
.hero-microcopy span{display:inline-flex;align-items:center;gap:.35rem}
.hero-microcopy svg{width:13px;height:13px;color:var(--teal)}
.hero-microcopy .dot{width:3px;height:3px;border-radius:50%;background:var(--text-dim)}

/* Credential card (hero right) */
.hero-cred{
  background:linear-gradient(155deg,var(--card) 0%,#15171f 100%);
  border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:1.75rem;position:relative;overflow:hidden
}
.hero-cred::before{
  content:'';position:absolute;top:-50px;right:-50px;width:180px;height:180px;
  background:radial-gradient(circle,var(--teal-glow) 0%,transparent 70%);
  pointer-events:none
}
.hero-cred-top{
  display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem;
  padding-bottom:1.1rem;border-bottom:1px solid var(--border-soft)
}
.hero-cred-seal{
  width:48px;height:48px;border-radius:.5rem;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:#0a1014;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.66rem;letter-spacing:.05em;text-align:center;
  position:relative
}
.hero-cred-seal svg{width:24px;height:24px}
.hero-cred-title{font-size:.95rem;font-weight:700}
.hero-cred-sub{font-size:.74rem;color:var(--text-muted);margin-top:.15rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.hero-cred-list{display:flex;flex-direction:column;gap:.7rem;position:relative}
.hero-cred-item{display:flex;align-items:flex-start;gap:.65rem;font-size:.83rem;color:#cbd2dc;line-height:1.4}
.hero-cred-item svg{width:14px;height:14px;color:var(--teal);flex-shrink:0;margin-top:.2rem}

/* ================================================================
   NUMBERS STRIP
================================================================ */
.numbers-strip{
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%);
  border-block:1px solid var(--border-soft);padding:2.5rem 0;position:relative;z-index:2
}
.numbers-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center
}
@media(max-width:780px){.numbers-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1rem}}
.number-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;position:relative}
.number-item:not(:last-child)::after{
  content:'';position:absolute;right:-.75rem;top:10%;height:80%;width:1px;background:var(--border-soft)
}
@media(max-width:780px){.number-item::after{display:none}}
.number-value{
  font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;color:var(--teal);
  line-height:1;letter-spacing:-.02em;display:flex;align-items:baseline;gap:.15rem
}
.number-value sup{font-size:.55em;color:var(--teal);font-weight:700;line-height:1}
.number-label{font-size:.82rem;color:var(--text-muted);line-height:1.4;max-width:200px;text-wrap:balance}

/* ================================================================
   PAIN GRID
================================================================ */
.pain-intro{
  font-size:1.05rem;color:#cbd2dc;line-height:1.7;
  border-left:3px solid var(--teal);padding:.15rem 0 .15rem 1.25rem;margin-top:1.25rem
}
.pain-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem
}
@media(max-width:980px){.pain-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.pain-grid{grid-template-columns:1fr}}
.pain-card{
  background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:1.5rem;transition:border-color .25s, transform .25s, background .25s;
  display:flex;flex-direction:column;gap:.65rem;position:relative
}
.pain-card:hover{border-color:rgba(249,113,113,.35);transform:translateY(-3px);background:#1c1f28}
.pain-icon{
  width:38px;height:38px;border-radius:.5rem;
  background:rgba(249,113,113,.08);color:var(--danger);
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.pain-icon svg{width:18px;height:18px}
.pain-card h3{font-size:.97rem;font-weight:700;line-height:1.35}
.pain-card p{font-size:.85rem;color:var(--text-muted);line-height:1.6}

.pain-outro{
  margin-top:3rem;text-align:center;
  font-size:1rem;color:#cbd2dc;line-height:1.65;font-weight:500;
  max-width:680px;margin-inline:auto;text-wrap:balance
}
.pain-outro strong{color:var(--teal)}

/* ================================================================
   PROTOCOL — 5 STEPS
================================================================ */
.protocol-wrap{margin-top:3rem;position:relative}
.protocol-wrap::before{
  content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent 0%,var(--border) 8%,var(--border) 92%,transparent 100%);
  transform:translateX(-50%);pointer-events:none
}
@media(max-width:880px){.protocol-wrap::before{left:24px}}

.protocol-row{
  display:grid;grid-template-columns:1fr auto 1fr;gap:2.5rem;
  align-items:flex-start;position:relative;margin-bottom:2rem
}
.protocol-row:last-child{margin-bottom:0}
.protocol-row .protocol-card{
  background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:1.6rem 1.75rem;transition:border-color .25s
}
.protocol-row .protocol-card:hover{border-color:var(--teal)}
.protocol-row .protocol-card h3{font-size:1.08rem;font-weight:700;margin-bottom:.4rem;line-height:1.3}
.protocol-row .protocol-card p{font-size:.9rem;color:var(--text-muted);line-height:1.65}

.protocol-num{
  grid-column:2;
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#0a1014;
  font-weight:800;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  position:relative;z-index:2;flex-shrink:0;margin-top:.85rem;
  box-shadow:0 0 0 6px var(--bg-soft), 0 0 0 7px var(--border)
}
.section-alt .protocol-num{box-shadow:0 0 0 6px var(--bg-soft),0 0 0 7px var(--border)}
.protocol-row:nth-child(odd) .protocol-card{grid-column:1}
.protocol-row:nth-child(odd) .protocol-spacer{grid-column:3}
.protocol-row:nth-child(even) .protocol-card{grid-column:3;text-align:left}
.protocol-row:nth-child(even) .protocol-spacer{grid-column:1}

@media(max-width:880px){
  .protocol-row{grid-template-columns:48px 1fr;gap:1.25rem;align-items:flex-start}
  .protocol-row:nth-child(odd) .protocol-card,
  .protocol-row:nth-child(even) .protocol-card{grid-column:2;text-align:left}
  .protocol-row:nth-child(odd) .protocol-spacer,
  .protocol-row:nth-child(even) .protocol-spacer{display:none}
  .protocol-row .protocol-num{grid-column:1;grid-row:1;margin-top:.85rem}
}

.protocol-closing{
  background:linear-gradient(135deg,rgba(34,197,211,.06),rgba(34,197,211,.02));
  border:1px solid rgba(34,197,211,.2);border-radius:var(--radius);
  padding:1.5rem 1.75rem;margin-top:3rem;text-align:center;
  font-size:1rem;color:#cbd2dc;line-height:1.6
}
.protocol-closing strong{color:var(--teal)}

/* ================================================================
   BENEFITS
================================================================ */
.benefits-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem
}
@media(max-width:780px){.benefits-grid{grid-template-columns:1fr}}
.benefit-card{
  background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:1.5rem 1.6rem;display:flex;gap:1rem;align-items:flex-start;
  transition:border-color .25s,transform .25s
}
.benefit-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.benefit-check{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:var(--teal-soft);color:var(--teal);
  display:flex;align-items:center;justify-content:center;margin-top:.1rem
}
.benefit-check svg{width:16px;height:16px}
.benefit-card h3{font-size:1rem;font-weight:700;margin-bottom:.4rem;line-height:1.3}
.benefit-card p{font-size:.9rem;color:var(--text-muted);line-height:1.65}

/* ================================================================
   GALLERY / PORTFOLIO SLIDER (kept compact)
================================================================ */
.gallery-wrap{position:relative;margin-top:1rem}
.slider{
  position:relative;overflow:hidden;border-radius:var(--radius-lg);
  background:var(--card);border:1px solid var(--border)
}
.slides{display:flex;transition:transform .6s cubic-bezier(.77,0,.175,1);will-change:transform}
.slide{
  min-width:100%;position:relative;height:480px;
  display:flex;align-items:flex-end;overflow:hidden;flex-shrink:0
}
.slide-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.05);transition:transform 7s linear;background-color:var(--card)
}
.slide.active .slide-bg{transform:scale(1)}
.slide::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,9,12,.95) 0%,rgba(8,9,12,.4) 50%,transparent 100%)
}
.slide-content{position:relative;z-index:1;padding:2rem 2.5rem;width:100%;max-width:720px}
.slide-tag{
  display:inline-block;background:var(--teal);color:#0a1014;
  border-radius:100px;padding:.22rem .8rem;font-size:.7rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem
}
.slide-title{font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:800;line-height:1.25;margin-bottom:.45rem;letter-spacing:-.01em}
.slide-desc{font-size:.9rem;color:rgba(242,242,242,.78);max-width:540px;line-height:1.6}

.slider-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;
  width:44px;height:44px;border-radius:50%;
  background:rgba(13,15,19,.85);border:1px solid var(--border);color:var(--text);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,border-color .2s;backdrop-filter:blur(8px)
}
.slider-btn:hover{background:var(--teal);border-color:var(--teal);color:#0a1014}
.slider-btn.prev{left:1.25rem}
.slider-btn.next{right:1.25rem}
.slider-btn svg{width:20px;height:20px;pointer-events:none}
.slider-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.25rem}
.dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;transition:.25s;cursor:pointer}
.dot.active{background:var(--teal);transform:scale(1.3)}
.slider-progress{height:3px;background:var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}
.slider-progress-bar{height:100%;background:var(--teal);width:0;transition:width linear}

/* ================================================================
   SOCIAL PROOF / CREDENTIALS section
================================================================ */
.proof-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start;margin-top:2.5rem}
@media(max-width:980px){.proof-grid{grid-template-columns:1fr;gap:2rem}}

.credentials-card{
  background:linear-gradient(155deg,var(--card),var(--bg-soft));
  border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:2rem;position:relative;overflow:hidden
}
.credentials-card::before{
  content:'';position:absolute;top:-80px;right:-80px;width:240px;height:240px;
  background:radial-gradient(circle,var(--teal-glow) 0%,transparent 70%);
  pointer-events:none
}
.credentials-head{
  display:flex;align-items:center;gap:1rem;padding-bottom:1.25rem;
  border-bottom:1px solid var(--border-soft);margin-bottom:1.25rem;position:relative
}
.credentials-head-seal{
  width:62px;height:62px;border-radius:.75rem;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:#0a1014;display:flex;align-items:center;justify-content:center;
  font-weight:800
}
.credentials-head-seal svg{width:30px;height:30px}
.credentials-head h3{font-size:1.05rem;font-weight:700;line-height:1.3}
.credentials-head p{font-size:.8rem;color:var(--text-muted);letter-spacing:.04em;margin-top:.2rem;text-transform:uppercase;font-weight:600}
.credentials-list{display:flex;flex-direction:column;gap:.85rem;position:relative}
.credentials-item{display:flex;align-items:flex-start;gap:.85rem}
.credentials-icon{
  width:32px;height:32px;border-radius:.4rem;
  background:var(--teal-soft);color:var(--teal);
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.credentials-icon svg{width:16px;height:16px}
.credentials-item-text{font-size:.92rem;line-height:1.45;font-weight:500}
.credentials-item-text small{display:block;color:var(--text-muted);font-weight:400;font-size:.8rem;margin-top:.15rem}

/* Testimonials */
.testimonials-stack{display:flex;flex-direction:column;gap:1rem}
.testi-card{
  background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:1.5rem;position:relative;transition:border-color .25s
}
.testi-card:hover{border-color:var(--teal)}
.testi-quote-mark{
  position:absolute;top:.85rem;right:1.2rem;
  font-size:3rem;line-height:1;color:var(--teal);opacity:.15;
  font-family:Georgia,serif;font-weight:700
}
.testi-quote{font-size:.92rem;color:#cbd2dc;line-height:1.65;margin-bottom:1rem;font-style:italic}
.testi-meta{display:flex;align-items:center;gap:.75rem;padding-top:.85rem;border-top:1px solid var(--border-soft)}
.testi-avatar{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:var(--tertiary);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted)
}
.testi-avatar svg{width:18px;height:18px}
.testi-name{font-size:.85rem;font-weight:600}
.testi-role{font-size:.76rem;color:var(--text-muted);margin-top:.1rem}
.testi-placeholder{opacity:.7}
.testi-placeholder .testi-quote{color:var(--text-muted);font-weight:400}
.testi-placeholder .testi-quote::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warn);margin-right:.5rem;margin-bottom:.1rem;vertical-align:middle}

.coverage-block{
  margin-top:2.5rem;background:var(--card);border:1px solid var(--border-soft);
  border-radius:var(--radius);padding:1.5rem 1.75rem;
  display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap
}
.coverage-pin{
  width:46px;height:46px;border-radius:50%;flex-shrink:0;
  background:var(--teal-soft);color:var(--teal);
  display:flex;align-items:center;justify-content:center
}
.coverage-pin svg{width:22px;height:22px}
.coverage-block-text{flex:1;min-width:260px}
.coverage-block-text strong{display:block;font-size:.95rem;margin-bottom:.2rem}
.coverage-block-text p{font-size:.86rem;color:var(--text-muted);line-height:1.55}

/* ================================================================
   OFFER / WHAT'S INCLUDED
================================================================ */
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;align-items:start}
@media(max-width:980px){.offer-grid{grid-template-columns:1fr}}
.offer-list{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:2rem;display:flex;flex-direction:column;gap:.85rem
}
.offer-list h3{font-size:.78rem;letter-spacing:.18em;color:var(--teal);text-transform:uppercase;font-weight:700;margin-bottom:.5rem}
.offer-item{display:flex;align-items:flex-start;gap:.75rem;padding:.55rem 0;border-bottom:1px dashed var(--border-soft);font-size:.9rem;line-height:1.55}
.offer-item:last-child{border-bottom:none}
.offer-item svg{width:16px;height:16px;color:var(--teal);flex-shrink:0;margin-top:.25rem}

.offer-visit{
  background:linear-gradient(155deg,rgba(34,197,211,.08),rgba(34,197,211,.02));
  border:1px solid rgba(34,197,211,.25);border-radius:var(--radius-lg);
  padding:2rem;display:flex;flex-direction:column;gap:1rem;height:100%
}
.offer-visit-icon{
  width:48px;height:48px;border-radius:.6rem;background:var(--teal);color:#0a1014;
  display:flex;align-items:center;justify-content:center
}
.offer-visit-icon svg{width:24px;height:24px}
.offer-visit h3{font-size:1.1rem;font-weight:700;line-height:1.3}
.offer-visit p{font-size:.92rem;color:#cbd2dc;line-height:1.65}
.offer-visit .btn{align-self:flex-start;margin-top:auto}

/* ================================================================
   OBJECTIONS (accordion)
================================================================ */
.objections-list{margin-top:2.5rem;display:flex;flex-direction:column;gap:.75rem}
.obj-item{
  background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);
  overflow:hidden;transition:border-color .25s
}
.obj-item.open{border-color:var(--teal)}
.obj-q{
  width:100%;background:none;border:none;color:var(--text);
  padding:1.15rem 1.5rem;text-align:left;font-size:1rem;font-weight:600;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:inherit;line-height:1.4
}
.obj-q .obj-tag{
  font-size:.7rem;color:var(--text-muted);font-weight:500;font-style:italic;display:block;margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.08em
}
.obj-q-text{flex:1}
.obj-toggle{
  width:28px;height:28px;border-radius:50%;background:var(--tertiary);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s,background .25s
}
.obj-toggle svg{width:14px;height:14px;color:var(--teal)}
.obj-item.open .obj-toggle{transform:rotate(45deg);background:var(--teal-soft)}
.obj-a{
  max-height:0;overflow:hidden;transition:max-height .35s ease;
  padding:0 1.5rem
}
.obj-item.open .obj-a{max-height:400px;padding-bottom:1.3rem}
.obj-a p{font-size:.92rem;color:#cbd2dc;line-height:1.7}

/* ================================================================
   GUARANTEE
================================================================ */
.guarantee-card{
  background:linear-gradient(155deg,var(--card),var(--bg-soft));
  border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:2.5rem;display:grid;grid-template-columns:auto 1fr;gap:2.5rem;
  align-items:center;position:relative;overflow:hidden;margin-top:2.5rem
}
@media(max-width:780px){.guarantee-card{grid-template-columns:1fr;gap:1.5rem;padding:2rem}}
.guarantee-card::before{
  content:'';position:absolute;top:-100px;right:-100px;width:300px;height:300px;
  background:radial-gradient(circle,var(--teal-glow) 0%,transparent 70%);pointer-events:none
}
.guarantee-shield{
  width:130px;height:130px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 0 0 8px rgba(34,197,211,.08), 0 0 40px var(--teal-glow);
  position:relative
}
.guarantee-shield svg{width:60px;height:60px;color:#0a1014}
.guarantee-head{font-size:1.4rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.01em}
.guarantee-intro{font-size:.95rem;color:#cbd2dc;margin-bottom:1.25rem;line-height:1.6}
.guarantee-list{display:flex;flex-direction:column;gap:.5rem;position:relative}
.guarantee-list .offer-item{padding:.4rem 0;border-bottom:none;font-size:.88rem}
.guarantee-tagline{
  margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-soft);
  font-size:.92rem;color:var(--teal);font-weight:600;letter-spacing:.02em
}

/* ================================================================
   URGENCY
================================================================ */
.urgency-block{
  background:linear-gradient(155deg,rgba(245,183,84,.05),transparent 50%),var(--card);
  border:1px solid var(--border);border-left:3px solid var(--warn);
  border-radius:var(--radius);padding:2rem 2.25rem;margin-top:2.5rem;
  display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap
}
.urgency-icon{
  width:54px;height:54px;border-radius:.65rem;flex-shrink:0;
  background:rgba(245,183,84,.12);color:var(--warn);
  display:flex;align-items:center;justify-content:center
}
.urgency-icon svg{width:26px;height:26px}
.urgency-text{flex:1;min-width:260px}
.urgency-text h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
.urgency-text p{font-size:.93rem;color:#cbd2dc;line-height:1.7}
.urgency-text p+p{margin-top:.65rem;color:var(--text-muted)}

/* ================================================================
   FAQ
================================================================ */
.faq-list{margin-top:2.5rem;display:flex;flex-direction:column;gap:.6rem;max-width:880px;margin-inline:auto}

/* ================================================================
   IA SECTION (compacta — vai pro rodapé do site)
================================================================ */
.ia-section{background:var(--bg-soft);position:relative;overflow:hidden;border-top:1px solid var(--border-soft)}
.ia-section.hidden{display:none}
.ia-section::before{
  content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;
  background:radial-gradient(circle,rgba(34,197,211,.06) 0%,transparent 60%);pointer-events:none
}
.ia-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center;margin-top:1rem;position:relative}
@media(max-width:980px){.ia-grid{grid-template-columns:1fr;gap:2rem}}
.ia-services{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.ia-card{
  background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:1.3rem;transition:border-color .25s,transform .25s
}
.ia-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.ia-card .icon-bubble{
  width:36px;height:36px;border-radius:.4rem;background:var(--teal-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:.8rem
}
.ia-card .icon-bubble svg{width:18px;height:18px;color:var(--teal)}
.ia-card h3{font-size:.95rem;font-weight:700;margin-bottom:.3rem}
.ia-card p{font-size:.83rem;color:var(--text-muted);line-height:1.55}

/* ================================================================
   FINAL CTA
================================================================ */
.final-cta{
  background:radial-gradient(ellipse at 50% 0%,rgba(34,197,211,.08) 0%,transparent 60%),var(--bg);
  text-align:center;padding:110px 0;border-top:1px solid var(--border-soft);position:relative;overflow:hidden
}
.final-cta::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(34,197,211,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,197,211,.03) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse 60% 80% at 50% 50%, #000 30%, transparent 80%);
}
.final-cta-inner{position:relative;z-index:1;max-width:780px;margin-inline:auto}
.final-cta h2{
  font-size:clamp(2rem,4.2vw,3rem);font-weight:800;line-height:1.15;
  letter-spacing:-.02em;margin-bottom:1.25rem;text-wrap:balance
}
.final-cta h2 .teal{color:var(--teal)}
.final-cta p{font-size:1.05rem;color:#cbd2dc;line-height:1.7;margin-bottom:2rem;text-wrap:pretty}
.final-cta .btn{margin:0 .35rem .75rem}

.ps-block{
  margin-top:4rem;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;text-align:left
}
@media(max-width:780px){.ps-block{grid-template-columns:1fr}}
.ps-card{
  background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:1.25rem 1.4rem
}
.ps-card h4{font-size:.74rem;letter-spacing:.18em;color:var(--teal);text-transform:uppercase;font-weight:700;margin-bottom:.5rem}
.ps-card p{font-size:.88rem;color:var(--text-muted);line-height:1.65;margin-bottom:0;text-align:left}
.ps-card strong{color:#cbd2dc}

/* ================================================================
   CONTACT FORM (compact, inside hero/CTA flow if needed)
================================================================ */
.contact-form-wrap{max-width:540px;margin:2rem auto 0;text-align:left}
.contact-form-wrap h3{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--text);text-align:center}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.form-group{margin-bottom:.75rem}
.form-group label{display:block;font-size:.78rem;font-weight:600;color:var(--text-muted);margin-bottom:.3rem}
.form-group input,.form-group select,.form-group textarea{
  width:100%;background:var(--tertiary);border:1px solid var(--border);
  border-radius:.5rem;padding:.65rem .85rem;color:var(--text);
  font-family:inherit;font-size:.9rem;outline:none;resize:vertical;transition:border-color .2s
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--teal)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}
.form-check{
  display:flex;align-items:flex-start;gap:.55rem;font-size:.78rem;
  color:var(--text-muted);line-height:1.5;margin:.5rem 0 1rem
}
.form-check input{margin-top:.2rem;accent-color:var(--teal)}
.form-check a{color:var(--teal);text-decoration:underline}

/* ================================================================
   FOOTER
================================================================ */
footer{
  background:#08090c;border-top:1px solid var(--border-soft);
  padding:3.5rem 0 1.5rem
}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem
}
@media(max-width:880px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-brand p{font-size:.88rem;color:var(--text-muted);margin-top:.85rem;line-height:1.7;max-width:300px}
.footer-col h4{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;color:var(--text)}
.footer-col ul{display:flex;flex-direction:column;gap:.55rem}
.footer-col ul a, .footer-col p{font-size:.88rem;color:var(--text-muted);transition:color .2s;line-height:1.6}
.footer-col ul a:hover{color:var(--teal)}
.footer-col .contact-line{display:flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--text-muted);margin-bottom:.55rem}
.footer-col .contact-line svg{width:14px;height:14px;color:var(--teal);flex-shrink:0}
.footer-col .contact-line a{color:var(--text-muted);transition:color .2s}
.footer-col .contact-line a:hover{color:var(--teal)}
.footer-bottom{
  border-top:1px solid var(--border-soft);padding-top:1.5rem;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem
}
.footer-copy{font-size:.78rem;color:var(--text-dim);line-height:1.5}
.footer-copy a{color:var(--text-muted)}
.footer-copy a:hover{color:var(--teal)}
.footer-socials{display:flex;gap:.6rem}
.social-btn{
  width:36px;height:36px;border-radius:50%;
  background:var(--card);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);transition:.2s
}
.social-btn:hover{background:var(--teal);color:#0a1014;border-color:var(--teal)}
.social-btn svg{width:16px;height:16px}

/* ================================================================
   FLOATING UI
================================================================ */
.whatsapp-float{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:850;
  width:56px;height:56px;border-radius:50%;
  background:var(--whatsapp);box-shadow:0 6px 24px rgba(37,211,102,.45);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s,box-shadow .25s
}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 8px 30px rgba(37,211,102,.6)}
.whatsapp-float svg{width:30px;height:30px;fill:#fff}
.whatsapp-float-label{
  position:absolute;right:calc(100% + .6rem);top:50%;transform:translateY(-50%);
  background:var(--card);border:1px solid var(--border);
  color:var(--text);padding:.45rem .8rem;border-radius:.5rem;
  font-size:.78rem;font-weight:500;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .25s
}
.whatsapp-float:hover .whatsapp-float-label{opacity:1}
@media(max-width:768px){.whatsapp-float-label{display:none}}

/* Fixed credential sidebar — desktop only */
.cred-sidebar{
  position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:600;
  background:rgba(13,15,19,.92);backdrop-filter:blur(12px);
  border:1px solid var(--border);border-left:none;
  border-radius:0 var(--radius) var(--radius) 0;
  padding:1rem .85rem;display:flex;flex-direction:column;gap:.6rem;
  max-width:64px;overflow:hidden;transition:max-width .35s ease;
  box-shadow:0 8px 32px rgba(0,0,0,.4)
}
.cred-sidebar:hover{max-width:280px}
.cred-sidebar-row{display:flex;align-items:center;gap:.75rem;min-height:32px}
.cred-sidebar-icon{
  width:32px;height:32px;border-radius:.4rem;flex-shrink:0;
  background:var(--teal-soft);color:var(--teal);
  display:flex;align-items:center;justify-content:center
}
.cred-sidebar-icon svg{width:16px;height:16px}
.cred-sidebar-text{
  font-size:.78rem;line-height:1.3;white-space:nowrap;opacity:0;
  transition:opacity .25s;color:#cbd2dc
}
.cred-sidebar-text strong{display:block;font-size:.74rem;color:var(--teal);letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-bottom:.1rem}
.cred-sidebar:hover .cred-sidebar-text{opacity:1;transition-delay:.15s}
@media(max-width:980px){.cred-sidebar{display:none}}

/* Mobile credential bar (sticky bottom) */
.cred-mobile{
  position:fixed;bottom:0;left:0;right:0;z-index:700;
  background:rgba(13,15,19,.96);backdrop-filter:blur(12px);
  border-top:1px solid var(--border);padding:.65rem 1rem;
  display:none;align-items:center;justify-content:space-between;gap:.75rem;
  font-size:.74rem
}
@media(max-width:980px){.cred-mobile{display:flex}}
@media(max-width:980px){
  .whatsapp-float{bottom:5rem}
  body{padding-bottom:54px}
}
.cred-mobile-info{display:flex;align-items:center;gap:.55rem;flex:1;min-width:0}
.cred-mobile-seal{
  width:30px;height:30px;border-radius:.4rem;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#0a1014;
  display:flex;align-items:center;justify-content:center
}
.cred-mobile-seal svg{width:16px;height:16px}
.cred-mobile-text{font-size:.7rem;line-height:1.25;color:#cbd2dc;min-width:0;overflow:hidden}
.cred-mobile-text strong{display:block;font-size:.7rem;color:var(--teal);font-weight:700;letter-spacing:.04em}
.cred-mobile-text span{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.cred-mobile .btn{padding:.45rem .85rem;font-size:.78rem;flex-shrink:0}

/* ================================================================
   TWEAKS PANEL
================================================================ */
.tweaks-panel{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;
  background:rgba(13,15,19,.97);backdrop-filter:blur(16px);
  border:1px solid var(--border);border-radius:var(--radius);
  padding:1.25rem;width:300px;display:none;
  box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 0 1px rgba(34,197,211,.1)
}
.tweaks-panel.open{display:block}
.tweaks-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-soft)
}
.tweaks-head h4{font-size:.85rem;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;gap:.5rem}
.tweaks-head h4::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal)}
.tweaks-close{background:none;border:none;color:var(--text-muted);font-size:1.3rem;line-height:1;padding:.1rem .3rem;transition:color .2s}
.tweaks-close:hover{color:var(--text)}
.tweak-section{margin-bottom:1rem}
.tweak-section:last-child{margin-bottom:0}
.tweak-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.55rem}
.tweak-radio{display:flex;flex-direction:column;gap:.35rem}
.tweak-radio label{
  display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;
  background:var(--card);border:1px solid var(--border-soft);border-radius:.45rem;
  cursor:pointer;font-size:.82rem;transition:border-color .2s,background .2s
}
.tweak-radio label:hover{border-color:var(--border)}
.tweak-radio input{accent-color:var(--teal);flex-shrink:0}
.tweak-radio label:has(input:checked){border-color:var(--teal);background:rgba(34,197,211,.06)}
.tweak-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem .75rem;background:var(--card);border:1px solid var(--border-soft);
  border-radius:.45rem;font-size:.85rem;cursor:pointer
}
.tweak-switch{
  position:relative;width:34px;height:18px;background:var(--tertiary);border-radius:100px;transition:background .2s
}
.tweak-switch::after{
  content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;
  border-radius:50%;background:#fff;transition:transform .2s
}
.tweak-toggle.on .tweak-switch{background:var(--teal)}
.tweak-toggle.on .tweak-switch::after{transform:translateX(16px)}
