/* ═══════════════════════════════════════════════════════════════ */
/* КОРПОРАТИВНАЯ ЛИГА — ФИРМЕННЫЙ СТИЛЬ                           */
/* ═══════════════════════════════════════════════════════════════ */

:root{
  --blue:#244082;
  --white:#FEFEFE;
  --dark:#084876;
  --mid:#0971B7;
  --light:#73B5E0;
  --mint:#00CFA2;
  --black:#000000;
  --gray:#727271;
  --lgray:#D9DADA;
  --bg:#F2F5FA;
  --H:'Montserrat','Arial',sans-serif;
  --B:'Open Sans','Arial',sans-serif;
  --r:3px;
  --hdr:68px;
}

*{margin:0;padding:0;box-sizing:border-box;max-width:100%;}
html{scroll-behavior:smooth;}
body{font-family:var(--B);color:var(--black);background:var(--white);overflow-x:hidden;width:100%;}
a{text-decoration:none;color:inherit;}
button,select{cursor:pointer;font-family:var(--H);}
ul{list-style:none;}
input,textarea,select{outline:none;}
img{max-width:100%;height:auto;display:block;}

/* ══ LAYOUT ══ */
.w{max-width:1320px;margin:0 auto;padding:0 48px;}
.sec{padding:80px 0;}
.sec-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:16px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}

/* ══ ТИПОГРАФИКА ══ */
.lbl{
  font-family:var(--H);font-weight:600;font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mint);display:flex;align-items:center;gap:10px;margin-bottom:10px;
}
.lbl::before{content:'';display:block;width:28px;height:2px;background:var(--mint);}
.h2{font-family:var(--H);font-weight:800;font-size:clamp(20px,2.8vw,38px);line-height:1.1;color:var(--blue);text-transform:uppercase;letter-spacing:-.01em;}
.h2.wh{color:var(--white);}
.h3{font-family:var(--H);font-weight:700;font-size:clamp(15px,1.8vw,22px);color:var(--blue);text-transform:uppercase;line-height:1.2;}

/* ══ КНОПКИ ══ */
.btn{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--H);font-weight:700;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);
  padding:11px 22px;transition:all .2s;border:none;cursor:pointer;
}
.btn-blue{background:var(--blue);color:var(--white);}
.btn-blue:hover{background:var(--dark);}
.btn-mint{background:var(--mint);color:var(--white);}
.btn-mint:hover{background:#00b88f;}
.btn-ghost{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.4);}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08);}
.btn-out{background:transparent;color:var(--blue);border:1.5px solid var(--blue);}
.btn-out:hover{background:var(--blue);color:var(--white);}
.btn-white{background:var(--white);color:var(--blue);}
.btn-white:hover{background:var(--mint);color:var(--white);}
.btn-sm{padding:8px 16px;font-size:10px;}
.more-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--H);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);transition:all .2s;cursor:pointer;}
.more-link:hover{color:var(--mint);}
.more-link-white{display:inline-flex;align-items:center;gap:7px;font-family:var(--H);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--white);transition:all .2s;cursor:pointer;opacity:.8;}
.more-link-white:hover{opacity:1;color:var(--mint);}

/* ══ БЕЙДЖИ ══ */
.badge{display:inline-block;font-family:var(--H);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:1px;}
.b-mint{background:var(--mint);color:var(--white);}
.b-mid{background:var(--mid);color:var(--white);}
.b-gray{background:var(--gray);color:var(--white);}
.b-blue{background:var(--blue);color:var(--white);}
.b-orange{background:#F4820A;color:var(--white);}

/* ══ ФИЛЬТРЫ ══ */
.flt{font-family:var(--H);font-weight:600;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:var(--r);border:1.5px solid var(--lgray);background:var(--white);color:var(--gray);transition:all .2s;}
.flt.on{background:var(--blue);border-color:var(--blue);color:var(--white);}
.flt:hover:not(.on){border-color:var(--blue);color:var(--blue);}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;}

/* ══ НЕБОСКРЁБЫ ══ */
.sky-svg{position:absolute;bottom:0;left:0;right:0;height:55%;opacity:.07;pointer-events:none;}
.skyfill{fill:var(--white);}

/* ══ PAGE HERO ══ */
.ph{position:relative;padding:68px 0 60px;min-height:250px;display:flex;align-items:flex-end;overflow:hidden;}
.ph-bg{position:absolute;inset:0;background:linear-gradient(130deg,var(--dark) 0%,var(--blue) 55%,var(--mid) 100%);}
.ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(115,181,224,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(115,181,224,.05) 1px,transparent 1px);background-size:52px 52px;}
.ph-body{position:relative;z-index:2;width:100%;}
.crumb{display:flex;align-items:center;gap:8px;font-family:var(--H);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(254,254,254,.5);margin-bottom:14px;flex-wrap:wrap;}
.crumb a{color:rgba(254,254,254,.5);transition:color .2s;}
.crumb a:hover{color:var(--white);}
.crumb i{opacity:.35;font-style:normal;}
.ph-title{font-family:var(--H);font-weight:800;font-size:clamp(22px,3.8vw,48px);text-transform:uppercase;color:var(--white);line-height:1.07;margin-bottom:10px;letter-spacing:-.01em;}
.ph-sub{font-family:var(--B);font-size:14px;color:rgba(254,254,254,.62);max-width:560px;line-height:1.6;}

/* ══ КАРТОЧКИ ══ */
.card{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:0 2px 18px rgba(36,64,130,.07);transition:transform .3s,box-shadow .3s;cursor:pointer;}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(36,64,130,.14);}

/* ══ ГОРИЗОНТАЛЬНАЯ ПРОКРУТКА ══ */
.scroll-x{display:flex;gap:20px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--light) transparent;-webkit-overflow-scrolling:touch;}
.scroll-x::-webkit-scrollbar{height:3px;}
.scroll-x::-webkit-scrollbar-thumb{background:var(--light);border-radius:2px;}
.snap-start{scroll-snap-align:start;}
.s-btn{width:34px;height:34px;border-radius:var(--r);border:1.5px solid var(--lgray);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--blue);transition:all .2s;cursor:pointer;font-size:14px;}
.s-btn:hover{border-color:var(--blue);background:var(--blue);color:var(--white);}

/* ══ ФОРМА ══ */
.fwrap{display:flex;flex-direction:column;gap:10px;}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fi{width:100%;padding:12px 15px;border-radius:var(--r);font-family:var(--B);font-size:13px;transition:border-color .2s;}
.fi-d{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:var(--white);}
.fi-d::placeholder{color:rgba(254,254,254,.38);}
.fi-d:focus{border-color:var(--mint);}
.fi-l{background:var(--white);border:1.5px solid var(--lgray);color:var(--black);}
.fi-l::placeholder{color:var(--gray);}
.fi-l:focus{border-color:var(--blue);}
.f-lbl{font-family:var(--H);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-bottom:5px;display:block;}

/* ══ SELECT ══ */
.sec-dark select.fi-d{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:var(--white);cursor:pointer;}
.sec-dark select.fi-d option{background:var(--blue);color:var(--white);}
.sec-dark select.fi-d:focus{border-color:var(--mint);outline:none;}
select.fi-l{background:var(--white);border:1.5px solid var(--lgray);color:var(--blue);cursor:pointer;}
select.fi-l option{background:var(--white);color:var(--blue);}
select.fi-l:focus{border-color:var(--blue);outline:none;}

/* ══ АККОРДЕОН ══ */
.acc-item{border-bottom:1px solid var(--lgray);}
.acc-hd{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer;font-family:var(--H);font-weight:700;font-size:14px;color:var(--blue);background:none;border:none;width:100%;text-align:left;transition:color .2s;}
.acc-hd:hover{color:var(--mid);}
.acc-ico{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--lgray);display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s;flex-shrink:0;}
.acc-body{display:none;padding:0 0 16px;font-family:var(--B);font-size:14px;color:var(--gray);line-height:1.65;}
.acc-item.open .acc-body{display:block;}
.acc-item.open .acc-ico{background:var(--blue);border-color:var(--blue);color:var(--white);}

/* ══ ВКЛАДКИ ══ */
.tab-bar{display:flex;border-bottom:2px solid var(--lgray);margin-bottom:28px;overflow-x:auto;}
.tab-btn{padding:11px 18px;font-family:var(--H);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:none;background:none;color:var(--gray);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;white-space:nowrap;}
.tab-btn.on{color:var(--blue);border-bottom-color:var(--blue);}
.tab-btn:hover:not(.on){color:var(--mid);}
.tab-pane{display:none;}
.tab-pane.on{display:block;}

/* ══ СОБЫТИЕ-СТРОКА ══ */
.evt-row{display:grid;grid-template-columns:82px 1fr auto;gap:16px;align-items:center;padding:14px 18px;background:var(--white);border-bottom:1px solid var(--lgray);transition:all .2s;cursor:pointer;}
.evt-row:first-child{border-top:1px solid var(--lgray);}
.evt-row:hover{background:#f0f4ff;border-left:3px solid var(--mint);padding-left:15px;}
.evt-d{font-family:var(--H);font-weight:800;font-size:28px;color:var(--blue);line-height:1;text-align:center;}
.evt-m{font-family:var(--H);font-weight:500;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-align:center;}
.evt-sport{font-family:var(--H);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:2px;}
.evt-name{font-family:var(--H);font-weight:700;font-size:13px;color:var(--blue);margin-bottom:2px;}
.evt-meta{display:flex;gap:12px;font-family:var(--B);font-size:11px;color:var(--gray);flex-wrap:wrap;}

/* ══ ТЁМНАЯ СЕКЦИЯ ══ */
.sec-dark{position:relative;overflow:hidden;padding:80px 0;}
.sec-dark-bg{position:absolute;inset:0;background:linear-gradient(130deg,var(--dark),var(--blue) 60%,var(--mid));}

/* ══ НАВИГАЦИЯ ══ */
#page-nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:900;
  background:linear-gradient(130deg,var(--dark) 0%,var(--blue) 55%,var(--mid) 100%);
  border-bottom:2px solid var(--mint);
  overflow:visible;
}
body{
  padding-top:var(--hdr);
}

.pn-inner{
  display:flex;align-items:center;
  justify-content:space-between;
  padding:0 48px;height:var(--hdr);gap:8px;
  overflow:visible;
}
.pn-logo{display:flex;align-items:center;flex-shrink:0;height:var(--hdr);}
.pn-logo img{height:36px;width:auto;}
.logo-ph{
  width:90px;height:36px;
  border:1.5px dashed rgba(255,255,255,.35);border-radius:var(--r);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--H);font-size:8px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.4);
}
.pn-divider{width:1px;height:32px;background:rgba(255,255,255,.15);flex-shrink:0;margin:0 4px;}
.pn-menu{display:flex;align-items:center;justify-content:center;gap:2px;flex:1;overflow:hidden;}
.pn-btn{
  padding:8px 10px;
  font-family:var(--H);font-weight:700;font-size:10px;
  letter-spacing:.06em;text-transform:uppercase;
  color:rgba(254,254,254,.7);border:none;background:transparent;
  transition:all .2s;cursor:pointer;border-radius:var(--r);
  white-space:nowrap;display:inline-flex;align-items:center;
  height:var(--hdr);border-bottom:2px solid transparent;flex-shrink:0;
}
.pn-btn:hover,.pn-btn.on{color:var(--white);background:rgba(255,255,255,.08);}
.pn-btn.on{border-bottom-color:var(--mint);}
.pn-actions{
  display:flex;align-items:center;
  gap:6px;flex-shrink:0;position:relative;
}
.soc-ico{
  width:30px;height:30px;
  border:1px solid rgba(255,255,255,.2);border-radius:var(--r);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;color:rgba(254,254,254,.6);
  transition:all .2s;cursor:pointer;flex-shrink:0;
}
.soc-ico:hover{border-color:var(--mint);color:var(--mint);}
.soc-ico img{width:16px;height:16px;pointer-events:none;display:block;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;flex-shrink:0;}
.hamburger span{width:22px;height:2px;background:var(--white);border-radius:1px;display:block;}

/* ════════════════════════════════════════════════════════════════
   МОБИЛЬНОЕ МЕНЮ
   ════════════════════════════════════════════════════════════════ */
.mob-menu{
  display:none;
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background:linear-gradient(130deg,var(--dark) 0%,var(--blue) 55%,var(--mid) 100%);
  z-index:99999;
  flex-direction:column;
  padding:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  /* гарантируем поверх всего */
  isolation:isolate;
}
.mob-menu.open{display:flex;}
.mob-menu > div{padding:20px 24px;}
.mob-menu a{
  display:block;
  padding:14px 24px;
  font-family:var(--H);font-weight:700;font-size:16px;
  text-transform:uppercase;letter-spacing:.04em;
  color:rgba(255,255,255,.85);
  border-bottom:1px solid rgba(255,255,255,.07);
  text-decoration:none;
  transition:background .15s, color .15s;
}
.mob-menu a:hover{background:rgba(255,255,255,.08);color:var(--white);}
.mob-menu > div > div[style]{margin-top:0 !important;padding:16px 24px;}


.mob-close{
  font-family:var(--H);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(254,254,254,.45);
  padding:14px 20px;cursor:pointer;
  border-top:1px solid rgba(255,255,255,.06);
}

/* ══ ЛИЧНЫЙ КАБИНЕТ ══ */
.lk-sidebar{width:260px;flex-shrink:0;}
.lk-menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;font-family:var(--H);font-weight:600;font-size:12px;letter-spacing:.05em;color:var(--gray);border-radius:var(--r);transition:all .2s;cursor:pointer;border-left:2px solid transparent;text-decoration:none;}
.lk-menu-item:hover,.lk-menu-item.on{background:rgba(36,64,130,.06);color:var(--blue);border-left-color:var(--mint);}
.lk-menu-item.on{font-weight:700;}
.zayvka-card{background:var(--white);border:1.5px solid var(--lgray);border-radius:var(--r);padding:20px;margin-bottom:12px;transition:border-color .2s;}
.zayvka-card:hover{border-color:var(--light);}
.progress-bar{height:6px;background:var(--lgray);border-radius:3px;overflow:hidden;margin-top:8px;}
.progress-fill{height:100%;border-radius:3px;background:var(--mint);transition:width .5s;}

/* ══ ГАЛЕРЕЯ ══ */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;}
.gallery-item{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:var(--blue);}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-overlay{position:absolute;inset:0;background:rgba(36,64,130,.65);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.gallery-item.wide{grid-column:span 2;}
.gallery-item.tall{grid-row:span 2;}

/* ══ ОТЗЫВЫ ══ */
.review-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:28px;position:relative;}
.review-card::before{content:'"';position:absolute;top:12px;left:20px;font-size:60px;font-family:Georgia;color:var(--mint);opacity:.3;line-height:1;}

/* ══ ЧАТ-БОТ ══ */

/* ══ ПОИСК ══ */
.search-bar{display:flex;background:var(--white);border:1.5px solid var(--lgray);border-radius:var(--r);overflow:hidden;transition:border-color .2s;}
.search-bar:focus-within{border-color:var(--blue);}
.search-bar input{flex:1;padding:12px 16px;border:none;font-family:var(--B);font-size:14px;color:var(--black);min-width:0;background:transparent;}
.search-bar input:focus{outline:none;}
.search-bar button{padding:12px 20px;background:var(--blue);border:none;color:var(--white);font-family:var(--H);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap;}
.search-bar button:hover{background:var(--dark);}

/* ══ КАРТА ══ */
.map-ph{height:320px;background:linear-gradient(135deg,var(--dark),var(--mid));border-radius:var(--r);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.map-ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(115,181,224,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(115,181,224,.1) 1px,transparent 1px);background-size:40px 40px;}
.map-pin{position:absolute;width:12px;height:12px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 4px rgba(0,207,162,.3);}

/* ══ ФУТЕР ══ */
footer{background:linear-gradient(130deg,var(--dark) 0%,var(--blue) 55%,var(--mid) 100%);padding:52px 0 28px;position:relative;overflow:hidden;}
footer .w{position:relative;z-index:2;}
.ftr-top{display:grid;grid-template-columns:220px 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.ftr-brand p{font-family:var(--B);font-size:12px;line-height:1.6;color:rgba(254,254,254,.7);margin-bottom:16px;}
.ftr-socs{display:flex;gap:8px;}
.ftr-s{width:32px;height:32px;border:1px solid rgba(255,255,255,.15);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:rgba(254,254,254,.5);transition:all .2s;cursor:pointer;}
.ftr-s:hover{border-color:var(--mint);color:var(--mint);}
.ftr-col h5{font-family:var(--B);font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(254,254,254,.7);margin-bottom:14px;}
.ftr-links li{margin-bottom:8px;font-family:var(--B);font-size:12px;color:rgba(254,254,254,.7);cursor:pointer;transition:color .2s;}
.ftr-links li:hover{color:var(--white);}
.ftr-bot{border-top:1px solid rgba(255,255,255,.07);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.ftr-copy{font-family:var(--B);font-size:11px;color:rgba(254,254,254,.22);}
.ftr-tm{font-family:var(--B);font-size:10px;color:rgba(254,254,254,.16);max-width:480px;text-align:right;line-height:1.4;}

/* ══ ЗВЁЗДЫ ══ */
.star{position:absolute;background:var(--white);border-radius:50%;pointer-events:none;animation:twinkle 3s ease-in-out infinite;}
@keyframes twinkle{0%,100%{opacity:.1;transform:scale(1);}50%{opacity:.7;transform:scale(1.2);}}
#hero-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;}
#footer-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}

/* ══ АНИМАЦИИ ══ */
.fade-up-section{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.2,.9,.4,1.1),transform .7s cubic-bezier(.2,.9,.4,1.1);}
.fade-up-section.visible{opacity:1;transform:translateY(0);}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.a1{animation:fadeUp .5s .1s both}
.a2{animation:fadeUp .5s .25s both}
.a3{animation:fadeUp .5s .4s both}
.a4{animation:fadeUp .5s .55s both}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.blink{animation:pulse 2s ease-in-out infinite;}

/* ══ ВИДЕОПЛЕЕР ══ */
.vp-wrap{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.15);background:#000;}
#hero-video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;}
#video-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(8,40,80,.5);cursor:pointer;transition:background .25s;}
#video-overlay:hover{background:rgba(8,40,80,.38);}
#video-overlay:hover #play-btn{transform:scale(1.08);box-shadow:0 0 0 14px rgba(115,181,224,.18),0 6px 20px rgba(0,0,0,.4);}
#play-btn{width:72px;height:72px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px rgba(115,181,224,.14),0 6px 20px rgba(0,0,0,.35);transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;}
.vp-play-label{margin-top:12px;font-family:var(--H);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);}
#video-controls{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:10px 14px 12px;background:linear-gradient(to top,rgba(8,30,60,.9) 0%,transparent 100%);display:none;flex-direction:column;gap:8px;}
#progress-track{width:100%;height:3px;background:rgba(255,255,255,.2);border-radius:2px;cursor:pointer;position:relative;transition:height .12s;}
#progress-track:hover{height:5px;}
#progress-fill{height:100%;width:0%;background:var(--light);border-radius:2px;transition:width .1s linear;pointer-events:none;}
.vp-ctrl-row{display:flex;align-items:center;gap:10px;}
.vp-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;opacity:.7;transition:opacity .2s;}
.vp-btn:hover{opacity:1;}
#video-time{font-family:var(--H);font-size:10px;font-weight:600;color:rgba(255,255,255,.6);min-width:80px;}

/* ══ HERO СТАТИСТИКА ══ */
.hero-stats-abs{position:absolute;bottom:32px;right:48px;z-index:2;display:flex;gap:44px;}
.hero-stat{transition:transform .3s ease;}
.hero-stat:hover{transform:translateY(-5px);}
.hero-stat-number{font-family:var(--H);font-weight:800;font-size:42px;color:var(--white);line-height:1;}
.hero-stat-label{font-family:var(--H);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(254,254,254,.48);margin-top:4px;}

/* ══ УТИЛИТЫ ══ */
.bg-white{background:var(--white);}
.bg-bg{background:var(--bg);}
.ta-c{text-align:center;}
.mt8{margin-top:8px;}.mt16{margin-top:16px;}.mt24{margin-top:24px;}.mt32{margin-top:32px;}.mt48{margin-top:48px;}.mt64{margin-top:64px;}.mb24{margin-bottom:24px;}
.gap8{gap:8px;}.df{display:flex;align-items:center;}


/* ═══════════════════════════════════════════════════════════════ */
/*  АДАПТИВ                                                        */
/* ═══════════════════════════════════════════════════════════════ */

/* ── 1800px+ ── */
@media(min-width:1800px){
  .w{max-width:1600px;padding:0 80px;}
  .sec{padding:100px 0;}
  .pn-inner{padding:0 80px;}
  .h2{font-size:44px;}
}

/* ── 1400px ── */
@media(max-width:1400px){
  .w{padding:0 40px;}
  .pn-inner{padding:0 40px;}
  .pn-btn{padding:8px 10px;font-size:9px;}
}

/* ── 1200px ── */
@media(max-width:1200px){
  .w{padding:0 32px;}
  .pn-inner{padding:0 32px;}
  .ftr-top{grid-template-columns:180px 1fr 1fr 1fr;gap:28px;}
  .grid2{gap:40px;}
  .pn-btn{padding:6px 8px;font-size:9px;letter-spacing:.04em;}
  .pn-actions .btn-ghost{display:none;}
}

/* ── 1024px ── */
@media(max-width:1024px){
  .w{padding:0 24px;}
  .pn-inner{padding:0 20px;}
  .sec{padding:60px 0;}
  .sec-dark{padding:60px 0;}
  .grid2{gap:32px;}
  .grid3{grid-template-columns:repeat(2,1fr);}
  .grid4{grid-template-columns:repeat(2,1fr);}
  .ftr-top{grid-template-columns:1fr 1fr;gap:32px;}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .ph{padding:60px 0 48px;}
  /* Скрываем часть навигации — остаётся только через dropdown */
  .pn-menu .pn-btn:nth-child(n+6){display:none;}
  /* Hero статистика выходит из absolute */
  .hero-stats-abs{
    position:static;
    margin-top:24px;gap:24px;
    justify-content:flex-start;
  }
  .hero-stat{text-align:left;}
  .hero-stat-number{font-size:34px;}
}

/* ── 900px — переход на мобильную навигацию ── */
@media(max-width:900px){
  :root{--hdr:56px;}
  .w{padding:0 20px;}
 .pn-inner{padding:0 16px;height:56px;overflow:visible;}
  .pn-dd{display:none;}
  .sec{padding:48px 0;}
  .sec-dark{padding:48px 0;}

  /* Шапка */
  .pn-logo img{height:28px;}
  .pn-logo{height:56px;}
  .pn-divider{display:none;}
  .pn-menu{display:none;} /* убираем основное меню */
  .pn-actions .btn-ghost,
  .pn-actions .btn-mint,
  .pn-actions .btn-blue,
  .pn-actions .btn-white{display:none;}
  /* оставляем только соц иконки + бургер */
  .soc-ico{width:28px;height:28px;}
  .hamburger{display:flex;}
  /* dropdown в мобайле тоже скрываем — всё через бургер */
  .pn-dropdown{display:none;}

  /* Сетки */
  .grid2,.grid3,.grid4{grid-template-columns:1fr;}
  .grid3{gap:12px;}

  /* Footer */
  .ftr-top{grid-template-columns:1fr 1fr !important;gap:24px;}

  /* LK */
  .lk-sidebar{width:100%;}

  /* Галерея */
  .gallery-grid{grid-template-columns:repeat(2,1fr) !important;gap:4px !important;}
  .gallery-item.wide,.gallery-item.tall{grid-column:span 1;grid-row:span 1;}

  /* Событие-строка */
  .evt-row{grid-template-columns:56px 1fr !important;gap:10px;padding:12px 14px;}
  .evt-row:hover{transform:none;}
  .evt-row > div:nth-child(3){grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;}
  .evt-d{font-size:22px;}

  /* Hero */
  .hero-grid-tv{grid-template-columns:1fr !important;gap:24px !important;}
  .hero-stats-abs{
    position:static !important;
    margin-top:20px;gap:20px;flex-wrap:wrap;
    justify-content:flex-start;
  }
  .hero-stat{text-align:left;}
  .hero-stat-number{font-size:26px !important;}
  .hero-stat-label{font-size:9px !important;}

  /* Услуги */
  #srv-grid-main,#srv-grid-full,#services-grid{grid-template-columns:1fr !important;gap:1px !important;}

/* Спонсорские пакеты */
#sponsor-packages { grid-template-columns: 1fr 1fr !important; }
#sponsor-packages > div { padding: 20px 14px !important; }

  /* Мерч */
  #merch-grid{grid-template-columns:1fr 1fr !important;}

  .card:hover{transform:none;}
}

/* ── 768px ── */
@media(max-width:768px){
  .w{padding:0 16px;}
  .sec{padding:40px 0;}
  .sec-dark{padding:40px 0;}
  .sec-hd{flex-direction:column;align-items:flex-start;gap:12px;}
  .grid2{gap:24px;}
  .ph{padding:80px 0 36px;min-height:200px;}
  .ph-title{font-size:clamp(20px,5vw,34px);}
  .ftr-top{grid-template-columns:1fr !important;gap:20px !important;}
  .fr2{grid-template-columns:1fr !important;}
  .acc-hd{font-size:13px;}
  .tab-btn{font-size:10px;padding:9px 12px;}
  .map-ph{height:220px;}
  #play-btn{width:58px;height:58px;}
  /* LK */
  .lk-sidebar{width:100% !important;}
  /* Таймлайн */
  .tl-wrap::before{left:16px !important;transform:none !important;}
  .tl-item{justify-content:flex-start !important;}
  .tl-item.left .tl-card,.tl-item.right .tl-card{width:calc(100% - 44px) !important;margin-left:44px !important;margin-right:0 !important;text-align:left !important;}
}

/* ── 600px ── */
@media(max-width:600px){
  .w{padding:0 14px;}
  .sec{padding:28px 0 !important;}
  .sec-dark{padding:28px 0 !important;}
  .sec-hd{margin-bottom:18px !important;}
  .h2{font-size:clamp(18px,5vw,26px);}
  .ph{padding:70px 0 24px !important;}
  .ph-sub{font-size:13px;}

  /* Hero кнопки — в столбик */
  .a4 > div[style*="gap:14px"]{flex-direction:column !important;align-items:stretch !important;}
  .a4 > div[style*="gap:14px"] .btn{width:100% !important;justify-content:center !important;}

  /* Поиск */
  .search-bar{flex-direction:column !important;}
  .search-bar input{border-radius:var(--r) var(--r) 0 0 !important;}
  .search-bar button{border-radius:0 0 var(--r) var(--r) !important;justify-content:center;}

  /* Hero статистика */
  .hero-stats-abs{gap:14px !important;}
  .hero-stat-number{font-size:20px !important;}
  .hero-stat-label{font-size:8px !important;}

  /* Видеоплеер */
  #play-btn{width:50px;height:50px;}
  .vp-play-label{font-size:8px;margin-top:8px;}
  #video-controls{padding:8px 10px 10px;}
  #video-time{font-size:9px;min-width:70px;}

  /* Событие-строка */
  .evt-row{padding:10px 12px;}
  .evt-d{font-size:18px;}
  .evt-name{font-size:12px;line-height:1.3;}
  .evt-row .badge{font-size:8px;padding:3px 6px;}
  .evt-row .btn-sm{font-size:8px;padding:5px 9px;}

  /* Слайдер */
  .scroll-x{gap:12px;}
  .snap-start{flex:0 0 85vw !important;}

  /* Форма */
  .fwrap{gap:8px !important;}
  .fi{padding:12px 13px !important;font-size:14px !important;}
  .fwrap .btn{width:100% !important;justify-content:center !important;}

  /* Кнопки */
  .btn{padding:10px 16px;font-size:10px;}
  .btn-sm{padding:7px 12px;font-size:9px;}

  /* Footer */
  .ftr-bot{flex-direction:column !important;text-align:center !important;gap:8px !important;}
  .ftr-tm{text-align:center !important;max-width:100% !important;}
  footer{padding:28px 0 18px !important;}

  /* Мерч */
  #merch-grid{grid-template-columns:1fr 1fr !important;}

  /* Партнёры логотипы */
  #partners-logos,#partners-logos-full{flex-direction:column !important;}
  #partners-logos > div,#partners-logos-full > div{
    border-right:none !important;
    border-bottom:1px solid var(--lgray) !important;
    padding:14px !important;
    min-width:auto !important;width:100% !important;
  }

  /* Чатбот */

  /* О компании цифры */
  [style*="font-size:44px"]{font-size:32px !important;}
  .grid3 > div{padding:20px 16px !important;}
}

/* ── 400px ── */
@media(max-width:400px){
  .w{padding:0 12px;}
  .hero-stat-number{font-size:18px !important;}
  .hero-stats-abs{gap:10px !important;}
  .btn{padding:9px 12px;}
  #play-btn{width:44px;height:44px;}
  .snap-start{flex:0 0 90vw !important;}
  #merch-grid{grid-template-columns:1fr !important;}
  [style*="font-size:44px"]{font-size:26px !important;}
    .mob-menu-links a{font-size:14px;padding:12px 20px;}
}

/* ══ DROPDOWN — три тире в шапке ══ */
.pn-dd{position:relative;display:inline-flex;align-items:center;}

/* кнопка — три горизонтальные черты (белый бургер) */
.pn-dd-btn{
  width:38px;height:38px;
  background:transparent;
  border:none;
  border-radius:var(--r);
  cursor:pointer;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;
  transition:background .2s;
  flex-shrink:0;
  padding:0;
}
.pn-dd-btn span{
  display:block;
  width:20px;height:2px;
  background:var(--white);
  border-radius:1px;
}
.pn-dd-btn:hover,
.pn-dd-btn.active{
  background:rgba(255,255,255,.1);
}

/* боковая панель — выезжает справа */
.pn-dd-menu{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  width:280px;
  background:linear-gradient(180deg,var(--dark) 0%,var(--blue) 100%);
  border-left:1px solid rgba(255,255,255,.12);
  box-shadow:-8px 0 40px rgba(0,0,0,.5);
  overflow-y:auto;
  z-index:99998;
  /* закрыто — уезжает вправо */
  transform:translateX(100%);
  pointer-events:none;
  transition:transform .3s cubic-bezier(0.4,0,0.2,1);
}
.pn-dd-menu.open{
  transform:translateX(0);
  pointer-events:auto;
}

/* шапка боковой панели */
.pn-dd-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,.1);
  flex-shrink:0;
}
.pn-dd-title{
  font-family:var(--H);font-weight:700;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.pn-dd-close{
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.6);font-size:20px;
  line-height:1;padding:4px;transition:color .2s;
}
.pn-dd-close:hover{color:var(--white);}

/* пункты меню */
.pn-dd-item{
  display:flex;
  align-items:center;
  padding:15px 24px;
  font-family:var(--H);font-weight:700;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(254,254,254,.75);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .15s, color .15s, padding-left .15s;
  cursor:pointer;
}
.pn-dd-item:last-child{border-bottom:none;}
.pn-dd-item:hover{background:rgba(255,255,255,.08);color:var(--white);padding-left:30px;}
.pn-dd-item.on{color:var(--mint);border-left:3px solid var(--mint);padding-left:21px;}

.pn-dd-sep{height:1px;background:rgba(255,255,255,.1);margin:8px 0;}

/* оверлей за панелью */
.pn-dd-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.45);
  z-index:99997;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.pn-dd-overlay.open{opacity:1;pointer-events:auto;}

/* на мобилке dropdown скрыт — есть бургер */
@media(max-width:900px){
  .pn-dd{display:none;}
}

/* ── Touch — убираем нерабочие hover ── */
@media(hover:none){
  .card:hover{transform:none;box-shadow:0 2px 18px rgba(36,64,130,.07);}
  .evt-row:hover{background:var(--white);border-left:none;padding-left:18px;}
}


/* ═══════════════════════════════════════════════════════════════
   ПАТЧ МОБИЛЬНОЙ АДАПТАЦИИ — все страницы
   ═══════════════════════════════════════════════════════════════ */

/* ── Глобальный фикс overflow ── */
html, body { overflow-x: hidden; max-width: 100vw; }
* { min-width: 0; }

/* ════ CONTACTS — 3-колоночная сетка → 1 колонка ════ */
@media(max-width:768px){
  /* contacts.php: grid-template-columns:1fr 1fr 260px */
  .w > div[style*="grid-template-columns:1fr 1fr 260px"],
  .w > div[style*="1fr 1fr 260px"]{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  /* QR-блок центрируем */
  .qr-placeholder { margin: 0 auto; }
}

/* ════ ABOUT — команда 4→2 колонки ════ */
@media(max-width:600px){
  #team-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
  .team-card { padding: 18px 12px; }
  .team-ava  { width: 72px; height: 72px; font-size: 32px; }
}

/* ════ PARTNERS — спонсорские пакеты ════ */
@media(max-width:900px){
  /* 3 колонки → 1 */
  .w > div[style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns: 1fr !important;
  }
  .partner-card  { padding: 24px 18px; }
  .benefit-card  { padding: 20px 16px; }
  .case-card     { padding: 20px 16px; }
}
@media(max-width:600px){
  /* Case-banner внутри partners */
  .case-banner   { padding: 28px 20px; }
  .case-banner > div { flex-direction: column !important; gap: 18px; }
  /* Stat advantage grid */
  div[style*="grid-template-columns:repeat(3,1fr)"].stat{
    grid-template-columns: 1fr !important;
  }
}

/* ════ PARTICIPANTS — docs-list 3→2→1 ════ */
@media(max-width:900px){
  #docs-list{
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
}
@media(max-width:500px){
  #docs-list{
    grid-template-columns: 1fr !important;
  }
}

/* ════ MERCH — сетка товаров 4→2→1 ════ */
@media(max-width:900px){
  #merch-grid{ grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
}
@media(max-width:400px){
  #merch-grid{ grid-template-columns: 1fr !important; }
}

/* ════ ABOUT — таймлайн (всегда одна колонка на мобилке) ════ */
@media(max-width:768px){
  .tl-wrap::before{
    left: 16px !important;
    transform: none !important;
  }
  .tl-item{
    justify-content: flex-start !important;
    margin-bottom: 32px;
  }
  .tl-item.left  .tl-card,
  .tl-item.right .tl-card{
    width: calc(100% - 52px) !important;
    margin-left: 52px !important;
    margin-right: 0 !important;
    text-align: left !important;
    padding: 16px 18px !important;
  }
  .tl-item.left  .tl-node,
  .tl-item.right .tl-node{ left: 8px !important; right: auto !important; }
  .tl-item.left  .tl-branch,
  .tl-item.right .tl-branch{ left: -24px !important; right: auto !important; }
  .tl-year  { font-size: 24px !important; }
  .tl-title { font-size: 14px !important; }
}

/* ════ SERVICES — детальные секции (rtl→ltr на мобилке) ════ */
@media(max-width:768px){
  [style*="direction:rtl"]{
    direction: ltr !important;
  }
  /* Сетка тегов услуги 2→1 */
  [style*="grid-template-columns:1fr 1fr"][style*="gap:8px"]{
    grid-template-columns: 1fr !important;
  }
}

/* ════ PARTNERS — stat-advantage 3→1 ════ */
@media(max-width:768px){
  .stat-advantage { padding: 24px 18px !important; }
  div[style*="grid-template-columns:repeat(3,1fr)"][style*="gap:2px"]{
    grid-template-columns: 1fr !important;
    gap: 1px !important;
  }
}

/* ════ LK — sidebar + content ════ */
@media(max-width:768px){
  div[style*="display:flex;gap:32px"][style*="align-items:flex-start"]{
    flex-direction: column !important;
  }
  .lk-sidebar{ width: 100% !important; }
  /* LK форма регистрации */
  .fr2 { grid-template-columns: 1fr !important; gap: 8px !important; }
}

/* ════ FOOTER — фикс вылезания ════ */
@media(max-width:900px){
  .ftr-top{ grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
  footer   { overflow: hidden; }
}
@media(max-width:600px){
  .ftr-top { grid-template-columns: 1fr !important; gap: 20px !important; }
  .ftr-bot { flex-direction: column !important; text-align: center !important; gap: 8px; }
  .ftr-tm  { text-align: center !important; max-width: 100% !important; }
  footer   { padding: 32px 0 20px !important; }
  /* Footer ссылки — убираем лишний отступ */
  .ftr-links li { font-size: 12px; }
}

/* ════ HERO PAGE (.ph) ════ */
@media(max-width:600px){
  .ph { padding: 72px 0 24px !important; min-height: 180px; }
  .ph-title { font-size: clamp(18px,6vw,30px) !important; }
  .ph-sub   { font-size: 13px !important; }
  .crumb    { font-size: 9px; }
}

/* ════ CONTACTS — карточки отделов 3→1 ════ */
@media(max-width:768px){
  /* department cards */
  .w > div[style*="grid-template-columns:repeat(3,1fr)"][style*="gap:24px"]{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* ════ PROJECTS — special projects 3→2→1 ════ */
@media(max-width:768px){
  #special-projects{ grid-template-columns: 1fr 1fr !important; gap: 12px; }
}
@media(max-width:480px){
  #special-projects{ grid-template-columns: 1fr !important; }
}

/* ════ GALLERY — 4→2 ════ */
@media(max-width:768px){
  .gallery-grid { grid-template-columns: 1fr 1fr !important; gap: 4px !important; }
  [style*="grid-template-columns:repeat(4,1fr)"][style*="gap:8px"]{
    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;
  }
}

/* ════ EVENTS — строки событий ════ */
@media(max-width:600px){
  .evt-row,
  .event-row {
    grid-template-columns: 50px 1fr !important;
    gap: 8px;
    padding: 10px 12px;
  }
  .evt-row > div:nth-child(3),
  .event-row > div:nth-child(3){
    grid-column: 1 / -1;
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
  }
  .evt-d { font-size: 18px; }
  .evt-name { font-size: 12px; line-height: 1.3; }
}

/* ════ PORTFOLIO SLIDER — карточки ════ */
@media(max-width:600px){
  .pf-card { flex: 0 0 80vw !important; }
}

/* ════ REVIEW CARDS ════ */
@media(max-width:600px){
  .review-card { flex: 0 0 82vw !important; padding: 18px 16px; }
  .review-card p { font-size: 12px; }
}

/* ════ SPONSOR PACKAGES темная секция ════ */
@media(max-width:600px){
  #sponsor-packages { grid-template-columns: 1fr !important; }
  #sponsor-packages > div { padding: 20px 16px !important; }
}

/* ════ PARTNER LOGOS ════ */
@media(max-width:600px){
  #partners-logos,
  #partners-logos-full{
    flex-direction: column !important;
  }
  #partners-logos > div,
  #partners-logos-full > div,
  .partner-logo{
    border-right: none !important;
    border-bottom: 1px solid var(--lgray) !important;
    min-width: auto !important;
    width: 100% !important;
    padding: 14px !important;
  }
}

/* ════ FORM ════ */
@media(max-width:600px){
  .fwrap .btn { width: 100% !important; justify-content: center !important; }
  .fi { font-size: 16px !important; } /* iOS не зумит при font-size >= 16px */
  select.fi-d,
  select.fi-l { font-size: 16px !important; }
}


/* ════ STAT CARDS (about, index) ════ */
@media(max-width:600px){
  .stat-card { padding: 18px 14px; }
  .stat-number { font-size: 36px; }
  /* Inline style override для цифр */
  [style*="font-size:44px"]{ font-size: 30px !important; }
  [style*="font-size:48px"]{ font-size: 32px !important; }
}

/* ════ SCROLL-X кнопки ════ */
@media(max-width:600px){
  .s-btn, .s-btn-custom { width: 38px; height: 38px; font-size: 16px; }
}

/* ════ MAP ════ */
@media(max-width:600px){
  .map-ph { height: 200px !important; }
}

/* ════ iOS Safari фиксы ════ */
@supports (-webkit-touch-callout: none){
  /* Убираем tap-highlight */
  * { -webkit-tap-highlight-color: transparent; }
  /* Fix 100vh на iOS */
  .mob-menu { height: -webkit-fill-available; }
  /* Предотвращаем горизонтальный скролл */
  body { position: relative; }
}

/* ════ Общий предохранитель от горизонтального переполнения ════ */
section, footer, header, div {
  max-width: 100%;
}
img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}


/* ════ CONTACTS — contacts-grid ════ */
.contacts-grid{
  display:grid;
  grid-template-columns:1fr 1fr 260px;
  gap:48px;
  align-items:start;
}
@media(max-width:1024px){
  .contacts-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .contacts-grid > div:last-child{ grid-column:1/-1; display:flex; flex-direction:column; align-items:center; }
}
@media(max-width:768px){
  .contacts-grid{ grid-template-columns:1fr; gap:24px; }
  .contacts-grid > div:last-child{ grid-column:1; align-items:flex-start; }
}

/* ═══════════════════════════════════════════════════════════════
   КЛАССЫ ДЛЯ ЗАМЕНЫ INLINE-СТИЛЕЙ — адаптив PHP-страниц
   ═══════════════════════════════════════════════════════════════ */

/* 1. About — команда */
.team-grid-wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
@media(max-width:900px){ .team-grid-wrap{ grid-template-columns:1fr 1fr; gap:18px; } }
@media(max-width:480px){ .team-grid-wrap{ grid-template-columns:1fr 1fr; gap:12px; } }

/* 2. Partners — кейсы */
.partner-cases-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:40px; }
@media(max-width:900px){ .partner-cases-grid{ grid-template-columns:1fr 1fr; gap:16px; } }
@media(max-width:600px){ .partner-cases-grid{ grid-template-columns:1fr; gap:14px; } }

/* 3. Partners — преимущества */
.benefits-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px){ .benefits-grid{ grid-template-columns:1fr 1fr; gap:16px; } }
@media(max-width:480px){ .benefits-grid{ grid-template-columns:1fr; gap:12px; } }

/* 4. Services — сетка услуг */
.srv-grid-wrap{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
@media(max-width:900px){ .srv-grid-wrap{ grid-template-columns:1fr 1fr !important; } }
@media(max-width:600px){ .srv-grid-wrap{ grid-template-columns:1fr !important; } }

/* 5. Gallery JS-рендер */
.gallery-js-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
@media(max-width:900px){ .gallery-js-grid{ grid-template-columns:1fr 1fr !important; gap:4px !important; } }

/* 6. Hero кнопки */
.hero-btns{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:24px; }
@media(max-width:480px){
  .hero-btns{ flex-direction:column; }
  .hero-btns .btn{ width:100% !important; justify-content:center !important; }
}

/* 7. LK layout */
.lk-layout{ display:flex; gap:32px; align-items:flex-start; }
@media(max-width:768px){ .lk-layout{ flex-direction:column; } }


/* ════ КНОПКА "ВВЕРХ" ════ */
#scroll-top{
  position:fixed;
  bottom:24px;
  right:24px;
  width:48px;
  height:48px;
  background:var(--blue);
  border:none;
  border-radius:50%;
  box-shadow:0 4px 20px rgba(36,64,130,.35);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:600;
  opacity:0;
  transform:translateY(16px) scale(.9);
  transition:opacity .3s ease, transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .2s;
  pointer-events:none;
}
#scroll-top.show{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
#scroll-top:hover{
  background:var(--dark);
  box-shadow:0 8px 28px rgba(36,64,130,.45);
  transform:translateY(-3px) scale(1);
}
#scroll-top:active{
  transform:scale(.94);
}
#scroll-top svg{
  display:block;
  flex-shrink:0;
}
/* Мобилка — чуть меньше, левее чтобы не мешать */
@media(max-width:600px){
  #scroll-top{
    bottom:20px;
    right:16px;
    width:42px;
    height:42px;
  }
}
@media(max-width:400px){
  #scroll-top{
    bottom:16px;
    right:12px;
    width:38px;
    height:38px;
  }
}

/* ════ УЧАСТНИКАМ — детальная карточка события ════ */

/* Таббар — горизонтальный скролл на мобилке */
#evt-tabs,
.tab-bar{
  display:flex;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
  border-bottom:2px solid var(--lgray);
  margin-bottom:20px;
  gap:0;
}
#evt-tabs::-webkit-scrollbar,
.tab-bar::-webkit-scrollbar{ display:none; }

.tab-btn{
  flex-shrink:0; /* не сжимать — пусть скроллится */
  padding:11px 14px;
  font-size:10px;
  white-space:nowrap;
}

@media(max-width:480px){
  .tab-btn{
    padding:10px 12px;
    font-size:9px;
    letter-spacing:.04em;
  }
}

/* Карточка события — кнопки в столбик на мобилке */
@media(max-width:480px){
  /* кнопки внутри event-detail-card */
  #event-detail-card div[style*="display:flex;gap:10px"]{
    flex-direction:column !important;
  }
  #event-detail-card .btn{
    width:100% !important;
    justify-content:center !important;
  }
}

/* Сетка дата/место — одна строка всегда */
@media(max-width:400px){
  #ev-desc > div[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   СТРАНИЦА ГАЛЕРЕИ — gallery.php
   ═══════════════════════════════════════════════════════════════ */

/* Фильтры */
.gal-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.gal-flt{
  font-family:var(--H);font-weight:600;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  padding:8px 18px;border-radius:var(--r);border:1.5px solid var(--lgray);
  background:var(--white);color:var(--gray);transition:all .2s;cursor:pointer;
}
.gal-flt.on{background:var(--blue);border-color:var(--blue);color:var(--white);}
.gal-flt:hover:not(.on){border-color:var(--blue);color:var(--blue);}

/* Видео-сетка */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:16px;}
.video-card{
  border-radius:8px;overflow:hidden;cursor:pointer;position:relative;
  background:var(--dark);aspect-ratio:16/9;
  transition:transform .3s,box-shadow .3s;
  box-shadow:0 4px 16px rgba(36,64,130,.12);
}
.video-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(36,64,130,.2);}
.video-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease;display:flex;align-items:center;justify-content:center;font-size:64px;}
.video-card:hover .video-card-bg{transform:scale(1.04);}
.video-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,30,60,.85) 0%,rgba(8,30,60,.2) 60%,transparent 100%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:14px;
  transition:background .3s;
}
.video-card:hover .video-card-overlay{background:linear-gradient(to top,rgba(8,30,60,.92) 0%,rgba(8,30,60,.4) 60%,rgba(8,30,60,.1) 100%);}
.video-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);
  width:56px;height:56px;border-radius:50%;
  background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.5);
  display:flex;align-items:center;justify-content:center;
  transition:all .3s;backdrop-filter:blur(4px);
}
.video-card:hover .video-play{background:var(--mint);border-color:var(--mint);transform:translate(-50%,-60%) scale(1.1);}
.video-tag{font-family:var(--H);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:4px;}
.video-title{font-family:var(--H);font-weight:700;font-size:13px;text-transform:uppercase;color:var(--white);line-height:1.3;}
.video-duration{
  position:absolute;top:12px;right:12px;
  background:rgba(0,0,0,.6);color:var(--white);
  font-family:var(--H);font-size:10px;font-weight:600;
  padding:3px 8px;border-radius:3px;
}

/* Фото-масонри */
.photo-masonry{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.photo-item{
  position:relative;overflow:hidden;cursor:pointer;
  border-radius:4px;background:var(--lgray);aspect-ratio:4/3;
  transition:transform .3s,box-shadow .3s;
}
.photo-item.wide{grid-column:span 2;aspect-ratio:8/3;}
.photo-item.tall{grid-row:span 2;aspect-ratio:2/3;}
.photo-item:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(36,64,130,.2);z-index:2;}
.photo-item-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease;}
.photo-item:hover .photo-item-bg{transform:scale(1.06);}
.photo-overlay{
  position:absolute;inset:0;
  background:rgba(36,64,130,.55);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s;
}
.photo-item:hover .photo-overlay{opacity:1;}

/* Лайтбокс */
.lightbox{
  position:fixed;inset:0;z-index:99999;
  background:rgba(4,16,32,.95);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
  backdrop-filter:blur(8px);
}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:4px;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.7);}
.lightbox-close{
  position:fixed;top:20px;right:20px;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:var(--white);font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.lightbox-close:hover{background:rgba(255,255,255,.2);}
.lightbox-nav{
  position:fixed;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:var(--white);font-size:22px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.lightbox-nav:hover{background:var(--mint);border-color:var(--mint);}
.lightbox-prev{left:20px;}
.lightbox-next{right:20px;}
.lightbox-caption{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  font-family:var(--H);font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.6);text-align:center;white-space:nowrap;
}

/* Видео-модалка */
.video-modal{
  position:fixed;inset:0;z-index:99999;
  background:rgba(4,16,32,.96);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.video-modal.open{opacity:1;pointer-events:auto;}
.video-modal-inner{position:relative;width:min(860px,92vw);}
.video-modal-inner video,.video-modal-inner iframe{width:100%;aspect-ratio:16/9;border-radius:6px;display:block;box-shadow:0 24px 80px rgba(0,0,0,.7);}
.video-modal-close{
  position:absolute;top:-48px;right:0;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:var(--white);font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.video-modal-close:hover{background:rgba(255,255,255,.2);}

/* Адаптив галереи */
@media(max-width:1024px){
  .video-grid{grid-template-columns:repeat(2,1fr);}
  .photo-masonry{grid-template-columns:repeat(3,1fr);}
  .photo-item.tall{grid-row:span 1;aspect-ratio:4/3;}
}
@media(max-width:768px){
  .video-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .photo-masonry{grid-template-columns:repeat(2,1fr);gap:6px;}
  .photo-item.wide{grid-column:span 2;}
  .photo-item.tall{grid-row:span 1;aspect-ratio:4/3;}
  .video-title{font-size:11px;}
  .video-play{width:44px;height:44px;}
  .video-card-overlay{padding:10px;}
  .video-tag{font-size:8px;}
  .video-duration{font-size:9px;padding:2px 6px;top:8px;right:8px;}
}
@media(max-width:480px){
  /* На мобилке видео — одна колонка, нормальный вид */
  .video-grid{grid-template-columns:1fr;gap:14px;}
  .video-card{aspect-ratio:16/9;border-radius:6px;}
  .video-card-overlay{padding:12px;}
  .video-title{font-size:12px;}
  .video-play{width:48px;height:48px;}
  /* Фото — две колонки */
  .photo-masonry{grid-template-columns:1fr 1fr;gap:4px;}
  .photo-item.wide{grid-column:span 2;}
  .photo-item.tall{aspect-ratio:4/3;}
  /* Фильтры */
  .gal-filters{gap:6px;}
  .gal-flt{font-size:9px;padding:7px 10px;}
  /* Лайтбокс навигация */
  .lightbox-nav{width:38px;height:38px;font-size:18px;}
  .lightbox-prev{left:8px;}
  .lightbox-next{right:8px;}
  .lightbox-caption{font-size:10px;white-space:normal;text-align:center;padding:0 60px;}
  /* Видео модалка */
  .video-modal-inner{width:96vw;}
  .video-modal-close{top:-40px;width:36px;height:36px;font-size:16px;}
}


/* ═══════════════════════════════════════════════════════════════
   СТРАНИЦА МЕРЧ / ЭКИПИРОВКА / ИНВЕНТАРЬ — merch.php
   ═══════════════════════════════════════════════════════════════ */

/* ── Вкладки подразделов ── */
.merch-tab-btn{
  padding:16px 22px;
  font-family:var(--H);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  border:none;background:none;color:var(--gray);cursor:pointer;
  border-bottom:3px solid transparent;margin-bottom:-2px;
  transition:all .2s;white-space:nowrap;flex-shrink:0;
}
.merch-tab-btn:hover{color:var(--blue);}
.merch-tab-btn.on{color:var(--blue);border-bottom-color:var(--mint);}
#merch-tabs::-webkit-scrollbar{display:none;}

/* ── Сетка товаров ── */
.merch-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

/* ── Карточка товара ── */
.merch-card{
  background:var(--white);
  border-radius:var(--r);
  overflow:hidden;
  border:1.5px solid var(--lgray);
  transition:all .3s;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}
.merch-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 32px rgba(36,64,130,.12);
  border-color:var(--mint);
}

/* Фото / заглушка */
.merch-img{
  height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.merch-ico{
  font-size:64px;
  opacity:.4;
  transition:transform .3s, opacity .3s;
  z-index:1;
}
.merch-card:hover .merch-ico{
  transform:scale(1.12);
  opacity:.55;
}

/* Бейджи на фото */
.merch-badge{
  position:absolute;top:10px;left:10px;z-index:2;
  background:var(--mint);color:var(--white);
  font-family:var(--H);font-size:9px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:3px 8px;border-radius:1px;
}
.merch-type-badge{
  position:absolute;bottom:10px;right:10px;z-index:2;
  font-family:var(--H);font-size:9px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:1px;
}

/* Тело карточки */
.merch-body{
  padding:16px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.merch-name{
  font-family:var(--H);font-weight:700;font-size:13px;
  color:var(--blue);margin-bottom:5px;text-transform:uppercase;
  line-height:1.3;
}
.merch-desc{
  font-family:var(--B);font-size:12px;color:var(--gray);
  line-height:1.55;margin-bottom:14px;flex:1;
}
.merch-footer{
  display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;
}
.merch-price{
  font-family:var(--H);font-weight:800;font-size:17px;color:var(--mint);
  flex-shrink:0;
}

/* ── Нанесение логотипа ── */
.logo-method-row{
  display:flex;align-items:flex-start;gap:14px;
  padding:12px 14px;background:var(--bg);border-radius:var(--r);
}
.logo-method-ico{font-size:22px;flex-shrink:0;margin-top:1px;}
.logo-example-card{
  border-radius:var(--r);height:140px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  transition:transform .2s;cursor:default;
}
.logo-example-card:hover{transform:translateY(-3px);}
.logo-example-label{
  font-family:var(--H);font-size:10px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(254,254,254,.85);
}

/* ── Уведомления формы ── */
.form-success{
  background:rgba(0,207,162,.15);border:1px solid var(--mint);
  border-radius:var(--r);padding:16px 20px;margin-bottom:16px;
}
.form-error{
  background:rgba(255,80,80,.15);border:1px solid rgba(255,80,80,.4);
  border-radius:var(--r);padding:14px 18px;margin-bottom:16px;
  font-family:var(--B);font-size:13px;color:#ff9999;
}

/* ── Модальное окно заявки ── */
.order-modal{
  position:fixed;inset:0;z-index:99999;
  background:rgba(4,16,32,.7);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
  backdrop-filter:blur(6px);
  padding:20px;
}
.order-modal.open{opacity:1;pointer-events:auto;}
.order-modal-box{
  background:var(--white);
  border-radius:8px;
  width:100%;max-width:480px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  overflow:hidden;
  transform:translateY(20px);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.order-modal.open .order-modal-box{transform:translateY(0);}
.order-modal-hd{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 24px;border-bottom:1px solid var(--lgray);
}
.order-modal-close{
  background:none;border:none;font-size:20px;color:var(--gray);
  cursor:pointer;line-height:1;padding:4px;transition:color .2s;
}
.order-modal-close:hover{color:var(--blue);}

/* ═══ АДАПТИВ МЕРЧ ═══ */
@media(max-width:1200px){
  .merch-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:900px){
  .merch-grid{grid-template-columns:1fr 1fr !important;gap:14px;}
  .merch-tab-btn{padding:12px 16px;font-size:10px;}
  .merch-img{height:170px;}
  .merch-ico{font-size:52px;}
}
@media(max-width:600px){
  .merch-grid{grid-template-columns:1fr 1fr !important;gap:10px;}
  .merch-img{height:150px;}
  .merch-ico{font-size:42px;}
  .merch-name{font-size:12px;}
  .merch-desc{font-size:11px;}
  .merch-price{font-size:15px;}
  .merch-footer{flex-direction:column;align-items:flex-start;}
  .merch-footer .btn{width:100%;justify-content:center;}
  .logo-example-card{height:110px;}
  .logo-example-card > div:first-child{font-size:30px;}
}
@media(max-width:400px){
  .merch-grid{grid-template-columns:1fr !important;}
  .merch-img{height:180px;}
}

/* ════ ГАЛЕРЕЯ НА ГЛАВНОЙ — адаптив ════ */

/* Видео-сетка: 4 → 3 → 2 → 1 */
#idx-video-grid {
  grid-template-columns: repeat(4, 1fr) !important;
}
@media(max-width:1024px){
  #idx-video-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media(max-width:768px){
  #idx-video-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}
@media(max-width:480px){
  #idx-video-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
}

/* Фото-сетка: 4 → 3 → 2 → 1 */
#idx-photo-grid {
  grid-template-columns: repeat(4, 1fr) !important;
}
@media(max-width:1024px){
  #idx-photo-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media(max-width:768px){
  #idx-photo-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}
@media(max-width:480px){
  #idx-photo-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
}

/* Карточки — убираем hover-transform на touch */
@media(hover:none){
  #idx-video-grid .gal-card,
  #idx-photo-grid .gal-card {
    transform: none !important;
  }
}

/* СТАЛО: */
@media(hover:none){
  #idx-video-grid .gal-hover-play,
  #idx-photo-grid .gal-hover-open {
    display: none !important;
  }
}

/* Фильтр-select — полная ширина на мобилке */
@media(max-width:480px){
  #gallery-video > div:first-child,
  #gallery-photo > div:first-child {
    width: 100%;
  }
  #gallery-video > div:first-child > div,
  #gallery-photo > div:first-child > div {
    width: 100%;
  }
  #idx-video-filter,
  #idx-photo-filter {
    width: 100% !important;
    box-sizing: border-box;
  }
}

/* ═══════════════════════════════════════════════════════════════
   СТРАНИЦА ПРОЕКТОВ — projects.php
   ═══════════════════════════════════════════════════════════════ */

/* ── Сетка проектов ── */
.proj-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

/* ── Карточка проекта ── */
.proj-card{
  background:var(--white);
  border-radius:var(--r);
  overflow:hidden;
  border:1.5px solid var(--lgray);
  transition:all .35s cubic-bezier(.2,.9,.4,1.1);
  cursor:pointer;
  display:flex;
  flex-direction:column;
}
.proj-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(36,64,130,.14);
  border-color:var(--mint);
}

/* Обложка */
.proj-cover{
  height:200px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}
.proj-cover-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.proj-card:hover .proj-cover-img{transform:scale(1.04);}
.proj-cover-ico{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:64px;opacity:.18;
  transition:transform .4s ease, opacity .3s;
}
.proj-card:hover .proj-cover-ico{transform:scale(1.1);opacity:.28;}

/* Номер */
.proj-num{
  position:absolute;top:12px;left:12px;
  font-family:var(--H);font-weight:800;font-size:11px;
  letter-spacing:.2em;color:rgba(255,255,255,.5);
  z-index:2;
}

/* Теги */
.proj-tags{
  position:absolute;top:10px;right:10px;
  display:flex;gap:4px;flex-wrap:wrap;z-index:2;
  max-width:60%;justify-content:flex-end;
}
.proj-tag{
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  border-radius:1px;
  padding:2px 7px;
  font-family:var(--H);font-size:8px;font-weight:700;
  color:var(--white);letter-spacing:.06em;text-transform:uppercase;
}

/* Видео-метка */
.proj-video-badge{
  position:absolute;bottom:44px;right:10px;z-index:3;
  background:var(--mint);color:var(--white);
  font-family:var(--H);font-size:9px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:3px 8px;border-radius:1px;
}

/* Оверлей с названием */
.proj-overlay{
  position:relative;z-index:2;width:100%;
  padding:10px 14px;
  background:linear-gradient(to top,rgba(8,72,118,.93) 0%,transparent 100%);
}
.proj-period{
  font-family:var(--H);font-size:9px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;
  color:rgba(254,254,254,.55);margin-bottom:2px;
}
.proj-name{
  font-family:var(--H);font-weight:800;font-size:13px;
  text-transform:uppercase;color:var(--white);line-height:1.25;
}

/* Тело карточки */
.proj-body{
  padding:14px;display:flex;flex-direction:column;flex:1;
}
.proj-meta{
  display:flex;gap:10px;
  font-family:var(--B);font-size:11px;color:var(--gray);
  margin-bottom:8px;flex-wrap:wrap;line-height:1.4;
}
.proj-desc{
  font-family:var(--B);font-size:12px;color:var(--gray);
  line-height:1.55;margin-bottom:12px;flex:1;
}
.proj-actions{
  display:flex;gap:7px;flex-wrap:wrap;
}

/* ── Модальная карточка ── */
.proj-modal{
  position:fixed;inset:0;z-index:99999;
  background:rgba(4,16,32,.75);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
  backdrop-filter:blur(8px);
  padding:20px;
}
.proj-modal.open{opacity:1;pointer-events:auto;}
.proj-modal-box{
  background:var(--white);
  border-radius:8px;
  width:100%;max-width:560px;
  max-height:90vh;
  overflow-y:auto;
  box-shadow:0 24px 80px rgba(0,0,0,.4);
  position:relative;
  transform:translateY(24px);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.proj-modal.open .proj-modal-box{transform:translateY(0);}
.proj-modal-close{
  position:absolute;top:14px;right:14px;z-index:10;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);
  color:var(--white);font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.proj-modal-close:hover{background:rgba(255,255,255,.3);}
.proj-modal-cover{
  height:220px;position:relative;
  display:flex;align-items:flex-end;overflow:hidden;
  border-radius:8px 8px 0 0;
}
.proj-modal-ico{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:80px;opacity:.2;
}
.proj-modal-overlay{
  position:relative;z-index:2;width:100%;
  padding:16px 20px;
  background:linear-gradient(to top,rgba(8,72,118,.9),transparent);
}
.proj-modal-title{
  font-family:var(--H);font-weight:800;font-size:18px;
  text-transform:uppercase;color:var(--white);line-height:1.2;
}
.proj-modal-body{padding:20px 24px;}
.proj-modal-meta{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin-bottom:16px;
}
.proj-meta-item{
  background:var(--bg);padding:10px 12px;border-radius:var(--r);
}
.proj-meta-lbl{
  display:block;font-family:var(--H);font-size:9px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--gray);margin-bottom:3px;
}
.proj-meta-val{
  font-family:var(--H);font-weight:700;font-size:12px;color:var(--blue);
  line-height:1.3;
}
.proj-modal-desc{
  font-family:var(--B);font-size:14px;color:var(--gray);
  line-height:1.65;margin-bottom:20px;
}

/* ═══ АДАПТИВ ПРОЕКТОВ ═══ */
@media(max-width:1200px){
  .proj-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:900px){
  .proj-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .proj-cover{height:170px;}
  .proj-cover-ico{font-size:52px;}
  .proj-name{font-size:12px;}
  .proj-modal-meta{grid-template-columns:1fr 1fr;}
  .proj-meta-item:last-child{grid-column:1/-1;}
}
@media(max-width:600px){
  .proj-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .proj-cover{height:140px;}
  .proj-cover-ico{font-size:40px;}
  .proj-name{font-size:11px;}
  .proj-num{font-size:9px;}
  .proj-desc{font-size:11px;}
  .proj-actions{flex-direction:column;}
  .proj-actions .btn{width:100%;justify-content:center;}
  .proj-modal-box{max-height:95vh;}
  .proj-modal-cover{height:160px;}
  .proj-modal-title{font-size:14px;}
  .proj-modal-meta{grid-template-columns:1fr;}
  .proj-meta-item:last-child{grid-column:1;}
  .proj-modal-body{padding:16px;}
}
@media(max-width:400px){
  .proj-grid{grid-template-columns:1fr;}
  .proj-cover{height:180px;}
}

/* ══ Точки слайдера мерч ══ */
.merch-dots {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 5px;
  z-index: 5;
  pointer-events: none;
}
.merch-dot {
  display: block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  transition: background .35s, transform .35s;
  flex-shrink: 0;
}
.merch-dot-on {
  background: var(--mint);
  transform: scale(1.3);
}