/* 029 — «Спецэффекты»: герой эффекта (R13), сетка подразделов (S01 П5), своё производство, оператор. Поверх home.css и povod.css. */
.fx-hero .hero-body{max-width:1000px}
.fx-hero .hero-sub{max-width:720px}
.fx-hero-b{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.fx-hero-sec .hero-card{grid-template-columns:1fr}

.fx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.2vw,20px)}
.fx-t{display:flex;flex-direction:column}
.fx-t .ph{aspect-ratio:4/3}
.fx-t .ph img{object-fit:contain;background:#fff;padding:16px}
.fx-t-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.fx-t-n{font:800 clamp(22px,1.5vw,28px)/1 var(--disp);text-transform:uppercase}
.fx-t-n:hover{color:var(--amber)}
.fx-t-c{font-size:13px;color:var(--haze)}
.fx-t-f{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:end;gap:10px}
.fx-t-f .price small{max-width:180px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.fx-own{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(20px,3vw,56px);align-items:center;background:var(--ink-2);border-radius:calc(var(--r) + 6px);padding:clamp(20px,3vw,48px);position:relative;overflow:hidden}
.fx-own-t{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.fx-own-t .h2{font-size:clamp(34px,3.4vw,72px)}
.fx-own-t p{color:rgba(242,237,228,.86);max-width:520px}
.fx-video{margin:0}
.fx-video video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-s);background:var(--ink)}
.fx-video figcaption{font-size:14px;color:var(--haze);margin-top:10px}
.fx-video figcaption a{color:var(--amber)}

.fx-safe{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.2vw,20px)}
.fx-s{padding:clamp(20px,2vw,32px);display:flex;flex-direction:column;gap:12px}
.fx-s p{color:var(--haze)}
.fx-call{margin-top:16px}

@media (max-width:1280px){.fx-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1024px){.fx-grid{grid-template-columns:1fr 1fr}.fx-own{grid-template-columns:1fr}.fx-safe{grid-template-columns:1fr}}
@media (max-width:560px){
  .fx-grid{gap:10px}.fx-t-b{padding:12px 12px 14px}.fx-t-n{font-size:21px}
  .fx-t-f{flex-direction:column;align-items:flex-start}.fx-t .btn.sm{width:100%;justify-content:center}
  .fx-hero-b .btn{flex:1;justify-content:center}
}
