/* CRITICAL:START */
@font-face{font-family:"Gotham";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/gotham-bold.woff2") format("woff2")}
@font-face{font-family:"Helvetica BM";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/helvetica.woff2") format("woff2")}
:root{
  --red:#AD1022;--red-dark:#6E0A10;--red-deep:#2C0303;
  --cream:#FFF7DC;--cream-80:rgba(255,247,220,.82);--cream-line:rgba(255,247,220,.28);
  --green-a:#00CC00;--green-b:#00FF00;--ink:#04140A;
  --card:rgba(20,5,5,.42);--footer:#3A2E2E;
  --f-display:"Gotham","Montserrat","Arial Black",Arial,sans-serif;
  --f-body:"Helvetica BM","Helvetica Neue",Helvetica,Arial,sans-serif;
  --gutter:20px;--wrap:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--red) url("../assets/img/textura-vermelha-720.webp") 0 0/720px repeat;color:#fff;font-family:var(--f-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ol{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--cream);outline-offset:3px;border-radius:8px}
.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}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.display{font-family:var(--f-display);font-weight:700;text-transform:uppercase;color:var(--cream);letter-spacing:-.02em}

/* Dobra 01 */
.hero{position:relative;overflow:hidden;padding-top:18px}
.hero__grid{display:grid;grid-template-areas:"logo" "photo" "copy";justify-items:center;text-align:center}
.hero__logo{grid-area:logo;width:132px;margin-bottom:4px}
.hero__photo{grid-area:photo;width:calc(100% + 2*var(--gutter));max-width:600px;margin:0 calc(-1*var(--gutter))}
.hero__photo img{width:100%;height:auto;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 99%);mask-image:linear-gradient(180deg,#000 72%,transparent 99%)}
.hero__copy{grid-area:copy;position:relative;z-index:1;margin-top:-60px;padding-bottom:48px;max-width:560px}
.hero h1{line-height:.94;margin:0 0 16px}
.hero h1 .l1{display:block;font-size:clamp(2.6rem,12.4vw,3.4rem)}
.hero h1 .l2{display:block;font-size:clamp(1.12rem,5.3vw,1.45rem);letter-spacing:.07em;margin-top:10px}
.hero__sub{font-size:clamp(1.05rem,4.6vw,1.3rem);line-height:1.2;margin-bottom:12px}
.hero__text{color:#fff;margin:0 auto 22px;max-width:30em}
.when{display:inline-flex;flex-direction:column;gap:6px;text-align:left;padding:16px 22px;margin-bottom:22px;background:var(--card);border:1px solid var(--cream-line);border-radius:14px}
.when__row{display:flex;align-items:center;gap:12px;font-family:var(--f-display);font-weight:700;text-transform:uppercase;color:var(--cream);font-size:17px;line-height:1.2;letter-spacing:.01em}
.when__row svg{width:22px;height:22px;flex-shrink:0}
.when__row--sub{padding-left:34px;font-size:15px;color:var(--cream-80)}
.support{margin-bottom:14px}
.micro{font-size:15px;line-height:1.45;color:var(--cream-80);margin:12px auto 0;max-width:26em}

/* Botão verde (estilo extraído da referência) */
.btn-wa{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:420px;min-height:58px;margin:0 auto;padding:14px 20px;border-radius:8px;background-color:var(--green-a);background-image:linear-gradient(135deg,var(--green-a),var(--green-b));color:var(--ink);font-family:var(--f-display);font-weight:700;font-size:18px;line-height:1.2;text-transform:uppercase;text-align:center;text-decoration:none;box-shadow:0 10px 26px -10px rgba(0,0,0,.55);transition:transform .15s ease,box-shadow .15s ease}
.btn-wa::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 6px rgba(0,255,0,.45);opacity:0;pointer-events:none;will-change:transform,opacity;animation:pulse 2.4s ease-out infinite}
.btn-wa svg{width:24px;height:24px;flex-shrink:0}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(0,0,0,.6)}
.btn-wa:active{transform:translateY(1px)}
.btn-wa:focus-visible{outline:3px solid var(--cream);outline-offset:4px}
@keyframes pulse{0%{opacity:.9;transform:scale(.97)}70%,100%{opacity:0;transform:scale(1.06,1.22)}}

/* Marquee (logo abaixo da dobra 01) */
.marquee{overflow:hidden;border-block:1px solid var(--cream-line);background:var(--red-dark);padding:12px 0}
.marquee__track{display:flex;width:max-content;will-change:transform;animation:marquee 26s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee__track span{font-family:var(--f-display);font-weight:700;text-transform:uppercase;color:var(--cream);font-size:16px;letter-spacing:.02em;white-space:nowrap;padding-right:.9em}

/* CTA fixo mobile (estado inicial oculto) */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(44,3,3,0),rgba(44,3,3,.92) 35%);transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility .25s;will-change:transform;contain:layout paint}
.sticky-cta.is-on{transform:none;visibility:visible}
.sticky-cta .btn-wa{min-height:52px;font-size:16px}
.sticky-cta .btn-wa::after{display:none}
.btn-wa--long{font-size:16px}

@media (min-width:768px){
  :root{--gutter:32px}
  .hero__logo{width:190px}
}
@media (min-width:1024px){
  .hero{padding-top:36px}
  .hero__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"logo photo" "copy photo";grid-template-rows:auto 1fr;justify-items:start;text-align:left;column-gap:24px}
  .hero__logo{width:160px;margin-bottom:24px}
  .hero__photo{width:100%;max-width:none;margin:0;align-self:end;justify-self:end}
  .hero__photo img{width:min(calc(100% + 120px),820px);max-width:none;margin-left:-60px}
  .hero__photo img{-webkit-mask-image:linear-gradient(180deg,#000 85%,transparent 100%);mask-image:linear-gradient(180deg,#000 85%,transparent 100%)}
  .hero__copy{margin-top:0;padding-bottom:64px;max-width:520px}
  .hero h1 .l1{font-size:clamp(3.4rem,5vw,4.4rem)}
  .hero h1 .l2{font-size:clamp(1.45rem,2.15vw,1.9rem)}
  .hero__sub{font-size:1.45rem}
  .hero__text{margin-left:0;font-size:18px}
  .btn-wa{margin:0}
  .hero .micro{margin-left:0}
  .sticky-cta{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* CRITICAL:END */

/* Dobras 02 e 03 */
.section{padding:64px 0}
.section__inner{max-width:720px;margin:0 auto;text-align:center}
.section h2{font-size:clamp(1.75rem,7.6vw,2.6rem);line-height:1.05;margin-bottom:16px;text-wrap:balance}
.section h3{font-size:clamp(1.2rem,5.2vw,1.6rem);line-height:1.12;margin:36px 0 12px;text-wrap:balance}
.section p{margin-left:auto;margin-right:auto;max-width:34em}
.section .btn-wa{margin-top:28px}
.section--mapa{overflow:clip;background:linear-gradient(180deg,rgba(44,3,3,.35),rgba(44,3,3,0) 40%)}
.section--mapa h3{margin-bottom:0}
.section--mapa .section__inner{position:relative;z-index:2}
.section--mapa p + p{margin-top:12px}

/* Mapa: sem moldura; bordas esfumadas + halo na cor do fundo do mapa para fundir com a página */
.mapa{position:relative;width:100%;max-width:720px;margin:12px auto 20px}
.mapa::before{content:"";position:absolute;inset:-9% -30%;z-index:0;pointer-events:none;background:radial-gradient(closest-side,#6B141E 78%,rgba(107,20,30,.6) 88%,rgba(107,20,30,0) 100%)}
.mapa__open{position:relative;z-index:1;display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.mapa__img{width:100%;height:auto;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-composite:intersect}
.mapa__chip{display:inline-flex;align-items:center;gap:8px;margin-top:-4px;padding:8px 14px;border-radius:999px;background:rgba(20,5,5,.55);border:1px solid var(--cream-line);color:var(--cream);font-size:14px;line-height:1.2}
.mapa__chip svg{width:18px;height:18px;flex-shrink:0}
.mapa__open:hover .mapa__chip{background:rgba(20,5,5,.75)}
.mapa__duvida{margin-bottom:0}

/* Lightbox do mapa */
.is-locked,.is-locked body{overflow:hidden}
.lightbox{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}
.lightbox::backdrop{background:rgba(0,0,0,.95)}
.lightbox__stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:zoom-in;user-select:none;-webkit-user-select:none}
.lightbox.is-zoomed .lightbox__stage{cursor:grab}
.lightbox.is-zoomed .lightbox__stage:active{cursor:grabbing}
.lightbox__img{display:block;width:auto;height:auto;max-width:100vw;max-height:100vh;max-height:100dvh;transform-origin:center;will-change:transform;-webkit-user-drag:none}
.lightbox__close{position:fixed;z-index:2;top:calc(12px + env(safe-area-inset-top));right:12px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(20,20,20,.75);color:#fff;cursor:pointer}
.lightbox__close svg{width:24px;height:24px}
.lightbox__close:focus-visible{outline:3px solid var(--cream);outline-offset:2px}

.eyebrow{display:inline-block;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.08em;color:var(--ink);background:var(--cream);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.section--steps{background:linear-gradient(180deg,rgba(44,3,3,.45),rgba(44,3,3,.15))}
.steps-grid{display:grid;gap:40px}
.steps{list-style:none;padding:0;margin:28px auto 0;max-width:560px;text-align:left;display:grid;gap:22px}
.steps li{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
.steps__n{font-family:var(--f-display);font-weight:700;color:var(--cream);font-size:52px;line-height:.9;text-align:center}
.steps strong{display:block;font-family:var(--f-display);font-weight:700;color:var(--cream);font-size:18px;line-height:1.25;margin-bottom:4px}
.steps p{margin:0;max-width:none}
.steps-note{margin-top:28px}

.closing{text-align:center;padding:28px 14px 30px;background:var(--card);border:1px solid var(--cream-line);border-radius:18px}
.closing__photo{width:min(78%,300px);margin:-8px auto 8px;-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent 100%);mask-image:linear-gradient(180deg,#000 75%,transparent 100%)}
.closing__title{font-size:clamp(1.15rem,5vw,1.5rem);line-height:1.15;margin:0 0 8px}
.closing__meta{font-family:var(--f-display);font-weight:700;text-transform:uppercase;color:var(--cream-80);font-size:15px;line-height:1.3}
.closing .btn-wa{margin-top:22px}

.footer{background:var(--footer);padding:32px 0 calc(96px + env(safe-area-inset-bottom));text-align:center;font-size:14px;color:var(--cream-80)}
.footer img{width:240px;margin:0 auto 14px}
.footer a{color:var(--cream);text-underline-offset:3px}
.footer p{margin-top:6px}

@media (min-width:768px){
  .section{padding:88px 0}
}
@media (min-width:1024px){
  .steps-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px}
  .steps-grid .section__inner{text-align:left;margin:0}
  .steps-grid .section__inner p{margin-left:0}
  .steps{margin-left:0}
  .footer{padding-bottom:32px}
  .closing{padding:28px 28px 32px}
}
