.cases-hero{position:relative;min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 24px 80px;z-index:1}.cases-hero:before{content:"";position:absolute;top:-10%;left:50%;transform:translate(-50%);width:600px;height:400px;background:radial-gradient(circle,rgba(255,107,43,.12) 0%,rgba(168,85,247,.06) 40%,transparent 70%);pointer-events:none}.cases-hero__content{position:relative;z-index:2}.cases-hero__title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.8rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:16px 0}.cases-hero__subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:520px;margin:0 auto;line-height:1.7}.cases-section{position:relative;z-index:1;padding:0 0 120px}.cases-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px;justify-content:center}.filter-btn{padding:9px 20px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-family:var(--font-primary);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .25s var(--ease-out)}.filter-btn:hover{border-color:var(--border-hover);color:var(--text);background:#ffffff0a}.filter-btn.is-active{background:var(--gradient-primary);border-color:transparent;color:#fff;font-weight:600}.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cases-loading{display:flex;justify-content:center;padding:80px 0}.cases-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cases-empty{flex-direction:column;align-items:center;gap:16px;padding:80px 0;color:var(--text-muted)}.cases-empty__icon{font-size:3rem}.case-card{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:all .35s var(--ease-out);display:flex;flex-direction:column}.case-card:hover{transform:translateY(-5px);border-color:var(--border-hover);box-shadow:0 16px 48px #0006}.case-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.case-card__img{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-elevated)}.case-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}.case-card:hover .case-card__img img{transform:scale(1.05)}.case-card__img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--gradient-subtle)}.case-card__cat{position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:999px;background:#07060bb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-hover);font-size:.75rem;font-weight:600;color:var(--accent-light);letter-spacing:.04em}.case-card__body{padding:24px;flex:1;display:flex;flex-direction:column}.case-card__meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}.case-card__client,.case-card__date{font-size:.8rem;color:var(--text-muted)}.case-card__client{font-weight:500}.case-card__title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;line-height:1.3;margin-bottom:10px}.case-card__desc{font-size:.88rem;color:var(--text-secondary);line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.case-card__footer{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.case-card__count{font-size:.78rem;color:var(--text-muted)}.case-card__read{margin-left:auto;font-size:.82rem;font-weight:600;color:var(--accent-light);transition:color .2s}.case-card:hover .case-card__read{color:var(--accent)}.case-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s var(--ease-out)}.case-modal.is-open{pointer-events:auto;opacity:1}.case-modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#07060bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.case-modal__panel{position:relative;z-index:1;width:100%;max-width:860px;max-height:95vh;margin:24px;background:var(--bg-card);border:1px solid var(--border-hover);border-radius:var(--radius-xl);overflow-y:auto;transform:translateY(30px);transition:transform .4s var(--ease-out)}.case-modal.is-open .case-modal__panel{transform:translateY(0)}.case-modal__close{position:sticky;top:16px;float:right;margin:16px 16px 0 0;z-index:10;background:#07060bb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-hover);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:all .2s}.case-modal__close:hover{background:#ff6b2b33;border-color:var(--accent)}.case-modal__body{padding-bottom:48px}.case-modal__slideshow{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}.case-modal__slides{width:100%;height:100%}.case-modal__slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .4s var(--ease-out)}.case-modal__slide.is-active{opacity:1}.case-modal__slide img{width:100%;height:100%;object-fit:cover}.case-modal__arrow{position:absolute;top:50%;transform:translateY(-50%);background:#07060b99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--border-hover);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;cursor:pointer;transition:all .2s;z-index:5}.case-modal__arrow:hover{background:#ff6b2b66}.case-modal__arrow--prev{left:12px}.case-modal__arrow--next{right:12px}.case-modal__dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:5}.case-modal__dot{width:8px;height:8px;border-radius:50%;background:#ffffff59;border:none;cursor:pointer;transition:all .2s}.case-modal__dot.is-active{background:#fff;transform:scale(1.3)}.case-modal__video{position:relative;aspect-ratio:16/9;background:#000}.case-modal__video iframe,.case-modal__video video{width:100%;height:100%;border:none}.case-modal__info{padding:32px}.case-modal__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.case-modal__client,.case-modal__date{font-size:.88rem;color:var(--text-secondary)}.case-modal__title{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);font-weight:800;letter-spacing:-.02em;margin-bottom:16px;line-height:1.2}.case-modal__content{font-size:1rem;color:var(--text);line-height:1.8;white-space:pre-wrap}.nav__active{color:var(--accent-light)!important}@media (max-width: 1024px){.cases-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.cases-grid{grid-template-columns:1fr}.case-modal__panel{margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;align-self:flex-end}.case-modal{align-items:flex-end}}.refs-section{padding:80px 0 100px;background:var(--bg-card);border-top:1px solid var(--border-hover)}.refs-header{text-align:center;margin-bottom:52px}.refs-title{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:var(--text);margin:10px 0 12px}.refs-sub{font-size:.95rem;color:var(--text-secondary);max-width:480px;margin:0 auto}.refs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.ref-item{display:flex;align-items:center;justify-content:center;padding:20px 16px;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-md);transition:all .3s var(--ease-out);min-height:72px}.ref-item:hover{border-color:var(--accent);background:var(--surface);transform:translateY(-2px);box-shadow:0 6px 24px #0006}.ref-item span{font-size:.82rem;font-weight:600;color:var(--text);text-align:center;letter-spacing:.01em}.ref-item--logo{padding:16px 24px}.ref-logo{max-width:110px;max-height:44px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.65;transition:opacity .2s}.ref-item--logo:hover .ref-logo{opacity:1}@media (max-width: 640px){.refs-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.refs-section{padding:60px 0 80px}}
