*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#050a11;color:#eaf3ff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;color:#000;padding:10px}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:10px 4vw;background:#050a11f2;position:sticky;top:0;z-index:50;border-bottom:1px solid #12365d;backdrop-filter:blur(14px)}.brand img{width:205px;max-height:60px;object-fit:contain}nav{display:flex;gap:18px;align-items:center;font-weight:800;font-size:13px}nav a{opacity:.9}nav a:hover{color:#42b3ff;opacity:1}.cta,.btn{background:linear-gradient(135deg,#0875df,#18a3ff);padding:13px 18px;border-radius:10px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #0875df2e}.btn:hover,.cta:hover{transform:translateY(-2px)}.ghost{background:#071523;border:1px solid #1b6ca7;box-shadow:none}.hamb{display:none;background:transparent;border:0;color:#fff;font-size:30px}.hero{position:relative;overflow:hidden;background:#000;border-bottom:1px solid #12365d}.slides{display:flex;transition:.55s ease}.slides img{width:100%;flex:0 0 100%;display:block;aspect-ratio:1.875/1;object-fit:cover}.prev,.next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:1px solid #2a8ee8;background:#041322d9;color:#fff;width:46px;height:58px;border-radius:9px;font-size:34px;cursor:pointer}.prev{left:18px}.next{right:18px}.dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.dots button{width:9px;height:9px;border:0;border-radius:50%;background:#fff8;cursor:pointer}.dots button.active{background:#159bff;transform:scale(1.45)}.intro,.docs,.faq,.why{padding:80px 6vw;max-width:1540px;margin:auto}.intro{text-align:center}.eyebrow,.section-title span{color:#29a7ff;font-weight:900;letter-spacing:2px;font-size:13px}.intro h1,.section-title h2,.service-copy h2,.conversion h2{font-size:clamp(32px,4vw,58px);line-height:1.04;margin:10px 0 18px}.intro p{max-width:1100px;margin:0 auto 27px;font-size:20px;color:#c9d6e5}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chips span{border:1px solid #1d6eae;background:#07182a;padding:9px 14px;border-radius:999px;font-weight:700}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:28px}.quick{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#12365d;border-top:1px solid #12365d;border-bottom:1px solid #12365d}.quick div{background:#06111d;padding:22px 18px;text-align:center}.quick strong{display:block;color:#46b5ff;font-size:18px}.quick span{color:#9fb3c6;font-size:13px}.service-stack{padding:80px 0 30px;background:linear-gradient(180deg,#07111d,#03070d 12%,#050a11)}.section-title{max-width:1100px;margin:0 auto 45px;text-align:center;padding:0 6vw}.section-title p{color:#aebfd1;font-size:17px}.service-block{max-width:1560px;margin:0 auto 55px;padding:0 5vw;display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center}.service-block.reverse{grid-template-columns:.92fr 1.08fr}.service-block.reverse img{order:2}.service-block img{width:100%;border-radius:16px;border:1px solid #1c5f96;box-shadow:0 22px 55px #0008}.service-copy{padding:18px 0}.service-copy .num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0a72c7;color:#fff;font-weight:900;margin-right:10px}.service-copy h2{font-size:clamp(30px,3.2vw,48px)}.service-copy p{font-size:18px;color:#c6d4e2}.service-copy ul{padding:0;margin:22px 0;display:grid;gap:9px}.service-copy li{list-style:none;background:#071523;border-left:3px solid #159bff;padding:10px 13px;color:#d5e1ed}.text-link{color:#47b7ff;font-weight:900;font-size:16px}.text-link:hover{text-decoration:underline}.micro{font-size:14px!important;color:#99acbf!important}.nr12-special{margin-top:20px;padding-top:40px;padding-bottom:40px;border-top:1px solid #174b76;border-bottom:1px solid #174b76;background:radial-gradient(circle at 80% 10%,#0b3a62 0,transparent 40%)}.docs{max-width:1500px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1200px;margin:auto}.columns ul{margin:0;padding:0}.columns li{margin:10px 0;background:#071523;border-left:3px solid #168fe9;padding:12px 16px;list-style:none}.why{padding-top:70px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.why-grid div{padding:24px;background:#071523;border:1px solid #17466f;border-radius:14px}.why-grid b{display:block;color:#45b5ff;font-size:20px;margin-bottom:8px}.why-grid span{color:#b8c8d7}.conversion{text-align:center;padding:80px 7vw;background:radial-gradient(circle at 50% 0,#0d3e69,#06101b 55%,#03070c);border-top:1px solid #165b91;border-bottom:1px solid #165b91}.conversion p{max-width:900px;margin:0 auto 28px;color:#c8d5e2;font-size:19px}.faq details{max-width:1050px;margin:12px auto;background:#071523;border:1px solid #17466f;border-radius:10px;padding:17px 20px}.faq summary{font-weight:900;cursor:pointer;font-size:17px}.faq p{color:#c0ccda}footer{text-align:center;padding:52px 5vw 110px;background:#02050a;color:#9eb0c3;border-top:1px solid #102d49}footer img{width:210px;margin:0 auto 20px}footer a{color:#44adff}.footlinks{font-size:14px}.float-wrap{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;flex-direction:column;gap:9px}.float{background:#10aa52;color:white;padding:11px 15px;border-radius:999px;font-weight:900;box-shadow:0 7px 24px #0008}.float small{font-weight:700;opacity:.9}.portfolio-nav{background:linear-gradient(135deg,#f6c500,#ffd84d);color:#071523!important;padding:13px 16px;border-radius:10px;font-weight:900;opacity:1!important;box-shadow:0 10px 28px #f6c5002e}.portfolio-nav:hover{color:#071523!important;transform:translateY(-2px)}.portfolio-btn{background:linear-gradient(135deg,#f6c500,#ffd84d);color:#071523;box-shadow:0 10px 28px #f6c5002e}.portfolio-btn:hover{filter:brightness(1.04)}@media(max-width:1180px){nav{gap:12px}nav a:not(.cta):not(.portfolio-nav){display:none}.quick{grid-template-columns:repeat(3,1fr)}.service-block,.service-block.reverse{grid-template-columns:1fr;gap:25px}.service-block.reverse img{order:0}.service-copy{padding:0}.why-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{min-height:70px;padding:7px 4vw}.brand img{width:165px}.hamb{display:none}.slides img{aspect-ratio:auto;min-height:230px;object-fit:cover}.prev,.next{width:36px;height:48px}.intro,.docs,.faq,.why{padding:55px 5vw}.intro p{font-size:17px}.quick{grid-template-columns:1fr 1fr}.service-stack{padding-top:55px}.service-block,.service-block.reverse{padding:0 5vw;margin-bottom:48px}.service-copy p{font-size:16px}.columns{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.actions{display:grid}.btn{width:100%}.float-wrap{left:12px;right:12px;bottom:10px}.float{text-align:center;font-size:12px;padding:9px 11px}footer{padding-bottom:120px}}@media(max-width:460px){.quick{grid-template-columns:1fr}.slides img{min-height:205px}.cta{font-size:11px;padding:9px 10px}.dots{bottom:8px}.dots button{width:7px;height:7px}}
@media(max-width:760px){.portfolio-nav{font-size:11px;padding:9px 10px}}


/* ===== V2.2 | Gestão SST Terceirizada ===== */
.management-plan{padding:80px 6vw;max-width:1540px;margin:auto;background:radial-gradient(circle at 15% 10%,#0a3153 0,transparent 34%)}
.management-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;max-width:1240px;margin:auto}.management-main,.partner-card{background:#071523;border:1px solid #174f7d;border-radius:18px;padding:30px;box-shadow:0 20px 55px #0005}.management-main h3,.partner-card h3{font-size:27px;line-height:1.2;margin:0 0 16px}.management-main ul{padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.management-main li{list-style:none;border-left:3px solid #159bff;background:#06111d;padding:11px 13px}.partner-card p{color:#c3d1df}.partner-card .highlight{border-left:3px solid #18a3ff;padding:12px 14px;background:#06111d;color:#e9f4ff}.management-cta{max-width:1240px;margin:20px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#06111d;border:1px solid #174f7d;border-radius:15px;padding:20px 24px}.management-cta strong{display:block;color:#45b5ff;font-size:20px}.management-cta span{color:#b8c8d7}
@media(max-width:1400px){nav{gap:10px;font-size:12px}.brand img{width:185px}.portfolio-nav,.cta{padding:11px 12px}}
@media(max-width:1180px){.hamb{display:block;cursor:pointer}.topbar nav{display:none;position:absolute;top:100%;left:0;right:0;background:#040b13f7;border-bottom:1px solid #174f7d;padding:14px 4vw 20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;box-shadow:0 18px 40px #000a}.topbar nav.open{display:grid}.topbar nav a,.topbar nav a:not(.cta):not(.portfolio-nav){display:flex!important;align-items:center;justify-content:center;min-height:44px;background:#071523;border:1px solid #164568;border-radius:9px;padding:10px;text-align:center}.topbar nav .portfolio-nav{background:linear-gradient(135deg,#f6c500,#ffd84d)}.topbar nav .cta{background:linear-gradient(135deg,#0875df,#18a3ff)}.management-grid{grid-template-columns:1fr}.management-main ul{grid-template-columns:1fr}}
@media(max-width:760px){.management-plan{padding:55px 5vw}.management-main,.partner-card{padding:22px}.management-cta{flex-direction:column;align-items:stretch}.management-cta .btn{width:100%}.topbar nav{grid-template-columns:1fr 1fr}.topbar nav a{font-size:12px}.hero .slides img{min-height:0;aspect-ratio:1.777/1;object-fit:cover}.hero .prev,.hero .next{opacity:.8}}
@media(max-width:460px){.topbar nav{grid-template-columns:1fr}.hero .slides img{aspect-ratio:1.777/1;min-height:0}}


/* SST CAMPINAS PREMIUM SEO LOCAL V1.0 */
.local-breadcrumb{max-width:1180px;margin:0 auto;padding:14px 24px;color:#b7c4d2;font-size:.92rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.local-breadcrumb a{color:#dbe9f6;text-decoration:none}.local-breadcrumb strong{color:#fff}.local-seo,.local-decision{padding:74px max(24px,calc((100% - 1180px)/2));background:linear-gradient(180deg,#07111c,#0a1826)}.local-seo .section-title,.local-decision .section-title{max-width:920px;margin:0 auto 30px}.local-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.local-grid article,.search-intent,.local-note,.decision-grid article{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:24px}.local-grid h3,.search-intent h3{margin-top:0;color:#fff}.local-grid p,.search-intent p,.local-note{line-height:1.75}.search-intent,.local-note{margin-top:18px}.search-intent strong{color:#f2c94c}.local-note strong{color:#fff}.local-decision{background:#050b12}.decision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.decision-grid article{display:flex;flex-direction:column;gap:10px}.decision-grid b{font-size:1.05rem;color:#fff}.decision-grid span{line-height:1.6;color:#cbd6e2}.local-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}@media(max-width:900px){.decision-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.local-grid,.decision-grid{grid-template-columns:1fr}.local-seo,.local-decision{padding:52px 18px}.local-breadcrumb{padding:12px 18px}}

/* V2 - conteúdo local Campinas */
.campinas-industry{padding:74px max(24px,calc((100% - 1180px)/2));background:linear-gradient(180deg,#0a1826,#07111c)}
.campinas-industry .section-title{max-width:940px;margin:0 auto 30px}
.industry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.industry-grid article,.industry-note{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:24px}
.industry-grid h3{margin-top:0;color:#fff}.industry-grid p,.industry-note{line-height:1.75}.industry-note{margin-top:18px}.industry-note strong{color:#fff}
@media(max-width:700px){.campinas-industry{padding:52px 18px}.industry-grid{grid-template-columns:1fr}}

/* ===== MATRIZ SST LOCAL V5.0 | REGRAS FINAIS CONSOLIDADAS =====
   Cabeçalho horizontal no desktop, hambúrguer apenas em tablet/celular,
   carrossel full-width sem cortes e banners internos proporcionais. */

/* Carrossel: sempre exibe 100% do banner, sem crop ou distorção. */
.hero{
  width:100%;
  max-width:none;
  max-height:none;
  overflow:hidden;
  background:#000;
  contain:layout paint;
}
.hero .slides{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  align-items:flex-start;
  background:#000;
  transition:transform .55s ease,height .28s ease;
  will-change:transform;
}
.hero .slides img{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center center;
  background:#000;
}

/* Desktop/notebook: menu horizontal completo em 100% de zoom. */
@media (min-width:861px){
  .topbar{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:66px!important;
    height:auto!important;
    padding:5px clamp(10px,1.25vw,20px)!important;
    gap:clamp(8px,1vw,16px)!important;
    background:#050a11f7!important;
  }
  .topbar .brand{
    width:auto!important;
    min-height:0!important;
    padding:0!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
  }
  .topbar .brand img{
    width:clamp(135px,11.8vw,170px)!important;
    max-height:54px!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .topbar .hamb{display:none!important}
  .topbar nav,.topbar nav.open{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    grid-template-columns:none!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(2px,.32vw,6px)!important;
    font-size:clamp(8.8px,.73vw,11.2px)!important;
    line-height:1!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .topbar nav a,.topbar nav a:not(.cta):not(.portfolio-nav){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    min-height:0!important;
    white-space:nowrap!important;
    padding:7px 1px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    text-align:center!important;
  }
  .topbar nav .portfolio-nav,.topbar nav .cta{
    min-height:34px!important;
    padding:7px clamp(6px,.55vw,9px)!important;
    border-radius:8px!important;
  }
  .topbar nav .portfolio-nav{background:linear-gradient(135deg,#f6c500,#ffd84d)!important}
  .topbar nav .cta{background:linear-gradient(135deg,#0875df,#18a3ff)!important}
  .local-breadcrumb{padding-top:8px!important;padding-bottom:8px!important}

  /* Banners internos maiores, mas proporcionais. */
  .service-block{
    max-width:1620px!important;
    padding-left:2.5vw!important;
    padding-right:2.5vw!important;
    grid-template-columns:minmax(0,1.20fr) minmax(0,.80fr)!important;
    gap:30px!important;
  }
  .service-block.reverse{grid-template-columns:minmax(0,.80fr) minmax(0,1.20fr)!important}
  .service-block > img,.service-block.reverse > img{
    width:100%!important;
    max-width:780px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    justify-self:center!important;
    align-self:center!important;
  }
}

/* Compactação extra para notebooks com viewport CSS reduzido em 100%. */
@media (min-width:861px) and (max-width:1120px){
  .topbar{padding-left:8px!important;padding-right:8px!important;gap:7px!important}
  .topbar .brand img{width:132px!important;max-height:48px!important}
  .topbar nav,.topbar nav.open{gap:2px!important;font-size:8.55px!important;letter-spacing:-.08px!important}
  .topbar nav a,.topbar nav a:not(.cta):not(.portfolio-nav){padding-left:1px!important;padding-right:1px!important}
  .topbar nav .portfolio-nav,.topbar nav .cta{padding-left:5px!important;padding-right:5px!important;min-height:32px!important}
  .service-block > img,.service-block.reverse > img{max-width:720px!important}
}

/* Tablet/celular: hambúrguer funcional e banners sem cortes. */
@media (max-width:860px){
  .topbar{display:flex!important;align-items:center!important;justify-content:space-between!important}
  .topbar .hamb{display:block!important;cursor:pointer!important}
  .topbar nav{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    background:#040b13f7!important;
    border-bottom:1px solid #174f7d!important;
    padding:14px 4vw 20px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    box-shadow:0 18px 40px #000a!important;
  }
  .topbar nav.open{display:grid!important}
  .topbar nav a,.topbar nav a:not(.cta):not(.portfolio-nav){
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    background:#071523!important;
    border:1px solid #164568!important;
    border-radius:9px!important;
    padding:10px!important;
    text-align:center!important;
  }
  .topbar nav .portfolio-nav{background:linear-gradient(135deg,#f6c500,#ffd84d)!important}
  .topbar nav .cta{background:linear-gradient(135deg,#0875df,#18a3ff)!important}
  .hero .slides,.hero .slides img{aspect-ratio:auto!important}
  .hero .slides img{width:100%!important;min-width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important}
  .hero .prev,.hero .next{top:50%;opacity:.84}
  .service-block > img,.service-block.reverse > img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}
@media (max-width:460px){.topbar nav.open{grid-template-columns:1fr!important}}

/* Acessibilidade e estabilidade visual. */
.hamb:focus-visible,.prev:focus-visible,.next:focus-visible,.dots button:focus-visible,a:focus-visible{
  outline:3px solid #55baff;
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ===== V5.1 FINAL | PADRONIZAÇÃO VISUAL DOS BANNERS INTERNOS NO DESKTOP =====
   Todos os banners de serviços ocupam exatamente a mesma área visual.
   A imagem inteira é preservada: sem corte, sem zoom e sem deformação. */
@media (min-width:861px){
  .service-block,
  .service-block.reverse{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:36px!important;
    align-items:center!important;
  }

  /* Mantém todos os banners na mesma coluna visual e com a mesma caixa 16:9. */
  .service-block > img,
  .service-block.reverse > img{
    order:0!important;
    display:block!important;
    width:min(100%,760px)!important;
    max-width:760px!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    object-fit:contain!important;
    object-position:center center!important;
    justify-self:center!important;
    align-self:center!important;
    background:#02060b!important;
    border-radius:16px!important;
  }

  .service-block > .service-copy,
  .service-block.reverse > .service-copy{
    order:1!important;
    width:100%!important;
    min-width:0!important;
  }
}

@media (min-width:861px) and (max-width:1120px){
  .service-block > img,
  .service-block.reverse > img{
    width:min(100%,700px)!important;
    max-width:700px!important;
    aspect-ratio:16/9!important;
    object-fit:contain!important;
  }
}

/* No mobile continua responsivo, exibindo a arte completa. */
@media (max-width:860px){
  .service-block > img,
  .service-block.reverse > img{
    order:0!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
  .service-block > .service-copy,
  .service-block.reverse > .service-copy{order:1!important}
}
