/* Fonts */
@font-face {
font-display:auto;
font-family:'Montserrat';
font-style:normal;
font-weight:100 900;
font-stretch:normal;
unicode-range:U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
src:url(/fonts/h2d-ext-asset_a5ec54920b589ebe2af3bc3bb7754a476db68abf) format("woff2")
}

@font-face {
font-display:auto;
font-family:'Montserrat';
font-style:normal;
font-weight:100 900;
font-stretch:normal;
unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;
src:url(/fonts/h2d-ext-asset_520cd39b1b5bb249f2f7587505f0e3711be52c90) format("woff2")
}

/* Reset & Base */
* {
margin:0;
padding:0;
box-sizing:border-box
}

html {
scroll-behavior:smooth
}

body {
font-family:'Montserrat',Arial,sans-serif;
font-weight:400;
line-height:1.6;
color:#0B0D12;
background-color:#FFF;
overflow-x:hidden
}

/* Preloader */
.preloader {
position:fixed;
inset:0;
z-index:100000;
background-color:#FFF;
display:flex;
align-items:center;
justify-content:center;
transition:opacity .7s ease
}

.preloader.hidden {
opacity:0;
pointer-events:none
}

.preloader-content {
text-align:center
}

.preloader-logo {
margin-bottom:2rem
}

.preloader-logo img {
height:4rem;
width:auto;
margin:0 auto;
animation:pulse 2s ease-in-out infinite
}

.preloader-spinner {
width:4rem;
height:4rem;
margin:0 auto
}

.spinner {
animation:spin 1s linear infinite;
border-radius:50%;
height:4rem;
width:4rem;
border:4px solid #e2e8f0;
border-top-color:#475569
}

.preloader-content p {
margin-top:1rem;
color:#475569;
font-weight:500
}

@keyframes spin {
to {
transform:rotate(360deg)
}
}

@keyframes pulse {
0%,100% {
opacity:1
}

50% {
opacity:.5
}
}

/* Header */
.header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 50;
    transition: all 0.3s ease;
}

.header--overlay {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
}

.header.is-solid {
    background: #0f172a;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1280px;
    margin: auto;
    padding: 16px 24px;
    color: #fff;
}

.header-left {
display:flex;
align-items:center
}

.header-center {
display:flex;
align-items:center;
justify-content:center;
flex:1
}

.header-right {
display:flex;
align-items:center;
gap:20px
}

.header-mobile-buttons {
display:none;
align-items:center;
gap:10px
}

@media (max-width: 1024px) {
.header-center,
.header-right {
display:none
}

.header-mobile-buttons {
display:flex
}

.header-container {
padding-left:20px
}
}

.header-logo {
/* width:70px; */
transition:transform .3s ease;
/* margin-top: 10px; */
}
.scrolled .header-logo {
            -webkit-filter: brightness(1000%);
    filter: brightness(1000%);
}

.header-logo:hover {
transform:scale(1.05)
}

.header-logo img {
width:100%;
height:60px;
transition:filter .3s ease
}

.header-logo:hover img {
filter:brightness(1.1)
}

/* Desktop Navigation */
.header-nav {
    display: flex;
}

.header-nav .nav-link {
    margin: 0 14px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.header-nav .nav-link:hover {
    opacity: 0.8;
}

.header-nav .nav-link-sel {
    /* font-weight: bold; */
    /* text-decoration: underline; */
	color: #74c92d;
}

/* Language Switcher */
.header-lang {
    display: flex;
}

.header-lang .lang-link {
    margin: 0 6px;
    opacity: 0.8;
    text-decoration: none;
    color: #fff;
    transition: opacity 0.3s ease;
}

.header-lang .lang-link.active {
    opacity: 1;
    text-decoration: underline;
}

.header-lang .lang-link:hover {
    opacity: 1;
}

/* Search Button */
.header-search-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
    transition: all 0.3s ease;
    padding: 8px;
    border-radius: 6px;
}

.header-search-btn:hover {
    opacity: 0.8;
}

/* Menu Button */
.header-menu-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
    transition: all 0.3s ease;
    padding: 8px;
    border-radius: 6px;
}

.header-menu-btn:hover {
    opacity: 0.8;
}

/* Mobile Buttons */
.header-mobile-menu-btn,.header-mobile-search-btn {
position:absolute;
right:1rem;
top:24px;
background:none;
border:none;
cursor:pointer;
color:#ffffff;
transition:all .3s ease;
padding:8px;
border-radius:6px
}

.header-mobile-search-btn {
right:4rem
}

.header.scrolled .header-mobile-menu-btn,.header.scrolled .header-mobile-search-btn {
color:#fff
}

.header-mobile-menu-btn:hover,.header-mobile-search-btn:hover {
transform:scale(1.1)
}

.header.scrolled .header-mobile-menu-btn:hover,.header.scrolled .header-mobile-search-btn:hover {
transform:scale(1.1)
}

@media (min-width: 1024px) {
.header-mobile-menu-btn,.header-mobile-search-btn {
display:none
}
}

/* Search Bar */
.search-bar {
position:fixed;
top:0;
left:0;
right:0;
z-index:9998;
opacity:0;
pointer-events:none;
transition:opacity .3s ease
}

.search-bar.active {
opacity:1;
pointer-events:auto
}

.search-bar-backdrop {
position:fixed;
inset:0;
background-color:#0003;
z-index:9998;
transition:opacity .3s ease
}

.search-bar-content {
position:fixed;
top:0;
left:0;
right:0;
z-index:9999;
background-color:#fff;
box-shadow:0 10px 24px #0000001a;
height:125px;
transform:translateY(-100%);
transition:transform .3s ease-out
}

.search-bar.active .search-bar-content {
transform:translateY(0)
}

.search-bar-container {
display:flex;
align-items:center;
gap:1rem;
height:100%;
max-width:1200px;
margin:0 auto;
padding:0 1.5rem
}

.search-icon {
flex-shrink:0;
color:#9ca3af
}

.search-form {
flex:1
}

.search-input {
width:100%;
background:transparent;
border:none;
outline:none;
font-size:18px;
color:#1f2937;
font-family:'Montserrat',Arial,sans-serif
}

.search-input::placeholder {
color:#9ca3af
}

.search-close-btn {
flex-shrink:0;
background:none;
border:none;
cursor:pointer;
color:#4b5563;
transition:color .2s ease;
padding:0
}

.search-close-btn:hover {
color:#1f2937
}

/* Mobile Menu */
.mobile-menu {
position:fixed;
inset:0;
z-index:10000;
display:none
}

.mobile-menu.active {
display:block
}

.mobile-menu-backdrop {
position:fixed;
inset:0;
background-color:#00000080
}

.mobile-menu-panel {
position:fixed;
right:0;
top:0;
height:100%;
width:320px;
max-width:90vw;
background-color:#0f172a;
box-shadow:-10px 0 24px #0003;
transform:translateX(100%);
transition:transform .3s ease-in-out
}

.mobile-menu.active .mobile-menu-panel {
transform:translateX(0)
}

.mobile-menu-close {
position:absolute;
top:1.5rem;
right:1.5rem;
z-index:10;
background:none;
border:none;
cursor:pointer;
color:#fff;
transition:color .2s ease;
padding:0
}

.mobile-menu-close:hover {
color:#fffc
}

.mobile-menu-content {
display:flex;
flex-direction:column;
height:100%;
padding:40px;
}

.mobile-menu-logo {
margin-bottom:20px
}

.mobile-menu-logo img {
height:50px;
width:auto
}

.mobile-menu-lang {
margin-bottom:35px;
display:flex;
flex-direction:column;
gap:25px
}

.mobile-lang-link {
font-family:'Montserrat',Arial,sans-serif;
font-size:24px;
font-weight:500;
line-height:1.2;
letter-spacing:.5px;
color:#ffffffb3;
text-decoration:none;
transition:color .2s ease
}

.mobile-lang-link.active {
color:#fff
}

.mobile-lang-link:hover {
color:#fff
}

.mobile-menu-nav {
flex:1;
display:flex;
flex-direction:column;
gap:30px
}

.mobile-nav-link {
font-family:'Montserrat',Arial,sans-serif;
font-size:22px;
font-weight:500;
line-height:1.2;
color:#fff;
text-decoration:none;
transition:color .2s ease
}

.mobile-nav-link:hover {
color:#fffc
}

.mobile-menu-footer {
margin-top:auto;
padding-top:40px;
display:flex;
gap:20px
}

.mobile-footer-lang {
font-family:'Montserrat',Arial,sans-serif;
font-size:18px;
font-weight:500;
line-height:1.2;
color:#fff9;
text-decoration:none;
transition:color .2s ease
}

.mobile-footer-lang.active {
color:#fff
}

.mobile-footer-lang:hover {
color:#fff
}

/* Мобильное меню доступно на всех устройствах */

/* Hero Section */
.hero {
position:relative;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden
}

.hero-bg {
position:absolute;
inset:0;
background-image:url(/img/A6500128_.jpg);
background-size:cover;
background-position:center;
background-repeat:no-repeat
}

.hero-overlay {
position:absolute;
inset:0;
background:linear-gradient(to bottom,#00000059,#0000008c)
}

.hero-content {
position:relative;
z-index:10;
width:100%;
padding:140px 20px 60px
}

@media (min-width: 1024px) {
.hero-content {
padding:180px 20px 80px
}
}

.hero-container {
max-width:1200px;
margin:0 auto
}

.hero-title {
color:#fff;
margin-bottom:20px;
font-family:'Montserrat',Arial,sans-serif;
font-size:32px;
font-weight:500;
line-height:1.15;
letter-spacing:-.5px;
max-width: 513px;
}

@media (min-width: 1024px) {
.hero-title {
margin-bottom:30px
}
}

@media (min-width: 1024px) {
.hero-title {
vertical-align:middle;
font-size:50px;
line-height:1.1
}
}

.hero-subtitle-wrapper {
display:flex;
flex-direction:column;
gap:15px;
margin-bottom:40px;
max-width:513px
}

@media (min-width: 1024px) {
.hero-subtitle-wrapper {
flex-direction:row;
align-items:center;
gap:20px;
margin-bottom:60px
}
}

.hero-subtitle {
color:#ffffffe6;
max-width:42rem;
font-family:'Montserrat',Arial,sans-serif;
font-size:18px;
font-weight:400;
line-height:1.3
}

.hero-arrow {
width:25px;
height:auto;
margin-left:10px
}

.hero-play-btn {
flex-shrink:0;
width:60px;
height:60px;
background-color:#fff3;
backdrop-filter:blur(8px);
border:1px solid #ffffff4d;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
color:#fff;
transition:all .3s ease
}

.hero-play-btn:hover {
background-color:#ffffff4d
}

.hero-play-btn svg {
width:24px;
height:24px;
margin-left:.25rem;
transition:transform .3s ease
}

.hero-play-btn:hover svg {
transform:scale(1.1)
}

@media (min-width: 1024px) {
.hero-play-btn {
margin-left:10px
}
}

.hero-production {
display:grid;
grid-template-columns:1fr;
gap:30px
}

@media (min-width: 1024px) {
.hero-production {
grid-template-columns:1fr 1fr;
gap:60px
}
}

.hero-production-label {
color:#fff;
margin-bottom:20px;
font-family:'Montserrat',Arial,sans-serif;
font-size:16px;
font-weight:600;
letter-spacing:.5px
}

@media (min-width: 1024px) {
.hero-production-label {
margin-bottom:25px
}
}

.hero-production-details h4 {
color:#fff;
margin-bottom:8px;
font-family:'Montserrat',Arial,sans-serif;
font-size:18px;
font-weight:600;
line-height:1.2
}

.hero-production-details p {
color:#ffffffe6;
margin-bottom:8px;
font-family:'Montserrat',Arial,sans-serif;
font-size:16px;
font-weight:400;
line-height:1.4
}

.hero-production-details ul {
list-style:none;
color:#fffc;
font-family:'Montserrat',Arial,sans-serif;
font-size:15px;
font-weight:400;
line-height:1.4
}

.hero-production-details ul li {
margin-bottom:4px
}

.hero-production-details-offset {
margin-top:0
}

@media (min-width: 1024px) {
.hero-production-details-offset {
margin-top:60px
}
}

.hero-scroll {
    position:absolute;
    bottom:2rem;
    left:50%;
    transform:translateX(-50%);
    display:none;
    animation:heroScrollFloat 3s ease-in-out infinite;
    cursor:pointer;
    transition:all 0.3s ease;
}

.hero-scroll:hover {
    transform:translateX(-50%) scale(1.1);
    filter:drop-shadow(0 4px 8px rgba(255,255,255,0.3));
}

@media (min-width: 1024px) {
    .hero-scroll {
        display:block
    }
}

.scroll-indicator {
    color:#fff;
    animation:scrollIndicatorPulse 2s ease-in-out infinite;
    transition:color .2s ease;
    display:block;
    text-decoration:none;
}

.scroll-indicator:hover {
    color:#d1d5db;
    animation-play-state:paused;
}

@keyframes heroScrollFloat {
    0%,100% {
        transform:translateX(-50%) translateY(0);
    }

    50% {
        transform:translateX(-50%) translateY(-8px);
    }
}

@keyframes scrollIndicatorPulse {
    0%,100% {
        opacity:0.7;
        transform:scale(1);
    }

    50% {
        opacity:1;
        transform:scale(1.05);
    }
}


/* About & Stats Section */
/* ===== БАЗА ===== */
.about--tilda{
  --container: 1400px;      /* макс. ширина контента */
  background:#ececec;
  position:relative;
  font-family:'Montserrat', Arial, sans-serif;
}

/* ФОН СПРАВА: тянется от середины секции до правого края окна */
.about__bg-right{
  position:absolute;
  top:0;
  right:0;
  left:60%;                 /* стартуем от середины секции */
  height:100%;
  background:
    linear-gradient(180deg, rgba(97,108,127,.80), rgba(97,108,127,.92)),
    url("/img/hm.jpg")
    center/cover no-repeat;
  z-index:0;
}
/* divider на всю ширину окна под логотипом */
.about__divider{
  position:absolute;
  top:121px;   /* как просил */
  left:0;
  width:100%;
  height:2px;
  background-color:#c5c5c5;
  z-index:3;           /* поверх фона, подойдёт и 2 */
  pointer-events:none; /* чтобы не мешал кликам */
}
/* Контейнер контента (остаётся одинаковым) */
.about__container{
  max-width: var(--container);
  margin:0 auto;
  padding: 40px 60px;
  display:grid;
  grid-template-columns: 58% 42%; /* чуть мягче чем 60/40 */
  align-items:center;
  gap:0;
  position:relative;
  z-index:1;                /* поверх фона */
}

/* Левая колонка */
.about__hero{ position:relative; padding-right:40px; }
.about__logo {
  display:block;
  height:56px;
  margin-bottom:30px;
  position:relative;
}

.about__logo::after {
  content:"";
  position:absolute;
  bottom:-30px;   /* отступ вниз от лого */
  left:-40px;     /* чтобы растянуть за пределы контейнера */
  width:calc(100vw); 
  height:2px;
  background:#c5c5c5;
  z-index:3;
}
.about__title{font-size:28px;line-height:1.3;font-weight:500;color:#000;margin: 0;max-width:420px;margin-top: 50px;}
.about__badge{ position:absolute; top:120px; right:20px; font-size:120px; font-weight:700; color:#dedede; opacity:.45; pointer-events:none; }
.about__stats{ display:flex; gap:30px; list-style:none; padding:0; margin:60px 0 0; }
.about__stat-number{ font-size:28px; font-weight:700; margin-bottom:8px; }
.about__stat-title{ font-size:16px; font-weight:700; margin-bottom:6px; }
.about__stat-desc{ font-size:14px; font-weight:500; opacity:.8; }

/* Правая колонка (контент фиксирован относительно контейнера) */
.about__aside {
    color: #fff;
    padding: 0px 0px 0px 96px;
}
.about__aside-title{ font-size:36px; font-weight:500; margin:0 0 20px; }
.about__aside-desc{ font-size:16px; line-height:1.5; margin:0 0 30px; max-width:420px; }
.about__btn{
  display:inline-block; padding:14px 28px; border:2px solid #fff; border-radius:30px;
  color:#fff; text-decoration:none; font-weight:500; transition:.2s;
}
.about__btn:hover{ background:#fff; color:#000; }

/* ===== АДАПТИВ ===== */
@media (max-width:1023px){
  .about__container{grid-template-columns:1fr;padding: 40px;}
  .about__bg-right{left:0;height: 370px;top: auto;bottom:0;       /* привязываем к низу */}   /* фон занимает верхнюю часть секции на мобиле */
  .about__hero{padding-right:0;margin-bottom: 120px;}
  .about__badge{font-size: 56px;background-size: cover;top: 86px;right: 0px;height: auto;}
  .about__stats{flex-direction:column;gap: 11px;margin-top: 5px;}
  .about__aside{padding: 0px;color:#fff;}
}







/* Utilities */
.container {
width:100%;
margin:0 auto;
padding:0 16px
}

@media (min-width: 1024px) {
.container {
max-width:1024px;
padding:0 20px
}
}

@media (min-width: 1440px) {
.container {
max-width:1280px;
padding:0 24px
}
}

.section-spacing {
padding:40px 0
}

@media (min-width: 1024px) {
.section-spacing {
padding:64px 0
}
}

@media (min-width: 1440px) {
.section-spacing {
padding:80px 0
}
}

.section-title {
font-family:'Montserrat',Arial,sans-serif;
font-size:28px;
font-weight:700;
line-height:1.2;
margin-bottom:40px;
text-align:center
}

@media (min-width: 1024px) {
.section-title {
font-size:40px
}
}

@media (min-width: 1440px) {
.section-title {
font-size:48px
}
}

/* Partners Section */
.partners {
background-color:#fff
}

.partners-grid {
display:grid;
grid-template-columns:repeat(4,1fr);
gap:40px
}

@media only screen and (max-width: 1199px) {
    .partners-grid {
    grid-template-columns:repeat(3,1fr)
    }
    .header-logo {
            top: 12px;
        /* width: 45px; */
    }
    .header {
       
      height: 90px;
    }
}

@media only screen and (max-width: 991px) {
.partners-grid {
grid-template-columns:repeat(2,1fr)
}
}

@media only screen and (max-width: 775px) {
.partners-grid {
grid-template-columns:repeat(2,1fr)
}
}

@media only screen and (max-width: 575px) {
.partners-grid {
grid-template-columns:repeat(2,1fr);
gap:30px
}
}

.partner-logo {
display:flex;
align-items:center;
justify-content:center;
/* padding:20px;
background-color:#F7F9FC; */
/* border-radius:14px; */
transition:transform .2s ease,box-shadow .2s ease
}

.partner-logo:hover {
transform:translateY(-4px);
/* box-shadow:0 10px 24px #0000001a */
}

.partner-logo img {
max-width:100%;
height:auto;
opacity:.7;
transition:opacity .2s ease
}

.partner-logo:hover img {
opacity:1
}

/* Map Section */
.map-section {
width:100%;
height:400px;
margin-bottom: 70px;
margin-top: 70px;
}

@media (min-width: 768px) {
.map-section {
height:500px
}
}

@media (min-width: 1024px) {
.map-section {
height:600px
}
}

.map-container {
width:100%;
height:100%
}

/* Footer */
.footer {
position:relative;
background-color:#ededed;
overflow:hidden
}

/* Social buttons */
.social {
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
}

.social__btn {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
border: 1px solid rgba(116, 134, 159, 0.2);
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(8px);
color: #0f172a;
cursor: pointer;
transition: all 0.2s ease;
text-decoration: none;
}

.social__btn:hover {
background: rgba(116, 134, 159, 0.2);
transform: scale(1.05);
}

.social__btn.btn--primary {
background: #0f172a;
color: #fff;
border-color: #0f172a;
}

.social__btn.btn--primary:hover {
background: #677a95;
border-color: #677a95;
}

.social__btn.btn--green {
background: #10b981;
color: #fff;
border-color: #10b981;
}

.social__btn.btn--green:hover {
background: #059669;
border-color: #059669;
}

.social__btn.btn--pink {
background: #d82d7e;
color: #fff;
border-color: #d82d7e;
   
}

.social__btn.btn--red {
background: #ff0033;
color: #fff;
border-color: #ff0033;
   
}

.social__btn.btn--pink:hover {
background: #8c3aaa;
border-color: #8c3aaa;
}

.social__btn svg {
width: 20px;
height: 20px;
fill: currentColor;
}

.social__btn.text-20 svg {
width: 20px;
height: 20px;
}

.social__btn.text-26 svg {
width: 26px;
height: 26px;
}

.social__btn.radius-max {
border-radius: 50%;
}

.social__btn.radius-2 {
border-radius: 2px;
}

.social__btn.-waved- {
position: relative;
overflow: hidden;
}

.social__btn.-waved-::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
opacity: 0;
transition: opacity 0.3s ease;
}

.social__btn.-waved-:hover::before {
opacity: 1;
}


.footer-desktop {
display:none
}


.callback-btn {
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
color:#000;
font-family:'Montserrat',Arial,sans-serif;
font-size:14px;
font-weight:500;
line-height:1.55;
letter-spacing:-.2px;
border:2px solid #7586a0;
border-radius:30px;
background-color:transparent;
text-decoration:none;
padding: 14px 0px;
transition:all .2s ease
}

.callback-btn:hover {
background-color:#7586a0;
color:#fff
}

@media (min-width: 1024px) {
.footer-desktop {
display:block;
min-height:280px;
position:relative
}

.footer-logo {
position:absolute;
top:54px;
left:calc(50% - 600px + 20px);
width:180px;
z-index:3
}

.footer-logo img {
width:100%;
height:auto
}

.footer-address {
position:absolute;
top:54px;
left:calc(50% - 600px + 270px);
width:267px;
color:#000;
z-index:3;
font-family:'Montserrat',Arial,sans-serif;
font-size:16px;
font-weight:500;
line-height:1.25
}

.footer-address-label {
position:absolute;
top:153px;
left:calc(50% - 600px + 270px);
width:194px;
color:#000;
z-index:3;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.1;
opacity:.5
}

.footer-email {
position:absolute;
top:54px;
left:calc(50% - 600px + 562px);
width:185px;
color:#000;
z-index:3;
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.25
}

.footer-email-label {
position:absolute;
top:79px;
left:calc(50% - 600px + 562px);
width:140px;
color:#000;
z-index:3;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.1;
opacity:.5
}

.footer-phone {
position:absolute;
top:54px;
left:calc(50% - 600px + 759px);
width:185px;
color:#000;
z-index:3;
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.25
}

.footer-phone-label {
position:absolute;
top:79px;
left:calc(50% - 600px + 759px);
width:140px;
color:#000;
z-index:3;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.1;
opacity:.5
}


.footer-callback {
position:absolute;
top:54px;
left:calc(50% - 600px + 959px);
width:221px;
z-index:3;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
}

.footer-callback .social {
display: flex;
flex-direction: row;
gap: 4px;
}



.footer-copyright {
position:absolute;
top:232px;
left:calc(50% - 600px + 20px);
width:230px;
color:#000;
z-index:3;
font-family:'Montserrat',Arial,sans-serif;
font-size:15px;
font-weight:500;
line-height:1.1
}

.footer-offer {
position:absolute;
top:233px;
left:calc(50% - 600px + 270px);
width:210px;
z-index:3
}

.footer-offer a {
color:#000;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.2;
opacity:.5;
text-decoration:none;
transition:opacity .2s ease
}

.footer-offer a:hover {
opacity:.75
}

.footer-privacy {
position:absolute;
top:233px;
left:calc(50% - 600px + 562px);
width:311px;
z-index:3
}

.footer-privacy a {
color:#000;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.2;
opacity:.5;
text-decoration:none;
transition:opacity .2s ease
}

.footer-privacy a:hover {
opacity:.75
}

.footer-design {
position:absolute;
top:221px;
left:calc(50% - 600px + 893px);
width:289px;
text-align:right;
z-index:3
}

.footer-design a {
color:#000;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.2;
opacity:.3;
text-decoration:none;
transition:opacity .2s ease
}

.footer-design a:hover {
opacity:.5
}
}

.footer-mobile {
display:block;
padding:40px 20px 30px
}

@media (min-width: 1024px) {
.footer-mobile {
display:none
}
}

.footer-mobile-logo {
width:200px;
margin-bottom:40px
}

.footer-mobile-logo img {
width:100%;
height:auto
}

.footer-mobile-address {
margin-bottom:8px
}

.footer-mobile-address p {
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.25;
color:#000;
margin-bottom:12px
}

.footer-mobile-address .footer-label {
font-size:13px;
line-height:1.2;
opacity:.5;
margin-bottom:20px
}

.footer-mobile-address p:last-child {
margin-bottom:0
}

.footer-mobile-email {
margin-top:30px;
margin-bottom:8px
}

.footer-mobile-email p {
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.25;
color:#000
}

.footer-mobile-email .footer-label {
font-size:13px;
line-height:1.2;
opacity:.5;
margin-bottom:30px
}

.footer-mobile-phone {
margin-bottom:8px
}

.footer-mobile-phone p {
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.25;
color:#000
}

.footer-mobile-phone .footer-label {
font-size:13px;
line-height:1.2;
opacity:.5;
margin-bottom:30px
}

.footer-mobile-callback {
  margin-bottom:50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.callback-btn-mobile {
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:55px;
color:#000;
font-family:'Montserrat',Arial,sans-serif;
font-size:16px;
font-weight:500;
line-height:1.55;
letter-spacing:-.2px;
border:2px solid #7586a0;
border-radius:30px;
background-color:transparent;
text-decoration:none;
transition:all .2s ease
}

.callback-btn-mobile:hover {
background-color:#7586a0;
color:#fff
}

.footer-mobile-links {
margin-bottom:20px;
display:flex;
flex-direction:column;
gap:15px
}

.footer-mobile-links a {
color:#000;
font-family:'Montserrat',Arial,sans-serif;
font-size:15px;
font-weight:500;
line-height:1.2;
opacity:.5;
text-decoration:none;
transition:opacity .2s ease
}

.footer-mobile-links a:hover {
opacity:.75
}

.footer-mobile-copyright {
margin-top:30px
}

.footer-mobile-copyright p {
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.1;
color:#000
}

/* Modal */
.modal {
position:fixed;
inset:0;
z-index:50000;
display:none;
align-items:center;
justify-content:center
}

.modal.active {
display:flex
}

.modal-backdrop {
position:fixed;
inset:0;
background-color:#00000080
}

.modal-content {
position:relative;
z-index:10;
background-color:#fff;
border-radius:28px;
box-shadow:0 10px 24px #0003;
padding:40px;
max-width:500px;
width:90%;
max-height:90vh;
overflow-y:auto
}

.modal-close {
position:absolute;
top:20px;
right:20px;
background:none;
border:none;
cursor:pointer;
color:#64748b;
transition:color .2s ease;
padding:0
}

.modal-close:hover {
color:#1f2937
}

.modal-title {
font-family:'Montserrat',Arial,sans-serif;
font-size:28px;
font-weight:600;
line-height:1.2;
margin-bottom:12px;
color:#0B0D12
}

.modal-subtitle {
font-family:'Montserrat',Arial,sans-serif;
font-size:16px;
font-weight:400;
line-height:1.6;
margin-bottom:30px;
color:#41536B
}

.modal-form {
display:flex;
flex-direction:column;
gap:20px
}

.form-group {
display:flex;
flex-direction:column;
gap:8px
}

.form-group label {
font-family:'Montserrat',Arial,sans-serif;
font-size:14px;
font-weight:500;
color:#0B0D12
}

.form-group input,.form-group textarea {
font-family:'Montserrat',Arial,sans-serif;
font-size:16px;
padding:12px 16px;
border:1px solid #E6ECF3;
border-radius:10px;
outline:none;
transition:border-color .2s ease
}

.form-group input:focus,.form-group textarea:focus {
border-color:#233B5D
}

.form-group textarea {
resize:vertical;
min-height:100px
}

.btn {
display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    user-select: none;
    overflow: hidden;
    cursor: pointer;
    font-weight: 600;
    transition-duration: 0.2s;
    transition-timing-function: ease;
}

.btn-primary {
background-color:#233B5D;
color:#fff;
box-shadow:0 1px 2px #0000000f
}

.btn-primary:hover {
background-color:#1A2E49;
box-shadow:0 4px 12px #00000014
}

.btn-primary:active {
background-color:#0F2137;
box-shadow:0 1px 2px #0000000f
}

/* Page Hero (for internal pages) */
.page-hero {
position:relative;
height:500px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden
}

@media (min-width: 768px) {
.page-hero {
height:500px
}
}

@media (min-width: 1024px) {
.page-hero {
height:500px
}
}

.page-hero-bg {
position:absolute;
inset:0;
z-index:0;
background-position:center;
background-size:cover;
background-repeat:no-repeat
}

.page-hero-overlay {
position:absolute;
inset:0;
background: rgba(15,23,42,0.5);
z-index:1
}

.page-hero-content {
position:relative;
z-index:10;
text-align:center;
color:#fff;
padding:0 20px;
max-width:1200px;
margin:0 auto
}

.page-hero-content h1 {
font-family:'Montserrat',Arial,sans-serif;
font-size:32px;
font-weight:700;
line-height:1.1;
margin-bottom:24px
}

@media (min-width: 768px) {
.page-hero-content h1 {
font-size:48px
}
}

@media (min-width: 1024px) {
.page-hero-content h1 {
font-size:64px
}
}

.page-hero-content p {
font-family:'Montserrat',Arial,sans-serif;
font-size:16px;
font-weight:500;
line-height:1.5;
max-width:800px;
margin:0 auto
}

@media (min-width: 768px) {
.page-hero-content p {
font-size:18px
}
}

@media (min-width: 1024px) {
.page-hero-content p {
font-size:20px
}
}

/* Career Section */
.career-section {
position:relative;
background-color:#7587a0;
overflow:hidden
}

.career-desktop {
display:block;
height:600px;
position:relative
}

.career-bg {
position:absolute;
top:0;
left:-99px;
width:50%;
height:100%;
z-index:3;
background-image:url(/img/sotrudniki.jpg);
background-position:61.265% 54.041%;
background-size:cover;
background-repeat:no-repeat
}

.career-overlay {
position:absolute;
top:0;
left:calc(50% - 600px + 426px);
width:75px;
height:100%;
background-color:#7587a0;
opacity:.5;
z-index:3
}

.career-logo {
position:absolute;
top:46px;
left:calc(50% - 600px + 580px);
z-index:4;
width:200px
}

.career-divider {
position:absolute;
top:121px;
left:0;
width:100%;
height:2px;
background-color:#c5c5c5;
z-index:3
}

.career-content {
position:absolute;
top:160px;
left:calc(50% - 600px + 580px);
z-index:3
}

.career-title {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:28px;
font-weight:500;
line-height:1.15;
letter-spacing:-.5px;
margin-bottom:46px;
width:487px
}

.career-description {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.2;
margin-bottom:31px;
width:468px
}

.career-number {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:30px;
font-weight:600;
line-height:1.1;
letter-spacing:-.5px;
margin-bottom:2px
}

.career-label {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.2;
margin-bottom:19px
}

.career-note {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.2
}

.career-mobile {
display:none
}

@media only screen and (max-width: 991px) {
.career-desktop {
display:none
}

.career-mobile {
display:block
}
}

.career-mobile-logo {
width:200px;
margin:30px 0 30px 20px
}

.career-mobile-divider {
width:100%;
height:2px;
background-color:#c5c5c5;
margin-bottom:30px
}

.career-mobile-title {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:25px;
font-weight:500;
line-height:1.15;
letter-spacing:-.5px;
margin:0 20px 30px
}

.career-mobile-image {
width:100%;
height:240px;
background-image:url(/img/668A2281.jpg);
background-position:52.013% 50.838%;
background-size:cover;
background-repeat:no-repeat;
margin-bottom:30px
}

.career-mobile-description {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:15px;
font-weight:500;
line-height:1.5;
margin:0 20px 30px
}

.career-mobile-number {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:30px;
font-weight:600;
line-height:1.1;
letter-spacing:-.5px;
margin:0 0 5px 20px
}

.career-mobile-label {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:17px;
font-weight:500;
line-height:1.2;
margin:0 0 10px 20px
}

.career-mobile-note {
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
font-size:13px;
font-weight:500;
line-height:1.2;
margin:0 0 40px 20px
}

/* News Section */
.news-section {
background-color:#F7F9FC
}

.news-header {
text-align:center;
margin-bottom:48px
}

.news-header h2 {
margin-bottom:16px;
color:#233B5D
}

.news-header p {
max-width:672px;
margin:0 auto;
color:#41536B;
font-size:18px;
line-height:1.6
}

.news-grid {
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px
}

.news-card {
display:block;
text-decoration:none;
color:inherit;
overflow:hidden;
cursor:pointer;
position:relative
}

.news-card-image-wrapper {
position:relative;
aspect-ratio:3 / 4;
overflow:hidden
}

.news-card img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .3s ease
}

.news-card:hover img {
transform:scale(1.05)
}

.news-card-overlay {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:linear-gradient(to bottom,#0f172ae6,#0f172ab3);
transition:opacity .3s ease
}

.news-card:hover .news-card-overlay {
opacity:.9
}

.news-card:hover {
filter:brightness(1.05)
}

.news-card-content {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
padding:24px;
color:#fff;
display:flex;
flex-direction:column;
justify-content:space-between
}

.news-card-title {
font-size:18px;
font-weight:600;
line-height:1.4;
margin-bottom:8px;
color:#fff
}

.news-card-cta {
font-size:15px;
font-weight:500;
color:#fff;
font-family:'Montserrat',Arial,sans-serif;
line-height:1.55
}

/* Mobile News Carousel */
.news-carousel {
display:none
}

@media only screen and (max-width: 991px) {
.news-header p {
font-size:16px
}

.news-grid {
display:none
}

.news-carousel {
display:block
}
}

.news-scroll-container {
display:flex;
gap:24px;
overflow-x:auto;
scroll-snap-type:x mandatory;
padding-bottom:16px;
margin-bottom:24px;
-ms-overflow-style:none;
scrollbar-width:none
}

.news-scroll-container::-webkit-scrollbar {
display:none
}

.news-carousel-card {
flex-shrink:0;
width:280px;
scroll-snap-align:start
}

.news-carousel-card .news-card-content {
padding:20px
}

.news-carousel-card .news-card-title {
font-size:16px
}

.news-carousel-card .news-card-cta {
display:flex;
align-items:center;
font-size:13px;
font-weight:600;
opacity:.9;
transition:opacity .15s ease
}

.news-carousel-card:hover .news-card-cta {
opacity:1
}

.news-carousel-card .news-cta-arrow {
margin-left:6px;
transition:transform .15s ease
}

.news-carousel-card:hover .news-cta-arrow {
transform:translateX(3px)
}

/* News Dots */
.news-dots {
display:flex;
justify-content:center;
gap:8px
}

.news-dot {
width:32px;
height:32px;
border-radius:50%;
border:none;
background:transparent;
cursor:pointer;
transition:all .15s ease;
display:flex;
align-items:center;
justify-content:center;
padding:0
}

.news-dot-inner {
width:8px;
height:8px;
border-radius:50%;
background-color:#B8C6D6;
transition:all .15s ease
}

.news-dot.active .news-dot-inner {
background-color:#233B5D;
transform:scale(1.25)
}

.news-cta-section {
    text-align:center;
    margin-top:48px
}

/* About Page Styles */
.about-page-container {
    max-width: 1280px;
    margin: 0 auto;
    padding-inline: 24px;
}

/* Hero Section */
.about-page-hero {
    position: relative;
    min-height: 62vh;
    display: flex;
    align-items: end;
    color: #fff;
}

.about-page-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)),
        url('/img/page_8_img_1.jpeg') center/cover no-repeat;
}

.about-page-hero-content {
    position: relative;
    padding: 96px 24px 48px;
    max-width: 1280px;
    margin: auto;
    width: 100%;
}

.about-page-hero-title {
    margin: 0 0 12px 0;
    font-weight: 700;
    font-size: clamp(36px, 6vw, 35px);
    line-height: 1.1;
    color: #fff;
}

.about-page-hero-description {
    max-width: 720px;
    font-size: clamp(16px, 2.2vw, 20px);
    line-height: 1.55;
    margin: 0;
    color: #fff;
}

/* About Section */
.about-page-about {
    padding-block: clamp(40px, 6vw, 96px);
    background-color: #ededed;
}

.about-page-about-row {
    display: grid;
    gap: clamp(16px, 3vw, 40px);
    align-items: center;
}

.about-page-about-row-top {
    grid-template-columns: 0.4fr 0.6fr;
}

.about-page-about-row-bottom {
    grid-template-columns: 1fr 1fr;
    margin-top: clamp(24px, 4vw, 56px);
}

.about-page-about-media img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 28px;
    display: block;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
/* Верхнее большое фото — сделать более «постерным» (как на скрине) */
.about-page-about-row-top .about-page-about-media img{
    aspect-ratio: 3 / 4;
    max-height: 640px;
}

.about-page-about-media-wide img {
    aspect-ratio: 16/9;
    width: 80%;
    max-width: 560px;
    border-radius: 28px;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    margin-left: 0; /* выравниваем по левому краю колонки текста, как на скрине */
}

.about-page-about-content {
    padding-right: 20px;
}

.about-page-about-title {
    font-size: clamp(26px, 3.4vw, 40px);
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 24px 0;
    color: #8FAFD3; /* мягкий голубой, как на скрине */
    letter-spacing: 0.2px;
}
/* гарантируем, что нижнее изображение прилипает к левому краю своей ячейки сетки */
.about-page-about-row-bottom .about-page-about-media{
    justify-self: start;
    align-self: start;
}

.about-page-about-description {
    font-size: 16px;
    line-height: 1.7;
    color: #1F2937;
    margin: 0 0 16px 0;
}

.about-page-about-description:last-child {
    margin-bottom: 0;
}

/* Goals Section */
/* About Section v2 (как на присланном изображении) */
.about2-grid{
  display:grid;
  /* фиксированная ширина первого изображения по запросу */
  grid-template-columns: 300px 1fr;
  gap:clamp(16px,3vw,28px);
  align-items:stretch;
}
/* растягиваем контейнер фото слева по высоте ряда */
.about2-main-media{
  width:300px;
  height:480px;
  display:block;
  align-self:end;
  overflow:hidden;
  margin:0;
}
.about2-main-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border:1px solid #D7D7D7;   /* легкая рамка как на макете */
  border-radius:30px;
  box-shadow:0 2px 0 rgba(0,0,0,.03);
}
.about2-right{
  display:flex;
  flex-direction:column;
  height:480px;
  /* ограничиваем ширину текста справа как на скрине */
  max-width:880px;
}
.about2-title{
  margin:0 0 12px 0;
  font-weight:700;
  font-size:clamp(24px,3vw,28px);
  line-height:1.3;
  color:#0B0D12;
}
.about2-title-text{
    vertical-align: middle;
    color: #74869f;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 500;
    background-position: center center;
    border-color: transparent;
    border-style: solid;
}
.about2-text{
    vertical-align: middle;
    color: #000000;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 500;
    background-position: center center;
    border-color: transparent;
    border-style: solid;
}
.about2-subrow{
  display:grid;
  /* левое фото шире карточки справа, как на скрине */
  grid-template-columns: 300px 1fr;
  gap:clamp(16px,3vw,32px);
  align-items:end;          /* выравниваем по нижнему краю */
  margin-top:auto;          /* прижимаем нижний ряд к низу правой колонки */
}
/* чтобы нижнее фото не «прыгало» по вертикали */
.about2-submedia{ align-self:end; margin:0; width:322px; height:219px; overflow:hidden; }
.about2-submedia img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border:1px solid #D7D7D7;
  border-radius:30px;
  box-shadow:0 2px 0 rgba(0,0,0,.03);
}

/* Адаптив */
@media (max-width:1024px){
  .about2-grid{ grid-template-columns:1fr; }
  .about2-title{ font-size:clamp(22px,4.2vw,26px); }
  .about2-right{ height:auto; }
  .about2-subrow{ grid-template-columns:1fr; margin-top:clamp(16px,3vw,28px); }
}
.about-page-goals {
    background: #F5F7FA;
    padding-block: clamp(40px, 6vw, 96px);
}

.about-page-goals-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(16px, 3vw, 40px);
}

.about-page-goals-card {
    background: #fff;
    padding: 32px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.about-page-goals-subtitle {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 16px 0;
    color: #1F2937;
}

.about-page-goals-description {
    font-size: 16px;
    line-height: 1.7;
    color: #4B5563;
    margin: 0 0 16px 0;
}

.about-page-goals-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.about-page-goals-list li {
    font-size: 16px;
    line-height: 1.7;
    color: #4B5563;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.about-page-goals-list li:before {
    content: "•";
    color: #3366CC;
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Opening Section */
.about-page-opening {
    position: relative;
    padding-block: clamp(40px, 6vw, 96px);
    color: #fff;
}

.about-page-opening-bg {
    position: absolute;
    inset: 0;
    background: url('/img/DJI_0056.jpg') center/cover no-repeat;
}

.about-page-opening-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}

.about-page-opening-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
}

.about-page-opening-title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 32px 0;
    color: #fff;
}

.about-page-opening-description {
    font-size: 16px;
    line-height: 1.7;
    color: #fff;
    margin: 0 0 16px 0;
    opacity: 0.9;
}

.about-page-opening-description:last-child {
    margin-bottom: 0;
}

.about-page-opening-nav {
    display: flex;
    gap: 16px;
    margin-top: 32px;
}

.about-page-opening-arrow {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.about-page-opening-arrow:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
}

/* Slider Styles for Opening Section */
.about-page-container.slider {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
}

.about-page-slide {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 400px;
}

/* Slick.js Overrides for Opening Section */
.about-page-opening .slick-track {
    display: flex;
}

.about-page-opening .slick-slide {
    height: auto;
}

.about-page-opening .slick-dots {
    display: none !important;
}

.about-page-opening .slick-arrow {
    display: none !important;
}

/* Certificates Section */
.about-page-certs {
    padding-block: clamp(40px, 6vw, 96px);
}

.about-page-certs-title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 40px 0;
    text-align: center;
    color: #1F2937;
}

.about-page-certs-grid {
    display: grid;
    gap: clamp(12px, 2vw, 24px);
    grid-template-columns: repeat(4, 1fr);
}

.about-page-certs-item {
    display: block;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.about-page-certs-item:hover {
    transform: translateY(-4px);
}

.about-page-certs-item img {
    width: 100%;
    height: 220px;
    object-fit: contain;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

/* Certificates Slider */
.about-page-certs-slider {
    position: relative;
    overflow: hidden;
}

.about-page-certs {
    position: relative;
}

.about-page-certs-slide {
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.about-page-certs-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: rgba(116, 134, 159, 0.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(116, 134, 159, 0.2);
    border-radius: 50%;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    z-index: 2;
}

.about-page-certs-arrow:hover {
    background: rgba(116, 134, 159, 0.2);
    transform: translateY(-50%) scale(1.05);
}

.about-page-certs-arrow-prev {
    left: 20px;
}

.about-page-certs-arrow-next {
    right: 20px;
}

/* Slick.js Overrides for Certificates */
.about-page-certs .slick-track {
    display: flex;
}

.about-page-certs .slick-slide {
    height: auto;
}

.about-page-certs .slick-dots {
    display: none !important;
}

.about-page-certs .slick-arrow {
    display: none !important;
}

/* Policies Section */
.about-page-policies {
    background: #F5F7FA;
    padding-block: clamp(40px, 6vw, 96px);
}

.about-page-policies-title {
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 40px 0;
    text-align: center;
    color: #1F2937;
}

.about-page-policies-grid {
    display: grid;
    gap: clamp(12px, 2vw, 24px);
    grid-template-columns: repeat(6, 1fr);
}

.about-page-policies-item {
    display: block;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.about-page-policies-item:hover {
    transform: translateY(-4px);
}

.about-page-policies-item img {
    width: 100%;
    height: 220px;
    object-fit: contain;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

/* Tablet Responsive */
@media (max-width: 1024px) {
    .about-page-about-row-top {
        grid-template-columns: 0.45fr 0.55fr;
    }

    .about-page-about-row-bottom,
    .about-page-goals-grid {
        grid-template-columns: 1fr;
    }

    .about-page-certs-grid,
    .about-page-policies-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .about-page-about-content {
        padding-right: 16px;
    }

    .about-page-goals-card {
        padding: 24px;
    }
}

/* Mobile Responsive */
@media (max-width: 640px) {
    .about-page-about-row-top,
    .about-page-about-row-bottom {
        grid-template-columns: 1fr;
    }

    .about-page-certs-grid,
    .about-page-policies-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-page-about-content {
        padding-right: 0;
        order: 2;
    }

    .about-page-about-media {
        order: 1;
    }

    .about-page-about-row-bottom .about-page-about-media {
        order: 3;
    }

    .about-page-about-row-bottom .about-page-about-content {
        order: 4;
    }

    .about-page-hero-content {
        padding: 96px 20px 36px;
        text-align: center;
    }

    .about-page-opening-content {
        text-align: center;
    }

    .about-page-opening-nav {
        justify-content: center;
    }

    .about-page-slide {
        min-height: 300px;
    }

    .about-page-goals-card {
        padding: 20px;
    }
}

/* Header Mobile Styles */
@media (max-width: 767px) {
    .header-nav {
        display: none;
    }

    .header-container {
        padding: 16px 20px;
    }
}

/* About Page Certificates Section */
.about-page-certificates-section {
    background-color: #fff;
    padding: 80px 0;
}

.about-page-section-title {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 40px;
    text-align: center;
}

@media (min-width: 1024px) {
    .about-page-section-title {
        font-size: 40px;
    }
}

@media (min-width: 1440px) {
    .about-page-section-title {
        font-size: 48px;
    }
}

.about-page-certificates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-top: 40px;
}

.about-page-certificate-item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: #F7F9FC;
    border-radius: 14px;
    transition: transform 0.2s ease;
}

.about-page-certificate-item:hover {
    transform: translateY(-4px);
}

.about-page-certificate-item img {
    max-width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: contain;
}

/* About Page Policies Section */
.about-page-policies-section {
    background-color: #ededed;
    padding: 80px 0;
}

.about-page-policies-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    margin-top: 40px;
}

.about-page-policy-item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease;
}

.about-page-policy-item:hover {
    transform: translateY(-4px);
}

.about-page-policy-item img {
    max-width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: contain;
}

/* Policies Slider */
.about-page-policies-slider {
    position: relative;
    overflow: hidden;
}

.about-page-policies {
    position: relative;
}

.about-page-policies-slide {
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.about-page-policies-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: rgba(116, 134, 159, 0.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(116, 134, 159, 0.2);
    border-radius: 50%;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    z-index: 2;
}

.about-page-policies-arrow:hover {
    background: rgba(116, 134, 159, 0.2);
    transform: translateY(-50%) scale(1.05);
}

.about-page-policies-arrow-prev {
    left: 20px;
}

.about-page-policies-arrow-next {
    right: 20px;
}

/* Slick.js Overrides for Policies */
.about-page-policies .slick-track {
    display: flex;
}

.about-page-policies .slick-slide {
    height: auto;
}

.about-page-policies .slick-dots {
    display: none !important;
}

.about-page-policies .slick-arrow {
    display: none !important;
}

/* Mobile Responsive for About Page Sections */
@media only screen and (max-width: 991px) {
    .about-page-certificates-grid,
    .about-page-policies-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .about-page-certificate-item,
    .about-page-policy-item {
        padding: 15px;
    }

    .about-page-section-title {
        font-size: 28px;
    }
}

.section { padding-block: 72px; }
.container { max-width: 1280px; margin-inline: auto; padding-inline: 24px; }

.about__row { display: grid; align-items: center; gap: 40px; }
.about__row--top   { grid-template-columns: 0.4fr 0.6fr; }
.about__row--bottom{ grid-template-columns: 1fr 1fr; margin-top: 48px; }

.about__media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 18px; }
.about__media--wide img { border-radius: 16px; }

.about__title    { font-size: clamp(24px, 3vw, 36px); line-height: 1.25; margin: 0 0 12px; color:#1F2937; }
.about__subtitle { font-size: clamp(18px, 2.2vw, 22px); margin: 0 0 10px; color:#1F2937; }
.about__text     { font-size: 16px; line-height: 1.7; color:#4B5563; margin: 0 0 12px; }

@media (max-width: 1024px){
  .about__row { gap: 24px; }
  .about__row--top{ grid-template-columns: 0.45fr 0.55fr; }
}

@media (max-width: 768px){
  .section { padding-block: 40px; }
  .about__row--top,
  .about__row--bottom { grid-template-columns: 1fr; }
  .about__row--bottom { margin-top: 32px; }
}

/* About Page Slider */
.about-page-slider {
    position: relative;
    min-height: 500px;
    overflow: hidden;
}

.about-page-slider-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.about-page-slide {
    position: relative;
    width: 100%;
    min-height: 500px;
    display: flex !important;
    align-items: center;
}

.about-page-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.5s ease;
}

.about-page-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(116, 134, 159, 0.7);
    z-index: 1;
}

.about-page-slide-content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    padding: 40px;
    color: #ffffff;
}

.about-page-title {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 24px 0;
    color: #ffffff;
}

.about-page-description {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 0 32px 0;
    color: #ffffff;
}

.about-page-year {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    margin: 0;
    color: #ffffff;
    position: absolute;
    bottom: 40px;
    right: 40px;
}

.about-page-line {
    position: absolute;
    bottom: 60px;
    right: 40px;
    width: 80px;
    height: 2px;
    background-color: #ffffff;
}

.about-page-dot {
    position: absolute;
    bottom: 50px;
    right: 130px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ffffff;
}

/* Slider Navigation */
.about-page-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.about-page-slider-arrow:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%) scale(1.05);
}

.about-page-slider-arrow-prev {
    left: 20px;
}

.about-page-slider-arrow-next {
    right: 20px;
}

.about-page-slider-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: 12px;
}

.about-page-slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.about-page-slider-dot.active {
    background: #ffffff;
    border-color: #ffffff;
}

/* Slick.js Overrides */
.about-page-slider .slick-track {
    display: flex;
}

.about-page-slider .slick-slide {
    height: auto;
}

.about-page-slider .slick-dots {
    display: none !important;
}

.about-page-slider .slick-arrow {
    display: none !important;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .about-page-slide-content {
        padding: 30px;
        max-width: 500px;
    }

    .about-page-title {
        font-size: 28px;
    }

    .about-page-description {
        font-size: 15px;
    }

    .about-page-year {
        font-size: 40px;
        bottom: 30px;
        right: 30px;
    }

    .about-page-line {
        bottom: 50px;
        right: 30px;
        width: 60px;
    }

    .about-page-dot {
        bottom: 40px;
        right: 100px;
    }
}

@media (max-width: 768px) {
    .about-page-slider {
        min-height: 400px;
    }

    .about-page-slide {
        min-height: 400px;
    }

    .about-page-slide-content {
        padding: 20px;
        max-width: 100%;
        text-align: center;
    }

    .about-page-title {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .about-page-description {
        font-size: 14px;
        margin-bottom: 24px;
    }

    .about-page-year {
        position: static;
        font-size: 32px;
        margin-top: 20px;
        text-align: center;
    }

    .about-page-line {
        display: none;
    }

    .about-page-dot {
        display: none;
    }

    .about-page-slider-arrow {
        width: 40px;
        height: 40px;
    }

    .about-page-slider-arrow-prev {
        left: 10px;
    }

    .about-page-slider-arrow-next {
        right: 10px;
    }
}

@media (max-width: 480px) {
    .about-page-slider {
        min-height: 350px;
    }

    .about-page-slide {
        min-height: 350px;
    }

    .about-page-slide-content {
        padding: 15px;
    }

    .about-page-title {
        font-size: 20px;
    }

    .about-page-description {
        font-size: 13px;
    }

    .about-page-year {
        font-size: 28px;
    }

    .about-page-slider-arrow {
        width: 36px;
        height: 36px;
    }

    .about-page-slider-arrow svg {
        width: 16px;
        height: 16px;
    }
}

/* Slick Carousel Styles */
.opening-slider { position: relative; isolation:isolate; }

.opening-slick-slider {
  position: relative;
  height: 700px;
}
.opening-slick-slider .slick-list,
.opening-slick-slider .slick-track {
  height: 100%;
}

.opening-slide {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: clamp(60px, 5vw, 160px) clamp(16px, 4vw, 40px) clamp(120px, 5vw, 200px);
}

.slide-content {
  text-align: left;
  color: #fff;
  max-width: 900px;
  margin-left: clamp(16px, 8vw, 90px);
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

.slide-title {
  font-size: clamp(24px, 4vw, 28px);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 20px 0;
  color: #fff;
}

.slide-description {
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.6;
  margin: 0 0 40px 0;
  color: #fff;
  opacity: 0.9;
  max-width: 826px;
  margin-right: auto;
}

.slide-year {
  position: absolute;
  bottom: 100px;
  left: 12%;
  transform: translateX(-50%);
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  margin: 0;
  z-index: 2;
  text-shadow: 0 2px 6px rgba(0,0,0,.35);
}

.slide-line {
  position: absolute;
  bottom: 180px;
  left: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: rgba(255,255,255,.85);
  z-index: 1;
  pointer-events: none;
}

.slide-dot {
  position: absolute;
  bottom: 175px;
  left: 12%;
  transform: translate(-50%, 0);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.25);
  z-index: 2;
}

.opening-nav{
  position:absolute; bottom:24px; left:24px;
  width:44px; height:44px; border-radius:999px;
  display:grid; place-items:center;
  color:#fff; background:rgba(255,255,255,.15);
  border:2px solid rgba(255,255,255,.6);
  backdrop-filter: blur(4px);
  cursor:pointer;
  z-index: 10;
}
.opening-next{ left:80px; }
.opening-nav:hover{ background:rgba(255,255,255,.25); }

@media (max-width: 768px){
  .opening-nav{ bottom:16px; left:16px; }
  .opening-next{ left:72px; }

  /* Opening slider mobile tuning */
  .slide-line{ bottom: 125px; }
  .slide-dot{ bottom: 120px; }
  .slide-year{ bottom: 77px; }

  .opening-slide{
    align-items: center;
    justify-content: center;
    padding: clamp(40px, 10vw, 80px) 16px 120px;
  }
  .slide-content{
    margin-left: 0;
    text-align: center;
  }
}
/* ====================== PVD PAGE (styled to match screenshot) ====================== */
.pvd-hero{position:relative;color:#0B0D12;isolation:isolate;background-color:#ededed}
.pvd-hero-bg {
    position: absolute;
    top: 0;
    left: -800px;
    width: 1334px;
    height: 647px;
    /* border-radius: 3000px; */
    background-color: #0f172a;
    z-index: 0;
}
.pvd-hero-inner{position:relative;    z-index:1;display:grid;grid-template-columns:minmax(280px,480px) 1fr;gap:clamp(16px,4vw,48px);align-items:stretch}
.pvd-hero-left{display:block;height:100%}
.pvd-hero-figure{width:100%;height:100%;overflow:hidden}
.pvd-hero-figure img{width:100%;height:100%;object-fit:cover;display:block}
.pvd-hero-title{font-size:clamp(24px,3.6vw,32px);font-weight:700;margin:0 0 10px}
.pvd-hero-desc{font-size:16px;line-height:1.6;color:#41536B;margin:0 0 16px}
.pvd-hero-specs{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;margin:12px 0 20px}
.pvd-spec{background:#F5F7FA;border:1px solid #E6ECF3;border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between}
.pvd-spec-label{font-size:13px;color:#41536B}
.pvd-spec-value{font-weight:700;color:#0B0D12;font-size:25px}
/* GOST block styling for PVD hero specs */
.pvd-spec--gost{align-items:flex-start}
.pvd-gost{display:flex;flex-direction:column}
.pvd-gost-label{font-size:22px;font-weight:700;line-height:1;color:#0B0D12;margin-bottom:2px}
.pvd-gost-number{font-size:28px;font-weight:800;line-height:1}
.pvd-spec-note{font-size:14px;color:#41536B;max-width:280px;text-align:right}

/* PVD hero CTA style to match layout */
.pvd-hero .btn-primary{background-color:#0f172a;border-radius:0;padding:16px 24px}
.pvd-hero .btn-primary:hover{background-color:#677a95}

/* Fine tune text widths */
.pvd-hero-desc{max-width:562px}

@media (max-width:640px){
  .pvd-spec--gost{flex-direction:column;align-items:flex-start;gap:6px}
  .pvd-spec-note{text-align:left;max-width:none}
  .pvd-gost-label{font-size:18px}
  .pvd-gost-number{font-size:22px}
}

/* Extra small screens: position oval shape like in reference */
@media (max-width:480px){
  .pvd-hero-bg{left:-356px;width:673px;height:298px}
}
/* PVD products redesigned layout (text left, can right) */
.pvd-products-grid{
  grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,4vw,80px);
  align-items:center;
}

.pvd-product{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:clamp(12px,2.5vw,32px);
  background:transparent;
  border:0;
  padding:clamp(4px,1vw,8px);
}

.pvd-product-info{padding-right:clamp(4px,1vw,8px)}
.pvd-product-title{
  margin:0 0 6px;
  font-weight:700;
  color:#0f172a;
  font-size:clamp(26px,2.6vw,36px);
  line-height:1.15;
  letter-spacing:.2px;
}
.pvd-product-size{
  font-size:clamp(20px,2.2vw,32px);
  color:#8fa7c0;
  font-weight:500;
  margin-bottom:clamp(8px,1vw,12px);
}
.pvd-product-list{
  list-style:none;
  margin:0;
  padding:0;
  color:#6d7f98;
  font-size:clamp(15px,1.6vw,18px);
  line-height:1.6;
}
.pvd-product-list li+li{margin-top:14px}

.pvd-product-media{display:grid;place-items:center}
.pvd-product-media img{
  width:auto;
  height:clamp(240px,22vw,420px);
  object-fit:contain;
}

/* Responsive */
@media (max-width:1024px){
  .pvd-products-grid{grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,40px)}
  .pvd-product{grid-template-columns:1fr}
  .pvd-product-media img{height:clamp(220px,35vw,360px)}
}
@media (max-width:640px){
  .pvd-products-grid{grid-template-columns:1fr}
  .pvd-product-title{font-size:clamp(22px,6vw,28px)}
  .pvd-product-size{font-size:clamp(18px,5.5vw,24px)}
}

/* Section title */
.pvd-section-title{text-align:center;font-size:clamp(22px,3vw,28px);margin:20px 0 28px;color:#0B0D12;font-weight:700}

/* Products */
.pvd-products{background:#fff}
.pvd-products-grid{display:block;gap:clamp(16px,3vw,32px)}
/* .pvd-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,32px)} */
.pvd-product-card{background:#fff;border:1px solid #E6ECF3;border-radius:18px;padding:20px;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pvd-can{width:auto;height:160px;object-fit:contain;margin:0 auto 8px;display:block}
.pvd-product-name{font-size:18px;font-weight:600;margin:6px 0 2px;color:#233B5D}
.pvd-product-size{font-size:14px;color:#6B7280;margin-bottom:10px}
.pvd-product-note{font-size:14px;color:#41536B;line-height:1.5}

/* Documents row — full-bleed bar like on screenshot */
.pvd-docs-row{
  background-color:#0f172a;
  margin:24px 0 0;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:28px 0;
}
.pvd-docs-container{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:center;
}
.pvd-doc{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 20px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);
  border-radius:12px;
  backdrop-filter:blur(6px);
  transition:background .2s ease,transform .2s ease;
}
.pvd-doc:hover{
  background:rgba(255,255,255,.18);
  transform:translateY(-1px);
}
.pvd-doc-icon{
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  /* border:1.5px solid rgba(255,255,255,.7); */
  border-radius:6px;
  font-size:14px;
  line-height:1;
}
@media (max-width:1024px){
  .pvd-docs-container{ gap:16px; }
}
@media (max-width:640px){
  .pvd-docs-container{ gap:12px; }
  .pvd-doc{ width:100%; max-width:420px; justify-content:flex-start; }
}

/* Info */
.pvd-info{padding:clamp(32px,6vw,72px) 0;background:#fff}
.pvd-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,32px)}
.pvd-info-card{background:#F5F7FA;border:1px solid #E6ECF3;border-radius:16px;padding:20px}
.pvd-info-card h3{margin:0 0 10px;font-size:18px}
.pvd-info-card ul{margin:0;padding-left:18px;color:#41536B;line-height:1.6}
.pvd-info-text p{color:#41536B;margin:0 0 12px;line-height:1.6}

/* Tilda-like Production Info section */
.tilda-info{position:relative;background:#fff;padding:clamp(40px,6vw,96px) 0}
.tilda-top{display:grid;grid-template-columns:0.52fr 0.48fr;gap:40px;align-items:start}
.tilda-left .tilda-lead{color:#0f172a;font-size:18px;line-height:1.25;font-weight:500;margin:0 0 24px}
.tilda-photo img{width:100%;height:auto;display:block;border-radius:30px;background:#f1f1f1;object-fit:cover;box-shadow:0 2px 0 rgba(0,0,0,.03)}
.tilda-right{position:relative;padding:24px 24px 0 24px}
.tilda-right-bg{position:absolute;inset:auto 0 auto auto;top:0;width:500px;height:358px;background:#f1f1f1;border-radius:30px;z-index:-1}
.tilda-title{margin:64px 0 16px;font-size:17px;line-height:1.25;font-weight:600;color:#000}
.tilda-bullets{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:18px}
.tilda-bullets li{display:flex;gap:14px;align-items:flex-start;color:#000;font-size:15px;line-height:1.3;font-weight:400}
.tilda-bullets img{width:25px;height:25px;flex:0 0 auto}
.tilda-paragraph{color:#000;font-size:16px;line-height:1.4;font-weight:500;margin:20px 0 0}
.tilda-divider{height:2px;background:#0f172a;margin:40px 0}
.tilda-bottom{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.tilda-bottom::before{content:"";position:absolute;left:calc(50% - 1px);top:0;bottom:0;width:2px;background:#0f172a}
.tilda-bottom-left p{color:#000;font-size:16px;line-height:1.4;font-weight:500;margin:0 0 12px}
.tilda-bottom-left .tilda-accent{color:#0f172a}
.tilda-bottom-right p{color:#000;font-size:15px;line-height:1.3;font-weight:400;margin:0}

/* Responsive */
@media (max-width:1024px){
  .tilda-top{grid-template-columns:1fr;gap:28px}
  .tilda-right-bg{display:none}
  .tilda-title{margin:12px 0 12px}
  .tilda-bottom{grid-template-columns:1fr}
  .tilda-bottom::before{display:none}
}
@media (max-width:640px){
  .tilda-left .tilda-lead{font-size:16px}
  .tilda-bullets{gap:14px}
  .tilda-bullets li{font-size:14px}
}
/* Labs */
.pvd-labs{padding:clamp(32px,6vw,72px) 0;background:#fff}
.pvd-labs-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,32px);align-items:center}
.pvd-labs-media img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.pvd-labs-text p{color:#41536B;line-height:1.6;margin:0 0 12px}

/* Advantages */
.pvd-advantages{background:#fff}
.pvd-advantages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,28px)}
.adv-card{border:1px solid #000;border-radius:30px;padding:clamp(16px,2.5vw,28px);background:#fff}
.adv-ico{font-size:22px;margin-bottom:12px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #000;border-radius:8px}
.adv-card h3{font-size:25px;line-height:1.2;margin:0 0 8px;color:#0B0D12;font-weight:600}
.adv-card p{font-size:17px;color:#000;line-height:1.35;margin:0}

/* Form */
.pvd-form{padding:clamp(32px,6vw,72px) 0;background:#fff}
.pvd-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:900px;margin:0 auto}
.pvd-field{display:flex;flex-direction:column;gap:6px}
.pvd-field span{font-size:14px;color:#41536B}
.pvd-field input{border:1px solid #E6ECF3;border-radius:10px;padding:12px 14px;font-size:16px;outline:none}
.pvd-field input:focus{border-color:#233B5D}
.pvd-check{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:#41536B}
.pvd-actions{grid-column:1 / -1;display:flex;justify-content:center;margin-top:4px}

/* Responsive */
@media (max-width:1024px){
  .pvd-hero-inner{grid-template-columns:1fr;}
  .pvd-products-grid{grid-template-columns:repeat(2,1fr)}
  .pvd-docs-row{grid-template-columns:repeat(2,1fr)}
  .pvd-info-grid,.pvd-labs-grid{grid-template-columns:1fr}
  .pvd-advantages-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .pvd-hero-bg{height:298px}
  .pvd-products-grid{grid-template-columns:1fr}
  .pvd-docs-row{grid-template-columns:1fr}
  .pvd-advantages-grid{grid-template-columns:1fr}
  .pvd-form-grid{grid-template-columns:1fr}
}
/* Fix: ensure 3 products fit on one row and avoid grid item min-content overflow */
.pvd-products-grid{ gap:clamp(24px,3vw,48px); }

.pvd-product{ grid-template-columns:1fr .95fr; }
.pvd-product-info,.pvd-product-media{ min-width:0; } /* allow content to shrink inside grid cells */

.pvd-product-media img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:clamp(220px,20vw,320px);
  object-fit:contain;
}
/* Tilda t1059 buttons section styles */
.t1059{background-color:#0f172a;padding:45px 0 15px}
.t-container{max-width:1280px;margin:0 auto;padding:0 24px}
.t-col.t-col_12{width:100%}
.t1059__row{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.t1059__row_center{justify-content:center}
.t1059__btn{display:flex;flex-direction:column;align-items:center;max-width:280px}
.t1059__link{text-decoration:none;color:#fff;display:block;width:100%;transition:opacity .2s ease}
.t1059__link:hover{opacity:.8}
.t1059__link-wrapper{display:flex;align-items:center;gap:12px;padding:16px 20px;background:rgba(255,255,255,.1);border-radius:12px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);transition:background .2s ease}
.t1059__link:hover .t1059__link-wrapper{background:rgba(255,255,255,.2)}
.t1059__btn-img-wrapper{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.1);border-radius:8px}
.t1059__btn-img{display:block;width:20px;height:auto;fill:#fff}
.t1059__btn-text{font-size:14px;font-weight:500;line-height:1.4;text-align:left;color:#fff;font-family:'Montserrat',Arial,sans-serif;max-width:200px}

/* Responsive for t1059 */
@media (max-width:1024px){
  .t1059__row{flex-direction:column;align-items:center}
  .t1059__btn{max-width:400px}
  .t1059__link-wrapper{justify-content:flex-start}
}
@media (max-width:640px){
  .t1059__btn{max-width:320px}
  .t1059__btn-text{font-size:13px}
}
/* PVD hero text-only variant */
.pvd-hero-text { padding: clamp(16px, 3vw, 28px) 0 clamp(16px, 3vw, 32px); color:#0B0D12; }
.pvd-hero-text p { margin: 0 0 12px; font-size:16px; line-height:1.7; color:#41536B; max-width: 980px; }

.pvd-params-title { margin: 18px 0 12px; font-weight:700; font-size: clamp(20px, 3vw, 28px); line-height:1.25; color:#0B0D12; }

.pvd-params-list { 
  display:grid; 
  grid-template-columns: repeat(2, minmax(260px, 1fr)); 
  gap: 12px 24px; 
  margin: 16px 0 0; 
  padding: 0;
}
.pvd-param { background:#F5F7FA; border:1px solid #E6ECF3; border-radius:12px; padding:12px 14px; }
.pvd-param dt { margin: 0 0 4px; font-weight:700; color:#0B0D12; font-size:14px; }
.pvd-param dd { margin: 0; color:#41536B; font-size:15px; line-height:1.55; }

@media (max-width: 640px){
  .pvd-params-list { grid-template-columns: 1fr; }
}
/* PVD hero right column spacing (top/bottom) */
.pvd-hero-right {
  padding-top: clamp(16px, 5vw, 56px);
  padding-bottom: clamp(16px, 5vw, 56px);
}

/* Slightly tighter spacing on small screens */
@media (max-width: 640px){
  .pvd-hero-right {
    padding-top: clamp(12px, 4vw, 28px);
    padding-bottom: clamp(12px, 4vw, 28px);
  }
}
/* Tilda "Основной задачей..." card styling (match screenshot) */
.tilda-card{
  background:#f2f3f5;
  border-radius:24px;
  padding:clamp(16px,3vw,28px);
}
.tilda-card .tilda-title{
  margin:0 0 clamp(12px,2vw,18px);
  font-weight:700;
  font-size:clamp(20px,2.6vw,17px);
  line-height:1.25;
  color:#0B0D12;
}
.tilda-card .tilda-bullets{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:clamp(12px,2.5vw,24px);
}
.tilda-card .tilda-bullets li{
  display:grid;
  grid-template-columns:36px 1fr; /* icon + text */
  align-items:flex-start;
  gap:14px;
  color:#0B0D12;
  font-size:clamp(15px,2vw,15px);
  line-height:1.6; /* multi-line like screenshot */
}
.tilda-card .tilda-bullets li img{
  width:28px;
  height:28px;
  margin-top:2px; /* optical align to first text line */
  opacity:.9;
}
.tilda-card .tilda-bullets li span{
  display:block;
}

/* Tweak right column padding so card breathes */
.tilda-right{
  padding:clamp(16px,2.5vw,24px);
}

/* Mobile tune */
@media (max-width:640px){
  .tilda-card{ border-radius:20px; }
  .tilda-card .tilda-bullets li{
    grid-template-columns:28px 1fr;
    gap:12px;
  }
  .tilda-card .tilda-bullets li img{
    width:24px;height:24px;margin-top:3px;
  }
}
/* Advantages icons as images sizing */
.adv-ico img{
  width:24px;
  height:24px;
  object-fit:contain;
  display:block;
}
/* Advantages section — layout like screenshot, keep existing markup/classes */
/* Title tuning inside advantages only */
.pvd-advantages .pvd-section-title{
  text-align:center;
  font-size:clamp(26px,3vw,32px);
  font-weight:600;
  margin:0 0 clamp(20px,3vw,28px);
}

/* 2-column grid as in reference, with comfortable gaps */
.pvd-advantages .pvd-advantages-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(20px,3vw,28px);
}

/* Card visuals already set (border/radius). Here we define internal layout */
.pvd-advantages .adv-card{
  display:grid;
  grid-template-columns:48px 1fr; /* icon | content */
  grid-auto-rows:min-content;
  column-gap:16px;
  row-gap:8px;
  padding:clamp(18px,2.8vw,28px);
  border-radius:30px;
}

/* Icon box and placement */
.pvd-advantages .adv-ico{
  width:40px;height:40px;
  display:grid;place-items:center;
  border:1px solid #000;border-radius:12px;
  grid-row:1 / span 2; /* icon spans title + paragraph */
  align-self:start;justify-self:start;
}

/* Icon image size */
.pvd-advantages .adv-ico img{
  width:24px;height:24px;object-fit:contain;display:block;
}

/* Title to the right of icon */
.pvd-advantages .adv-card h3{
  grid-column:2/3;
  margin:0 0 4px;
  font-size:clamp(20px,2.6vw,24px);
  font-weight:700;
  line-height:1.25;
  color:#0B0D12;
}

/* Description below title, aligned with it */
.pvd-advantages .adv-card p{
  grid-column:2/3;
  margin:0;
  font-size:17px;
  line-height:1.35;
  color:#000;
}

/* Make the 5th card span full width as on the reference */
.pvd-advantages .pvd-advantages-grid .adv-card:nth-child(5){
  grid-column:1 / -1;
}

/* Responsive: single column on small screens, cancel span */
@media (max-width:640px){
  .pvd-advantages .pvd-advantages-grid{ grid-template-columns:1fr; }
  .pvd-advantages .pvd-advantages-grid .adv-card:nth-child(5){ grid-column:auto; }
}
/* Advantages: remove icon border and set image size as requested */
.pvd-advantages .adv-ico{
  border: none !important;
  border-radius: 0 !important;
  width: auto;
  height: auto;
  padding: 0;
}
.pvd-advantages .adv-ico img{
  width: 30px;
  height: auto;
}
/* Contact section (2-column layout like screenshot) */
.contact-section{padding:clamp(32px,6vw,72px) 0;background:#ededed}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:clamp(20px,3.5vw,48px);
  align-items:start;
}
@media(max-width: 900px){
  .contact-grid{ grid-template-columns: 1fr; }
}

/* Left column */
.contact-logo{
  width:96px;

  display:grid;place-items:center;
  margin-bottom:20px;
}
.contact-logo img{ width:150px;height:auto;display:block }

.contact-info{ display:flex; flex-direction:column; gap:18px }

.contact-email a{
  color:#0B0D12; text-decoration:none; font-weight:600;
}
.contact-company{ font-weight:700; color:#0B0D12 }

.contact-pair{ display:flex; flex-direction:column; gap:6px }
.contact-label{ font-weight:600; color:#0B0D12 }
.contact-address{
  color:#0B0D12; line-height:1.5; margin:0; max-width:560px;
}
.contact-phone a{
  color:#0f172a; text-decoration:none; font-weight:600;
}
.contact-phone a:hover{ text-decoration:underline }

/* Right column (form) */
.contact-title{
  margin:0 0 16px 0;
  font-size:clamp(22px,3.2vw,36px);
  font-weight:600;
  color:#0f172a;
}
.contact-form{ display:flex; flex-direction:column; gap:16px }
.contact-row{ width:100% }
.contact-row-2{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
@media(max-width:640px){
  .contact-row-2{ grid-template-columns:1fr; }
}

.contact-input,.contact-textarea{
  width:100%;
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:4px;
  padding:14px 16px;
  font-size:16px;
  color:#0B0D12;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.contact-input:focus,.contact-textarea:focus{
  border-color:#0f172a;
  box-shadow:0 0 0 2px rgba(116,134,159,.15);
}
.contact-input{ min-height:56px }
.contact-textarea{ min-height:180px; resize:vertical }

.contact-checkbox{
  display:flex; align-items:center; gap:10px; color:#0f172a;
  font-size:15px; line-height:1.4;
}
.contact-checkbox a{ color:#0f172a; text-decoration:underline }

.contact-submit{
  align-self:start;
  background:#0f172a;
  color:#fff;
  border:none;
  border-radius:4px;
  padding:14px 28px;
  font-weight:600;
}
.contact-submit:hover{ background:#677a95 }
/* Partners grid card styles (moved from inline) */
.partners-card{
  border:1px solid var(--clr-line, #E6ECF3);
  text-align:center;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-xl, 14px);
  background:#fff;
}
.partners-card-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  min-height:140px;
}
.partners-logo-img{
  max-width:85%;
  max-height:100px;
  width:auto;
  height:auto;
  object-fit:contain;
  transition:transform .3s ease, opacity .3s ease;
}
.partners-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(35,59,93,.05), transparent);
  opacity:0;
  transition:opacity .3s ease;
  border-radius:inherit;
  pointer-events:none;
}
.partners-card:hover .partners-card-overlay{ opacity:1; }
.partners-card:hover .partners-logo-img{ transform:scale(1.03); }
/* End partners card styles */
/* Center last two partner logos on the final row */
@media (min-width:1200px){
  /* 4 columns layout */
  .partners .partners-grid{ grid-template-columns:repeat(4,1fr); }
  .partners .partners-grid > .partners-card:nth-last-child(2){ grid-column:2; }
  .partners .partners-grid > .partners-card:last-child{ grid-column:3; }
}
@media (max-width:1199px) and (min-width:992px){
  /* 3 columns layout */
  .partners .partners-grid{ grid-template-columns:repeat(3,1fr); }
  .partners .partners-grid > .partners-card:nth-last-child(2){ grid-column:1; }
  .partners .partners-grid > .partners-card:last-child{ grid-column:3; }
}
/* On <= 991px it's 2 or 1 columns already — centering not needed */
/* Modal: hide inner scrollbar while keeping scroll functionality */
.modal-content{
  -ms-overflow-style: none;   /* IE/Edge */
  scrollbar-width: none;      /* Firefox */
}
.modal-content::-webkit-scrollbar{
  width: 0;
  height: 0;                  /* Chrome/Safari/Opera */
}
/* Internal page hero: align content to the left on desktop (not homepage) */
@media (min-width:1024px){
  .page-hero{
    justify-content:flex-start;
  }
  .page-hero-content{
    text-align:left;
    margin-left: calc(50% - 600px + 20px); /* align to main container left */
    margin-right:auto;
  }
}
/* About v2 (right column like screenshot): heading color/size and card for bottom text */
.about2-title{
  color:#8FAFD3;
  font-size:clamp(28px,4vw,44px);
  line-height:1.22;
  margin:0 0 18px 0;
  max-width:860px; /* ширина заголовка по сетке */
}
.about2-right .about2-text{
  font-size: 15px;
  line-height:1.65;
  color:#1F2937;
  /* визуальная ширина абзацев как на референсе */
  max-width:700px;
}
.about2-subtext{
  padding: 0 10px;
  align-self:end;           /* карточка тоже по низу, как на скрине */
}
/* About v2: mobile overrides — return fluid sizes for both images on small screens */
@media (max-width: 640px){
  /* Left big image: back to responsive */
  .about2-main-media{
    width:100% !important;
    height:auto !important;
    align-self:auto !important;
  }
  .about2-main-media img{
    width:100%;
    height:auto !important;
    object-fit:cover;
  }

  /* Bottom wide image: back to responsive and not bottom-aligned */
  .about2-subrow{
    align-items:start !important;
  }
  .about2-submedia{
    width:100% !important;
    height:auto !important;
    align-self:auto !important;
    margin:0;
  }
  .about2-submedia img{
    width:100%;
    height:auto !important;
    object-fit:cover;
  }

  /* Ensure right column height doesn't force alignment on mobile */
  .about2-right{
    height:auto !important;
  }
}
/* ===== Stretch products: compact and polished cards ===== */
.pvd-products-grid--compact,
.pvd-products-grid[style*="repeat(2, 1fr"] {
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  gap: clamp(16px, 2.6vw, 24px);
  align-items: stretch;
}

/* Card container */
.pvd-products-grid--compact .pvd-product,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product {
  background: #fff;
  border: 1px solid #E6ECF3;
  border-radius: 16px;
  padding: clamp(14px, 2vw, 18px);
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 14px;
  align-items: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

/* Text side */
.pvd-products-grid--compact .pvd-product-info,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-info {
  padding-right: clamp(6px, 1.5vw, 10px);
}

/* Title */
.pvd-products-grid--compact .pvd-product-title,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-title {
  margin: 0 0 6px;
  font-weight: 700;
  color: #233B5D;
  font-size: clamp(20px, 2.4vw, 24px);
  line-height: 1.2;
  letter-spacing: 0.2px;
}

/* Short description (clamped) */
.pvd-products-grid--compact .pvd-product-desc,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-desc {
  font-size: 14px;
  color: #41536B;
  margin: 0 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Size badge */
.pvd-products-grid--compact .pvd-product-size,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-size {
  display: inline-block;
  padding: 4px 10px;
  background: #F5F7FA;
  border: 1px solid #E6ECF3;
  border-radius: 999px;
  font-size: 13px;
  color: #41536B;
  margin-bottom: 10px;
}

/* Specs list in 2 columns */
.pvd-products-grid--compact .pvd-product-list,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  font-size: 14px;
  color: #41536B;
}

.pvd-products-grid--compact .pvd-product-list li,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-list li {
  position: relative;
  padding-left: 12px;
}

.pvd-products-grid--compact .pvd-product-list li::before,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #0f172a;
  line-height: 1;
}

/* Image side */
.pvd-products-grid--compact .pvd-product-media,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-media {
  display: grid;
  place-items: center;
}

.pvd-products-grid--compact .pvd-product-media img,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-media img {
  width: 100%;
  height: clamp(180px, 20vw, 260px);
  max-width: 100%;
  object-fit: contain;
  display: block;
}

/* Hover refinement */
.pvd-products-grid--compact .pvd-product:hover,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product:hover {
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  transform: translateY(-1px);
  transition: all .2s ease;
}

/* Responsive: stack to 1 column on tablets/mobiles */
@media (max-width: 900px) {
  .pvd-products-grid--compact,
  .pvd-products-grid[style*="repeat(2, 1fr"] {
    grid-template-columns: 1fr !important;
  }

  .pvd-products-grid--compact .pvd-product,
  .pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product {
    grid-template-columns: 1fr;
  }

  .pvd-products-grid--compact .pvd-product-media img,
  .pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-media img {
    height: clamp(200px, 42vw, 340px);
  }

  .pvd-products-grid--compact .pvd-product-list,
  .pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-list {
    grid-template-columns: 1fr;
  }
}
/* Compact products: rounded image corners */
.pvd-products-grid--compact .pvd-product-media img,
.pvd-products-grid[style*="repeat(2, 1fr"] .pvd-product-media img {
  border-radius: 16px;
  border: 1px solid #E6ECF3;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

/* ========== WhatsApp Chat Widget ========== */
:root{
  --wa-font: -apple-system, BlinkMacSystemFont, Roboto, "Open Sans", "Helvetica Neue", Arial, sans-serif;
  --wa-brand: #00e118;
  --wa-brand-dark: #00e118;
  --wa-header-bg: #2a5a53;
  --wa-text: #111;
  --wa-text-muted: #B9B9B9;
  --wa-bg: #fff;
  --wa-shadow: 0 10px 30px rgba(0,0,0,.15);
  --wa-radius: 12px;
}

@media (prefers-color-scheme: dark) {
  :root{
    --wa-header-bg: #2b3a38;
    --wa-text: #f4f4f4;
    --wa-text-muted: #9aa0a6;
    --wa-bg: #1a1c1e;
    --wa-shadow: 0 12px 32px rgba(0,0,0,.5);
  }
}

#whatsapp_chat_widget{
  font: 400 15px/1.4 var(--wa-font);
  color: var(--wa-text);
  z-index:90000;
}

/* -------- Floating bubble button -------- */
#wa-widget-send-button{
  position: fixed !important;
  right: 20px;
  bottom: 20px !important;
  /* z-index: 16000160 !important; */
  z-index: 9000; !important;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 56px;
  height: 56px;
  padding: 0 16px;
  gap: 10px;

  background: var(--wa-brand);
  border-radius: 999px;
  box-shadow: var(--wa-shadow);
  cursor: pointer;
  text-decoration: none;
  user-select: none;

  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  will-change: transform;
}

#wa-widget-send-button:hover{ background: var(--wa-brand-dark); transform: translateY(-1px); }
#wa-widget-send-button:active{ transform: translateY(0); }
#wa-widget-send-button:focus-visible{ outline: 3px solid rgba(0,225,24,.35); outline-offset: 3px; }

#wa-widget-send-button span{ color: #fff; font-weight: 700; font-size: 15px; line-height: 1; }
#wa-widget-send-button img{ width: 29px; height: 29px; fill: #fff; display: block; }

/* Compact mode on very small screens */
@media (max-width: 380px){
  #wa-widget-send-button{ min-width: 56px; padding: 0 14px; }
  #wa-widget-send-button span{ display: none; } /* оставляем только иконку */
}

/* -------- Chat box container -------- */
.wa-chat-box{
  position: fixed !important;
  right: 20px;
  bottom: 86px;                 /* над кнопкой */
  width: 360px;
  background: var(--wa-bg);
  border-radius: var(--wa-radius);
  box-shadow: var(--wa-shadow);
  z-index: 16000160 !important;
  overflow: hidden;
  display: none;                /* скрыто по умолчанию */
  transform-origin: bottom right;
}

/* Показать виджет: добавь .is-open к .wa-chat-box */
.wa-chat-box.is-open{ display: block; animation: wa-pop .18s ease-out; }
@keyframes wa-pop{
  from{ transform: scale(.98); opacity: 0; }
  to{ transform: scale(1); opacity: 1; }
}

/* Уважение к reduced motion */
@media (prefers-reduced-motion: reduce){
  .wa-chat-box.is-open{ animation: none; }
  #wa-widget-send-button{ transition: none; }
}

/* -------- Header -------- */
.wa-chat-box-header{
  display: flex;
  align-items: center;
  gap: 12px;
  height: 82px;
  padding: 0 16px;
  background: var(--wa-header-bg);
  color: #fff;
}

.wa-chat-box-brand{
  width: 50px; height: 50px;
  border-radius: 50%;
  background: #fff;
  overflow: hidden;
  flex: 0 0 50px;
}

.wa-chat-box-brand img{
  width: 100%; height: 100%; object-fit: cover;
}

.wa-chat-box-brand-text{ display: flex; flex-direction: column; }
.wa-chat-box-brand-name{ font-weight: 800; font-size: 16px; line-height: 1.2; }
.wa-chat-box-brand-subtitle{ font-weight: 500; font-size: 13px; opacity: .9; }

/* -------- Chat area -------- */
.wa-chat-box-content{
  background:
    url('/img/wa-bckg.jpg');
  padding: 12px 0 8px;
}

.wa-chat-box-content-chat{
  display: inline-block;
  max-width: 328px;
  margin: 12px 16px;
  padding: 14px 16px;
  background: var(--wa-bg);
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.06);
}

.wa-chat-box-content-chat-welcome{
  font-size: 14px;
  line-height: 1.6;
  color: var(--wa-text);
}

.wa-chat-box-content-chat-time{
  margin-top: 8px;
  text-align: right;
  font-size: 12px;
  color: var(--wa-text-muted);
}

/* -------- Send area -------- */
.wa-chat-box-send{ background: var(--wa-bg); padding-bottom: 8px; }

.wa-chat-box-content-send-btn{
  margin: 12px 16px 8px;
  padding: 12px 20px;
  width: calc(100% - 32px);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  background: var(--wa-brand) !important;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  user-select: none;

  position: relative;
  overflow: hidden;
  transition: background .15s ease, transform .1s ease;
}

.wa-chat-box-content-send-btn:hover{ background: var(--wa-brand-dark) !important; }
.wa-chat-box-content-send-btn:active{ transform: translateY(1px); }
.wa-chat-box-content-send-btn:focus-visible{ outline: 3px solid rgba(0,225,24,.35); outline-offset: 2px; }

.wa-chat-box-content-send-btn-text{ margin-left: 2px; z-index: 1; }
.wa-chat-box-content-send-btn svg{ width: 18px; height: 18px; fill: #fff; z-index: 1; }

/* Simple ripple highlight */
.wa-chat-box-content-send-btn::after{
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at var(--x,50%) var(--y,50%), rgba(255,255,255,.25), transparent 40%);
  opacity: 0; transition: opacity .2s ease;
}
.wa-chat-box-content-send-btn:hover::after{ opacity: .7; }

/* -------- Footer (powered by) -------- */
.wa-chat-box-poweredby{
  text-align: center;
  font-size: 13px;
  color: var(--wa-text-muted);
  padding: 4px 0 12px;
}
.wa-chat-box-poweredby a{ color: var(--wa-brand); text-decoration: none; }
.wa-chat-box-poweredby a:hover{ text-decoration: underline; }

/* -------- Close button (если добавишь) -------- */
.wa-chat-bubble-close-btn{
  position: absolute;
  right: 14px; top: 14px;
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(0,0,0,.1);
  color: #fff;
  cursor: pointer;
  transition: background .15s ease;
}
.wa-chat-bubble-close-btn:hover{ background: rgba(0,0,0,.18); }

/* -------- Responsive -------- */
@media (max-width: 600px){
  .wa-chat-box{
    right: 20px !important;
    left: 20px !important;
    width: auto;
    bottom: 80px;
  }
}

/* Optional: utility class to visually hide elements but keep for screen readers */
.sr-only{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

.error, .content
{
  /* border: 1px solid #000000; */
  margin-top: 50px;
  margin-bottom: 50px;
  max-width: 1280px;
  margin: 50px auto 100px;
  padding-inline: 24px;

  vertical-align: middle;
  color: #74869f;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 500;
}

.error a, .content a {
    color: #74869f;
    text-decoration: none;
}

.error h1, .content h1 {
  text-align: center;
}

.albom {
	margin: 5px;
	border: 0;
    border-radius: 2px;
	opacity: 0.9;
	/* min-width: 320px; */
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
}

.albom:hover {
	opacity: 1;
}


.albom-num {
	margin: 5px;
	border: 0;
	border-radius: 5px; 
	opacity: 0.85;
	height: 300px;
	/* min-width: 320px; */
		border: 1px solid #000000;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
}

.albom-num:hover {
	opacity: 1;
}


.news-list {
	/* border: 1px solid #000000; */
	/* font: normal normal normal 21px/38px Montserrat; */
	font: normal normal normal 21px/38px Roboto;
	letter-spacing: 0px;
	color: #2A2626;
	text-transform: uppercase;	
	/* border: 1px solid #000000; */
	margin-bottom: 20px;
	margin-top: 70px;
}

.news-list .itm{
    position: relative;
	height: 500px;	
    display: block; 
		border: 1px solid #0f172a;
	border-radius: 5px; 
	float: left;
    width: calc(33% - 40px);
	
	/* font: normal normal medium 10px/21px Montserrat; */
	font: normal normal normal 10px/21px Roboto;
    /* font-weight: 500; */
	color: #000000;
	margin-left: 5px;
	margin-right: 5px;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 350px;
	margin-bottom: 20px;
	overflow: hidden;
    line-height: 25px;
    font-size: 14px;	
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
}

.news-list .itm h3{
	/* border: 1px solid #000000; */
	margin: 0;
	padding: 0;
	text-align: center;
}

.news-list .itm:hover{
	box-shadow: 0px 3px 6px #00000029;
}

.news-list .itm d{
    display: block; 
    font-size: 17px;	
	font-style: bold;
}

.news-list .itm .img{
    position: absolute;
	left: 0px;
	top: 0px;
    width: 100%;
    height: 340px; 
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.8;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	border-radius: 5px; 
}

.news-list .itm:hover .img{
	opacity: 1;
}

.news-list .itm .sl{
    position: absolute;
	left: 0px;
	top: calc(100% - 75px);
    width: 100%;
    height: 75px; 
	background-repeat: repeat-x;
	/* border: 1px solid #000000; */
	z-index: 100;
}

.news_info .img{
    position: relative;
    width: 100%;
    height: 340px; 
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.8;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	border-radius: 5px; 
	/* border: 1px solid #000000; */
}
