/* MIX PAINÉIS R07 — CASES REAIS. Sem fotos ilustrativas. */
.cases-page{background:#f4f1eb}
.cases-page .site-header{position:sticky;top:0;z-index:110}
.cases-page .site-header .main-nav a[aria-current]{color:#c56e43}
.cases-hero{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:17px;padding-top:30px;padding-bottom:40px;min-height:min(730px,calc(100vh - 100px));align-items:stretch}
.cases-hero-photo{position:relative;min-height:600px;background:#b2afa5;overflow:hidden}
.cases-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.cases-hero-photo:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#0b2024ad)}
.cases-hero-photo-label{position:absolute;z-index:2;bottom:34px;left:36px;right:34px;display:grid;gap:12px;color:#fff}
.cases-hero-photo-label span{font-size:10px;font-weight:800;letter-spacing:.22em;color:#fca770}
.cases-hero-photo-label strong{font:italic clamp(25px,2.2vw,37px)/1.12 var(--serif);max-width:19ch}
.cases-hero-copy{background:#e7ebe5;display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,4.6vw,80px);gap:0}
.cases-hero-copy h1{margin:26px 0 26px;font-size:clamp(65px,5.9vw,112px);font-weight:500;line-height:.95;letter-spacing:-.066em;color:#13292f}
.cases-hero-copy h1 em{display:block;font:italic clamp(39px,3.1vw,60px)/1.1 var(--serif);color:#c16e49;letter-spacing:-.025em;margin-top:8px}
.cases-hero-copy .case-dot{color:#ee7c39}
.cases-hero-copy>p{font-size:16px;line-height:1.76;color:#4e6467;max-width:42ch}
.cases-disclosure{border-top:1px solid #c3d0c9;margin:28px 0;padding:22px 0 0;max-width:48ch}
.cases-disclosure span{font-size:10px;color:#b96742;font-weight:800;letter-spacing:.14em}
.cases-disclosure p{margin:11px 0 0;color:#536a6a;font-size:12px;line-height:1.8}
.cases-hero-copy .button{align-self:flex-start}
.cases-ribbon{background:#12292e;color:#e5e8e2}
.cases-ribbon .wrap{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:66px}
.cases-ribbon span{font-size:10px;letter-spacing:.12em;font-weight:800}
.cases-ribbon .signature-star{color:#eb7b3d;font-size:23px}
.case-intro{padding-top:85px;padding-bottom:90px}
.cases-intro-grid{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:8%;margin-bottom:52px}
.cases-intro-grid h2{font-size:clamp(43px,4.9vw,72px);line-height:1.09;letter-spacing:-.055em;font-weight:500;margin-top:26px}
.cases-intro-grid h2 em{font:italic 1em var(--serif);color:#d27546}
.cases-intro-grid>p{max-width:410px;font-size:15px;line-height:1.8;color:#647477}
.cases-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin:0 0 20px}
.case-filters{display:flex;flex-wrap:wrap;gap:7px}
.case-filter{background:transparent;border:1px solid #cfd6d0;color:#364e51;padding:13px 18px;font:700 12px Arial,sans-serif;cursor:pointer}
.case-filter:hover{border-color:#b86b43}.case-filter.is-active{color:#fff;background:#142a30;border-color:#142a30}
.cases-search{display:flex;align-items:center;gap:10px;border:1px solid #c9d3ce;min-height:46px;padding:0 16px;background:#fffdf7;width:285px}
.cases-search input{width:100%;border:0;outline:0;font-size:12px;color:#1c3639;background:transparent}
.case-result-line{display:flex;justify-content:space-between;gap:10px;margin:25px 0 18px;color:#607074;font-weight:700;font-size:10px;letter-spacing:.1em}
.cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.case-tile{min-width:0;padding:0;background:#fffdf9;text-align:left;border:1px solid #d3d9d2;color:#102830;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}
.case-tile:hover{transform:translateY(-4px);box-shadow:0 18px 36px #16292621}
.case-tile-photo{height:325px;overflow:hidden;background:#a2aba1;position:relative}
.case-tile-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.case-tile:hover .case-tile-photo img{transform:scale(1.04)}
.case-tile-photo>span{position:absolute;top:17px;left:18px;padding:8px 10px;background:#0b2427cd;color:#fff;font-size:9px;letter-spacing:.13em}
.case-tile-meta{padding:26px 25px 28px}
.case-tile-meta>span{display:block;font-size:10px;letter-spacing:.17em;color:#bd7044;font-weight:800}
.case-tile-meta h3{font-size:clamp(23px,1.9vw,32px);font-weight:550;letter-spacing:-.045em;margin:15px 0 11px;line-height:1.1}
.case-tile-meta p{color:#68797a;font-size:13px;line-height:1.7;min-height:3.4em}
.case-tile-meta b{display:block;color:#ba6a43;font-size:12px;margin-top:22px}
.cases-empty{padding:30px;border:1px solid #d2d9d2;color:#4e696b}
.cases-bridge{background:#132b31;padding:80px 0;color:#fff}
.cases-bridge-inner{display:grid;grid-template-columns:1.1fr .7fr;gap:12%;align-items:center}
.cases-bridge h2{margin:20px 0 0;font-size:clamp(41px,4.2vw,65px);font-weight:500;line-height:1.12;letter-spacing:-.05em}
.cases-bridge h2 em{font:italic 1em var(--serif);color:#ef9059}
.cases-bridge p{font-size:15px;color:#b5c4c4;line-height:1.8;margin-bottom:28px}
.cases-bridge .button{color:#10262b}
.case-lightbox[hidden]{display:none!important}
.case-lightbox{position:fixed;inset:0;z-index:140;background:#06181bd9;display:grid;place-items:center;padding:24px;backdrop-filter:blur(7px)}
.case-lightbox-dialog{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);position:relative;background:#f4f1eb;max-width:1050px;width:100%;max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 28px 80px #07171977}
.case-lightbox-close{position:absolute;top:15px;right:15px;width:45px;height:45px;z-index:4;border:0;background:#0f2b31;color:white;font-size:28px;cursor:pointer}
.case-lightbox-image{min-height:540px;background:#d2d5cb}.case-lightbox-image img{display:block;width:100%;height:100%;object-fit:contain;max-height:77dvh}
.case-lightbox-copy{padding:clamp(32px,5vw,60px);display:flex;flex-direction:column;justify-content:center}
.case-lightbox-copy h2{font-size:clamp(37px,3.6vw,59px);font-weight:500;line-height:1.04;letter-spacing:-.052em;margin:24px 0}
.case-lightbox-copy p{font-size:14px;line-height:1.82;color:#52696b}
.case-lightbox-copy dl{margin:25px 0}.case-lightbox-copy dl div{display:flex;justify-content:space-between;border-top:1px solid #cbd6d0;gap:15px;padding:13px 0;font-size:12px}.case-lightbox-copy dd{margin:0;text-align:right;font-weight:700}.case-lightbox-copy dt{color:#788987}
.case-lightbox-copy small{display:block;margin-bottom:22px;color:#657778;line-height:1.6}.case-lightbox-copy .button{align-self:flex-start}
.cases-page.dialog-open{overflow:hidden}
.case-tile:focus-visible,.case-filter:focus-visible,.case-lightbox-close:focus-visible{outline:3px solid #ea7b42;outline-offset:3px}
@media(max-width:1100px){.cases-hero{grid-template-columns:1fr 1fr}.cases-hero-photo{min-height:540px}.cases-hero-copy{padding:40px}.cases-hero-copy h1{font-size:66px}.cases-hero-copy h1 em{font-size:43px}.cases-grid{gap:14px}.case-tile-photo{height:270px}}
@media(max-width:800px){.cases-hero{grid-template-columns:1fr;padding-top:0;gap:0}.cases-hero-photo{min-height:500px}.cases-hero-copy{padding:40px}.cases-hero-copy h1{font-size:clamp(60px,9vw,83px)}.cases-intro-grid{grid-template-columns:1fr;gap:25px}.cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cases-bridge-inner{grid-template-columns:1fr;gap:25px}.cases-ribbon span:nth-child(n+6){display:none}.case-lightbox-dialog{grid-template-columns:1fr}.case-lightbox-image{min-height:320px;max-height:48dvh}.case-lightbox-image img{max-height:48dvh}.case-lightbox-copy{padding:30px}}
@media(max-width:640px){.cases-hero{padding:0 0 20px}.cases-hero-photo{min-height:360px}.cases-hero-photo-label{left:22px;bottom:22px}.cases-hero-copy{padding:34px 22px}.cases-hero-copy h1{font-size:59px;margin:23px 0}.cases-hero-copy h1 em{font-size:39px}.cases-hero-copy>p{font-size:14px}.cases-ribbon .wrap{justify-content:center;flex-wrap:wrap;padding:15px 20px;gap:10px;min-height:50px}.cases-ribbon span{font-size:8px}.cases-ribbon .signature-star{font-size:15px}.case-intro{padding-top:62px;padding-bottom:70px}.cases-intro-grid h2{font-size:clamp(41px,10vw,56px)}.cases-intro-grid>p{font-size:14px}.cases-controls{display:block}.case-filters{gap:6px}.case-filter{padding:12px 11px;font-size:10px}.cases-search{width:100%;margin-top:13px}.case-result-line span:last-child{display:none}.cases-grid{grid-template-columns:1fr;gap:20px}.case-tile-photo{height:350px}.case-tile-meta{padding:22px}.case-tile-meta p{min-height:auto}.cases-bridge{padding:62px 0}.cases-bridge h2{font-size:43px}.case-lightbox{padding:10px}.case-lightbox-dialog{max-height:calc(100dvh - 20px)}.case-lightbox-image{min-height:250px;max-height:38dvh}.case-lightbox-image img{max-height:38dvh}.case-lightbox-copy{padding:25px}.case-lightbox-copy h2{font-size:38px;margin:17px 0}.cases-page .footer-bottom{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){.case-tile,.case-tile-photo img{transition:none}.case-tile:hover{transform:none}.case-tile:hover img{transform:none}}

/* R07 — acervo real */
.cases-hero-copy h1{font-size:clamp(66px,5.4vw,106px);line-height:.94}
.cases-hero-copy h1 em{font-size:clamp(35px,3vw,56px);max-width:15ch;line-height:1.12}
.cases-hero-photo>img{object-position:center 40%}
.case-intro{scroll-margin-top:90px}
.case-tile-photo{height:auto;aspect-ratio:4/5}
.case-tile-photo>img{object-fit:cover}
.case-tile-meta>span{font-size:10px;letter-spacing:.1em}
.case-tile-meta h3{font-size:clamp(22px,1.65vw,29px)}
.case-tile-meta p{min-height:0}
.case-load-more{text-align:center;margin-top:35px}
.case-load-more button{cursor:pointer;border:1px solid #b9c4bf;background:transparent;color:#132b30;padding:16px 40px;font-weight:750}
.case-load-more button:hover{background:#132b30;color:#fff}
.cases-import-info{padding:25px;background:#fbe9df;border:1px solid #e5b595;color:#6b3925;line-height:1.65}
.cases-hero-photo-label strong{font-size:clamp(24px,2.15vw,36px)}
@media(max-width:800px){.cases-hero-copy h1{font-size:clamp(55px,8vw,78px)}}
@media(max-width:640px){.cases-hero-copy h1{font-size:60px}.cases-hero-copy h1 em{font-size:39px}}

/* R08 · controles da galeria e lightbox */
.case-lightbox-image{position:relative;overflow:hidden}
.case-lightbox-navigation{position:absolute;bottom:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:18px;background:rgba(9,31,35,.89);color:#fff;min-height:48px;padding:5px 12px;z-index:2}
.case-lightbox-navigation button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;width:45px;height:40px;font-size:19px;cursor:pointer}
.case-lightbox-navigation button:hover{background:rgba(255,255,255,.16)}
.case-lightbox-navigation button:disabled{opacity:.35;cursor:default}
.case-lightbox-navigation span{font-size:12px;font-weight:700;min-width:75px;text-align:center;font-variant-numeric:tabular-nums}
.case-lightbox-navigation button:focus-visible,.case-load-more button:focus-visible,.cases-search:focus-within{outline:3px solid #ec864e;outline-offset:2px}
.case-tile-photo>img{height:100%;object-fit:cover;content-visibility:auto}
.case-tile{contain:layout paint}
.case-load-more[hidden]{display:none}
@media(max-width:640px){.case-lightbox-navigation{bottom:0;left:0;right:0}.case-lightbox-image{padding-bottom:48px}.case-lightbox-image img{max-height:calc(38dvh - 48px)}}
