:root{
  /* Cores extraídas do logo oficial da Barreto */
  --navy:#1C3F7A;          /* navy do wordmark BARRETO */
  --navy-deep:#0F2A55;     /* fundo das seções escuras */
  --navy-ink:#14243F;      /* tinta do texto */
  --blue-900:#0F2A55; --blue-800:#16356B; --blue-700:#1C3F7A;
  --blue-600:#0F63C4;      /* azul de ação: links, CTAs */
  --blue-500:#0B6FD8; --blue-400:#4E97E8;
  --blue-100:#D3E2F6; --blue-50:#EFF5FD;
  --cyan-400:#3FC8E4;
  --gold:#9A7B3F; --gold-soft:#F4EFE4;
  --graphite-950:#0B1526; --graphite-900:#0F2A55; --graphite-800:#16356B;
  --ink:#14243F; --ink-soft:#4A5B75; --ink-mute:#71809A;
  --line:#E2E7EF; --line-soft:#EDF1F6;
  --bg:#FFFFFF; --bg-soft:#F6F8FB; --bg-warm:#FAFAF8; --white:#FFFFFF;
  --success:#0B7A55; --error:#C4342F;

  /* Sem gradiente decorativo: cor chapada pinta mais rapido e soa mais firme */
  --grad-brand:#0F63C4;
  --grad-dark:#0F2A55;
  --grad-text:#0F63C4;
  --grad-light:#FFFFFF;

  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display:'Manrope','Inter',system-ui,sans-serif;

  /* Duas camadas de sombra em vez de cinco */
  --shadow-sm:0 1px 2px rgba(20,36,63,.05);
  --shadow-md:0 4px 16px -6px rgba(20,36,63,.12);
  --shadow-lg:0 12px 32px -12px rgba(15,42,85,.18);
  --shadow-xl:0 20px 48px -18px rgba(15,42,85,.22);
  --shadow-glow:0 4px 14px -4px rgba(15,99,196,.35);

  --radius:14px; --radius-lg:18px; --radius-xl:24px;
  --container:1180px; --header-h:78px;
  --ease:cubic-bezier(.22,1,.36,1);

  --photo-cta:url("https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&w=1200&q=58");
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
      font-family:var(--font-body);
      color:var(--ink);
      background:var(--bg);
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,textarea{font:inherit;color:inherit}
::selection{background:var(--blue-600);color:#fff}
:focus-visible{outline:3px solid var(--blue-500);outline-offset:3px;border-radius:6px}
.skip-link{
      position:absolute;left:16px;top:-60px;z-index:1000;
      background:var(--blue-600);color:#fff;padding:.7rem 1.2rem;
      border-radius:10px;font-weight:600;transition:top .25s var(--ease);
    }
.skip-link:focus{top:12px}
@media (prefers-reduced-motion:reduce){
      *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
      html{scroll-behavior:auto}
    }
.container{width:min(var(--container),100% - 2.5rem);margin-inline:auto}
.section{padding:clamp(5rem,10vw,8.5rem) 0}
.section--soft{background:var(--bg-soft)}
.section--warm{background:var(--bg-warm)}
.section-head{max-width:700px;margin:0 auto clamp(3rem,6vw,4.8rem);text-align:center}
.section-head--left{margin-inline:0;text-align:left}
.eyebrow{
      display:inline-flex;align-items:center;gap:.6rem;
      font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
      color:var(--blue-700);background:transparent;
      border:none;border-radius:0;
      padding:0;margin-bottom:1.2rem;
    }
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--blue-600)}
h1,h2,h3{font-family:var(--font-display);line-height:1.14;letter-spacing:-.025em}
.section-head h2{font-size:clamp(2rem,4.3vw,3rem);font-weight:800;color:var(--ink)}
.section-head p{margin-top:1.1rem;font-size:1.1rem;color:var(--ink-soft);line-height:1.7}
.grad-text{color:var(--blue-600)}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);border:0}
.js .reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
.js .reveal[data-delay="1"]{transition-delay:.1s}
.js .reveal[data-delay="2"]{transition-delay:.2s}
.js .reveal[data-delay="3"]{transition-delay:.3s}
.js .reveal[data-delay="4"]{transition-delay:.4s}
.btn{
      position:relative;overflow:hidden;
      display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
      padding:.95rem 1.9rem;border-radius:14px;border:none;cursor:pointer;
      font-weight:700;font-size:1rem;line-height:1;white-space:nowrap;
      transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s;
    }
.btn svg{width:18px;height:18px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn--primary{background:var(--grad-brand);color:#fff;box-shadow:var(--shadow-glow)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px -6px rgba(15,99,196,.42)}
.btn--ghost{
      background:#fff;color:var(--ink);
      border:1.5px solid var(--line);box-shadow:var(--shadow-sm);
    }
.btn--ghost:hover{transform:translateY(-2px);border-color:var(--blue-400);box-shadow:var(--shadow-md);color:var(--blue-700)}
.btn--on-dark{
      background:rgba(255,255,255,.10);color:#fff;
      border:1px solid rgba(255,255,255,.32);
    }
.btn--on-dark:hover{transform:translateY(-2px);background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.6)}
.btn--outline{background:#fff;color:var(--blue-700);border:1.5px solid var(--blue-100);box-shadow:var(--shadow-sm)}
.btn--outline:hover{transform:translateY(-2px);border-color:var(--blue-500);box-shadow:var(--shadow-md)}
.btn--lg{padding:1.1rem 2.3rem;font-size:1.05rem}
.btn--block{width:100%}
.ripple{
      position:absolute;border-radius:50%;pointer-events:none;
      background:rgba(255,255,255,.45);transform:scale(0);
      animation:ripple .65s ease-out forwards;
    }
@keyframes ripple{to{transform:scale(3.2);opacity:0}}
.header{
      position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);
      display:flex;align-items:center;color:var(--ink);
      background:#FFFFFF;
      transition:background .35s,box-shadow .35s,border-color .35s;
      border-bottom:1px solid transparent;
    }
.header.is-scrolled{
      background:#FFFFFF;
      border-bottom-color:var(--line);
      box-shadow:0 6px 30px -12px rgba(16,26,43,.14);
    }
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:inline-flex;align-items:center;flex:none}
.brand-logo{
      height:46px;width:auto;display:block;
      transition:transform .35s var(--ease),opacity .3s;
    }
.brand:hover .brand-logo{transform:translateY(-1px);opacity:.9}
.brand-logo--footer{height:44px}
@media (max-width:920px){.brand-logo{height:40px}}
@media (max-width:400px){.brand-logo{height:34px}}
.nav-links{display:flex;align-items:center;gap:.4rem}
.nav-links a{
      position:relative;padding:.55rem .85rem;border-radius:10px;
      font-weight:600;font-size:.94rem;opacity:.85;
      transition:opacity .25s,background .25s;
    }
.nav-links a:hover{opacity:1;background:var(--blue-50);color:var(--blue-700)}
.nav-cta{display:flex;align-items:center;gap:.8rem}
.nav-cta .btn{padding:.72rem 1.4rem;font-size:.92rem}
.nav-drop{position:relative}
.nav-drop-btn{
      display:inline-flex;align-items:center;gap:.4rem;
      background:none;border:none;cursor:pointer;
      padding:.55rem .85rem;border-radius:10px;
      font-weight:600;font-size:.94rem;opacity:.85;
      transition:opacity .25s,background .25s;
    }
.nav-drop-btn:hover{opacity:1;background:var(--blue-50);color:var(--blue-700)}
.nav-drop-chev{width:15px;height:15px;transition:transform .35s var(--ease)}
.nav-drop.is-open .nav-drop-chev{transform:rotate(180deg)}
.nav-drop-menu{
      position:absolute;top:calc(100% + 12px);left:0;z-index:110;
      width:320px;padding:.6rem;
      background:#FFFFFF;
      border:1px solid var(--line);border-radius:18px;
      box-shadow:var(--shadow-lg);
      color:var(--ink);
      opacity:0;visibility:hidden;transform:translateY(10px);
      transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
    }
.nav-drop-menu::before{ 
      content:"";position:absolute;left:0;right:0;top:-14px;height:14px;
    }
.nav-drop.is-open .nav-drop-menu{opacity:1;visibility:visible;transform:none}
@media (hover:hover) and (min-width:921px){
      .nav-drop:hover .nav-drop-menu{opacity:1;visibility:visible;transform:none}
      .nav-drop:hover .nav-drop-chev{transform:rotate(180deg)}
    }
.nav-drop-menu a{
      display:flex;align-items:center;gap:.85rem;
      padding:.75rem .8rem;border-radius:12px;opacity:1;
      transition:background .25s,transform .25s var(--ease);
    }
.nav-drop-menu a:hover{background:var(--blue-50);transform:translateX(3px)}
.nav-drop-menu .nd-icon{
      width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;
      background:var(--blue-50);color:var(--blue-600);
      transition:background .25s,color .25s;
    }
.nav-drop-menu a:hover .nd-icon{background:var(--grad-brand);color:#fff}
.nav-drop-menu .nd-icon svg{width:18px;height:18px}
.nav-drop-menu strong{display:block;font-size:.9rem;line-height:1.3}
.nav-drop-menu small{display:block;font-size:.75rem;color:var(--ink-mute)}
@media (max-width:920px){
      .nav-drop{width:100%}
      .nav-drop-btn{width:100%;justify-content:space-between;padding:.85rem 1rem;font-size:1.02rem}
      .nav-drop-menu{
        position:static;width:100%;opacity:1;visibility:visible;transform:none;
        display:none;box-shadow:none;border:none;background:var(--bg-soft);
        margin-top:.2rem;
      }
      .nav-drop.is-open .nav-drop-menu{display:block;animation:menuIn .3s var(--ease)}
    }
.nav-toggle{
      display:none;width:44px;height:44px;border:none;background:transparent;cursor:pointer;
      flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:10px;
    }
.nav-toggle span{
      width:22px;height:2.5px;border-radius:2px;background:currentColor;
      transition:transform .35s var(--ease),opacity .25s;
    }
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media (max-width:920px){
      .nav-toggle{display:flex}
      .nav-menu{
        position:fixed;inset:var(--header-h) 0 auto 0;z-index:99;
        background:#FFFFFF;
        border-bottom:1px solid var(--line);
        padding:1.2rem 1.4rem 1.8rem;
        display:none;flex-direction:column;gap:1.2rem;
        box-shadow:0 30px 60px -20px rgba(15,23,42,.2);
        color:var(--ink);
      }
      .nav-menu.is-open{display:flex;animation:menuIn .35s var(--ease)}
      @keyframes menuIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
      .nav-links{flex-direction:column;align-items:stretch;gap:.2rem}
      .nav-links a{padding:.85rem 1rem;font-size:1.02rem}
      .nav-cta{flex-direction:column;align-items:stretch}
      .nav-cta .btn{width:100%}
    }
@media (min-width:921px){
      .nav-menu{display:flex;align-items:center;gap:1.6rem}
    }
.hero{
      position:relative;overflow:hidden;color:var(--ink);
      background:linear-gradient(180deg,#FFFFFF 0%,#F6F8FB 100%);
      padding:calc(var(--header-h) + clamp(3.5rem,7vw,5.5rem)) 0 clamp(4rem,9vw,7rem);
    }
.hero-orb{display:none;position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;will-change:transform}
.hero-orb--1{display:none;width:560px;height:560px;top:-200px;right:-140px;background:radial-gradient(circle,rgba(78,151,232,.22),transparent 66%)}
.hero-orb--2{display:none;width:440px;height:440px;bottom:-200px;left:-140px;background:radial-gradient(circle,rgba(211,226,246,.75),transparent 66%)}
.hero-inner{
      position:relative;z-index:2;
      display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2.5rem,6vw,4.5rem);align-items:center;
    }
.hero-badge{
      display:inline-flex;align-items:center;gap:.6rem;
      background:#fff;border:1px solid var(--line);
      border-radius:999px;box-shadow:var(--shadow-sm);
      padding:.5rem 1.1rem;font-size:.84rem;font-weight:600;color:var(--ink-soft);
      margin-bottom:1.7rem;animation:fadeUp .9s var(--ease) both;
    }
.hero-badge .pulse{
      width:8px;height:8px;border-radius:50%;background:var(--success);position:relative;flex:none;
    }
.hero-badge .pulse::after{
      content:"";position:absolute;inset:-4px;border-radius:50%;
      border:2px solid var(--success);
    }
@keyframes pulseRing{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.6);opacity:0}}
.hero h1{
      font-size:clamp(2.3rem,5.2vw,3.85rem);font-weight:800;letter-spacing:-.035em;color:var(--ink);
      animation:fadeUp .9s .1s var(--ease) both;
    }
.hero-sub{
      margin-top:1.4rem;max-width:33rem;font-size:clamp(1.02rem,1.5vw,1.14rem);line-height:1.75;
      color:var(--ink-soft);animation:fadeUp .9s .2s var(--ease) both;
    }
.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.3rem;animation:fadeUp .9s .3s var(--ease) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero-visual{position:relative;animation:fadeUp 1s .35s var(--ease) both}
.hero-visual::before{
      content:"";position:absolute;z-index:0;
      inset:26px -22px -26px 26px;border-radius:var(--radius-xl);
      background:linear-gradient(150deg,var(--blue-50),rgba(211,226,246,.75));
      border:1px solid var(--blue-100);
    }
.hero-photo{
      position:relative;z-index:1;overflow:hidden;
      border-radius:var(--radius-xl);
      aspect-ratio:5/4.6;
      box-shadow:var(--shadow-xl);
      background:var(--blue-50);
    }
.hero-photo img{
      width:100%;height:100%;object-fit:cover;
      transform:scale(1.07);transition:transform 1.6s var(--ease);
    }
.hero-visual.chart-in .hero-photo img{transform:scale(1)}
.hero-photo::after{
      content:"";position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(200deg,rgba(15,42,85,.16),transparent 42%,rgba(11,21,38,.24));
    }
.float-card{
      position:absolute;z-index:3;display:flex;align-items:center;gap:.8rem;
      background:#FFFFFF;color:var(--ink);
      border-radius:16px;padding:.9rem 1.15rem;
      box-shadow:0 10px 30px -12px rgba(15,42,85,.20);
      border:1px solid rgba(255,255,255,.9);
      
    }
.float-card--tl{top:-24px;left:-28px}
.float-card--br{bottom:-22px;right:-30px;animation-delay:-2.7s}
.float-card .fc-icon{
      width:40px;height:40px;flex:none;border-radius:11px;display:grid;place-items:center;color:#fff;
    }
.fc-icon--green{background:var(--success)}
.fc-icon--blue{background:var(--grad-brand)}
.float-card strong{display:block;font-size:.92rem;line-height:1.25}
.float-card span{font-size:.74rem;color:var(--ink-mute)}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (max-width:920px){
      .hero-inner{grid-template-columns:1fr}
      .hero-visual{max-width:540px;margin:2rem auto 0}
      .hero-visual::before{inset:20px -14px -20px 20px}
      .float-card--tl{left:-8px}
      .float-card--br{right:-8px}
    }
@media (max-width:480px){
      .float-card{padding:.7rem .85rem}
      .float-card--tl{top:-18px}
      .float-card--br{bottom:-18px}
    }
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:1.9rem 0}
.trust p{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:1.3rem}
.marquee{overflow:hidden;position:relative;
      mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
      -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    }
.marquee-track{display:flex;gap:3.5rem;width:max-content;animation:marquee 28s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{
      font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.01em;
      color:#9CA9BC;white-space:nowrap;display:inline-flex;align-items:center;gap:.6rem;
      transition:color .3s;
    }
.marquee-track span:hover{color:var(--blue-700)}
.marquee-track span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue-100)}
@keyframes marquee{to{transform:translateX(-50%)}}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:1000px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.services-grid{grid-template-columns:1fr}}
.service-card{
      position:relative;overflow:hidden;
      background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
      padding:2.3rem 2rem;display:flex;flex-direction:column;gap:1rem;
      transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
    }
.service-card::before{
      content:"";position:absolute;inset:0 0 auto 0;height:3px;
      background:var(--grad-brand);opacity:0;transform:scaleX(.3);transform-origin:left;
      transition:opacity .45s,transform .45s var(--ease);
    }
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--blue-100)}
.service-card:hover::before{opacity:1;transform:scaleX(1)}
.service-icon{
      width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
      background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100);
      transition:background .4s,color .4s,transform .4s var(--ease),border-color .4s;
    }
.service-icon svg{width:24px;height:24px}
.service-card:hover .service-icon{background:var(--grad-brand);color:#fff;border-color:transparent;transform:scale(1.05)}
.service-card h3{font-size:1.2rem;font-weight:800}
.service-card p{font-size:.95rem;color:var(--ink-soft);flex:1}
.service-link{
      display:inline-flex;align-items:center;gap:.45rem;
      font-weight:700;font-size:.92rem;color:var(--blue-600);width:fit-content;
    }
.service-link svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.service-link:hover svg{transform:translateX(4px)}
/* Números da empresa: cartão branco sobre fundo claro.
   Sem foto de fundo — o texto branco sobre imagem movimentada
   tinha contraste ruim e era mais uma requisição externa. */
.stats{background:var(--bg-soft)}
.stats-grid{
      display:grid;grid-template-columns:repeat(4,1fr);gap:0;
      background:#fff;border:1px solid var(--line);
      border-radius:var(--radius-xl);overflow:hidden;
      box-shadow:0 12px 34px -20px rgba(15,42,85,.22);
    }
@media (max-width:860px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.stat-card{
      text-align:center;padding:clamp(2rem,4vw,2.9rem) 1.2rem;
      border-right:1px solid var(--line-soft);
    }
.stat-card:last-child{border-right:none}
@media (max-width:860px){
      .stat-card:nth-child(2){border-right:none}
      .stat-card:nth-child(1),.stat-card:nth-child(2){border-bottom:1px solid var(--line-soft)}
    }
.stat-card strong{
      font-family:var(--font-display);font-size:clamp(2.3rem,4.4vw,3.2rem);font-weight:800;
      color:var(--blue-600);letter-spacing:-.035em;line-height:1;
    }
/* '>' é essencial: o contador também é um <span>, só que dentro do
   <strong>. Sem o filho direto, o rótulo encolhia o número. */
.stat-card > span{
      display:block;margin-top:.6rem;font-size:.94rem;color:var(--ink-soft);
      letter-spacing:0;line-height:1.4;
    }
.stat-card strong .counter{font:inherit;color:inherit;letter-spacing:inherit}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
@media (max-width:920px){.about-grid{grid-template-columns:1fr}}
.about-visual{position:relative}
.about-visual::before{
      content:"";position:absolute;z-index:0;
      inset:-22px 24px 24px -22px;border-radius:var(--radius-xl);
      border:1px solid var(--blue-100);
      background:linear-gradient(160deg,var(--blue-50),rgba(211,226,246,.60));
    }
.about-photo{
      position:relative;z-index:1;
      border-radius:var(--radius-xl);overflow:hidden;
      aspect-ratio:4/4.3;background:var(--blue-50);
      box-shadow:var(--shadow-xl);
    }
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:58% center}
.about-photo::after{
      content:"";position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(180deg,rgba(15,42,85,.10),transparent 40%,rgba(11,21,38,.30));
    }
.about-chip{
      position:absolute;z-index:2;right:-18px;bottom:26px;
      background:#fff;border-radius:18px;padding:1.1rem 1.4rem;
      box-shadow:0 10px 30px -12px rgba(15,42,85,.20);border:1px solid var(--line);
      
    }
.about-chip strong{font-family:var(--font-display);font-size:1.7rem;font-weight:800;color:var(--blue-700)}
.about-chip span{display:block;font-size:.76rem;color:var(--ink-mute);line-height:1.45}
@media (max-width:920px){
      .about-visual{max-width:480px;margin-inline:auto}
      .about-visual::before{inset:-14px 16px 16px -14px}
      .about-chip{right:0}
    }
.about-copy h2{font-size:clamp(1.85rem,4vw,2.6rem);font-weight:800;margin-bottom:1.2rem}
.about-copy>p{color:var(--ink-soft);margin-bottom:1rem;font-size:1.03rem}
.about-timeline{margin-top:2rem;display:grid;gap:0}
.tl-item{position:relative;padding:0 0 1.6rem 2.2rem}
.tl-item::before{
      content:"";position:absolute;left:7px;top:26px;bottom:2px;width:2px;
      background:linear-gradient(180deg,var(--blue-100),transparent);
    }
.tl-item:last-child::before{display:none}
.tl-item::after{
      content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;
      background:#fff;border:4px solid var(--blue-600);box-shadow:0 0 0 4px var(--blue-50);
    }
.tl-item strong{display:block;font-weight:800;font-size:1.02rem}
.tl-item p{font-size:.92rem;color:var(--ink-soft);margin-top:.2rem}
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
@media (max-width:1000px){.diff-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.diff-grid{grid-template-columns:1fr}}
.diff-card{
      background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
      padding:1.9rem 1.6rem;
      transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
    }
.diff-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-100)}
.diff-check{
      width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
      background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100);
      margin-bottom:1.1rem;transition:background .35s,color .35s;
    }
.diff-card:hover .diff-check{background:var(--grad-brand);color:#fff;border-color:transparent}
.diff-check svg{width:18px;height:18px}
.diff-card h3{font-size:1.05rem;font-weight:800;margin-bottom:.4rem}
.diff-card p{font-size:.9rem;color:var(--ink-soft)}
.quotes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:960px){.quotes-grid{grid-template-columns:1fr;max-width:600px;margin-inline:auto}}
.quote-card{
      position:relative;background:#fff;border:1px solid var(--line);
      border-radius:var(--radius-lg);padding:2.2rem 2rem;
      display:flex;flex-direction:column;gap:1.2rem;
      transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
    }
.quote-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--blue-100)}
.quote-stars{display:flex;gap:3px;color:var(--gold)}
.quote-stars svg{width:16px;height:16px}
.quote-card blockquote{font-size:1rem;line-height:1.7;color:var(--ink-soft);flex:1}
.quote-card blockquote::before{content:"“";display:block;font-family:var(--font-display);font-size:3.4rem;line-height:.4;margin:.7rem 0 1rem;color:var(--blue-100);font-weight:800}
.quote-author{display:flex;align-items:center;gap:.9rem;border-top:1px solid var(--line);padding-top:1.2rem}
.quote-avatar{
      width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;
      background:var(--blue-50);color:var(--blue-700);font-weight:800;font-size:.95rem;
      border:1px solid var(--blue-100);letter-spacing:.02em;
    }
.quote-author strong{display:block;font-size:.95rem}
.quote-author span{font-size:.8rem;color:var(--ink-mute)}
.faq-wrap{max-width:780px;margin-inline:auto;display:grid;gap:.9rem}
.faq-item{
      background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
      transition:border-color .35s,box-shadow .35s;
    }
.faq-item:hover{border-color:var(--blue-100)}
.faq-item.is-open{border-color:var(--blue-100);box-shadow:var(--shadow-md)}
.faq-q{
      width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
      background:none;border:none;cursor:pointer;text-align:left;
      padding:1.3rem 1.5rem;font-weight:700;font-size:1.02rem;font-family:var(--font-display);
    }
.faq-q .faq-icon{
      width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;
      background:var(--blue-50);color:var(--blue-600);transition:transform .4s var(--ease),background .35s,color .35s;
    }
.faq-item.is-open .faq-icon{transform:rotate(45deg);background:var(--grad-brand);color:#fff}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 1.5rem 1.4rem;color:var(--ink-soft);font-size:.96rem}
.cta-banner{
      position:relative;overflow:hidden;border-radius:var(--radius-xl);
      color:#fff;text-align:center;
      background:#0C3A80;
      background-image:var(--photo-cta);
      background-size:cover;background-position:center 40%;
      padding:clamp(3.5rem,8vw,6rem) clamp(1.5rem,5vw,4rem);
      box-shadow:var(--shadow-xl);
    }
.cta-banner::before{
      content:"";position:absolute;inset:0;
      background:linear-gradient(115deg,rgba(11,21,38,.86) 0%,rgba(15,42,85,.76) 58%,rgba(15,99,196,.62) 100%);
    }
.cta-banner h2{position:relative;font-size:clamp(1.8rem,3.8vw,2.6rem);font-weight:800;max-width:660px;margin:0 auto;letter-spacing:-.03em}
.cta-banner p{position:relative;margin:1.1rem auto 2.2rem;max-width:520px;color:rgba(255,255,255,.82);line-height:1.7}
.cta-banner .btn{position:relative}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
@media (max-width:920px){.contact-grid{grid-template-columns:1fr}}
.contact-info h2{font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:800;margin-bottom:1rem}
.contact-info>p{color:var(--ink-soft);margin-bottom:2rem}
.contact-list{display:grid;gap:1rem}
.contact-item{
      display:flex;gap:1rem;align-items:flex-start;
      background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem;
      transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;
    }
.contact-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-100)}
.contact-item .ci-icon{
      width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;
      background:var(--blue-50);color:var(--blue-600);
    }
.contact-item .ci-icon svg{width:21px;height:21px}
.contact-item strong{display:block;font-size:.92rem}
.contact-item span,.contact-item a{font-size:.92rem;color:var(--ink-soft)}
.contact-item a:hover{color:var(--blue-600)}
.form-card{
      background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
      padding:clamp(1.6rem,4vw,2.6rem);box-shadow:var(--shadow-lg);
    }
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}}
.field{position:relative;display:grid;gap:.4rem}
.field--full{grid-column:1/-1}
.field label{font-size:.86rem;font-weight:700}
.field input,.field textarea{
      width:100%;border:1.5px solid var(--line);border-radius:12px;
      padding:.85rem 1rem;font-size:.97rem;background:var(--bg-soft);
      transition:border-color .3s,box-shadow .3s,background .3s;
    }
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field textarea:focus{
      outline:none;border-color:var(--blue-500);background:#fff;
      box-shadow:0 0 0 4px rgba(35,120,242,.14);
    }
.field.is-error input,.field.is-error textarea{border-color:var(--error);background:#FEF2F2}
.field .field-msg{font-size:.78rem;color:var(--error);min-height:1em;opacity:0;transform:translateY(-3px);transition:opacity .25s,transform .25s}
.field.is-error .field-msg{opacity:1;transform:none}
.field.is-ok input{border-color:var(--success)}
.form-note{margin-top:1rem;font-size:.78rem;color:var(--ink-mute);text-align:center}
.form-note a{color:var(--blue-600);font-weight:600;text-decoration:underline}
.form-alert{
      display:none;align-items:flex-start;gap:.9rem;
      background:#ECFDF5;border:1px solid #A7F3D0;border-radius:14px;
      padding:1.1rem 1.2rem;margin-bottom:1.2rem;color:#065F46;font-size:.95rem;
    }
.form-alert.is-visible{display:flex;animation:fadeUp .5s var(--ease)}
.form-alert svg{width:22px;height:22px;flex:none;color:var(--success)}
.btn.is-loading{pointer-events:none;opacity:.85}
.btn .spinner{
      display:none;width:18px;height:18px;border-radius:50%;
      border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;
    }
/* O spinner só gira quando está de fato girando: sem custo enquanto oculto */
.btn.is-loading .spinner{display:inline-block;animation:spin .7s linear infinite}
.btn.is-loading .btn-label{opacity:.7}
@keyframes spin{to{transform:rotate(360deg)}}
.footer{
      background:var(--navy-deep);
      color:#9AA7BA;position:relative;overflow:hidden;
    }
.footer::before{
      content:"";position:absolute;inset:0 0 auto 0;height:1px;
      background:linear-gradient(90deg,transparent,rgba(78,151,232,.45),transparent);
    }
.footer-main{
      display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;
      padding:4rem 0 2.5rem;
    }
@media (max-width:960px){.footer-main{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-main{grid-template-columns:1fr}}
.footer-about p{margin-top:1.1rem;font-size:.92rem;max-width:30ch}
.footer-social{display:flex;gap:.7rem;margin-top:1.4rem}
.footer-social a{
      width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
      background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#CBD5E1;
      transition:background .3s,transform .3s var(--ease),color .3s,border-color .3s;
    }
.footer-social a:hover{background:var(--grad-brand);color:#fff;transform:translateY(-3px);border-color:transparent}
.footer-social svg{width:18px;height:18px}
.footer h3{color:#fff;font-size:.95rem;font-weight:700;margin-bottom:1.2rem;letter-spacing:.02em}
.footer-col ul{display:grid;gap:.65rem}
.footer-col a{font-size:.92rem;transition:color .25s,padding-left .25s}
.footer-col a:hover{color:#fff;padding-left:4px}
.footer-contact li{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;margin-bottom:.8rem}
.footer-contact svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--blue-400)}
.footer-bottom{
      border-top:1px solid rgba(255,255,255,.08);
      padding:1.5rem 0;display:flex;flex-wrap:wrap;gap:1rem;
      align-items:center;justify-content:space-between;font-size:.83rem;
    }
.footer-bottom a{color:#CBD5E1;text-decoration:underline;text-underline-offset:3px}
.footer-bottom a:hover{color:#fff}
.whats-fab{
      position:fixed;right:22px;bottom:22px;z-index:90;
      width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
      background:#25D366;color:#fff;box-shadow:0 14px 34px -8px rgba(37,211,102,.6);
      transition:transform .3s var(--ease),box-shadow .3s;
    }
.whats-fab:hover{transform:scale(1.1)}
.whats-fab svg{width:28px;height:28px}
.whats-fab::after{
      content:"";position:absolute;inset:0;border-radius:50%;
      border:2px solid #25D366;
    }
.to-top{
      position:fixed;right:26px;bottom:94px;z-index:90;
      width:46px;height:46px;border-radius:13px;border:1px solid var(--line);
      background:rgba(255,255,255,.9);color:var(--blue-700);
      display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-md);
      opacity:0;visibility:hidden;transform:translateY(12px);
      transition:opacity .35s,transform .35s var(--ease),visibility .35s;
    }
.to-top.is-visible{opacity:1;visibility:visible;transform:none}
.to-top:hover{color:var(--blue-500)}
.to-top svg{width:20px;height:20px}
.lgpd{
      position:fixed;left:50%;bottom:18px;transform:translate(-50%,140%);z-index:95;
      width:min(680px,calc(100% - 2rem));
      background:rgba(14,21,48,.92);color:#E2E8F0;
      border:1px solid rgba(255,255,255,.14);border-radius:18px;
      padding:1.1rem 1.3rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;
      box-shadow:0 30px 70px -18px rgba(3,10,30,.7);
      transition:transform .6s var(--ease);
    }
.lgpd.is-visible{transform:translate(-50%,0)}
.lgpd p{flex:1 1 320px;font-size:.85rem}
.lgpd p a{color:var(--blue-400);text-decoration:underline}
.lgpd .btn{padding:.65rem 1.3rem;font-size:.88rem}

/* === PÁGINAS INTERNAS === */
.page-hero{
      position:relative;overflow:hidden;color:#fff;
      background:var(--navy-deep);
      background-image:var(--photo-hero);
      background-size:cover;background-position:center 35%;
      padding:calc(var(--header-h) + clamp(3.5rem,7vw,5.5rem)) 0 clamp(3.5rem,6vw,5rem);
    }
.page-hero::after{
      content:"";position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(105deg,rgba(11,21,38,.93) 0%,rgba(15,42,85,.84) 55%,rgba(15,99,196,.62) 100%);
    }
.page-hero-orb{display:none;display:none}
.page-hero-inner{position:relative;z-index:2;max-width:760px}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:1.4rem;animation:fadeUp .8s var(--ease) both}
.breadcrumb a{color:rgba(255,255,255,.65);font-weight:600;transition:color .25s}
.breadcrumb a:hover{color:#fff}
.breadcrumb svg{width:14px;height:14px;color:rgba(255,255,255,.4)}
.breadcrumb [aria-current]{color:var(--cyan-400);font-weight:700}
.page-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;letter-spacing:-.03em;animation:fadeUp .8s .1s var(--ease) both}
.page-hero p{margin-top:1.1rem;max-width:38rem;font-size:clamp(1rem,1.5vw,1.12rem);color:rgba(255,255,255,.75);animation:fadeUp .8s .2s var(--ease) both}
.page-hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;animation:fadeUp .8s .3s var(--ease) both}
.util-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.util-card{
      display:flex;align-items:center;gap:.95rem;
      background:#fff;border:1px solid var(--line);border-radius:18px;
      padding:1.15rem 1.2rem;
      transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
    }
.util-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-100)}
.util-icon{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600);transition:background .3s,color .3s}
.util-card:hover .util-icon{background:var(--grad-brand);color:#fff}
.util-icon svg{width:21px;height:21px}
.util-card>div{flex:1;min-width:0}
.util-card strong{display:block;font-size:.95rem;line-height:1.3}
.util-card small{display:block;font-size:.78rem;color:var(--ink-mute)}
.util-ext{width:17px;height:17px;flex:none;color:var(--ink-mute);opacity:.6;transition:transform .3s var(--ease),color .3s,opacity .3s}
.util-card:hover .util-ext{transform:translate(2px,-2px);color:var(--blue-600);opacity:1}
.cert-help{
      margin-top:3.2rem;display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap;
      background:#fff;border:1px solid var(--blue-100);border-radius:var(--radius-lg);
      padding:1.5rem 1.7rem;box-shadow:var(--shadow-md);
      position:relative;overflow:hidden;
    }
.cert-help::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--grad-brand)}
.cert-help-icon{
      width:52px;height:52px;flex:none;border-radius:14px;display:grid;place-items:center;
      background:var(--grad-brand);color:#fff;
      box-shadow:0 10px 24px -6px rgba(11,95,217,.45);
    }
.cert-help-icon svg{width:25px;height:25px}
.cert-help-copy{flex:1;min-width:240px}
.cert-help-copy strong{display:block;font-family:var(--font-display);font-size:1.05rem;font-weight:800}
.cert-help-copy span{font-size:.92rem;color:var(--ink-soft)}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4rem);align-items:center}
.benefit-copy h2{font-size:clamp(1.85rem,4vw,2.6rem);font-weight:800;margin-bottom:1.1rem}
.benefit-copy p{color:var(--ink-soft);margin-bottom:1rem;font-size:1.03rem}
.benefit-copy .btn{margin-top:.6rem}
.benefit-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.step-card{
      position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
      padding:1.7rem 1.6rem 1.6rem;
      transition:transform .4s var(--ease),box-shadow .4s;
    }
.step-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.step-num{
      width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
      background:var(--grad-brand);color:#fff;
      font-family:var(--font-display);font-weight:800;font-size:1.05rem;
      margin-bottom:1rem;box-shadow:0 8px 20px -6px rgba(11,95,217,.45);
    }
.step-card h3{font-size:1.02rem;font-weight:800;margin-bottom:.35rem}
.step-card p{font-size:.9rem;color:var(--ink-soft)}
.steps-cta{text-align:center;margin-top:2.4rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.news-form{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;max-width:540px;margin:0 auto}
.news-form input{
      flex:1;min-width:220px;border:1.5px solid var(--line);border-radius:12px;
      padding:.95rem 1.1rem;font-size:.97rem;background:var(--bg-soft);
      transition:border-color .3s,box-shadow .3s,background .3s;
    }
.news-form input:focus{outline:none;border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 4px rgba(35,120,242,.14)}
.news-msg{text-align:center;margin-top:.9rem;font-size:.9rem;min-height:1.3em;font-weight:600}
.news-msg.is-error{color:var(--error)}
.news-msg.is-ok{color:var(--success)}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.cert-card{
      display:flex;flex-direction:column;gap:.8rem;
      background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
      padding:1.7rem 1.6rem;
      transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
    }
.cert-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--blue-100)}
.cert-badge{width:fit-content;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.32rem .75rem;border-radius:999px}
.cert-badge--federal{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100)}
.cert-badge--estadual{background:#ECFEFF;color:#0E7490;border:1px solid #A5F3FC}
.cert-badge--municipal{background:#EEF2FF;color:#4338CA;border:1px solid #C7D2FE}
.cert-badge--trabalhista{background:#FFFBEB;color:#B45309;border:1px solid #FDE68A}
.cert-card h3{font-size:1.08rem;font-weight:800}
.cert-card p{font-size:.9rem;color:var(--ink-soft);flex:1}
.cert-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:.3rem}
.cert-org{font-size:.78rem;font-weight:600;color:var(--ink-mute)}
.cert-btn{
      display:inline-flex;align-items:center;gap:.4rem;
      font-weight:700;font-size:.88rem;color:var(--blue-600);
      padding:.55rem 1rem;border-radius:10px;border:1.5px solid var(--blue-100);
      transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease);
    }
.cert-btn svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.cert-btn:hover{background:var(--grad-brand);color:#fff;border-color:transparent;transform:translateY(-2px)}
.cert-btn:hover svg{transform:translate(2px,-2px)}
.cert-steps{
      margin-top:3.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;
    }
/* ============================================================
   CAMADA DE ACABAMENTO — Barreto
   Os números de uma contabilidade merecem ser compostos como
   um demonstrativo: algarismos tabulares, alinhados, com fios.
============================================================ */

/* Algarismos tabulares em tudo que é cifra ou indicador */
.counter,.stat-card strong,.step-num,
table,.faq-q,.cert-org{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
@media (max-width:560px){
}

/* ---- Painel de estatísticas: mesma gramática ---- */
.stat-card strong{
  font-variant-numeric:tabular-nums lining-nums;
  letter-spacing:-.035em;
}


/* ---- Eyebrow: fio mais curto e firme ---- */
.eyebrow{letter-spacing:.15em;color:var(--navy)}
.eyebrow::before{width:20px;height:2px;background:var(--blue-600)}

/* ---- Títulos: um pouco mais apertados, mais editoriais ---- */
h1,h2,h3{letter-spacing:-.032em}
.section-head h2{color:var(--navy)}

/* ---- Botão primário: cor chapada da marca, sem brilho ---- */
.btn--primary{background:var(--blue-600);box-shadow:none}
.btn--primary:hover{background:var(--navy);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--ghost:hover,.btn--outline:hover{transform:translateY(-1px)}
.btn--on-dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.38)}

/* ---- Header: fio em vez de sombra difusa ---- */
.header{border-bottom:1px solid transparent}
.header.is-scrolled{box-shadow:none;border-bottom-color:var(--line)}

/* ---- Cards flutuantes: parados e assentados ---- */
.float-card{border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.fc-icon--blue{background:var(--navy)}

/* ---- Moldura decorativa do hero: painel sóbrio ---- */
.hero-visual::before{background:var(--blue-50);border-color:var(--blue-100)}

/* ---- Foco visível mais discreto porém claro ---- */
:focus-visible{outline:2px solid var(--blue-600);outline-offset:3px}

/* ---- Respeito total a quem pediu menos movimento ---- */
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important}
  .hero-badge,.hero h1,.hero-sub,.hero-ctas,.hero-visual{animation:none!important}
}

/* ============================================================
   HERO EM BLOCO + SIMULADOR DE REGIME TRIBUTÁRIO
   Bloco de cor forte no navy da marca. O simulador é o
   elemento-assinatura: quem chega já mexe em números.
============================================================ */
.hero--block{
  position:relative;overflow:hidden;isolation:isolate;
  /* Base clara com um sopro de azul, para separar do cabeçalho branco */
  background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FE 100%);color:var(--ink);
  padding:calc(var(--header-h) + clamp(2rem,4vw,3rem)) 0 clamp(3.5rem,7vw,5.5rem);
}
/* Forma orgânica: um respiro de cor, não um enfeite piscando */
.hero-shape{
  position:absolute;z-index:-1;pointer-events:none;overflow:hidden;
  top:-12%;right:-9%;bottom:-12%;width:min(56vw,820px);
  /* A foto do escritório vive DENTRO da forma orgânica, atrás da pessoa */
  background:#E7F0FC url("hero-sala.jpg") center 42%/cover no-repeat;
  border-radius:58% 42% 47% 53% / 44% 51% 49% 56%;
}
/* Véu claro: o escritório vira textura azulada, não um bloco escuro */
.hero-shape::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(231,240,252,.90),rgba(207,224,247,.94));
}
/* Segunda forma: só um degrau de azul, dando profundidade */
.hero-shape::after{
  content:"";position:absolute;inset:26% -26% -30% 22%;
  background:#DCE9F9;opacity:.85;
  border-radius:51% 49% 62% 38% / 55% 41% 59% 45%;
}
@supports (background-image:image-set(url("hero-sala.webp") type("image/webp"))){
  .hero-shape{background-image:image-set(url("hero-sala.webp") type("image/webp"),
                                          url("hero-sala.jpg")  type("image/jpeg"))}
}
@media (max-width:920px){
  /* No celular a coluna vira uma só: a forma desce para ficar atrás da
     pessoa, deixando o texto sobre o navy limpo e legível. */
  .hero-shape{top:56%;right:-26%;bottom:-8%;width:min(125vw,680px)}
  .hero-shape::before{background:linear-gradient(200deg,rgba(231,240,252,.88),rgba(207,224,247,.93))}
  .hero-shape::after{inset:34% -20% -20% 26%;opacity:.45}
}

.hero--block .hero-inner{grid-template-columns:1fr minmax(360px,470px);align-items:center}
.hero--block h1{
  color:var(--navy);font-size:clamp(2rem,4vw,3.05rem);
  max-width:16ch;text-wrap:balance;
}
.hero--block .hero-sub{color:var(--ink-soft);max-width:38ch}
.hero--block .hero-badge{
  background:#fff;border-color:var(--line);
  color:var(--ink-soft);box-shadow:var(--shadow-sm);
}
.hero--block .hero-badge .pulse{background:var(--success)}

/* Indicadores sobre o bloco: mesmos fios, invertidos */

/* Botões sobre o bloco de cor */
.btn--onblock{background:var(--blue-600);color:#fff;box-shadow:none}
.btn--onblock:hover{background:var(--navy);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--onblock-ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line);box-shadow:var(--shadow-sm)}
.btn--onblock-ghost:hover{border-color:var(--blue-400);color:var(--blue-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}

/* ---------------- Cartão do simulador ---------------- */
.hero--block .hero-visual::before{display:none}
.sim{
  background:#fff;color:var(--ink);
  border-radius:var(--radius-xl);
  padding:clamp(1.4rem,2.4vw,1.9rem);
  box-shadow:0 26px 60px -24px rgba(6,18,40,.55);
  display:grid;gap:1.05rem;
}
.sim-head{display:grid;gap:.3rem}
.sim-title{font-size:1.12rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1.25}
.sim-kicker{font-size:.74rem;color:var(--ink-mute);line-height:1.4}

.sim-field{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;align-items:baseline}
.sim-field label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}
.sim-hint{display:block;font-size:.68rem;font-weight:500;color:var(--ink-mute)}
.sim-val{
  font-family:var(--font-display);font-size:1.06rem;font-weight:800;color:var(--navy);
  font-variant-numeric:tabular-nums lining-nums;justify-self:end;
}
.sim-scale{
  grid-column:1/-1;display:flex;justify-content:space-between;
  font-size:.64rem;color:var(--ink-mute);margin-top:.15rem;
}

/* Sliders: alvo de toque generoso, foco visível */
.sim input[type=range]{
  grid-column:1/-1;-webkit-appearance:none;appearance:none;
  width:100%;height:26px;background:transparent;cursor:pointer;margin:.35rem 0 0;
}
.sim input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:99px;background:var(--blue-100)}
.sim input[type=range]::-moz-range-track{height:5px;border-radius:99px;background:var(--blue-100)}
.sim input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8.5px;
  border-radius:50%;background:var(--blue-600);border:3px solid #fff;
  box-shadow:0 2px 8px -1px rgba(15,42,85,.45);transition:transform .18s var(--ease);
}
.sim input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:var(--blue-600);border:3px solid #fff;
  box-shadow:0 2px 8px -1px rgba(15,42,85,.45);
}
.sim input[type=range]:active::-webkit-slider-thumb{transform:scale(1.14)}
.sim input[type=range]:focus-visible{outline:none}
.sim input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(15,99,196,.32)}
.sim input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(15,99,196,.32)}

/* Fator R: o indicador que revela o trabalho de um contador de verdade */
.sim-fator{
  display:flex;align-items:center;gap:.55rem;
  background:var(--blue-50);border:1px solid var(--blue-100);
  border-radius:11px;padding:.6rem .8rem;
  font-size:.79rem;color:var(--ink-soft);line-height:1.35;
}
.sim-fator strong{color:var(--navy);font-variant-numeric:tabular-nums}
.sim-fator-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--blue-600)}
.sim-fator-dot[data-anexo="V"]{background:#C77A16}

/* Linhas de resultado: leitura de demonstrativo */
.sim-results{border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}
.sim-row{
  display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:baseline;
  padding:.72rem .1rem;border-bottom:1px solid var(--line-soft);
  transition:background .25s;
}
.sim-row:last-child{border-bottom:0}
.sim-row-nome{font-size:.86rem;font-weight:600;color:var(--ink-soft)}
.sim-row-aliq{
  font-size:.76rem;color:var(--ink-mute);font-variant-numeric:tabular-nums;
  min-width:4.4em;text-align:right;
}
.sim-row-val{
  font-family:var(--font-display);font-size:1.04rem;font-weight:800;color:var(--ink);
  font-variant-numeric:tabular-nums lining-nums;min-width:6.6em;text-align:right;
}
.sim-row-val small{font-size:.66rem;font-weight:600;color:var(--ink-mute);margin-left:.12em}
/* O regime vencedor ganha peso, não confete */
.sim-row.is-melhor{background:rgba(11,122,85,.06)}
.sim-row.is-melhor .sim-row-nome{color:var(--navy);font-weight:700}
.sim-row.is-melhor .sim-row-val{color:var(--success)}
.sim-row.is-melhor .sim-row-nome::after{
  content:"menor imposto";display:inline-block;margin-left:.5rem;
  font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--success);vertical-align:.12em;
}

/* Verde aqui significa dinheiro economizado — não é enfeite */
.sim-econ{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}
.sim-econ-label{font-size:.76rem;color:var(--ink-mute);width:100%}
.sim-econ strong{
  font-family:var(--font-display);font-size:clamp(1.5rem,3vw,1.9rem);font-weight:800;
  color:var(--success);letter-spacing:-.03em;font-variant-numeric:tabular-nums lining-nums;
}
.sim-econ-unit{font-size:.78rem;color:var(--ink-soft)}

.sim .btn--primary{width:100%}
.sim-nota{font-size:.66rem;line-height:1.5;color:var(--ink-mute)}

@media (max-width:920px){
  .hero-figura{justify-content:center}
  .hero--block .hero-inner{grid-template-columns:1fr}
  .hero--block h1{max-width:none}
  .hero--block .hero-visual{max-width:520px;margin:2.2rem auto 0}
}
@media (max-width:420px){
  .sim{padding:1.15rem}
  .sim-row{grid-template-columns:1fr auto;row-gap:.15rem}
  .sim-row-aliq{grid-column:1;text-align:left;min-width:0}
  .sim-row-val{grid-row:1/3}
}

/* ============================================================
   HERO COM FOTO RECORTADA
   A pessoa se apoia na base do bloco de cor, como quem está
   de pé ali. A forma orgânica passa por trás dela.
============================================================ */
.hero--block{padding-bottom:0}
.hero--block .hero-inner{
  grid-template-columns:1fr minmax(320px,46%);
  align-items:end;gap:clamp(1.5rem,4vw,3.5rem);
}
.hero--block .hero-copy{padding-bottom:clamp(2.5rem,5vw,4rem)}

.hero-figura{position:relative;z-index:1;display:flex;justify-content:flex-start;align-items:flex-end;margin:0}
.hero-figura img{
  display:block;margin-bottom:-1px;
  /* Controlado pela ALTURA: assim qualquer proporção de foto se encaixa
     sem esticar o hero. Troque o arquivo e pronto. */
  /* Largura fixa de 530px: é a medida que o cliente definiu.
     max-height fica como trava de segurança em telas baixas. */
  width:min(530px,100%);
  height:auto;max-height:84vh;
  /* sombra que acompanha o recorte, não a caixa da imagem */
  filter:drop-shadow(0 22px 30px rgba(15,42,85,.18));
}

/* Selo de confiança opcional, no canto superior da foto.
   Para usar: <span class="hero-selo">CRC-BA 001234</span> dentro de .hero-figura */
.hero-selo{
  position:absolute;top:6%;right:0;z-index:2;
  background:#fff;color:var(--navy);
  border-radius:999px;padding:.5rem 1rem;
  font-size:.74rem;font-weight:700;letter-spacing:.02em;
  box-shadow:0 8px 22px -8px rgba(6,18,40,.45);
}

@media (max-width:920px){
  .hero-figura{justify-content:center}
  .hero--block .hero-inner{grid-template-columns:1fr}
  .hero--block .hero-copy{padding-bottom:0}
  .hero-figura img{width:min(300px,80%);max-height:clamp(340px,52vh,500px);margin-inline:auto}
}
@media (max-width:560px){
  .hero-figura img{width:min(260px,78%);max-height:360px}
}

/* ============================================================
   SIMULADOR EM SEÇÃO (página de Planejamento Tributário)
   Mesmo cartão, agora sobre fundo claro.
============================================================ */
.sim-section{background:var(--bg-soft)}
.sim-wrap{
  display:grid;grid-template-columns:1fr minmax(340px,460px);
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
.sim-intro h2{
  font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;color:var(--navy);
  letter-spacing:-.03em;line-height:1.15;margin-bottom:1.1rem;text-wrap:balance;
}
.sim-intro p{color:var(--ink-soft);line-height:1.75;margin-bottom:1rem;max-width:46ch}
.sim-intro p:last-child{margin-bottom:0}
.sim-intro strong{color:var(--navy)}
/* Fora do bloco escuro a sombra pesada não cabe: fio e elevação leve */
.sim-section .sim{border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.sim-section .sim-title{font-size:1.05rem}

@media (max-width:920px){
  .sim-wrap{grid-template-columns:1fr}
}

/* Folga para os dois botões do hero caberem lado a lado na coluna estreita */
.hero--block .hero-ctas{gap:.75rem}
.hero--block .hero-ctas .btn--lg{padding:1rem 1.65rem;font-size:1rem}

/* A foto avança sobre a margem lateral da página, como na referência.
   O hero tem overflow:hidden, então nada gera rolagem horizontal. */
@media (min-width:921px){
  .hero--block .hero-visual{margin-right:calc(-1 * max(0px,(100vw - var(--container)) / 3))}
}

/* ============================================================
   TEMA 2026 — visual alinhado ao novo layout (azul-royal, fundo
   branco, cantos suaves). Sobrepõe a paleta anterior; as classes
   antigas continuam funcionando nas páginas internas.
============================================================ */
:root{
  --navy:#0B2A7A;
  --navy-deep:#001E4C;
  --navy-ink:#0F172A;
  --blue-900:#001E4C; --blue-800:#062386; --blue-700:#0B2FA8;
  --blue-600:#1139C3;
  --blue-500:#1E4FD8; --blue-400:#4A7BE8;
  --blue-100:#D6E0F8; --blue-50:#EEF3FD;
  --ink:#0F172A; --ink-soft:#475569; --ink-mute:#64748B;
  --line:#E2E8F0; --line-soft:#EEF2F7;
  --bg-soft:#F8FAFC;
  --grad-brand:#1139C3; --grad-dark:#001E4C; --grad-text:#1139C3;
  --gold:#F59E0B;
  --shadow-glow:0 4px 14px -4px rgba(17,57,195,.35);
  --radius:12px; --radius-lg:16px; --radius-xl:22px;
  --container:1480px; --header-h:84px;
}
.btn{border-radius:10px;font-size:.95rem;padding:.9rem 1.5rem}
.btn--primary{background:var(--blue-600);color:#fff}
.btn--primary:hover{background:var(--blue-700)}
.btn--outline,.btn--onblock-ghost{background:#fff;color:var(--blue-600);border:1.5px solid var(--blue-600);box-shadow:none}
.btn--outline:hover,.btn--onblock-ghost:hover{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-700)}
.btn--onblock{background:var(--blue-600)}
.btn--onblock:hover{background:var(--blue-700)}
.btn--white{background:#fff;color:var(--blue-600)}
.btn--white:hover{background:var(--blue-50);transform:translateY(-1px)}
.nav-cta .btn{padding:.78rem 1.3rem;font-size:.9rem;border-radius:10px}
.nav-links a,.nav-drop-btn{font-size:.93rem;opacity:1;color:var(--ink);white-space:nowrap}
@media (min-width:921px){.nav-links{gap:.15rem}.nav-links a,.nav-drop-btn{padding:.55rem .7rem}}
.nav-links a:hover,.nav-drop-btn:hover{background:transparent;color:var(--blue-600)}
.nav-links a.is-active{color:var(--blue-600)}
.brand-logo{height:52px}
@media (max-width:920px){.brand-logo{height:44px}}
.eyebrow{color:var(--blue-600);letter-spacing:.14em;font-size:.72rem}
.eyebrow::before{display:none}
.section-head h2,.about-copy h2,.contact-info h2{color:var(--ink);letter-spacing:-.03em}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.5rem)}
.section{padding:clamp(4rem,8vw,6.5rem) 0}
.grad-text{color:var(--blue-600)}

/* ---- Cabeçalho da seção com texto à direita ---- */
.section-head--split{
  max-width:none;margin-inline:0;text-align:left;
  display:grid;grid-template-columns:1.15fr .85fr;gap:2rem 4rem;align-items:end;
}
.section-head--split p{margin-top:0;font-size:1rem}
@media (max-width:860px){.section-head--split{grid-template-columns:1fr}.section-head--split p{margin-top:.6rem}}

/* ---- Hero ---- */
.hero--mock{
  position:relative;overflow:hidden;background:#fff;color:var(--ink);
  padding:var(--header-h) 0 0;
}
.hero--mock .hero-inner{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(1rem,3vw,2.5rem);align-items:center;
  min-height:calc(100vh - var(--header-h) - 150px);
}
.hero--mock .hero-copy{padding:clamp(1.5rem,4vw,3rem) 0 clamp(2rem,4vw,3rem)}
.hero--mock + .section{padding-top:clamp(3rem,5vw,4.5rem)}
.hero-kicker{
  display:block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue-600);margin-bottom:1.1rem;animation:fadeUp .9s var(--ease) both;
}
.hero--mock h1{
  font-size:clamp(2.2rem,3.6vw,3.9rem);font-weight:800;letter-spacing:-.035em;line-height:1.12;
  color:var(--ink);max-width:19ch;text-wrap:balance;
}
.hero--mock h1 .grad-text{color:var(--blue-600)}
.hero--mock .hero-sub{max-width:36rem;font-size:clamp(1.02rem,1.15vw,1.2rem);color:var(--ink-soft)}
.hero--mock .hero-ctas{margin-top:2rem;gap:.8rem}
.hero-trust{
  display:flex;flex-wrap:wrap;gap:.9rem 1.15rem;
  margin-top:2.6rem;animation:fadeUp .9s .4s var(--ease) both;
}
.hero-trust li{display:flex;align-items:center;gap:.6rem;font-size:.75rem;line-height:1.3;color:var(--ink-soft);white-space:nowrap}
.hero-trust li strong{display:block;color:var(--ink);font-weight:700}
.hero-trust .ht-icon{
  width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid var(--blue-100);color:var(--blue-600);background:#fff;
}
.hero-trust .ht-icon svg{width:16px;height:16px}

.hero-visual--mock{
  position:relative;z-index:1;align-self:stretch;min-height:600px;margin-top:-1px;
  /* avança até a borda direita da tela, como na referência */
  margin-right:calc(-1 * max(0px,(100vw - var(--container)) / 2 + 1.25rem));
  animation:fadeUp 1s .3s var(--ease) both;
}
/* O círculo azul e o selo "Resultados que geram crescimento" já fazem
   parte da imagem hero-equipe.png (fundo transparente). */
.hero-visual--mock::before{display:none}
/* Foto do escritório atrás, com canto arredondado à esquerda */
.hero-office{
  position:absolute;z-index:1;top:0;right:0;bottom:0;left:28%;overflow:hidden;
  border-radius:0 0 0 46% / 0 0 0 60%;
}
.hero-office img{width:100%;height:100%;object-fit:cover;object-position:60% center;filter:saturate(.55) brightness(.95)}
.hero-office::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,30,76,.72),rgba(0,30,76,.38) 60%,rgba(0,30,76,.3)),linear-gradient(180deg,rgba(0,30,76,0) 70%,rgba(0,30,76,.35))}
.hero-people{position:absolute;z-index:2;left:0;right:clamp(1rem,3vw,3.5rem);top:3%;bottom:0;display:flex;justify-content:center;align-items:flex-end;margin:0}
.hero-people picture{display:contents}
.hero-people img{
  width:100%;height:100%;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 20px 30px rgba(0,30,76,.28));
}
.hero-card{
  position:absolute;z-index:3;right:-4%;bottom:12%;
  display:flex;align-items:center;gap:.8rem;
  background:#fff;border-radius:14px;padding:.85rem 1.1rem;
  box-shadow:0 18px 40px -16px rgba(0,30,76,.35);border:1px solid var(--line);
  font-size:.82rem;line-height:1.25;color:var(--ink);
}
.hero-card strong{display:block;font-weight:700}
.hero-card .hc-icon{width:40px;height:40px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600)}
.hero-card .hc-icon svg{width:22px;height:22px}
@media (max-width:920px){
  .hero--mock .hero-inner{grid-template-columns:1fr;min-height:0}
  .hero-visual--mock{margin-right:0}
  .hero--mock h1{max-width:none}
  .hero--mock .hero-copy{padding-bottom:0}
  .hero-visual--mock{min-height:0;aspect-ratio:1/.95;max-width:560px;margin:1rem auto 0;width:100%}
  .hero-office{right:0;left:30%;border-radius:0 0 0 40% / 0 0 0 55%}
  .hero-people img{height:100%}
  .hero-people{right:0}
}
@media (max-width:480px){
  .hero-trust{gap:.9rem 1rem}
  .hero-card{padding:.7rem .85rem;font-size:.76rem}
  .hero-card .hc-icon{width:34px;height:34px}
}

/* ---- Serviços ---- */
.services-grid{gap:1.25rem}
.service-card{border-radius:14px;padding:2rem 1.6rem;gap:.85rem;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.service-card::before{display:none}
.service-icon{width:56px;height:56px;border-radius:50%;background:var(--blue-600);color:#fff;border:none}
.service-card:hover .service-icon{background:var(--blue-700);transform:none}
.service-card h3{font-size:1.05rem}
.service-card p{font-size:.9rem}
.service-link{font-size:.85rem}

/* ---- Sobre + números ---- */
.about-mock{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:920px){.about-mock{grid-template-columns:1fr}}
.about-mock .about-copy h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:1rem}
.about-mock .about-copy>p{font-size:.98rem}
.checklist{display:grid;gap:.7rem;margin:1.4rem 0 1.8rem}
.checklist li{display:flex;align-items:center;gap:.7rem;font-size:.92rem;color:var(--ink-soft)}
.checklist .ck{width:22px;height:22px;flex:none;border-radius:50%;background:var(--blue-600);color:#fff;display:grid;place-items:center}
.checklist .ck svg{width:12px;height:12px}
.about-visual--mock{position:relative;padding-bottom:5.5rem}
.about-visual--mock::before{display:none}
.about-visual--mock .about-photo{aspect-ratio:16/11;border-radius:18px;box-shadow:var(--shadow-lg)}
.about-visual--mock .about-photo::after{display:none}
.about-visual--mock .about-photo img{object-position:center}
.stats-float{
  position:absolute;z-index:2;left:-6%;right:6%;bottom:0;
  display:grid;grid-template-columns:repeat(4,1fr);
  background:#fff;border-radius:16px;border:1px solid var(--line);
  box-shadow:0 22px 50px -24px rgba(0,30,76,.35);padding:1.4rem .8rem;
}
.stats-float .stat-card{padding:.4rem .4rem;border:none;text-align:center}
.stats-float .stat-icon{
  width:36px;height:36px;margin:0 auto .6rem;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid var(--blue-100);color:var(--blue-600);
}
.stats-float .stat-icon svg{width:16px;height:16px}
.stats-float .stat-card strong{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--blue-600)}
.stats-float .stat-card > span{font-size:.76rem;margin-top:.3rem}
@media (max-width:920px){
  .about-visual--mock{max-width:none;padding-bottom:0}
  .stats-float{position:static;margin-top:1.2rem;grid-template-columns:repeat(2,1fr);gap:.6rem}
}

/* ---- Processo ---- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;position:relative;padding-top:1.4rem}
.process-step{position:relative;text-align:center;display:flex;flex-direction:column}
.process-num{
  position:relative;z-index:1;width:44px;height:44px;margin:0 auto 1.1rem;border-radius:50%;
  background:var(--blue-600);color:#fff;display:grid;place-items:center;
  font-family:var(--font-display);font-weight:800;font-size:.95rem;
  box-shadow:0 8px 18px -8px rgba(17,57,195,.6);
}
.process::before{
  content:"";position:absolute;left:12.5%;right:12.5%;top:calc(1.4rem + 22px);
  border-top:2px dotted var(--blue-400);z-index:0;
}
.process-num{box-shadow:0 0 0 6px #fff,0 8px 18px -8px rgba(17,57,195,.6)}
.process-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem 1.2rem;flex:1;
  transition:transform .4s var(--ease),box-shadow .4s;
}
.process-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.process-icon{width:48px;height:48px;margin:0 auto .9rem;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--blue-100);color:var(--blue-600)}
.process-icon svg{width:22px;height:22px}
.process-card h3{font-size:.98rem;font-weight:800;margin-bottom:.4rem}
.process-card p{font-size:.86rem;color:var(--ink-soft)}
@media (max-width:920px){
  .process{grid-template-columns:repeat(2,1fr)}
  .process::before{display:none}
}
@media (max-width:520px){.process{grid-template-columns:1fr}}

/* ---- Depoimentos ---- */
.quote-card{border-radius:14px;padding:1.8rem 1.6rem;gap:1rem}
.quote-card blockquote{font-size:.94rem}
.quote-card blockquote::before{display:none}
.quote-stars{color:var(--blue-600)}
.quote-author{border-top:none;padding-top:.2rem}
.quote-card .quote-avatar{background:var(--blue-600);color:#fff;border:none;width:42px;height:42px;font-size:.85rem}

/* ---- Faixa de chamada ---- */
.cta-band{
  position:relative;overflow:hidden;border-radius:16px;
  background:var(--blue-700);color:#fff;
  display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:2.5rem;
  padding:2.4rem 2.6rem 2.4rem 0;box-shadow:var(--shadow-lg);
}
.cta-band::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,#062386 0%,#0B2FA8 40%,#1139C3 100%);
}
.cta-band-photo{
  position:relative;align-self:stretch;overflow:hidden;
  clip-path:polygon(0 0,100% 0,78% 100%,0 100%);
}
.cta-band-photo img{width:100%;height:100%;object-fit:cover;opacity:.6;filter:saturate(.6)}
.cta-band-copy{position:relative;display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center}
.cta-band h2{font-size:clamp(1.4rem,2.6vw,1.8rem);font-weight:800;letter-spacing:-.03em;max-width:14ch;line-height:1.2}
.cta-band p{font-size:.94rem;color:rgba(255,255,255,.85);max-width:34ch;line-height:1.6}
.cta-band .btn{position:relative;white-space:nowrap}
@media (max-width:960px){
  .cta-band{grid-template-columns:1fr;padding:2.2rem;gap:1.5rem}
  .cta-band-photo{display:none}
  .cta-band-copy{grid-template-columns:1fr;gap:.8rem}
  .cta-band h2{max-width:none}
}

/* ---- Rodapé claro ---- */
.footer{background:#fff;color:var(--ink-soft);border-top:1px solid var(--line)}
.footer::before{display:none}
.footer-main{grid-template-columns:1.3fr 1fr 1fr 1.2fr;padding:3.5rem 0 2rem}
.footer h3{color:var(--ink);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.footer-about p{color:var(--ink-soft);font-size:.88rem}
.footer-social a{background:#fff;border:1px solid var(--line);color:var(--ink);width:36px;height:36px;border-radius:8px}
.footer-social a:hover{background:var(--blue-600);color:#fff}
.footer-social svg{width:16px;height:16px}
.footer-col a{font-size:.88rem;color:var(--ink-soft)}
.footer-col a:hover{color:var(--blue-600)}
.footer-contact li{font-size:.88rem;color:var(--ink-soft)}
.footer-contact svg{color:var(--blue-600)}
.footer-bottom{border-top-color:var(--line);font-size:.8rem;color:var(--ink-mute)}
.footer-bottom a{color:var(--ink-soft);text-decoration:none}
.footer-bottom a:hover{color:var(--blue-600)}
.footer .brand-logo--footer{height:48px}

/* ---- Ajustes gerais ---- */
.faq-item{border-radius:14px}
.faq-q .faq-icon{border-radius:50%}
.contact-item,.form-card{border-radius:14px}
.field input,.field textarea{border-radius:10px}
.cta-banner{background:var(--blue-700)}
.page-hero{background:var(--navy-deep)}
.to-top{border-radius:10px;color:var(--blue-600)}
.lgpd{border-radius:14px}
@media (max-width:920px){
  .footer .brand-logo--footer{height:42px}
}

/* ---- Faixa de clientes (logos) — largura total, cores originais ---- */
.clients{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.4rem 0 1.5rem;min-height:150px;box-sizing:border-box}
.clients .container{width:100%;max-width:none}
.clients-card{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}
.clients-title{
  text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);margin-bottom:1.1rem;
}
.clients .marquee{mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.clients-track{gap:clamp(3rem,5vw,5.5rem);align-items:center;animation-duration:45s}
.clients-track img{height:clamp(44px,4.2vw,62px);width:auto;flex:none;filter:none;opacity:1}
.hero--mock + .clients{padding-top:1.4rem}
.clients + .section{padding-top:clamp(3rem,5vw,4.5rem)}
