: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; } }
