@font-face{font-family:"DM Sans";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/DMSans-normal-400.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/DMSans-normal-500.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/DMSans-normal-700.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:300 700;font-style:italic;font-display:swap;src:url(fonts/CormorantGaramond-italic-var.woff2) format("woff2")}

:root{
  --areia:#F6EFE6;
  --branco:#FFFBF6;
  --ceu:#DCEAF5;
  --pessego:#F3E1D6;
  --carvao:#2B2622;
  --fumaca:#6B6058;
  --argila:#A3482C;
  --argila-escura:#8A3B22;
  --salvia:#4F6E55;
  --linho:#D9CFC3;
  --sombra:rgba(43,38,34,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.6;
  color:var(--carvao);
  background:var(--areia);
  overflow-x:hidden;
}
img{max-width:100%;height:auto}
.wrap{max-width:640px;margin:0 auto;padding:0 20px}

section{padding:52px 0}
.bg-areia{background:var(--areia)}
.bg-ceu{background:var(--ceu)}
.bg-pessego{background:var(--pessego)}

h1,h2,h3{font-family:"DM Sans",system-ui,sans-serif;font-weight:700;color:var(--carvao);margin:0}
h1{
  font-size:clamp(1.85rem,7.4vw,2.5rem);
  line-height:1.16;
  letter-spacing:-.015em;
  text-align:center;
  text-wrap:balance;
  margin:0 0 18px;
}
h2{
  font-size:clamp(1.5rem,5.6vw,1.9rem);
  line-height:1.2;
  letter-spacing:-.01em;
  text-align:center;
  text-wrap:balance;
  margin:0 0 24px;
}
em.dest{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-weight:600;
  color:var(--argila);
  font-size:1.14em;
  letter-spacing:0;
}

p{margin:0 0 16px}
.apoio{
  text-align:center;
  font-size:1.1rem;
  color:var(--fumaca);
  max-width:540px;
  margin:0 auto 26px;
}
.prosa{max-width:580px;margin:0 auto 16px}
.prosa:last-of-type{margin-bottom:0}

/* hero */
.hero{padding-top:40px;padding-bottom:48px}
.hero-img{
  display:block;
  width:100%;
  max-width:560px;
  aspect-ratio:4/3;
  object-fit:cover;
  margin:0 auto 26px;
  border-radius:18px;
  box-shadow:0 14px 34px var(--sombra);
}
.ticks{list-style:none;margin:0 auto 6px;padding:0;max-width:520px}
.ticks li{position:relative;padding-left:32px;margin-bottom:12px;font-size:1.04rem}
.ticks li::before{
  content:"\2713";
  position:absolute;left:0;top:0;
  color:var(--salvia);font-weight:700;font-size:1.15rem;
}

/* botão */
.btn{
  display:block;
  width:100%;
  min-height:64px;
  padding:20px 22px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-family:inherit;
  font-weight:700;
  font-size:1.08rem;
  line-height:1.2;
  color:var(--branco);
  background:var(--argila);
  border:0;
  border-radius:16px;
  box-shadow:0 8px 20px rgba(163,72,44,.28);
  margin:22px 0 0;
  transition:background .15s,transform .15s;
}
.btn:hover{background:var(--argila-escura)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible,summary:focus-visible,.seta:focus-visible{outline:3px solid var(--salvia);outline-offset:3px}
.btn-box{max-width:520px;margin:0 auto}

/* imagens soltas */
.foto{
  display:block;
  margin:28px auto 0;
  border-radius:18px;
  box-shadow:0 14px 34px var(--sombra);
}
.foto-geladeira{width:100%;max-width:400px}

/* cartões */
.card{
  background:var(--branco);
  border:1px solid var(--linho);
  border-radius:18px;
  padding:22px 20px;
  margin:0 0 16px;
}
.card p:last-child{margin-bottom:0}
.card h3{font-size:1.1rem;line-height:1.3;margin:0 0 8px}
.card.momento{padding:0;overflow:hidden}
.card.momento img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.card.momento p{padding:20px 20px 22px;margin:0}
.card.momento strong{color:var(--argila)}

/* carrossel */
.carrossel{position:relative;margin:0 0 30px}
.trilho{
  display:flex;gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:6px 20px 14px;
  margin:0 -20px;
}
.trilho::-webkit-scrollbar{display:none}
.trilho img{
  flex:0 0 250px;
  width:250px;
  height:auto;
  aspect-ratio:600/848;
  object-fit:cover;
  scroll-snap-align:center;
  border-radius:12px;
  border:1px solid var(--linho);
  box-shadow:0 8px 20px var(--sombra);
  background:var(--branco);
}
.seta{
  position:absolute;top:50%;
  transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  border:0;padding:0;
  background:rgba(255,251,246,.95);
  color:var(--carvao);
  box-shadow:0 4px 12px rgba(43,38,34,.25);
  font-size:1.5rem;font-weight:700;line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:5;
}
.seta.esq{left:-6px}
.seta.dir{right:-6px}
.seta:active{background:var(--argila);color:var(--branco)}

.modulos{list-style:none;counter-reset:m;margin:0 auto;padding:0;max-width:580px}
.modulos li{
  counter-increment:m;
  position:relative;
  padding-left:44px;
  margin-bottom:16px;
  line-height:1.55;
}
.modulos li::before{
  content:counter(m);
  position:absolute;left:0;top:1px;
  width:30px;height:30px;border-radius:50%;
  background:var(--argila);color:var(--branco);
  font-weight:700;font-size:.9rem;
  display:flex;align-items:center;justify-content:center;
}
.modulos strong{font-weight:700}

/* investimento */
.preco{
  background:var(--branco);
  border:2px solid var(--argila);
  border-radius:20px;
  padding:28px 22px 24px;
  max-width:460px;
  margin:0 auto 18px;
  text-align:center;
  box-shadow:0 14px 34px var(--sombra);
}
.preco h3{font-size:1.25rem;margin:0 0 6px}
.valor{font-size:3rem;font-weight:700;line-height:1.1;color:var(--argila);margin:0}
.valor-nota{color:var(--fumaca);font-size:.98rem;margin:2px 0 20px}
.preco .ticks{margin:0 0 6px;text-align:left}
.preco .ticks li{margin-bottom:10px;font-size:1rem}
.seguro{text-align:center;color:var(--fumaca);font-size:.88rem;margin:12px 0 0}
.bumps{text-align:center;max-width:460px;margin:0 auto;color:var(--carvao);font-size:.98rem}

/* garantia */
.garantia{
  background:var(--branco);
  border:1px solid var(--linho);
  border-radius:20px;
  padding:30px 22px;
  text-align:center;
}
.garantia h2{margin-bottom:14px}
.selo{
  width:64px;height:64px;border-radius:50%;
  background:var(--salvia);color:var(--branco);
  display:flex;align-items:center;justify-content:center;
  font-size:1.9rem;font-weight:700;
  margin:0 auto 16px;
}
.garantia p:last-child{margin-bottom:0}

/* faq */
details{
  background:var(--branco);
  border:1px solid var(--linho);
  border-radius:14px;
  padding:16px 18px;
  margin-bottom:12px;
}
summary{
  cursor:pointer;
  font-weight:700;
  font-size:1.04rem;
  line-height:1.4;
  list-style:none;
  position:relative;
  padding-right:28px;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";
  position:absolute;right:0;top:-2px;
  font-size:1.5rem;font-weight:400;color:var(--argila);line-height:1.2;
}
details[open] summary::after{content:"\2212"}
details p{margin:12px 0 0;color:var(--carvao)}

/* cta final */
.cta-final{padding:60px 0 64px}
.cta-final .frase{
  font-size:clamp(1.3rem,5vw,1.6rem);
  font-weight:700;
  line-height:1.3;
  text-align:center;
  text-wrap:balance;
  margin:0;
}

footer{
  text-align:center;
  padding:28px 20px 40px;
  color:var(--fumaca);
  font-size:.85rem;
  background:var(--areia);
}
footer p{margin:0}
footer a{color:var(--fumaca);text-decoration:underline}

/* botão fixo (mobile) */
.fixo{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(246,239,230,.96);
  border-top:1px solid var(--linho);
  transform:translateY(110%);
  transition:transform .25s ease;
  display:none;
}
.fixo .btn{margin:0;min-height:58px;padding:16px 18px}
.fixo.on{transform:none}

/* obrigado */
.ob{min-height:100vh;display:flex;align-items:center;padding:48px 0}
.ob .wrap{width:100%}
.ob h1{margin-bottom:20px}
.ob p{text-align:center;max-width:560px;margin:0 auto}

@media (max-width:760px){
  .fixo{display:block}
  body.tem-fixo{padding-bottom:0}
}
@media (min-width:761px){
  body{font-size:18px}
  section{padding:68px 0}
  .wrap{max-width:680px}
  .trilho{padding-left:20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fixo,.btn{transition:none}
}
