@font-face{font-family:"Albert Sans";src:url("/assets/fonts/albert-sans-wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --preto:#0A0A0A;--g2:#181818;--linha:#262626;
  --off:#F4F2ED;--cinza:#8A8A8A;--cinza-d:#737373;
  --verde:#304A3A;--vl:#4F7560;--vc:#7FA68F;
  --ease:cubic-bezier(.65,0,.25,1);--soft:cubic-bezier(.16,1,.3,1);
  --m:clamp(1.25rem,4vw,3.5rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--preto);color:var(--off);font-family:"Albert Sans",system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--vc);outline-offset:4px}
/* barra de progresso da rolagem */
.progresso{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--vc);transform-origin:left;transform:scaleX(var(--sp,0));z-index:45}
/* ================= NAV fixa ================= */
nav{position:fixed;left:0;right:0;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:1rem var(--m);transition:background .5s,color .5s,transform .7s var(--soft),box-shadow .5s}
nav.escondida{transform:translateY(-110%)}
nav:has(:focus-visible){transform:none}
nav.solida{background:rgba(10,10,10,.95);box-shadow:0 1px 0 #222}
nav.tom-claro{background:rgba(244,242,237,.97);color:var(--preto);box-shadow:0 1px 0 #d8d5ce,0 10px 30px -18px rgba(0,0,0,.35)}
nav.tom-claro ul{opacity:1}
nav.tom-claro ul a::after{background:var(--verde)}
.logo{display:flex;align-items:center;color:inherit}
.lg{display:block;height:1.05rem;width:auto;fill:currentColor;overflow:visible}
.lg .ac{fill:var(--verde)}
nav .lg{height:1.12rem}
.logo-pe .lg{height:3rem;color:var(--off)}
nav ul{display:flex;gap:2.25rem;list-style:none;font-size:.95rem;opacity:.75}
nav ul a{position:relative;display:inline-block;padding-block:.35rem}
nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--vc);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
nav ul a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{font-size:.875rem;font-weight:700;padding:.75rem 1.15rem;transition:background .3s,color .3s,transform .2s;background:var(--off);color:var(--preto);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 21px,100% 100%,0 100%)}
nav.tom-claro .nav-cta{background:var(--preto);color:var(--off)}
@media(max-width:900px){nav ul{display:none}}

.btn{display:inline-flex;align-items:center;gap:.8rem;font-weight:700;font-size:1rem;padding:1.15rem 1.7rem;position:relative;overflow:hidden;isolation:isolate;transition:color .35s,box-shadow .35s,transform .7s var(--soft)}
.btn-p{background:var(--off);color:var(--preto);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 28px,100% 100%,0 100%)}
.btn-p::before{content:"";position:absolute;top:0;bottom:0;left:-20%;width:140%;background:var(--verde);transform:translateX(-100%) skewX(-29deg);transition:transform .55s var(--ease);z-index:-1}
.btn-p:hover{color:var(--off)}
.btn:active,.nav-cta:active,.pronto .zap:active{transform:scale(.97)}
.btn-p:focus-visible,.nav-cta:focus-visible,.zap:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--vc)}
.nav-cta:hover{background:#fff}nav.tom-claro .nav-cta:hover{background:var(--verde)}
.btn-p:hover::before{transform:translateX(0) skewX(-29deg)}
.btn-p .seta{width:22px;height:1px;background:currentColor;position:relative;transition:transform .4s var(--ease)}
.btn-p .seta::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid;border-right:1px solid;transform:rotate(45deg)}
.btn-p:hover .seta{transform:translateX(5px)}
.zap{position:fixed;right:1.25rem;bottom:1.25rem;z-index:44;display:flex;align-items:center;gap:.7rem;background:var(--verde);color:var(--off);font-weight:700;font-size:.95rem;padding:1rem 1.3rem;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 24px,100% 100%,0 100%);box-shadow:0 12px 30px -10px rgba(0,0,0,.6);transition:transform .4s var(--soft),background .3s;opacity:0;transform:translateY(20px)}
.zap{visibility:hidden}
.pronto .zap{opacity:1;transform:none;visibility:visible;transition:opacity .6s 2s,transform .6s var(--soft) 2s,background .3s,visibility 0s 2s}
.zap:hover{background:#3b5b48}
.pronto .zap.recolhe{opacity:0;transform:translateY(20px);pointer-events:none;visibility:hidden;transition:opacity .5s var(--soft),transform .6s var(--soft),visibility 0s .6s}
@media(max-width:600px){.zap{padding:.95rem}.zap-t{display:none}}

[data-rev]{opacity:0;transform:translate3d(0,32px,0);transition:opacity 1.2s var(--soft),transform 1.2s var(--soft)}
[data-rev].in{opacity:1;transform:none}
[data-rev="2"]{transition-delay:.15s}
/* ícones de linha */
.ic-img{opacity:.85;padding:1px}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.marca-gigante{position:absolute;left:0;right:0;bottom:clamp(2.5rem,5vw,4rem);z-index:0;text-align:center;pointer-events:none;user-select:none}
.marca-gigante[data-rev]{opacity:1;transform:none}
.marca-gigante .mg{display:block;margin:0 auto;fill:#141414;overflow:visible}
.marca-gigante .mg .ac{fill:#15201a}
.marca-gigante .mg-l{width:min(86%,75rem);height:auto}
.marca-gigante .mg-p{display:none}
.marca-gigante g{opacity:0;transform:translateY(40px);transition:opacity 1.3s var(--soft),transform 1.5s var(--soft)}
.marca-gigante.in g{opacity:1;transform:none}
.escura{background:var(--preto);color:var(--off)}
.rotulo{font-size:.9rem;font-weight:600;display:inline-flex;gap:.6rem;align-items:center;color:var(--vc)}
.rotulo i{width:7px;height:12px;background:currentColor;transform:skewX(-29deg)}

.btn-s2{color:var(--off);box-shadow:inset 0 0 0 1px #3a3a3a}
.btn-s2:hover{box-shadow:inset 0 0 0 1px var(--off)}
.btn-s2:focus-visible{outline:2px solid var(--vc);outline-offset:3px}

/* rodapé */
.rodape{position:relative;overflow:hidden;background:#050505;color:var(--off);padding:clamp(4rem,8vw,6rem) var(--m) 2rem}
.rodape .in-w{position:relative;z-index:1;max-width:77.5rem;margin:0 auto}
.rodape .frase{font-weight:900;font-size:clamp(1.8rem,3.6vw,3.4rem);line-height:1;letter-spacing:-.04em;max-width:22ch}
.rodape .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin-top:clamp(3rem,6vw,4.5rem);font-size:.95rem;color:var(--cinza)}
.rodape .cols a{display:block;padding:.25rem 0;transition:color .3s}
.rodape .cols a.logo{display:flex;padding:0}
.rodape .cont{display:flex!important;align-items:center;gap:.7rem;padding:.35rem 0}
.rodape .cont .ic{color:var(--off);opacity:.85}
.rodape .cols a:hover{color:var(--off)}
.rodape .cols b{display:block;color:var(--off);font-weight:700;margin-bottom:.6rem}
.rodape .base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid #1d1d1d;font-size:.8rem;color:var(--cinza)}
@media(max-width:760px){.rodape .cols{grid-template-columns:1fr}.marca-gigante{bottom:4.5rem}.marca-gigante .mg-l{display:none}.marca-gigante .mg-p{display:block;width:84%;height:auto}}



/* menu do celular: três traços que viram X e abrem a tela cheia */
.burger{display:none;position:relative;width:44px;height:44px;background:none;border:0;color:inherit;cursor:pointer;margin-left:.6rem}
.burger i{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .5s var(--ease)}
.burger i:first-child{top:17px}.burger i:last-child{top:25px;left:16px}
.menu-on .burger i:first-child{transform:translateY(4px) rotate(45deg)}
.menu-on .burger i:last-child{left:10px;transform:translateY(-4px) rotate(-45deg)}
.nav-dir{display:flex;align-items:center}
.menu-m{position:fixed;inset:0;z-index:39;background:var(--preto);color:var(--off);display:flex;flex-direction:column;padding:calc(5.8rem + env(safe-area-inset-top,0px)) var(--m) calc(1.4rem + env(safe-area-inset-bottom,0px));overflow:hidden;overscroll-behavior:contain;height:100vh;height:100dvh;
  transform:translate3d(0,-100%,0);visibility:hidden;transition:transform .7s var(--ease),visibility 0s linear .7s}
.menu-on .menu-m{transform:none;visibility:visible;transition:transform .7s var(--ease),visibility 0s}
.menu-m .mm-rot{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza);padding-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.menu-m .mm-rot::before{content:"";width:7px;height:12px;background:var(--vc);transform:skewX(-29deg)}
.menu-m ul{list-style:none;border-top:1px solid var(--linha)}
.menu-m li{border-bottom:1px solid var(--linha);opacity:0;transform:translate3d(0,18px,0);transition:opacity .6s var(--soft),transform .7s var(--soft)}
.menu-m li a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(.75rem,2.1vh,1.1rem) 0;font-weight:800;font-size:clamp(1.25rem,3.4vh,1.45rem);letter-spacing:-.025em}
.menu-m li a i{width:9px;height:9px;border-top:2px solid var(--vc);border-right:2px solid var(--vc);transform:rotate(45deg);flex:none;transition:transform .4s var(--soft)}
.menu-m li a:active i{transform:translateX(4px) rotate(45deg)}
.menu-m li a[aria-current]{color:var(--vc)}
.menu-on .menu-m li{opacity:1;transform:none}
.menu-on .menu-m li:nth-child(1){transition-delay:.22s}.menu-on .menu-m li:nth-child(2){transition-delay:.28s}.menu-on .menu-m li:nth-child(3){transition-delay:.34s}.menu-on .menu-m li:nth-child(4){transition-delay:.4s}.menu-on .menu-m li:nth-child(5){transition-delay:.46s}
.menu-m .mm-pe{margin-top:auto;padding-top:1.4rem;display:grid;gap:1rem}
.menu-m .mm-pe .btn{justify-content:space-between}
.menu-m .mm-c{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.85rem;color:var(--cinza)}
.menu-m .mm-lam{position:absolute;top:-10%;bottom:-10%;right:-10%;width:30vw;background:linear-gradient(180deg,transparent,rgba(79,117,96,.13) 50%,transparent);transform:skewX(-29deg);pointer-events:none}
.menu-on nav{transform:none!important;background:var(--preto)!important;color:var(--off)!important;box-shadow:0 1px 0 var(--linha)!important}
.menu-on .zap{opacity:0!important;pointer-events:none;transition:opacity .3s!important}
.menu-on nav .nav-cta{background:var(--off)!important;color:var(--preto)!important}
@media(max-width:900px){.burger{display:block}}
@media(max-height:560px){.menu-m{overflow-y:auto}}
@media(min-width:901px){.menu-m{display:none}}
@media(max-width:480px){nav .nav-cta{display:none}}


.zap-ic{width:22px;height:22px;flex:none}
/* ver mais */
.itens li.extra{display:none}
.grupo.aberto .itens li.extra{display:block;animation:entra .7s var(--soft) backwards}
@keyframes entra{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
.mais{margin-top:1.4rem;display:inline-flex;align-items:center;gap:.8rem;background:none;border:0;border-bottom:1px solid var(--preto);padding:.4rem 0;font:inherit;font-weight:700;font-size:.98rem;color:var(--preto);cursor:pointer}
.mais i{position:relative;width:12px;height:12px}
.mais i::before,.mais i::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--verde);transition:transform .5s var(--soft)}
.mais i::after{transform:rotate(90deg)}
.grupo.aberto .mais i::after{transform:rotate(0)}
.mais:hover{border-color:var(--verde)}
/* setas da barra de áreas */
.at-s{position:absolute;top:0;bottom:1px;z-index:2;width:56px;border:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s;display:flex;align-items:center}
.at-e{left:0;justify-content:flex-start;padding-left:.7rem;background:linear-gradient(90deg,rgba(244,242,237,1) 45%,rgba(244,242,237,0))}
.at-d{right:0;justify-content:flex-end;padding-right:.7rem;background:linear-gradient(270deg,rgba(244,242,237,1) 45%,rgba(244,242,237,0))}
.at-s i{width:9px;height:9px;border-top:2px solid var(--preto);border-right:2px solid var(--preto)}
.at-e i{transform:rotate(-135deg)}.at-d i{transform:rotate(45deg)}.atalhos.mostra.tem-d .at-d i{animation:cutuca 1.6s var(--soft) infinite}
@keyframes cutuca{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(3px,-3px)}}
.atalhos.tem-e .at-e,.atalhos.tem-d .at-d{opacity:1;pointer-events:auto}
/* topo da página */
.topo{position:relative;overflow:hidden;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:max(5.4rem,11vh) var(--m) clamp(1.6rem,11vh,6.4rem)}
.topo .in-w{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1.4rem clamp(2rem,5vw,5rem);align-items:center;width:100%}
.topo .mapa{grid-column:1/-1}
.t-vis{justify-self:end;width:min(100%,25rem,46vh)}
.const{display:block;width:100%;height:auto;overflow:visible}
.const .orb{fill:none;stroke:#222;stroke-dasharray:3 7;transform-origin:200px 200px}
.const .lns line{stroke:#262626;stroke-width:1.2}
.const .cen{fill:#101410;stroke:#2c3a31}
.const .nf{fill:#121212;stroke:#2e2e2e}
.const .nb{fill:none;stroke:var(--vc);stroke-width:1.5;opacity:0}
.const .no g{fill:none;stroke:var(--off);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.const .no .ac{stroke:var(--vc)}.const .no .ac-f{fill:var(--vc);stroke:none}.const .no .p{fill:var(--off);stroke:none}
.const a:hover .nf{fill:#1a221d}
.const .pu{fill:#bfe0cb;opacity:0}
.vivo .const .pu{animation:pulsa 5.25s var(--ease) infinite}
.vivo .const .nb{animation:chega 5.25s linear infinite}
.vivo .const .orb{animation:giraG 60s linear infinite}.vivo .const .o2{animation-direction:reverse;animation-duration:40s}
@keyframes pulsa{0%{transform:translate(0,0);opacity:0}8%{opacity:1}42%{transform:translate(var(--x),var(--y));opacity:1}50%,100%{transform:translate(var(--x),var(--y));opacity:0}}
@keyframes chega{0%,38%{opacity:0}44%{opacity:1}70%,100%{opacity:0}}
/* indicador de rolagem: último a aparecer, some ao primeiro movimento */
.role{position:absolute;left:50%;bottom:clamp(1.4rem,4.5vh,2.6rem);z-index:6;display:flex;flex-direction:column;align-items:center;gap:.7rem;transform:translate3d(-50%,10px,0);font-size:.78rem;font-weight:700;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:var(--off);opacity:0;transition:opacity 1s var(--soft),transform 1s var(--soft);pointer-events:none}
.role.mostra{opacity:1;transform:translate3d(-50%,0,0)}
.role.mostra.some{opacity:0;transition-duration:.5s}
.role b{display:grid;justify-items:center;gap:0}
.role b i{width:14px;height:14px;border-right:2px solid var(--vc);border-bottom:2px solid var(--vc);transform:rotate(45deg);margin-top:-5px;opacity:.15;animation:cascata 1.8s var(--soft) infinite}
.role b i:nth-child(2){animation-delay:.2s}.role b i:nth-child(3){animation-delay:.4s}
@keyframes cascata{0%,100%{opacity:.15}35%{opacity:1}70%{opacity:.15}}
@media(max-height:560px){.role{display:none}}
.topo:not(.vivo) .role b i{animation-play-state:paused}
/* chão em perspectiva com uma luz verde que passeia */
.piso-t{position:absolute;left:-30%;right:-30%;bottom:-12%;height:46%;perspective:700px;pointer-events:none}
.piso-t div{position:absolute;inset:0;transform:rotateX(74deg);transform-origin:bottom;background-image:linear-gradient(rgba(127,166,143,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(127,166,143,.16) 1px,transparent 1px);background-size:70px 70px;-webkit-mask-image:linear-gradient(transparent,#000 60%);mask-image:linear-gradient(transparent,#000 60%)}
.luz-t{position:absolute;left:-10%;bottom:-6%;width:46%;height:42%;background:radial-gradient(closest-side,rgba(79,117,96,.32),transparent);pointer-events:none}
.vivo .luz-t{animation:varreT 14s ease-in-out infinite alternate}
@keyframes varreT{to{transform:translateX(150%)}}
@media(max-width:900px){.topo .in-w{grid-template-columns:1fr}.t-vis{display:none}}
.topo .in-w{position:relative;z-index:1;max-width:77.5rem;margin:0 auto}
.topo h1{font-weight:900;font-size:clamp(2.2rem,min(4.6vw,8.2vh),4.9rem);line-height:.92;letter-spacing:-.05em;max-width:15ch;margin-top:.8rem}
.topo .intro{margin-top:clamp(.7rem,1.8vh,1.2rem);max-width:56ch;color:#a3a09a;font-size:clamp(1rem,min(1.35vw,2.2vh),1.25rem);line-height:1.65}
.topo .intro b{color:var(--off);font-weight:600}
.topo .lam{position:absolute;top:-20%;bottom:-20%;right:8%;width:clamp(60px,9vw,130px);background:linear-gradient(180deg,transparent,rgba(79,117,96,.18) 40%,rgba(79,117,96,.05));transform:skewX(-29deg);pointer-events:none}
.topo .lam.b{right:calc(8% + clamp(80px,12vw,170px));width:clamp(20px,3vw,40px);background:linear-gradient(180deg,transparent,rgba(244,242,237,.06) 50%,transparent)}
/* atalhos por área */
.atalhos{position:fixed;left:0;right:0;top:0;z-index:30;background:rgba(244,242,237,.97);border-bottom:1px solid #d8d5ce;box-shadow:0 10px 30px -20px rgba(0,0,0,.35);
  transform:translate3d(0,-105%,0);visibility:hidden;transition:transform .7s var(--soft),visibility 0s linear .7s}
.atalhos.mostra{transform:none;visibility:visible;transition:transform .7s var(--soft),visibility 0s}
.atalhos.mostra.desce{transform:translate3d(0,var(--nh,0px),0)}
.atalhos a:focus-visible{outline:none;color:var(--preto);box-shadow:inset 0 -2px 0 var(--verde)}
.atalhos .in-w{max-width:77.5rem;margin:0 auto;padding:0 var(--m);display:flex;gap:1.6rem;overflow-x:auto;scrollbar-width:none}
.atalhos .in-w::-webkit-scrollbar{display:none}
.atalhos a{flex:none;position:relative;padding:1.05rem 0;font-size:.92rem;font-weight:600;color:#3d3d3d;white-space:nowrap;transition:color .3s}
.atalhos a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--verde);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--soft)}
.atalhos a:hover,.atalhos a.ativo{color:var(--preto)}
.atalhos a.ativo::after{transform:scaleX(1)}
/* lista */
.lista{background:var(--off);color:var(--preto);padding:clamp(3rem,6vw,5rem) var(--m) clamp(5rem,9vw,7rem)}
.grupo{max-width:77.5rem;margin:0 auto;padding-top:clamp(3rem,6vw,4.5rem);scroll-margin-top:3.5rem;}
.g-cab{display:grid;grid-template-columns:auto auto 1fr auto;gap:clamp(1rem,3vw,2.4rem);align-items:end;padding-bottom:1.4rem;border-bottom:2px solid var(--preto)}
.g-n{font-weight:900;font-size:clamp(2.4rem,5vw,4rem);line-height:.8;letter-spacing:-.05em;color:var(--vl)}
.g-cab h2{font-weight:900;font-size:clamp(1.7rem,3.2vw,2.8rem);letter-spacing:-.04em;line-height:1}
.g-cab p{margin-top:.5rem;color:#5a5a5a;font-size:1rem}
.g-q{font-size:.85rem;font-weight:600;color:var(--verde);white-space:nowrap}
.itens{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,4.5rem)}
.itens li{position:relative;padding:1.35rem 0 1.35rem 1.6rem;border-bottom:1px solid #d8d5ce}
.itens li::before{content:"";position:absolute;left:0;top:1.6rem;width:6px;height:12px;background:#bdb9b1;transform:skewX(-29deg);transition:background .4s,transform .5s var(--soft)}
.itens li:hover::before{background:var(--verde);transform:skewX(-29deg) scaleY(1.35)}
.itens h3{font-weight:800;font-size:clamp(1.05rem,1.3vw,1.18rem);letter-spacing:-.015em;line-height:1.3}
.itens p{margin-top:.35rem;color:#5a5a5a;line-height:1.6;font-size:.98rem;max-width:52ch}
@media(max-width:820px){.itens{grid-template-columns:1fr}.g-cab{grid-template-columns:auto auto 1fr}.g-q{display:none}}
@media(max-width:480px){.g-n{display:none}.g-cab{grid-template-columns:auto 1fr}}
/* mapa da jornada: uma luz percorre o caminho e acende cada etapa */
.mapa{margin-top:clamp(.6rem,2vh,1.6rem);max-width:68rem}
.mp-rot{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cinza);margin-bottom:clamp(.6rem,1.6vh,1.1rem)}
.mp-w{position:relative}
.mp-w::before{content:"";position:absolute;left:10%;right:10%;top:7px;height:2px;background:#2a2a2a}
.mp-luz{position:absolute;left:10%;width:80%;top:7px;height:2px;pointer-events:none;opacity:0}
.vivo .mp-luz{animation:corre 7.5s linear infinite}
.mp-luz i{position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:#bfe0cb;box-shadow:0 0 14px 3px rgba(127,166,143,.7)}
.mp-luz i::before{content:"";position:absolute;right:6px;top:4px;width:70px;height:2px;background:linear-gradient(90deg,transparent,var(--vc))}
@keyframes corre{0%{transform:translateX(0);opacity:0}4%{opacity:1}80%{transform:translateX(100%);opacity:1}88%,100%{transform:translateX(100%);opacity:0}}
.mp-trilha{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.mp-trilha a{display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;padding:0 .4rem;color:#a3a09a;transition:color .4s}
.mp-trilha a:hover{color:var(--off)}
.mp-trilha b{font-weight:700;font-size:clamp(.85rem,1.05vw,1rem);line-height:1.25}
.mp-no{position:relative;width:16px;height:16px;background:var(--preto);border:2px solid #3a3a3a;transform:rotate(45deg)}
.mp-no::after{content:"";position:absolute;inset:2px;background:var(--vc);opacity:0}
.vivo .mp-no::after{animation:acendeN 7.5s linear infinite}
.vivo .mp-trilha li:nth-child(2) .mp-no::after{animation-delay:1.5s}.vivo .mp-trilha li:nth-child(3) .mp-no::after{animation-delay:3s}.vivo .mp-trilha li:nth-child(4) .mp-no::after{animation-delay:4.5s}.vivo .mp-trilha li:nth-child(5) .mp-no::after{animation-delay:6s}
@keyframes acendeN{0%{opacity:1}22%{opacity:1}40%,100%{opacity:0}}
.mp-base{margin-top:clamp(.7rem,2vh,1.3rem);display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;font-size:.85rem;color:var(--cinza)}
.mp-base a{color:var(--off);font-weight:600;padding:.5rem .9rem;box-shadow:inset 0 0 0 1px #333;transition:box-shadow .4s}
.mp-base a:hover{box-shadow:inset 0 0 0 1px var(--vc)}
@media(max-width:700px){
  .mp-w::before{left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
  .mp-luz{left:7px;top:8px;width:2px;height:calc(100% - 16px);animation-name:correV}
  .mp-luz i{left:-4px;top:-4px}.mp-luz i::before{display:none}
  .mp-trilha{grid-template-columns:1fr;gap:1rem}
  .mp-trilha a{flex-direction:row;text-align:left;gap:1rem;padding:0}
}
@keyframes correV{0%{transform:translateY(0);opacity:0}4%{opacity:1}80%{transform:translateY(100%);opacity:1}88%,100%{transform:translateY(100%);opacity:0}}
/* ícone animado de cada área (roda só quando visível) */
.gi{width:clamp(44px,4.4vw,56px);height:auto;flex:none;fill:none;stroke:var(--preto);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;overflow:visible;align-self:center}
.gi .ac{stroke:var(--verde)}.gi .ac-f{fill:var(--verde);stroke:none}.gi .p{fill:var(--preto);stroke:none;opacity:.3}
.gi .gira{transform-box:fill-box;transform-origin:center}.gi .cai,.gi .b,.gi .o,.gi .ok{transform-box:fill-box}
.gi .b{transform-origin:bottom}.gi .ok{transform-origin:center}
.vivo .gi .p{animation:digitaG 1.2s infinite}.vivo .gi .a2{animation-delay:.15s}.vivo .gi .a3{animation-delay:.3s}
.vivo .gi .cai{animation:caiG 2.4s var(--soft) infinite}
.vivo .gi .ok{animation:okG 3s var(--soft) infinite}
.vivo .gi .b{animation:sobeG 2.8s var(--soft) infinite}.vivo .gi .b2{animation-delay:.15s}.vivo .gi .b3{animation-delay:.3s}
.vivo .gi .gira{animation:giraG 9s linear infinite}
.vivo .gi .o{animation:ondaG 1.8s infinite}.vivo .gi .o2{animation-delay:.3s}
@keyframes digitaG{0%,100%{opacity:.25}40%{opacity:1}}
@keyframes caiG{0%{transform:translateY(0);opacity:0}15%{opacity:1}60%{transform:translateY(40px);opacity:1}75%,100%{transform:translateY(40px);opacity:0}}
@keyframes okG{0%,25%{opacity:0;transform:scale(.6)}45%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes sobeG{0%{transform:scaleY(.25)}50%,80%{transform:scaleY(1)}100%{transform:scaleY(.25)}}
@keyframes giraG{to{transform:rotate(360deg)}}
@keyframes ondaG{0%,100%{opacity:.2}50%{opacity:1}}
/* selo essencial, filtro e chamada por área */
.selo{display:inline-block;margin-bottom:.45rem;padding:.18rem .5rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--off);background:var(--verde);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 100%,6px 100%)}
.filtro{max-width:77.5rem;margin:0 auto;padding:1.6rem clamp(1.2rem,3vw,2rem);background:#e9e6df;display:grid;gap:1rem}
.f-rot{font-weight:800;font-size:clamp(1.05rem,1.4vw,1.25rem);letter-spacing:-.015em}
.f-ops{display:flex;flex-wrap:wrap;gap:.5rem}
.f-ops button{font:inherit;font-size:.9rem;font-weight:600;color:var(--preto);background:var(--off);border:0;box-shadow:inset 0 0 0 1px #cfccc5;padding:.6rem 1rem;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s}
.f-ops button:hover{box-shadow:inset 0 0 0 1px var(--preto)}
.f-ops button[aria-pressed=true]{background:var(--preto);color:var(--off);box-shadow:none}
.f-leg{font-size:.88rem;color:#5a5a5a;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.f-leg .selo{margin:0}
.f-res{font-size:.9rem;font-weight:600;color:var(--verde);min-height:1.2em}
.itens li{transition:opacity .5s var(--soft),transform 1.2s var(--soft)}
.filtrando .itens li:not(.rende){opacity:.32}
.filtrando .itens li.extra{display:block}
.filtrando .mais{display:none}
.itens li.rende::before{background:var(--verde);transform:skewX(-29deg) scaleY(1.35)}
.g-pe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:1.4rem}
.g-pe .mais{margin-top:0}
.g-cta{margin-left:auto;font-size:.95rem;color:#3d3d3d}
.g-cta b{color:var(--verde);font-weight:700;white-space:nowrap}
.g-cta span{display:inline-block;transition:transform .5s var(--soft)}.g-cta:hover span{transform:translateX(4px)}
@media(max-width:600px){.g-cta{margin-left:0}}
/* aviso e chamada */
.aviso{max-width:77.5rem;margin:clamp(3.5rem,7vw,5rem) auto 0;display:grid;grid-template-columns:auto 1fr;gap:1.2rem;padding:1.6rem clamp(1.2rem,3vw,2rem);background:#e9e6df;border-left:3px solid var(--verde)}
.aviso svg{width:24px;height:24px;fill:none;stroke:var(--verde);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:.15rem}
.aviso p{color:#3d3d3d;line-height:1.65;max-width:80ch}
.aviso b{color:var(--preto)}
.cta{position:relative;overflow:hidden;text-align:center;padding:clamp(6rem,12vw,9rem) var(--m)}
.cta h2{font-weight:900;font-size:clamp(2.2rem,4.8vw,4.4rem);line-height:.92;letter-spacing:-.045em;max-width:17ch;margin:1rem auto 0}
.cta p{color:#a3a09a;font-size:clamp(1.05rem,1.4vw,1.25rem);margin:1.4rem auto 0;max-width:52ch;line-height:1.6}
.cta .acoes{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2.4rem}
.cta-foto{position:absolute;inset:0;background:url("/assets/images/fotos/final-1600.webp") center/cover;opacity:.5;-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 60%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 60%,transparent);pointer-events:none}
.cta>*:not(.cta-foto):not(.piso-t):not(.lam){position:relative;z-index:1}
.cta .lam{position:absolute;top:-30%;bottom:-30%;left:12%;width:90px;background:linear-gradient(180deg,transparent,rgba(79,117,96,.16) 50%,transparent);transform:skewX(-29deg);pointer-events:none}
@media(max-width:600px){.aviso{grid-template-columns:1fr;gap:.8rem}}
@media(max-width:480px){.btn{white-space:nowrap;font-size:.93rem;padding:1.05rem 1.25rem;gap:.6rem}.btn-p .seta{width:16px}.zap{right:.9rem;bottom:.9rem;padding:.8rem}}
@media(max-width:480px){.topo h1{font-size:clamp(2.35rem,11.2vw,3rem);line-height:.95}.mp-trilha{gap:.55rem}.mp-trilha b{font-size:.92rem}.role{bottom:.9rem;gap:.4rem;font-size:.7rem}.topo .intro{font-size:.95rem;line-height:1.55;margin-top:.9rem}.mp-rot{margin-bottom:.8rem}.mp-trilha{gap:.75rem}.mp-base{margin-top:1rem;gap:.5rem}.mp-base span{width:100%}.mp-base a{padding:.45rem .7rem;font-size:.8rem}}
@media(max-width:480px) and (max-height:780px){.mp-trilha{grid-template-columns:1fr 1fr;gap:.55rem 1rem}.mp-w::before,.mp-luz{display:none}.mp-trilha b{font-size:.82rem}.mp-no{width:12px;height:12px}.topo .intro{font-size:.9rem}}
@media(orientation:landscape) and (max-height:500px){.topo{padding-top:4.6rem;padding-bottom:1.2rem}.t-vis,.topo .intro,.mp-base span,.role{display:none}.topo h1{font-size:2rem}.mp-trilha{grid-template-columns:repeat(5,1fr);gap:.4rem}.mp-trilha a{flex-direction:column;text-align:center;gap:.4rem}.mp-trilha b{font-size:.78rem}.mp-w::before,.mp-luz{display:none}}
@media(min-width:1800px) and (min-height:900px){html{font-size:112.5%}}
@media(min-width:2300px) and (min-height:1100px){html{font-size:137.5%}}
@media(min-width:3200px) and (min-height:1500px){html{font-size:175%}}
@media(prefers-reduced-motion:reduce){[data-rev]{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}.zap{opacity:1;transform:none}}
/* fotos menores no celular */
@media(max-width:800px){.cta-foto{background-image:url("/assets/images/fotos/final-800.webp")}}


/* Site escuro por padrão: avisa navegadores com modo escuro forçado (ex.: Samsung Internet) que o site já é escuro */
:root{color-scheme:dark}
@media (prefers-color-scheme:dark){:root{color-scheme:dark}}
