.client-cases__lower{display:none}
.client-cases{box-sizing:border-box;background:#f3f4f1;padding:22px 24px;font-family:Manrope,Arial,sans-serif;color:#202823}
.client-cases *{box-sizing:border-box}
.client-cases__stage{position:relative;isolation:isolate;height:396px;max-width:1120px;margin:0 auto;border:1px solid #edf0ea;border-radius:18px;background:#fff;overflow:hidden}
.client-cases__stage:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#edf0ea 1px,transparent 1px),linear-gradient(90deg,#edf0ea 1px,transparent 1px);background-size:56px 52px;opacity:.72;mask-image:linear-gradient(#000,transparent 78%);-webkit-mask-image:linear-gradient(#000,transparent 78%);pointer-events:none}
.client-cases__mosaic{position:absolute;top:29px;left:50%;transform:translateX(-50%);width:min(748px,calc(100% - 68px));list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:64px;gap:12px}
.client-cases__tile{position:relative;border:1px solid #e4e8e1;border-radius:8px;background:#fff;box-shadow:0 5px 12px -8px #26352929;display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;transform:translateY(var(--tile-shift,0))}
.client-cases__card span{font-size:16px;font-weight:550;letter-spacing:-.045em;line-height:1.2}
.client-cases__tile:nth-child(1){--tile-shift:21px}
.client-cases__tile:nth-child(2){--tile-shift:4px}
.client-cases__tile:nth-child(3){--tile-shift:14px}
.client-cases__tile:nth-child(4){--tile-shift:0px}
.client-cases__tile:nth-child(5){--tile-shift:20px}
.client-cases__tile:nth-child(6){--tile-shift:20px}
.client-cases__tile:nth-child(7){--tile-shift:4px}
.client-cases__tile:nth-child(8){--tile-shift:14px}
.client-cases__tile:nth-child(9){--tile-shift:0px}
.client-cases__tile:nth-child(10){--tile-shift:20px}
.client-cases__tile--neutral{background:#f7f8f5;box-shadow:none;border-color:#edf0e9}
.client-cases__tile--neutral:before{content:"";position:absolute;inset:17px 22%;border-top:1px solid #e4e8df;border-bottom:1px solid #e4e8df;opacity:.7}
.client-cases__tile--neutral:nth-child(3n){background:#eef1eb}
.client-cases__tile--neutral:nth-child(3n):before{inset:20px 28%;border-bottom:0;border-top:1px solid #dce2d5}
.client-cases__copy{position:absolute;top:220px;left:24px;right:24px;margin:0;text-align:center}
.client-cases__eyebrow{font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:.12em;line-height:1.5;margin:0 0 9px}
.client-cases__copy h2{font-size:30px;font-weight:450;letter-spacing:-.055em;line-height:1.12;margin:0 0 11px}
.client-cases__copy>p:not(.client-cases__eyebrow){font-size:11px;line-height:1.55;color:#687269;margin:0 auto 13px;max-width:430px}
.client-cases__link{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:13px;padding:8px 16px;border:1px solid #dce2d7;border-radius:99px;background:#ffffffc9;color:#253229;text-decoration:none;font-size:10px;line-height:1.4;box-shadow:inset 0 1px 0 #fff,0 4px 10px -7px #27352c40}
.client-cases__link>span{font-size:15px;line-height:1}
.client-cases__link:hover{background:#f4f6f1}
.client-cases__link:focus-visible{outline:2px solid #2f59a7;outline-offset:4px}
.client-cases__note{position:absolute;bottom:15px;left:20px;right:20px;text-align:center;font-size:8px;line-height:1.5;color:#858c86;margin:0}
@media(max-width:700px){.client-cases{padding:14px 12px}.client-cases__stage{height:448px;border-radius:14px}.client-cases__stage:before{background-size:40px 42px}.client-cases__mosaic{top:27px;width:calc(100% - 28px);grid-auto-rows:48px;gap:8px}.client-cases__tile{padding:7px;border-radius:6px;transform:translateY(0)}.client-cases__card{grid-column:span 2}.client-cases__card span{font-size:12px;letter-spacing:-.035em}.client-cases__tile--neutral:before{inset:15px 28%}.client-cases__tile--neutral:nth-child(3n):before{inset:20px 28%}.client-cases__copy{top:230px;left:20px;right:20px}.client-cases__copy h2{font-size:26px;max-width:290px;margin:0 auto 12px}.client-cases__copy>p:not(.client-cases__eyebrow){font-size:11px;line-height:1.7;max-width:270px;margin-bottom:17px}.client-cases__link{min-height:42px;padding:10px 17px;font-size:10px}.client-cases__note{bottom:15px;left:22px;right:22px;font-size:8px;max-width:290px;margin:auto}.client-cases__eyebrow{font-size:7px;letter-spacing:.08em;margin-bottom:10px}}
@media(max-width:380px){.client-cases__copy{top:209px}.client-cases__copy h2{font-size:24px}.client-cases__copy>p:not(.client-cases__eyebrow){margin-bottom:13px}.client-cases__eyebrow{margin-bottom:8px}}
/* Desktop: full-bleed brands section, without the centered card boundary. */
@media(min-width:701px){
 .client-cases{padding:0;background:#fff;margin-top:48px}
 .client-cases__stage{--brand-unit:clamp(90px,10vw,150px);width:100%;max-width:none;height:calc(var(--brand-unit) * 1.8 + 210px);margin:0;border:0;border-radius:0;overflow:visible;background:transparent}
 .client-cases__stage:before{inset:-150px 0 0;opacity:.25;mask-image:linear-gradient(transparent,#000 35%,transparent 85%);-webkit-mask-image:linear-gradient(transparent,#000 35%,transparent 85%)}
 .client-cases__mosaic{top:38px;width:100%;height:calc(var(--brand-unit) * 2.7);display:block}
 .client-cases__card{--tile-shift:0px;position:absolute;left:calc(var(--brand-column) * (100% + 12px) / 9);top:calc(var(--brand-row) * var(--brand-unit));width:calc((100% - 96px) / 9);height:var(--brand-unit);padding:12px 10px;border-radius:7px;border-color:#e9ece8;box-shadow:0 12px 24px -17px #26352950;filter:none;animation:client-brand-float var(--float-duration,14s) ease-in-out var(--phase,0s) infinite}
 .client-cases__card:nth-child(-n+9):before{content:"";position:absolute;bottom:calc(100% + 12px);left:-1px;right:-1px;height:var(--brand-unit);border-radius:7px;background:linear-gradient(#f4f5f300,#e5e9e2);opacity:0;pointer-events:none;animation:client-square-arrive 12s ease-in-out var(--phase,0s) infinite}
 .client-cases__card:nth-child(n){--tile-shift:0px}
 .client-cases__card:nth-child(1){--brand-column:0;--brand-row:.5;--phase:-2s}
 .client-cases__card:nth-child(2){--brand-column:2;--brand-row:-.35;--phase:-6s;--float-duration:17s;top:calc(var(--brand-row) * var(--brand-unit) - 12px)}
 .client-cases__card:nth-child(3){--brand-column:2;--brand-row:.65;--phase:-6s}
 .client-cases__card:nth-child(4){--brand-column:3;--brand-row:.1;--phase:-18s;--float-duration:16s}
 .client-cases__card:nth-child(5){--brand-column:4;--brand-row:-.4;--phase:-10s}
 .client-cases__card:nth-child(6){--brand-column:5;--brand-row:.05;--phase:-4s;--float-duration:18s}
 .client-cases__card:nth-child(7){--brand-column:6;--brand-row:.65;--phase:-16s}
 .client-cases__card:nth-child(8){--brand-column:7;--brand-row:0;--phase:-8s;--float-duration:16s}
 .client-cases__card:nth-child(9){--brand-column:8;--brand-row:.5;--phase:-20s}
 .client-cases__card:nth-child(10){--brand-column:0;--brand-row:1.65;--phase:-11s;--float-duration:18s}
 .client-cases__card:nth-child(11){--brand-column:1;--brand-row:1.15;--phase:-1s}
 .client-cases__card:nth-child(12){--brand-column:7;--brand-row:1.15;--phase:-14s;--float-duration:17s}
 .client-cases__card:nth-child(13){--brand-column:8;--brand-row:1.65;--phase:-7s}
 .client-cases__card:nth-child(14){--brand-column:1;--brand-row:.15;--phase:-1s;top:calc(var(--brand-row) * var(--brand-unit) - 12px)}
 .client-cases__card:nth-child(15){--brand-column:6;--brand-row:-.35;--phase:-16s;top:calc(var(--brand-row) * var(--brand-unit) - 12px)}
 .client-cases__card.client-cases__government{flex-direction:column;gap:8px}
 .client-cases__card.client-cases__government img{height:42px;flex:0 0 42px}
 .client-cases__card.client-cases__government span{text-align:center;font-size:10px}
 .client-cases__copy{top:calc(var(--brand-unit) * 1.8 + 58px);left:50%;right:auto;width:46%;max-width:640px;transform:translateX(-50%)}
 .client-cases__copy h2{font-size:clamp(28px,2.8vw,44px);font-weight:600;letter-spacing:-.055em;line-height:1.06;margin:0 0 15px}
 .client-cases__copy h2 span{color:#8a908b}
 .client-cases__copy .client-cases__eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:14px}
 .client-cases__copy>p:not(.client-cases__eyebrow){font-size:12px;max-width:300px;line-height:1.55;margin-bottom:20px;color:#515b53}
 .client-cases__copy .client-cases__link{background:#202823;color:#fff;border-color:#202823;box-shadow:none;font-size:11px;padding:9px 18px}
 .client-cases__copy .client-cases__link:hover{background:#35443a}
}
.client-cases__card img{display:block;width:100%;max-width:145px;height:48px;object-fit:contain;filter:none;mix-blend-mode:multiply}
.client-cases__card[data-brand="volkswagen"] img,.client-cases__card[data-brand="itau"] img{width:52px;height:52px}
.client-cases__card[data-brand="itau"]{filter:none;animation-name:client-brand-float}
.client-cases__card[data-brand="itau"] img{filter:none}
.client-cases__card[data-brand="aws"] img{max-width:80px}
.client-cases__card[data-brand="ser-educacional"] img{max-width:112px}
.client-cases__card[data-brand="elogroup"] img{filter:invert(1) brightness(1.3);max-width:165px;transform:scale(1.2)}
.client-cases__card[data-brand="elogroup"] picture{display:contents}
.client-cases__card[data-brand="logitech"] img{max-width:125px}
.client-cases__card[data-brand="stella-artois"] img{max-width:165px}
.client-cases__card[data-brand="dharma-ai"] img{height:64px;max-width:100%;object-fit:contain}
.client-cases .client-cases__card[data-brand="mirai"] img{width:100%;max-width:120px;height:auto;max-height:36px;object-fit:contain;filter:none;mix-blend-mode:normal}
/* Petrobras occupies the former Dharma slot above CAIXA on desktop;
   Dharma sits immediately above Braskem in both responsive arrangements. */
.client-cases__mosaic .client-cases__card[data-brand="caixa"]::before{display:none}
/* The source Mirai mark replaces the decorative slot immediately above AWS. */
.client-cases__mosaic .client-cases__card[data-brand="aws"]::before{display:none}
@media(max-width:768px){
 /* SEFAZ moves to the vacant slot below CAIXA, freeing the slot above AWS.
    Brand-specific selectors beat the later mobile stylesheet without changing DOM order. */
 .client-cases .client-cases__mosaic .client-cases__card[data-brand="mirai"]{--brand-column:3;--brand-row:.15;--phase:-16s;top:calc(var(--brand-row) * var(--brand-unit) - 8px);padding:4px}
 .client-cases .client-cases__mosaic .client-cases__card[data-brand="sefaz-ce"]{--brand-column:2;--brand-row:1.25;top:calc(var(--brand-row) * var(--brand-unit) + 8px)}
 .client-cases .client-cases__mosaic .client-cases__card[data-brand="sefaz-ce"]::before{display:none}
 .client-cases .client-cases__card[data-brand="mirai"] img{max-width:100%;max-height:32px}
}
.client-cases__government{gap:10px}
.client-cases__government img{width:36px;flex:0 0 36px;height:52px}
.client-cases__government span{font-size:11px;font-weight:600;letter-spacing:-.02em;text-align:left;line-height:1.3}
/* Keep the original brand colors; monochrome is a temporary display treatment. */
@media(min-width:701px){
 .client-cases__card img{filter:none;max-width:100%}
 .client-cases__card[data-brand="elogroup"] img{filter:invert(1) brightness(1.3)}
 .client-cases__stage:hover .client-cases__card{animation-play-state:paused}
}
@keyframes client-brand-float{
 0%,100%{transform:translateY(var(--tile-shift,0px))}
 50%{transform:translateY(calc(var(--tile-shift,0px) - 8px))}
}

.client-cases + #contato .infinita-contact{border-top:0}
.client-cases__fall{display:none}
@media(min-width:701px){
 .client-cases__fall{display:block;position:relative;height:130px;overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent,#000 16%,#000 55%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 16%,#000 55%,transparent)}
 .client-cases__fall span{position:absolute;top:-28px;left:calc(var(--fall-column) * (100% + 12px) / 9);width:calc((100% - 96px) / 9);height:clamp(90px,10vw,150px);border-radius:7px;background:#e7ebe5;border:1px solid #dfe5dd;opacity:0;animation:client-square-fall 12s ease-in-out var(--fall-delay) infinite}
 .client-cases__fall span:nth-child(1){--fall-column:0;--fall-delay:-2s}
 .client-cases__fall span:nth-child(2){--fall-column:2;--fall-delay:-8s}
 .client-cases__fall span:nth-child(3){--fall-column:6;--fall-delay:-5s}
 .client-cases__fall span:nth-child(4){--fall-column:8;--fall-delay:-10s}
 .client-cases + #contato .infinita-contact{padding-top:clamp(32px,4vw,64px)}
}
@keyframes client-square-fall{
 0%{transform:translateY(-35px);opacity:0}
 18%{opacity:.32}
 70%{opacity:.12}
 92%,100%{transform:translateY(110px);opacity:0}
}
@keyframes client-square-arrive{
 0%{transform:translateY(-65px);opacity:0}
 22%{opacity:.3}
 70%{opacity:.15}
 92%,100%{transform:translateY(6px);opacity:0}
}
@media(prefers-reduced-motion:reduce){
 .client-cases *{scroll-behavior:auto}
 .client-cases__card{animation:none}
 .client-cases__card:nth-child(3n+2){filter:none}
 .client-cases__fall span{animation:none;opacity:0}
 .client-cases__card:nth-child(-n+9):before{animation:none;opacity:.15}
}
/* Current rhythm: a single entrance, followed by a calm, fully readable mosaic.
   Specificity also covers the mobile layout loaded after this stylesheet. */
.client-cases .client-cases__mosaic .client-cases__card,
.client-cases .client-cases__stage .client-cases__lower span{animation:none;transform:translateY(0)}
.client-cases .client-cases__mosaic .client-cases__card::before{animation:none;opacity:.12;transform:none}
.client-cases .client-cases__fall{display:none}
.client-cases[data-brand-motion="entering"] .client-cases__mosaic .client-cases__card,
.client-cases[data-brand-motion="entering"] .client-cases__stage .client-cases__lower span{animation:client-brand-enter 900ms cubic-bezier(.22,.61,.36,1) both;animation-play-state:running}
@keyframes client-brand-enter{
 from{transform:translateY(8px)}
 to{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 .client-cases[data-brand-motion="entering"] .client-cases__mosaic .client-cases__card,
 .client-cases[data-brand-motion="entering"] .client-cases__stage .client-cases__lower span{animation:none}
}
