/* === 05-cases (тёмная) === */
.fmf2 .cases__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.fmf2 .cases__head .sect-head{margin-bottom:0;max-width:none}
.fmf2 .cases__head .btn{flex:none}
@media (min-width:1025px){
  .fmf2 .cases__head .sect-title--xl{font-size:60px;letter-spacing:-.02em}
}

.fmf2 .cases__grid{margin-top:40px}
.fmf2 .cases__tabs{display:flex;gap:10px;margin:40px 0;flex-wrap:wrap}
.fmf2 .cases__tab{height:40px;padding-inline:20px;border-radius:var(--radius-pill);border:1px solid var(--c-line-dark);font-size:14px;font-weight:500;color:var(--c-on-dark-2);transition:color .2s,background .2s,border-color .2s}
.fmf2 .cases__tab:hover{color:#fff;border-color:var(--c-on-dark-3)}
.fmf2 .cases__tab.is-active{background:#fff;color:var(--c-ink);border-color:#fff}

/* --- крупная акцентная карточка / слайдер --- */
.fmf2 .cases__featured{position:relative;overflow:hidden;margin-bottom:64px}
.fmf2 .cases__featured-track{display:flex;transition:transform .5s ease}
.fmf2 .case-lg{flex:0 0 100%;display:grid;grid-template-columns:536px 536px;gap:136px;align-items:start}
.fmf2 .case-lg__media{border-radius:var(--radius);overflow:hidden}
.fmf2 .case-lg__img{display:block;width:536px;height:520px;object-fit:cover}
.fmf2 .case-lg__body{padding-top:6px}
.fmf2 .case-lg__body .eyebrow{margin-bottom:14px}
.fmf2 .case-lg__title{font-size:36px;line-height:1.15;font-weight:400;margin:0 0 18px;max-width:460px}
.fmf2 .case-lg__text{font-size:16px;color:var(--c-on-dark-2);line-height:1.5;margin:0 0 20px;max-width:470px}
.fmf2 .case-lg__stats{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:32px}
.fmf2 .case-lg__stat{min-height:125px;padding:24px;background:rgba(235,235,235,.2)}
.fmf2 .case-lg__stat-n{display:block;font-size:32px;line-height:1.1;margin-bottom:2px}
.fmf2 .case-lg__stat-t{display:block;font-size:14px;color:var(--c-on-dark-2);line-height:1.4}
.fmf2 .case-lg__note{font-size:13px;color:var(--c-on-dark-3);margin:14px 0 0}

/* --- управление слайдером --- */
.fmf2 .cases__controls{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-bottom:16px;border-bottom:1px solid var(--c-line-dark);scroll-margin-top:100px}
.fmf2 .cases__dots{display:flex;gap:6px;align-items:center;min-height:6px}
.fmf2 .cases__dots .slider-dot{width:6px;height:6px;padding:0;border:0;background:rgba(255,255,255,.2);transition:width .25s,background .25s}
.fmf2 .cases__dots .slider-dot.is-active{width:32px;background:rgba(255,255,255,.2)}
.fmf2 .cases__arrows{display:flex;gap:6px}
.fmf2 .cases__arrow{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:rgba(235,235,235,.2);color:#fff}
.fmf2 .cases__arrow:hover:not(:disabled){background:linear-gradient(180deg,#8C7CE9 0%,#6657C2 100%),rgba(235,235,235,.2)}
.fmf2 .cases__arrow .ic-svg{width:24px;height:24px}
.fmf2 .cases__arrow .ic-svg *,.fmf2 .case-lg .link-arrow .ic-svg *{stroke:currentColor}
.fmf2 .cases__arrow:disabled{background:rgba(235,235,235,.2);color:rgba(255,255,255,.4);cursor:default}

/* --- 3 компактные карточки --- */
.fmf2 .cases__row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fmf2 .case-sm{position:relative;display:flex;flex-direction:column;min-height:0;aspect-ratio:424/428;border-radius:0;overflow:hidden;background:var(--c-dark-2);color:#fff}
.fmf2 .case-sm--accent{background:var(--c-green)}
.fmf2 .case-sm--panel{background:#383b4a}
.fmf2 .case-sm__title{position:relative;z-index:4;margin:0;padding:24px 24px 0;font-size:24px;line-height:1.4;font-weight:500;letter-spacing:-.02em}
.fmf2 .case-sm__plane{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover}
.fmf2 .case-sm__media{position:relative;z-index:1;flex:1;min-height:0;margin-top:18px}
.fmf2 .case-sm__img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.fmf2 .case-sm--photo .case-sm__media{position:absolute;inset:0;margin:0}
.fmf2 .case-sm--photo::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 42%,rgba(0,0,0,.4) 100%)}
.fmf2 .case-sm--accent .case-sm__media{position:absolute;z-index:1;inset:0;height:100%;margin:0}
.fmf2 .case-sm--accent .case-sm__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.fmf2 .case-sm--panel .case-sm__media{position:absolute;z-index:2;inset:0;height:100%;margin:0}
.fmf2 .case-sm--panel .case-sm__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;flex:none;object-fit:cover}
.fmf2 .case-sm__arrow{position:absolute;left:24px;bottom:24px;z-index:4;width:24px;height:24px;color:#fff}
.fmf2 .case-sm__arrow svg{width:100%;height:100%}
.fmf2 .case-sm__arrow svg *{stroke:currentColor}
.fmf2 .case-sm{transition:transform .2s ease,box-shadow .2s ease}
.fmf2 .case-sm:hover,.fmf2 .case-sm:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.18)}

@media (max-width:1280px){
  .fmf2 .case-lg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
  .fmf2 .case-lg__img{width:100%;height:auto;aspect-ratio:536/520}
  .fmf2 .case-sm__title{padding:clamp(16px,1.875vw,24px) clamp(16px,1.875vw,24px) 0;font-size:clamp(18px,1.875vw,24px)}
  .fmf2 .case-sm--accent .case-sm__title{white-space:nowrap}
  .fmf2 .case-sm__arrow{left:clamp(16px,1.875vw,24px);bottom:clamp(16px,1.875vw,24px);width:clamp(20px,1.875vw,24px);height:clamp(20px,1.875vw,24px)}
}
@media (max-width:1024px){
  .fmf2 .cases__head{flex-direction:column;align-items:flex-start}
  .fmf2 .cases__head .sect-title--xl{font-size:40px}
  .fmf2 .cases__grid{margin-top:32px}
  .fmf2 .cases__tabs{margin:32px 0}
  .fmf2 .case-lg{grid-template-columns:1fr;gap:24px}
  .fmf2 .case-lg__img{width:100%;height:auto;aspect-ratio:16/10}
  .fmf2 .case-lg__title{font-size:28px;max-width:none}
  .fmf2 .case-lg__text{max-width:none}
}
@media (max-width:768px){
  .fmf2 .cases__head{flex-direction:column;align-items:flex-start}
  .fmf2 .cases__featured{margin-bottom:40px}
  .fmf2 .cases__row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--pad)*-1);padding:4px var(--pad) 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .fmf2 .cases__row::-webkit-scrollbar{display:none}
  .fmf2 .cases__row .case-sm{flex:0 0 80%;scroll-snap-align:start;min-height:0;aspect-ratio:424/428;border-radius:0}
}
@media (max-width:480px){
  .fmf2 .cases__tabs{gap:8px;margin:28px 0}
  .fmf2 .cases__tab{height:36px;padding-inline:16px;font-size:13px}
  .fmf2 .case-lg__stats{grid-template-columns:1fr}
  .fmf2 .case-lg__stat-n{font-size:28px}
}
