/* ══════════════════════════════════════════════════════════
   OURO FINO · ALIANÇAS · Design System v2
   Paleta: #F8F1EB (creme) · #C79738 (ouro) · #6B3E03 (bronze)
   Tipografia: Arapey (display) · DM Sans (corpo)
   Filosofia: editorial, espaçado, ouro como acento precioso
══════════════════════════════════════════════════════════ */

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  font-family:'DM Sans','Helvetica Neue',Arial,sans-serif;
  font-size:1rem;line-height:1.65;
  color:var(--text);background:var(--white);
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select,textarea{font-family:inherit}
address{font-style:normal}
/* previne overflow horizontal em inputs/botões no iOS */
input,button,select{max-width:100%}

/* ─── TOKENS ─── */
:root{
  --cream:       #F8F1EB;
  --cream-mid:   #EDE3D5;
  --gold:        #C79738;
  --gold-lt:     #D4A843;
  --gold-dk:     #8B6510;
  --bronze:      #6B3E03;
  --warm-dark:   #231508;   /* marrom fumê escuro, não preto puro */
  --warm-dark2:  #2E1B0A;
  --white:       #FFFFFF;
  --text:        #2C1A07;
  --text-mid:    #6B4E2A;
  --text-lt:     #A07845;

  --grad-gold: linear-gradient(135deg,#8B6510 0%,#C79738 40%,#D4A843 65%,#9A7020 100%);
  --grad-gold-h: linear-gradient(90deg,#8B6510,#C79738 45%,#D4A843 65%,#8B6510);
  --shimmer: linear-gradient(105deg,transparent 25%,rgba(255,215,90,.3) 50%,transparent 75%);

  --r-sm:4px;--r-md:8px;--r-lg:16px;--r-xl:24px;--r-full:9999px;
  --sh-sm:0 2px 8px rgba(44,26,7,.07);
  --sh-md:0 8px 32px rgba(44,26,7,.10);
  --sh-lg:0 24px 64px rgba(44,26,7,.14);
  --sh-gold:0 8px 32px rgba(199,151,56,.25);
  --t:.3s cubic-bezier(.4,0,.2,1);
  --t-slow:.65s cubic-bezier(.4,0,.2,1);
}

/* ─── TIPOGRAFIA ─── */
h1,h2,h3,h4{
  font-family:'Arapey',Georgia,serif;
  font-weight:400;line-height:1.2;letter-spacing:-.01em;
}
h1{font-size:clamp(1.9rem,4.5vw,3.4rem)}
h2{font-size:clamp(1.65rem,3.5vw,2.75rem)}
h3{font-size:clamp(1.2rem,2.2vw,1.75rem)}
em{font-style:italic;color:var(--gold)}
strong{font-weight:600}

/* ─── LAYOUT ─── */
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
.section{padding:clamp(4rem,9vw,7rem) 0}
.section--warm{background:var(--cream)}
.section--dark{background:var(--warm-dark);color:var(--cream)}

.section-header{text-align:center;margin-bottom:clamp(2.5rem,5vw,4rem)}
.section-eyebrow{
  font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  margin-bottom:.85rem;
}
.section-title{margin-bottom:1rem}
.section-sub{
  font-size:1.05rem;color:var(--text-mid);max-width:560px;
  margin:0 auto;line-height:1.75;
}

/* ─── REVEAL ─── */
.reveal-up,.reveal-right{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.4,0,.2,1) var(--delay,0s),
              transform .7s cubic-bezier(.4,0,.2,1) var(--delay,0s);
}
.reveal-right{transform:translateX(28px)}
.reveal-up.is-visible,.reveal-right.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal-up,.reveal-right{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ─── BOTÕES ─── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 2rem;border-radius:var(--r-sm);
  font-family:'DM Sans',sans-serif;font-size:.84rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;border:1.5px solid transparent;
  transition:background var(--t),color var(--t),border-color var(--t),
              box-shadow var(--t),transform var(--t);
  min-height:48px;white-space:nowrap;position:relative;overflow:hidden;
}
.btn::after{
  content:'';position:absolute;inset:0;
  background:var(--shimmer);background-size:200% 100%;
  background-position:-100% 0;
  transition:background-position .55s ease;pointer-events:none;
}
.btn:hover::after{background-position:200% 0}

.btn--primary{
  background:var(--grad-gold);color:var(--warm-dark);
  box-shadow:var(--sh-gold);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(199,151,56,.38)}
.btn--primary:active{transform:none}

.btn--outline{
  background:transparent;color:var(--gold);border-color:var(--gold);
}
.btn--outline:hover{
  background:var(--gold);color:var(--warm-dark);
  transform:translateY(-2px);box-shadow:var(--sh-gold);
}

.btn--whatsapp{background:#25D366;color:#fff;border-color:transparent;box-shadow:0 4px 16px rgba(37,211,102,.28)}
.btn--whatsapp:hover{background:#1EBD5A;transform:translateY(-1px);box-shadow:0 8px 24px rgba(37,211,102,.4)}

.btn--lg{padding:1.05rem 2.5rem;font-size:.87rem}
.btn--full{width:100%}

.btn:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;
}

/* ─── HEADER ─── */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:.9rem 0;
  transition:background var(--t),padding var(--t),box-shadow var(--t),border-color var(--t);
  border-bottom:1px solid transparent;
}
/* Sobre fundo claro: header transparente com logo dourada bem visível */
.site-header.scrolled{
  background:rgba(248,241,235,.97);
  backdrop-filter:blur(12px);
  padding:.6rem 0;
  box-shadow:0 1px 20px rgba(44,26,7,.08);
  border-bottom-color:rgba(199,151,56,.15);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}

.logo{height:50px;width:auto;transition:filter var(--t)}
/* No estado inicial (sobre branco/creme) a logo já é dourada — perfeita */
/* Ao fazer scroll para seção escura o header scrolled fica em creme */

.header-nav{display:flex;gap:2rem}
.nav-link{
  font-size:.82rem;font-weight:500;letter-spacing:.04em;
  color:var(--text-mid);transition:color var(--t);
}
.nav-link:hover{color:var(--gold)}

.header-cta{padding:.6rem 1.3rem;font-size:.78rem}

@media(max-width:768px){
  .header-nav{display:none}
  .header-cta span:not(svg){display:none}
}

/* ─── HERO ─── */
.hero{
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--white);
  padding-top:80px;overflow:hidden;
  position:relative;
}
/* linha decorativa dourada no fundo do hero */
.hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.hero__inner{
  max-width:1200px;
  margin-inline:auto;
  padding-inline:clamp(32px,5vw,72px);
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
  padding-top:clamp(2rem,5vh,4rem);
  padding-bottom:clamp(3rem,7vh,5rem);
}
.hero__content{min-width:0}
.hero__eyebrow{
  font-size:.7rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;
  display:flex;align-items:center;gap:.75rem;
}
.hero__eyebrow::before{
  content:'';width:32px;height:1px;background:var(--gold);flex-shrink:0;
}
.hero__headline{
  color:var(--text);margin-bottom:1.5rem;
  font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.18;
  text-wrap:balance;
}
.hero__headline em{display:block;color:var(--gold);margin-top:.15em}
.hero__sub{
  font-size:clamp(.95rem,1.4vw,1.08rem);
  color:var(--text-mid);line-height:1.75;
  max-width:500px;margin-bottom:2.25rem;
}
.hero__actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.hero__link-ver{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.83rem;font-weight:500;color:var(--text-mid);letter-spacing:.03em;
  transition:color var(--t);
}
.hero__link-ver:hover{color:var(--gold)}
.hero__link-ver svg{transition:transform var(--t)}
.hero__link-ver:hover svg{transform:translateY(3px)}

.hero__proof{
  display:flex;align-items:center;gap:.85rem;
  padding:.85rem 1.25rem;
  background:var(--cream);border-radius:var(--r-md);
  border:1px solid rgba(199,151,56,.2);
  width:fit-content;
}
.hero__proof-stars{display:flex;gap:2px}
.hero__proof-stars svg{width:13px;height:13px;color:var(--gold)}
.hero__proof-text{font-size:.84rem;color:var(--text-mid)}
.hero__proof-text strong{color:var(--text);font-weight:600}

/* SLIDESHOW */
.hero__slideshow{position:relative;min-width:0;width:100%;max-width:460px;margin-inline:auto}
.slideshow{
  position:relative;
  width:100%;
  aspect-ratio:3/4;
  max-height:600px;
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:var(--sh-lg);
  background:var(--cream);
}
.slideshow .slide{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:0;transition:opacity 1s ease;
}
.slide--active{opacity:1}
/* Anel dourado decorativo ao redor do slideshow */
.hero__slideshow::before{
  content:'';
  position:absolute;
  inset:-3px;
  border-radius:calc(var(--r-xl) + 3px);
  background:linear-gradient(145deg,var(--gold),transparent 40%,transparent 60%,var(--gold-dk));
  z-index:-1;
  opacity:.5;
}
.slideshow__dots{
  display:flex;justify-content:center;gap:.5rem;
  margin-top:1.1rem;
}
.slideshow__dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--cream-mid);border:none;cursor:pointer;
  transition:background var(--t),transform var(--t);padding:0;
  min-height:unset;
}
.slideshow__dot.is-active{background:var(--gold);transform:scale(1.3)}

/* Scroll indicator */
.hero__scroll{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  width:34px;height:52px;border-radius:17px;
  border:1.5px solid rgba(199,151,56,.35);
  display:flex;align-items:center;justify-content:center;
}
.scroll-dot{
  width:5px;height:5px;background:var(--gold);border-radius:50%;
  animation:sb 2.2s ease-in-out infinite;
}
@keyframes sb{0%,100%{transform:translateY(-7px);opacity:1}50%{transform:translateY(7px);opacity:.35}}

@media(max-width:860px){
  .hero__inner{grid-template-columns:1fr;gap:2rem;text-align:center;padding-top:1.5rem}
  .hero__eyebrow{justify-content:center}
  .hero__sub,.hero__proof{margin-left:auto;margin-right:auto}
  .hero__actions{justify-content:center}
  .hero__slideshow{max-width:420px;margin-top:1.5rem}
  .slideshow{aspect-ratio:4/5;max-height:none}
  .hero__slideshow::before{display:none}
}

/* ─── TRUST BAR ─── */
.trust-bar{
  background:var(--cream);
  border-top:1px solid rgba(199,151,56,.18);
  border-bottom:1px solid rgba(199,151,56,.18);
  overflow:hidden;padding:.85rem 0;
}
.trust-bar__track{overflow:hidden}
.trust-bar__list{
  display:flex;gap:0;
  animation:marquee 30s linear infinite;
  width:max-content;
}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.trust-bar__list li{
  display:flex;align-items:center;gap:.55rem;
  padding:0 2rem;font-size:.76rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);
  white-space:nowrap;border-right:1px solid rgba(199,151,56,.2);
}
.trust-bar__list li svg{color:var(--gold);flex-shrink:0}
@media(prefers-reduced-motion:reduce){
  .trust-bar__list{animation:none;flex-wrap:wrap;width:auto}
}

/* ─── LINHAS ─── */
.linhas{background:var(--white)}
.linha-card{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem);align-items:center;
  margin-bottom:clamp(3rem,7vw,5.5rem);
  padding:clamp(1.75rem,4vw,3rem);
  border-radius:var(--r-xl);background:var(--cream);
  transition:box-shadow var(--t);
}
.linha-card:last-child{margin-bottom:0}
.linha-card:hover{box-shadow:var(--sh-md)}
.linha-card--reverse{direction:rtl}
.linha-card--reverse>*{direction:ltr}

.linha-card__img-wrap{
  border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;
}
.linha-card__img-wrap img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .65s cubic-bezier(.4,0,.2,1);
}
.linha-card:hover .linha-card__img-wrap img{transform:scale(1.04)}

.linha-card__body{display:flex;flex-direction:column;gap:1.2rem}
.linha-card__badge{
  font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);padding:.28rem .8rem;border:1px solid rgba(199,151,56,.4);
  border-radius:var(--r-full);align-self:flex-start;
}
.linha-card__title{color:var(--text);font-size:clamp(1.5rem,2.5vw,2.1rem)}
.linha-card__text{font-size:.97rem;color:var(--text-mid);line-height:1.75}

@media(max-width:768px){
  .linha-card{grid-template-columns:1fr;direction:ltr}
  .linha-card--reverse{direction:ltr}
  .linha-card__img-wrap{aspect-ratio:auto;height:auto;overflow:visible}
  .linha-card__img-wrap img{position:static;width:100%;height:auto;object-fit:contain;border-radius:inherit}
}

/* ─── DIFERENCIAIS ─── */
.diferenciais{background:var(--cream)}
.diferenciais__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;
}
.dif-card{
  background:var(--white);border:1px solid rgba(199,151,56,.15);
  border-radius:var(--r-lg);padding:1.75rem 1.5rem;
  transition:box-shadow var(--t),border-color var(--t),transform var(--t);
}
.dif-card:hover{
  box-shadow:var(--sh-md);border-color:rgba(199,151,56,.4);
  transform:translateY(-4px);
}
.dif-card__icon{color:var(--gold);margin-bottom:.9rem}
.dif-card h3{font-family:'Arapey',Georgia,serif;font-size:1.1rem;color:var(--text);margin-bottom:.5rem}
.dif-card p{font-size:.88rem;color:var(--text-mid);line-height:1.65}

@media(max-width:900px){.diferenciais__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){
  .diferenciais__grid{grid-template-columns:1fr}
}

/* ─── COMO FUNCIONA ─── */
.como-funciona{background:var(--white)}
.passos{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:start;margin-bottom:3rem;
}
.passo{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 .75rem}
.passo__num{
  width:52px;height:52px;border-radius:50%;
  background:var(--grad-gold);color:var(--warm-dark);
  font-family:'Arapey',serif;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.1rem;flex-shrink:0;box-shadow:var(--sh-gold);
}
.passo__body h3{
  font-size:.98rem;font-family:'Arapey',serif;
  color:var(--text);margin-bottom:.45rem;
}
.passo__body p{font-size:.85rem;color:var(--text-mid);line-height:1.65}
.passo__body strong{color:var(--text)}
.passo__conector{
  width:36px;height:1.5px;
  background:linear-gradient(90deg,var(--gold-dk),var(--gold));
  margin-top:25px;flex-shrink:0;
}
.como-funciona__cta{text-align:center}

@media(max-width:900px){
  .passos{grid-template-columns:1fr;gap:0}
  .passo{flex-direction:row;text-align:left;gap:1.1rem;padding:0}
  .passo__num{margin-bottom:0;flex-shrink:0}
  .passo__body{flex:1}
  .passo__conector{width:1.5px;height:24px;margin:.5rem 0 .5rem 25px}
}

/* ─── PROVA SOCIAL ─── */
.prova-social{background:var(--white)}

/* Bloco Google Rating */
.google-rating{
  display:flex;align-items:stretch;gap:0;
  background:var(--cream);border:1px solid rgba(199,151,56,.2);
  border-radius:var(--r-xl);overflow:hidden;
  margin-bottom:clamp(3rem,6vw,5rem);
  box-shadow:var(--sh-sm);
}
.google-rating__badge{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1rem;padding:2.5rem 3rem;
  background:var(--white);
  border-right:1px solid rgba(199,151,56,.18);
  flex-shrink:0;
}
.google-icon{width:36px;height:36px}
.google-rating__score{text-align:center}
.score-num{
  display:block;font-family:'Arapey',serif;font-size:3.5rem;
  color:var(--gold);line-height:1;margin-bottom:.3rem;
}
.score-stars{display:flex;justify-content:center;gap:3px;margin-bottom:.35rem}
.score-stars svg{width:15px;height:15px;color:var(--gold)}
.score-label{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid)}

.google-rating__stats{
  display:flex;align-items:center;justify-content:space-around;
  flex:1;padding:2rem 3rem;gap:2rem;flex-wrap:wrap;
}
.stat-item{text-align:center}
.stat-num{
  display:block;font-family:'Arapey',serif;font-size:2.2rem;
  color:var(--text);line-height:1;margin-bottom:.35rem;
}
.stat-label{font-size:.75rem;color:var(--text-mid);max-width:120px;line-height:1.4}
.stat-divider{width:1px;height:60px;background:rgba(199,151,56,.2);flex-shrink:0}

@media(max-width:768px){
  .google-rating{flex-direction:column}
  .google-rating__badge{border-right:none;border-bottom:1px solid rgba(199,151,56,.18);padding:2rem}
  .google-rating__stats{padding:2rem;gap:1.5rem}
  .stat-divider{display:none}
}

/* Casais carrossel */
.casais-intro{text-align:center;margin-bottom:2.5rem}
.casais-slideshow{
  position:relative;width:100%;max-width:480px;
  margin-inline:auto;aspect-ratio:4/5;
  border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--sh-md);
}
.casais-track{position:absolute;inset:0}
.casal-slide{
  position:absolute;inset:0;margin:0;
  opacity:0;transition:opacity .8s ease;
}
.casal-slide--active{opacity:1}
.casal-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.casais-dots{
  position:absolute;bottom:14px;left:50%;
  transform:translateX(-50%);
  display:flex;gap:8px;
}
.casais-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(248,241,235,.45);border:none;cursor:pointer;
  transition:background var(--t),transform var(--t);padding:0;min-height:unset;
}
.casais-dot.is-active{background:var(--white);transform:scale(1.3)}
@media(max-width:768px){
  .casais-slideshow{max-width:100%}
}

/* ─── VÍDEO ─── */
.video-section{background:var(--cream)}
.video-wrap{display:flex;justify-content:center}
.video-facade{
  position:relative;width:100%;max-width:340px;
  aspect-ratio:9/16;border-radius:var(--r-xl);
  overflow:hidden;cursor:pointer;
  box-shadow:var(--sh-lg);background:var(--warm-dark);
}
.video-facade img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease,filter .4s ease;
}
.video-facade:hover img{transform:scale(1.03);filter:brightness(.82)}
.video-play-btn{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
}
.video-play-btn svg{
  width:60px;height:60px;fill:#fff;
  background:rgba(199,151,56,.88);border-radius:50%;padding:15px;
  transition:transform .25s ease,background .25s ease;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,.4));
}
.video-facade:hover .video-play-btn svg{transform:scale(1.1);background:var(--gold)}
.video-facade:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* ─── FORMULÁRIO ─── */
.formulario{background:var(--warm-dark)}
.form-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2.5rem,5vw,5.5rem);align-items:start;
}
.form-info__sub{
  font-size:.97rem;color:rgba(248,241,235,.65);
  line-height:1.75;margin:1.25rem 0 2rem;
}
.form-info__list{display:flex;flex-direction:column;gap:.8rem}
.form-info__list li{
  display:flex;align-items:flex-start;gap:.7rem;
  font-size:.88rem;color:rgba(248,241,235,.65);line-height:1.5;
}
.form-info__list svg{flex-shrink:0;margin-top:2px}

.form-card{
  background:rgba(248,241,235,.05);
  border:1px solid rgba(199,151,56,.2);
  border-radius:var(--r-xl);
  padding:clamp(1.75rem,4vw,2.75rem);
  box-shadow:0 8px 40px rgba(0,0,0,.2);
}
.form-group{margin-bottom:1.35rem}
.form-group label{
  display:block;font-size:.8rem;font-weight:500;letter-spacing:.04em;
  color:rgba(248,241,235,.8);margin-bottom:.5rem;
}
input[type=text],input[type=tel],input[type=email]{
  width:100%;padding:.85rem 1rem;
  background:rgba(248,241,235,.06);border:1px solid rgba(199,151,56,.22);
  border-radius:var(--r-sm);color:var(--cream);font-size:.97rem;
  transition:border-color var(--t),background var(--t),box-shadow var(--t);
  min-height:48px;
}
input::placeholder{color:rgba(248,241,235,.28)}
input:hover{border-color:rgba(199,151,56,.5)}
input:focus{
  outline:none;border-color:var(--gold);
  background:rgba(199,151,56,.06);
  box-shadow:0 0 0 3px rgba(199,151,56,.14);
}
input.is-error{border-color:#E05C5C;box-shadow:0 0 0 3px rgba(224,92,92,.13)}

.radio-group{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.radio-option{
  display:flex;align-items:center;gap:.6rem;
  padding:.65rem .85rem;
  background:rgba(248,241,235,.04);border:1px solid rgba(199,151,56,.18);
  border-radius:var(--r-sm);cursor:pointer;
  transition:background var(--t),border-color var(--t);
  font-size:.83rem;color:rgba(248,241,235,.7);min-height:44px;line-height:1.3;
}
.radio-option:hover{background:rgba(199,151,56,.1);border-color:rgba(199,151,56,.45)}
.radio-option input[type=radio]{
  width:15px;height:15px;min-height:unset;
  accent-color:var(--gold);flex-shrink:0;padding:0;
  background:transparent;border:none;box-shadow:none;
}
.radio-option:has(input:checked){
  background:rgba(199,151,56,.14);border-color:var(--gold);color:var(--cream);
}

.form-error{
  display:block;font-size:.76rem;color:#E07070;
  margin-top:.3rem;min-height:1em;
}
.form-privacy{
  display:flex;align-items:center;gap:.4rem;justify-content:center;
  font-size:.73rem;color:rgba(248,241,235,.28);margin-top:.9rem;
}
.form-success{text-align:center;padding:2.5rem 1rem}
.form-success__icon svg{width:60px;height:60px;margin:0 auto 1.25rem}
.form-success h3{font-size:1.45rem;color:var(--cream);margin-bottom:.65rem}
.form-success p{font-size:.93rem;color:rgba(248,241,235,.6);line-height:1.65}

@media(max-width:768px){
  .form-layout{grid-template-columns:1fr;gap:2.5rem}
  .radio-group{grid-template-columns:1fr}
}

/* ─── FOOTER ─── */
.site-footer{
  background:var(--warm-dark2);color:var(--cream);
  padding:clamp(3rem,7vw,5rem) 0 2rem;
  border-top:1px solid rgba(199,151,56,.12);
}
.footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:2.5rem;margin-bottom:2.5rem;
}
.footer-logo{height:50px;width:auto;opacity:.9}
.footer-brand p{font-size:.85rem;color:rgba(248,241,235,.45);line-height:1.65;margin-top:.9rem}
.footer-col h4{
  font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;
}
.footer-col ul{display:flex;flex-direction:column;gap:.75rem}
.footer-col li,.footer-col a{font-size:.85rem;color:rgba(248,241,235,.5);transition:color var(--t)}
.footer-col a:hover{color:var(--gold)}
.footer-col address{font-size:.85rem;color:rgba(248,241,235,.5);line-height:1.75}
.footer-parcelas{font-size:.83rem;color:rgba(248,241,235,.5);margin-bottom:.9rem;line-height:1.5}
.payment-flags{display:flex;flex-wrap:wrap;gap:.4rem}
.flag{
  padding:.22rem .5rem;
  background:rgba(248,241,235,.06);border:1px solid rgba(199,151,56,.15);
  border-radius:var(--r-sm);font-size:.62rem;font-weight:600;
  letter-spacing:.05em;color:rgba(248,241,235,.4);
}
.footer-bottom{
  border-top:1px solid rgba(199,151,56,.1);padding-top:1.5rem;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.footer-seals{display:flex;gap:1.2rem;flex-wrap:wrap}
.footer-seals span{
  display:flex;align-items:center;gap:.35rem;
  font-size:.73rem;color:rgba(248,241,235,.35);
}
.footer-seals svg{color:var(--gold)}
.footer-bottom>p{font-size:.75rem;color:rgba(248,241,235,.25)}

@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr};.footer-bottom{flex-direction:column;align-items:flex-start}}

/* ─── WHATSAPP FLOAT ─── */
.whatsapp-float{
  position:fixed;bottom:1.75rem;right:1.75rem;z-index:90;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.45);
  transition:transform var(--t),box-shadow var(--t);
  animation:pulse-wa 3s ease-in-out infinite 4s;
}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(37,211,102,.6);animation:none}
@keyframes pulse-wa{
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.45)}
  50%{box-shadow:0 4px 32px rgba(37,211,102,.8),0 0 0 8px rgba(37,211,102,.1)}
}
@media(prefers-reduced-motion:reduce){
  .whatsapp-float{animation:none}
  .scroll-dot{animation:none}
}

/* ─── RESPONSIVIDADE ADICIONAL ─── */

/* 360–480px: telas muito pequenas */
@media(max-width:480px){
  /* Hero */
  .hero{padding-top:72px}
  .hero__headline{font-size:1.65rem}
  .hero__sub{font-size:.92rem}
  .hero__actions{flex-direction:column;align-items:stretch;gap:.9rem}
  .hero__actions .btn{text-align:center;justify-content:center}
  .hero__proof{flex-direction:column;align-items:flex-start;gap:.5rem}
  .hero__slideshow{max-width:300px}

  /* Trust bar — para evitar overflow */
  .trust-bar__list{animation-duration:18s}

  /* Linha cards */
  .linha-card{padding:1.25rem}
  .linha-card__img-wrap{aspect-ratio:auto}

  /* Diferenciais */
  .diferenciais__grid{gap:.85rem}
  .dif-card{padding:1.25rem 1rem}

  /* Passos */
  .passo__num{width:44px;height:44px;font-size:1.1rem}
  .passo__body h3{font-size:.95rem}

  /* Google rating */
  .google-rating__badge{padding:1.5rem}
  .score-num{font-size:2.75rem}
  .google-rating__stats{padding:1.5rem 1rem;gap:1.25rem}
  .stat-num{font-size:1.8rem}
  .stat-label{font-size:.7rem}

  /* Formulário */
  .form-card{padding:1.25rem 1rem}
  .radio-group{gap:.45rem}
  .radio-option{font-size:.79rem;padding:.55rem .7rem}

  /* Footer */
  .footer-grid{gap:1.5rem}
  .footer-seals{gap:.75rem}
  .footer-seals span{font-size:.68rem}

  /* Botão WhatsApp float */
  .whatsapp-float{width:50px;height:50px;bottom:1.25rem;right:1.25rem}
  .whatsapp-float svg{width:22px;height:22px}
}

/* 768px: tablets em portrait */
@media(max-width:768px){
  /* Header */
  .site-header{padding:.7rem 0}
  .logo{height:42px}
  .footer-logo{height:42px}

  /* Hero */
  .hero__headline{font-size:clamp(1.9rem,7.2vw,2.6rem);line-height:1.18}
  .hero__scroll{display:none}

  /* Video */
  .video-facade{max-width:300px}

  /* Google rating */
  .google-rating__stats{justify-content:center;gap:2rem}

  /* Botões com área mínima de toque */
  .btn{min-height:48px}
  .radio-option{min-height:48px}

  /* WhatsApp FAB: menor, sem cobrir conteúdo */
  .whatsapp-float{width:48px;height:48px;right:1rem;bottom:1rem}
}

/* Garante que nada estoure a largura em nenhum breakpoint */
.hero__inner,.trust-bar__track,
.linhas,.diferenciais,.como-funciona,.prova-social,
.video-section,.formulario,.site-footer{
  max-width:100%;
}
/* trust bar: nunca mostrar scrollbar horizontal */
.trust-bar{overflow:hidden}
.trust-bar__list li{user-select:none}

/* Inputs não estouram em iOS */
input[type=text],input[type=tel],input[type=email]{
  -webkit-appearance:none;appearance:none;
  width:100%;min-width:0;
}

/* Botões de opção: texto não quebra estranhamente */
.radio-option span{line-height:1.35;word-break:break-word}

/* Slideshow: overflow gerenciado pelo .slideshow com overflow:hidden */
.slideshow{overflow:hidden}

/* Tabela de passos: sem overflow no meio do grid */
.passos{overflow:hidden}

