:root {
    --branco:#FFFFFF; --azul:#064468; --marinho:#062B43;
    --a1:#A3C5F1; --a2:#83A2CD; --a3:#6582AA; --a4:#4B6387; --a5:#334663; --a6:#1E2840; --a7:#0C121D;
    --papel:#F7F9FB; --linha:#E3E8EE; --texto:#062B43; --suave:#4B6387;
    --raio:8px; --max:1320px;
    /* degradê de destaque: um por dobra, no máximo */
    --grad:linear-gradient(90deg, #1E53A3 0%, #418DFF 100%);        /* sobre fundo claro */
    --grad-claro:linear-gradient(90deg, #418DFF 0%, #A3C5F1 100%);  /* sobre fundo escuro */
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--texto); background:#fff; line-height:1.6; -webkit-font-smoothing:antialiased; }
  img { max-width:100%; display:block; }
  a { color:inherit; text-decoration:none; }
  .wrap { max-width:var(--max); margin:0 auto; padding:0 32px; }
  .eyebrow { text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:600; color:var(--a3); }
  .on-dark .eyebrow { color:var(--a1); }
  h2.t { font-size:clamp(28px,3vw,42px); line-height:1.12; font-weight:600; letter-spacing:-.02em; margin:10px 0 14px; }
  .lead { font-size:clamp(16px,1.25vw,19px); color:var(--suave); max-width:62ch; margin:0; }
  .on-dark .lead { color:#C9D6E3; }
  section { padding:104px 0; position:relative; }
  .btn { display:inline-flex; align-items:center; gap:10px; background:var(--azul) var(--grad); color:#fff; font-weight:600; font-size:15px; padding:14px 22px; border-radius:4px; transition:background .2s; }
  .btn:hover { background:var(--marinho); }
  .btn.light { background:#fff; color:var(--marinho); } .btn.light:hover { background:var(--a1); }
  .btn.ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7); }
  .lnk { color:var(--azul); font-weight:600; font-size:15px; border-bottom:2px solid var(--a1); padding-bottom:2px; }
  .on-dark .lnk { color:#fff; border-color:var(--a3); }
  .tag-x { display:inline-block; font-size:11px; background:#FFF3CD; color:#7A5800; border-radius:3px; padding:1px 6px; margin-left:6px; vertical-align:middle; font-weight:600; letter-spacing:0; text-transform:none; }
  .reveal { opacity:0; transform:translateY(18px); transition:opacity .8s ease, transform .8s ease; }
  .reveal.in { opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity:1; transform:none; transition:none; } html { scroll-behavior:auto; } }

  /* ===== 1. Cabeçalho ===== */
  header.top { position:fixed; top:0; left:0; right:0; z-index:100; transition:background .3s, box-shadow .3s; }
  header.top .bar { max-width:none; height:84px; display:flex; align-items:center; gap:36px; padding:0 40px; transition:height .25s; }
  header.top .logo img { height:42px; transition:height .25s; }
  header.top nav { display:flex; height:100%; }
  header.top nav a { display:flex; align-items:center; height:100%; padding:0 9px; font-size:16px; font-weight:400; color:#fff; border-bottom:3px solid transparent; transition:border-color .2s; }
  header.top nav a:hover { border-color:var(--a1); }
  header.top .right { margin-left:auto; display:flex; align-items:center; gap:18px; color:#fff; font-size:16px; }
  header.top .flag { display:flex; } header.top .sep { width:1px; height:22px; background:rgba(255,255,255,.35); }
  header.top.solid { background:#fff; box-shadow:0 6px 18px rgba(6,43,67,.08); }
  header.top.solid .bar { height:64px; } header.top.solid .logo img { height:32px; }
  header.top.solid nav a, header.top.solid .right { color:var(--marinho); }
  header.top.solid nav a:hover { border-color:var(--azul); }
  header.top.solid .sep { background:var(--linha); }


  /* ===== Mega-menu: painel ao clicar no item ===== */
  header.top nav button { font:inherit; font-size:16px; font-weight:400; color:inherit; background:none; border:0; cursor:pointer; display:flex; align-items:center; height:100%; padding:0 9px; border-bottom:3px solid transparent; transition:border-color .2s; }
  header.top nav { color:#fff; }
  header.top.solid nav { color:var(--marinho); }
  header.top nav button:hover { border-color:var(--a1); }
  header.top nav button[aria-expanded="true"] { border-color:var(--azul); font-weight:500; }
  header.top.menu-aberto { background:#fff; box-shadow:0 6px 18px rgba(6,43,67,.08); }
  header.top.menu-aberto nav, header.top.menu-aberto .right { color:var(--marinho); }
  header.top.menu-aberto .right a { color:var(--marinho); }
  header.top.menu-aberto .sep { background:var(--linha); }
  .mega { position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--linha); box-shadow:0 24px 40px rgba(6,43,67,.14); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s; }
  .mega.on { opacity:1; visibility:visible; transform:none; transition:opacity .22s ease, transform .22s ease; }
  .mega .in { max-width:var(--max); margin:0 auto; padding:40px 32px 44px; display:grid; grid-template-columns:250px 1fr 300px; gap:56px; color:var(--texto); }
  .mega .intro h3 { font-size:24px; line-height:1.2; font-weight:600; margin:6px 0 10px; letter-spacing:-.01em; }
  .mega .intro p { margin:0 0 18px; font-size:14.5px; color:var(--suave); line-height:1.55; }
  .mega .grupos { display:grid; grid-template-columns:repeat(var(--cols,2), 1fr); gap:28px 36px; align-content:start; }
  .mega .grupo h4 { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--a3); margin:0 0 10px; padding-bottom:8px; border-bottom:1px solid var(--linha); }
  .mega .grupo h4 a { color:inherit; } .mega .grupo h4 a:hover { color:var(--azul); }
  .mega ul { list-style:none; margin:0; padding:0; display:grid; gap:0; }
  .mega ul a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:2px 0; font-size:15px; line-height:1.35; color:var(--texto); transition:color .2s, padding .2s; }
  .mega ul a::after { content:"→"; color:var(--azul); opacity:0; transform:translateX(-6px); transition:opacity .2s, transform .2s; }
  .mega ul a:hover { color:var(--azul); }
  .mega ul a:hover::after { opacity:1; transform:none; }
  .mega .lista-unica ul a { font-size:16px; padding:6px 0; border-bottom:1px solid var(--linha); }
  .mega ul a .chave { margin-right:auto; }
  .mega .chave { font-size:11px; font-weight:600; color:#fff; background:var(--grad); border-radius:999px; padding:2px 8px; margin-left:8px; }
  .mega .card-m { display:block; border-radius:16px; overflow:hidden; background:var(--papel); color:var(--texto); transition:transform .25s, box-shadow .25s; }
  .mega .card-m:hover { transform:translateY(-4px); box-shadow:0 17px 25px rgba(0,0,0,.13); }
  .mega .card-m .im { aspect-ratio:16/10; background-size:cover; background-position:center; }
  .mega .card-m .bd { padding:16px 18px 18px; }
  .mega .card-m .cat { font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--a3); }
  .mega .card-m strong { display:block; font-size:16px; line-height:1.35; margin:6px 0 8px; }
  .mega .card-m span.lnk-m { font-size:14px; font-weight:600; color:var(--azul); }
  .mega-veu { position:fixed; inset:0; background:rgba(6,43,67,.35); opacity:0; visibility:hidden; transition:opacity .22s, visibility 0s linear .22s; z-index:99; }
  .mega-veu.on { opacity:1; visibility:visible; transition:opacity .22s; }
  @media (prefers-reduced-motion: reduce) { .mega, .mega.on, .mega-veu { transition:none; } }

  /* ===== 1. Hero ===== */
  .hero { position:relative; height:100vh; min-height:640px; max-height:980px; overflow:hidden; color:#fff; padding:0; }
  .hero .stage, .hero .stage video { position:absolute; inset:0; width:100%; height:100%; }
  .hero .stage video { object-fit:cover; opacity:0; transition:opacity .8s ease; }
  .hero .stage video.on { opacity:1; }
  .hero #heroTitle, .hero #heroText { transition:opacity .4s ease; }
  .hero .swap { opacity:0; }
  .hero .veil { position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,43,67,.62) 0%, rgba(6,43,67,.25) 38%, rgba(6,43,67,.78) 100%); }
  .hero .txt { position:absolute; left:0; right:0; bottom:12%; }
  .hero h1 { font-size:clamp(40px,5.2vw,80px); line-height:1.02; font-weight:500; letter-spacing:-.03em; margin:14px 0 18px; max-width:16ch; }
  .hero p { font-size:clamp(17px,1.4vw,21px); max-width:52ch; color:#E2EAF2; margin:0 0 30px; }
  .hero .ctas { display:flex; gap:14px; flex-wrap:wrap; }
  /* pontos das cenas do vídeo: o ativo vira uma barra que se preenche com o andamento da cena */
  .hero .dots { position:absolute; left:50%; bottom:34px; transform:translateX(-50%); display:flex; gap:10px; z-index:3; }
  .hero .dot { width:9px; height:9px; border-radius:5px; border:0; padding:0; background:rgba(255,255,255,.45); cursor:pointer; position:relative; overflow:hidden; transition:width .35s ease, background .3s; }
  .hero .dot:hover { background:rgba(255,255,255,.8); }
  .hero .dot.on { width:34px; background:rgba(255,255,255,.35); }
  .hero .dot i { position:absolute; left:0; top:0; bottom:0; width:0; background:#fff; border-radius:5px; }
  .hero .dot:focus-visible { outline:2px solid #fff; outline-offset:3px; }
  .hero .pause { position:absolute; right:32px; bottom:32px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.6); background:rgba(6,43,67,.35); color:#fff; cursor:pointer; font-size:12px; }

  /* ===== 2. Números ===== */
  .nums { background:#fff; color:var(--azul); padding:56px 0; }
  .nums .grid { display:grid; grid-template-columns:repeat(4,1fr); }
  .nums .it { padding:0 22px; border-left:1px solid var(--linha); }
  .nums .it:first-child { border-left:0; padding-left:0; }
  .nums .n { font-size:clamp(34px,3.6vw,54px); font-weight:600; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; }
  .nums .l { font-size:14.5px; color:var(--suave); margin-top:10px; line-height:1.45; text-wrap:balance; }

  /* ===== 3. Serviços (E1) ===== */
  .svc { padding:0; }
  .cols { position:relative; height:640px; overflow:hidden; background:var(--marinho); color:#fff; }
  .cols .bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.06); transition:opacity .8s ease, transform 1.4s ease; }
  .cols .bg.on { opacity:1; transform:scale(1); }
  .cols .bg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,43,67,.45), rgba(6,43,67,.35) 40%, rgba(6,43,67,.88)); }
  .cols .grid { position:absolute; inset:0; display:grid; grid-template-columns:repeat(4,1fr); z-index:2; }
  .cols .col { position:relative; border-left:1px solid rgba(255,255,255,.2); padding:0 30px 46px; display:flex; flex-direction:column; justify-content:flex-end; cursor:pointer; transition:background .35s; }
  .cols .col:first-child { border-left:0; }
  .cols .col.on, .cols .col:hover, .cols .col:focus-visible { background:rgba(6,68,104,.55); outline:none; }
  .cols .col.on::before, .cols .col:hover::before { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--grad-claro); }
  .cols .num { font-size:13px; letter-spacing:.12em; color:var(--a1); margin-bottom:14px; }
  .cols h3 { font-size:28px; font-weight:500; margin:0 0 8px; letter-spacing:-.01em; }
  .cols .desc { max-height:0; opacity:0; overflow:hidden; transition:max-height .5s ease, opacity .4s ease; font-size:15px; color:#DCE5EE; }
  .cols .col.on .desc, .cols .col:hover .desc, .cols .col:focus-visible .desc { max-height:300px; opacity:1; }
  .cols ul { margin:12px 0 0; padding-left:18px; font-size:14.5px; } .cols li { margin:3px 0; }
  .cols .arr { margin-top:18px; font-size:22px; transition:transform .3s; } .cols .col:hover .arr, .cols .col.on .arr { transform:translateX(6px); }

  /* título e texto da dobra sobre as colunas, no alto da imagem */
  /* altura do bloco cabe na tela (com o menu fixo de 64px), entre 640 e 820px */
  .cols { height:clamp(640px, calc(100vh - 64px), 820px); }
  /* conteúdo das colunas começa logo abaixo do título da dobra (--topo-colunas é medido no carregamento) */
  .cols .col { justify-content:flex-start; padding-top:var(--topo-colunas, 360px); }
  /* o texto da 1ª coluna começa na mesma margem do título da dobra (--margem-colunas é medida no carregamento) */
  .cols .col:first-child { padding-left:var(--margem-colunas, 30px); }
  .cols .cols-head { position:absolute; left:0; right:0; top:0; z-index:3; padding-top:40px; pointer-events:none; }
  .cols .cols-head h2.t { color:#fff; max-width:22ch; }
  .cols .cols-head .lead { color:#DCE5EE; }
  .cols .bg::after { background:linear-gradient(180deg, rgba(6,43,67,.86) 0%, rgba(6,43,67,.55) 34%, rgba(6,43,67,.35) 55%, rgba(6,43,67,.9) 100%); }

  /* ===== 4. Problemas ===== */
  .prob { background:var(--papel); }
  .prob .grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
  .chips { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .chip { background:#fff; border:1px solid var(--linha); border-radius:var(--raio); padding:16px 18px; font-size:15.5px; font-weight:500; display:flex; gap:12px; align-items:center; transition:border-color .2s, transform .2s; }
  .chip:hover { border-color:var(--a2); transform:translateY(-2px); }
  .chip i { font-style:normal; color:var(--a3); font-weight:600; font-size:13px; min-width:22px; }
  .prob .cta { margin-top:30px; display:flex; gap:18px; align-items:center; flex-wrap:wrap; }

  /* ===== Pessoas ===== */
  .gente { background:var(--papel); }
  .gente .grid { display:grid; grid-template-columns:1fr 1.05fr; gap:64px; align-items:center; }
  .gente .pontos { list-style:none; padding:0; margin:30px 0 30px; display:grid; gap:18px; }
  .gente .pontos li { padding-left:22px; border-left:2px solid var(--a2); font-size:15.5px; color:var(--suave); }
  .gente .pontos b { display:block; color:var(--texto); font-size:17px; font-weight:600; margin-bottom:3px; }
  .gente .mosaico { display:grid; grid-template-columns:1fr 1.15fr; grid-template-rows:1fr 1fr; gap:14px; height:470px; }
  .gente .f { border-radius:var(--raio); background-size:cover; background-position:center; }
  .gente .f1 { grid-row:1 / span 2; }
  @media (max-width: 900px) { .gente .grid { grid-template-columns:1fr; } .gente .mosaico { height:420px; } }
  /* cards da dobra Pessoas, na coluna ao lado das fotos: mesmo comportamento dos cards da Triven (sobe 4px e ganha sombra) */
  .gente .grid { align-items:stretch; }
  .gente .cards-pessoas { display:grid; gap:14px; margin-top:28px; }
  .gente .cp { display:grid; grid-template-columns:44px 1fr; gap:18px; align-items:start; background:#fff; border-radius:5px; padding:20px 24px; box-shadow:0 1px 1px rgba(0,0,0,.1); transition:transform .2s, box-shadow .2s; }
  .gente .cp:hover { transform:translateY(-4px); box-shadow:0 17px 25px rgba(0,0,0,.13); }
  .gente .cp svg { width:44px; height:44px; }
  .gente .cp h3 { font-size:17px; font-weight:600; margin:0 0 4px; color:var(--texto); }
  .gente .cp p { margin:0; font-size:15px; color:var(--suave); line-height:1.5; }
  /* 4 fotos em grade 2×2: cada uma com um canto bem arredondado voltado para fora, formando uma "flor";
     a segunda coluna desce um pouco para dar movimento */
  .gente .grid { align-items:center; }
  .gente .fotos { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:520px; justify-self:end; width:100%; }
  .gente .ft { aspect-ratio:1/1; background-size:cover; background-position:center; transition:transform .4s ease; }
  .gente .ft:hover { transform:scale(1.03); }
  .gente .ft1 { border-radius:120px 14px 14px 14px; }
  .gente .ft2 { border-radius:14px 120px 14px 14px; transform:translateY(36px); }
  .gente .ft3 { border-radius:14px 14px 14px 120px; }
  .gente .ft4 { border-radius:14px 14px 120px 14px; transform:translateY(36px); }
  .gente .ft2:hover, .gente .ft4:hover { transform:translateY(36px) scale(1.03); }
  /* troca de fotos entre quadros: duas camadas por quadro, a nova aparece por cima e assume o lugar */
  .gente .ft { position:relative; overflow:hidden; }
  .gente .ft .cam { position:absolute; inset:0; background-size:cover; background-position:center; transition:opacity .9s ease; }
  .gente .ft .cam.entrando { opacity:0; }
  @media (max-width: 900px) { .gente .fotos { max-width:none; justify-self:stretch; } }



  /* ===== 4b. Setores (carrossel inspirado na Senior) ===== */
  .setores { background:#fff; padding:96px 0 104px; overflow:hidden; }
  .setores .topo { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:40px; }
  .setores .setas { display:flex; gap:10px; flex-shrink:0; }
  .setores .seta { width:48px; height:48px; border-radius:50%; border:1.5px solid var(--linha); background:#fff; color:var(--azul); font-size:20px; cursor:pointer; display:grid; place-items:center; transition:background .2s, color .2s, border-color .2s; }
  .setores .seta:hover { background:var(--azul); color:#fff; border-color:var(--azul); }
  .setores .janela { position:relative; }
  .setores .trilho { display:flex; gap:var(--gap); transition:transform .5s cubic-bezier(.4,0,.2,1); --gap:24px; }
  .sc { --w-in:272px; --w-on:560px; position:relative; flex:0 0 auto; width:var(--w-in); height:340px; border-radius:16px; overflow:hidden; cursor:pointer; color:#fff;
        --mordida:radial-gradient(circle 31px at calc(100% - 26px) calc(100% - 26px), transparent 30px, #000 31px);
        transition:width .5s cubic-bezier(.4,0,.2,1), transform .25s; }
  /* fundo, foto e véu levam a "mordida" no canto; o botão + fica dentro dela */
  .sc::before { content:""; position:absolute; inset:0; background:linear-gradient(319deg, #062B43 0%, #1E53A3 70%, #418DFF 140%); }
  .sc::before, .sc .midia, .sc .veu { -webkit-mask:var(--mordida); mask:var(--mordida); }
  .sc:focus-visible { outline:3px solid var(--a1); outline-offset:3px; }
  .sc .midia { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity .5s ease; }
  .sc .midia video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .sc .veu { position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,43,67,.55) 0%, rgba(6,43,67,.15) 40%, rgba(6,43,67,.88) 100%); opacity:0; transition:opacity .5s; }
  .sc .corpo { position:absolute; inset:0; z-index:1; padding:28px 28px 30px; display:flex; flex-direction:column; }
  .sc .num { font-size:13px; font-weight:600; letter-spacing:.1em; color:var(--a1); }
  .sc h3 { font-size:22px; line-height:1.2; font-weight:600; margin:10px 0 10px; letter-spacing:-.01em; }
  .sc .curto { font-size:15px; line-height:1.5; color:rgba(255,255,255,.82); margin:0; }
  .sc .longo { margin-top:auto; max-width:440px; opacity:0; transform:translateY(10px); transition:opacity .35s, transform .35s; pointer-events:none; }
  .sc .longo p { margin:0 0 14px; font-size:15.5px; line-height:1.5; color:#E6EDF4; }
  .sc .longo a { font-weight:600; font-size:15px; border-bottom:2px solid var(--a1); padding-bottom:2px; }
  .sc .mais { position:absolute; right:4px; bottom:4px; width:44px; height:44px; display:grid; place-items:center; }
  .setores .mais-btn { width:44px; height:44px; border-radius:50%; background:var(--grad); color:#fff; font-size:24px; font-weight:300; line-height:1; display:grid; place-items:center; pointer-events:none; transition:transform .35s; }
  .sc:not(.on):hover .mais-btn { transform:rotate(90deg); }
  .sc.on .mais { display:none; }
  .sc.on { width:var(--w-on); cursor:default; }
  .sc.on .midia, .sc.on .veu { opacity:1; }
  .sc.on .curto { display:none; }
  .sc.on .longo { opacity:1; transform:none; pointer-events:auto; transition-delay:.25s; }
  .sc:not(.on):hover { transform:translateY(-4px); }
  .sc.outros { background:var(--papel); color:var(--texto); border:1px solid var(--linha); cursor:default; }
  .sc.outros::before { display:none; }
  .sc.outros h3 { color:var(--texto); } .sc.outros .curto { color:var(--suave); } .sc.outros .num { color:var(--a3); }
  .sc.outros .lnk { margin-top:auto; align-self:flex-start; }
  .setores .nav { display:flex; align-items:center; gap:10px; margin-top:34px; }
  .setores .nav button { width:10px; height:10px; border-radius:6px; border:0; padding:0; background:var(--linha); cursor:pointer; position:relative; overflow:hidden; transition:width .35s; }
  .setores .nav button.on { width:44px; }
  .setores .nav button.on::after { content:""; position:absolute; inset:0; background:var(--grad); transform-origin:left; transform:scaleX(0); animation:barra var(--dur,6s) linear forwards; }
  .setores.parado .nav button.on::after { animation-play-state:paused; }
  @keyframes barra { to { transform:scaleX(1); } }
  @media (prefers-reduced-motion: reduce) { .setores .trilho, .sc, .sc .longo { transition:none; } .setores .nav button.on::after { animation:none; transform:none; } }
  @media (max-width: 760px) {
    .setores .topo { flex-direction:column; align-items:flex-start; } .setores .setas { display:none; }
    .setores .janela { overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -32px; padding:0 32px; }
    .setores .trilho { transform:none !important; --gap:14px; }
    .sc, .sc.on { width:82vw; scroll-snap-align:start; }
    .sc .midia, .sc .veu { opacity:1; } .sc .curto { display:none; } .sc .longo { opacity:1; transform:none; pointer-events:auto; }
    .setores .nav { display:none; }
  }

  /* ===== 6. Onde atuamos (E2) ===== */
  .roda .grid { display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
  .roda .detail { margin-top:26px; min-height:130px; border-left:3px solid var(--a2); padding:4px 0 4px 18px; }
  .roda .detail .g { font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
  .roda .detail h4 { font-size:24px; margin:4px 0 6px; font-weight:600; }
  .roda .detail p { margin:0; color:var(--suave); }
  svg.wheel { width:100%; height:auto; overflow:visible; }
  svg.wheel .seg { cursor:pointer; transition:opacity .3s, transform .3s; transform-origin:300px 300px; }
  svg.wheel.act .seg { opacity:.32; } svg.wheel.act .seg.on, svg.wheel.act .seg.gon { opacity:1; }
  svg.wheel .seg.on { transform:scale(1.035); }
  svg.wheel text { pointer-events:none; font-family:Inter,sans-serif; }


  /* Onde atuamos — anel de linhas (guilhochê), como na apresentação */
  .roda { overflow:hidden; }
  .roda .guil { position:absolute; left:-2%; top:50%; width:min(760px,62vw); aspect-ratio:1; transform:translateY(-50%); z-index:0; pointer-events:none; }
  .roda .guil svg { width:100%; height:100%; }
  .roda .wrap { position:relative; z-index:1; }
  /* Como atuamos — o mesmo anel, espelhado à direita e em azul-claro sobre o marinho */
  .metodo { overflow:hidden; }
  .metodo .guil { position:absolute; right:-10%; top:50%; width:min(820px,64vw); aspect-ratio:1; transform:translateY(-50%); z-index:0; pointer-events:none; }
  .metodo .guil svg { width:100%; height:100%; }
  .metodo .wrap { position:relative; z-index:1; }

  /* destaque em degradê no texto, mesmo efeito da palavra "complicações" da LP da Solidy Contabilidade */
  /* "Somos full service." em linha própria, com um respiro acima separando da frase anterior */
  .grad-linha { display:block; margin-top:.55em; }
  .grad-claro { background:var(--grad-claro); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#A3C5F1; }
  .nums .n, .case .big { display:inline-block; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#1E53A3; }
  .grad { font-weight:700; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#1E53A3; }

  /* ===== 7. Como atuamos ===== */
  .metodo { background:var(--marinho); color:#fff; }
  .metodo .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:56px; position:relative; }
  .metodo .steps::before { content:""; position:absolute; left:0; right:0; top:34px; height:2px; background:var(--grad-claro); opacity:.85; }
  .metodo .st { padding-right:40px; position:relative; }
  .metodo .dot { width:68px; height:68px; border-radius:50%; background:linear-gradient(var(--marinho),var(--marinho)) padding-box, var(--grad-claro) border-box; border:2px solid transparent; display:grid; place-items:center; font-size:26px; font-weight:600; position:relative; z-index:2; }
  .metodo h3 { font-size:22px; margin:26px 0 10px; font-weight:600; }
  .metodo ul { padding-left:18px; margin:0; color:#C9D6E3; font-size:15.5px; } .metodo li { margin:5px 0; }
  .metodo .promise { margin-top:18px; font-size:14px; color:#fff; border-top:1px solid rgba(255,255,255,.18); padding-top:14px; }
  .metodo .promise b { color:var(--a1); font-weight:600; }

  /* ===== 8. Cases ===== */
  .cases .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
  .case { border:1px solid var(--linha); border-radius:var(--raio); padding:30px 28px; background:#fff; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s; }
  .case:hover { box-shadow:0 10px 30px rgba(6,43,67,.09); transform:translateY(-3px); }
  .case .big { font-size:40px; font-weight:600; color:var(--azul); letter-spacing:-.02em; line-height:1; }
  .case h3 { font-size:19px; line-height:1.3; margin:14px 0 6px; }
  .case .who { font-size:13px; color:var(--a3); text-transform:uppercase; letter-spacing:.06em; }
  .case dl { margin:18px 0 0; font-size:14.5px; color:var(--suave); }
  .case dt { font-weight:600; color:var(--texto); margin-top:10px; } .case dd { margin:2px 0 0; }

  /* ===== 9. Por que + depoimento ===== */
  .why { background:var(--papel); }
  .why .grid { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:start; }
  .why ul.pq { list-style:none; padding:0; margin:28px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
  .why ul.pq li { padding-left:28px; position:relative; font-size:15.5px; }
  .why ul.pq li::before { content:"✓"; position:absolute; left:0; color:var(--azul); font-weight:700; }
  .quote { background:var(--marinho); color:#fff; border-radius:var(--raio); padding:40px 38px; }
  .quote blockquote { margin:0; font-size:22px; line-height:1.4; font-weight:400; letter-spacing:-.01em; }
  .quote .by { margin-top:22px; font-size:14px; color:#C9D6E3; }
  /* Selo de avaliação no Google: nota e total vêm de data-nota / data-total (conferidos na ficha do Google em 12/10/2026) */
  .gbadge { display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--linha); border-radius:var(--raio); padding:18px 22px; margin-bottom:22px; box-shadow:0 1px 1px rgba(0,0,0,.06); transition:transform .2s, box-shadow .2s; }
  .gbadge:hover { transform:translateY(-3px); box-shadow:0 14px 24px rgba(6,43,67,.10); }
  .gbadge .g { width:40px; height:40px; flex-shrink:0; }
  .gbadge .nota { font-size:34px; font-weight:600; line-height:1; letter-spacing:-.02em; color:var(--texto); }
  .gbadge .meio { display:flex; flex-direction:column; gap:4px; }
  .gbadge .rot { font-size:13px; font-weight:600; color:var(--texto); }
  .gbadge .total { font-size:13px; color:var(--suave); }
  .gbadge .estrelas { position:relative; display:inline-block; font-size:18px; letter-spacing:2px; line-height:1; color:#DADCE0; }
  .gbadge .estrelas .cheias { position:absolute; inset:0 auto 0 0; overflow:hidden; white-space:nowrap; color:#FBBC04; }
  .gbadge .ver { margin-left:auto; font-size:14px; font-weight:600; color:var(--azul); white-space:nowrap; }
  .tech { margin-top:22px; border:1px solid var(--linha); border-radius:var(--raio); padding:22px 24px; background:#fff; font-size:14.5px; color:var(--suave); }
  .tech b { color:var(--texto); }

  /* ===== 11. Insights — 1 destaque + 3 na lateral, com filtro por categoria ===== */
  .ins .top { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
  .ins .top .lead { margin-top:2px; }
  .ins .filtros { display:flex; flex-wrap:wrap; gap:10px; margin:34px 0 36px; }
  /* categorias como cards com sombra, no mesmo padrão dos cards da dobra Pessoas */
  .ins .filtros { gap:12px; }
  .ins .filtros button { font:inherit; font-size:14px; font-weight:500; color:var(--marinho); background:#fff; border:0; border-radius:5px; padding:10px 18px; cursor:pointer; box-shadow:0 1px 1px rgba(0,0,0,.1); transition:transform .2s, box-shadow .2s, background .2s, color .2s; }
  .ins .filtros button:hover { transform:translateY(-4px); box-shadow:0 17px 25px rgba(0,0,0,.13); }
  .ins .filtros button[aria-selected="true"] { background:var(--marinho); color:#fff; }
  .ins .grade { display:grid; transition:opacity .25s; }
  .ins .grade.trocando { opacity:0; }
  .ins .etq { position:absolute; left:14px; top:14px; z-index:1; font-size:11.5px; font-weight:600; letter-spacing:.02em; color:var(--marinho); background:rgba(255,255,255,.86); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-radius:999px; padding:5px 12px; }
  .ins .rodape-card { margin-top:auto; display:flex; align-items:center; justify-content:space-between; font-size:13px; color:var(--a3); }
  .ins .seta { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--linha); color:var(--azul); font-size:15px; transition:background .25s, color .25s, border-color .25s, transform .25s; }

  .ins .grade.b { grid-template-columns:.66fr 1fr; gap:32px; align-items:stretch; }   /* destaque ~30% menor que a 1ª versão (1.3fr) */
  .ins .dest-b { position:relative; display:block; border-radius:20px; overflow:hidden; min-height:310px; color:#fff; }
  .ins .dest-b > span { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .7s ease; }
  .ins .dest-b:hover > span { transform:scale(1.04); }
  .ins .dest-b::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,43,67,0) 30%, rgba(6,43,67,.55) 60%, rgba(6,43,67,.92) 100%); }
  .ins .dest-b .txt { position:absolute; left:26px; right:26px; bottom:22px; z-index:1; }
  .ins .dest-b h3 { font-size:clamp(19px,1.5vw,22px); line-height:1.25; font-weight:600; margin:0 0 12px; letter-spacing:-.01em; }
  .ins .dest-b .rodape-card { color:#C9D6E3; }
  .ins .dest-b .seta { border-color:rgba(255,255,255,.5); color:#fff; }
  .ins .dest-b:hover .seta { background:#fff; color:var(--marinho); border-color:#fff; transform:translateX(3px); }
  .ins .lado { display:flex; flex-direction:column; gap:14px; }
  .ins .mini-b { display:grid; grid-template-columns:132px 1fr; gap:20px; align-items:center; padding:10px; margin:-10px; border-radius:16px; color:var(--texto); transition:background .25s; flex:1; }
  .ins .mini-b:hover { background:var(--papel); }
  .ins .mini-b .th { aspect-ratio:4/3; border-radius:12px; overflow:hidden; position:relative; }
  .ins .mini-b .th span { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s ease; }
  .ins .mini-b:hover .th span { transform:scale(1.06); }
  .ins .mini-b .cat-b { font-size:12px; font-weight:600; color:var(--azul); }
  .ins .mini-b h3 { font-size:16.5px; line-height:1.35; font-weight:600; margin:6px 0 8px; transition:color .2s; }
  .ins .mini-b:hover h3 { color:var(--azul); }
  .ins .mini-b .meta-b { font-size:13px; color:var(--a3); }
  @media (max-width: 1000px) { .ins .grade.b { grid-template-columns:1fr; } .ins .dest-b { min-height:360px; } }
  @media (prefers-reduced-motion: reduce) { .ins .grade, .ins .dest-b > span, .ins .mini-b .th span, .ins .seta { transition:none; } }

  /* ===== 12. CTA final — foto em largura total, texto sobre degradê marinho, botões Contato e WhatsApp ===== */
  .final { position:relative; background:var(--marinho); color:#fff; padding:0; overflow:hidden; }
  .final .foto-cta { position:absolute; inset:0; background-size:cover; }
  .final .foto-cta::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,43,67,.97) 0%, rgba(6,43,67,.9) 38%, rgba(6,43,67,.35) 62%, rgba(6,43,67,0) 80%); }
  .final .txt { position:relative; z-index:1; min-height:440px; max-width:calc(var(--max) * .55); display:flex; flex-direction:column; justify-content:center; padding:56px 32px 56px max(32px, calc((100vw - var(--max)) / 2 + 32px)); box-sizing:content-box; }
  .final h2.t { margin:12px 0 14px; color:#fff; }
  .final h2 .grad { background:var(--grad-claro); -webkit-background-clip:text; background-clip:text; }
  .final .lead { max-width:520px; }
  .final .acoes { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
  .final .acoes .btn { background:#fff; color:var(--marinho); }
  .final .acoes .btn:hover { background:var(--a1); }
  .final .btn-whats svg { width:20px; height:20px; }
  .final .garantias { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:22px; font-size:13.5px; color:#C9D6E3; }
  .final .garantias span::before { content:"✓"; color:var(--a1); font-weight:700; margin-right:7px; }
  /* separa o CTA escuro do rodapé escuro */
  .final + footer { border-top:1px solid rgba(255,255,255,.08); }
  @media (max-width: 900px) {
    .final .foto-cta::after { background:linear-gradient(0deg, rgba(6,43,67,.97) 0%, rgba(6,43,67,.88) 55%, rgba(6,43,67,.3) 100%); }
    .final .txt { max-width:none; padding:220px 32px 56px; min-height:0; }
  }

  /* ===== 13. Rodapé ===== */
  footer { background:var(--a7); color:#C9D6E3; padding:72px 0 34px; font-size:14.5px; }
  footer .grid { display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:36px; }
  footer h4 { color:#fff; font-size:14px; letter-spacing:.06em; text-transform:uppercase; margin:0 0 14px; font-weight:600; }
  footer ul { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
  footer a:hover { color:#fff; }
  footer .sign { margin-top:18px; font-size:15px; color:#fff; }
  footer .redes { display:flex; gap:10px; margin-top:20px; }
  footer .redes a { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.08); color:#fff; transition:background .2s, transform .2s; }
  footer .redes a:hover { background:var(--azul); transform:translateY(-2px); }
  footer .redes svg { width:18px; height:18px; fill:currentColor; }
  footer .bottom { margin-top:52px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--a2); }
  .wa { position:fixed; right:24px; bottom:24px; z-index:90; width:56px; height:56px; border-radius:50%; background:#25D366; display:grid; place-items:center; box-shadow:0 6px 18px rgba(0,0,0,.2); }

  @media (max-width: 900px) {
    header.top nav { display:none; }
    .nums .grid, .cols .grid, .chips, .metodo .steps, .cases .grid, .why ul.pq, .ins .grid, footer .grid { grid-template-columns:1fr 1fr; }
    .prob .grid, .roda .grid, .why .grid, .final .grid { grid-template-columns:1fr; }
    .cols { height:auto; } .cols .col, .cols .col:first-child { padding-top:0; padding-left:30px; justify-content:flex-end; } .cols .cols-head { position:relative; padding:64px 0 24px; } .cols .grid { position:relative; grid-template-columns:1fr; } .cols .col { min-height:220px; } .cols .desc { max-height:none; opacity:1; }
    .metodo .steps::before { display:none; }
  }
  /* Área do cliente: ícone de login no canto direito do cabeçalho */
  header.top .right .cliente { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1.5px solid currentColor; border-radius:50%; color:inherit; transition:background .2s, color .2s; }
  header.top .right .cliente:hover { background:rgba(255,255,255,.16); }
  header.top.solid .right .cliente:hover, header.top.menu-aberto .right .cliente:hover { background:var(--papel); }


  /* ===== Página CFO as a Service ===== */
  .pg-hero { position:relative; min-height:max(640px, 86vh); color:#fff; padding:0; overflow:hidden; display:flex; align-items:flex-end; }
  .pg-hero .foto { position:absolute; inset:0; background:url('/wp-content/uploads/solidy/col-cfo-exec.webp') 70% 30%/cover; }
  .pg-hero .foto::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,43,67,.96) 0%, rgba(6,43,67,.85) 40%, rgba(6,43,67,.25) 75%, rgba(6,43,67,.1) 100%), linear-gradient(0deg, rgba(6,43,67,.6), transparent 40%); }
  .pg-hero .wrap { position:relative; z-index:1; width:100%; padding-top:150px; padding-bottom:110px; }   /* 150px: espaço do menu fixo, o texto nunca passa por baixo dele */
  .pg-hero h1 { font-size:clamp(36px,4.2vw,60px); line-height:1.06; font-weight:600; letter-spacing:-.025em; margin:14px 0 18px; max-width:760px; }
  .pg-hero h1 .grad-claro { font-weight:600; }
  .pg-hero .lead { color:#DCE5EE; max-width:600px; font-size:clamp(17px,1.35vw,20px); }

  .sinais { background:#fff; }
  .sinais .grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:start; }
  .sinais ul { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
  .sinais li { background:#fff; border-radius:5px; padding:20px 24px 20px 64px; position:relative; box-shadow:0 1px 1px rgba(0,0,0,.1), 0 0 0 1px var(--linha); font-size:16.5px; line-height:1.5; transition:transform .2s, box-shadow .2s; }
  .sinais li:hover { transform:translateY(-4px); box-shadow:0 17px 25px rgba(0,0,0,.13); }
  .sinais li::before { content:attr(data-n); position:absolute; left:22px; top:19px; font-weight:700; font-size:15px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .sinais .fecho { margin-top:26px; font-size:17px; color:var(--texto); font-weight:500; }

  .vs { background:var(--papel); }
  .vs .tabela { margin-top:44px; display:grid; grid-template-columns:1fr 1fr; border-radius:16px; overflow:hidden; box-shadow:0 1px 1px rgba(0,0,0,.08), 0 0 0 1px var(--linha); }
  .vs .col-vs { padding:30px 34px 34px; background:#fff; }
  .vs .col-vs.cfo { background:var(--marinho); color:#fff; }
  .vs .col-vs h3 { font-size:14px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 18px; color:var(--a3); }
  .vs .col-vs.cfo h3 { color:var(--a1); }
  .vs .col-vs ul { list-style:none; margin:0; padding:0; display:grid; gap:0; }
  .vs .col-vs li { padding:14px 0; border-top:1px solid var(--linha); font-size:16px; }
  .vs .col-vs.cfo li { border-color:rgba(255,255,255,.14); }
  .vs .nota { margin-top:22px; color:var(--suave); font-size:15px; }

  .time { background:#fff; }
  .time .cards3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
  .time .papel { border-radius:16px; padding:30px 28px; background:var(--papel); position:relative; }
  .time .papel .nivel { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--a3); }
  .time .papel h3 { font-size:24px; margin:8px 0 12px; font-weight:600; }
  .time .papel p { margin:0; color:var(--suave); font-size:15.5px; }
  .time .selos { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
  .time .selos span { background:#fff; border-radius:5px; padding:12px 18px; font-size:15px; font-weight:500; box-shadow:0 1px 1px rgba(0,0,0,.1), 0 0 0 1px var(--linha); }
  .time .selos span::before { content:"✓"; color:var(--azul); font-weight:700; margin-right:9px; }
  .time .papel.top { background:var(--marinho); color:#fff; } .time .papel.top p { color:#C9D6E3; } .time .papel.top .nivel { color:var(--a1); }

  .entregas { background:var(--marinho); color:#fff; }
  .entregas .grid6 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:44px; background:rgba(255,255,255,.12); border-radius:16px; overflow:hidden; }
  .entregas .ent { background:var(--marinho); padding:30px 28px; transition:background .25s; }
  .entregas .ent:hover { background:#0A3656; }
  .entregas .quando { display:inline-block; font-size:12px; font-weight:600; color:var(--marinho); background:var(--a1); border-radius:999px; padding:3px 10px; }
  .entregas .ent h3 { font-size:19px; margin:14px 0 8px; font-weight:600; }
  .entregas .ent p { margin:0; color:#C9D6E3; font-size:15px; }

  .modelos { background:#fff; }
  .modelos .duo { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; }
  .modelos .mod { border-radius:16px; padding:34px 34px 30px; box-shadow:0 1px 1px rgba(0,0,0,.1), 0 0 0 1px var(--linha); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
  .modelos .mod:hover { transform:translateY(-4px); box-shadow:0 17px 25px rgba(0,0,0,.13), 0 0 0 1px var(--linha); }
  .modelos .mod .rot { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--azul); }
  .modelos .mod h3 { font-size:26px; margin:8px 0 6px; font-weight:600; }
  .modelos .mod .para { color:var(--suave); margin:0 0 20px; }
  .modelos .mod ul { list-style:none; margin:0 0 26px; padding:0; display:grid; gap:10px; }
  .modelos .mod li { padding-left:26px; position:relative; } .modelos .mod li::before { content:"✓"; position:absolute; left:0; color:var(--azul); font-weight:700; }
  .modelos .mod .lnk { margin-top:auto; align-self:flex-start; }
  .modelos .mod.dest { background:var(--papel); }

  .passos { background:var(--papel); }
  .passos .linha4 { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:48px; position:relative; }
  .passos .linha4::before { content:""; position:absolute; left:0; right:0; top:22px; height:2px; background:var(--grad); opacity:.5; }
  .passos .p { position:relative; }
  .passos .bola { width:46px; height:46px; border-radius:50%; background:#fff; border:2px solid var(--azul); display:grid; place-items:center; font-weight:700; color:var(--azul); position:relative; z-index:1; }
  .passos .prazo { font-size:12.5px; font-weight:600; color:var(--a3); margin-top:18px; text-transform:uppercase; letter-spacing:.08em; }
  .passos h3 { font-size:20px; margin:6px 0 8px; font-weight:600; }
  .passos .p p { margin:0; color:var(--suave); font-size:15px; }

  .prova { background:#fff; }
  .prova .grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .prova .nums3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px; }
  .prova .n { font-size:clamp(34px,3vw,46px); font-weight:600; letter-spacing:-.02em; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; display:inline-block; line-height:1; }
  .prova .l { font-size:14px; color:var(--suave); margin-top:8px; }
  .prova .socio { display:grid; grid-template-columns:140px 1fr; gap:24px; align-items:center; background:var(--papel); border-radius:16px; padding:26px; }
  .prova .socio img { width:140px; height:140px; border-radius:50%; object-fit:cover; }
  .prova .socio h3 { margin:0; font-size:20px; } .prova .socio .cargo { font-size:12.5px; color:var(--a3); text-transform:uppercase; letter-spacing:.06em; margin:4px 0 10px; }
  .prova .socio p { margin:0; font-size:15px; color:var(--suave); }

  .faq { background:#fff; }
  .faq .grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; }
  .faq details { border-top:1px solid var(--linha); }
  .faq details:last-child { border-bottom:1px solid var(--linha); }
  .faq summary { list-style:none; cursor:pointer; padding:22px 44px 22px 0; font-size:17.5px; font-weight:600; position:relative; }
  .faq summary::-webkit-details-marker { display:none; }
  .faq summary::after { content:"+"; position:absolute; right:4px; top:16px; font-size:28px; font-weight:300; color:var(--azul); transition:transform .25s; }
  .faq details[open] summary::after { transform:rotate(45deg); }
  .faq details p { margin:0 0 22px; color:var(--suave); font-size:16px; max-width:640px; }
  .partner { margin-top:28px; font-size:14.5px; color:var(--suave); } .partner a { color:var(--azul); font-weight:600; }

  @media (max-width: 900px) {
    .oque .wrap { grid-template-columns:1fr !important; gap:24px !important; }
    .sinais .grid, .prova .grid, .faq .grid, .vs .tabela, .modelos .duo { grid-template-columns:1fr; gap:32px; }
    .time .cards3, .entregas .grid6, .passos .linha4 { grid-template-columns:1fr; } .passos .linha4::before { display:none; }
  }


  /* ===== Versão moderna: painéis arredondados, bento, degraus ===== */
  :root { --painel-r:32px; }
  .painel { max-width:calc(var(--max) + 80px); margin:0 auto; border-radius:var(--painel-r); padding:88px 0; position:relative; overflow:hidden; }
  section.envolve { padding:24px 24px; background:#fff; }
  .centro { text-align:center; margin-left:auto; margin-right:auto; }
  .centro .lead { margin-left:auto; margin-right:auto; }

  /* Sinais: números grandes em degradê, cards arredondados */
  .sinais ul { gap:16px; }
  .sinais li { border-radius:18px; padding:24px 26px 24px 96px; box-shadow:0 1px 2px rgba(6,43,67,.06), 0 0 0 1px var(--linha); }
  .sinais li::before { font-size:34px; font-weight:600; letter-spacing:-.03em; left:26px; top:50%; transform:translateY(-50%); }

  /* Contabilidade x CFO: dois cards flutuantes com selo no meio */
  .vs .painel { background:var(--papel); }
  .vs .tabela { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:52px; border-radius:0; overflow:visible; box-shadow:none; position:relative; }
  .vs .col-vs { border-radius:24px; padding:34px 36px 38px; box-shadow:0 1px 2px rgba(6,43,67,.06), 0 0 0 1px var(--linha); }
  .vs .col-vs.cfo { background:linear-gradient(var(--marinho),var(--marinho)) padding-box, var(--grad-claro) border-box; border:2px solid transparent; box-shadow:0 30px 60px rgba(30,83,163,.28); transform:translateY(-12px); }
  .vs .col-vs li { border-top:0; padding:12px 0 12px 30px; position:relative; }
  .vs .col-vs li::before { content:"•"; position:absolute; left:6px; color:var(--a2); }
  .vs .col-vs.cfo li::before { content:"✓"; color:var(--a1); font-weight:700; left:2px; }
  .vs .selo-vs { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:56px; height:56px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; font-size:22px; box-shadow:0 10px 24px rgba(30,83,163,.35); z-index:2; }
  .vs .nota { text-align:center; margin-top:34px; }

  /* Equipe em degraus */
  .time .cards3 { align-items:end; gap:22px; }
  /* cards da equipe: sem borda; no hover sobem com sombra */
  .time .papel { border-radius:24px; padding:30px 28px 32px; box-shadow:none; background:var(--papel); transition:transform .25s ease, box-shadow .25s ease; }
  .time .papel:hover { transform:translateY(-6px); box-shadow:0 22px 34px rgba(6,43,67,.14); }
  .time .papel.top { background:var(--marinho); box-shadow:0 20px 40px rgba(6,43,67,.22); }
  .time .papel.top:hover { box-shadow:0 34px 60px rgba(6,43,67,.32); }
  .time .papel:nth-child(1) { min-height:330px; } .time .papel:nth-child(2) { min-height:290px; } .time .papel:nth-child(3) { min-height:250px; }
  .time .ico { width:52px; height:52px; border-radius:16px; background:var(--grad); display:grid; place-items:center; margin-bottom:22px; }
  .time .papel.top .ico { background:var(--grad-claro); }
  .time .ico svg { width:26px; height:26px; stroke:#fff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .time .selos { justify-content:center; margin-top:36px; }
  .time .selos span { border-radius:999px; padding:11px 20px; box-shadow:none; background:var(--papel); }

  /* Entregas em bento */
  .entregas { background:#fff; padding:24px; color:#fff; }
  .entregas .painel { background:var(--marinho) radial-gradient(ellipse at 85% 0%, rgba(65,141,255,.28), transparent 55%); }
  .entregas .bento { display:grid; grid-template-columns:1.25fr 1fr 1fr; grid-template-rows:auto auto; gap:18px; margin-top:52px; }
  .entregas .ent { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:22px; padding:28px; transition:background .25s, transform .25s; }
  .entregas .ent:hover { background:rgba(255,255,255,.09); transform:translateY(-4px); }
  .entregas .ent.grande { grid-row:span 2; display:flex; flex-direction:column; align-items:flex-start; }
  .entregas .ent.grande .mini-dre { align-self:stretch; }
  .entregas .ent.grande h3 { font-size:24px; }
  .entregas .mini-dre { margin-top:auto; padding-top:26px; display:grid; gap:10px; }
  .entregas .mini-dre .lin { display:grid; grid-template-columns:110px 1fr 54px; gap:12px; align-items:center; font-size:13px; color:#C9D6E3; }
  .entregas .mini-dre .bar { height:8px; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden; }
  .entregas .mini-dre .bar i { display:block; height:100%; border-radius:6px; background:var(--grad-claro); }
  .entregas .mini-dre .v { text-align:right; color:#fff; font-weight:600; }
  .entregas .grid6 { display:none; }

  /* Modelos: recomendado com borda em degradê */
  .modelos .mod { border-radius:24px; }
  .modelos .mod.dest { background:linear-gradient(#fff,#fff) padding-box, var(--grad) border-box; border:2px solid transparent; box-shadow:0 24px 48px rgba(30,83,163,.14); position:relative; }
  .modelos .mod.dest::after { content:"Mais completo"; position:absolute; top:-13px; right:28px; font-size:12px; font-weight:600; color:#fff; background:var(--grad); border-radius:999px; padding:5px 12px; }

  /* Passos em painel arredondado, cards */
  .passos { background:#fff; padding:24px; }
  .passos .painel { background:var(--papel); }
  /* passos: sem borda; no hover sobem e ficam azul-escuros */
  .passos .p { background:#fff; border-radius:22px; padding:26px 24px 28px; box-shadow:none; transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
  .passos .p:hover { transform:translateY(-6px); background:var(--marinho); box-shadow:0 22px 34px rgba(6,43,67,.25); }
  .passos .p:hover h3 { color:#fff; } .passos .p:hover p { color:#C9D6E3; } .passos .p:hover .prazo { color:var(--a1); }
  .passos .p:hover .bola { background:#fff; color:var(--marinho); }
  .passos .p h3, .passos .p p, .passos .p .prazo, .passos .bola { transition:color .25s, background .25s; }
  .passos .linha4::before { top:49px; left:40px; right:40px; }
  .passos .bola { background:var(--grad); border:0; color:#fff; }

  /* Prova e FAQ mais leves */
  .prova .socio { border-radius:24px; }
  .faq details { border-top:0; border-bottom:0 !important; background:var(--papel); border-radius:16px; margin-bottom:10px; padding:0 24px; transition:background .2s; }
  .faq details[open] { background:#fff; box-shadow:0 1px 2px rgba(6,43,67,.06), 0 0 0 1px var(--linha); }
  .faq summary::after { right:0; }
  .faq .grid > div:first-child { padding-top:52px; }   /* título do FAQ desce uma linha */
  .faq .grid > div:first-child .eyebrow { display:block; margin-bottom:22px; }   /* respiro entre o eyebrow e o título */
  /* FAQ mais compacto: perguntas com altura menor */
  .faq details { margin-bottom:8px; padding:0 20px; border-radius:12px; }
  .faq summary { padding:13px 36px 13px 0; font-size:16px; }
  .faq summary::after { top:7px; font-size:24px; }
  .faq details p { margin:0 0 16px; font-size:15px; }

  @media (max-width: 900px) {
    .painel { padding:64px 0; border-radius:24px; }
    .vs .tabela, .entregas .bento { grid-template-columns:1fr; } .vs .selo-vs { display:none; } .vs .col-vs.cfo { transform:none; }
    .entregas .ent.grande { grid-row:auto; } .time .papel { min-height:0 !important; }
  }


  /* ===== Dobra Tecnologia: texto + painel de BI desenhado ===== */
  .tec { background:#fff; }
  .tec .grid { display:grid; grid-template-columns:.79fr 1.21fr; gap:72px; align-items:center; }   /* BI ~10% maior */
  .tec .itens { display:grid; gap:14px; margin-top:30px; }
  .tec .itens { gap:10px; }
  /* cards só com título: mais baixos, sem borda; no hover sobem e ficam azuis */
  .tec .item { display:grid; grid-template-columns:38px 1fr; gap:14px; align-items:center; padding:12px 16px; border-radius:14px; background:var(--papel); transition:transform .2s, box-shadow .2s, background .25s; }
  .tec .item:hover { transform:translateY(-4px); box-shadow:0 17px 25px rgba(30,83,163,.22); background:var(--azul); }
  .tec .item .ico { width:38px; height:38px; border-radius:11px; background:var(--grad); display:grid; place-items:center; transition:background .25s; }
  .tec .item:hover .ico { background:rgba(255,255,255,.18); }
  .tec .item .ico svg { width:20px; height:20px; stroke:#fff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .tec .item h3 { font-size:16px; margin:0; font-weight:600; transition:color .25s; }
  .tec .item:hover h3 { color:#fff; }
  .tec .palco { position:relative; padding:28px 28px 40px 0; }
  .tec .palco::before { content:""; position:absolute; inset:8% -6% -4% 10%; border-radius:40px; background:radial-gradient(ellipse at 60% 40%, rgba(65,141,255,.22), transparent 65%); z-index:0; }
  @media (max-width: 900px) { .tec .grid { grid-template-columns:1fr; gap:40px; } }


  /* ===== Página CFO Partner ===== */
  .pg-hero.partner .foto { background-image:url('/wp-content/uploads/solidy/hero-cena-5-executivo-poster.webp'); background-position:62% 40%; }
  .pg-hero.partner h1 { color:#fff; }
  .pg-hero.partner .foto::after { background:linear-gradient(90deg, rgba(6,43,67,.97) 0%, rgba(6,43,67,.9) 42%, rgba(6,43,67,.35) 78%, rgba(6,43,67,.15) 100%), linear-gradient(0deg, rgba(6,43,67,.6), transparent 40%); }

  .mercado { background:#fff; }
  .mercado .stats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:44px; }
  .mercado .st { background:var(--papel); border-radius:16px; padding:30px 28px 26px; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s; }
  .mercado .st:hover { transform:translateY(-6px); box-shadow:0 17px 25px rgba(0,0,0,.13); }
  .mercado .st .n { font-size:46px; font-weight:700; letter-spacing:-.02em; line-height:1; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .mercado .st p { margin:18px 0 0; font-size:15.5px; color:var(--texto); }
  .mercado .st .fonte { margin-top:auto; padding-top:16px; font-size:12.5px; color:var(--suave); }

  .caminhos .painel { background:var(--papel); }
  .caminhos .tab { margin-top:44px; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 1px 1px rgba(0,0,0,.1), 0 0 0 1px var(--linha); }
  .caminhos table { width:100%; border-collapse:collapse; }
  .caminhos th, .caminhos td { text-align:left; vertical-align:top; padding:18px 24px; font-size:15.5px; }
  .caminhos thead th { padding:24px; color:#fff; }
  .caminhos thead th strong { display:block; font-size:20px; font-weight:600; }
  .caminhos thead th span { display:block; margin-top:4px; font-size:14px; font-weight:400; color:#DCE5EE; }
  .caminhos thead th.c1 { background:var(--marinho); } .caminhos thead th.c2 { background:var(--grad); }
  .caminhos thead th.vazio { background:#fff; }
  .caminhos .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .caminhos tbody th { width:24%; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--a3); }
  .caminhos tbody tr + tr > * { border-top:1px solid var(--linha); }
  .caminhos tbody td:nth-child(3) { background:#F2F6FB; }

  .time .cards4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:44px; }
  .time .cards4 .papel { transition:transform .25s, box-shadow .25s; }
  .time .cards4 .papel:hover { transform:translateY(-6px); box-shadow:0 17px 25px rgba(0,0,0,.13); }
  .time .papel .freq { margin-top:18px; padding-top:14px; border-top:1px solid var(--linha); font-size:14px; color:var(--suave); }
  .time .papel.top .freq { border-color:rgba(255,255,255,.18); color:#C9D6E3; }

  .passos .ritmo { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
  .passos .ritmo div { background:#fff; border-radius:14px; padding:18px 22px; border-left:3px solid var(--azul); }
  .passos .ritmo strong { display:block; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--marinho); }
  .passos .ritmo span { display:block; margin-top:4px; color:var(--suave); font-size:15px; }

  .benef { background:#fff; }
  .benef .g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; }
  .benef .b { background:var(--papel); border-radius:14px; padding:22px 24px; transition:transform .25s, background .25s, box-shadow .25s; }
  .benef .b h3 { font-size:17px; font-weight:600; margin:0 0 8px; transition:color .25s; }
  .benef .b p { margin:0; font-size:14.5px; color:var(--suave); transition:color .25s; }
  .benef .b:hover { transform:translateY(-6px); background:var(--azul); box-shadow:0 17px 25px rgba(6,43,67,.2); }
  .benef .b:hover h3 { color:#fff; } .benef .b:hover p { color:#DCE5EE; }
  .benef .aviso { margin-top:26px; font-size:15.5px; color:var(--suave); max-width:900px; }
  .benef .aviso strong { color:var(--texto); }

  .marca .g3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:52px; }
  .marca .ent { border-radius:16px; background:rgba(255,255,255,.05); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); }
  .marca .ent:hover { background:rgba(255,255,255,.1); }
  .marca .ent.dest { box-shadow:inset 0 0 0 1px var(--a1); }

  .entrar { background:#fff; }
  .entrar .linha6 { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-top:44px; }
  .entrar .et { background:var(--papel); border-radius:14px; padding:20px 18px 22px; border-top:3px solid var(--azul); }
  .entrar .et .num { font-size:13px; font-weight:700; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .entrar .et h3 { font-size:16px; font-weight:600; margin:8px 0 6px; }
  .entrar .et p { margin:0; font-size:14px; color:var(--suave); }
  .entrar .duo { margin-top:24px; }
  .entrar .mod h3 { font-size:21px; }
  .entrar .mod ul { margin-bottom:0; }
  .entrar .mod li::before { content:"→"; }
  .entrar .rodape-e { margin-top:22px; font-size:15px; color:var(--suave); }
  .entrar .rodape-e strong { color:var(--texto); }

  /* Dobra em degradê (referência: findrive.com.br/comunidade): marinho com brilho azul vindo dos cantos */
  section.grad-dobra .painel { background:
      radial-gradient(130% 100% at 88% -12%, rgba(65,141,255,.42), transparent 62%),
      radial-gradient(80% 90% at -5% 110%, rgba(30,83,163,.55), transparent 60%),
      linear-gradient(135deg, #041F31 0%, #062B43 48%, #0B3D68 100%); color:#fff; }
  section.grad-dobra .lead { color:#C9D6E3; }
  .caminhos.grad-dobra .tab { box-shadow:0 30px 60px rgba(0,0,0,.35); }
  .caminhos .tab tbody { color:var(--texto); }
  .caminhos.grad-dobra thead th.vazio { background:#F7F9FB; }
  @media (max-width:1100px) {
    .mercado .stats, .time .cards4, .benef .g4 { grid-template-columns:repeat(2,1fr); }
    .entrar .linha6 { grid-template-columns:repeat(3,1fr); }
  }
  @media (max-width:720px) {
    .mercado .stats, .time .cards4, .benef .g4, .marca .g3, .passos .ritmo, .entrar .linha6 { grid-template-columns:1fr; }
    .caminhos .tab { overflow-x:auto; } .caminhos table { min-width:640px; }
  }


  /* ===== Página BPO Financeiro ===== */
  .pg-hero.fin .foto { background-image:url('/wp-content/uploads/solidy/fin-hero.webp'); background-position:62% 30%; }
  .pg-hero.fin h1 { color:#fff; }
  .pg-hero.fin .foto::after { background:linear-gradient(90deg, rgba(12,16,20,.78) 0%, rgba(12,16,20,.62) 32%, rgba(12,16,20,.18) 58%, rgba(12,16,20,0) 75%), linear-gradient(0deg, rgba(12,16,20,.35), transparent 35%); }
  .multi.fin-global .foto-m { background-image:url('/wp-content/uploads/solidy/fin-filiais.webp'); background-position:45% center; }
  .troca.fin-troca .foto-t { background-image:url('/wp-content/uploads/solidy/fin-transicao.webp'); background-position:50% center; }
  .gov .fluxo { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:48px; position:relative; }
  .gov .fluxo::before { content:""; position:absolute; left:6%; right:6%; top:38px; height:2px; background:var(--grad-claro); opacity:.45; }
  .gov .etapa { position:relative; border-radius:18px; padding:26px 24px 26px; background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); transition:transform .25s, background .25s; }
  .gov .etapa:hover { transform:translateY(-6px); background:rgba(255,255,255,.1); }
  .gov .etapa .n { width:26px; height:26px; border-radius:50%; background:var(--grad-claro); color:var(--marinho); font-weight:700; font-size:13px; display:grid; place-items:center; position:relative; z-index:1; }
  .gov .etapa .quem { margin-top:16px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--a1); }
  .gov .etapa h3 { font-size:19px; font-weight:600; margin:6px 0 8px; }
  .gov .etapa p { margin:0; font-size:14.5px; color:#C9D6E3; }
  .gov .etapa.voce { background:#fff; color:var(--marinho); box-shadow:0 24px 50px rgba(0,0,0,.3); }
  .gov .etapa.voce .quem { color:var(--azul); } .gov .etapa.voce p { color:var(--suave); }
  .gov .controles { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:30px; }
  .gov .controles span { font-size:14px; padding:9px 16px; border-radius:999px; background:rgba(255,255,255,.08); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); color:#E6EEF5; }
  .gov .controles span::before { content:"✓"; color:var(--a1); font-weight:700; margin-right:8px; }
  @media (max-width:1100px) { .gov .fluxo { grid-template-columns:repeat(2,1fr); } .gov .fluxo::before { display:none; } }
  @media (max-width:720px) { .gov .fluxo { grid-template-columns:1fr; } }
  .video-s { background:var(--papel); }
  .video-s .grid2 { display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center; }
  .video-s .player { position:relative; aspect-ratio:16/9; border-radius:20px; overflow:hidden; background:#062B43 url('/wp-content/uploads/solidy/video-solidy-poster.webp') center/cover; box-shadow:0 30px 60px rgba(6,43,67,.22); cursor:pointer; border:0; padding:0; width:100%; display:block; }
  .video-s .player::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(6,43,67,.45), rgba(6,43,67,.05) 60%); transition:opacity .25s; }
  .video-s .player:hover::after { opacity:.6; }
  .video-s .play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:84px; height:84px; border-radius:50%; background:#fff; display:grid; place-items:center; z-index:1; box-shadow:0 12px 30px rgba(0,0,0,.3); transition:transform .25s; }
  .video-s .player:hover .play { transform:translate(-50%,-50%) scale(1.08); }
  .video-s .play svg { width:30px; height:30px; margin-left:5px; fill:var(--marinho); }
  .video-s .player .dur { position:absolute; left:18px; bottom:16px; z-index:1; color:#fff; font-size:14px; font-weight:600; }
  .video-s iframe { position:absolute; inset:0; width:100%; height:100%; border:0; z-index:2; }
  .video-s .player.tocando { cursor:default; background:#000; }
  .video-s .player.tocando::after { display:none; }   /* sem o véu, os controles do YouTube (pause, volume, tela cheia) recebem o clique */
  .video-s .canal { display:inline-block; margin-top:22px; }
  @media (max-width:1100px) { .video-s .grid2 { grid-template-columns:1fr; } }
  /* Faixa de sistemas que operamos: letreiros passando em loop (pausa ao passar o mouse; parada com movimento reduzido) */
  .sistemas { background:var(--marinho) radial-gradient(ellipse at 80% 0%, rgba(65,141,255,.25), transparent 60%); color:#fff; padding:64px 0 70px; overflow:hidden; }
  .sistemas .topo-s { display:flex; justify-content:space-between; align-items:end; gap:32px; flex-wrap:wrap; }
  .sistemas h2 { color:#fff; margin:8px 0 0; max-width:640px; }
  .sistemas .topo-s p { color:#C9D6E3; max-width:420px; margin:0; font-size:16px; }
  .sistemas .faixa { margin-top:40px; position:relative; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
  .sistemas .trilho { display:flex; gap:18px; width:max-content; animation:passa 38s linear infinite; }
  .sistemas .faixa:hover .trilho { animation-play-state:paused; }
  .sistemas .logo-s { flex:none; width:200px; height:88px; padding:0 30px; border-radius:16px; display:grid; place-items:center; background:#E8EDF2; box-shadow:0 10px 24px rgba(0,0,0,.18); transition:transform .25s; }
  .sistemas .logo-s img { max-width:128px; max-height:38px; width:auto; height:auto; object-fit:contain; }
  .sistemas .logo-s:hover { transform:translateY(-4px); }
  .sistemas .logo-s.leve { font-weight:500; } .sistemas .logo-s.caixa { letter-spacing:.06em; }
  .sistemas .nota-s { margin-top:22px; color:#9FB3C6; font-size:13.5px; text-align:center; }
  @keyframes passa { from { transform:translateX(0); } to { transform:translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { .sistemas .trilho { animation:none; flex-wrap:wrap; width:auto; justify-content:center; } .sistemas .trilho .dup { display:none; } }
  /* Dobra IA + Agentes: esfera de partículas em canvas + cartões que acendem em sequência */
  .ia { padding:24px; background:#fff; }
  .ia .painel-ia { border-radius:28px; overflow:hidden; position:relative; background:radial-gradient(ellipse at 28% 50%, rgba(65,141,255,.22), transparent 55%), linear-gradient(135deg, #03131F 0%, #052338 55%, #0A3556 100%); color:#fff; }
  .ia .grid-ia { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; min-height:560px; }
  .ia .cena { position:relative; height:560px; }
  .ia canvas { position:absolute; inset:0; width:100%; height:100%; }
  .ia .ag { position:absolute; display:flex; gap:12px; align-items:center; padding:12px 16px 12px 12px; border-radius:16px; background:rgba(255,255,255,.07); box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); max-width:250px; animation:flutua 6s ease-in-out infinite; transition:background .5s, box-shadow .5s, transform .5s; }
  .ia .ag .i { flex:none; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:rgba(65,141,255,.18); }
  .ia .ag .i svg { width:20px; height:20px; fill:none; stroke:#A3C5F1; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .ia .ag strong { display:block; font-size:14.5px; } .ia .ag small { display:block; font-size:12.5px; color:#B9CAD9; margin-top:2px; line-height:1.35; }
  .ia .ag.on { background:rgba(65,141,255,.22); box-shadow:inset 0 0 0 1px rgba(163,197,241,.6), 0 0 34px rgba(65,141,255,.35); }
  .ia .ag.a1 { left:6%; top:12%; } .ia .ag.a2 { right:4%; top:20%; animation-delay:-1.5s; }
  .ia .ag.a3 { left:2%; bottom:20%; animation-delay:-3s; } .ia .ag.a4 { right:8%; bottom:10%; animation-delay:-4.5s; }
  @keyframes flutua { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
  .ia .txt-ia { padding:56px 64px 56px 0; }
  .ia .txt-ia h2 { color:#fff; }
  .ia .txt-ia .lead { color:#C9D6E3; }
  .ia .passos-ia { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 30px; }
  .ia .passos-ia span { font-size:14px; padding:9px 15px; border-radius:999px; background:rgba(255,255,255,.07); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); color:#E6EEF5; }
  .ia .passos-ia span b { color:#A3C5F1; font-weight:700; margin-right:6px; }
  .ia .btn-ia { display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; background:linear-gradient(90deg,#418DFF,#A3C5F1); color:#052338; font-weight:700; font-size:15px; text-decoration:none; transition:transform .2s, box-shadow .2s; }
  .ia .btn-ia:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(65,141,255,.4); }
  @media (max-width:1100px) { .ia .grid-ia { grid-template-columns:1fr; } .ia .txt-ia { padding:0 32px 48px; } .ia .cena { height:460px; } }
  @media (prefers-reduced-motion: reduce) { .ia .ag { animation:none; } }
  /* Escopo em 4 blocos: o que a Solidy faz × o que fica com você (referência: Sevilha) */
  .blocos .g2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:44px; }
  .blocos .bl { background:var(--papel); border-radius:20px; padding:30px 30px 26px; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s; }
  .blocos .bl:hover { transform:translateY(-6px); box-shadow:0 17px 25px rgba(0,0,0,.1); }
  .blocos .bl .cab { display:flex; gap:14px; align-items:center; }
  .blocos .bl .ico { flex:none; width:46px; height:46px; border-radius:14px; background:#fff; display:grid; place-items:center; }
  .blocos .bl .ico svg { width:23px; height:23px; fill:none; stroke:var(--azul); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .blocos .bl h3 { font-size:21px; font-weight:600; margin:0; }
  .blocos .bl .desc { color:var(--suave); font-size:15px; margin:14px 0 18px; }
  .blocos .bl .rot { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--a3); margin-bottom:10px; }
  .blocos .bl ul { list-style:none; margin:0 0 20px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; }
  .blocos .bl li { padding-left:22px; position:relative; font-size:14.5px; }
  .blocos .bl li::before { content:"✓"; position:absolute; left:0; color:var(--azul); font-weight:700; }
  .blocos .bl .voce { margin-top:auto; background:#fff; border-radius:14px; padding:14px 16px; display:flex; gap:12px; align-items:flex-start; box-shadow:inset 3px 0 0 var(--azul); }
  .blocos .bl .voce b { flex:none; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--azul); padding-top:2px; }
  .blocos .bl .voce span { font-size:15px; color:var(--texto); font-weight:500; }
  .blocos .sob { margin-top:26px; text-align:center; color:var(--suave); font-size:15.5px; }
  .blocos .sob strong { color:var(--texto); }
  @media (max-width:1100px) { .blocos .g2 { grid-template-columns:1fr; } }
  @media (max-width:720px) { .blocos .bl ul { grid-template-columns:1fr; } }
  /* Faixa "janela": a foto fica parada atrás e o conteúdo rola por cima (clip-path + position:fixed funciona também no iPhone) */
  .janela { position:relative; height:min(78vh, 640px); clip-path:inset(0); display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; }
  .janela .fixa { position:fixed; inset:0; background:url('/wp-content/uploads/solidy/fundo-escritorio.webp') center/cover; z-index:0; }
  .janela .fixa::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,14,18,.55), rgba(10,14,18,.35)); }
  .janela .txt-j { position:relative; z-index:1; max-width:820px; padding:0 24px; }
  .janela .txt-j .eyebrow { color:#E6EEF5; }
  .janela .txt-j h2 { color:#fff; font-size:clamp(36px,4.6vw,64px); line-height:1.05; letter-spacing:-.03em; font-weight:600; margin:14px 0 18px; text-shadow:0 2px 24px rgba(0,0,0,.25); }
  .janela .txt-j p { color:#F0F4F8; font-size:18px; margin:0; text-shadow:0 1px 12px rgba(0,0,0,.3); }
  /* 4 blocos mais compactos (Rocélio, 14/10/2026) */
  .blocos .g2 { gap:16px; margin-top:36px; }
  .blocos .bl { padding:22px 24px 20px; border-radius:18px; }
  .blocos .bl .cab { margin-bottom:16px; gap:12px; }
  .blocos .bl .ico { width:38px; height:38px; border-radius:11px; }
  .blocos .bl .ico svg { width:20px; height:20px; }
  .blocos .bl h3 { font-size:18px; }
  .blocos .bl .rot { margin-bottom:8px; font-size:11px; }
  .blocos .bl ul { gap:6px 16px; margin-bottom:14px; }
  .blocos .bl li { font-size:14px; padding-left:20px; }
  .blocos .bl .linha-corte { margin:0 6px 12px; }
  .blocos .bl .voce { padding:10px 16px 10px 14px; }
  .blocos .bl .voce .eu { width:30px; height:30px; }
  .blocos .bl .voce .eu svg { width:15px; height:15px; }
  .blocos .bl .voce span { font-size:14px; }
  /* ===== Página Departamento Pessoal ===== */
  .pg-hero.dp .foto { background-image:url('/wp-content/uploads/solidy/dp-hero.webp'); background-position:62% 35%; }
  .pg-hero.dp h1 { color:#fff; }
  .pg-hero.dp .foto::after { background:linear-gradient(90deg, rgba(12,16,20,.78) 0%, rgba(12,16,20,.62) 32%, rgba(12,16,20,.18) 58%, rgba(12,16,20,0) 75%), linear-gradient(0deg, rgba(12,16,20,.35), transparent 35%); }
  .multi.dp-global .foto-m { background-image:url('/wp-content/uploads/solidy/dp-global.webp'); background-position:45% center; }
  .troca.dp-troca .foto-t { background-image:url('/wp-content/uploads/solidy/dp-transicao.webp'); background-position:50% center; }
  .mapa .ob .prazo-l { font-weight:600; color:var(--marinho); font-size:13.5px; text-align:right; }
  .mapa .nota-cal { font-size:12.5px; color:var(--suave); margin:12px 6px 0; }
  .publico .tri { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
  .publico .pc .fala { font-size:22px; font-weight:600; letter-spacing:-.01em; margin:18px 0 10px; line-height:1.25; }
  .publico .pc .fala::before { content:"“"; color:var(--a2); } .publico .pc .fala::after { content:"”"; color:var(--a2); }
  .publico .pc p.txt { margin:0; font-size:15.5px; color:var(--suave); } .publico .pc.mn p.txt { color:#C9D6E3; }
  @media (max-width:1100px) { .publico .tri { grid-template-columns:1fr; } }
  /* ===== Página Fiscal (reaproveita os blocos da página Contabilidade) ===== */
  .pg-hero.fiscal .foto { background-image:url('/wp-content/uploads/solidy/fiscal-hero.webp'); background-position:70% 30%; }
  .pg-hero.fiscal h1 { color:#fff; }
  .pg-hero.fiscal .foto::after { background:linear-gradient(90deg, rgba(12,16,20,.78) 0%, rgba(12,16,20,.62) 32%, rgba(12,16,20,.18) 58%, rgba(12,16,20,0) 75%), linear-gradient(0deg, rgba(12,16,20,.35), transparent 35%); }
  .multi.fiscal-op .foto-m { background-image:url('/wp-content/uploads/solidy/fiscal-operacao.webp'); background-position:50% center; }
  .reforma.destaque .ano.agora { background:var(--marinho); } .reforma.destaque .ano.agora p { color:#C9D6E3; }
  .reforma.destaque .ano.agora .a { background:var(--grad-claro); -webkit-background-clip:text; background-clip:text; }
  .reforma .linha-t.l4 { grid-template-columns:repeat(4,1fr); }
  .papeis .duo2 .pc .lnk { display:inline-block; margin-top:22px; }
  .mapa { background:#fff; }
  .mapa .grid-mapa { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
  .mapa .cal { border-radius:20px; padding:22px; background:var(--papel); box-shadow:0 1px 1px rgba(0,0,0,.06); }
  .mapa .cal-top { display:flex; justify-content:space-between; align-items:baseline; padding:4px 6px 14px; }
  .mapa .cal-top strong { font-size:16px; } .mapa .cal-top span { font-size:12px; color:var(--suave); }
  .mapa .ob { display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:center; background:#fff; border-radius:12px; padding:13px 16px; margin-top:8px; font-size:14.5px; transition:transform .2s, box-shadow .2s; }
  .mapa .ob:hover { transform:translateX(4px); box-shadow:0 8px 18px rgba(6,43,67,.08); }
  .mapa .ob .tipo { color:var(--suave); font-size:13px; }
  .mapa .ob .st { font-size:12px; font-weight:600; padding:4px 10px; border-radius:999px; }
  .mapa .st.ok { background:#E4F4EA; color:#1E7A45; } .mapa .st.ag { background:#E6EFFB; color:#1E53A3; } .mapa .st.pr { background:#EEF1F4; color:#5C6B76; }
  @media (max-width:1100px) { .mapa .grid-mapa { grid-template-columns:1fr; } }
  /* ===== Página Contabilidade ===== */
  .pg-hero.contab .foto { background-image:url('/wp-content/uploads/solidy/contab-hero.webp'); background-position:68% 30%; }
  .pg-hero.contab h1 { color:#fff; }
  .pg-hero.contab .foto::after { background:linear-gradient(90deg, rgba(12,16,20,.78) 0%, rgba(12,16,20,.62) 32%, rgba(12,16,20,.18) 58%, rgba(12,16,20,0) 75%), linear-gradient(0deg, rgba(12,16,20,.35), transparent 35%); }
  .pg-hero .regimes { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
  .pg-hero .regimes span { font-size:13.5px; padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.1); box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); color:#E6EEF5; }

  .publico { background:#fff; }
  .publico .duo2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; }
  .publico .pc { border-radius:20px; padding:34px 34px 30px; background:var(--papel); transition:transform .25s, box-shadow .25s; }
  .publico .pc:hover { transform:translateY(-6px); box-shadow:0 17px 25px rgba(0,0,0,.13); }
  .publico .pc.mn { background:var(--marinho); color:#fff; }
  .publico .pc .ico { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:#fff; box-shadow:0 1px 1px rgba(0,0,0,.08); }
  .publico .pc.mn .ico { background:rgba(255,255,255,.1); box-shadow:none; }
  .publico .pc .ico svg { width:24px; height:24px; fill:none; stroke:var(--azul); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .publico .pc.mn .ico svg { stroke:var(--a1); }
  .publico .pc h3 { font-size:24px; font-weight:600; margin:18px 0 6px; }
  .publico .pc .sub { color:var(--suave); margin:0 0 18px; font-size:15.5px; }
  .publico .pc.mn .sub { color:#C9D6E3; }
  .publico .pc ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:15.5px; }
  .publico .pc li { padding-left:26px; position:relative; }
  .publico .pc li::before { content:"✓"; position:absolute; left:0; color:var(--azul); font-weight:700; }
  .publico .pc.mn li::before { color:var(--a1); }
  .publico .pc .lnk { display:inline-block; margin-top:22px; }
  .publico .pc.mn .lnk { color:#fff; border-color:var(--a1); }

  .escopo .painel { background:var(--papel); }
  .escopo .g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; }
  .escopo .b { background:#fff; border-radius:16px; padding:24px 24px 26px; transition:transform .25s, background .25s, box-shadow .25s; }
  .escopo .b .ico { width:40px; height:40px; border-radius:12px; background:var(--papel); display:grid; place-items:center; margin-bottom:16px; transition:background .25s; }
  .escopo .b .ico svg { width:21px; height:21px; fill:none; stroke:var(--azul); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:stroke .25s; }
  .escopo .b h3 { font-size:17px; font-weight:600; margin:0 0 8px; transition:color .25s; }
  .escopo .b p { margin:0; font-size:14.5px; color:var(--suave); transition:color .25s; }
  .escopo .b:hover { transform:translateY(-6px); background:var(--marinho); box-shadow:0 22px 34px rgba(6,43,67,.25); }
  .escopo .b:hover h3 { color:#fff; } .escopo .b:hover p { color:#C9D6E3; }
  .escopo .b:hover .ico { background:rgba(255,255,255,.1); } .escopo .b:hover .ico svg { stroke:var(--a1); }

  .multi .grid2 { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
  .multi .lista { list-style:none; margin:26px 0 0; padding:0; display:grid; gap:12px; }
  .multi .lista li { padding:14px 18px 14px 46px; position:relative; border-radius:12px; background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); font-size:15.5px; color:#E6EEF5; }
  .multi .lista li::before { content:"✓"; position:absolute; left:18px; top:13px; color:var(--a1); font-weight:700; }
  .multi .foto-m { border-radius:20px; overflow:hidden; aspect-ratio:4/5; background:url('/wp-content/uploads/solidy/contab-matriz.webp') 40% center/cover; box-shadow:0 30px 60px rgba(0,0,0,.35); position:relative; }
  .multi .foto-m .selo-m { position:absolute; left:18px; right:18px; bottom:18px; background:rgba(6,43,67,.82); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-radius:14px; padding:16px 18px; color:#fff; font-size:14.5px; }
  .multi .foto-m .selo-m strong { display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--a1); margin-bottom:4px; }
  .multi .nota-m { margin-top:20px; color:#C9D6E3; font-size:14.5px; }

  .digital { background:#fff; }
  .digital .g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; }
  .digital .d { border-radius:16px; padding:26px 24px; box-shadow:0 1px 1px rgba(0,0,0,.1), 0 0 0 1px var(--linha); transition:transform .25s, box-shadow .25s; }
  .digital .d:hover { transform:translateY(-6px); box-shadow:0 17px 25px rgba(0,0,0,.13), 0 0 0 1px var(--linha); }
  .digital .d .k { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .digital .d h3 { font-size:18px; font-weight:600; margin:10px 0 8px; }
  .digital .d p { margin:0; font-size:14.5px; color:var(--suave); }

  .reforma .painel { background:var(--papel); }
  .reforma .grid2 { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
  .reforma .linha-t { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:6px; }
  .reforma .ano { background:#fff; border-radius:14px; padding:18px 20px; }
  .reforma .ano .a { font-size:26px; font-weight:700; letter-spacing:-.02em; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .reforma .ano p { margin:6px 0 0; font-size:14.5px; color:var(--suave); }
  .reforma .acoes-r { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:10px; }
  .reforma .acoes-r li { padding-left:26px; position:relative; font-size:15.5px; }
  .reforma .acoes-r li::before { content:"→"; position:absolute; left:0; color:var(--azul); font-weight:700; }

  .conecta { background:#fff; }
  .conecta .g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px; }
  .conecta a.cx { display:flex; flex-direction:column; border-radius:16px; padding:26px 24px; background:var(--papel); color:inherit; text-decoration:none; transition:transform .25s, background .25s, box-shadow .25s; }
  .conecta a.cx .rot { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--a3); }
  .conecta a.cx h3 { font-size:20px; font-weight:600; margin:8px 0 8px; }
  .conecta a.cx p { margin:0 0 18px; font-size:14.5px; color:var(--suave); }
  .conecta a.cx .ir { margin-top:auto; font-weight:600; color:var(--azul); font-size:14.5px; }
  .conecta a.cx:hover { transform:translateY(-6px); background:var(--azul); box-shadow:0 17px 25px rgba(6,43,67,.2); }
  .conecta a.cx:hover h3, .conecta a.cx:hover .ir { color:#fff; } .conecta a.cx:hover p { color:#DCE5EE; } .conecta a.cx:hover .rot { color:var(--a1); }

  .troca .painel { background:var(--papel); }
  .troca .grid2 { display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center; }
  .troca .foto-t { border-radius:20px; aspect-ratio:4/5; background:url('/wp-content/uploads/solidy/contab-troca.webp') 55% center/cover; }
  .troca .passos4 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
  .troca .et { background:#fff; border-radius:14px; padding:20px 20px 22px; border-top:3px solid var(--azul); }
  .troca .et .num { font-size:13px; font-weight:700; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .troca .et h3 { font-size:16.5px; font-weight:600; margin:8px 0 6px; }
  .troca .et p { margin:0; font-size:14.5px; color:var(--suave); }
  .troca .btn { margin-top:26px; }

  @media (max-width:1100px) {
    .escopo .g4, .digital .g4, .conecta .g4 { grid-template-columns:repeat(2,1fr); }
    .multi .grid2, .reforma .grid2, .troca .grid2, .publico .duo2 { grid-template-columns:1fr; }
  }
  @media (max-width:720px) {
    .escopo .g4, .digital .g4, .conecta .g4, .reforma .linha-t, .troca .passos4 { grid-template-columns:1fr; }
  }
  /* ===== Sem barra lateral de destaque (Rocélio, 14/10/2026): elementos próprios no lugar ===== */
  /* ritmo: ponto de linha do tempo com halo, no lugar da barra azul à esquerda */
  .passos .ritmo div { border-left:0; position:relative; padding:18px 22px 18px 52px; }
  .passos .ritmo div::before { content:""; position:absolute; left:20px; top:21px; width:14px; height:14px; border-radius:50%; background:var(--grad); box-shadow:0 0 0 5px rgba(65,141,255,.14), 0 0 0 10px rgba(65,141,255,.06); }
  /* etapas: número num selo em degradê, no lugar da barra azul no topo */
  .entrar .et, .troca .et { border-top:0; }
  .entrar .et .num, .troca .et .num { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:11px; background:var(--grad); -webkit-background-clip:border-box; background-clip:border-box; color:#fff; font-size:13px; box-shadow:0 6px 14px rgba(30,83,163,.25); }
  /* "Sua parte": bilhete com recortes laterais (o canhoto que fica com você) e ícone de pessoa em degradê */
  .blocos .bl .voce { box-shadow:none; background:linear-gradient(120deg, #EAF2FF 0%, #FFFFFF 75%); padding:14px 18px 14px 16px; align-items:center;
    -webkit-mask:radial-gradient(circle 9px at 0 50%, transparent 8.5px, #000 9px) left/51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, transparent 8.5px, #000 9px) right/51% 100% no-repeat;
            mask:radial-gradient(circle 9px at 0 50%, transparent 8.5px, #000 9px) left/51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, transparent 8.5px, #000 9px) right/51% 100% no-repeat; }
  .blocos .bl .voce .eu { flex:none; width:36px; height:36px; border-radius:50%; background:var(--grad); display:grid; place-items:center; margin-left:8px; box-shadow:0 6px 14px rgba(30,83,163,.25); }
  .blocos .bl .voce .eu svg { width:18px; height:18px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; }
  .blocos .bl .voce .q { display:flex; flex-direction:column; gap:2px; }
  .blocos .bl .voce b { padding:0; font-size:11.5px; }
  .blocos .bl { --corte:#E3EAF2; }
  .blocos .bl .voce { border-top:1px dashed transparent; }
  .blocos .bl .linha-corte { margin:4px 6px 14px; border-top:1.5px dashed var(--corte); }
