/* Datagrain — proposta premium-industrial, seis melhorias visuais.
   Isolada da folha de estilos principal para revisão sem alterar a versão pública. */
:root{--dx-navy:#1f2943;--dx-navy-deep:#14233a;--dx-teal:#218381;--dx-mint:#77d5c2;--dx-muted:#627187;--dx-paper:#f3f7f9;--dx-edge:#dce8ec}
html{scroll-behavior:smooth}
.dg-exp-eyebrow{display:block;margin:0 0 12px!important;color:var(--dx-teal);font:800 12px/1.4 "Open Sans",Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.dg-exp-lead{max-width:810px;margin:16px auto 0;color:var(--dx-muted);text-align:center;font:400 16px/1.7 "Open Sans",Arial,sans-serif}
.dg-exp-solutions{background:radial-gradient(ellipse at 12% 3%,#e3f1ee 0,transparent 42%),linear-gradient(180deg,#f5f8fa,#eff5f7)!important}
.dg-exp-solutions .dg-exp-solutions-wrap{min-height:0!important;padding:70px 18px 74px;max-width:1200px}
.dg-exp-solutions .dg-exp-section-intro{text-align:center;margin:0 auto 37px}
.dg-exp-solutions .dg-section-title{max-width:100%;width:auto!important;margin:0!important;color:var(--dx-navy)}
.dg-exp-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:stretch}
.dg-exp-service-card{grid-column:span 2;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--dx-edge);border-radius:17px;background:#fff;color:var(--dx-navy)!important;text-decoration:none!important;box-shadow:0 5px 16px rgba(26,48,65,.045);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.dg-exp-service-card:nth-child(4){grid-column:2/span 2}
.dg-exp-service-card:nth-child(5){grid-column:4/span 2}
.dg-exp-service-card:hover,.dg-exp-service-card:focus-visible{transform:translateY(-6px);box-shadow:0 20px 36px rgba(19,52,71,.13);border-color:#a8d4d2}
.dg-exp-service-card:focus-visible{outline:3px solid #53b4b0;outline-offset:3px}
.dg-exp-service-image{position:relative;display:block;overflow:hidden;height:205px;background:#e9eef1}
.dg-exp-service-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease,filter .5s ease;filter:saturate(.85) contrast(1.03)}
.dg-exp-service-card:nth-child(3) .dg-exp-service-image img{object-fit:cover;padding:0;background:transparent}
.dg-exp-service-card:hover .dg-exp-service-image img{transform:scale(1.055);filter:saturate(1) contrast(1.03)}
.dg-exp-service-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 64%,rgba(17,35,56,.13));pointer-events:none}
.dg-exp-service-content{display:flex;flex:1;flex-direction:column;padding:21px 22px 22px}
.dg-exp-service-label{font:800 11px/1.4 "Open Sans",Arial,sans-serif;color:var(--dx-teal);letter-spacing:.10em;text-transform:uppercase;min-height:18px}
.dg-exp-service-content strong{font:700 21px/1.22 Ubuntu,Arial,sans-serif;min-height:50px;margin:11px 0;color:var(--dx-navy)}
.dg-exp-service-description{font:400 14.5px/1.6 "Open Sans",Arial,sans-serif;color:var(--dx-muted)}
.dg-exp-service-action{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:22px;font:700 13px/1.4 "Open Sans",Arial,sans-serif;color:var(--dx-teal)}
.dg-exp-service-action span{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#e4f1ef;font-size:19px;transition:background .2s,color .2s}
.dg-exp-service-card:hover .dg-exp-service-action span{background:var(--dx-teal);color:#fff}
.dg-exp-service-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 0;padding:20px 26px;border:1px solid #cfe4e4;border-radius:13px;background:#eaf4f3}
.dg-exp-service-footer p{font:600 16px/1.5 Ubuntu,Arial,sans-serif;color:var(--dx-navy);margin:0}
.dg-exp-service-footer a,.dg-exp-saas-copy a{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:12px 18px;border-radius:7px;background:var(--dx-teal);color:#fff!important;font:700 13px/1.4 "Open Sans",Arial,sans-serif;text-decoration:none!important;transition:background .2s,transform .2s}
.dg-exp-service-footer a:hover,.dg-exp-saas-copy a:hover{background:#166765;transform:translateY(-2px)}

/* Jornada de atuação sobre os quatro conteúdos já existentes. */
.dg-specialized .dg-exp-process-lead{max-width:790px;margin:-9px auto 28px;text-align:center;font:400 16px/1.6 "Open Sans",Arial,sans-serif;color:var(--dx-muted)}
.dg-exp-process{position:relative}
.dg-exp-process::before{content:"";position:absolute;top:42px;left:10%;right:10%;border-top:2px dashed #9ccdc5;z-index:0}
.dg-specialized .dg-exp-process .dg-unified-card{position:relative;z-index:1;min-height:230px;background:#fff;border-color:#d6e5e8;border-radius:12px;box-shadow:0 4px 12px rgba(25,47,63,.035);transition:transform .24s,box-shadow .24s,border-color .24s}
.dg-specialized .dg-exp-process .dg-unified-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(25,47,63,.10);border-color:#9ed0c9}
.dg-exp-process .dg-unified-index{border:2px solid #fff;box-shadow:0 0 0 1px #c7e6e0;background:#e0f3ef}
.dg-exp-process .dg-unified-card h3{font:700 20px/1.3 Ubuntu,Arial,sans-serif;color:var(--dx-navy);margin:0 0 10px}

/* Faixa de transição com linguagem da marca, sem elementos em movimento contínuo. */
.dg-exp-transition{position:relative;overflow:hidden;background:linear-gradient(120deg,#182842 0%,#203952 70%,#1d5b65 100%);color:#fff}
.dg-exp-transition::after{content:"";position:absolute;right:-110px;top:-130px;width:410px;height:410px;border:1px solid rgba(138,219,208,.22);border-radius:50%;box-shadow:0 0 0 56px rgba(134,213,202,.05),0 0 0 120px rgba(134,213,202,.04);pointer-events:none}
.dg-exp-transition-inner{position:relative;z-index:1;display:grid;grid-template-columns:70px minmax(0,1fr) 160px;align-items:center;gap:22px;max-width:1140px;margin:auto;padding:45px 24px}
.dg-exp-transition .dg-exp-eyebrow{color:#9be6d5}
.dg-exp-transition h2{font:700 clamp(27px,3vw,38px)/1.2 Ubuntu,Arial,sans-serif;color:#fff;margin:0 0 12px}
.dg-exp-transition p:not(.dg-exp-eyebrow){font:400 16px/1.6 "Open Sans",Arial,sans-serif;color:#dce9ed;margin:0;max-width:650px}
.dg-exp-transition-marker{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:rgba(126,218,199,.15);border:1px solid rgba(129,219,199,.35);font-size:34px;color:#a3ecdb}
.dg-exp-transition-lines{display:flex;flex-direction:column;gap:16px;opacity:.48}
.dg-exp-transition-lines i{display:block;height:2px;background:linear-gradient(to right,transparent,#9be6d5);transform:skewY(-18deg)}
.dg-exp-transition-lines i:nth-child(2){width:75%;margin-left:auto}
.dg-exp-transition-lines i:nth-child(3){width:54%;margin-left:auto}

/* SaaS: gráfico técnico de fluxo; nenhum painel ou resultado operacional é simulado. */
.dg-exp-saas-flow{background:#edf4f6;border-block:1px solid #d9e6e9;padding:54px 22px 40px}
.dg-exp-saas-flow-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.22fr);gap:40px;align-items:center;max-width:1140px;margin:0 auto}
.dg-exp-saas-copy h2{font:700 clamp(27px,2.7vw,36px)/1.24 Ubuntu,Arial,sans-serif;color:var(--dx-navy);margin:0 0 18px}
.dg-exp-saas-copy p:not(.dg-exp-eyebrow){font:400 16px/1.65 "Open Sans",Arial,sans-serif;color:var(--dx-muted);margin:0 0 23px}
.dg-exp-saas-visuals{display:grid;grid-template-columns:1fr;gap:14px;min-width:0}
.dg-exp-saas-visuals figure{position:relative;margin:0;border-radius:16px;overflow:hidden;border:1px solid #d6e4e8;background:#fff;box-shadow:0 12px 34px rgba(28,66,78,.07)}
.dg-exp-saas-equipment{display:grid;place-items:center;min-height:300px;padding:10px 16px 40px;background:radial-gradient(circle at 50% 40%,#fff 0%,#f0f5f6 100%)!important}
.dg-exp-saas-equipment img{display:block;width:100%;height:265px;object-fit:contain;object-position:center}
.dg-exp-saas-art img{display:block;width:100%;height:240px;object-fit:contain;background:#f7fbfb}
.dg-exp-saas-visuals figcaption{position:absolute;bottom:0;left:0;right:0;padding:8px 15px 10px;text-align:center;font:700 12px/1.4 "Open Sans",Arial,sans-serif;letter-spacing:.03em;color:var(--dx-navy);background:linear-gradient(0deg,rgba(236,247,246,.98),rgba(248,252,251,.92))}
.dg-exp-saas-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1140px;margin:26px auto 0;gap:12px}
.dg-exp-saas-stages span{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #dce8eb;border-radius:10px;padding:14px;font:600 13px/1.4 "Open Sans",Arial,sans-serif;color:var(--dx-navy)}
.dg-exp-saas-stages b{display:grid;place-items:center;width:30px;min-width:30px;height:30px;border-radius:8px;background:#e0f3ef;color:var(--dx-teal);font:800 12px Ubuntu,Arial,sans-serif}

/* Datagrain 3D: galeria de aplicações com ampliação acessível. */
.dg3d-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:12px 0 25px}
.dg3d-gallery-heading h3{font:700 clamp(22px,2.35vw,30px)/1.24 Ubuntu,Arial,sans-serif;color:var(--dx-navy);margin:0}
.dg3d-gallery-heading p{max-width:380px;font:400 15px/1.58 "Open Sans",Arial,sans-serif;color:var(--dx-muted);margin:0}
.dg3d-offers article{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.dg3d-offers article:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(24,50,69,.10);border-color:#b0d5d1}
.dg3d-media-open{display:block;position:relative;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left}
.dg3d-media-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.dg3d-media-open:hover img,.dg3d-media-open:focus-visible img{transform:scale(1.04)}
.dg3d-media-open:focus-visible{outline:3px solid var(--dx-teal);outline-offset:3px}
.dg3d-media-hint{position:absolute;right:11px;bottom:10px;padding:7px 10px;border-radius:6px;background:rgba(21,44,60,.82);color:#fff;font:700 12px/1.3 "Open Sans",Arial,sans-serif;pointer-events:none}
.dg3d-lightbox{width:min(950px,calc(100vw - 24px));max-width:950px;max-height:90vh;padding:0;border:0;border-radius:16px;overflow:auto;box-shadow:0 25px 80px rgba(0,0,0,.35);background:#fff}
.dg3d-lightbox::backdrop{background:rgba(11,22,39,.78);backdrop-filter:blur(5px)}
.dg3d-lightbox figure{margin:0}
.dg3d-lightbox figure img{display:block;max-height:67vh;width:100%;object-fit:contain;background:#e9eef1}
.dg3d-lightbox figcaption{padding:20px 25px 23px}
.dg3d-lightbox figcaption strong{font:700 22px Ubuntu,Arial,sans-serif;color:var(--dx-navy)}
.dg3d-lightbox figcaption p{font:400 15px/1.55 "Open Sans",Arial,sans-serif;color:var(--dx-muted);margin:9px 0 0}
.dg3d-lightbox-close{position:absolute;z-index:5;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--dx-navy);font:400 32px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.18)}

/* Contato orientado pela necessidade do visitante. */
.dg-exp-contact-hub{background:linear-gradient(120deg,#1d2b43,#1b3d4b);color:#fff;padding:65px 22px}
.dg-exp-contact-inner{display:grid;grid-template-columns:1fr .92fr;gap:75px;max-width:1140px;margin:0 auto;align-items:center}
.dg-exp-contact-hub .dg-exp-eyebrow{color:#92dccc}
.dg-exp-contact-hub h2{font:700 clamp(30px,3vw,40px)/1.18 Ubuntu,Arial,sans-serif;color:#fff;margin:0 0 16px}
.dg-exp-contact-hub p:not(.dg-exp-eyebrow){max-width:570px;font:400 16px/1.65 "Open Sans",Arial,sans-serif;color:#d4e4e9;margin:0}
.dg-exp-contact-links{display:grid;gap:11px}
.dg-exp-contact-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:rgba(255,255,255,.075);border:1px solid rgba(174,222,224,.24);border-radius:11px;color:#fff!important;text-decoration:none!important;font:700 15px/1.4 "Open Sans",Arial,sans-serif;transition:background .2s,transform .2s,border-color .2s}
.dg-exp-contact-links a:hover,.dg-exp-contact-links a:focus-visible{background:rgba(85,188,172,.24);border-color:#79cfc6;transform:translateX(3px)}
.dg-exp-contact-links a span:last-child{font-size:22px;color:#93e1d3}

/* A faixa de propósito abre a jornada visual sem tocar no texto Quem Somos. */
.u-section-1 .u-text-3{position:relative;background:linear-gradient(115deg,#20324c,#1e5160)!important;color:#fff!important;border:0!important;border-left:4px solid #65c9af!important;box-shadow:0 12px 30px rgba(29,63,78,.09);padding:24px 30px!important;border-radius:12px!important}
.u-section-1 .u-text-3 *{color:#fff!important}

/* Animação única ao entrar na área visível, com retorno seguro sem JS. */
.dg-motion-ready .dg-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.dg-motion-ready .dg-reveal.dg-visible{opacity:1;transform:none}
.dg-motion-ready .dg-exp-service-card.dg-reveal{transition:opacity .65s ease,transform .65s ease,box-shadow .25s ease,border-color .25s ease}
.dg-motion-ready .dg-exp-service-card.dg-visible:hover{transform:translateY(-6px)}
@media(max-width:1099px){
  .dg-exp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dg-exp-service-card,.dg-exp-service-card:nth-child(4),.dg-exp-service-card:nth-child(5){grid-column:auto}
  .dg-exp-service-card:nth-child(5){grid-column:1/-1;width:min(100%,420px);justify-self:center}
  .dg-exp-saas-flow-wrap{gap:24px}
  .dg-exp-contact-inner{gap:35px}
}
@media(max-width:767px){
  .dg-exp-saas-equipment{min-height:0;padding:12px 10px 37px}
  .dg-exp-saas-equipment img{height:265px}
  .dg-exp-saas-art img{height:auto;max-height:260px}

  .dg-exp-solutions .dg-exp-solutions-wrap{padding:52px 17px 56px}
  .dg-exp-service-grid{gap:14px}
  .dg-exp-service-content{padding:17px}
  .dg-exp-service-image{height:185px}
  .dg-exp-service-content strong{font-size:19px}
  .dg-exp-service-footer{flex-direction:column;text-align:center;gap:14px}
  .dg-exp-process::before{display:none}
  .dg-specialized .dg-exp-process-lead{margin:0 auto 22px}
  .dg-exp-transition-inner{grid-template-columns:52px minmax(0,1fr);padding:38px 20px;gap:16px}
  .dg-exp-transition-marker{width:50px;height:50px;border-radius:13px;font-size:27px}
  .dg-exp-transition-lines{display:none}
  .dg-exp-saas-flow{padding:42px 18px 38px}
  .dg-exp-saas-flow-wrap{grid-template-columns:1fr;gap:25px}
  .dg-exp-saas-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dg3d-gallery-heading{align-items:start;flex-direction:column;gap:10px}
  .dg-exp-contact-hub{padding:47px 20px}
  .dg-exp-contact-inner{grid-template-columns:1fr;gap:28px}
  .u-section-1 .u-text-3{padding:20px!important}
}
@media(max-width:575px){
  .dg-exp-saas-equipment img{height:235px}

  .dg-exp-solutions .dg-exp-solutions-wrap{padding:40px 14px 43px}
  .dg-exp-service-grid{grid-template-columns:1fr}
  .dg-exp-service-card,.dg-exp-service-card:nth-child(4),.dg-exp-service-card:nth-child(5){grid-column:auto;width:100%}
  .dg-exp-service-image{height:205px}
  .dg-exp-service-content strong{min-height:0}
  .dg-exp-service-footer{margin-top:23px;padding:19px 15px}
  .dg-exp-service-footer a{width:100%}
  .dg-exp-transition-inner{grid-template-columns:1fr}
  .dg-exp-transition-marker{display:none}
  .dg-exp-saas-stages{gap:9px}
  .dg-exp-saas-stages span{padding:11px 9px;font-size:12px;gap:7px}
  .dg-exp-saas-stages b{width:26px;min-width:26px;height:26px}
  .dg3d-lightbox figcaption{padding:17px}
}
@media(prefers-reduced-motion:reduce){
  .dg-reveal,.dg-motion-ready .dg-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .dg-exp-service-card,.dg-exp-service-image img,.dg3d-offers article,.dg3d-media-open img,.dg-exp-contact-links a{transition:none!important}
}
