:root{
    --wl-black:#08090f;
    --wl-dark:#11131a;
    --wl-soft:#f4f7fa;
    --wl-cyan:#16c5e6;
    --wl-magenta:#f4297f;
    --wl-yellow:#ffc31f;
    --wl-text:#151722;
    --wl-muted:#606a78;
    --wl-line:rgba(8,9,15,.10);
    --wl-radius:26px;
    --wl-shadow:0 22px 60px rgba(8,9,15,.13);
  }

  *{box-sizing:border-box}
  body.institutional-body{background:#f5f8fb;color:var(--wl-text)}
  #dust{position:fixed;inset:0;width:1px;height:1px;opacity:0;pointer-events:none}
  .institutional-main{padding-top:104px;overflow:hidden;background:#f5f8fb}
  .product-container{max-width:1120px;margin:0 auto;padding:0 24px}
  .product-section{position:relative;overflow:hidden;padding:72px 0}
  .product-section > .product-container{position:relative;z-index:2}

  /* Alternância clara/escura + partículas (mesmo padrão das páginas de produto) */
  .section-light{background:#f5f8fb;color:var(--wl-text)}
  .section-dark{background:#08090f;color:#fff;isolation:isolate}
  .section-dark:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 14% 18%,rgba(22,197,230,.18),transparent 28%),radial-gradient(circle at 86% 14%,rgba(244,41,127,.16),transparent 30%),radial-gradient(circle at 50% 110%,rgba(255,195,31,.12),transparent 32%),linear-gradient(135deg,#07080d 0%,#10131a 100%)}
  .section-dark .section-kicker{color:#8defff}
  .section-dark .section-head h2{color:#fff}
  .section-dark .section-head p{color:#d9e2ee}
  .section-dark>.product-container,.institutional-hero .product-container{position:relative;z-index:2}

  .section-head{max-width:760px;margin:0 auto var(--wl-title-bottom-gap);text-align:center}
  .section-kicker{display:inline-flex;margin-bottom:var(--wl-title-top-gap);color:#0696b3;font-weight:850;text-transform:uppercase;letter-spacing:1.55px;font-size:.74rem}
  .section-head h2{font-family:Sora,sans-serif;font-size:clamp(1.85rem,3.25vw,3rem);line-height:var(--wl-title-line-height);letter-spacing:-1.1px;text-transform:uppercase;margin:0}
  .section-head p{margin:var(--wl-title-intro-gap) auto 0;color:var(--wl-muted);line-height:1.62;font-size:1rem;max-width:650px}
  .section-title .title-line{display:block;white-space:nowrap}
  .section-title .title-line+.title-line{margin-top:var(--wl-title-line-gap)}
  .section-title .title-cyan{color:var(--wl-cyan)}
  .section-head h2.section-title{font-size:clamp(1.78rem,3.05vw,2.72rem);line-height:var(--wl-title-line-height);max-width:900px;margin-left:auto;margin-right:auto}

  .product-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:999px;font-weight:850;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;color:inherit;text-decoration:none;cursor:pointer;font-family:Inter,sans-serif;font-size:.94rem}
  .product-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .product-btn.primary{background:#fff;color:#08090f;box-shadow:0 18px 40px rgba(0,0,0,.22)}
  .product-btn.secondary{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.22)}
  .product-btn.dark{background:#090a0f;color:#fff}
  .product-btn.cyan{background:var(--wl-cyan);color:#061017}
  .product-btn:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(8,9,15,.16)}

  /* Hero institucional: igual ao padrão dos heros de produto, mas centralizado (sem imagem) */
  .institutional-hero{position:relative;background:#0d0f14;color:#fff;padding:84px 0 78px;isolation:isolate;overflow:hidden}
  .institutional-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 16%,rgba(22,197,230,.22),transparent 30%),radial-gradient(circle at 86% 18%,rgba(244,41,127,.18),transparent 33%),radial-gradient(circle at 58% 100%,rgba(255,195,31,.16),transparent 32%),linear-gradient(135deg,#090a0f 0%,#151922 100%);z-index:-2}
  .institutional-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,15,.08),rgba(8,9,15,.52));z-index:-1}
  .hero-copy{max-width:760px;margin:0 auto;text-align:center}
  .product-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border-radius:999px;background:rgba(22,197,230,.13);border:1px solid rgba(22,197,230,.38);color:#8defff;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:1.55px}
  .product-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--wl-cyan);box-shadow:0 0 18px rgba(22,197,230,.8)}
  .hero-copy h1{font-family:Sora,sans-serif;font-size:clamp(2.1rem,4.7vw,3.85rem);line-height:var(--wl-hero-line-height);letter-spacing:-1.8px;text-transform:uppercase;text-align:center;margin:22px auto 18px;max-width:760px}
  .hero-copy h1 .title-line{display:block;white-space:nowrap}
  .hero-copy h1 .title-cyan{color:var(--wl-cyan)}
  .hero-copy h1 .title-white{color:#fff}
  .hero-copy h1 .title-line+.title-line{margin-top:var(--wl-title-line-gap)}
  .hero-copy p{font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.68;color:#d7deea;max-width:620px;margin:0 auto 26px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;justify-content:center}
  .hero-trust{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;color:#cbd5e1;font-size:.84rem;font-weight:750;justify-content:center}
  .hero-trust span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
  .hero-trust b{width:7px;height:7px;border-radius:50%;background:var(--wl-cyan)}

  /* ====== Nossa história (carrossel no padrão "stage" da home: lado a lado,
     sem bordas arredondadas, setas/dots flutuando sobre a imagem) ====== */
  .history-stage{position:relative;max-width:1100px;margin:42px auto 0;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.32)}
  .history-viewport{overflow:hidden}
  .history-track{display:flex;transition:transform .6s cubic-bezier(.2,.72,.18,1)}
  .history-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:1fr 420px;min-height:480px}
  .history-visual{position:relative;background:#0a0c14;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden;isolation:isolate}
  .history-visual:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(22,197,230,.26),transparent 32%),radial-gradient(circle at 84% 16%,rgba(244,41,127,.2),transparent 34%),radial-gradient(circle at 50% 100%,rgba(255,195,31,.16),transparent 36%),linear-gradient(135deg,#07080d 0%,#10131a 100%)}
  .history-visual.has-photo{padding:0}
  .history-visual.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .history-visual.has-photo:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,5,10,.15) 0%,rgba(4,5,10,.55) 100%)}
  .history-year-icon{position:relative;z-index:2;width:68px;height:68px;border-radius:20px;background:rgba(22,197,230,.16);display:grid;place-items:center}
  .history-year-icon svg{width:32px;height:32px;stroke:#8defff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .history-year{position:relative;z-index:2;font-family:Sora,sans-serif;font-weight:800;font-size:clamp(2.2rem,4.4vw,3.4rem);letter-spacing:-1px;color:#fff;line-height:1.05;text-align:center;text-transform:uppercase}
  .history-content{padding:54px 46px;display:flex;flex-direction:column;justify-content:center;text-align:left;background:#fff}
  .history-content h3{font-family:Sora,sans-serif;font-size:1.5rem;line-height:1.22;letter-spacing:-.4px;margin:0 0 14px;color:var(--wl-text)}
  .history-content p{margin:0;color:var(--wl-muted);font-size:1rem;line-height:1.64}
  .history-nav-ui{position:absolute;top:28px;right:448px;display:flex;gap:10px;z-index:5}
  .history-nav-ui button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(8,9,15,.5);backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s}
  .history-nav-ui button:hover{background:rgba(255,255,255,.14);transform:scale(1.08)}
  .history-nav-ui svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.3;stroke-linecap:round}
  .history-dots{position:absolute;bottom:28px;left:32px;display:flex;gap:7px;z-index:5}
  .history-dots button{width:7px;height:7px;border-radius:999px;border:0;background:rgba(255,255,255,.32);padding:0;cursor:pointer;transition:width .35s ease,background .35s ease,opacity .35s ease}
  .history-dots button.active{width:24px;background:var(--wl-cyan)}


  /* ====== Valores (grid em seção escura) ====== */
  .values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
  .value-card{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:24px 22px;box-shadow:0 22px 55px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
  .value-icon{width:42px;height:42px;border-radius:14px;background:rgba(22,197,230,.14);display:grid;place-items:center;margin-bottom:16px}
  .value-icon svg{width:21px;height:21px;stroke:#8defff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .value-card h3{font-family:Sora,sans-serif;font-size:1rem;margin:0 0 8px;color:#fff}
  .value-card p{margin:0;color:#dce4ef;line-height:1.5;font-size:.9rem}

  /* ====== Missão & Visão (cards-manifesto) ====== */
  .manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .manifesto-card{position:relative;background:#0d0f14;color:#fff;border-radius:30px;padding:36px 32px;overflow:hidden;box-shadow:var(--wl-shadow)}
  .manifesto-card:before{content:"";position:absolute;inset:auto -30% -45% -20%;height:58%;background:radial-gradient(circle,rgba(22,197,230,.26),transparent 60%);filter:blur(26px)}
  .manifesto-label{position:relative;display:inline-flex;color:#8defff;font-weight:850;text-transform:uppercase;letter-spacing:1.55px;font-size:.74rem;margin-bottom:14px}
  .manifesto-card p{position:relative;font-family:Sora,sans-serif;font-size:clamp(1.18rem,2vw,1.55rem);line-height:1.32;letter-spacing:-.4px;margin:0;color:#fff}

  /* ====== Grupo Integrando Soluções ====== */
  .group-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
  .group-logo-card{background:#fff;border:1px solid var(--wl-line);border-radius:30px;padding:40px 30px;text-align:center;box-shadow:0 16px 38px rgba(8,9,15,.06)}
  .group-logo-card img{max-width:220px;width:100%;height:auto;display:block;margin:0 auto 18px}
  .group-logo-card span{display:block;color:var(--wl-muted);font-size:.9rem;line-height:1.5}
  .group-copy h2{font-family:Sora,sans-serif;font-size:clamp(1.78rem,2.75vw,2.82rem);line-height:var(--wl-title-line-height);letter-spacing:-1.1px;text-transform:uppercase;margin:0 0 var(--wl-title-intro-gap)}
  .group-copy p{color:var(--wl-muted);line-height:1.65;margin:0 0 22px;max-width:540px}
  .group-feature-list{display:grid;gap:12px}
  .group-feature-item{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:16px;border-radius:20px;background:#f7f9fc;border:1px solid var(--wl-line)}
  .group-feature-number{width:40px;height:40px;border-radius:14px;background:#08090f;color:#fff;display:grid;place-items:center;font-weight:850;font-size:.86rem}
  .group-feature-item h3{margin:0 0 4px;font:850 1rem Sora,sans-serif;color:var(--wl-text)}
  .group-feature-item p{margin:0;color:var(--wl-muted);line-height:1.48;font-size:.9rem}

  /* ====== CTA final ====== */
  .inline-cta{max-width:1040px;margin:0 auto;padding:30px 32px;background:#08090f;color:#fff;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--wl-shadow)}
  .inline-cta strong{font-family:Sora,sans-serif;font-size:clamp(1.2rem,1.9vw,1.85rem);line-height:1.18;text-transform:uppercase;display:block}
  .inline-cta span{display:block;color:#cbd5e1;margin-top:6px;line-height:1.5;font-size:.95rem}
  .inline-cta .cta-actions{display:flex;gap:10px;flex-wrap:wrap}

  /* ====== Partículas (mesmo padrão das páginas de produto) ====== */
  .section-particles{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
  .section-particles .particle-dot{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:var(--c);opacity:var(--o);box-shadow:0 0 18px var(--c),0 0 34px color-mix(in srgb,var(--c) 55%,transparent);animation:wlParticleDrift var(--d) ease-in-out infinite alternate;animation-delay:var(--delay);transform:translate3d(0,0,0)}
  @keyframes wlParticleDrift{0%{transform:translate3d(0,0,0) scale(.86);opacity:calc(var(--o) * .72)}50%{opacity:var(--o)}100%{transform:translate3d(var(--dx),var(--dy),0) scale(1.08);opacity:calc(var(--o) * .85)}}
  @media (prefers-reduced-motion:reduce){.section-particles .particle-dot{animation:none}}

  .wl-floating-whatsapp.product-page-wpp{background:#17c964}
  .wl-floating-whatsapp.product-page-wpp:before{content:none;display:none}

  @media(max-width:1020px){
    .institutional-main{padding-top:84px}
    .product-section{padding:62px 0}
    .manifesto-grid,.group-grid{grid-template-columns:1fr}
    .group-logo-card{max-width:380px;margin:0 auto}
    .inline-cta{flex-direction:column;text-align:center}
    .history-slide{grid-template-columns:1fr 320px;min-height:420px}
    .history-nav-ui{right:348px}
    .history-content{padding:40px 34px}
  }
  @media(max-width:720px){
    .institutional-main{padding-top:68px}
    .product-container{padding:0 18px}
    .product-section{padding:48px 0}
    .institutional-hero{padding:42px 0 50px}
    .hero-copy h1{font-size:clamp(1.5rem,6.6vw,2.1rem);letter-spacing:-.9px;margin:16px auto 13px}
    .hero-copy p{font-size:.93rem;line-height:1.56}
    .hero-actions,.hero-trust{justify-content:center}
    .hero-actions .product-btn{width:100%}
    .hero-trust{gap:8px;font-size:.76rem}
    .section-head h2.section-title{font-size:clamp(1.4rem,6.4vw,1.98rem);letter-spacing:-.7px}
    .section-head p{font-size:.91rem;line-height:1.52}
    .history-slide{grid-template-columns:1fr;min-height:0}
    .history-visual{height:220px;padding:18px}
    .history-year-icon{width:52px;height:52px}
    .history-year-icon svg{width:24px;height:24px}
    .history-year{font-size:clamp(1.6rem,7vw,2.1rem)}
    .history-nav-ui{top:16px;right:16px}
    .history-nav-ui button{width:38px;height:38px}
    .history-dots{top:178px;bottom:auto;left:16px}
    .history-content{padding:26px 22px}
    .history-content h3{font-size:1.16rem}
    .history-content p{font-size:.92rem}
    .manifesto-card{padding:28px 24px}
    .group-logo-card{padding:28px 22px}
    .inline-cta{padding:24px 22px;border-radius:22px}
    .inline-cta .cta-actions{width:100%;flex-direction:column}
    .inline-cta .cta-actions .product-btn{width:100%}
  }
