/* GFM Leilões — estilos do site. Sistema de proporção áurea: φ = 1,618 */
/* ==========================================================
   Sistema de proporção áurea (φ = 1,618)
   - Colunas: 1.618fr / 1fr (61,8% · 38,2%)
   - Espaçamento: Fibonacci 8 · 13 · 21 · 34 · 55 · 89 · 144
   - Tipografia: razão √φ (1,272) a partir de 16px
   ========================================================== */
:root{
  --noite:#010614;
  --noite-2:#020A1C;
  --painel:#06132E;
  --painel-2:#0A1C42;
  --navy:#041F51;
  --azul:#126DDA;
  --azul-claro:#3289F3;
  --gelo:#8EC3FF;
  --prata:#C9D2DE;
  --texto:#EEF3F9;
  --texto-2:#A9B6C8;
  --linha:rgba(201,210,222,.12);
  --linha-forte:rgba(201,210,222,.22);
  --papel:#F3F5F8;
  --tinta:#0B1426;
  --tinta-2:#45536B;

  --s1:8px; --s2:13px; --s3:21px; --s4:34px; --s5:55px; --s6:89px; --s7:144px;
  --t-1:12.6px; --t0:16px; --t1:20.4px; --t2:25.9px; --t3:33px; --t4:42px; --t5:53.4px; --t6:68px; --t7:86.5px;
  --r1:8px; --r2:13px; --r3:21px;

  --f-display:"Manrope","Helvetica Neue",Arial,sans-serif;
  --f-texto:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-doc:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  --largura:1180px;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--s6);background:var(--noite)}
body{margin:0;background:var(--noite);color:var(--texto);font-family:var(--f-texto);font-size:var(--t0);line-height:1.618;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);margin:0;letter-spacing:-.035em;line-height:1.08}
p{margin:0}
.wrap{width:min(100% - 2*var(--s3),var(--largura));margin-inline:auto}
:focus-visible{outline:2px solid var(--gelo);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Pendências de conteúdo a preencher antes de publicar */
.pendente{color:#E9C46A;border-bottom:1px dashed rgba(233,196,106,.6)}

.rotulo{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--t-1);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gelo)}
.rotulo::before{content:"";width:var(--s4);height:1px;background:linear-gradient(90deg,var(--azul-claro),transparent)}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);min-height:55px;padding:0 var(--s4);border-radius:var(--r2);font-family:var(--f-texto);font-weight:600;font-size:var(--t0);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s,border-color .3s}
.btn svg{width:18px;height:18px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-primario{background:linear-gradient(135deg,var(--azul),var(--azul-claro));color:#fff;box-shadow:0 13px 34px -13px rgba(50,137,243,.7)}
.btn-primario:hover{transform:translateY(-2px);box-shadow:0 21px 44px -13px rgba(50,137,243,.8)}
.btn-primario::after{content:"";position:absolute;inset:-50% auto -50% -60%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .8s var(--ease)}
.btn-primario:hover::after{left:130%}
.btn-linha{border-color:var(--linha-forte);color:var(--texto);background:rgba(255,255,255,.03)}
.btn-linha:hover{border-color:var(--gelo);background:rgba(142,195,255,.06)}

/* Entradas no scroll — só escondem com JS ativo, e nunca ficam presas */
.js .rv{opacity:0;transform:translateY(var(--s3));transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 89ms)}
.js .rv.in{opacity:1;transform:none}

/* TOPO */
.progresso{position:fixed;inset:0 auto auto 0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--azul),var(--gelo));z-index:60}
.topo{position:fixed;inset:0 0 auto;z-index:50;transition:background-color .4s,border-color .4s;border-bottom:1px solid transparent}
.topo.rolou{background:rgba(1,6,20,.82);backdrop-filter:blur(13px) saturate(140%);border-color:var(--linha)}
.topo .wrap{height:89px;display:flex;align-items:center;gap:var(--s4);transition:height .4s var(--ease)}
.topo.rolou .wrap{height:68px}
.marca{display:flex;align-items:center;gap:var(--s2);flex:none;text-decoration:none}
.marca img{height:34px;width:auto}
.marca span{font-family:var(--f-display);font-weight:700;font-size:var(--t-1);letter-spacing:.34em;color:var(--texto);padding-left:var(--s2);border-left:1px solid var(--azul-claro);line-height:1.618}
.menu{display:flex;gap:var(--s4);margin-left:auto;font-size:15px}
.menu a{position:relative;text-decoration:none;color:var(--texto-2);transition:color .2s}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--gelo);transition:right .3s var(--ease)}
.menu a:hover{color:#fff}.menu a:hover::after{right:0}
.topo .btn{min-height:44px;padding:0 var(--s3);font-size:15px}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--linha-forte);border-radius:var(--r2);background:transparent;color:var(--texto);cursor:pointer}
.menu-btn svg{width:20px;height:20px;margin:auto}

/* HERO — 1.618fr / 1fr */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(89px + var(--s5)) 0 var(--s6);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(55% 60% at 78% 38%,rgba(18,109,218,.20),transparent 70%),
  radial-gradient(40% 50% at 8% 90%,rgba(4,31,81,.7),transparent 70%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(var(--linha) 1px,transparent 1px) 0 0/55px 55px,
  linear-gradient(90deg,var(--linha) 1px,transparent 1px) 0 0/55px 55px;
  mask-image:radial-gradient(60% 70% at 72% 45%,#000,transparent 75%);opacity:.6;animation:grade 34s linear infinite}
@keyframes grade{to{background-position:0 55px,55px 0}}
.hero-grade{display:grid;grid-template-columns:1.618fr 1fr;gap:var(--s5);align-items:center}
.hero h1{font-size:clamp(44px,6.2vw,var(--t7));font-weight:800;margin:var(--s3) 0 var(--s4)}
.hero h1 .linha{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.08em}
.hero h1 .linha > span{display:block}
.hero h1 .grad{background:linear-gradient(110deg,#fff 10%,var(--gelo) 50%,var(--azul-claro) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{font-size:var(--t1);line-height:1.618;color:var(--texto-2);max-width:34em}
.hero-acoes{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}
.hero-fatos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin:var(--s5) 0 0;padding:var(--s4) 0 0;list-style:none;border-top:1px solid var(--linha)}
.hero-fatos li{font-size:15px;color:var(--texto-2);line-height:1.4}
.hero-fatos b{display:block;font-family:var(--f-display);font-size:var(--t1);color:var(--texto);letter-spacing:-.02em;margin-bottom:4px}

@media (prefers-reduced-motion:no-preference){
  .js .hero h1 .linha > span{animation:sobe 1s var(--ease) both;animation-delay:calc(.1s + var(--i) * .13s)}
  .js .hero .entra{animation:aparece 1s var(--ease) both;animation-delay:calc(.45s + var(--i,0) * .1s)}
  @keyframes sobe{from{transform:translateY(105%)}}
  @keyframes aparece{from{opacity:0;transform:translateY(var(--s3))}}
}

/* Assinatura: a matrícula (proporção 1 : 1,272 = √φ) */
.doc-palco{position:relative;perspective:1200px}
.doc-palco::before{content:"";position:absolute;inset:8% -8% -8% 8%;border:1px solid rgba(142,195,255,.18);border-radius:var(--r2);transform:rotate(3deg)}
.matricula{position:relative;aspect-ratio:1/1.272;display:flex;flex-direction:column;background:var(--papel);color:var(--tinta);border-radius:var(--r1);padding:var(--s4) var(--s4) var(--s3);font-family:var(--f-doc);font-size:13px;line-height:1.5;box-shadow:0 55px 89px -34px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.5) inset;transform:rotate(-1.6deg);transition:transform .6s var(--ease)}
.matricula::after{content:"";position:absolute;inset:var(--s2);border:1px solid #D8DEE8;border-radius:4px;pointer-events:none}
.mat-cab{display:grid;grid-template-columns:1fr auto;gap:4px var(--s3);padding-bottom:var(--s2);border-bottom:1.5px solid var(--tinta);text-transform:uppercase;letter-spacing:.04em}
.mat-cab strong{font-weight:500;font-size:11.5px;color:var(--tinta-2)}
.mat-cab b{font-weight:500;font-size:15px}
.mat-cab .num{text-align:right}
.mat-imovel{padding:var(--s2) 0;border-bottom:1px dashed #D8DEE8;color:var(--tinta-2);font-size:12px}
.mat-atos{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column}
.ato{flex:1;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:var(--s2);border-bottom:1px dashed #D8DEE8}
.ato .cod{font-weight:500;color:var(--tinta-2)}
.ato small{display:block;color:var(--tinta-2);font-size:11.5px}
.ato-gfm .cod{color:var(--azul)}
.marcador{white-space:nowrap;font-family:var(--f-texto);font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.m-entra{color:var(--azul);border:1.5px solid var(--azul);background:#fff}
.m-entrega{color:#fff;background:var(--azul);border:1.5px solid var(--azul)}
.mat-pe{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s3);padding-top:var(--s3)}
.mat-assin{flex:1;max-width:55%;padding-top:var(--s1);border-top:1px solid var(--tinta-2);font-size:11px;color:var(--tinta-2);text-transform:uppercase;letter-spacing:.05em}
.carimbo{flex:none;width:89px;height:89px;border:3px double var(--azul);border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--azul);font-family:var(--f-display);font-weight:800;font-size:11px;letter-spacing:.06em;line-height:1.4;rotate:-12deg}
.carimbo small{display:block;font-family:var(--f-doc);font-weight:400;font-size:8.5px;letter-spacing:.04em}
.doc-nota{margin-top:var(--s3);font-size:13px;color:var(--texto-2);text-align:center}
@media (prefers-reduced-motion:no-preference){
  .js .matricula{animation:doc-entra 1.2s var(--ease) both .3s}
  .js .ato{animation:tinta .6s var(--ease) both;animation-delay:calc(1s + var(--i) * .34s)}
  .js .marcador{animation:aparece .5s var(--ease) both;animation-delay:calc(1.25s + var(--i) * .34s)}
  .js .carimbo{animation:carimbo .5s cubic-bezier(.3,1.6,.5,1) both 3s}
  .doc-palco::before{animation:flutua 8s ease-in-out infinite}
  @keyframes doc-entra{from{opacity:0;transform:rotate(-6deg) translateY(var(--s5)) rotateX(12deg)}}
  @keyframes tinta{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
  @keyframes carimbo{from{opacity:0;scale:1.8}}
  @keyframes flutua{50%{transform:rotate(2deg) translateY(-8px)}}
}

/* FAIXA EM MOVIMENTO — a jornada */
.faixa{border-block:1px solid var(--linha);background:var(--noite-2);overflow:hidden}
.faixa-trilho{display:flex;width:max-content;gap:var(--s5);height:var(--s6);align-items:center;animation:faixa 48s linear infinite}
.faixa:hover .faixa-trilho{animation-play-state:paused}
.faixa span{display:flex;align-items:center;gap:var(--s5);white-space:nowrap;font-size:var(--t-1);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2)}
.faixa span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--azul-claro);box-shadow:0 0 13px var(--azul-claro)}
@keyframes faixa{to{transform:translateX(-50%)}}

/* SEÇÕES */
.secao{position:relative;padding:var(--s7) 0}
.secao-alt{background:var(--noite-2);border-block:1px solid var(--linha)}
.cab{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s5);align-items:end;margin-bottom:var(--s6)}
.cab h2{font-size:clamp(34px,4.3vw,var(--t5));font-weight:800}
.cab p:not(.rotulo){font-size:var(--t1);color:var(--texto-2);line-height:1.618}
.cab .rotulo{margin-bottom:var(--s3)}

.cartao{position:relative;background:linear-gradient(160deg,var(--painel-2),var(--painel));border:1px solid var(--linha);border-radius:var(--r3);overflow:hidden;transition:transform .5s var(--ease),border-color .5s,box-shadow .5s}
.cartao::after{content:"";position:absolute;width:233px;height:233px;right:-89px;bottom:-89px;border-radius:50%;background:radial-gradient(circle,rgba(50,137,243,.16),transparent 68%);transition:transform .8s var(--ease);pointer-events:none}
.cartao:hover{transform:translateY(-5px);border-color:rgba(142,195,255,.3);box-shadow:0 34px 55px -34px rgba(0,0,0,.7)}
.cartao:hover::after{transform:scale(1.5)}
.calc.cartao:hover,.contato-caixa.cartao:hover{transform:none}

/* Como contratar — 2 caixas idênticas */
.formas{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.forma{display:flex;flex-direction:column;padding:var(--s5)}
.forma-topo{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);min-height:30px;margin-bottom:var(--s4)}
.forma-topo .num{font-family:var(--f-display);font-size:var(--t-1);font-weight:700;letter-spacing:.16em;color:var(--gelo)}
.selo{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(50,137,243,.16);color:var(--gelo);border:1px solid rgba(142,195,255,.3)}
.forma h3{font-size:var(--t3);font-weight:800}
.forma > p{margin-top:var(--s2);color:var(--texto-2)}
.forma ul{list-style:none;padding:0;margin:var(--s4) 0;display:grid;gap:var(--s2);flex:1;align-content:start}
.forma li{display:grid;grid-template-columns:21px 1fr;gap:var(--s2);font-size:15.5px}
.forma li svg{width:18px;height:18px;margin-top:3px;color:var(--azul-claro)}
.forma li.destaque{color:var(--gelo);font-weight:600}
.forma .btn{align-self:flex-start}

/* Processo — 1fr / 1.618fr, trilho que se preenche com a rolagem */
.proc{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s5);align-items:start}
.proc-cab{position:sticky;top:var(--s7)}
.proc-cab h2{font-size:clamp(34px,4.3vw,var(--t5));font-weight:800;margin:var(--s3) 0}
.proc-cab p:not(.rotulo){color:var(--texto-2);font-size:var(--t1)}
.medidor{margin-top:var(--s5);display:flex;align-items:baseline;gap:var(--s2);font-family:var(--f-display)}
.medidor b{font-size:var(--t6);font-weight:800;line-height:1;background:linear-gradient(180deg,#fff,var(--gelo));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.medidor span{color:var(--texto-2);font-size:var(--t0)}
.passos{position:relative;list-style:none;margin:0;padding:0 0 0 var(--s5);display:grid;gap:var(--s2)}
.passos::before,.passos::after{content:"";position:absolute;left:var(--s3);top:var(--s4);bottom:var(--s4);width:2px;border-radius:2px}
.passos::before{background:var(--linha)}
.passos::after{background:linear-gradient(180deg,var(--azul-claro),var(--gelo));transform-origin:top;transform:scaleY(var(--trilho,0));box-shadow:0 0 13px rgba(50,137,243,.6)}
.passo{position:relative;overflow:visible;display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s3);padding:var(--s4);min-height:144px;align-items:start}
.passo::before{content:"";position:absolute;left:calc(-1 * var(--s5) + var(--s3) - 6px);top:var(--s4);width:14px;height:14px;border-radius:50%;background:var(--noite);border:2px solid var(--linha-forte);transition:border-color .4s,box-shadow .4s,background-color .4s;z-index:1}
.passo.ativo::before{border-color:var(--gelo);background:var(--azul);box-shadow:0 0 0 5px rgba(50,137,243,.18)}
.passo .n{display:block;font-family:var(--f-display);font-size:var(--t-1);font-weight:700;letter-spacing:.16em;color:var(--gelo);margin-bottom:6px}
.passo h3{font-size:var(--t2);font-weight:700}
.passo .gfm{color:var(--texto-2);font-size:15.5px}
.passo .voce{margin-top:var(--s1);font-size:15px;color:var(--texto)}
.passo .voce b{color:var(--gelo);font-weight:600}
.passo-decisao{border-color:rgba(142,195,255,.35)}
.opcional{display:inline-block;margin-left:var(--s1);vertical-align:middle;font-family:var(--f-texto);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid rgba(142,195,255,.35);color:var(--gelo)}

/* Antes do lance — 3 × 2 caixas idênticas */
.perguntas{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:var(--s3)}
.pergunta{display:flex;flex-direction:column;padding:var(--s4)}
.pergunta .ic{width:55px;height:55px;border-radius:var(--r2);display:grid;place-items:center;background:rgba(50,137,243,.1);border:1px solid rgba(142,195,255,.2);color:var(--gelo);margin-bottom:var(--s4)}
.pergunta .ic svg{width:22px;height:22px}
.pergunta h3{font-size:var(--t1);font-weight:700;letter-spacing:-.02em}
.pergunta p{margin-top:var(--s2);color:var(--texto-2);font-size:15.5px;flex:1}
.pergunta .onde{margin-top:var(--s3);font-family:var(--f-doc);font-size:12px;color:var(--gelo)}
.aviso{margin-top:var(--s4);font-size:14px;color:var(--texto-2);text-align:center}

/* Calculadora — 1.618fr / 1fr numa mesma caixa */
.calc{display:grid;grid-template-columns:1.618fr 1fr}
.calc form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);padding:var(--s5);align-content:space-between}
.campo{display:grid;gap:6px;align-content:start}
.campo.inteiro{grid-column:1/-1}
.campo label{font-size:14px;font-weight:600;color:var(--texto)}
.campo .dica{font-size:12.5px;color:var(--texto-2)}
.campo input,.campo select{width:100%;height:55px;border:1px solid var(--linha-forte);border-radius:var(--r2);padding:0 var(--s2);font:inherit;font-size:16px;color:var(--texto);background:rgba(1,6,20,.55);transition:border-color .2s,box-shadow .2s}
.campo select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--texto-2) 50%),linear-gradient(135deg,var(--texto-2) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:var(--s5)}
.campo select option{background:var(--painel);color:var(--texto)}
.campo input::placeholder{color:#6F7E95}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--azul-claro);box-shadow:0 0 0 4px rgba(50,137,243,.18)}
.moeda{position:relative}
.moeda span{position:absolute;left:var(--s2);top:50%;translate:0 -50%;color:var(--texto-2);font-size:15px}
.moeda input{padding-left:44px}
.moeda input,.pct input{font-family:var(--f-doc)}
.conta{display:flex;flex-direction:column;padding:var(--s5);background:rgba(1,6,20,.45);border-left:1px solid var(--linha)}
.conta h3{font-size:var(--t-1);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gelo);font-family:var(--f-texto)}
.linhas{margin:var(--s3) 0 0;padding:0;list-style:none}
.linhas li{display:flex;justify-content:space-between;gap:var(--s2);padding:10px 0;border-bottom:1px dashed var(--linha);font-size:15px;color:var(--texto-2)}
.linhas li span:last-child{font-family:var(--f-doc);color:var(--texto)}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);margin-top:var(--s3)}
.total span{font-weight:600}
.total b{font-family:var(--f-display);font-size:var(--t4);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.acrescimo{margin-top:4px;font-size:14px;color:var(--gelo);font-weight:600;text-align:right}
.barra{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-top:var(--s3);background:var(--linha)}
.barra i{display:block;height:100%;transition:width .6s var(--ease)}
.conta .espaco{flex:1;min-height:var(--s4)}
.conta .btn{width:100%}
.conta .rodape{margin-top:var(--s2);font-size:12.5px;color:var(--texto-2)}

/* FAQ — 1fr / 1.618fr */
.faq{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s5);align-items:start}
.faq .cab-faq h2{font-size:clamp(34px,4.3vw,var(--t5));font-weight:800;margin-top:var(--s3)}
.faq .cab-faq p:not(.rotulo){margin-top:var(--s3);color:var(--texto-2);font-size:var(--t1)}
.faq-lista{display:grid;gap:var(--s2)}
details{border:1px solid var(--linha);border-radius:var(--r2);background:linear-gradient(160deg,var(--painel-2),var(--painel));transition:border-color .3s}
details[open]{border-color:rgba(142,195,255,.3)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);min-height:68px;padding:var(--s2) var(--s4);font-family:var(--f-display);font-weight:700;font-size:17px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r1);border:1px solid var(--linha-forte);color:var(--gelo);font-size:20px;font-weight:400;transition:transform .3s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 var(--s4) var(--s3);color:var(--texto-2)}

/* Contato — 1fr / 1.618fr numa mesma caixa */
.contato-caixa{display:grid;grid-template-columns:1fr 1.618fr}
.contato-txt{padding:var(--s5);display:flex;flex-direction:column}
.contato-txt h2{font-size:clamp(34px,4.3vw,var(--t5));font-weight:800;margin-top:var(--s3)}
.contato-txt > p:not(.rotulo){margin-top:var(--s3);color:var(--texto-2);font-size:var(--t1)}
.canais{list-style:none;margin:auto 0 0;padding:var(--s4) 0 0;display:grid;gap:4px}
.canais a{display:flex;align-items:center;gap:var(--s2);padding:var(--s1) 0;text-decoration:none;color:var(--texto);transition:color .2s}
.canais a:hover{color:var(--gelo)}
.canais svg{width:20px;height:20px;color:var(--azul-claro)}
.form-contato{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);padding:var(--s5);background:rgba(1,6,20,.45);border-left:1px solid var(--linha);align-content:start}
.form-contato .btn{grid-column:1/-1;width:100%}
.form-contato .nota{grid-column:1/-1;font-size:13px;color:var(--texto-2)}
.form-contato .estado{grid-column:1/-1;font-size:14px;min-height:1.618em;color:var(--gelo);margin-top:calc(-1 * var(--s1))}
.form-contato .estado.erro{color:#FF9B9B}
.armadilha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Rodapé — 1.618fr / 1fr / 1fr */
.rodape-site{position:relative;border-top:1px solid var(--linha);padding:var(--s6) 0 var(--s4);color:var(--texto-2);font-size:15px;overflow:hidden;isolation:isolate}
.rodape-site::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(45% 60% at 85% 0%,rgba(18,109,218,.14),transparent 70%)}
/* Marca d'água que fecha a página */
.rodape-site::after{content:"GFM";position:absolute;left:50%;bottom:-.16em;transform:translateX(-50%);z-index:-1;font-family:var(--f-display);font-weight:800;font-size:clamp(160px,30vw,400px);line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(142,195,255,.10);background:linear-gradient(180deg,rgba(50,137,243,.10),transparent 75%);-webkit-background-clip:text;background-clip:text;pointer-events:none}
/* Faixa de fechamento — 1.618fr / 1fr */
.fecho{display:grid;grid-template-columns:1.618fr 1fr;gap:var(--s5);align-items:center;padding:var(--s5);margin-bottom:var(--s6)}
.fecho h2{font-size:clamp(28px,3.4vw,var(--t4));font-weight:800;color:var(--texto);margin-top:var(--s2)}
.fecho-acoes{display:grid;gap:var(--s2)}
.fecho-acoes .btn{width:100%}
/* Marca + contato principal (1.618fr) / duas listas alinhadas (1fr) */
.rod-grade{display:grid;grid-template-columns:1.618fr 1fr;gap:var(--s5);padding-bottom:var(--s6);align-items:start}
.rod-marca .marca img{height:44px}
.rod-marca .marca span{font-size:13.5px}
.rod-marca > p{margin-top:var(--s3);max-width:28em;color:var(--texto-2)}
.rod-fone{display:inline-flex;align-items:center;gap:var(--s2);margin-top:var(--s4);text-decoration:none;color:var(--texto);transition:color .2s}
.rod-fone svg{width:34px;height:34px;padding:8px;border-radius:var(--r2);background:#25D366;color:#fff;flex:none;transition:transform .3s var(--ease)}
.rod-fone b{font-family:var(--f-display);font-size:var(--t3);font-weight:800;letter-spacing:-.03em;line-height:1}
.rod-fone:hover{color:var(--gelo)}.rod-fone:hover svg{transform:scale(1.08)}
.rod-marca > .rod-fone-nota{margin-top:var(--s1);max-width:none;font-size:14px;color:var(--texto-2)}
.rod-listas{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.rod-col h3{font-family:var(--f-texto);font-size:var(--t-1);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gelo);line-height:21px;margin-bottom:var(--s2)}
.rod-col ul{list-style:none;padding:0;margin:0;display:grid;grid-auto-rows:34px}
.rod-col li{display:flex;align-items:center}
.rod-col a{text-decoration:none;color:var(--texto-2);transition:color .2s}
.rod-col a:hover{color:#fff}
.rod-legal{padding-top:var(--s3);border-top:1px solid var(--linha);display:grid;grid-template-columns:1.618fr 1fr;gap:var(--s3);align-items:start;font-size:13px}
.rod-legal .direitos{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--s1) var(--s3)}
.rod-legal a{color:var(--texto-2);text-decoration:none}
.rod-legal a:hover{color:#fff}

.wa{position:fixed;right:var(--s3);bottom:var(--s3);z-index:40;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 13px 34px -8px rgba(0,0,0,.5);transition:transform .3s var(--ease)}
.wa:hover{transform:translateY(-3px) scale(1.04)}
.wa svg{width:27px;height:27px}
@media (prefers-reduced-motion:no-preference){.wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:onda 2.6s ease-out infinite}@keyframes onda{to{transform:scale(1.6);opacity:0}}}

/* RESPONSIVO */
@media (max-width:1080px){
  .menu,.topo .btn{display:none}
  .menu-btn{display:grid}
  .menu.aberto{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:var(--s1) var(--s3) var(--s3);background:rgba(1,6,20,.97);border-bottom:1px solid var(--linha)}
  .menu.aberto a{padding:var(--s2) 0;border-bottom:1px solid var(--linha);font-size:17px}
  .hero-grade,.cab,.proc,.faq{grid-template-columns:1fr}
  .hero{min-height:auto}
  .doc-palco{max-width:440px;margin-inline:auto;width:100%}
  .proc-cab{position:static}
  .formas{grid-template-columns:1fr}
  .perguntas{grid-template-columns:1fr 1fr}
  .calc,.contato-caixa{grid-template-columns:1fr}
  .conta,.form-contato{border-left:0;border-top:1px solid var(--linha)}
  .fecho{grid-template-columns:1fr;gap:var(--s4)}
  .rod-grade{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--s5:34px;--s6:55px;--s7:89px}
  .wrap{width:calc(100% - 2*var(--s3))}
  .topo .wrap{height:68px}
  .hero{padding:calc(68px + var(--s4)) 0 var(--s5)}
  .hero-lead{font-size:17px}
  .btn{padding:0 var(--s3);font-size:15.5px}
  .hero-acoes .btn{width:100%}
  .mat-assin{max-width:45%}
  .hero-fatos{grid-template-columns:1fr;gap:var(--s2)}
  .hero-fatos b{display:inline;margin-right:6px;font-size:17px}
  .matricula{aspect-ratio:auto;padding:var(--s3) var(--s3) var(--s2);font-size:12px;transform:none}
  .doc-palco::before{display:none}
  .ato{grid-template-columns:38px 1fr;padding:var(--s2) 0}
  .marcador{grid-column:2;justify-self:start}
  .carimbo{width:76px;height:76px;font-size:9.5px}
  .cab{margin-bottom:var(--s5)}
  .cab p:not(.rotulo),.proc-cab p:not(.rotulo),.faq .cab-faq p:not(.rotulo),.contato-txt > p:not(.rotulo){font-size:17px}
  .forma{padding:var(--s4) var(--s3)}
  .forma h3{font-size:var(--t2)}
  .passos{padding-left:var(--s4)}
  .passos::before,.passos::after{left:10px}
  .passo{grid-template-columns:1fr;gap:var(--s1);padding:var(--s3);min-height:0}
  .passo::before{left:calc(-1 * var(--s4) + 4px)}
  .perguntas{grid-template-columns:1fr;grid-auto-rows:auto}
  .calc form,.form-contato{grid-template-columns:1fr;padding:var(--s4) var(--s3)}
  .conta,.contato-txt{padding:var(--s4) var(--s3)}
  summary{padding:var(--s2) var(--s3);font-size:16px}
  details p{padding:0 var(--s3) var(--s2)}
  .fecho{padding:var(--s4) var(--s3);margin-bottom:var(--s5)}
  .rod-grade{gap:var(--s5);padding-bottom:var(--s5)}
  .rod-fone b{font-size:var(--t2)}
  .rod-legal{grid-template-columns:1fr}
  .rod-legal .direitos{justify-content:flex-start}
  .rodape-site{padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}
  .wa{right:var(--s2);bottom:calc(var(--s2) + env(safe-area-inset-bottom))}
}
@media (hover:none){.cartao:hover,.btn-primario:hover{transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero::after,.faixa-trilho{animation:none}
  .js .rv{opacity:1;transform:none;transition:none}
  .cartao,.btn{transition:none}
}

/* ==========================================================
   Glassmorphism + movimento ambiente (compartilhado por todas as páginas)
   ========================================================== */
:root{
  --vidro:rgba(12,32,76,.42);
  --vidro-2:rgba(6,19,46,.38);
  --vidro-borda:rgba(255,255,255,.11);
  --vidro-brilho:rgba(255,255,255,.07);
  --desfoque:blur(21px) saturate(150%);
}
/* Luzes que flutuam atrás de tudo: é o que dá cor ao vidro */
.ambiente{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ambiente i{position:absolute;border-radius:50%;filter:blur(89px);opacity:.55;will-change:transform}
.ambiente i:nth-child(1){width:55vmax;height:55vmax;left:-14vmax;top:-12vmax;background:radial-gradient(circle,rgba(18,109,218,.55),transparent 65%)}
.ambiente i:nth-child(2){width:44vmax;height:44vmax;right:-12vmax;top:28vh;background:radial-gradient(circle,rgba(50,137,243,.38),transparent 65%)}
.ambiente i:nth-child(3){width:34vmax;height:34vmax;left:28vw;bottom:-14vmax;background:radial-gradient(circle,rgba(4,31,81,.9),transparent 65%)}
@media (prefers-reduced-motion:no-preference){
  .ambiente i:nth-child(1){animation:deriva-1 34s ease-in-out infinite alternate}
  .ambiente i:nth-child(2){animation:deriva-2 42s ease-in-out infinite alternate}
  .ambiente i:nth-child(3){animation:deriva-3 55s ease-in-out infinite alternate}
  @keyframes deriva-1{to{transform:translate(21vw,13vh) scale(1.13)}}
  @keyframes deriva-2{to{transform:translate(-18vw,-21vh) scale(.89)}}
  @keyframes deriva-3{to{transform:translate(-13vw,-8vh) scale(1.21)}}
}
/* O fundo fica no <html>; o body precisa ser transparente para as luzes (z-index:-1) aparecerem */
body{background:transparent}
.secao-alt{background:rgba(2,10,28,.5)}
.faixa{background:rgba(2,10,28,.55);backdrop-filter:var(--desfoque);-webkit-backdrop-filter:var(--desfoque)}

/* Vidro: cartões, perguntas, painéis */
.cartao,details,.indice-vidro{background:linear-gradient(150deg,var(--vidro),var(--vidro-2));border:1px solid var(--vidro-borda);box-shadow:inset 0 1px 0 var(--vidro-brilho),0 21px 55px -34px rgba(0,0,0,.8);backdrop-filter:var(--desfoque);-webkit-backdrop-filter:var(--desfoque)}
.conta,.form-contato{background:rgba(1,6,20,.32)}
.campo input,.campo select{background:rgba(1,6,20,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.topo.rolou{background:rgba(1,6,20,.55);backdrop-filter:var(--desfoque);-webkit-backdrop-filter:var(--desfoque)}
.btn-linha{backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}

/* Luz que segue o cursor dentro dos cartões de vidro */
.cartao{--mx:50%;--my:0%}
.cartao:not(.passo)::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(377px circle at var(--mx) var(--my),rgba(142,195,255,.13),transparent 60%)}
.cartao:not(.passo):hover::before{opacity:1}
.cartao > *{position:relative}

@media (max-width:640px){
  :root{--desfoque:blur(13px) saturate(140%)}
  .ambiente i{filter:blur(55px);opacity:.45}
  .ambiente i:nth-child(3){display:none}
}
@media (prefers-reduced-transparency:reduce){
  .cartao,details,.faixa,.topo.rolou{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--painel)}
}
