/* ===== Tokens ===== */
:root{
  --color-ink:#0d1628;
  --color-ink-soft:#2a3a52;
  --color-gold:#b8954d;
  --color-gold-light:#d4bc7a;
  --color-cream:#faf8f4;
  --color-parchment:#f0ebe0;
  --color-green:#1e4d3a;
  --color-green-hover:#163828;
  --color-green-muted:rgba(30,77,58,.12);
  --color-terracotta:#c45c3e;
  --color-sky:#e3edf8;
  --font-serif:"Cormorant Garamond","Georgia",serif;
  --font-sans:"Source Sans 3",system-ui,sans-serif;
  --shadow-soft:0 8px 32px rgba(13,22,40,.1);
  --shadow-lift:0 16px 48px rgba(13,22,40,.14);
  --radius:16px;
  --radius-sm:12px;
  --radius-pill:999px;
  --page-pad:max(1rem,env(safe-area-inset-left,0px));
  --page-pad-right:max(1rem,env(safe-area-inset-right,0px));
  --bottom-safe:max(1rem,env(safe-area-inset-bottom,0px));
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:1rem;line-height:1.6;
  color:var(--color-ink);
  background:var(--color-cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (min-width:768px){body{font-size:1.05rem}}

h1,h2,h3,.font-serif{font-family:var(--font-serif);font-weight:600;line-height:1.2}
a{color:var(--color-green);-webkit-tap-highlight-color:rgba(30,77,58,.15)}
a:hover{color:var(--color-terracotta)}
img{max-width:100%;height:auto;display:block}

/* ===== Focus ring (improved) ===== */
:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px;border-radius:4px}

/* ===== Skip link (improved) ===== */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--color-ink);color:#fff;padding:.65rem 1rem;
  border-radius:0 0 var(--radius-sm) 0;font-weight:700;text-decoration:none;
}
.skip-link:focus{left:0}

/* ===== Layout primitives ===== */
.container{width:100%;max-width:1100px;margin-inline:auto;padding-left:var(--page-pad);padding-right:var(--page-pad-right)}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:3rem;padding:.85rem 1.5rem;
  font-family:var(--font-sans);font-size:1rem;font-weight:700;letter-spacing:.01em;
  border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease,filter .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn:active{transform:scale(.98)}
.btn[disabled],.btn[aria-busy="true"]{opacity:.7;cursor:wait;pointer-events:none}
.btn-primary{background:linear-gradient(155deg,var(--color-green) 0%,#163d2e 100%);color:#fff;box-shadow:0 6px 24px rgba(30,77,58,.35)}
.btn-primary:hover{background:var(--color-green-hover);color:#fff;filter:brightness(1.05)}
.btn-gold{background:linear-gradient(155deg,var(--color-gold-light) 0%,var(--color-gold) 100%);color:var(--color-ink);box-shadow:0 6px 24px rgba(184,149,77,.35)}
.btn-gold:hover{filter:brightness(1.06);color:var(--color-ink)}
.btn-outline{background:rgba(255,255,255,.65);color:var(--color-ink);border:2px solid rgba(184,149,77,.55);box-shadow:0 2px 12px rgba(13,22,40,.06)}
.btn-outline:hover{background:rgba(184,149,77,.12);border-color:var(--color-gold)}
.btn-ghost{background:transparent;color:var(--color-ink-soft);border:2px solid rgba(13,22,40,.12);min-height:2.75rem;font-weight:600}
.btn-block{width:100%}

.gold-line{height:2px;width:min(180px,60%);margin:1rem auto;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);border-radius:2px}

.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);border:1px solid rgba(13,22,40,.05)}
.card-glow{box-shadow:var(--shadow-soft),0 0 0 1px rgba(184,149,77,.15)}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.has-mobile-cta{padding-bottom:calc(5.5rem + var(--bottom-safe))}

/* ===== Header ===== */
.site-header{
  position:sticky;top:0;z-index:100;
  padding-top:env(safe-area-inset-top,0);
  background:rgba(250,248,244,.88);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(13,22,40,.06);
}
.header-inner{display:flex;align-items:center;justify-content:center;width:100%;padding:.65rem var(--page-pad);min-height:calc(5.5rem + env(safe-area-inset-top,0))}
.site-header.compact .header-inner{min-height:calc(4.75rem + env(safe-area-inset-top,0));padding-block:.5rem}
.brand{display:flex;align-items:center;justify-content:center;margin-inline:auto;text-decoration:none;color:var(--color-ink);transition:transform .2s ease,opacity .2s ease;-webkit-tap-highlight-color:transparent}
.brand:active{transform:scale(.96);opacity:.92}
.brand img{width:min(104px,28vw);height:auto;display:block;filter:drop-shadow(0 6px 18px rgba(13,22,40,.14))}
.site-header.compact .brand img{width:min(88px,24vw)}
@media (min-width:768px){
  .header-inner{min-height:calc(6.25rem + env(safe-area-inset-top,0));padding-block:.85rem}
  .site-header.compact .header-inner{min-height:calc(5.25rem + env(safe-area-inset-top,0))}
  .brand img{width:120px}
  .site-header.compact .brand img{width:100px}
}

/* ===== Back-home button ===== */
.back-home{width:100%;max-width:1100px;margin-inline:auto;padding:.5rem var(--page-pad) 0;padding-right:var(--page-pad-right)}
.back-home__btn{
  display:inline-flex;align-items:center;gap:.35rem;
  min-height:2.75rem;padding:.45rem 1rem .45rem .65rem;
  font-family:var(--font-sans);font-size:.9375rem;font-weight:700;letter-spacing:.02em;
  color:var(--color-ink);text-decoration:none;background:rgba(255,255,255,.75);
  border:1px solid rgba(13,22,40,.1);border-radius:var(--radius-pill);
  box-shadow:0 2px 12px rgba(13,22,40,.06);
  transition:background .2s,border-color .2s,box-shadow .2s,transform .15s,color .2s;
  -webkit-tap-highlight-color:transparent;
}
.back-home__btn:hover{background:#fff;border-color:rgba(184,149,77,.45);box-shadow:0 4px 20px rgba(30,77,58,.1);color:var(--color-green)}
.back-home__btn:active{transform:scale(.98)}
.back-home__icon{display:flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:50%;background:var(--color-green-muted);color:var(--color-green);flex-shrink:0;transition:background .2s,color .2s}
.back-home__btn:hover .back-home__icon{background:rgba(30,77,58,.2);color:var(--color-green-hover)}
.back-home__label{padding-right:.15rem}

/* ===== Home — hero ===== */
.page-home{min-height:100dvh}
.main-home{padding-bottom:.5rem}
.hero-m{position:relative}
.hero-m__visual{position:relative;margin:0 calc(-1 * var(--page-pad));width:calc(100% + var(--page-pad) + var(--page-pad-right));max-width:none}
.hero-m__shine{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,22,40,.15) 0%,transparent 40%,rgba(250,248,244,.4) 100%);z-index:1;pointer-events:none}
.hero-m__img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media (min-width:768px){
  .hero-m__visual{margin:0;width:100%;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lift)}
  .hero-m__img{aspect-ratio:21/9;max-height:420px}
}
.hero-m__badge{
  position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);z-index:2;
  display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;
  background:rgba(13,22,40,.82);color:#fff;border-radius:var(--radius-pill);
  font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  animation:badge-in .6s ease .2s both;
}
.hero-m__badge-dot{width:8px;height:8px;border-radius:50%;background:var(--color-gold-light);box-shadow:0 0 12px var(--color-gold);animation:pulse-dot 2s ease-in-out infinite}
@keyframes badge-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}

.hero-m__content{padding-top:1.5rem;padding-bottom:.5rem}
.pill{display:inline-block;margin:0 0 .5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);background:rgba(184,149,77,.15);border-radius:var(--radius-pill)}
.hero-m__title{font-size:clamp(1.65rem,6vw,2.35rem);margin:0 0 .75rem;color:var(--color-ink)}
.hero-m__lead{margin:0 0 1.25rem;font-size:1.05rem;color:var(--color-ink-soft);max-width:40ch}

.journey-strip{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.journey-strip__item{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;padding:.65rem .35rem;background:rgba(255,255,255,.75);border:1px solid rgba(13,22,40,.08);border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-soft);transition:transform .2s,border-color .2s,box-shadow .2s}
.journey-strip__item--on{border-color:var(--color-green);background:var(--color-green-muted);color:var(--color-green);box-shadow:0 4px 16px rgba(30,77,58,.15)}
.journey-strip__icon{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(13,22,40,.06);font-size:.85rem}
.journey-strip__item--on .journey-strip__icon{background:var(--color-green);color:#fff}
.journey-strip__label{line-height:1.2}

.hero-m__content{text-align:center}
.hero-m__lead{margin-inline:auto}
.hero-m__actions{display:flex;flex-direction:column;gap:.65rem;max-width:320px;margin-inline:auto}
.hero-m__start-btn{min-height:3.35rem;font-size:1.08rem;letter-spacing:.015em}
@media (min-width:480px){.hero-m__actions{flex-direction:row;flex-wrap:wrap;max-width:380px;margin-inline:auto}.hero-m__actions .btn-block{width:100%;flex:0 0 100%;min-width:0}}
@media (min-width:900px){.hero-m__content{text-align:left}.hero-m__lead{margin-inline:0}.hero-m__actions{margin-inline:0}}
.btn-pulse{animation:cta-glow 3s ease-in-out infinite}
@keyframes cta-glow{0%,100%{box-shadow:0 6px 24px rgba(30,77,58,.35)}50%{box-shadow:0 8px 32px rgba(30,77,58,.5)}}

/* ===== Sections ===== */
.section-m{padding:2.5rem 0}
.section-m--paper{background:linear-gradient(180deg,var(--color-parchment) 0%,var(--color-cream) 100%);border-top:1px solid rgba(13,22,40,.06)}
.section-m__title{font-size:clamp(1.5rem,5vw,2rem);margin:0 0 .25rem}
.section-m__kicker{margin:0;color:var(--color-ink-soft);font-size:.95rem}

.stack-cards{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}
.stack-cards__card{padding:1.25rem 1.35rem}
.stack-cards__h{font-size:1.2rem;margin:0 0 .5rem}
.stack-cards__card p{margin:0;font-size:.98rem;color:var(--color-ink-soft)}

/* ===== Social proof marquee ===== */
.social-proof{margin-top:1rem;overflow:hidden}
.social-proof__title{margin:0 0 .65rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-green)}
.social-proof__viewport{overflow:hidden;margin-inline:-.2rem;padding-inline:.2rem}
.social-proof__track{display:flex;width:max-content;gap:.75rem;animation:marquee 34s linear infinite;pointer-events:none;user-select:none}
@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(calc(-50% - .375rem))}}
.social-proof__card{flex:0 0 min(205px,72vw);background:#fff;border:1px solid rgba(13,22,40,.08);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 6px 20px rgba(13,22,40,.08)}
.social-proof__product{width:100%;height:130px;object-fit:cover;display:block}
.social-proof__meta{padding:.7rem .75rem .8rem}
.social-proof__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}
.social-proof__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid rgba(184,149,77,.4);box-shadow:0 2px 6px rgba(13,22,40,.08)}
.social-proof__avatar--initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--color-green),#163d2e);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;font-family:var(--font-sans)}
.social-proof__id{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.social-proof__name{margin:0;font-size:.84rem;font-weight:800;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-proof__city{margin:.05rem 0 0;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-green)}
.social-proof__text{margin:0;font-size:.78rem;line-height:1.42;color:var(--color-ink-soft)}
@media (prefers-reduced-motion:reduce){.social-proof__track{animation:none}}

/* ===== Terço showcase ===== */
.terco-showcase{padding:1.35rem;overflow:hidden}
.terco-showcase__tag{margin:0 0 1rem;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);text-align:center}
.terco-showcase__grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.terco-showcase__fig{margin:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-cream)}
.terco-showcase__fig img{width:100%;aspect-ratio:1;object-fit:cover}
.terco-showcase__note{margin:1rem 0 0;font-size:.9rem;color:var(--color-ink-soft);text-align:center}

.section-m--cta{padding-bottom:calc(2rem + var(--bottom-safe))}
.cta-card{text-align:center;padding:2rem 1.35rem}
.cta-card__emoji{margin:0 0 .5rem;font-size:1.5rem;color:var(--color-gold)}
.cta-card__title{font-size:clamp(1.35rem,4vw,1.65rem);margin:0 0 .65rem}
.cta-card__text{margin:0 0 1.25rem;color:var(--color-ink-soft);max-width:36ch;margin-inline:auto}

/* ===== Footer + mobile CTA ===== */
.site-footer-m{padding:1.5rem 0 calc(6rem + var(--bottom-safe));background:var(--color-ink);color:rgba(255,255,255,.82)}
.footer-m__inner{display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center}
.footer-m__logo{opacity:.95}
.footer-m__text{margin:0;font-size:.85rem}

.mobile-cta-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  padding:.75rem var(--page-pad) calc(.75rem + var(--bottom-safe)) var(--page-pad-right);
  background:linear-gradient(180deg,rgba(250,248,244,0) 0%,rgba(250,248,244,.92) 25%,var(--color-cream) 100%);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;
}
.mobile-cta-bar__inner{pointer-events:auto;max-width:1100px;margin-inline:auto}
.mobile-cta-bar__btn{min-height:3.25rem;font-size:1.02rem}
@media (min-width:900px){
  .has-mobile-cta{padding-bottom:0}
  .mobile-cta-bar{display:none}
  .site-footer-m{padding-bottom:1.5rem}
  .hero-m{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;padding:2rem 0 1rem}
  .hero-m__visual{order:2}
  .hero-m__content{order:1;padding-top:0}
  .hero-m__badge{left:auto;right:1rem;transform:none}
  @keyframes badge-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}

/* ===== Quiz page ===== */
.page-quiz{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(2rem + var(--bottom-safe));background:linear-gradient(165deg,var(--color-sky) 0%,var(--color-cream) 55%)}
.quiz-top-bar{margin-bottom:clamp(1.15rem,4.5vw,2rem);padding-bottom:.35rem}
.quiz-shell{flex:1;display:flex;flex-direction:column;min-height:0}
.quiz-shell__inner{flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:1rem}

.quiz-intro-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:.75rem 0 1.5rem;min-height:min(70dvh,520px)}
.quiz-intro-stage.hidden{display:none}
.quiz-intro{width:100%;max-width:420px;margin-inline:auto;padding:1.5rem 1.35rem 1.75rem;text-align:center}
.quiz-intro__medal{width:3rem;height:3rem;margin:0 auto .75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,var(--color-gold-light),var(--color-gold));color:var(--color-ink);font-size:1.25rem;box-shadow:0 8px 24px rgba(184,149,77,.35);animation:float-medal 4s ease-in-out infinite}
@keyframes float-medal{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.quiz-intro__level{margin:0 0 .35rem;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-green)}
.quiz-intro__title{font-size:clamp(1.5rem,5vw,1.85rem);margin:0 0 .65rem}
.quiz-intro__text{margin:0 auto 1rem;color:var(--color-ink-soft);text-align:center;max-width:34ch}
.quiz-perks{list-style:none;margin:0 auto 1.35rem;padding:.85rem 1rem;text-align:center;background:var(--color-green-muted);border-radius:var(--radius-sm);font-size:.92rem;font-weight:600;color:var(--color-ink-soft);max-width:100%}
.quiz-perks li{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.35rem 0}
.quiz-perks__dot{width:6px;height:6px;border-radius:50%;background:var(--color-green);flex-shrink:0}

.quiz-form{flex:1;padding:1.3rem 1.15rem .6rem;margin-top:0;width:100%;max-width:560px;margin-inline:auto;border:1px solid rgba(13,22,40,.08);box-shadow:0 14px 34px rgba(13,22,40,.12)}
.quiz-top{margin-bottom:1.15rem;padding:.15rem .25rem .55rem;border-bottom:1px dashed rgba(13,22,40,.15)}
.quiz-phase{margin:0 0 .65rem;font-size:1.08rem;font-weight:700;color:var(--color-ink)}
.quiz-auto-hint{margin:-.25rem 0 .75rem;font-size:.8rem;font-weight:700;color:var(--color-green);letter-spacing:.01em}

.step-dots{display:flex;justify-content:space-between;gap:.35rem;margin-bottom:.75rem}
.step-dots__dot{flex:1;height:7px;border-radius:var(--radius-pill);background:rgba(13,22,40,.12);transition:background .25s,transform .25s;max-width:48px}
.step-dots__dot--done{background:linear-gradient(90deg,#2d6f54,var(--color-green))}
.step-dots__dot--current{background:linear-gradient(90deg,var(--color-gold-light),var(--color-gold));transform:scaleY(1.35)}

.progress-bar-m{height:8px;background:rgba(13,22,40,.1);border-radius:var(--radius-pill);overflow:hidden}
.progress-bar-m__fill{height:100%;width:0%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-green),var(--color-gold));transition:width .4s cubic-bezier(.34,1.2,.64,1)}

.question-step{border:none;margin:0;padding:0;animation:step-in .35s ease}
@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.question-text{font-size:clamp(1.12rem,4vw,1.35rem);margin:0 0 1rem;padding:0}

.options-m{display:flex;flex-direction:column;gap:.6rem}
.option-m{display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.option-m input{position:absolute;opacity:0;pointer-events:none}
.option-m__card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;min-height:3.25rem;border:1.5px solid rgba(13,22,40,.13);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fff,#fffcf7);transition:border-color .2s,background .2s,transform .15s,box-shadow .2s,filter .2s}
.option-m:active .option-m__card{transform:scale(.99)}
.option-m:has(input:checked) .option-m__card,
.option-m--picked .option-m__card{border-color:var(--color-green);background:linear-gradient(180deg,rgba(30,77,58,.13),rgba(30,77,58,.06));box-shadow:0 6px 22px rgba(30,77,58,.16);filter:saturate(1.05)}
.option-m input:focus-visible + .option-m__card{outline:2px solid var(--color-gold);outline-offset:2px}
.option-m__check{width:1.35rem;height:1.35rem;border-radius:50%;border:2px solid rgba(13,22,40,.2);flex-shrink:0;margin-top:.1rem;position:relative}
.option-m:has(input:checked) .option-m__check,
.option-m--picked .option-m__check{border-color:var(--color-green);background:var(--color-green)}
.option-m:has(input:checked) .option-m__check::after,
.option-m--picked .option-m__check::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-58%) rotate(45deg)}
.option-m__label{flex:1;font-weight:600;font-size:.98rem;line-height:1.45;color:var(--color-ink)}

/* improved: quiz back button */
.quiz-actions{display:flex;justify-content:flex-start;margin-top:1rem}
.quiz-back-btn{
  display:inline-flex;align-items:center;gap:.4rem;
  background:transparent;border:1.5px solid rgba(13,22,40,.12);
  color:var(--color-ink-soft);font-weight:700;font-size:.9rem;
  padding:.55rem 1rem;border-radius:var(--radius-pill);cursor:pointer;
  transition:background .2s,border-color .2s,color .2s,transform .15s;
}
.quiz-back-btn:hover:not([disabled]){background:#fff;color:var(--color-green);border-color:var(--color-green)}
.quiz-back-btn:active:not([disabled]){transform:scale(.97)}
.quiz-back-btn[disabled]{opacity:.45;cursor:not-allowed}

@media (min-width:640px){
  .quiz-intro-stage{min-height:min(65dvh,560px)}
  .quiz-intro{max-width:440px}
  .step-dots__dot{max-width:none}
}

/* ===== Parabens (address) page ===== */
.page-parabens{min-height:100dvh;background:linear-gradient(180deg,var(--color-parchment) 0%,var(--color-cream) 55%)}
.parabens-top-bar{margin-bottom:clamp(1rem,4vw,1.75rem);padding-bottom:.25rem}
.main-parabens{padding:0 0 calc(2.25rem + var(--bottom-safe))}
.narrow{max-width:520px;margin-inline:auto}

.gate{text-align:center;padding:clamp(2rem,6vw,2.75rem) clamp(1.35rem,5vw,2rem)}
.gate__icon{font-size:2.25rem;color:var(--color-gold);margin:0 0 .65rem;line-height:1}
.gate__title{font-size:clamp(1.3rem,4.5vw,1.55rem);margin:0 0 .65rem;line-height:1.25}
.gate__text{margin:0 auto 1.5rem;max-width:34ch;color:var(--color-ink-soft);line-height:1.65}
.gate__btn{max-width:280px;margin-inline:auto}

.content-parabens{display:flex;flex-direction:column;gap:clamp(1.35rem,5vw,2rem)}
.celebrate{overflow:hidden}
.celebrate__inner{text-align:center;padding:clamp(1.75rem,5vw,2.5rem) clamp(1.25rem,4vw,1.85rem) clamp(2rem,5vw,2.75rem);max-width:38rem;margin-inline:auto}
.celebrate__line{margin:1rem auto 1.35rem}
.celebrate__prose{max-width:36ch;margin-inline:auto}
.celebrate__prose p{margin:0 0 1.1rem;color:var(--color-ink-soft);line-height:1.65}
.celebrate__prose p:last-child{margin-bottom:0}
.lead-celebrate{font-size:1.06rem;color:var(--color-ink)}
.celebrate__quote{font-size:.98rem;font-style:italic}

.unlock-badge{position:relative;width:4.75rem;height:4.75rem;margin:0 auto 1.25rem}
.unlock-badge__ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--color-gold);animation:unlock-spin 8s linear infinite;opacity:.85}
.unlock-badge__core{position:absolute;inset:.65rem;border-radius:50%;background:linear-gradient(145deg,var(--color-green),#163d2e);color:var(--color-gold-light);display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 28px rgba(30,77,58,.35);animation:unlock-pop .7s cubic-bezier(.34,1.4,.64,1) both}
@keyframes unlock-spin{to{transform:rotate(360deg)}}
@keyframes unlock-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}

.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--color-green);margin:0 0 .5rem}
.title-celebrate{font-size:clamp(1.45rem,5.5vw,1.95rem);margin:0 0 .15rem;color:var(--color-ink);line-height:1.2}

.terco-inline{display:flex;gap:1rem;justify-content:center;margin-top:clamp(1.5rem,4vw,2rem);padding-top:.25rem;flex-wrap:wrap}
.terco-inline img{border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);width:min(112px,36vw);height:auto}

.section-address{padding:clamp(1.65rem,5vw,2.15rem) clamp(1.25rem,4vw,1.75rem) clamp(1.85rem,5vw,2.35rem)}

.testimonial-strip{padding:1rem;overflow:hidden;border:1px solid rgba(13,22,40,.08);background:linear-gradient(180deg,#fff,#f9fbff)}
.testimonial-strip__title{margin:0 0 .65rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-green);text-align:center}
.testimonial-strip__viewport{overflow:hidden}
.testimonial-strip__track{display:flex;width:max-content;gap:.65rem;animation:marquee2 36s linear infinite;pointer-events:none;user-select:none}
@keyframes marquee2{0%{transform:translateX(0)}to{transform:translateX(calc(-50% - .325rem))}}
.testimonial-strip__card{flex:0 0 min(200px,66vw);border-radius:var(--radius-sm);border:1px solid rgba(13,22,40,.08);overflow:hidden;box-shadow:0 4px 14px rgba(13,22,40,.08);background:#fff}
.testimonial-strip__product{width:100%;height:118px;object-fit:cover;display:block}
.testimonial-strip__meta{padding:.6rem .65rem .7rem}
.testimonial-strip__head{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}
.testimonial-strip__avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid rgba(184,149,77,.4);box-shadow:0 2px 6px rgba(13,22,40,.08)}
.testimonial-strip__avatar--initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--color-green),#163d2e);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;font-family:var(--font-sans)}
.testimonial-strip__id{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.testimonial-strip__name{margin:0;font-size:.78rem;font-weight:800;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.testimonial-strip__city{margin:.05rem 0 0;font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-green);font-weight:700}
.testimonial-strip__text{margin:0;font-size:.76rem;line-height:1.38;color:var(--color-ink-soft)}

.address-head{text-align:center;max-width:36ch;margin-inline:auto;margin-bottom:1.5rem}
.section-step{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold)}
.h2{font-size:clamp(1.2rem,4vw,1.42rem);margin:0 0 .75rem;line-height:1.25;color:var(--color-ink)}
.address-head__lead{margin:0;color:var(--color-ink-soft);font-size:.97rem;line-height:1.65}

.address-form{display:flex;flex-direction:column;gap:1.15rem;max-width:400px;margin-inline:auto;text-align:left}
.address-form label{display:flex;flex-direction:column;gap:.45rem;font-weight:700;font-size:.82rem;letter-spacing:.02em;color:var(--color-ink)}
.address-form input{padding:.9rem 1.05rem;min-height:3.1rem;border:2px solid rgba(13,22,40,.1);border-radius:var(--radius-sm);font:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}
.address-form input::placeholder{color:rgba(13,22,40,.4)}
.address-form input:focus{outline:none;border-color:var(--color-green);box-shadow:0 0 0 3px rgba(30,77,58,.14)}
.address-form input[aria-invalid="true"]{border-color:#c5302a;background:#fff7f6}
.address-form input[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(197,48,42,.18)}
.field-error{margin:.15rem 0 0;font-size:.78rem;color:#9a2a25;font-weight:600;min-height:1em}
.cep-feedback{margin:-.35rem 0 -.1rem;font-size:.82rem;color:var(--color-green);font-weight:600}
.cep-feedback--error{color:#9a2a25}

.grid-2{display:grid;gap:1.15rem}
@media (min-width:480px){.grid-2{grid-template-columns:1fr 5.5rem}}
.uf-input{text-transform:uppercase}
.address-form__submit{margin-top:.35rem}

.shipping-card{margin-top:-.25rem;padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(13,22,40,.08);background:linear-gradient(180deg,#fff,#f7fbff)}
.shipping-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}
.shipping-card__head img{width:min(104px,36vw);height:auto;object-fit:contain}
.shipping-card__ctt-logo{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-weight:900;font-size:1.05rem;letter-spacing:.18em;padding:.4rem .9rem;color:#e30613;background:#fff;border:2px solid #e30613;border-radius:6px;line-height:1;box-shadow:0 2px 6px rgba(227,6,19,.15)}
.shipping-card__badge{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f5ea8;background:rgba(15,94,168,.12);border-radius:999px;padding:.18rem .45rem;white-space:nowrap}
.shipping-card__text{margin:0 0 .3rem;font-size:.78rem;color:var(--color-ink-soft);line-height:1.45}
.shipping-card__price{margin:0;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.shipping-card__old{position:relative;color:#a12f2f;font-size:.9rem;font-weight:800;line-height:1}
.shipping-card__old::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:2px;background:#d02525;transform:rotate(-6deg)}
.shipping-card__free{color:var(--color-green);font-size:.73rem;font-weight:800;letter-spacing:.01em}

/* ===== Obrigado page ===== */
.page-obrigado{min-height:100dvh;background:linear-gradient(180deg,var(--color-parchment) 0%,var(--color-cream) 55%)}
.obrigado-top-bar{margin-bottom:clamp(1rem,4vw,1.75rem);padding-bottom:.25rem}
.main-obrigado{padding:0 0 calc(2.5rem + var(--bottom-safe))}
.narrow-obrigado{max-width:560px;margin-inline:auto}

.gate-obrigado{text-align:center;padding:clamp(2rem,6vw,2.75rem) clamp(1.35rem,5vw,2rem)}
.gate-obrigado__icon{font-size:2.25rem;color:var(--color-gold);margin:0 0 .65rem;line-height:1}
.gate-obrigado__title{font-size:clamp(1.3rem,4.5vw,1.55rem);margin:0 0 .65rem;line-height:1.25}
.gate-obrigado__text{margin:0 auto 1.5rem;max-width:34ch;color:var(--color-ink-soft);line-height:1.65}
.gate-obrigado__btn{max-width:280px;margin-inline:auto}

.content-obrigado{display:flex;flex-direction:column;gap:clamp(1.35rem,5vw,2rem)}
.final-card{padding:clamp(1.5rem,5vw,2.5rem) clamp(1rem,4vw,1.85rem) clamp(1.85rem,5vw,2.75rem)}
.success-hero__inner{text-align:center;max-width:38rem;margin-inline:auto}
.status-pill{display:inline-block;margin:0 0 .85rem;padding:.3rem .85rem;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-green);background:var(--color-green-muted);border-radius:var(--radius-pill)}
.success-icon{width:4rem;height:4rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,var(--color-green),#163d2e);color:#fff;font-size:1.85rem;font-weight:800;box-shadow:0 8px 28px rgba(30,77,58,.35);animation:unlock-pop .7s cubic-bezier(.34,1.4,.64,1) both}
.success-hero__title{font-size:clamp(1.6rem,5.5vw,2.05rem);margin:0 0 1rem;line-height:1.2}
.success-hero__prose{max-width:36ch;margin-inline:auto}
.success-hero__prose p{margin:0 0 1rem;color:var(--color-ink-soft);line-height:1.65}
.success-hero__prose p:last-child{margin-bottom:0}

.final-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(13,22,40,.15),transparent);margin:clamp(1.5rem,4vw,2.25rem) 0}

.heart-call{text-align:center;max-width:42rem;margin-inline:auto}
.heart-call__eyebrow{margin:0 0 .35rem;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-terracotta)}
.heart-call__title{font-size:clamp(1.5rem,4.5vw,1.85rem);margin:0 0 .9rem;line-height:1.25}
.heart-call__lead,.heart-call__sub{margin:0 0 .85rem;color:var(--color-ink-soft);line-height:1.65}
.heart-call__photo{margin:1.25rem -.25rem;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);max-width:100%}
@media (min-width:560px){.heart-call__photo{margin:1.5rem 0}}
.heart-call__photo img{width:100%;height:auto;display:block;filter:saturate(1.02) contrast(1.02);aspect-ratio:16/10;object-fit:cover}
.heart-call__cta-label{margin:1.15rem 0 .35rem;font-size:.95rem;color:var(--color-ink);font-weight:700}
.heart-call__cta-label::before,.heart-call__cta-label::after{content:"";display:inline-block;width:1.5rem;height:1px;vertical-align:middle;margin:0 .55rem;background:linear-gradient(90deg,transparent,rgba(184,149,77,.6))}
.heart-call__cta-label::after{background:linear-gradient(90deg,rgba(184,149,77,.6),transparent)}

.heart-donation-grid{
  list-style:none;margin:0 0 1.75rem;padding:.85rem 0 .25rem;
  display:grid;grid-template-columns:repeat(3,1fr);
  column-gap:.55rem;
  row-gap:1rem;
}
@media (min-width:560px){.heart-donation-grid{column-gap:.85rem;row-gap:1.15rem}}

.heart-valor-btn{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;
  width:100%;min-height:4.6rem;padding:.85rem .35rem;
  background:#fff;
  border:1px solid rgba(184,149,77,.35);
  border-radius:14px;cursor:pointer;
  font-family:var(--font-sans);color:var(--color-ink);
  box-shadow:0 1px 4px rgba(13,22,40,.04);
  transition:transform .18s ease,border-color .2s,background .2s,box-shadow .25s;
  -webkit-tap-highlight-color:transparent;
  animation:heart-btn-in .55s cubic-bezier(.34,1.2,.64,1) both;
  animation-delay:calc(var(--d, 0) * 55ms);
}
@media (min-width:560px){
  .heart-valor-btn{min-height:5.4rem;padding:1rem .5rem;border-radius:var(--radius-sm)}
}
@keyframes heart-btn-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.heart-valor-btn:hover{border-color:var(--color-gold);background:#fffdf7;box-shadow:0 6px 18px rgba(184,149,77,.18);transform:translateY(-1px)}
.heart-valor-btn:active{transform:scale(.97)}

.heart-valor-btn__spark{display:none}
@media (min-width:560px){.heart-valor-btn__spark{display:inline;font-size:.7rem;color:var(--color-gold);line-height:1;opacity:.7}}

.heart-valor-btn__val{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;line-height:1;letter-spacing:-.01em;color:var(--color-ink)}
@media (min-width:560px){.heart-valor-btn__val{font-size:1.55rem}}

.heart-valor-btn__hint{font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-green);opacity:.75}
@media (min-width:560px){.heart-valor-btn__hint{font-size:.62rem;letter-spacing:.14em}}

.heart-valor-btn__tag{
  position:absolute;top:-.55rem;left:50%;transform:translateX(-50%);
  font-size:.52rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:linear-gradient(155deg,var(--color-gold-light),var(--color-gold));
  color:var(--color-ink);padding:.2rem .5rem;border-radius:var(--radius-pill);
  white-space:nowrap;box-shadow:0 4px 10px rgba(184,149,77,.45);
}
@media (min-width:560px){.heart-valor-btn__tag{font-size:.6rem;padding:.2rem .6rem}}

.heart-valor-btn--featured{
  border-color:var(--color-green);
  background:#fff;
  box-shadow:0 6px 18px rgba(30,77,58,.18);
}
.heart-valor-btn--featured .heart-valor-btn__val{color:var(--color-green)}
.heart-valor-btn--featured .heart-valor-btn__hint{color:var(--color-green);opacity:1}

.heart-valor-btn[aria-busy="true"]{opacity:.7;cursor:wait}

.gift-bonus{
  display:grid;grid-template-columns:120px 1fr;gap:.95rem;align-items:center;
  margin-top:1.25rem;padding:1rem;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#fff,#fdf7e8);
  border:1px solid rgba(184,149,77,.25);
  box-shadow:0 4px 18px rgba(184,149,77,.1);
}
@media (min-width:560px){.gift-bonus{grid-template-columns:160px 1fr;gap:1.15rem;padding:1.25rem}}
.gift-bonus__media{margin:0;border-radius:var(--radius-sm);overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(13,22,40,.08)}
.gift-bonus__media img{width:100%;height:auto;display:block}
.gift-bonus__tag{margin:0 0 .25rem;font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold)}
@media (min-width:560px){.gift-bonus__tag{font-size:.7rem;margin-bottom:.35rem}}
.gift-bonus__title{margin:0 0 .45rem;font-size:.98rem;line-height:1.2}
@media (min-width:560px){.gift-bonus__title{font-size:1.15rem;margin-bottom:.55rem}}
.gift-bonus__text{margin:0 0 .4rem;color:var(--color-ink-soft);font-size:.78rem;line-height:1.5}
@media (min-width:560px){.gift-bonus__text{font-size:.9rem;margin-bottom:.55rem;line-height:1.55}}
.gift-bonus__text:last-child{margin-bottom:0}

/* ===== Exit-intent modal ===== */
.exit-modal{
  position:fixed;inset:0;z-index:200;
  display:none;align-items:center;justify-content:center;
  padding:1rem;
}
.exit-modal.is-open{display:flex;animation:em-fade .25s ease-out}
@keyframes em-fade{from{opacity:0}to{opacity:1}}
.exit-modal__overlay{
  position:absolute;inset:0;
  background:rgba(13,22,40,.55);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.exit-modal__panel{
  position:relative;max-width:420px;width:100%;
  background:linear-gradient(180deg,#fff 0%,var(--color-cream) 100%);
  border-radius:18px;
  padding:2.25rem 1.65rem 1.5rem;
  text-align:center;
  border:1px solid rgba(184,149,77,.25);
  box-shadow:0 20px 60px rgba(13,22,40,.3),0 0 0 1px rgba(184,149,77,.1);
  animation:em-rise .4s cubic-bezier(.34,1.2,.64,1);
}
@keyframes em-rise{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.exit-modal__close{
  position:absolute;top:.6rem;right:.6rem;
  width:2.1rem;height:2.1rem;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;border-radius:50%;
  color:var(--color-ink-soft);cursor:pointer;
  transition:background .2s,color .2s,transform .15s;
  -webkit-tap-highlight-color:transparent;
}
.exit-modal__close:hover{background:rgba(13,22,40,.06);color:var(--color-ink)}
.exit-modal__close:active{transform:scale(.92)}
.exit-modal__icon{
  width:3.4rem;height:3.4rem;
  margin:0 auto 1rem;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:linear-gradient(145deg,var(--color-gold-light),var(--color-gold));
  color:#fff;
  box-shadow:0 8px 24px rgba(184,149,77,.4);
  animation:em-icon-pop .55s cubic-bezier(.34,1.4,.64,1) .15s both;
}
@keyframes em-icon-pop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.exit-modal__eyebrow{
  margin:0 0 .35rem;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--color-gold);font-weight:800;
}
.exit-modal__title{
  font-size:clamp(1.45rem,5vw,1.75rem);
  margin:0 0 .85rem;
  color:var(--color-ink);
  line-height:1.2;
}
.exit-modal__text{
  margin:0 0 1.5rem;
  color:var(--color-ink-soft);
  font-size:.97rem;line-height:1.6;
  max-width:36ch;margin-inline:auto;
}
.exit-modal__cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  width:100%;min-height:3.15rem;padding:.85rem 1.5rem;margin-bottom:.85rem;
  background:linear-gradient(155deg,var(--color-green) 0%,#163d2e 100%);
  color:#fff;
  border:none;border-radius:14px;
  font-family:var(--font-sans);font-size:1.02rem;font-weight:700;letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(30,77,58,.35);
  transition:transform .15s ease,box-shadow .25s,filter .2s;
  -webkit-tap-highlight-color:transparent;
}
.exit-modal__cta:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 10px 28px rgba(30,77,58,.45)}
.exit-modal__cta:active{transform:scale(.98)}
.exit-modal__hint{
  margin:0;
  font-size:.78rem;color:var(--color-ink-soft);
  font-style:italic;opacity:.85;
}
@media (prefers-reduced-motion:reduce){
  .exit-modal,.exit-modal__panel,.exit-modal__icon{animation:none}
}
