/* AFS — camada de efeitos premium (inspirada em componentes 21st.dev / Magic UI)
   Vanilla CSS, sem dependências. Respeita prefers-reduced-motion. */
@property --fx-a{syntax:'<angle>';inherits:false;initial-value:0deg}
:root{--fx-ease:cubic-bezier(.22,1,.36,1);--fx-lime:#a9e27a;--fx-lime-2:#7cc52c}

/* ---------- Barra de progresso de leitura ---------- */
.fx-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:999;pointer-events:none;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,#7cc52c,#1fa855 55%,#a9e27a)}

/* ---------- Header glass ---------- */
.afs-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,0);transition:background-color .35s,backdrop-filter .35s;pointer-events:none}
.afs-header{transition:box-shadow .35s}
.afs-header.fx-scrolled{background:transparent;box-shadow:0 1px 0 rgba(8,59,51,.06),0 12px 32px -16px rgba(8,59,51,.28)}
.afs-header.fx-scrolled::before{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px)}
@media (min-width:961px){
  .afs-menu>li>a,.afs-menu__btn{position:relative}
  .afs-menu>li>a::after,.afs-menu__btn::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,#1f9d4c,#7cc52c);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--fx-ease)}
  .afs-menu>li>a:hover::after,.afs-menu__btn:hover::after,.afs-menu__has.is-open>.afs-menu__btn::after{transform:scaleX(1)}
  .afs-sub{transition:opacity .25s var(--fx-ease),transform .3s var(--fx-ease),visibility .25s}
}

/* ---------- Hero: aurora + grid + spotlight + meteoros ---------- */
.afs-hero,.afs-phero{position:relative;overflow:hidden;isolation:isolate}
.afs-hero__in,.afs-phero__in{position:relative;z-index:2}
.fx-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fx-aurora span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.6;will-change:transform}
.fx-aurora span:nth-child(1){width:560px;height:560px;left:-180px;top:-220px;background:radial-gradient(circle,#1f9d4c 0,transparent 66%);animation:fx-drift1 19s ease-in-out infinite alternate}
.fx-aurora span:nth-child(2){width:520px;height:520px;right:-140px;bottom:-260px;background:radial-gradient(circle,#7cc52c 0,transparent 64%);opacity:.38;animation:fx-drift2 23s ease-in-out infinite alternate}
.fx-aurora span:nth-child(3){width:420px;height:420px;left:38%;top:20%;background:radial-gradient(circle,#0f8f7a 0,transparent 66%);opacity:.45;animation:fx-drift3 27s ease-in-out infinite alternate}
@keyframes fx-drift1{to{transform:translate3d(160px,90px,0) scale(1.15)}}
@keyframes fx-drift2{to{transform:translate3d(-180px,-120px,0) scale(1.2)}}
@keyframes fx-drift3{to{transform:translate3d(-120px,60px,0) scale(.85)}}
.fx-grid{background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 35%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse 75% 70% at 50% 35%,#000 20%,transparent 78%)}
.fx-spot{background:radial-gradient(520px circle at var(--mx,72%) var(--my,35%),rgba(169,226,122,.16),transparent 45%)}
.fx-meteor{position:absolute;top:-8px;width:2px;height:2px;border-radius:50%;background:#e8ffd6;box-shadow:0 0 6px 1px rgba(169,226,122,.6);opacity:0;transform:rotate(215deg);animation:fx-meteor linear infinite}
.fx-meteor::before{content:"";position:absolute;top:50%;width:90px;height:1px;transform:translateY(-50%);background:linear-gradient(90deg,rgba(169,226,122,.9),transparent)}
@keyframes fx-meteor{0%{opacity:1;transform:rotate(215deg) translateX(0)}70%{opacity:1}100%{opacity:0;transform:rotate(215deg) translateX(-760px)}}

/* Kicker como pill com ponto “ao vivo” */
.afs-hero .afs-kicker,.fx-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 15px 7px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(169,226,122,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.afs-hero .afs-kicker::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#7cc52c;animation:fx-ping 2s cubic-bezier(0,0,.2,1) infinite}
@keyframes fx-ping{0%{box-shadow:0 0 0 0 rgba(124,197,44,.75)}80%,100%{box-shadow:0 0 0 10px rgba(124,197,44,0)}}

/* Título: blur-in palavra a palavra + texto com brilho */
.fx-js .afs-hero__title:not(.fx-split),.fx-js .afs-phero__title:not(.fx-split){opacity:.01;animation:fx-show 0s .9s forwards}
@keyframes fx-show{to{opacity:1}}
.fx-w{display:inline-block;opacity:.01;filter:blur(10px);transform:translateY(.32em);animation:fx-word .9s var(--fx-ease) forwards;animation-delay:calc(var(--i,0)*65ms + 60ms)}
@keyframes fx-word{to{opacity:1;filter:blur(0);transform:none}}
.afs-hero__title .fx-w,.afs-phero__title .fx-w{color:#fff}
.afs-hero__title>span:not(.fx-w),.afs-hero__title .fx-w>span{background:linear-gradient(110deg,#a9e27a 20%,#f4ffe9 40%,#7cc52c 58%,#a9e27a 80%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:fx-shine 5.5s linear infinite}
@keyframes fx-shine{to{background-position:-220% center}}

/* Entrada escalonada dos demais itens do hero */
.afs-hero .afs-kicker,.afs-hero__lead,.afs-badges li,.afs-hero__btns,.afs-phero__lead,.afs-phero__btns,.afs-crumbs{animation:fx-up .8s var(--fx-ease) both}
.afs-hero .afs-kicker,.afs-crumbs{animation-delay:0s}
.afs-hero__lead,.afs-phero__lead{animation-delay:.35s}
.afs-badges li:nth-child(1){animation-delay:.48s}.afs-badges li:nth-child(2){animation-delay:.56s}.afs-badges li:nth-child(3){animation-delay:.64s}
.afs-hero__btns,.afs-phero__btns{animation-delay:.72s}
@keyframes fx-up{from{opacity:.01;transform:translateY(16px)}to{opacity:1;transform:none}}
.afs-badges li{border:1px solid rgba(255,255,255,.14);transition:background-color .25s,border-color .25s,transform .25s var(--fx-ease)}
.afs-badges li:hover{background:rgba(169,226,122,.16);border-color:rgba(169,226,122,.45);transform:translateY(-2px)}

/* Caminhão: entrada, flutuação, halo e parallax */
.afs-hero__img,.afs-phero__img{position:relative;transform:translate3d(calc(var(--px,0)*16px),calc(var(--py,0)*10px),0);transition:transform .6s var(--fx-ease)}
.afs-hero__img::before,.afs-phero__img::before{content:"";position:absolute;left:50%;top:50%;width:86%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(169,226,122,.32),rgba(31,157,76,.12) 45%,transparent 68%);z-index:-1;animation:fx-halo 6s ease-in-out infinite}
.afs-hero__img::after,.afs-phero__img::after{content:"";position:absolute;left:18%;right:18%;bottom:4%;height:16px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.4),transparent 70%);z-index:-1;animation:fx-shadow 6s ease-in-out 1.1s infinite}
.afs-hero__img .afs-truck,.afs-phero__img .afs-truck{animation:fx-truck-in 1.1s var(--fx-ease) .15s both,fx-float 6s ease-in-out 1.25s infinite}
@keyframes fx-truck-in{from{opacity:.01;transform:translate3d(60px,0,0) scale(.96)}to{opacity:1;transform:none}}
@keyframes fx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes fx-shadow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.82);opacity:.6}}
@keyframes fx-halo{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}

/* ---------- Botões: shimmer, glow, magnético, ripple ---------- */
.afs-btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .3s var(--fx-ease),box-shadow .3s var(--fx-ease),background-color .2s,color .2s,border-color .2s;transform:translate(var(--tx,0px),var(--ty,0px))}
.afs-btn:hover{transform:translate(var(--tx,0px),calc(var(--ty,0px) - 2px))}
.afs-btn:active{transform:translate(var(--tx,0px),var(--ty,0px)) scale(.97)}
.afs-btn--wa{background:linear-gradient(180deg,#25b95f,#1fa855 55%,#189449);box-shadow:0 10px 26px -10px rgba(31,168,85,.75),inset 0 1px 0 rgba(255,255,255,.28)}
.afs-btn--wa:hover{background:linear-gradient(180deg,#22ad59,#189449);box-shadow:0 16px 34px -10px rgba(31,168,85,.85),0 0 0 4px rgba(31,168,85,.14),inset 0 1px 0 rgba(255,255,255,.28)}
.afs-btn--wa::before,.afs-btn--light::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:fx-sweep 4.2s var(--fx-ease) infinite;pointer-events:none}
.afs-btn--light::before{background:linear-gradient(100deg,transparent,rgba(224,102,27,.18),transparent)}
@keyframes fx-sweep{0%{transform:skewX(-20deg) translateX(0)}55%,100%{transform:skewX(-20deg) translateX(430%)}}
.afs-btn--light{box-shadow:0 10px 26px -12px rgba(0,0,0,.45)}
.afs-btn--ghost-light{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(255,255,255,.04)}
.afs-btn .afs-ico{transition:transform .35s var(--fx-ease)}
.afs-btn:hover .afs-ico{transform:scale(1.12) rotate(-8deg)}
.fx-ripple{position:absolute;z-index:-1;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:fx-ripple .65s ease-out forwards;pointer-events:none}
@keyframes fx-ripple{to{transform:scale(28);opacity:0}}
.afs-btn:focus-visible{outline:3px solid #a9e27a;outline-offset:3px}

/* ---------- Border beam (borda com luz correndo) ---------- */
.fx-beam{position:relative}
.fx-beam::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:3;background:conic-gradient(from var(--fx-a),transparent 0 68%,rgba(124,197,44,.0) 70%,#7cc52c 82%,#d8f5b8 86%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fx-spin 7s linear infinite}
.fx-beam--light::after{background:conic-gradient(from var(--fx-a),transparent 0 68%,#fff 84%,rgba(255,255,255,.6) 87%,transparent 91%)}
@keyframes fx-spin{to{--fx-a:360deg}}

/* ---------- Faixa de diferenciais ---------- */
.afs-strip__list{border-radius:var(--afs-r)}
.afs-strip__list li{transition:background-color .3s}
.afs-strip__list li:hover{background:linear-gradient(180deg,#fff,#f2faf5)}
.afs-strip__list .afs-ico{transition:transform .45s var(--fx-ease)}
.afs-strip__list li:hover .afs-ico{transform:translateY(-3px) scale(1.12)}
.fx-num{font-variant-numeric:tabular-nums}

/* ---------- Marquee (faixa infinita) ---------- */
.fx-marquee{position:relative;overflow:hidden;padding:30px 0 6px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);user-select:none}
.fx-marquee__track{display:flex;width:max-content;animation:fx-marquee 38s linear infinite}
.fx-marquee:hover .fx-marquee__track{animation-play-state:paused}
.fx-marquee__item{display:inline-flex;align-items:center;gap:26px;padding-right:26px;font-family:var(--afs-fh);font-weight:800;font-size:clamp(1.5rem,3.2vw,2.5rem);letter-spacing:-.01em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.2px rgba(8,59,51,.32)}
.fx-marquee__item:nth-child(odd){color:var(--afs-900);-webkit-text-stroke:0}
.fx-marquee__dot{width:12px;height:12px;flex:none;border-radius:3px;transform:rotate(45deg);background:linear-gradient(135deg,#7cc52c,#1f9d4c)}
@keyframes fx-marquee{to{transform:translateX(-50%)}}

/* ---------- Cards: spotlight (magic card) + tilt ---------- */
.afs-card{position:relative;isolation:isolate;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));transition:transform .45s var(--fx-ease),box-shadow .35s,border-color .35s}
.afs-card:hover{--lift:-5px;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));box-shadow:0 22px 44px -18px rgba(8,59,51,.35);border-color:rgba(31,157,76,.35)}
.afs-card.fx-tilting{transition:transform .12s linear,box-shadow .35s,border-color .35s}
.afs-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(124,197,44,.16),transparent 42%);opacity:0;transition:opacity .35s;pointer-events:none}
.afs-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),#7cc52c,transparent 55%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s}
.afs-card:hover::before,.afs-card:hover::after{opacity:1}
.afs-card__ico{position:relative;transition:transform .5s var(--fx-ease),background .35s,color .35s,box-shadow .35s}
.afs-card:hover .afs-card__ico{transform:translateY(-2px) rotate(-6deg) scale(1.06);background:linear-gradient(135deg,#1f9d4c,#7cc52c);color:#fff;box-shadow:0 10px 22px -8px rgba(31,157,76,.6)}
.afs-card__more .afs-ico{transition:transform .35s var(--fx-ease)}
.afs-card:hover .afs-card__more .afs-ico{transform:translateX(5px)}

/* ---------- Passos com barra de progresso ---------- */
.afs-steps li{overflow:hidden;transition:transform .4s var(--fx-ease),box-shadow .4s,border-color .4s,background-color .4s}
.afs-steps li::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,#1f9d4c,#7cc52c);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--fx-ease) calc(var(--d,0ms) + 250ms)}
.afs-steps li.fx-in::after{transform:scaleX(1)}
.afs-steps li::before{background:linear-gradient(135deg,#0e6b57,#1f9d4c);box-shadow:0 0 0 0 rgba(31,157,76,.5);transition:transform .4s var(--fx-ease)}
.afs-steps li.fx-in::before{animation:fx-ping 1.4s cubic-bezier(0,0,.2,1) calc(var(--d,0ms) + .5s) 2}
.afs-steps li:hover{transform:translateY(-4px);background:#fff;border-color:rgba(31,157,76,.35);box-shadow:0 18px 38px -18px rgba(8,59,51,.32)}
.afs-steps li:hover::before{transform:scale(1.1) rotate(-8deg)}

/* ---------- Checklist / chips / FAQ / formulário ---------- */
.afs-checks li{transition:transform .35s var(--fx-ease),border-color .3s,box-shadow .3s}
.afs-checks li:hover{transform:translateX(4px);border-color:rgba(31,157,76,.4);box-shadow:0 8px 20px -12px rgba(8,59,51,.3)}
.afs-chips a{transition:transform .35s var(--fx-ease),box-shadow .3s,border-color .3s,color .3s,background-color .3s}
.afs-chips a:hover{transform:translateY(-3px);background:linear-gradient(180deg,#fff,#f0faf3);box-shadow:0 10px 24px -12px rgba(31,157,76,.55)}
.afs-chips a .afs-ico{transition:transform .4s var(--fx-ease)}
.afs-chips a:hover .afs-ico{transform:translateY(-2px) scale(1.15)}
.afs-faq__item{transition:border-color .3s,box-shadow .3s,background-color .3s}
.afs-faq__item:hover{border-color:rgba(31,157,76,.35)}
.afs-faq__item[open]{border-color:rgba(31,157,76,.45);box-shadow:0 14px 32px -20px rgba(8,59,51,.4)}
.afs-faq__item summary .afs-ico{transition:transform .4s var(--fx-ease)}
.afs-faq__a{overflow:hidden}
.afs-orc__f input,.afs-orc__f select,.afs-orc__f textarea{transition:border-color .25s,box-shadow .25s}
.afs-orc__f input:focus,.afs-orc__f select:focus,.afs-orc__f textarea:focus{outline:0;border-color:#1f9d4c;box-shadow:0 0 0 4px rgba(31,157,76,.16)}
.afs-orc{border-radius:var(--afs-r)}

/* ---------- CTA laranja: gradiente vivo + pontos ---------- */
.afs-cta{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(110deg,var(--afs-or-d),var(--afs-or),#f08a3c,var(--afs-or-d));background-size:300% 100%;animation:fx-grad 12s ease-in-out infinite}
.afs-cta::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.22) 1px,transparent 1.4px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse at 85% 50%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 85% 50%,#000,transparent 70%);pointer-events:none}
@keyframes fx-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ---------- Rodapé e WhatsApp flutuante ---------- */
.afs-footer{position:relative}
.afs-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#7cc52c,#1f9d4c,transparent);background-size:200% 100%;animation:fx-grad 8s linear infinite}
.afs-footer a{transition:color .25s,opacity .25s}
.joinchat__button{animation:fx-wa 2.6s cubic-bezier(0,0,.2,1) infinite}
@keyframes fx-wa{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55),0 6px 18px rgba(0,0,0,.25)}80%,100%{box-shadow:0 0 0 16px rgba(37,211,102,0),0 6px 18px rgba(0,0,0,.25)}}

/* ---------- Reveal ao rolar (blur fade) ---------- */
.fx-r{opacity:0;translate:0 22px;filter:blur(6px);transition:opacity .8s var(--fx-ease) var(--d,0ms),translate .8s var(--fx-ease) var(--d,0ms),filter .8s var(--fx-ease) var(--d,0ms)}
.fx-r.fx-in{opacity:1;translate:none;filter:none}
.fx-r.fx-done{transition:none;filter:none}

/* ---------- Mobile / toque ---------- */
@media (max-width:960px){
  .fx-meteor{display:none}
  .fx-aurora span{filter:blur(50px)}
  .fx-aurora span:nth-child(3){display:none}
  .fx-r{filter:none;translate:0 16px}
  .afs-hero__img,.afs-phero__img{transform:none}
}
/* Corrige drawer mobile que ficava sob o overlay (bug herdado do tema) */
body.afs-nav-open .afs-header{z-index:70}
@media (max-width:960px){.afs-nav.is-open{animation:fx-drawer .38s var(--fx-ease)}}
@keyframes fx-drawer{from{transform:translateX(40px);opacity:.01}to{transform:none;opacity:1}}
@media (max-width:640px){.afs-hero .afs-kicker{font-size:.72rem;letter-spacing:.07em;padding:6px 12px 6px 10px}}
@media (hover:none){.afs-card{transform:none}.afs-btn{transform:none}}

/* ---------- Acessibilidade ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .fx-r,.fx-w{opacity:1!important;translate:none!important;filter:none!important;transform:none!important}
  .fx-meteor,.fx-aurora,.fx-marquee__track{animation:none!important}
  .afs-hero__img,.afs-phero__img,.afs-card,.afs-btn{transform:none!important}
}
