/* ГК «Московия» — корпоративный сайт. Дизайн по образцу сайта группы. */
:root {
  --blue:#0e6ec8; --blue-d:#0a57a0; --blue-l:#3f92dd;
  --red:#cf1622; --ink:#1b1e24; --gray:#6a7180; --line:#e6eaf0;
  --bg:#f5f7fa; --dark:#15181e; --dark2:#1b1f27; --white:#fff;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Montserrat','PT Sans',Arial,sans-serif; color:var(--ink); background:#fff; line-height:1.55; font-size:15px; overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:1280px; margin:0 auto; padding:0 20px; }
.grid4 > *, .pgrid > *, .feat4 > *, .stats .wrap > *, .srv > *, .news3 > *, .newsgrid > *, .catgrid > *, .contact2 > *, .parks > *, .ptop > *, footer.site .cols > * { min-width:0; }
.btn { display:inline-block; padding:10px 26px; border:1px solid var(--blue); color:var(--blue); font-size:13px; letter-spacing:.08em; text-transform:uppercase; transition:.18s; background:transparent; cursor:pointer; }
.btn:hover { background:var(--blue); color:#fff; }
.btn-solid { background:var(--blue); color:#fff; }
.btn-solid:hover { background:var(--blue-d); }
.btn-red { background:var(--red); border-color:var(--red); color:#fff; }
.btn-red:hover { background:#e6303c; }

/* ---------- Верхняя полоса ---------- */
.topbar { background:var(--blue); color:#fff; font-size:13px; }
.topbar .wrap { display:flex; justify-content:space-between; align-items:center; height:36px; }
.topbar a { color:#fff; }
.topbar .tb-right { display:flex; gap:22px; }

/* ---------- Шапка ---------- */
header.site { background:#fff; box-shadow:0 2px 10px rgba(16,24,40,.07); position:sticky; top:0; z-index:90; }
.hrow { display:flex; align-items:center; justify-content:space-between; height:72px; gap:20px; }
.logo { display:flex; align-items:center; }
.logo img { height:52px; width:auto; }
nav.main { display:flex; align-items:center; gap:6px; }
nav.main > div { position:relative; }
nav.main a.top { display:block; padding:26px 14px; font-size:14px; font-weight:600; }
nav.main a.top:hover, nav.main a.top.act { color:var(--blue); }
nav.main a.top .car { display:inline-block; margin-left:6px; font-style:normal; font-size:10px; color:var(--gray); transition:transform .3s ease; }
nav.main > div:hover a.top .car { transform:rotate(180deg); color:var(--blue); }
.dd { position:absolute; top:100%; left:0; background:#fff; min-width:250px; box-shadow:0 14px 34px rgba(16,24,40,.14); display:none; z-index:95; padding:8px 0; }
nav.main > div:hover .dd { display:block; }
.dd a { display:block; padding:9px 18px; font-size:13.5px; }
.dd a:hover { background:var(--bg); color:var(--blue); }
.dd .grp { position:relative; }
.dd .grp > a i { font-style:normal; float:right; color:var(--gray); display:inline-block; transition:transform .3s ease; }
.dd .grp:hover > a i { transform:rotate(90deg); color:var(--blue); }
.dd-sub { display:none; position:absolute; left:100%; top:-8px; min-width:260px; background:#fff; box-shadow:0 14px 34px rgba(16,24,40,.14); padding:8px 0; }
.dd .grp:hover .dd-sub { display:block; }
.search { display:flex; align-items:center; border:1px solid var(--line); border-radius:20px; padding:6px 14px; gap:8px; }
.search input { border:0; outline:0; font-size:13px; width:130px; background:transparent; }
.burger { display:none; font-size:26px; background:none; border:0; cursor:pointer; }

/* ---------- Баннер-слайдер ---------- */
.slider { position:relative; overflow:hidden; background:var(--dark); }
.track { display:flex; transition:transform .65s cubic-bezier(.65,.05,.36,1); }
.slide { min-width:100%; position:relative; }
.slide img { width:100%; height:min(86vh, 840px); object-fit:cover; }
.sl-nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; background:rgba(255,255,255,.22); color:#fff; border:0; font-size:22px; cursor:pointer; z-index:5; }
.sl-prev { left:14px; } .sl-next { right:14px; }
.sl-dots { position:absolute; bottom:16px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:5; }
.sl-dots button { width:10px; height:10px; border-radius:50%; border:0; background:rgba(255,255,255,.45); cursor:pointer; }
.sl-dots button.on { background:#fff; }

/* ---------- Секции ---------- */
section { padding:64px 0; }
.sec-h { text-align:center; font-size:clamp(22px,2.6vw,32px); text-transform:uppercase; letter-spacing:.06em; margin-bottom:36px; font-weight:800; }
.sec-h::after { content:''; display:block; width:56px; height:3px; background:var(--red); margin:12px auto 0; }

/* Категории — коллаж со сжатием соседей, во всю ширину */
.cats { display:flex; gap:0; width:100%; }
.cats .cat { flex:1; transition:flex .45s ease; }
.cats .cat:hover { flex:2.1; }
.cat { position:relative; overflow:hidden; height:600px; }
.cat img { width:100%; height:100%; object-fit:cover; transition:.35s; }
.cat .ov { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(10,14,25,.88)); display:flex; flex-direction:column; justify-content:flex-end; align-items:center; padding:22px 12px; color:#fff; text-align:center; }
.cat .ov b { font-size:17px; margin-bottom:12px; }
.cat .ov .btn { border-color:#fff; color:#fff; font-size:11.5px; padding:8px 18px; }
.cat .ov .btn:hover { background:#fff; color:var(--ink); }

/* Тёмный блок о компании */
.about-band { background:linear-gradient(180deg,#14161d,#1a1e28); color:#fff; text-align:center; }
.about-band h2 { font-size:clamp(20px,2.4vw,30px); margin-bottom:18px; font-weight:800; }
.about-band .lead { max-width:900px; margin:0 auto 40px; color:#c6cddb; font-size:15.5px; }
.feat4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; text-align:center; }
.feat4 > div { background:#ffffff0d; border:1px solid #ffffff1a; padding:28px 20px; }
.feat4 img { height:44px; margin:0 auto 14px; }
.feat4 b { display:block; text-transform:uppercase; letter-spacing:.1em; font-size:14px; margin-bottom:10px; }
.feat4 p { font-size:13px; color:#b9c1d0; }
.about-band .btn { margin-top:34px; border-color:#fff; color:#fff; }
.about-band .btn:hover { background:#fff; color:var(--ink); }

/* Товарные карточки */
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.pcard { display:block; background:#f6f6f7; border-radius:12px; text-align:center; position:relative; overflow:hidden; transition:box-shadow .25s, transform .25s; }
.pcard:hover { box-shadow:0 16px 36px rgba(16,24,40,.14); transform:translateY(-3px); }
.pcard .pimg { display:block; padding:28px 24px 10px; }
.pcard img { height:225px; width:100%; object-fit:contain; margin:0 auto; }
.pcard b { display:block; font-size:15.5px; font-weight:600; color:var(--ink); padding:6px 14px 30px; }
.pcard .pbtn { position:absolute; left:0; right:0; bottom:0; background:var(--blue); color:#fff; padding:12px 0; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; transform:translateY(101%); transition:transform .3s ease; }
.pcard:hover .pbtn { transform:translateY(0); }
.center { text-align:center; margin-top:32px; }

/* Отзывы */
.quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.quote { background:var(--bg); padding:28px; font-size:13.5px; color:#3d4452; position:relative; }
.quote img { height:26px; margin-bottom:14px; }

/* Применение — коллаж на всю ширину, рост вниз при наведении */
.apps { display:flex; width:100%; height:400px; align-items:flex-start; }
.app { position:relative; flex:1; height:330px; overflow:hidden; transition:height .45s ease; }
.app:hover { height:400px; }
.app img { width:100%; height:100%; object-fit:cover; transition:.35s; }
.app span { position:absolute; left:0; right:0; bottom:0; padding:14px 10px; background:linear-gradient(180deg,transparent,rgba(8,12,22,.85)); color:#fff; text-align:center; font-size:14.5px; }

/* Пресса */
.news3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ncard { border:1px solid var(--line); background:#fff; }
.ncard img { height:210px; width:100%; object-fit:cover; }
.ncard .nb { padding:18px; }
.ncard time { color:var(--gray); font-size:12.5px; }
.ncard b { display:block; margin:8px 0 14px; font-size:15px; line-height:1.4; }

/* Форма запроса */
.inquiry { background:linear-gradient(rgba(10,14,22,.82),rgba(10,14,22,.82)), url('/assets/banner2.webp') center/cover; color:#fff; }
.inquiry form { max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.inquiry input, .inquiry textarea { padding:13px 16px; border:1px solid #ffffff44; background:#ffffff14; color:#fff; font-size:14px; outline:none; width:100%; font-family:inherit; }
.inquiry input::placeholder, .inquiry textarea::placeholder { color:#cfd6e4; }
.inquiry textarea { grid-column:1/3; min-height:90px; }
.inquiry .send { grid-column:1/3; display:flex; justify-content:flex-end; }

/* ---------- Футер ---------- */
footer.site { background:var(--dark); color:#aab2c2; font-size:13.5px; }
footer.site .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding:52px 0 40px; }
footer.site h4 { color:#fff; text-transform:uppercase; font-size:14px; letter-spacing:.08em; margin-bottom:16px; }
footer.site li { list-style:none; margin-bottom:9px; }
footer.site a:hover { color:#fff; }
.copy { border-top:1px solid #ffffff1c; padding:16px 0; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }

/* ---------- Внутренние страницы ---------- */
.pagehead { background:linear-gradient(rgba(10,20,40,.55),rgba(10,20,40,.55)), url('/assets/banner1.webp') center/cover; color:#fff; padding:64px 0; }
.pagehead h1 { font-size:clamp(24px,3vw,38px); text-transform:uppercase; letter-spacing:.05em; }
.crumbs { font-size:13px; color:var(--gray); padding:14px 0; border-bottom:1px solid var(--line); }
.crumbs a:hover { color:var(--blue); }
.content { padding:44px 0 64px; }
.content h2 { font-size:22px; margin:32px 0 14px; }
.content h3 { font-size:17px; margin:24px 0 10px; }
.content p, .content li { color:#333a47; margin-bottom:12px; font-size:15px; }
.content ul { padding-left:22px; }

/* Каталог */
.pgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:8px; }
.catgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.catgrid .cat { height:280px; }
.layout2 { display:grid; grid-template-columns:260px 1fr; gap:36px; padding:44px 0 64px; }
.side h3 { font-size:15px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; }
.side a { display:block; padding:9px 12px; border-left:3px solid transparent; font-size:14px; color:#3d4452; }
.side a:hover, .side a.on { border-color:var(--red); color:var(--blue); background:var(--bg); }

/* Карточка товара */
.ptop { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-bottom:36px; }
.ptop .pic { border:1px solid var(--line); padding:20px; background:#fff; }
.ptop .pic img { width:100%; height:380px; object-fit:contain; }
.ptop h1 { font-size:26px; margin-bottom:6px; }
.ptop .model { color:var(--blue); font-weight:700; font-size:16px; margin-bottom:16px; }
.ptop p { color:#3d4452; margin-bottom:12px; }
.spec { width:100%; border-collapse:collapse; margin:14px 0 8px; font-size:13.5px; }
.spec th, .spec td { border:1px solid var(--line); padding:9px 12px; text-align:left; vertical-align:top; }
.spec tr:nth-child(odd) td { background:var(--bg); }
.spec th { background:var(--blue); color:#fff; font-weight:600; }
.tbl-scroll { overflow-x:auto; }
.adv b { color:var(--ink); }
.faq dt { font-weight:700; margin-top:14px; }
.faq dd { margin:6px 0 0 0; color:#3d4452; }
.related { margin-top:44px; }
.related h2 { text-align:center; text-transform:uppercase; font-size:22px; margin-bottom:24px; }

/* Пресса список */
.newsgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.article { max-width:860px; margin:0 auto; }
.article h1 { font-size:clamp(22px,2.6vw,32px); margin-bottom:8px; }
.article time { color:var(--gray); font-size:13px; }
.article .body { margin-top:24px; }

/* Контакты */
.contact2 { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.cbox { background:var(--bg); padding:28px; }
.cbox h3 { text-transform:uppercase; font-size:14px; letter-spacing:.08em; color:var(--blue); margin-bottom:8px; }
.cbox p { margin-bottom:4px; }
.reqs dl { display:grid; grid-template-columns:170px 1fr; row-gap:10px; }
.reqs dt { color:var(--gray); }
.reqs dd { font-weight:600; }

/* История */
.tl { border-left:3px solid var(--blue); margin:20px 0 0 8px; padding-left:26px; }
.tl > div { margin-bottom:26px; position:relative; }
.tl > div::before { content:''; position:absolute; left:-35px; top:6px; width:13px; height:13px; border-radius:50%; background:var(--red); }
.tl b { font-size:18px; color:var(--blue); display:block; margin-bottom:6px; }

/* Парки */
.parks { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.park { border:1px solid var(--line); padding:24px; }
.park i { font-style:normal; font-size:26px; font-weight:800; color:var(--blue); display:block; margin-bottom:8px; }
.park b { display:block; margin-bottom:8px; font-size:16px; }
.park p { font-size:13.5px; color:#3d4452; }

@media (max-width:1080px) {
  .grid4, .pgrid { grid-template-columns:repeat(2,1fr); }
  .feat4 { grid-template-columns:repeat(2,1fr); }
  .layout2 { grid-template-columns:1fr; }
  .side { display:flex; flex-wrap:wrap; gap:6px; }
}
@media (max-width:800px) {
  nav.main { display:none; position:absolute; top:72px; left:0; right:0; background:#fff; flex-direction:column; align-items:stretch; box-shadow:0 20px 30px rgba(0,0,0,.15); }
  nav.main.open { display:flex; }
  nav.main a.top { padding:14px 20px; }
  .dd { position:static; display:block; box-shadow:none; padding:0 0 8px; }
  .dd-sub { display:block; position:static; box-shadow:none; padding:0 0 0 16px; }
  .dd .grp > a i { display:none; }
  .burger { display:block; }
  .search { display:none; }
  .topbar .wrap { height:auto; flex-wrap:wrap; padding-top:5px; padding-bottom:5px; row-gap:2px; }
  .tb-right { flex-wrap:wrap; gap:10px; }
  .slide img { height:340px; }
  .cats { flex-wrap:wrap; }
  .cats .cat { flex:1 1 46%; height:260px; }
  .cats .cat:hover { flex:1 1 46%; }
  .apps { flex-wrap:wrap; height:auto; }
  .app { flex:1 1 46%; height:220px; }
  .app:hover { height:220px; }
  .quotes, .news3, .newsgrid, .catgrid, .contact2, .parks, .ptop { grid-template-columns:1fr; }
  .inquiry form { grid-template-columns:1fr; }
  .inquiry textarea, .inquiry .send { grid-column:1; }
  footer.site .cols { grid-template-columns:1fr; gap:24px; }
}
@media (max-width:560px) {
  .tb-right span { display:none; }
  .grid4, .pgrid { gap:12px; }
  .pcard .pimg { padding:16px 12px 4px; }
  .pcard img { height:135px; }
  .pcard b { font-size:13px; padding:4px 8px 22px; }
  .cats .cat, .app { flex:1 1 100%; }
  .cat { height:230px; }
  .stats .wrap { grid-template-columns:repeat(2,1fr); gap:12px; padding:26px 20px; }
  .stat b { font-size:26px; }
  .reqs dl { grid-template-columns:120px 1fr; }
  section { padding:44px 0; }
}
