/* ---- общие для внутренних страниц ---- */
.nav a[aria-current=page]{color:var(--y);opacity:1}

.phero{color:#fff;padding:150px 0 72px;
 background:linear-gradient(90deg,rgba(15,16,19,.92) 35%,rgba(15,16,19,.55)),var(--bg) center/cover}
.phero h1{font-size:clamp(34px,5vw,58px);margin:16px 0 14px}
.phero .lead{max-width:640px}
.crumbs{font-size:14px;color:#c5c9cf}
.crumbs a:hover{color:var(--y)}
.crumbs span{opacity:.6;margin:0 4px}
.crumbs [aria-current]{opacity:1;margin:0;color:#fff}

.sec--tight{padding:48px 0}
.split--top{align-items:start}
.note{margin-top:16px;font-size:14px}
.note a{color:#9a6d00;font-weight:700}

.ticks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:28px}
.ticks li{padding-left:34px;position:relative;font-weight:500}
.ticks li:before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:6px;
 background:var(--y) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat}

.side{background:var(--gray);border-radius:var(--r);padding:32px;position:sticky;top:96px}
.side h3{margin-bottom:14px}
.side ul{margin:0 0 24px 18px;color:var(--muted)}
.side li{margin:6px 0}
.side .btn{width:100%;text-align:center}
.side__phone{margin-top:14px;text-align:center;font-size:15px;color:var(--muted)}
.side__phone a{color:var(--text);font-weight:700}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.chip{padding:12px 18px;border:1px solid #d7dade;border-radius:999px;font-weight:700;transition:.2s}
.chip:hover{border-color:var(--y);background:var(--y)}

.card--link{display:block;color:inherit}
.card--link .more{display:inline-block;margin-top:12px;font-weight:700;color:#9a6d00}
.mini{margin:6px 0 0 18px;color:var(--muted);font-size:15px}

.prices .price{margin-bottom:40px}
.price__group{margin-top:8px;font-size:22px}
.price__group a:hover{color:#9a6d00}

.req{display:grid;gap:4px}
.req dt{color:var(--muted);font-size:13px;margin-top:10px}
.req dd{font-weight:700}

.contacts{display:grid;gap:28px}
.contacts span{display:block;font-size:14px;margin-bottom:4px}
.contacts .big{font-size:clamp(22px,3vw,30px);font-weight:800}
.contacts .big:hover{color:#9a6d00}
.map{border-radius:var(--r);overflow:hidden;min-height:380px;background:var(--gray)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

.foot__grid--4{grid-template-columns:1.3fr 1fr 1fr 1fr}
.foot__links a{color:#c5c9cf}.foot__links a:hover{color:var(--y)}
.foot__links{line-height:2}

/* форма: подпись над полем, поле внутри label */
.lead-form label{display:grid;gap:6px;font-weight:700;font-size:14px;margin:0}
.lead-form label input,.lead-form label textarea{font-weight:400}

@media (max-width:980px){
  .foot__grid--4{grid-template-columns:1fr 1fr}
  .side{position:static}
}
@media (max-width:560px){
  .ticks{grid-template-columns:1fr}
  .foot__grid--4{grid-template-columns:1fr}
  .phero{padding:120px 0 48px}
}

/* ---- кнопки, шапка ---- */
.btn--sm{padding:10px 18px;min-height:42px;font-size:15px}
.btn--block{display:block;text-align:center;margin-top:16px}
.top__cta{white-space:nowrap}

/* ---- модальная форма ---- */
.modal{position:fixed;inset:0;z-index:200;background:rgba(10,11,13,.6);display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .2s}
.modal.open{opacity:1}
.modal__box{background:#fff;border-radius:var(--r);padding:32px;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;position:relative;transform:translateY(16px) scale(.98);transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.modal.open .modal__box{transform:none}
.modal__box h2{font-size:28px;margin-bottom:6px}
.modal__sub{margin-bottom:18px;font-size:15px}
.modal__box .form{padding:0}
.modal__x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--muted)}
.modal__x:hover{color:var(--text)}

/* ---- плавающая кнопка звонка ---- */
.fab{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--y);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .2s}
.fab:hover{transform:scale(1.06)}
.fab svg{width:26px;height:26px;fill:none;stroke:#111;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fab:before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--y);animation:ping 2s ease-out infinite}
@keyframes ping{to{transform:scale(1.6);opacity:0}}

/* ---- отзывы / письма ---- */
.empty{display:flex;gap:24px;align-items:flex-start;border:1px dashed #3a3e45;border-radius:var(--r);padding:32px;max-width:820px}
.empty svg{flex:0 0 56px;height:56px;fill:none;stroke:var(--y);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.empty h3{margin-bottom:6px}
.empty a{color:var(--y);font-weight:700}
.letters{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.letter{background:#fff;color:var(--text);border-radius:10px;overflow:hidden;transition:transform .2s}
.letter:hover{transform:translateY(-4px)}
.letter img{aspect-ratio:1/1.41;object-fit:cover;width:100%}
.letter span{display:block;padding:10px 12px;font-weight:700;font-size:14px}

.form--light{background:var(--gray)}
.sec--gray .form--light{background:#fff}

@media (max-width:1100px){.top__cta{display:none}}
@media (max-width:560px){.empty{flex-direction:column}.fab{right:14px;bottom:14px}}
@media (prefers-reduced-motion:reduce){.fab:before{animation:none}}

/* ---- плитки услуг (фото + жёлтая плашка) ---- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tile{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:var(--y);color:#111;transition:transform .25s,box-shadow .25s}
.tile img{width:100%;aspect-ratio:9/10;object-fit:cover;transition:transform .5s}
.tile span{padding:16px 12px;text-align:center;font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.tile:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.4)}
.tile:hover img{transform:scale(1.05)}
.sec--gray .list li{border-color:#d7dade}
@media (max-width:980px){.tiles{grid-template-columns:1fr 1fr;gap:18px}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}.tile img{aspect-ratio:4/3}}
.modal[hidden]{display:none}
.logo img{height:44px;width:auto;display:block}
@media (min-width:1101px){.tiles{grid-template-columns:repeat(5,1fr);gap:20px}.tile span{font-size:12px;min-height:56px;display:grid;place-items:center}}
