/* ============================================================================
   Corporal Academy · Black Vitalícia · captura
   Arquivo único: fontes, intl-tel-input e estilos da página (cada CSS separado
   seria mais uma requisição bloqueando a renderização).
   ============================================================================ */

/* SILKA, fonte do Corporal Academy Design System (300 a 700), e POPPINS de
   reserva, como pede o DS. O navegador só baixa a Poppins se a Silka falhar. */
@font-face{font-family:'Silka';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/SilkaLight.woff2") format("woff2")}
@font-face{font-family:'Silka';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/SilkaRegular.woff2") format("woff2")}
@font-face{font-family:'Silka';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/SilkaMedium.woff2") format("woff2")}
@font-face{font-family:'Silka';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/SilkaSemiBold.woff2") format("woff2")}
@font-face{font-family:'Silka';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/SilkaBold.woff2") format("woff2")}
/* POPPINS: reserva da Silka, como no design system (Silka, Poppins, system-ui).
   Arquivos locais (latin, ~8 KB cada) para valer mesmo onde a Poppins não está
   instalada. O navegador só baixa se a Silka não carregar. */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/PoppinsLight.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/PoppinsRegular.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/PoppinsMedium.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/PoppinsSemiBold.woff2") format("woff2")}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/PoppinsBold.woff2") format("woff2")}

/* ---- intl-tel-input ---- */
:root{--iti-hover-color:rgba(0, 0, 0, 0.05);--iti-border-color:#ccc;--iti-dialcode-color:#999;--iti-dropdown-bg:white;--iti-search-icon-color:#999;--iti-spacer-horizontal:8px;--iti-flag-height:12px;--iti-flag-width:16px;--iti-border-width:1px;--iti-arrow-height:4px;--iti-arrow-width:6px;--iti-triangle-border:calc(var(--iti-arrow-width) / 2);--iti-arrow-padding:6px;--iti-arrow-color:#555;--iti-path-flags-1x:url("../img/flags.webp");--iti-path-flags-2x:url("../img/flags@2x.webp");--iti-path-globe-1x:url("../img/globe.webp");--iti-path-globe-2x:url("../img/globe@2x.webp");--iti-flag-sprite-width:3904px;--iti-flag-sprite-height:12px;--iti-mobile-popup-margin:30px}.iti{position:relative;display:inline-block}.iti *{box-sizing:border-box}.iti__a11y-text{width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute}.iti input.iti__tel-input,.iti input.iti__tel-input[type=tel],.iti input.iti__tel-input[type=text]{position:relative;z-index:0;margin:0!important}.iti__country-container{position:absolute;top:0;bottom:0;left:0;padding:var(--iti-border-width)}.iti__selected-country{z-index:1;position:relative;display:flex;align-items:center;height:100%;background:0 0;border:0;margin:0;padding:0;font-family:inherit;font-size:inherit;color:inherit;border-radius:0;font-weight:inherit;line-height:inherit;text-decoration:none}.iti__selected-country-primary{display:flex;align-items:center;height:100%;padding:0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal)}.iti__arrow{margin-left:var(--iti-arrow-padding);width:0;height:0;border-left:var(--iti-triangle-border) solid transparent;border-right:var(--iti-triangle-border) solid transparent;border-top:var(--iti-arrow-height) solid var(--iti-arrow-color)}.iti__arrow--up{border-top:none;border-bottom:var(--iti-arrow-height) solid var(--iti-arrow-color)}.iti__dropdown-content{border-radius:3px;background-color:var(--iti-dropdown-bg)}.iti--inline-dropdown .iti__dropdown-content{position:absolute;z-index:2;margin-top:3px;margin-left:calc(var(--iti-border-width) * -1);border:var(--iti-border-width) solid var(--iti-border-color);box-shadow:1px 1px 4px rgba(0,0,0,.2)}.iti__search-input{width:100%;border-width:0;border-radius:3px;padding-left:30px;padding-right:28px}[dir=rtl] .iti__search-input{padding-left:inherit;padding-right:30px;background-position:right 8px center}.iti__search-input+.iti__country-list{border-top:1px solid var(--iti-border-color)}.iti__search-input::-webkit-search-cancel-button{appearance:none}.iti__search-input-wrapper{position:relative;display:flex;align-items:center}.iti__search-icon{position:absolute;left:8px;display:flex;pointer-events:none}[dir=rtl] .iti__search-icon{left:auto;right:8px}.iti__search-icon-svg{stroke:var(--iti-search-icon-color);fill:none;stroke-width:3}.iti__search-clear{position:absolute;right:4px;background:0 0;border:0;border-radius:3px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;width:24px;height:24px}.iti__search-clear .iti__search-clear-x{stroke-width:2}.iti__search-clear .iti__search-clear-bg{fill:var(--iti-search-icon-color)}[dir=rtl] .iti__search-clear{right:auto;left:4px}.iti__search-clear:focus-visible,.iti__search-clear:hover{background:var(--iti-hover-color);outline:0}.iti__no-results{text-align:center;padding:30px 0}.iti__country-list{list-style:none;padding:0;margin:0;cursor:pointer;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti--inline-dropdown .iti__country-list{max-height:185px}.iti--flexible-dropdown-width .iti__country-list{white-space:nowrap}@media (max-width:500px){.iti--flexible-dropdown-width .iti__country-list{white-space:normal}}.iti__country{display:flex;align-items:center;padding:8px var(--iti-spacer-horizontal);outline:0}.iti__dial-code{color:var(--iti-dialcode-color)}.iti__country.iti__highlight{background-color:var(--iti-hover-color)}.iti__country-list .iti__flag,.iti__country-name{margin-right:var(--iti-spacer-horizontal)}[dir=rtl] .iti__country-list .iti__flag,[dir=rtl] .iti__country-name{margin-right:0;margin-left:var(--iti-spacer-horizontal)}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) button.iti__selected-country{cursor:pointer}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary{background-color:var(--iti-hover-color)}.iti .iti__selected-dial-code{margin-left:4px}.iti--container{position:fixed;top:-1000px;left:-1000px;z-index:1060;padding:var(--iti-border-width)}.iti--container:hover{cursor:pointer}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti--fullscreen-popup.iti--container{background-color:rgba(0,0,0,.5);top:0;bottom:0;left:0;right:0;position:fixed;padding:var(--iti-mobile-popup-margin);display:flex;flex-direction:column;justify-content:flex-start}.iti--fullscreen-popup .iti__dropdown-content{display:flex;flex-direction:column;max-height:100%;position:relative}.iti--fullscreen-popup .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{--iti-flag-offset:100px;height:var(--iti-flag-height);width:var(--iti-flag-width);border-radius:1px;box-shadow:0 0 1px 0 #888;background-image:var(--iti-path-flags-1x);background-repeat:no-repeat;background-position:var(--iti-flag-offset) 0;background-size:var(--iti-flag-sprite-width) var(--iti-flag-sprite-height)}.iti__ac{--iti-flag-offset:0px}.iti__ad{--iti-flag-offset:-16px}.iti__ae{--iti-flag-offset:-32px}.iti__af{--iti-flag-offset:-48px}.iti__ag{--iti-flag-offset:-64px}.iti__ai{--iti-flag-offset:-80px}.iti__al{--iti-flag-offset:-96px}.iti__am{--iti-flag-offset:-112px}.iti__ao{--iti-flag-offset:-128px}.iti__ar{--iti-flag-offset:-144px}.iti__as{--iti-flag-offset:-160px}.iti__at{--iti-flag-offset:-176px}.iti__au{--iti-flag-offset:-192px}.iti__aw{--iti-flag-offset:-208px}.iti__ax{--iti-flag-offset:-224px}.iti__az{--iti-flag-offset:-240px}.iti__ba{--iti-flag-offset:-256px}.iti__bb{--iti-flag-offset:-272px}.iti__bd{--iti-flag-offset:-288px}.iti__be{--iti-flag-offset:-304px}.iti__bf{--iti-flag-offset:-320px}.iti__bg{--iti-flag-offset:-336px}.iti__bh{--iti-flag-offset:-352px}.iti__bi{--iti-flag-offset:-368px}.iti__bj{--iti-flag-offset:-384px}.iti__bl{--iti-flag-offset:-400px}.iti__bm{--iti-flag-offset:-416px}.iti__bn{--iti-flag-offset:-432px}.iti__bo{--iti-flag-offset:-448px}.iti__bq{--iti-flag-offset:-464px}.iti__br{--iti-flag-offset:-480px}.iti__bs{--iti-flag-offset:-496px}.iti__bt{--iti-flag-offset:-512px}.iti__bw{--iti-flag-offset:-528px}.iti__by{--iti-flag-offset:-544px}.iti__bz{--iti-flag-offset:-560px}.iti__ca{--iti-flag-offset:-576px}.iti__cc{--iti-flag-offset:-592px}.iti__cd{--iti-flag-offset:-608px}.iti__cf{--iti-flag-offset:-624px}.iti__cg{--iti-flag-offset:-640px}.iti__ch{--iti-flag-offset:-656px}.iti__ci{--iti-flag-offset:-672px}.iti__ck{--iti-flag-offset:-688px}.iti__cl{--iti-flag-offset:-704px}.iti__cm{--iti-flag-offset:-720px}.iti__cn{--iti-flag-offset:-736px}.iti__co{--iti-flag-offset:-752px}.iti__cr{--iti-flag-offset:-768px}.iti__cu{--iti-flag-offset:-784px}.iti__cv{--iti-flag-offset:-800px}.iti__cw{--iti-flag-offset:-816px}.iti__cx{--iti-flag-offset:-832px}.iti__cy{--iti-flag-offset:-848px}.iti__cz{--iti-flag-offset:-864px}.iti__de{--iti-flag-offset:-880px}.iti__dj{--iti-flag-offset:-896px}.iti__dk{--iti-flag-offset:-912px}.iti__dm{--iti-flag-offset:-928px}.iti__do{--iti-flag-offset:-944px}.iti__dz{--iti-flag-offset:-960px}.iti__ec{--iti-flag-offset:-976px}.iti__ee{--iti-flag-offset:-992px}.iti__eg{--iti-flag-offset:-1008px}.iti__eh{--iti-flag-offset:-1024px}.iti__er{--iti-flag-offset:-1040px}.iti__es{--iti-flag-offset:-1056px}.iti__et{--iti-flag-offset:-1072px}.iti__fi{--iti-flag-offset:-1088px}.iti__fj{--iti-flag-offset:-1104px}.iti__fk{--iti-flag-offset:-1120px}.iti__fm{--iti-flag-offset:-1136px}.iti__fo{--iti-flag-offset:-1152px}.iti__fr{--iti-flag-offset:-1168px}.iti__ga{--iti-flag-offset:-1184px}.iti__gb{--iti-flag-offset:-1200px}.iti__gd{--iti-flag-offset:-1216px}.iti__ge{--iti-flag-offset:-1232px}.iti__gf{--iti-flag-offset:-1248px}.iti__gg{--iti-flag-offset:-1264px}.iti__gh{--iti-flag-offset:-1280px}.iti__gi{--iti-flag-offset:-1296px}.iti__gl{--iti-flag-offset:-1312px}.iti__gm{--iti-flag-offset:-1328px}.iti__gn{--iti-flag-offset:-1344px}.iti__gp{--iti-flag-offset:-1360px}.iti__gq{--iti-flag-offset:-1376px}.iti__gr{--iti-flag-offset:-1392px}.iti__gt{--iti-flag-offset:-1408px}.iti__gu{--iti-flag-offset:-1424px}.iti__gw{--iti-flag-offset:-1440px}.iti__gy{--iti-flag-offset:-1456px}.iti__hk{--iti-flag-offset:-1472px}.iti__hn{--iti-flag-offset:-1488px}.iti__hr{--iti-flag-offset:-1504px}.iti__ht{--iti-flag-offset:-1520px}.iti__hu{--iti-flag-offset:-1536px}.iti__id{--iti-flag-offset:-1552px}.iti__ie{--iti-flag-offset:-1568px}.iti__il{--iti-flag-offset:-1584px}.iti__im{--iti-flag-offset:-1600px}.iti__in{--iti-flag-offset:-1616px}.iti__io{--iti-flag-offset:-1632px}.iti__iq{--iti-flag-offset:-1648px}.iti__ir{--iti-flag-offset:-1664px}.iti__is{--iti-flag-offset:-1680px}.iti__it{--iti-flag-offset:-1696px}.iti__je{--iti-flag-offset:-1712px}.iti__jm{--iti-flag-offset:-1728px}.iti__jo{--iti-flag-offset:-1744px}.iti__jp{--iti-flag-offset:-1760px}.iti__ke{--iti-flag-offset:-1776px}.iti__kg{--iti-flag-offset:-1792px}.iti__kh{--iti-flag-offset:-1808px}.iti__ki{--iti-flag-offset:-1824px}.iti__km{--iti-flag-offset:-1840px}.iti__kn{--iti-flag-offset:-1856px}.iti__kp{--iti-flag-offset:-1872px}.iti__kr{--iti-flag-offset:-1888px}.iti__kw{--iti-flag-offset:-1904px}.iti__ky{--iti-flag-offset:-1920px}.iti__kz{--iti-flag-offset:-1936px}.iti__la{--iti-flag-offset:-1952px}.iti__lb{--iti-flag-offset:-1968px}.iti__lc{--iti-flag-offset:-1984px}.iti__li{--iti-flag-offset:-2000px}.iti__lk{--iti-flag-offset:-2016px}.iti__lr{--iti-flag-offset:-2032px}.iti__ls{--iti-flag-offset:-2048px}.iti__lt{--iti-flag-offset:-2064px}.iti__lu{--iti-flag-offset:-2080px}.iti__lv{--iti-flag-offset:-2096px}.iti__ly{--iti-flag-offset:-2112px}.iti__ma{--iti-flag-offset:-2128px}.iti__mc{--iti-flag-offset:-2144px}.iti__md{--iti-flag-offset:-2160px}.iti__me{--iti-flag-offset:-2176px}.iti__mf{--iti-flag-offset:-2192px}.iti__mg{--iti-flag-offset:-2208px}.iti__mh{--iti-flag-offset:-2224px}.iti__mk{--iti-flag-offset:-2240px}.iti__ml{--iti-flag-offset:-2256px}.iti__mm{--iti-flag-offset:-2272px}.iti__mn{--iti-flag-offset:-2288px}.iti__mo{--iti-flag-offset:-2304px}.iti__mp{--iti-flag-offset:-2320px}.iti__mq{--iti-flag-offset:-2336px}.iti__mr{--iti-flag-offset:-2352px}.iti__ms{--iti-flag-offset:-2368px}.iti__mt{--iti-flag-offset:-2384px}.iti__mu{--iti-flag-offset:-2400px}.iti__mv{--iti-flag-offset:-2416px}.iti__mw{--iti-flag-offset:-2432px}.iti__mx{--iti-flag-offset:-2448px}.iti__my{--iti-flag-offset:-2464px}.iti__mz{--iti-flag-offset:-2480px}.iti__na{--iti-flag-offset:-2496px}.iti__nc{--iti-flag-offset:-2512px}.iti__ne{--iti-flag-offset:-2528px}.iti__nf{--iti-flag-offset:-2544px}.iti__ng{--iti-flag-offset:-2560px}.iti__ni{--iti-flag-offset:-2576px}.iti__nl{--iti-flag-offset:-2592px}.iti__no{--iti-flag-offset:-2608px}.iti__np{--iti-flag-offset:-2624px}.iti__nr{--iti-flag-offset:-2640px}.iti__nu{--iti-flag-offset:-2656px}.iti__nz{--iti-flag-offset:-2672px}.iti__om{--iti-flag-offset:-2688px}.iti__pa{--iti-flag-offset:-2704px}.iti__pe{--iti-flag-offset:-2720px}.iti__pf{--iti-flag-offset:-2736px}.iti__pg{--iti-flag-offset:-2752px}.iti__ph{--iti-flag-offset:-2768px}.iti__pk{--iti-flag-offset:-2784px}.iti__pl{--iti-flag-offset:-2800px}.iti__pm{--iti-flag-offset:-2816px}.iti__pr{--iti-flag-offset:-2832px}.iti__ps{--iti-flag-offset:-2848px}.iti__pt{--iti-flag-offset:-2864px}.iti__pw{--iti-flag-offset:-2880px}.iti__py{--iti-flag-offset:-2896px}.iti__qa{--iti-flag-offset:-2912px}.iti__re{--iti-flag-offset:-2928px}.iti__ro{--iti-flag-offset:-2944px}.iti__rs{--iti-flag-offset:-2960px}.iti__ru{--iti-flag-offset:-2976px}.iti__rw{--iti-flag-offset:-2992px}.iti__sa{--iti-flag-offset:-3008px}.iti__sb{--iti-flag-offset:-3024px}.iti__sc{--iti-flag-offset:-3040px}.iti__sd{--iti-flag-offset:-3056px}.iti__se{--iti-flag-offset:-3072px}.iti__sg{--iti-flag-offset:-3088px}.iti__sh{--iti-flag-offset:-3104px}.iti__si{--iti-flag-offset:-3120px}.iti__sj{--iti-flag-offset:-3136px}.iti__sk{--iti-flag-offset:-3152px}.iti__sl{--iti-flag-offset:-3168px}.iti__sm{--iti-flag-offset:-3184px}.iti__sn{--iti-flag-offset:-3200px}.iti__so{--iti-flag-offset:-3216px}.iti__sr{--iti-flag-offset:-3232px}.iti__ss{--iti-flag-offset:-3248px}.iti__st{--iti-flag-offset:-3264px}.iti__sv{--iti-flag-offset:-3280px}.iti__sx{--iti-flag-offset:-3296px}.iti__sy{--iti-flag-offset:-3312px}.iti__sz{--iti-flag-offset:-3328px}.iti__tc{--iti-flag-offset:-3344px}.iti__td{--iti-flag-offset:-3360px}.iti__tg{--iti-flag-offset:-3376px}.iti__th{--iti-flag-offset:-3392px}.iti__tj{--iti-flag-offset:-3408px}.iti__tk{--iti-flag-offset:-3424px}.iti__tl{--iti-flag-offset:-3440px}.iti__tm{--iti-flag-offset:-3456px}.iti__tn{--iti-flag-offset:-3472px}.iti__to{--iti-flag-offset:-3488px}.iti__tr{--iti-flag-offset:-3504px}.iti__tt{--iti-flag-offset:-3520px}.iti__tv{--iti-flag-offset:-3536px}.iti__tw{--iti-flag-offset:-3552px}.iti__tz{--iti-flag-offset:-3568px}.iti__ua{--iti-flag-offset:-3584px}.iti__ug{--iti-flag-offset:-3600px}.iti__us{--iti-flag-offset:-3616px}.iti__uy{--iti-flag-offset:-3632px}.iti__uz{--iti-flag-offset:-3648px}.iti__va{--iti-flag-offset:-3664px}.iti__vc{--iti-flag-offset:-3680px}.iti__ve{--iti-flag-offset:-3696px}.iti__vg{--iti-flag-offset:-3712px}.iti__vi{--iti-flag-offset:-3728px}.iti__vn{--iti-flag-offset:-3744px}.iti__vu{--iti-flag-offset:-3760px}.iti__wf{--iti-flag-offset:-3776px}.iti__ws{--iti-flag-offset:-3792px}.iti__xk{--iti-flag-offset:-3808px}.iti__ye{--iti-flag-offset:-3824px}.iti__yt{--iti-flag-offset:-3840px}.iti__za{--iti-flag-offset:-3856px}.iti__zm{--iti-flag-offset:-3872px}.iti__zw{--iti-flag-offset:-3888px}.iti__globe{background-image:var(--iti-path-globe-1x);background-size:contain;background-position:right;box-shadow:none;height:19px}@media (min-resolution:2x){.iti__flag{background-image:var(--iti-path-flags-2x)}.iti__globe{background-image:var(--iti-path-globe-2x)}}

/* =========================================================================
   Corporal Academy · Black Vitalícia (Black Friday 2026)
   Cores e fonte do Corporal Academy Design System (bordô, coral, pêssego,
   rosa, dourado; Silka). Um fundo só, quase preto. A cor vem de luzes
   radiais que se sobrepõem de uma seção para a outra: não há faixas nem
   bordas retas entre as seções.
   ========================================================================= */

/* ---------- Tokens (DS, tema escuro) ---------- */
:root{
  --bg:#0E0708;                 /* --bg do DS                               */
  --txt:#FAF7F8;
  --text-soft:rgba(250,247,248,.84);
  --text-mute:#CBBDBF;          /* --mut do DS                              */
  --legal:#A07B82;              /* --legal-mut do DS                        */
  --line:rgba(232,138,146,.16);
  --bordo:#D6515C;
  --coral:#E88A92;
  --pessego:#FFCA9B;            /* o "VITALÍCIA" da marca                   */
  --card:#241619;
  --campo:#120A0C;
  --campo-borda:#3D2329;

  /* Luzes do fundo: bordô e pêssego da marca. */
  --luz-bordo:rgba(214,81,92,.22);
  --luz-funda:rgba(90,39,48,.42);
  --luz-pessego:rgba(255,202,155,.16);

  /* Verde das ações, escurecido até o texto branco passar no contraste:
     5,0:1 no início do degradê e 6,6:1 no fim. Os mesmos do obrigado. */
  --verde-1:#15803D;
  --verde-2:#0F6B35;

  /* ease-out: tudo que entra desacelera no fim, nada de vai-e-vem. */
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg);color-scheme:dark}
body{
  margin:0;
  background:var(--bg);
  color:var(--txt);
  font-family:'Silka','Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
h1,h2,h3,p,figure,ul,ol{margin:0}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
strong{font-weight:500}

/* Lenis (scroll suave) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* =========================================================================
   FUNDO CONTÍNUO
   Cada seção acende uma luz maior do que ela, atrás de todo o conteúdo
   (z-index -1 no contexto do <main>). As luzes ficam longe das bordas da
   tela: nada de mancha clara colada na lateral.
   ========================================================================= */
main{position:relative;isolation:isolate;overflow-x:clip}
.hero,.reasons,.vital,.closing{position:relative}
.hero::before,.hero::after,.reasons::before,.vital::before,.closing::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
}
/* As seções do meio têm largura máxima: a luz ocupa sempre a largura
   inteira da tela, senão a borda dela vira corte vertical em tela larga. */
.reasons::before,.vital::before,.closing::before{
  left:50%;
  width:100vw;
  transform:translateX(-50%);
}
/* Topo: o pêssego da marca acende atrás do logo e o bordô atrás do
   formulário, e os dois se dissolvem até o pé do hero. */
.hero::before{
  /* Mais alta que o hero e esmaecida por máscara: sem ela, a luz acabava
     numa linha reta logo acima da lista (corte seco medido em y=183). */
  inset:0 0 -45%;
  -webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent);
  mask-image:linear-gradient(to bottom,#000 50%,transparent);
  background:
    radial-gradient(46% 58% at 24% 0%,var(--luz-pessego),transparent 72%),
    radial-gradient(42% 60% at 82% 18%,var(--luz-bordo),transparent 72%),
    radial-gradient(70% 70% at 50% 100%,var(--luz-funda),transparent 72%);
}
.reasons::before{
  top:-25%;bottom:-25%;
  background:
    radial-gradient(46% 48% at 78% 46%,var(--luz-bordo),transparent 72%),
    radial-gradient(36% 38% at 18% 40%,var(--luz-funda),transparent 72%);
}
/* A frase fica quase no escuro: é a respiração da página. */
.vital::before{
  top:-20%;bottom:-20%;
  background:
    radial-gradient(38% 36% at 72% 62%,rgba(255,202,155,.06),transparent 72%),
    radial-gradient(34% 30% at 20% 28%,rgba(214,81,92,.10),transparent 72%);
}
.closing::before{
  top:-25%;bottom:-40%;
  background:
    radial-gradient(40% 42% at 28% 50%,var(--luz-bordo),transparent 72%),
    radial-gradient(36% 38% at 78% 46%,var(--luz-pessego),transparent 72%);
}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{display:flex;align-items:center;justify-content:center;width:100%}
.hero__inner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:56px;
  width:100%;
  max-width:1440px;
  min-height:720px;
  padding:56px 48px;
}
.hero__col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  flex:1 1 0;
  min-width:0;
  max-width:620px;
}
/* Marca corporalclass black VITALÍCIA (proporção 3,93). Menor que no
   Framer (580px): a marca abre a página, o título é quem fala. */
.hero__logo img{width:380px;height:auto}

/* A data é o motivo do cadastro: fica junto do título, no pêssego da marca. */
.hero__date{
  font-size:17px;
  line-height:1.3;
  color:var(--pessego);
  font-variant-numeric:tabular-nums;
}
.hero__date strong{font-weight:500}
.hero__title{
  font-size:64px;
  font-weight:500;
  line-height:1.05;
  letter-spacing:-.04em;
  color:#fff;
}
.hero__lead{
  max-width:34ch;
  font-size:19px;
  line-height:1.45;
  letter-spacing:-.01em;
  color:var(--text-soft);
}
.hero__lead strong{color:#fff}
.hero__col,.hero__card{position:relative;z-index:1}

/* ---------- Professora na sacola (recorte sem fundo, usado como veio) ---------- */
.hero__img{position:relative;margin:0;pointer-events:none}
.hero__img img{width:100%;height:auto}

/* Desktop largo: três zonas (texto, imagem, formulário). O topo da cabeça
   da professora alinha com o topo do logo, e as pernas passam por trás do
   formulário (o vidro borra o que está atrás); o rosto e a sacola ficam
   livres. O "/ .74" é a fração da largura que fica fora do formulário.
   A coluna fica presa no alto, na posição em que a centralização a deixava,
   para o logo começar sempre a 192px e o alinhamento não depender da fonte. */
@media (min-width:1360px){
  .hero__inner{min-height:780px}
  .hero__col{flex:0 0 440px;align-self:flex-start;margin-top:136px}
  .hero__img{
    position:absolute;
    top:192px;
    /* o cabelo começa a 2,62% da largura da imagem: sobe isso */
    margin-top:calc((100% - 96px - 440px - 450px - 16px) / .74 * -.0262);
    left:calc(48px + 440px + 8px);
    width:calc((100% - 96px - 440px - 450px - 16px) / .74);
    max-width:660px;
  }
}
/* De 810 a 1359px não há largura para três zonas: a imagem vem abaixo do
   texto e do formulário, centralizada e apoiada no pé do hero. */
@media (min-width:810px) and (max-width:1359px){
  .hero__inner{flex-wrap:wrap;row-gap:28px;padding-bottom:0}
  .hero__img{flex:0 0 100%}
  .hero__img img{max-width:520px;margin:0 auto}
}

/* =========================================================================
   CARD DO FORMULÁRIO
   Vidro: o fundo passa borrado (18px) e com a cor realçada; a borda clara e
   o brilho no topo marcam a placa.
   ========================================================================= */
.hero__card{
  display:flex;
  flex-direction:column;
  gap:20px;
  width:450px;
  flex:none;
  padding:40px;
  border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.02) 45%),rgba(214,81,92,.08);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 24px 60px rgba(8,2,3,.5);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
}
.card__title{
  font-size:26px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--txt);
}
.card__next{font-size:14px;line-height:1.5;color:var(--text-mute)}

.fa-form{width:100%}
.fa-field{position:relative;margin-bottom:18px}
.fa-field label{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  line-height:1;
  color:#F2EEEF;
}
.fa-control{position:relative}
.fa-icon{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  color:var(--coral);
  pointer-events:none;
  z-index:2;
}
.fa-input{
  width:100%;
  height:46px;
  padding:12px 14px 12px 44px;
  font-family:inherit;
  font-size:16px;
  line-height:1;
  color:#fff;
  background:var(--campo);
  border:1.5px solid var(--campo-borda);
  border-radius:12px;
  outline:none;
  transition:border-color .2s var(--ease);
}
.fa-input::placeholder{color:rgba(255,255,255,.6)}
.fa-input:focus{border-color:var(--coral)}
.fa-input.is-invalid{border-color:#FF7D93}
/* Erro embaixo do campo que falhou, em vez de uma mensagem genérica. */
.fa-erro{margin-top:6px;font-size:13px;line-height:1.4;color:#FF8B9C}
.fa-erro:empty{display:none}

.fa-submit{
  width:100%;
  margin-top:8px;
  padding:16px 24px;
  font-family:inherit;
  font-size:18px;
  font-weight:500;
  letter-spacing:-.01em;
  line-height:1;
  color:#fff;
  background:linear-gradient(135deg,var(--verde-1) 0%,var(--verde-2) 100%);
  border:none;
  border-radius:12px;
  cursor:pointer;
  transition:filter .25s var(--ease);
}
/* A pulsação só começa depois do carregamento: animar dentro do vidro
   durante o carregamento custa caro em celular fraco. Só o halo pulsa; o
   botão não cresce. */
.carregada .fa-submit{animation:pulsarEnvio 2.2s ease-in-out infinite}
@keyframes pulsarEnvio{
  0%,100%{box-shadow:0 10px 26px rgba(15,107,53,.4),0 0 0 0 rgba(37,211,102,.4)}
  50%{box-shadow:0 12px 30px rgba(15,107,53,.5),0 0 0 12px rgba(37,211,102,0)}
}
/* Hover escurece: clarear o verde derrubaria o contraste do texto. */
.fa-submit:hover,.fa-submit:focus-visible{filter:brightness(.9);animation-play-state:paused}
.fa-submit:active{filter:brightness(.82);animation-play-state:paused}
.fa-submit:disabled{opacity:.6;cursor:default;animation:none;box-shadow:none}
.fa-submit:focus-visible,.btn:focus-visible,.footer a:focus-visible{outline:2px solid var(--coral);outline-offset:4px}

/* intl-tel-input, tema escuro */
.iti{width:100%}
.iti--inline-dropdown .iti__dropdown-content{background:var(--campo);border:1px solid var(--campo-borda);color:#fff}
.iti__country{color:#fff}
.iti__country.iti__highlight,.iti__country:hover{background:rgba(232,138,146,.18)}
.iti__dial-code{color:rgba(255,255,255,.6)}
.iti__search-input{background:var(--campo);color:#fff;border-bottom:1px solid var(--campo-borda)}
.iti__selected-dial-code{color:#fff}

/* =========================================================================
   SÓ TEM UMA BLACK FRIDAY POR ANO
   Título à esquerda. À direita, "12 meses" uma vez só, grande, no pêssego,
   e as três frases em branco, com fio fino entre elas.
   ========================================================================= */
.reasons{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  align-items:start;
  gap:40px 72px;
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:136px 48px 96px;
}
.reasons__head{display:flex;flex-direction:column;gap:20px}
.reasons__title{
  font-size:44px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.04em;
  color:var(--txt);
}
.reasons__sub{font-size:18px;line-height:1.5;color:var(--text-soft)}
.reasons__body{display:flex;flex-direction:column;gap:16px}
.reasons__num{
  font-size:96px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.04em;
  color:var(--pessego);
  font-variant-numeric:tabular-nums;
  /* Alinhamento óptico: em 96px o "1" tem respiro à esquerda. */
  margin-left:-.06em;
}
.reasons__list{list-style:none;padding:0;border-top:1px solid var(--line)}
.reason{
  padding:22px 0;
  border-bottom:1px solid var(--line);
  font-size:24px;
  line-height:1.35;
  letter-spacing:-.01em;
  color:#fff;
}

/* =========================================================================
   VITALÍCIA NÃO É FORÇA DE EXPRESSÃO
   Camadas: a foto da aplicação fica atrás, entre as duas metades da frase.
   Sem caixa: as bordas se dissolvem no fundo e a frase cruza só essas
   bordas, onde o fundo já é escuro.
   ========================================================================= */
.vital__inner{
  --d:clamp(56px,7.2vw,104px);
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:24px;
  align-items:start;
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:80px 48px 96px;
}
.vital__display{
  position:relative;
  z-index:1;
  font-size:var(--d);
  font-weight:500;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--txt);
  text-shadow:0 2px 28px rgba(14,7,8,.55);
}
.vital__display--a{grid-column:1 / span 6;grid-row:1;max-width:3.96em}
.vital__display--b{grid-column:8 / span 5;grid-row:2}
.vital__photo{grid-column:3 / span 6;grid-row:1 / span 2;margin:calc(var(--d) * .55) 0 0}
.vital__photo img{
  width:100%;
  height:auto;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 24%,#000 66%,transparent),linear-gradient(to bottom,transparent,#000 26%,#000 58%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 24%,#000 66%,transparent),linear-gradient(to bottom,transparent,#000 26%,#000 58%,transparent);
  mask-composite:intersect;
}
.vital__copy{grid-column:8 / span 5;grid-row:3;position:relative;z-index:1;max-width:540px;margin-top:24px}
.vital__copy p{font-size:18px;line-height:1.5;color:var(--text-soft)}
/* A resposta à frase grande. */
.vital__copy .vital__payoff{
  margin-top:24px;
  font-size:40px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.03em;
  color:#fff;
}

@media (max-width:1023px){
  .vital__inner{--d:clamp(44px,9vw,80px);grid-template-columns:1fr;padding:72px 40px 88px}
  .vital__display--a{grid-column:1;grid-row:1;max-width:none}
  .vital__photo{grid-column:1;grid-row:2;margin:calc(var(--d) * -.35) 0 0;max-width:720px;justify-self:center;width:100%}
  .vital__display--b{grid-column:1;grid-row:3;margin-top:calc(var(--d) * -1.05);justify-self:end;text-align:right}
  .vital__copy{grid-column:1;grid-row:4;max-width:560px;margin-top:28px}
  .vital__photo img{
    -webkit-mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 58%,transparent);
    mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 58%,transparent);
  }
}

/* =========================================================================
   FECHAMENTO
   A professora sentada na sacola da Black Vitalícia à esquerda (recorte sem
   fundo, usado como veio, sem máscara nem filtro); texto e botão à direita.
   No celular a imagem vem primeiro.
   ========================================================================= */
.closing{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:64px;
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:96px 48px 128px;
}
.closing__photo{margin:0}
.closing__photo img{
  width:100%;
  max-width:620px;
  height:auto;
  margin:0 auto;
}
.closing__text{display:flex;flex-direction:column;align-items:flex-start;gap:28px;max-width:560px}
.closing__title{
  font-size:44px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.04em;
  color:var(--txt);
}
.closing__copy{font-size:18px;line-height:1.5;letter-spacing:-.01em;color:var(--text-soft)}
.closing__copy strong{color:#fff}

/* ---------- Botão ----------
   Mesmo verde do botão do formulário: as ações da página têm a mesma cara. */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 20px 16px 26px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--verde-1) 0%,var(--verde-2) 100%);
  color:#fff;
  font-size:18px;
  font-weight:500;
  line-height:1;
  transition:filter .25s var(--ease),transform .25s var(--ease);
}
.btn:hover{filter:brightness(.9)}
.btn:active{filter:brightness(.82);transform:translateY(1px)}
.btn__icon{display:flex;width:22px;height:22px;transition:transform .3s var(--ease)}
.btn:hover .btn__icon{transform:translateX(3px)}

/* =========================================================================
   RODAPÉ
   ========================================================================= */
.footer{position:relative;padding:96px 40px 0}
.footer__inner{display:flex;flex-direction:column;gap:32px;max-width:1345px;margin:0 auto}
.footer__top{display:flex;align-items:flex-start;gap:32px}
.footer__brand{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:24px}
.footer__logo{width:304px;height:auto}
.footer__tagline{font-size:16px;line-height:1.4;color:#fff}
.footer__legal{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.footer__legal > *{width:170px}
.footer__legend{font-size:14px;font-weight:500;line-height:1;letter-spacing:-.02em;color:#fff}
.footer__top .footer__legend,.footer__mid .footer__legend{padding:10px 8px 10px 0}
.footer__legal a{
  display:block;
  padding:10px 8px 10px 0;
  font-size:14px;
  line-height:1;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.8);
  transition:color .2s var(--ease);
}
.footer__legal a:hover{color:#fff}
.footer__divider{height:1px;background:rgba(255,255,255,.1)}
.footer__mid{display:flex;gap:64px}
.footer__block{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:8px;max-width:641px}
.footer__note{
  padding:10px 8px 10px 0;
  font-size:14px;
  line-height:1.5;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.8);
}
.footer__bottom{padding:40px 0 calc(48px + env(safe-area-inset-bottom))}
.footer__bottom p{font-size:15px;line-height:1.6;color:var(--txt)}

/* =========================================================================
   MOVIMENTO
   ========================================================================= */
.js .anim,.js .anim-words{opacity:.001;transform:translateY(20px)}

/* O hero entra por CSS, sem esperar o JS: só o deslocamento é animado, a
   opacidade fica em 1 desde o primeiro quadro (conta para o LCP). */
.hero .anim{opacity:1;transform:translateY(16px);animation:heroIn .6s var(--ease) forwards}
@keyframes heroIn{to{transform:none}}
.hero .anim[data-delay="80"]{animation-delay:80ms}
.hero .anim[data-delay="160"]{animation-delay:160ms}
.hero .anim[data-delay="200"]{animation-delay:200ms}
.hero .anim[data-delay="240"]{animation-delay:240ms}

.js .anim.is-in,.js .anim-words.is-in{
  opacity:1;
  transform:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease);
}

/* Revelação ligada à rolagem: cada bloco termina de entrar quando chega ao
   centro da tela (cover 50%). Linear de propósito: a curva mapeia a posição
   da rolagem, não o tempo. */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .js :is(.reasons,.vital,.closing) :is(.anim,.anim-words){
      opacity:1;
      transform:none;
      transition:none;
      animation:revela linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 50%;
    }
  }
}
@keyframes revela{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}

@media (prefers-reduced-motion:reduce){
  .anim,.anim-words,.js .anim,.js .anim-words,.hero .anim{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
  .fa-submit{animation:none!important}
}

/* =========================================================================
   TABLET (≤1199px)
   ========================================================================= */
@media (max-width:1199px){
  .hero__inner{gap:40px;min-height:0;padding:56px 40px}
  .hero__logo img{width:320px}
  .hero__title{font-size:50px}
  .hero__lead{font-size:17px}
  .hero__card{width:420px;padding:32px}
  .card__title{font-size:24px}

  .reasons{grid-template-columns:1fr;gap:40px;padding:120px 40px 88px}
  .reasons__title{font-size:38px}
  .reasons__num{font-size:80px}
  .reason{font-size:21px}

  .closing{gap:40px;padding:88px 40px 120px}
  .closing__title{font-size:38px}
  .closing__copy{font-size:17px}

  .footer{padding:96px 32px 0}
  .footer__top{flex-direction:column;gap:32px}
  .footer__brand{width:100%}
  .footer__tagline{font-size:14px}
  .footer__legal{align-items:flex-start;width:100%}
  .footer__legal > *{width:auto}
  .footer__mid{gap:48px}
}

/* =========================================================================
   CELULAR (≤809px)
   ========================================================================= */
@media (max-width:809px){
  /* O formulário inteiro precisa caber na primeira dobra. */
  .hero{min-height:100svh}
  .hero__inner{flex-direction:column;justify-content:center;gap:16px;padding:16px;min-height:100svh}
  .hero__col{flex:0 0 auto;align-items:center;text-align:center;width:100%;gap:10px;max-width:none}
  .hero__logo img{width:220px}
  .hero__title{font-size:36px;line-height:1.06}
  .hero__date{font-size:14px}
  .hero__lead{font-size:15px;line-height:1.4;max-width:34ch}

  .hero__card{width:100%;padding:16px;gap:12px;border-radius:16px}
  /* A imagem vem depois do formulário: o cadastro fica na primeira dobra. */
  .hero__img{order:3;width:min(92vw,420px);margin:8px auto 0}
  .card__title{font-size:20px}
  .card__next{font-size:13px}
  .fa-field{margin-bottom:10px}
  .fa-field label{font-size:13px;margin-bottom:5px}
  .fa-input{height:44px;padding:10px 12px 10px 40px}
  .fa-icon{left:12px}
  .fa-submit{padding:13px 20px;font-size:16px;margin-top:6px}

  .reasons{padding:88px 16px 64px;gap:28px}
  .reasons__head{gap:14px}
  .reasons__title{font-size:30px}
  .reasons__sub{font-size:16px}
  .reasons__body{gap:10px}
  .reasons__num{font-size:64px}
  .reason{font-size:18px;padding:16px 0}

  .vital__inner{padding:64px 16px 72px}
  .vital__photo{margin-left:-16px;margin-right:-16px;width:calc(100% + 32px);max-width:none}
  .vital__copy{max-width:none}
  .vital__copy p{font-size:16px}
  .vital__copy .vital__payoff{font-size:30px}

  .closing{grid-template-columns:1fr;gap:24px;padding:48px 16px 80px}
  .closing__photo{order:-1}
  .closing__photo img{max-width:420px}
  .closing__text{gap:22px}
  .closing__title{font-size:30px;line-height:1.12}
  .closing__copy{font-size:16px}
  .btn{width:100%;padding:16px 20px;font-size:16px}

  .footer{padding:72px 24px 0}
  .footer__logo{width:228px}
  .footer__inner > *{width:100%}
  .footer__mid{flex-direction:column;gap:48px}
  .footer__block{max-width:none}
}

/* Telas baixas (Android pequeno, navegador com barras): aperta o hero para o
   formulário inteiro caber sem rolagem. Os campos mantêm a área de toque. */
@media (max-width:809px) and (max-height:700px){
  .hero__inner{gap:12px;padding:10px 16px}
  .hero__col{gap:6px}
  .hero__logo img{width:176px}
  .hero__title{font-size:30px}
  .hero__lead{font-size:13.5px}
  .hero__card{padding:14px;gap:10px}
  .card__title{font-size:18px}
  .card__next{font-size:12px}
  .fa-field{margin-bottom:8px}
}
