/* ============================================================
   Decor Colors — LP Institucional / Captação de Franqueados
   Tokens + Hero + Formulário multi-step
   ============================================================ */
:root{
  --dc-dark:#353535;
  --dc-dark-2:#262626;
  --dc-gold-1:#dcbd80;
  --dc-gold-2:#c49a4e;
  --dc-gold-3:#a87c39;
  --dc-input:#d9d9d9;
  --dc-input-text:#2a2a2a;
  --dc-page:#fffcf3;
  --dc-muted:#cfcfcf;
  --radius:18px;
  --radius-sm:8px;
  --maxw:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:112.5%}
body{
  font-family:'Poppins',system-ui,sans-serif;
  background:var(--dc-page);
  color:var(--dc-dark);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer}

/* ===================== HERO ===================== */
.hero{
  position:relative;
  min-height:1040px;min-height:max(1040px,108svh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  isolation:isolate;
}
.hero__bg{
  position:absolute;inset:0;z-index:-2;display:block;background:#101418;
}
.hero__bg-img{
  width:100%;height:100%;object-fit:cover;object-position:center top;display:block;
}
.hero__overlay{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg, rgba(14,22,33,.72) 0%, rgba(14,22,33,.40) 32%, rgba(14,22,33,.10) 55%, rgba(14,22,33,.30) 100%);
}

/* ---- Navbar ---- */
.nav__inner{
  max-width:var(--maxw);margin:0 auto;padding:28px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.nav__logo{color:#fff;width:300px;height:auto;display:inline-block}
.nav__logo svg{width:100%;height:auto}
.nav__logo-img{width:100%;height:auto;display:block;filter:brightness(0) invert(1)}
.nav__links{display:flex;gap:40px;align-items:center}
.nav__links a{
  color:#fff;font-weight:500;font-size:.98rem;letter-spacing:.2px;
  position:relative;padding:4px 0;transition:color .2s var(--ease);
}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;
  background:linear-gradient(90deg,var(--dc-gold-1),var(--dc-gold-3));
  transition:width .25s var(--ease);
}
.nav__links a:hover{color:var(--dc-gold-1)}
.nav__links a:hover::after{width:100%}
.nav__toggle{display:none;background:none;border:0;color:#fff;font-size:1.7rem;line-height:1}

/* ---- Hero content grid ---- */
.hero__grid{
  flex:1;max-width:var(--maxw);width:100%;margin:0 auto;
  padding:64px 32px 96px;
  display:grid;grid-template-columns:1fr minmax(420px,500px);
  gap:48px;align-items:start;
}
.hero__copy{max-width:540px;padding-top:6px}
.hero__title{color:#fff;font-size:clamp(2.2rem,3.3vw,3.05rem);line-height:1.12;font-weight:400;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.hero__title strong{font-weight:700}
.hero__subtitle{color:#eef2f6;margin-top:14px;font-size:1.12rem;font-weight:300;text-shadow:0 1px 10px rgba(0,0,0,.4)}

/* ===================== FORM CARD ===================== */
.fcard{
  background:var(--dc-dark);border-radius:var(--radius);
  padding:42px 40px 36px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.55);
  color:#fff;width:100%;
}
.fcard__title{font-size:2.4rem;font-weight:700;line-height:1.08}
.fcard__sub{color:#9a9a9a;font-size:.98rem;margin-top:8px;font-weight:300}

.fform{margin-top:26px}
.fstep{display:none;animation:fadeIn .35s var(--ease)}
.fstep.is-active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.field{margin-bottom:16px}
.field label{display:block;font-size:1.02rem;font-weight:500;margin-bottom:8px}
.field input{
  width:100%;background:var(--dc-input);border:2px solid transparent;
  border-radius:var(--radius-sm);padding:15px 16px;font-size:1.06rem;
  color:var(--dc-input-text);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.field input:focus{outline:none;border-color:var(--dc-gold-2);box-shadow:0 0 0 3px rgba(196,154,78,.25)}
.field input.is-error{border-color:#e2574c;box-shadow:0 0 0 3px rgba(226,87,76,.2)}
.field .err{color:#f0867c;font-size:.78rem;margin-top:5px;display:none}
.field.has-error .err{display:block}

.flabel-group{font-size:1.02rem;font-weight:500;margin:18px 0 10px}

.radio{display:flex;align-items:center;gap:11px;padding:6px 0;font-size:.95rem;font-weight:300;cursor:pointer}
.radio input{position:absolute;opacity:0;pointer-events:none}
.radio .dot{width:18px;height:18px;border-radius:50%;border:2px solid #6a6a6a;flex:0 0 auto;position:relative;transition:border-color .2s}
.radio input:checked + .dot{border-color:var(--dc-gold-2)}
.radio input:checked + .dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:linear-gradient(135deg,var(--dc-gold-1),var(--dc-gold-3))}
.radio strong{font-weight:600}
.radio:hover .dot{border-color:var(--dc-gold-1)}

.form-consent{display:flex;gap:10px;align-items:flex-start;margin-top:6px;font-size:.78rem;color:#bdbdbd;font-weight:300;line-height:1.45;cursor:pointer}
.form-consent input{margin-top:2px;accent-color:var(--dc-gold-2);width:15px;height:15px;flex:0 0 auto}

.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.fform__top{display:flex;justify-content:flex-start;margin-bottom:4px;min-height:30px}
.fform__foot{display:flex;align-items:center;justify-content:space-between;margin-top:24px}
.dots{display:flex;gap:9px}
.dots span{width:9px;height:9px;border-radius:50%;background:#555;transition:background .25s,transform .25s}
.dots span.is-on{background:linear-gradient(135deg,var(--dc-gold-1),var(--dc-gold-3));transform:scale(1.15)}

.btn-gold{
  display:inline-flex;align-items:center;gap:12px;
  background:#db9411;
  color:#fff;font-weight:700;font-size:1.08rem;border:0;border-radius:999px;
  padding:16px 34px;box-shadow:0 10px 24px -10px rgba(219,148,17,.75);
  transition:transform .2s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease);
}
.btn-gold:hover{transform:translateY(-2px);background-color:#c07f0d;box-shadow:0 16px 30px -10px rgba(219,148,17,.92)}
.btn-gold:active{transform:translateY(0)}
.btn-gold:disabled{opacity:.6;cursor:progress}
.btn-gold .ic{display:inline-flex;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;align-items:center;justify-content:center;transition:transform .2s var(--ease)}
.btn-gold .ic svg{width:14px;height:14px;display:block}
.btn-gold:hover .ic{transform:translateX(3px)}
.btn-back{background:none;border:0;color:#9a9a9a;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;padding:8px 4px;transition:color .2s}
.btn-back:hover{color:#fff}
.btn-back[hidden]{display:none}

.form-msg{margin-top:14px;font-size:.85rem;display:none}
.form-msg.is-error{display:block;color:#f0867c}

/* ===================== RESPONSIVO ===================== */
@media (max-width:430px){
  .hero{min-height:max(760px,92svh)}
  .hero__grid{grid-template-columns:1fr;gap:30px;padding:40px 20px 64px}
  .hero__overlay{background:linear-gradient(180deg,rgba(12,16,20,.55),rgba(12,16,20,.82))}
  .nav__links{
    display:none;position:absolute;top:84px;right:20px;left:20px;
    flex-direction:column;gap:18px;background:var(--dc-dark);
    padding:22px;border-radius:14px;z-index:30;box-shadow:0 20px 40px rgba(0,0,0,.5);
  }
  .nav__links.is-open{display:flex}
  .nav__toggle{display:block}
  .nav__inner{padding:20px}
  .hero__copy{max-width:none}
}
@media (max-width:420px){
  .fcard{padding:26px 20px 24px}
  .fcard__title{font-size:1.55rem}
}

/* ===================== PILARES DE SOLIDEZ ===================== */
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.pilares{padding:120px 0 104px;background:var(--dc-page)}
.pilares__title{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;color:var(--dc-dark);max-width:540px;line-height:1.22;margin-bottom:56px}
.pilares__title strong{font-weight:700}
.pilares__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pcard{background:var(--dc-dark);border-radius:18px;padding:34px 26px 36px;color:#fff;min-height:236px;display:flex;flex-direction:column;gap:22px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.pcard:hover{transform:translateY(-4px);box-shadow:0 18px 36px -18px rgba(0,0,0,.4)}
.pcard__ic{width:50px;height:50px;border-radius:50%;background:#b5a890;display:flex;align-items:center;justify-content:center;color:#353535;flex:0 0 auto}
.pcard__ic-img{width:36px;height:36px;display:block;object-fit:contain}
.pcard__txt{font-size:.98rem;font-weight:400;line-height:1.4;color:#e8e8e8;margin:0}
@media(max-width:900px){.pilares{padding:60px 0 56px}.pilares__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pilares__grid{grid-template-columns:1fr}.container{padding:0 20px}}

/* ===================== FUNDADOR / HISTÓRIA ===================== */
.fundador{padding:112px 0 124px;background:var(--dc-page)}
.fundador__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.fcard2{background:var(--dc-dark);color:#fff;border-radius:18px;padding:52px 46px;max-width:560px;display:flex;flex-direction:column;justify-content:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.fcard2:hover{transform:translateY(-3px);box-shadow:0 24px 50px -24px rgba(0,0,0,.5)}
.fcard2__gem{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#b5a890;color:#353535;margin-bottom:24px}
.fcard2__gem-img{width:30px;height:30px;display:block;object-fit:contain}
.fcard2__title{font-size:clamp(1.4rem,2.2vw,1.78rem);font-weight:700;line-height:1.18;margin-bottom:18px}
.fcard2__text{color:#b6b6b6;font-weight:300;line-height:1.62;font-size:1rem;max-width:430px;margin:0}
.stack{position:relative;width:100%;max-width:560px;margin:0 auto}
.stack__img{display:block;width:100%;height:auto;transition:transform .4s var(--ease)}.stack:hover .stack__img{transform:scale(1.02)}

@media(max-width:900px){
  .fundador{padding:60px 0 72px}
  .fundador__grid{grid-template-columns:1fr;gap:36px}
  .fcard2{max-width:560px;margin-left:auto;margin-right:auto}
  .stack{max-width:380px;order:-1}
}

/* ===================== FORM: ALTURA FIXA ===================== */
.fform .fstep{min-height:344px}
@media(max-width:420px){.fform .fstep{min-height:0}}

/* ===================== SEGMENTED (Sim/Não) + SELECT ===================== */
.segmented{display:flex;gap:12px;margin-top:2px}
.seg{flex:1;position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:flex;align-items:center;justify-content:center;padding:12px;border-radius:var(--radius-sm);background:var(--dc-input);color:var(--dc-input-text);font-weight:600;font-size:.95rem;border:2px solid transparent;transition:.2s var(--ease)}
.seg input:checked + span{background:linear-gradient(135deg,var(--dc-gold-1),var(--dc-gold-3));color:#2a2113}
.seg:hover span{border-color:var(--dc-gold-2)}
.field.has-error .segmented span{border-color:#e2574c}
.fselect{width:100%;background:var(--dc-input);border:2px solid transparent;border-radius:var(--radius-sm);padding:13px 40px 13px 14px;font-size:.98rem;color:var(--dc-input-text);font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;font-size:1.06rem;padding-top:15px;padding-bottom:15px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232a2a2a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.fselect:focus{outline:none;border-color:var(--dc-gold-2);box-shadow:0 0 0 3px rgba(196,154,78,.25)}
.fselect.is-error{border-color:#e2574c;box-shadow:0 0 0 3px rgba(226,87,76,.2)}

/* ===================== TITULOS / CTA ===================== */
.sec-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;color:var(--dc-dark);line-height:1.22;margin-bottom:54px}
.sec-title strong{font-weight:700}
.sec-title.center{text-align:center;margin-bottom:60px}
.btn-gold-pill{display:inline-flex;align-items:center;justify-content:center;background:#db9411;color:#fff;font-weight:700;font-size:1.15rem;border:0;border-radius:12px;padding:18px 46px;box-shadow:0 14px 30px -12px rgba(219,148,17,.85);transition:transform .2s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease)}
.btn-gold-pill:hover{transform:translateY(-3px);background-color:#c07f0d;box-shadow:0 20px 38px -12px rgba(219,148,17,.95)}
.btn-gold-pill:active{transform:translateY(-1px)}

/* ===================== PILARES DE CRESCIMENTO ===================== */
.crescimento{padding:112px 0 112px;background:var(--dc-page)}
.grow__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gcard{background:var(--dc-dark);border-radius:16px;padding:34px 28px 30px;color:#fff;position:relative;display:flex;flex-direction:column;gap:12px;min-height:200px}
.gcard__ic{position:absolute;top:-24px;left:28px;width:54px;height:54px;border-radius:50%;background:#b5a890;display:flex;align-items:center;justify-content:center;color:#353535;box-shadow:0 12px 24px -12px rgba(0,0,0,.55)}
.gcard__ic svg{width:26px;height:26px}
.gcard__t{font-size:1.18rem;font-weight:700;margin-top:16px}
.gcard__p{color:#b6b6b6;font-weight:300;font-size:.95rem;line-height:1.55;margin:0}
.grow__cta{margin-top:52px;text-align:center}

/* ===================== MODELOS DE NEGÓCIOS ===================== */
.modelos{padding:72px 0 132px;background:var(--dc-page)}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:60px}
.tier{background:var(--dc-dark);border-radius:16px;padding:56px 18px 26px;color:#fff;position:relative;text-align:center;margin-top:48px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.tier:hover{transform:translateY(-6px);box-shadow:0 22px 44px -22px rgba(0,0,0,.45)}.tier:hover .tier__ic{transform:translateX(-50%) translateY(-4px)}
.tier__ic{position:absolute;top:-44px;left:50%;transform:translateX(-50%);width:86px;height:86px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));transition:transform .25s var(--ease)}
.tier__ic img{width:100%;height:100%;object-fit:contain;display:block}
.tier__name{font-size:1.18rem;font-weight:700;margin:12px 0 14px}
.tier__body{display:flex;flex-direction:column}
.tier__lbl{color:#9a9a9a;font-size:.72rem;font-weight:300;margin-top:12px;line-height:1.2}
.tier__lbl:first-child{margin-top:0}
.tier__val{font-size:1.12rem;font-weight:700;color:#fff;margin:2px 0 0}
.multi{display:flex;align-items:center;gap:48px;border:2px solid #e3ddcd;border-radius:18px;padding:52px 70px;max-width:none;margin:0 auto 48px}
.multi__num{font-size:5.2rem;font-weight:700;line-height:1;color:var(--dc-dark);flex:0 0 auto}
.multi__txt{font-size:1.8rem;font-weight:500;color:var(--dc-dark);line-height:1.22;margin:0;flex:1}
.multi__ic{flex:0 0 auto;color:var(--dc-dark)}
.multi__ic img{width:200px;height:auto;object-fit:contain;display:block}
.modelos__cta{text-align:center}
@media(max-width:900px){
  .crescimento{padding:64px 0 64px}
  .grow__grid{grid-template-columns:1fr;gap:40px}
  .modelos{padding:30px 0 80px}
  .tiers{grid-template-columns:repeat(2,1fr);gap:56px 16px}
  .multi{flex-direction:column;text-align:center;gap:14px;padding:24px}
  .multi__txt{text-align:center}
}
@media(max-width:520px){.tiers{grid-template-columns:1fr;gap:40px}}

/* indicador de scroll (chevron pra baixo) no hero */
.hero__scroll{
  position:absolute; left:50%; bottom:26px; z-index:6;
  width:46px; height:46px; display:flex; align-items:center; justify-content:center;
  transform:translateX(-50%);
  animation:heroScrollBob 1.8s ease-in-out infinite;
  -webkit-tap-highlight-color:transparent;
}
.hero__scroll-chevron{
  width:20px; height:20px;
  border-right:3px solid rgba(255,255,255,.92);
  border-bottom:3px solid rgba(255,255,255,.92);
  transform:rotate(45deg);
  border-radius:2px;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));
}
@keyframes heroScrollBob{
  0%,100%{ transform:translateX(-50%) translateY(0);   opacity:.65 }
  50%    { transform:translateX(-50%) translateY(9px);  opacity:1 }
}
@media (prefers-reduced-motion: reduce){
  .hero__scroll{ animation:none }
}

/* ===================== SCROLL REVEAL ===================== */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);will-change:opacity,transform}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}}

/* ===================== FACHADAS / MODELOS DE LOJA (carrossel) ===================== */
.fachadas{background:var(--dc-dark);padding:60px 0}
.fachadas__stage{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:14px}
.fachadas__viewport{overflow:hidden;flex:1 1 auto;padding:10px 0 24px}
.fachadas__track{--per:2;--gap:22px;display:flex;gap:var(--gap);transition:transform .6s var(--ease);will-change:transform}
.fachada{
  position:relative;flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));
  aspect-ratio:3 / 2;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 18px 42px -22px rgba(0,0,0,.7);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.fachada:hover{transform:translateY(-4px);box-shadow:0 26px 52px -22px rgba(0,0,0,.8)}
.fachada__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.fachada:hover .fachada__img{transform:scale(1.045)}
.fachada__scrim{position:absolute;inset:auto 0 0 0;height:48%;background:linear-gradient(to top,rgba(0,0,0,.66),rgba(0,0,0,0));pointer-events:none}
.fachada__label{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:#fff;font-weight:600;font-size:1.15rem;text-transform:uppercase;letter-spacing:.42em;text-indent:.42em;text-shadow:0 2px 12px rgba(0,0,0,.55)}

.fachadas__arrow{
  flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.12);color:#fff;
  transition:background-color .2s var(--ease),transform .2s var(--ease)}
.fachadas__arrow svg{width:22px;height:22px;display:block}
.fachadas__arrow:hover{background:#db9411;transform:scale(1.06)}
.fachadas__arrow:active{transform:scale(.96)}

.fachadas__dots{display:flex;justify-content:center;gap:10px;margin-top:22px}
.fachadas__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background-color .25s var(--ease),transform .25s var(--ease)}
.fachadas__dots button.is-on{background:#db9411;transform:scale(1.25)}

@media(max-width:900px){.fachadas{padding:44px 0}.fachadas__stage{padding:0 16px;gap:8px}}
@media(max-width:640px){
  .fachadas__track{--per:1}
  .fachadas__arrow{width:40px;height:40px}
  .fachada__label{font-size:1rem;letter-spacing:.32em;text-indent:.32em}
}
@media(prefers-reduced-motion:reduce){.fachadas__track{transition:none}}

/* ===================== NOSSOS PRODUTOS (marquee infinito) ===================== */
.produtos{padding:96px 0 56px;background:#f8f4e7;overflow:hidden}
.prod-banner{position:relative;max-width:980px;margin:0 auto;border:2px solid var(--dc-gold-2);border-radius:16px;padding:26px 48px;text-align:center}
.prod-banner__line{text-transform:uppercase;font-weight:700;color:var(--dc-dark);letter-spacing:0;line-height:1.5;font-size:clamp(1.05rem,1.6vw,1.45rem);margin:0;white-space:nowrap}

.js-marquee{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.js-marquee.is-drag{cursor:grabbing}
.js-marquee [data-track]{will-change:transform}
.js-marquee img{pointer-events:none;-webkit-user-drag:none}

.prod-marquee{max-width:min(1180px,90vw);margin:44px auto 0;overflow:hidden;padding:16px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.prod-track{display:flex;align-items:flex-end;width:max-content;gap:72px}
.prod-item{flex:0 0 auto;display:block;transition:transform .25s var(--ease)}
.prod-item img{height:185px;width:auto;display:block}
.prod-item:hover{transform:translateY(-5px) scale(1.03)}
@keyframes prodScroll{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}

@media(max-width:760px){
  .prod-banner{max-width:calc(100% - 32px)}
  .prod-banner__line{white-space:normal;font-size:clamp(.95rem,3.2vw,1.2rem)}
}
@media(max-width:640px){
  .produtos{padding:64px 0 44px}
  .prod-banner{padding:20px 22px}
  .prod-track{gap:48px}
  .prod-item img{height:150px}
}

/* ===================== BENEFÍCIOS / CTA ===================== */
.beneficios{background:var(--dc-page);padding:88px 0}
.beneficios__inner{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:minmax(440px,520px) 1fr;gap:76px;align-items:center}
.beneficios__text{min-width:0}
.beneficios__title{font-size:clamp(1.8rem,2.3vw,2.3rem);font-weight:700;line-height:1.12;color:var(--dc-dark);margin:0 0 20px}
.beneficios__lead{font-size:1.02rem;color:var(--dc-dark);margin:0 0 14px;line-height:1.5}
.beneficios__p{font-size:.98rem;line-height:1.6;color:#585858;margin:0 0 24px}
.beneficios__lead strong,.beneficios__p strong{color:var(--dc-dark);font-weight:700}
.beneficios__btn{display:inline-flex;align-items:center;gap:12px;border:2px solid #db9411;color:#db9411;background:transparent;border-radius:12px;padding:14px 24px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:.92rem;line-height:1.2;white-space:nowrap;text-decoration:none;transition:background-color .2s var(--ease),color .2s var(--ease)}
.beneficios__btn-ic{width:20px;height:20px;flex:0 0 auto}
.beneficios__btn:hover{background:#db9411;color:#fff}
.beneficios__note{font-size:.85rem;color:#8a8473;margin:14px 0 0;max-width:44ch;line-height:1.5}

.beneficios__carousel{min-width:0;padding:6px 0 14px}
.beneficios__track{display:flex;width:max-content;gap:22px;align-items:stretch}
.bcard{flex:0 0 286px;background:#b5a890;border-radius:22px;height:384px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:32px 26px;user-select:none}
.bcard__ic{width:120px;height:120px;display:flex;align-items:center;justify-content:center}
.bcard__ic img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.bcard__t{font-size:1.45rem;font-weight:600;line-height:1.25;color:#353535;text-align:center;margin:0}

@media(max-width:980px){
  .beneficios__inner{grid-template-columns:1fr;gap:34px}
  .beneficios__btn{white-space:normal;max-width:380px}
}
@media(max-width:640px){
  .beneficios{padding:58px 0}
  .beneficios__title{font-size:clamp(1.7rem,7vw,2.1rem)}
  .beneficios__lead{font-size:1rem}
  .beneficios__p{font-size:.95rem}
  .beneficios__btn{width:auto;max-width:300px;white-space:normal;justify-content:center;text-align:center;padding:14px 20px;font-size:.84rem;gap:10px}
  .beneficios__btn-ic{width:18px;height:18px}
  .beneficios__note{font-size:.82rem}
  .bcard{flex-basis:228px;height:326px;gap:22px;padding:26px 20px}
  .bcard__ic{width:98px;height:98px}
  .bcard__t{font-size:1.2rem}
}

/* ============ FAQ ============ */
.faq{background:var(--dc-page);padding:84px 0}
.faq__panel{max-width:1180px;margin:0 auto;background:#e9e5dc;border-radius:24px;padding:clamp(26px,3.5vw,52px)}
.faq__title{display:flex;align-items:center;gap:14px;font-size:clamp(1.5rem,2.4vw,2.05rem);font-weight:700;color:var(--dc-dark);margin:0 0 26px}
.faq__search{width:1.05em;height:1.05em;flex:0 0 auto;color:var(--dc-dark)}
.faq__list{display:flex;flex-direction:column;gap:12px}
.faq__item{background:#353535;border-radius:12px;overflow:hidden}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;background:transparent;border:0;cursor:pointer;padding:18px 22px;text-align:left;font-family:inherit;font-weight:600;font-size:1.04rem;line-height:1.4;color:#fff;transition:color .2s var(--ease)}
.faq__item.is-open .faq__q{color:#db9411}
.faq__chevron{width:22px;height:22px;flex:0 0 auto;color:#e7e4db;transition:transform .32s var(--ease)}
.faq__item.is-open .faq__chevron{transform:rotate(180deg)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--ease)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__a>div{overflow:hidden}
.faq__a p{margin:0;padding:2px 22px 20px;color:#e7e4db;font-size:1rem;line-height:1.62;max-width:1020px}
@media(max-width:640px){
  .faq{padding:58px 0}
  .faq__panel{border-radius:18px;padding:22px 16px}
  .faq__q{font-size:.96rem;padding:15px 16px;gap:12px}
  .faq__chevron{width:20px;height:20px}
  .faq__a p{padding:0 16px 16px;font-size:.94rem}
}
/* ============ FOOTER ============ */
.site-footer{background:#353535;padding:40px 0}
.footer__inner{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap}
.footer__logo{display:inline-flex;flex:0 0 auto}
.footer__logo img{height:46px;width:auto;display:block}
.footer__divider{width:1px;align-self:stretch;min-height:66px;background:rgba(248,246,241,.32)}
.footer__info{display:flex;flex-direction:column;gap:6px}
.footer__info p{margin:0;color:#f8f6f1;font-size:.95rem;line-height:1.5;letter-spacing:.01em}
@media(max-width:640px){
  .site-footer{padding:32px 0}
  .footer__inner{flex-direction:column;gap:18px;text-align:center}
  .footer__divider{width:64px;min-height:0;height:1px;align-self:center}
  .footer__logo img{height:40px}
  .footer__info{align-items:center}
  .footer__info p{font-size:.88rem}
}
/* ============ Campo condicional (ponto comercial) ============ */

/* ====== Linha de campos lado a lado (nome/sobrenome) ====== */
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.field-row{grid-template-columns:1fr;gap:0}}

/* ===== Faixa de forca (stat bar) ===== */
.statbar{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(100deg,var(--dc-dark-2) 0%,var(--dc-dark) 55%,#3d3a33 100%);
  border-top:2px solid var(--dc-gold-2);border-bottom:2px solid var(--dc-gold-2)}
.statbar::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(220,189,128,.16) 50%,transparent 62%);
  transform:translateX(-120%);animation:statShine 6.5s ease-in-out infinite}
@keyframes statShine{0%,100%{transform:translateX(-120%)}50%{transform:translateX(120%)}}
.statbar__inner{display:flex;align-items:center;justify-content:center;text-align:center;
  gap:clamp(18px,4vw,56px);padding:22px 20px;flex-wrap:wrap;position:relative;z-index:1}
.statbar__item{display:flex;flex-direction:column;gap:4px;min-width:140px}
.statbar__num{font-weight:700;line-height:1;letter-spacing:-.5px;font-size:clamp(1.9rem,4.5vw,2.9rem);
  background:linear-gradient(180deg,var(--dc-gold-1),var(--dc-gold-3));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--dc-gold-1)}
.statbar__num--text{font-size:clamp(1.5rem,3.6vw,2.4rem)}
.statbar__label{font-size:.92rem;font-weight:300;color:#e7e3d8;max-width:24ch;margin:0 auto}
.statbar__sep{width:1px;height:46px;flex:0 0 auto;
  background:linear-gradient(180deg,transparent,var(--dc-gold-2),transparent)}
@media (max-width:680px){.statbar__inner{gap:18px;padding:20px 16px}
  .statbar__sep{width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--dc-gold-2),transparent)}}
@media (prefers-reduced-motion:reduce){.statbar::before{display:none}}

/* ===== Banner de consentimento (LGPD) ===== */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:16px;display:flex;justify-content:flex-start;pointer-events:none}
/* FIX: consent so ocupa/intercepta a tela quando realmente visivel (evita bloquear toques no form quando 'escondido') */
.consent:not(.is-visible){display:none!important}
.consent__card{pointer-events:auto;width:100%;max-width:920px;background:var(--dc-dark-2);color:#f3f1ea;
  border:1px solid rgba(220,189,128,.35);border-top:3px solid var(--dc-gold-2);border-radius:var(--radius);
  box-shadow:0 18px 50px -12px rgba(0,0,0,.55);padding:18px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  transform:translateY(18px);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease)}
.consent.is-visible .consent__card{transform:translateY(0);opacity:1}
.consent__text{flex:1 1 320px;min-width:260px}
.consent__title{display:block;color:var(--dc-gold-1);font-size:1.02rem;margin-bottom:4px}
.consent__text p{font-size:.9rem;font-weight:300;line-height:1.5;color:#d9d5c9;margin:0}
.consent__text a{color:var(--dc-gold-1);text-decoration:underline}
.consent__actions{display:flex;gap:10px;flex:0 0 auto}
.consent__btn{font-family:inherit;font-weight:600;font-size:.95rem;cursor:pointer;border-radius:var(--radius-sm);
  padding:11px 22px;transition:all .2s var(--ease);border:1px solid transparent}
.consent__btn--ghost{background:transparent;color:#cfcbbf;border-color:rgba(255,255,255,.25)}
.consent__btn--ghost:hover{border-color:#fff;color:#fff}
.consent__btn--accept{background:#db9411;color:#fff}
.consent__btn--accept:hover{background:#c07f0d;transform:translateY(-1px)}
@media (max-width:560px){.consent__card{padding:16px;gap:14px}.consent__actions{flex:1 1 100%}.consent__btn{flex:1}}
@media (prefers-reduced-motion:reduce){.consent__card{transition:none}}

/* ===== Modal do formulario ===== */
.fmodal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}
.fmodal__backdrop{position:absolute;inset:0;background:rgba(30,28,24,.74);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .35s var(--ease)}
.fmodal.is-open .fmodal__backdrop{opacity:1}
.fmodal__dialog{position:relative;z-index:1;width:100%;max-width:540px;max-height:92vh;overflow:auto;
  transform:scale(.92);opacity:0;transition:transform .38s var(--ease),opacity .38s var(--ease)}
.fmodal.is-open .fmodal__dialog{transform:scale(1);opacity:1}
.fmodal__close{position:absolute;top:10px;right:12px;z-index:3;width:38px;height:38px;border:none;border-radius:50%;
  background:rgba(0,0,0,.3);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;transition:background .2s}
.fmodal__close:hover{background:rgba(0,0,0,.55)}
.fmodal .fcard{width:100%;max-width:none;margin:0}
@media (prefers-reduced-motion:reduce){.fmodal__dialog,.fmodal__backdrop{transition:none}}

/* ===== Exit-intent ===== */
.exitpop{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px}
.exitpop__backdrop{position:absolute;inset:0;background:rgba(30,28,24,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.exitpop__card{position:relative;z-index:1;background:var(--dc-page);color:var(--dc-dark);max-width:440px;width:100%;
  border-radius:var(--radius);border-top:5px solid var(--dc-gold-2);box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
  padding:34px 30px 30px;text-align:center;transform:scale(.9);opacity:0;transition:transform .35s var(--ease),opacity .35s var(--ease)}
.exitpop.is-open .exitpop__card{transform:scale(1);opacity:1}
.exitpop__close{position:absolute;top:8px;right:12px;border:none;background:none;font-size:1.8rem;line-height:1;color:#9a9a9a;cursor:pointer}
.exitpop__close:hover{color:var(--dc-dark)}
.exitpop__title{font-size:1.5rem;font-weight:700;line-height:1.15;margin-bottom:12px}
.exitpop__txt{font-size:1rem;font-weight:300;color:#555;line-height:1.5;margin-bottom:22px}
.exitpop__cta{background:#db9411;color:#fff;border:none;font-family:inherit;font-weight:600;font-size:1.05rem;padding:15px 32px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease)}
.exitpop__cta:hover{background:#c07f0d;transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.exitpop__card{transition:none}}

  background:linear-gradient(180deg,rgba(38,38,38,0),var(--dc-dark-2) 45%);display:none;justify-content:center;
  transform:translateY(120%);transition:transform .35s var(--ease)}

/* ===== CTA navbar + CTA final pos-FAQ ===== */
.nav__cta{background:#db9411;color:#fff !important;padding:9px 20px;border-radius:var(--radius-sm);font-weight:600;transition:background .2s var(--ease)}
.nav__cta:hover{background:#c07f0d}
.faqcta{background:var(--dc-page);padding:8px 20px 56px}
.faqcta__inner{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.faqcta__txt{font-size:1.1rem;color:var(--dc-dark);font-weight:500;margin:0}

/* ===== FIX: overlays realmente ocultos ate abrir (hidden vence display:flex) ===== */
.fmodal[hidden],.exitpop[hidden]{display:none !important}
.exitpop__backdrop{opacity:0;transition:opacity .35s var(--ease)}
.exitpop.is-open .exitpop__backdrop{opacity:1}

/* CTA do form acima do banner LGPD */
#franqueadoForm [data-next],#franqueadoForm [data-back]{position:relative;z-index:10001}
