/* ============================================================
   WINE CESTAS — Dia das Mães · Editorial Edition
   Design: luxury editorial, cinematic, emocional
   ============================================================ */

:root{
  --rose:#F4D6D6;
  --rose-soft:#EED7D1;
  --rose-deep:#C99A9A;
  --cream:#F5EEE4;
  --ivory:#FAF6EF;
  --wine:#4A1F28;
  --wine-deep:#2A0F15;
  --plum:#3A1820;
  --gold:#B8935A;
  --gold-light:#D4B78A;
  --ink:#1A0F0F;
  --muted:#8B7A76;
  --black:#0D0808;
  --paper-grain:url("data:image/svg+xml,%3Csvg viewBox='0 0 260 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.42' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.47 0 0 0 0 0.38 0 0 0 0 0.31 0 0 0 0.03 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

*{margin:0;padding:0;box-sizing:border-box}
html{
  scroll-behavior:smooth;
  cursor:none;
  overflow-x:clip;
  background:var(--black);
  width:100%;
}
body{
  font-family:'Inter',sans-serif;
  background:var(--black);
  color:var(--ink);
  overflow-x:clip;
  width:100%;
  max-width:100%;
  min-height:100vh;
  position:relative;
  -webkit-font-smoothing:antialiased;
}

/* Force every section + bridge to paint inside its own box.
   Prevents bg-text decorations and absolute children from
   leaking out and creating side-strip artifacts. */
section,
.bridge,
.marquee,
footer,
.safety-strip{
  max-width:100%;
  overflow:hidden;
  overflow-x:clip;
  contain:paint;
}
@media(hover:none){html{cursor:auto}}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
a,button{cursor:none;font-family:inherit;-webkit-tap-highlight-color:transparent}
@media(hover:none){a,button{cursor:pointer}}

/* ---------- PAPER TEXTURE ---------- */
.manifesto,
.pressao,
.produtos{
  background-image:var(--paper-grain);
  background-size:280px 280px;
  background-repeat:repeat;
}

.social{
  background:
    linear-gradient(180deg,var(--cream) 0%,var(--ivory) 100%),
    var(--paper-grain);
  background-size:auto,280px 280px;
  background-repeat:no-repeat,repeat;
}

.urgencia{
  background:
    linear-gradient(180deg,var(--rose) 0%, var(--cream) 70%),
    var(--paper-grain);
  background-size:auto,280px 280px;
  background-repeat:no-repeat,repeat;
}

/* ---------- CUSTOM CURSOR ---------- */
.cursor{
  position:fixed;top:0;left:0;width:8px;height:8px;border-radius:50%;
  background:var(--ink);pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .3s,height .3s,background .3s,border .3s,mix-blend-mode .3s;
  mix-blend-mode:difference;
}
.cursor.hover{width:60px;height:60px;background:transparent;border:1px solid #fff;mix-blend-mode:difference}
.cursor.click{transform:translate(-50%,-50%) scale(.6)}
@media(hover:none),(pointer:coarse){.cursor{display:none!important;visibility:hidden!important}}

/* ---------- TYPOGRAPHY ---------- */
.serif{font-family:'Cormorant Garamond',serif}
.fraunces{font-family:'Fraunces',serif}
.script{font-family:'Italianno',cursive}
.mono{font-family:'Inter',sans-serif;letter-spacing:.3em;text-transform:uppercase;font-size:11px;font-weight:500}

/* ---------- CTA SYSTEM ---------- */
.hero-cta,
.prod-cta,
.btn-final,
.sticky-cta a{
  min-height:62px;
  border-radius:999px;
  line-height:1.15;
  text-decoration:none;
  isolation:isolate;
}

.hero-cta,
.prod-cta{
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
}

.btn-final,
.sticky-cta a{
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 55px rgba(7,35,20,.28), inset 0 1px 0 rgba(255,255,255,.18);
}

/* ---------- TOPBAR ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:80;
  padding:18px 44px;
  min-height:78px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  color:#fff;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:padding .45s cubic-bezier(.2,.7,.2,1),
              min-height .45s cubic-bezier(.2,.7,.2,1),
              background .45s ease,
              backdrop-filter .45s ease,
              border-color .45s ease;
}
.topbar.scrolled{
  padding:12px 44px;
  min-height:66px;
  background:rgba(13,8,8,.88);
  backdrop-filter:blur(20px) saturate(140%);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}

/* Nav links — left column */
.topbar-nav{
  display:inline-flex;
  align-items:center;
  gap:34px;
}
.topbar-nav a{
  position:relative;
  padding:8px 0;
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  transition:color .35s ease;
}
.topbar-nav a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:2px;
  height:1px;
  background:var(--gold-light);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.topbar-nav a:hover{color:#fff}
.topbar-nav a:hover::after{transform:scaleX(1)}

/* Logo — center column */
.logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:inherit;
  justify-self:center;
}
.logo-wordmark{
  width:auto;
  height:62px;
  display:block;
  filter:invert(1) hue-rotate(180deg) drop-shadow(0 8px 16px rgba(0,0,0,.4));
  transition:transform .45s ease, opacity .45s ease, height .45s cubic-bezier(.2,.7,.2,1);
  opacity:.96;
}
.topbar.scrolled .logo-wordmark{
  height:50px;
}
.logo:hover .logo-wordmark{
  transform:scale(1.04);
  opacity:1;
}

/* WhatsApp pill — right column */
.topbar-wa{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:9px 20px 9px 9px;
  background:rgba(37,211,102,.1);
  border:1px solid rgba(37,211,102,.32);
  border-radius:999px;
  color:#fff;
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.3em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.topbar-wa:hover{
  background:rgba(37,211,102,.2);
  border-color:rgba(37,211,102,.6);
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(37,211,102,.18);
}
.topbar-wa svg{
  width:16px;
  height:16px;
  fill:#25D366;
  background:rgba(37,211,102,.18);
  padding:7px;
  border-radius:50%;
  box-sizing:content-box;
  border:1px solid rgba(37,211,102,.32);
  flex-shrink:0;
  transition:transform .35s ease;
}
.topbar-wa:hover svg{transform:scale(1.06)}

/* Hamburger menu — hidden by default, shows on mobile */
.topbar-menu{
  display:none;
  width:38px;
  height:38px;
  background:transparent;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  padding:0;
  cursor:pointer;
  position:relative;
  justify-self:end;
  transition:background .3s ease, border-color .3s ease;
}
.topbar-menu:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.35);
}
.topbar-menu span{
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:1.5px;
  background:#fff;
  transform-origin:center;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .25s ease, top .35s ease;
}
.topbar-menu span:nth-child(1){transform:translate(-50%,-5px)}
.topbar-menu span:nth-child(2){transform:translate(-50%,3px)}
.topbar-menu[aria-expanded="true"] span:nth-child(1){transform:translate(-50%,0) rotate(45deg)}
.topbar-menu[aria-expanded="true"] span:nth-child(2){transform:translate(-50%,0) rotate(-45deg)}

/* Mobile drawer */
.topbar-drawer{
  position:fixed;
  top:0; right:0;
  width:min(86vw,340px);
  height:100vh;
  background:rgba(13,8,8,.96);
  backdrop-filter:blur(20px);
  border-left:1px solid rgba(184,147,90,.18);
  padding:88px 32px 32px;
  z-index:75;
  transform:translateX(100%);
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
  pointer-events:none;
  visibility:hidden;
}
.topbar-drawer.is-open{
  transform:translateX(0);
  pointer-events:auto;
  visibility:visible;
}
body.drawer-open{overflow:hidden}
.topbar-drawer nav{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.topbar-drawer a{
  padding:18px 0;
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:300;
  color:#fff;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:color .3s ease, padding-left .3s ease;
}
.topbar-drawer a:hover{
  color:var(--gold-light);
  padding-left:8px;
}
.topbar-drawer .drawer-wa{
  margin-top:18px;
  padding:16px 22px;
  border:1px solid rgba(37,211,102,.4);
  border-radius:999px;
  background:rgba(37,211,102,.08);
  font-family:'Inter',sans-serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  text-align:center;
  border-bottom:1px solid rgba(37,211,102,.4);
}
.topbar-drawer .drawer-wa:hover{
  background:rgba(37,211,102,.18);
  padding-left:22px;
}

@media(max-width:1100px){
  .topbar{padding:20px 28px;gap:24px}
  .topbar.scrolled{padding:13px 28px}
  .topbar-nav{gap:24px}
}
@media(max-width:880px){
  .topbar-nav{display:none}
  .topbar-wa span{display:none}
  .topbar-wa{padding:8px;gap:0}
  .topbar-wa svg{padding:7px}
}
@media(max-width:680px){
  .topbar{
    padding:12px 22px;
    min-height:60px;
    justify-content:flex-start;
    gap:16px;
  }
  .topbar.scrolled{padding:10px 22px;min-height:54px}
  .topbar-wa{display:none}
  .topbar-menu{display:block}
}
.top-right{display:flex;gap:32px;align-items:center}
.top-link{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:400}
.top-link:hover{opacity:.6}
.wa-inline-link{
  display:inline-flex;align-items:center;gap:10px;
}
.wa-inline-link svg{
  width:18px;height:18px;
  fill:#25D366;
  flex-shrink:0;
  background:rgba(37,211,102,.12);
  padding:7px;
  border-radius:50%;
  border:1px solid rgba(37,211,102,.24);
  box-sizing:content-box;
  transition:transform .3s ease,background .3s ease;
}
.wa-inline-link:hover svg{transform:scale(1.05);background:rgba(37,211,102,.18)}
.wa-link svg{
  width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;
  fill:#fff;flex-shrink:0;
  background:rgba(255,255,255,.12);border-radius:50%;padding:8px;box-sizing:content-box;
  border:1px solid rgba(255,255,255,.18);transition:transform .3s ease,background .3s ease;
}
.wa-link:hover svg{transform:scale(1.05);background:rgba(255,255,255,.18)}
.top-link.wa-inline-link{
  letter-spacing:.24em;
}

/* ============================================================
   HERO — clean editorial entry
   ============================================================ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--black);
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:url('../img/cesta-05.jpeg') center/cover no-repeat;
  filter:saturate(1.05) contrast(1.04);
  transform:scale(1.02);
  animation:slowZoom 18s ease-in-out infinite alternate;
}
.hero-veil{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse at center, rgba(13,8,8,.42) 0%, rgba(13,8,8,.86) 78%),
    linear-gradient(180deg, rgba(13,8,8,.45) 0%, rgba(13,8,8,.32) 50%, rgba(13,8,8,.95) 100%);
  pointer-events:none;
}
@keyframes slowZoom{from{transform:scale(1.02)}to{transform:scale(1.12)}}

.hero-content{
  position:relative;
  z-index:3;
  width:100%;
  max-width:820px;
  margin:0 auto;
  padding:120px 28px 120px;
  text-align:center;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.hero-mark{
  display:block;
  margin:0 auto 48px;
  opacity:0;
  animation:fadeUp 1.2s .2s both;
}
.hero-mark img{
  display:block;
  width:auto;
  height:170px;
  max-width:min(560px,88vw);
  margin:0 auto;
  /* invert deixa o texto preto branco; hue-rotate devolve o vermelho do coração */
  filter:invert(1) hue-rotate(180deg) drop-shadow(0 22px 44px rgba(0,0,0,.55));
}

.hero-kicker{
  display:inline-block;
  margin-bottom:32px;
  font-size:11px;
  letter-spacing:.48em;
  text-transform:uppercase;
  color:var(--gold-light);
  font-weight:500;
  opacity:0;
  animation:fadeUp 1.2s .5s both;
}

.hero-headline{
  font-family:'Fraunces',serif;
  font-weight:200;
  font-size:clamp(42px,6.4vw,92px);
  line-height:1;
  letter-spacing:-.02em;
  color:#fff;
  margin-bottom:24px;
  text-shadow:0 18px 50px rgba(0,0,0,.4);
  opacity:0;
  animation:revealUp 1.4s .8s both;
}
.hero-headline em{
  font-family:'Italianno',cursive;
  font-style:normal;
  font-weight:400;
  color:var(--gold-light);
  font-size:1.18em;
  padding:0 .04em;
}

.hero-sub{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(18px,1.6vw,22px);
  line-height:1.45;
  color:rgba(255,255,255,.82);
  max-width:520px;
  margin:0 auto 44px;
  opacity:0;
  animation:fadeUp 1.2s 1.1s both;
}

.hero-cta{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:18px 32px;
  background:rgba(255,255,255,.96);
  color:var(--ink);
  border-radius:999px;
  font-size:11px;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:700;
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 24px 60px rgba(0,0,0,.32);
  transition:transform .4s ease, box-shadow .4s ease;
  opacity:0;
  animation:fadeUp 1.2s 1.4s both;
  text-decoration:none;
}
.hero-cta:hover{
  transform:translateY(-3px);
  box-shadow:0 32px 80px rgba(0,0,0,.4);
}
.hero-cta svg{
  width:16px;
  height:16px;
  flex-shrink:0;
  color:var(--wine);
  transition:transform .4s ease;
}
.hero-cta:hover svg{
  transform:translateX(5px);
}
.hero-cta .hero-icon{
  display:none;
}
.hero-cta .hero-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
}

.hero-meta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:38px;
  padding:11px 20px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  opacity:0;
  animation:fadeUp 1.2s 1.7s both;
}
.hero-meta .dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold);
  animation:pulse 1.8s infinite;
  flex-shrink:0;
}

.hero-scroll-cue{
  position:absolute;
  inset:auto 0 28px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  gap:10px;
  width:100%;
  z-index:3;
  pointer-events:none;
  opacity:0;
  animation:fadeUp 1.2s 2s both;
}
.hero-scroll-cue .line{
  width:1px;
  height:32px;
  background:linear-gradient(to bottom, transparent, rgba(255,255,255,.55));
  animation:scrollCueLine 2.4s ease-in-out infinite;
}
.hero-scroll-cue .label{
  display:inline-block;
  font-size:9px;
  letter-spacing:.4em;
  padding-left:.4em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
@keyframes scrollCueLine{
  0%,100%{transform:scaleY(1);transform-origin:top;opacity:.55}
  50%{transform:scaleY(.4);transform-origin:bottom;opacity:1}
}

@media(max-width:768px){
  .hero{min-height:auto}
  .hero-content{padding:108px 22px 110px}
  .hero-mark{margin:0 auto 28px}
  .hero-mark img{height:110px;width:auto;max-width:88vw}
  .hero-kicker{margin-bottom:20px}
  .hero-headline{font-size:clamp(34px,10vw,52px);text-shadow:0 12px 30px rgba(0,0,0,.5)}
  .hero-sub{font-size:16px;margin-bottom:32px}
  .hero-cta{padding:14px 18px 14px 26px;font-size:10px;letter-spacing:.22em;gap:14px}
  .hero-cta .hero-icon{width:34px;height:34px}
  .hero-cta .hero-icon svg{width:16px;height:16px}
  .hero-meta{margin-top:28px;padding:9px 14px;font-size:8.5px;letter-spacing:.2em}
  .hero-scroll-cue{display:none}
}

/* ---------- MARQUEE ---------- */
.marquee{
  background:var(--ink);color:var(--cream);
  padding:28px 0 16px;
  overflow:hidden;white-space:nowrap;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  position:relative;z-index:1;
  margin-top:-40px;
}
.marquee::before{
  content:"";
  position:absolute;left:0;right:0;top:-36px;height:40px;
  background:linear-gradient(180deg, rgba(13,8,8,0), rgba(13,8,8,.9));
  pointer-events:none;
}
.marquee::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-18px;height:36px;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.95));
  pointer-events:none;
}
.marquee-track{
  display:inline-flex;gap:50px;
  animation:marquee 40s linear infinite;
}
.marquee span{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(26px,4vw,44px);letter-spacing:-.01em;
  display:inline-flex;align-items:center;gap:50px;
}
.marquee span::after{
  content:"✦";color:var(--gold);font-size:.5em;font-style:normal;
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============================================================
   MANIFESTO
   ============================================================ */
.manifesto{
  position:relative;margin-top:-40px;padding:220px 36px 160px;
  background-color:var(--ivory);overflow:hidden;
}
.manifesto::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:120px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,0));
  pointer-events:none;
}
.manifesto-quote{
  position:absolute;top:40px;left:30px;
  font-family:'Fraunces',serif;font-weight:200;font-style:italic;
  font-size:clamp(260px,40vw,540px);
  color:var(--rose);line-height:1;opacity:.55;
  pointer-events:none;user-select:none;
}
.manifesto-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto}
.manifesto-label{
  font-size:11px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold);margin-bottom:40px;
  display:flex;align-items:center;gap:14px;
}
.manifesto-label::before{content:"";width:40px;height:1px;background:var(--gold)}

.manifesto-body{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:clamp(30px,4.4vw,58px);line-height:1.18;letter-spacing:-.01em;
  color:var(--ink);max-width:960px;
}
.manifesto-body em{
  font-style:italic;color:var(--wine);font-weight:400;
}
.manifesto-body .script{
  font-family:'Italianno',cursive;font-size:1.25em;line-height:.8;
  color:var(--gold);padding:0 .08em;font-weight:400;
}
.manifesto-sign{
  margin-top:80px;display:flex;align-items:center;gap:30px;
  max-width:620px;
}
.manifesto-sign-line{flex:1;height:1px;background:var(--ink);opacity:.15}
.manifesto-sign span{
  font-size:10px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--muted);
}

@media(max-width:768px){
  .manifesto{padding:120px 22px 100px}
  .manifesto-quote{font-size:320px;top:20px;left:-20px}
  .manifesto-sign{margin-top:50px}
}

/* ============================================================
   ESCOLHA GUIADA
   ============================================================ */
.escolha{
  position:relative;background:var(--wine-deep);color:#fff;
  padding:160px 36px;overflow:hidden;
}
.escolha-bg-text{
  position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);
  font-family:'Italianno',cursive;font-weight:400;
  font-size:clamp(180px,28vw,420px);
  color:rgba(184,147,90,.06);white-space:nowrap;line-height:1;pointer-events:none;
}
.escolha-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto}
.escolha-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:100px;align-items:end;
}
.escolha-head .num{
  font-family:'Fraunces',serif;font-size:14px;letter-spacing:.3em;
  color:var(--gold-light);font-weight:400;
}
.escolha-head h2{
  font-family:'Fraunces',serif;font-weight:200;
  font-size:clamp(40px,6vw,88px);line-height:1;letter-spacing:-.02em;
  margin-top:20px;
}
.escolha-head h2 em{font-style:italic;color:var(--gold-light);font-weight:300}
.escolha-head p{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(18px,2vw,24px);line-height:1.5;font-style:italic;
  color:var(--rose-soft);opacity:.85;max-width:420px;
}

.escolha-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  background:transparent;
  border:none;
  position:relative;
}
.escolha-grid::before{
  content:"";
  position:absolute;
  top:-44px;
  left:0;right:0;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(184,147,90,.32), transparent);
}

.choice{
  background:
    radial-gradient(ellipse at top left, rgba(74,31,40,.55), transparent 65%),
    linear-gradient(180deg, rgba(42,15,21,.4) 0%, rgba(20,8,12,.96) 100%),
    var(--wine-deep);
  padding:32px 26px 26px;
  min-height:340px;
  border-radius:6px;
  border:1px solid rgba(184,147,90,.16);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  cursor:pointer;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),
              border-color .6s ease,
              box-shadow .6s ease;
  box-shadow:
    0 18px 44px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.04);
}

/* hover image bg */
.choice::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background-size:cover;
  background-position:center;
  filter:brightness(.4) saturate(.85) contrast(1.05);
  z-index:1;
  transition:opacity .8s ease;
}
.choice[data-bg="1"]::before{background-image:url('https://images.unsplash.com/photo-1509909756405-be0199881695?auto=format&fit=crop&w=900&q=80')}
.choice[data-bg="2"]::before{background-image:url('https://images.unsplash.com/photo-1522673607200-164d1b6ce486?auto=format&fit=crop&w=900&q=80')}
.choice[data-bg="3"]::before{background-image:url('https://images.unsplash.com/photo-1529333166437-7750a6dd5a70?auto=format&fit=crop&w=900&q=80')}
.choice[data-bg="4"]::before{background-image:url('https://images.unsplash.com/photo-1520962880247-cfaf541c8724?auto=format&fit=crop&w=900&q=80')}
.choice:hover::before,
.choice:focus-visible::before{opacity:1}

/* big decorative chapter number */
.choice::after{
  position:absolute;
  bottom:-34px;
  right:-14px;
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:200;
  font-size:210px;
  line-height:.78;
  letter-spacing:-.04em;
  color:rgba(184,147,90,.07);
  z-index:1;
  pointer-events:none;
  transition:color .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);
}
.choice:nth-child(1)::after{content:"01"}
.choice:nth-child(2)::after{content:"02"}
.choice:nth-child(3)::after{content:"03"}
.choice:nth-child(4)::after{content:"04"}
.choice:hover::after,
.choice:focus-visible::after{
  color:rgba(212,183,138,.14);
  transform:translateY(-6px) scale(1.03);
}

.choice > *{position:relative;z-index:3}

/* small chapter tag at top */
.choice .cnum{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Fraunces',serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.32em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:auto;
  opacity:1;
}
.choice .cnum::before{
  content:"";
  width:18px;
  height:1px;
  background:var(--gold);
  transition:width .4s ease;
}
.choice:hover .cnum::before,
.choice:focus-visible .cnum::before{
  width:32px;
}

/* headline */
.choice h3{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-style:normal;
  font-size:clamp(24px,2.5vw,32px);
  line-height:1.05;
  margin:auto 0 22px;
  color:#fff;
  letter-spacing:-.01em;
}
.choice h3 em{
  font-style:italic;
  color:var(--gold-light);
  font-weight:300;
}

/* always-visible "Ver cestas" cta */
.choice .go{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:9px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  opacity:1;
  transform:none;
  transition:color .4s ease, border-color .4s ease;
}
.choice .go .line{display:none}
.choice .go::after{
  content:"→";
  font-family:'Inter',sans-serif;
  font-size:14px;
  letter-spacing:0;
  font-weight:300;
  transition:transform .4s ease;
  display:inline-block;
}
.choice:hover .go,
.choice:focus-visible .go{
  color:var(--gold-light);
  border-top-color:rgba(184,147,90,.3);
}
.choice:hover .go::after,
.choice:focus-visible .go::after{
  transform:translateX(6px);
}

/* hover lift + glow */
.choice:hover,
.choice:focus-visible{
  transform:translateY(-10px);
  border-color:rgba(184,147,90,.45);
  box-shadow:
    0 32px 64px rgba(0,0,0,.34),
    0 0 0 1px rgba(184,147,90,.08),
    inset 0 1px 0 rgba(212,183,138,.14);
  outline:none;
}

@media(max-width:900px){
  .escolha-head{grid-template-columns:1fr;gap:20px}
  .escolha-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .escolha-grid::before{top:-32px}
  .choice::after{font-size:170px;bottom:-28px}
}
@media(max-width:560px){
  .escolha{padding:100px 22px}
  .choice{min-height:240px;padding:26px 22px 22px}
  .choice::after{font-size:140px;bottom:-22px;right:-10px}
  .choice .cnum{font-size:10px;letter-spacing:.28em}
}

/* ============================================================
   PRESSÃO (antes dos produtos)
   ============================================================ */
.pressao{
  background-color:var(--ivory);position:relative;
  padding:60px 36px 30px;text-align:center;overflow:hidden;
  border-top:1px solid rgba(184,147,90,.12);
}
.pressao-inner{max-width:900px;margin:0 auto;position:relative;z-index:2}
.pressao h3{
  font-family:'Fraunces',serif;font-weight:200;
  font-size:clamp(34px,5.5vw,72px);line-height:1;letter-spacing:-.02em;
  color:var(--ink);margin-bottom:14px;
}
.pressao h3 em{font-style:italic;color:var(--wine);font-weight:300}
.pressao p{
  font-family:'Italianno',cursive;font-size:clamp(28px,3.4vw,42px);
  color:var(--gold-dark,var(--gold));line-height:1;
}
.pressao::before{
  content:"";position:absolute;left:50%;top:0;width:1px;height:40px;
  background:var(--gold);transform:translateX(-50%);
}

/* ============================================================
   PROVA SOCIAL — depoimentos estilo whatsapp
   ============================================================ */
.social{
  padding:140px 36px 120px;position:relative;overflow:hidden;
}
.social-bg{
  position:absolute;top:30px;right:-50px;
  font-family:'Italianno',cursive;font-size:clamp(180px,24vw,360px);
  color:rgba(74,31,40,.06);line-height:.8;pointer-events:none;
}
.social-inner{max-width:1280px;margin:0 auto;position:relative;z-index:2}
.social-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:80px;align-items:end;
}
.social-head .num{
  font-family:'Fraunces',serif;font-size:13px;letter-spacing:.3em;
  color:var(--gold);font-weight:400;margin-bottom:18px;display:block;
}
.social-head h2{
  font-family:'Fraunces',serif;font-weight:200;
  font-size:clamp(38px,5.5vw,80px);line-height:.95;letter-spacing:-.02em;
}
.social-head h2 em{font-style:italic;color:var(--wine)}
.social-head p{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(18px,1.8vw,22px);color:var(--muted);line-height:1.55;max-width:420px;
}
.social-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  align-items:start;
}
.testi{
  background:#fff;border-radius:18px;
  padding:30px 28px 28px;
  box-shadow:0 14px 40px rgba(60,30,30,.08);
  position:relative;border:1px solid rgba(184,147,90,.12);
  transition:transform .5s,box-shadow .5s;
}
.testi:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(60,30,30,.14)}
.testi:nth-child(2){transform:translateY(28px)}
.testi:nth-child(2):hover{transform:translateY(22px)}
.testi-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--rose-deep),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;color:#fff;font-size:18px;font-weight:500;
  flex-shrink:0;
}
.testi-meta{flex:1;min-width:0}
.testi-name{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:.02em}
.testi-time{font-size:11px;color:var(--muted);margin-top:2px}
.testi-check{color:#25D366;font-size:14px}
.testi-quote{
  font-family:'Cormorant Garamond',serif;
  font-size:17px;line-height:1.5;color:var(--ink);font-style:italic;
}
.testi-quote strong{font-style:normal;color:var(--wine);font-weight:600;background:rgba(244,214,214,.5);padding:0 4px}
.testi-foot{
  margin-top:18px;padding-top:16px;border-top:1px dashed rgba(184,147,90,.25);
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;color:var(--muted);
}
.testi-stars{color:var(--gold);letter-spacing:2px;font-size:13px}

.social-stats{
  margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid rgba(26,15,15,.12);border-bottom:1px solid rgba(26,15,15,.12);
}
.stat{
  padding:36px 20px;text-align:center;
  border-right:1px solid rgba(26,15,15,.08);
}
.stat:last-child{border-right:none}
.stat-num{
  font-family:'Fraunces',serif;font-weight:200;
  font-size:clamp(36px,4vw,54px);color:var(--ink);line-height:1;letter-spacing:-.02em;
}
.stat-num em{font-style:italic;color:var(--wine)}
.stat-lbl{
  display:block;margin-top:10px;font-size:10px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--muted);
}

@media(max-width:900px){
  .social{padding:90px 22px}
  .social-head{grid-template-columns:1fr;gap:24px;margin-bottom:50px}
  .social-grid{grid-template-columns:1fr;gap:20px}
  .testi:nth-child(2){transform:none}
  .testi:nth-child(2):hover{transform:translateY(-6px)}
  .social-stats{grid-template-columns:repeat(2,1fr);margin-top:50px}
  .stat{padding:28px 12px;border-bottom:1px solid rgba(26,15,15,.08)}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(3),.stat:nth-child(4){border-bottom:none}
}

/* ============================================================
   PRODUTOS — EDITORIAL ALTERNATING
   ============================================================ */
.produtos{
  background-color:var(--ivory);padding:160px 0 120px;position:relative;
}
.prod-intro{
  max-width:1180px;margin:0 auto 120px;padding:0 36px;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;
}
.prod-intro .left .mono{color:var(--gold);margin-bottom:28px;display:block}
.prod-intro h2{
  font-family:'Fraunces',serif;font-weight:200;
  font-size:clamp(42px,6vw,96px);line-height:.95;letter-spacing:-.02em;
}
.prod-intro h2 em{font-style:italic;color:var(--wine)}
.prod-intro .right p{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(19px,1.6vw,22px);line-height:1.55;color:var(--muted);
}

.prod-item{
  position:relative;padding:100px 36px;max-width:1300px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.prod-item.reverse{direction:rtl}
.prod-item.reverse > *{direction:ltr}

.prod-visual{
  position:relative;aspect-ratio:4/5;overflow:hidden;
  transform:translateY(40px);opacity:0;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity 1.2s;
}
.prod-visual.in{transform:translateY(0);opacity:1}
.prod-visual img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.8s cubic-bezier(.2,.7,.2,1),filter 1s;
  filter:saturate(.95) contrast(1.02);
}
.prod-item:hover .prod-visual img{transform:scale(1.06)}
.prod-visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.15) 100%);
  pointer-events:none;
}
.prod-numbertag{
  position:absolute;top:24px;left:24px;z-index:3;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:80px;color:#fff;line-height:1;mix-blend-mode:difference;opacity:.9;
}
.prod-tagline{
  position:absolute;bottom:24px;right:24px;z-index:3;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
  color:#fff;mix-blend-mode:difference;
  display:flex;align-items:center;gap:10px;
}
.prod-tagline::before{content:"";width:30px;height:1px;background:#fff}

.prod-badge{
  position:absolute;top:24px;right:24px;z-index:4;
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  color:var(--ink);
  padding:9px 16px;border-radius:999px;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  border:1px solid rgba(26,15,15,.08);
  box-shadow:0 14px 28px rgba(0,0,0,.14);
  animation:badgeFloat 3s ease-in-out infinite;
}
.prod-badge-hot{
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);
  color:#fff;
}
.prod-badge-last{
  background:var(--wine);color:#fff;
  animation:badgeFloat 3s ease-in-out infinite, badgePulse 1.6s infinite;
}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes badgePulse{0%,100%{box-shadow:0 8px 24px rgba(74,31,40,.4)}50%{box-shadow:0 8px 30px rgba(74,31,40,.8),0 0 0 8px rgba(74,31,40,.12)}}

.prod-info{
  padding:0 20px;
}
.prod-eyebrow{
  font-size:10px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;font-weight:500;
  display:flex;align-items:center;gap:14px;
}
.prod-eyebrow::before{content:"";width:30px;height:1px;background:var(--gold)}
.prod-name{
  font-family:'Fraunces',serif;font-weight:200;font-style:italic;
  font-size:clamp(36px,4.6vw,68px);line-height:1;letter-spacing:-.015em;
  margin-bottom:28px;color:var(--ink);
}
.prod-desc{
  font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(18px,1.4vw,22px);line-height:1.55;color:var(--muted);
  margin-bottom:40px;max-width:440px;
}
.prod-meta{
  display:flex;align-items:baseline;gap:40px;margin-bottom:40px;
  padding:24px 0;border-top:1px solid rgba(26,15,15,.1);border-bottom:1px solid rgba(26,15,15,.1);
}
.prod-meta .label{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.prod-meta .price{
  font-family:'Fraunces',serif;font-weight:300;font-size:38px;line-height:1;color:var(--ink);
}
.prod-meta .price small{font-size:16px;opacity:.6;margin-right:4px}
.prod-meta .delivery{
  font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;color:var(--wine);
}
.prod-microcopy{
  margin:-10px 0 30px;
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px;
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;
  color:var(--wine);opacity:.82;
  border-radius:999px;
  background:rgba(74,31,40,.05);
  border:1px solid rgba(74,31,40,.09);
}
.prod-microcopy::before{
  content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45;
}

.prod-cta{
  display:inline-flex;align-items:center;gap:20px;
  justify-content:center;
  padding:18px 28px;background:var(--ink);color:#fff;
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;
  border:none;
  position:relative;overflow:hidden;
  transition:transform .4s,box-shadow .4s;
}
.prod-cta::before{
  content:"";position:absolute;inset:0;background:var(--wine);
  transform:translateY(100%);transition:transform .5s cubic-bezier(.7,0,.2,1);
}
.prod-cta > *{position:relative;z-index:1}
.prod-cta:hover::before{transform:translateY(0)}
.prod-cta:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(18,10,10,.18)}
.prod-cta svg {
  width: 20px;
  height: 20px;
  padding: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25D366, #128C7E);
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.3);
  transition: transform .3s ease;
}

.prod-cta:hover svg {
  transform: scale(1.1);
}

/* "Mais informações" toggle + expandable details */
.prod-info-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  padding:12px 20px;
  background:transparent;
  border:1px solid rgba(74,31,40,.2);
  border-radius:999px;
  color:var(--wine);
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .35s ease, border-color .35s ease, color .35s ease;
}
.prod-info-toggle:hover{
  background:rgba(74,31,40,.06);
  border-color:rgba(74,31,40,.55);
  color:var(--ink);
}
.prod-info-toggle svg{
  width:14px;
  height:14px;
  flex-shrink:0;
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.prod-info-toggle[aria-expanded="true"] svg{
  transform:rotate(180deg);
}
.prod-info-toggle[aria-expanded="true"]{
  background:rgba(74,31,40,.06);
  border-color:rgba(74,31,40,.4);
}

.prod-details{
  max-height:0;
  overflow:hidden;
  transition:max-height .55s cubic-bezier(.2,.7,.2,1);
}
.prod-details:not([hidden]).open{
  max-height:1200px;
}
.prod-details-inner{
  padding:24px 0 28px;
  margin-bottom:26px;
  border-top:1px dashed rgba(184,147,90,.32);
  border-bottom:1px dashed rgba(184,147,90,.32);
}
.details-block + .details-block{
  margin-top:22px;
}
.details-block h4{
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:10px;
}
.details-block h4::before{
  content:"";
  width:18px;
  height:1px;
  background:var(--gold);
}
.details-block ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 22px;
}
.details-block li{
  font-family:'Cormorant Garamond',serif;
  font-size:16px;
  color:var(--ink);
  line-height:1.4;
  padding-left:18px;
  position:relative;
}
.details-block li::before{
  content:"✦";
  position:absolute;
  left:0;
  top:3px;
  color:var(--gold);
  font-size:9px;
  line-height:1.4;
}
.details-block p{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:16px;
  color:var(--muted);
  line-height:1.55;
}

@media(max-width:768px){
  .details-block ul{
    grid-template-columns:1fr;
    gap:7px;
  }
  .details-block li,
  .details-block p{
    font-size:15px;
  }
  .prod-info-toggle{
    width:100%;
    justify-content:space-between;
    padding:14px 20px;
  }
}

@media(max-width:900px){
  .produtos{padding:100px 0 60px}
  .prod-intro{grid-template-columns:1fr;gap:30px;margin-bottom:60px;padding:0 22px}
  .prod-item{grid-template-columns:1fr;gap:40px;padding:60px 22px}
  .prod-item.reverse{direction:ltr}
  .prod-info{padding:0}
  .prod-meta{gap:30px}
}

/* ============================================================
   IMPACTO — cinematic dark
   ============================================================ */
.impacto{
  position:relative;background:var(--black);color:#fff;
  padding:200px 36px;overflow:hidden;
  min-height:100vh;display:flex;align-items:center;
}
.impacto::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 30%, rgba(184,147,90,.18) 0%, transparent 50%),
             radial-gradient(ellipse at 80% 70%, rgba(201,154,154,.12) 0%, transparent 50%);
}
.impacto::after{
  content:"";position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1518895949257-7621c3c786d7?auto=format&fit=crop&w=2000&q=80') center/cover;
  opacity:.15;mix-blend-mode:screen;
}
.impacto-inner{position:relative;z-index:2;width:100%;max-width:none;margin:0;padding-left:min(6vw,60px);padding-right:min(6vw,60px)}
.impacto h2{
  font-family:'Fraunces',serif;font-weight:200;
  font-size:clamp(44px,8.5vw,140px);line-height:.95;letter-spacing:-.025em;
  margin-bottom:60px;
}
.impacto h2 .red{color:var(--rose-deep)}
.impacto h2 em{font-style:italic;font-weight:300;display:block}
.impacto h2 .script{
  font-family:'Italianno',cursive;font-weight:400;color:var(--gold-light);
  font-size:1.1em;line-height:.8;padding:0 .1em;font-style:normal;
}
.impacto-sub{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(22px,2.6vw,36px);color:var(--gold-light);
  display:flex;align-items:center;gap:30px;max-width:720px;
}
.impacto-sub::before{content:"";width:80px;height:1px;background:var(--gold);flex-shrink:0}

@media(max-width:768px){
  .impacto{padding:120px 22px;min-height:auto}
  .impacto h2{margin-bottom:40px}
}

/* ============================================================
   URGÊNCIA
   ============================================================ */
.urgencia{
  background-color:var(--cream);
  padding:160px 36px;position:relative;overflow:hidden;
}
.urgencia-bg{
  position:absolute;top:20%;right:-100px;
  font-family:'Italianno',cursive;font-size:clamp(260px,32vw,480px);
  color:rgba(74,31,40,.08);line-height:.8;transform:rotate(-8deg);pointer-events:none;
}
.urgencia-inner{position:relative;z-index:2;width:100%;max-width:none;margin:0 auto;text-align:center;padding-left:min(6vw,60px);padding-right:min(6vw,60px)}
.urgencia .mono{color:var(--wine);margin-bottom:30px;display:inline-block}
.urgencia h2{
  font-family:'Fraunces',serif;font-weight:300;font-style:italic;
  font-size:clamp(36px,5.5vw,76px);line-height:1.05;letter-spacing:-.015em;
  color:var(--ink);margin-bottom:24px;
}
.urgencia-lead{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(19px,1.8vw,24px);color:var(--wine);font-style:italic;
  max-width:620px;margin:0 auto 70px;line-height:1.45;
}

.countdown{
  display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:60px;
}
.count-box{
  background:rgba(255,255,255,.7);backdrop-filter:blur(10px);
  border:1px solid rgba(184,147,90,.25);
  border-radius:4px;padding:28px 24px;min-width:130px;
  position:relative;overflow:hidden;
}
.count-box::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.count-num{
  font-family:'Fraunces',serif;font-weight:200;
  font-size:clamp(48px,6vw,72px);line-height:1;color:var(--ink);letter-spacing:-.02em;
}
.count-lbl{
  display:block;margin-top:14px;font-size:9px;
  letter-spacing:.4em;text-transform:uppercase;color:var(--muted);
}

.capacity{
  max-width:560px;margin:0 auto;
  background:rgba(255,255,255,.5);backdrop-filter:blur(10px);
  padding:32px 34px;border-radius:4px;border:1px solid rgba(184,147,90,.2);
}
.capacity-head{
  display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;
}
.capacity-head strong{color:var(--wine);font-weight:500}
.capacity-bar{
  height:4px;background:rgba(26,15,15,.1);border-radius:999px;overflow:hidden;position:relative;
}
.capacity-fill{
  position:absolute;top:0;left:0;height:100%;width:0;
  background:linear-gradient(90deg,var(--gold),var(--wine));
  transition:width 2s cubic-bezier(.2,.7,.2,1);
}
.capacity-note{
  margin-top:16px;font-size:11px;color:var(--muted);font-style:italic;
  font-family:'Cormorant Garamond',serif;font-size:15px;
}

@media(max-width:768px){
  .urgencia{padding:100px 22px}
  .count-box{min-width:0;flex:1;padding:22px 10px}
  .countdown{gap:8px}
}

/* ============================================================
   FINAL CTA — striking conversion close
   ============================================================ */
.final{
  position:relative;
  background:var(--wine-deep);
  color:#fff;
  min-height:100vh;
  padding:120px 36px 100px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  overflow:hidden;
  isolation:isolate;
}

.final-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(13,8,8,.92) 0%, rgba(42,15,21,.78) 50%, rgba(13,8,8,.96) 100%),
    url('../img/cesta-03.jpeg') center/cover no-repeat;
  filter:saturate(.88) contrast(1.04);
  z-index:0;
}

.final-glow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 30% 30%, rgba(184,147,90,.2), transparent 65%),
    radial-gradient(ellipse 60% 50% at 80% 70%, rgba(201,154,154,.12), transparent 60%);
  z-index:1;
  pointer-events:none;
}

.final-inner{
  position:relative;
  z-index:2;
  max-width:780px;
  width:100%;
}

/* Top tag */
.final-tag{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-bottom:32px;
}
.final-tag .line{
  width:48px;
  height:1px;
  background:var(--gold);
  opacity:.55;
}
.final-tag .text{
  font-size:10px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold-light);
  font-weight:500;
}

/* Script */
.final-script{
  font-family:'Italianno',cursive;
  font-size:clamp(60px,9.5vw,128px);
  color:var(--gold-light);
  line-height:.9;
  margin-bottom:14px;
  transform:rotate(-3deg);
  display:inline-block;
}

/* Headline */
.final-headline{
  font-family:'Fraunces',serif;
  font-weight:200;
  font-size:clamp(40px,6.4vw,92px);
  line-height:.96;
  letter-spacing:-.02em;
  margin-bottom:32px;
  color:#fff;
  text-shadow:0 14px 40px rgba(0,0,0,.4);
}
.final-headline em{
  font-style:italic;
  font-weight:300;
  color:var(--rose-soft);
}

/* Body */
.final-p{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(18px,1.8vw,22px);
  color:rgba(255,255,255,.78);
  max-width:520px;
  margin:0 auto 32px;
  line-height:1.5;
}

/* Scarcity strip */
.final-scarcity{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  max-width:480px;
  margin:0 auto 32px;
  padding:16px 24px;
  border:1px solid rgba(184,147,90,.28);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(184,147,90,.08), rgba(184,147,90,.02));
  backdrop-filter:blur(10px);
}
.scarcity-text{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.86);
}
.scarcity-text strong{
  color:var(--gold-light);
  font-weight:700;
}
.scarcity-text .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ff6a4d;
  box-shadow:0 0 0 4px rgba(255,106,77,.18);
  animation:pulse 1.6s infinite;
  flex-shrink:0;
}
.scarcity-bar{
  width:100%;
  height:3px;
  background:rgba(255,255,255,.08);
  border-radius:99px;
  overflow:hidden;
  position:relative;
}
.scarcity-fill{
  position:absolute;
  top:0;left:0;height:100%;
  width:87%;
  background:linear-gradient(90deg, var(--gold-light), #ff6a4d);
  border-radius:99px;
  box-shadow:0 0 12px rgba(255,106,77,.4);
}

/* Big custom CTA */
.final-cta{
  display:inline-flex;
  align-items:center;
  gap:20px;
  padding:16px 28px 16px 16px;
  background:linear-gradient(135deg, #25D366 0%, #1bb054 100%);
  color:#fff;
  border-radius:18px;
  text-decoration:none;
  font-family:'Inter',sans-serif;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 28px 60px rgba(37,211,102,.35),
    0 0 0 1px rgba(255,255,255,.08),
    inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .4s ease, box-shadow .4s ease;
  position:relative;
  overflow:hidden;
  margin-bottom:36px;
}
.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  transform:translateX(-100%);
  transition:transform .9s ease;
  pointer-events:none;
}
.final-cta:hover{
  transform:translateY(-4px) scale(1.015);
  box-shadow:
    0 38px 78px rgba(37,211,102,.46),
    0 0 0 1px rgba(255,255,255,.18),
    inset 0 1px 0 rgba(255,255,255,.32);
}
.final-cta:hover::before{
  transform:translateX(100%);
}
.final-cta .cta-icon{
  width:54px;
  height:54px;
  border-radius:14px;
  background:rgba(0,0,0,.22);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  position:relative;
  z-index:1;
}
.final-cta .cta-icon svg{
  width:26px;
  height:26px;
  fill:#fff;
}
.final-cta .cta-content{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  text-align:left;
  position:relative;
  z-index:1;
}
.final-cta .cta-main{
  font-size:15px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1;
}
.final-cta .cta-sub{
  font-size:11px;
  font-weight:400;
  opacity:.8;
  letter-spacing:.05em;
}
.final-cta .cta-arrow{
  font-size:22px;
  font-weight:300;
  margin-left:4px;
  transition:transform .4s ease;
  position:relative;
  z-index:1;
}
.final-cta:hover .cta-arrow{
  transform:translateX(6px);
}

/* Trust pre — social proof acima do CTA (priming) */
.final-trust-pre{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin:0 auto 18px;
  padding:11px 22px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(10px);
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:.02em;
  color:rgba(255,255,255,.86);
  line-height:1;
}
.final-trust-pre .stars{
  color:var(--gold-light);
  letter-spacing:.08em;
  font-size:13px;
  line-height:1;
}
.final-trust-pre strong{
  color:var(--gold-light);
  font-weight:700;
}

/* Garantia — reduz risco percebido depois do CTA */
.final-guarantee{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:18px auto 0;
  padding:0 12px;
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:.02em;
  color:rgba(255,255,255,.72);
  line-height:1.4;
  text-align:left;
}
.final-guarantee svg{
  width:18px;
  height:18px;
  color:var(--gold-light);
  flex-shrink:0;
}
.final-guarantee strong{
  color:#fff;
  font-weight:700;
}

@media(max-width:768px){
  .final{padding:80px 22px 70px}
  .final-tag{margin-bottom:22px}
  .final-tag .line{width:30px}
  .final-tag .text{font-size:9px;letter-spacing:.32em}
  .final-script{font-size:60px;margin-bottom:8px}
  .final-headline{font-size:clamp(34px,9vw,48px);margin-bottom:24px}
  .final-p{font-size:17px;margin-bottom:24px}
  .final-scarcity{padding:14px 18px;margin-bottom:24px;border-radius:12px}
  .scarcity-text{font-size:10px;letter-spacing:.18em}
  .final-cta{
    width:100%;
    padding:12px 20px 12px 12px;
    gap:14px;
    border-radius:14px;
  }
  .final-cta .cta-icon{width:46px;height:46px;border-radius:11px}
  .final-cta .cta-icon svg{width:22px;height:22px}
  .final-cta .cta-main{font-size:13px}
  .final-cta .cta-sub{font-size:10px}
  .final-cta .cta-arrow{font-size:18px;margin-left:auto}
  .final-trust-pre{
    padding:9px 16px;
    gap:10px;
    font-size:10px;
    margin-bottom:14px;
  }
  .final-trust-pre .stars{font-size:11px}
  .final-guarantee{
    font-size:10px;
    margin-top:14px;
    padding:0 6px;
  }
  .final-guarantee svg{width:16px;height:16px}
}

.safety-strip{
  background:var(--black);
  padding:14px 36px 60px;
}
.safety-inner{
  width:100%;
  max-width:none;
  margin:0 auto;
  padding:28px 34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:32px;
  background:linear-gradient(180deg, rgba(34,18,21,.86), rgba(19,10,12,.94));
  box-shadow:0 24px 60px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05);
  color:var(--rose-soft);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(20px,2.4vw,30px);
  line-height:1.22;
  font-style:italic;text-align:center;
  text-wrap:balance;
}
@media(max-width:768px){
  .safety-strip{padding:10px 22px 42px}
  .safety-inner{border-radius:24px}
}

/* ============================================================
   FOOTER
   ============================================================ */
footer{
  background:var(--black);color:#999;
  padding:80px 36px 40px;border-top:1px solid rgba(255,255,255,.08);
  position:relative;
}
.foot-grid{
  width:100%;
  max-width:none;
  margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;
  padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.08);
}
.foot-brand{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-bottom:20px;
}
.foot-wordmark{
  width:auto;
  max-width:280px;
  height:auto;
  /* invert deixa o texto preto branco; hue-rotate devolve o vermelho do coração */
  filter:invert(1) hue-rotate(180deg) drop-shadow(0 10px 18px rgba(0,0,0,.28));
  opacity:.96;
}
@media(max-width:768px){
  .foot-wordmark{max-width:220px}
}
.foot-tagline{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;
  color:var(--rose-soft);max-width:340px;
}
.foot-col h4{
  font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);
  font-weight:500;margin-bottom:20px;
}
.foot-col a,.foot-col p{
  display:block;font-size:14px;color:#aaa;padding:6px 0;font-weight:300;
}
.foot-col a:hover{color:#fff}
.foot-col .wa-inline-link{
  display:inline-flex;align-items:center;
  gap:9px;
}
.foot-col .wa-inline-link svg{
  width:14px;height:14px;
}
.foot-bottom{
  width:100%;
  max-width:none;
  margin:40px auto 0;
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#666;
}
.hero-content,
.manifesto-inner,
.escolha-inner,
.prod-intro,
.prod-item,
.social-inner,
.impacto-inner,
.urgencia-inner,
.foot-grid,
.foot-bottom {
  width:100%;
  max-width:none;
}
.hero-content,
.manifesto-inner,
.escolha-inner,
.prod-intro,
.prod-item,
.social-inner,
.impacto-inner,
.urgencia-inner,
.foot-grid,
.foot-bottom {
  padding-left:min(6vw,60px);
  padding-right:min(6vw,60px);
}
.hero-sub,
.manifesto-body,
.manifesto-sign,
.escolha-head,
.prod-intro h2,
.prod-intro .right p {
  max-width:none;
}
@media(max-width:768px){
  .foot-grid{grid-template-columns:1fr;gap:40px}
  .foot-bottom{flex-direction:column;gap:20px;text-align:center}
}

/* ============================================================
   STICKY CTA MOBILE — barra inferior fixa
   ============================================================ */
.sticky-cta{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:85;
  padding:12px 14px 14px;
  background:linear-gradient(180deg, rgba(13,8,8,.78), rgba(13,8,8,.96));backdrop-filter:blur(14px);
  border-top:1px solid rgba(184,147,90,.25);
  box-shadow:0 -10px 30px rgba(0,0,0,.25);
}
.sticky-cta a{
  display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;padding:14px 18px;
  background:linear-gradient(135deg,#25D366 0%,#128C7E 100%);
  color:#fff;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  box-shadow:0 18px 40px rgba(15,95,55,.34), inset 0 1px 0 rgba(255,255,255,.18);
}
.sticky-cta a svg{
  width:18px;height:18px;fill:#fff;
  padding:9px;
  box-sizing:content-box;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
}
.sticky-cta .micro{
  text-align:center;font-size:9px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-light);margin-top:8px;
}
@media(max-width:768px){
  .sticky-cta{display:block}
  body{padding-bottom:90px}
  .wa-float{display:none}
}

/* ============================================================
   WHATSAPP FLOAT
   ============================================================ */
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:90;
  width:68px;height:68px;border-radius:50%;
  background:linear-gradient(135deg,#25D366 0%, #128C7E 100%);
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 16px 36px rgba(37,211,102,.28), 0 0 0 10px rgba(37,211,102,.08);
  animation:floatIn 1s 1.5s both, haloGreen 2.5s infinite;
}
.wa-float svg{width:32px;height:32px;fill:#fff}
.wa-float:hover{transform:translateY(-2px) scale(1.05)}
@media(max-width:768px){.wa-float{width:58px;height:58px;bottom:20px;right:20px}.wa-float svg{width:26px;height:26px}}

/* ============================================================
   KEYFRAMES
   ============================================================ */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes revealUp{from{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
@keyframes haloGreen{0%,100%{box-shadow:0 16px 36px rgba(37,211,102,.28),0 0 0 10px rgba(37,211,102,.08)}50%{box-shadow:0 18px 44px rgba(37,211,102,.42),0 0 0 16px rgba(37,211,102,.12)}}
@keyframes floatIn{from{opacity:0;transform:translateY(40px) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}

.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.2s cubic-bezier(.2,.7,.2,1),transform 1.2s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.15s}
.reveal-delay-2{transition-delay:.3s}
.reveal-delay-3{transition-delay:.45s}

/* letra por letra */
.split-char{display:inline-block;transform:translateY(120%);opacity:0;transition:transform 1s cubic-bezier(.2,.7,.2,1),opacity 1s}
.split-char.in{transform:translateY(0);opacity:1}

/* ---------- MOBILE POLISH ---------- */
@media(max-width:768px){
  html{scroll-padding-top:72px}
  body{padding-bottom:92px}

  .topbar{
    padding:14px 16px;
    background:linear-gradient(180deg, rgba(13,8,8,.42), rgba(13,8,8,0));
    mix-blend-mode:normal;
  }
  .topbar.scrolled{
    padding:12px 16px;
    background:rgba(13,8,8,.72);
    backdrop-filter:blur(14px);
  }
  .top-right{display:none}

  .marquee{
    padding:16px 0;
  }
  .marquee-track{
    gap:28px;
  }
  .marquee span{
    gap:28px;
    font-size:clamp(22px,8vw,32px);
  }

  .manifesto{
    padding:96px 18px 78px;
  }
  .manifesto-body{
    font-size:clamp(28px,9vw,42px);
  }
  .manifesto-sign{
    margin-top:38px;
    gap:18px;
  }

  .escolha{
    padding:86px 18px;
  }
  .escolha-head{
    gap:18px;
    margin-bottom:40px;
  }
  .escolha-grid{
    gap:10px;
    background:transparent;
    border:none;
  }
  .choice{
    min-height:240px;
    padding:24px 18px 20px;
    border-radius:6px;
  }
  .choice h3{
    font-size:clamp(22px,6.4vw,28px);
  }

  .pressao{
    padding:42px 18px 22px;
  }

  .social{
    padding:78px 18px 72px;
  }
  .social-head{
    gap:20px;
    margin-bottom:34px;
  }
  .social-grid{
    gap:14px;
  }
  .testi{
    padding:22px 20px 20px;
    border-radius:20px;
  }
  .social-stats{
    margin-top:34px;
  }

  .produtos{
    padding:86px 0 56px;
  }
  .prod-intro{
    gap:22px;
    margin-bottom:42px;
    padding:0 18px;
  }
  .prod-item{
    gap:24px;
    padding:38px 18px;
  }
  .prod-info{
    padding:0;
  }
  .prod-desc{
    margin-bottom:24px;
  }
  .prod-meta{
    gap:18px;
    margin-bottom:18px;
    padding:18px 0;
  }
  .prod-microcopy{
    margin:0 0 18px;
    padding:9px 12px;
    font-size:9px;
    letter-spacing:.18em;
  }
  .prod-cta{
    width:100%;
    min-height:56px;
    padding:14px 18px;
    font-size:10px;
    letter-spacing:.22em;
  }

  .impacto{
    min-height:auto;
    padding:90px 18px;
  }
  .impacto h2{
    margin-bottom:28px;
  }
  .impacto-sub{
    gap:18px;
    font-size:clamp(18px,5.5vw,24px);
  }
  .impacto-sub::before{
    width:34px;
  }

  .urgencia{
    padding:84px 18px;
  }
  .urgencia-lead{
    margin:0 auto 36px;
  }
  .countdown{
    gap:8px;
    margin-bottom:34px;
  }
  .count-box{
    padding:18px 10px;
    border-radius:16px;
  }
  .capacity{
    padding:24px 20px;
    border-radius:20px;
  }
  .capacity-head{
    gap:10px;
    align-items:flex-start;
    flex-direction:column;
  }

  .final{
    min-height:auto;
  }

  .safety-strip{
    padding:8px 18px 32px;
  }
  .safety-inner{
    padding:22px 20px;
    font-size:clamp(18px,6vw,24px);
    line-height:1.28;
  }

  footer{
    padding:56px 18px 22px;
  }
  .foot-grid{
    gap:28px;
    padding-bottom:26px;
  }
  .foot-bottom{
    margin-top:22px;
    font-size:9px;
    letter-spacing:.14em;
  }

  .sticky-cta{
    display:block;
    padding:8px 10px 10px;
  }
  .sticky-cta a{
    min-height:56px;
    padding:12px 16px;
    font-size:10px;
    letter-spacing:.16em;
  }
  .sticky-cta .micro{
    margin-top:6px;
    font-size:8px;
    letter-spacing:.18em;
  }
  .wa-float{
    display:none !important;
  }
}

/* ---------- PREMIUM CTA + WHATSAPP REFINEMENT ---------- */
html{
  scroll-behavior:smooth;
}

section{
  position:relative;
}

/* Remove the default section fade overlay that creates an unwanted border effect */
section::after{
  display:none;
}

.prod-cta svg,
.wa-link svg{
  background:none !important;
  padding:0 !important;
  border:none !important;
  box-shadow:none !important;
}

.prod-cta svg,
.btn-final svg,
.sticky-cta a svg{
  width:22px;
  height:22px;
  fill:#fff;
  flex:0 0 22px;
}

.prod-cta svg{
  margin-left:10px;
}

.btn-final svg,
.sticky-cta a svg{
  margin-right:10px;
}

.wa-inline-link svg{
  width:19px;
  height:19px;
  fill:#25D366;
}

.wa-float{
  background:linear-gradient(135deg, #25D366, #128C7E);
}

.wa-float svg{
  width:34px;
  height:34px;
  fill:#fff;
}

/* ============================================================
   SECTION BRIDGES — soft handoffs between contrasting sections
   ============================================================ */
.bridge{
  position:relative;
  height:90px;
  width:100%;
  pointer-events:none;
  overflow:hidden;
}
.bridge::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:80px;
  height:1px;
  background:linear-gradient(to right, transparent, var(--gold), transparent);
  opacity:.55;
}
.bridge::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 5px rgba(184,147,90,.12);
}

.bridge-black-to-cream{
  background:linear-gradient(to bottom, var(--black) 0%, var(--ivory) 100%);
  height:140px;
}
.bridge-cream-to-wine{
  background:linear-gradient(to bottom, var(--ivory) 0%, var(--wine-deep) 100%);
}
.bridge-wine-to-cream{
  background:linear-gradient(to bottom, var(--wine-deep) 0%, var(--ivory) 100%);
}
.bridge-cream-to-black{
  background:linear-gradient(to bottom, var(--cream) 0%, var(--black) 100%);
}
.bridge-black-to-rose{
  background:linear-gradient(to bottom, var(--black) 0%, var(--rose) 100%);
}
.bridge-rose-to-black{
  background:linear-gradient(to bottom, var(--cream) 0%, var(--black) 100%);
}

@media(max-width:768px){
  .bridge{height:64px}
  .bridge::before{width:50px}
}

/* ---------- MARQUEE REFINEMENT ---------- */
.marquee{
  min-height:84px;
  display:flex;
  align-items:center;
  margin-top:0;
  padding:12px 0;
  overflow:hidden;
  white-space:nowrap;
  background:
    linear-gradient(180deg, rgba(42,15,21,.98), rgba(13,8,8,.98)),
    var(--paper-grain);
  background-size:auto,280px 280px;
  color:rgba(250,246,239,.9);
  border-top:1px solid rgba(184,147,90,.22);
  border-bottom:1px solid rgba(184,147,90,.2);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(0,0,0,.28);
}

.marquee::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 50%, rgba(184,147,90,.14), transparent 32%),
    linear-gradient(90deg, rgba(13,8,8,.96), rgba(13,8,8,0) 14%, rgba(13,8,8,0) 86%, rgba(13,8,8,.96));
  pointer-events:none;
  z-index:2;
}

.marquee::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(212,183,138,.52), transparent);
  pointer-events:none;
  z-index:3;
}

.marquee-track{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding-inline:14px;
  animation:marquee 46s linear infinite;
  will-change:transform;
}

.marquee span{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-family:'Inter',sans-serif;
  font-size:10px;
  line-height:1;
  font-style:normal;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
}

.marquee span::after{
  content:"";
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:50%;
  background:var(--gold-light);
  box-shadow:0 0 0 5px rgba(212,183,138,.09);
}

@media(max-width:768px){
  .marquee{
    min-height:68px;
    padding:8px 0;
  }

  .marquee-track{
    gap:10px;
    padding-inline:10px;
    animation-duration:38s;
  }

  .marquee span{
    min-height:36px;
    padding:10px 14px;
    font-size:8px;
    letter-spacing:.18em;
    gap:10px;
  }
}

/* ---------- ORDER MENU ---------- */
body.order-open{
  overflow:hidden;
}

body.order-open .sticky-cta,
body.order-open .wa-float{
  display:none !important;
}

.order-modal{
  position:fixed;
  inset:0;
  z-index:130;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}

.order-modal.is-open{
  opacity:1;
  pointer-events:auto;
}

.order-backdrop{
  position:absolute;
  inset:0;
  background:rgba(13,8,8,.64);
  backdrop-filter:blur(14px);
}

.order-card{
  position:relative;
  z-index:1;
  width:min(100%,560px);
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:34px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,246,239,.96)),
    var(--paper-grain);
  background-size:auto,260px 260px;
  border:1px solid rgba(26,15,15,.08);
  box-shadow:0 30px 90px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.8);
  color:var(--ink);
  transform:translateY(18px) scale(.98);
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}

.order-modal.is-open .order-card{
  transform:translateY(0) scale(1);
}

.order-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(26,15,15,.08);
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  font-size:24px;
  line-height:1;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.order-kicker{
  margin-bottom:14px;
  color:var(--gold);
  font-size:10px;
  font-weight:700;
  letter-spacing:.32em;
  text-transform:uppercase;
}

.order-card h3{
  margin-bottom:10px;
  font-family:'Fraunces',serif;
  font-size:clamp(34px,4vw,52px);
  line-height:.95;
  font-weight:300;
  letter-spacing:0;
}

.order-card p{
  margin-bottom:26px;
  max-width:420px;
  font-family:'Cormorant Garamond',serif;
  font-size:19px;
  font-style:italic;
  line-height:1.35;
  color:var(--muted);
}

.order-card label{
  display:block;
  margin-bottom:14px;
}

.order-card label span{
  display:block;
  margin:0 0 7px 2px;
  color:var(--wine);
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.order-card input,
.order-card textarea{
  width:100%;
  border:1px solid rgba(26,15,15,.1);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  color:var(--ink);
  padding:15px 16px;
  font:500 15px/1.3 'Inter',sans-serif;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.order-card textarea{
  resize:vertical;
  min-height:96px;
}

.order-card input:focus,
.order-card textarea:focus{
  border-color:rgba(184,147,90,.52);
  background:#fff;
  box-shadow:0 0 0 4px rgba(184,147,90,.12);
}

.order-card input[readonly]{
  color:var(--wine);
  background:rgba(244,214,214,.18);
}

/* ============================================================
   COMPLEMENTARES — mini cestas para somar ao pedido principal
   ============================================================ */
.complementares{
  background-color:var(--ivory);
  background-image:var(--paper-grain);
  background-size:280px 280px;
  background-repeat:repeat;
  padding:140px 36px 120px;
  position:relative;
  overflow:hidden;
}
.complementares-bg-text{
  position:absolute;
  top:30px;
  right:-40px;
  font-family:'Italianno',cursive;
  font-size:clamp(180px,24vw,360px);
  color:rgba(184,147,90,.06);
  white-space:nowrap;
  line-height:.8;
  pointer-events:none;
  user-select:none;
}
.complementares-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  margin:0;
  padding-left:min(6vw,60px);
  padding-right:min(6vw,60px);
}
.complementares-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-bottom:80px;
  align-items:end;
}
.complementares-head .left .mono{
  color:var(--gold);
  margin-bottom:24px;
  display:block;
}
.complementares-head h2{
  font-family:'Fraunces',serif;
  font-weight:200;
  font-size:clamp(38px,5.4vw,76px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--ink);
}
.complementares-head h2 em{
  font-style:italic;
  color:var(--wine);
  font-weight:300;
}
.complementares-head .right p{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(18px,1.6vw,22px);
  line-height:1.55;
  color:var(--muted);
  font-style:italic;
}

.complementares-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.comp-card{
  position:relative;
  padding:30px 24px 24px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(184,147,90,.22);
  border-radius:8px;
  display:flex;
  flex-direction:column;
  min-height:340px;
  overflow:hidden;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),
              border-color .5s ease,
              background .5s ease,
              box-shadow .5s ease;
  box-shadow:0 14px 30px rgba(60,30,30,.06);
}
.comp-accent{
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg, var(--gold-light), var(--wine), var(--gold-light));
  opacity:.45;
  transition:opacity .5s ease;
}
.comp-card:hover .comp-accent{
  opacity:1;
}
.comp-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.92);
  border-color:rgba(184,147,90,.55);
  box-shadow:0 28px 56px rgba(60,30,30,.14);
}
.comp-num{
  position:absolute;
  top:14px;
  right:20px;
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:200;
  font-size:96px;
  line-height:.8;
  letter-spacing:-.04em;
  color:rgba(184,147,90,.09);
  pointer-events:none;
  transition:color .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);
  z-index:1;
}
.comp-card:hover .comp-num{
  color:rgba(184,147,90,.2);
  transform:translateY(-3px) scale(1.03);
}
.comp-tag{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Fraunces',serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:8px;
  margin-bottom:18px;
}
.comp-tag::before{
  content:"";
  width:18px;
  height:1px;
  background:var(--gold);
  transition:width .4s ease;
}
.comp-card:hover .comp-tag::before{
  width:32px;
}
.comp-body{
  position:relative;
  z-index:2;
  margin-bottom:auto;
}
.comp-name{
  font-family:'Fraunces',serif;
  font-weight:400;
  font-size:23px;
  line-height:1.1;
  color:var(--ink);
  margin-bottom:12px;
  letter-spacing:-.01em;
}
.comp-name em{
  font-style:italic;
  color:var(--wine);
  font-weight:400;
}
.comp-desc{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:16px;
  line-height:1.45;
  color:var(--muted);
}
.comp-foot{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px dashed rgba(184,147,90,.3);
}
.comp-price{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-size:32px;
  line-height:1;
  color:var(--ink);
  letter-spacing:-.01em;
}
.comp-price small{
  font-size:14px;
  color:var(--muted);
  margin-right:3px;
  font-weight:400;
}
.comp-hint{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:9px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
  font-family:'Inter',sans-serif;
}
.comp-hint::before{
  content:"+";
  font-size:14px;
  font-weight:300;
  color:var(--gold);
  line-height:1;
}

.complementares-foot{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:60px;
  padding-top:14px;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.complementares-foot .line{
  flex:1;
  max-width:80px;
  height:1px;
  background:linear-gradient(to right, transparent, var(--gold), transparent);
  opacity:.6;
}

@media(max-width:1100px){
  .complementares-grid{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media(max-width:980px){
  .complementares{padding:100px 26px 90px}
  .complementares-head{grid-template-columns:1fr;gap:24px;margin-bottom:50px}
  .complementares-foot{margin-top:42px}
}
@media(max-width:600px){
  .complementares{padding:80px 18px 70px}
  .complementares-grid{grid-template-columns:1fr;gap:14px}
  .comp-card{min-height:auto;padding:26px 22px 22px}
  .comp-num{font-size:78px;top:12px;right:16px}
  .comp-name{font-size:20px}
  .comp-desc{font-size:15px}
  .comp-price{font-size:28px}
  .comp-cta{padding:10px 14px;font-size:9px;letter-spacing:.18em}
  .complementares-foot{font-size:9px;letter-spacing:.2em;flex-direction:column;gap:10px}
  .complementares-foot .line{max-width:60px;width:60px}
}

/* ============================================================
   ORDER MODAL — adicionais checkboxes
   ============================================================ */
.order-addons-section{
  margin-bottom:18px;
}
.addons-group{
  margin-bottom:16px;
}
.addons-group:last-of-type{
  margin-bottom:0;
}
.addons-group[hidden]{
  display:none !important;
}
.order-addons-label{
  display:block;
  margin:0 0 10px 2px;
  color:var(--wine);
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.order-addons-label em{
  font-style:italic;
  font-weight:500;
  color:var(--muted);
  letter-spacing:.14em;
  text-transform:none;
  font-size:11px;
  margin-left:4px;
}
.order-addons-list{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  padding:2px;
}
.order-addons-list:empty{
  display:none;
}
.order-addons-list:empty + *,
.addons-group:has(.order-addons-list:empty){
  display:none;
}

.addon-option{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border:1px solid rgba(26,15,15,.1);
  border-radius:14px;
  background:rgba(255,255,255,.6);
  cursor:pointer;
  transition:border-color .25s ease, background .25s ease, transform .25s ease;
  position:relative;
}
.addon-option:hover{
  border-color:rgba(184,147,90,.4);
  background:rgba(255,255,255,.92);
}
.addon-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
  width:0;height:0;
}
.addon-check{
  width:20px;
  height:20px;
  border:1.5px solid rgba(74,31,40,.32);
  border-radius:6px;
  flex-shrink:0;
  position:relative;
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.addon-check::after{
  content:"";
  position:absolute;
  top:3px;left:6px;
  width:5px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);
  transition:transform .25s cubic-bezier(.2,.7,.2,1);
}
.addon-option input:checked ~ .addon-check{
  background:var(--wine);
  border-color:var(--wine);
}
.addon-option input:checked ~ .addon-check::after{
  transform:rotate(45deg) scale(1);
}
.addon-option:has(input:checked){
  border-color:var(--wine);
  background:rgba(74,31,40,.06);
}
.addon-option input:focus-visible ~ .addon-check{
  outline:2px solid rgba(184,147,90,.5);
  outline-offset:2px;
}
.addon-row{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.addon-row strong{
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:600;
  color:var(--ink);
  letter-spacing:.01em;
}
.addon-row .muted{
  font-weight:400;
  color:var(--muted);
  font-size:12px;
}
.addon-pill{
  font-family:'Fraunces',serif;
  font-size:14px;
  font-weight:500;
  color:var(--wine);
  white-space:nowrap;
  letter-spacing:-.005em;
}

/* Full-width layout fallback for wide sections */
.hero-content,
.manifesto-inner,
.escolha-inner,
.prod-intro,
.prod-item,
.complementares-inner,
.impacto-inner,
.urgencia-inner,
.safety-inner,
.foot-grid,
.foot-bottom {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:min(6vw,60px) !important;
  padding-right:min(6vw,60px) !important;
}

.order-summary{
  margin-top:14px;
  padding:14px 18px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(184,147,90,.12), rgba(74,31,40,.08));
  border:1px solid rgba(184,147,90,.32);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.summary-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
}
.summary-row[hidden]{display:none}
.summary-row .label{
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
}
.summary-row .value{
  font-family:'Fraunces',serif;
  font-size:15px;
  font-weight:400;
  color:var(--ink);
  letter-spacing:-.005em;
}
.summary-row.total{
  margin-top:6px;
  padding-top:10px;
  border-top:1px solid rgba(184,147,90,.32);
}
.summary-row.total .label{
  color:var(--wine);
  font-weight:700;
}
.summary-row.total .value{
  font-size:24px;
  font-weight:500;
  color:var(--wine);
  letter-spacing:-.01em;
}

.order-submit{
  width:100%;
  min-height:58px;
  margin-top:8px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, #25D366, #128C7E);
  color:#fff;
  box-shadow:0 18px 44px rgba(37,211,102,.28), inset 0 1px 0 rgba(255,255,255,.22);
  font-size:12px;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s cubic-bezier(.2,.7,.2,1);
}

.order-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 58px rgba(37,211,102,.36);
}

@media(max-width:768px){
  .order-modal{
    align-items:end;
    padding:12px;
  }

  .order-card{
    width:100%;
    max-height:calc(100vh - 24px);
    padding:28px 20px 20px;
    border-radius:24px 24px 20px 20px;
  }

  .order-card h3{
    font-size:34px;
  }

  .order-card p{
    margin-bottom:20px;
    font-size:17px;
  }

  .order-card input,
  .order-card textarea{
    border-radius:16px;
    padding:14px;
  }
}

/* reduce motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ============================================================
   ▼▼▼  MOBILE OPTIMIZATION LAYER  ▼▼▼
   Camada final pra adaptação 100% responsiva
   Princípios: thumb-friendly, legível, rápido, conversão first
   ============================================================ */

/* === TOUCH DEVICES — desliga cursor custom + ajustes universais === */
@media (hover:none), (pointer:coarse){
  html, body { cursor:auto !important; }
  .cursor { display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }
  *, *::before, *::after { -webkit-tap-highlight-color:transparent !important; }
  /* Hover states viram active states */
  *:hover { transition-duration:0s !important; }
  /* iOS smooth scroll */
  body { -webkit-overflow-scrolling:touch; }
  /* Tap highlight sutil */
  a, button, [role="button"] {
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
}

/* === TABLET LANDSCAPE — 1100px === */
@media (max-width:1100px){
  .topbar{padding:16px 28px;gap:24px}
  .topbar.scrolled{padding:11px 28px}
  .prod-item{gap:42px}
  .escolha-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .complementares-grid{grid-template-columns:repeat(2,1fr)}
}

/* === TABLET PORTRAIT — 880px === */
@media (max-width:880px){
  /* Topbar: nav some, WhatsApp vira icon-only */
  .topbar{padding:14px 22px;min-height:64px}
  .topbar.scrolled{padding:11px 22px;min-height:56px}
  .logo-wordmark{height:50px}
  .topbar.scrolled .logo-wordmark{height:42px}

  /* Prod-item vira coluna */
  .prod-item{
    grid-template-columns:1fr !important;
    gap:32px;
    padding:0 22px;
  }
  .prod-item.reverse .prod-visual{order:0}
  .prod-info{padding:0;max-width:100%}

  /* Final CTA: compacto */
  .final{padding:90px 22px 80px}

  /* Footer: stacked */
  .foot-grid{grid-template-columns:1fr;gap:36px;text-align:center}
  .foot-brand{justify-content:center}
}

/* === MOBILE PORTRAIT GRANDE — 680px === */
@media (max-width:680px){
  /* === FONTS BASE — escala otimizada pra mobile === */
  html{font-size:15px}

  /* === HERO: o mais importante — CTA visível sem scroll === */
  .hero-content{padding:96px 20px 100px}
  .hero-mark{margin:0 auto 22px}
  .hero-mark img{height:88px;max-width:80vw}
  .hero-kicker{
    margin-bottom:18px;
    font-size:9.5px;
    letter-spacing:.36em;
  }
  .hero-headline{
    font-size:clamp(30px,8.4vw,44px);
    line-height:1.06;
    margin-bottom:20px;
    text-shadow:0 10px 26px rgba(0,0,0,.55);
  }
  .hero-cta{
    margin-top:14px;
    padding:16px 26px;
    font-size:10.5px;
    letter-spacing:.24em;
    min-height:50px;
    width:auto;
  }
  .hero-cta svg{width:14px;height:14px}

  /* === SECTIONS: padding reduzido === */
  .manifesto{padding:90px 20px 70px}
  .manifesto-body{font-size:clamp(24px,7.2vw,34px);line-height:1.25}
  .manifesto-quote{font-size:120px;left:-18px;top:-16px}
  .manifesto-sign{
    margin-top:28px;
    flex-direction:column;
    gap:10px;
  }
  .manifesto-sign-line{display:none}

  .escolha{padding:80px 20px}
  .escolha-head{margin-bottom:36px}
  .escolha-head h2{font-size:clamp(34px,9vw,48px)}
  .escolha-grid{grid-template-columns:1fr;gap:12px}
  .choice{min-height:170px;padding:22px 20px 18px;border-radius:6px}
  .choice::after{font-size:120px;bottom:-18px;right:-8px}
  .choice .cnum{font-size:9.5px;letter-spacing:.26em}
  .choice h3{font-size:22px}

  .pressao{padding:60px 20px 36px}
  .pressao h3{font-size:clamp(28px,8vw,38px)}

  .produtos{padding:80px 0 50px}
  .prod-intro{padding:0 20px;margin-bottom:46px;gap:18px}
  .prod-intro h2{font-size:clamp(34px,9vw,48px)}
  .prod-item{margin-bottom:60px;gap:22px;padding:0 20px}
  .prod-visual img{border-radius:6px}
  .prod-numbertag{font-size:80px;top:-12px;right:-4px}
  .prod-tagline{font-size:9px;letter-spacing:.26em;top:14px;left:14px}
  .prod-badge{font-size:9px;padding:6px 12px;letter-spacing:.18em}
  .prod-name{font-size:clamp(28px,8.4vw,40px);line-height:1.04}
  .prod-desc{font-size:16px;line-height:1.45}
  .prod-meta{flex-wrap:wrap;gap:18px}
  .prod-meta .price{font-size:32px}
  .prod-cta{
    width:100%;
    padding:16px 22px;
    font-size:11px;
    letter-spacing:.22em;
    min-height:54px;
    justify-content:center;
  }
  .prod-info-toggle{
    width:100%;
    justify-content:space-between;
    padding:14px 18px;
    min-height:48px;
    font-size:10px;
  }

  .complementares{padding:70px 20px 60px}
  .complementares-head{margin-bottom:40px}
  .complementares-head h2{font-size:clamp(30px,8vw,42px)}
  .complementares-grid{grid-template-columns:1fr;gap:12px}

  .social{padding:80px 20px 60px}
  .social-head{margin-bottom:42px}
  .social-head h2{font-size:clamp(30px,8.4vw,44px)}
  .social-grid{grid-template-columns:1fr;gap:14px}
  .testi{padding:24px 22px}
  .social-stats{
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    margin-top:36px;
  }

  .impacto{padding:70px 20px;min-height:auto}
  .impacto h2{font-size:clamp(34px,9vw,46px);line-height:1.05;margin-bottom:24px}
  .impacto-sub{font-size:16px}

  .urgencia{padding:80px 20px 60px}
  .urgencia h2{font-size:clamp(30px,8vw,42px)}
  .countdown{gap:8px}
  .count-box{padding:14px 8px}
  .count-num{font-size:28px}
  .count-lbl{font-size:8px;letter-spacing:.2em}

  /* === FINAL CTA — supremo foco === */
  .final{padding:60px 20px 50px;min-height:auto}
  .final-tag{margin-bottom:18px}
  .final-tag .line{width:24px}
  .final-tag .text{font-size:9px;letter-spacing:.28em}
  .final-headline{font-size:clamp(30px,8.4vw,44px);margin-bottom:20px}
  .final-p{font-size:16px;margin-bottom:22px;line-height:1.5}
  .final-trust-pre{
    flex-direction:column;
    gap:6px;
    padding:12px 16px;
    font-size:10px;
    margin-bottom:14px;
    line-height:1.4;
    text-align:center;
  }
  .final-scarcity{padding:12px 16px;margin-bottom:22px;border-radius:12px}
  .scarcity-text{
    font-size:9.5px;
    letter-spacing:.16em;
    line-height:1.35;
    text-align:left;
  }
  .final-cta{
    width:100%;
    padding:14px 16px 14px 12px;
    gap:12px;
    border-radius:14px;
    box-sizing:border-box;
    min-height:64px;
  }
  .final-cta .cta-icon{width:46px;height:46px;border-radius:11px}
  .final-cta .cta-icon svg{width:22px;height:22px}
  .final-cta .cta-content{flex:1;min-width:0}
  .final-cta .cta-main{font-size:13px;letter-spacing:.04em}
  .final-cta .cta-sub{font-size:9.5px;letter-spacing:.02em}
  .final-cta .cta-arrow{font-size:18px;flex-shrink:0}
  .final-guarantee{
    font-size:10.5px;
    margin-top:14px;
    line-height:1.45;
    text-align:left;
  }
  .final-guarantee svg{width:18px;height:18px}

  .safety-strip{padding:8px 20px 40px}
  .safety-inner{
    padding:18px 18px;
    font-size:clamp(15px,4.6vw,18px);
    border-radius:18px;
    line-height:1.32;
  }

  /* === FOOTER === */
  footer{padding:50px 20px 24px}
  .foot-bottom{
    flex-direction:column;
    gap:8px;
    text-align:center;
    font-size:9.5px;
    letter-spacing:.2em;
  }

  /* === STICKY CTA — sempre visível === */
  .sticky-cta{
    display:block;
    background:linear-gradient(180deg, rgba(13,8,8,0), rgba(13,8,8,.96) 35%);
    padding:22px 14px 14px;
  }
  .sticky-cta a{
    width:100%;
    min-height:54px;
    padding:0 20px;
    border-radius:14px;
    font-size:12px;
    letter-spacing:.18em;
    box-shadow:0 18px 36px rgba(37,211,102,.32);
  }
  .sticky-cta .micro{font-size:8.5px;letter-spacing:.22em;margin-top:6px}

  /* WhatsApp float esconde (sticky-cta cobre essa função) */
  .wa-float{display:none}

  /* Body padding pra não cortar conteúdo atrás do sticky */
  body{padding-bottom:104px}

  /* === TOPBAR drawer mobile === */
  .topbar{padding:12px 18px;min-height:56px}
  .topbar.scrolled{padding:10px 18px;min-height:50px}
  .logo-wordmark{height:42px}
  .topbar.scrolled .logo-wordmark{height:38px}
  .topbar-drawer{padding:78px 26px 28px}

  /* === MODAL — full-screen friendly === */
  .order-modal{padding:0;align-items:flex-end}
  .order-card{
    width:100%;
    max-width:100%;
    max-height:92vh;
    border-radius:24px 24px 0 0;
    padding:28px 22px 32px;
    overflow-y:auto;
  }
  .order-card h3{font-size:22px}
  .order-card p{font-size:14px}
  .order-card label{font-size:11px}
  .order-card input,
  .order-card textarea{
    font-size:16px; /* iOS evita zoom-in com 16px+ */
    padding:14px 16px;
    min-height:48px;
  }
  .order-submit{
    width:100%;
    min-height:54px;
    font-size:13px;
    border-radius:14px;
  }

  /* === TOUCH TARGETS — mínimo 44px === */
  .top-link,
  .topbar-nav a,
  .topbar-drawer a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }
  .topbar-menu{width:42px;height:42px}
  .order-close{width:42px;height:42px;font-size:24px}

  /* === BRIDGES menores em mobile === */
  .bridge{height:60px}
  .bridge-black-to-cream{height:90px}

  /* === HEROS DE SEÇÕES — alinhados === */
  .escolha-head h2,
  .complementares-head h2,
  .social-head h2,
  .impacto h2,
  .urgencia h2,
  .final-headline,
  .prod-intro h2{
    text-wrap:balance;
  }
}

/* === MOBILE PORTRAIT MÉDIO — 480px === */
@media (max-width:480px){
  html{font-size:14.5px}

  .hero-content{padding:88px 18px 90px}
  .hero-mark img{height:74px}
  .hero-headline{font-size:clamp(28px,9vw,40px)}
  .hero-cta{
    padding:14px 22px;
    font-size:10px;
    letter-spacing:.2em;
  }

  /* Sections — padding minimal */
  .manifesto{padding:70px 18px 60px}
  .escolha{padding:64px 18px}
  .pressao{padding:48px 18px 28px}
  .produtos{padding:64px 0 40px}
  .prod-intro{padding:0 18px}
  .prod-item{padding:0 18px;margin-bottom:48px}
  .complementares{padding:60px 18px 50px}
  .social{padding:64px 18px 50px}
  .impacto{padding:60px 18px}
  .urgencia{padding:64px 18px 50px}
  .final{padding:50px 18px 44px}
  footer{padding:42px 18px 22px}

  /* Cards menores ainda */
  .choice{min-height:148px;padding:18px 16px 14px}
  .choice h3{font-size:20px}
  .choice::after{font-size:100px}

  .testi{padding:20px 18px}
  .testi-quote{font-size:15px}

  .countdown{flex-wrap:wrap;justify-content:center}
  .count-box{flex:1 1 calc(50% - 8px);min-width:0}

  /* CTA fontes mínimas */
  .prod-cta{font-size:10px;letter-spacing:.18em;padding:14px 18px}
  .final-cta .cta-main{font-size:12px}
  .final-cta .cta-sub{font-size:9px}
}

/* === MOBILE PORTRAIT PEQUENO — 360px === */
@media (max-width:360px){
  html{font-size:14px}
  .hero-mark img{height:64px}
  .hero-headline{font-size:clamp(26px,9vw,34px)}
  .hero-cta{padding:13px 18px;letter-spacing:.16em}

  .topbar{padding:10px 14px;min-height:52px}
  .logo-wordmark{height:36px}
  .sticky-cta{padding:18px 10px 12px}
  .sticky-cta a{font-size:11px;letter-spacing:.14em;padding:0 14px}

  .final-cta{padding:12px 14px 12px 10px;gap:10px}
  .final-cta .cta-icon{width:42px;height:42px}
  .final-cta .cta-main{font-size:11.5px;letter-spacing:.02em}
  .final-cta .cta-sub{font-size:8.5px}
}

/* === LANDSCAPE em mobile pequeno (telas baixas) === */
@media (max-width:900px) and (max-height:500px) and (orientation:landscape){
  .hero{min-height:auto}
  .hero-content{padding:74px 22px 36px}
  .hero-mark img{height:54px}
  .hero-mark{margin-bottom:14px}
  .hero-headline{font-size:clamp(24px,5vw,36px);margin-bottom:14px}
  .hero-kicker{margin-bottom:12px}
  .hero-scroll-cue{display:none}
  .sticky-cta{display:none}
  body{padding-bottom:0}
}

/* === iOS SAFE AREAS (notch / home indicator) === */
@supports(padding:max(0px)){
  .topbar{
    padding-left:max(22px, env(safe-area-inset-left));
    padding-right:max(22px, env(safe-area-inset-right));
  }
  .sticky-cta{
    padding-bottom:max(14px, env(safe-area-inset-bottom));
  }
  body{
    padding-bottom:max(104px, calc(104px + env(safe-area-inset-bottom)));
  }
  @media (min-width:681px){
    body{padding-bottom:0}
  }
}

/* === HIGH DENSITY DISPLAYS — fontes mais nítidas === */
@media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi){
  body{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
}

/* === IMAGENS RESPONSIVAS — proteção universal === */
img, video{
  max-width:100%;
  height:auto;
}

/* Nunca cortar imagem das cestas em mobile */
@media (max-width:680px){
  .prod-visual{
    aspect-ratio:4/5;
    max-height:480px;
  }
  .prod-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
}

/* === ANIMAÇÕES — desativar parallax em mobile (performance) === */
@media (max-width:768px){
  .hero-bg{animation:none;transform:scale(1)}
}
