/* Seção "Tecnologia aplicada. Impacto real." da home (pacote de redesign B2B, adaptado ao site).
   Tudo fica sob .ngg-solucoes. As cores e fontes vêm dos tokens de style.css, então a seção segue o tema
   claro/escuro. Os visuais e o bloco de chamada são sempre escuros, nos dois temas. */

.ngg-solucoes{scroll-margin-top:calc(var(--bar-h) + 1rem);}
.ngg-solucoes__header{margin-bottom:clamp(2rem,4.5vw,3.6rem);}
.ngg-solucoes__header .scene-meta{margin-bottom:1.6rem;}
.ngg-solucoes__header-grid{display:grid;grid-template-columns:1.4fr .65fr;align-items:end;gap:clamp(1.4rem,6vw,6rem);}
.ngg-solucoes__title{max-width:970px;font-size:clamp(2.7rem,6vw,5.8rem);line-height:.98;}
.ngg-solucoes__title em{color:var(--gold);font-style:normal;}
.ngg-solucoes__lead{margin:0;font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.65;}
.ngg-solucoes__lead-detail{margin:.9rem 0 0;font-size:.82rem;line-height:1.6;opacity:.8;}

.ngg-solucoes__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;align-items:stretch;}
.ngg-case{
  min-width:0;display:flex;flex-direction:column;overflow:hidden;
  background:var(--bg-raised);border:1px solid var(--line);border-radius:4px;
  transition:transform .3s ease,border-color .3s ease;
}
.ngg-case:hover{transform:translateY(-6px);border-color:var(--gold);}
.ngg-case__media{position:relative;aspect-ratio:900/570;overflow:hidden;background:#0b1b24;}
.ngg-case__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.ngg-case:hover .ngg-case__media img{transform:scale(1.035);}
.ngg-case__media-label,.ngg-case__serial{position:absolute;z-index:1;font-family:var(--mono);font-size:.62rem;font-weight:500;letter-spacing:.06em;line-height:1.3;}
.ngg-case__media-label{left:.9rem;top:.8rem;padding:.35rem .55rem;color:#fcf6ea;background:rgba(6,17,24,.84);border:1px solid rgba(255,255,255,.18);border-radius:2px;}
.ngg-case__serial{right:1rem;top:.9rem;color:#edaa46;}
.ngg-case__body{display:flex;flex:1;flex-direction:column;padding:clamp(1.3rem,2vw,2rem);}
.ngg-case__kicker{display:flex;justify-content:space-between;gap:.6rem;min-height:1.1rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;line-height:1.5;color:var(--teal);}
.ngg-case__marker{color:var(--fg-dim);opacity:.7;}
.ngg-case__title{margin:.9rem 0 .7rem;font-size:clamp(1.7rem,2.3vw,2.4rem);line-height:1.04;}
.ngg-case__summary{margin:0 0 1.3rem;font-size:.92rem;line-height:1.55;min-height:2.8em;}
.ngg-case__details{margin:0;padding:0;border-top:1px solid var(--line);}
.ngg-case__details>div{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:.6rem;padding:.85rem 0;border-bottom:1px solid var(--line);}
.ngg-case__details dt{padding-top:.1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.03em;line-height:1.5;color:var(--teal);}
.ngg-case__details dd{min-width:0;margin:0;font-size:.82rem;line-height:1.55;color:var(--fg-dim);}
.ngg-case__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:1.3rem;}
.ngg-case__tags span{padding:.4rem .55rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.03em;line-height:1.15;color:var(--fg-dim);background:var(--hairline-light);border:1px solid var(--line);}

.ngg-solucoes__disclaimer{margin:1.3rem 0 0;font-size:.78rem;line-height:1.6;}
.ngg-solucoes__disclaimer strong{color:var(--fg);}

.ngg-solucoes__cta{position:relative;overflow:hidden;margin-top:clamp(2.4rem,5vw,4.6rem);padding:clamp(1.5rem,3vw,2.7rem);background:#0b0d11;color:#f3f1ea;border:1px solid rgba(243,241,234,.12);border-radius:4px;}
.ngg-solucoes__cta::before{content:"";position:absolute;width:420px;height:420px;right:22%;bottom:-320px;border:1px solid rgba(232,162,58,.35);border-radius:50%;pointer-events:none;}
.ngg-solucoes__cta-topline{display:flex;justify-content:space-between;gap:.6rem;padding-bottom:1.1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.075em;line-height:1.2;color:#bdc0bf;border-bottom:1px solid rgba(243,241,234,.16);}
.ngg-solucoes__cta-main{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:1.8rem;padding-top:1.6rem;}
.ngg-solucoes__cta h3{margin:0;font-size:clamp(2.4rem,4.2vw,4.4rem);line-height:1;color:#f3f1ea;}
.ngg-solucoes__cta h3 em{color:#e8a23a;font-style:normal;}
.ngg-solucoes__cta p{max-width:30rem;margin:1rem 0 0;font-size:.95rem;line-height:1.6;color:#c7c9c6;}
.ngg-solucoes__button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:1.8rem;min-width:18rem;min-height:3.2rem;}
.ngg-solucoes__button span{font-size:1.3rem;line-height:.6;}

@media (max-width:1100px){
  .ngg-case__body{padding:1.2rem;}
  .ngg-case__details>div{grid-template-columns:1fr;gap:.15rem;}
}
@media (max-width:900px){
  .ngg-solucoes__header-grid{grid-template-columns:1fr;gap:1rem;}
  .ngg-solucoes__lead-wrap{max-width:42rem;}
  .ngg-solucoes__grid{grid-template-columns:1fr 1fr;}
  .ngg-case:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;}
  .ngg-case:last-child .ngg-case__media{height:100%;aspect-ratio:auto;}
  .ngg-case:last-child .ngg-case__media img{object-fit:contain;}
  .ngg-case:last-child .ngg-case__details>div{grid-template-columns:6.2rem minmax(0,1fr);}
  .ngg-solucoes__cta-main{flex-wrap:wrap;}
}
@media (max-width:640px){
  .ngg-solucoes__grid{grid-template-columns:1fr;gap:1.3rem;}
  .ngg-case:last-child{display:flex;grid-column:auto;}
  .ngg-case:last-child .ngg-case__media{height:auto;aspect-ratio:900/570;}
  .ngg-case:last-child .ngg-case__media img{object-fit:cover;}
  .ngg-case__body{padding:1.3rem;}
  .ngg-case__title{font-size:2rem;}
  .ngg-case__details>div,.ngg-case:last-child .ngg-case__details>div{grid-template-columns:5.6rem minmax(0,1fr);gap:.6rem;}
  .ngg-case__details dd{font-size:.88rem;}
  .ngg-case__tags span{font-size:.68rem;padding:.45rem .6rem;}
  .ngg-solucoes__disclaimer{font-size:.82rem;}
  .ngg-solucoes__cta-topline{font-size:.58rem;}
  .ngg-solucoes__cta-main{display:block;}
  .ngg-solucoes__cta h3{font-size:clamp(2.4rem,11vw,3.4rem);}
  .ngg-solucoes__button{width:100%;min-width:0;margin-top:1.5rem;padding:1.1rem .9rem;gap:1rem;}
}
@media (prefers-reduced-motion:reduce){
  .ngg-case,.ngg-case__media img{transition:none;}
  .ngg-case:hover,.ngg-case:hover .ngg-case__media img{transform:none;}
}
