/* ==========================================================================
   Ultramaratona dos Perdidos 2027 — landing de conversão
   Design system: Design system HTML/src/_base.css + Componentes.dc.html
   Regras da marca: cantos retos, zero sombra, zero gradiente de superfície.
   ========================================================================== */

@font-face{font-family:'Right Grotesk Compact Black';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rg-compactblack.woff2') format('woff2');}
@font-face{font-family:'Right Grotesk Medium';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rg-medium.woff2') format('woff2');}
@font-face{font-family:'Basilica Awesome';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/ba-italic.woff2') format('woff2');}
@font-face{font-family:'Basilica Awesome';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ba-regular.woff2') format('woff2');}

:root{
  --preto:#000000; --vermelho:#D9362B; --vermelho-escuro:#B52A21;
  --creme:#F4EBDD; --offwhite:#FFF9F0; --areia:#D8B991;
  --verde:#3F614B; --marrom:#3A2B24; --amarelo:#E6B541; --branco:#FFFFFF;

  --f-display:'Right Grotesk Compact Black',Impact,'Arial Narrow',sans-serif;
  --f-titulo:'Right Grotesk Medium','Helvetica Neue',Arial,sans-serif;
  --f-efeito:'Basilica Awesome',Didot,'Bodoni 72',Georgia,'Times New Roman',serif;
  --f-texto:'SF Pro Text','SF Pro Display',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif;

  --pad:72px;          /* respiro lateral, base 1440 */
  --gap:20px;          /* gutter padrão do design system */
  --max:1296px;        /* 1440 menos os dois respiros */
  --nav-h:62px;

  /* arredondamento leve, pedido do cliente (o design system original e reto) */
  --r:10px;    /* cards, blocos */
  --r-btn:8px; /* botoes */
  --r-sm:5px;  /* tags, selos, etiquetas */
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--creme);color:var(--preto);
  font:400 17px/1.5 var(--f-texto);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;   /* clip, nao hidden: hidden quebraria o position:sticky do bloco 53K */
}
img{display:block;max-width:100%;}
a{color:var(--vermelho);text-decoration:none;}
a:hover{color:var(--vermelho-escuro);}
h1,h2,h3,p,ul,ol,figure{margin:0;}
ul{padding:0;list-style:none;}
:focus-visible{outline:3px solid var(--vermelho);outline-offset:3px;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad);}
.sec{padding:104px 0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* --- cabeçalho de seção: efeito -> título -> régua. Sempre nesta ordem. --- */
.eyebrow{font:italic 400 clamp(24px,2.6vw,34px)/1.1 var(--f-efeito);color:var(--vermelho);}
.sec-title{font:400 clamp(38px,5.4vw,64px)/.9 var(--f-display);text-transform:uppercase;margin-top:12px;letter-spacing:-.005em;}
.rule{width:80px;height:4px;background:var(--vermelho);margin-top:20px;}
.sec-lead{font:400 18px/1.5 var(--f-texto);color:var(--marrom);margin-top:22px;max-width:62ch;}
.sec-lead + .sec-lead{margin-top:12px;}
.sec-title{max-width:22ch;text-wrap:balance;}
.sec-head{margin-bottom:52px;}
.dark .sec-title,.dark .sec-lead{color:var(--creme);}
.dark .sec-lead{color:var(--creme);opacity:.86;}

.cap{font:600 12px/1.3 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--marrom);}
.dark .cap{color:var(--areia);}

/* --- botões: 52px, RG Medium 16 caixa alta, +.06em --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:52px;padding:0 28px;border:0;cursor:pointer;border-radius:var(--r-btn);
  font:400 16px/1 var(--f-titulo);letter-spacing:.06em;text-transform:uppercase;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn--primary{background:var(--vermelho);color:var(--branco);}
.btn--primary:hover{background:var(--vermelho-escuro);color:var(--branco);}
.btn--secondary{background:transparent;color:var(--preto);border:2px solid var(--preto);}
.btn.is-off{opacity:.42;pointer-events:none;cursor:default;}
.btn--secondary:hover{background:var(--preto);color:var(--creme);}
.btn--ghost{background:transparent;color:var(--creme);border:2px solid var(--creme);}
.btn--ghost:hover{background:var(--creme);color:var(--preto);}
.btn--cream{background:var(--creme);color:var(--preto);}
.btn--cream:hover{background:var(--branco);color:var(--preto);}
.btn--lg{height:60px;padding:0 36px;font-size:18px;}
.btn--block{width:100%;}
.btn--disabled{background:var(--areia);color:var(--marrom);opacity:.6;pointer-events:none;}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--f-texto);color:var(--vermelho);}
.link-arrow svg{width:15px;height:15px;}
.link-arrow:hover svg{transform:translateX(3px);}
.link-arrow svg{transition:transform .18s ease;}
.link-under{display:inline-flex;align-items:center;gap:8px;height:52px;border-radius:2px;color:var(--preto);border-bottom:3px solid var(--vermelho);font:400 16px/1 var(--f-titulo);letter-spacing:.06em;text-transform:uppercase;}
.dark .link-under,.hero .link-under,.fim .link-under{color:var(--creme);}
.hero .link-under{height:60px;}

/* ============================ NAV (bloco flutuante, PrismaHero) ============================ */
.nav{position:fixed;top:10px;left:0;right:0;z-index:60;display:flex;justify-content:center;pointer-events:none;}
.nav__bloco{
  position:relative;
  display:flex;align-items:center;gap:26px;
  padding:9px 12px 9px 18px;background:var(--preto);
  border-radius:0 0 18px 18px;
  pointer-events:auto;max-width:calc(100vw - 40px);
  transition:border-radius .32s cubic-bezier(.2,.8,.3,1),transform .32s cubic-bezier(.2,.8,.3,1);
}
/* passado o hero, a barra descola do topo e vira ilha */
.nav.is-ilha .nav__bloco{border-radius:18px;transform:translateY(8px);}
.nav__logo{display:block;width:104px;flex:none;}
.nav__logo img{width:100%;height:auto;}   /* sem isso o height do atributo fixa 53px e infla a barra */
.nav__links{display:flex;gap:22px;align-items:center;}
.nav__links a{font:600 11px/1 var(--f-texto);letter-spacing:.09em;text-transform:uppercase;color:rgba(244,235,221,.78);transition:color .18s ease;}
.nav__links a:hover{color:var(--vermelho);}
.nav .btn{height:34px;padding:0 15px;font-size:12px;}
.nav .btn:hover{color:var(--branco);}
.nav__burger{display:none;width:40px;height:40px;background:none;border:0;cursor:pointer;padding:9px;}
.nav__burger span{display:block;height:2px;background:var(--creme);margin:5px 0;transition:transform .24s ease,opacity .18s ease;}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.is-travado{overflow:hidden;}

/* ============================ HERO ============================ */
/* raio de canto: exceção pedida, vem do PrismaHero (rounded-[2rem]) */
.hero{position:relative;margin:10px;border-radius:32px;overflow:hidden;
  min-height:calc(100svh - 20px);padding-top:calc(var(--nav-h) + 48px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--preto);}
.hero__media{position:absolute;inset:0;z-index:0;}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;}
/* overlay chapado — o design system nao usa gradiente em superficie */
.hero__scrim{position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.34);}
/* unico gradiente do projeto: overlay de foto, para o titulo assentar na base */
.hero__scrim--base{background:linear-gradient(to top,rgba(0,0,0,.86) 0%,rgba(0,0,0,.55) 34%,rgba(0,0,0,0) 72%);}
/* grao cinematografico do PrismaHero, bem sutil */
.hero__grain{position:absolute;inset:0;z-index:1;opacity:.5;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");}

.hero__base{
  position:relative;z-index:3;width:100%;max-width:var(--max);margin:0 auto;
  padding:0 var(--pad) 52px;color:var(--creme);
  display:grid;grid-template-columns:minmax(0,1fr) 396px;gap:72px;align-items:end;
}
.hero__titulo{min-width:0;}
.hero__eyebrow{font:italic 400 clamp(22px,2.4vw,32px)/1.1 var(--f-efeito);color:var(--vermelho);margin-bottom:14px;}
.hero h1{font:400 clamp(40px,6.6vw,104px)/.82 var(--f-display);text-transform:uppercase;letter-spacing:-.022em;color:var(--creme);}
.hero h1 .ano{color:var(--vermelho);}
/* palavras sobem uma a uma, como o WordsPullUp */
.pull span{display:inline-block;}
html.js .pull span{opacity:0;transform:translateY(22px);animation:sobe .62s cubic-bezier(.16,1,.3,1) forwards;}
.pull span:nth-child(1){animation-delay:.05s;} .pull span:nth-child(2){animation-delay:.13s;}
.pull span:nth-child(3){animation-delay:.21s;} .pull span:nth-child(4){animation-delay:.29s;}
@keyframes sobe{to{opacity:1;transform:none;}}

.hero__lado{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-bottom:10px;}
.hero__frase{font:italic 400 clamp(24px,2.3vw,32px)/1.12 var(--f-efeito);color:var(--creme);max-width:22ch;text-shadow:0 1px 14px rgba(0,0,0,.5);}
.hero__frase span{color:var(--vermelho);}
.hero__lead{font:400 15px/1.5 var(--f-texto);color:var(--creme);opacity:.86;max-width:40ch;}
.hero__apoio{display:flex;align-items:center;gap:14px;}
.hero__apoio .hero__mascote{width:64px;}
.hero__apoio b{display:block;font:400 24px/1 var(--f-display);color:var(--creme);letter-spacing:.01em;}
.hero__apoio span{display:block;font:600 11px/1.4 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--areia);margin-top:6px;}
/* botao com o gesto do PrismaHero: rotulo + seta num bloco, em cantos retos */
.pill{display:inline-flex;align-items:center;gap:16px;background:var(--creme);color:var(--preto);border-radius:var(--r-btn);
  padding:0 6px 0 22px;height:56px;font:400 16px/1 var(--f-titulo);letter-spacing:.06em;text-transform:uppercase;
  transition:gap .2s ease,background-color .2s ease;}
.pill:hover{gap:22px;background:var(--branco);color:var(--preto);}
.pill__ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--vermelho);color:var(--branco);border-radius:6px;transition:transform .2s ease;}
.pill:hover .pill__ico{transform:scale(1.06);}
.pill__ico svg{width:17px;height:17px;}
.hero__lote{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-top:20px;border-top:1px solid rgba(216,185,145,.3);width:100%;}
.hero__lote .cap{color:var(--areia);flex:1 1 100%;}
.badge-lote{display:inline-flex;align-items:center;height:32px;padding:0 13px;background:var(--amarelo);color:var(--preto);border-radius:var(--r-sm);font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;}
/* contador: porte do Countdown Number (21st.dev/@reuno-ui), digito rola ao virar */
.countdown{display:flex;align-items:flex-start;gap:10px;}
.countdown__u{display:flex;flex-direction:column;align-items:center;gap:9px;}
.countdown__n{display:flex;font:400 clamp(26px,3vw,34px)/1 var(--f-display);color:var(--creme);letter-spacing:-.02em;}
.countdown__d{display:block;width:.6em;height:1em;overflow:hidden;}
.countdown__roll{display:flex;flex-direction:column;transform:translateY(0%);transition:transform .62s cubic-bezier(.22,1,.36,1);will-change:transform;}
.countdown__roll span{display:flex;align-items:center;justify-content:center;height:1em;}
.countdown__l{font:600 10px/1.4 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--areia);}
.countdown__sep{font:400 clamp(22px,2.4vw,28px)/1 var(--f-display);color:var(--areia);opacity:.45;}

/* data da prova e mascote, topo da coluna direita do hero */
.hero__mascote{width:clamp(84px,9vw,124px);height:auto;flex:none;filter:drop-shadow(0 10px 26px rgba(0,0,0,.45));}

/* tags de distancia: contorno 2px, a maior distancia em vermelho solido */
.tag{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px;font:400 22px/1 var(--f-display);border:2px solid currentColor;border-radius:var(--r-sm);}
.tag--light{color:var(--creme);}
.tag--dark{color:var(--preto);}
.tag--max{background:var(--vermelho);border-color:var(--vermelho);color:var(--branco);}


/* ================= 53K: sticky content wrapper (21st.dev/@hyperiux) =================
   Sem JS o bloco é uma lista comum. Com JS o sticky assume: a foto ativa
   é revelada por um wipe de clip-path enquanto escala, e o texto do passo
   entra só depois que o anterior termina de sair. */
.dark{background:var(--preto);color:var(--creme);}
.scw{position:relative;overflow:clip;padding-bottom:0;}
.scw__scroll{position:relative;margin-top:8px;}
.scw__sticky{display:flex;align-items:center;gap:72px;max-width:var(--max);margin:0 auto;padding:0 var(--pad) 96px;}
.scw__media{position:relative;width:min(50%,calc(min(74vh,660px) * .8));flex:none;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;}
.scw__img{position:absolute;inset:0;clip-path:inset(0% 0% 0% 0%);will-change:transform,clip-path;}
.scw__img img{width:100%;height:100%;object-fit:cover;display:block;}
.scw__lado{position:relative;flex:1 1 auto;}
.scw__item{display:flex;flex-direction:column;justify-content:center;padding:32px 0;will-change:transform,opacity;}
.scw__item .n{font:400 clamp(56px,7vw,96px)/.85 var(--f-display);color:var(--vermelho);letter-spacing:-.02em;}
.scw__item h3{font:400 clamp(28px,3.4vw,44px)/.95 var(--f-display);text-transform:uppercase;margin-top:14px;}
.scw__item p{font:400 16px/1.5 var(--f-texto);color:var(--creme);opacity:.86;margin-top:10px;max-width:50ch;}
.scw__item h3 + p{margin-top:16px;}
.scw__item .scw__meta{font:600 11px/1.4 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--areia);opacity:1;margin-top:16px;}
.scw__mascote{position:absolute;right:-60px;bottom:-30px;width:min(26vw,330px);opacity:.07;pointer-events:none;z-index:0;}
.scw__dica{display:none;}

html.js .scw__scroll{height:calc(var(--scw-passos,3) * 100vh);}
html.js .scw__sticky{position:sticky;top:0;height:100vh;padding-bottom:0;}
html.js .scw__lado{height:min(74vh,660px);}
html.js .scw__item{position:absolute;inset:0;padding:0;opacity:0;}
html.js .scw__dica{display:flex;position:absolute;left:50%;bottom:36px;transform:translateX(-50%);flex-direction:column;align-items:center;gap:8px;
  font:600 10px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--areia);opacity:.7;transition:opacity .4s ease;}
.scw__dica svg{display:block;width:20px;height:28px;overflow:visible;}
.scw__dica .chev{animation:scw-chev 1.4s ease-in-out infinite;}
.scw__dica .chev--2{animation-delay:.22s;}
.scw__dica .chev--3{animation-delay:.44s;}
.scw__scroll.is-fim .scw__dica{opacity:0;}
@keyframes scw-chev{0%{opacity:.08;transform:translateY(-3px);}50%{opacity:.55;transform:translateY(2px);}100%{opacity:.08;transform:translateY(-3px);}}

/* seta do CTA dentro do bloco sticky */
.link-seta{display:inline-flex;align-items:center;gap:10px;width:fit-content;margin-top:26px;font:600 13px/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--creme);}
.link-seta svg{width:18px;height:18px;flex:none;transition:transform .3s ease;}
.link-seta:hover svg,.link-seta:focus-visible svg{transform:rotate(-45deg);}

/* ============================ DISTÂNCIAS ============================ */
.dists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:stretch;}
.dist{background:var(--offwhite);border:1px solid var(--areia);border-radius:var(--r);padding:24px 22px 22px;display:flex;flex-direction:column;
  transition:border-color .22s ease,transform .22s cubic-bezier(.2,.8,.3,1);}
.dist:hover{border-color:var(--preto);transform:translateY(-5px);}
.dist__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.dist__selo{display:inline-flex;font:600 10px/1 var(--f-texto);letter-spacing:.12em;padding:5px 7px;background:var(--branco);color:var(--vermelho);margin-bottom:10px;border-radius:3px;}
.dist__km{font:400 clamp(40px,4vw,54px)/.85 var(--f-display);letter-spacing:-.02em;}
.dist__preco{margin-top:12px;}
.dist__preco b{display:block;font:400 30px/1 var(--f-display);letter-spacing:-.01em;}
.dist__preco span{display:block;font:600 10px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--marrom);margin-top:6px;}
.dist__off{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:var(--r-sm);background:var(--amarelo);color:var(--preto);font:600 10px/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;}
.pct__selo{align-self:flex-start;}
.pct__selo[hidden]{display:none;}
.dist__mascote{width:78px;height:auto;flex:none;transform-origin:80% 20%;
  transition:transform .3s cubic-bezier(.2,.8,.3,1);}
.dist:hover .dist__mascote{transform:scale(1.12) rotate(-6deg);}
.dist__claim{font:600 11px/1.45 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--marrom);margin-top:16px;min-height:4.3em;}
.dist__feats{margin-top:4px;padding-top:16px;border-top:1px solid var(--areia);display:flex;flex-direction:column;gap:11px;}
.dist__feats li{display:grid;grid-template-columns:9px minmax(0,1fr);gap:10px;align-items:baseline;font:400 13px/1.35 var(--f-texto);color:var(--marrom);}
.dist__feats i{width:7px;height:7px;background:var(--vermelho);transform:rotate(45deg);align-self:center;}
.dist__feats span{font:600 10px/1.35 var(--f-texto);letter-spacing:.09em;text-transform:uppercase;opacity:.7;grid-column:2;}
.dist__feats b{font:400 14px/1.3 var(--f-texto);color:var(--preto);grid-column:2;}
.dist .btn{margin-top:auto;padding-top:0;margin-top:22px;}
.dist--destaque{background:var(--vermelho);border-color:var(--vermelho);color:var(--branco);}
.dist--destaque .dist__claim,.dist--destaque .dist__preco span,.dist--destaque .dist__feats li,.dist--destaque .dist__feats span{color:var(--branco);}
.dist--destaque .dist__feats b{color:var(--branco);}
.dist--destaque .dist__feats{border-top-color:rgba(255,255,255,.35);}
.dist--destaque .dist__feats i{background:var(--branco);}
.dist--destaque:hover{border-color:var(--branco);}

/* ================= PERCURSOS: morphing dialog (21st.dev/@patrick-xin) =================
   O card cresce até a janela por FLIP, com a foto e o título fazendo a ponte. */
.percursos{position:relative;}
.pct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);}
.pct__card{display:flex;flex-direction:column;text-align:left;padding:0;cursor:pointer;
  background:var(--branco);border:1px solid var(--areia);border-radius:var(--r);overflow:hidden;
  transition:border-color .2s ease,transform .2s ease;}
.pct__card:hover{border-color:var(--preto);transform:translateY(-3px);}
.pct__foto{display:block;aspect-ratio:4/5;overflow:hidden;}
.pct__foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.pct__card:hover .pct__foto img{transform:scale(1.05);}
.pct__pe{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 18px;}
.pct__km{font:400 30px/.9 var(--f-display);letter-spacing:-.02em;}
.pct__mais{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--areia);border-radius:50%;color:var(--marrom);font:400 18px/1 var(--f-texto);transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
.pct__card:hover .pct__mais{background:var(--vermelho);border-color:var(--vermelho);color:var(--branco);}

.pct__modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;}
.pct__modal[hidden]{display:none;}   /* display:flex venceria o atributo hidden */
.pct__fundo{position:absolute;inset:0;background:rgba(0,0,0,.72);opacity:0;transition:opacity .3s ease;}
.pct__modal.is-on .pct__fundo{opacity:1;}
.pct__janela{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);width:min(980px,100%);max-height:min(86vh,760px);background:var(--offwhite);border-radius:var(--r);overflow:hidden;}
.pct__janela-foto{overflow:hidden;}
.pct__janela-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.pct__janela-corpo{display:flex;flex-direction:column;min-height:0;padding:40px 38px 0;overflow-y:auto;}
.pct__selo{display:inline-flex;align-items:center;height:28px;padding:0 12px;background:var(--amarelo);color:var(--preto);border-radius:var(--r-sm);font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;}
.pct__janela-corpo h3{font:400 clamp(40px,5vw,64px)/.88 var(--f-display);text-transform:uppercase;margin-top:14px;letter-spacing:-.02em;}
.pct__janela-corpo>p{font:400 17px/1.55 var(--f-texto);color:var(--marrom);margin-top:14px;}
.pct__dados{margin-top:26px;border-top:1px solid var(--areia);}
.pct__dados li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--areia);font:400 15px/1.3 var(--f-texto);color:var(--marrom);}
.pct__dados b{font-weight:400;color:var(--preto);}
.pct__sub{font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--marrom);margin-top:26px;}
.pct__postos{margin-top:10px;border-top:1px solid var(--areia);}
.pct__postos li{position:relative;padding:9px 0 9px 20px;border-bottom:1px solid var(--areia);font:400 14px/1.4 var(--f-texto);color:var(--preto);}
.pct__postos li::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;background:var(--vermelho);transform:rotate(45deg);}
.pct__nota{font:400 14px/1.55 var(--f-texto);color:var(--marrom);opacity:.8;margin-top:22px;}
.pct__acoes{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding:22px 0 30px;background:var(--offwhite);}
.pct__acoes .btn{margin-top:0;}
.pct__janela-corpo .btn{margin-top:26px;}
.pct__x{position:absolute;top:16px;right:16px;z-index:2;width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  background:var(--branco);border:0;border-radius:50%;cursor:pointer;color:var(--preto);box-shadow:0 6px 20px rgba(0,0,0,.18);}
.pct__x svg{width:18px;height:18px;}

/* ================= EQUIPAMENTO: navegação no formato Download 01 (21st.dev/@designali-in) ================= */
.eqp__grid{display:grid;grid-template-columns:4fr 6fr;gap:var(--gap);align-items:start;}
.eqp__painel{background:var(--offwhite);border:1px solid var(--areia);border-radius:var(--r);padding:40px;}
.eqp__pane h3{font:400 clamp(28px,3.2vw,42px)/.95 var(--f-display);text-transform:uppercase;letter-spacing:-.01em;}
.eqp__lead{font:400 17px/1.55 var(--f-texto);color:var(--marrom);margin-top:16px;max-width:52ch;}
.eqp__docs{margin-top:30px;border-top:1px solid var(--areia);}
.eqp__docs li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--areia);}
.eqp__docs b{display:block;font:400 20px/1.2 var(--f-titulo);}
.eqp__docs span{display:block;font:600 11px/1.4 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--marrom);margin-top:7px;}
.eqp__docs .btn{display:inline-flex;margin-top:0;height:46px;padding:0 22px;font:400 14px/1 var(--f-titulo);letter-spacing:.06em;color:inherit;}
.eqp__docs .btn.is-off{opacity:1;height:34px;padding:0 14px;border:1px dashed var(--marrom);background:transparent;color:var(--marrom);
  font:600 11px/1 var(--f-texto);letter-spacing:.12em;border-radius:var(--r-sm);}
.eqp__itens{margin-top:22px;border-top:1px solid var(--areia);}
.eqp__itens li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--areia);font:400 17px/1.5 var(--f-texto);color:var(--marrom);}
.eqp__itens li::before{content:"";position:absolute;left:2px;top:20px;width:8px;height:8px;background:var(--vermelho);transform:rotate(45deg);}
.eqp__contatos{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.eqp__contatos .btn svg{width:20px;height:20px;}
.eqp__nota{font:400 14px/1.55 var(--f-texto);color:var(--marrom);opacity:.8;margin-top:20px;}
.eqp__sub{font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--marrom);margin-top:28px;}
.eqp__itens--rec{margin-top:10px;}
.eqp__itens--rec li{font-size:15px;padding:9px 0 9px 26px;}
.eqp__itens--rec li::before{background:var(--areia);top:16px;}
.eqp__nav{display:flex;flex-direction:column;gap:10px;border:1px solid var(--areia);border-radius:var(--r);padding:16px;background:var(--branco);position:sticky;top:calc(var(--nav-h) + 24px);}
/* sub-seleção por distância dentro de itens obrigatórios */
.eqp__dists{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;}
.eqp__dist{height:42px;padding:0 18px;cursor:pointer;background:transparent;color:var(--preto);border:2px solid var(--areia);border-radius:var(--r-sm);
  font:400 20px/1 var(--f-display);letter-spacing:-.01em;transition:background-color .18s ease,border-color .18s ease,color .18s ease;}
.eqp__dist:hover{border-color:var(--preto);}
.eqp__dist.is-on{background:var(--vermelho);border-color:var(--vermelho);color:var(--branco);}
.eqp__item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:20px;cursor:pointer;
  background:transparent;border:0;border-radius:var(--r-sm);text-align:left;color:var(--preto);
  font:400 19px/1.2 var(--f-titulo);transition:background-color .2s ease,color .2s ease;}
.eqp__item svg{width:22px;height:22px;flex:none;color:var(--marrom);transition:transform .25s ease,color .2s ease;}
.eqp__item:hover{background:var(--offwhite);}
.eqp__item:hover svg{transform:translate(3px,-3px);}
.eqp__item.is-on{background:var(--preto);color:var(--creme);}
.eqp__item.is-on svg{color:var(--amarelo);transform:rotate(90deg);}

/* ============================ LOTES ============================ */
.lotes{background:var(--offwhite);}
.lotes__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start;}
.tabela-wrap{position:relative;overflow-x:auto;border:1px solid var(--areia);background:var(--branco);border-radius:var(--r);}
.tab-realce{position:absolute;left:0;right:0;top:0;z-index:0;background:var(--creme);opacity:0;pointer-events:none;
  transition:transform .1s cubic-bezier(.2,.8,.3,1),height .1s ease,opacity .12s ease;}
.lotes-tab tbody tr{position:relative;z-index:1;}
.lotes-tab tbody tr td,.lotes-tab tbody tr th{transition:border-color .12s ease,color .12s ease;}
.lotes-tab tbody tr.is-perto td,.lotes-tab tbody tr.is-perto th{border-bottom-color:transparent;color:var(--preto);}
.lotes-tab tbody tr.is-perto .lote-data{opacity:.9;}
table.lotes-tab{width:100%;border-collapse:collapse;font:400 15px/1.4 var(--f-texto);color:var(--marrom);min-width:560px;}
.lotes-tab thead th{position:sticky;top:0;z-index:2;background:var(--preto);color:var(--creme);text-align:right;padding:14px 16px;font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;}
.lotes-tab thead th:first-child{text-align:left;}
.lotes-tab tbody td{padding:13px 16px;text-align:right;border-bottom:1px solid var(--areia);}
.lotes-tab .lote-th{text-align:left;padding:13px 16px;border-bottom:1px solid var(--areia);font-weight:400;}
.lotes-tab tbody tr:last-child .lote-th{border-bottom:0;}
.lotes-tab tbody td:first-child{text-align:left;}
.lotes-tab tbody tr:last-child td{border-bottom:0;}
.lotes-tab .lote-nome{font:400 20px/1 var(--f-display);color:var(--preto);text-transform:uppercase;}
.lotes-tab .lote-data{display:block;font:600 10px/1.4 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-top:5px;}
.lotes-tab tr.is-atual{background:var(--offwhite);}
.lotes-tab tr.is-atual .lote-nome{color:var(--vermelho);}
.lotes-tab tr.is-passado td{opacity:.45;}
.lotes-tab .col-destaque{background:rgba(217,54,43,.06);}
.lotes-tab thead .col-destaque{background:var(--vermelho);}
.marca-atual{display:inline-flex;align-items:center;height:22px;padding:0 8px;background:var(--vermelho);color:var(--branco);font:600 9px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;margin-left:10px;vertical-align:2px;}
.beneficios{background:var(--preto);color:var(--creme);padding:36px 32px;border-top:6px solid var(--vermelho);border-radius:var(--r);overflow:hidden;}
.beneficios h3{font:400 30px/.95 var(--f-display);text-transform:uppercase;}
.beneficios ul{margin-top:22px;display:flex;flex-direction:column;gap:14px;}
.beneficios li{display:flex;gap:12px;font:400 15px/1.5 var(--f-texto);color:var(--creme);}
.beneficios li svg{flex:none;width:18px;height:18px;margin-top:3px;}
.beneficios .btn{margin-top:28px;}
.nota-tabela{font:400 14px/1.5 var(--f-texto);color:var(--marrom);margin-top:18px;}
.btn[hidden],.link-arrow[hidden]{display:none;}
.hero__grupo{flex:none;}
.hero__grupo svg,.veteranos .btn svg{flex:none;width:20px;height:20px;}
.veteranos{display:flex;align-items:center;justify-content:space-between;gap:20px 28px;margin-top:28px;padding:24px 28px;background:var(--branco);border:1px solid var(--areia);border-left:6px solid var(--vermelho);border-radius:var(--r);}
.veteranos[hidden]{display:none;}
.veteranos h3{font:400 24px/1 var(--f-display);text-transform:uppercase;color:var(--preto);}
.veteranos p{font:400 15px/1.5 var(--f-texto);color:var(--marrom);margin-top:8px;max-width:46ch;}
.veteranos .btn{flex:none;}
@media (max-width:640px){.veteranos{flex-direction:column;align-items:stretch;padding:22px 20px;}}

/* ============================ KIT (composição do card-22) ============================ */
.kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);}
.peca{background:var(--offwhite);border:1px solid var(--areia);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;
  transition:transform .22s cubic-bezier(.2,.8,.3,1),border-color .22s ease;}
.peca:hover{transform:translateY(-5px);border-color:var(--preto);}
.peca__foto{position:relative;aspect-ratio:1834/1350;background:var(--areia);overflow:hidden;}
.peca__foto img{width:100%;height:100%;object-fit:cover;display:block;}
.peca__vazia{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(135deg,var(--areia) 0 14px,var(--offwhite) 14px 28px);
  font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--marrom);opacity:.85;}
.kit-vip{border-left-color:var(--amarelo);}
.peca__etq{position:absolute;top:14px;left:14px;font:600 10px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;
  padding:7px 9px;background:var(--preto);color:var(--amarelo);border-radius:var(--r-sm);}
.peca__corpo{padding:24px 24px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.peca h3{font:400 26px/.95 var(--f-display);text-transform:uppercase;}
.peca__meta{font:600 10px/1.3 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--marrom);opacity:.72;}
.peca__txt{font:400 15px/1.5 var(--f-texto);color:var(--marrom);}
.peca__cores{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px;}
.cor{width:30px;height:30px;border-radius:50%;background:var(--c);border:2px solid var(--offwhite);box-shadow:0 0 0 1px var(--areia);
  cursor:pointer;padding:0;display:grid;place-items:center;font:700 11px/1 var(--f-texto);color:var(--offwhite);transition:box-shadow .15s ease;}
.cor--clara{color:var(--preto);}
.cor[aria-checked="true"]{box-shadow:0 0 0 2px var(--preto);}
.peca__cor-nome{font:400 13px/1.3 var(--f-texto);color:var(--marrom);margin-left:4px;}
.peca__pe{margin-top:auto;padding-top:16px;border-top:1px solid var(--areia);
  font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--vermelho);}
.inclui{margin-bottom:var(--gap);padding:16px 22px;background:var(--offwhite);border:1px solid var(--areia);border-left:4px solid var(--vermelho);border-radius:var(--r);
  font:400 15px/1.5 var(--f-texto);color:var(--marrom);}
.inclui b{color:var(--preto);}
.posts__titulo{font:400 clamp(24px,2.6vw,32px)/1 var(--f-display);text-transform:uppercase;color:var(--creme);margin:64px 0 24px;}
.beneficios__nota{margin-top:18px;font:400 14px/1.5 var(--f-texto);color:var(--creme);opacity:.8;}

/* ============================ SEGURANÇA ============================ */
.seg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;}
.seg__lista{display:flex;flex-direction:column;gap:0;}
.seg__lista li{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--areia);font:400 16px/1.5 var(--f-texto);color:var(--marrom);}
.seg__lista li:first-child{border-top:1px solid var(--areia);}
.seg__lista li svg{flex:none;width:20px;height:20px;margin-top:2px;}
.seg__card{background:var(--verde);color:var(--creme);padding:32px;border-radius:var(--r);}
.seg__card h3{font:400 30px/.95 var(--f-display);text-transform:uppercase;margin-top:10px;}
.seg__card p{font:400 15px/1.55 var(--f-texto);margin-top:12px;}
.seg__card .cap{color:var(--areia);}

/* --- quem organiza --- */
.org{margin:0 0 0 auto;max-width:460px;background:var(--preto);color:var(--creme);display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;}
.org__foto{width:100%;height:280px;object-fit:cover;object-position:center 22%;}
.org__txt{padding:24px 26px 28px;border-top:6px solid var(--vermelho);}
.org__logo{height:32px;width:auto;filter:brightness(0) invert(1);margin-bottom:20px;}
.org__txt .cap{color:var(--areia);}
.org h3{font:400 30px/.95 var(--f-display);text-transform:uppercase;margin:8px 0 0;}
.org p{font:400 15px/1.55 var(--f-texto);color:var(--creme);opacity:.86;margin-top:14px;}

/* ============================ PROVA SOCIAL ============================ */
.marquee{position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee__track{display:flex;gap:var(--gap);width:max-content;animation:slide 56s linear infinite;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee--rev .marquee__track{animation-direction:reverse;animation-duration:64s;}
.marquee figure{margin:0;flex:none;}
.marquee img{width:auto;height:min(34vh,320px);object-fit:contain;border-radius:var(--r-btn);}
.marquee figcaption{font:600 10px/1.4 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--areia);margin-top:10px;}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(calc(-50% - (var(--gap) / 2)));}}

.patros{border-top:1px solid rgba(216,185,145,.3);margin-top:72px;padding-top:44px;}
.patros__grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:32px 46px;margin-top:30px;}
.patros__grid img{height:42px;width:auto;max-width:150px;object-fit:contain;filter:brightness(0) invert(1);opacity:.85;}
/* MKCO entra como e: o filtro transformava o logo numa mancha */
.patros__grid img.sem-filtro{filter:none;opacity:1;}

/* ---- post card (21st.dev/@preetsuthar17): sem botões, só as contagens ---- */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:start;}
.post{display:flex;flex-direction:column;gap:18px;padding:22px;background:rgba(244,235,221,.05);
  border:1px solid rgba(216,185,145,.22);border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.28);}
.post__topo{display:flex;align-items:center;gap:14px;}
.post__avatar{display:block;width:44px;height:44px;flex:none;border-radius:50%;object-fit:cover;background:var(--areia);}
.post__avatar--letra{display:flex;align-items:center;justify-content:center;color:var(--preto);font:400 20px/1 var(--f-display);}
.post__midia{position:relative;display:block;border-radius:16px;overflow:hidden;background:rgba(0,0,0,.4);}
.post__midia img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.post__midia:hover img{transform:scale(1.04);}
.post__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.55);color:var(--creme);backdrop-filter:blur(2px);}
.post__play svg{width:26px;height:26px;margin-left:2px;}
.post__quem b{display:block;font:400 17px/1.2 var(--f-titulo);color:var(--creme);}
.post__quem span{display:block;font:400 13px/1.3 var(--f-texto);color:var(--areia);opacity:.75;margin-top:4px;}
.post__txt{font:400 16px/1.6 var(--f-texto);color:var(--creme);opacity:.9;white-space:pre-wrap;}
.post__pe{display:flex;align-items:center;gap:18px;padding-top:16px;border-top:1px solid rgba(216,185,145,.18);
  font:400 14px/1 var(--f-texto);color:var(--areia);}
.post__num{display:inline-flex;align-items:center;gap:7px;}
.post__num svg{width:17px;height:17px;}
.post__link{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font:600 11px/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--creme);}
.post__link svg{width:14px;height:14px;transition:transform .25s ease;}
.post__link:hover svg{transform:translate(2px,-2px);}

/* ============================ FAQ ============================ */
.faq{max-width:900px;}
.faq details{border-bottom:1px solid var(--areia);}
.faq details:first-of-type{border-top:1px solid var(--areia);}
.faq summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font:400 clamp(19px,2vw,24px)/1.3 var(--f-titulo);color:var(--preto);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--vermelho);}
.faq .sinal{flex:none;position:relative;width:20px;height:20px;margin-top:4px;}
.faq .sinal::before,.faq .sinal::after{content:"";position:absolute;background:var(--vermelho);transition:transform .2s ease;}
.faq .sinal::before{left:0;right:0;top:9px;height:2px;}
.faq .sinal::after{top:0;bottom:0;left:9px;width:2px;}
.faq details[open] .sinal::after{transform:scaleY(0);}
.faq details p{font:400 16px/1.6 var(--f-texto);color:var(--marrom);padding:0 60px 26px 0;max-width:70ch;}
.faq__links{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:40px;}

/* ============================ FECHAMENTO ============================ */
.fim{position:relative;min-height:88svh;padding:120px 0;display:flex;align-items:center;overflow:hidden;background:var(--preto);text-align:center;}
.fim__media{position:absolute;inset:0;}
.fim__media img{width:100%;height:100%;object-fit:cover;object-position:center 45%;}
.fim__scrim{position:absolute;inset:0;background:rgba(0,0,0,.62);}
.fim__inner{position:relative;z-index:2;width:100%;padding:0 var(--pad);color:var(--creme);}
.fim h2{font:400 clamp(30px,4.2vw,60px)/.95 var(--f-display);text-transform:uppercase;letter-spacing:-.01em;max-width:30ch;margin:12px auto 0;text-wrap:balance;}
.fim h2 span{color:var(--vermelho);}
.fim__txt{max-width:44ch;margin:24px auto 0;font:400 18px/1.5 var(--f-texto);color:var(--creme);opacity:.9;}
.fim__meta{margin-top:30px;font:600 12px/1.6 var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--areia);}
.fim .btn{margin-top:38px;}
.fim .btn[hidden]{display:none;}
.avise-dlg{width:min(640px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:auto;padding:44px 40px 36px;border:0;border-top:6px solid var(--vermelho);border-radius:var(--r);background:var(--preto);color:var(--creme);overflow:auto;}
.avise-dlg::backdrop{background:rgba(0,0,0,.72);}
.avise-dlg[open]{animation:aviseEntra .28s ease;}
@keyframes aviseEntra{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.avise-dlg__x{position:absolute;top:14px;right:14px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--r-btn);background:transparent;color:var(--creme);cursor:pointer;}
.avise-dlg__x:hover{background:rgba(255,249,240,.1);}
.avise-dlg__x svg{width:22px;height:22px;}
.avise{text-align:left;}
.avise__h{font:400 clamp(28px,4vw,40px)/.95 var(--f-display);text-transform:uppercase;color:var(--creme);text-align:center;padding:0 24px;}
.avise__grupo{display:flex;width:100%;margin-top:20px;}
.avise__grupo svg{width:20px;height:20px;}
.avise__tit{font:400 16px/1.5 var(--f-texto);color:var(--creme);text-align:center;max-width:46ch;margin:14px auto 0;opacity:.9;}
.avise__tit b{font-weight:600;}
.avise__campos{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:26px;}
.avise label span{display:block;font:600 11px/1 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--areia);margin-bottom:8px;}
.avise input[type=text],.avise input[type=email],.avise input[type=tel],.avise select{width:100%;height:52px;padding:0 16px;border:2px solid transparent;border-radius:var(--r-btn);background:var(--creme);color:var(--preto);font:400 16px/1 var(--f-texto);}
.avise input:focus,.avise select:focus{outline:none;border-color:var(--vermelho);}
.avise input[aria-invalid=true]{border-color:var(--vermelho);}
.avise__check{display:flex;align-items:center;gap:10px;margin-top:18px;cursor:pointer;}
.avise__check input{width:20px;height:20px;accent-color:var(--vermelho);}
.avise__check span{display:inline!important;margin:0!important;font:400 15px/1.4 var(--f-texto)!important;letter-spacing:0!important;text-transform:none!important;color:var(--creme)!important;}
.avise .btn{display:flex;width:100%;margin-top:24px;}
.avise__lgpd{margin-top:12px;font:400 13px/1.5 var(--f-texto);color:var(--areia);text-align:center;}
.avise__msg{margin-top:14px;font:400 16px/1.5 var(--f-texto);color:var(--creme);text-align:center;}
.avise__msg:empty{display:none;}
.avise__msg a:not(.btn){color:var(--creme);text-decoration:underline;}
.avise.is-ok .avise__campos,.avise.is-ok .avise__check,.avise.is-ok .btn:not(.avise__grupo),.avise.is-ok .avise__lgpd{display:none;}
@media (max-width:640px){.avise__campos{grid-template-columns:1fr;}.avise-dlg{padding:40px 20px 28px;}}

/* ============================ FOOTER ============================ */
.foot{background:var(--preto);color:var(--creme);padding:72px 0 32px;}
.foot__top{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:44px;padding-bottom:44px;border-bottom:1px solid rgba(216,185,145,.25);}
.foot__logo{width:170px;}
.foot__org{font:600 11px/1.7 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--areia);margin-top:20px;}
.foot h4{font:600 11px/1 var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--areia);margin-bottom:18px;}
.foot ul{display:flex;flex-direction:column;gap:11px;}
.foot ul a{font:400 15px/1.4 var(--f-texto);color:var(--creme);}
.foot ul a:hover{color:var(--vermelho);}
.foot__bar{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center;padding-top:28px;font:600 11px/1.5 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--areia);opacity:.75;}

/* --- barra fixa mobile --- */
/* --- botão flutuante mobile: só o CTA, no canto inferior direito --- */
.bar-mob{
  position:fixed;right:14px;bottom:14px;z-index:70;display:none;
  align-items:center;justify-content:center;height:44px;padding:0 20px;
  background:var(--vermelho);color:var(--branco);border-radius:var(--r-btn);
  font:400 13px/1 var(--f-titulo);letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 10px 26px rgba(0,0,0,.4);
  transform:translateY(120%);transition:transform .28s ease,background-color .18s ease;
}
.bar-mob.is-on{transform:translateY(0);}
.bar-mob:hover{background:var(--vermelho-escuro);color:var(--branco);}

/* --- entrada ---
   Padrao: visivel. So a versao com JS (html.js) parte de opacity 0,
   para a pagina nunca ficar em branco se o script falhar. */
.rise{opacity:1;transform:none;}
html.js .rise{opacity:0;transform:translateY(24px);}
html.js .rise.is-in{opacity:1;transform:none;transition:opacity .8s ease-out,transform .8s ease-out;}
html.js .rise.d1{transition-delay:.14s;} html.js .rise.d2{transition-delay:.28s;} html.js .rise.d3{transition-delay:.42s;}

/* ============================ RESPONSIVO ============================ */
@media (max-width:1180px){
  :root{--pad:48px;}
  .nav__bloco{gap:24px;padding:12px 16px 12px 20px;}
  .nav__links{gap:20px;}
  .nav__links a{font-size:11px;letter-spacing:.08em;}
  .hero__base{grid-template-columns:minmax(0,1fr);gap:34px;padding-bottom:40px;}
  .hero__lado{max-width:560px;}
  .hero h1{font-size:clamp(44px,9.4vw,104px);}
  .dists{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .pct{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .eqp__grid{grid-template-columns:minmax(0,1fr);}
  .eqp__nav{position:static;flex-direction:row;flex-wrap:wrap;}
  .eqp__item{flex:1 1 200px;}
  .lotes__grid{grid-template-columns:minmax(0,1fr);gap:40px;}
  .scw__sticky{gap:44px;}
}
@media (max-width:860px){
  :root{--pad:20px;--nav-h:64px;}
  .sec{padding:72px 0;}
  .nav{top:8px;padding:0 8px;}
  .hero{margin:8px;border-radius:22px;min-height:calc(100svh - 16px);}
  /* barra compacta: logo menor, alturas fixas e o painel ancorado embaixo do bloco */
  /* a barra veste o topo do hero: mesma largura e o mesmo raio nos cantos de cima */
  .nav__bloco{width:100%;max-width:none;justify-content:space-between;gap:10px;padding:7px 6px 7px 12px;border-radius:22px 22px 16px 16px;}
  .nav.is-ilha .nav__bloco{border-radius:16px;transform:translateY(6px);}
  .nav__logo{width:86px;}
  .nav__burger{display:block;width:38px;height:38px;padding:10px 7px;}
  .nav__burger span{margin:3px 0;}
  .nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  .nav__links{border-radius:14px;padding:4px 16px 16px;}
  .nav__links{
    position:absolute;top:calc(100% + 8px);left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--preto);border-radius:18px;padding:6px 20px 20px;
    max-height:calc(100svh - 120px);overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
  }
  .nav__links.is-open{opacity:1;visibility:visible;transform:none;}
  .nav__links a{padding:15px 0;border-bottom:1px solid rgba(216,185,145,.22);font-size:13px;}
  .nav__links .btn{margin-top:16px;height:52px;justify-content:center;}
  .hero__base{padding-bottom:32px;gap:26px;}
  .hero__eyebrow{font-size:21px;margin-bottom:10px;}
  .hero h1{font-size:clamp(38px,11.6vw,62px);letter-spacing:-.02em;}
  .hero__lado{gap:18px;}
  .hero__apoio .hero__mascote{width:54px;}
  .pill{width:100%;justify-content:space-between;height:54px;}
  .hero__lote{padding-top:16px;gap:10px 14px;}
  .countdown{gap:8px;}
  .countdown__n{font-size:24px;}
  .countdown__sep{font-size:20px;}
  .dists{grid-template-columns:minmax(0,1fr);}
  .kit{grid-template-columns:minmax(0,1fr);}
  .posts{grid-template-columns:minmax(0,1fr);}
  .seg{grid-template-columns:minmax(0,1fr);gap:36px;}
  .pct{grid-template-columns:minmax(0,1fr);}
  .pct__foto{aspect-ratio:4/5;}
  .pct__modal{padding:12px;}
  .pct__janela{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);max-height:calc(100svh - 24px);}
  .pct__janela-foto{height:210px;}
  .pct__janela-corpo{padding:26px 22px 0;}
  .pct__acoes{padding:18px 0 22px;}
  .eqp__painel{padding:26px 22px;}
  .eqp__docs li{flex-direction:column;align-items:stretch;}
  .eqp__docs .btn{width:100%;}
  .eqp__item{padding:16px;font-size:17px;}
  .org__foto{height:240px;}
  .org{max-width:none;margin:0;}
  /* celular: sem sticky; foto e texto de cada distância empilhados (display:contents + order) */
  html.js .scw__scroll{height:auto;}
  html.js .scw__sticky{position:static;height:auto;flex-direction:column;align-items:stretch;gap:0;padding:0 var(--pad) 64px;}
  .scw__media,html.js .scw__lado{display:contents;}
  .scw__img,html.js .scw__item{position:relative;inset:auto;opacity:1;visibility:visible;transform:none;}
  .scw__img{aspect-ratio:4/5;width:min(100%,340px);border-radius:20px;overflow:hidden;margin:44px auto 0;clip-path:none;}
  .scw__img[data-i="0"]{order:0;} .scw__item[data-i="0"]{order:1;}
  .scw__img[data-i="1"]{order:2;} .scw__item[data-i="1"]{order:3;}
  .scw__img[data-i="2"]{order:4;} .scw__item[data-i="2"]{order:5;}
  html.js .scw__item{justify-content:flex-start;padding-top:24px;}
  html.js .scw__dica{display:none;}
  /* tabela de lotes: cabe inteira na largura da tela, sem rolagem lateral */
  .tabela-wrap{overflow:hidden;}
  .tab-realce{display:none;}
  table.lotes-tab{min-width:0;width:100%;table-layout:fixed;font-size:12px;}
  .lotes-tab thead th{padding:9px 5px;font-size:9px;letter-spacing:.05em;}
  .lotes-tab thead th:first-child{width:33%;padding-left:10px;}
  .lotes-tab tbody td{padding:11px 5px;font-size:12px;}
  .lotes-tab tbody td:last-child{padding-right:10px;}
  .lotes-tab .lote-th{padding:11px 10px;}
  .lotes-tab .lote-nome{font-size:15px;}
  .lotes-tab .lote-data{font-size:8px;letter-spacing:.04em;margin-top:4px;}
  .marca-atual{display:none;}
  .marquee img{height:210px;}
  .foot__top{grid-template-columns:minmax(0,1fr);gap:32px;}
  .bar-mob{display:flex;}
  .faq details p{padding-right:0;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  html.js .rise{opacity:1;transform:none;}
  .countdown__roll{transition:none!important;}
  .scw__dica .chev{animation:none;}
}

/* ================= ALTIMETRIA: perfil interativo no padrão UTMB Live (js/perfil.js) =================
   SVG desenhado à mão, ladders em HTML, scroller horizontal com eixo Y fixo. Sem biblioteca. */
.alt{margin-top:64px;background:var(--offwhite);border:1px solid var(--areia);border-radius:var(--r);padding:36px 38px 30px;}
.alt[hidden]{display:none;}
.alt__cabeca{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 32px;}
.alt__eyebrow{font:italic 400 clamp(20px,2vw,26px)/1.1 var(--f-efeito);color:var(--vermelho);}
.alt__titulo{font:400 clamp(30px,3.4vw,44px)/.95 var(--f-display);text-transform:uppercase;letter-spacing:-.01em;margin-top:8px;}
.alt__stats{display:flex;flex-wrap:wrap;gap:8px 26px;}
.alt__stats b{display:block;font:400 30px/1 var(--f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.alt__stats span{display:block;font:600 10.5px/1.3 var(--f-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--marrom);margin-top:6px;}
.alt__dists{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.alt__dists[hidden]{display:none;}
.alt__dist{height:42px;padding:0 20px;cursor:pointer;background:transparent;color:var(--preto);border:2px solid var(--areia);border-radius:var(--r-sm);font:400 15px/1 var(--f-titulo);letter-spacing:.06em;text-transform:uppercase;transition:background-color .18s,border-color .18s,color .18s;}
.alt__dist:hover{border-color:var(--preto);}
.alt__dist.is-on{background:var(--vermelho);border-color:var(--vermelho);color:var(--branco);}
.alt__dists+.alt__grafico .alt__ui{margin-top:22px;}
.alt__ui{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:30px;}
.alt__ui-esq{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;flex:1 1 auto;min-width:0;}
.alt__pills{display:inline-flex;background:var(--creme);border-radius:var(--r-btn);padding:3px;}
.alt__pill{height:38px;padding:0 18px;border:0;border-radius:calc(var(--r-btn) - 2px);background:transparent;cursor:pointer;font:400 14px/1 var(--f-titulo);letter-spacing:.06em;text-transform:uppercase;color:var(--marrom);transition:background-color .18s,color .18s;}
.alt__pill.is-on{background:var(--preto);color:var(--creme);}
.alt__sw{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:400 14px/1 var(--f-texto);color:var(--marrom);user-select:none;}
.alt__sw input{position:absolute;opacity:0;width:0;height:0;}
.alt__sw i{position:relative;width:40px;height:22px;background:var(--areia);border-radius:11px;transition:background-color .2s;}
.alt__sw i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--branco);border-radius:50%;transition:transform .2s;}
.alt__sw input:checked+i{background:var(--vermelho);}
.alt__sw input:checked+i::after{transform:translateX(18px);}
.alt__sw input:focus-visible+i{outline:3px solid var(--vermelho);outline-offset:3px;}
.alt__legenda{display:flex;flex-wrap:wrap;gap:6px 14px;font:400 12px/1.2 var(--f-texto);color:var(--preto);}
.alt__legenda[hidden]{display:none;}
.alt__legenda i{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-2px;margin-right:6px;}
.alt__legenda small{color:var(--marrom);font-size:11px;}
.alt__scroller{display:flex;overflow-x:auto;overflow-y:hidden;margin-top:22px;scrollbar-width:thin;}
.alt__eixo{position:sticky;left:0;z-index:3;flex:0 0 56px;background:var(--offwhite);}
.alt__eixo svg{display:block;}
.alt__eixo text{font:400 11px var(--f-texto);fill:var(--marrom);font-variant-numeric:tabular-nums;}
.alt__area{position:relative;flex:1 0 auto;min-width:880px;}
.alt--compacto .alt__area{min-width:0;}
.alt__area>svg{display:block;position:absolute;inset:0;overflow:visible;}
.alt__grade{stroke:var(--areia);stroke-width:1;opacity:.7;}
.alt__linha{fill:none;stroke:var(--vermelho);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
.alt__areafill{fill:var(--vermelho);opacity:.12;transition:opacity .35s;}
.alt__faixas{opacity:0;transition:opacity .35s;}
.is-inclinacao .alt__areafill{opacity:0;}
.is-inclinacao .alt__faixas{opacity:1;}
.is-inclinacao .alt__linha{stroke:var(--preto);stroke-width:1.5;}
.alt__guia{stroke:var(--marrom);stroke-width:1;stroke-dasharray:2 4;opacity:.5;}
.alt__pc{fill:var(--vermelho);stroke:var(--offwhite);stroke-width:2.5;}
.alt__pc--extremo{fill:var(--preto);}
.alt__hit{fill:transparent;cursor:pointer;}
.alt__realce{fill:var(--preto);opacity:0;transition:opacity .2s;pointer-events:none;}
.alt__realce.is-on{opacity:.13;}
.alt__mira{stroke:var(--preto);stroke-width:1;opacity:0;pointer-events:none;}
.alt__ponto{fill:var(--preto);stroke:var(--offwhite);stroke-width:2.5;opacity:0;pointer-events:none;}
.alt__area.is-hover .alt__mira,.alt__area.is-hover .alt__ponto{opacity:1;}
.alt__corte{stroke:var(--preto);stroke-width:1.5;stroke-dasharray:6 4;opacity:0;transition:opacity .25s;}
.is-cortes .alt__corte{opacity:.75;}
.alt__corte-etq{position:absolute;top:6px;transform:translateX(-50%);z-index:2;padding:6px 8px;background:var(--preto);color:var(--creme);border-radius:var(--r-sm);font:600 10px/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .25s;pointer-events:none;}
.is-cortes .alt__corte-etq{opacity:1;}
.alt__txt{font:600 10px var(--f-texto);fill:var(--marrom);letter-spacing:.08em;text-transform:uppercase;}
.alt__ladders{position:absolute;inset:0;pointer-events:none;}
.alt__ladder{pointer-events:auto;position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 5px 4px;background:var(--offwhite);border:1px solid var(--areia);border-radius:var(--r-sm);cursor:pointer;color:var(--preto);opacity:0;translate:0 10px;transition:opacity .5s ease-out,translate .5s ease-out,border-color .2s,background-color .2s;}
.alt__grafico.is-in .alt__ladder{opacity:1;translate:0 0;}
.alt__ladder:hover,.alt__ladder.is-on{border-color:var(--preto);background:var(--branco);}
.alt__ladder b{font:400 12px/1 var(--f-display);letter-spacing:.03em;padding:2px 1px;}
.alt__ladder--extremo b{color:var(--vermelho);}
.alt__ladder svg{width:18px;height:18px;color:var(--vermelho);}
.alt__ladder-corte{display:flex;padding-top:2px;border-top:1px solid var(--areia);color:var(--preto);}
.alt__ladder-corte svg{color:var(--preto);}
.alt__banda{position:absolute;left:0;right:0;bottom:0;height:var(--alt-banda,104px);pointer-events:none;}
.alt__marco{position:absolute;top:12px;transform:translateX(-50%);text-align:center;white-space:nowrap;opacity:0;translate:0 8px;transition:opacity .5s ease-out,translate .5s ease-out;}
.alt__marco b{display:block;font:400 15px/1 var(--f-display);color:var(--vermelho);letter-spacing:.01em;}
.alt__marco span{display:block;font:600 10.5px/1.2 var(--f-texto);letter-spacing:.06em;text-transform:uppercase;color:var(--marrom);margin-top:4px;}
.alt__marco--b span{margin-top:21px;}
.alt__trecho{pointer-events:auto;position:absolute;top:76px;transform:translateX(-50%);display:flex;gap:7px;align-items:baseline;padding:6px 9px;background:var(--creme);border-radius:var(--r-sm);white-space:nowrap;font:400 12px/1 var(--f-texto);color:var(--marrom);cursor:default;opacity:0;translate:0 8px;transition:opacity .5s ease-out,translate .5s ease-out,background-color .2s;}
.alt__trecho b{font-weight:600;color:var(--preto);}
.alt__trecho:hover{background:var(--areia);}
.alt__grafico.is-in .alt__marco,.alt__grafico.is-in .alt__trecho{opacity:1;translate:0 0;}
.alt__tip{position:absolute;z-index:6;pointer-events:none;min-width:210px;padding:12px 14px;background:var(--preto);color:var(--creme);border-radius:var(--r);opacity:0;transition:opacity .15s;}
.alt__tip b{display:block;font:400 22px/1 var(--f-display);letter-spacing:-.01em;}
.alt__tip small{display:block;font:600 10.5px/1.3 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--areia);margin-top:5px;}
.alt__tip dl{display:grid;grid-template-columns:auto auto;gap:5px 18px;margin:10px 0 0;font:400 12.5px/1.3 var(--f-texto);}
.alt__tip dt{color:var(--areia);}
.alt__tip dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;}
.alt__nota{font:400 13.5px/1.55 var(--f-texto);color:var(--marrom);opacity:.85;margin-top:18px;max-width:78ch;}
.pct__mini{margin-top:22px;}
.pct__mini .alt__scroller{margin-top:0;overflow:visible;}

/* ================= MAPA 3D do percurso (js/mapa.js, MapLibre) ================= */
.mapa{position:relative;margin-top:var(--gap);height:min(580px,72vh);border:1px solid var(--areia);border-radius:var(--r);overflow:hidden;background:var(--marrom);}
.mapa[hidden]{display:none;}
.mapa .mapa__canvas,.mapa .mapa__canvas.maplibregl-map{position:absolute;inset:0;width:100%;height:100%;}  /* dois seletores para vencer o .maplibregl-map{position:relative} do CSS da biblioteca, que chega depois */
.mapa__legenda{position:absolute;left:12px;bottom:34px;z-index:2;padding:10px 12px;background:rgba(0,0,0,.72);color:var(--creme);border-radius:var(--r-sm);font:400 12px/1.4 var(--f-texto);pointer-events:none;max-width:280px;}
.mapa__legenda b{display:block;font:400 16px/1 var(--f-display);text-transform:uppercase;margin-bottom:4px;}
.mapa__pc{position:relative;display:inline-block;padding:5px 7px;background:var(--vermelho);color:var(--branco);border-radius:var(--r-sm);font:400 12px/1 var(--f-display);letter-spacing:.03em;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.35);}
.mapa__pc::after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;background:inherit;transform:translateX(-50%) rotate(45deg);}
.mapa__pc--extremo{background:var(--preto);color:var(--creme);}
.mapa__km{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--branco);color:var(--preto);font:600 10px/1 var(--f-texto);box-shadow:0 1px 4px rgba(0,0,0,.4);}
.mapa__alvo{display:block;width:16px;height:16px;border-radius:50%;background:var(--preto);border:3px solid var(--creme);box-shadow:0 0 0 5px rgba(0,0,0,.28);}
.mapa__alvo[hidden]{display:none;}
.mapa__corredor{display:block;width:20px;height:20px;border-radius:50%;background:var(--amarelo);border:3px solid var(--preto);box-shadow:0 0 0 6px rgba(230,181,65,.35);}
.mapa .mapa__ctl button{width:auto;min-width:30px;height:30px;padding:0 11px;font:600 11px/1 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--preto);}
.mapa .mapa__ctl button[aria-pressed="true"][data-a="voo"]{background:var(--vermelho);color:var(--branco);}
.mapa .maplibregl-ctrl-attrib{font:400 10px/1.3 var(--f-texto);}
.mapa__erro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--creme);font:400 15px/1.5 var(--f-texto);}
@media (max-width:860px){
  .alt{margin-top:40px;padding:26px 18px 22px;}
  .alt__stats{gap:8px 18px;}
  .alt__stats b{font-size:24px;}
  .alt__ui{margin-top:22px;}
  .alt__ui-esq{width:100%;}
  .alt__sw span{white-space:nowrap;}
  .mapa{height:min(460px,70vh);}
  .mapa__legenda{display:none;}
}

/* atalho do card de distância para a janela de percurso (substitui a grade de fotos) */
.dist__ver{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:auto;padding:14px 0 0;
  background:none;border:0;border-top:1px solid var(--areia);color:var(--preto);cursor:pointer;
  font:600 11px/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;text-align:left;}
.dist__ver span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--areia);border-radius:50%;
  font:400 16px/1 var(--f-texto);transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
.dist__ver:hover span{background:var(--vermelho);border-color:var(--vermelho);color:var(--branco);}
.dist--destaque .dist__ver{color:var(--branco);border-top-color:rgba(255,255,255,.35);}
.dist--destaque .dist__ver span{border-color:rgba(255,255,255,.6);}
.dist--destaque .dist__ver:hover span{background:var(--branco);border-color:var(--branco);color:var(--vermelho);}
.dist__ver + .btn{margin-top:16px;}
.dist__feats{margin-bottom:22px;}
/* dados do card em 2 colunas: mesma informação, metade da altura */
.dist__feats{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;}
.dist__claim{min-height:0;}
.dist__claim{margin-bottom:14px;}
