@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');



:root {

    --yellow-main: #F9DB7A;

    --yellow-prosperity: #ecb613;

  

    --pink-livelo: #FF0A8C;



      --gold:       #C9A24d;

      --gold-light: #E2C97E;

      --gold-dim:   rgba(201,168,76,0.10);

      --rose:       #E8457A;

      --dark:       #0A0A0A;

      --dark-2:     #111111;

      --text:       #F0EDE8;

      --text-muted: #9A9488;

      --border:     rgba(201,168,76,0.15);



    }





@font-face {

  font-family: 'Livelo Sans';

  src: url('../fonts/LiveloSans-Thin.woff2') format('woff2');

  font-weight: 100;

  font-style: normal;

}



@font-face {

  font-family: 'Livelo Sans';

  src: url('../fonts/LiveloSans-Light.woff2') format('woff2');

  font-weight: 300;

  font-style: normal;

}



@font-face {

  font-family: 'Livelo Sans';

  src: url('../fonts/LiveloSans-Regular.woff2') format('woff2');

  font-weight: 400;

  font-style: normal;

}



@font-face {

  font-family: 'Livelo Sans';

  src: url('../fonts/LiveloSans-Medium.woff2') format('woff2');

  font-weight: 500;

  font-style: normal;

}



@font-face {

  font-family: 'Livelo Sans';

  src: url('../fonts/LiveloSans-Bold.woff2') format('woff2');

  font-weight: 700;

  font-style: normal;

}



@font-face {

  font-family: 'Livelo Sans';

  src: url('../fonts/LiveloSans-Extrabold.woff2') format('woff2');

  font-weight: 800;

  font-style: normal;

}



@font-face {

  font-family: 'Livelo Sans';

  src: url('../fonts/LiveloSans-Black.woff2') format('woff2');

  font-weight: 900;

  font-style: normal;

}



.livelo-font {

    font-family: 'Livelo Sans',sans-serif !important;

}



.livelo-regular {

    font-weight: 400 !important;

}



.livelo-bold {

    font-weight: 700 !important;

}





body {

    background-color: #0A0A0A !important;

    font-family: 'Lato', sans-serif !important;

    box-sizing: border-box;

      margin: 0;

      padding: 0;

      overflow-x: clip !important;

      color: #cfcfcf;

      

    

}

body::before {

    content: '';

    position: fixed;

    inset: 0;

    z-index: 0;

    pointer-events: none;



    background-image:

        linear-gradient(rgba(201,168,76,0.05) 1px, transparent 1px),

        linear-gradient(90deg, rgba(201,168,76,0.05) 1px, transparent 1px);

    background-size: 64px 64px;



    -webkit-mask-image: radial-gradient(

        ellipse 80% 80% at 40% 40%,

        black 40%,

        transparent 100%

    );

    mask-image: radial-gradient(

        ellipse 80% 80% at 40% 40%,

        black 40%,

        transparent 100%

    );

}



h1,h2,h3,h4,h5,h6 {

  font-family: 'Monstserrat', sans-serif !important;

}



a,a:hover {

    text-decoration: none;

}







.main-button {

  display: inline-block;

  text-align: center;

}



.main-button a {

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  text-align: center;



  padding: 12px 36px;

  min-height: 54px;



  font-size: 15px;

  font-weight: 800;

  letter-spacing: 0.4px;



  color: #1a1a1a;

  text-decoration: none;



  background: linear-gradient(

    135deg,

    #f5dc8b 0%,

    #e6bb52 30%,

    #cfa135 55%,

    #e9c96f 75%,

    #f7e6a8 100%

  );



  border-radius: 999px;

  border: 1px solid rgba(255, 215, 120, 0.55);



  /* Profundidade */

  box-shadow:

    0 14px 34px rgba(0, 0, 0, 0.6),

    inset 0 1px 0 rgba(255, 255, 255, 0.45),

    inset 0 -2px 6px rgba(0, 0, 0, 0.25);



  /* ESSENCIAL: nada vaza */

  overflow: hidden;



  transition:

    transform 0.25s ease,

    box-shadow 0.25s ease,

    filter 0.25s ease;

}



/* Glow interno (contido no botão) */

.main-button a::after {

  content: "";

  position: absolute;

  inset: 2px;

  border-radius: inherit;



  background: radial-gradient(

    ellipse at top,

    rgba(255, 255, 255, 0.45),

    transparent 70%

  );



  opacity: 0.35;

  pointer-events: none;

  transition: opacity 0.3s ease;

}



/* Hover */

.main-button a:hover {

  transform: translateY(-2px);

  filter: brightness(1.06);



  box-shadow:

    0 18px 45px rgba(0, 0, 0, 0.65),

    inset 0 1px 0 rgba(255, 255, 255, 0.55),

    inset 0 -2px 8px rgba(0, 0, 0, 0.3);

}



.main-button a:hover::after {

  opacity: 0.55;

}



/* Active */

.main-button a:active {

  transform: translateY(0);



  box-shadow:

    0 10px 26px rgba(0, 0, 0, 0.55),

    inset 0 2px 6px rgba(0, 0, 0, 0.35);

}



/* Mata azul e underline em QUALQUER estado */

.main-button a,

.main-button a:hover,

.main-button a:focus,

.main-button a:visited {

  color: #1a1a1a;

  text-decoration: none;

}





/* ANIMAÇÕES */



/* Estado inicial de todos os elementos animados */

[data-animate] {

  opacity: 0;

  transition: opacity 0.7s ease, transform 0.7s ease;

}



/* Tipos de entrada */

[data-animate="fade-up"]    { transform: translateY(30px); }

[data-animate="fade-down"]  { transform: translateY(-30px); }

[data-animate="fade-right"] { transform: translateX(-40px); } /* vem da esquerda */

[data-animate="fade-left"]  { transform: translateX(40px);  } /* vem da direita */

[data-animate="fade-in"]    { transform: none; }



/* Quando o elemento entra na tela */

[data-animate].animated {

  opacity: 1;

  transform: translate(0, 0);

}



/* Delays escalonados para grupos */

[data-delay="100"] { transition-delay: 0.1s; }

[data-delay="200"] { transition-delay: 0.2s; }

[data-delay="300"] { transition-delay: 0.3s; }

[data-delay="400"] { transition-delay: 0.4s; }

[data-delay="500"] { transition-delay: 0.5s; }

[data-delay="600"] { transition-delay: 0.6s; }









/* NAVBAR CSS */





/* ───────── NAVBAR ───────── */

.navbar {

  position: fixed;

  top: 0; left: 0; right: 0;

  z-index: 1000;

  height: 80px;

  display: flex;

  align-items: center;

  padding: 0;

  background: transparent;

  transition: background 0.4s ease, backdrop-filter 0.4s ease;

}



.navbar .container {

  display: flex;

  align-items: center;

  height: 100%;

}



.navbar.scrolled {

  background: transparent;

  backdrop-filter: none;

  -webkit-backdrop-filter: none;

  border-bottom: none;

}



/* ── INNER — a box flutuante ── */

.navbar__inner {

  width: 100%;

  display: grid;

  grid-template-columns: auto 1fr auto;

  align-items: center;

  gap: 16px;



  background: rgba(10, 10, 10, 0.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);



  border: 1px solid rgba(201, 168, 76, 0.15);

  border-radius: 10px;



  /* padding vertical garante espaço interno */

  padding: 10px 24px;

  min-height: 56px;



  box-shadow:

    0 4px 24px rgba(0, 0, 0, 0.4),

    inset 0 1px 0 rgba(201, 168, 76, 0.08);



  transition: border-color 0.4s ease, box-shadow 0.4s ease;

}



.navbar__inner:hover {

  border-color: rgba(201, 168, 76, 0.28);

  box-shadow:

    0 8px 32px rgba(0, 0, 0, 0.5),

    inset 0 1px 0 rgba(201, 168, 76, 0.12);

}



/* ── BRAND ── */

.navbar__brand {

  display: flex;

  align-items: center;

  text-decoration: none;

  flex-shrink: 0;

}



.brand-logo {

  display: flex;

  align-items: center;

  gap: 10px;

}



.brand-logo img {

  max-width: 100px;

  height: 26px;

  width: auto;

  object-fit: contain;

}



.brand-logo .logo-prosperity {

  height: 36px;

}



.brand-divider {

  width: 1px;

  height: 28px;

  background: linear-gradient(to bottom, transparent, #9A9488, transparent);

  flex-shrink: 0;

}



/* ── NAV LINKS ── */

.navbar__nav {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0;

  flex-wrap: nowrap;

}



.nav-link {

  position: relative;

  padding: 6px 12px;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  color: #cfcfcf !important;

  text-decoration: none;

  white-space: nowrap;

  transition: color 0.25s ease;

  font-family: "Montserrat", sans-serif;

}



.nav-link::after {

  content: '';

  position: absolute;

  bottom: 2px; left: 50%;

  transform: translateX(-50%) scaleX(0);

  width: 16px; height: 1px;

  background: var(--yellow-dark);

  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);

}



.nav-link:hover { color: #F0EDE8 !important; }

.nav-link:hover::after { transform: translateX(-50%) scaleX(1); }



/* ── CTA ── */

.navbar__cta {

  flex-shrink: 0;

  display: flex;

  align-items: center;

}



/* ── HAMBURGER ── */

.hamburger {

  display: none;

  flex-direction: column;

  justify-content: center;

  gap: 5px;

  width: 36px; height: 36px;

  background: none;

  border: none;

  cursor: pointer;

  padding: 4px;

  z-index: 1100;

}



.hamburger span {

  display: block;

  height: 1.5px;

  border-radius: 2px;

  background: #F0EDE8;

  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1),

              opacity   0.25s ease,

              width     0.3s ease;

  transform-origin: center;

}



.hamburger span:nth-child(1) { width: 28px; }

.hamburger span:nth-child(2) { width: 20px; }

.hamburger span:nth-child(3) { width: 24px; }



.hamburger.open span:nth-child(1) {

  width: 26px;

  transform: translateY(6.5px) rotate(45deg);

}

.hamburger.open span:nth-child(2) {

  opacity: 0;

  transform: scaleX(0);

}

.hamburger.open span:nth-child(3) {

  width: 26px;

  transform: translateY(-6.5px) rotate(-45deg);

}



/* ── RESPONSIVE ── */



/* Telas médias — reduz fonte e padding dos links */

@media (max-width: 1200px) {

  .nav-link {

    font-size: 11px;

    padding: 6px 8px;

    letter-spacing: 0.04em;

  }



  .navbar__inner {

    padding: 10px 18px;

    gap: 12px;

  }

}



/* Breakpoint mobile — desfaz a box, mostra hamburger */

@media (max-width: 992px) {

  .navbar {

    height: 70px;

  }



  .navbar__inner {

    background: transparent;

    backdrop-filter: none;

    -webkit-backdrop-filter: none;

    border: none;

    border-radius: 0;

    box-shadow: none;

    padding: 0;

    min-height: unset;

    height: 70px;

    grid-template-columns: 1fr auto;

    gap: 0;

  }



  .navbar__inner:hover {

    border-color: transparent;

    box-shadow: none;

  }



  .navbar__nav,

  .navbar__cta {

    display: none;

  }



  .hamburger {

    display: flex;

  }

}

    /* ── OVERLAY ── */

    .drawer-overlay {

      display: none;

      position: fixed;

      inset: 0;

      background: rgba(0,0,0,0.7);

      backdrop-filter: blur(4px);

      z-index: 1050;

      opacity: 0;

      transition: opacity 0.35s ease;

    }



    .drawer-overlay.visible {

      opacity: 1;

    }



    /* ── DRAWER ── */

    .drawer {

      position: fixed;

      top: 0; left: 0;

      width: min(320px, 85vw);

      height: 100dvh;

      z-index: 1080;

      background: #111111;;

      border-right: 1px solid rgba(201,168,76,0.18);;

      transform: translateX(-100%);

      transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);

      display: flex;

      flex-direction: column;

      padding: 0;

      overflow: hidden;

    }



    .drawer.open {

      transform: translateX(0);

    }



    .drawer__header {

      display: flex;

      align-items: center;

      justify-content: space-between;

      padding: 24px 28px;

      border-bottom: 1px solid rgba(201,168,76,0.18);;

      flex-shrink: 0;

    }



    .drawer__brand {

      display: flex;

      align-items: center;

      gap: 10px;

    }



    .drawer__brand img {

        max-width: 60px;

    }



    .drawer__close {

      width: 32px; height: 32px;

      background: none;

      border: 1px solid rgba(201,168,76,0.18);;

      border-radius: 50%;

      cursor: pointer;

      display: flex;

      align-items: center;

      justify-content: center;

      color: #9A9488;

      font-size: 16px;

      transition: border-color 0.2s, color 0.2s;

    }



    .drawer__close:hover {

      border-color: var(--yellow-prosperity);

      color: var(--yellow-main);

    }



    .drawer__nav {

      flex: 1;

      display: flex;

      flex-direction: column;

      padding: 32px 0;

      overflow-y: auto;

    }



    .drawer__link {

      display: flex;

      align-items: center;

      gap: 12px;

      padding: 16px 28px;

      font-size: 14px;

      font-weight: 400;

      letter-spacing: 0.08em;

      text-transform: uppercase;

      color: #9A9488;

      text-decoration: none;

      border-left: 2px solid transparent;

      transition: color 0.2s, border-color 0.2s, background 0.2s, padding-left 0.2s;

    }



    .drawer__link:hover {

      color: #F0EDE8;

      border-left-color: var(--gold);

      background: rgba(201,168,76,0.05);

      padding-left: 34px;

    }



    .drawer__link .link-num {

      font-size: 11px;

      color: var(--yellow-prosperity);

      opacity: 0.6;

      min-width: 18px;

    }



    .drawer__footer {

      padding: 24px 28px;

      border-top: 1px solid var(--border);

      flex-shrink: 0;

      text-align: center;

    }



    .drawer__footer .btn-cta {

      width: 100%;

      justify-content: center;

    }



    /* Faixa decorativa no drawer */

    .drawer__accent {

      height: 3px;

      background: linear-gradient(90deg, var(--yellow-prosperity) 0%, var(--pink-livelo) 100%);

      flex-shrink: 0;

    }



    /* ── RESPONSIVE ── */

    @media (max-width: 992px) {

      .navbar {

        padding: 0 24px;

      }



      .navbar__nav,

      .navbar__cta {

        display: none;

      }



      .navbar__inner {

        grid-template-columns: 1fr auto;

      }



      .hamburger {

        display: flex;

      }



      .drawer-overlay,

      .drawer {

        display: flex;

      }

    }

    @media (max-width: 768px) {

      .brand-logo img {

        max-width: 80px;

      }

    }



   

/* HERO AREA */

.hero {

    position: relative;

    min-height: unset;

    display: flex;

    align-items: center;

    padding: 80px 0 60px;

    overflow: hidden;

}



.hero__bg {

    position: absolute;

    inset: 0;

    z-index: 0;

}



.hero__inner {

    position: relative;

    z-index: 1;

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    gap: 0;

    padding: 20px 0 16px;

}



/* eyebrow */

.hero__eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-family: 'Montserrat', sans-serif;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: rgba(201,168,76,0.7);

    margin-bottom: 22px;

    padding: 6px 16px;

    border: 1px solid rgba(201,168,76,0.15);

    border-radius: 100px;

    background: rgba(201,168,76,0.04);

}



.hero__eyebrow-dot {

    width: 6px; height: 6px;

    border-radius: 50%;

    background: #4ade80;

    box-shadow: 0 0 6px rgba(74,222,128,0.6);

    flex-shrink: 0;

    animation: hero-pulse 2.5s ease-in-out infinite;

}



@keyframes hero-pulse {

    0%, 100% { opacity: 1; }

    50%       { opacity: 0.35; }

}



.hero__eyebrow-livelo {

    color: var(--pink-livelo);

}



/* heading */

.hero__heading {

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(28px, 3.8vw, 54px);

    font-weight: 700;

    line-height: 1.12;

    color: var(--text);

    margin-bottom: 18px;

    max-width: 100%;

}



.hero__heading em {

    font-style: normal;

    background: linear-gradient(90deg, var(--gold), var(--gold-light), #f5dc8b);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

}



.hl-livelo {

    color: var(--pink-livelo);

    position: relative;

    display: inline-block;

}



.hl-livelo::after {

    content: '';

    position: absolute;

    bottom: 2px; left: 0;

    width: 100%; height: 2px;

    background: linear-gradient(90deg, var(--pink-livelo), rgba(255,10,140,0.3));

    border-radius: 2px;

    transform: scaleX(0);

    transform-origin: left;

    animation: underline-in 0.8s 1.2s cubic-bezier(0.34,1.56,0.64,1) forwards;

}



@keyframes underline-in { to { transform: scaleX(1); } }



/* desc */

.hero__desc {

    font-size: clamp(14px, 1.3vw, 16px);

    color: var(--text-muted);

    line-height: 1.75;

    max-width: 600px;

    margin-bottom: 32px;

}



/* stats — com shimmer da antiga attrs */

.hero__stats {

    display: flex;

    align-items: center;

    gap: 0;

    margin-bottom: 36px;

    padding: 20px 36px;

    border: 1px solid rgba(201,168,76,0.12);

    border-radius: 8px;

    background: linear-gradient(90deg,

        transparent 0%,

        rgba(201,168,76,0.04) 50%,

        transparent 100%

    );

    width: 100%;

    max-width:900px;

    position: relative;

    overflow: hidden;

}



/* shimmer herdado do antigo attrs */

.hero__stats::before {

    content: '';

    position: absolute;

    top: 0; left: -100%;

    width: 60%; height: 100%;

    background: linear-gradient(90deg,

        transparent,

        rgba(201,168,76,0.06),

        transparent

    );

    animation: shimmer 4s ease-in-out infinite;

}



@keyframes shimmer {

    0%   { left: -60%; }

    100% { left: 160%; }

}



.hero__stat {

    flex: 1;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 5px;

    position: relative;

    z-index: 1;

}



.hero__stat-num {

    font-family: 'Montserrat', sans-serif;

    font-size: 1.5em;

    font-weight: 700;

    background: linear-gradient(90deg, var(--gold), var(--gold-light));

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

    line-height: 1;

}



.hero__stat-label {

    font-size: 13px;

    color: var(--text-muted);

    letter-spacing: 0.03em;

    text-align: center;

    line-height: 1.4;

}



.hero__stat-divider {

    width: 1px;

    height: 36px;

    background: rgba(201,168,76,0.15);

    flex-shrink: 0;

    position: relative;

    z-index: 1;

}



/* stat especial Livelo — rosa */

.hero__stat--livelo .hero__stat-num {

    background: linear-gradient(90deg, var(--pink-livelo), #ff5cb8);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

}



.hero__stat--livelo .hero__stat-label {

    color: rgba(255,10,140,0.55);

}



/* ctas */

.hero__ctas {

    display: flex;

    align-items: center;

    gap: 20px;

    margin-bottom: 24px;

    flex-wrap: wrap;

    justify-content: center;

}



.hero__link-sec {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    font-family: 'Montserrat', sans-serif;

    font-size: 13px;

    font-weight: 600;

    color: var(--text-muted);

    text-decoration: none;

    transition: color 0.2s, gap 0.2s;

    letter-spacing: 0.04em;

}



.hero__link-sec:hover {

    color: var(--text);

    gap: 10px;

}



.hero__link-sec svg {

    width: 14px; height: 14px;

    flex-shrink: 0;

    transition: transform 0.2s;

}



.hero__link-sec:hover svg { transform: translateX(2px); }



/* disclaimer */

.hero__disclaimer {

    font-size: 12px;

    color: rgba(154,148,136,0.5);

    line-height: 1.6;

    max-width: 600px;

    text-align: center;

}



/* responsive */

@media (max-width: 860px) {

    .hero__stats {

        flex-wrap: wrap;

        gap: 20px;

        padding: 20px 24px;

    }

    .hero__stat       { flex: 1 1 40%; }

    .hero__stat-divider { display: none; }

}



@media (max-width: 600px) {

    .hero        { padding: 70px 0 50px; }

    .hero__stats { padding: 18px 16px; }

    .hero__stat  { flex: 1 1 45%; }

    .hero__ctas  { flex-direction: column; gap: 14px; }

    .hero__eyebrow {font-size: 9px;}

    .hero__stat-num {font-size: 1.1em;}

    .hero__stat-label {font-size:10px;}

}





/* SECTION CONTEXTO */

    #contexto {

      position: relative;

      padding: 70px 0;

      overflow: hidden;

    }





    /* ── HEADER ── */

    .section-header {

      text-align: left;

      margin-bottom: 64px;

    }



    .section-tag {

      display: inline-flex;

      align-items: center;

      gap: 8px;

      font-size: 13px;

      font-weight: 500;

      letter-spacing: 0.2em;

      text-transform: uppercase;

      color: var(--gold);

      margin-bottom: 18px;

    }



    .section-tag::before,

    .section-tag::after {

      content: '';

      width: 28px; height: 1px;

      background: var(--gold);

      opacity: 0.4;

    }



    .section-title {

      font-size: clamp(28px, 3.5vw, 40px);

      font-weight: 600;

      line-height: 1.2;

      color: var(--text);

    }



    .section-title span {

      color: var(--gold);

    }



  

    .ctx-flow {

      display: grid;

      grid-template-columns: 1fr 48px 1fr 48px 1fr;

      align-items: start;

      gap: 0;

      position: relative;

      z-index: 1;

      margin-bottom: 30px;

    }



    /* ── SETA CONECTORA ── */

    .ctx-arrow {

      display: flex;

      align-items: center;

      justify-content: center;

      padding-top: 32px;

      color: var(--gold);

      opacity: 0.35;

      font-size: 22px;

    }



    /* ── CARD BASE ── */

    .ctx-card {

      border-radius: 10px;

      border: 1px solid var(--border);

      overflow: hidden;

      position: relative;

      transition: border-color 0.35s, box-shadow 0.35s, transform 0.35s;

    }



    .ctx-card:hover {

      transform: translateY(-4px);

      box-shadow: 0 20px 48px rgba(0,0,0,0.5);

    }



    /* topo colorido por tipo */

    .ctx-card__bar {

      height: 3px;

      width: 100%;

    }



    .ctx-card--problem  { background: rgba(255,255,255,0.015); }

    .ctx-card--market   { background: rgba(255,255,255,0.015); }

    .ctx-card--opp      { background: rgba(201,168,76,0.05);   }



    .ctx-card--problem:hover  { border-color: rgba(239,68,68,0.3); }

    .ctx-card--market:hover   { border-color: rgba(234,179,8,0.25); }

    .ctx-card--opp:hover      { border-color: rgba(201,168,76,0.45); }



    .ctx-card--problem  .ctx-card__bar { background: linear-gradient(90deg, #ef4444, #f87171); }

    .ctx-card--market   .ctx-card__bar { background: linear-gradient(90deg, #eab308, #fde047); }

    .ctx-card--opp      .ctx-card__bar { background: linear-gradient(90deg, var(--gold), var(--gold-light)); }



    .ctx-card__body {

      padding: 28px 24px 24px;

    }



    /* label tipo */

    .ctx-card__label {

      display: inline-flex;

      align-items: center;

      gap: 6px;

      font-size: 10px;

      font-weight: 800;

      letter-spacing: 0.14em;

      text-transform: uppercase;

      margin-bottom: 14px;

      padding: 5px 13px;

      border-radius: 100px;

    }



    .ctx-card--problem .ctx-card__label {

      color: #fca5a5;

      background: rgba(239,68,68,0.1);

      border: 1px solid rgba(239,68,68,0.2);

    }



    .ctx-card--market .ctx-card__label {

      color: #fde047;

      background: rgba(234,179,8,0.1);

      border: 1px solid rgba(234,179,8,0.2);

    }



    .ctx-card--opp .ctx-card__label {

      color: var(--gold-light);

      background: var(--gold-dim);

      border: 1px solid rgba(201,168,76,0.25);

    }



    .ctx-card__title {

      font-size: 20px;

      font-weight: 700;

      color: var(--text);

      margin-bottom: 16px;

      line-height: 1.3;

    }



    /* lista de itens */

    .ctx-list {

      display: flex;

      flex-direction: column;

      gap: 10px;

    }



    .ctx-list__item {

      display: flex;

      align-items: flex-start;

      gap: 10px;

      font-size: 14px;

      color: var(--text-muted);

      line-height: 1.5;

    }



    .ctx-list__item .icon {

      flex-shrink: 0;

      margin-top: 1px;

      font-size: 13px;

    }



    /* destaque numérico no card de oportunidade */

    .opp-metric {

      display: flex;

      align-items: center;

      gap: 14px;

      padding: 14px 16px;

      border-radius: 7px;

      background: rgba(201,168,76,0.06);

      border: 1px solid rgba(201,168,76,0.15);

      margin-bottom: 10px;

      transition: background 0.2s;

    }



    .opp-metric:last-child { margin-bottom: 0; }



    .ctx-card:hover .opp-metric {

      background: rgba(201,168,76,0.09);

    }



    .opp-metric__num {

      font-size: 23px;

      font-weight: 700;

      color: var(--gold);

      line-height: 1;

      white-space: nowrap;

    }



    .opp-metric__info {

      display: flex;

      flex-direction: column;

      gap: 2px;

    }



    .opp-metric__title {

      font-size: 14px;

      font-weight: 500;

      color: var(--text);

    }



    .opp-metric__desc {

      font-size: 12px;

      color: var(--text-muted);

    }



    /* ── RODAPÉ DA SEÇÃO — frase de impacto ── */

    .ctx-bottom {

      display: flex;

      align-items: center;

      justify-content: center;

      text-align: center;

      flex-direction: column;

    }

    .ctx-bottom .hero__disclaimer {

      font-size: 14px;

      color: rgba(154, 148, 136, 0.6);

    }

 

    /* ── RESPONSIVE ── */

    @media (max-width: 992px) {

      .ctx-flow {

        grid-template-columns: 1fr;

        gap: 12px;

      }

      .ctx-arrow { display: none; }

    }



    @media (max-width: 600px) {

      .ctx-bottom { flex-direction: column; padding: 24px 20px; }

    }





/* SECTION SOBRE */

#sobre {

  position: relative;

  padding: 70px 0 100px;

  overflow: hidden;

}



#sobre::after {

  content: '';

  position: absolute;

  top: 30%; left: 50%;

  transform: translate(-50%, -50%);

  width: 700px; height: 500px;

  background: radial-gradient(ellipse, rgba(201,168,76,0.04) 0%, transparent 70%);

  pointer-events: none;

  z-index: 0;

}



/* ── INTRO ── */

.sobre-intro {

  text-align: center;

  max-width: 800px;

  margin: 0 auto 72px;

  position: relative;

  z-index: 1;

}



.sobre-intro__tag {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  font-family: 'Montserrat', sans-serif;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: var(--gold);

  margin-bottom: 18px;

}



.sobre-intro__tag::before,

.sobre-intro__tag::after {

  content: '';

  width: 28px; height: 1px;

  background: var(--gold);

  opacity: 0.35;

}



.sobre-intro__title {

  font-family: 'Montserrat', sans-serif;

  font-size: clamp(28px, 3.6vw, 40px);

  font-weight: 700;

  line-height: 1.18;

  color: var(--text);

  margin-bottom: 10px;

}



.sobre-intro__subtitle {

  font-family: 'Montserrat', sans-serif;

  font-size: clamp(15px, 1.8vw, 20px);

  font-weight: 500;

  color: var(--gold);

  margin-bottom: 20px;

}



.sobre-intro__desc {

  font-family: 'Lato', sans-serif;

  font-size: 16px;

  font-weight: 400;

  color: var(--text-muted);

  line-height: 1.75;

}



/* ── GRID ── */

.sobre-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  align-items: stretch;

  position: relative;

  z-index: 1;

}



/* ── COLUNA ESQUERDA ── */

.sobre-col-left {

  display: flex;

  flex-direction: column;

  gap: 32px;

  padding-right: 52px;

}



/* ── COLUNA DIREITA ── */

.sobre-col-right {

  display: flex;

  flex-direction: column;

  padding-left: 52px;

}



/* label de seção */

.col-label {

  font-family: 'Montserrat', sans-serif;

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: var(--gold);

  margin-bottom: 20px;

  display: flex;

  align-items: center;

  gap: 10px;

}



.col-label::after {

  content: '';

  flex: 1;

  height: 1px;

  background: var(--border);

}



.products-metrics {

    margin-bottom:-15px;

}





/* ── TEXTO ── */

.sobre-text p {

  font-size: 15px;

  color: var(--text-muted);

  line-height: 1.8;

  margin-bottom: 14px;

}

.sobre-text p:last-child { margin-bottom: 0; }

.sobre-text strong { color: var(--text); font-weight: 700; }



/* ── DESTAQUE LIVELO ── */

.livelo-callout {

  display: flex;

  align-items: flex-start;

  gap: 14px;

  padding: 16px 18px;

  border-radius: 8px;

  border: 1px solid rgba(255, 10, 140, 0.2);

  background: rgba(255, 10, 140, 0.04);

  flex-shrink: 0;

}



.livelo-callout__bar {

  width: 3px;

  border-radius: 3px;

  background: linear-gradient(to bottom, var(--pink-livelo), rgba(255,10,140,0.3));

  align-self: stretch;

  flex-shrink: 0;

}



.livelo-callout__body { display: flex; flex-direction: column; gap: 4px; }



.livelo-callout__label {

  font-family: 'Montserrat', sans-serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.15em;

  text-transform: uppercase;

  color: var(--pink-livelo);

  opacity: 0.85;

}



.livelo-callout__text {

  font-size: 13px;

  color: var(--text-muted);

  line-height: 1.65;

  margin: 0;

}

.livelo-callout__text strong { color: var(--text); font-weight: 700; }



.sobre-metrics {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 1px;

  background: rgba(201,168,76,0.1);

  border: 1px solid var(--border);

  border-radius: 10px;

  overflow: hidden;

  margin-top: auto;

}



.metric-item {

  background: var(--dark-2);

  padding: 20px 18px;

  display: flex;

  flex-direction: column;

  gap: 5px;

  transition: background 0.25s;

  position: relative;

  overflow: hidden;

  text-align: center;

}



/* item que ocupa as 2 colunas */

.metric-item--full {

  grid-column: 1 / -1;

}



.metric-item::after {

  content: '';

  position: absolute;

  bottom: 0; left: 0;

  width: 100%; height: 2px;

  background: linear-gradient(90deg, var(--gold), transparent);

  opacity: 0;

  transition: opacity 0.3s;

}



.metric-item:hover { background: var(--dark-3); }

.metric-item:hover::after { opacity: 1; }



.metric-number {

  font-family: 'Montserrat', sans-serif;

  font-size: 28px;

  font-weight: 700;

  color: var(--gold);

  line-height: 1;

}



.metric-label {

  font-family: 'Lato', sans-serif;

  font-size: 13px;

  color: var(--text-muted);

  line-height: 1.4;

}





.sobre-imgs {

  position: relative;

  flex: 1;

  min-height: 380px;

  margin-top: 8px;

}



/* imagem de trás — maior, ocupa todo o espaço */

.sobre-img--back {

  position: absolute;

  top: 0; left: 0;

  width: 78%;

  height: 78%;

  border-radius: 14px;

  overflow: hidden;

  border: 1px solid rgba(201,168,76,0.15);

  box-shadow: 0 20px 60px rgba(0,0,0,0.5);

  animation: imgFloat 6s ease-in-out infinite;

}



/* imagem da frente — menor, deslocada */

.sobre-img--front {

  position: absolute;

  bottom: 0; right: 0;

  width: 65%;

  height: 65%;

  border-radius: 14px;

  overflow: hidden;

  border: 2px solid rgba(201,168,76,0.25);

  box-shadow: 0 24px 64px rgba(0,0,0,0.6);

  animation: imgFloat 6s ease-in-out infinite reverse;

  animation-delay: 1s;

  z-index: 2;

}



.sobre-img--back img,

.sobre-img--front img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 0.6s ease;

}



.sobre-img--back:hover img,

.sobre-img--front:hover img {

  transform: scale(1.05);

}



/* badge flutuante sobre a imagem da frente */

.sobre-img__badge {

  position: absolute;

  bottom: 14px;

  left: 14px;

  display: flex;

  flex-direction: column;

  gap: 2px;

  padding: 10px 14px;

  border-radius: 8px;

  background: rgba(10,10,10,0.75);

  backdrop-filter: blur(8px);

  border: 1px solid rgba(201,168,76,0.2);

}



.badge-num {

  font-family: 'Montserrat', sans-serif;

  font-size: 14px;

  font-weight: 700;

  color: var(--gold);

  line-height: 1;

}



.badge-label {

  font-family: 'Lato', sans-serif;

  font-size: 9px;

  color: var(--text-muted);

}



/* decoração: linha dourada entre as imagens */

.sobre-imgs::before {

  content: '';

  position: absolute;

  top: 50%; left: 50%;

  transform: translate(-50%, -50%);

  width: 1px;

  height: 60px;

  background: linear-gradient(to bottom, transparent, rgba(201,168,76,0.3), transparent);

  z-index: 3;

  pointer-events: none;

}



/* animação de flutuação suave */

@keyframes imgFloat {

  0%, 100% { transform: translateY(0px); }

  50%       { transform: translateY(-8px); }

}



/* ── CTA BANNER ── */

.sobre-banner {

  margin-top: 64px;

  padding: 32px 40px;

  border: 1px solid var(--border);

  border-radius: 10px;

  background: linear-gradient(135deg,

    rgba(201,168,76,0.05) 0%,

    rgba(201,168,76,0.02) 50%,

    transparent 100%

  );

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 32px;

  position: relative;

  z-index: 1;

  overflow: hidden;

}



.sobre-banner::before {

  content: '';

  position: absolute;

  top: 0; left: 0;

  width: 3px; height: 100%;

  background: linear-gradient(to bottom, var(--gold), transparent);

}



.banner-text h3 {

  font-family: 'Montserrat', sans-serif;

  font-size: 19px;

  font-weight: 600;

  color: var(--text);

  margin-bottom: 6px;

  line-height: 1.3;

}



.banner-text p {

  font-family: 'Lato', sans-serif;

  font-size: 13px;

  color: var(--text-muted);

  line-height: 1.6;

  margin: 0;

}



/* ── RESPONSIVE ── */

@media (max-width: 992px) {

  .sobre-grid { grid-template-columns: 1fr; }

  .sobre-col-left  { padding-right: 0; }

  .sobre-col-right { padding-left: 0; margin-top: 48px; }

  .sobre-metrics   { margin-top: 0; }

  .sobre-banner    { flex-direction: column; align-items: flex-start; gap: 20px; }

  .sobre-imgs      { min-height: 300px; }

}



@media (max-width: 600px) {

  .container   { padding: 0 20px; }

  #sobre       { padding: 80px 0; }

  .sobre-banner { padding: 24px 20px; }

  .sobre-imgs  { min-height: 320px; }

}





/* SECTION LIVELO */



    #livelo {

      position: relative;

      padding: 70px 0;

      overflow: hidden;

    }



    /* brilho rosa de fundo */

    #livelo::before {

      content: '';

      position: absolute;

      top: 0; left: 50%;

      transform: translateX(-50%);

      width: 800px; height: 400px;

      background: radial-gradient(ellipse, rgba(255,10,140,0.05) 0%, transparent 70%);

      pointer-events: none;

      z-index: 0;

    }



    /* ── HEADER ── */

    .livelo-header {

      text-align: center;

      margin-bottom: 64px;

      position: relative;

      z-index: 1;

    }



    .livelo-header__tag {

      display: inline-flex;

      align-items: center;

      gap: 10px;

      font-size: 12px;

      font-weight: 700;

      letter-spacing: 0.2em;

      text-transform: uppercase;

      color: var(--gold);

      margin-bottom: 16px;

      opacity: 0.85;

    }



    .livelo-header__tag::before,

    .livelo-header__tag::after {

      content: '';

      width: 28px; height: 1px;

      background: var(--gold);

      opacity: 0.35;

    }



    .livelo-header__title {

      font-size: clamp(26px, 3.2vw, 44px);

      font-weight: 700;

      line-height: 1.18;

      color: var(--text);

      margin-bottom: 12px;

    }



    .livelo-header__title span {

      font-family:'Livelo Sans',sans-serif;

      font-weight:700;

      color: var(--pink-livelo);

    }



    .livelo-header__desc {

      font-size: 15px;

      color: var(--text-muted);

      line-height: 1.7;

      max-width: 520px;

      margin: 0 auto;

    }



  

    .ganhar-wrap {

      position: relative;

      z-index: 1;

      margin-bottom: 80px;

    }



    .bloco-label {

      font-family: 'Montserrat', sans-serif;

      font-size: 13px;

      font-weight: 700;

      letter-spacing: 0.2em;

      text-transform: uppercase;

      color: var(--gold);

      margin-bottom: 24px;

      display: flex;

      align-items: center;

      gap: 10px;

    }



    .bloco-label::after {

      content: '';

      flex: 1;

      height: 1px;

      background: var(--border);

    }



    /* frase de destaque */

    .ganhar-headline {

      text-align: center;

      margin-bottom: 36px;

    }



    .ganhar-headline p {

      font-family: 'Montserrat', sans-serif;

      font-size: clamp(16px, 2vw, 22px);

      font-weight: 600;

      color: var(--text);

      line-height: 1.5;

    }



    .ganhar-headline p span {

      color: var(--pink-livelo);

      text-decoration: underline;

      text-underline-offset: 3px;

    }



    .ganhar-headline small {

      display: block;

      font-size: 14px;

      font-weight: 400;

      font-family: 'Lato', sans-serif;

      color: var(--text-muted);

      margin-top: 6px;

    }



    /* 3 cards de como ganhar */

    .ganhar-cards {

      display: grid;

      grid-template-columns: repeat(2, 1fr);

      gap: 16px;

    }



    .ganhar-card {

      display: flex;

      flex-direction: column;

      align-items: center;

      gap: 14px;

      padding: 28px 24px;

      border-radius: 10px;

      border: 1px solid var(--border);

      background: rgba(255,255,255,0.02);

      text-align: center;

      transition: border-color 0.3s, background 0.3s, transform 0.3s;

    }



    .ganhar-card:hover {

      border-color: var(--pink-border);

      background: var(--pink-dim);

      transform: translateY(-4px);

    }



    .ganhar-card__icon {

      width: 48px; height: 48px;

      border-radius: 12px;

      background: var(--pink-dim);

      border: 1px solid var(--pink-border);

      display: flex;

      align-items: center;

      justify-content: center;

      font-size: 20px;

      transition: background 0.3s;

    }



    .ganhar-card:hover .ganhar-card__icon {

      background: rgba(255,10,140,0.16);

    }



    .ganhar-card__text h4 {

      display: block;

      font-size: 16px;

      font-weight: 800;

      color: var(--text);

      margin-bottom: 4px;

    }



    .gastar-wrap {

      position: relative;

      z-index: 1;

      margin-bottom: 64px;

    }



    .gastar-title {

      font-family: 'Montserrat', sans-serif;

      font-size: clamp(18px, 2.2vw, 28px);

      font-weight: 700;

      color: var(--text);

      text-align: center;

      margin-bottom: 32px;

    }



    .gastar-title em {

      font-style: italic;

      color: var(--pink-livelo);

    }



    /* cards com foto */

    .gastar-cards {

      display: grid;

      grid-template-columns: repeat(3, 1fr);

      gap: 16px;

    }



    .gastar-card {

      position: relative;

      border-radius: 12px;

      overflow: hidden;

      aspect-ratio: 3/4;

      cursor: default;

      border: 1px solid rgba(255,255,255,0.06);

      transition: transform 0.35s, box-shadow 0.35s;

    }



    .gastar-card:hover {

      transform: translateY(-5px);

      box-shadow: 0 24px 48px rgba(0,0,0,0.6);

    }



    /* foto de fundo — substitua o src pelas fotos reais */

    .gastar-card__img {

      position: absolute;

      inset: 0;

      width: 100%; height: 100%;

      object-fit: cover;

      transition: transform 0.5s ease;

    }



    .gastar-card:hover .gastar-card__img {

      transform: scale(1.05);

    }





    .gastar-card__placeholder.viagens  { background: linear-gradient(135deg, #1a1a2e, #2d1b4e); }

    .gastar-card__placeholder.hotel    { background: linear-gradient(135deg, #1a2520, #2d4535); }

    .gastar-card__placeholder.produtos { background: linear-gradient(135deg, #2e1a1a, #4e2d2d); }



    /* overlay blur + gradiente escuro na parte de baixo */

    .gastar-card__overlay {

      position: absolute;

      inset: 0;

      background: linear-gradient(

        to bottom,

        transparent 25%,

        rgba(0,0,0,0.2) 50%,

        rgba(0,0,0,0.85) 75%,

        rgba(0,0,0,2) 100%

      );

    }



    /* blur apenas na área de texto */

    .gastar-card__content {

      position: absolute;

      bottom: 0; left: 0; right: 0;

      padding: 28px 22px 24px;

      backdrop-filter: blur(6px);

      -webkit-backdrop-filter: blur(6px);

      /* máscara para o blur só aparecer na parte de baixo */

      mask-image: linear-gradient(to bottom, transparent, black 30%);

      -webkit-mask-image: linear-gradient(to bottom, transparent, black 30%);

    }



    .gastar-card__question {

      font-family: 'Montserrat', sans-serif;

      font-size: 12px;

      font-weight: 600;

      letter-spacing: 0.1em;

      text-transform: uppercase;

      color: var(--pink-livelo);

      margin-bottom: 6px;

      opacity: 1;

    }



    .gastar-card__answer {

      font-family: 'Montserrat', sans-serif;

      font-size: clamp(22px, 2.8vw, 34px);

      font-weight: 800;

      font-style: italic;

      color: var(--text);

      line-height: 1;

      margin-bottom: 10px;

      text-shadow: 0 2px 12px rgba(0,0,0,0.5);

    }



    .gastar-card__desc {

      font-family: 'Lato', sans-serif;

      font-size: 12.5px;

      color: rgba(240,237,232,0.75);

      line-height: 1.5;

      margin: 0;

    }



    .livelo-cta-wrap {

      position: relative;

      z-index: 1;

      display: flex;

      align-items: center;

      justify-content: space-between;

      gap: 32px;

      padding: 28px 36px;

      border-radius: 10px;

      border: 1px solid var(--pink-border);

      background: linear-gradient(135deg,

        rgba(255,10,140,0.06) 0%,

        rgba(255,10,140,0.02) 60%,

        transparent 100%

      );

      overflow: hidden;

    }



    /* barra rosa à esquerda */

    .livelo-cta-wrap::before {

      content: '';

      position: absolute;

      top: 0; left: 0;

      width: 3px; height: 100%;

      background: linear-gradient(to bottom, var(--pink-livelo), transparent);

    }



    .livelo-cta__text {

      display: flex;

      flex-direction: column;

      gap: 4px;

    }



    .livelo-cta__title {

      font-family: 'Montserrat', sans-serif;

      font-size: clamp(14px, 1.6vw, 18px);

      font-weight: 700;

      color: var(--text);

      line-height: 1.3;

    }



    .livelo-cta__title span {

      color: var(--pink-livelo);

    }



    .livelo-cta__sub {

      font-size: 13px;

      color: var(--text-muted);

      line-height: 1.5;

    }



    .livelo-cta__sub a {

      color: var(--gold);

      text-decoration: underline;

      text-underline-offset: 2px;

    }



    .livelo-cta__btn {

      display: inline-flex;

      align-items: center;

      gap: 8px;

      padding: 13px 28px;

      font-family: 'Montserrat', sans-serif;

      font-size: 11px;

      font-weight: 700;

      letter-spacing: 0.1em;

      text-transform: uppercase;

      color: #fff;

      text-decoration: none;

      border-radius: 5px;

      white-space: nowrap;

      flex-shrink: 0;

      background: linear-gradient(135deg, var(--pink-livelo) 0%, #ff5cb8 100%);

      transition: transform 0.2s, box-shadow 0.3s, opacity 0.2s;

      box-shadow: 0 4px 20px rgba(255,10,140,0.3);

    }



    .livelo-cta__btn:hover {

      transform: translateY(-2px);

      box-shadow: 0 10px 28px rgba(255,10,140,0.45);

      opacity: 0.92;

    }

    /* ── VALIDADE ── */

.livelo-validade {

  position: relative;

  z-index: 1;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  margin-top: 20px;

  padding: 12px 28px;

  border-radius: 6px;

  border: 1px solid rgba(255, 10, 140, 0.25);

  background: rgba(255, 10, 140, 0.06);

  width: fit-content;

  margin-left: auto;

  margin-right: auto;

}



.livelo-validade__icon {

  font-size: 14px;

  opacity: 0.85;

}



.livelo-validade__text {

  font-family: 'Montserrat', sans-serif;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 0.15em;

  text-transform: uppercase;

  color: var(--text-muted);

  margin: 0;

}



.livelo-validade__text strong {

  color: var(--pink-livelo);

  font-weight: 800;

}



    /* ── RESPONSIVE ── */

    @media (max-width: 960px) {

      .ganhar-cards,

      .gastar-cards { grid-template-columns: 1fr; }

      .gastar-card  { aspect-ratio: 16/9; }

      .livelo-cta-wrap { flex-direction: column; align-items: flex-start; gap: 20px; }

      .livelo-cta__btn { width: 100%; justify-content: center; }

    }



    @media (max-width: 600px) {

      .container { padding: 0 20px; }

      #livelo    { padding: 80px 0; }

    }

    @media (max-width: 450px) {

      .gastar-card__content {

        backdrop-filter: blur(0px);

      }

      .gastar-card__content {

        padding: 20px 20px 5px;

      }

      .gastar-card__question {

        font-weight: 800;

      }

      .gastar-card__overlay {

        background: linear-gradient(to bottom, transparent 25%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.95) 75%, rgba(0, 0, 0, 2) 100%);

      }

    }



/* SECTION FAQ */

    #faq {

      position: relative;

      padding: 120px 0;

      background: radial-gradient(circle at top center, #151515, #0b0b0b);

    }



    /* brilho dourado de fundo */

    #faq::before {

      content: '';

      position: absolute;

      bottom: 0; left: 50%;

      transform: translateX(-50%);

      width: 600px; height: 300px;

      background: radial-gradient(ellipse, rgba(201,168,76,0.05) 0%, transparent 70%);

      pointer-events: none;

    }



    /* ── LAYOUT DOIS PAINÉIS ── */

    .faq-inner {

      display: grid;

      grid-template-columns: 5fr 7fr;

      gap: 80px;

      align-items: start;

      position: relative;

      z-index: 1;

    }



    /* ══════════════

       COLUNA ESQUERDA

    ══════════════ */

    .faq-col-left {

      position: sticky;

      top: 20px;

      align-self: start;

    }



    .section-tag-faq {

      display: inline-flex;

      align-items: center;

      gap: 8px;

      font-size: 13px;

      font-weight: 500;

      letter-spacing: 0.2em;

      text-transform: uppercase;

      color: var(--gold);

      margin-bottom: 18px;

    }

    .section-tag-faq::before, .section-tag-faq::after {

      content: '';

      width: 28px;

      height: 1px;

      background: var(--gold);

      opacity: 0.4;

    }



    .faq-title {

      font-family: 'Montserrat', sans-serif;

      font-size: clamp(22px, 2.4vw, 34px);

      font-weight: 700;

      line-height: 1.22;

      color: var(--text);

      margin-bottom: 18px;

    }



    .faq-desc {

      font-size: 14px;

      color: var(--text-muted);

      line-height: 1.75;

      max-width: 380px;

    }





    .faq-accordion {

      display: flex;

      flex-direction: column;

      gap: 10px;

    }



    .faq-item {

      background: rgba(255,255,255,0.025);

      border: 1px solid rgba(255,255,255,0.07);

      border-radius: 10px;

      overflow: hidden;

      transition: border-color 0.3s;

    }



    .faq-item.is-open {

      border-color: rgba(201,168,76,0.25);

      background: rgba(201,168,76,0.03);

    }



    /* item com tema Livelo */

    .faq-item.livelo-item.is-open {

      border-color: var(--pink-border);

      background: var(--pink-dim);

    }



    .faq-btn {

      width: 100%;

      display: flex;

      align-items: center;

      justify-content: space-between;

      gap: 16px;

      padding: 18px 22px;

      background: none;

      border: none;

      cursor: pointer;

      text-align: left;

    }



    .faq-btn__text {

      font-family: 'Montserrat', sans-serif;

      font-size: 13.5px;

      font-weight: 600;

      color: var(--text-muted);

      line-height: 1.4;

      transition: color 0.25s;

    }



    .faq-item.is-open .faq-btn__text {

      color: var(--gold);

    }



    .faq-item.livelo-item.is-open .faq-btn__text {

      color: var(--pink-livelo);

    }



    .faq-btn__icon {

      flex-shrink: 0;

      width: 22px; height: 22px;

      border-radius: 50%;

      border: 1px solid rgba(201,168,76,0.25);

      display: flex;

      align-items: center;

      justify-content: center;

      transition: background 0.25s, border-color 0.25s, transform 0.3s;

    }



    .faq-btn__icon svg {

      width: 10px; height: 10px;

      stroke: var(--gold);

      fill: none;

      stroke-width: 2.5;

      stroke-linecap: round;

      transition: transform 0.3s;

    }



    .faq-item.is-open .faq-btn__icon {

      background: rgba(201,168,76,0.12);

      border-color: rgba(201,168,76,0.45);

    }



    .faq-item.is-open .faq-btn__icon svg {

      transform: rotate(180deg);

    }



    .faq-item.livelo-item .faq-btn__icon {

      border-color: var(--pink-border);

    }



    .faq-item.livelo-item .faq-btn__icon svg {

      stroke: var(--pink-livelo);

    }



    .faq-item.livelo-item.is-open .faq-btn__icon {

      background: var(--pink-dim);

      border-color: var(--pink-border);

    }



    /* painel do corpo */

    .faq-body {

      display: grid;

      grid-template-rows: 0fr;

      transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1);

    }



    .faq-item.is-open .faq-body {

      grid-template-rows: 1fr;

    }



    .faq-body__inner {

      overflow: hidden;

    }



    .faq-body__text {

      padding: 0 22px 20px;

      font-size: 13.5px;

      color: var(--text-muted);

      line-height: 1.75;

    }



    .faq-body__text a {

      color: var(--gold);

      text-decoration: underline;

      text-underline-offset: 2px;

    }



    .faq-body__text strong {

      color: var(--text);

      font-weight: 700;

    }



    /* tag Livelo nos itens sobre pontos */

    .faq-livelo-tag {

      display: inline-flex;

      align-items: center;

      gap: 5px;

      font-family: 'Livelo Sans', sans-serif;

      font-size: 9px;

      font-weight: 700;

      letter-spacing: 0.12em;

      text-transform: uppercase;

      color: var(--pink-livelo);

      background: var(--pink-dim);

      border: 1px solid var(--pink-border);

      border-radius: 100px;

      padding: 2px 8px;

      margin-left: 8px;

      vertical-align: middle;

      opacity: 0.9;

    }



    /* ── RESPONSIVE ── */

    @media (max-width: 992px) {

      .faq-inner {

        grid-template-columns: 1fr;

        gap: 48px;

      }

      .faq-col-left {

        position: static;

        text-align: center;

      }

      .faq-desc {

        justify-self: center;

        max-width: 500px;

      }

      #faq {

        overflow-x: clip;

      }

    }



    @media (max-width: 600px) {

      #faq { padding: 80px 0; }

      .faq-title { font-size: 22px; }

    }





/* SECTION DEPOIMENTOS */



#depoimentos {

    position: relative;

    padding: 70px 0;

    overflow: hidden;

}



#depoimentos::before {

    content: '';

    position: absolute;

    top: 50%; left: 50%;

    transform: translate(-50%, -50%);

    width: 700px; height: 400px;

    background: radial-gradient(ellipse, rgba(201,168,76,0.04) 0%, transparent 70%);

    pointer-events: none;

    z-index: 0;

}



.depo-wrap {

    display: grid;

    grid-template-columns: 1fr 1.5fr;

    gap: 72px;

    align-items: center;

    position: relative;

    z-index: 1;

}



.depo-tag {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 18px;

}



.depo-tag::before,

.depo-tag::after {

    content: '';

    width: 22px; height: 1px;

    background: var(--gold);

    opacity: 0.4;

}



.depo-title {

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(24px, 2.6vw, 36px);

    font-weight: 700;

    color: var(--text);

    line-height: 1.22;

    margin-bottom: 14px;

}



.depo-desc {

    font-size: 14px;

    color: var(--text-muted);

    line-height: 1.75;

    max-width: 320px;

    margin-bottom: 32px;

}



.depo-dots {

    display: flex;

    gap: 8px;

}



.depo-dot {

    height: 7px;

    width: 7px;

    border-radius: 4px;

    background: rgba(201,168,76,0.2);

    border: none;

    cursor: pointer;

    padding: 0;

    transition: background 0.3s ease, width 0.3s ease;

}



.depo-dot.on {

    background: var(--gold);

    width: 22px;

}



.depo-card {

    background: var(--dark-2);

    border: 1px solid var(--border);

    border-radius: 14px;

    padding: 40px 40px 32px;

    position: relative;

    overflow: hidden;

    opacity: 1;

    transform: translateX(0);

    transition: opacity 0.25s ease, transform 0.25s ease;

}



.depo-card::before {

    content: '';

    position: absolute;

    top: 0; left: 0; right: 0;

    height: 3px;

    background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--pink-livelo));

}



.depo-card::after {

    content: '';

    position: absolute;

    bottom: -80px; right: -80px;

    width: 240px; height: 240px;

    background: radial-gradient(circle, rgba(201,168,76,0.05) 0%, transparent 65%);

    pointer-events: none;

}



.depo-card.is-fading {

    opacity: 0;

    transform: translateX(12px);

}



.depo-qs {

    width: 38px; height: 30px;

    display: block;

    margin-bottom: 20px;

    opacity: 0.5;

    justify-self: center;

}



.depo-text {

    font-size: 16px;

    color: var(--text);

    line-height: 1.8;

    font-style: italic;

    margin-bottom: 28px;

    min-height: 110px;

    text-align: center;

}



.depo-divider {

    height: 1px;

    background: rgba(201,168,76,0.1);

    margin-bottom: 22px;

}



.depo-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

}



.depo-author {

    display: flex;

    align-items: center;

    gap: 12px;

}



.depo-avatar {

    width: 44px; height: 44px;

    border-radius: 50%;

    background: rgba(201,168,76,0.1);

    border: 1px solid rgba(201,168,76,0.25);

    display: flex;

    align-items: center;

    justify-content: center;

    font-family: 'Montserrat', sans-serif;

    font-size: 13px;

    font-weight: 700;

    color: var(--gold);

    flex-shrink: 0;

}



.depo-author__name {

    font-family: 'Montserrat', sans-serif;

    font-size: 14px;

    font-weight: 700;

    color: var(--text);

    margin-bottom: 2px;

}



.depo-author__role {

    font-size: 12px;

    color: var(--text-muted);

}



.depo-arrows {

    display: flex;

    gap: 8px;

    flex-shrink: 0;

}



.depo-arrow {

    width: 38px; height: 38px;

    border-radius: 50%;

    background: rgba(201,168,76,0.06);

    border: 1px solid rgba(201,168,76,0.2);

    color: var(--text-muted);

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: border-color 0.2s, color 0.2s, background 0.2s;

    flex-shrink: 0;

    padding: 0;

}



.depo-arrow:hover {

    border-color: var(--gold);

    color: var(--gold);

    background: rgba(201,168,76,0.1);

}



.depo-arrow svg {

    width: 14px; height: 14px;

    flex-shrink: 0;

}



@media (max-width: 860px) {

    .depo-wrap {

        grid-template-columns: 1fr;

        gap: 40px;

    }

    .depo-desc { max-width: 100%; }

}



@media (max-width: 500px) {

    .depo-card { padding: 28px 22px 24px; }

    .depo-text { font-size: 15px; min-height: unset; }

}



/*  FOOTER */

#rodape {

    

    position: relative;

    overflow: hidden;

    background: radial-gradient(circle at top center, #151515, #0b0b0b);

}



.ft2-topbar {

    height: 3px;

    background: linear-gradient(90deg, transparent 0%, var(--gold) 25%, var(--gold-light) 50%, var(--pink-livelo) 80%, transparent 100%);

    opacity: 0.7;

    position: relative;

    z-index: 1;

}



.ft2-main {

    padding: 64px 0 52px;

    position: relative;

    z-index: 1;

}



.ft2-grid {

    display: grid;

    grid-template-columns: 1.7fr 1fr 1fr;

    gap: 56px;

    align-items: start;

}



/* brand */

.ft2-logo {

    width: 120px;

    display: block;

    margin-bottom: 14px;

    object-fit: contain;

}



.ft2-brand-tagline {

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: rgb(201,168,76);

    margin-bottom: 20px;

}



.ft2-brand-desc {

    font-size: 14px;

    color: rgba(154,148,136,0.65);

    line-height: 1.8;

    max-width: 290px;

    margin-bottom: 24px;

}



.ft2-badge {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 8px 14px;

    border-radius: 6px;

    border: 1px solid rgba(201,168,76,0.15);

    background: rgba(201,168,76,0.04);

    margin-bottom: 28px;

}



.ft2-badge__dot {

    width: 6px; height: 6px;

    border-radius: 50%;

    background: #4ade80;

    box-shadow: 0 0 6px rgba(74,222,128,0.5);

    flex-shrink: 0;

    animation: ft2-pulse 2.5s ease-in-out infinite;

}



@keyframes ft2-pulse {

    0%, 100% { opacity: 1; }

    50%       { opacity: 0.35; }

}



.ft2-badge__text {

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 600;

    color: rgba(201,168,76,0.65);

    letter-spacing: 0.06em;

}



.ft2-socials {

    display: flex;

    gap: 8px;

}



.ft2-social {

    width: 38px; height: 38px;

    border-radius: 9px;

    border: 1px solid rgba(201,168,76,0.12);

    background: rgba(255,255,255,0.02);

    display: flex;

    align-items: center;

    justify-content: center;

    color: rgba(154,148,136,0.55);

    text-decoration: none;

    transition: border-color 0.22s, color 0.22s, transform 0.22s, background 0.22s;

    position: relative;

    overflow: hidden;

}



.ft2-social::before {

    content: '';

    position: absolute;

    inset: 0;

    background: linear-gradient(135deg, rgba(201,168,76,0.1), transparent);

    opacity: 0;

    transition: opacity 0.22s;

}



.ft2-social:hover {

    border-color: rgba(201,168,76,0.35);

    color: var(--gold);

    transform: translateY(-2px);

}



.ft2-social:hover::before { opacity: 1; }



.ft2-social svg {

    width: 15px; height: 15px;

    position: relative;

    z-index: 1;

}



/* colunas */

.ft2-col-title {

    font-family: 'Montserrat', sans-serif;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 22px;

    display: flex;

    align-items: center;

    gap: 10px;

}



.ft2-col-title::after {

    content: '';

    flex: 1;

    height: 1px;

    background: rgba(201,168,76,0.12);

}



.ft2-nav {

    display: flex;

    flex-direction: column;

}



.ft2-nav a {

    font-size: 16px;

    color: var(--text);

    text-decoration: none;

    padding: 10px 0;

    display: flex;

    align-items: center;

    gap: 0;

    transition: color 0.2s, padding-left 0.2s, gap 0.2s;

}



.ft2-nav a::before {

    content: '';

    width: 0; height: 1px;

    background: var(--gold);

    transition: width 0.25s ease;

    flex-shrink: 0;

}



.ft2-nav a:hover {

    color: var(--text);

    padding-left: 4px;

    gap: 8px;

}



.ft2-nav a:hover::before { width: 12px; }

.ft2-nav a:last-child { border-bottom: none; }



/* contatos */

.ft2-contacts {

    display: flex;

    flex-direction: column;

}



.ft2-contact {

    padding: 12px 0;

}



.ft2-contact:last-child { border-bottom: none; }



.ft2-contact__label {

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    color: rgb(201,168,76);

    margin-bottom: 4px;

}



.ft2-contact__value,

.ft2-contact__value a {

    font-size: 16px;

    color: var(--text);

    font-weight: bold;

    text-decoration: none;

}

.ft2-contact__value a:hover {

  text-decoration: underline;

  color: unset;

}



/* sep */

.ft2-sep {

    position: relative;

    z-index: 1;

}



.ft2-sep__line {

    height: 1px;

    background: linear-gradient(90deg, transparent, rgba(201,168,76,0.1) 20%, rgba(201,168,76,0.1) 80%, transparent);

}



/* bottom */

.ft2-bottom {

    padding: 22px 0;

    position: relative;

    z-index: 1;

}



.ft2-bottom__inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 16px;

}


.ft2-copy {

    font-size: 14px;

    color: rgba(154,148,136,0.75);

}



.ft2-made {

    font-size: 14px;

    color: rgba(154,148,136,0.75);

    display: flex;

    align-items: center;

    gap: 4px;

}



.ft2-made a {

    color: rgba(154,148,136,1);

    text-decoration: none;

    transition: color 0.2s;

}



.ft2-made a:hover { color: var(--gold); }



/* responsive */

@media (max-width: 860px) {

    .ft2-grid {

        grid-template-columns: 1fr 1fr;

    }

    .ft2-brand {

        grid-column: 1 / -1;

    }

    .ft2-brand-desc { max-width: 100%; }

}



@media (max-width: 540px) {

    .ft2-grid { grid-template-columns: 1fr; gap: 40px; }

    .ft2-main { padding: 52px 0 44px; }

    .ft2-bottom__inner { flex-direction: column; text-align: center; gap: 8px; }

}





/* SECTION CONTATO */



#contato {

    position: relative;

    padding: 70px 0;

    overflow: hidden;

}



#contato::before {

    content: '';

    position: absolute;

    top: 0; left: 50%;

    transform: translateX(-50%);

    width: 800px; height: 400px;

    background: radial-gradient(ellipse, rgba(201,168,76,0.05) 0%, transparent 65%);

    pointer-events: none;

    z-index: 0;

}



.ct-header {

    text-align: center;

    margin-bottom: 48px;

    position: relative;

    z-index: 1;

}



.ct-tag {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 14px;

}



.ct-tag::before,

.ct-tag::after {

    content: '';

    width: 22px; height: 1px;

    background: var(--gold);

    opacity: 0.4;

}



.ct-title {

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(24px, 2.8vw, 36px);

    font-weight: 700;

    color: var(--text);

    line-height: 1.2;

    margin-bottom: 10px;

}



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



.ct-subtitle {

    font-size: 14px;

    color: var(--text-muted);

    line-height: 1.65;

}



/* banners */

.ct-banners {

    display: flex;

    flex-direction: column;

    gap: 12px;

    position: relative;

    z-index: 1;

    max-width: 780px;

    margin: 0 auto;

}



.ct-banner {

    border-radius: 14px;

    border: 1px solid rgba(201,168,76,0.14);

    background: var(--dark-2);

    position: relative;

    overflow: hidden;

    transition: border-color 0.25s;

}



.ct-banner::before {

    content: '';

    position: absolute;

    top: 0; left: 0; right: 0;

    height: 2px;

}



.ct-banner--wa::before    { background: linear-gradient(90deg, #25D366, #128C7E); }

.ct-banner--email::before { background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--pink-livelo)); }



.ct-banner-row {

    display: flex;

    align-items: center;

    gap: 20px;

    padding: 22px 28px;

}



.ct-bicon {

    width: 44px; height: 44px;

    border-radius: 11px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

}



.ct-banner--wa    .ct-bicon { background: rgba(37,211,102,0.08);  border: 1px solid rgba(37,211,102,0.2);  color: #25D366; }

.ct-banner--email .ct-bicon { background: rgba(201,168,76,0.08); border: 1px solid rgba(201,168,76,0.2); color: var(--gold); }



.ct-bicon svg { width: 20px; height: 20px; }



.ct-btext { flex: 1; }



.ct-bbadge {

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.14em;

    text-transform: uppercase;

    margin-bottom: 3px;

}



.ct-banner--wa    .ct-bbadge { color: rgba(37,211,102,0.7); }

.ct-banner--email .ct-bbadge { color: rgba(201,168,76,0.6); }



.ct-btitle {

    font-family: 'Montserrat', sans-serif;

    font-size: 16px;

    font-weight: 700;

    color: var(--text);

}



/* botão whatsapp */

.ct-wa-btn {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 11px 22px;

    border-radius: 8px;

    background: linear-gradient(135deg, #25D366, #1db954);

    color: #fff;

    text-decoration: none;

    font-family: 'Montserrat', sans-serif;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.05em;

    white-space: nowrap;

    flex-shrink: 0;

    transition: opacity 0.2s, transform 0.2s;

    box-shadow: 0 4px 16px rgba(37,211,102,0.22);

}



.ct-wa-btn:hover { opacity: 0.9; transform: translateY(-1px); color: #fff; }

.ct-wa-btn svg   { width: 15px; height: 15px; flex-shrink: 0; }



/* botão toggle email */

.ct-toggle-btn {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 11px 20px;

    border-radius: 8px;

    background: rgba(201,168,76,0.08);

    border: 1px solid rgba(201,168,76,0.25);

    color: var(--gold);

    font-family: 'Montserrat', sans-serif;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.05em;

    white-space: nowrap;

    flex-shrink: 0;

    cursor: pointer;

    transition: background 0.2s, border-color 0.2s;

}



.ct-toggle-btn:hover {

    background: rgba(201,168,76,0.13);

    border-color: rgba(201,168,76,0.4);

}



.ct-arrow {

    width: 14px; height: 14px;

    flex-shrink: 0;

    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);

}



.ct-toggle-btn.open .ct-arrow { transform: rotate(180deg); }



/* divisor */

.ct-form-divider {

    height: 1px;

    background: rgba(201,168,76,0.08);

    margin: 0 28px;

    display: none;

}



.ct-form-divider.visible { display: block; }



/* accordion */

.ct-form-wrap {

    max-height: 0;

    overflow: hidden;

    transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;

    opacity: 0;

}



.ct-form-wrap.open {

    max-height: 520px;

    opacity: 1;

}



.ct-form-inner { padding: 20px 28px 28px; }



.ct-form { display: flex; flex-direction: column; gap: 12px; }



.ct-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }



.ct-field { display: flex; flex-direction: column; gap: 5px; }



.ct-field label {

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--text-muted);

}



.ct-optional {

    font-weight: 400;

    opacity: 0.45;

    text-transform: none;

    letter-spacing: 0;

}



.ct-field input,

.ct-field textarea {

    background: rgba(255,255,255,0.03);

    border: 1px solid rgba(201,168,76,0.12);

    border-radius: 8px;

    padding: 11px 14px;

    font-size: 14px;

    color: var(--text);

    font-family: 'Lato', sans-serif;

    outline: none;

    width: 100%;

    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;

}



.ct-field input::placeholder,

.ct-field textarea::placeholder { color: rgba(154,148,136,0.35); }



.ct-field input:focus,

.ct-field textarea:focus {

    border-color: rgba(201,168,76,0.38);

    background: rgba(201,168,76,0.03);

    box-shadow: 0 0 0 3px rgba(201,168,76,0.06);

}



.ct-field textarea { height: 78px; resize: none; }



.ct-submit {

    width: 100%;

    padding: 13px;

    border-radius: 999px;

    border: 1px solid rgba(255,215,120,0.55);

    background: linear-gradient(135deg, #f5dc8b 0%, #e6bb52 30%, #cfa135 55%, #e9c96f 75%, #f7e6a8 100%);

    color: #1a1a1a;

    font-family: 'Montserrat', sans-serif;

    font-size: 13px;

    font-weight: 800;

    cursor: pointer;

    transition: transform 0.2s, filter 0.2s, box-shadow 0.2s;

    box-shadow: 0 6px 20px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.4);

    margin-top: 2px;

}



.ct-submit:hover {

    transform: translateY(-2px);

    filter: brightness(1.06);

    box-shadow: 0 12px 28px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.5);

}



.ct-disclaimer {

    font-size: 12px;

    color: rgba(154,148,136,0.75);

    text-align: center;

}



/* responsive */

@media (max-width: 580px) {

    .ct-banner-row { flex-wrap: wrap; gap: 14px; padding: 20px; }

    .ct-wa-btn, .ct-toggle-btn { width: 100%; justify-content: center; }

    .ct-row { grid-template-columns: 1fr; }

    .ct-form-inner { padding: 16px 20px 22px; }

    .ct-form-divider { margin: 0 20px; }

}





/* SECTION PRODUTOS */

#produtos {

    position: relative;

    padding: 70px 0;

    overflow: hidden;

}



#produtos::before {

    content: '';

    position: absolute;

    top: 50%; left: 50%;

    transform: translate(-50%, -50%);

    width: 700px; height: 400px;

    background: radial-gradient(ellipse, rgba(201,168,76,0.04) 0%, transparent 70%);

    pointer-events: none;

    z-index: 0;

}



/* ── header ── */

.pd-header {

    text-align: center;

    margin-bottom: 40px;

    position: relative;

    z-index: 1;

}



.pd-tag {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--gold);

    margin-bottom: 14px;

}



.pd-tag::before,

.pd-tag::after {

    content: '';

    width: 22px; height: 1px;

    background: var(--gold);

    opacity: 0.4;

}



.pd-title {

    font-family: 'Montserrat', sans-serif;

    font-size: clamp(22px, 2.6vw, 34px);

    font-weight: 700;

    color: var(--text);

    line-height: 1.2;

    margin-bottom: 10px;

}



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



.pd-sub {

    font-size: 14px;

    color: var(--text-muted);

    line-height: 1.65;

    max-width: 520px;

    margin: 0 auto;

}



/* ── labels do cabeçalho desktop ── */

.pd-col-labels {

    display: grid;

    grid-template-columns: 180px 1fr 1fr 1fr 160px;

    padding: 0 28px 10px;

    margin-bottom: 4px;

    position: relative;

    z-index: 1;

}



.pd-col-label {

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: rgba(201,168,76,0.7);

    padding-left: 20px;

}



.pd-col-label:first-child { padding-left: 0; }



/* ── lista de produtos ── */

.pd-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

    position: relative;

    z-index: 1;

}



.pd-item {

    background: var(--dark-2);

    border: 1px solid rgba(201,168,76,0.12);

    border-radius: 12px;

    padding: 0 28px;

    display: grid;

    grid-template-columns: 180px 1fr 1fr 1fr 160px;

    align-items: center;

    min-height: 70px;

    position: relative;

    overflow: hidden;

    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;

}



.pd-item::before {

    content: '';

    position: absolute;

    left: 0; top: 0; bottom: 0;

    width: 3px;

    background: linear-gradient(to bottom, var(--gold), var(--gold-light));

}



.pd-item:hover {

    border-color: rgba(201,168,76,0.3);

    transform: translateX(4px);

    box-shadow: 0 8px 28px rgba(0,0,0,0.35);

}



.pd-name {

    font-family: 'Montserrat', sans-serif;

    font-size: 15px;

    font-weight: 700;

    color: var(--text);

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 18px 0;

}



.pd-num {

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.1em;

    color: rgba(201,168,76,0.45);

}



.pd-cell {

    padding: 18px 20px;

    border-left: 1px solid rgba(255,255,255,0.04);

    height: 100%;

    display: flex;

    flex-direction: column;

    justify-content: center;

}



.pd-cell-label {

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: rgba(201,168,76,0.4);

    margin-bottom: 5px;

    display: none;

}



.pd-cell-value {

    font-size: 13px;

    color: var(--text-muted);

    line-height: 1.45;

}



.pd-rent {

    font-family: 'Montserrat', sans-serif;

    font-size: 13px;

    font-weight: 700;

    color: var(--gold);

}



.pd-guarantee {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    font-size: 13px;

    color: var(--text-muted);

}



.pd-guarantee::before {

    content: '✓';

    font-size: 11px;

    font-weight: 700;

    color: var(--gold);

    flex-shrink: 0;

}



/* ── coluna Livre de IR ── */

.pd-ir {

    padding: 18px 20px;

    border-left: 1px solid rgba(255,255,255,0.04);

    height: 100%;

    display: flex;

    align-items: center;

}



.pd-ir-badge {

    display: inline-flex;

    align-items: center;

    font-family: 'Montserrat', sans-serif;

    font-size: 12px;

    font-weight: 700;

    border-radius: 6px;

    padding: 4px 12px;

}



.pd-ir-badge.sim {

    background: rgba(111,207,151,0.12);

    color: #6fcf97;

}



.pd-ir-badge.nao {

    background: rgba(235,87,87,0.12);

    color: #eb5757;

}



.pd-ir-label {

    font-family: 'Montserrat', sans-serif;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: rgba(201,168,76,0.4);

    margin-bottom: 5px;

    display: none;

}



/* ── tabela unificada de pontos ── */

.pd-tables-wrap {

    margin-top: 56px;

    position: relative;

    z-index: 1;

}



.pd-tables-title {

    font-family: 'Montserrat', sans-serif;

    font-size: 16px;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--text);

    text-align: center;

    margin-bottom: 24px;

}



/* tabela desktop */

.unified-table-wrap {

    overflow-x: auto;

    border: 1px solid rgba(201,168,76,0.15);

    border-radius: 10px;

}



.unified-table {

    width: 100%;

    border-collapse: collapse;

    min-width: 620px;

}



.unified-table th,

.unified-table td {

    padding: 12px 16px;

    text-align: center;

    font-size: 12px;

}



.unified-table thead tr:first-child th {

    background: rgba(201,168,76,0.07);

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: var(--text-muted);

    border-bottom: 1px solid rgba(201,168,76,0.12);

}



.unified-table thead tr:first-child th em {

    color: var(--pink-livelo);

    font-family: 'Livelo Sans', sans-serif;

    font-weight: bold;

    font-style: normal;

}



.unified-table .sub-header th {

    background: rgba(201,168,76,0.04);

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    color: rgba(201,168,76,0.7);

    border-bottom: 1px solid rgba(255,255,255,0.05);

}



/* coluna investimento destacada */

.th-invest {

    background: rgba(201,168,76,0.13) !important;

    border-right: 2px solid rgba(201,168,76,0.35) !important;

    color: rgba(201,168,76,0.9) !important;

    text-align: left !important;

}



.td-invest {

    background: rgba(201,168,76,0.06);

    border-right: 2px solid rgba(201,168,76,0.25);

    text-align: left;

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;

}



.unified-table tbody tr {

    border-bottom: 1px solid rgba(255,255,255,0.04);

    transition: background 0.2s;

}



.unified-table tbody tr:last-child { border-bottom: none; }

.unified-table tbody tr:hover { background: rgba(201,168,76,0.04); }



.unified-table tbody td {

    padding: 10px 16px;

}



.td-pts {

    color: var(--text);

    font-size: 13px;

    font-weight: 700;

}



/* ── cards mobile (≤992px) ── */

.pts-cards {

    display: none;

    flex-direction: column;
    gap: 12px;

}



.pts-card {

    background: var(--dark-2);

    border: 1px solid rgba(201,168,76,0.15);

    border-radius: 10px;

    overflow: hidden;

    position: relative;

}



.pts-card::before {

    content: '';

    position: absolute;

    left: 0; top: 0; bottom: 0;

    width: 3px;

    background: linear-gradient(to bottom, var(--gold), var(--gold-light));

}



.pts-card-header {

    background: rgba(201,168,76,0.1);

    border-bottom: 2px solid rgba(201,168,76,0.3);

    padding: 12px 18px 12px 22px;

}



.pts-card-header span {

    font-family: 'Montserrat', sans-serif;

    font-size: 14px;

    font-weight: 700;

    color: #ffffff;

}



.pts-card-body { padding: 4px 0; }



.pts-card-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 10px 18px 10px 22px;

    border-bottom: 1px solid rgba(255,255,255,0.04);

}



.pts-card-row:last-child { border-bottom: none; }



.pts-card-label {

    font-family: 'Montserrat', sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    color: rgba(201,168,76,0.7);

}



.pts-card-value {

    font-family: 'Montserrat', sans-serif;

    font-size: 13px;

    font-weight: 700;

    color: var(--text);

}



/* ── notas ── */

.pd-notes {

    display: flex;

    flex-direction: column;

    gap: 6px;

    margin-top: 18px;

    padding-left: 4px;

}



.pd-notes .note {

    display: flex;

    align-items: flex-start;

    gap: 8px;

    font-size: 13px;

    color: var(--text-muted);

    line-height: 1.55;

}



.pd-notes .note::before {

    content: '';

    width: 3px; height: 3px;

    border-radius: 50%;

    background: var(--gold);

    flex-shrink: 0;

    margin-top: 7px;

}



.pd-deadline {

    font-size: 14px;

    color: var(--text-muted);

    text-align: center;

    margin-top: 14px;

}



.pd-deadline strong { color: var(--pink-livelo); }



.product-bottom {

    margin-top: 28px;

}



/* ── responsive ── */

@media (max-width: 992px) {

    /* tabela de pontos vira cards */

    .unified-table-wrap { display: none; }

    .pts-cards { display: flex; }

}



@media (max-width: 990px) {

    /* tabela de produtos vira lista vertical */

    .pd-col-labels { display: none; }



    .pd-item {

        grid-template-columns: 1fr;

        padding: 20px 24px 20px 28px;

        min-height: unset;

    }



    .pd-cell {

        border-left: none;

        padding: 8px 0;

        height: auto;

    }



    .pd-cell-label { display: block; }



    .pd-ir {

        border-left: none;

        padding: 8px 0;

        height: auto;

    }



    .pd-ir-label { display: block; }



    .pd-name {

        padding-bottom: 12px;

        border-bottom: 1px solid rgba(201,168,76,0.08);

    }



    .pd-item:hover { transform: none; }

}



@media (max-width: 600px) {

    .pd-notes { align-items: flex-start; }

}



.ct-form-response{
    margin-top:16px;
    font-size:14px;
    line-height:1.5;
    transition:all .25s ease;
}

.ct-form-response.success{
    color:#15803d;
}

.ct-form-response.error{
    color:#dc2626;
}

.ct-submit:disabled{
    opacity:.7;
    cursor:not-allowed;
}