/* ══════════════════════════════════════════════════════════
   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:1;transform:none}
.js .reveal-up,.js .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);
}
.js .reveal-right{transform:translateX(28px)}
.js .reveal-up.is-visible,.js .reveal-right.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js .reveal-up,.js .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;max-width:100%;
}
.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);
  -webkit-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}
.header-cta svg{flex-shrink:0}
.header-cta__text{display:inline}

@media(max-width:768px){
  .header-nav{display:none}
  .header-cta{
    width:auto;
    height:auto;
    min-height:40px;
    padding:.62rem .9rem;
    border-radius:var(--r-sm);
    flex:0 0 auto;
    font-size:.68rem;
    letter-spacing:.055em;
    white-space:nowrap;
  }
  .header-cta__text{display:inline}
  .header-cta svg{width:14px;height:14px}
}


/* ─── HERO ─── */
.hero{
  min-height:100vh;
  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;
}
.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;
  display:block;width:100%;height:100%;
  opacity:0;transition:opacity 1s ease;
}
.slideshow .slide img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
}
.slideshow .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:4/3}
}

/* ─── 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 */
.casais-intro{text-align:center;margin-bottom:2.5rem}
.casais-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.casal-foto{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;position:relative}
.casal-foto img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s ease;
}
.casal-foto:hover img{transform:scale(1.05)}
.casal-foto figcaption{
  position:absolute;bottom:0;left:0;right:0;
  padding:.65rem 1rem;
  background:linear-gradient(transparent,rgba(44,26,7,.6));
  font-size:.73rem;color:rgba(248,241,235,.85);letter-spacing:.04em;
  opacity:0;transition:opacity var(--t);
}
.casal-foto:hover figcaption{opacity:1}
@media(max-width:768px){
  .casais-grid{grid-template-columns:repeat(2,1fr)}
  .casais-grid .casal-foto:last-child{display:none}
}
@media(max-width:480px){
  .casais-grid{grid-template-columns:1fr}
  .casais-grid .casal-foto:nth-child(n+4){display:none}
}


/* Slideshow de casais reais */
.casais-slideshow{
  width:min(100%,760px);
  margin-inline:auto;
  position:relative;
}
.casais-track{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  max-height:680px;
  border-radius:var(--r-xl);
  overflow:hidden;
  background:var(--cream);
  box-shadow:var(--sh-md);
}
.casal-slide{
  position:absolute;
  inset:0;
  margin:0;
  width:100%;
  height:100%;
  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{
  display:flex;
  justify-content:center;
  gap:.5rem;
  margin-top:1rem;
}
.casais-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cream-mid);
  border:0;
  padding:0;
  min-height:unset;
  cursor:pointer;
  transition:background var(--t),transform var(--t);
}
.casais-dot.is-active{background:var(--gold);transform:scale(1.25)}
@media(max-width:768px){
  .casais-slideshow{width:min(100%,460px)}
  .casais-track{max-height:none}
}
@media(max-width:480px){
  .casais-track{border-radius:var(--r-lg)}
}

/* ─── VÍDEO ─── */
.video-section{background:var(--cream)}
.video-wrap{display:flex;justify-content:center}
.video-embed{
  position:relative;
  width:100%;
  max-width:320px;
  margin-inline:auto;
  aspect-ratio:9/16;
  border-radius:20px;
  overflow:hidden;
  background:#000;
}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ─── 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:3/2}

  /* Diferenciais */
  .diferenciais__grid{gap:.85rem}
  .dif-card{padding:1.25rem 1rem}
  .diferenciais__strip{grid-template-columns:1fr}
  .diferenciais__strip img:not(:first-child){display:none}

  /* 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}
  .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}

  /* 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 */
  .whatsapp-float{width:54px;height:54px;right:14px;bottom:14px}
  .whatsapp-float svg,.whatsapp-float img{width:26px;height:26px}
}

/* 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}

/* Grade de casais: impede imagens de estourar */
.casais-grid{overflow:hidden}
.casal-foto{overflow:hidden}


/* ─── AJUSTES FINAIS DE COMPATIBILIDADE E RESPONSIVIDADE ─── */
@supports (overflow:clip){
  html,body{overflow-x:clip}
}

:target{scroll-margin-top:88px}

html,body{max-width:100%}
body{min-width:320px}

picture,source{max-width:100%}
svg{max-width:100%}

.section-header,.hero__content,.linha-card__body,.form-info,.form-card{min-width:0}

.btn{word-break:normal;text-align:center}

@media(max-width:768px){
  .btn{white-space:normal;line-height:1.25}
  .header-cta{white-space:nowrap}
  .hero__scroll{display:none}
  .hero__proof{width:min(100%,420px)}
}

@media(max-width:380px){
  .container{padding-inline:.875rem}
  .logo{height:36px}
  .hero{padding-top:68px}
  .hero__inner{padding-inline:14px}
  .hero__headline{font-size:1.48rem;line-height:1.14}
  .hero__sub{font-size:.88rem;line-height:1.62}
  .hero__slideshow{max-width:270px}
  .btn{padding:.85rem 1rem;font-size:.76rem;letter-spacing:.055em}
  .linha-card{padding:1rem;border-radius:var(--r-lg)}
  .form-card{border-radius:var(--r-lg)}
  .footer-seals{flex-direction:column;gap:.5rem}
}

.radio-option input:checked + span{color:var(--cream)}

/* Evita que animações e carrosséis criem área clicável fora da tela */
.trust-bar__track,.slideshow,.casais-track{contain:layout paint}

/* Melhora suporte visual em Safari/iOS */
input,button,textarea,select{font-size:16px}
@media(min-width:769px){input,button,textarea,select{font-size:inherit}}

/* ══════════════════════════════════════════════════════════
   HOTFIX FINAL · CARROSSEL DO 4º BLOCO + IMAGENS MOBILE
   Mantém apenas 1 imagem visível no bloco de casais e restaura autoplay via JS.
══════════════════════════════════════════════════════════ */
#casais-slideshow.casais-slideshow{
  width:min(100%,760px) !important;
  margin-inline:auto !important;
  position:relative !important;
}
#casais-slideshow .casais-track{
  position:relative !important;
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  max-height:680px !important;
  border-radius:var(--r-xl) !important;
  overflow:hidden !important;
  background:var(--cream) !important;
  box-shadow:var(--sh-md) !important;
}
#casais-slideshow .casais-track .casal-slide{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  z-index:1 !important;
  transition:opacity .8s ease !important;
}
#casais-slideshow .casais-track .casal-slide.casal-slide--active{
  opacity:1 !important;
  visibility:visible !important;
  z-index:2 !important;
}
#casais-slideshow .casais-track .casal-slide img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
#casais-slideshow .casais-dots{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:.55rem !important;
  margin-top:1rem !important;
}
#casais-slideshow .casais-dot{
  width:7px !important;
  height:7px !important;
  min-height:unset !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--cream-mid) !important;
  cursor:pointer !important;
  transition:background var(--t), transform var(--t) !important;
}
#casais-slideshow .casais-dot.is-active{
  background:var(--gold) !important;
  transform:scale(1.25) !important;
}

@media(max-width:768px){
  #casais-slideshow.casais-slideshow{width:min(100%,460px) !important;}
  #casais-slideshow .casais-track{max-height:none !important; aspect-ratio:4 / 5.25 !important;}
}
@media(max-width:480px){
  #casais-slideshow .casais-track{border-radius:var(--r-lg) !important; aspect-ratio:4 / 5.4 !important;}
}

/* Imagens das linhas Classic, Premium e Master: formato vertical no mobile */
@media(max-width:768px){
  .linhas .linha-card__img-wrap{
    aspect-ratio:4 / 5.35 !important;
    height:auto !important;
    background:var(--cream) !important;
    overflow:hidden !important;
  }
  .linhas .linha-card__img-wrap img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
  .linhas .linha-card:hover .linha-card__img-wrap img{transform:none !important;}
}
@media(max-width:480px){.linhas .linha-card__img-wrap{aspect-ratio:4 / 5.75 !important;}}
@media(max-width:380px){.linhas .linha-card__img-wrap{aspect-ratio:4 / 6 !important;}}

/* ══════════════════════════════════════════════════════════
   SEO E CONVERSÃO · FAQ + LOCALIZAÇÃO
   Adicionado para reforçar conteúdo útil, SEO local e confiança
══════════════════════════════════════════════════════════ */
.faq{background:var(--cream)}
.faq-list{
  max-width:860px;
  margin:0 auto;
  display:grid;
  gap:1rem;
}
.faq-item{
  background:var(--white);
  border:1px solid rgba(199,151,56,.18);
  border-radius:var(--r-lg);
  padding:1.15rem 1.35rem;
  box-shadow:var(--sh-sm);
  overflow:hidden;
}
.faq-item summary{
  cursor:pointer;
  font-weight:600;
  color:var(--text);
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  line-height:1.45;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item > summary::marker{content:""}
.faq-item summary::after{
  content:'+';
  flex:0 0 auto;
  font-size:1.45rem;
  line-height:1;
  color:var(--gold);
  font-weight:400;
}
.faq-item[open] summary::after{content:'–'}
.faq-item p{
  margin-top:.85rem;
  color:var(--text-mid);
  font-size:.95rem;
  line-height:1.72;
}
.localizacao{background:var(--white)}
.localizacao-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,4rem);
  align-items:center;
  background:var(--cream);
  border:1px solid rgba(199,151,56,.18);
  border-radius:var(--r-xl);
  padding:clamp(1.5rem,4vw,3rem);
  box-shadow:var(--sh-sm);
}
.localizacao-info .section-title{text-align:left;margin-bottom:1rem}
.localizacao-info p{
  color:var(--text-mid);
  line-height:1.72;
  margin-bottom:1.15rem;
}
.localizacao-info address{
  color:var(--text);
  line-height:1.72;
  margin-bottom:1.5rem;
}
.localizacao-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
}
.localizacao-map{
  border-radius:var(--r-lg);
  overflow:hidden;
  min-height:320px;
  box-shadow:var(--sh-md);
  background:var(--cream-mid);
}
.localizacao-map iframe{
  display:block;
  width:100%;
  min-height:320px;
  height:100%;
}
@media(max-width:768px){
  .faq-item{padding:1rem 1.05rem}
  .faq-item summary{font-size:.94rem;align-items:flex-start}
  .faq-item p{font-size:.9rem}
  .localizacao-card{grid-template-columns:1fr}
  .localizacao-info .section-title{text-align:left}
  .localizacao-actions{display:flex;flex-direction:column;gap:12px}
  .localizacao-actions .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
  .localizacao-map,.localizacao-map iframe{min-height:300px}
}



/* ══════════════════════════════════════════════════════════
   SEO FINAL · FAQ específico + CTA do vídeo + localização sucinta
══════════════════════════════════════════════════════════ */
.video-cta-wrap{
  max-width:620px;
  margin:1.6rem auto 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.9rem;
  text-align:center;
}
.video-cta-note{
  color:var(--text-mid);
  font-size:.95rem;
  line-height:1.65;
  max-width:52ch;
}
.video-cta-wrap .btn{
  white-space:normal;
  text-align:center;
}

.faq .section-sub{
  max-width:720px;
}
.faq-list{
  max-width:900px !important;
}
.faq-item summary{
  font-size:.98rem;
}
.faq-item p{
  font-size:.94rem;
}

.localizacao-authority{
  font-size:1rem;
  color:var(--text-mid) !important;
  line-height:1.72;
  background:rgba(255,255,255,.55);
  border-left:3px solid var(--gold);
  padding:.85rem 1rem;
  border-radius:var(--r-md);
  margin-bottom:1.35rem !important;
}
.localizacao-authority strong{
  color:var(--bronze);
}
@media(max-width:768px){
  .video-cta-wrap{margin-top:1.35rem;padding-inline:4px;text-align:center}
  .video-cta-note{margin-inline:auto}
  .video-cta-wrap .btn--lg{width:100%;justify-content:center;white-space:normal;line-height:1.2;padding-block:16px}
  .video-cta-wrap .btn{width:100%;max-width:360px}
}

/* ══════════════════════════════════════════════════════════
   AJUSTE FINAL · CTA DO VÍDEO CENTRALIZADO
══════════════════════════════════════════════════════════ */
.video-section .video-cta-wrap{
  max-width:680px !important;
  margin:2rem auto 0 !important;
  padding-inline:1rem;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1rem !important;
  text-align:center !important;
}
.video-section .video-cta-note{
  max-width:58ch;
  margin:0 auto !important;
  color:var(--text-mid);
  font-size:1rem;
  line-height:1.7;
  text-align:center !important;
}
.video-section .video-cta-wrap .btn{
  margin-inline:auto !important;
  align-self:center !important;
  text-align:center !important;
  justify-content:center !important;
  white-space:normal;
}
@media(max-width:480px){
  .video-section .video-cta-wrap{
    margin-top:1.5rem !important;
    padding-inline:1rem;
  }
  .video-section .video-cta-wrap .btn{
    width:100%;
    max-width:320px;
  }
}


/* ══════════════════════════════════════════════════════════
   AJUSTE VISUAL · FAQ EM CAIXOTES BRANCOS
   Deixa cada pergunta mais destacada e menos parecida com o fundo da seção
══════════════════════════════════════════════════════════ */
.faq{
  background:
    radial-gradient(circle at top left, rgba(199,151,56,.10), transparent 32%),
    linear-gradient(180deg, #F8F1EB 0%, #F3E8D9 100%) !important;
}

.faq .section-header{
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.faq-list{
  max-width: 920px !important;
  counter-reset: faq-counter;
  gap: 1.05rem !important;
}

.faq-item{
  counter-increment: faq-counter;
  position: relative;
  background: #FFFFFF !important;
  border: 1px solid rgba(199,151,56,.22) !important;
  border-radius: 18px !important;
  padding: 0 !important;
  box-shadow: 0 14px 38px rgba(44,26,7,.075) !important;
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}

.faq-item::before{
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--grad-gold);
  opacity: .95;
}

.faq-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 48px rgba(44,26,7,.11) !important;
  border-color: rgba(199,151,56,.38) !important;
}

.faq-item summary{
  min-height: 72px;
  padding: 1.25rem 1.35rem 1.25rem 1.55rem !important;
  background: #FFFFFF;
  color: var(--text) !important;
  font-size: 1rem !important;
  font-weight: 650 !important;
  gap: 1rem !important;
}

.faq-item summary::before{
  content: counter(faq-counter, decimal-leading-zero);
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(199,151,56,.12);
  border: 1px solid rgba(199,151,56,.28);
  color: var(--gold-dk);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.faq-item summary::after{
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cream);
  border: 1px solid rgba(199,151,56,.22);
  color: var(--gold-dk) !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
}

.faq-item[open] summary{
  border-bottom: 1px solid rgba(199,151,56,.16);
}

.faq-item p{
  margin: 0 !important;
  padding: 1.05rem 1.35rem 1.3rem 5.35rem !important;
  color: var(--text-mid) !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #FFFCF8 100%);
  font-size: .95rem !important;
  line-height: 1.78 !important;
}

@media(max-width: 640px){
  .faq-list{gap: .85rem !important;}
  .faq-item{border-radius: 15px !important;}
  .faq-item summary{
    min-height: unset;
    padding: 1rem 1rem 1rem 1.15rem !important;
    font-size: .93rem !important;
    align-items: center !important;
  }
  .faq-item summary::before{
    width: 30px;
    height: 30px;
    font-size: .66rem;
  }
  .faq-item summary::after{
    width: 30px;
    height: 30px;
    font-size: 1.2rem !important;
  }
  .faq-item p{
    padding: .9rem 1rem 1.1rem 1.15rem !important;
    font-size: .9rem !important;
  }
}

/* ─── AJUSTE FINAL: CTA DO CABEÇALHO RETANGULAR ─── */
.site-header .header-cta{
  border-radius:var(--r-sm) !important;
}

@media(max-width:768px){
  .site-header .header-cta{
    width:auto !important;
    height:auto !important;
    min-height:40px !important;
    padding:.62rem .9rem !important;
    border-radius:var(--r-sm) !important;
    flex:0 0 auto !important;
  }

  .site-header .header-cta__text{
    display:inline !important;
  }
}

/* Mantém somente o botão flutuante do WhatsApp no padrão redondo */
.whatsapp-float{
  border-radius:50% !important;
}
