.cases{z-index:2;width:100%;margin:0 0 64px;position:relative}.cases__inner{width:min(1360px,84%);margin:0 auto}.cases__head{width:calc(var(--grid-step) * 30);text-align:center;max-width:100%;margin:0 auto 56px}.cases__kicker{display:none}.cases__dot{color:hsl(var(--accent));font-size:10px;line-height:1}.cases__title{font-family:var(--font-serif);letter-spacing:-.022em;color:var(--ink);margin:0;font-size:46px;font-weight:500;line-height:1.02}.cases__title em{color:hsl(var(--accent));font-style:italic}.cases__lead{font-family:var(--font-sans);color:var(--ink-mild);margin:18px 0 0;font-size:16px;font-weight:400;line-height:1.4}.cases__view-row{justify-content:center;margin:-36px 0 33px;display:flex}.cases__view-toggle{background:#0b0b0b14;border-radius:999px;gap:2px;padding:3px;display:inline-flex}[data-theme=dark] .cases__view-toggle{background:#ffffff1a}.cases__view-btn{height:24px;font-family:var(--font-sans);letter-spacing:.01em;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:500;line-height:14px;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.cases__view-btn svg{flex-shrink:0;width:14px;height:14px;display:block}.cases__view-btn.is-active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #0000001a}.cases__filters{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 28px;display:flex}.cases__filter{cursor:pointer;height:30px;font-family:var(--font-sans);color:#1a1613;background:0 0;border:1px solid #00000024;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.cases__filter:hover{border-color:hsl(var(--accent));color:hsl(var(--accent))}.cases__filter:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}.cases__filter.is-active{color:#fff;background:#1a1613;border-color:#1a1613}.cases__filterCount{font-family:var(--font-mono);letter-spacing:.08em;opacity:.55;font-size:11px}.cases__filter.is-active .cases__filterCount{color:hsl(var(--accent));opacity:1}[data-theme=dark] .cases__filter{color:#ffffffd9;border-color:#ffffff2e}[data-theme=dark] .cases__filter:hover{border-color:hsl(var(--accent));color:hsl(var(--accent))}[data-theme=dark] .cases__filter.is-active{color:#1a1613;background:#f4f2ee;border-color:#f4f2ee}.cases__empty{text-align:center;color:#6c6357;font-family:var(--font-sans);margin:48px 0 0}.cases__grid{opacity:0;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,22px);transition:opacity .32s;display:grid}.cases__grid.is-ready{opacity:1}@media (scripting:none){.cases__grid{opacity:1}}@media (max-width:1099.98px){.cases__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:759.98px){.cases__grid{grid-template-columns:repeat(2,1fr)}}.cases__scroller-wrap{margin-inline:calc(50% - 50vw);position:relative}.cases__scroller{-webkit-overflow-scrolling:touch;opacity:0;cursor:grab;-webkit-user-select:none;user-select:none;scrollbar-width:none;flex-wrap:nowrap;gap:clamp(14px,1.4vw,22px);padding:4px clamp(24px,6vw,64px) 24px;transition:opacity .32s;display:flex;overflow:auto visible}.cases__scroller::-webkit-scrollbar{display:none}.cases__scroller.--grabbing{cursor:grabbing}.cases__scroller.is-ready{opacity:1}.cases__scroller img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.cases__scroller .cases__tile--scroller{flex:none;width:clamp(280px,27vw,360px)}@media (max-width:599.98px){.cases__title{font-size:36px}.cases__scroller .cases__tile--scroller{width:clamp(180px,56vw,240px)}}.cases__pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:8px auto 0;padding:0 16px;display:flex}.cases__pagination-dot{cursor:pointer;background:#0b0b0b24;border:0;border-radius:9999px;width:22px;height:6px;padding:0;transition:background .2s,width .25s cubic-bezier(.4,0,.2,1)}.cases__pagination-dot:hover{background:#0b0b0b47}.cases__pagination-dot.is-active{background:hsl(var(--accent));width:40px}[data-theme=dark] .cases__pagination-dot{background:#ffffff2e}[data-theme=dark] .cases__pagination-dot:hover{background:#ffffff52}[data-theme=dark] .cases__pagination-dot.is-active{background:hsl(var(--accent))}.cases__tile{aspect-ratio:3/4;cursor:pointer;isolation:isolate;background:#0000000a;border:0;border-radius:12px;width:100%;margin:0;padding:0;transition:transform .25s,box-shadow .25s;display:block;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 14px 28px -18px #0b0b0b2e,0 2px 6px -2px #0b0b0b0f}.cases__tile:hover,.cases__tile:focus-visible{outline:none;transform:translateY(-2px);box-shadow:0 22px 38px -16px #0b0b0b47,0 4px 10px -2px #0b0b0b14}.cases__tile img{object-fit:cover;transition:transform .6s}.cases__tile:hover img,.cases__tile:focus-visible img{transform:scale(1.03)}.cases__tile:after{content:"";z-index:1;opacity:0;pointer-events:none;background:linear-gradient(#0000 40%,#0009 100%);transition:opacity .24s;position:absolute;inset:0}.cases__tile:hover:after,.cases__tile:focus-visible:after{opacity:1}.cases__tileCap{z-index:2;opacity:0;pointer-events:none;transition:opacity .24s;position:absolute;inset:0}.cases__tile:hover .cases__tileCap,.cases__tile:focus-visible .cases__tileCap{opacity:1}.cases__tileCapTag{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#fff;background:#0a0a0a52;border:1px solid #ffffff47;border-radius:999px;align-items:center;padding:5px 10px;font-size:10px;transition:transform .24s;display:inline-flex;position:absolute;top:clamp(14px,1.6vw,22px);left:clamp(14px,1.6vw,22px);transform:translateY(-4px)}.cases__tile:hover .cases__tileCapTag,.cases__tile:focus-visible .cases__tileCapTag{transform:translateY(0)}.cases__tileCapText{text-align:left;font-family:var(--font-serif);color:#fff;text-shadow:0 1px 12px #00000080;font-size:clamp(15px,1.3vw,19px);font-weight:400;line-height:1.35;transition:transform .24s;position:absolute;bottom:clamp(14px,1.8vw,22px);left:clamp(14px,1.6vw,22px);right:clamp(14px,1.6vw,22px);transform:translateY(4px)}.cases__tile:hover .cases__tileCapText,.cases__tile:focus-visible .cases__tileCapText{transform:translateY(0)}.cases__modal{z-index:200;-webkit-backdrop-filter:blur(8px);background:#0b0b0be0;justify-content:center;align-items:center;padding:clamp(20px,4vh,56px);display:flex;position:fixed;inset:0}.cases__modalClose{color:#fff;font-family:var(--font-mono);letter-spacing:.18em;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff40;border-radius:999px;padding:8px 14px;font-size:11px;transition:background .2s,border-color .2s;position:absolute;top:24px;right:28px}.cases__modalClose:hover{border-color:hsl(var(--accent));background:#ff5b2e2e}.cases__modalNav{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff40;border-radius:999px;flex:none;width:56px;height:56px;margin:0 clamp(8px,1vw,18px);font-size:22px;transition:background .2s,border-color .2s,color .2s}.cases__modalNav:hover{border-color:hsl(var(--accent));color:hsl(var(--accent));background:#ff5b2e2e}.cases__modalImgWrap{flex:auto;justify-content:center;align-items:center;max-width:min(900px,80vw);max-height:85vh;display:flex}.cases__modalImg{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:85vh;display:block}.cases__modalCap{text-align:center;max-width:min(720px,84vw);font-family:var(--font-serif);color:#fff;text-shadow:0 1px 12px #00000080;flex-direction:column;align-items:center;gap:6px;font-size:clamp(17px,1.5vw,22px);font-weight:400;line-height:1.35;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.cases__modalCounter{font-family:var(--font-mono);letter-spacing:.22em;color:#ffffff8c;text-shadow:none;font-size:10px}@media (max-width:599.98px){.cases__inner{width:90%}.cases__modal{flex-direction:column;padding:64px 0 96px}.cases__modalNav{display:none}.cases__modalClose{top:16px;right:16px}.cases__modalImgWrap{flex:auto;width:100%;max-width:100vw;max-height:none;padding:0 12px}.cases__modalImg{border-radius:6px;width:100%;height:auto;max-height:calc(100dvh - 180px)}.cases__modalCap{max-width:88vw;font-size:16px;bottom:22px}}
