/* Metajur — folha de estilo do site inteiro.
   Um arquivo só para todas as páginas, pelo mesmo motivo do metajur-motores.js:
   nada de três cópias do mesmo componente divergindo com o tempo. */
  :root{
    --navy:#001a29; --navy-deep:#000d14; --blue:#007cc3; --blue-tint:#e8f2f9;
    --ink:#0d0d0d; --ink-soft:#454545; --muted:#5b6470; --line:#e4e7eb;
    --offwhite:#f7f9fa; --white:#fff;
    --maxw:1120px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  /* O cabecalho e sticky (76px). Sem esta folga, toda ancora do menu para
     embaixo dele e o topo da secao fica escondido. */
  html{scroll-behavior:smooth; scroll-padding-top:92px;}
  @media (max-width:640px){ html{scroll-padding-top:76px;} }
  body{font-family:'Figtree',sans-serif; color:var(--ink); background:var(--white); line-height:1.5; -webkit-font-smoothing:antialiased;}
  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  section{padding:96px 0;}
  h1,h2,h3{font-weight:900; letter-spacing:-0.01em; color:var(--navy);}
  .kicker{display:inline-block; font-weight:600; font-size:0.95rem; color:var(--blue); margin-bottom:14px;}
  .lead{color:var(--muted); font-size:1.0625rem; line-height:1.65;}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 26px; border-radius:8px; font-weight:700; font-size:0.95rem; cursor:pointer; border:1.5px solid transparent; white-space:nowrap;}
  .btn-primary{background:var(--navy); color:#fff;}
  .btn-primary:hover{background:#00263c;}
  .btn-outline{border-color:var(--navy); color:var(--navy);}
  .btn-outline:hover{background:var(--navy); color:#fff;}
  .btn-outline-light{border-color:rgba(255,255,255,.55); color:#fff;}
  .btn-outline-light:hover{background:#fff; color:var(--navy);}
  .btn-primary-light{background:#fff; color:var(--navy);}

  /* Icon mark — approximation of the real brand mark (ring + peak). Swap for the vector logo asset when ready. */
  .mark{display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;}
  .mark svg{display:block;}

  /* ---------- HEADER ---------- */
  header{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line);}
  /* A marca e o menu andam juntos, a esquerda; os botoes vao para a direita.
     Com space-between o espaco sobrando virava dois buracos, um de cada lado
     do menu, e o menu ficava boiando no meio da barra. */
  .nav-row{display:flex; align-items:center; justify-content:flex-start; padding:16px 0; gap:44px;}
  .nav-row .header-ctas{margin-left:auto;}
  .brand{display:flex; align-items:center; gap:10px;}
  .brand-name{font-weight:900; font-size:1.2rem; letter-spacing:0.01em; color:var(--navy); line-height:1;}
  .brand-tag{font-weight:600; font-size:0.56rem; letter-spacing:0.14em; color:var(--ink-soft); text-transform:uppercase; margin-top:2px;}
  nav.links{display:flex; gap:30px; font-weight:500; font-size:0.94rem;}
  nav.links a:hover{color:var(--blue);}
  .header-ctas{display:flex; align-items:center; gap:22px;}
  .header-ctas .btn{padding:10px 18px; font-size:0.88rem;}
  .correspondente-link{font-weight:600; font-size:0.9rem;}
  /* Era o unico item do cabecalho sem resposta ao passar o mouse. Mesma
     resposta dos links do menu: so a troca de cor. O site inteiro usa esse
     vocabulario (cor, fundo, deslocamento) e nao sublinha nada. */
  .correspondente-link:hover, .correspondente-link:focus-visible{color:var(--blue);}
  header.on-dark .correspondente-link:hover, header.on-dark .correspondente-link:focus-visible{color:#8fd3ff;}
  .menu-toggle{display:none;}

  /* ---------- HERO ---------- */
  .hero{position:relative; overflow:hidden; padding:100px 0 84px; background:linear-gradient(180deg,#fff 60%, var(--offwhite) 100%);}
  .hero-mark{position:absolute; right:-140px; top:-80px; opacity:.06; width:640px;}
  .hero-inner{position:relative; max-width:760px; margin:0 auto; text-align:center;}
  .hero h1{font-size:clamp(2.1rem,3.6vw + 1rem,3.15rem); line-height:1.15; margin-bottom:22px;}
  .hero .lead{max-width:600px; margin:0 auto 34px;}
  .hero-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:40px;}
  .switch-prompt{font-size:0.92rem; color:var(--muted); margin-bottom:14px;}
  .switcher{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
  .pill{padding:9px 18px; border-radius:999px; background:var(--offwhite); border:1px solid var(--line); font-size:0.85rem; font-weight:600; color:var(--ink);}
  .pill:hover{border-color:var(--blue); color:var(--blue);}

  /* ---------- STATS ---------- */
  .stats{background:var(--navy); padding:56px 0;}
  .stats .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px;}
  .stat{flex:1 1 200px; text-align:center;}
  .stat .num{font-weight:900; font-size:1.9rem; color:#fff; margin-bottom:6px;}
  .stat .cap{font-size:0.85rem; color:#8fb4c9;}

  /* ---------- TWO COL ---------- */
  .twocol{display:flex; gap:72px; align-items:center;}
  .twocol.reverse{flex-direction:row-reverse;}
  .twocol .col-text{flex:1 1 52%;}
  .twocol .col-media{flex:1 1 42%;}
  .twocol h2{font-size:clamp(1.55rem,2vw+1rem,2.1rem); margin-bottom:18px; line-height:1.25;}
  .twocol p + p{margin-top:16px;}

  .placeholder{background:var(--blue-tint); border:1px solid #cfe3ef; border-radius:14px; display:flex; align-items:center; justify-content:center; text-align:center; color:#5b7f92; font-size:0.88rem; font-weight:500; padding:32px;}
  .placeholder .ph-icon{width:34px; height:34px; margin:0 auto 12px; opacity:.5;}

  .quote{border-left:3px solid var(--blue); padding-left:18px; margin-top:26px; font-weight:600; font-size:1.05rem; color:var(--navy); font-style:italic;}
  .quote span{display:block; margin-top:8px; font-weight:600; font-size:0.85rem; color:var(--muted); font-style:normal;}

  /* ---------- CENTERED HEAD ---------- */
  .section-head{max-width:640px; margin:0 auto 52px; text-align:center;}
  .section-head h2{font-size:clamp(1.55rem,2vw+1rem,2.1rem);}

  /* ---------- SERVICES / LIST GRID (avoids identical-card pattern) ---------- */
  .list-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 56px;}
  .list-item{padding:24px 0; border-top:1px solid var(--line); display:flex; gap:16px;}
  .list-item .dot{width:9px; height:9px; border-radius:50%; background:var(--blue); margin-top:8px; flex-shrink:0;}
  .list-item h3{font-size:1.05rem; font-weight:700; color:var(--navy); margin-bottom:6px;}
  .list-item p{font-size:0.92rem; color:var(--muted); line-height:1.55;}
  .list-grid{align-items:start;}
  .svc-body{flex:1; min-width:0;}
  .svc-btn{display:flex; align-items:center; gap:10px; width:100%; padding:0; background:none; border:0; font:inherit; color:inherit; text-align:left; cursor:pointer;}
  .svc-btn > span{flex:1;}
  .svc-chev{width:18px; height:18px; flex-shrink:0; color:var(--blue); opacity:.55; transition:rotate var(--t-micro) var(--ease-smooth), opacity var(--t-micro);}
  .svc.is-open .svc-chev{rotate:180deg; opacity:1;}
  .svc-btn:focus-visible{outline:2px solid var(--blue); outline-offset:3px; border-radius:4px;}
  .svc-short{margin-top:6px;}
  .svc-panel{display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows .38s var(--ease-smooth), visibility 0s .38s;}
  .svc.is-open .svc-panel{grid-template-rows:1fr; visibility:visible; transition:grid-template-rows .38s var(--ease-smooth), visibility 0s;}
  .svc-in{overflow:hidden; min-height:0;}
  .svc-in > *{margin-top:14px;}
  .svc-in p{font-size:0.92rem; color:var(--muted); line-height:1.6;}
  .svc-in p strong{color:var(--navy); font-weight:600;}
  @media (hover:hover){ .svc-btn:hover h3, .svc-btn:hover{color:var(--blue);} .svc:hover .svc-chev{opacity:1;} }
  @media (prefers-reduced-motion: reduce){ .svc-panel{transition:none;} }
  .services-note{text-align:center; margin-top:36px; font-weight:600; color:var(--navy); font-size:1rem; max-width:640px; margin-left:auto; margin-right:auto;}

  .diff-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line);}
  .diff-item{padding:28px 24px; border-right:1px solid var(--line);}
  .diff-item:last-child{border-right:none;}
  .diff-item h3{font-size:1rem; font-weight:700; color:var(--navy); margin-bottom:8px;}
  .diff-item p{font-size:0.88rem; color:var(--muted); line-height:1.55;}
  .diff-item p strong{color:var(--navy); font-weight:600;}

  .bg-off{background:var(--offwhite);}
  .bg-tint{background:var(--blue-tint);}

  /* ---------- ATUACAO ---------- */
  .region-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
  .region-tag{padding:8px 16px; border-radius:8px; background:#fff; border:1px solid var(--line); font-size:0.85rem; font-weight:600; color:var(--navy);}

  /* ---------- CLIENTES ---------- */
  .logos-row{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:40px;}
  .logo-ph{height:76px; border-radius:10px;}
  .testimonial{max-width:680px; margin:0 auto; text-align:center; padding:40px; border-radius:14px;}
  .testimonial p{font-weight:600; font-size:1.05rem; color:var(--navy); font-style:italic;}

  /* ---------- FORMS ---------- */
  .form-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:36px; flex:1 1 46%;}
  .form-card.on-navy{background:#fff;}
  .field{margin-bottom:18px;}
  .field label{display:block; font-size:0.82rem; font-weight:600; color:var(--navy); margin-bottom:7px;}
  .field input, .field select, .field textarea{width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:7px; font-family:inherit; font-size:0.92rem; color:var(--ink); background:#fbfbfc;}
  .field textarea{resize:vertical; min-height:80px;}
  .field-row{display:flex; gap:14px;}
  .field-row .field{flex:1;}
  .form-submit{width:100%; margin-top:6px;}

  .solicitar{background:var(--navy);}
  .solicitar .section-head h2, .solicitar .section-head .kicker{color:#fff;}
  .solicitar .section-head .lead{color:#a9c2d1;}
  .solicitar .form-wrap{max-width:640px; margin:0 auto;}

  /* ---------- CONTATO ---------- */
  .contact-row{display:flex; justify-content:center; gap:40px; flex-wrap:wrap; margin-top:12px;}
  .contact-item{text-align:center;}
  .contact-item .label{font-size:0.8rem; color:var(--muted); margin-bottom:4px;}
  .contact-item .value{font-weight:700; color:var(--navy);}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy); padding:56px 0 28px;}
  .footer-top{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12);}
  footer .brand-name{color:#fff;}
  footer .brand-tag{color:#8fb4c9;}
  .footer-links{display:flex; gap:48px; flex-wrap:wrap;}
  .footer-col h4{font-size:0.82rem; color:#8fb4c9; font-weight:600; margin-bottom:14px;}
  .footer-col a{display:block; font-size:0.9rem; color:#dfeaf1; margin-bottom:10px;}
  .footer-col a:hover{color:#fff;}
  .footer-bottom{padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.8rem; color:#7996a6;}


  /* ---------- HERO (vídeo) ---------- */
  .hero{background:var(--navy-deep); color:#fff; padding:128px 0 112px; min-height:min(88vh,760px); display:flex; align-items:center;}
  .hero > .wrap{width:100%;}
  .hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .hero::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      radial-gradient(ellipse 70% 60% at 50% 45%, rgba(0,13,20,.55) 0%, rgba(0,13,20,.25) 70%),
      linear-gradient(180deg, rgba(0,13,20,.55) 0%, rgba(0,13,20,.15) 40%, rgba(0,26,41,.85) 88%, var(--navy) 100%);}
  .hero-inner{z-index:2;}
  .hero h1{color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.35);}
  .hero .lead{color:#c9dae4;}
  .hero .switch-prompt{color:#9fbccd;}
  .hero .pill{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22); color:#fff; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
  .hero .pill:hover{background:#fff; color:var(--navy); border-color:#fff;}
  .hero-place{position:absolute; left:28px; bottom:22px; z-index:2; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55);}
  .stats{border-top:1px solid rgba(255,255,255,.06);}

  /* ---------- MAPA (vídeo) ---------- */
  .map-media{position:relative; border-radius:16px; overflow:hidden; background:#04141d; aspect-ratio:4/3; box-shadow:0 24px 60px -24px rgba(0,26,41,.45);}
  .map-media video, .map-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .map-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 60%, rgba(0,13,20,.7) 100%); pointer-events:none;}
  .map-badge{position:absolute; left:18px; bottom:16px; z-index:2; display:flex; align-items:center; gap:10px; color:#fff; font-size:.85rem; font-weight:600;}
  .map-badge .live{width:9px; height:9px; border-radius:50%; background:#3fc3ff; box-shadow:0 0 0 0 rgba(63,195,255,.7); animation:pulse 2s infinite;}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,195,255,.6);}70%{box-shadow:0 0 0 12px rgba(63,195,255,0);}100%{box-shadow:0 0 0 0 rgba(63,195,255,0);}}

  @media (prefers-reduced-motion: reduce) and (max-width: 0px){
    .map-badge .live{animation:none;}
  }
  @media (max-width:640px){
    .hero{padding:96px 0 88px; min-height:auto;}
    .hero-place{left:16px;}
  }

  @media (max-width:900px){
    nav.links, .correspondente-link{display:none;}
    .header-ctas .btn{padding:9px 14px; font-size:0.82rem;}
    .twocol, .twocol.reverse{flex-direction:column;}
    .list-grid{grid-template-columns:1fr;}
    .diff-grid{grid-template-columns:1fr 1fr;}
    .diff-item{border-right:none; border-bottom:1px solid var(--line);}
    .logos-row{grid-template-columns:1fr 1fr;}
    .form-row{flex-direction:column;}
  }
  @media (max-width:640px){
    section{padding:64px 0;}
    .diff-grid{grid-template-columns:1fr;}
    .stats .wrap{justify-content:flex-start;}
  }

  /* =========================================================
     Refinamento visual: tipografia, vidro, movimento
     ========================================================= */
  :root{
    --ease-out: cubic-bezier(.22,1,.36,1);      /* aproximação de mola criticamente amortecida */
    --glass-light: rgba(255,255,255,.72);
    --glass-dark: rgba(0,26,41,.55);
    --focus: 0 0 0 3px rgba(0,124,195,.35);
  }
  html{-webkit-text-size-adjust:100%;}
  body{font-optical-sizing:auto; letter-spacing:0; text-rendering:optimizeLegibility;}

  /* §15 Tipografia: tracking e leading por tamanho, nunca um valor fixo */
  h1{letter-spacing:-0.028em; line-height:1.06; text-wrap:balance;}
  h2{letter-spacing:-0.022em; line-height:1.12; text-wrap:balance;}
  h3{letter-spacing:-0.01em; line-height:1.3;}
  .hero h1{font-size:clamp(2.2rem, 4.2vw + 1rem, 4rem);}
  .twocol h2, .section-head h2{font-size:clamp(1.75rem, 2.4vw + 1rem, 2.6rem);}
  .lead, p{text-wrap:pretty;}
  .lead{line-height:1.6;}
  .kicker{letter-spacing:.01em;}
  .brand-tag{letter-spacing:.16em;}
  .stat .num{letter-spacing:-0.02em;}
  .stat .cap, .contact-item .label, .footer-col h4{letter-spacing:.01em;}

  /* §12 Materiais: header translúcido, conteúdo rola por baixo; borda vira "scroll edge" */
  header{background:var(--glass-light); -webkit-backdrop-filter:blur(20px) saturate(180%); backdrop-filter:blur(20px) saturate(180%);
         border-bottom:0; transition:box-shadow .3s var(--ease-out), background-color .3s var(--ease-out);}
  header.is-scrolled{box-shadow:0 1px 0 rgba(0,26,41,.06), 0 8px 24px -16px rgba(0,26,41,.25);}
  .map-badge{background:rgba(0,13,20,.45); -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
             padding:8px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.14); letter-spacing:.01em;}

  /* §1 Resposta: feedback no pointer-down, instantâneo */
  .btn, .pill, .region-tag, nav.links a, .footer-col a, .correspondente-link{transition:background-color .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out), transform .1s ease-out;}
  .btn:active, .pill:active{transform:scale(.97);}
  .btn{touch-action:manipulation; -webkit-tap-highlight-color:transparent;}

  /* Foco visível (craft + acessibilidade) */
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:none; box-shadow:var(--focus); border-radius:8px;}
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--blue); box-shadow:var(--focus); background:#fff;}
  .field input, .field select, .field textarea{transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), background-color .2s var(--ease-out); font-size:1rem;}

  /* §16 Feedback: validação inline, não no envio */
  .field input:user-invalid, .field textarea:user-invalid, .field select:user-invalid{border-color:#c2410c; box-shadow:0 0 0 3px rgba(194,65,12,.15);}
  .field .req{color:var(--blue); margin-left:2px;}

  /* Hero: controle de pausa (agência) */
  .hero-toggle{position:absolute; right:24px; bottom:18px; z-index:3; width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.1); -webkit-backdrop-filter:blur(12px) saturate(160%); backdrop-filter:blur(12px) saturate(160%); color:#fff;
    display:none; align-items:center; justify-content:center; cursor:pointer; transition:background-color .2s var(--ease-out), transform .1s ease-out;}
  .hero-toggle.is-ready{display:inline-flex;}
  .hero-toggle:hover{background:rgba(255,255,255,.2);}
  .hero-toggle:active{transform:scale(.94);}
  .hero-toggle svg{width:14px; height:14px;}
  .hero-toggle .i-play{display:none;}
  .hero-toggle[aria-pressed="true"] .i-play{display:block;}
  .hero-toggle[aria-pressed="true"] .i-pause{display:none;}

  /* Menu mobile: folha ancorada no botão que a abriu (§7), mesmo caminho na entrada e na saída */
  .menu-toggle{display:none; width:44px; height:44px; border-radius:12px; border:0; background:transparent; color:var(--navy); cursor:pointer; align-items:center; justify-content:center; transition:background-color .2s var(--ease-out), transform .1s ease-out;}
  .menu-toggle:active{transform:scale(.94); background:rgba(0,26,41,.06);}
  .menu-toggle .bar{display:block; width:20px; height:2px; border-radius:2px; background:currentColor; transition:transform .35s var(--ease-out), opacity .2s;}
  .menu-toggle .bar + .bar{margin-top:5px;}
  .menu-toggle[aria-expanded="true"] .bar:first-child{transform:translateY(3.5px) rotate(45deg);}
  .menu-toggle[aria-expanded="true"] .bar:last-child{transform:translateY(-3.5px) rotate(-45deg);}
  .menu-scrim{position:fixed; inset:0; z-index:48; background:rgba(0,13,20,.32); opacity:0; pointer-events:none; transition:opacity .3s var(--ease-out);}
  .menu-sheet{position:fixed; top:70px; right:12px; left:12px; z-index:49; border-radius:20px; padding:10px;
    background:rgba(255,255,255,.86); -webkit-backdrop-filter:blur(28px) saturate(180%); backdrop-filter:blur(28px) saturate(180%);
    border:1px solid rgba(255,255,255,.6); box-shadow:0 24px 60px -20px rgba(0,26,41,.45);
    transform-origin:top right; transform:scale(.94) translateY(-6px); opacity:0; filter:blur(4px); visibility:hidden;
    transition:transform .38s var(--ease-out), opacity .25s var(--ease-out), filter .3s var(--ease-out), visibility 0s linear .38s;}
  .menu-sheet a{display:block; padding:14px 16px; border-radius:12px; font-weight:600; font-size:1.05rem; color:var(--navy); letter-spacing:-0.005em;}
  .menu-sheet a:active{background:rgba(0,26,41,.06);}
  .menu-sheet .menu-cta{margin-top:6px; background:var(--navy); color:#fff; text-align:center;}
  body.menu-open .menu-scrim{opacity:1; pointer-events:auto;}
  body.menu-open .menu-sheet{transform:none; opacity:1; filter:none; visibility:visible; transition:transform .38s var(--ease-out), opacity .25s var(--ease-out), filter .3s var(--ease-out), visibility 0s;}

  /* Entrada das seções ao rolar: só opacidade + deslocamento curto, compositor-friendly (§11) */
  .js .reveal{opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); transition-delay:var(--d,0ms);}
  .js .reveal.in{opacity:1; transform:none;}

  @media (max-width:900px){
    .menu-toggle{display:inline-flex;}
    .header-ctas{gap:8px;}
  }
  @media (max-width:520px){
    .header-ctas .btn-primary{display:none;}
  }

  /* §14 Acessibilidade: três sinais independentes */
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){
    .js .reveal{opacity:1; transform:none; transition:none;}
    .menu-sheet, body.menu-open .menu-sheet{transform:none; filter:none; transition:opacity .2s ease, visibility 0s linear .2s;}
    body.menu-open .menu-sheet{transition:opacity .2s ease;}
    .btn:active, .pill:active{transform:none;}
    html{scroll-behavior:auto;}
  }
  @media (prefers-reduced-transparency: reduce){
    header{background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 1px 0 var(--line);}
    .menu-sheet{background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none;}
    .hero .pill, .hero-toggle, .map-badge{background:rgba(0,26,41,.85); -webkit-backdrop-filter:none; backdrop-filter:none;}
  }
  @media (prefers-contrast: more){
    header{background:#fff; box-shadow:0 1px 0 var(--navy);}
    .hero::after{background:rgba(0,13,20,.78);}
    .lead, .list-item p, .diff-item p{color:var(--ink-soft);}
    .hero .lead{color:#fff;}
    .field input, .field select, .field textarea{border-color:var(--ink-soft);}
  }

  /* Gutter do header (a regra .nav-row zerava o padding lateral do .wrap) */
  .wrap.nav-row{padding-left:28px; padding-right:28px; max-width:calc(var(--maxw) + 56px);}
  nav.links a, .correspondente-link, .header-ctas .btn{white-space:nowrap;}
  @media (max-width:1100px){ .nav-row{gap:30px;} nav.links{gap:22px;} .header-ctas{gap:16px;} }
  header.on-dark .mark path{fill:#fff;}
  @media (max-width:640px){ .wrap, .wrap.nav-row{padding-left:20px; padding-right:20px;} .hero-toggle{right:16px;} }

  /* Header adapta o material ao que está por baixo: vidro escuro sobre seções escuras (§12, vibrancy) */
  header.on-dark{background:rgba(0,16,26,.88);}
  header.on-dark.is-scrolled{box-shadow:0 1px 0 rgba(255,255,255,.06), 0 8px 24px -16px rgba(0,0,0,.6);}
  header.on-dark .brand-name, header.on-dark nav.links a, header.on-dark .correspondente-link, header.on-dark .menu-toggle{color:#fff;}
  header.on-dark nav.links a{font-weight:600;}
  header.on-dark .brand-tag{color:#a9c2d1;}
  header.on-dark .btn-primary{background:#fff; color:var(--navy);}
  header.on-dark .btn-primary:hover{background:#e8f2f9;}
  header.on-dark nav.links a:hover{color:#8fd3ff;}
  header .brand-name, header nav.links a, header .correspondente-link, header .brand-tag{transition:color .3s var(--ease-out);}
  header .btn-primary{transition:background-color .3s var(--ease-out), color .3s var(--ease-out), transform .1s ease-out;}
  @media (prefers-reduced-transparency: reduce){ header.on-dark{background:var(--navy);} }

  /* =========================================================
     Movimento e interação (tokens)
     ========================================================= */
  :root{
    --t-micro:150ms;   /* hover, cor, opacidade, fechar */
    --t-fast:250ms;    /* abrir menu, trocar ícone */
    --t-reveal:500ms;  /* revelar texto/seção */
    --stagger:40ms;
    --ease-smooth:cubic-bezier(0.22,1,0.36,1);  /* entradas */
    --ease-exit:cubic-bezier(0.55,0,1,0.45);    /* saídas: ganha velocidade antes de sair */
    --ease-icon:cubic-bezier(0.2,0,0,1);
    --press:0.96;
  }

  /* Logo */
  .brand{display:inline-flex; align-items:center; line-height:0; position:relative;}
  .logo img{height:44px; width:auto; display:block;}
  header .logo-on-dark{position:absolute; left:0; top:0; opacity:0;}
  header .logo{transition:opacity var(--t-micro) var(--ease-smooth);}
  header.on-dark .logo-on-light{opacity:0;}
  header.on-dark .logo-on-dark{opacity:1;}
  footer .logo img{height:44px;}
  @media (max-width:640px){ .logo img{height:34px;} }

  /* Timing consistente: toda troca de cor/fundo/borda = 150ms, só nas propriedades que mudam */
  .btn, .pill, .region-tag, nav.links a, .footer-col a, .correspondente-link, header .btn-primary,
  header .brand-name, header nav.links a, header .correspondente-link{
    transition-property:background-color, color, border-color, scale;
    transition-duration:var(--t-micro); transition-timing-function:var(--ease-smooth);}
  /* Pressionar: escala 0.96, sem exagero */
  .btn:active, .pill:active{transform:none; scale:var(--press);}
  .menu-toggle:active, .hero-toggle:active{transform:none; scale:var(--press);}
  .menu-toggle, .hero-toggle{transition-property:background-color, scale; transition-duration:var(--t-micro); transition-timing-function:var(--ease-smooth);}
  .field input, .field select, .field textarea{transition-property:border-color, box-shadow, background-color; transition-duration:var(--t-micro);}

  /* Sombras para elevação, bordas só para estrutura */
  .form-card{border:0; box-shadow:0 0 0 1px rgba(0,26,41,.06), 0 1px 2px rgba(0,26,41,.04), 0 8px 24px -8px rgba(0,26,41,.12);}
  .solicitar .form-card{box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 24px 60px -20px rgba(0,0,0,.55);}
  /* Contorno neutro em mídia */
  .map-media{outline:1px solid rgba(255,255,255,.1); outline-offset:-1px;}

  /* Menu: abre em 250ms (entrada ease-out), fecha em 150ms (saída ease-in), mesmo caminho */
  .menu-sheet{padding:8px; border-radius:20px;
    transform:scale(.97) translateY(-4px); filter:blur(2px);
    transition:transform var(--t-micro) var(--ease-exit), opacity var(--t-micro) var(--ease-exit), filter var(--t-micro) var(--ease-exit), visibility 0s linear var(--t-micro);}
  body.menu-open .menu-sheet{transition:transform var(--t-fast) var(--ease-smooth), opacity var(--t-fast) var(--ease-smooth), filter var(--t-fast) var(--ease-smooth), visibility 0s;}
  .menu-sheet a{border-radius:12px;}               /* concêntrico: 20 − 8 */
  .menu-scrim{transition:opacity var(--t-micro) var(--ease-exit);}
  body.menu-open .menu-scrim{transition:opacity var(--t-fast) var(--ease-smooth);}
  .menu-toggle .bar{transition:transform var(--t-fast) var(--ease-smooth);}

  /* Ícone pausa/play: cross-fade com escala e blur, os dois no DOM */
  .hero-toggle{position:absolute;}
  .hero-toggle svg{position:absolute; inset:0; margin:auto; display:block !important; transition:opacity var(--t-fast) var(--ease-icon), scale var(--t-fast) var(--ease-icon), filter var(--t-fast) var(--ease-icon);}
  .hero-toggle .i-play{opacity:0; scale:.25; filter:blur(4px); translate:1px 0;}   /* ajuste óptico do triângulo */
  .hero-toggle[aria-pressed="true"] .i-play{opacity:1; scale:1; filter:blur(0);}
  .hero-toggle[aria-pressed="true"] .i-pause{opacity:0; scale:.25; filter:blur(4px);}

  /* Entrada do hero (só no 1º carregamento): blocos em sequência de 100ms */
  .js .hero-in{opacity:0; translate:0 12px; filter:blur(3px); animation:heroIn var(--t-reveal) var(--ease-smooth) forwards; animation-delay:calc(120ms + var(--i) * 100ms);}
  @keyframes heroIn{to{opacity:1; translate:0 0; filter:blur(0);}}

  /* Seções ao rolar: 500ms, 12px, cascata de 40ms */
  .js .reveal{transform:none; translate:0 12px; transition:opacity var(--t-reveal) var(--ease-smooth), translate var(--t-reveal) var(--ease-smooth); transition-delay:var(--d,0ms);}
  .js .reveal.in{translate:0 0;}

  /* Hover da lista de serviços: feedback discreto, cor + marcador */
  .list-item .dot{transition:scale var(--t-micro) var(--ease-smooth), background-color var(--t-micro);}
  @media (hover:hover){ .list-item:hover .dot{scale:1.35;} .list-item:hover h3{color:var(--blue);} }
  .list-item h3{transition:color var(--t-micro) var(--ease-smooth);}
  /* Serviços: pontos pulsando como os nós do mapa */
  .list-item .dot{position:relative;}
  .list-item .dot::after{content:""; position:absolute; inset:0; border-radius:50%; border:1.5px solid var(--blue); opacity:0; animation:ping 2.8s var(--ease-smooth) infinite; animation-delay:var(--dl,0s); pointer-events:none;}
  .list-grid .list-item:nth-child(2) .dot{--dl:.4s} .list-grid .list-item:nth-child(3) .dot{--dl:.8s} .list-grid .list-item:nth-child(4) .dot{--dl:1.2s}
  .list-grid .list-item:nth-child(5) .dot{--dl:1.6s} .list-grid .list-item:nth-child(6) .dot{--dl:2s} .list-grid .list-item:nth-child(7) .dot{--dl:2.4s} .list-grid .list-item:nth-child(8) .dot{--dl:2.8s}
  .services-cta{text-align:center; margin-top:24px;}
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .list-item .dot::after{animation:none;} }

  @media (prefers-reduced-motion: reduce) and (max-width: 0px){
    .js .hero-in{animation:none; opacity:1; translate:none; filter:none;}
    .js .reveal{translate:none;}
    *, *::before, *::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
    .btn:active, .pill:active, .menu-toggle:active, .hero-toggle:active{scale:1;}
  }

  /* ================= Capitais, mapa interativo, cadastro ================= */
  /* Hero: troca de capital com mergulho no escuro */
  .hero-video{transition:opacity 450ms var(--ease-smooth);}
  .hero-video.is-switching{opacity:0; transition:opacity 350ms var(--ease-exit);}
  .hero-place{transition:opacity 250ms var(--ease-smooth);}
  .hero-place.is-switching{opacity:0;}

  /* Mapa interativo */
  .map-media{aspect-ratio:1/1; background:radial-gradient(ellipse at 50% 40%, #0b2b40 0%, #04141d 70%);}
  .map-media::before{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(143,211,255,.12) 1px, transparent 1px); background-size:18px 18px; pointer-events:none;}
  .br-map{position:absolute; left:6%; top:5%; width:88%; height:80%; overflow:visible;}
  .br-map .uf{fill:rgba(63,195,255,.16); stroke:rgba(143,211,255,.55); stroke-width:.8; vector-effect:non-scaling-stroke; cursor:pointer;
    transition:fill var(--t-micro) var(--ease-smooth), opacity var(--t-fast) var(--ease-smooth);}
  @media (hover:hover){ .br-map .uf:hover{fill:rgba(63,195,255,.34);} }
  .br-map.has-sel .uf{opacity:.28;}
  .br-map.has-sel .uf.sel{opacity:1; fill:rgba(63,195,255,.5); filter:drop-shadow(0 0 6px rgba(63,195,255,.55));}
  .map-credit{position:absolute; right:12px; bottom:10px; z-index:2; font-size:.62rem; color:rgba(255,255,255,.4);}
  .region-tag{cursor:pointer; font-family:inherit;}
  .region-tag[aria-pressed="true"]{background:var(--navy); border-color:var(--navy); color:#fff;}
  .map-info{margin-top:22px; min-height:96px;}
  .map-info-title{font-weight:700; color:var(--navy); font-size:1.05rem; letter-spacing:-.01em;}
  .map-info-text{color:var(--muted); font-size:.95rem; margin-top:4px;}
  .uf-list{display:flex; flex-wrap:wrap; gap:6px; margin-top:12px;}
  .uf-list span{font-size:.78rem; font-weight:700; letter-spacing:.04em; padding:4px 9px; border-radius:6px; background:var(--blue-tint); color:var(--navy);}
  .map-info > *{transition:opacity var(--t-micro) var(--ease-smooth), translate var(--t-micro) var(--ease-smooth);}
  .map-info.is-swapping > *{opacity:0; translate:0 4px;}

  /* Formulário de cadastro */
  .form-wide{max-width:860px; margin:0 auto; padding:40px;}
  .fs{border:0; padding:0; margin:0 0 30px; min-width:0;}
  .fs legend{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--navy); font-size:1rem; letter-spacing:-.01em; margin-bottom:16px; padding:0;}
  .fs-n{width:24px; height:24px; border-radius:50%; background:var(--navy); color:#fff; font-size:.75rem; display:inline-flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums;}
  .fs-sub{font-weight:500; color:var(--muted); font-size:.85rem;}
  .field-uf{flex:0 0 120px !important;}
  .field-num{flex:0 0 120px !important;}
  .field-cep{flex:0 0 180px !important;}
  .field-btn{flex:0 0 auto !important; display:flex; align-items:flex-end;}
  .field-btn .btn{padding:11px 18px;}
  .field-hint{display:block; font-size:.78rem; color:var(--muted); margin-top:6px;}
  .field-hint.is-error{color:#c2410c;}
  .chips{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 0; padding:0;}
  .chips li{display:inline-flex; align-items:center; gap:6px; padding:6px 6px 6px 12px; border-radius:999px; background:#fff; box-shadow:0 0 0 1px rgba(0,26,41,.1); color:var(--navy); font-size:.85rem; font-weight:600;
    animation:chipIn var(--t-fast) var(--ease-smooth);}
  @keyframes chipIn{from{opacity:0; scale:.9;}}
  .chips button{width:22px; height:22px; border-radius:50%; border:0; background:rgba(0,26,41,.08); color:var(--navy); cursor:pointer; font-size:14px; line-height:1; transition:background-color var(--t-micro);}
  .chips button:hover{background:rgba(0,26,41,.16);}
  .comarcas.is-invalid .cm-hint{color:#c2410c;}
  .check{display:flex; gap:10px; align-items:flex-start; font-size:.85rem; color:var(--ink-soft); margin:4px 0 20px; cursor:pointer;}
  .check input{margin-top:3px; width:16px; height:16px; accent-color:var(--navy); flex-shrink:0;}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .form-status{font-size:.88rem; margin-top:12px; min-height:1.2em; color:var(--muted);}
  .form-status.is-error{color:#c2410c;}
  .form-status a{text-decoration:underline;}
  .form-submit[aria-busy="true"]{opacity:.7; pointer-events:none;}
  .form-done{text-align:center; padding:28px 8px; outline:none;}
  .form-done svg{width:52px; height:52px; margin:0 auto 14px; color:#16a34a;}
  .form-done svg path{stroke-dasharray:30; stroke-dashoffset:30; animation:draw 500ms var(--ease-smooth) 150ms forwards;}
  @keyframes draw{to{stroke-dashoffset:0;}}
  .form-done p{font-weight:600; color:var(--navy);}
  a.value{color:var(--navy); font-weight:700;}
  a.value:hover{color:var(--blue);}

  /* Botão flutuante de WhatsApp: só aparece depois do topo */
  .wa-float{position:fixed; right:20px; bottom:20px; z-index:40; width:56px; height:56px; border-radius:50%; background:#1faa53; color:#fff;
    display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px -8px rgba(0,0,0,.45);
    opacity:0; translate:0 12px; pointer-events:none; transition:opacity var(--t-fast) var(--ease-smooth), translate var(--t-fast) var(--ease-smooth), scale var(--t-micro);}
  .wa-float.show{opacity:1; translate:0 0; pointer-events:auto;}
  .wa-float:active{scale:var(--press);}
  body.menu-open .wa-float{opacity:0; pointer-events:none;}

  @media (max-width:640px){
    .field-row{flex-direction:column; gap:0;}
    .field-uf, .field-num, .field-cep{flex:1 1 auto !important;}
    .form-wide{padding:24px 20px;}
  }

  /* ================= Ajustes ================= */
  .field .check-inline{display:flex; align-items:center; gap:8px; margin:8px 0 0; font-size:.82rem; font-weight:500; color:var(--ink-soft);}
  .field .check-inline input{width:16px; height:16px; padding:0; margin:0; flex-shrink:0;}
  .fs legend .req{margin-left:-6px;}
  .svcs-nota{margin:-4px 0 14px;}
  .svcs-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px;}
  .svc-item{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border:1px solid var(--line); border-radius:8px; background:#fbfbfc; transition:border-color var(--t-fast), background-color var(--t-fast);}
  .svc-item.is-on{border-color:var(--blue); background:#fff;}
  .svc-check{display:flex; align-items:center; gap:9px; min-width:0; font-size:.88rem; font-weight:500; color:var(--ink); cursor:pointer; margin:0;}
  .svc-check input{width:16px; height:16px; flex:0 0 auto; padding:0; margin:0; accent-color:var(--blue);}
  .svc-val{display:flex; align-items:center; gap:5px; flex:0 0 auto; opacity:.4; transition:opacity var(--t-fast);}
  .svc-item.is-on .svc-val{opacity:1;}
  .svc-rs{font-size:.78rem; font-weight:600; color:var(--muted);}
  .svc-val input{width:88px; padding:7px 9px; font-size:.88rem; text-align:right;}
  .svcs-conta{margin-top:12px;}
  .svcs.is-invalid .svcs-nota{color:#c2410c;}
  .svcs.is-invalid .svc-item{border-color:rgba(194,65,12,.45);}
  @media (max-width:760px){ .svcs-list{grid-template-columns:1fr;} .svc-val input{width:96px;} }
  .opts{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:8px;}
  .opt{display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:10px; background:#fbfbfc; box-shadow:0 0 0 1px var(--line); cursor:pointer; font-size:.9rem; color:var(--ink);
    transition:box-shadow var(--t-micro) var(--ease-smooth), background-color var(--t-micro) var(--ease-smooth);}
  .opt input{width:16px; height:16px; accent-color:var(--navy); flex-shrink:0;}
  .opt:has(input:checked){background:var(--blue-tint); box-shadow:0 0 0 1.5px var(--blue);}
  .opt:has(input:focus-visible){box-shadow:var(--focus);}

  .origin-card{background:linear-gradient(160deg, var(--navy) 0%, #00324d 100%); color:#fff; border-radius:16px; padding:36px; min-height:420px; display:flex; flex-direction:column; justify-content:flex-end;
    box-shadow:0 24px 60px -24px rgba(0,26,41,.45); position:relative; overflow:hidden;}
  .origin-card img{width:56px; height:auto; margin-bottom:auto; padding-bottom:32px; filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));}
  .origin-kicker{font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#8fd3ff;}
  .origin-big{font-size:1.6rem; font-weight:800; line-height:1.15; letter-spacing:-.02em; margin:10px 0 22px; text-wrap:balance;}
  .origin-steps{list-style:none; margin:0; padding:0; display:grid; gap:12px;}
  .origin-steps li{font-size:.92rem; color:#c9dae4; padding-left:14px; border-left:2px solid rgba(143,211,255,.35);}
  .origin-steps span{display:block; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:2px;}

  .who-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px;}
  .who{background:#fff; border-radius:14px; padding:28px; box-shadow:0 0 0 1px rgba(0,26,41,.06), 0 8px 24px -12px rgba(0,26,41,.12);}
  .who h3{font-size:1.05rem; margin-bottom:8px;}
  .who p{font-size:.92rem; color:var(--muted); line-height:1.55;}
  .proof{max-width:760px; margin:0 auto; text-align:center; padding:8px 20px;}
  .proof blockquote{font-size:clamp(1.15rem, 1vw + 1rem, 1.45rem); font-weight:700; color:var(--navy); letter-spacing:-.015em; line-height:1.35; text-wrap:balance;}
  .proof figcaption{margin-top:12px; font-size:.88rem; color:var(--muted);}
  .stat .num{font-variant-numeric:tabular-nums;}
  @media (max-width:900px){ .who-grid{grid-template-columns:1fr;} .origin-card{min-height:340px;} }

  /* Foto da fundadora */
  .founder{position:relative; margin:0; border-radius:16px; overflow:hidden; aspect-ratio:4/5; max-width:440px; margin-left:auto;
    box-shadow:0 24px 60px -24px rgba(0,26,41,.45); background:#6b5647;}
  .founder img{width:100%; height:100%; object-fit:cover; display:block; outline:1px solid rgba(0,0,0,.1); outline-offset:-1px;}
  .founder figcaption{position:absolute; left:16px; right:16px; bottom:16px; padding:12px 16px; border-radius:12px; color:#fff;
    background:rgba(0,16,26,.5); -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%); border:1px solid rgba(255,255,255,.14);}
  .founder figcaption strong{display:block; font-size:1rem; letter-spacing:-.01em;}
  .founder figcaption span{display:block; font-size:.8rem; color:#c9dae4; margin-top:2px;}
  @media (max-width:900px){ .founder{margin:0 auto;} }
  @media (prefers-reduced-transparency: reduce){ .founder figcaption{background:var(--navy); -webkit-backdrop-filter:none; backdrop-filter:none;} }

  /* ===== Onde atuamos: vídeo do mapa ao fundo da seção ===== */
  .sec-video{position:relative; overflow:hidden; background:#020e16; isolation:isolate;}
  .sec-video > .wrap{position:relative; z-index:1;}
  .sec-bg{position:absolute; inset:0; z-index:0; pointer-events:none;}
  .sec-bg video{position:absolute; top:50%; left:32%; height:118%; width:auto; min-width:0; transform:translate(-50%,-50%); opacity:.5;}
  .sec-bg::after{content:""; position:absolute; inset:0;
    background:
      linear-gradient(90deg, rgba(2,14,22,.15) 0%, rgba(2,14,22,.35) 40%, rgba(2,14,22,.88) 62%, #020e16 80%),
      linear-gradient(180deg, #020e16 0%, rgba(2,14,22,0) 14%, rgba(2,14,22,0) 86%, #020e16 100%);}
  /* O mapa interativo flutua sobre o vídeo, sem cartão */
  .sec-video .map-media{background:transparent; box-shadow:none; outline:none;}
  .sec-video .map-media::before, .sec-video .map-media::after{display:none;}
  .sec-video .br-map .uf{fill:rgba(63,195,255,.08); stroke:rgba(143,211,255,.5);}
  @media (hover:hover){ .sec-video .br-map .uf:hover{fill:rgba(63,195,255,.26);} }
  .sec-video .br-map.has-sel .uf{opacity:.25;}
  .sec-video .br-map.has-sel .uf.sel{opacity:1; fill:rgba(63,195,255,.42);}
  .sec-video .map-credit{color:rgba(255,255,255,.35);}
  /* Texto claro sobre o escuro */
  .sec-video h2{color:#fff;}
  .sec-video .kicker{color:#8fd3ff;}
  .sec-video .lead{color:#a9c2d1;}
  .sec-video .region-tag{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); color:#fff;
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
  .sec-video .region-tag:hover{border-color:rgba(255,255,255,.4);}
  .sec-video .region-tag[aria-pressed="true"]{background:#fff; border-color:#fff; color:var(--navy);}
  .sec-video .map-info-title{color:#fff;}
  .sec-video .map-info-text{color:#a9c2d1;}
  .sec-video .uf-list span{background:rgba(143,211,255,.14); color:#fff;}
  @media (max-width:900px){
    .sec-bg video{left:50%; height:100%; opacity:.4;}
    .sec-bg::after{background:rgba(2,14,22,.55);}
  }
  @media (prefers-reduced-transparency: reduce){ .sec-video .region-tag{background:#0b2233; -webkit-backdrop-filter:none; backdrop-filter:none;} }

  /* ===== Mapa animado próprio (alinhado por construção) ===== */
  .sec-bg video{filter:blur(2.5px) brightness(.55) saturate(1.25); opacity:.75;}
  .br-map .net{pointer-events:none;}
  .br-map .arc{fill:none; stroke:rgba(143,211,255,.38); stroke-width:1; vector-effect:non-scaling-stroke; stroke-dasharray:3 7; animation:flow 2.4s linear infinite;
    transition:stroke var(--t-fast) var(--ease-smooth), opacity var(--t-fast) var(--ease-smooth);}
  @keyframes flow{to{stroke-dashoffset:-20;}}
  .br-map .node{fill:#8fd3ff;}
  .br-map .ring{fill:none; stroke:#8fd3ff; stroke-width:1; vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:center; animation:ping 2.8s var(--ease-smooth) infinite; animation-delay:var(--dl,0s); opacity:0;}
  @keyframes ping{0%{transform:scale(.6); opacity:.9;} 100%{transform:scale(3.2); opacity:0;}}
  .br-map .hub .node{fill:#fff;}
  .br-map .hub .ring{stroke:#fff;}
  .br-map.has-sel .arc{opacity:.12;}
  .br-map.has-sel .arc.hot{opacity:1; stroke:rgba(143,211,255,.95);}
  .br-map.has-sel .pt{opacity:.25; transition:opacity var(--t-fast);}
  .br-map.has-sel .pt.hot, .br-map.has-sel .hub{opacity:1;}
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .br-map .arc, .br-map .ring{animation:none;} }

  /* Assinatura manuscrita */
  @font-face{font-family:'Mrs Saint Delafield'; font-style:normal; font-weight:400; font-display:swap; src:url(assets/fonts/mrs-saint-delafield-latin-400-normal.woff2) format('woff2');}
  .signature{margin-top:26px;}
  .sig{display:block; width:fit-content; margin-left:6px; font-family:'Mrs Saint Delafield', 'Brush Script MT', cursive; font-size:clamp(3rem, 2.4vw + 2rem, 4.2rem); line-height:1; color:var(--navy);
    transform:rotate(-5deg); transform-origin:left bottom; padding:0 .3em 0 .05em; margin-bottom:-4px; letter-spacing:0;}
  .sig-name{margin-top:10px; padding-top:10px; border-top:1px solid var(--line); display:inline-flex; flex-direction:column; gap:2px; min-width:240px;}
  .sig-name strong{color:var(--navy); font-size:.98rem; letter-spacing:-.01em;}
  .sig-name span{color:var(--muted); font-size:.84rem;}
  /* a assinatura "é escrita" quando aparece */
  .js .signature .sig{clip-path:inset(-20% 100% -20% 0);}
  .js .signature.in .sig{clip-path:inset(-20% -5% -20% 0); transition:clip-path 1.4s cubic-bezier(.65,0,.35,1) .25s;}
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .js .signature .sig{clip-path:none; transition:none;} }

  /* Assinatura desenhada sobre a foto */
  .founder::after{content:""; position:absolute; inset:auto 0 0 0; height:45%; background:linear-gradient(180deg, transparent, rgba(10,6,4,.55)); pointer-events:none;}
  .founder figcaption.autograph{position:absolute; left:14%; right:14%; bottom:4%; text-align:center; z-index:1; color:#fff; pointer-events:none; padding:0; border:0; border-radius:0; background:none; -webkit-backdrop-filter:none; backdrop-filter:none;}
  .autograph svg{width:100%; height:auto; display:block; margin:0 auto; transform:rotate(-5deg) skewX(-8deg); filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)); overflow:visible;}
  .autograph path{stroke-width:2.4; vector-effect:non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:0;}
  .autograph-name{display:block; margin:4px 0 0; text-align:center; font-size:.64rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.85); text-shadow:0 1px 8px rgba(0,0,0,.4);}
  .js .founder .autograph path{stroke-dashoffset:1;}
  .js .founder.in .autograph path{stroke-dashoffset:0; transition:stroke-dashoffset 900ms cubic-bezier(.65,0,.35,1);}
  .js .founder.in .autograph path:nth-child(1){transition-delay:.35s;}
  .js .founder.in .autograph path:nth-child(2){transition-delay:1.15s; transition-duration:1100ms;}
  .js .founder.in .autograph path:nth-child(3){transition-delay:2.1s; transition-duration:600ms;}
  .js .founder .autograph-name{opacity:0; transition:opacity 400ms var(--ease-smooth) 2.5s;}
  .js .founder.in .autograph-name{opacity:1;}
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .js .founder .autograph path{stroke-dashoffset:0; transition:none;} .js .founder .autograph-name{opacity:1; transition:none;} }

  /* ===== Comarcas: diálogo único alimentado pelo banco de localidades ===== */
  .cm-pick{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:10px;}
  .cm-pick .field-hint{margin:0; flex:1 1 240px;}
  .uf-chip{font:inherit; font-size:.78rem; font-weight:700; letter-spacing:.04em; padding:5px 10px; border-radius:6px; border:0; cursor:pointer;
    background:rgba(143,211,255,.14); color:#fff; transition:background-color var(--t-micro) var(--ease-smooth), scale var(--t-micro);}
  .uf-chip:hover{background:rgba(143,211,255,.3);}
  .uf-chip:active{scale:var(--press);}
  .br-map .uf{cursor:pointer;}

  .cm-dialog{margin:auto; border:0; padding:0; border-radius:20px; width:min(560px, calc(100vw - 24px)); max-height:min(760px, calc(100dvh - 32px)); color:var(--ink); background:#fff;
    box-shadow:0 30px 80px -20px rgba(0,13,20,.55);}
  .cm-dialog[open]{animation:dlgIn var(--t-fast) var(--ease-smooth);}
  .cm-dialog::backdrop{background:rgba(0,13,20,.45); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);}
  @keyframes dlgIn{from{opacity:0; scale:.96; translate:0 6px;}}
  .cmd-inner{display:flex; flex-direction:column; max-height:inherit;}
  .cmd-head{display:flex; justify-content:space-between; align-items:flex-start; padding:22px 24px 8px;}
  .cmd-kicker{font-size:.75rem; font-weight:600; color:var(--blue); letter-spacing:.02em;}
  .cmd-head h3{font-size:1.35rem; color:var(--navy); letter-spacing:-.02em; margin-top:2px;}
  .cmd-close{width:36px; height:36px; border-radius:50%; border:0; background:rgba(0,26,41,.06); color:var(--navy); font-size:22px; line-height:1; cursor:pointer; transition:background-color var(--t-micro), scale var(--t-micro);}
  .cmd-close:hover{background:rgba(0,26,41,.12);}
  .cmd-close:active{scale:var(--press);}
  .cmd-tools{display:flex; gap:8px; padding:8px 24px 12px;}
  .cmd-tools select, .cmd-tools input{font:inherit; font-size:.95rem; padding:10px 12px; border-radius:10px; border:0; box-shadow:0 0 0 1px var(--line); background:#fbfbfc; color:var(--ink);}
  .cmd-tools select{flex:0 0 150px;}
  .cmd-tools input{flex:1; min-width:0;}
  .cmd-tools select:focus, .cmd-tools input:focus{outline:none; box-shadow:var(--focus);}
  .cmd-list{list-style:none; margin:0; padding:4px 12px; overflow:auto; flex:1; min-height:200px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .cmd-row{display:grid; grid-template-columns:18px 1fr auto; align-items:center; gap:12px; padding:11px 12px; border-radius:10px; cursor:pointer; transition:background-color var(--t-micro);}
  .cmd-row:hover{background:var(--offwhite);}
  .cmd-row.on{background:var(--blue-tint);}
  .cmd-row input{width:16px; height:16px; accent-color:var(--navy); margin:0;}
  .cmd-row:has(input:disabled){opacity:.45; cursor:not-allowed;}
  .cmd-city{font-weight:600; color:var(--navy); font-size:.95rem;}
  .cmd-cm{font-size:.78rem; color:var(--muted); text-align:right;}
  .cmd-cm.sede{color:var(--blue); font-weight:600;}
  .cmd-empty{padding:28px 12px; text-align:center; color:var(--muted); font-size:.9rem;}
  .cmd-foot{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 24px;}
  .cmd-count{font-size:.88rem; color:var(--muted);}
  .cmd-count strong{color:var(--navy); font-variant-numeric:tabular-nums;}
  .cmd-src{font-size:.68rem; color:var(--muted); padding:0 24px 16px; line-height:1.4;}
  @media (max-width:520px){ .cmd-tools{flex-direction:column;} .cmd-tools select{flex:auto;} .cmd-foot{flex-direction:column; align-items:stretch;} .cmd-cm{grid-column:2 / -1; text-align:left;} .cmd-row{grid-template-columns:18px 1fr;} }
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .cm-dialog[open]{animation:none;} }

  /* ===== Contato: lista editorial + mapa com rotas saindo de Cordeiro ===== */
  .sec-contato{position:relative; overflow:hidden; isolation:isolate; padding-block:clamp(80px,10vw,136px); background:linear-gradient(180deg,#fff 0%, var(--offwhite) 100%);}
  .ct-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(24px,5vw,72px); align-items:center;}
  .ct-copy .kicker{margin-bottom:12px;}
  .ct-copy h2{font-size:clamp(1.9rem, 2.6vw + .6rem, 2.9rem); line-height:1.04; letter-spacing:-.03em; color:var(--navy); text-wrap:initial;}
  .ct-copy h2 .nw{color:var(--blue);}
  .ct-copy .lead{margin-top:16px; color:var(--muted); max-width:34ch;}
  .ct-list{list-style:none; margin:40px 0 0; padding:0; border-top:1px solid var(--line);}
  .ct-list li{border-bottom:1px solid var(--line); opacity:0; translate:0 14px; transition:opacity var(--t-reveal) var(--ease-smooth), translate var(--t-reveal) var(--ease-smooth); transition-delay:calc(var(--i) * 70ms + 120ms);}
  .ct-list.in li{opacity:1; translate:0 0;}
  .ct-row{position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:18px; padding:20px 14px 20px 4px; text-decoration:none; color:inherit; isolation:isolate; border-radius:14px;}
  .ct-row::before{content:""; position:absolute; inset:4px -8px; z-index:-1; border-radius:14px; background:var(--blue-tint); transform:scaleX(0); transform-origin:left center; transition:transform 420ms var(--ease-smooth);}
  .ct-hit{position:absolute; inset:0; z-index:1; border-radius:14px;}
  .ct-ic{display:grid; place-items:center; width:44px; height:44px; border-radius:12px; color:var(--blue); background:rgba(0,124,195,.08); transition:background-color var(--t-fast), color var(--t-fast), rotate var(--t-fast) var(--ease-smooth);}
  .ct-ic svg{width:22px; height:22px;}
  .ct-txt{display:flex; flex-direction:column; gap:2px; min-width:0;}
  .ct-lb{font-size:.78rem; color:var(--muted); letter-spacing:.01em;}
  .ct-val{font-weight:700; color:var(--navy); font-size:clamp(1.15rem, 1.1vw + .8rem, 1.6rem); letter-spacing:-.02em; line-height:1.2; transition:color var(--t-fast), translate 420ms var(--ease-smooth);}
  .ct-go{position:relative; z-index:2; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:0; padding:0; font:inherit; cursor:pointer; color:var(--navy); background:transparent; box-shadow:inset 0 0 0 1px var(--line); transition:background-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast), scale var(--t-micro);}
  .ct-go svg{width:18px; height:18px; transition:rotate 420ms var(--ease-smooth);}
  .ct-row:focus-visible, .ct-hit:focus-visible, .ct-go:focus-visible{outline:none; box-shadow:var(--focus);}
  @media (hover:hover){
    .ct-row:not(.is-static):hover::before{transform:scaleX(1);}
    .ct-row:not(.is-static):hover .ct-val{color:var(--blue); translate:6px 0;}
    .ct-row:not(.is-static):hover .ct-ic{background:var(--blue); color:#fff; rotate:-6deg;}
    .ct-row:not(.is-static):hover .ct-go{background:var(--navy); color:#fff; box-shadow:none;}
    a.ct-row:hover .ct-go svg{rotate:45deg;}
  }
  a.ct-row:active, .ct-go:active{scale:var(--press);}
  .ct-copy-btn .i-ok{display:none; color:#fff;}
  .ct-copy-btn.done{background:#1f9d55 !important; color:#fff; box-shadow:none;}
  .ct-copy-btn.done .i-cp{display:none;} .ct-copy-btn.done .i-ok{display:block;}
  .ct-copy-btn.done .i-ok svg{animation:ctPop 360ms var(--ease-smooth);}
  @keyframes ctPop{from{scale:.4; opacity:0;}}
  .ct-tip{position:absolute; right:0; bottom:calc(100% + 8px); white-space:nowrap; font-size:.72rem; font-weight:600; padding:5px 9px; border-radius:8px; background:var(--navy); color:#fff; opacity:0; translate:0 4px; pointer-events:none; transition:opacity var(--t-fast), translate var(--t-fast) var(--ease-smooth);}
  .ct-copy-btn.done .ct-tip, .ct-copy-btn:hover .ct-tip:not(:empty){opacity:1; translate:0 0;}
  .ct-visual{position:relative; aspect-ratio:613/639; width:100%; max-width:600px; justify-self:end;}
  .ct-map{position:absolute; inset:0; width:100%; height:100%; overflow:visible;}
  .ct-pin{position:absolute; left:var(--px,70%); top:var(--py,70%); translate:14px -50%; display:inline-flex; align-items:center; gap:6px; font-size:.74rem; font-weight:700; color:var(--navy); padding:5px 10px 5px 8px; border-radius:999px; background:rgba(255,255,255,.8); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:0 0 0 1px rgba(0,26,41,.08), 0 6px 18px -8px rgba(0,26,41,.35); white-space:nowrap;}
  .ct-pin i{width:6px; height:6px; border-radius:50%; background:var(--blue);}
  .ct-map .uf{fill:rgba(0,124,195,.05); stroke:rgba(0,124,195,.26); stroke-width:.8; vector-effect:non-scaling-stroke;}
  .ct-map .ct-arc{fill:none; stroke:var(--blue); stroke-width:1.3; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; opacity:.55;
    animation:ctDraw 7s var(--ease-smooth) infinite; animation-delay:var(--dl,0s);}
  @keyframes ctDraw{0%{stroke-dashoffset:1; opacity:0;} 8%{opacity:.65;} 40%{stroke-dashoffset:0; opacity:.65;} 78%{stroke-dashoffset:0; opacity:.3;} 100%{stroke-dashoffset:0; opacity:0;}}
  .ct-map .ct-pt{fill:var(--blue); opacity:0; animation:ctPt 7s var(--ease-smooth) infinite; animation-delay:var(--dl,0s); transform-box:fill-box; transform-origin:center;}
  @keyframes ctPt{0%,34%{opacity:0; scale:.2;} 42%{opacity:.9; scale:1.5;} 50%,78%{opacity:.75; scale:1;} 100%{opacity:0; scale:1;}}
  .ct-map .ct-hub{fill:var(--navy);}
  .ct-map .ct-ring{fill:none; stroke:var(--blue); stroke-width:1.2; vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:center; animation:ping 3.2s var(--ease-smooth) infinite;}
  .ct-map .ct-ring.r2{animation-delay:1.6s;}
  @media (max-width:900px){
    .ct-grid{grid-template-columns:1fr;}
    .ct-visual{order:-1; max-width:360px; justify-self:center; margin-bottom:-24px;}
  }
  @media (max-width:520px){ .ct-copy h2 .nw{white-space:normal;} .ct-row{grid-template-columns:40px minmax(0,1fr) 40px; gap:14px;} .ct-ic, .ct-go{width:40px; height:40px;} .ct-visual{max-width:280px;} }
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .ct-list li{opacity:1; translate:none; transition:none;} .ct-map .ct-arc{animation:none; stroke-dashoffset:0; opacity:.45;} .ct-map .ct-pt{animation:none; opacity:.6;} .ct-map .ct-ring{animation:none;} .ct-row::before{transition:none;} }

  /* Quem somos sem foto: mosaico de cidades atendidas */
  .mosaic{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:480px; margin-inline:auto;}
  .mo-t{position:relative; margin:0; border-radius:18px; overflow:hidden; aspect-ratio:1; box-shadow:0 18px 40px -24px rgba(0,26,41,.55);}
  .mo-t.t2, .mo-t.t4{translate:0 28px;}
  .mo-t img{width:100%; height:100%; object-fit:cover; display:block; scale:1.04; transition:scale 900ms var(--ease-smooth);}
  @media (hover:hover){ .mo-t:hover img{scale:1.1;} }
  .mo-t figcaption{position:absolute; left:10px; bottom:10px; font-size:.72rem; font-weight:700; color:#fff; padding:4px 9px; border-radius:999px; background:rgba(0,13,20,.45); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
  .mo-chip{position:absolute; left:50%; top:50%; translate:-50% -30%; display:flex; flex-direction:column; align-items:center; text-align:center; gap:2px; padding:16px 24px; border-radius:18px; min-width:240px;
    background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3); box-shadow:0 0 0 1px rgba(0,26,41,.06), 0 20px 40px -18px rgba(0,26,41,.5);}
  .mo-t.t2 figcaption{top:10px; bottom:auto;}
  .mo-chip strong{font-size:clamp(1.8rem, 2vw + 1rem, 2.4rem); line-height:1; letter-spacing:-.03em; color:var(--navy);}
  .mo-chip span{font-size:.8rem; color:var(--muted); max-width:24ch;}
  @media (max-width:520px){ .mosaic{gap:8px;} .mo-t.t2, .mo-t.t4{translate:0 16px;} }
  .om-cta{margin-top:28px;}
  .proof-cta{text-align:center; margin-top:28px;}
  /* Depoimentos de clientes e advogados (esteira contínua, pausa no hover) */
  .vozes{margin-top:64px;}
  .vozes-cap{text-align:center; color:var(--muted); font-size:.9rem; margin-bottom:24px;}
  .vozes-view{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);}
  .vozes-track{list-style:none; display:flex; width:max-content; gap:20px; margin:0; padding:10px 0; animation:vozesRun 72s linear infinite;}
  .vozes-view:hover .vozes-track, .vozes-view:focus-within .vozes-track{animation-play-state:paused;}
  @keyframes vozesRun{to{transform:translateX(calc(-50% - 10px));}}
  .vz{flex:0 0 340px; background:#fff; border-radius:14px; padding:26px; display:flex; flex-direction:column; box-shadow:0 0 0 1px rgba(0,26,41,.06), 0 8px 24px -12px rgba(0,26,41,.12); transition:box-shadow var(--t-fast) var(--ease-smooth), transform var(--t-fast) var(--ease-smooth);}
  @media (hover:hover){ .vz:hover{transform:translateY(-2px); box-shadow:0 0 0 1px rgba(0,124,195,.25), 0 16px 34px -16px rgba(0,26,41,.28);} }
  .vz-aspas{display:block; width:22px; height:2px; background:var(--blue); border-radius:2px; margin-bottom:16px;}
  .vz blockquote{margin:0; flex:1;}
  .vz blockquote p{font-size:.92rem; line-height:1.6; color:var(--ink); margin:0;}
  .vz figcaption{margin-top:18px; padding-top:14px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:3px;}
  .vz-nome{font-weight:700; color:var(--navy); font-size:.9rem;}
  .vz-papel{font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);}
  @media (max-width:640px){ .vozes{margin-top:48px;} .vozes-track{gap:14px; animation-duration:58s;} @keyframes vozesRun{to{transform:translateX(calc(-50% - 7px));}} .vz{flex-basis:290px; padding:22px;} }
  /* Isotipos dos diferenciais: gramática da marca (anel azul + forma escura + ponto) */
  .iso-wrap{display:grid; place-items:center; width:64px; height:64px; margin-bottom:18px; border-radius:18px; background:#fff; box-shadow:0 0 0 1px rgba(0,26,41,.06), 0 12px 28px -18px rgba(0,26,41,.45); transition:translate var(--t-fast) var(--ease-smooth), box-shadow var(--t-fast);}
  .iso{width:42px; height:42px; overflow:visible;}
  .iso-ring{transform-box:fill-box; transform-origin:center; transition:rotate 700ms var(--ease-smooth);}
  .iso-dot{transform-box:fill-box; transform-origin:center; transition:scale 400ms var(--ease-smooth);}
  .iso-hand{transform-box:view-box; transform-origin:24px 24px; transition:rotate 700ms var(--ease-smooth);}
  @media (hover:hover){
    .diff-item:hover .iso-wrap{translate:0 -3px; box-shadow:0 0 0 1px rgba(0,124,195,.2), 0 16px 30px -16px rgba(0,26,41,.5);}
    .diff-item:hover .iso-ring{rotate:60deg;}
    .diff-item:hover .iso-dot{scale:1.25;}
    .diff-item:hover .iso-hand{rotate:360deg;}
  }
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .iso-ring, .iso-dot, .iso-hand, .iso-wrap{transition:none;} }

  /* Quem atendemos: cartões vivos */
  .who{position:relative; display:flex; flex-direction:column; text-decoration:none; color:inherit; overflow:hidden; isolation:isolate; padding:30px 28px 26px;
    transition:opacity .7s var(--ease-smooth), translate var(--t-reveal) var(--ease-smooth), box-shadow var(--t-fast) var(--ease-smooth), scale var(--t-micro);}
  .who::before{content:""; position:absolute; inset:0; z-index:-1; opacity:0; transition:opacity var(--t-fast);
    background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), rgba(0,124,195,.13), transparent 60%);}
  .who::after{content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,#5cc0f2,#0a64a8); transform:scaleX(0); transform-origin:left; transition:transform 520ms var(--ease-smooth);}
  .js .who.reveal.in{transition-delay:var(--d,0ms), var(--d,0ms), 0ms, 0ms;}
  .js .who.reveal.in.done{transition-delay:0ms;}
  .who-n{font-size:.78rem; font-weight:700; letter-spacing:.08em; color:#b3c2cc; margin-bottom:18px; font-variant-numeric:tabular-nums; transition:color var(--t-fast);}
  .who h3{transition:color var(--t-fast);}
  .who p{flex:1;}
  .who-go{display:inline-flex; align-items:center; gap:6px; margin-top:18px; font-size:.85rem; font-weight:700; color:var(--blue); opacity:0; translate:-8px 0; transition:opacity var(--t-fast), translate var(--t-fast) var(--ease-smooth);}
  .who-go svg{width:16px; height:16px; transition:translate var(--t-fast) var(--ease-smooth);}
  .who-live{position:absolute; top:26px; right:24px; display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:700; color:#c2410c; background:#fff3ea; padding:4px 9px; border-radius:999px;}
  .who-live i{width:6px; height:6px; border-radius:50%; background:#f97316; box-shadow:0 0 0 0 rgba(249,115,22,.55); animation:whoPulse 1.6s ease-out infinite;}
  @keyframes whoPulse{to{box-shadow:0 0 0 7px rgba(249,115,22,0);}}
  .js .who.reveal.in:hover, .who:focus-visible{translate:0 -6px;}
  @media (hover:hover){
    .who:hover{box-shadow:0 0 0 1px rgba(0,124,195,.22), 0 24px 48px -24px rgba(0,26,41,.45);}
    .who:hover::before{opacity:1;}
    .who:hover::after{transform:scaleX(1);}
    .who:hover .who-n{color:var(--blue);}
    .who:hover .who-go{opacity:1; translate:0 0;}
    .who:hover .who-go svg{translate:3px 0;}
  }
  .who:active{scale:.985;}
  .who:focus-visible{outline:none; box-shadow:var(--focus);}
  .proof .count{color:var(--blue); font-variant-numeric:tabular-nums; display:inline-block; min-width:2ch;}
  @media (hover:none){ .who-go{opacity:1; translate:0 0;} }
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .who-live i{animation:none;} .who::after, .who-go, .who{transition:none;} }

  /* ===== Trabalhe conosco: rede da equipe crescendo ===== */
  .sec-trab{position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%, var(--offwhite) 100%); padding-block:clamp(80px,10vw,128px);}
  .tb-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:clamp(28px,5vw,72px); align-items:center;}
  .tb-copy h2{font-size:clamp(1.9rem, 2.6vw + .6rem, 2.9rem); line-height:1.05; letter-spacing:-.03em; color:var(--navy);}
  .tb-copy .lead{margin-top:14px; color:var(--muted); max-width:40ch;}
  .tb-visual{position:relative; margin-top:18px; max-width:540px;}
  .tb-net{display:block; width:100%; height:auto; overflow:visible;}
  .tb-net .orb{fill:none; stroke:rgba(0,124,195,.18); stroke-width:1; stroke-dasharray:3 6; vector-effect:non-scaling-stroke; transform-box:view-box; transform-origin:260px 190px;}
  .tb-net .orb.o1{animation:tbSpin 60s linear infinite;}
  .tb-net .orb.o2{animation:tbSpin 90s linear infinite reverse;}
  @keyframes tbSpin{to{rotate:360deg;}}
  .tb-net .ln{fill:none; stroke:url(#tb-line); stroke-width:1.4; stroke-linecap:round; vector-effect:non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 900ms var(--ease-smooth), opacity 600ms;}
  .tb-net .nd{opacity:0; transform-box:fill-box; transform-origin:center; scale:.3; transition:opacity 420ms var(--ease-smooth), scale 520ms cubic-bezier(.34,1.56,.64,1);}
  .tb-net .on .ln{stroke-dashoffset:0;}
  .tb-net .on .nd{opacity:1; scale:1;}
  .tb-net .out .ln, .tb-net .out .nd{opacity:0;}
  .tb-net .nd-bg{fill:#fff; filter:drop-shadow(0 6px 10px rgba(0,26,41,.16));}
  .tb-net .hub-ring{fill:none; stroke:url(#mj-blue); stroke-width:5; stroke-linecap:round; stroke-dasharray:118 30; transform-box:fill-box; transform-origin:center; animation:tbSpin 14s linear infinite;}
  .tb-net .hub-pulse{fill:none; stroke:var(--blue); stroke-width:1.2; vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:center; animation:ping 3s var(--ease-smooth) infinite;}
  .tb-toast{position:absolute; left:50%; top:6%; translate:-50% 8px; display:inline-flex; align-items:center; gap:6px; font-size:.78rem; color:var(--navy); padding:6px 12px 6px 9px; border-radius:999px;
    background:rgba(255,255,255,.85); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 0 0 1px rgba(0,26,41,.07), 0 10px 24px -14px rgba(0,26,41,.45); opacity:0; transition:opacity 300ms, translate 400ms var(--ease-smooth); pointer-events:none;}
  .tb-toast b{color:var(--blue);}
  .tb-toast i{width:7px; height:7px; border-radius:50%; background:#22c55e;}
  .tb-toast.show{opacity:1; translate:-50% 0;}
  .tb-form{max-width:none; margin:0;}
  /* anexo */
  .flabel{display:block; font-size:.82rem; font-weight:600; color:var(--navy); margin-bottom:8px;}
  .field .drop{margin:0; font-weight:400;}
  .field label.drop, .drop{position:relative; display:flex; align-items:center; gap:14px; padding:16px; border-radius:14px; cursor:pointer; background:#fbfbfc; border:1.5px dashed rgba(0,124,195,.35); transition:background-color var(--t-fast), border-color var(--t-fast), scale var(--t-micro);}
  .drop input{position:absolute; inset:0; opacity:0; cursor:pointer; width:100%;}
  .drop-ic{display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:12px; background:var(--blue-tint); color:var(--blue); transition:background-color var(--t-fast), color var(--t-fast), translate var(--t-fast) var(--ease-smooth);}
  .drop-ic svg{width:22px; height:22px;}
  .drop-txt{display:flex; flex-direction:column; gap:2px; min-width:0;}
  .drop-txt strong{font-size:.92rem; color:var(--navy);}
  .drop-name{font-size:.8rem; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  @media (hover:hover){ .drop:hover{background:var(--blue-tint); border-color:var(--blue);} .drop:hover .drop-ic{background:var(--blue); color:#fff; translate:0 -2px;} }
  .drop:active{scale:.99;}
  .drop:focus-within{box-shadow:var(--focus);}
  .drop.has-file{border-style:solid; border-color:#22c55e; background:#f0fdf4;}
  .drop.has-file .drop-ic{background:#22c55e; color:#fff;}
  .drop.is-over{background:var(--blue-tint); border-color:var(--blue);}
  @media (max-width:900px){ .tb-grid{grid-template-columns:1fr;} .tb-visual{max-width:420px; margin-inline:auto;} }
  @media (prefers-reduced-motion: reduce) and (max-width: 0px){ .tb-net .orb, .tb-net .hub-ring, .tb-net .hub-pulse{animation:none;} .tb-net .ln, .tb-net .nd{transition:none;} }
  .tb-net .ln-hot{stroke:var(--blue); stroke-width:2; stroke-dasharray:1;}
  .tb-net .nd-hot{fill:url(#mj-blue); filter:drop-shadow(0 8px 14px rgba(0,124,195,.45));}
  .tb-net .uf-chip rect{fill:var(--navy);}
  .tb-net .uf-chip text{fill:#fff; font:700 10px/1 system-ui, sans-serif; letter-spacing:.04em;}
  .tb-net .hot-node .nd{transition-delay:.35s;}
  .tb-net .hot-node.on .nd-hot{animation:hotGlow 2.4s var(--ease-smooth) 1;}
  @keyframes hotGlow{0%{filter:drop-shadow(0 0 0 rgba(0,124,195,.8));} 40%{filter:drop-shadow(0 0 14px rgba(0,124,195,.9));} 100%{filter:drop-shadow(0 8px 14px rgba(0,124,195,.45));}}
  .tb-toast{top:auto; bottom:4%; max-width:calc(100% - 16px); white-space:nowrap;}
  .tb-toast .tb-msg b{color:var(--navy);}
  .tb-cap{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:4px; font-size:.78rem; color:var(--muted); text-align:center;}
  .tb-cap i{width:7px; height:7px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.5); animation:whoPulse 1.8s ease-out infinite;}

  /* ===== Ajustes responsivos (tablet e celular) ===== */
  .section-head h2 + .lead, .section-head h2 + p{margin-top:12px;}
  .tb-cap{display:block; text-align:center; text-wrap:balance;}
  .tb-cap i{display:inline-block; vertical-align:middle; margin-right:6px; margin-top:-2px;}
  @media (max-width:900px){
    .twocol > .col-text, .twocol > .col-media{flex:none; width:100%;}
    .twocol{gap:40px;}
    .list-grid .list-item{max-width:none !important;}
    .map-media{max-width:520px; margin-inline:auto;}
    .ct-pin{translate:calc(-100% - 14px) -50%;}
  }
  @media (max-width:900px){ .stats .wrap{display:grid; grid-template-columns:1fr 1fr; gap:32px 20px;} .map-credit{top:10px; bottom:auto;} }
  @media (max-width:640px){
    .stats .wrap{gap:28px 16px;}
    .stat .num{font-size:1.7rem;}
    .stat .cap{font-size:.78rem;}
    .form-card{padding:24px 20px;}
    .mo-t.t1 figcaption{top:10px; bottom:auto;}
    .mo-chip{min-width:0; width:max-content; max-width:78%; padding:10px 16px; border-radius:14px;}
    .mo-chip strong{font-size:1.6rem;}
    .mo-chip span{font-size:.72rem;}
    .tb-toast{font-size:.72rem;}
    .who{padding:24px 22px;}
    .ct-copy h2, .tb-copy h2{font-size:clamp(1.8rem, 7vw, 2.2rem);}
  }

  /* ===== Rodapé ===== */
  footer{padding:72px 0 28px;}
  .footer-top{align-items:flex-start; gap:48px;}
  .footer-brand{display:flex; flex-direction:column; gap:18px; max-width:340px;}
  .brand-lockup{display:block; width:clamp(200px, 22vw, 280px);}
  .brand-lockup img{display:block; width:100%; height:auto;}
  .footer-tag{font-size:.88rem; color:#a9c2d1; line-height:1.5;}
  .socials{display:flex; gap:10px;}
  .socials a{display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#dfeaf1; box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
    transition:background-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast), translate var(--t-fast) var(--ease-smooth), scale var(--t-micro);}
  .socials a svg{width:19px; height:19px;}
  @media (hover:hover){ .socials a:hover{background:var(--blue); color:#fff; box-shadow:none; translate:0 -2px;} }
  .socials a:active{scale:var(--press);}
  .socials a:focus-visible{outline:none; box-shadow:var(--focus);}
  .footer-links{gap:56px;}
  .footer-bottom{align-items:center;}
  .footer-bottom .legal{margin:0;}
  .footer-bottom .legal a{color:#9fc4d6; text-decoration:none;}
  .footer-bottom .legal a:hover{color:#fff;}
  .footer-bottom .sep{opacity:.5; margin:0 6px;}
  .powered{display:inline-flex; align-items:center; gap:10px; color:#7996a6; text-decoration:none; font-size:.74rem; letter-spacing:.04em; text-transform:lowercase; transition:color var(--t-fast);}
  .audaz-mark{font-weight:800; font-size:.95rem; letter-spacing:.14em; color:#dfeaf1; text-transform:uppercase; transition:color var(--t-fast);}
  .audaz-mark b{color:#F7B857; font-weight:800; margin-left:.35em;}
  .audaz-logo{display:block; height:20px; width:auto; opacity:.85; transition:opacity var(--t-fast);}
  @media (hover:hover){ .powered:hover{color:#dfeaf1;} .powered:hover .audaz-mark{color:#fff;} .powered:hover .audaz-logo{opacity:1;} }
  @media (max-width:900px){ .footer-top{flex-direction:column;} .footer-links{gap:36px 48px;} }
  @media (max-width:640px){
    .footer-links{display:grid; grid-template-columns:1fr 1fr; gap:32px 24px; width:100%;}
    .footer-bottom{flex-direction:column; align-items:flex-start; gap:16px;}
    .footer-bottom .sep{display:none;}
    .footer-bottom .legal span:not(.sep){display:block;}
    .footer-bottom{padding-right:72px;}
  }

  /* redes: logos oficiais, sem moldura */
  .socials{gap:20px; align-items:center;}
  .socials a{width:auto; height:auto; border-radius:0; box-shadow:none !important; background:none !important; color:#c9dae4; padding:2px;}
  .socials a svg{width:22px; height:22px;}
  @media (hover:hover){
    .socials a:hover{translate:0 -2px;}
    .socials a.so-wa:hover{color:#25D366;} .socials a.so-ig:hover{color:#E4405F;} .socials a.so-fb:hover{color:#1877F2;} .socials a.so-li:hover{color:#0A66C2;}
  }
  .socials a:focus-visible{outline:2px solid #8fd3ff; outline-offset:4px; border-radius:4px;}
  .audaz-logo{height:84px;}
  .footer-tag{max-width:30ch;}

  /* Toque (celular/tablet): os mesmos efeitos do hover acontecem quando o item passa pelo meio da tela */
  @media (hover:none){
 .list-item.is-live .dot{scale:1.35;} .list-item.is-live h3{color:var(--blue);} 
 .br-map .uf.is-live{fill:rgba(63,195,255,.34);} 
 .sec-video .br-map .uf.is-live{fill:rgba(63,195,255,.26);} 

    .ct-row:not(.is-static).is-live::before{transform:scaleX(1);}
    .ct-row:not(.is-static).is-live .ct-val{color:var(--blue); translate:6px 0;}
    .ct-row:not(.is-static).is-live .ct-ic{background:var(--blue); color:#fff; rotate:-6deg;}
    .ct-row:not(.is-static).is-live .ct-go{background:var(--navy); color:#fff; box-shadow:none;}
    a.ct-row.is-live .ct-go svg{rotate:45deg;}
  
 .mo-t.is-live img{scale:1.1;} 
 .cl.is-live{transform:translateY(-2px);} .cl.is-live .a{fill:var(--c1); stroke:var(--c1);} .cl.is-live .b{fill:var(--c2); stroke:var(--c2);} 

    .diff-item.is-live .iso-wrap{translate:0 -3px; box-shadow:0 0 0 1px rgba(0,124,195,.2), 0 16px 30px -16px rgba(0,26,41,.5);}
    .diff-item.is-live .iso-ring{rotate:60deg;}
    .diff-item.is-live .iso-dot{scale:1.25;}
    .diff-item.is-live .iso-hand{rotate:360deg;}
  

    .who.is-live{box-shadow:0 0 0 1px rgba(0,124,195,.22), 0 24px 48px -24px rgba(0,26,41,.45);}
    .who.is-live::before{opacity:1;}
    .who.is-live::after{transform:scaleX(1);}
    .who.is-live .who-n{color:var(--blue);}
    .who.is-live .who-go{opacity:1; translate:0 0;}
    .who.is-live .who-go svg{translate:3px 0;}
  
 .drop.is-live{background:var(--blue-tint); border-color:var(--blue);} .drop.is-live .drop-ic{background:var(--blue); color:#fff; translate:0 -2px;} 
 .socials a.is-live{background:var(--blue); color:#fff; box-shadow:none; translate:0 -2px;} 
 .powered.is-live{color:#dfeaf1;} .powered.is-live .audaz-mark{color:#fff;} .powered.is-live .audaz-logo{opacity:1;} 

    .socials a.is-live{translate:0 -2px;}
    .socials a.so-wa.is-live{color:#25D366;} .socials a.so-ig.is-live{color:#E4405F;} .socials a.so-fb.is-live{color:#1877F2;} .socials a.so-li.is-live{color:#0A66C2;}
  
  }

/* ===== Demanda dentro do mapa (home) ===== */
.mapa-demanda{margin-top:56px; padding-top:44px; border-top:1px solid rgba(255,255,255,.14);}
.mapa-demanda .section-head{margin-bottom:26px; text-align:left; max-width:64ch; margin-left:0;}
.mapa-demanda .section-head .kicker{color:#7cc4ea;}
.mapa-demanda .section-head h2{color:#fff;}
.mapa-demanda .section-head .lead{color:rgba(255,255,255,.76); margin-left:0;}
.mapa-demanda .form-wrap{max-width:820px; margin-left:0; border-radius:16px;}
@media (max-width:640px){ .mapa-demanda{margin-top:40px; padding-top:32px;} }

/* ===== Faixa do correspondente (antes do rodapé) ===== */
.faixa-corr{background:var(--blue-tint); color:var(--ink); padding:64px 0;}
.faixa-corr .fx-inner{display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;}
.faixa-corr .fx-texto{max-width:60ch;}
.faixa-corr .kicker{color:var(--blue);}
.faixa-corr h2{color:var(--navy); font-size:clamp(1.5rem, 1.6vw + 1rem, 2.1rem); margin:6px 0 10px;}
.faixa-corr p{color:var(--muted); font-size:.95rem; line-height:1.6; margin:0;}
.faixa-corr .btn-primary{flex:none;}
@media (max-width:760px){ .faixa-corr{padding:44px 0;} .faixa-corr .fx-inner{flex-direction:column; align-items:flex-start;} }

/* ===== Hero das páginas internas (foto + véu, texto centralizado) ===== */
.hero-int{position:relative; overflow:hidden; background:var(--navy-deep); color:#fff;
  padding:148px 0 96px; min-height:min(62vh,560px); display:flex; align-items:center;}
.hero-int > .wrap{width:100%; position:relative; z-index:2;}
.hero-foto{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero-int::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 50% 45%, rgba(0,13,20,.55) 0%, rgba(0,13,20,.3) 70%),
    linear-gradient(180deg, rgba(0,13,20,.62) 0%, rgba(0,13,20,.32) 42%, rgba(0,26,41,.88) 88%, var(--navy) 100%);}
.hero-int .hero-inner{max-width:62ch; margin-inline:auto; text-align:center;}
.hero-int h1{color:#fff; font-size:clamp(2.1rem, 3.4vw + 1rem, 3.4rem); line-height:1.08; margin:10px 0 16px;
  text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero-int h1 em{font-style:normal; color:#7cc4ea;}
.hero-int .lead{color:#c9dae4; font-size:1.02rem; line-height:1.65; margin-inline:auto;}
.hero-int .hero-ctas{justify-content:center; margin-top:28px; margin-bottom:0;}
.hero-int .btn-primary{background:#fff; color:var(--navy);}
.hero-int .btn-primary:hover{background:#eef6fb;}
.hero-int .btn-outline{border-color:rgba(255,255,255,.45); color:#fff;}
.hero-int .btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.1);}
@media (prefers-contrast: more){ .hero-int::after{background:rgba(0,13,20,.8);} }
@media (max-width:640px){ .hero-int{padding:120px 0 56px; min-height:auto;} }

/* ===== Mapa do cliente (home): coluna única, tudo no centro ===== */
#atuacao .twocol.centro{display:block; text-align:center;}
#atuacao .twocol.centro .col-text{max-width:74ch; margin-inline:auto;}
#atuacao .twocol.centro .col-text .lead{margin-inline:auto;}
#atuacao .twocol.centro .region-tags{justify-content:center;}
#atuacao .twocol.centro .uf-list{justify-content:center;}
#atuacao .twocol.centro .col-media{max-width:640px; margin:34px auto 0;}
#atuacao .sec-bg video{left:50%;}
#atuacao .twocol.centro .map-badge{left:50%; transform:translateX(-50%);}
.mapa-demanda .section-head{text-align:center; margin-inline:auto; max-width:66ch;}
.mapa-demanda .section-head .lead{margin-inline:auto;}
.mapa-demanda .form-wrap{margin-inline:auto;}

/* ===== Demanda em diálogo (home) ===== */
.mapa-chamada{margin:34px 0 0; text-align:center; color:rgba(255,255,255,.8); font-size:.98rem;
  display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;}
.dlg-demanda{width:min(760px, calc(100vw - 24px)); max-height:min(88dvh, 900px);}
.dlg-demanda .dd-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding:24px 26px 14px; border-bottom:1px solid var(--line);}
.dlg-demanda .dd-head h3{font-size:1.25rem; margin:2px 0 0;}
.dlg-demanda .dd-corpo{padding:22px 26px 26px; overflow:auto;}
.dlg-demanda .form-wrap{box-shadow:none; padding:0; background:transparent; border-radius:0; max-width:none; margin:0;}
@media (max-width:640px){
  .dlg-demanda{width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0;}
  .dlg-demanda .dd-head{padding:18px 18px 12px;}
  .dlg-demanda .dd-corpo{padding:18px;}
  .mapa-chamada{flex-direction:column; gap:12px;}
}

/* ===== Alteração de dados cadastrais ===== */
.sec-alterar{padding:84px 0 96px; background:var(--white);}
.sec-alterar .twocol{align-items:start;}
.passos{list-style:none; counter-reset:passo; margin:22px 0 0; padding:0; display:grid; gap:16px;}
.passos li{counter-increment:passo; position:relative; padding-left:44px; font-size:.98rem; line-height:1.6; color:var(--ink-soft);}
.passos li b{color:var(--ink);}
.passos li::before{content:counter(passo); position:absolute; left:0; top:-1px; width:28px; height:28px; border-radius:50%;
  background:var(--blue-tint); color:var(--blue); font-weight:800; font-size:.86rem; display:grid; place-items:center;}
.sec-alterar .mini{margin-top:20px; font-size:.86rem; line-height:1.6; color:var(--muted);}
.sec-alterar .mini a{color:var(--blue); font-weight:600;}
.sec-alterar .mini a:hover{color:var(--navy);}

.alt-campos{border:0; padding:0; margin:20px 0 4px;}
.alt-campos legend{padding:0; font-size:.9rem; font-weight:700; color:var(--ink); margin-bottom:10px;}
.alt-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; margin-bottom:8px;}
.alt-grid label{display:flex; align-items:flex-start; gap:9px; font-size:.9rem; line-height:1.4; color:var(--ink-soft); cursor:pointer;}
.alt-grid input{margin-top:2px; flex:none;}
.alt-grid .sens{color:var(--muted); font-size:.76rem; display:block;}
@media (max-width:640px){ .alt-grid{grid-template-columns:1fr;} }

/* Modo de edição, com o link autorizado */
.alt-prazo{display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border-radius:999px;
  background:var(--blue-tint); color:var(--blue); font-size:.8rem; font-weight:700; margin-bottom:14px;}
.alt-antes{display:block; margin-top:4px; font-size:.78rem; color:var(--muted);}
.alt-fim{display:grid; gap:12px; margin-top:8px;}
.alt-fim .resumo{border:1px solid var(--line); border-radius:12px; padding:16px 18px; background:var(--offwhite);}
.alt-fim .resumo dt{font-size:.76rem; color:var(--muted);}
.alt-fim .resumo dd{margin:0 0 10px; font-size:.95rem; color:var(--ink); word-break:break-word;}
.alt-fim .resumo dd:last-child{margin-bottom:0;}

/* ===== Páginas de texto legal ===== */
.sec-legal{padding:76px 0 104px; background:var(--white);}
.wrap.doc{max-width:78ch;}
.legal-data{font-size:.86rem; color:var(--muted); margin-bottom:28px;}
.legal-data a{color:var(--blue); font-weight:600;}
.doc h2{font-size:1.32rem; line-height:1.3; margin:52px 0 14px; scroll-margin-top:100px;}
.doc h2:first-of-type{margin-top:0;}
.doc h3{font-size:1rem; margin:26px 0 6px; color:var(--blue);}
.doc p{font-size:1rem; line-height:1.72; color:var(--ink-soft); margin-bottom:14px;}
.doc p b, .doc li b{color:var(--ink);}
.doc a{color:var(--blue); font-weight:600;}
.doc a:hover{color:var(--navy);}
.doc .passos{margin:18px 0 18px;}
.legal-lista{margin:0 0 16px; padding-left:20px; display:grid; gap:9px;}
.legal-lista li{font-size:1rem; line-height:1.65; color:var(--ink-soft);}
.legal-nota{border-left:3px solid var(--blue); padding:2px 0 2px 16px; color:var(--muted) !important; font-size:.94rem !important;}

.legal-resumo{border:1px solid var(--line); border-radius:16px; padding:26px 28px; background:var(--offwhite); margin-bottom:46px;}
.legal-resumo h2{margin:0 0 14px; font-size:1.05rem;}
.legal-resumo ul{margin:0; padding-left:19px; display:grid; gap:10px;}
.legal-resumo li{font-size:.96rem; line-height:1.6; color:var(--ink-soft);}

.tabela-rolante{overflow-x:auto; margin:6px 0 18px; -webkit-overflow-scrolling:touch;}
.legal-tab{border-collapse:collapse; width:100%; min-width:520px; font-size:.92rem;}
.legal-tab th{text-align:left; font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted);
  padding:0 16px 9px 0; border-bottom:1px solid var(--line); font-weight:800;}
.legal-tab td{padding:13px 16px 13px 0; border-bottom:1px solid var(--line); vertical-align:top; line-height:1.55; color:var(--ink-soft);}
.legal-tab tr td:first-child{color:var(--ink); font-weight:600; width:28%;}
@media (max-width:640px){ .doc h2{font-size:1.18rem;} .legal-resumo{padding:20px 20px;} }

/* Aviso de tratamento no pé dos formulários: a lei pede informação clara no
   momento da coleta, mesmo onde não cabe caixa de consentimento. */
.aviso-lgpd{font-size:.82rem; line-height:1.55; color:var(--muted); margin:14px 0 16px;}
.aviso-lgpd a{color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:3px;}
.aviso-lgpd a:hover{color:var(--navy);}

/* Força da senha, na tela de definir acesso */
.sn-barra{display:block; height:5px; border-radius:3px; background:var(--line); margin:9px 0 5px; overflow:hidden;}
.sn-barra-in{display:block; height:100%; width:0; border-radius:3px; background:var(--muted); transition:width .2s var(--ease-out), background-color .2s var(--ease-out);}
.sn-barra-in.fraca{background:#c2410c;} .sn-barra-in.media{background:#b8860b;} .sn-barra-in.forte{background:#1c7a4b;}
