/* Template lp-daz — identidade DigitalAZ.
   Tokens fixos, vindos de marca/daz.json. O gerador NÃO escolhe cor aqui:
   quando é a DAZ falando, a marca já está decidida.
   Herda as seções de lp-servico-local (mesmas classes, pele diferente). */
:root{
  --azul:#295FEE;
  --azul-claro:#5A7EF2;
  --azul-escuro:#1D4BD6;
  --navy:#060830;
  --preto:#03041A;
  --n0:#FFFFFF;
  --n300:#B7BCCB;
  --n400:#8B92A6;
  --n500:#5E6579;

  --pri:var(--azul);
  --bg:var(--preto);
  --suave:var(--navy);
  --tx:var(--n0);
  --tx2:var(--n300);
  --bd:rgba(255,255,255,.08);
  --bd2:rgba(255,255,255,.16);
  --campo:rgba(255,255,255,.05);
  --sobre-pri:#fff;

  --ft:"Orbitron","Chakra Petch",system-ui,sans-serif;
  --fc:"Sora",system-ui,-apple-system,sans-serif;
  --fm:"Space Mono",ui-monospace,monospace;
  --r:6px;
  --max:1120px;
  --pad:clamp(20px,5vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--tx);
  font-family:var(--fc);font-weight:400;font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
::selection{background:var(--azul);color:#fff}
img{max-width:100%;display:block}
a{color:inherit}

h1,h2,h3{font-family:var(--ft);font-weight:700;text-transform:uppercase;letter-spacing:-.015em;line-height:1.12;margin:0}
h1{font-size:clamp(1.9rem,5vw,3.3rem);max-width:19ch}
h1 .grifo{color:var(--azul-claro);white-space:nowrap}
h2{font-size:clamp(1.5rem,3.4vw,2.35rem);max-width:22ch}
h3{font-size:clamp(1rem,1.6vw,1.15rem);letter-spacing:.01em;line-height:1.25}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad);position:relative;z-index:1}
section{padding:clamp(64px,8vw,112px) 0;position:relative;z-index:1}
section.faixa{background:var(--suave);border-block:1px solid var(--bd)}

/* Kicker — assinatura de marca: mono, tracking largo, ícone DAZ à frente */
.chapeu{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fm);font-size:11.5px;font-weight:400;letter-spacing:.24em;
  text-transform:uppercase;color:var(--azul-claro);margin-bottom:22px;
}
.chapeu::before{content:"";flex:none;width:18px;height:14px;background:url("assets/daz-icone.png") center/contain no-repeat}
.centro .chapeu{justify-content:center}

.lead{font-weight:300;font-size:clamp(16.5px,1.9vw,18.5px);color:var(--n300);max-width:56ch}
.lead strong{font-weight:600;color:#fff}
.centro{text-align:center}
.centro .lead,.centro h2{margin-inline:auto}
.cab{margin-bottom:clamp(38px,5vw,58px)}

/* ── Botões ─────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 30px;
  font-family:var(--ft);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;background:var(--azul);border:1px solid var(--azul);border-radius:var(--r);
  text-decoration:none;cursor:pointer;transition:background .15s,transform .1s,border-color .15s;
}
.btn:hover{background:var(--azul-escuro);border-color:var(--azul-escuro)}
.btn:active{transform:scale(.985)}
.btn.fantasma{background:transparent;color:var(--n300);border-color:var(--bd2)}
.btn.fantasma:hover{color:#fff;border-color:var(--azul)}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.centro .btns{justify-content:center}
.micro{font-family:var(--fm);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--n500);margin-top:16px}

/* ── Textura de marca ───────────────────────────────── */
#mesh{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 72%);
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 72%)}
.glow{position:fixed;z-index:0;pointer-events:none;width:70vw;height:70vw;max-width:900px;max-height:900px;
  left:50%;top:-32vw;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(41,95,238,.20) 0%,transparent 62%)}

/* ── Cabeçalho ──────────────────────────────────────── */
.topo{position:sticky;top:0;z-index:50;background:rgba(3,4,26,.82);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--bd)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px}
.marca{display:flex;align-items:center;text-decoration:none;font-family:var(--ft);font-weight:700;
  font-size:17px;text-transform:uppercase;letter-spacing:.02em}
.marca img{height:26px;width:auto}
.menu{display:flex;gap:26px;font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.menu a{text-decoration:none;color:var(--n400);transition:color .15s}
.menu a:hover{color:var(--azul-claro)}
.topo .btn{height:44px;padding:0 20px;font-size:11.5px}
/* Barra de progresso de leitura, colada na base do cabeçalho fixo */
.progresso{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.progresso i{display:block;height:100%;background:linear-gradient(90deg,var(--azul),var(--azul-claro));
  transform:scaleX(0);transform-origin:0 50%;will-change:transform}
@media(max-width:900px){.menu{display:none}}
@media(max-width:520px){.topo .btn span{display:none}}

/* ── Hero ───────────────────────────────────────────── */
.hero{padding:clamp(70px,10vw,130px) 0 clamp(60px,8vw,100px)}
.hero::before{content:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,60px);align-items:center}
.hero-grid.solo{grid-template-columns:1fr;max-width:820px}
.hero h1{margin-bottom:22px}
.hero .prova{display:inline-flex;align-items:center;gap:9px;margin-top:28px;
  font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--n400);
  border:1px solid var(--bd);border-radius:var(--r);padding:9px 16px}
.hero .prova::before{content:"◆";color:var(--azul);font-size:9px}
.hero-arte img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--bd2)}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-arte{order:-1;max-width:320px}}

/* ── Mockup do hero: colagem 3D de casos reais ──────────
   Prints de sites entregues, em planos inclinados sobre o
   mesmo eixo (estilo mockup de portfólio). Três camadas:
   tela secundária ao fundo, principal ao centro, celular
   à frente. As imagens são screenshots reais. */
.hero-mock{position:relative;max-width:600px;justify-self:end;width:100%}
.mk-cena{position:relative;aspect-ratio:10/8.2;perspective:1600px;
  animation:mk-float 8s ease-in-out infinite alternate}
@keyframes mk-float{from{transform:translateY(0)}to{transform:translateY(-10px)}}
.mk{position:absolute;border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.18);background:#0b0d16;
  transform-style:preserve-3d}
.mk img{width:100%;height:auto;display:block}
.mk-alt{width:60%;right:0;top:0;z-index:1;
  transform:rotateX(10deg) rotateY(-14deg) translateZ(-90px);
  border-color:rgba(255,255,255,.3);
  box-shadow:30px 40px 70px rgba(0,0,0,.45);filter:brightness(1.12)}
.mk-main{width:76%;left:0;top:17%;z-index:2;
  transform:rotateX(10deg) rotateY(-14deg);
  box-shadow:34px 48px 90px rgba(0,0,0,.6),0 0 130px rgba(41,95,238,.12)}
.mk-phone{width:21%;left:-5%;bottom:-2%;z-index:3;border-radius:18px;
  border:5px solid #0b0d16;outline:1px solid rgba(255,255,255,.28);
  transform:rotateX(10deg) rotateY(-14deg) translateZ(70px);
  box-shadow:26px 34px 60px rgba(0,0,0,.65)}
.hm-selo{position:absolute;right:2%;bottom:-6%;z-index:4;display:inline-flex;align-items:center;gap:8px;
  background:var(--bg);border:1px solid rgba(90,126,242,.5);border-radius:999px;padding:9px 16px;
  font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--azul-claro);
  box-shadow:0 12px 30px rgba(0,0,0,.5)}
@media(max-width:860px){
  .hero-mock{justify-self:center;max-width:460px;margin-top:44px}
}

/* ── Números (motivo de marca: divisórias verticais) ── */
.numeros{display:flex;flex-wrap:wrap;justify-content:center;gap:0;
  border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:38px 0;background:none}
.numeros div{padding:6px 40px;text-align:center;background:none;border:0}
.numeros div+div{border-left:1px solid var(--bd)}
.numeros b{display:block;font-family:var(--ft);font-weight:700;font-size:clamp(28px,4.5vw,42px);color:var(--azul)}
.numeros span{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--n400);margin-top:8px}
@media(max-width:640px){.numeros div{padding:14px 20px}.numeros div+div{border-left:0}}

/* ── Cards ──────────────────────────────────────────── */
.grade{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.card{position:relative;background:rgba(255,255,255,.03);border:1px solid var(--bd);
  border-radius:var(--r);padding:clamp(24px,3vw,32px);transition:border-color .2s,background .2s}
.faixa .card{background:rgba(255,255,255,.03)}
.card:hover{border-color:rgba(41,95,238,.55);background:rgba(41,95,238,.06)}
.card.destaque{border-color:var(--azul)}
.card .tag{position:absolute;top:-1px;right:18px;background:var(--azul);color:#fff;
  font-family:var(--fm);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 11px;border-radius:0 0 var(--r) var(--r)}
.card h3{margin-bottom:12px;color:#fff}
.card p{color:var(--n300);font-weight:300;font-size:15.5px;margin-bottom:0}
.card .preco{display:block;margin-top:20px;font-family:var(--ft);font-weight:700;font-size:15px;
  letter-spacing:.02em;color:var(--azul-claro)}
.card .num{font-family:var(--fm);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--azul);
  width:auto;height:auto;border-radius:0;display:block;margin-bottom:14px;background:none}
.card .num::before{content:"0"}

/* ── Problema ───────────────────────────────────────────
   Checklist de sintomas: cada dor numa caixa com ✕ em tom
   de alerta. O vermelho aqui é semântico (problema), como
   o verde é semântico nas notas de velocidade. */
.dor-titulo{font-weight:600;font-size:17px;color:#fff;margin:34px 0 14px}
.dor{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:62ch}
.dor li{display:flex;gap:14px;align-items:flex-start;font-weight:300;font-size:16px;color:var(--n300);
  background:rgba(255,255,255,.03);border:1px solid var(--bd);border-radius:var(--r);
  padding:14px 18px;transition:border-color .2s,background .2s}
.dor li:hover{border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.05)}
.dor li::before{content:"✕";flex:0 0 auto;color:#f87171;background:none;width:auto;height:auto;
  border-radius:0;margin-top:1px;font-family:var(--fm);font-weight:700;font-size:14px}
.virada{margin-top:36px;padding-left:22px;border-left:2px solid var(--azul);
  font-family:var(--ft);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(15px,1.9vw,19px);line-height:1.35;max-width:36ch}

/* ── Sobre ──────────────────────────────────────────── */
.sobre-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,58px);align-items:center}
.sobre-grid.solo{grid-template-columns:1fr;max-width:68ch}
.sobre-grid img{border-radius:var(--r);aspect-ratio:3/4;object-fit:cover;width:100%;border:1px solid var(--bd2)}
.legenda{font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--n500);margin-top:12px;text-align:center}
.creds{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.creds li{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--bd);border-radius:var(--r);padding:7px 13px;color:var(--n400)}
@media(max-width:800px){.sobre-grid{grid-template-columns:1fr}.sobre-grid figure{max-width:300px;margin:0 auto}}

/* ── Depoimentos ────────────────────────────────────── */
.dep{background:rgba(255,255,255,.03);border:1px solid var(--bd);border-radius:var(--r);padding:clamp(24px,3vw,32px)}
.dep .aspas{font-family:var(--ft);font-size:34px;line-height:.8;color:var(--azul);opacity:.55}
.dep p{font-weight:300;font-size:16px;color:var(--n300);margin:16px 0 20px}
.dep b{display:block;font-family:var(--ft);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
.dep small{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--n500)}

/* ── FAQ ────────────────────────────────────────────── */
.faq{max-width:76ch;margin:0 auto}
.faq details{border-bottom:1px solid var(--bd)}
.faq summary{cursor:pointer;list-style:none;padding:24px 44px 24px 0;position:relative;
  font-family:var(--ft);font-weight:700;font-size:clamp(13.5px,1.7vw,15.5px);
  text-transform:uppercase;letter-spacing:-.005em;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--fc);font-weight:300;font-size:26px;line-height:1;color:var(--azul);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq .r{padding:0 44px 26px 0;color:var(--n300);font-weight:300;font-size:16px}
.faq .r p:last-child{margin-bottom:0}

/* ── CTA final ──────────────────────────────────────── */
.final{background:var(--azul);text-align:center;border:0}
.final h2{margin-inline:auto}
.final h2,.final p{color:#fff}
.final .lead{color:rgba(255,255,255,.86);margin-inline:auto}
.final .btn{background:#fff;color:var(--azul);border-color:#fff}
.final .btn:hover{background:var(--n300);border-color:var(--n300)}
.final .micro{color:rgba(255,255,255,.7)}

/* ── Contato ────────────────────────────────────────── */
.form{display:grid;gap:12px;max-width:520px}
.form input,.form textarea{width:100%;font-family:var(--fc);font-size:15px;padding:0 18px;height:56px;
  border-radius:var(--r);border:1px solid var(--bd2);background:var(--campo);color:#fff}
.form textarea{min-height:120px;height:auto;padding:16px 18px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:var(--n500)}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--azul)}
.form button{border:1px solid var(--azul);cursor:pointer;width:100%}
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,54px);align-items:start}
.contato-grid iframe{width:100%;height:320px;border:1px solid var(--bd);border-radius:var(--r);filter:grayscale(1) invert(.9) contrast(.85)}
.infos{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:11px;
  font-family:var(--fm);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--n400)}
.infos a{text-decoration:none}
.infos a:hover{color:var(--azul-claro)}
@media(max-width:800px){.contato-grid{grid-template-columns:1fr}}

/* ── Rodapé ─────────────────────────────────────────── */
footer{border-top:1px solid var(--bd);padding:48px 0 40px;position:relative;z-index:1;
  font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--n500)}
footer .linha{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer strong{font-family:var(--ft);font-size:13px;color:var(--n300);letter-spacing:.04em}
footer .redes{display:flex;gap:18px}
footer a{text-decoration:none}
footer a:hover{color:var(--azul-claro)}
footer .creditos{margin-top:26px;padding-top:22px;border-top:1px solid var(--bd);font-size:10px;opacity:.8}
.rodape-min{display:grid;gap:9px;text-align:center;justify-items:center}
.rodape-min a:hover{color:var(--azul-claro)}

/* ── Páginas de documento (termos, privacidade) ─────────
   Coluna única de leitura, sem mesh, hierarquia discreta. */
.doc-corpo{max-width:76ch;padding-block:clamp(48px,7vw,84px)}
.doc-corpo h1{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-bottom:10px}
.doc-meta{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--n500);margin-bottom:40px}
.doc-corpo h2{font-size:clamp(1rem,1.8vw,1.2rem);margin:42px 0 14px}
.doc-corpo p,.doc-corpo li{font-weight:300;font-size:16px;color:var(--n300);line-height:1.65}
.doc-corpo strong{font-weight:600;color:#fff}
.doc-corpo ul{padding-left:20px;margin:0 0 1em}
.doc-corpo li{margin-bottom:8px}
.doc-corpo li::marker{color:var(--azul)}
.doc-corpo a{color:var(--azul-claro)}

/* ── WhatsApp flutuante ─────────────────────────────── */
.zap{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:var(--r);
  background:#25d366;display:grid;place-items:center;transition:transform .18s}
.zap:hover{transform:translateY(-2px)}
.zap svg{width:29px;height:29px;fill:#fff}
@media(print){.zap,.topo,#mesh,.glow{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}

/* ── Seção de oferta ────────────────────────────────────
   Ancoragem à esquerda, decisão à direita. A hierarquia é
   deliberada: o preço é o maior elemento da página. */
.oferta{display:grid;grid-template-columns:1fr 1.05fr;gap:0;
  border:1px solid var(--bd);border-radius:calc(var(--r) * 2);overflow:hidden;
  background:rgba(255,255,255,.02)}
.of-esq{padding:clamp(28px,3.6vw,44px);border-right:1px solid var(--bd)}
.of-dir{padding:clamp(28px,3.6vw,44px);background:rgba(41,95,238,.07)}
@media(max-width:840px){.oferta{grid-template-columns:1fr}
  .of-esq{border-right:0;border-bottom:1px solid var(--bd)}}

.of-rot{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--n400);margin-bottom:22px}

.of-linhas{list-style:none;padding:0;margin:0}
.of-linhas li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:15px 0;border-top:1px solid var(--bd);font-weight:300;font-size:15.5px;color:var(--n300)}
.of-linhas li b{font-family:var(--ft);font-weight:700;font-size:14px;color:#fff;white-space:nowrap}

.of-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:18px 0 0;border-top:1px solid var(--bd2);margin-top:2px}
.of-total span{font-weight:600;font-size:16px}
.of-total b{font-family:var(--ft);font-weight:700;font-size:clamp(17px,2.2vw,21px)}
.of-total s{color:var(--n500);text-decoration-thickness:2px}

.of-razao{margin-top:30px}
.of-razao p{font-weight:300;font-size:15.5px;color:var(--n300);margin-bottom:14px}
.of-razao p:last-child{margin-bottom:0}
.of-razao strong{font-weight:600;color:#fff}

.of-selo{display:inline-flex;align-items:center;gap:14px;margin-top:28px;padding:9px 18px 9px 9px;
  border:1px solid var(--bd2);border-radius:999px}
.of-selo i{flex:0 0 34px;height:34px;border-radius:999px;background:var(--azul);color:#fff;
  display:grid;place-items:center;font-style:normal;font-size:15px}
.of-selo span{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--n300)}

.of-check{list-style:none;padding:0;margin:0 0 34px}
.of-check li{display:flex;gap:13px;align-items:flex-start;padding:9px 0;font-weight:300;
  font-size:16px;color:var(--n300);line-height:1.45}
.of-check li i{flex:0 0 auto;font-style:normal;color:var(--azul-claro);font-weight:700;font-size:15px;margin-top:1px}
.of-check li b{font-weight:600;color:#fff}

.of-preco{display:flex;align-items:flex-start;gap:6px;line-height:.86}
.of-moeda{font-family:var(--ft);font-weight:700;font-size:clamp(20px,2.6vw,28px);color:#fff;margin-top:.35em;white-space:nowrap}
.of-valor{font-family:var(--ft);font-weight:700;font-size:clamp(62px,11vw,124px);color:#fff;letter-spacing:-.04em}
.of-sufixo{font-family:var(--fm);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--n400);align-self:flex-end;margin-bottom:.9em}
.of-parc{font-weight:300;font-size:16px;color:var(--n300);margin:12px 0 26px}
.of-parc strong{font-family:var(--ft);font-weight:700;font-size:15px;color:#fff}

.of-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  padding:12px 12px 12px 30px;border-radius:999px;background:var(--azul);color:#fff;text-decoration:none;
  transition:background .15s,transform .1s}
.of-btn:hover{background:var(--azul-escuro)}
.of-btn:active{transform:scale(.99)}
.of-btn span{font-family:var(--ft);font-weight:700;font-size:clamp(12.5px,1.5vw,14.5px);
  letter-spacing:.06em;text-transform:uppercase;line-height:1.25}
.of-btn i{flex:0 0 46px;height:46px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--azul);
  display:grid;place-items:center;font-style:normal;font-size:19px}

.of-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.of-pills span{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--n300);border:1px solid var(--bd2);border-radius:999px;padding:8px 15px}

.of-alt{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;
  margin-top:30px;padding-top:22px;border-top:1px solid var(--bd);
  font-weight:300;font-size:14.5px;color:var(--n400)}
.of-alt a{font-family:var(--ft);font-weight:700;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:2px solid var(--azul);padding-bottom:3px}
.of-alt a:hover{color:var(--azul-claro)}

/* ── Processo: linha do tempo numerada ──────────────────
   Trilho à esquerda (números em círculo + linha contínua),
   cards à direita. O tempo de cada etapa vive no canto do
   card, em mono — mesma assinatura dos selos e kickers. */
.lt{list-style:none;padding:0;margin:0;max-width:860px;margin-inline:auto;
  display:grid;gap:22px;position:relative}
.lt::before{content:"";position:absolute;left:24px;top:24px;bottom:24px;width:1px;
  background:var(--bd2)}
.lt-item{display:grid;grid-template-columns:48px 1fr;gap:clamp(18px,3vw,30px);
  align-items:start;position:relative}
.lt-num{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;
  font-family:var(--fm);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--azul-claro);
  background:var(--bg);border:1px solid rgba(90,126,242,.5);position:relative;z-index:1}
.faixa .lt-num{background:var(--suave)}
.lt-card{background:rgba(255,255,255,.03);border:1px solid var(--bd);border-radius:var(--r);
  padding:clamp(22px,3vw,30px);transition:border-color .2s,background .2s}
.lt-card:hover{border-color:rgba(41,95,238,.55);background:rgba(41,95,238,.06)}
.lt-cab{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px}
.lt-cab h3{color:#fff}
.lt-tempo{font-family:var(--fm);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--n400);white-space:nowrap}
.lt-card>p{color:var(--n300);font-weight:300;font-size:15.5px;margin:0}
.lt-bullets{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;
  column-gap:26px;row-gap:9px}
.lt-bullets li{display:flex;gap:9px;align-items:baseline;font-family:var(--fm);
  font-size:11.5px;letter-spacing:.04em;color:var(--n400)}
.lt-bullets li::before{content:"▪";color:var(--azul);font-size:9px}
@media(max-width:560px){
  .lt::before{left:17px}
  .lt-item{grid-template-columns:34px 1fr;gap:14px}
  .lt-num{width:34px;height:34px;font-size:11px}
  .lt-cab{flex-direction:column;gap:4px}
}

/* ── Velocidade: notas de desempenho ────────────────────
   Anéis no vocabulário visual do PageSpeed (verde = nota
   90–100, que qualquer um reconhece) dentro de cards DAZ.
   O verde aqui é semântico — prova, não identidade. */
.vel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;max-width:980px;margin-inline:auto}
.vel-card{--vel-fundo:#0a0c30;background:var(--vel-fundo);border:1px solid var(--bd);
  border-radius:var(--r);padding:clamp(24px,3vw,34px)}
.vel-fonte{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--n400);margin-bottom:24px}
.vel-aneis{display:flex;flex-wrap:wrap;gap:clamp(16px,2.6vw,30px);justify-content:space-between}
.vel-anel{display:grid;justify-items:center;gap:10px}
.vel-anel i{width:clamp(66px,7vw,80px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#22c55e calc(var(--p)*1%),rgba(255,255,255,.09) 0)}
.vel-anel b{width:calc(100% - 14px);aspect-ratio:1;border-radius:50%;background:var(--vel-fundo);
  display:grid;place-items:center;font-family:var(--ft);font-weight:700;
  font-size:clamp(17px,1.9vw,21px);color:#4ade80}
.vel-anel span{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--n400);text-align:center;max-width:12ch}
.vel-gt{display:flex;gap:clamp(18px,2.6vw,28px);align-items:center}
.vel-nota{flex:0 0 auto;width:clamp(66px,7vw,80px);aspect-ratio:1;border-radius:var(--r);
  display:grid;place-items:center;font-family:var(--ft);font-weight:900;
  font-size:clamp(30px,3.4vw,40px);color:#4ade80;background:rgba(34,197,94,.1);
  border:1px solid rgba(34,197,94,.4)}
.vel-chips{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.vel-chips b{display:block;font-family:var(--ft);font-weight:700;font-size:15.5px;color:#fff}
.vel-chips span{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--n400)}
.vel-provas{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;max-width:980px;margin:14px auto 0}
.vel-provas figure{margin:0;border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;
  background:#fff}
.vel-provas img{width:100%;height:100%;object-fit:cover;object-position:top}
.vel-legenda{max-width:980px;margin:18px auto 0}
.centro.vel-legenda{text-align:center}
@media(max-width:820px){.vel-grid{grid-template-columns:1fr}.vel-provas{grid-template-columns:1fr}}

/* ── Fundadora: quem assina o trabalho ──────────────────
   Foto em card com legenda sobre gradiente à esquerda;
   declaração com grifos azuis + caixa de princípios à
   direita. Certeza na marca/pessoa (Belfort). */
.fund-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,4.5vw,56px);align-items:center;
  max-width:1080px;margin-inline:auto}
.fund-foto{position:relative;margin:0;border-radius:calc(var(--r)*2);overflow:hidden;
  border:1px solid var(--bd2)}
.fund-foto img{width:100%;aspect-ratio:4/5;object-fit:cover}
.fund-foto figcaption{position:absolute;left:0;right:0;bottom:0;padding:64px 24px 22px;
  background:linear-gradient(transparent,rgba(3,4,26,.94))}
.fund-kicker{display:block;font-family:var(--fm);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--azul-claro);margin-bottom:8px}
.fund-foto b{display:block;font-family:var(--ft);font-weight:700;font-size:clamp(17px,2vw,21px);
  text-transform:uppercase;letter-spacing:.01em;color:#fff}
.fund-foto small{display:block;font-weight:300;font-size:13.5px;color:var(--n300);margin-top:5px}
.fund-frase{font-weight:300;font-size:clamp(18px,2.1vw,21.5px);line-height:1.55;color:var(--n300);
  margin:0;position:relative;padding-left:32px}
.fund-frase::before{content:"";position:absolute;left:0;top:.38em;width:20px;height:16px;
  background:url("assets/daz-icone.png") center/contain no-repeat}
.fund-frase strong{font-weight:600;color:var(--azul-claro)}
.fund-principios{list-style:none;padding:0;margin:40px 0 0;border:1px solid var(--bd);
  border-radius:var(--r);background:rgba(255,255,255,.02)}
.fund-principios li{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px;
  padding:19px 24px;align-items:start}
.fund-principios li+li{border-top:1px solid var(--bd)}
.fund-principios h3{font-size:13.5px;color:#fff}
.fund-principios p{margin:0;font-weight:300;font-size:14.5px;color:var(--n400);line-height:1.5}
@media(max-width:820px){
  .fund-grid{grid-template-columns:1fr}
  .fund-foto{max-width:400px}
  .fund-principios li{grid-template-columns:1fr;gap:6px}
}

/* ── Pop-up de qualificação ─────────────────────────────
   4 passos antes do WhatsApp: barra de progresso, chips
   numerados, opções em card. Fecha no ✕, no fundo e no Esc. */
.qual{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px}
.qual[hidden]{display:none}
.qual-fundo{position:absolute;inset:0;background:rgba(3,4,26,.78);backdrop-filter:blur(6px)}
.qual-caixa{position:relative;width:min(640px,100%);max-height:92vh;overflow:auto;
  background:var(--suave);border:1px solid var(--bd2);border-radius:14px;
  padding:clamp(24px,4vw,38px);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.qual-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid var(--bd);color:var(--n300);
  font-size:15px;cursor:pointer;display:grid;place-items:center}
.qual-x:hover{color:#fff;border-color:var(--bd2)}
.qual-topo{margin-bottom:26px;padding-right:44px}
.qual-prog{height:3px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:18px}
.qual-prog i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--azul),var(--azul-claro));
  transition:width .25s}
.qual-passos{list-style:none;padding:0;margin:0 0 10px;display:flex;gap:20px;flex-wrap:wrap}
.qual-passos li{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--n500)}
.qual-passos li i{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;
  font-style:normal;font-size:10px;border:1px solid var(--bd2);color:var(--n400)}
.qual-passos li.ativo{color:#fff}
.qual-passos li.ativo i,.qual-passos li.feito i{background:var(--azul);border-color:var(--azul);color:#fff}
.qual-meta{display:flex;justify-content:space-between;font-family:var(--fm);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--n500)}
.qual-tela{padding:0}
.qual-kicker{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--azul-claro);margin-bottom:12px}
.qual-tela h3{font-size:clamp(1.15rem,2.4vw,1.5rem);margin-bottom:8px}
.qual-sub{font-weight:300;font-size:15px;color:var(--n400);margin:0 0 20px}
.qual-ops{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.qual-op{position:relative;display:flex;gap:12px;align-items:flex-start;padding:15px 17px;
  background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:var(--r);
  cursor:pointer;transition:border-color .15s,background .15s}
.qual-op:hover{border-color:rgba(41,95,238,.55)}
.qual-op input{position:absolute;opacity:0;pointer-events:none}
.qual-dot{flex:0 0 16px;width:16px;height:16px;border-radius:999px;border:1px solid var(--bd2);
  margin-top:2px;display:grid;place-items:center}
.qual-op:has(input:checked){border-color:var(--azul);background:rgba(41,95,238,.1)}
.qual-op:has(input:checked) .qual-dot{border-color:var(--azul)}
.qual-op:has(input:checked) .qual-dot::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--azul)}
.qual-op-tx b{display:block;font-weight:600;font-size:14.5px;color:#fff;line-height:1.3}
.qual-op-tx small{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.06em;
  color:var(--azul-claro);margin-top:5px;text-transform:uppercase}
.qual-nome{width:100%;margin-top:18px;font-family:var(--fc);font-size:16px;padding:0 18px;height:56px;
  border-radius:var(--r);border:1px solid var(--bd2);background:var(--campo);color:#fff}
.qual-nome::placeholder{color:var(--n500)}
.qual-nome:focus{outline:none;border-color:var(--azul)}
.qual-aviso{font-size:13.5px;color:#f87171;margin:14px 0 0}
.qual-seg{margin-top:22px;display:flex;align-items:center;gap:8px}
.qual-seg svg{width:13px;height:13px;fill:var(--azul-claro);flex:0 0 auto}
.qual-pagto{display:grid;gap:10px;margin-top:20px}
.qual-pagto .btn{width:100%}
.qual-pagto .btn:disabled{opacity:.6;cursor:wait}
.qual-campos{display:grid;gap:10px;margin-top:18px}
.qual-campos .qual-nome{margin-top:0}
.qual-qr{background:#fff;border-radius:var(--r);padding:14px;width:min(240px,70%);
  margin:20px auto 16px}
.qual-qr img{width:100%;display:block}
.qual-copia{display:flex;gap:8px}
.qual-copia input{flex:1;min-width:0;font-family:var(--fm);font-size:12px;padding:0 14px;height:48px;
  border-radius:var(--r);border:1px solid var(--bd2);background:var(--campo);color:var(--n300)}
.qual-copia .btn{height:48px;padding:0 20px}
.qual-fim-aviso{margin-top:18px;font-size:13.5px}
.qual-acoes{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.qual-acoes .btn{height:52px}
@media(max-width:560px){.qual-ops{grid-template-columns:1fr}.qual-passos li span{display:none}}
   Duas faixas em sentidos opostos. O laço fecha porque o
   render duplica a lista e a animação anda exatamente -50%;
   o espaçamento é margin (não gap) para que a metade seja exata. */
.vitrine{padding:clamp(52px,6vw,80px) 0;overflow:hidden}
.vt-rot{margin-bottom:34px}

.vt-faixa{position:relative;overflow:hidden;padding:9px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.vt-track{display:flex;width:max-content;animation:vt-run 58s linear infinite}
.vt-track.rev{animation-duration:46s;animation-direction:reverse}
.vt-faixa:hover .vt-track{animation-play-state:paused}
@keyframes vt-run{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.vt-item{display:flex;align-items:center;gap:13px;margin-right:34px;white-space:nowrap}
.vt-av{flex:0 0 46px;width:46px;height:46px;border-radius:999px;overflow:hidden;display:grid;
  place-items:center;border:1px solid var(--bd2);
  background:hsl(var(--tom,220) 42% 22%)}
.vt-av img{width:100%;height:100%;object-fit:cover}
.vt-mono{font-family:var(--ft);font-weight:700;font-size:14px;font-style:normal;
  color:hsl(var(--tom,220) 70% 78%);letter-spacing:.02em}
.vt-txt{display:flex;flex-direction:column;line-height:1.25}
.vt-txt b{font-weight:600;font-size:15px;color:#fff}
.vt-txt small{font-family:var(--fm);font-size:11.5px;color:var(--azul-claro)}

.vt-pe{margin-top:32px;font-family:var(--fm);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--n500)}
.vt-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media(max-width:560px){.vt-item{margin-right:24px}.vt-av{flex:0 0 40px;width:40px;height:40px}
  .vt-txt b{font-size:14px}}
@media(prefers-reduced-motion:reduce){
  .vt-track{animation:none;width:100%;overflow-x:auto;scrollbar-width:none}
  .vt-faixa{mask-image:none;-webkit-mask-image:none}}
