/* Template de projeto: estilos limitados ao conteúdo, sem alterar header/rodapé. */
body.case-page { background:#090C13; color:#fff; }
body.case-page main { overflow:hidden; background:#090C13; }
body.case-page main .wrap { width:min(1180px,calc(100% - 40px)); }
body.case-page main .case-section { position:relative; padding:96px 0; background:#090C13; }
body.case-page main .case-section[hidden] { display:none; }
body.case-page main .case-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(42px,6vw,92px); align-items:center; }
body.case-page main .case-copy { min-width:0; }
body.case-page main .case-intro { padding-top:176px; padding-bottom:112px; background:radial-gradient(ellipse at 84% 9%,rgba(40,46,59,.48),transparent 48%),#090C13; }
body.case-page main .case-intro .case-grid { align-items:start; }
body.case-page main .case-intro .case-copy { padding-top:16px; }
body.case-page main .case-back { display:inline-flex; align-items:center; gap:11px; margin-bottom:44px; color:#A2A7B1; font-size:.9rem; transition:color .2s ease; }
body.case-page main .case-back:hover { color:#fff; }
body.case-page main .case-back span { font-size:1.2rem; line-height:1; }
body.case-page main .case-eyebrow { display:inline-flex; align-items:center; max-width:100%; min-height:34px; padding:7px 13px; border-radius:999px; background:#1C222D; color:#D0D0D0; font-size:.74rem; font-weight:700; letter-spacing:.09em; line-height:1.15; text-transform:uppercase; }
body.case-page main .case-display,
body.case-page main .case-heading { margin:22px 0 0; color:#fff; font-weight:600; letter-spacing:-.055em; line-height:1.04; }
body.case-page main .case-display { max-width:610px; font-size:clamp(3.2rem,5.7vw,5.9rem); }
body.case-page main .case-heading { max-width:680px; font-size:clamp(2.75rem,4.55vw,4.65rem); }
body.case-page main .case-description { max-width:580px; margin:24px 0 0; color:#D0D0D0; font-size:clamp(1rem,1.45vw,1.12rem); line-height:1.65; }
body.case-page main .case-benefits { display:grid; gap:14px; margin-top:38px; }
body.case-page main .case-benefit { display:flex; align-items:center; gap:18px; min-height:98px; padding:18px 21px; border:0; border-radius:17px; background:linear-gradient(90deg,#282E3B 0%,#1C222D 55%,#090C13 100%); }
body.case-page main .case-benefit .case-icon { flex:none; }
body.case-page main .case-benefit__text { min-width:0; }
body.case-page main .case-benefit h3 { margin:0 0 4px; color:#fff; font-size:1.02rem; font-weight:700; line-height:1.3; }
body.case-page main .case-benefit p { margin:0; color:#D0D0D0; font-size:.91rem; line-height:1.45; }
body.case-page main .case-icon { display:grid; place-items:center; width:47px; height:47px; border:0; border-radius:13px; background:#111111; color:#F5F5F6; }
body.case-page main .case-icon svg { display:block; width:22px; height:22px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }

body.case-page main .case-screen { width:100%; min-width:0; overflow:hidden; border:0; border-radius:22px; background:#1C222D; outline-offset:5px; }
body.case-page main .case-screen__viewport { position:relative; height:clamp(480px,48vw,620px); overflow:hidden; background:#111111; }
body.case-page main .case-screen__viewport img { display:block; width:100%; height:auto; min-height:100%; object-fit:cover; object-position:top center; }
body.case-page main .case-screen--intro .case-screen__viewport { height:clamp(480px,48vw,620px); }
body.case-page main .case-screen--scrollable .case-screen__viewport img { transition:transform 1.65s ease-in-out; will-change:transform; }
@media (hover:hover) and (pointer:fine) {
  body.case-page main .case-screen--scrollable:hover .case-screen__viewport img,
  body.case-page main .case-screen--scrollable:focus-visible .case-screen__viewport img { transform:translateY(calc(-1 * var(--case-scroll-distance,0px))); transition-duration:8s; transition-timing-function:linear; }
}

body.case-page main .case-comparison { padding-block:104px; }
body.case-page main .case-before { background:#0D1119; }
body.case-page main .case-after { background:#090C13; }
body.case-page main .case-benefits--renewed .case-benefit { background:radial-gradient(circle at 100% 100%,rgba(21,21,255,.12),transparent 42%),linear-gradient(90deg,#282E3B 0%,#1C222D 55%,#090C13 100%); }
body.case-page main .case-benefits--renewed .case-icon { color:#fff; background:linear-gradient(145deg,#111111,#202547); }

body.case-page main .case-strategy { padding-block:112px 128px; background:#090C13; }
body.case-page main .case-section-head { max-width:850px; margin:0 auto; text-align:center; }
body.case-page main .case-section-head .case-heading { margin-inline:auto; }
body.case-page main .case-section-head > p { max-width:760px; margin:24px auto 0; color:#D0D0D0; font-size:1.07rem; line-height:1.65; }
body.case-page main .case-strategy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:58px; }
body.case-page main .case-strategy-card { min-height:280px; padding:34px; border:0; border-radius:24px; background:linear-gradient(90deg,#282E3B 0%,#1C222D 52%,#090C13 100%); }
body.case-page main .case-strategy-card .case-icon { margin-bottom:57px; }
body.case-page main .case-strategy-card h3 { margin:0 0 13px; color:#fff; font-size:1.23rem; font-weight:700; letter-spacing:-.025em; line-height:1.25; }
body.case-page main .case-strategy-card p { margin:0; color:#D0D0D0; line-height:1.6; }

body.case-page main .case-cta { padding-block:120px 132px; background:radial-gradient(ellipse at 50% 100%,rgba(21,21,255,.10),transparent 58%),linear-gradient(180deg,#090C13,#10151E); text-align:center; }
body.case-page main .case-cta .case-heading { max-width:850px; margin:0 auto; }
body.case-page main .case-cta p { max-width:700px; margin:24px auto 35px; color:#D0D0D0; font-size:1.08rem; line-height:1.65; }
body.case-page main .case-cta .btn { min-width:236px; }

/* Entrada leve, sempre da direita para a esquerda. */
body.case-page main .case-enter-pending { opacity:0; transform:translateX(28px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1); transition-delay:var(--case-enter-delay,0ms); }
body.case-page main .case-enter-pending.case-enter-visible { opacity:1; transform:translateX(0); }

@media (max-width:900px) {
  body.case-page main .case-grid { gap:35px; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
  body.case-page main .case-display { font-size:clamp(2.7rem,6vw,4.2rem); }
  body.case-page main .case-heading { font-size:clamp(2.45rem,5vw,3.8rem); }
  body.case-page main .case-benefit { padding:16px; }
  body.case-page main .case-strategy-card { padding:28px; }
}
@media (max-width:700px) {
  body.case-page main .case-section { padding:72px 0; }
  body.case-page main .case-intro { padding-top:126px; }
  body.case-page main .case-grid { grid-template-columns:1fr; gap:38px; }
  body.case-page main .case-intro .case-copy { padding-top:0; }
  body.case-page main .case-back { margin-bottom:34px; }
  body.case-page main .case-display { font-size:clamp(3rem,11vw,4.4rem); }
  body.case-page main .case-heading { font-size:clamp(2.6rem,9vw,3.75rem); }
  body.case-page main .case-benefits { margin-top:32px; }
  body.case-page main .case-screen__viewport,
  body.case-page main .case-screen--intro .case-screen__viewport { height:min(68vh,570px); }
  body.case-page main .case-screen--scrollable .case-screen__viewport { overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y; }
  body.case-page main .case-screen--scrollable .case-screen__viewport img { min-height:0; transform:none!important; transition:none!important; }
  body.case-page main .case-strategy-grid { grid-template-columns:1fr; gap:14px; margin-top:42px; }
  body.case-page main .case-strategy-card { min-height:230px; }
  body.case-page main .case-strategy-card .case-icon { margin-bottom:38px; }
  body.case-page main .case-cta p { font-size:1rem; }
}
@media (prefers-reduced-motion:reduce) {
  body.case-page main .case-enter-pending { opacity:1; transform:none; transition:none; }
  body.case-page main .case-screen--scrollable .case-screen__viewport { overflow-y:auto; }
  body.case-page main .case-screen--scrollable .case-screen__viewport img { min-height:0; transform:none!important; transition:none!important; }
}
