.cases-page[data-v-ff85555d]{--case-ink:#12303a;--case-muted:#55717c;--case-mint:#14b8a6;--case-sky:#38bdf8;--case-blush:#f9a8d4;background:linear-gradient(135deg,#14b8a614 0 1px,#0000 1px 26px),linear-gradient(120deg,#f7fffb,#eef9ff 48%,#fff7fb);min-height:100vh}.cases-hero[data-v-ff85555d]{color:var(--case-ink);isolation:isolate;background:linear-gradient(140deg,#ffffffb8,#e8fff8a3 42%,#ecf7ffb8),linear-gradient(#fff,#fff0);padding:112px 0 76px;position:relative;overflow:hidden}.hero-grid[data-v-ff85555d]{opacity:.45;z-index:-1;background-image:linear-gradient(#14b8a614 1px,#0000 0),linear-gradient(90deg,#38bdf814 1px,#0000 0);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.hero-layout[data-v-ff85555d]{text-align:center;justify-content:center;display:flex}.hero-copy[data-v-ff85555d]{justify-items:center;display:grid}.hero-copy .section-kicker[data-v-ff85555d]{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#0f766e;background:#ffffffad;border-color:#14b8a633;box-shadow:0 12px 30px #14b8a61f}.hero-copy .page-title[data-v-ff85555d]{color:#0000;letter-spacing:0;background:linear-gradient(105deg,#0f3443 8%,#0f766e 48%,#2563eb 92%);-webkit-background-clip:text;background-clip:text;max-width:760px;margin-top:20px;font-size:clamp(40px,7vw,86px)}.hero-copy .section-subtitle[data-v-ff85555d]{color:var(--case-muted);max-width:760px;margin-top:22px;font-size:clamp(16px,1.6vw,19px)}.case-gallery[data-v-ff85555d]{background:linear-gradient(#fff0,#f0fdfab8);padding:58px 0 96px}.filter-bar[data-v-ff85555d]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffffeb,#ffffffad),linear-gradient(120deg,#14b8a614,#38bdf814);border:1px solid #14b8a624;border-radius:22px;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:0 auto 36px;padding:10px;display:flex;box-shadow:0 20px 60px #0f766e14,inset 0 1px #ffffffeb}.filter-button[data-v-ff85555d]{border-radius:var(--radius-full);color:#365b66;cursor:pointer;font:inherit;min-height:46px;transition:color var(--transition-base),border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);background:#ffffff80;border:1px solid #0000;padding:0 22px;font-size:14px;font-weight:700;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffdb}.filter-button.active[data-v-ff85555d],.filter-button[data-v-ff85555d]:hover{color:#0f4f5d;background:linear-gradient(135deg,#14b8a62e,#38bdf829),#ffffffd6;border-color:#14b8a638;transform:translateY(-1px);box-shadow:0 12px 28px #14b8a624,inset 0 1px #fffffff5}.filter-button.active[data-v-ff85555d]{color:#0f5161;background:linear-gradient(135deg,#ecfdf5,#e0f7ff 52%,#fff1f7);border-color:#0ea5e94d}.case-grid[data-v-ff85555d]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.case-card[data-v-ff85555d]{transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);background:#ffffffe0;border:1px solid #14b8a61f;border-radius:14px;overflow:hidden;box-shadow:0 22px 56px #0f4b5c14}.case-card[data-v-ff85555d]:hover{border-color:#38bdf847;transform:translateY(-4px);box-shadow:0 28px 70px #0f4b5c21}.case-cover[data-v-ff85555d]{aspect-ratio:16/9;cursor:zoom-in;background:#071126;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.case-cover img[data-v-ff85555d]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s,opacity .5s}.case-card:hover .case-cover img[data-v-ff85555d]{opacity:.88;transform:scale(1.035)}.preview-mask[data-v-ff85555d]{color:#fff;opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,#0f34436b,#14b8a657);justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex;position:absolute;inset:0}.case-cover:focus-visible .preview-mask[data-v-ff85555d],.case-cover:hover .preview-mask[data-v-ff85555d]{opacity:1}.preview-icon[data-v-ff85555d]{font-size:18px}.case-meta[data-v-ff85555d]{padding:18px 20px 22px}.case-tags[data-v-ff85555d]{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.case-tags span[data-v-ff85555d]{border-radius:var(--radius-full);color:#0f6675;background:linear-gradient(135deg,#14b8a61f,#38bdf81a);align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.case-meta h2[data-v-ff85555d]{color:var(--color-text-primary);letter-spacing:0;font-size:clamp(17px,1.5vw,21px);line-height:1.35}.preview-dialog[data-v-ff85555d]{z-index:2000;background:#020817db;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.preview-close[data-v-ff85555d]{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;width:44px;height:44px;position:fixed;top:22px;right:24px}.preview-frame[data-v-ff85555d]{width:min(1120px,94vw);margin:0}.preview-frame img[data-v-ff85555d]{aspect-ratio:16/9;border-radius:var(--radius-sm);-o-object-fit:contain;object-fit:contain;background:#fff;width:100%;box-shadow:0 28px 90px #00000057}.preview-frame figcaption[data-v-ff85555d]{color:#fff;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.preview-frame figcaption strong[data-v-ff85555d]{font-size:clamp(16px,2vw,22px)}.preview-frame figcaption span[data-v-ff85555d]{color:#ffffffb3;font-size:14px}.preview-fade-enter-active[data-v-ff85555d],.preview-fade-leave-active[data-v-ff85555d]{transition:opacity var(--transition-base)}.preview-fade-enter-from[data-v-ff85555d],.preview-fade-leave-to[data-v-ff85555d]{opacity:0}@media (width<=900px){.case-grid[data-v-ff85555d]{grid-template-columns:1fr}}@media (width<=640px){.cases-hero[data-v-ff85555d]{padding:92px 0 56px}.case-gallery[data-v-ff85555d]{padding:36px 0 68px}.filter-bar[data-v-ff85555d]{border-radius:14px;gap:8px;padding:10px}.filter-button[data-v-ff85555d]{flex:calc(50% - 8px);min-width:128px;padding:0 12px;font-size:13px}.case-meta[data-v-ff85555d]{padding:16px}.preview-dialog[data-v-ff85555d]{padding:18px}.preview-frame figcaption[data-v-ff85555d]{display:block}.preview-frame figcaption span[data-v-ff85555d]{margin-top:8px;display:block}}
