/* =========================================================
   OLION — camada de movimento da home (estilo agência)
   Tudo aqui é progressivo: sem JS ou com "reduzir movimento",
   o conteúdo aparece normalmente.
   ========================================================= */

/* ----- cursor personalizado ----- */
.cursor{position:fixed;inset:0;pointer-events:none;z-index:100;display:none;}
html.has-cursor .cursor{display:block;}
html.has-cursor, html.has-cursor a, html.has-cursor button{cursor:none;}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;will-change:transform;}
.cursor-dot{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--green-soft);}
.cursor-ring{
  width:44px;height:44px;margin:-22px 0 0 -22px;border:1px solid rgba(245,247,246,.35);
  display:flex;align-items:center;justify-content:center;
  transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .35s,border-color .35s;
}
.cursor-label{font:600 12px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#04140a;opacity:0;transform:scale(.6);transition:opacity .3s,transform .4s var(--ease);white-space:nowrap;}
.cursor.is-link .cursor-ring{width:64px;height:64px;margin:-32px 0 0 -32px;border-color:var(--green-soft);background:rgba(47,190,21,.08);}
.cursor.is-label .cursor-ring{width:104px;height:104px;margin:-52px 0 0 -52px;background:var(--green);border-color:var(--green);}
.cursor.is-label .cursor-label{opacity:1;transform:scale(1);}
.cursor.is-label .cursor-dot,.cursor.is-link .cursor-dot{opacity:0;}
.cursor.is-hidden{opacity:0;}

/* ----- links do menu: texto que "rola" no hover ----- */
.hover-roll{display:inline-block;overflow:hidden;vertical-align:top;}
.hover-roll span{display:inline-block;position:relative;transition:transform .5s var(--ease);}
.hover-roll span::after{content:attr(data-text);position:absolute;left:0;top:100%;color:var(--white);}
.hover-roll:hover span{transform:translateY(-100%);}

/* header some ao descer e volta ao subir */
header{transition:transform .5s var(--ease),background .3s var(--ease),padding .3s var(--ease),border-color .3s;}
header.is-hidden{transform:translateY(-110%);}

/* ----- HERO ----- */
.m-hero{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding:130px 0 0;overflow:hidden;}
.m-hero .wrap{width:100%;padding-top:0;padding-bottom:56px;position:relative;}
.m-hero-glow{
  position:absolute;width:900px;height:900px;border-radius:50%;left:50%;top:40%;
  background:radial-gradient(circle, rgba(47,190,21,.18), rgba(47,190,21,.05) 45%, transparent 70%);
  transform:translate(-50%,-50%);pointer-events:none;will-change:transform;
}
.m-hero-title{
  font-size:clamp(44px,7.6vw,116px);line-height:.98;letter-spacing:-.045em;font-weight:600;margin:6px 0 36px;
}
.m-hero-title .accent,.m-title .accent,.m-cta-title .accent{color:var(--green-soft);}
.line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em;}
.line > span{display:inline-block;will-change:transform;}
.m-hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;}
.m-hero-foot .sub{font-size:18px;color:var(--slate);max-width:460px;}
.m-hero .hero-ctas{justify-content:flex-start;}
.m-scroll{position:absolute;right:32px;bottom:175px;width:128px;height:128px;border-radius:50%;display:none;align-items:center;justify-content:center;color:var(--white);}
.m-scroll .ring{position:absolute;inset:0;width:100%;height:100%;animation:mSpin 14s linear infinite;}
.m-scroll .ring text{font:600 10.5px var(--body);letter-spacing:0;text-transform:uppercase;fill:var(--slate);}
.m-scroll .arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;transition:background .4s,border-color .4s,color .4s;}
.m-scroll .arrow svg{width:18px;height:18px;animation:mBob 2.2s var(--ease) infinite;}
.m-scroll:hover .arrow{background:var(--green);border-color:var(--green);color:#04140a;}
.m-scroll:hover .ring{animation-duration:6s;}
@keyframes mSpin{to{transform:rotate(360deg);}}
@keyframes mBob{0%,100%{transform:translateY(-3px);}50%{transform:translateY(4px);}}
@media (min-width:1100px){.m-scroll{display:flex;}}

/* ----- FAIXA EM MOVIMENTO ----- */
.m-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-top:40px;}
.m-marquee-track{display:flex;align-items:center;gap:42px;width:max-content;will-change:transform;}
.m-marquee span{font-family:var(--disp);font-weight:600;font-size:clamp(34px,5vw,72px);letter-spacing:-.03em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(245,247,246,.55);}
.m-marquee span:nth-of-type(3n+2){color:var(--white);-webkit-text-stroke:0;}
.m-marquee i{width:16px;height:16px;border-radius:50%;background:var(--green);flex-shrink:0;}
html:not(.motion) .m-marquee-track{animation:scrollStrip 60s linear infinite;}

/* ----- texto que acende conforme rola ----- */
.m-statement{font-family:var(--disp);font-weight:500;font-size:clamp(26px,3.6vw,50px);line-height:1.18;letter-spacing:-.025em;max-width:1050px;margin:4px 0 70px;}
.m-statement em{font-style:normal;color:var(--green-soft);}
.m-statement .w{display:inline-block;}
html.motion .m-statement .w{opacity:.14;}

/* ----- lista de problemas em linhas ----- */
.m-rows{list-style:none;border-top:1px solid var(--line);}
.m-row{display:grid;grid-template-columns:80px 1fr;align-items:baseline;gap:20px;padding:30px 0;border-bottom:1px solid var(--line);position:relative;}
.m-row .n{font-family:var(--disp);font-size:15px;color:var(--green-soft);}
.m-row p{font-family:var(--disp);font-size:clamp(20px,2.4vw,30px);letter-spacing:-.015em;line-height:1.25;color:var(--white);}
.m-row::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--green-soft);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease);}
.m-row:hover::after{transform:scaleX(1);}
@media (max-width:600px){.m-row{grid-template-columns:44px 1fr;padding:22px 0;}}

/* ----- títulos de seção grandes ----- */
.m-title{font-size:clamp(34px,5.4vw,76px);line-height:1.02;letter-spacing:-.04em;margin-bottom:22px;}
.m-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:60px;}
.m-head .section-sub{margin-bottom:8px;max-width:360px;}

/* ----- PROJETOS ----- */
.m-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 40px;}
.m-case{display:block;}
.m-case:nth-child(even){margin-top:120px;}
.m-case-frame{border-radius:18px;overflow:hidden;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 40px 80px -40px rgba(0,0,0,.8);transform-origin:center;}
.m-case-bar{height:38px;display:flex;align-items:center;gap:8px;padding:0 16px;background:var(--panel-2);border-bottom:1px solid var(--line);}
.m-case-bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.14);}
.m-case-bar span{margin-left:10px;font-size:12px;color:var(--slate);}
.m-case-view{aspect-ratio:16/10.5;overflow:hidden;position:relative;}
.m-case-view img{width:100%;height:auto;transform:translateY(0);transition:transform 3.2s cubic-bezier(.45,.05,.25,1);will-change:transform;}
.m-case:hover .m-case-view img,.m-case:focus-visible .m-case-view img{transform:translateY(var(--shift,-60%));}
.m-case-info{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:22px;}
.m-case-info h3{font-size:clamp(22px,2.4vw,32px);letter-spacing:-.025em;}
.m-case-info span{font-size:14px;color:var(--slate);}
@media (max-width:820px){.m-cases{grid-template-columns:1fr;gap:56px;}.m-case:nth-child(even){margin-top:0;}}

/* ----- SERVIÇOS em lista com preenchimento no hover ----- */
.m-services{list-style:none;border-top:1px solid var(--line);margin-top:30px;}
.m-service{
  display:grid;grid-template-columns:80px minmax(0,1.1fr) minmax(0,1fr) 40px;align-items:center;gap:24px;
  padding:34px 22px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;isolation:isolate;
  transition:color .5s var(--ease);
}
.m-service::before{content:'';position:absolute;inset:0;background:var(--green);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1;}
.m-service .n{font-family:var(--disp);font-size:15px;color:var(--green-soft);transition:color .4s;}
.m-service h3{font-size:clamp(22px,2.6vw,36px);letter-spacing:-.025em;transition:color .4s,transform .6s var(--ease);}
.m-service p{font-size:15px;color:var(--slate);transition:color .4s;}
.m-service svg{width:28px;height:28px;color:var(--white);transition:transform .6s var(--ease),color .4s;}
.m-service:hover::before,.m-service:focus-visible::before{transform:translateY(0);}
.m-service:hover .n,.m-service:hover h3,.m-service:hover p,.m-service:hover svg,
.m-service:focus-visible .n,.m-service:focus-visible h3,.m-service:focus-visible p,.m-service:focus-visible svg{color:#04140a;}
.m-service:hover h3{transform:translateX(10px);}
.m-service:hover svg{transform:rotate(45deg);}
@media (max-width:820px){.m-service{grid-template-columns:44px 1fr 28px;}.m-service p{grid-column:2/3;grid-row:2;}}

/* ----- PROCESSO com linha que se desenha ----- */
.m-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;position:relative;padding-top:40px;}
.m-process-line{position:absolute;top:0;left:0;right:0;height:2px;background:var(--line);}
.m-process-line span{position:absolute;inset:0;background:var(--green-soft);transform-origin:left;}
html.motion .m-process-line span{transform:scaleX(0);}
.m-step .num{font-family:var(--disp);font-weight:600;font-size:clamp(40px,5vw,64px);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--green-soft);line-height:1;margin-bottom:22px;}
.m-step h3{font-size:19px;margin-bottom:10px;}
.m-step p{font-size:14.5px;color:var(--slate);}
@media (max-width:860px){.m-process{grid-template-columns:1fr 1fr;gap:44px 26px;}}
@media (max-width:520px){.m-process{grid-template-columns:1fr;}}

/* ----- CLIENTES: carrossel de logos ----- */
.m-clients .wrap{padding-bottom:30px;}
.m-logos{overflow:hidden;padding-bottom:110px;
  mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);}
.m-logos-track{display:flex;gap:20px;width:max-content;animation:scrollStrip 45s linear infinite;}
.m-logos:hover .m-logos-track{animation-play-state:paused;}
.m-logo{width:220px;height:110px;flex-shrink:0;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:22px;transition:transform .5s var(--ease);}
.m-logo:hover{transform:translateY(-6px) rotate(-1.5deg);}
.m-logo img{max-width:100%;max-height:100%;object-fit:contain;}

/* ----- CTA FINAL ----- */
.m-cta{border-top:1px solid var(--line);overflow:hidden;}
.m-cta-title{font-size:clamp(36px,6.4vw,96px);line-height:1;letter-spacing:-.045em;margin:6px 0 50px;}
.m-cta-row{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
.m-cta-row p{font-size:17px;color:var(--slate);max-width:420px;}
.m-round{width:220px;height:220px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--green-soft);}
.m-round .ring{position:absolute;inset:0;width:100%;height:100%;animation:mSpin 18s linear infinite;}
.m-round .ring text{font:600 12px var(--body);letter-spacing:0;text-transform:uppercase;fill:var(--slate);transition:fill .4s;}
.m-round .power{width:118px;height:118px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;
  transition:background .5s var(--ease),border-color .5s,color .4s,box-shadow .6s var(--ease);}
.m-round .power svg{width:50px;height:50px;transition:transform .6s var(--ease);}
.m-round:hover .power,.m-round:focus-visible .power{background:var(--green);border-color:var(--green);color:#04140a;box-shadow:0 0 0 12px rgba(47,190,21,.14),0 0 70px rgba(47,190,21,.55);}
.m-round:hover .power svg{transform:scale(1.08);}
.m-round:hover .ring text{fill:var(--white);}
.m-round:hover .ring{animation-duration:7s;}
@media (max-width:600px){.m-round{width:170px;height:170px;}.m-round .power{width:92px;height:92px;}.m-round .power svg{width:40px;height:40px;}}
/* ícone do WhatsApp dentro dos botões */
.btn .wa-ico{width:17px;height:17px;flex-shrink:0;}

/* ----- revelações genéricas (só com JS de movimento ativo) ----- */
html.motion .m-fade{opacity:0;transform:translateY(24px);}
html.motion .line > span{transform:translateY(105%);}
html.motion .m-row,html.motion .m-step,html.motion .m-service{opacity:0;transform:translateY(30px);}
html.motion .m-case-frame{clip-path:inset(12% 6% 12% 6% round 18px);}

/* =========================================================
   PÁGINAS INTERNAS (sobre, contato, landings)
   ========================================================= */
.m-page-hero{position:relative;overflow:hidden;padding:190px 0 40px;}
.m-page-hero .wrap{position:relative;padding-top:0;padding-bottom:40px;}
.m-page-hero .m-hero-glow{top:30%;}
.m-page-title{font-size:clamp(44px,7.4vw,112px);line-height:.98;letter-spacing:-.045em;font-weight:600;margin:6px 0 34px;}
.m-page-title .accent{color:var(--green-soft);}
.m-page-hero .sub{font-size:18px;color:var(--slate);max-width:560px;}
.m-page-hero .hero-ctas{justify-content:flex-start;margin-top:34px;}
.m-page-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap;}

/* landing: cabeçalho enxuto */
.landing-header .btn{gap:9px;}

/* faixa de prints em movimento (landing) */
.m-strip{overflow:hidden;padding:10px 0 20px;
  mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);}
.m-strip-track{display:flex;gap:22px;width:max-content;animation:scrollStrip 60s linear infinite;}
.m-strip:hover .m-strip-track{animation-play-state:paused;}
.m-strip-item{width:340px;flex-shrink:0;border-radius:14px;overflow:hidden;border:1px solid var(--line-strong);background:var(--panel);transition:transform .6s var(--ease);}
.m-strip-item:hover{transform:translateY(-8px) rotate(-1deg);}
.m-strip-item .m-case-bar{height:30px;}
.m-strip-item .m-case-bar i{width:8px;height:8px;}
.m-strip-item img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;display:block;}
@media (max-width:600px){.m-strip-item{width:240px;}}

/* números/fatos grandes */
.m-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);}
.m-fact{padding:34px 26px 34px 0;border-bottom:1px solid var(--line);}
.m-fact + .m-fact{padding-left:26px;border-left:1px solid var(--line);}
.m-fact .num{font-family:var(--disp);font-weight:600;font-size:clamp(30px,3.4vw,46px);letter-spacing:-.035em;color:var(--green-soft);line-height:1.05;margin-bottom:10px;}
.m-fact .desc{font-size:14.5px;color:var(--slate);}
@media (max-width:860px){.m-facts{grid-template-columns:1fr 1fr;}.m-fact:nth-child(3){padding-left:0;border-left:0;}}
@media (max-width:520px){.m-facts{grid-template-columns:1fr;}.m-fact,.m-fact + .m-fact{padding-left:0;border-left:0;}}

/* CONTATO: canais em linhas grandes */
.m-channels{list-style:none;border-top:1px solid var(--line);}
.m-channel{display:grid;grid-template-columns:200px minmax(0,1fr) 40px;align-items:center;gap:24px;padding:34px 22px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;isolation:isolate;}
.m-channel::before{content:'';position:absolute;inset:0;background:var(--green);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1;}
.m-channel .k{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--green-soft);transition:color .4s;}
.m-channel .v{font-family:var(--disp);font-size:clamp(22px,3.4vw,46px);letter-spacing:-.03em;line-height:1.1;transition:color .4s,transform .6s var(--ease);word-break:break-word;}
.m-channel svg{width:28px;height:28px;transition:transform .6s var(--ease),color .4s;}
a.m-channel:hover::before,a.m-channel:focus-visible::before{transform:translateY(0);}
a.m-channel:hover .k,a.m-channel:hover .v,a.m-channel:hover svg,
a.m-channel:focus-visible .k,a.m-channel:focus-visible .v,a.m-channel:focus-visible svg{color:#04140a;}
a.m-channel:hover .v{transform:translateX(10px);}
a.m-channel:hover svg{transform:rotate(45deg);}
@media (max-width:760px){.m-channel{grid-template-columns:1fr 28px;}.m-channel .k{grid-column:1/-1;}}

/* CONTATO: formulário com linhas */
.m-form-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:60px;align-items:start;}
.m-form-wrap .m-title{font-size:clamp(30px,4vw,56px);}
form.m-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;}
.m-field{display:flex;flex-direction:column;gap:6px;position:relative;}
.m-field.full{grid-column:1/-1;}
.m-field label{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);transition:color .3s;}
.m-field input,.m-field textarea{background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:14px 0 16px;font-family:var(--disp);font-size:clamp(18px,1.8vw,24px);color:var(--white);border-radius:0;outline:none;}
.m-field textarea{resize:vertical;min-height:110px;}
.m-field::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--green-soft);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);}
.m-field:focus-within::after{transform:scaleX(1);}
.m-field:focus-within label{color:var(--green-soft);}
.m-field input::placeholder,.m-field textarea::placeholder{color:#4b5359;}
.m-form-foot{grid-column:1/-1;display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:20px;}
.m-form-foot .form-note{margin:0;}
@media (max-width:860px){.m-form-wrap{grid-template-columns:1fr;gap:30px;}}
@media (max-width:560px){form.m-form{grid-template-columns:1fr;}}

/* posts (redes sociais) */
.m-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.m-posts .post-thumb{border-radius:16px;transition:opacity .5s var(--ease),transform .6s var(--ease);}
.m-posts .post-thumb img{transition:transform 1s var(--ease);}
.m-posts .post-thumb:hover img{transform:scale(1.06);}
.m-posts .post-thumb:nth-child(3n+2){margin-top:60px;}
@media (max-width:700px){.m-posts{gap:10px;}.m-posts .post-thumb:nth-child(3n+2){margin-top:24px;}}

/* planos / oferta: cards com leve brilho no hover */
.plan-card,.price-card{transition:opacity .5s var(--ease),transform .6s var(--ease),border-color .4s,box-shadow .6s var(--ease);}
.plan-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);}
.plan-card.featured:hover{border-color:rgba(79,223,53,.6);box-shadow:0 30px 70px -30px rgba(47,190,21,.45);}
.include-list.big .include-item{font-family:var(--disp);font-size:clamp(17px,1.7vw,21px);padding:16px 0;border-bottom:1px solid var(--line);margin:0;}
.include-list.big{gap:0;border-top:1px solid var(--line);}
.offer-grid .m-title{font-size:clamp(30px,3.9vw,56px);}
.offer-grid .m-title .line{white-space:nowrap;}
@media (max-width:420px){.offer-grid .m-title .line{white-space:normal;}}
/* sob medida: o exemplo */
.m-demo{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px;}
.m-demo-col h3{font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);padding-bottom:16px;border-bottom:1px solid var(--line);}
.m-demo-col ul{list-style:none;}
.m-demo-item{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line);font-size:clamp(17px,1.5vw,20px);color:var(--white);}
.m-demo-item .n{font-family:var(--disp);font-size:14px;color:var(--green-soft);min-width:26px;}
.m-demo-col:last-child .m-demo-item{color:var(--slate);}
.m-demo-col:last-child .m-demo-item .n{font-size:20px;}
.m-demo-try{font:600 13px/1 var(--disp);color:var(--bg,#0a0d0c);background:var(--green-soft);border:0;border-radius:99px;padding:10px 16px;cursor:pointer;}
@media (max-width:820px){.m-demo{grid-template-columns:1fr;gap:32px;}}
.m-demo-col:first-child .m-demo-item{cursor:default;transition:background .4s;}
.m-demo-col:first-child .m-demo-item:hover{background:linear-gradient(90deg,rgba(74,222,74,.06),transparent 70%);}
.m-demo-text .w{transition:opacity .35s, color .35s;}
.playing .m-demo-text .w{opacity:.25;}
.playing .m-demo-text .w.on{opacity:1;color:var(--green-soft);}
.m-demo-mq{flex:1 1 120px;min-width:120px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);}
.m-demo-mq-track{display:flex;align-items:center;gap:14px;width:max-content;}
.m-demo-mq b{font:600 15px/1 var(--disp);color:var(--slate);}
.m-demo-mq i{width:6px;height:6px;border-radius:50%;background:var(--green);}
.m-demo-line{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;}
.m-demo-line > span{display:inline-block;}
/* home: atalho discreto pro Essencial */
.m-services li.has-alt{position:relative;}
.m-service-alt{position:absolute;left:126px;bottom:12px;font-size:13px;color:var(--slate);opacity:.75;transition:color .4s,opacity .4s;z-index:2;}
.m-service-alt:hover{opacity:1;text-decoration:underline;text-underline-offset:3px;}
.m-services li.has-alt:hover .m-service-alt{color:#04140a;}
.m-services li.has-alt:hover > .m-service::before{transform:translateY(0);}
.m-services li.has-alt:hover > .m-service .n,.m-services li.has-alt:hover > .m-service h3,.m-services li.has-alt:hover > .m-service p,.m-services li.has-alt:hover > .m-service svg{color:#04140a;}
@media (max-width:820px){.m-service-alt{left:90px;bottom:10px;}}
/* ---------- rodapé novo ---------- */
.ft{border-top:1px solid var(--line);padding:0 0 30px;margin-top:40px;}
.ft-band{background:var(--green);color:#04140a;}
.ft-band-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:26px;padding-bottom:26px;flex-wrap:wrap;}
.ft-band p{font-size:17px;line-height:1.5;max-width:720px;}
.ft-band p strong{font-family:var(--disp);font-weight:700;font-size:20px;display:block;letter-spacing:-.01em;}
.ft-band-btn{display:inline-flex;align-items:center;gap:10px;background:#04140a;color:#fff;font-weight:600;font-size:15px;padding:15px 26px;border-radius:99px;white-space:nowrap;transition:background .3s,color .3s;}
.ft-band-btn:hover{background:#fff;color:#04140a;}
.ft-band-btn .ft-ico{width:18px;height:18px;}
.ft-cols{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1.2fr;gap:44px;padding:64px 0 52px;}
.ft-logo img{height:30px;display:block;margin-bottom:18px;}
.ft-brand p{font-size:14px;line-height:1.7;color:var(--slate);max-width:320px;}
.ft-social{display:flex;gap:10px;margin-top:22px;}
.ft-social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--white);transition:background .3s,color .3s,border-color .3s;}
.ft-social a:hover{background:var(--green);border-color:var(--green);color:#04140a;}
.ft-ico{width:19px;height:19px;flex-shrink:0;}
.ft-col h4{font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-soft);margin-bottom:18px;}
.ft-col a{display:block;font-size:14.5px;color:var(--slate);margin-bottom:12px;transition:color .25s,transform .25s;}
.ft-col a:hover{color:var(--white);transform:translateX(4px);}
.ft-contact .ft-line{display:flex;align-items:center;gap:10px;color:var(--white);}
.ft-contact .ft-line .ft-ico{color:var(--green-soft);width:17px;height:17px;}
.ft-note{font-size:13px;color:var(--slate);margin:4px 0 18px;}
.ft-contact .ft-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:10px 18px;font-size:13.5px;color:var(--white);}
.ft-contact .ft-btn svg{width:15px;height:15px;}
.ft-contact .ft-btn:hover{border-color:var(--green);transform:none;}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;font-size:12.5px;color:var(--slate);}
.ft-bottom nav{display:flex;gap:22px;}
.ft-bottom a{color:var(--slate);}
.ft-bottom a:hover{color:var(--white);}
@media (max-width:980px){.ft-cols{grid-template-columns:1fr 1fr;gap:36px;}}
@media (max-width:560px){.ft-cols{grid-template-columns:1fr;padding:44px 0 36px;}.ft-band-btn{width:100%;justify-content:center;}.ft-bottom{flex-direction:column;align-items:flex-start;}}
.m-page-hero{overflow:hidden;}
.m-demo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.m-demo-col{min-width:0;}@media (max-width:820px){.m-demo{grid-template-columns:minmax(0,1fr);}}
