/* ============================================================
   POTENCIAL WEB — style.css
   Versão otimizada para conversão, performance e SEO
   ============================================================ */

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

:root {
  --gold:        #C9A84C;
  --gold-light:  #F0C96B;
  --gold-dark:   #9E7A2A;
  --gold-glow:   rgba(201,168,76,0.18);
  --gold-glow2:  rgba(201,168,76,0.08);
  --green-wa:    #25D366;
  --bg:          #0A0A0B;
  --bg2:         #111114;
  --bg3:         #18181D;
  --bg4:         #1E1E24;
  --text:        #E8E6E0;
  --muted:       #9A9890;
  --border:      rgba(201,168,76,0.15);
  --border-dim:  rgba(255,255,255,0.04);
  --ff-display:  'Barlow Condensed', sans-serif;
  --ff-body:     'DM Sans', sans-serif;
  --radius:      12px;
  --radius-lg:   20px;
  --tr:          0.32s cubic-bezier(.4,0,.2,1);
  --shadow-gold: 0 4px 28px rgba(201,168,76,0.22);
  --shadow-deep: 0 16px 48px rgba(0,0,0,0.55);
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--ff-body);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font-family: inherit; }
img { display: block; max-width: 100%; height: auto; }
ul { list-style: none; }

/* Foco acessível */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Seleção de texto */
::selection { background: var(--gold); color: #0A0A0B; }

/* ========================
   LAYOUT
======================== */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

section {
  padding: 100px 0;
  position: relative;
}

.section-header { margin-bottom: 60px; max-width: 600px; }
.section-header.center { max-width: 680px; margin-left: auto; margin-right: auto; text-align: center; }

.section-label {
  color: var(--gold);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  font-size: 13px;
  margin-bottom: 10px;
  display: block;
}

.section-title {
  font-family: var(--ff-display);
  font-size: clamp(32px, 4.5vw, 54px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.5px;
  color: #fff;
}

.section-title span { color: var(--gold); }

.section-sub {
  margin-top: 16px;
  color: var(--muted);
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.7;
}

/* ========================
   URGENCY BAR
======================== */
#urgency-bar {
  background: linear-gradient(90deg, #1a1100 0%, #2a1f00 50%, #1a1100 100%);
  border-bottom: 1px solid var(--gold-dark);
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  color: var(--text);
  position: relative;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.urgency-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4444;
  animation: blink 1.4s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}

#slots-count { color: var(--gold-light); font-weight: 700; }

.urgency-cta {
  color: var(--gold);
  font-weight: 700;
  text-decoration: underline;
  white-space: nowrap;
  transition: color var(--tr);
}
.urgency-cta:hover { color: var(--gold-light); }

/* ========================
   NAVBAR
======================== */
#navbar {
  position: fixed;
  top: 40px; /* altura da urgency-bar */
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: var(--tr);
  border-bottom: 1px solid transparent;
  padding: 16px 0;
}

#navbar.scrolled {
  top: 0;
  background: rgba(10,10,11,0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  padding: 12px 0;
}

#navbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-logo { display: flex; align-items: center; }
.nav-logo-img {
  height: 100px;
  width: auto;
  object-fit: contain;
  transition: var(--tr);
}
.nav-logo-img:hover { opacity: 0.85; }

.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
}

.nav-links a {
  font-size: 15px;
  font-weight: 500;
  color: var(--muted);
  transition: var(--tr);
  position: relative;
  padding: 4px 10px;
}

.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gold);
  transition: var(--tr);
}

.nav-links a:hover,
.nav-links a.active {
  color: #fff;
}

.nav-links a:hover::after { width: 100%; }

.nav-cta {
  background: var(--gold) !important;
  color: #0A0A0B !important;
  padding: 10px 30px;
  border-radius: 8px;
  font-weight: 700 !important;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: var(--tr) !important;
}

.nav-cta::after { display: none !important; }
.nav-cta:hover { background: var(--gold-light) !important; transform: translateY(-2px); box-shadow: var(--shadow-gold); }

/* Hamburger */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  padding: 4px;
  z-index: 1100;
}

.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  transition: var(--tr);
  transform-origin: center;
}

.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile Menu */
#mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  right: -100%;
  width: min(340px, 100vw);
  height: 100vh;
  background: var(--bg2);
  border-left: 1px solid var(--border);
  z-index: 1050;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  padding: 60px 40px;
  transition: right 0.4s cubic-bezier(.4,0,.2,1);
  box-shadow: -20px 0 60px rgba(0,0,0,0.6);
}

#mobile-menu.open { right: 0; }

#mobile-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  color: var(--muted);
  font-size: 20px;
  cursor: pointer;
  padding: 8px;
  transition: color var(--tr);
}
#mobile-close:hover { color: #fff; }

#mobile-menu a {
  font-size: 22px;
  font-weight: 600;
  color: var(--muted);
  padding: 10px 0;
  transition: color var(--tr);
  width: 100%;
  border-bottom: 1px solid var(--border-dim);
}

#mobile-menu a:hover { color: #fff; }

.mobile-cta {
  margin-top: 24px;
  background: var(--gold);
  color: #0A0A0B !important;
  padding: 14px 24px;
  border-radius: 10px;
  font-weight: 700 !important;
  text-align: center;
  border-bottom: none !important;
}

/* ========================
   HERO
======================== */
#hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding-top: 120px; /* urgency bar ~40px + navbar ~80px */
}

/* Grid de fundo */
.hero-bg-grid {
  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: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
  pointer-events: none;
}

.hero-glow-1 {
  position: absolute;
  top: 10%;
  left: 5%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(201,168,76,0.12) 0%, transparent 70%);
  pointer-events: none;
  animation: float1 8s ease-in-out infinite;
}

.hero-glow-2 {
  position: absolute;
  bottom: 10%;
  right: 5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(0,229,255,0.05) 0%, transparent 70%);
  pointer-events: none;
  animation: float2 10s ease-in-out infinite;
}

@keyframes float1 {
  0%, 100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(30px,-20px) scale(1.08); }
}
@keyframes float2 {
  0%, 100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(-20px,30px) scale(1.06); }
}

.hero-inner {
  position: relative;
  z-index: 2;
  padding: 60px 24px 80px;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  width: 100%;
}

.hero-logo-wrap {
  margin-bottom: 36px;
  animation: fadeDown 0.7s ease-out both;
}

.hero-logo {
  width: 300px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(201,168,76,0.08);
  border: 1px solid var(--border);
  color: var(--gold-light);
  padding: 7px 18px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 28px;
  animation: fadeDown 0.7s 0.1s ease-out both;
}

.badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  animation: blink 1.4s infinite;
}

.hero-h1 {
  font-family: var(--ff-display);
  font-size: clamp(52px, 9vw, 110px);
  font-weight: 900;
  line-height: 0.92;
  letter-spacing: 1px;
  color: #fff;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.h1-line-1,
.h1-line-3 { color: #fff; }
.h1-line-2.line-gold { color: var(--gold); }

.hero-h1 span {
  display: block;
  animation: fadeUp 0.7s ease-out both;
}

.h1-line-1 { animation-delay: 0.2s; }
.h1-line-2 { animation-delay: 0.3s; }
.h1-line-3 { animation-delay: 0.4s; }

.hero-sub {
  max-width: 620px;
  margin: 0 auto 40px;
  color: var(--muted);
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.7;
  animation: fadeUp 0.7s 0.5s ease-out both;
}

.hero-sub strong { color: var(--text); }

/* Botões Hero */
.hero-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-bottom: 32px;
  flex-wrap: wrap;
  animation: fadeUp 0.7s 0.55s ease-out both;
}

.btn-primary,
.btn-outline {
  padding: 15px 30px;
  border-radius: var(--radius);
  font-weight: 700;
  font-size: 16px;
  transition: var(--tr);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  border: none;
  white-space: nowrap;
}

.btn-primary {
  background: var(--gold);
  color: #0A0A0B;
  box-shadow: var(--shadow-gold);
}

.btn-primary:hover {
  background: var(--gold-light);
  transform: translateY(-3px);
  box-shadow: 0 8px 36px rgba(201,168,76,0.35);
}

.btn-pulse {
  animation: pulse-btn 2.8s ease-in-out infinite;
}

@keyframes pulse-btn {
  0%, 100% { box-shadow: 0 4px 28px rgba(201,168,76,0.22); }
  50% { box-shadow: 0 4px 42px rgba(201,168,76,0.55); }
}

.btn-outline {
  border: 1.5px solid var(--border);
  color: #fff;
  background: rgba(255,255,255,0.02);
}

.btn-outline:hover {
  background: rgba(255,255,255,0.06);
  border-color: var(--gold);
  transform: translateY(-3px);
}

/* Trust items */
.hero-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 48px;
  animation: fadeUp 0.7s 0.6s ease-out both;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--muted);
}

.trust-item svg { color: var(--gold); flex-shrink: 0; }

/* Scroll hint */
.hero-scroll {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  opacity: 0.4;
  animation: fadeUp 1s 1s ease-out both;
}

.scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: scrollDown 1.8s ease-in-out infinite;
}

@keyframes scrollDown {
  0% { transform: scaleY(0); transform-origin: top; }
  50% { transform: scaleY(1); transform-origin: top; }
  51% { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}

.scroll-text { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }

/* ========================
   CLIENTES BAR
======================== */
#clientes-bar {
  padding: 32px 0;
  border-top: 1px solid var(--border-dim);
  border-bottom: 1px solid var(--border-dim);
  background: var(--bg2);
  overflow: hidden;
}

.bar-label {
  text-align: center;
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 24px;
}

.logos-track {
  display: flex;
  gap: 60px;
  align-items: center;
  animation: marquee 20s linear infinite;
  white-space: nowrap;
  width: max-content;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.logo-item {
  font-family: var(--ff-display);
  font-size: 18px;
  font-weight: 700;
  color: rgba(255,255,255,0.15);
  letter-spacing: 2px;
  text-transform: uppercase;
  user-select: none;
  flex-shrink: 0;
}

/* ========================
   SOBRE
======================== */
#sobre { background: var(--bg); }

.sobre-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 80px;
  align-items: center;
}

.sobre-visual { position: relative; }

.sobre-img-box {
  background: var(--bg2);
  border: 1px solid var(--border);
  height: 380px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.sobre-img-box::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, var(--gold-glow2), transparent 70%);
}

.sobre-logo {
  width: 320px;
  height: auto;
  position: relative;
  z-index: 1;
  object-fit: contain;
}

.sobre-badge-float {
  position: absolute;
  bottom: -18px;
  right: -18px;
  background: var(--bg3);
  border: 1px solid var(--border);
  padding: 18px 22px;
  border-radius: var(--radius);
  text-align: center;
  box-shadow: var(--shadow-deep);
}

.sobre-badge-float strong {
  display: block;
  font-family: var(--ff-display);
  font-size: 30px;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}

.sobre-badge-float span {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.sobre-badge-float-2 {
  position: absolute;
  top: -18px;
  left: -18px;
  background: var(--bg3);
  border: 1px solid var(--border);
  padding: 18px 22px;
  border-radius: var(--radius);
  text-align: center;
  box-shadow: var(--shadow-deep);
}

.sobre-badge-float-2 strong {
  display: block;
  font-family: var(--ff-display);
  font-size: 30px;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}

.sobre-badge-float-2 span {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Diferenciais */
.diferenciais {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 36px;
}

.dif-card {
  background: var(--bg2);
  border: 1px solid var(--border-dim);
  padding: 24px;
  border-radius: var(--radius);
  transition: var(--tr);
}

.dif-card:hover {
  border-color: var(--border);
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}

.dif-icon { font-size: 26px; margin-bottom: 10px; }
.dif-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 6px; color: #fff; }
.dif-card p { color: var(--muted); font-size: 14px; line-height: 1.5; }

/* ========================
   SERVIÇOS
======================== */
#servicos { background: var(--bg2); }

.servicos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 48px;
}

.servico-card {
  background: var(--bg3);
  border: 1px solid var(--border-dim);
  padding: 40px 32px;
  border-radius: var(--radius-lg);
  transition: var(--tr);
  position: relative;
  display: flex;
  flex-direction: column;
}

.servico-card:hover {
  border-color: var(--border);
  transform: translateY(-8px);
  box-shadow: var(--shadow-deep);
}

.srv-popular {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gold);
  color: #0A0A0B;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 16px;
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
}

.srv-destaque {
  border-color: var(--border);
  background: linear-gradient(145deg, var(--bg3), rgba(201,168,76,0.04));
}

.srv-icon {
  color: var(--gold);
  margin-bottom: 16px;
  opacity: 0.8;
}

.srv-num {
  font-family: var(--ff-display);
  font-size: 36px;
  font-weight: 700;
  color: rgba(201,168,76,0.15);
  line-height: 1;
  margin-bottom: 20px;
}

.servico-card h3 { font-size: 22px; margin-bottom: 14px; color: #fff; }
.servico-card p { color: var(--muted); margin-bottom: 20px; font-size: 15px; flex-grow: 1; }

.srv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.srv-tags span {
  background: rgba(201,168,76,0.06);
  border: 1px solid var(--border);
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 12px;
  color: var(--gold-light);
  font-weight: 600;
}

.srv-cta {
  color: var(--gold);
  font-size: 14px;
  font-weight: 700;
  transition: color var(--tr), gap var(--tr);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
}

.srv-cta:hover { color: var(--gold-light); gap: 8px; }

/* Mid CTA */
.mid-cta {
  background: linear-gradient(135deg, var(--bg3), rgba(201,168,76,0.05));
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 32px;
}

.mid-cta-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mid-cta-text strong { font-size: 18px; color: #fff; }
.mid-cta-text span { color: var(--muted); font-size: 15px; }

/* ========================
   PORTFÓLIO
======================== */
#portfolio { background: var(--bg); }

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.port-card {
  background: var(--bg2);
  border: 1px solid var(--border-dim);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--tr);
}

.port-card:hover {
  border-color: var(--border);
  transform: translateY(-6px);
  box-shadow: var(--shadow-deep);
}

.port-mock {
  height: 220px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  position: relative;
  padding: 20px;
  overflow: hidden;
}

.port-mock-1 { background: linear-gradient(135deg, #0d1b2a, #1a2e4a); }
.port-mock-2 { background: linear-gradient(135deg, #1a0d0d, #2e1a1a); }
.port-mock-3 { background: linear-gradient(135deg, #0d1a0d, #1a2e1a); }

.port-mock::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,0.7));
}

.port-mock-label {
  position: relative;
  z-index: 2;
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 700;
  color: rgba(255,255,255,0.5);
}

.port-mock-ui {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 1;
}

.ui-bar {
  width: 80px;
  height: 6px;
  border-radius: 3px;
  background: rgba(255,255,255,0.08);
}

.ui-bar-sm { width: 50px; }

.ui-rect {
  width: 80px;
  height: 40px;
  border-radius: 4px;
  background: rgba(201,168,76,0.12);
  border: 1px solid rgba(201,168,76,0.2);
}

.port-info { padding: 28px; }

.port-cat {
  color: var(--gold);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.port-info h3 { font-size: 20px; margin-bottom: 8px; color: #fff; }
.port-info p { color: var(--muted); font-size: 14px; margin-bottom: 16px; line-height: 1.6; }

.port-result { margin-bottom: 16px; }

.result-badge {
  background: rgba(201,168,76,0.1);
  border: 1px solid var(--border);
  color: var(--gold-light);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 100px;
}

.port-link {
  font-size: 14px;
  font-weight: 700;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color var(--tr), gap var(--tr);
}

.port-link:hover { color: var(--gold-light); gap: 8px; }

/* ========================
   RESULTADOS / DEPOIMENTOS
======================== */
#resultados { background: var(--bg2); }

.depoimentos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 60px;
}

.depo-card {
  background: var(--bg3);
  border: 1px solid var(--border-dim);
  padding: 36px;
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: var(--tr);
}

.depo-card:hover {
  border-color: var(--border);
  transform: translateY(-4px);
}

.depo-destaque {
  border-color: var(--border);
  background: linear-gradient(145deg, var(--bg3), rgba(201,168,76,0.04));
  position: relative;
  overflow: hidden;
}

.depo-destaque::before {
  content: '"';
  position: absolute;
  top: -10px;
  right: 20px;
  font-family: var(--ff-display);
  font-size: 140px;
  color: rgba(201,168,76,0.06);
  line-height: 1;
  pointer-events: none;
}

.depo-stars {
  color: var(--gold);
  letter-spacing: 3px;
  font-size: 16px;
}

.depo-text {
  color: var(--text);
  font-style: italic;
  font-size: 15px;
  line-height: 1.7;
  flex-grow: 1;
}

.depo-result span {
  display: inline-block;
  background: rgba(201,168,76,0.08);
  border: 1px solid var(--border);
  color: var(--gold-light);
  font-size: 13px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 100px;
}

.depo-user {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px solid var(--border-dim);
}

.depo-avatar {
  width: 44px;
  height: 44px;
  background: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0A0A0B;
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}

.depo-name { font-weight: 700; color: #fff; font-size: 15px; }
.depo-company { color: var(--muted); font-size: 12px; margin-top: 2px; }

/* ========================
   PROCESSO
======================== */
#processo { background: var(--bg); }

.processo-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: start;
}

.proc-connector {
  color: var(--gold);
  font-size: 24px;
  opacity: 0.4;
  padding-top: 48px;
  align-self: start;
  flex-shrink: 0;
}

.proc-card {
  background: var(--bg2);
  border: 1px solid var(--border-dim);
  padding: 32px 28px;
  border-radius: var(--radius-lg);
  transition: var(--tr);
}

.proc-card:hover {
  border-color: var(--border);
  transform: translateY(-4px);
}

.proc-step {
  font-family: var(--ff-display);
  font-size: 54px;
  font-weight: 700;
  color: rgba(201,168,76,0.12);
  line-height: 1;
  margin-bottom: 10px;
}

.proc-icon { font-size: 28px; margin-bottom: 14px; }
.proc-card h3 { font-size: 17px; font-weight: 700; margin-bottom: 10px; color: #fff; }
.proc-card p { color: var(--muted); font-size: 14px; line-height: 1.6; }

/* ========================
   FAQ
======================== */
#faq { background: var(--bg2); }

.faq-wrapper {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-item {
  background: var(--bg3);
  border: 1px solid var(--border-dim);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color var(--tr);
}

.faq-item.active { border-color: var(--border); }

.faq-trigger {
  width: 100%;
  background: none;
  border: none;
  padding: 22px 24px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  gap: 16px;
  transition: color var(--tr);
}

.faq-trigger:hover { color: var(--gold-light); }

.faq-icon {
  width: 28px;
  height: 28px;
  background: rgba(255,255,255,0.04);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: var(--tr);
  color: var(--gold);
  flex-shrink: 0;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
  background: var(--gold);
  color: #0A0A0B;
}

.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease-out;
}

.faq-content-inner {
  padding: 0 24px 24px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
  border-top: 1px solid var(--border-dim);
  padding-top: 18px;
}

.faq-content-inner strong { color: var(--text); }

/* ========================
   CONTATO
======================== */
#contato { background: var(--bg); }

.contato-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
}

.contato-info-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 36px;
}

.contato-info-item {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 20px;
  background: var(--bg2);
  border: 1px solid var(--border-dim);
  border-radius: var(--radius);
  transition: var(--tr);
}

.contato-info-item:hover {
  border-color: var(--border);
  transform: translateX(4px);
}

.cii-icon {
  width: 48px;
  height: 48px;
  background: rgba(201,168,76,0.1);
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  flex-shrink: 0;
}

.cii-text h4 {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 2px;
}

.cii-text p {
  font-size: 17px;
  color: #fff;
  font-weight: 600;
}

.contato-garantias {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 28px;
  padding: 24px;
  background: var(--bg2);
  border: 1px solid var(--border-dim);
  border-radius: var(--radius);
}

.garantia-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--muted);
}

.garantia-item span {
  color: var(--gold);
  font-weight: 700;
  font-size: 16px;
}

/* Formulário */
.contato-form-wrap {
  background: var(--bg2);
  border: 1px solid var(--border);
  padding: 48px;
  border-radius: var(--radius-lg);
  position: relative;
}

.contato-form-wrap::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 20px;
  right: 20px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-light), var(--gold), var(--gold-dark));
  border-radius: 0 0 4px 4px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.form-group.full { grid-column: span 2; }

.form-group label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
  color: var(--muted);
}

.optional {
  text-transform: none;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0;
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  background: var(--bg3);
  border: 1.5px solid rgba(255,255,255,0.06);
  padding: 13px 16px;
  border-radius: 8px;
  color: #fff;
  font-size: 15px;
  transition: var(--tr);
  appearance: none;
  -webkit-appearance: none;
}

.form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239A9890' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
}

.form-group select option { background: var(--bg3); color: #fff; }

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--gold);
  background: rgba(201,168,76,0.03);
}

.form-group input.invalid,
.form-group textarea.invalid,
.form-group select.invalid {
  border-color: #ff4444;
}

.form-group textarea {
  height: 120px;
  resize: none;
  line-height: 1.6;
}

/* LGPD */
.lgpd-group { margin-top: 4px; }

.lgpd-label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  cursor: pointer;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  color: var(--muted);
  font-weight: 400 !important;
  line-height: 1.6;
}

.lgpd-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--gold);
  cursor: pointer;
}

.lgpd-link { color: var(--gold); text-decoration: underline; }

/* Erros */
.form-error {
  display: block;
  font-size: 12px;
  color: #ff6b6b;
  margin-top: 5px;
  min-height: 16px;
}

/* Honeypot */
.hp-hidden {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Botão submit */
.btn-submit {
  width: 100%;
  background: var(--gold);
  border: none;
  padding: 16px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 16px;
  color: #0A0A0B;
  cursor: pointer;
  transition: var(--tr);
  position: relative;
  overflow: hidden;
  letter-spacing: 0.3px;
}

.btn-submit:hover:not(:disabled) {
  background: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: var(--shadow-gold);
}

.btn-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.btn-submit-text { display: block; }
.btn-submit-loading { display: none; }

.btn-submit.loading .btn-submit-text { display: none; }
.btn-submit.loading .btn-submit-loading { display: block; }

.form-footnote {
  text-align: center;
  font-size: 12px;
  color: var(--muted);
  margin-top: 12px;
}

/* Sucesso */
#form-success {
  display: none;
  text-align: center;
  padding: 48px 20px;
}

.success-icon { font-size: 56px; margin-bottom: 20px; }

#form-success h3 {
  font-family: var(--ff-display);
  font-size: 36px;
  color: var(--gold);
  margin-bottom: 12px;
}

#form-success p { color: var(--muted); font-size: 16px; line-height: 1.7; }

/* ========================
   FOOTER
======================== */
footer {
  background: #050506;
  border-top: 1px solid var(--border);
  padding: 60px 0 40px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1.2fr;
  gap: 60px;
  margin-bottom: 48px;
}

.footer-brand p {
  color: var(--muted);
  font-size: 14px;
  margin-top: 16px;
  max-width: 240px;
  line-height: 1.7;
}

.footer-logo {
  height: 120px;
  width: auto;
  margin-bottom: 4px;
  object-fit: contain;
}

.footer-links h4,
.footer-contact h4 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--gold);
  margin-bottom: 20px;
}

.footer-links ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links a {
  font-size: 15px;
  color: var(--muted);
  transition: color var(--tr);
}

.footer-links a:hover { color: #fff; }

.footer-contact {
  display: flex;
  flex-direction: column;
}

.footer-contact a {
  color: var(--muted);
  font-size: 15px;
  margin-bottom: 10px;
  transition: color var(--tr);
}

.footer-contact a:hover { color: #fff; }

.footer-cta {
  margin-top: 16px;
  text-align: center;
  padding: 12px 20px;
  font-size: 15px;
}

.footer-bottom {
  border-top: 1px solid var(--border-dim);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--muted);
}

.footer-bottom a {
  color: var(--muted);
  transition: color var(--tr);
}

.footer-bottom a:hover { color: var(--gold); }

/* ========================
   WHATSAPP FLUTUANTE
======================== */
#whatsapp-btn {
  position: fixed;
  bottom: 28px;
  right: 28px;
  background: var(--green-wa);
  color: #fff;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 24px rgba(37,211,102,0.4);
  z-index: 900;
  transition: var(--tr);
  position: fixed;
}

#whatsapp-btn:hover {
  transform: scale(1.12) translateY(-4px);
  box-shadow: 0 8px 32px rgba(37,211,102,0.5);
}

#whatsapp-btn:hover .wa-tooltip { opacity: 1; transform: translateX(-8px); }

.wa-tooltip {
  position: absolute;
  right: 68px;
  background: #111;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(0);
  transition: var(--tr);
  pointer-events: none;
}

/* ========================
   CTA MOBILE FIXO
======================== */
#mobile-cta-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 800;
  background: var(--bg2);
  border-top: 1px solid var(--border);
  padding: 12px 16px;
  gap: 10px;
}

.mobile-cta-btn {
  flex: 1;
  padding: 13px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
  text-align: center;
  transition: var(--tr);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.mobile-cta-wa {
  background: var(--green-wa);
  color: #fff;
}

.mobile-cta-form {
  background: var(--gold);
  color: #0A0A0B;
}

/* ========================
   ANIMAÇÕES
======================== */
.fade-up {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease-out, transform 0.65s ease-out;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeDown {
  from { opacity: 0; transform: translateY(-16px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ========================
   RESPONSIVIDADE
======================== */
@media (max-width: 1024px) {
  .processo-grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
  .proc-connector { display: none; }
  .portfolio-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 992px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }
  #mobile-menu { display: flex; }

  #urgency-bar { font-size: 12px; padding: 8px 16px; gap: 6px; }
  #navbar { top: 36px; }

  .sobre-grid { grid-template-columns: 1fr; gap: 60px; }
  .sobre-visual { order: -1; }
  .servicos-grid { grid-template-columns: 1fr; gap: 20px; }
  .depoimentos-grid { grid-template-columns: 1fr; gap: 20px; }
  .contato-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }

  #mobile-cta-bar { display: flex; }
  #whatsapp-btn { bottom: 76px; }

  body { padding-bottom: 70px; }
}

@media (max-width: 768px) {
  section { padding: 72px 0; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .mid-cta { flex-direction: column; text-align: center; }
}

@media (max-width: 576px) {
  #urgency-bar { font-size: 11px; flex-direction: column; gap: 4px; padding: 8px 12px; }
  #navbar { top: 56px; }
  #hero { padding-top: 140px; }

  .hero-h1 { font-size: clamp(44px, 13vw, 72px); }
  .hero-btns { flex-direction: column; }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline { width: 100%; justify-content: center; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: span 1; }
  .contato-form-wrap { padding: 28px 20px; }
  .sobre-badge-float,
  .sobre-badge-float-2 { position: static; margin-top: 16px; display: inline-block; }
}

/* Acessibilidade: reduz movimento */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .logos-track { animation: none; }
}

/* ============================================================
   ADIÇÕES — WaaS, Blog, Legal, Portfólio Placeholder
   ============================================================ */

/* Portfólio placeholder */
.portfolio-placeholder {
  margin-top: 40px;
}
.port-placeholder-inner {
  background: var(--bg3);
  border: 1.5px dashed var(--border);
  border-radius: var(--radius-lg);
  padding: 60px 40px;
  text-align: center;
}
.port-placeholder-icon { font-size: 3rem; margin-bottom: 20px; }
.port-placeholder-inner h3 { font-size: 1.3rem; margin-bottom: 12px; }
.port-placeholder-inner p { color: var(--muted); max-width: 480px; margin: 0 auto 10px; }
.port-placeholder-inner a { color: var(--gold); text-decoration: underline; }

/* Depoimentos placeholder */
.depoimentos-placeholder {
  margin-top: 40px;
}

/* FAQ CTA */
.faq-cta {
  text-align: center;
  margin-top: 48px;
}
.faq-cta p { color: var(--muted); margin-bottom: 16px; }

/* Footer bottom links */
.footer-bottom-links {
  display: flex;
  gap: 20px;
}
.footer-bottom-links a {
  color: var(--muted);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color var(--tr);
}
.footer-bottom-links a:hover { color: var(--gold); }

/* Reduced motion */
.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}

/* Páginas internas (blog, legal) */
.page-hero {
  padding: 140px 0 60px;
  text-align: center;
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}
.page-hero h1 {
  font-family: var(--ff-display);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.page-hero p { color: var(--muted); font-size: 1.05rem; max-width: 560px; margin: 0 auto; }

.page-content {
  padding: 60px 0 80px;
}
.page-content h2 {
  font-family: var(--ff-display);
  font-size: 1.6rem;
  font-weight: 700;
  text-transform: uppercase;
  margin: 40px 0 12px;
  color: var(--gold);
}
.page-content h3 { font-size: 1.1rem; margin: 24px 0 8px; color: var(--text); }
.page-content p { color: var(--muted); margin-bottom: 14px; line-height: 1.7; }
.page-content ul, .page-content ol {
  margin: 12px 0 16px 20px;
  color: var(--muted);
  line-height: 1.7;
}
.page-content li { margin-bottom: 6px; }
.page-content a { color: var(--gold); }
.page-content strong { color: var(--text); }
.page-content .aviso-juridico {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px 24px;
  margin: 32px 0;
  color: var(--muted);
  font-size: 0.9rem;
  border-left: 3px solid var(--gold);
}

/* Blog */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 40px;
}
@media (max-width: 900px) { .blog-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } }
.blog-card {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--tr), box-shadow var(--tr);
}
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-deep); }
.blog-card-img {
  height: 160px;
  background: var(--bg4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
}
.blog-card-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.blog-card-cat {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--gold);
  margin-bottom: 8px;
}
.blog-card-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.4;
  margin-bottom: 10px;
}
.blog-card-body p { color: var(--muted); font-size: 0.9rem; flex: 1; }
.blog-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border-dim);
}
.blog-card-date { color: var(--muted); font-size: 0.82rem; }
.blog-card-link { color: var(--gold); font-size: 0.88rem; font-weight: 600; text-decoration: none; }
.blog-card-link:hover { text-decoration: underline; }

/* Artigo individual */
.article-hero { padding: 120px 0 40px; }
.article-meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 0.88rem;
  margin-bottom: 16px;
  align-items: center;
  margin-top: 30px;
}
.article-meta .tag {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 3px 12px;
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 600;
}
.article-body { max-width: 720px; margin: 0 auto; }
.article-body h2 {
  font-family: var(--ff-display);
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--gold);
  margin: 40px 0 12px;
}
.article-body h3 { font-size: 1.1rem; margin: 28px 0 8px; color: var(--text); }
.article-body p { color: var(--muted); line-height: 1.8; margin-bottom: 16px; }
.article-body ul, .article-body ol { margin: 12px 0 16px 24px; color: var(--muted); line-height: 1.8; }
.article-body li { margin-bottom: 8px; }
.article-body strong { color: var(--text); }
.article-body blockquote {
  border-left: 3px solid var(--gold);
  padding: 12px 20px;
  margin: 24px 0;
  background: var(--bg3);
  border-radius: 0 var(--radius) var(--radius) 0;
  color: var(--text);
  font-style: italic;
}
.article-cta-box {
  background: linear-gradient(135deg, var(--bg3), var(--bg4));
  border: 1.5px solid var(--gold);
  border-radius: var(--radius-lg);
  padding: 40px;
  text-align: center;
  margin: 48px 0;
  box-shadow: var(--shadow-gold);
}
.article-cta-box h3 { font-family: var(--ff-display); font-size: 1.4rem; font-weight: 900; text-transform: uppercase; margin-bottom: 10px; }
.article-cta-box p { color: var(--muted); margin-bottom: 20px; }
.article-author {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  background: var(--bg3);
  border-radius: var(--radius);
  margin-top: 48px;
}
.article-author-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--bg4);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-display);
  font-weight: 700;
  color: var(--gold);
  font-size: 1.1rem;
  flex-shrink: 0;
}
.article-author-name { font-weight: 600; color: var(--text); font-size: 0.95rem; }
.article-author-role { color: var(--muted); font-size: 0.85rem; }


/* ============================================================
   EXPERIÊNCIA PREMIUM DE SCROLL — Potencial Web
   Jornada visual: invisível no digital → presença profissional
   ============================================================ */
:root {
  --pw-energy: rgba(201,168,76,.9);
  --pw-energy-soft: rgba(201,168,76,.18);
  --pw-cyan-soft: rgba(90,210,255,.12);
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 12% 22%, rgba(201,168,76,.07), transparent 28%),
    radial-gradient(circle at 88% 35%, rgba(90,210,255,.045), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 32%, rgba(201,168,76,.025));
}

#hero, #assinatura-hero, section, footer, nav { isolation: isolate; }
#hero, #assinatura-hero { overflow: hidden; }
#assinatura-hero { position: relative; min-height: 78vh; display: flex; align-items: center; padding: 150px 0 100px; background: var(--bg); }
#assinatura-hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(201,168,76,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,.045) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: radial-gradient(ellipse 78% 70% at 50% 44%, #000 20%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 78% 70% at 50% 44%, #000 20%, transparent 100%);
}
#assinatura-hero .container { position: relative; z-index: 2; max-width: 820px; margin-left: max(24px, calc((100vw - 1200px)/2 + 24px)); margin-right: auto; }
#assinatura-hero h1 { font-family: var(--ff-display); font-size: clamp(50px, 7vw, 96px); line-height: .94; letter-spacing: .5px; color:#fff; max-width: 760px; }
#assinatura-hero .hero-sub { margin-left: 0; margin-right: 0; max-width: 620px; }

/* trilha digital lateral */
.pw-journey-rail {
  position: fixed;
  left: clamp(18px, 4vw, 58px);
  top: 120px;
  bottom: 70px;
  width: 2px;
  z-index: 60;
  pointer-events: none;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity .45s ease, transform .45s ease;
}
.pw-journey-ready .pw-journey-rail { opacity: 1; transform: translateX(0); }
.pw-rail-track {
  position:absolute; inset:0;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(201,168,76,.16), rgba(201,168,76,.08), transparent);
  box-shadow: 0 0 22px rgba(201,168,76,.08);
}
.pw-rail-fill {
  position:absolute; left:0; top:0; width:100%; height: calc(var(--pw-progress, 0) * 100%);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(240,201,107,.15), var(--gold-light), var(--gold));
  box-shadow: 0 0 16px rgba(201,168,76,.55), 0 0 40px rgba(201,168,76,.14);
}
.pw-rail-pulse {
  position:absolute;
  left:50%; top: calc(var(--pw-progress, 0) * 100%);
  width: 18px; height: 18px; border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #fff 0 12%, var(--gold-light) 16% 38%, rgba(201,168,76,.14) 40% 68%, transparent 72%);
  box-shadow: 0 0 16px rgba(240,201,107,.48), 0 0 36px rgba(201,168,76,.16);
}
.pw-rail-pulse::after { content:''; position:absolute; inset:-10px; border:1px solid rgba(240,201,107,.18); border-radius:inherit; animation: pwPulseRing 2.8s ease-out infinite; }
.pw-journey-marker {
  position:absolute; left:50%; top: var(--marker-y, 0%);
  width: 12px; height: 12px; border-radius:50%;
  transform: translate(-50%, -50%);
  background: #272319; border:1px solid rgba(201,168,76,.45);
  box-shadow: 0 0 0 6px rgba(201,168,76,.04);
  transition: transform .35s ease, background .35s ease, box-shadow .35s ease;
}
.pw-journey-marker::after {
  content: attr(data-label);
  position:absolute; left: 22px; top:50%; transform: translateY(-50%);
  color: rgba(232,230,224,.58); font-size: 11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  white-space: nowrap; opacity: 0; transition: opacity .25s ease, transform .25s ease;
}
.pw-journey-marker.is-active { background: var(--gold-light); transform: translate(-50%, -50%) scale(1.25); box-shadow: 0 0 0 8px rgba(201,168,76,.10), 0 0 24px rgba(201,168,76,.65); }
.pw-journey-marker.is-active::after { opacity: 1; transform: translate(4px, -50%); color: var(--gold-light); }
@keyframes pwPulseRing { 0%{ transform:scale(.7); opacity:.45 } 100%{ transform:scale(1.55); opacity:0 } }

/* estado de seção ligada pela jornada */
.pw-journey-section { transition: filter .45s ease; }
.pw-journey-section::after {
  content:''; position:absolute; inset: 30px max(16px, calc((100vw - 1200px)/2 + 16px));
  border-radius: 34px; pointer-events:none; opacity:0; transform: scale(.985);
  background: linear-gradient(120deg, rgba(201,168,76,.08), transparent 24%, rgba(90,210,255,.035) 70%, transparent);
  border:1px solid rgba(201,168,76,.0);
  transition: opacity .55s ease, transform .55s ease, border-color .55s ease;
  z-index:-1;
}
.pw-journey-section.is-current::after { opacity:1; transform:scale(1); border-color: rgba(201,168,76,.08); }

/* hero premium: preview conceitual de site sendo montado */
.pw-site-preview {
  position: absolute;
  right: max(18px, calc((100vw - 1200px)/2 + 18px));
  top: 50%;
  width: min(38vw, 470px);
  min-width: 350px;
  height: 440px;
  transform: translateY(-42%);
  z-index: 1;
  pointer-events: none;
}
#hero .pw-site-preview { opacity: .94; }
#assinatura-hero .pw-site-preview { transform: translateY(-45%); opacity: .9; }
.pw-preview-window {
  position:absolute; inset: 60px 20px 45px 35px;
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(24,24,29,.90), rgba(10,10,11,.76));
  border: 1px solid rgba(201,168,76,.26);
  box-shadow: 0 30px 90px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.07), 0 0 80px rgba(201,168,76,.09);
  overflow:hidden;
  backdrop-filter: blur(10px);
  animation: pwWindowIn .9s .18s cubic-bezier(.2,.8,.2,1) both;
}
.pw-preview-window::before {
  content:''; position:absolute; inset:-1px;
  background: linear-gradient(120deg, transparent 5%, rgba(240,201,107,.22), transparent 34%, transparent 70%, rgba(90,210,255,.08), transparent 92%);
  transform: translateX(-100%); opacity:.62; animation: pwScan 8.5s 1.3s ease-in-out infinite;
}
.pw-preview-topbar { height: 38px; display:flex; align-items:center; gap:8px; padding:0 18px; border-bottom:1px solid rgba(255,255,255,.055); position:relative; z-index:1; }
.pw-preview-topbar span { width:8px; height:8px; border-radius:50%; background: rgba(240,201,107,.4); }
.pw-preview-topbar strong { margin-left:auto; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-light); }
.pw-preview-nav { display:flex; align-items:center; gap:10px; padding:18px 20px 8px; position:relative; z-index:1; }
.pw-preview-nav i { width:72px; height:16px; border-radius:9px; background:linear-gradient(90deg, var(--gold), var(--gold-light)); box-shadow:0 0 18px rgba(201,168,76,.35); }
.pw-preview-nav b { margin-left:auto; width:34px; height:6px; border-radius:4px; background:rgba(255,255,255,.12); }
.pw-preview-nav b + b { margin-left:0; width:44px; }
.pw-preview-hero-block { margin: 20px; min-height: 125px; border-radius:18px; background: radial-gradient(circle at 80% 25%, rgba(201,168,76,.16), transparent 38%), linear-gradient(135deg, rgba(201,168,76,.09), rgba(255,255,255,.025)); border:1px solid rgba(201,168,76,.16); display:flex; align-items:center; gap:18px; padding:22px; position:relative; z-index:1; }
.pw-preview-copy { flex:1; display:grid; gap:10px; }
.pw-preview-copy em, .pw-preview-copy strong, .pw-preview-copy span { display:block; border-radius:999px; transform-origin:left; animation: pwLineBuild .75s cubic-bezier(.2,.8,.2,1) both; }
.pw-preview-copy em { width:34%; height:8px; background:rgba(240,201,107,.45); animation-delay:.75s; }
.pw-preview-copy strong { width:88%; height:15px; background:rgba(255,255,255,.72); animation-delay:.88s; }
.pw-preview-copy span { width:68%; height:7px; background:rgba(255,255,255,.14); animation-delay:1.02s; }
.pw-preview-copy span:last-child { width:52%; animation-delay:1.13s; }
.pw-preview-action { width:74px; height:42px; border-radius:999px; background:linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow:0 12px 28px rgba(201,168,76,.28); animation: pwActionPop .55s 1.2s ease both; }
.pw-preview-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:0 20px; position:relative; z-index:1; }
.pw-preview-cards span { height:72px; border-radius:16px; background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); border:1px solid rgba(255,255,255,.065); animation: pwCardLift .7s ease both; }
.pw-preview-cards span:nth-child(1){ animation-delay:1.28s; } .pw-preview-cards span:nth-child(2){ animation-delay:1.42s; } .pw-preview-cards span:nth-child(3){ animation-delay:1.56s; }
.pw-preview-whats { position:absolute; left:26px; bottom:22px; display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px; color:#111; background:#25D366; font-weight:800; font-size:12px; box-shadow:0 12px 32px rgba(37,211,102,.2); z-index:1; animation: pwActionPop .55s 1.7s ease both; }
.pw-preview-whats::before { content:''; width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.2); }
.pw-preview-orbit { position:absolute; border:1px solid rgba(201,168,76,.18); border-radius:50%; filter:drop-shadow(0 0 18px rgba(201,168,76,.13)); }
.pw-orbit-a { width:290px; height:290px; right:18px; top:42px; opacity:.72; animation: pwOrbit 24s linear infinite; }
.pw-orbit-b { width:410px; height:410px; right:-46px; top:0; border-color:rgba(90,210,255,.08); opacity:.58; animation: pwOrbit 34s linear reverse infinite; }
.pw-preview-signal { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--gold-light); box-shadow:0 0 26px rgba(201,168,76,.75); }
.pw-signal-1 { right:70px; top:48px; animation: pwFloatSignal 7s ease-in-out infinite; }
.pw-signal-2 { left:78px; bottom:54px; animation: pwFloatSignal 8s .7s ease-in-out infinite; }
@keyframes pwWindowIn { from{opacity:0; transform:translate3d(28px,34px,0) scale(.94); filter:blur(8px)} to{opacity:1; transform:none; filter:blur(0)} }
@keyframes pwScan { 0%,45%{transform:translateX(-110%)} 70%,100%{transform:translateX(110%)} }
@keyframes pwLineBuild { from{opacity:0; transform:scaleX(.18)} to{opacity:1; transform:scaleX(1)} }
@keyframes pwActionPop { from{opacity:0; transform:translateY(14px) scale(.9)} to{opacity:1; transform:none} }
@keyframes pwCardLift { from{opacity:0; transform:translateY(18px)} to{opacity:1; transform:none} }
@keyframes pwOrbit { to{ transform: rotate(360deg); } }
@keyframes pwFloatSignal { 0%,100%{ transform:translate(0,0); opacity:.58 } 50%{ transform:translate(5px,-7px); opacity:.82 } }

/* hero precisa abrir espaço para a janela no desktop */
@media (min-width: 1040px) {
  #hero .hero-inner { text-align:left; max-width: 1200px; padding-right: 500px; }
  #hero .hero-logo, #hero .hero-sub { margin-left: 0; }
  #hero .hero-btns, #hero .hero-trust { justify-content:flex-start; }
}

/* cards ativados pela jornada */
.sobre-card, .servico-card, .beneficio-card, .depo-card, .comparacao-card, .incluso-card, .termo-card, .plano-card, .proc-card, .faq-item {
  will-change: transform, opacity;
}
.pw-animate-item { opacity:0; transform: translateY(26px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease, background .35s ease; }
.pw-animate-item.pw-in { opacity:1; transform: translateY(0); }
.pw-animate-item.pw-in:nth-child(2) { transition-delay:.07s; }
.pw-animate-item.pw-in:nth-child(3) { transition-delay:.14s; }
.pw-animate-item.pw-in:nth-child(4) { transition-delay:.21s; }
.pw-animate-item.pw-in:nth-child(5) { transition-delay:.28s; }
.is-current .pw-animate-item.pw-in, .pw-animate-item.pw-hot {
  border-color: rgba(201,168,76,.28) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.32), 0 0 0 1px rgba(201,168,76,.06), 0 0 44px rgba(201,168,76,.07);
}
.sobre-card:hover, .servico-card:hover, .beneficio-card:hover, .depo-card:hover, .comparacao-card:hover, .incluso-card:hover, .termo-card:hover, .proc-card:hover, .plano-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 70px rgba(0,0,0,.42), 0 0 42px rgba(201,168,76,.09);
}

/* Plano Profissional mais vendedor, sem alterar preço/texto */
.plano-destaque {
  position: relative;
  transform: translateY(-12px);
  box-shadow: 0 24px 80px rgba(0,0,0,.50), 0 0 70px rgba(201,168,76,.10) !important;
  background: linear-gradient(150deg, rgba(201,168,76,.10), rgba(24,24,29,.98) 26%, rgba(10,10,11,.96)) !important;
}
.plano-destaque::before {
  content:''; position:absolute; inset:-2px; border-radius: inherit; padding:2px;
  background: linear-gradient(130deg, transparent 0 18%, rgba(240,201,107,.78), rgba(201,168,76,.22), transparent 72%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: pwBorderFlow 7.5s ease-in-out infinite;
  pointer-events:none;
}
.plano-destaque::after {
  content:'Melhor custo-benefício'; position:absolute; right:22px; top:22px;
  font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:900;
  color:#101010; background:linear-gradient(135deg, var(--gold-light), var(--gold)); padding:7px 10px; border-radius:999px;
  box-shadow:0 10px 28px rgba(201,168,76,.28);
}
.plano-destaque .plano-popular { transform: scale(1.06); box-shadow: 0 12px 30px rgba(201,168,76,.22); }
.plano-card .plano-features li { opacity:.92; transform-origin:left; }
.plano-card.pw-in .plano-features li { animation: pwFeatureIn .45s ease both; }
.plano-card.pw-in .plano-features li:nth-child(2){ animation-delay:.05s } .plano-card.pw-in .plano-features li:nth-child(3){ animation-delay:.1s } .plano-card.pw-in .plano-features li:nth-child(4){ animation-delay:.15s } .plano-card.pw-in .plano-features li:nth-child(5){ animation-delay:.2s } .plano-card.pw-in .plano-features li:nth-child(6){ animation-delay:.25s } .plano-card.pw-in .plano-features li:nth-child(7){ animation-delay:.3s } .plano-card.pw-in .plano-features li:nth-child(8){ animation-delay:.35s }
@keyframes pwBorderFlow { 0%,100%{opacity:.48; filter:hue-rotate(0deg)} 50%{opacity:.78; filter:hue-rotate(-6deg)} }
@keyframes pwFeatureIn { from{opacity:0; transform:translateX(-10px)} to{opacity:1; transform:none} }

/* timeline/processo */
.processo-grid { position:relative; }
.processo-grid::before {
  content:''; position:absolute; left:0; right:0; top: 64px; height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.18), transparent);
  z-index:0;
}
.proc-card { position:relative; z-index:1; }
.proc-card.pw-hot .proc-step, .proc-card.pw-hot .proc-icon { color: var(--gold-light); text-shadow:0 0 24px rgba(201,168,76,.36); opacity:1; }
.proc-card.pw-hot::after {
  content:''; position:absolute; inset:auto 28px -1px 28px; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-light), transparent);
  box-shadow:0 0 18px rgba(201,168,76,.45);
}

/* CTA final com sensação de chegada */
#contato, #cta-final { overflow:hidden; }
#contato::before, #cta-final::before {
  content:''; position:absolute; left:50%; top:0; width:min(880px,90vw); height:min(880px,90vw); transform:translate(-50%, -58%);
  background: radial-gradient(circle, rgba(201,168,76,.16), rgba(201,168,76,.055) 30%, transparent 68%);
  pointer-events:none;
}
#contato .btn-primary, #cta-final .btn-primary { position:relative; overflow:hidden; }
#contato .btn-primary::after, #cta-final .btn-primary::after, .nav-cta::after {
  content:''; position:absolute; inset:0; background:linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent); transform:translateX(-120%);
  animation: pwButtonSweep 7.5s ease-in-out infinite;
}
@keyframes pwButtonSweep { 0%,66%{transform:translateX(-120%)} 82%,100%{transform:translateX(120%)} }

/* responsivo/performance */
@media (max-width: 1120px) {
  .pw-site-preview { opacity:.22; right:-90px; filter: blur(.2px); }
  #assinatura-hero .container { margin-left:auto; }
}
@media (max-width: 900px) {
  /* Jornada mobile: trilha mínima, sem textos, sem anel infinito pesado. */
  .pw-journey-rail {
    display:block;
    left:auto;
    right:10px;
    top:96px;
    bottom:92px;
    width:2px;
    z-index:45;
    opacity:.42;
    transform:none;
  }
  .pw-journey-ready .pw-journey-rail { opacity:.48; transform:none; }
  .pw-rail-track { background:linear-gradient(180deg, transparent, rgba(201,168,76,.12), rgba(201,168,76,.06), transparent); box-shadow:none; }
  .pw-rail-fill { background:linear-gradient(180deg, rgba(240,201,107,.18), rgba(240,201,107,.72), rgba(201,168,76,.54)); box-shadow:0 0 10px rgba(201,168,76,.22); }
  .pw-rail-pulse { width:9px; height:9px; box-shadow:0 0 12px rgba(240,201,107,.42); }
  .pw-rail-pulse::after { display:none; }
  .pw-journey-marker { width:7px; height:7px; background:rgba(39,35,25,.9); box-shadow:none; }
  .pw-journey-marker::after { display:none; }
  .pw-journey-marker.is-active { transform:translate(-50%, -50%) scale(1.18); box-shadow:0 0 0 4px rgba(201,168,76,.08), 0 0 12px rgba(201,168,76,.34); }
  .pw-site-preview { display:none; }
  .pw-journey-section::after { inset: 18px 12px; border-radius: 24px; opacity:.58; }
  #assinatura-hero { min-height:auto; padding: 135px 0 76px; text-align:center; }
  #assinatura-hero .container { margin-left:auto; }
  #assinatura-hero .hero-sub { margin-left:auto; margin-right:auto; }
  .processo-grid::before { display:none; }
  .plano-destaque { transform:none; }
  .plano-destaque::after { position:static; display:inline-flex; margin:12px 0 0 0; }
}
@media (max-width: 576px) {
  .pw-journey-section::after { display:none; }
  .pw-animate-item { opacity:1; transform:none; }
}
@media (prefers-reduced-motion: reduce) {
  .pw-journey-rail, .pw-site-preview, .pw-journey-section::after { display:none !important; }
  .pw-animate-item { opacity:1 !important; transform:none !important; }
  #contato .btn-primary::after, #cta-final .btn-primary::after, .nav-cta::after, .pw-preview-window::before, .pw-preview-orbit, .pw-preview-signal, .plano-destaque::before { animation:none !important; display:none; }
}
.reduced-motion .pw-journey-rail, .reduced-motion .pw-site-preview, .reduced-motion .pw-journey-section::after { display:none !important; }
.reduced-motion .pw-animate-item { opacity:1 !important; transform:none !important; }

/* ============================================================
   LANDING SEO LOCAL — Potencial Web
   Página modelo: criacao-de-sites-em-cidade-modelo
   Foco: venda local por WhatsApp, sem aparência de artigo/blog.
   ============================================================ */
.local-landing-page #navbar { top: 0; background: rgba(10,10,11,.86); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(201,168,76,.12); }
.local-landing-page #navbar.scrolled { top: 0; }
.local-landing-page .nav-logo-img { height: 86px; }
.local-hero {
  position: relative;
  min-height: 100vh;
  padding: 150px 0 90px;
  overflow: hidden;
  background:
    radial-gradient(circle at 75% 25%, rgba(201,168,76,.20), transparent 34%),
    radial-gradient(circle at 18% 18%, rgba(240,201,107,.10), transparent 28%),
    linear-gradient(135deg, #0A0A0B 0%, #111114 58%, #0A0A0B 100%);
}
.local-bg-grid {
  position: absolute;
  inset: 0;
  opacity: .18;
  background-image:
    linear-gradient(rgba(201,168,76,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,.18) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 60% 35%, #000 0%, transparent 72%);
  pointer-events: none;
}
.local-hero::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: min(900px, 90vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.65), transparent);
}
.local-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 470px);
  align-items: center;
  gap: 64px;
}
.local-hero-copy h1 {
  font-family: var(--ff-display);
  font-size: clamp(48px, 7vw, 86px);
  line-height: .95;
  letter-spacing: .3px;
  color: #fff;
  max-width: 820px;
}
.local-hero-copy h1 span { color: var(--gold-light); text-shadow: 0 0 36px rgba(201,168,76,.22); }
.local-hero-sub {
  margin-top: 24px;
  max-width: 660px;
  color: var(--muted);
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.75;
}
.local-hero-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 34px; }
.local-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.local-hero-trust span {
  color: rgba(232,230,224,.88);
  font-size: 13px;
  font-weight: 700;
  border: 1px solid rgba(201,168,76,.18);
  background: rgba(255,255,255,.035);
  border-radius: 999px;
  padding: 8px 12px;
}
.local-hero-visual { position: relative; min-height: 510px; }
.local-site-mockup {
  position: absolute;
  inset: 34px 0 52px 20px;
  border: 1px solid rgba(201,168,76,.24);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(24,24,29,.92), rgba(10,10,11,.80));
  box-shadow: 0 35px 90px rgba(0,0,0,.55), 0 0 80px rgba(201,168,76,.10), inset 0 1px 0 rgba(255,255,255,.07);
  overflow: hidden;
  transform: perspective(1000px) rotateY(-7deg) rotateX(3deg);
}
.mockup-top { height: 44px; display: flex; align-items: center; gap: 8px; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.06); }
.mockup-top span { width: 10px; height: 10px; border-radius: 50%; background: rgba(201,168,76,.55); }
.mockup-body { padding: 28px; }
.mockup-badge { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: rgba(37,211,102,.12); border: 1px solid rgba(37,211,102,.28); color: #baf7cf; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.mockup-title { height: 54px; width: 78%; margin-top: 26px; border-radius: 16px; background: linear-gradient(90deg, rgba(240,201,107,.82), rgba(201,168,76,.32)); }
.mockup-line { height: 12px; width: 58%; margin-top: 14px; border-radius: 999px; background: rgba(232,230,224,.16); }
.mockup-line.wide { width: 88%; }
.mockup-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 30px; }
.mockup-cards span { min-height: 88px; border-radius: 16px; border: 1px solid rgba(201,168,76,.14); background: rgba(255,255,255,.045); }
.mockup-wa { margin-top: 30px; border-radius: 16px; padding: 15px 16px; background: rgba(37,211,102,.12); color: #d7ffe5; border: 1px solid rgba(37,211,102,.25); font-weight: 800; }
.local-floating-card {
  position: absolute;
  max-width: 220px;
  padding: 14px 16px;
  border-radius: 16px;
  color: #fff;
  background: rgba(17,17,20,.82);
  border: 1px solid rgba(201,168,76,.22);
  box-shadow: 0 16px 44px rgba(0,0,0,.32);
  backdrop-filter: blur(10px);
  font-weight: 700;
}
.local-floating-card.card-one { top: 6px; right: 8px; }
.local-floating-card.card-two { bottom: 6px; left: 0; }
.local-section { padding: 96px 0; position: relative; }
.local-dark { background: linear-gradient(180deg, var(--bg2), #0d0d0f); }
.local-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.local-text-card {
  padding: 32px;
  border: 1px solid rgba(201,168,76,.16);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow: 0 20px 55px rgba(0,0,0,.24);
}
.local-text-card p + p { margin-top: 16px; }
.local-segment-grid,
.local-incluso-grid,
.local-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.local-mini-card,
.local-feature-card,
.local-benefit-card,
.local-step-card,
.local-plan-card {
  border: 1px solid rgba(201,168,76,.13);
  background: rgba(255,255,255,.035);
  border-radius: 20px;
  transition: transform .32s ease, border-color .32s ease, background .32s ease, box-shadow .32s ease;
}
.local-mini-card:hover,
.local-feature-card:hover,
.local-benefit-card:hover,
.local-step-card:hover,
.local-plan-card:hover { transform: translateY(-4px); border-color: rgba(201,168,76,.32); background: rgba(255,255,255,.055); box-shadow: 0 18px 45px rgba(0,0,0,.22); }
.local-mini-card { padding: 22px; min-height: 142px; }
.local-mini-card strong { display: block; color: #fff; font-size: 17px; margin-bottom: 8px; }
.local-mini-card span { display: block; color: var(--muted); font-size: 14px; line-height: 1.55; }
.local-feature-card { padding: 24px; min-height: 176px; }
.local-feature-card span { color: var(--gold); font-weight: 900; font-size: 13px; letter-spacing: .08em; }
.local-feature-card strong { display: block; color: #fff; margin-top: 12px; font-size: 18px; }
.local-feature-card p { color: var(--muted); margin-top: 8px; font-size: 14px; line-height: 1.6; }
.local-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.local-timeline::before {
  content: '';
  position: absolute;
  top: 32px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.45), transparent);
  pointer-events: none;
}
.local-step-card { position: relative; z-index: 1; padding: 24px; background: rgba(17,17,20,.92); }
.local-step-card span {
  display: inline-flex;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: var(--gold);
  color: #0A0A0B;
  font-weight: 900;
  box-shadow: 0 0 0 8px rgba(201,168,76,.08);
}
.local-step-card h3 { margin-top: 18px; color: #fff; font-size: 18px; line-height: 1.25; }
.local-step-card p { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.local-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.local-plan-card { position: relative; padding: 30px; overflow: hidden; display: flex; flex-direction: column; }
.local-plan-card h3 { color: #fff; font-family: var(--ff-display); font-size: 34px; line-height: 1; }
.local-plan-desc { color: var(--muted); margin-top: 10px; min-height: 54px; }
.local-price { margin-top: 22px; display: flex; align-items: baseline; gap: 8px; }
.local-price strong { color: var(--gold-light); font-size: 34px; line-height: 1; }
.local-price span { color: var(--muted); font-size: 14px; }
.local-month { margin-top: 8px; color: #fff; font-size: 20px; font-weight: 900; }
.local-plan-card ul { margin: 22px 0 26px; display: grid; gap: 10px; color: var(--muted); }
.local-plan-card li { position: relative; padding-left: 22px; }
.local-plan-card li::before { content: '✓'; position: absolute; left: 0; color: var(--gold); font-weight: 900; }
.local-plan-card .btn-primary,
.local-plan-card .btn-outline { margin-top: auto; width: 100%; }
.local-plan-featured { border-color: rgba(240,201,107,.42); background: linear-gradient(145deg, rgba(201,168,76,.12), rgba(255,255,255,.035)); transform: translateY(-10px); box-shadow: 0 26px 70px rgba(0,0,0,.32), 0 0 55px rgba(201,168,76,.10); }
.local-plan-featured::before { content:''; position:absolute; inset:0; border-radius: inherit; background: linear-gradient(120deg, transparent, rgba(240,201,107,.10), transparent); pointer-events:none; }
.local-plan-tag { position: absolute; top: 18px; right: 18px; padding: 7px 10px; border-radius: 999px; color: #0A0A0B; background: var(--gold-light); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.local-after-plan { margin: 26px auto 0; max-width: 880px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px; border-radius: 20px; border: 1px solid rgba(201,168,76,.18); background: rgba(255,255,255,.035); }
.local-after-plan strong { color: #fff; font-size: 18px; }
.local-after-plan span { color: var(--muted); flex: 1; }
.local-benefit-card { min-height: 118px; padding: 22px; display: flex; align-items: center; color: #fff; font-weight: 800; line-height: 1.35; }
.local-final-cta { padding: 96px 0 110px; background: radial-gradient(circle at 50% 0%, rgba(201,168,76,.16), transparent 42%), var(--bg); }
.local-cta-box { max-width: 920px; margin: 0 auto; text-align: center; padding: clamp(34px, 6vw, 64px); border-radius: 32px; border: 1px solid rgba(201,168,76,.23); background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.local-cta-box h2 { font-family: var(--ff-display); font-size: clamp(38px, 6vw, 70px); line-height: .98; color: #fff; }
.local-cta-box p { margin: 18px auto 28px; max-width: 650px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.local-model-note { margin-top: 18px; color: rgba(232,230,224,.55); text-align: center; font-size: 13px; }
.local-landing-page .faq-wrapper { max-width: 920px; }
.local-landing-page .faq-item { background: rgba(255,255,255,.035); }
.local-landing-page .pw-animate-item.pw-in,
.local-landing-page .fade-up.visible { will-change: auto; }

@media (max-width: 1120px) {
  .local-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .local-hero-visual { min-height: 430px; max-width: 520px; width: 100%; margin: 0 auto; }
  .local-site-mockup { inset: 24px 20px 42px; transform: none; }
  .local-floating-card.card-one { right: 0; }
  .local-segment-grid,
  .local-incluso-grid,
  .local-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .local-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .local-timeline::before { display: none; }
}
@media (max-width: 992px) {
  .local-landing-page #navbar { top: 0; }
  .local-landing-page #navbar .container { min-height: 78px; }
  .local-landing-page .nav-logo-img { height: 76px; }
}
@media (max-width: 820px) {
  .local-hero { min-height: auto; padding: 126px 0 68px; }
  .local-split, .local-plan-grid { grid-template-columns: 1fr; }
  .local-plan-featured { transform: none; }
  .local-after-plan { flex-direction: column; text-align: center; align-items: stretch; }
  .local-after-plan .btn-primary { width: 100%; }
}
@media (max-width: 576px) {
  .local-landing-page body { padding-bottom: 70px; }
  .local-landing-page #navbar { top: 0; }
  .local-landing-page .nav-logo-img { height: 64px; }
  .local-hero { padding-top: 110px; }
  .local-hero-copy h1 { font-size: clamp(40px, 13vw, 58px); }
  .local-hero-actions .btn-primary,
  .local-hero-actions .btn-outline { width: 100%; }
  .local-hero-visual { min-height: 360px; }
  .local-site-mockup { inset: 18px 0 34px; }
  .mockup-body { padding: 22px; }
  .mockup-title { height: 42px; }
  .mockup-cards { gap: 8px; }
  .mockup-cards span { min-height: 64px; }
  .local-floating-card { display: none; }
  .local-section { padding: 68px 0; }
  .local-segment-grid,
  .local-incluso-grid,
  .local-benefit-grid,
  .local-timeline { grid-template-columns: 1fr; }
  .local-text-card, .local-plan-card, .local-cta-box { padding: 24px; }
  .local-plan-desc { min-height: auto; }
  .local-price strong { font-size: 30px; }
  .local-month { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .local-site-mockup,
  .local-mini-card,
  .local-feature-card,
  .local-benefit-card,
  .local-step-card,
  .local-plan-card { transition: none !important; transform: none !important; }
  .local-mini-card:hover,
  .local-feature-card:hover,
  .local-benefit-card:hover,
  .local-step-card:hover,
  .local-plan-card:hover,
  .local-plan-featured { transform: none !important; }
}

/* === Páginas locais reais — contexto e links internos === */
.local-city-context {
  padding-top: 70px;
  padding-bottom: 70px;
}

.local-context-box {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(201, 168, 76, 0.22);
  border-radius: 28px;
  padding: clamp(28px, 5vw, 52px);
  background:
    radial-gradient(circle at 15% 15%, rgba(240, 201, 107, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(16, 16, 18, 0.98), rgba(28, 25, 18, 0.94));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
}

.local-context-box::after {
  content: "";
  position: absolute;
  inset: auto -12% -40% auto;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(201, 168, 76, 0.08);
  filter: blur(8px);
  pointer-events: none;
}

.local-context-box .section-title {
  max-width: 780px;
  margin-bottom: 18px;
}

.local-context-box p {
  max-width: 820px;
  color: rgba(232, 230, 224, 0.82);
  font-size: 1.04rem;
  line-height: 1.75;
}

.local-context-box .btn-outline {
  margin-top: 22px;
}

.footer-local-links ul {
  max-height: none;
}

@media (max-width: 768px) {
  .local-city-context {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .local-context-box {
    border-radius: 22px;
  }
}
