/* ══════════════════════════════════════════════════════════════════════════
   LANDING · SECÇÕES 3 A 10  (outubro de 2026)

   Folha própria, carregada depois do estilos.css, para não mexer nas duas
   mil linhas que o hero e o formulário já usam. Tudo o que está aqui vive
   debaixo das classes x*, por isso não toca em mais nada do site.

   Ordem de cor, para a página respirar:
   formulário (preto) → mercado (lima) → fatura (preto, papel por cima)
   → o que ninguém diz (lima) → processo (claro) → quem (preto)
   → solar (fotografia, preto) → perguntas (claro) → remate (lima) → rodapé.

   Efeitos: só com a classe x-anima no <html>, que o script põe quando há
   como os desfazer. Nenhum passa dos 0,6 s e nenhum prende a rolagem.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --x-preto:#0B0B0A;
  --x-osso:#F2F2EE;
  --x-papel:#FBFBF7;
  --x-lima:#D0F53D;
  --x-lima-2:#9FC30A;
  --x-linha-e:rgba(242,242,238,.14);
  --x-linha-c:rgba(11,11,10,.14);
  --x-pad:clamp(84px,10.5vw,168px);
  --x-ease:cubic-bezier(.2,.7,.2,1);
}

/* o estilos.css pinta todo o "p b" de branco; aqui a cor vem do fundo */
:where(.xm,.xf,.xp,.xc,.xq,.xs,.xr,.xz,.xrod) :is(p,li) b{color:inherit}

.x-in{max-width:1340px; margin:0 auto; padding-inline:var(--marg-hero,clamp(14px,2.6vw,42px)); position:relative}

/* rótulo pequeno, com o traço lima à frente */
.x-k{display:flex; align-items:center; gap:12px; margin:0 0 clamp(16px,1.8vw,24px);
  font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(242,242,238,.62)}
.x-k::before{content:""; width:28px; height:2px; background:var(--x-lima); flex:none}
.x-k-esc{color:rgba(11,11,10,.62)}
.x-k-esc::before{background:var(--x-preto)}

/* botões: pílula, a cor depende do fundo */
.x-btn,
:is(.xm,.xf,.xp,.xc,.xs,.xr,.xz) .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:0 28px; border-radius:999px; border:0;
  font-weight:600; font-size:15px; line-height:1; font-family:inherit; letter-spacing:-.01em; text-decoration:none;
  transition:transform .25s var(--x-ease), background-color .2s ease, color .2s ease; cursor:pointer}
:is(.xf,.xs) .btn-p{background:var(--x-lima); color:var(--x-preto)}
:is(.xf,.xs) .btn-p:hover{background:#DCF76E; transform:translateY(-2px)}
.x-btn,
:is(.xm,.xp,.xc,.xr,.xz) a.btn-p[href]{background:var(--x-preto); color:var(--x-lima)}
.x-btn:hover,
:is(.xm,.xp,.xc,.xr,.xz) a.btn-p[href]:hover{background:#26261f; color:var(--x-lima); transform:translateY(-2px)}
.x-btn span[aria-hidden]{transition:transform .25s var(--x-ease)}
.x-btn:hover span[aria-hidden]{transform:translateY(-3px)}
:is(.xm,.xf,.xp,.xc,.xq,.xs,.xr,.xz,.xrod) a:focus-visible,
:is(.xf,.xr) button:focus-visible,
.xr summary:focus-visible{outline:2px solid currentColor; outline-offset:4px; border-radius:6px}

/* entrada genérica: os filhos marcados sobem um pouco, uns atrás dos outros */
.x-anima :is(.xm-cab,.xm-c,.xm-pe,.xf-lado,.xf-doc,.xp-t span,.xp-pe,.xc-cab,.xc-p,.xc-sem,
  .xq-quem > *,.xq-doc,.xs-dia,.xs-o,.xs-remate,.xr-cab,.xr-lista,.xz .x-in > *){
  opacity:0; transform:translateY(22px);
  transition:opacity .6s var(--x-ease), transform .6s var(--x-ease)}
.x-anima .x-vista :is(.xm-cab,.xm-c,.xm-pe,.xf-lado,.xf-doc,.xp-t span,.xp-pe,.xc-cab,.xc-p,.xc-sem,
  .xq-quem > *,.xq-doc,.xs-dia,.xs-o,.xs-remate,.xr-cab,.xr-lista,.xz .x-in > *){
  opacity:1; transform:none}
.x-anima .x-vista :is(.xm-c:nth-child(2),.xp-t span:nth-child(2),.xc-p:nth-child(2),.xq-quem > :nth-child(2),.xs-o:nth-child(2),.xz .x-in > :nth-child(2)){transition-delay:.08s}
.x-anima .x-vista :is(.xm-c:nth-child(3),.xc-p:nth-child(3),.xq-quem > :nth-child(3),.xz .x-in > :nth-child(3)){transition-delay:.16s}
.x-anima .x-vista :is(.xm-pe,.xf-doc,.xq-doc,.xr-lista,.xq-quem > :nth-child(4),.xz .x-in > :nth-child(4)){transition-delay:.2s}
.x-anima .x-vista .xc-g-eva .xc-p{transition-delay:.24s}
.x-anima .x-vista .xc-g-eva .xc-p:nth-child(2){transition-delay:.32s}
.x-anima .x-vista .xc-g-eva .xc-p:nth-child(3){transition-delay:.4s}

/* ══ O MERCADO HOJE ══════════════════════════════════════════════════════ */
.xm{background:var(--x-lima); color:var(--x-preto); padding:var(--x-pad) 0 clamp(56px,6vw,96px)}
.xm-cab{display:grid; grid-template-columns:1fr; gap:14px 48px; align-items:end;
  margin-bottom:clamp(40px,5vw,80px)}
@media(min-width:900px){ .xm-cab{grid-template-columns:auto 1fr} .xm-cab .x-k{grid-column:1 / -1} }
.xm-t{color:var(--x-preto); font-size:clamp(46px,8.4vw,140px); font-weight:500;
  letter-spacing:-.055em; line-height:.9}
.xm-s{max-width:34ch; font-size:clamp(15px,1.2vw,18px); line-height:1.45; color:rgba(11,11,10,.72);
  padding-bottom:.6em}
@media(min-width:900px){ .xm-s{justify-self:end; text-align:right} }

.xm-vivo{position:relative; width:8px; height:8px; border-radius:50%; background:var(--x-preto); margin-left:2px}
.xm-cab .x-k::before{display:none}
.x-anima .xm-vivo::after{content:""; position:absolute; inset:-5px; border-radius:50%;
  border:1.5px solid var(--x-preto); animation:xm-pulso 2.4s ease-out infinite}
@keyframes xm-pulso{0%{transform:scale(.4); opacity:.9} 70%,100%{transform:scale(1.6); opacity:0}}

.xm-g{display:grid; grid-template-columns:1fr; border-top:2px solid var(--x-preto)}
@media(min-width:900px){ .xm-g{grid-template-columns:repeat(3,minmax(0,1fr))} }
.xm-c{padding:clamp(22px,2.4vw,36px) 0 clamp(26px,2.6vw,40px); border-bottom:1px solid rgba(11,11,10,.2)}
@media(min-width:900px){
  .xm-c{padding-inline:clamp(18px,2vw,34px); border-bottom:0; border-left:1px solid rgba(11,11,10,.2)}
  .xm-c:first-child{padding-left:0; border-left:0}
}
.xm-k{display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:rgba(11,11,10,.66)}
.xm-v{display:flex; align-items:baseline; gap:10px; margin-top:clamp(14px,1.6vw,26px)}
.xm-v b{font-size:clamp(68px,8.6vw,136px); font-weight:500; letter-spacing:-.06em; line-height:.86;
  font-variant-numeric:tabular-nums}
.xm-v span{font-size:14px; font-weight:500; color:rgba(11,11,10,.62)}
.xm-x{margin-top:14px; font-size:16px; font-weight:600; letter-spacing:-.01em}
.xm-h{margin-top:8px; max-width:36ch; font-size:14px; line-height:1.5; color:rgba(11,11,10,.7)}
.xm-d{margin-top:16px; font-size:12px; color:rgba(11,11,10,.58); font-variant-numeric:tabular-nums}
.xm-d a{color:inherit; text-underline-offset:3px}
.xm-d a:hover{color:var(--x-preto)}
/* os encargos: a única coisa que ninguém negoceia, por isso vai a preto */
.xm-erc{background:var(--x-preto); color:var(--x-lima); border-radius:20px;
  padding:clamp(22px,2.4vw,36px) clamp(20px,2.2vw,34px) !important; border:0 !important;
  margin:14px 0 0}
@media(min-width:900px){ .xm-erc{margin:-1px 0 0 clamp(12px,1.4vw,22px)} }
.xm-erc .xm-k{color:rgba(208,245,61,.7)}
.xm-erc .xm-v span,.xm-erc .xm-h,.xm-erc .xm-d{color:rgba(242,242,238,.62)}
.xm-erc .xm-x{color:var(--x-osso)}
.xm-tag{padding:4px 9px; border-radius:999px; background:rgba(208,245,61,.16); color:var(--x-lima);
  font-size:10px; letter-spacing:.12em}

.xm-pe{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 32px;
  margin-top:clamp(36px,4vw,64px); padding-top:clamp(22px,2.4vw,32px); border-top:1px solid rgba(11,11,10,.2);
  font-size:clamp(15px,1.2vw,18px)}
.xm-pe a:not(.x-btn){color:var(--x-preto); font-weight:600; text-underline-offset:4px; text-decoration-thickness:1.5px}

/* ══ A FATURA DE EXEMPLO ═════════════════════════════════════════════════ */
.xf{background:var(--x-preto); color:var(--x-osso); padding:var(--x-pad) 0; overflow:hidden}
.xf-g{display:grid; grid-template-columns:1fr; gap:clamp(44px,5vw,80px); align-items:center}
@media(min-width:1000px){ .xf-g{grid-template-columns:minmax(0,5fr) minmax(0,6fr)} }
.xf-t{color:var(--x-osso); font-size:clamp(38px,4.8vw,80px); font-weight:500; letter-spacing:-.05em; line-height:.96;
  max-width:13ch}
.xf-diz{list-style:none; margin:clamp(28px,3vw,44px) 0 0; padding:0; display:grid; gap:2px}
.xf-diz li{display:grid; grid-template-columns:14px 1fr; gap:16px; align-items:start;
  padding:16px 0; border-top:1px solid var(--x-linha-e); font-size:clamp(16px,1.25vw,19px); line-height:1.45;
  color:rgba(242,242,238,.82)}
.xf-diz i{width:12px; height:12px; border-radius:3px; margin-top:.4em}
.xf-neg i{background:var(--x-lima)}
.xf-fix i{background:#55554e}
.xf-nos i{background:transparent; border:2px solid var(--x-lima)}
.xf-nos p{color:var(--x-osso); font-weight:500}

.xf-comp{margin-top:clamp(26px,3vw,40px)}
.xf-barra{display:flex; height:14px; border-radius:999px; overflow:hidden; gap:3px}
.xf-barra span{flex:var(--p) 1 0; border-radius:3px; transform-origin:left;
  transition:transform .6s var(--x-ease)}
.b-en{background:var(--x-lima)}
.b-po{background:var(--x-lima-2)}
.b-re{background:#55554e}
.x-anima .xf:not(.x-vista) .xf-barra span{transform:scaleX(0)}
.x-anima .xf .xf-barra .b-po{transition-delay:.12s}
.x-anima .xf .xf-barra .b-re{transition-delay:.24s}
.xf-comp-l{margin-top:12px; font-size:14px; color:rgba(242,242,238,.66)}
.xf-comp-l b{color:var(--x-lima); font-size:20px; font-weight:600; letter-spacing:-.02em; margin-right:4px}
.xf-cta{margin-top:clamp(28px,3vw,44px)}

.xf-doc{margin:0; position:relative}
.xf-sw{display:inline-flex; padding:4px; margin-bottom:16px; border-radius:999px;
  background:rgba(242,242,238,.08); border:1px solid var(--x-linha-e)}
.xf-sw[hidden]{display:none}
.xf-sw button{min-height:44px; padding:0 18px; border:0; border-radius:999px; background:transparent;
  color:rgba(242,242,238,.72); font-weight:600; font-size:14px; line-height:1; font-family:inherit; cursor:pointer;
  transition:background-color .25s ease, color .25s ease}
.xf-sw button[aria-pressed="true"]{background:var(--x-lima); color:var(--x-preto)}
.xf-papel{position:relative; background:var(--x-papel); color:var(--x-preto); border-radius:18px;
  padding:clamp(20px,2.4vw,36px); box-shadow:0 40px 80px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06)}
@media(min-width:1000px){ .xf-papel{transform:rotate(-1.2deg)} }
/* o picotado de cima, para se ler como papel */
.xf-papel::before{content:""; position:absolute; left:18px; right:18px; top:-6px; height:12px;
  background:radial-gradient(circle at 6px 6px, var(--x-preto) 4px, transparent 4.5px) 0 0/16px 12px repeat-x}
.xf-cab{display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  padding-bottom:18px; border-bottom:2px solid var(--x-preto)}
.xf-doc-t{font-size:clamp(18px,1.6vw,22px); font-weight:600; letter-spacing:-.02em}
.xf-doc-m{margin-top:4px; font-size:13px; color:rgba(11,11,10,.6)}
.xf-selo{flex:none; padding:6px 10px; border:1.5px solid var(--x-preto); border-radius:6px;
  font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; transform:rotate(3deg)}
.xf-th{display:flex; justify-content:space-between; padding:12px 0 8px; font-size:10px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:rgba(11,11,10,.5)}
.xf-l,.xf-tot{display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  padding:16px 0; border-top:1px dashed rgba(11,11,10,.2)}
.xf-nm{display:flex; gap:12px; align-items:flex-start; font-size:clamp(15px,1.2vw,17px); font-weight:600; letter-spacing:-.01em}
.xf-nm small{display:block; margin-top:3px; font-size:12.5px; font-weight:400; letter-spacing:0; color:rgba(11,11,10,.58)}
.xf-nm .dot{flex:none; width:10px; height:10px; border-radius:3px; margin-top:.45em}
.xf-vl{display:flex; flex-direction:column; align-items:flex-end; gap:4px; white-space:nowrap;
  font-variant-numeric:tabular-nums; text-align:right}
.xf-vl s{font-size:13px; color:rgba(11,11,10,.45); text-decoration-thickness:1.5px;
  transition:font-size .4s var(--x-ease), color .4s ease}
.xf-vl b{font-size:clamp(16px,1.3vw,19px); font-weight:600}
.xf-l-neg .xf-vl b{padding:3px 8px; margin-right:-8px; border-radius:6px; background:var(--x-lima);
  transition:opacity .4s ease, transform .4s var(--x-ease)}
.xf-tot{border-top:2px solid var(--x-preto); padding-top:18px; align-items:center}
.xf-tot .xf-nm{font-size:clamp(16px,1.3vw,19px)}
.xf-tot em{font-style:normal; font-weight:400; font-size:12px; color:rgba(11,11,10,.55); margin-left:6px}
.xf-tot b{font-size:clamp(28px,3vw,44px); font-weight:600; letter-spacing:-.04em}
.xf-poup{display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:4px 16px;
  margin:6px calc(-1 * clamp(20px,2.4vw,36px)) calc(-1 * clamp(20px,2.4vw,36px));
  padding:18px clamp(20px,2.4vw,36px); border-radius:0 0 18px 18px; background:var(--x-preto); color:var(--x-osso);
  transition:opacity .45s ease, transform .45s var(--x-ease)}
.xf-poup p:first-child{font-size:15px}
.xf-poup p:first-child b{color:var(--x-lima); font-size:clamp(24px,2.4vw,34px); font-weight:600; letter-spacing:-.03em; margin-right:4px}
.xf-poup p:nth-child(2){justify-self:end; font-size:14px; color:rgba(242,242,238,.7)}
.xf-poup p:nth-child(2) b{color:var(--x-osso); font-size:18px}
.xf-poup-n{grid-column:1 / -1; font-size:11px; font-style:italic; color:rgba(242,242,238,.5)}

/* estado "hoje": nada riscado, sem poupança */
.xf-doc[data-estado="antes"] .xf-vl s{text-decoration:none; font-size:clamp(16px,1.3vw,19px); font-weight:600; color:var(--x-preto)}
.xf-doc[data-estado="antes"] .xf-l-neg .xf-vl b{opacity:0; transform:translateY(-6px); position:absolute; pointer-events:none}
.xf-doc[data-estado="antes"] .xf-poup{opacity:.0; transform:translateY(-8px)}
.xf-doc[data-estado="antes"] .xf-l-fix{opacity:1}
.xf-doc[data-estado="depois"] .xf-l-fix{opacity:.6}
.xf-l-fix{transition:opacity .4s ease}

/* ══ O QUE NINGUÉM LHE DIZ ═══════════════════════════════════════════════ */
.xp{background:var(--x-lima); color:var(--x-preto); padding:var(--x-pad) 0 clamp(70px,8vw,120px); overflow:hidden}
.xp-t{color:var(--x-preto); font-size:clamp(36px,6.2vw,108px); font-weight:500; letter-spacing:-.055em; line-height:.98}
.xp-t span{display:block}
.xp-t span + span{margin-top:.3em; color:rgba(11,11,10,.56)}
@media(min-width:1000px){ .xp-t span + span{padding-left:22%} }

.xp-graf{position:relative; margin:clamp(40px,5vw,80px) 0 0; padding:0}
.xp-graf svg{display:block; width:100%; height:clamp(150px,22vw,320px); overflow:visible;
  transition:clip-path .6s var(--x-ease)}
.x-anima .xp:not(.x-vista) .xp-graf svg{clip-path:inset(0 100% 0 0)}
.xp-mer{fill:none; stroke:var(--x-preto); stroke-width:2.5; vector-effect:non-scaling-stroke; stroke-linejoin:round}
.xp-con{fill:none; stroke:var(--x-preto); stroke-width:2; stroke-dasharray:8 7; vector-effect:non-scaling-stroke; opacity:.55}
.xp-pt{position:absolute; left:var(--marg-hero,14px); top:calc(clamp(150px,22vw,320px) * .489); width:14px; height:14px;
  margin:-7px 0 0 -7px; border-radius:50%; background:var(--x-preto); box-shadow:0 0 0 6px rgba(11,11,10,.14)}
.xp-graf svg{padding-inline:var(--marg-hero,14px); box-sizing:border-box}
.xp-graf figcaption{display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:18px;
  padding-inline:var(--marg-hero,14px); font-size:13px; color:rgba(11,11,10,.75)}
.xp-lg{display:inline-flex; align-items:center; gap:10px}
.xp-lg::before{content:""; width:26px; height:0; border-top:2.5px solid var(--x-preto)}
.xp-lg-con::before{border-top:2px dashed rgba(11,11,10,.6)}
.xp-lg-il{margin-left:auto; font-style:italic; color:rgba(11,11,10,.55)}
.xp-lg-il::before{display:none}
.xp-pe{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px 40px;
  margin-top:clamp(44px,5vw,72px)}
.xp-sub{max-width:44ch; font-size:clamp(17px,1.5vw,22px); line-height:1.45; color:rgba(11,11,10,.8)}

/* ══ COMO FUNCIONA ═══════════════════════════════════════════════════════ */
.xc{background:var(--x-osso); color:var(--x-preto); padding:var(--x-pad) 0}
.xc .x-k{color:rgba(11,11,10,.62)}
.xc .x-k::before{background:var(--x-preto)}
.xc-cab{display:grid; gap:18px 60px; margin-bottom:clamp(48px,6vw,96px)}
@media(min-width:1000px){ .xc-cab{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:end}
  .xc-cab .x-k{grid-column:1 / -1} }
.xc-t{color:var(--x-preto); font-size:clamp(40px,6vw,104px); font-weight:500; letter-spacing:-.055em; line-height:.94}
.xc-t em{font-style:normal; background:linear-gradient(transparent 62%, var(--x-lima) 62%, var(--x-lima) 92%, transparent 92%)}
.xc-s{max-width:36ch; font-size:clamp(16px,1.3vw,20px); line-height:1.45; color:rgba(11,11,10,.72); padding-bottom:.4em}
.xc-s b{color:var(--x-preto)}

.xc-trilho{display:grid; gap:48px}
@media(min-width:1000px){ .xc-trilho{grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:0 clamp(24px,2.4vw,40px)} }
.xc-gk{display:inline-flex; align-items:center; min-height:30px; padding:0 14px; border-radius:999px;
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  border:1.5px solid var(--x-preto); margin-bottom:22px}
.xc-g-eva .xc-gk{background:var(--x-preto); color:var(--x-lima); border-color:var(--x-preto)}
.xc-passos{list-style:none; margin:0; padding:0; display:grid; gap:0}
@media(min-width:1000px){
  .xc-g-empresa .xc-passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xc-g-eva .xc-passos{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.xc-p{position:relative; padding:30px clamp(16px,1.6vw,26px) 8px 0}
/* o trilho: uma linha com um ponto por passo */
.xc-p::before{content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--x-preto)}
.xc-g-eva .xc-p::before{background:var(--x-preto)}
.xc-p::after{content:""; position:absolute; left:0; top:-6px; width:14px; height:14px; border-radius:50%;
  background:var(--x-osso); border:2px solid var(--x-preto); box-sizing:border-box}
.xc-g-eva .xc-p::after{background:var(--x-lima)}
.xc-ic{width:56px; height:56px; fill:none; stroke:var(--x-preto); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
  margin-bottom:20px}
.xc-p h3{color:var(--x-preto); font-size:clamp(20px,1.7vw,26px); font-weight:500; letter-spacing:-.03em; line-height:1.1}
.xc-p p{margin-top:10px; font-size:15px; line-height:1.55; color:rgba(11,11,10,.7); max-width:34ch}
.xc-p p b{color:var(--x-preto); font-weight:600}
@media(max-width:999px){
  .xc-p{padding:0 0 30px 34px}
  .xc-p::before{left:6px; right:auto; top:8px; bottom:0; width:2px; height:auto}
  .xc-p:last-child::before{display:none}
  .xc-p::after{left:0; top:2px}
  .xc-ic{width:46px; height:46px; margin-bottom:12px}
}

.xc-sem{display:grid; gap:20px 32px; align-items:center; margin-top:clamp(48px,5vw,80px);
  padding:clamp(24px,3vw,44px); border-radius:24px; background:var(--x-preto); color:rgba(242,242,238,.78)}
@media(min-width:900px){ .xc-sem{grid-template-columns:auto minmax(0,1fr) auto} }
.xc-sem .xc-ic{stroke:var(--x-lima); margin:0}
.xc-sem h3{color:var(--x-osso); font-size:clamp(22px,2vw,30px); font-weight:500; letter-spacing:-.03em; line-height:1.1}
.xc-sem h3 em{font-style:normal; color:var(--x-lima)}
.xc-sem p{margin-top:8px; font-size:15px; line-height:1.55; max-width:56ch}
.xc-sem b{color:var(--x-osso); font-weight:600}
.xc-sem-cta{display:grid; gap:10px; justify-items:start}
@media(min-width:900px){ .xc-sem-cta{justify-items:end; text-align:right} }
.xc-sem-cta p{margin:0; font-size:12.5px; color:rgba(242,242,238,.55)}
.xc .xc-sem a.btn-p[href]{background:var(--x-lima); color:var(--x-preto)}
.xc .xc-sem a.btn-p[href]:hover{background:#DCF76E; color:var(--x-preto)}

/* ══ QUEM ESTÁ POR TRÁS ══════════════════════════════════════════════════ */
section.xq#quem-somos{background:var(--x-preto); color:rgba(242,242,238,.72); padding:var(--x-pad) 0}
.xq-g{display:grid; gap:clamp(56px,6vw,96px); align-items:start}
@media(min-width:1000px){ .xq-g{grid-template-columns:minmax(0,7fr) minmax(0,5fr)} }
.xq-t{color:var(--x-osso); font-size:clamp(20px,1.7vw,26px); font-weight:500; letter-spacing:-.02em; line-height:1.2}
.xq-frase{margin-top:clamp(18px,2vw,30px); color:var(--x-osso); font-size:clamp(34px,4.6vw,76px); font-weight:500;
  letter-spacing:-.05em; line-height:1}
.xq-frase em{font-style:normal; color:var(--x-lima)}
.xq-factos{display:grid; gap:0; margin:clamp(40px,4.4vw,72px) 0 0}
@media(min-width:700px){ .xq-factos{grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 clamp(18px,2vw,32px)} }
.xq-factos div{padding:20px 0; border-top:1px solid var(--x-linha-e)}
.xq-factos dt{color:var(--x-lima); font-size:clamp(22px,2vw,30px); font-weight:500; letter-spacing:-.03em; line-height:1.1}
.xq-factos dd{margin:8px 0 0; font-size:14px; line-height:1.5}

.xq-doc{position:relative; background:var(--x-osso); color:var(--x-preto); border-radius:6px;
  padding:clamp(26px,3vw,48px); box-shadow:0 40px 80px -36px rgba(0,0,0,.9)}
@media(min-width:1000px){ .xq-doc{transform:rotate(1.2deg); margin-top:12px}
  .x-anima .x-vista .xq-doc{transform:rotate(1.2deg)} }
.xq-doc::after{content:""; position:absolute; top:0; right:0; width:44px; height:44px;
  background:linear-gradient(225deg, var(--x-preto) 50%, #d9d9d2 50%); border-radius:0 6px 0 0}
.xq-doc-k{font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(11,11,10,.55)}
.xq-doc-t{margin-top:14px; color:var(--x-preto); font-size:clamp(28px,2.8vw,42px); font-weight:500; letter-spacing:-.045em; line-height:1}
.xq-doc-s{margin-top:14px; font-size:15px; line-height:1.5; color:rgba(11,11,10,.7)}
.xq-cl{list-style:none; margin:clamp(22px,2.4vw,32px) 0 0; padding:0}
.xq-cl li{display:grid; grid-template-columns:28px 1fr; gap:14px; padding:18px 0; border-top:1px solid rgba(11,11,10,.14)}
.xq-cl svg{width:24px; height:24px; fill:none; stroke:var(--x-preto); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
  padding:2px; border-radius:50%; background:var(--x-lima); box-sizing:content-box}
.xq-cl h3{color:var(--x-preto); font-size:18px; font-weight:600; letter-spacing:-.02em}
.xq-cl p{margin-top:4px; font-size:14.5px; line-height:1.5; color:rgba(11,11,10,.72)}
.xq-cl b{color:var(--x-preto)}
.xq-assina{display:flex; justify-content:space-between; gap:12px; margin-top:22px; padding-top:30px;
  border-top:1.5px dashed rgba(11,11,10,.35); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(11,11,10,.5)}
.xq .equipa:not([hidden]){grid-column:1 / -1}

/* ══ PAINÉIS SOLARES ═════════════════════════════════════════════════════ */
section.xs#solar{background:var(--x-preto); color:rgba(242,242,238,.72); padding:0 0 var(--x-pad)}
.xs-cab{position:relative; min-height:clamp(440px,74vh,720px); display:flex; align-items:flex-end;
  padding:clamp(80px,9vw,140px) 0 clamp(44px,5vw,80px); overflow:hidden; isolation:isolate}
.xs-foto,.xs-foto img{position:absolute; inset:0; width:100%; height:100%}
.xs-foto{z-index:-1}
.xs-foto img{object-fit:cover; object-position:50% 40%}
.xs-cab::after{content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(11,11,10,.15) 0%, rgba(11,11,10,.35) 45%, var(--x-preto) 100%),
             radial-gradient(70% 60% at 10% 90%, rgba(11,11,10,.7), transparent 70%)}
.xs-sobre{width:100%}
.xs-t{color:var(--x-osso); font-size:clamp(42px,7vw,124px); font-weight:500; letter-spacing:-.055em; line-height:.92; max-width:14ch}
.xs-t em{font-style:normal; color:var(--x-lima)}
.xs-s{margin-top:clamp(16px,1.8vw,26px); max-width:38ch; font-size:clamp(16px,1.4vw,21px); line-height:1.45; color:rgba(242,242,238,.86)}

.xs-dia{display:grid; gap:32px clamp(40px,5vw,90px); align-items:center; padding:clamp(48px,5vw,88px) 0}
@media(min-width:1000px){ .xs-dia{grid-template-columns:minmax(0,4fr) minmax(0,6fr)} }
.xs-intro{font-size:clamp(20px,1.9vw,28px); line-height:1.35; letter-spacing:-.02em; color:rgba(242,242,238,.72)}
.xs-intro b{color:var(--x-osso); font-weight:500}
.xs-graf{margin:0}
.xs-graf svg{display:block; width:100%; height:auto; overflow:visible; transition:clip-path .6s var(--x-ease)}
.x-anima .xs:not(.x-vista) .xs-graf svg{clip-path:inset(0 100% 0 0)}
.xs-ov{fill:rgba(208,245,61,.22)}
.xs-cons{fill:none; stroke:var(--x-osso); stroke-width:2; stroke-linejoin:round; opacity:.8}
.xs-sol{fill:none; stroke:var(--x-lima); stroke-width:2.5; stroke-linejoin:round}
.xs-eixo{stroke:rgba(242,242,238,.25); stroke-width:1}
.xs-h text{fill:rgba(242,242,238,.5); font-size:13px; font-family:inherit}
.xs-graf figcaption{display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:18px; font-size:13px; color:rgba(242,242,238,.72)}
.xs-lg{display:inline-flex; align-items:center; gap:9px}
.xs-lg::before{content:""; width:22px; height:0; border-top:2px solid var(--x-osso)}
.xs-lg-sol::before{border-top:2.5px solid var(--x-lima)}
.xs-lg-ov::before{height:12px; border:0; border-radius:3px; background:rgba(208,245,61,.3)}
.xs-lg-il{margin-left:auto; font-style:italic; color:rgba(242,242,238,.45)}
.xs-lg-il::before{display:none}

.xs-op{display:grid; gap:16px}
@media(min-width:900px){ .xs-op{grid-template-columns:minmax(0,7fr) minmax(0,5fr)} }
.xs-o{padding:clamp(24px,3vw,48px); border-radius:24px; border:1px solid var(--x-linha-e)}
.xs-o-princ{background:var(--x-lima); color:var(--x-preto); border-color:var(--x-lima)}
.xs-ok{font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,242,238,.55)}
.xs-o-princ .xs-ok{color:rgba(11,11,10,.62)}
.xs-num{margin-top:10px; font-size:clamp(96px,14vw,220px); font-weight:500; letter-spacing:-.07em; line-height:.84}
.xs-sub{margin-top:16px; max-width:30ch; font-size:clamp(17px,1.5vw,22px); line-height:1.35; letter-spacing:-.01em}
.xs-tk{margin-top:clamp(26px,3vw,40px); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(11,11,10,.6)}
.xs-trata{list-style:none; margin:14px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.xs-trata li{padding:9px 14px; border-radius:999px; border:1.5px solid rgba(11,11,10,.8); font-size:14px; font-weight:500}
.xs-txt{margin-top:16px; font-size:16px; line-height:1.55; color:rgba(242,242,238,.78)}
.xs-txt:first-of-type{margin-top:18px; color:var(--x-osso); font-size:clamp(18px,1.5vw,21px); line-height:1.45}
.xs-falta{margin-top:22px; padding-top:18px; border-top:1px solid var(--x-linha-e); font-size:14px}
.xs-remate{display:grid; gap:22px 48px; align-items:center; margin-top:clamp(40px,4vw,64px);
  padding-top:clamp(26px,3vw,40px); border-top:1px solid var(--x-linha-e)}
@media(min-width:900px){ .xs-remate{grid-template-columns:minmax(0,1fr) auto} }
.xs-remate p{max-width:62ch; font-size:16px; line-height:1.6}
.xs-remate b{color:var(--x-osso); font-weight:600}

/* ══ PERGUNTAS ═══════════════════════════════════════════════════════════ */
section.xr#perguntas{background:var(--x-osso); color:var(--x-preto); padding:var(--x-pad) 0}
.xr .x-k{color:rgba(11,11,10,.62)}
.xr .x-k::before{background:var(--x-preto)}
.xr-g{display:grid; gap:44px clamp(48px,6vw,120px); align-items:start}
@media(min-width:1000px){ .xr-g{grid-template-columns:minmax(0,5fr) minmax(0,7fr)} .xr-cab{position:sticky; top:40px} }
.xr-t{color:var(--x-preto); font-size:clamp(36px,4.4vw,72px); font-weight:500; letter-spacing:-.05em; line-height:.98}
.xr-s{margin-top:20px; max-width:40ch; font-size:16px; line-height:1.55; color:rgba(11,11,10,.7)}
.xr-ct{margin-top:22px; font-size:14px; line-height:1.6; color:rgba(11,11,10,.62)}
.xr-ct a{color:var(--x-preto); font-weight:600; text-underline-offset:3px}
.xr-lista{border-top:2px solid var(--x-preto)}
.xr-q{border-bottom:1px solid var(--x-linha-c)}
.xr-q summary{list-style:none; display:flex; justify-content:space-between; align-items:center; gap:24px;
  min-height:44px; padding:clamp(20px,2vw,28px) 0; cursor:pointer;
  font-size:clamp(19px,1.7vw,26px); font-weight:500; letter-spacing:-.03em; line-height:1.2; color:var(--x-preto)}
.xr-q summary::-webkit-details-marker{display:none}
.xr-q summary i{position:relative; flex:none; width:40px; height:40px; border-radius:50%; border:1.5px solid var(--x-preto);
  transition:background-color .25s ease, transform .35s var(--x-ease)}
.xr-q summary i::before,.xr-q summary i::after{content:""; position:absolute; left:50%; top:50%; width:14px; height:1.5px;
  margin:-.75px 0 0 -7px; background:currentColor; transition:transform .35s var(--x-ease)}
.xr-q summary i::after{transform:rotate(90deg)}
.xr-q[open] summary i{background:var(--x-preto); color:var(--x-lima); transform:rotate(180deg)}
.xr-q[open] summary i::after{transform:rotate(0)}
.xr-q summary:hover i{background:var(--x-lima)}
.xr-q[open] summary:hover i{background:var(--x-preto)}
.xr-a{padding:0 64px clamp(22px,2.2vw,30px) 0; font-size:16px; line-height:1.6; color:rgba(11,11,10,.74); max-width:66ch}
.xr-a b{color:var(--x-preto)}
.x-anima .xr-q[open] .xr-a{animation:xr-abre .4s var(--x-ease)}
@keyframes xr-abre{from{opacity:0; transform:translateY(-6px)}}
.xr-mais{display:inline-flex; align-items:center; gap:10px; min-height:52px; margin-top:26px; padding:0 26px;
  border-radius:999px; background:var(--x-preto); color:var(--x-lima); font-weight:600; font-size:15px; text-decoration:none;
  transition:transform .25s var(--x-ease)}
.xr-mais:hover{transform:translateY(-2px)}

/* ══ REMATE ══════════════════════════════════════════════════════════════ */
.xz{position:relative; overflow:hidden; background:var(--x-lima); color:var(--x-preto);
  padding:clamp(96px,12vw,200px) 0; text-align:center; isolation:isolate}
.xz-raio{position:absolute; z-index:-1; left:50%; top:50%; width:min(120vw,1100px); height:auto;
  transform:translate(-50%,-50%) rotate(-8deg); fill:none; stroke:rgba(11,11,10,.12); stroke-width:3}
.xz-t{color:var(--x-preto); font-size:clamp(52px,10vw,184px); font-weight:500; letter-spacing:-.065em; line-height:.88}
.xz-s{margin:clamp(18px,2vw,28px) auto 0; max-width:38ch; font-size:clamp(16px,1.4vw,21px); line-height:1.45; color:rgba(11,11,10,.75)}
.xz .xz-btn{margin-top:clamp(28px,3vw,44px); min-height:60px; padding:0 40px; font-size:16px}
.xz-n{display:flex; flex-wrap:wrap; justify-content:center; gap:6px 20px; margin-top:22px;
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(11,11,10,.62)}
.xz-n span::before{content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--x-preto);
  margin-right:8px; vertical-align:2px}

/* ══ RODAPÉ ══════════════════════════════════════════════════════════════ */
footer#rodape.xrod{background:var(--x-preto); color:rgba(242,242,238,.62); border-top:0;
  padding:clamp(64px,8vw,120px) 0 clamp(26px,3vw,40px)}
.xrod-top{display:grid; gap:28px 60px; align-items:end; padding-bottom:clamp(40px,5vw,72px);
  border-bottom:1px solid var(--x-linha-e)}
@media(min-width:1000px){ .xrod-top{grid-template-columns:auto minmax(0,1fr)} }
.xrod-marca{display:inline-flex; align-items:center; gap:14px; text-decoration:none; color:var(--x-osso)}
.xrod-marca svg{width:44px; height:44px}
.xrod-marca b{display:flex; flex-direction:column; font-size:17px; font-weight:600; letter-spacing:-.02em; line-height:1.15}
.xrod-marca b span{font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:rgba(242,242,238,.5)}
.xrod-tag{color:var(--x-osso); font-size:clamp(26px,3.6vw,56px); font-weight:500; letter-spacing:-.045em; line-height:1.02; max-width:22ch}
@media(min-width:1000px){ .xrod-tag{justify-self:end; text-align:right} }
.xrod-tag em{font-style:normal; color:rgba(242,242,238,.4)}
.xrod-g{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; padding:clamp(40px,4.4vw,64px) 0}
@media(min-width:1000px){ .xrod-g{grid-template-columns:repeat(4,minmax(0,1fr))} }
.xrod h3{margin:0 0 16px; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--x-lima)}
.xrod ul{list-style:none; margin:0; padding:0; display:grid; gap:4px}
.xrod li{font-size:15px; line-height:1.5}
.xrod li a{display:inline-flex; align-items:center; min-height:32px; color:var(--x-osso); text-decoration:none;
  background:linear-gradient(var(--x-lima),var(--x-lima)) 0 100%/0 1.5px no-repeat; transition:background-size .3s var(--x-ease)}
.xrod li a:hover{background-size:100% 1.5px}
@media(max-width:599px){ .xrod-g > div:first-child{grid-column:1 / -1} .xrod li a{min-height:40px} .xrod li{overflow-wrap:anywhere} }
.xrod-legal{display:flex; flex-wrap:wrap; gap:10px 22px; padding-top:22px; border-top:1px solid var(--x-linha-e); font-size:12px}
.xrod-legal span:empty{display:none}
.xrod .todo{color:#FFD90A}

/* ══ ATALHO FLUTUANTE (telemóvel) ════════════════════════════════════════ */
.xflut{position:fixed; z-index:60; left:50%; bottom:max(14px, env(safe-area-inset-bottom)); display:none;
  align-items:center; gap:10px; min-height:52px; padding:0 26px; border-radius:999px;
  background:var(--x-lima); color:var(--x-preto); font-weight:600; font-size:15px; text-decoration:none;
  box-shadow:0 14px 34px -10px rgba(0,0,0,.55), 0 0 0 1px rgba(11,11,10,.12);
  transform:translate(-50%,160%); transition:transform .4s var(--x-ease)}
.xflut.on{transform:translate(-50%,0)}
@media(max-width:759px){ .xflut{display:inline-flex} }
@media(prefers-reduced-motion:reduce){ .xflut{transition:none} }

/* ══ TELEMÓVEL ═══════════════════════════════════════════════════════════ */
@media(max-width:599px){
  .xm-v b{font-size:clamp(64px,19vw,86px)}
  .xf-papel{padding:18px}
  .xf-poup{margin:6px -18px -18px; padding:16px 18px; grid-template-columns:1fr}
  .xf-poup p:nth-child(2){justify-self:start}
  .xf-nm{gap:10px}
  .xf-nm small{font-size:12px}
  .xf-sw{display:flex}
  .xf-sw button{flex:1; padding:0 12px}
  .xp-lg-il{margin-left:0}
  .xs-lg-il{margin-left:0}
  .xr-a{padding-right:0}
  .xr-q summary i{width:36px; height:36px}
  .xc-sem .btn-p,.xs-remate .btn-p,.xf-cta,.xm-pe .x-btn,.xp-pe .x-btn{width:100%}
  .xz .xz-btn{width:100%}
}

/* o atalho espera enquanto o aviso de cookies está aberto */
body:has(.cookies.dentro) .xflut{transform:translate(-50%,160%) !important}
.xs-remate-ctas{display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px}
.xs-zona{display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--x-osso); font-weight:500; text-decoration:none; border-bottom:1.5px solid rgba(242,242,238,.3)}
.xs-zona:hover{color:var(--x-lima); border-color:var(--x-lima)}
.xm-pe a.xm-mais{margin-left:12px; font-weight:500; opacity:.8}

/* o atalho flutuante deixou de fazer falta: o topo tem sempre o botão
   "Pedir análise" à vista, em todas as páginas */
.xflut{display:none !important}
/* as âncoras não ficam escondidas debaixo do topo fixo */
html{scroll-padding-top:84px}
/* ícones só a traço, sem fundo (12 out.) */
.xq-cl svg{background:none !important; padding:0 !important; stroke:var(--x-preto); stroke-width:2.6}

/* ── perguntas: o contacto passa a ser duas ligações grandes (12 out.) ──── */
.xr-contacto{margin-top:clamp(26px,3vw,40px); border-top:2px solid var(--x-preto)}
.xr-contacto-k{margin:16px 0 4px; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:rgba(11,11,10,.6)}
.xr-contacto-l{display:flex; align-items:center; gap:16px; padding:16px 2px; border-bottom:1px solid var(--x-linha-c);
  color:var(--x-preto); text-decoration:none; transition:padding .25s var(--x-ease)}
.xr-contacto-l svg{flex:none; width:26px; height:26px; fill:none; stroke:var(--x-preto); stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round}
.xr-contacto-l span{display:grid; gap:2px; min-width:0}
.xr-contacto-l small{font-size:12.5px; color:rgba(11,11,10,.6)}
.xr-contacto-l b{font-size:clamp(17px,1.5vw,21px); font-weight:600; letter-spacing:-.02em; color:var(--x-preto); overflow-wrap:anywhere}
.xr-contacto-l i{margin-left:auto; font-style:normal; font-size:20px; transition:transform .25s var(--x-ease)}
.xr-contacto-l:hover{padding-left:10px}
.xr-contacto-l:hover i{transform:translateX(4px)}
