.elementor-6394 .elementor-element.elementor-element-ede0c0f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6394 .elementor-element.elementor-element-fd0336f > .elementor-widget-container{margin:-25px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-3dade2e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-bc8c5ed > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-472b61e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-1c6a824 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-ce1a80e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-f98a4b8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-1f68ec2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-1c50048 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-6ebc857 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-d133e52 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-1bdfebb > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6394 .elementor-element.elementor-element-1532fef > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --radius: 0.875rem;
  --background: oklch(0.985 0.003 60);
  --foreground: oklch(0.12 0.005 20);
  --surface: oklch(0.965 0.004 50);
  --surface-elevated: oklch(0.995 0.002 60);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.12 0.005 20);
  --wine-deep: oklch(0.22 0.06 18);
  --wine: oklch(0.30 0.09 18);
  --accent-red: oklch(0.52 0.21 24);
  --primary: oklch(0.14 0.01 20);
  --primary-foreground: oklch(0.98 0 0);
  --primary-glow: oklch(0.52 0.21 24);
  --secondary: oklch(0.95 0.003 50);
  --secondary-foreground: oklch(0.14 0.01 20);
  --muted: oklch(0.94 0.003 50);
  --muted-foreground: oklch(0.40 0.008 20);
  --accent: oklch(0.93 0.01 18);
  --accent-foreground: oklch(0.14 0.01 20);
  --border: oklch(0.89 0.004 50);
  --border-strong: oklch(0.78 0.006 30);
  --input: oklch(0.92 0.004 50);
  --ring: oklch(0.52 0.21 24);
  --g-primary: linear-gradient(135deg, oklch(0.14 0.01 20), oklch(0.30 0.09 18));
  --g-wine: linear-gradient(135deg, oklch(0.18 0.05 18), oklch(0.28 0.09 18));
  --g-radial: radial-gradient(ellipse at top, oklch(0.85 0.02 20 / 0.5), transparent 70%);
  --g-mesh: radial-gradient(at 12% 8%, oklch(0.92 0.01 20 / 0.7), transparent 55%), radial-gradient(at 88% 92%, oklch(0.90 0.015 30 / 0.5), transparent 55%);
  --g-holo: conic-gradient(from 180deg at 50% 50%, oklch(0.85 0.05 230) 0deg, oklch(0.80 0.06 280) 90deg, oklch(0.75 0.08 20) 180deg, oklch(0.85 0.05 200) 270deg, oklch(0.85 0.05 230) 360deg);
  --s-glow: 0 0 60px -10px oklch(0 0 0 / 0.18);
  --s-elevated: 0 30px 70px -28px oklch(0 0 0 / 0.20), 0 2px 8px -2px oklch(0 0 0 / 0.06);
  --s-card: 0 1px 2px oklch(0 0 0 / 0.04), 0 12px 28px -12px oklch(0 0 0 / 0.10);
}

.dark {
  --background: oklch(0.06 0.002 260);
  --foreground: oklch(0.97 0.003 240);
  --surface: oklch(0.09 0.003 250);
  --surface-elevated: oklch(0.12 0.004 250);
  --card: oklch(0.085 0.003 250);
  --card-foreground: oklch(0.97 0.003 240);
  --wine-deep: oklch(0.14 0.04 18);
  --wine: oklch(0.22 0.06 18);
  --accent-red: oklch(0.62 0.22 24);
  --primary: oklch(0.97 0.003 240);
  --primary-foreground: oklch(0.08 0.003 250);
  --primary-glow: oklch(0.62 0.22 24);
  --secondary: oklch(0.13 0.004 250);
  --secondary-foreground: oklch(0.97 0.003 240);
  --muted: oklch(0.13 0.004 250);
  --muted-foreground: oklch(0.66 0.005 240);
  --accent: oklch(0.16 0.006 250);
  --accent-foreground: oklch(0.97 0.003 240);
  --border: oklch(1 0 0 / 0.08);
  --border-strong: oklch(1 0 0 / 0.18);
  --input: oklch(1 0 0 / 0.06);
  --ring: oklch(0.62 0.22 24);
  --g-primary: linear-gradient(135deg, oklch(0.18 0.005 250), oklch(0.10 0.004 250));
  --g-wine: linear-gradient(140deg, oklch(0.07 0.002 260) 0%, oklch(0.14 0.04 18) 70%, oklch(0.20 0.06 20) 100%);
  --g-radial: radial-gradient(ellipse 60% 50% at 50% 0%, oklch(0.16 0.04 18 / 0.5), transparent 70%);
  --g-mesh: radial-gradient(at 15% 10%, oklch(0.16 0.03 250 / 0.6), transparent 55%), radial-gradient(at 85% 90%, oklch(0.14 0.04 18 / 0.4), transparent 55%), radial-gradient(at 50% 50%, oklch(0.05 0.002 260 / 0.5), transparent 80%);
  --g-holo: conic-gradient(from 180deg at 50% 50%, oklch(0.55 0.18 230) 0deg, oklch(0.50 0.20 280) 90deg, oklch(0.60 0.22 20) 180deg, oklch(0.55 0.15 200) 270deg, oklch(0.55 0.18 230) 360deg);
  --s-glow: 0 0 120px -20px oklch(0.62 0.22 24 / 0.25);
  --s-elevated: 0 40px 100px -28px oklch(0 0 0 / 0.85), 0 2px 8px -2px oklch(0 0 0 / 0.6);
  --s-card: 0 1px 2px oklch(0 0 0 / 0.5), 0 20px 50px -16px oklch(0 0 0 / 0.7);
}

html { scroll-behavior: smooth; }
body {
  background-color: var(--background);
  color: var(--foreground);
  font-family: Inter, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.7s ease, color 0.7s ease;
  overflow-x: hidden;
}
h1, h2, h3, h4, .font-display { font-family: "Space Grotesk", Inter, system-ui, sans-serif; letter-spacing: -0.02em; }
::selection { background: var(--accent-red); color: white; }

.glass {
  background: color-mix(in oklab, var(--surface) 50%, transparent);
  backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid var(--border);
}
.glass-strong {
  background: color-mix(in oklab, var(--surface) 78%, transparent);
  backdrop-filter: blur(30px) saturate(180%);
  border: 1px solid var(--border-strong);
}
.gradient-text {
  background: linear-gradient(135deg, var(--foreground) 0%, var(--foreground) 55%, color-mix(in oklab, var(--accent-red) 80%, var(--foreground)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.holo-text {
  background: var(--g-holo);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: holo-shift 8s linear infinite;
}
.text-wine-accent { color: var(--accent-red); }
.hover-lift { transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s ease, border-color 0.5s ease; }
.hover-lift:hover { transform: translateY(-4px); box-shadow: var(--s-elevated); }
.card-premium {
  position: relative;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) + 8px);
  box-shadow: var(--s-card);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s ease, border-color 0.5s ease;
}
.card-premium:hover { border-color: var(--border-strong); box-shadow: var(--s-elevated); transform: translateY(-3px); }
.section-pad { padding-block: 5rem; }
@media (min-width: 768px) { .section-pad { padding-block: 7rem; } }
.container-x { width: 100%; margin-inline: auto; padding-inline: 1.25rem; max-width: 80rem; }
@media (min-width: 768px) { .container-x { padding-inline: 2rem; } }
.grid-bg {
  background-image: linear-gradient(to right, color-mix(in oklab, var(--foreground) 5%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--foreground) 5%, transparent) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, black 30%, transparent 80%);
}
.noise { position: relative; }
.noise::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.05;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.6'/></svg>");
}
.wine-glow { background: radial-gradient(closest-side, color-mix(in oklab, var(--wine) 70%, transparent), transparent 70%); filter: blur(70px); }
.red-spark { background: radial-gradient(closest-side, color-mix(in oklab, var(--accent-red) 60%, transparent), transparent 70%); filter: blur(40px); }
.hairline { background: linear-gradient(to right, transparent, var(--border-strong), transparent); height: 1px; }
.hairline-v { background: linear-gradient(to bottom, transparent, var(--border-strong), transparent); width: 1px; }

.fb-placeholder { background: radial-gradient(120% 80% at 20% 15%, rgba(196, 6, 10, 0.20), transparent 60%), linear-gradient(135deg, #08070a 0%, #1a0a10 100%); }
.fb-placeholder:nth-of-type(2n) { background: radial-gradient(120% 80% at 80% 20%, rgba(122, 10, 20, 0.22), transparent 60%), linear-gradient(135deg, #0a0a0a 0%, #150810 100%); }
.fb-placeholder:nth-of-type(3n) { background: radial-gradient(120% 80% at 50% 80%, rgba(196, 6, 10, 0.20), transparent 60%), linear-gradient(135deg, #060608 0%, #1c0b13 100%); }
.fb-placeholder-grid { background-image: repeating-linear-gradient(0deg, #fff 0 1px, transparent 1px 40px), repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px 40px); }
.fb-placeholder-glow { background: #c4060a; }
.fb-icon { display: inline-grid; place-items: center; width: 1.1em; height: 1.1em; color: var(--accent-red); }
.fb-icon::before { content: "✦"; font-size: 0.95em; line-height: 1; }

.fb-header.is-scrolled .fb-header-inner { background: color-mix(in oklab, var(--surface) 78%, transparent); backdrop-filter: blur(30px) saturate(180%); border-color: var(--border-strong); box-shadow: var(--s-card); }
.fb-lang-menu, .fb-mobile-menu { display: none; }
.fb-lang-menu.is-open, .fb-mobile-menu.is-open { display: block; }
.fb-faq-answer { display: none; }
.fb-faq-item.is-open .fb-faq-answer { display: block; }
.fb-faq-item.is-open .fb-faq-plus { transform: rotate(45deg); }
.fb-step { display: none; }
.fb-step.is-active { display: block; }
.fb-form-success { display: none; }
.fb-form-success.is-active { display: block; }
.fb-portfolio-card.is-hidden { display: none; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 80ms; }
.reveal-delay-2 { transition-delay: 160ms; }
.reveal-delay-3 { transition-delay: 240ms; }
.reveal-delay-4 { transition-delay: 320ms; }
.reveal-delay-5 { transition-delay: 400ms; }
.reveal-delay-6 { transition-delay: 480ms; }

@keyframes fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes float-slow { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-14px) rotate(0.5deg); } }
@keyframes float-slower { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-22px); } }
@keyframes glow-pulse { 0%, 100% { opacity: 0.45; } 50% { opacity: 1; } }
@keyframes scan-line { 0% { transform: translateY(-100%); opacity: 0; } 10% { opacity: 1; } 100% { transform: translateY(220%); opacity: 0; } }
@keyframes shimmer-x { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes holo-shift { 0% { background-position: 0% 0%; } 100% { background-position: 200% 200%; } }
@keyframes spin-slow { to { transform: rotate(360deg); } }
@keyframes drift { 0%, 100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(20px,-30px,0); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.animate-fade-up { animation: fade-up 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; }
.animate-fade-in { animation: fade-in 0.8s ease both; }
.animate-float-slow { animation: float-slow 7s ease-in-out infinite; }
.animate-float-slower { animation: float-slower 11s ease-in-out infinite; }
.animate-glow-pulse { animation: glow-pulse 3s ease-in-out infinite; }
.animate-scan { animation: scan-line 6s linear infinite; }
.animate-spin-slow { animation: spin-slow 28s linear infinite; }
.animate-drift { animation: drift 12s ease-in-out infinite; }
.animate-marquee { animation: marquee 40s linear infinite; }

@media (prefers-reduced-motion: reduce) {
  .animate-fade-up, .animate-fade-in, .animate-float-slow, .animate-float-slower, .animate-glow-pulse, .animate-scan, .animate-spin-slow, .animate-drift, .animate-marquee { animation: none !important; }
  .reveal { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 767px) {
  .fb-portfolio-desktop-filters {
    display: none !important;
  }

  .fb-portfolio-mobile-filters {
    display: grid !important;
  }
}

@media (min-width: 768px) {
  .fb-portfolio-mobile-filters {
    display: none !important;
  }
}

.fb-portfolio-mobile-filters {
  gap: 0.9rem;
  margin-top: 2rem;
}

.fb-portfolio-filter-field {
  position: relative;
}

.fb-portfolio-filter-label {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.62rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--muted-foreground);
}

.fb-portfolio-filter-select {
  width: 100%;
  appearance: none;
  border: 1px solid color-mix(in oklab, var(--accent-red) 45%, var(--border));
  background:
    linear-gradient(135deg, color-mix(in oklab, var(--surface) 92%, transparent), color-mix(in oklab, var(--surface) 72%, transparent));
  color: var(--foreground);
  border-radius: 1.2rem;
  padding: 1rem 3rem 1rem 1rem;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  outline: none;
  box-shadow: none;
}

.fb-portfolio-filter-field::after {
  content: "";
  position: absolute;
  right: 1.1rem;
  bottom: 1.25rem;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 1.5px solid var(--accent-red);
  border-bottom: 1.5px solid var(--accent-red);
  transform: rotate(45deg);
  pointer-events: none;
}

.fb-portfolio-filter-select option {
  background: #090909;
  color: #ffffff;
}

/* Ajuste de hover do PortfolioSection */
.fb-portfolio-section a,
.fb-portfolio-section a:visited {
  color: inherit;
}

.fb-portfolio-section a:hover,
.fb-portfolio-section a:focus,
.fb-portfolio-section a:active {
  color: inherit;
}

.fb-portfolio-section .fb-portfolio-card:hover h3,
.fb-portfolio-section .fb-portfolio-card:hover p,
.fb-portfolio-section .fb-portfolio-card:hover span,
.fb-portfolio-section .fb-portfolio-card:hover div {
  color: inherit;
}

.fb-portfolio-section .fb-portfolio-card:hover h3 {
  color: var(--foreground) !important;
}

.fb-portfolio-section .fb-portfolio-card:hover .text-primary,
.fb-portfolio-section .fb-portfolio-card .text-primary,
.fb-portfolio-section .fb-portfolio-card:hover [class*="text-primary"] {
  color: var(--accent-red) !important;
}

.fb-portfolio-section .fb-portfolio-card:hover .text-muted-foreground {
  color: color-mix(in oklab, var(--foreground) 72%, transparent) !important;
}

.fb-portfolio-section .fb-portfolio-card:hover {
  border-color: color-mix(in oklab, var(--accent-red) 36%, var(--border)) !important;
  background:
    radial-gradient(circle at top right, color-mix(in oklab, var(--accent-red) 10%, transparent), transparent 38%),
    color-mix(in oklab, var(--surface) 92%, transparent) !important;
}

.fb-portfolio-section .fb-portfolio-card:hover .group-hover:text-primary {
  color: var(--accent-red) !important;
}

.fb-portfolio-section .fb-portfolio-card:hover .group-hover:rotate-45 {
  color: var(--accent-red) !important;
}

/* Correção global de hover azul no modo escuro */
:root,
html,
body {
  --primary: var(--accent-red) !important;
  --primary-foreground: #ffffff !important;
}

html[data-theme="dark"],
html.dark,
body.dark {
  --primary: var(--accent-red) !important;
  --primary-foreground: #ffffff !important;
}

/* Links gerais */
a,
a:visited {
  color: inherit;
}

a:hover,
a:focus,
a:active {
  color: inherit;
}

/* Classes text primary do Tailwind ou Lovable */
.text-primary,
.hover:text-primary:hover,
.group:hover .group-hover:text-primary {
  color: var(--accent-red) !important;
}

/* Bordas primary */
.border-primary,
.hover:border-primary:hover,
.group:hover .group-hover:border-primary {
  border-color: var(--accent-red) !important;
}

/* Background primary */
.bg-primary,
.hover:bg-primary:hover,
.group:hover .group-hover:bg-primary {
  background-color: var(--accent-red) !important;
}

/* Ring primary */
.ring-primary,
.focus:ring-primary:focus,
.focus-visible:ring-primary:focus-visible {
  --tw-ring-color: var(--accent-red) !important;
}

/* SVGs e ícones em hover */
.hover:text-primary:hover svg,
.group:hover .group-hover:text-primary svg {
  color: var(--accent-red) !important;
  stroke: currentColor !important;
}

/* Cards premium no hover */
.card-premium:hover {
  border-color: color-mix(in oklab, var(--accent-red) 36%, var(--border)) !important;
}

/* Botões e links internos em cards */
.card-premium:hover .text-primary,
.card-premium:hover [class*="text-primary"],
.card-premium:hover .group-hover:text-primary {
  color: var(--accent-red) !important;
}

/* Evita azul em títulos e textos ao passar o mouse */
.card-premium:hover h1,
.card-premium:hover h2,
.card-premium:hover h3,
.card-premium:hover h4,
.card-premium:hover p,
.card-premium:hover span {
  color: inherit;
}

/* Mantém textos secundários legíveis */
.card-premium:hover .text-muted-foreground {
  color: color-mix(in oklab, var(--foreground) 72%, transparent) !important;
}

/* Botões com borda no hover */
button:hover,
[role="button"]:hover {
  border-color: color-mix(in oklab, var(--accent-red) 36%, var(--border));
}

/* Header, menu e navegação */
.fb-header a:hover,
.fb-header button:hover,
.fb-mobile-menu a:hover,
.fb-mobile-menu button:hover {
  color: var(--foreground) !important;
}

/* Ícones do header */
.fb-header button:hover svg,
.fb-header a:hover svg {
  color: var(--foreground) !important;
}

/* Elementos com hover azul herdado */
[class*="hover:text-primary"]:hover,
[class*="group-hover:text-primary"] {
  color: var(--accent-red) !important;
}

/* CTA principal da FB */
.fb-main-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3rem;
  padding: 0.95rem 1.35rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--accent-red) 48%, var(--border));
  background:
    radial-gradient(circle at top left, color-mix(in oklab, var(--accent-red) 24%, transparent), transparent 42%),
    linear-gradient(135deg, color-mix(in oklab, var(--foreground) 96%, var(--accent-red)), var(--foreground));
  color: var(--background) !important;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  overflow: hidden;
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--accent-red) 12%, transparent),
    0 14px 38px color-mix(in oklab, var(--accent-red) 18%, transparent);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    opacity 0.25s ease;
}

.fb-main-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 0%,
    transparent 34%,
    rgba(255, 255, 255, 0.34) 48%,
    transparent 62%,
    transparent 100%
  );
  transform: translateX(-120%);
  transition: transform 0.65s ease;
}

.fb-main-cta:hover {
  transform: translateY(-2px);
  border-color: var(--accent-red);
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--accent-red) 28%, transparent),
    0 18px 48px color-mix(in oklab, var(--accent-red) 28%, transparent);
}

.fb-main-cta:hover::after {
  transform: translateX(120%);
}

.fb-main-cta:active {
  transform: translateY(0);
}

.fb-main-cta span,
.fb-main-cta svg {
  position: relative;
  z-index: 1;
}

.fb-main-cta-icon {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: color-mix(in oklab, var(--background) 14%, transparent);
}

@media (max-width: 767px) {
  .fb-main-cta {
    min-height: 2.8rem;
    padding: 0.88rem 1.15rem;
    font-size: 0.82rem;
  }
}

/* CTA principal da FB */
.fb-main-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3rem;
  padding: 0.95rem 1.35rem;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--accent-red) 48%, var(--border));
  background:
    radial-gradient(circle at top left, color-mix(in oklab, var(--accent-red) 24%, transparent), transparent 42%),
    linear-gradient(135deg, color-mix(in oklab, var(--foreground) 96%, var(--accent-red)), var(--foreground));
  color: var(--background) !important;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  overflow: hidden;
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--accent-red) 12%, transparent),
    0 14px 38px color-mix(in oklab, var(--accent-red) 18%, transparent);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    opacity 0.25s ease;
}

.fb-main-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 0%,
    transparent 34%,
    rgba(255, 255, 255, 0.34) 48%,
    transparent 62%,
    transparent 100%
  );
  transform: translateX(-120%);
  transition: transform 0.65s ease;
}

.fb-main-cta:hover {
  color: var(--background) !important;
  transform: translateY(-2px);
  border-color: var(--accent-red);
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--accent-red) 28%, transparent),
    0 18px 48px color-mix(in oklab, var(--accent-red) 28%, transparent);
}

.fb-main-cta:hover::after {
  transform: translateX(120%);
}

.fb-main-cta:active {
  transform: translateY(0);
}

.fb-main-cta span,
.fb-main-cta svg {
  position: relative;
  z-index: 1;
}

.fb-main-cta-icon {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: color-mix(in oklab, var(--background) 14%, transparent);
  color: currentColor;
}

.fb-main-cta svg {
  stroke: currentColor;
}

.fb-main-cta.hidden {
  display: none !important;
}

@media (min-width: 768px) {
  .fb-main-cta.md:inline-flex {
    display: inline-flex !important;
  }
}

@media (max-width: 767px) {
  .fb-main-cta {
    min-height: 2.8rem;
    padding: 0.88rem 1.15rem;
    font-size: 0.82rem;
  }
}

/* Ajuste fino da Hero para a nova copy */
.fb-hero h1 {
  font-size: clamp(2.85rem, 3.8vw, 4rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
  max-width: 46rem;
}

.fb-hero h1 .gradient-text {
  display: inline;
}

.fb-hero .max-w-2xl {
  max-width: 46rem !important;
}

@media (max-width: 1024px) {
  .fb-hero h1 {
    font-size: clamp(2.65rem, 7vw, 3.65rem) !important;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .fb-hero h1 {
    font-size: clamp(2.35rem, 11vw, 3.05rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.035em !important;
  }
}

p{     margin-bottom: 0; }  html, body{     width: 100%;     overflow-x: hidden; }/* End custom CSS */