/* Fontes servidas da própria pasta (Montserrat variável 400–900 + Great Vibes da assinatura) */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url(fontes/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url(fontes/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url(fontes/great-vibes-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============================================================
   Black CAP Vitalícia — estilo compartilhado das páginas
   Preto + dourado. O verde é SÓ do botão (regra do briefing).
   Piso de texto (público de mais idade): corrido 17px,
   apoio 15px, rótulo em caixa alta 13px.
   ============================================================ */
:root{
  --preto:#000;
  --grafite:#17171a;
  --borda:#5a4520;            /* borda dourada apagada dos campos e cards */
  --ouro:#E5B139;             /* dourado da marca: texto e ícones */
  --ouro-esc:#A8781E;
  --grad-ouro:linear-gradient(180deg,#F8DD86 0%,#E5B139 48%,#B9862A 100%);
  --grad-faixa:linear-gradient(90deg,#B98A2E 0%,#F2CF72 45%,#E2AE3E 75%,#B8892E 100%);
  --verde:#128040;            /* branco sobre ele: 5,0:1 (AA) */
  --verde-hover:#0F6D36;
  --verde-sombra:#0A4F27;
  --texto:#fff;
  --texto-2:rgba(255,255,255,.86);
  --texto-3:rgba(255,255,255,.72);
  --raio:8px;
  --largura:1180px;
  --font:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --assinatura:'Great Vibes',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--preto);color:var(--texto);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
strong,b{font-weight:800}
.ouro{color:var(--ouro)}
.wrap{width:100%;max-width:var(--largura);margin:0 auto;padding:0 20px}
.ico{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- barra do topo com contador ---------- */
.barra{position:sticky;top:0;z-index:50;background:#0c0c0c;border-bottom:1px solid var(--borda);padding:10px 16px}
.barra .wrap{display:flex;align-items:center;justify-content:center;gap:24px}
.barra-txt{color:var(--ouro);font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase}
.contador{display:flex;gap:8px}
.contador > div{min-width:60px;padding:5px 6px 4px;border-radius:6px;background:var(--grad-ouro);color:#1b1200;text-align:center;line-height:1;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.contador b{display:block;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.contador small{display:block;margin-top:3px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:640px){
  .barra{padding:8px 10px 10px}
  .barra .wrap{flex-direction:column;gap:6px}
  .barra-txt{font-size:13px;letter-spacing:.14em}
  .contador > div{min-width:58px}
  .contador b{font-size:22px}
}

/* ---------- hero (dobra com formulário) ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(ellipse 50% 65% at 76% 58%,rgba(150,105,20,.45),transparent 70%),
  radial-gradient(ellipse 40% 40% at 18% 8%,rgba(120,85,15,.2),transparent 70%),
  var(--preto)}
.hero-grid{display:grid;grid-template-columns:minmax(0,610px) minmax(0,1fr);grid-template-areas:"logo foto" "texto foto";grid-template-rows:auto 1fr;column-gap:48px;padding-top:44px}
.hero-logo{grid-area:logo}
.hero-texto{grid-area:texto;padding-bottom:52px}
.hero-foto{grid-area:foto;position:relative;align-self:end;justify-self:center;width:100%;max-width:600px}
/* a foto vem do mockup com fundo escuro: as bordas somem no gradiente do hero */
.hero-foto img,.quem-foto img{width:100%;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 82%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 82%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);
  mask-composite:intersect}
.quem-foto img{-webkit-mask-image:none;mask-image:none}
.logo{width:300px}
.logo img{width:100%;mix-blend-mode:lighten} /* o recorte tem fundo quase preto: some no fundo da página */

.antetitulo{color:var(--ouro);font-weight:800;font-size:15px;letter-spacing:.24em;text-transform:uppercase;margin:16px 0 14px}
.titulo-ouro{font-size:clamp(48px,6.4vw,84px);white-space:nowrap;font-weight:900;line-height:1;letter-spacing:-.01em;background:var(--grad-ouro);-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase;padding-bottom:20px;margin-top:22px}
.linha{height:1px;border:0;background:linear-gradient(90deg,var(--ouro-esc),rgba(229,177,57,.12));margin:0 0 22px}
.subtitulo{font-size:clamp(22px,2.4vw,31px);font-weight:800;line-height:1.25;text-transform:uppercase;margin-bottom:18px}
.chamada{font-size:19px;font-weight:600;line-height:1.45;text-transform:uppercase;margin-bottom:22px}
.faixa-ouro{display:inline-block;background:var(--grad-faixa);color:#140d00;font-weight:800;font-size:19px;letter-spacing:.05em;text-transform:uppercase;padding:14px 24px;border-radius:2px;margin-bottom:22px}
.titulo-misto{font-size:clamp(34px,4.2vw,52px);font-weight:500;line-height:1.18;letter-spacing:-.01em;margin-bottom:24px}
.titulo-misto strong{color:var(--ouro);font-weight:800}
.titulo-caixa{font-size:clamp(28px,3.1vw,38px);font-weight:900;line-height:1.18;text-transform:uppercase;margin-bottom:18px}
.apoio{font-size:20px;font-weight:500;line-height:1.5;border-top:1px solid var(--borda);border-bottom:1px solid var(--borda);padding:18px 0;margin-bottom:22px}
.apoio strong{color:var(--ouro);font-weight:800}
.reforco{font-size:17px;font-weight:700;text-transform:uppercase;border-left:3px solid var(--ouro);padding-left:12px;margin-bottom:22px;color:var(--texto-2)}

/* ---------- formulário ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:610px;scroll-margin-top:120px}
.form .campo-largo,.form .btn,.form .form-erro{grid-column:1/-1}
.form input{width:100%;height:60px;background:#050505;border:1px solid var(--borda);border-radius:var(--raio);color:#fff;font:500 17px var(--font);padding:0 18px;transition:border-color .15s,box-shadow .15s}
.form input::placeholder{color:rgba(255,255,255,.62)}
.form input:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(229,177,57,.25)}
.form input[aria-invalid="true"]{border-color:#ff7a6b}
.form-erro{color:#ff9d90;font-size:15px;font-weight:600}
.form-erro:empty{display:none}

.btn{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:68px;padding:14px 22px;border:0;border-radius:var(--raio);background:var(--verde);box-shadow:0 4px 0 var(--verde-sombra),0 10px 30px rgba(18,128,64,.25);color:#fff;font:800 17px/1.25 var(--font);letter-spacing:.05em;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;transition:background .15s,transform .1s}
.btn:hover{background:var(--verde-hover)}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--verde-sombra)}
.btn:focus-visible{outline:3px solid var(--ouro);outline-offset:3px}
.btn[disabled]{opacity:.7;cursor:wait}
.btn .ico-wa{width:30px;height:30px;fill:#fff;stroke:none}
.btn-estreito{max-width:610px}

.presente{display:flex;align-items:flex-start;gap:12px;margin-top:20px;color:var(--ouro);font-weight:800;font-size:15px;letter-spacing:.05em;text-transform:uppercase;line-height:1.4}
.presente .ico{width:26px;height:26px;margin-top:-3px}
.micro{margin-top:12px;color:var(--texto-3);font-size:15px;line-height:1.5}

/* selos sobre a foto */
.selos{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:0 10px}
.selo{background:rgba(0,0,0,.85);border:1.5px solid var(--ouro);border-radius:999px;padding:8px 18px;font-weight:800;font-size:15px;white-space:nowrap}

/* ---------- 3 pilares ---------- */
.pilares-faixa{background:#0b0b0b;border-top:1px solid #2a2418;padding:28px 0}
.pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none}
.pilar{display:flex;align-items:center;gap:18px;padding:22px 24px;border:1px solid var(--borda);border-radius:10px;background:linear-gradient(180deg,#121110,#080808);font-weight:800;font-size:17px;line-height:1.35;text-transform:uppercase}
.pilar span{color:var(--ouro)}
.pilar .ico{width:40px;height:40px;color:var(--ouro);stroke-width:1.4}

/* ---------- seções da longa ---------- */
.secao{padding:72px 0;border-top:1px solid #2a2418}
.secao-titulo{text-align:center;font-size:clamp(28px,3.4vw,40px);font-weight:900;text-transform:uppercase;line-height:1.15;margin-bottom:36px}
.secao-titulo span{color:var(--ouro)}

.combo{max-width:760px;margin:44px auto 0;border:1px solid var(--borda);border-radius:14px;background:linear-gradient(180deg,#14110b,#070707);padding:40px 44px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.combo-tag{display:inline-block;background:var(--grad-ouro);color:#1b1200;font-weight:800;font-size:15px;padding:6px 14px;border-radius:4px;margin-bottom:18px}
.combo h3{font-size:clamp(24px,3vw,34px);font-weight:900;line-height:1.2;text-transform:uppercase;margin-bottom:14px}
.combo h3 span{color:var(--ouro)}
.combo-intro{color:var(--texto-2);margin-bottom:18px}
.combo-lista{list-style:none;text-align:left;border-top:1px solid #2a2418}
.combo-lista li{display:flex;justify-content:space-between;gap:16px;padding:12px 4px;border-bottom:1px solid #2a2418}
.combo-lista li em{font-style:normal;color:var(--texto-3);white-space:nowrap}
.preco{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:18px 4px;border-bottom:1px solid #2a2418;font-weight:800;font-size:18px}
.preco + .preco{border-bottom:0}
.preco .seta{color:#e5574b;margin-right:10px;font-size:14px}
.preco .seta.ouro{color:var(--ouro)}
.preco-de{color:var(--texto-3);text-decoration:line-through;text-decoration-thickness:2px;white-space:nowrap}
.preco-por{color:var(--ouro);font-size:30px;font-weight:900;white-space:nowrap}
.combo-cta{margin:22px auto 8px;max-width:440px;color:var(--texto-2)}
.combo-cta strong{color:var(--ouro)}
.combo-seta{color:var(--ouro);font-size:28px;line-height:1;margin-bottom:14px;animation:desce 1.4s ease-in-out infinite}
@keyframes desce{50%{transform:translateY(6px)}}
.combo .btn{max-width:460px;margin:0 auto}

.quem{background:var(--grafite);border-top:0}
.quem-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:56px;align-items:center}
.quem-foto{border:1px solid var(--borda);border-radius:14px;overflow:hidden;background:#000}
.quem h2{font-size:clamp(28px,3.4vw,40px);font-weight:900;text-transform:uppercase;line-height:1.15;margin-bottom:22px}
.quem h2 span{color:var(--ouro)}
.quem p{color:var(--texto-2);margin-bottom:16px}
.quem p strong{color:var(--ouro);font-weight:700}
.quem .desafio{color:#fff;font-weight:800;font-size:20px;margin:6px 0 0}
.assinatura{font-family:var(--assinatura);font-weight:400;color:var(--ouro);font-size:56px;line-height:1.2;margin:2px 0 22px}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none;margin-bottom:28px}
.numeros li{border:1px solid var(--borda);border-radius:10px;padding:16px 8px;text-align:center;background:#0d0d0d}
.numeros b{display:block;color:var(--ouro);font-size:30px;font-weight:900;line-height:1.1}
.numeros small{display:block;margin-top:6px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-2)}
.contador-final{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.contador-final .barra-txt{font-size:13px}
.contador-final .contador > div{min-width:54px}
.contador-final .contador b{font-size:20px}

/* ---------- obrigado ---------- */
.obrigado{min-height:calc(100vh - 160px);display:flex;align-items:center;padding:52px 0}
.obrigado .wrap{max-width:640px;text-align:center}
.obrigado .logo{margin:0 auto 26px;width:210px}
.passo{display:inline-block;color:var(--ouro);border:1px solid var(--ouro);border-radius:999px;padding:6px 16px;font-weight:800;font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}
.obrigado h1{font-size:clamp(30px,5vw,44px);font-weight:900;line-height:1.15;text-transform:uppercase;margin-bottom:16px}
.obrigado h1 span:last-child{color:var(--ouro)}
.obrigado .lede{font-size:19px;color:var(--texto-2);margin-bottom:28px}
.obrigado .btn{font-size:19px;min-height:76px}
.obrigado .presente{justify-content:center}
.progresso{height:10px;border-radius:99px;background:#222;overflow:hidden;margin:0 auto 26px;max-width:420px}
.progresso i{display:block;height:100%;width:90%;background:var(--grad-faixa)}
.redireciona{margin-top:14px;color:var(--ouro);font-size:15px;font-weight:600;min-height:1.5em}

/* ---------- rodapé ---------- */
.rodape{border-top:1px solid #1d1a14;padding:26px 0 30px;text-align:center;color:var(--texto-3);font-size:15px;line-height:1.7}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--ouro);text-decoration:underline}
.rodape p + p{margin-top:6px}

/* ---------- celular ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"logo" "foto" "texto";padding-top:24px;text-align:center}
  .logo{width:230px;margin:0 auto}
  .hero-foto{max-width:420px}
  .hero-texto{padding-bottom:40px}
  .titulo-ouro{margin-top:-6px;font-size:min(13vw,72px);padding-bottom:14px}
  .linha{background:linear-gradient(90deg,transparent,var(--ouro-esc),transparent)}
  .faixa-ouro{display:block;font-size:17px;padding:13px 14px}
  .form{grid-template-columns:1fr;margin:0 auto}
  .reforco{border-left:0;padding-left:0;border-top:2px solid var(--ouro);padding-top:12px;display:inline-block}
  .presente{justify-content:center;text-align:left}
  .selos{bottom:14px}
  .pilares{grid-template-columns:1fr;gap:14px}
  .quem-grid{grid-template-columns:1fr;gap:32px}
  .quem-foto{max-width:420px;margin:0 auto;width:100%}
  .combo{padding:30px 18px}
  .preco{font-size:17px}
  .preco-por{font-size:26px}
  .contador-final{justify-content:center;flex-direction:column;gap:8px}
  .secao{padding:56px 0}
}
@media (max-width:420px){
  .selo{font-size:14px;padding:7px 12px}
  .numeros b{font-size:24px}
  .numeros small{letter-spacing:.02em}
  .assinatura{font-size:48px}
}
/* ---------- insta: link enviado por palavra-chave no Instagram ----------
   A pessoa já pediu o link: a página é só logo, uma frase e o formulário.
   Nada de contador, passos ou texto extra. Centrada na tela, no celular
   e no desktop. */
.insta{min-height:calc(100vh - 60px);min-height:calc(100svh - 60px);display:flex;align-items:center;padding:28px 0;background:radial-gradient(ellipse 80% 45% at 50% 0%,rgba(150,105,20,.38),transparent 70%),var(--preto)}
.insta-wrap{width:100%;max-width:420px;margin:0 auto;padding:0 16px}
.insta .logo{width:150px;margin:0 auto 18px}
.insta .logo img{mix-blend-mode:lighten}
.insta-titulo{font-size:22px;font-weight:800;line-height:1.3;text-align:center;margin-bottom:20px}
.insta-titulo span{color:var(--ouro)}
.insta .form{grid-template-columns:1fr;gap:12px}
.insta .btn{margin-top:4px}
.pg-insta .rodape{padding:16px 0 20px}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.combo-seta{animation:none}}
