/* =========================================================
   SOUZATEAM — Juninho Souza
   Paleta extraída da logo: preto profundo, azul elétrico, cromo.
   ========================================================= */
:root{
  --bg:#05070b;
  --bg-2:#0a0e15;
  --surface:#12161d;          /* referência #1b1b1b, versão fria */
  --surface-2:#171c25;
  --line:#20252e;             /* referência: borda 1px #242424 */
  --line-2:rgba(255,255,255,.14);
  --text:#ffffff;
  --muted:#86868b;            /* referência: texto secundário */
  --muted-2:#acacac;          /* referência: texto terciário */
  --dim:#464649;
  --glass:rgba(70,74,84,.5);  /* referência: controles em vidro cinza */
  --blue:#1f6bff;
  --blue-2:#3fa2ff;
  --blue-glow:rgba(31,107,255,.45);
  --chrome:linear-gradient(180deg,#ffffff 0%,#c9d2de 45%,#7f8a99 55%,#e6ebf2 100%);
  --wa:#25d366;
  --radius:8px;               /* referência: cards 8px */
  --radius-sm:8px;
  --pill:300px;               /* referência: botões em pílula */
  --container:1560px;
  --ease:cubic-bezier(.22,1,.36,1);
  --f-display:"Barlow Semi Condensed","Barlow Condensed",system-ui,sans-serif; /* ~ proxima-nova-condensed */
  --f-body:"Figtree",system-ui,sans-serif;   /* ~ proxima-nova */
  --ls:.08em;                 /* referência: tracking de 0.08em em todo o texto */
  --u:calc(4.4px + .26vw);    /* unidade de espaçamento fluida, ≈9.4px em 1920 */
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--f-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
::selection{background:var(--blue);color:#fff}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(24px,3vw,30px)}
.accent{color:var(--blue-2);background:linear-gradient(90deg,var(--blue-2),#8cc8ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* palavras animadas dentro de .accent precisam do próprio gradiente */
.accent span{background:linear-gradient(90deg,var(--blue-2),#8cc8ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.muted{color:var(--muted)}
.center{text-align:center;margin-top:48px}

/* grain overlay */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- PRELOADER ---------- */
.preloader{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-items:center;align-content:center;gap:22px}
.preloader__logo{width:132px;height:132px;animation:pulse 1.6s var(--ease) infinite}
.preloader__bar{width:180px;height:2px;background:var(--line);overflow:hidden;border-radius:2px}
.preloader__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--blue-2));box-shadow:0 0 12px var(--blue)}
.preloader__count{font:700 14px var(--f-display);letter-spacing:.2em;color:var(--muted)}
@keyframes pulse{50%{filter:drop-shadow(0 0 24px var(--blue-glow));transform:scale(1.04)}}


/* ---------- BUTTONS ---------- */
.btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 26px;border-radius:999px;
  font:700 15px var(--f-display);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:transform .35s var(--ease),background .3s,box-shadow .3s,border-color .3s,color .3s;position:relative;isolation:isolate}
.btn svg{font-size:18px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn--primary{background:linear-gradient(135deg,var(--blue),#0a4fd6);color:#fff;box-shadow:0 10px 30px -10px var(--blue-glow),inset 0 1px 0 rgba(255,255,255,.25)}
.btn--primary::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:linear-gradient(135deg,var(--blue-2),var(--blue));opacity:0;transition:opacity .3s}
.btn--primary:hover::before{opacity:1}
.btn--primary:hover{box-shadow:0 14px 40px -8px var(--blue-glow)}
.btn--outline{border:1.5px solid var(--blue);color:#fff}
.btn--outline:hover{background:var(--blue)}
.btn--ghost{border:1px solid var(--line-2);color:var(--text);background:rgba(255,255,255,.03)}
.btn--ghost:hover{border-color:#fff}
.btn--wa{background:var(--wa);color:#05210f}
.btn--wa:hover{filter:brightness(1.08)}
.btn--sm{--h:42px;padding:0 20px;font-size:13px}
.btn--lg{--h:60px;padding:0 34px;font-size:16px}
.btn .num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.25);font-size:13px;letter-spacing:0}
.btn.is-disabled{opacity:.45;pointer-events:none}

.round-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);background:var(--surface);transition:.3s var(--ease)}
.round-btn svg{font-size:18px}
.round-btn:hover{background:var(--blue);border-color:var(--blue)}

/* ---------- HEADER ---------- */
/* header: o fundo vidro fica num pseudo-elemento (blur no próprio header vira "caixa" para filhos fixos),
   sobe atrás da barra de status do iPhone e some em degradê em vez de uma tarja dura */
.header{position:fixed;inset:0 0 auto;z-index:50;padding-top:env(safe-area-inset-top);transition:transform .5s var(--ease)}
.header::before{content:"";position:absolute;inset:0 0 -18px;z-index:-1;pointer-events:none;opacity:0;transition:opacity .45s var(--ease);
  background:linear-gradient(180deg,rgba(5,7,11,.82) 0%,rgba(5,7,11,.62) calc(100% - 18px),rgba(5,7,11,0) 100%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent)}
.header.is-scrolled::before{opacity:1}
.header.is-hidden{transform:translateY(-100%)}
.header__inner{display:flex;align-items:center;gap:28px;height:84px}
.header__brand{display:flex;align-items:center;gap:10px;font:800 22px var(--f-display);letter-spacing:.06em}
.header__brand img{width:52px;height:52px}
.header__brand b{color:var(--blue-2)}
.nav{display:flex;gap:30px;margin-left:auto}
.nav a{font:600 14px var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:#c4ccd8;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a:hover{color:#fff}
.nav a:hover::after,.nav a.is-current::after{transform:scaleX(1);transform-origin:left}
.burger{display:none;width:44px;height:44px;margin-left:auto;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:.35s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{padding:112px 0 40px;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 70% 30%,rgba(31,107,255,.16),transparent 70%);pointer-events:none}
.hero__grid{display:grid;grid-template-columns:minmax(340px,.9fr) 1.6fr;gap:16px;height:min(78vh,720px);min-height:560px}
.hero__main{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.hero__main-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.1) brightness(.45);transform:scale(1.15)}
.hero__main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,11,.3) 0%,rgba(5,7,11,.85) 60%,var(--bg) 100%),linear-gradient(135deg,rgba(31,107,255,.28),transparent 50%)}
/* o card cresce com o conteúdo: altura fixa fazia o Safari empurrar os botões para fora */
.hero__main{display:flex;flex-direction:column}
.hero__main-content{position:relative;z-index:2;flex:1 0 auto;display:flex;flex-direction:column;justify-content:flex-end;padding:36px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 13px var(--f-display);letter-spacing:.28em;text-transform:uppercase;color:var(--blue-2);margin-bottom:18px}
.eyebrow i{width:28px;height:2px;background:var(--blue-2)}
.hero__title{font:900 clamp(48px,6.2vw,92px)/.88 var(--f-display);text-transform:uppercase;margin:0 0 20px;letter-spacing:-.01em}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero__title .line>span{display:inline-block}
.hero__sub{color:#c1c9d6;max-width:420px;margin:0 0 28px;font-size:15px}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}

.panels{display:flex;gap:12px;height:100%}
.panel{position:relative;flex:1;min-width:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background-size:cover;background-position:center 20%;
  transition:flex 0.8s var(--ease),border-color .4s;isolation:isolate}
.panel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,7,11,.15) 30%,rgba(5,7,11,.92) 100%);transition:background .6s}
.panel::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(5,7,11,.55);transition:opacity .6s;mix-blend-mode:multiply}
.panel:not(.is-active){filter:grayscale(.85)}
.panel.is-active{flex:3.2;border-color:rgba(63,162,255,.45);filter:none}
.panel.is-active::after{opacity:0}
.panel__body{position:absolute;inset:auto 0 0;padding:26px;display:flex;flex-direction:column;gap:8px}
.panel__tag{font:700 13px var(--f-display);letter-spacing:.2em;color:var(--blue-2)}
.panel h3{margin:0;font:800 clamp(22px,2.2vw,34px)/.95 var(--f-display);text-transform:uppercase;white-space:nowrap}
.panel p,.panel__more{opacity:0;transform:translateY(12px);transition:.5s var(--ease);max-width:280px;margin:0;font-size:14px;color:#c9d0db}
.panel__more{display:inline-flex;align-items:center;gap:6px;font:700 13px var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:#fff}
.panel.is-active p,.panel.is-active .panel__more{opacity:1;transform:none;transition-delay:.25s}
.panel:not(.is-active) h3{writing-mode:vertical-rl;transform:rotate(180deg);font-size:22px;position:absolute;bottom:26px;left:50%;translate:-50% 0}
.panel:not(.is-active) .panel__tag{position:absolute;top:22px;left:50%;translate:-50% 0}
.panel:not(.is-active) h3 br{display:none}

/* ---------- MARQUEE ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,#08101f,#0b1426,#08101f);padding:22px 0;margin-top:40px;transform:rotate(-1.2deg) scale(1.02)}
/* duas metades idênticas; cada uma leva o próprio respiro no fim, então -50% fecha o loop sem salto */
.marquee__track{display:flex;width:max-content;animation:marquee 32s linear infinite;will-change:transform}
.marquee__track.is-js{animation:none}  /* GSAP assume: acelera no scroll sem reiniciar */
.marquee__group{display:flex;gap:36px;padding-right:36px;align-items:center;flex:none}
.marquee span{font:800 clamp(24px,3vw,40px) var(--f-display);text-transform:uppercase;white-space:nowrap;-webkit-text-stroke:1px rgba(255,255,255,.55);color:transparent}
.marquee span:nth-of-type(odd){color:#fff;-webkit-text-stroke:0}
.marquee i{color:var(--blue-2);font-style:normal;font-size:22px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- SECTIONS ---------- */
.section{padding:130px 0;position:relative}
.section-head{max-width:720px;margin-bottom:56px}
.section-head--row{display:flex;justify-content:space-between;align-items:flex-end;max-width:none;gap:24px;flex-wrap:wrap}
.section-head p{color:var(--muted);margin:14px 0 0;font-size:17px}
.h2{font:800 clamp(38px,5vw,68px)/.95 var(--f-display);text-transform:uppercase;margin:0;letter-spacing:-.005em}
.chev{color:var(--blue);font-weight:900;margin-right:.1em}
.kicker{display:inline-block;font:700 13px var(--f-display);letter-spacing:.3em;text-transform:uppercase;color:var(--blue-2);margin-bottom:16px}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}
.split .w>span{display:inline-block}

/* ---------- ABOUT ---------- */
.about__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}
.about__media{position:relative;max-width:520px}
.about__frame{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid var(--line-2);background:#000}
.about__frame img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:contrast(1.05) saturate(.9)}
.about__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,7,11,.85)),linear-gradient(200deg,rgba(31,107,255,.35),transparent 45%);mix-blend-mode:normal}
.about__ring{position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,var(--blue-2) 85%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 6s linear infinite}
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes spin{to{--a:360deg}}
.about__badge{position:absolute;z-index:3;width:150px;height:150px;right:-44px;top:-44px;filter:drop-shadow(0 0 30px var(--blue-glow))}
.about__chip{position:absolute;left:-24px;bottom:40px;background:rgba(15,20,29,.85);backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:14px;padding:14px 18px;font-size:13px;color:var(--muted);line-height:1.4}
.about__chip b{color:#fff;font:700 15px var(--f-display);letter-spacing:.1em;text-transform:uppercase}
@keyframes float{50%{transform:translateY(-14px) rotate(4deg)}}
.about__text p{color:#b9c2cf;font-size:17px}
.about__creds{list-style:none;padding:0;margin:26px 0 36px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.about__creds li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#dbe1ea}
.about__creds svg{flex:none;color:var(--blue-2);font-size:18px;margin-top:3px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px}
.stat b{display:block;font:800 40px/1 var(--f-display);color:#fff}
.stat small{color:var(--muted);font-size:13px}

/* ---------- JOURNEY ---------- */
.journey{background:linear-gradient(180deg,var(--bg),var(--bg-2) 30%,var(--bg))}
.journey__stage{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:20px;overflow:hidden}
.journey__slides{position:relative;height:440px}
.jslide{position:absolute;inset:0;display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;opacity:0;visibility:hidden}
.jslide.is-active{opacity:1;visibility:visible}
.jslide__img{height:100%;border-radius:16px;background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--line)}
.jslide__txt{padding-right:30px}
.jslide__year{display:block;font:900 clamp(80px,10vw,150px)/.8 var(--f-display);background:var(--chrome);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.95;margin-bottom:16px}
.jslide h3{font:800 34px/1 var(--f-display);text-transform:uppercase;margin:0 0 12px}
.jslide p{color:#b9c2cf;margin:0;font-size:17px}
.jslide b{color:#fff}
.journey__nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.journey__years{position:relative;display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--bg);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.journey__years button{position:relative;z-index:1;padding:10px 18px;font:700 15px var(--f-display);letter-spacing:.12em;color:var(--muted);transition:color .3s}
.journey__years button.is-active{color:#fff}
.journey__ind{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--blue);box-shadow:0 0 20px var(--blue-glow);transition:transform .5s var(--ease),width .5s var(--ease)}

/* ---------- RESULTS ---------- */
.carousel-ctrl{display:flex;align-items:center;gap:14px}
.carousel-progress{width:120px;height:3px;background:var(--line-2);border-radius:3px;overflow:hidden}
.carousel-progress span{display:block;height:100%;width:20%;background:var(--blue-2);transition:width .4s var(--ease)}
.carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(clamp(24px,3vw,30px),calc((100vw - var(--container))/2 + 30px)) 10px;scrollbar-width:none;cursor:grab}
.carousel::-webkit-scrollbar{display:none}
.carousel.is-drag{cursor:grabbing;scroll-snap-type:none}
.carousel.is-drag *{pointer-events:none}
.rcard{flex:0 0 min(400px,82vw);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .4s,transform .5s var(--ease)}
.rcard:hover{border-color:rgba(63,162,255,.45);transform:translateY(-6px)}
.rcard__img{aspect-ratio:1/1;overflow:hidden;background:#000}
.rcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.rcard:hover .rcard__img img{transform:scale(1.05)}
.rcard__info{padding:22px 24px 26px}
.rcard h3{font:800 26px var(--f-display);text-transform:uppercase;margin:10px 0 6px}
.rcard p{color:var(--muted);margin:0;font-size:15px}
.pill{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(31,107,255,.15);border:1px solid rgba(63,162,255,.35);color:var(--blue-2);font:700 12px var(--f-display);letter-spacing:.14em;text-transform:uppercase}

/* ---------- QUOTE BAND ---------- */
.quote-band{position:relative;padding:160px 0;overflow:hidden;text-align:center}
.quote-band__bg{position:absolute;inset:-20% 0;background-size:cover;background-position:center;filter:grayscale(1) brightness(.18) contrast(1.2)}
.quote-band::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 50%,rgba(31,107,255,.18),transparent 70%),linear-gradient(180deg,var(--bg),transparent 25%,transparent 75%,var(--bg))}
.quote-band .container{position:relative;z-index:2}
.quote-band blockquote{margin:0 auto;max-width:980px;font:800 clamp(30px,4.2vw,58px)/1.05 var(--f-display);text-transform:uppercase}
.quote-band cite{display:block;margin-top:26px;font:600 15px var(--f-display);letter-spacing:.25em;color:var(--muted);font-style:normal;text-transform:uppercase}
.split-words .wd{display:inline-block;opacity:.12;transition:opacity .2s}

/* ---------- WINS ---------- */
.wins__counters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.wcount{padding:28px;border-radius:var(--radius);background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line);position:relative;overflow:hidden}
.wcount::before{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,var(--blue-glow),transparent 70%)}
.wcount b{display:block;font:900 54px/1 var(--f-display);text-transform:uppercase}
.wcount b>span:not([data-count]){color:var(--blue-2);margin:0 .08em}
.wcount small{color:var(--muted);font-size:14px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:16px}
.g{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);cursor:zoom-in;background:#000}
.g--tall{grid-row:span 2}
.g img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s}
.g:hover img{transform:scale(1.06)}
.g figcaption{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(5,7,11,.7);backdrop-filter:blur(8px);font:700 12px var(--f-display);letter-spacing:.16em;text-transform:uppercase;transform:translateY(8px);opacity:0;transition:.4s var(--ease)}
.g:hover figcaption{opacity:1;transform:none}

/* ---------- SERVICES ---------- */
.services{background:linear-gradient(180deg,var(--bg),var(--bg-2))}
.tabs{position:relative;display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--surface);border:1px solid var(--line);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin-bottom:30px}
.tab{position:relative;z-index:1;padding:12px 22px;font:700 14px var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;transition:color .3s}
.tab.is-active{color:#fff}
.tabs__ind{position:absolute;top:5px;bottom:5px;left:0;border-radius:999px;background:var(--blue);transition:transform .5s var(--ease),width .5s var(--ease)}
.tabpanes{position:relative}
.pane{display:none;grid-template-columns:1fr 1.1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;min-height:520px}
.pane.is-active{display:grid}
.pane__img{background-size:cover;background-position:center 25%;min-height:320px;position:relative}
.pane__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--surface))}
.pane__img--contain{background-size:62%;background-repeat:no-repeat;background-position:center;background-color:var(--bg-2);box-shadow:inset 0 0 120px rgba(31,107,255,.22)}
.pane__txt{padding:48px 48px 40px}
.pane h3{font:800 clamp(30px,3.2vw,44px)/1 var(--f-display);text-transform:uppercase;margin:0 0 14px}
.lead{color:#c1c9d6;font-size:17px;margin:0 0 22px}
.checks{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:10px}
.checks li{position:relative;padding-left:30px;color:#dbe1ea}
.checks li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:rgba(31,107,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233fa2ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat;border:1px solid rgba(63,162,255,.4)}
.testi{margin-top:32px;padding:20px 22px;border-left:3px solid var(--blue);background:rgba(255,255,255,.025);border-radius:0 12px 12px 0}
.testi p{margin:0 0 8px;font-style:italic;color:#dfe5ee}
.testi span{font-size:13px;color:var(--muted)}
.testi b{color:#fff}

/* ---------- STEPS ---------- */
.steps__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{padding:34px 26px 30px;border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--surface);position:relative;transition:border-color .4s,transform .5s var(--ease)}
.step:hover{border-color:rgba(63,162,255,.45);transform:translateY(-6px)}
.step b{font:900 56px/1 var(--f-display);background:var(--chrome);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.step h3{font:800 24px var(--f-display);text-transform:uppercase;margin:12px 0 6px}
.step p{color:var(--muted);margin:0;font-size:15px}

/* ---------- FAQ ---------- */
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.faq__grid .h2{margin-bottom:18px}
.faq__grid .muted{margin:0 0 26px}
.accordion details{border-bottom:1px solid var(--line);padding:6px 0}
.accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:700 21px var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font:400 22px var(--f-body);transition:transform .4s var(--ease),background .3s}
.accordion details[open] summary::after{transform:rotate(45deg);background:var(--blue);border-color:var(--blue)}
.accordion p{margin:0 0 20px;color:var(--muted);max-width:620px}

/* ---------- FINAL ---------- */
.final{position:relative;padding:150px 0;text-align:center;overflow:hidden;border-top:1px solid var(--line)}
.final__glow{position:absolute;left:50%;top:50%;width:900px;height:900px;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(31,107,255,.28),transparent 60%);filter:blur(20px)}
.final__inner{position:relative}
.final__logo{width:150px;height:150px;margin:0 auto 26px;filter:drop-shadow(0 0 40px var(--blue-glow))}
.final p{color:#c1c9d6;font-size:18px;margin:18px 0 34px}

/* ---------- FOOTER ---------- */
.footer{border-top:1px solid var(--line);padding:32px 0;background:#03050a}
.footer__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.footer__copy{justify-self:start}
.footer__brand{display:block;transition:opacity .3s}
.footer__brand img{width:64px;height:64px;object-fit:contain}
.footer__brand:hover{opacity:.8}
.footer__end{justify-self:end;display:flex;align-items:center;gap:28px;padding-right:88px} /* espaço do botão flutuante do WhatsApp */
.footer p,.footer small{color:var(--muted);margin:0;font-size:14px;letter-spacing:.04em}
.footer__links{display:flex;gap:10px}
.footer__links a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font-size:19px;transition:.3s}
.footer__links a:hover{background:var(--blue);border-color:var(--blue)}
.footer__by{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;letter-spacing:.04em}
.footer__by img{width:52px;height:auto;opacity:.9;transition:opacity .3s}
.footer__by:hover img{opacity:1}
@media (max-width:900px){
  .footer__inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:20px}
  .footer__brand{order:-1}
  .footer__copy,.footer__end{justify-self:center}
  .footer__end{flex-direction:column;gap:18px;padding-right:0}
  .footer{padding-bottom:110px}
}

.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#05210f;font-size:30px;box-shadow:0 10px 30px -6px rgba(37,211,102,.6);transition:transform .35s var(--ease)}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:ping 2.2s ease-out infinite}
.wa-float:hover{transform:scale(1.08)}
@keyframes ping{to{transform:scale(1.6);opacity:0}}

/* ---------- LIGHTBOX ---------- */
.lightbox{position:fixed;inset:0;z-index:150;background:rgba(3,5,10,.92);backdrop-filter:blur(10px);display:grid;place-items:center;padding:40px;opacity:0;visibility:hidden;transition:.4s}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox img{max-height:86vh;max-width:min(92vw,1100px);border-radius:14px;transform:scale(.94);transition:transform .5s var(--ease)}
.lightbox.is-open img{transform:none}
.lightbox__close{position:absolute;top:20px;right:24px;font-size:40px;line-height:1;width:52px;height:52px}

/* ---------- QUIZ ---------- */
.quiz{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;visibility:hidden}
.quiz.is-open{visibility:visible}
.quiz__backdrop{position:absolute;inset:0;background:rgba(3,5,10,.82);backdrop-filter:blur(12px);opacity:0;transition:opacity .45s}
.quiz.is-open .quiz__backdrop{opacity:1}
.quiz__panel{position:relative;width:100%;max-width:720px;max-height:calc(100dvh - 40px);display:flex;flex-direction:column;background:linear-gradient(180deg,#101724,#0b1019);border:1px solid var(--line-2);border-radius:24px;overflow:hidden;
  transform:translateY(30px) scale(.97);opacity:0;transition:transform .55s var(--ease),opacity .4s;box-shadow:0 40px 120px -20px rgba(0,0,0,.8),0 0 0 1px rgba(63,162,255,.08)}
.quiz.is-open .quiz__panel{transform:none;opacity:1}
.quiz__top{display:flex;justify-content:space-between;align-items:center;padding:18px 24px}
.quiz__brand{display:flex;align-items:center;gap:10px;font:700 15px var(--f-display);letter-spacing:.16em;text-transform:uppercase}
.quiz__brand img{}
.quiz__close{font-size:30px;line-height:1;width:40px;height:40px;border-radius:50%;transition:background .3s}
.quiz__close:hover{background:var(--surface-2)}
.quiz__progress{height:3px;background:var(--line);margin:0 24px;border-radius:3px;overflow:hidden}
.quiz__progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--blue-2));box-shadow:0 0 10px var(--blue);transition:width .5s var(--ease)}
.quiz__steplabel{padding:12px 24px 0;font:700 12px var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--blue-2)}
.quiz__form{flex:1;overflow-y:auto;padding:6px 24px 24px;overscroll-behavior:contain}
.qstep{display:none}
.qstep.is-active{display:block;animation:stepIn .5s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.qstep h3{font:800 clamp(28px,4vw,38px)/1 var(--f-display);text-transform:uppercase;margin:6px 0 8px}
.qhint{color:var(--muted);margin:0 0 20px}
.qlabel{font:700 13px var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:#c4ccd8;margin:22px 0 10px}
.options{display:grid;gap:10px;margin-bottom:16px}
.options--row{display:flex;flex-wrap:wrap}
.options button{padding:15px 18px;border-radius:14px;border:1px solid var(--line-2);background:rgba(255,255,255,.025);text-align:left;font-weight:500;transition:border-color .25s,background .25s,transform .25s var(--ease)}
.options--row button{padding:12px 18px;text-align:center}
.options button:hover{border-color:rgba(63,162,255,.6)}
.options button.is-selected{border-color:var(--blue-2);background:rgba(31,107,255,.16);box-shadow:inset 0 0 0 1px var(--blue-2)}
.options button:active{transform:scale(.98)}
.options--cards{grid-template-columns:repeat(3,1fr)}
.options--cards button{padding:0;overflow:hidden;display:flex;flex-direction:column}
.options--cards .oc-img{aspect-ratio:4/3;background-size:cover;background-position:center 25%;filter:grayscale(.6);transition:filter .3s}
.options--cards button.is-selected .oc-img,.options--cards button:hover .oc-img{filter:none}
.options--cards .oc-t{padding:14px;font:800 18px/1.05 var(--f-display);text-transform:uppercase}
.options--cards .oc-s{display:block;font:400 13px/1.3 var(--f-body);text-transform:none;color:var(--muted);margin-top:4px}
.options--plans button{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px}
.options--plans b{font:800 22px var(--f-display);text-transform:uppercase;display:block}
.options--plans small{color:var(--muted)}
.options--plans .flag{font:700 11px var(--f-display);letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--blue);color:#fff;white-space:nowrap}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px}
.field{display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:1/-1}
.field span{font:600 13px var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:#c4ccd8}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--text);font:inherit;font-size:16px;transition:border-color .25s,box-shadow .25s;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d97a8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.field select option{background:#0f141d}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue-2);box-shadow:0 0 0 4px rgba(31,107,255,.18)}
.field.is-invalid input,.field.is-invalid select{border-color:#ff5a6a}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:14px;color:#c1c9d6;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--blue);flex:none;margin-top:1px}
.quiz__nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid var(--line);background:rgba(5,7,11,.4)}
.quiz__err{color:#ff7a87;font-size:14px;text-align:center;flex:1}
.qstep--final{text-align:center}
.done-badge{width:72px;height:72px;border-radius:50%;margin:10px auto 14px;display:grid;place-items:center;background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.5);color:var(--wa);font-size:34px;animation:popIn .6s var(--ease)}
@keyframes popIn{from{transform:scale(.4);opacity:0}}
.summary{text-align:left;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 20px;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px}
.summary dt{color:var(--muted)}
.summary dd{margin:0;color:#fff;font-weight:500}
.final-actions{display:grid;gap:12px}
.final-actions .btn{width:100%}
.tiny{font-size:12px;color:var(--muted);margin:14px 0 0}

/* ---------- REVEAL DEFAULTS (JS anima) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(40px)}
.js .reveal-hero{opacity:0}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .hero__grid{grid-template-columns:1fr;height:auto}
  .hero__main{min-height:520px}
  .panels{height:420px}
  .about__grid{gap:50px}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .nav{display:none}          /* no mobile quem abre é o .mnav */
  .burger{display:block;z-index:2}
  .header__cta{display:none}
  .about__grid,.faq__grid{grid-template-columns:1fr}
  .about__media{margin:0 auto}
  .jslide{grid-template-columns:1fr;grid-template-rows:220px auto;gap:20px}
  .journey__slides{height:560px}
  .jslide__txt{padding:0 6px}
  .pane{grid-template-columns:1fr}
  .pane__img::after{background:linear-gradient(180deg,transparent 60%,var(--surface))}
  .pane__txt{padding:30px 24px}
  .steps__grid{grid-template-columns:1fr 1fr}
  .wins__counters{grid-template-columns:1fr}
}
@media (max-width:640px){
  .container{padding:0 16px}
  .section{padding:90px 0}
  .header__inner{height:70px}
  .header__brand img{width:42px;height:42px}
  .hero{padding-top:84px}
  .hero__main{min-height:500px}
  .hero__main-content{padding:24px}
  .panels{height:auto;flex-direction:column}
  .panel{flex:none;height:86px}
  .panel.is-active{flex:none;height:340px}
  .panel:not(.is-active) h3{writing-mode:horizontal-tb;transform:none;position:static;translate:none;font-size:22px}
  .panel:not(.is-active) .panel__tag{position:static;translate:none}
  .panel:not(.is-active) .panel__body{flex-direction:row;align-items:center;gap:14px;padding:0 20px;top:0;justify-content:flex-start}
  .about__creds{grid-template-columns:1fr}
  .about__badge{width:100px;height:100px;right:-8px;top:-30px}
  .about__chip{left:10px}
  .stats{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .stat{padding:14px}
  .stat b{font-size:28px}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px;gap:10px}
  .steps__grid{grid-template-columns:1fr}
  .options--cards{grid-template-columns:1fr}
  .options--cards button{flex-direction:row;align-items:stretch}
  .options--cards .oc-img{aspect-ratio:auto;width:110px;flex:none}
  .fields{grid-template-columns:1fr 1fr}
  .quiz{padding:0}
  .quiz__panel{max-height:100dvh;height:100dvh;border-radius:0}
  .btn--lg{--h:56px;padding:0 22px;font-size:14px}
  .final-actions .btn{white-space:normal;height:auto;min-height:56px;padding:12px 18px}
  .marquee{margin-top:24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .js [data-reveal],.js .reveal-hero{opacity:1;transform:none}
}

/* logo PNG transparente (não é quadrada) */
img[src*="logo-"]{object-fit:contain}

/* =========================================================
   SISTEMA VISUAL — replicado da referência (renatocariani.com.br)
   Tipografia, espaçamentos, bordas e onde a cor aparece.
   Medidas da referência em 1920px: unidade ≈ 9,44px (--u),
   seções 10u/5u, laterais 6u, header 3u, títulos 36px 300+700,
   cards 24px, corpo 16px/24px, tracking 0.08em, cards 8px,
   botões em pílula, controles em vidro cinza. Cor (nosso azul)
   só como acento: chevron, palavra forte do título, indicador
   ativo e CTA principal.
   ========================================================= */
body{font:400 16px/24px var(--f-body);letter-spacing:var(--ls)}
p{letter-spacing:var(--ls)}

/* títulos de seção: leve + forte, como "Minha <strong>trajetória</strong>" */
.h2{font:300 36px/1.15 var(--f-display);letter-spacing:var(--ls)}
.h2 .accent,.h2 .accent span{font-weight:700}
.chev{font-weight:700;color:var(--blue-2)}
.kicker,.eyebrow{font:600 14px/20px var(--f-display);letter-spacing:var(--ls)}
.section{padding:calc(var(--u)*10) 0 calc(var(--u)*5)}
.section-head{margin-bottom:calc(var(--u)*5)}
.section-head p{font-size:16px;line-height:24px;margin-top:calc(var(--u)*1.5)}

/* header: 3u vertical, links 14px condensados, gap 5u */
.header__inner{height:auto;padding-block:calc(var(--u)*3)}
.header__brand{font:700 22px var(--f-display);letter-spacing:var(--ls)}
.header__brand img{width:50px;height:50px}
.nav{gap:calc(var(--u)*5)}
.nav a{font:600 14px/20px var(--f-display);letter-spacing:var(--ls);color:#e6e6e6}

/* botões: pílula, 14px condensado, vidro cinza no secundário */
.btn{--h:50px;font:700 14px var(--f-display);letter-spacing:var(--ls);border-radius:var(--pill);padding:0 calc(var(--u)*2.6)}
.btn--sm{--h:44px;font-size:13px}
.btn--lg{--h:56px;font-size:15px;padding:0 calc(var(--u)*3.5)}
.btn--ghost{background:var(--glass);border:1px solid rgba(70,74,84,.75)}
.btn--ghost:hover{background:rgba(70,74,84,.8);border-color:rgba(255,255,255,.3)}
.round-btn{background:var(--glass);border:1px solid rgba(70,74,84,.75)}

/* hero: card principal ≈28% + faixas, como na referência */
.hero{padding:calc(var(--u)*17) 0 calc(var(--u)*5)}
.hero__main-content{padding:calc(var(--u)*3)}
.hero__title{font:700 clamp(36px,2.9vw,56px)/.95 var(--f-display);letter-spacing:.02em}
.hero__sub{font-size:16px;line-height:24px;color:var(--muted-2)}
.panel__body{padding:calc(var(--u)*2.5)}
.panel h3{font:700 24px/32px var(--f-display);letter-spacing:var(--ls)}
.panel p{font-size:14px;line-height:20px}
.panel__tag,.panel__more{font:600 14px/20px var(--f-display);letter-spacing:var(--ls)}
@media (min-width:1101px){
  .hero__grid{grid-template-columns:minmax(340px,28.4%) 1fr;gap:calc(var(--u)*1.5);height:min(66vh,610px);min-height:520px}
  .panels{gap:calc(var(--u)*1.5);height:80%;align-self:center}
  .panel:not(.is-active) h3{font-size:20px}
}

.marquee span{font:700 clamp(22px,2vw,32px) var(--f-display);letter-spacing:var(--ls)}

/* sobre */
.about__text p{font-size:16px;line-height:24px;color:var(--muted-2)}
.about__creds li{font-size:14px;line-height:20px}
.stat{padding:calc(var(--u)*2.5)}
.stat b{font:700 36px/1 var(--f-display);letter-spacing:var(--ls)}
.stat small,.wcount small{font-size:14px;line-height:20px}

/* trajetória */
.journey__stage{padding:calc(var(--u)*2)}
.jslide__year{font-size:clamp(64px,6vw,110px)}
.jslide h3{font:700 24px/32px var(--f-display);letter-spacing:var(--ls)}
.jslide p{font-size:16px;line-height:24px;color:var(--muted-2)}
.journey__years button{font:600 14px/20px var(--f-display);letter-spacing:var(--ls)}

/* cards de resultado */
.rcard__info{padding:calc(var(--u)*2.5)}
.rcard h3{font:700 24px/32px var(--f-display);letter-spacing:var(--ls);margin:calc(var(--u)) 0 calc(var(--u)*.6)}
.rcard p{font-size:14px;line-height:20px}
.pill{font:600 12px/16px var(--f-display);letter-spacing:var(--ls);border-radius:var(--pill)}

/* citação no padrão leve + forte */
.quote-band{padding:calc(var(--u)*15) 0}
.quote-band blockquote{font:300 clamp(28px,3vw,48px)/1.15 var(--f-display);letter-spacing:var(--ls)}
.quote-band blockquote .accent,.quote-band blockquote .accent span{font-weight:700}
.quote-band cite{font:600 14px var(--f-display);letter-spacing:var(--ls)}

/* conquistas */
.wcount{padding:calc(var(--u)*3)}
.wcount b{font:700 40px/1 var(--f-display);letter-spacing:var(--ls)}
.gallery{gap:calc(var(--u)*1.5)}
.g figcaption{font:600 12px var(--f-display);letter-spacing:var(--ls)}

/* serviços */
.tab{font:600 14px/20px var(--f-display);letter-spacing:var(--ls)}
.pane__txt{padding:calc(var(--u)*5)}
.pane h3{font:700 clamp(26px,2.2vw,32px)/1.1 var(--f-display);letter-spacing:var(--ls)}
.lead{font-size:16px;line-height:24px;color:var(--muted-2)}
.checks li{font-size:14px;line-height:20px}
.checks li::before{top:1px}
.testi p{font-size:16px;line-height:24px}
.testi span{font-size:14px}

/* passos */
.steps__grid{gap:calc(var(--u)*1.5)}
.step{padding:calc(var(--u)*3);border-radius:var(--radius)}
.step b{font-size:48px}
.step h3{font:700 24px/32px var(--f-display);letter-spacing:var(--ls)}
.step p{font-size:14px;line-height:20px}

/* faq / final / rodapé */
.accordion summary{font:600 18px/24px var(--f-display);letter-spacing:var(--ls)}
.accordion p{font-size:16px;line-height:24px}
.final{padding:calc(var(--u)*15) 0}
.final p{font-size:16px;line-height:24px}
.footer p,.footer small{font-size:14px}

/* questionário */
.quiz__panel{border-radius:12px}
.qstep h3{font:700 clamp(24px,3vw,30px)/1.1 var(--f-display);letter-spacing:var(--ls)}
.qlabel,.field span,.quiz__steplabel,.quiz__brand{letter-spacing:var(--ls)}
.options button,.field input,.field select,.field textarea,.summary{border-radius:var(--radius)}
.options--plans b{font:700 20px var(--f-display);letter-spacing:var(--ls)}

@media (max-width:640px){
  .h2{font-size:28px}
  .hero{padding-top:calc(var(--u)*16)}
  .stat b{font-size:28px}
  .wcount b{font-size:34px}
  .pane__txt{padding:calc(var(--u)*4) calc(var(--u)*3.5)}
}

/* nav compacta entre tablet e notebook pequeno (evita colidir com a logo) */
@media (min-width:901px) and (max-width:1240px){
  .nav{gap:calc(var(--u)*2.6)}
  .nav a{font-size:13px}
  .header__brand span{display:none}
  .header__inner{gap:calc(var(--u)*2.5)}
}

/* hero sem bordas (como na referência): nem a azul do painel ativo, nem a fina dos demais */
.hero__main,.panel,.panel.is-active{border:0}

/* =========================================================
   MENU MOBILE (tela cheia)
   100lvh cobre também a área atrás da barra do Safari; o padding
   inferior devolve essa diferença para o conteúdo não ficar embaixo dela.
   ========================================================= */
.mnav{position:fixed;top:0;left:0;right:0;height:100vh;height:100lvh;z-index:110;display:flex;flex-direction:column;
  padding:calc(env(safe-area-inset-top) + 12px) 20px calc(100lvh - 100dvh + env(safe-area-inset-bottom) + 24px);
  background:radial-gradient(120% 60% at 100% 0%,rgba(31,107,255,.22),transparent 60%),radial-gradient(90% 50% at 0% 100%,rgba(31,107,255,.12),transparent 60%),#05070b;
  visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease),opacity .4s,visibility 0s .6s;overscroll-behavior:contain;overflow-y:auto}
.mnav.is-open{visibility:visible;opacity:1;clip-path:inset(0 0 0 0);transition:clip-path .6s var(--ease),opacity .3s,visibility 0s}
.mnav__top{display:flex;align-items:center;justify-content:space-between;min-height:60px}
.mnav__top .header__brand img{width:44px;height:44px}
.mnav__close{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid rgba(70,74,84,.75);font-size:22px}
.mnav__links{display:flex;flex-direction:column;margin:auto 0;padding:24px 0}
.mnav__links a{display:flex;align-items:baseline;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line);
  font:700 clamp(30px,9vw,40px)/1 var(--f-display);letter-spacing:var(--ls);text-transform:uppercase;color:#fff;
  opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .6s var(--ease),color .3s}
.mnav__links a:first-child{border-top:1px solid var(--line)}
.mnav__links small{font:600 13px var(--f-display);letter-spacing:var(--ls);color:var(--blue-2);min-width:22px}
.mnav__links a.is-current,.mnav__links a:active{color:var(--blue-2)}
.mnav__bottom{display:grid;gap:18px;opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.mnav__bottom .btn{width:100%}
.mnav__social{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mnav__social a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:var(--pill);background:var(--glass);border:1px solid rgba(70,74,84,.75);
  font:600 14px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.mnav__social svg{font-size:18px}
.mnav.is-open .mnav__links a,.mnav.is-open .mnav__bottom{opacity:1;transform:none;transition-delay:calc(.18s + var(--i) * .05s)}
body.menu-open .wa-float{opacity:0;pointer-events:none}
.wa-float{transition:transform .35s var(--ease),opacity .3s}
@media (min-width:901px){.mnav{display:none}}

/* hero no celular: botões empilhados e inteiros dentro do card */
@media (max-width:640px){
  .hero__main{min-height:0}
  .hero__main-content{padding:calc(var(--u)*4) calc(var(--u)*3.5) calc(var(--u)*4.5);padding-top:180px}
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn{width:100%}
  .header__inner{padding-block:12px}
}

/* =========================================================
   VALORES (dados dos PDFs oficiais)
   ========================================================= */
.pane--pricing.is-active{display:block}
.pane--pricing{min-height:0;padding:calc(var(--u)*5)}
.pricing__head{display:flex;justify-content:space-between;align-items:flex-end;gap:calc(var(--u)*3);flex-wrap:wrap;margin-bottom:calc(var(--u)*4)}
.pricing__head h3{margin:0 0 10px}
.pricing__head .lead{max-width:620px;margin:0}

/* seletor segmentado (vidro cinza + indicador azul, como as abas da referência) */
.seg{display:inline-flex;gap:4px;padding:5px;border-radius:var(--pill);background:var(--bg);border:1px solid var(--line);max-width:100%;overflow-x:auto;scrollbar-width:none}
.seg button{padding:10px 18px;border-radius:var(--pill);font:600 14px/20px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase;color:var(--muted);white-space:nowrap;transition:background .3s,color .3s}
.seg button:hover{color:#fff}
.seg button.is-active{background:var(--blue);color:#fff;box-shadow:0 6px 20px -8px var(--blue-glow)}

.plans{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*2)}
.plan{position:relative;display:flex;flex-direction:column;padding:calc(var(--u)*4);border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line)}
.plan--featured{background:linear-gradient(180deg,rgba(31,107,255,.12),rgba(31,107,255,.02) 60%),var(--bg-2);border-color:rgba(63,162,255,.35)}
.plan__flag{position:absolute;top:calc(var(--u)*2.5);right:calc(var(--u)*2.5);padding:5px 12px;border-radius:var(--pill);background:var(--blue);font:600 12px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.plan__tag{font:700 24px/32px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.plan__price{display:flex;align-items:baseline;gap:4px;margin:calc(var(--u)*1.5) 0 4px;font-family:var(--f-display)}
.plan__price small{font:600 20px var(--f-display);color:var(--muted-2)}
.plan__price b{font:700 clamp(48px,4.4vw,64px)/1 var(--f-display);letter-spacing:.01em}
.plan__price span{font:600 22px var(--f-display);color:var(--muted-2)}
.plan__price em{font:500 16px var(--f-body);font-style:normal;color:var(--muted);margin-left:4px}
.plan__price.bump b{animation:bump .45s var(--ease)}
@keyframes bump{0%{opacity:.2;transform:translateY(10px)}100%{opacity:1;transform:none}}
.plan__eq{min-height:24px;margin:0 0 calc(var(--u)*2.5);font-size:14px;line-height:20px;color:var(--muted-2)}
.plan__eq b{color:#fff}
.plan__eq .save{color:var(--blue-2);font-weight:600}
.plan .checks{flex:1;margin-bottom:calc(var(--u)*3)}
.plan .btn{width:100%}
.testi--row{margin-top:calc(var(--u)*3)}

/* presencial: card de preço + método */
.plans--presencial{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.method{padding:calc(var(--u)*4);border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2)}
.method__kicker{margin:0 0 calc(var(--u)*2);font:700 24px/32px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.method__steps{list-style:none;margin:0;padding:0;display:grid;gap:calc(var(--u)*2);counter-reset:m}
.method__steps li{position:relative;padding-left:44px;counter-increment:m}
.method__steps li::before{content:counter(m,decimal-leading-zero);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid rgba(70,74,84,.75);font:700 13px var(--f-display);color:var(--blue-2)}
.method__steps b{display:block;font:700 16px/24px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.method__steps span{display:block;font-size:14px;line-height:20px;color:var(--muted-2)}
.method__note{margin:calc(var(--u)*2.5) 0 0;padding-top:calc(var(--u)*2);border-top:1px solid var(--line);font-size:13px;line-height:18px;color:var(--muted)}

/* regras do presencial */
.rules{margin-top:calc(var(--u)*2.5);border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2)}
.rules summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:calc(var(--u)*2.5) calc(var(--u)*3);font:600 18px/24px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.rules summary::-webkit-details-marker{display:none}
.rules summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid rgba(70,74,84,.75);font:400 20px var(--f-body);transition:transform .4s var(--ease),background .3s}
.rules[open] summary::after{transform:rotate(45deg);background:var(--blue);border-color:var(--blue)}
.rules__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:calc(var(--u)*2.5) calc(var(--u)*3);padding:0 calc(var(--u)*3) calc(var(--u)*3)}
.rules h4{margin:0 0 6px;font:700 15px/20px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase;color:var(--blue-2)}
.rules p{margin:0;font-size:14px;line-height:20px;color:var(--muted-2)}

/* mural de resultados do time */
.twall__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:calc(var(--u)*7) 0 calc(var(--u)*2.5)}
.twall__head h3{margin:0;font:300 28px/1.15 var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.twall__head h3 .accent,.twall__head h3 .accent span{font-weight:700}
.twall__head p{margin:0;font-size:14px;color:var(--muted)}
.twall{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*1.5)}
.twall .g{aspect-ratio:7/6}

/* questionário: grupos e preços */
.qgroup{margin:14px 0 2px;font:700 13px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase;color:var(--blue-2)}
.qgroup:first-child{margin-top:0}
.options--plans button{gap:12px}
.options--plans button > span:first-child{flex:1}
.qprice{font:700 18px var(--f-display);letter-spacing:.02em;white-space:nowrap}
.qprice small{font:500 12px var(--f-body);color:var(--muted)}
.options--plans .flag{order:-1;align-self:flex-start}

@media (max-width:900px){
  .plans,.plans--presencial{grid-template-columns:1fr}
  .twall{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .pane--pricing{padding:calc(var(--u)*3.5) calc(var(--u)*3)}
  .pricing__head{margin-bottom:calc(var(--u)*3)}
  .seg{width:100%}
  .seg button{flex:1;padding:10px 8px}
  .plan,.method{padding:calc(var(--u)*3.5) calc(var(--u)*3)}
  .rules summary{padding:calc(var(--u)*3)}
  .rules__grid{padding:0 calc(var(--u)*3) calc(var(--u)*3)}
  .twall__head{flex-direction:column;gap:4px}
  .twall__head h3{font-size:24px}
  .options--plans .flag{display:none}
}

/* valores no celular: seletor em colunas iguais e selo acima do título */
@media (max-width:640px){
  .seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;overflow:visible}
  .seg button{padding:10px 2px;font-size:12px;letter-spacing:.03em}
  .plan__flag{position:static;align-self:flex-start;margin-bottom:12px}
}

/* passos do Pix na tela final do questionário */
.pix-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:left}
.pix-steps li{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius);background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:13px;line-height:18px;color:var(--muted-2)}
.pix-steps b{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid rgba(70,74,84,.75);font:700 13px var(--f-display);color:var(--blue-2)}
#waBtn svg{font-size:22px}
@media (max-width:640px){.pix-steps{grid-template-columns:1fr}}
/* botão do WhatsApp sempre visível na tela final (gruda no rodapé do questionário) */
.qstep--final .final-actions{position:sticky;bottom:-24px;margin:0 -24px;padding:14px 24px 24px;background:linear-gradient(180deg,rgba(11,16,25,0),#0b1019 28%);z-index:2}
.qstep--final .tiny{margin-top:2px}
@media (max-width:640px){
  .pix-steps{grid-template-columns:repeat(3,1fr);gap:6px}
  .pix-steps li{flex-direction:column;align-items:flex-start;gap:6px;padding:10px;font-size:12px;line-height:15px}
}

/* =========================================================
   TRAJETÓRIA — layout da referência
   título no topo à esquerda; rótulo, texto grande e chips embaixo
   à esquerda; foto grande à direita; brilho desfocado atrás do texto;
   linha de anos com sublinhado.
   ========================================================= */
.journey{background:none}
.jr{position:relative;min-height:clamp(440px,36vw,560px)}
.jr__title{position:relative;z-index:3;margin:0;padding-top:calc(var(--u)*1)}
.journey__slides{position:absolute;inset:0;height:auto}
.jslide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:calc(var(--u)*5);align-items:stretch;opacity:0;visibility:hidden}
.jslide.is-active{opacity:1;visibility:visible}
.jslide__glow{position:absolute;left:-6%;top:10%;width:52%;height:80%;background-size:cover;background-position:center;filter:blur(70px) saturate(.6) brightness(.55);opacity:.55;border-radius:50%;pointer-events:none;z-index:0}
.jslide__txt{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--u)*9) 0 calc(var(--u)*2);min-width:0}
.jslide__label{display:flex;align-items:center;gap:12px;margin:0 0 calc(var(--u)*2);font:700 16px/24px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase;color:#fff}
.jslide__yr{padding:2px 10px;border-radius:var(--pill);background:var(--glass);border:1px solid rgba(70,74,84,.75);font:600 12px/18px var(--f-display);color:var(--muted-2)}
.jslide__desc{margin:0 0 calc(var(--u)*3);font:400 clamp(18px,1.5vw,24px)/1.4 var(--f-body);letter-spacing:.02em;color:var(--muted-2);max-width:560px}
.chips{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 88%,transparent)}
.chips__track{display:flex;gap:12px;width:max-content;animation:chips 22s linear infinite}
.jslide:not(.is-active) .chips__track{animation-play-state:paused}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--pill);border:1px solid var(--line-2);background:rgba(255,255,255,.02);font-size:14px;line-height:20px;white-space:nowrap;color:var(--muted-2)}
.chip b{color:#fff;font-weight:600}
.chip svg{font-size:16px;color:var(--blue-2);flex:none}
@keyframes chips{to{transform:translateX(calc(-50% - 6px))}}
.jslide__img{position:relative;z-index:1;margin:0;border-radius:var(--radius);overflow:hidden;background:#000}
.jslide__img img{width:100%;height:100%;object-fit:cover}

/* linha de anos: texto grande e leve, ativo branco com sublinhado */
.journey__nav{display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*2);margin-top:calc(var(--u)*5)}
.journey__years{position:relative;display:flex;gap:0;padding:0;border-radius:0;background:none;border:0;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);overflow-x:auto;scrollbar-width:none}
.journey__years::-webkit-scrollbar{display:none}
.journey__years button{padding:10px clamp(14px,1.6vw,26px) 12px;font:600 clamp(18px,1.6vw,24px)/1 var(--f-display);letter-spacing:var(--ls);color:var(--dim);transition:color .3s}
.journey__years button:hover{color:var(--muted-2)}
.journey__years button.is-active{color:#fff;font-weight:700}
.journey__ind{top:auto;bottom:-1px;height:2px;border-radius:0;background:var(--blue-2);box-shadow:none}
.jr__arrow{width:40px;height:40px;display:grid;place-items:center;color:var(--muted-2);font-size:22px;transition:color .3s,transform .3s var(--ease)}
.jr__arrow:hover{color:#fff}
#jPrev:hover{transform:translateX(-3px)}#jNext:hover{transform:translateX(3px)}

@media (max-width:900px){
  .jr{min-height:0}
  .journey__slides{position:relative;inset:auto;display:grid}
  .jslide{position:relative;grid-area:1/1;grid-template-columns:1fr;gap:calc(var(--u)*3);margin-top:calc(var(--u)*4)}
  .jslide__img{order:-1;aspect-ratio:16/10}
  .jslide__txt{padding:0}
  .jslide__glow{display:none}
  .journey__nav{gap:4px}
  .journey__years{flex:1;min-width:0}
}

/* destaque dos títulos em azul sólido (como a referência); o texto com
   gradiente recortado duplicava letras sobre camadas com blur */
.h2 .accent,.h2 .accent span,.twall__head .accent,.twall__head .accent span,
.quote-band .accent,.quote-band .accent span{background:none;-webkit-text-fill-color:currentColor;color:var(--blue-2)}

/* =========================================================
   CONQUISTAS — cards de vitória (dados do feed completo)
   ========================================================= */
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*2)}
.wcard{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:border-color .4s,transform .5s var(--ease)}
.wcard:hover{border-color:rgba(63,162,255,.45);transform:translateY(-6px)}
.wcard__img{margin:0;aspect-ratio:4/5;overflow:hidden;background:#000;cursor:zoom-in}
.wcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.wcard:hover .wcard__img img{transform:scale(1.05)}
.wcard__body{padding:calc(var(--u)*2.5)}
.wcard__ev{margin:calc(var(--u)*1.2) 0 2px;font:600 13px/18px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase;color:var(--blue-2)}
.wcard h3{margin:0 0 6px;font:700 24px/30px var(--f-display);letter-spacing:var(--ls);text-transform:uppercase}
.wcard p:last-child{margin:0;font-size:14px;line-height:20px;color:var(--muted-2)}

/* números de transformação acima do carrossel */
.proof{list-style:none;margin:0 0 calc(var(--u)*4);padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:calc(var(--u)*1.5)}
.proof li{padding:calc(var(--u)*2.2) calc(var(--u)*2.5);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.proof b{display:block;font:700 32px/1 var(--f-display);letter-spacing:.02em;color:#fff}
.proof span{display:block;margin-top:6px;font-size:13px;line-height:18px;color:var(--muted-2)}

@media (max-width:1100px){.proof{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.wgrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .wgrid{grid-template-columns:1fr}
  .wcard{flex-direction:row}
  .wcard__img{flex:none;width:42%;aspect-ratio:auto}
  .wcard__body{padding:calc(var(--u)*2.5) calc(var(--u)*2.5)}
  .wcard h3{font-size:20px;line-height:24px}
  .proof{grid-template-columns:1fr 1fr}
  .proof li:last-child{grid-column:1/-1}
  .proof b{font-size:26px}
}

/* painéis fechados: o bloco de texto ocupa a faixa inteira, então o número
   fica no topo e o título vertical embaixo, sem se sobrepor */
/* (bloco antigo do número dos painéis removido) */

/* trajetória: texto e chips maiores (proporção da referência) e foto sem corte */
.jslide .jslide__label{font-size:clamp(18px,1.4vw,22px);line-height:1.3;gap:14px;margin-bottom:calc(var(--u)*2.2);color:#fff}
.jslide__yr{font-size:14px;line-height:20px;padding:3px 12px}
.jslide .jslide__desc{font-size:clamp(20px,1.75vw,30px);line-height:1.35;letter-spacing:.01em;color:#c9ccd3;max-width:640px;margin-bottom:calc(var(--u)*3.5)}
.chips__track{gap:14px;animation-duration:26s}
.chip{padding:11px 20px;font-size:16px;line-height:22px;gap:10px}
.chip svg{font-size:19px}
@media (min-width:901px){
  .jslide__img{aspect-ratio:16/10;align-self:center}
  .jslide__img img{object-position:center 30%}
}
@media (max-width:640px){
  .jslide .jslide__desc{font-size:19px}
  .chip{padding:9px 16px;font-size:14px}
}

/* =========================================================
   RESULTADOS — cards de foto no padrão do site
   texto sobre a foto em degradê escuro, foto levemente tratada
   que ganha cor no hover/ativo, e controles mais vivos
   ========================================================= */
.carousel{gap:calc(var(--u)*2);scroll-padding-inline:max(clamp(24px,3vw,30px),calc((100vw - var(--container))/2 + 30px));padding-bottom:calc(var(--u)*1)}
.rcard{position:relative;flex:0 0 min(380px,80vw);aspect-ratio:4/5;border:0;background:#000;isolation:isolate}
.rcard__img{position:absolute;inset:0;aspect-ratio:auto}
.rcard__img img{filter:saturate(.75) contrast(1.05) brightness(.8);transition:transform 1.2s var(--ease),filter .6s}
.rcard::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,7,11,0) 38%,rgba(5,7,11,.72) 68%,rgba(5,7,11,.96) 100%),
             linear-gradient(0deg,rgba(31,107,255,.18),transparent 40%);transition:opacity .5s}
.rcard__info{position:absolute;inset:auto 0 0;z-index:2;padding:calc(var(--u)*3)}
.rcard__info .pill{margin-bottom:calc(var(--u)*1.2);background:rgba(5,7,11,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rcard h3{margin:0 0 6px}
.rcard p{color:#c9ccd3;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .4s}
.rcard:hover,.rcard.is-current{transform:none}
.rcard:hover .rcard__img img,.rcard.is-current .rcard__img img{filter:none}
.rcard:hover .rcard__img img{transform:scale(1.06)}
.rcard:hover p,.rcard.is-current p{max-height:90px;opacity:1}
.rcard.is-current{box-shadow:0 0 0 1px rgba(63,162,255,.55),0 24px 60px -24px rgba(31,107,255,.55)}

/* controles: contador, barra e setas que deslizam */
.carousel-ctrl{gap:calc(var(--u)*2)}
.car-count{display:flex;align-items:center;gap:10px;font:600 15px var(--f-display);letter-spacing:var(--ls);color:var(--muted)}
.car-count b{color:#fff;font-size:22px;font-weight:700;min-width:28px}
.car-count i{width:18px;height:1px;background:var(--line-2)}
.carousel-progress{width:160px;height:4px;border-radius:4px;background:rgba(255,255,255,.1)}
.carousel-progress span{border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--blue-2));box-shadow:0 0 12px var(--blue-glow);transition:width .6s var(--ease)}
.car-btn{position:relative;width:56px;height:56px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  background:var(--glass);border:1px solid rgba(70,74,84,.75);font-size:22px;transition:border-color .3s,transform .3s var(--ease)}
.car-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--blue);transform:scale(0);transition:transform .45s var(--ease)}
.car-btn svg{position:relative;z-index:1;transition:transform .4s var(--ease)}
.car-btn:hover{border-color:var(--blue)}
.car-btn:hover::before{transform:scale(1)}
.car-btn--next:hover svg{animation:arrowR .6s var(--ease)}
.car-btn:not(.car-btn--next):hover svg{animation:arrowL .6s var(--ease)}
.car-btn:active{transform:scale(.92)}
@keyframes arrowR{0%{transform:translateX(0)}45%{transform:translateX(18px);opacity:0}46%{transform:translateX(-18px);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes arrowL{0%{transform:translateX(0)}45%{transform:translateX(-18px);opacity:0}46%{transform:translateX(18px);opacity:0}100%{transform:translateX(0);opacity:1}}

@media (max-width:640px){
  .rcard{flex-basis:78vw}
  .rcard p{max-height:90px;opacity:1}
  .carousel-ctrl{width:100%;justify-content:space-between}
  .carousel-progress{flex:1;width:auto}
  .car-btn{width:48px;height:48px;font-size:20px}
}
/* o número que conta fica na mesma linha do sinal e da unidade */
.proof b span{display:inline;margin:0;font:inherit;color:inherit;line-height:inherit}

/* carrossel de resultados: sem arrastar nem deslizar — só setas e timer */
.carousel{overflow:hidden;scroll-snap-type:none;cursor:default;touch-action:pan-y}
.carousel .rcard{scroll-snap-align:none}
/* barrinha de tempo até o próximo resultado (15s) */
.rcard__timer{position:absolute;left:0;bottom:0;z-index:3;height:3px;width:100%;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--blue),var(--blue-2));box-shadow:0 0 10px var(--blue-glow);opacity:0}
.rcard.is-current .rcard__timer{opacity:1;animation:carTimer 15s linear forwards}
@keyframes carTimer{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.rcard__timer{display:none}}
/* com a moldura ANTES/DEPOIS, o zoom no hover cortava as etiquetas */
.rcard:hover .rcard__img img{transform:none}
/* card atual sem contorno azul nem brilho — só a linha de tempo marca o destaque */
.rcard,.rcard.is-current,.rcard:hover{box-shadow:none;border:0}

/* citação sem foto/brilho de fundo — só a frase */
.quote-band::after{content:none}

/* =========================================================
   PAINÉIS DO HERO — troca sem "pulo" de texto
   - ao fechar, descrição e "Ver mais" somem na hora (sem transição)
   - ao abrir, o texto entra só depois do painel terminar de alargar
   ========================================================= */
.panel__tag{display:none}
.panel p,.panel__more{transition:none}
.panel:not(.is-active) p,.panel:not(.is-active) .panel__more{opacity:0;visibility:hidden}
.panel.is-active .panel__body > *{animation:panelTextIn .55s var(--ease) .42s both}
.panel.is-active .panel__body > p{animation-delay:.5s}
.panel.is-active .panel__body > .panel__more{animation-delay:.58s}
.panel:not(.is-active) h3{animation:panelTitleIn .45s var(--ease) .25s both}
@keyframes panelTextIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes panelTitleIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.panel .panel__body > *,.panel h3{animation:none!important}}

/* ---------- WhatsApp flutuante: pulso suave (sem anel serrilhado) ---------- */
.wa-float{isolation:isolate}
.wa-float::before,.wa-float::after{content:"";position:absolute;inset:0;border:0;border-radius:50%;background:var(--wa);z-index:-1;opacity:0;transform:translateZ(0) scale(1);will-change:transform,opacity;backface-visibility:hidden;animation:waPulse 2.4s cubic-bezier(.22,.61,.36,1) infinite}
.wa-float::after{animation-delay:1.2s}
@keyframes waPulse{0%{transform:translateZ(0) scale(1);opacity:.45}100%{transform:translateZ(0) scale(1.75);opacity:0}}
@media (prefers-reduced-motion:reduce){.wa-float::before,.wa-float::after{animation:none}}
