.case-section{max-width:1160px;padding-bottom:55px;overflow-anchor:none;scroll-margin-top:115px}
.case-heading{max-width:760px;margin-bottom:46px}.case-heading>p{max-width:570px}
.case-gallery{--preview-height:560px;position:relative;max-height:var(--preview-height);overflow:hidden;transition:max-height .8s cubic-bezier(.22,.61,.36,1)}
.case-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.case-column{display:flex;flex-direction:column;gap:20px;min-width:0}
.case-photo{position:relative;display:block;width:100%;padding:0;border:1px solid #fff2;border-radius:12px;overflow:hidden;background:#fff;line-height:0;cursor:zoom-in;transition:filter .3s,border-color .3s,box-shadow .3s}
.case-photo img{width:100%;height:auto;display:block}.case-photo>span{position:absolute;right:12px;top:12px;display:grid;place-items:center;background:#1b132cdd;border:1px solid #cb97ff77;color:#fff;border-radius:50%;width:30px;height:30px;font:18px var(--font);opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.case-photo:hover,.case-photo:focus-visible{border-color:#c19ae4;box-shadow:0 0 24px #9152c41c}.case-photo:hover>span,.case-photo:focus-visible>span{opacity:1;transform:none}
.case-fog{position:absolute;z-index:2;bottom:0;left:0;right:0;height:255px;background:linear-gradient(180deg,transparent,#0a0a0f80 35%,#0a0a0ff0 85%,#0a0a0f);pointer-events:none;transition:opacity .45s}
.case-fog:after{content:'';position:absolute;inset:0;backdrop-filter:blur(2px);mask-image:linear-gradient(transparent,#000)}
.cases-expanded .case-gallery{max-height:var(--gallery-height)}.cases-expanded .case-fog{opacity:0}
.case-toggle-wrap{display:flex;justify-content:center;margin-top:22px}.case-toggle{background:#201a27;color:#e4d9ee;border-color:#a983c522;font-size:12px;font-weight:450;gap:17px;padding:13px 25px;min-height:49px}.case-toggle b{font-size:20px;font-weight:400;color:#c395ef}.case-toggle:hover{background:#2d213a;border-color:#ad76d76b}
#report-dialog.case-lightbox{width:max-content;max-width:94vw;max-height:92dvh;padding:42px 12px 12px;background:#141018;border:1px solid #9473af66;overflow:auto}
.case-lightbox .report-dialog-content img{display:block;width:auto;height:auto;max-width:min(100%,1100px);max-height:78dvh;object-fit:contain;margin:auto;border-radius:5px}.case-lightbox .report-close{position:absolute;top:4px;right:10px;z-index:1}
.final-cta-centered{position:relative;isolation:isolate;padding:100px 0 110px;text-align:center;border-top:1px solid #b88fda12;background:radial-gradient(ellipse at 50% 100%,#73389b20,transparent 68%)}
.final-cta-centered:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 90%,#b37ce910,transparent 65%)}
.final-cta-centered .final-content{max-width:1060px}.final-cta-centered .eyebrow{justify-content:center;font-size:9px;letter-spacing:2px}
.final-cta-centered h2{font:400 clamp(36px,4.2vw,58px)/1.12 var(--font);letter-spacing:-2.3px;margin:25px auto 26px;color:#c5bdce}.final-cta-centered h2 strong{font-weight:600}
.final-cta-centered .final-content>p{font-size:16px;line-height:1.8;max-width:700px;color:#b5aabd;margin:0 auto 30px}.final-cta-centered .button{font-size:14px;min-height:55px;padding-inline:30px}
@media(max-width:800px){.case-masonry,.case-column{gap:12px}.case-gallery{--preview-height:430px}.case-fog{height:190px}.case-photo{border-radius:8px}.case-section{padding-bottom:35px}.case-heading{margin-bottom:30px}.final-cta-centered{padding:75px 0 85px}.final-cta-centered h2{font-size:40px;letter-spacing:-1.6px}.final-cta-centered .final-content>p{font-size:14px;max-width:490px}}
@media(max-width:500px){.case-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.case-column{gap:10px}.case-column:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.case-gallery{--preview-height:400px}.case-fog{height:180px}.case-heading>p{font-size:13px}.case-toggle{font-size:11px}.final-cta-centered h2{font-size:34px;line-height:1.16}.final-cta-centered h2 br{display:none}.final-cta-centered h2 strong{display:block;margin-top:6px}.final-cta-centered .eyebrow{font-size:7px;letter-spacing:1.3px}.final-cta-centered .button{font-size:12px;padding-inline:24px}}
@media(prefers-reduced-motion:reduce){.case-gallery,.case-fog{transition:none}}
