/* ---- анимации появления ---- */
[data-reveal]{opacity:0;transition:opacity .6s ease-out,transform .6s cubic-bezier(.2,.7,.2,1)}
[data-reveal=up]{transform:translateY(32px)}
[data-reveal=down]{transform:translateY(-24px)}
[data-reveal].in{opacity:1;transform:none}
.top{transition:background .3s}.top--solid{background:#16181c}

/* ---- счётчики ---- */
.stats{background:var(--y);color:#111;padding:44px 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat b{display:block;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.stat span{font-weight:500}

/* ---- преимущества ---- */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why__item{padding:28px;border:1px solid #e3e5e8;border-radius:var(--r);transition:border-color .2s}
.why__item:hover{border-color:var(--y)}
.why svg{width:40px;height:40px;fill:none;stroke:#111;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:var(--y);border-radius:10px;padding:7px;margin-bottom:16px}
.why p{color:var(--muted);font-size:15px}

/* ---- галерея ---- */
.gal__head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.gal__nav{display:flex;gap:10px;margin-bottom:24px}
.gal__btn{width:48px;height:48px;border-radius:50%;border:2px solid #16181c;background:none;font-size:20px;cursor:pointer;transition:.2s}
.gal__btn:hover{background:var(--y);border-color:var(--y)}
.gal{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r)}
.gal::-webkit-scrollbar{display:none}
.gal figure{flex:0 0 min(560px,85%);scroll-snap-align:start;position:relative;margin:0;border-radius:var(--r);overflow:hidden}
.gal img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:16px;bottom:16px;background:rgba(22,24,28,.85);color:#fff;padding:8px 14px;border-radius:8px;font-weight:700}
.gal__note{margin-top:14px;font-size:14px}

/* ---- FAQ ---- */
.faq{max-width:860px}
.faq details{border-bottom:1px solid #e3e5e8}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:700;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:16px;font-size:28px;color:#c98f00;transition:transform .25s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--muted);animation:faqIn .3s ease-out}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}}

@media (max-width:980px){.stats__grid,.why{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.why{grid-template-columns:1fr}.gal__nav{display:none}}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}
