
:root{--case-orange:#FF7A00;--case-black:#000;--case-white:#fff;--case-g950:#0D1117;--case-g700:#2A2F36;--case-line:#D9DDE2;--case-soft:#F5F6F8}
body.case-hvb{background:#fff;color:#111;font-family:"IBM Plex Sans",Arial,sans-serif}
body.case-hvb::before{display:none!important}
.case-hvb .site-header{background:rgba(13,17,23,.97)}
.case-hvb .brand span{color:#fff!important;opacity:1!important}
.case-hvb .brand img{filter:none}
.case-shell{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.case-hero{padding:108px 0 48px;background:#fff;border-bottom:1px solid #e7e9ec}
.case-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr);gap:clamp(32px,4.5vw,64px);align-items:center}
.case-eyebrow,.case-mono{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.11em;font-size:.74rem}
.case-eyebrow{color:var(--case-orange);font-weight:600}
.case-hero h1{font-size:clamp(3.8rem,6.4vw,6.2rem);line-height:.9;letter-spacing:-.055em;margin:.14em 0 .2em;color:#000}
.case-lead{max-width:560px;font-size:clamp(1rem,1.2vw,1.2rem);color:#4b5158}
.case-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.case-meta span{border:1px solid #dfe2e6;padding:7px 9px;background:#fff;color:#41464c}
.case-hero-media{margin:0;position:relative;background:#eef0f2;overflow:hidden;min-height:420px;aspect-ratio:4/3}
.case-hero-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;object-position:center 56%}
.case-stamp{position:absolute;left:14px;bottom:14px;background:rgba(13,17,23,.9);color:#fff;padding:8px 10px}
.case-index-wrap{position:sticky;top:76px;z-index:35;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e6e8eb}
.case-index{display:grid;grid-template-columns:repeat(6,1fr);overflow:auto}
.case-index a{padding:10px 12px;border-right:1px solid #eceef0;font-size:.78rem;font-weight:600;color:#333;white-space:nowrap}
.case-index a:last-child{border-right:0}.case-index a.active{color:#000;box-shadow:inset 0 -3px var(--case-orange)}
.case-index small{display:block;color:#8b9096;font-family:"IBM Plex Mono",monospace;font-size:.64rem;margin-bottom:2px}
.case-block{padding:clamp(48px,6vw,84px) 0;background:#fff;scroll-margin-top:138px}
.case-block.soft{background:var(--case-soft)}.case-block.dark{background:var(--case-g950);color:#fff}
.case-head{display:grid;grid-template-columns:170px minmax(0,1fr);gap:34px;align-items:start;margin-bottom:32px}
.case-kicker{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--case-orange);font-size:.74rem;font-weight:600}
.case-title{font-size:clamp(2.25rem,4.4vw,4.2rem);line-height:.98;letter-spacing:-.045em;margin:0;color:inherit;max-width:900px}
.case-copy{font-size:1.02rem;line-height:1.65;color:#555;max-width:700px;margin-top:14px}.dark .case-copy{color:#c4cad1}
.need-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px}
.need-objects{border:1px solid #dadde1;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);min-height:270px}
.need-objects div{display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;border-right:1px solid #e4e6e9;font-family:"IBM Plex Mono",monospace;font-size:clamp(.95rem,1.5vw,1.25rem);font-weight:600}
.need-objects div:last-child{border-right:0}.need-objects b{display:block;color:var(--case-orange);font-size:.68rem;margin-bottom:6px}
.case-text-card{background:var(--case-g950);color:#fff;padding:clamp(26px,3.5vw,42px);display:flex;flex-direction:column;justify-content:center}
.case-text-card h3{font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.04;margin:0 0 14px}.case-text-card p{color:#cbd1d8;margin:0}
.architecture{display:grid;grid-template-columns:1.22fr .78fr;gap:18px;align-items:stretch}
.insert-visual{margin:0;background:#fff;border:1px solid #dfe2e5;padding:18px;display:flex;flex-direction:column;justify-content:center}
.insert-visual img,.insert-visual video{width:100%;height:auto;display:block;max-height:520px;object-fit:contain}
.insert-visual figcaption{font-size:.78rem;color:#7a8087;margin-top:10px;font-family:"IBM Plex Mono",monospace}
.architecture-notes{display:grid;gap:10px}
.note{border:1px solid #dfe2e5;background:#fff;padding:20px}.note strong{display:block;font-size:1rem}.note span{display:block;color:#6c7279;margin-top:5px;font-size:.92rem}
.dev-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.dev-panel{border:1px solid #333b46;padding:clamp(22px,3vw,34px);background:#111820}.dev-panel h3{margin:0 0 16px;font-size:1.7rem}.spec-list{display:grid;gap:0;border-top:1px solid #313945}.spec-list div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #313945;padding:14px 0}.spec-list dt{color:#aeb6bf}.spec-list dd{margin:0;font-family:"IBM Plex Mono",monospace;color:#fff}
.test-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch}.test-card{border:1px solid #d9dde2;padding:24px;background:#fff}.test-card .big{font-family:"IBM Plex Mono",monospace;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1;margin:8px 0}.test-card.good{border-color:var(--case-orange)}.test-arrow{display:flex;align-items:center;color:var(--case-orange);font-size:1.7rem}
.system-validation{margin-top:20px;border:1px solid #d9dde2;background:#f7f8fa;padding:22px}.validation-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}.validation-state{padding:18px;border:1px solid #d9dde2;background:#fff}.validation-state.final{border-color:var(--case-orange)}.validation-state strong{display:block;font-size:1.05rem;margin-top:6px}.validation-state p{margin:.5rem 0 0;color:#555}
.material-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:18px;align-items:stretch}.material-grid figure{margin:0}.material-grid img{width:100%;height:100%;min-height:340px;max-height:520px;object-fit:cover;object-position:center 65%}.material-copy{background:#fff;border:1px solid #dfe2e5;padding:clamp(24px,3.5vw,40px);display:flex;flex-direction:column;justify-content:center}.material-copy h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1;margin:0 0 14px}.material-copy p{color:#596068}
.result-stage{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center}.result-stage figure{margin:0}.result-stage img{width:100%;max-height:500px;object-fit:cover;object-position:center 58%}.result-quote{font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.04em;margin:0}.result-quote em{font-style:normal;color:var(--case-orange)}
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.delivery-step{border-top:3px solid var(--case-orange);padding:22px;background:#fff;border-left:1px solid #e1e4e7;border-right:1px solid #e1e4e7;border-bottom:1px solid #e1e4e7}.delivery-step span{font-family:"IBM Plex Mono",monospace;color:#7a8188;font-size:.7rem}.delivery-step h3{font-size:1.35rem;margin:8px 0 6px}.delivery-step p{color:#5d646b;margin:0;font-size:.93rem}
.protocol{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9dde1;border:1px solid #d9dde1;margin-top:24px}.protocol div{background:#fff;padding:18px;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:.9rem}.protocol div::before{content:"◆";color:var(--case-orange);margin-right:8px}
.case-cta{padding:60px 0;background:var(--case-g950);color:#fff}.case-cta-inner{display:flex;justify-content:space-between;gap:26px;align-items:end}.case-cta h2{font-size:clamp(2.1rem,4vw,4rem);line-height:.98;letter-spacing:-.045em;margin:0;max-width:800px}
@media(max-width:960px){.case-hero-grid,.need-grid,.architecture,.dev-grid,.material-grid,.result-stage{grid-template-columns:1fr}.case-hero-media,.case-hero-media img{min-height:360px}.case-head{grid-template-columns:1fr;gap:10px}.case-index{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr)}.delivery-grid{grid-template-columns:1fr}.protocol{grid-template-columns:1fr 1fr}.case-cta-inner{align-items:start;flex-direction:column}}
@media(max-width:620px){.case-shell{width:calc(100% - 28px)}.case-hero{padding-top:96px}.case-hero h1{font-size:clamp(3.5rem,18vw,5.6rem)}.case-hero-media,.case-hero-media img{min-height:320px}.need-objects{grid-template-columns:1fr;min-height:0}.need-objects div{min-height:105px;border-right:0;border-bottom:1px solid #e4e6e9}.need-objects div:last-child{border-bottom:0}.test-flow,.validation-grid{grid-template-columns:1fr}.test-arrow{justify-content:center;transform:rotate(90deg)}.protocol{grid-template-columns:1fr}.case-block{padding:58px 0}.case-index-wrap{top:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* P0.5 — resumo factual do projeto */
.case-facts{background:#fff;border-bottom:1px solid #e7e9ec;padding:0 0 28px}
.case-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;border:1px solid #dfe2e6;background:#fff}
.case-facts-grid>div{padding:16px 18px;border-right:1px solid #e3e6e9}.case-facts-grid>div:last-child{border-right:0}
.case-facts dt{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;color:#7B828A;margin-bottom:6px}
.case-facts dd{margin:0;color:#20252A;font-weight:600;line-height:1.45}
@media(max-width:960px){.case-facts-grid{grid-template-columns:1fr 1fr}.case-facts-grid>div:nth-child(2){border-right:0}.case-facts-grid>div:nth-child(-n+2){border-bottom:1px solid #e3e6e9}}
@media(max-width:620px){.case-facts-grid{grid-template-columns:1fr}.case-facts-grid>div{border-right:0;border-bottom:1px solid #e3e6e9}.case-facts-grid>div:last-child{border-bottom:0}}
