/* ── FONTS ── */
@font-face {
  font-family: 'TildaSans';
  src: url('/fonts/TildaSans-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal;
}
@font-face {
  font-family: 'TildaSans';
  src: url('/fonts/TildaSans-Medium.woff2') format('woff2');
  font-weight: 500; font-style: normal;
}
@font-face {
  font-family: 'TildaSans';
  src: url('/fonts/TildaSans-Semibold.woff2') format('woff2');
  font-weight: 600; font-style: normal;
}
@font-face {
  font-family: 'TildaSans';
  src: url('/fonts/TildaSans-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal;
}
@font-face {
  font-family: 'TildaSans';
  src: url('/fonts/TildaSans-ExtraBold.woff2') format('woff2');
  font-weight: 800; font-style: normal;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#2A993B;
  --green-dark:#008951;
  --green-bg:#EAF7ED;
  --page-bg:#F5F9FB;
  --border:#DDE7EB;
  --dark:#1A1A1A;
  --gray:#6B7280;
  --gray2:#A4B6C0;
}
body{font-family:'TildaSans','Golos Text',sans-serif;color:var(--dark);background:#fff}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
@media (min-width:1400px){
  .container{max-width:1400px}
}

/* ── BREADCRUMBS ── */
.container-brc{padding-top:24px}
.breadcrumb{display:inline-flex;align-items:center;height:40px;margin:0;padding:0 20px;list-style:none;background:var(--page-bg);border-radius:20px;font-size:14px;font-weight:500}
.breadcrumb-item{color:#202020;white-space:nowrap}
.breadcrumb-item a{color:#202020;text-decoration:none;transition:color .2s}
.breadcrumb-item a:hover{color:var(--green)}
.breadcrumb-item.active{color:rgba(61,79,87,.6)}
.breadcrumb-item+.breadcrumb-item{position:relative;padding-left:18px}
.breadcrumb-item+.breadcrumb-item::before{content:"";position:absolute;left:7px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:#202020}

/* ── SEARCH ── */
.search-section{padding:16px 0 0;position:relative;z-index:20}
.search-wrap{position:relative}
.search-bar{display:flex;align-items:center;gap:8px;background:var(--page-bg);border-radius:20px;height:40px;padding:0 4px}
.search-icon{flex-shrink:0;font-size:13px;color:var(--gray2);padding:0 0 0 10px;}
.search-input{border:none;outline:none;box-shadow:none!important;font-size:14px;font-family:inherit;background:transparent;color:var(--dark);flex:1}
.search-input::placeholder{color:var(--gray2)}
.btn-find{background:var(--green);color:#fff;border:none;border-radius:16px;height:32px;padding:0 20px;font-size:12px;font-weight:700;letter-spacing:1px;transition:background .2s;white-space:nowrap}
.btn-find:hover{background:var(--green-dark)}
.search-results{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:8px 0;max-height:420px;overflow-y:auto;z-index:1000}
.search-results.show{display:block}
.search-results-section{padding:10px 20px}
.search-results-section+.search-results-section{border-top:1px solid var(--border)}
.search-results-section-title{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gray2);margin-bottom:6px}
.search-result-item{display:block;padding:6px 0;font-size:14px;color:var(--dark);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-result-item:hover{color:var(--green)}
.search-results-empty{padding:16px 20px;font-size:14px;color:var(--gray2);text-align:center}

/* ── HERO ── */
/*.hero-section{padding:16px 0 0}
.hero-slider{background:var(--page-bg);border-radius:32px;overflow:hidden}
.hero-slide-row{display:flex;min-height:480px}
.hero-slide-text{flex:0 0 50%;max-width:50%;background:var(--page-bg);display:flex;align-items:center}
.hero-content{padding:48px 64px}
.hero-title{font-size:32px;font-weight:700;line-height:1.4;letter-spacing:0;margin-bottom:48px;color:var(--dark)}
.hero-desc{font-family:'Roboto',sans-serif;font-size:20px;font-weight:300;color:var(--dark);line-height:1.4;margin-bottom:48px}
.hero-note{font-family:'Roboto',sans-serif;font-size:16px;font-weight:300;color:var(--dark);line-height:1.2;margin-bottom:48px}
.hero-right{flex:0 0 50%;max-width:50%;position:relative;overflow:hidden}
.hero-right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}*/
.btn-green-pill{display:inline-block;text-align:center;background:var(--green);color:#fff;border:none;border-radius:27px;font-size:14px;letter-spacing:0.5px;padding:0 28px;height:54px;line-height:54px;transition:background .2s}
.btn-green-pill:hover{background:var(--green-dark);color:#fff}
/* Swiper pagination */
.hero-slider .swiper-pagination{bottom:20px;left:0;width:100%}
@media(min-width:992px){.hero-slider .swiper-pagination{left:50%!important;width:50%!important}}
.hero-slider .swiper-pagination-bullet{width:8px;height:8px;background:rgba(255,255,255,0.5);opacity:1;transition:background .2s,transform .2s}
.hero-slider .swiper-pagination-bullet-active{background:#fff;transform:scale(1.2);opacity:1}

/* ── HERO 3 (Category banner: bg photo + text overlay) ── */
.hero3-section{padding:24px 0 0}
.hero3-container{max-width:1320px;margin:0 auto;/*padding:0 40px*/}
.hero-container{max-width:1400px;margin:0 auto;/*padding:0 40px*/}
.section-container{max-width:1320px;margin:0 auto}


.hero3-wrap{
  position:relative;
  height:572px;
  background-color:var(--page-bg);
  border-radius:0;
  overflow:hidden;
}
.hero3-bg-img{position:absolute;top:0;right:0;height:100%;width:auto;max-width:none}
.hero3-inner{position:relative;height:100%}
.hero3-content{height:100%;max-width:700px;padding:72px 0 40px;display:flex;flex-direction:column;justify-content:flex-start}
.hero3-title{font-size:32px;font-weight:700;line-height:1.25;text-transform:uppercase;letter-spacing:0;margin-bottom:48px;color:var(--dark)}
.hero3-desc{font-family:'Roboto',sans-serif;font-size:18px;font-weight:300;color:var(--dark);line-height:1.4;margin-bottom:48px}
.hero3-features{display:grid;grid-template-columns:repeat(3,1fr);column-gap:16px;row-gap:24px;margin-bottom:48px}
.hero3-feature{display:flex;align-items:flex-start;gap:10px}
.hero3-feature-icon{width:28px;height:28px;flex-shrink:0;color:var(--green)}
.hero3-feature-text{font-size:14px;line-height:1.3;color:var(--dark);padding-top:2px}
.hero3-btns{display:flex;flex-wrap:wrap;gap:12px}
.hero3-btns .btn-green-pill,.hero3-btns .btn-outline-green-pill{padding:0 22px;font-size:12px}
.hero3-btns .btn-outline-green-pill{color:var(--dark)}
.hero3-btns .btn-outline-green-pill:hover{color:#fff}
.btn-outline-green-pill{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--green);border:1.5px solid var(--green);border-radius:27px;font-size:13px;font-weight:500;letter-spacing:0.4px;padding:0 28px;height:53px;white-space:nowrap;transition:background .2s,color .2s}
.btn-outline-green-pill:hover{background:var(--green);color:#fff}
.hero3-photo{display:none}

@media(max-width:991px){
  .hero3-container{padding:0 24px}
  .hero3-wrap{height:auto;overflow:visible}
  .hero3-bg-img{display:none}
  .hero3-inner{height:auto}
  .hero3-content{max-width:100%;padding:32px 24px}
  .hero3-title{font-size:24px;margin-bottom:16px}
  .hero3-desc{font-size:16px;margin-bottom:24px}
  .hero3-features{grid-template-columns:repeat(2,1fr);row-gap:20px;margin-bottom:24px}
  .hero3-photo{display:block;position:relative;aspect-ratio:1668/1792}
  .hero3-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
  .btn-green-pill,.btn-outline-green-pill{height:48px;font-size:12px;padding:0 22px}
}

@media(max-width:575px){
  .hero3-container{padding:0 16px}
  .hero3-content{padding:24px 20px}
  .hero3-title{font-size:20px}
  .hero3-desc{font-size:14px}
  .hero3-features{grid-template-columns:1fr;row-gap:16px}
  .hero3-btns{flex-direction:column}
  .hero3-btns .btn-green-pill,.hero3-btns .btn-outline-green-pill{width:100%}
}

/* ── SUBCATS (mini category cards row) ── */
.subcats-section{padding:40px 0 32px}
.subcats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.subcat-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:var(--page-bg);border-radius:32px;overflow:hidden;aspect-ratio:327/213;padding:32px;transition:transform .2s,box-shadow .2s}
.subcat-card:hover{transform:translateY(-3px);/*box-shadow:0 8px 24px rgba(0,0,0,0.08)*/}
.subcat-card-title{position:relative;z-index:2;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:0.2px;line-height:1.3;color:var(--dark)}
.subcat-card-more{position:relative;z-index:2;display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:16px;height:32px;padding:0 16px;font-size:13px;font-weight:600;color:var(--dark);width:fit-content}
.subcat-card-more i{font-size:10px}
.subcat-card-img{position:absolute;right:0;bottom:0;left:0;width:100%;height:auto;z-index:1;pointer-events:none}

@media(max-width:991px){
  .subcats-grid{grid-template-columns:repeat(2,1fr);gap:8px}
}

@media(max-width:575px){
  .subcats-section{padding:24px 0 16px}
  .subcats-grid{grid-template-columns:1fr;gap:8px}
  .subcat-card{padding:24px}
}

/* ── SPHERES (3x3 mini links grid + video thumb) ── */
.spheres-section{padding:56px 0 37px 0}
.spheres-wrap{display:flex;gap:20px;align-items:stretch}
.spheres-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.spheres-card{display:flex;align-items:center;gap:14px;min-height:71px;padding:12px 20px;border:1px solid var(--border);border-radius:24px;font-size:14px;font-weight:500;color:var(--dark);line-height:1.3;transition:background .2s,transform .15s}
.spheres-card:hover{/*background:var(--green-bg);transform:translateY(-2px);*/color:var(--dark);cursor: default}
.spheres-card-icon{flex-shrink:0;width:24px;text-align:center;font-size:20px;color:var(--green)}
.spheres-video{flex:0 0 32.35%;position:relative;border-radius:16px;overflow:hidden;}
.spheres-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

@media(max-width:991px){
  .spheres-wrap{flex-direction:column}
  .spheres-grid{grid-template-columns:repeat(2,1fr)}
  .spheres-video{flex:none;min-height:220px}
}

@media(max-width:575px){
  .spheres-section{padding:24px 0}
  .spheres-grid{grid-template-columns:1fr;gap:8px}
  .spheres-card{font-size:13px}
  .spheres-video{min-height:180px}
}

/* ── SOLUTIONS + REQUEST FORM ── */
.solutions-section{padding:32px 0}
.solutions-wrap{display:grid;grid-template-columns:670fr 557fr;gap:7%;align-items:stretch}
.solution-cards{display:flex;gap:5px}
.solution-card{flex:1;display:flex;flex-direction:column;background:var(--page-bg);border-radius:32px;overflow:hidden}
.solution-card-title{padding:32px 32px 20px;font-size:20px;font-weight:700;text-transform:uppercase;line-height:1.3;color:var(--dark)}
.solution-card-photo{position:relative;aspect-ratio:664/668}
.solution-card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.solution-card-footer{padding:20px 32px 32px}
.solution-card-more{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:16px;height:32px;padding:0 16px;font-size:13px;font-weight:600;color:var(--dark);transition:background .2s,color .2s}
.solution-card-more:hover{background:var(--green);color:#fff}
.solution-card-more i{font-size:10px}

.request-form-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:48px}
.request-form-title{font-size:24px;font-weight:700;text-transform:uppercase;line-height:1.3;margin-bottom:32px;color:var(--dark)}
.request-form-desc{font-family:'Roboto',sans-serif;font-weight:300;font-size:15px;color:var(--gray);line-height:1.4;margin-bottom:32px}
.form-fields{display:flex;flex-direction:column;gap:17px;margin-bottom:32px}
.form-field{position:relative}
.form-field .form-select,.form-field .form-control{height:39px;border:1px solid var(--border);border-radius:19.5px;padding:0 20px;font-size:13px;color:var(--dark);font-family:inherit;background-color:#fff;box-shadow:none}
.form-field .form-select{cursor:pointer;padding-right:44px;background-image:none;appearance:none;-webkit-appearance:none}
.form-field .form-control::placeholder{color:var(--gray2)}
.form-field .form-select:focus,.form-field .form-control:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(42,153,59,.15)}
.form-field input[type=number]{appearance:none;-webkit-appearance:none;-moz-appearance:textfield}
.form-field input[type=number]::-webkit-inner-spin-button,.form-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.form-field-suffix{position:absolute;top:50%;right:20px;transform:translateY(-50%);font-size:12px;color:var(--gray2);pointer-events:none}
.form-field-arrow{position:absolute;top:50%;right:16px;transform:translateY(-50%);font-size:10px;color:var(--dark);pointer-events:none}
.form-field-hint{position:absolute;top:calc(100% + 4px);left:20px;font-size:12px;color:#e04040;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s;pointer-events:none}
.form-field-hint.show{opacity:1;transform:translateY(0)}
.request-form-card .btn-green-pill{width:100%;text-align:center;border:none;cursor:pointer}

@media(max-width:991px){
  .solutions-wrap{grid-template-columns:1fr;gap:20px}
  .solution-cards{flex-direction:column}
  .request-form-card{padding:32px 24px}
}

@media(max-width:575px){
  .solutions-section{padding:24px 0}
  .solution-card-title{font-size:16px;padding:24px 24px 16px}
  .solution-card-footer{padding:16px 24px 24px}
  .request-form-card{padding:24px 20px}
  .request-form-title{font-size:18px}
}

/* ── PROJECTS SLIDER ── */
.projects-section{padding:64px 0}
.projects-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.projects-header .sec-title{margin-bottom:20px}
.projects-nav{display:flex;align-items:center;gap:32px;flex-shrink:0}
.projects-nav-btn{width:16px;height:22px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--dark);cursor:pointer;transition:color .2s}
.projects-nav-btn svg{display:block;width:10px;height:18px}
.projects-nav-btn:hover{color:var(--green)}
.projects-nav-btn.swiper-button-disabled{opacity:.35;cursor:default;pointer-events:none}
.projects-slider{overflow:hidden;margin-top:24px}
.projects-slider .swiper-wrapper,.projects-slider .swiper-slide{height:auto}
.project-card{background:var(--page-bg);border-radius:24px;height:100%;display:flex;flex-direction:column}
.project-card-photo{margin:4px;border-radius:16px;overflow:hidden;position:relative;aspect-ratio:382/179}
.project-card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-card-body{padding:24px 32px 32px;display:flex;flex-direction:column;flex:1}
.project-card-title{font-family:'TildaSans',sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;line-height:1.3;margin-bottom:8px;color:#202020;min-height:46.8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.project-card-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--green-dark);margin-top:12px;margin-bottom:4px}
.project-card-object{font-family:'TildaSans',sans-serif;font-size:16px;color:#202020;line-height:1.35;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.project-card-equipment{font-family:'TildaSans',sans-serif;font-weight:300;font-size:14px;color:#202020;line-height:1.4;margin-bottom:16px;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.project-card-meta{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:12px;font-size:12px;color:#6A7F87}
.project-card-meta-item{font-family:'TildaSans',sans-serif;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size: 14px}
.project-card-meta-item i{font-size:11px;color:var(--green);flex-shrink:0}
.project-card-more{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:31px;padding:0 20px;border:1px solid var(--dark);border-radius:16px;font-size:14px;font-weight:500;color:var(--dark);transition:background .2s,color .2s,border-color .2s}
.project-card-more i{font-size:12px}
.project-card-more:hover{background:var(--green);border-color:var(--green);color:#fff}

@media(max-width:991px){
  .project-card-title{font-size:16px;min-height:41.6px}
}

/* ── FAQ + ЗАДАТЬ ВОПРОС ── */
.faq-section{padding:32px 0 64px}
.faq-desc{font-size:18px;line-height:1.5;color:var(--dark);margin-bottom:32px}
.faq-wrap{display:grid;grid-template-columns:670fr 558fr;gap:7%;align-items:start}

.faq-accordion .accordion-item.faq-item{background:var(--page-bg);border:1px solid transparent;border-radius:24px;margin-bottom:4px;overflow:hidden}
.faq-accordion .accordion-item.faq-item:has(.accordion-collapse.show){border-color:var(--border)}
.faq-accordion .accordion-header{margin:0}
.faq-accordion .accordion-button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:transparent;border:none;box-shadow:none;padding:28px 32px;font-size:18px;font-weight:400;font-family:inherit;color:var(--dark);text-align:left}
.faq-accordion .accordion-button::after{display:none}
.faq-accordion .accordion-icon{flex-shrink:0;font-size:14px;color:var(--dark);transition:transform .2s}
.faq-accordion .accordion-button:not(.collapsed) .accordion-icon{transform:rotate(180deg)}
.faq-accordion .accordion-body{padding:0 32px 28px;font-size:15px;line-height:1.6;color:var(--dark)}
.faq-accordion .accordion-body p{margin-bottom:12px}
.faq-accordion .accordion-body p:last-child{margin-bottom:0}
.faq-accordion .accordion-body ul,.faq-accordion .accordion-body ol{margin:0 0 12px;padding-left:20px}
.faq-accordion .accordion-body li{margin-bottom:4px}
.faq-accordion .accordion-body li:last-child{margin-bottom:0}
.faq-accordion .accordion-body ul:last-child,.faq-accordion .accordion-body ol:last-child{margin-bottom:0}
.faq-page-section .faq-wrap{grid-template-columns:1fr 1fr}
.faq-more{font-size:15px;color:var(--dark);text-decoration:none}
.faq-more:hover{color:var(--dark);text-decoration:underline}
.faq-all-btn{display:inline-flex;margin-top:40px}

.faq-form-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:48px}
.faq-form .ask-field{position:relative;margin-bottom:17px}
.faq-form .ask-field .form-control{height:47px;border:1px solid var(--border);border-radius:24px;padding:0 24px;font-size:14px;color:var(--dark);font-family:inherit;box-shadow:none}
.faq-form .ask-field .form-control::placeholder{color:var(--gray2)}
.faq-form .ask-field .form-control:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(42,153,59,.15)}
.faq-form .ask-field-required{position:absolute;top:50%;right:24px;transform:translateY(-50%);color:#e04040;pointer-events:none}
.faq-form .ask-field:has(.ask-field-required) .form-control{padding-right:36px}
.faq-form .ask-field-textarea{border:1px solid var(--border);border-radius:24px;overflow:hidden}
.faq-form .ask-field-textarea:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(42,153,59,.15)}
.faq-form .ask-field-textarea .form-control{height:auto;min-height:121px;padding:16px 24px;resize:vertical;border:none;border-radius:0}
.faq-form .ask-field-textarea .form-control:focus{border-color:transparent;box-shadow:none}
.faq-form .ask-field-textarea .form-control::-webkit-resizer{opacity:0}
@supports (-moz-appearance: none) {
    .faq-form .ask-field-textarea .form-control{width:calc(100% + 24px)}
}
.faq-form .textarea-resize-icon{position:absolute;right:16px;bottom:16px;pointer-events:none}
.faq-form-actions{display:flex;align-items:center;gap:24px;margin-top:32px}
.faq-form-actions .btn-green-pill{flex-shrink:0;border:none;cursor:pointer}
.faq-form-consent{flex:1;min-width:0;font-family:'Roboto',sans-serif;font-weight:300;font-size:13px;color:var(--gray);line-height:1.4;margin:0}
.faq-form-card a{color:currentColor;text-decoration:none}
.faq-form-card a:hover{color:currentColor;text-decoration:underline}
.faq-form-card .form-check-input:checked{background-color:var(--green);border-color:var(--green)}
.faq-form-card .form-check-input:focus{border-color:var(--green);box-shadow:0 0 0 .25rem rgba(42,153,59,.25)}
.faq-form .ask-field .form-control.is-invalid{border-color:#e04040}
.faq-form .ask-field .form-control.is-invalid:focus{border-color:#e04040;box-shadow:0 0 0 3px rgba(224,64,64,.15)}
.faq-form .ask-field-textarea:has(.form-control.is-invalid){border-color:#e04040}
.faq-form-card .form-check-input.is-invalid{border-color:#e04040}
.faq-form-card .invalid-feedback{color:#e04040}

@media(max-width:991px){
  .faq-wrap{grid-template-columns:1fr;gap:32px}
  .faq-page-section .faq-wrap{grid-template-columns:1fr}
  .faq-form-card{padding:32px 24px}
}

@media(max-width:575px){
  .faq-section{padding:24px 0 48px}
  .faq-desc{font-size:15px}
  .faq-accordion .accordion-button{padding:20px 24px;font-size:16px}
  .faq-accordion .accordion-body{padding:0 24px 20px}
  .faq-form-card{padding:24px 20px}
  .faq-form-actions{flex-direction:column;align-items:flex-start;gap:16px}
  .faq-form-actions .btn-green-pill{width:100%;text-align:center}
}

/* ── HERO 2 SLIDER С ТОЧКАМИ СПРАВА ── */

.hero2-section {
  padding: 16px 0 0;
  position: relative;
}

.hero2-slider {
  border-radius: 0 !important;
  overflow: hidden;
  position: relative;
}

.hero2-slide {
  position: relative;
  height: 507px;
  overflow: hidden;
  background: var(--page-bg);
}

.hero2-slide img {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  max-width: none;
}

.hero2-overlay {
  position: absolute;
  inset: 0;
  /**background: rgba(0, 0, 0, 0.8);*/
}

.hero2-container {
  position: relative;
  height: 100%;
  z-index: 2;
}

.hero2-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 64px 0 0;
  max-width: 680px;
  color: #fff;
}

.hero2-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 32px;
  color: #202020;
}

.hero2-desc {
  font-family: 'Roboto', sans-serif;
  font-size: 20px;
  font-weight: 300;
  color: #202020;
  line-height: 1.4;
  margin-bottom: 24px;
}

.hero2-note {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #202020;
  line-height: 1.2;
  margin-bottom: 36px;
}

/* ── ПАГИНАЦИЯ СПРАВА ПО ЦЕНТРУ ── */
.hero2-slider .swiper-pagination {
  position: absolute !important;
  right: 30px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  z-index: 10 !important;
    align-items: center !important;
}

/* Точки */
.hero2-slider .swiper-pagination-bullet {
  width: 4px !important;
  height: 4px !important;
  background: rgba(255, 255, 255, 0.4) !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  margin: 0 !important;
  flex-shrink: 0 !important;

}

/* Активная точка */
.hero2-slider .swiper-pagination-bullet-active {
  width: 8px !important;
  height: 8px !important;
  background: #000000 !important;
  transform: none !important;
  box-shadow: 0 0 20px rgba(0, 0, 0, 1) !important;
     margin: -2px 0 !important;
}

/* Точка при наведении */
.hero2-slider .swiper-pagination-bullet:hover {
  background: rgba(255, 255, 255, 0.7) !important;
  transform: scale(1.2) !important;
}

/* ── АДАПТИВ ── */

/* Планшеты */
@media (max-width: 991px) {
  .hero2-slide {
    height: 420px;
  }

  .hero2-slide img {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .hero2-content {
    padding: 28px 0 0;
    max-width: 100%;
  }

  .hero2-title {
    font-size: 22px;
    margin-bottom: 20px;
  }

  .hero2-desc {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .hero2-note {
    font-size: 14px;
    margin-bottom: 24px;
  }

  .hero2-slider .swiper-pagination {
    right: 16px !important;
    gap: 10px !important;
  }

  .hero2-slider .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
  }
}

/* Мобилки */
@media (max-width: 575px) {
  .hero2-slide {
    height: 380px;
  }

  .hero2-content {
    padding: 20px 0 0;
  }

  .hero2-title {
    font-size: 18px;
    margin-bottom: 14px;
  }

  .hero2-desc {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .hero2-note {
    font-size: 13px;
    margin-bottom: 18px;
  }

  .hero2-slider .swiper-pagination {
    right: 12px !important;
    gap: 8px !important;
  }

  .hero2-slider .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }
}


/* ── QUICK LINKS ── */
.quick-section{padding:48px 0 64px 0}
.quick-card{background:var(--page-bg);border:1px solid transparent;border-radius:51px;height:84px;width:100%;max-width:315px;display:flex;align-items:center;padding:0 20px 0 20px;gap:12px;cursor:pointer;transition:background .2s,transform .15s;color:var(--dark)}
.quick-card:hover{background:linear-gradient(var(--page-bg),var(--page-bg)) padding-box,linear-gradient(135deg,#2A993B 0%,#00965F 100%) border-box;border-color:transparent;transform:translateY(-2px);color:var(--dark)}
.quick-icon{display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--green);flex-shrink:0;width:60px}
.quick-label{font-family:'TildaSans',sans-serif;font-size:18px;font-weight:500;flex:1;line-height:1.3;color:var(--dark)}
.quick-arrow-btn{width:32px;height:32px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;color:var(--dark);transition:background .2s}
.quick-card:hover .quick-arrow-btn{background:var(--green);color:#fff}

/* ── FOR WHOM ── */
/*.for-whom-section{padding:32px 0 64px 0}
.sec-title{font-size:28px;font-weight:700;letter-spacing:0.2px;text-transform:uppercase;margin-bottom:24px}
.fw-card{background:#fff;border:1px solid var(--border);border-radius:32px;height:79px;display:flex;align-items:center;padding:0 16px 0 8px;gap:24px;cursor:pointer;transition:background .2s,transform .15s;font-size:18px;letter-spacing:0.3px;text-transform:uppercase;line-height:1.3}
.fw-card:hover{background:var(--green-bg);transform:translateY(-2px)}
.fw-card.active{background:var(--green);color:#fff;border-color:var(--green)}
.fw-icon{width:64px;height:64px;border-radius:24px;background:var(--page-bg);display:flex;align-items:center;justify-content:center;font-size:35px;color:#A4B6C0;flex-shrink:0}
.fw-card.active .fw-icon{background:rgba(255,255,255,0.15);color:#fff}*/

/* ── FOR WHOM ── */
.for-whom-section {
  padding: 32px 0 96px 0;
}

.sec-title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  margin-bottom: 48px;
}

.sec-title-faq {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  margin-bottom: 32px;
}

/* Сетка с отступами 2px */
.fw-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 колонки */
  gap: 2px; /* отступ между блоками 2px */
  max-width: 1312px; /* 4 * 327 + 3 * 2 = 1314px */
  margin: 0 auto;
}

/* Карточка 327×80px */
.fw-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 32px;
  height: 80px;
  display: flex;
  align-items: center;
  padding: 0 16px 0 8px;
  gap: 16px;
  transition: background .2s, transform .15s;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  line-height: 1.2;
  min-width: 0;
  overflow: hidden;
}

/*.fw-card:hover {
  background: var(--green-bg);
  transform: translateY(-2px);
}*/

.fw-card.active {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}

.fw-icon {
  width: 64px;
  height: 64px;
  min-width: 64px;
  border-radius: 24px;
  background: var(--page-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  color: #A4B6C0;
  flex-shrink: 0;
}

.fw-card.active .fw-icon {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

/* ── АДАПТИВ ── */

/* Планшеты - 2 колонки */
@media (max-width: 991px) {
  .fw-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    max-width: 100%;
  }

  .fw-card {
    height: 76px;
    font-size: 14px;
    gap: 12px;
    padding: 0 14px 0 6px;
  }

  .fw-icon {
    width: 54px;
    height: 54px;
    min-width: 54px;
    font-size: 26px;
    border-radius: 20px;
  }
}

/* Мобилки - 2 колонки */
@media (max-width: 575px) {
  .fw-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
  }

  .fw-card {
    height: 68px;
    font-size: 11px;
    gap: 8px;
    padding: 0 8px 0 4px;
    border-radius: 20px;
  }

  .fw-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    font-size: 18px;
    border-radius: 14px;
  }
}

/* ── SECTORS ── */
.sectors-section{padding:0 0 64px 0}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:4px;row-gap:6px}
.sector-tile{position:relative;aspect-ratio:327/256;border-radius:32px;overflow:hidden;background:var(--page-bg);transition:transform .2s,box-shadow .2s}
.sector-tile:hover{transform:translateY(-3px);/*box-shadow:0 8px 24px rgba(0,0,0,0.08)*/}
.sector-tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.sector-tile:hover .sector-tile-img{transform:scale(1.05)}
.sector-tile-label{position:absolute;top:0;left:0;right:0;padding:24px 24px 0;font-size:16px;font-weight:800;letter-spacing:0.2px;text-transform:uppercase;line-height:1.3;color:#202020;overflow-wrap:break-word;word-break:break-word;text-shadow:0 1px 2px rgba(255,255,255,.85),0 0 14px rgba(255,255,255,.65),0 0 22px rgba(255,255,255,.45)}

/* Планшеты - 2 колонки */
@media (max-width: 991px) {
  .sector-grid{grid-template-columns:repeat(2,1fr)}
  .sector-tile-label{font-size:11px;padding:16px 16px 0}
}

/* ── CATALOG ── */
.catalog-section{padding:32px 0 64px 0}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.catalog-tile{position:relative;aspect-ratio:437.333/321;border-radius:32px;overflow:hidden;background:var(--page-bg);cursor:pointer;transition:transform .2s,box-shadow .2s}
.catalog-tile:hover{transform:translateY(-3px);/*box-shadow:0 8px 24px rgba(0,0,0,0.08)*/}
.catalog-tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.catalog-tile:hover .catalog-tile-img{transform:scale(1.05)}
.catalog-tile-label{position:absolute;top:0;left:0;right:0;padding:32px 32px 0;font-family:'TildaSans',sans-serif;font-size:18px;font-weight:700;letter-spacing:0;text-transform:uppercase;line-height:1.2;color:#202020;overflow-wrap:break-word;word-break:break-word;text-shadow:0 1px 2px rgba(255,255,255,.85),0 0 14px rgba(255,255,255,.65),0 0 22px rgba(255,255,255,.45)}
.catalog-tile-more{position:absolute;left:32px;bottom:32px;display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:16px;padding:8px 16px;font-size:13px;font-weight:600;color:#ffffff;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.catalog-tile:hover .catalog-tile-more{opacity:1;transform:translateY(0);background: var(--green)}
.catalog-tile-more i{font-size:10px}
.catalog-more-wrap{padding-top:48px}

/* Планшеты - 2 колонки */
@media (max-width: 991px) {
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
  .catalog-tile-label{font-size:16px;padding:20px 20px 0}
  .catalog-tile-more{left:20px;bottom:20px}
}

/* ── WHY US ── */
.why-section{padding:32px 0}
.why-banner{position:relative;overflow:hidden;background:var(--page-bg);height:490px}
.why-banner-img{position:absolute;top:0;right:0;height:100%;width:auto;max-width:none}
.why-banner-fade{position:absolute;inset:0;background:linear-gradient(90deg,var(--page-bg) 0%,var(--page-bg) 42%,rgba(245,249,251,0) 84%)}
.why-banner-content{position:relative;height:100%}
.why-banner .sec-title{position:absolute;top:80px;left:49px;max-width:700px;margin:0}
.contact-office{position:absolute;top:50%;left:49px;transform:translateY(-50%);max-width:605px;display:flex;flex-direction:column;gap:24px}
.contact-office-title{font-size:22px;font-weight:700;letter-spacing:0.2px;text-transform:uppercase;line-height:1.3;color:#202020;margin:0}
.contact-office-info{display:flex;flex-direction:column;gap:20px;margin:0;padding:0;list-style:none}
.contact-office-row{display:flex;align-items:flex-start;gap:14px;font-size:16px;line-height:1.4;color:#202020}
.contact-office-row a{color:#202020;text-decoration:none}
.contact-office-row a:hover{color:var(--green)}
.contact-office-icon{width:18px;flex-shrink:0;padding-top:3px;color:var(--green);font-size:16px}
.contact-office-btn{align-self:flex-start;}
.why-grid{position:absolute;top:148px;left:49px;display:grid;grid-template-columns:repeat(3,288.667px);gap:5px;width:868.94px}
.why-card{box-shadow:0 6px 20px rgba(0,0,0,0.08);position:relative;display:flex;gap:14px;align-items:flex-start;padding:24px;border-radius:24px;border:1px solid #E8F7FF;background:rgba(255,255,255,0.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.why-check{width:20px;flex-shrink:0;margin-top:3px;color:var(--green);font-size:20px}
.why-name{font-size:18px;font-weight:700;letter-spacing:0.2px;text-transform:uppercase;line-height:1.3;display:block;margin-bottom:8px;color:#202020}
.why-desc{font-size:16px;font-weight:400;color:#202020;line-height:1.4;display:block}

/* ── OTHER OFFICES ── */
.offices-section{padding:32px 0 96px}
.offices-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.office-card{position:relative;overflow:hidden;background:var(--page-bg);border-radius:24px;padding:32px 40px 32px 32px}
.office-card-title{display:inline-block;font-size:20px;font-weight:700;letter-spacing:0.2px;color:var(--dark);margin:0 0 24px;padding-bottom:8px;border-bottom:2px solid var(--green)}
.office-card-info{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;max-width:360px}
.office-card-row{display:flex;align-items:flex-start;gap:14px;font-size:15px;line-height:1.5;color:var(--dark)}
.office-card-row a{color:var(--dark);text-decoration:none}
.office-card-row a:hover{color:var(--green)}
.office-card-link{color:#3B82F6!important;text-decoration:underline!important}
.office-card-icon{width:18px;flex-shrink:0;padding-top:3px;color:var(--green);font-size:15px}
.office-card-sub{margin-left:32px;line-height:1.5}
.office-card-sub-label{display:block;color:#707070;margin-bottom:2px}
.office-card-map{position:absolute;top:16px;right:8px;width:230px;height:230px;object-fit:contain;pointer-events:none}


/* ── PROJECTS ── */
.clients-section{padding:64px 0}
.clients-slider{overflow:hidden}
.clients-slider .swiper-slide{height:170px}
.client-card{background:var(--page-bg);/*border:1px solid var(--border)*/;border-radius:24px;display:flex;align-items:center;justify-content:center;padding:20px;height:100%;transition:background .2s}
/*.client-card:hover{background:var(--green-bg)}*/

/* ── CERTS ── */
.certs-section{padding:32px 0;}
.certs-row{display:flex;align-items:flex-start;justify-content:space-between}
.cert-icon{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1;text-decoration:none}
.cert-icon-box{width:104px;height:104px;max-width:100%;border-radius:24px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cert-icon:hover .cert-icon-box{background:var(--page-bg)}
.cert-icon img{height:64px;width:auto;max-width:100%;object-fit:contain}
.cert-icon-caption{margin-top:8px;font-size:14px;line-height:1.3;color:var(--dark);text-align:center;opacity:0;visibility:hidden;transition:opacity .2s}
.cert-icon:hover .cert-icon-caption{opacity:1;visibility:visible}

/* ── PRODUCTION ── */
.production-section{padding:64px 0}
.prod-card{background:var(--page-bg);border-radius:24px;overflow:hidden;transition:box-shadow .2s;display:flex;flex-direction:column}
.prod-card:hover{box-shadow:0 6px 20px rgba(0,0,0,0.08)}
.prod-img-wrap{padding:4px 4px 0;flex-shrink:0}
.prod-img{border-radius:20px;overflow:hidden}
.prod-img img{width:100%;aspect-ratio:319/179;object-fit:cover;display:block;transition:transform .35s}
.prod-card:hover .prod-img img{transform:scale(1.04)}
.prod-caption{font-size:20px;font-weight:400;color:var(--dark);line-height:1.3;padding:32px 24px;flex:1;display:flex;align-items:center}

/* ── CTA ── */
.cta-section{padding:32px 0 40px;}
.cta-wrap{position:relative;border-radius:24px;overflow:hidden;min-height:344px;display:flex}
.cta-bg{position:absolute;inset:0;width:100%;/*height:100%*/;object-fit:cover;object-position:center;z-index:0}
.cta-content{position:relative;z-index:1;color:#fff;padding:64px 35px 64px 64px;display:flex;flex-direction:column;justify-content:center;flex:0 0 50%}
.cta-title{font-size:32px;font-weight:700;text-transform:uppercase;line-height:1.2;margin-bottom:48px}
.cta-btns{display:flex;flex-wrap:wrap;gap:16px}
.btn-wh{background:#fff;color:var(--dark);border:none;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:0.4px;padding:17px 32px;transition:background .2s;white-space:nowrap}
.btn-wh:hover{background:#f0f0f0}
.btn-outline-wh2{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.7);border-radius:999px;font-size:14px;font-weight:500;letter-spacing:0.4px;padding:17px 32px;transition:background .2s;white-space:nowrap}
.btn-outline-wh2:hover{background:rgba(255,255,255,0.15)}
.cta-photo-mobile{display:none}

/* ── FOOTER ── */
.site-footer{background:var(--page-bg);border-top:1px solid var(--border);height:80px;display:flex;align-items:center}
.footer-logo{white-space:nowrap;flex-shrink:0}
.footer-link{font-size:14px;font-weight:400;color:#000;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:color .2s}
.footer-link i{font-size:13px;color:#000}
.footer-link:hover{color:var(--green)}
.footer-link:hover i{color:var(--green)}
.social-btn{width:32px;height:32px;border-radius:50%;background:#fff;border:1.5px solid #fff;display:inline-flex;align-items:center;justify-content:center;color:#000;transition:background .2s;flex-shrink:0}
.social-btn:hover{background:var(--green);border-color:var(--green);color:#fff}
.social-btn img{width:18px;height:18px}

/* ── CONTAINER GUTTER ── */
.container-fluid{padding-left:40px!important;padding-right:40px!important}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.fade-up{opacity:0}
.fade-up.visible{animation:fadeUp .45s ease forwards}

/* ── RESPONSIVE 991px ── */
@media(max-width:991px){
  .hero2-slider{border-radius:20px}
  .hero2-slide{height:420px}
  .hero2-content{padding:28px 0 0;max-width:100%}
  .hero2-title{font-size:22px;margin-bottom:20px}
  .hero2-desc{font-size:16px;margin-bottom:16px}
  .hero2-note{font-size:14px;margin-bottom:24px}
  .hero-slider{border-radius:20px}
  .hero-slide-row{flex-direction:column;min-height:0}
  .hero-slide-text{flex:none;width:100%;max-width:100%}
  .hero-right{flex:none;width:100%;max-width:100%;aspect-ratio:16/9}
  .hero-content{padding:28px 24px}
  .hero-title{font-size:22px;margin-bottom:24px}
  .hero-desc{font-size:16px;margin-bottom:20px}
  .hero-note{font-size:14px;margin-bottom:24px}
  .cta-wrap{flex-direction:column;min-height:0}
  .cta-bg{display:none}
  .cta-content{flex:none;padding:36px 28px;background:linear-gradient(135deg,#008951 0%,#006D62 100%)}
  .cta-title{font-size:20px;margin-bottom:28px}
  .cta-photo-mobile{display:block;position:relative;min-height:220px}
  .cta-photo-mobile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
  .why-banner{height:auto}
  .why-banner .why-banner-content{padding:28px 24px 24px;display:flex;flex-direction:column;gap:20px;max-width:100%}
  .why-banner .sec-title{position:static;max-width:100%}
  .contact-office{position:static;max-width:100%;transform:none}
  .why-grid{position:static;grid-template-columns:repeat(2,1fr);width:auto}
  .offices-grid{grid-template-columns:1fr;gap:16px}
  .office-card{padding:28px 24px}
  .office-card-map{width:150px;height:150px;top:12px;right:4px}
  .why-banner-fade{background:linear-gradient(90deg,var(--page-bg) 0%,var(--page-bg) 55%,rgba(245,249,251,0.15) 100%)}
  .sec-title{font-size:20px}
  .site-footer{height:auto;padding:16px 0}
  .container-fluid{padding-left:24px!important;padding-right:24px!important}
  .certs-row{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:6px;gap:8px}
  .cert-icon{flex:0 0 auto}
  .cert-icon img{height:44px}
  .quick-section .col-md-3,
  .for-whom-section .col-md-3,
  .production-section .col-md-3{flex:0 0 100%;max-width:100%}
  .quick-card{max-width:none}
  .prod-caption{font-size:16px;padding:12px 20px 20px}
  .quick-label{font-size:16px}
  .fw-card{font-size:14px}
  .section-container{padding:0 24px}
  .container-brc{padding-top:24px}
}

/* ── RESPONSIVE 575px ── */
@media(max-width:575px){
  .hero2-slide{height:380px}
  .hero2-title{font-size:18px;margin-bottom:14px}
  .hero2-desc{font-size:14px;margin-bottom:12px}
  .hero2-note{font-size:13px;margin-bottom:18px}
  .hero-title{font-size:18px;margin-bottom:16px}
  .hero-desc{font-size:14px;margin-bottom:16px}
  .hero-note{font-size:13px;margin-bottom:20px}
  .sec-title{font-size:16px}
  .fw-card{font-size:14px;height:auto;padding:12px 16px 12px 8px;gap:14px}
  .fw-icon{width:48px;height:48px;border-radius:16px;font-size:20px}
  .quick-card{border-radius:20px;height:auto;padding:14px 16px;gap:12px}
  .quick-icon{font-size:32px;width:48px}
  .quick-label{font-size:16px}

  .catalog-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .office-card-map{position:static;width:120px;height:120px;margin:16px 0 0 auto}
  .office-card-title{font-size:18px}
  .why-banner-fade{background:rgba(245,249,251,0.9)}
  .why-banner .why-banner-content{padding:24px 20px 20px}

  .btn-wh,.btn-outline-wh2{padding:14px 24px;font-size:13px}
  .section-container{padding:0 16px}
  .container-brc{padding-top:24px}
}


/* ── DOWNLOAD DOCUMENTS ── */
.download-documents{padding:32px 0}
.dl-accordion .accordion-item{border:none;background:transparent;margin-bottom:16px}
.dl-accordion .accordion-item:last-child{margin-bottom:0}
.dl-accordion .accordion-header{margin:0}
.dl-accordion .accordion-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:var(--green);color:#fff;border:none;border-radius:24px !important;padding:22px 32px;font-size:16px;font-weight:700;letter-spacing:.5px;text-align:center;font-family:inherit;box-shadow:none;transition:background .2s}
.dl-accordion .accordion-button:hover{background:var(--green-dark)}
.dl-accordion .accordion-button:focus{box-shadow:none}
.dl-accordion .accordion-button::after{display:none}
.dl-accordion .accordion-button:not(.collapsed){background:var(--green-dark);border-radius:24px 24px 0 0}
.dl-accordion .accordion-button .dl-btn-icon{font-size:18px;flex-shrink:0}
.dl-accordion .accordion-collapse{background:var(--page-bg);border-radius:0 0 24px 24px;overflow:hidden}
.dl-accordion .accordion-body{padding:32px}
.dl-docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.dl-doc-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;padding:16px 20px;text-decoration:none;color:var(--dark);transition:box-shadow .2s}
.dl-doc-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);color:var(--dark)}
.dl-doc-icon{font-size:30px;color:#E0332B;flex-shrink:0}
.dl-doc-name{font-size:14px;line-height:1.4;word-break:break-word;flex:1}
.dl-doc-download{margin-left:auto;font-size:15px;color:var(--green);flex-shrink:0}

@media(max-width:991px){
  .dl-accordion .accordion-button{font-size:14px;padding:18px 24px}
  .dl-accordion .accordion-body{padding:24px}
}
@media(max-width:575px){
  .dl-accordion .accordion-button{font-size:13px;padding:16px 20px;gap:8px}
  .dl-docs-grid{grid-template-columns:1fr}
}

/* ── CATALOG DOCUMENTS PAGE ── */
.catalog-docs-section{padding:56px 0}
.catalog-docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.catalog-doc-card{display:flex;flex-direction:column;background:var(--page-bg);border-radius:24px;overflow:hidden;transition:transform .2s}
.catalog-doc-card:hover{transform:translateY(-3px)}
.catalog-doc-photo{width:100%}
.catalog-doc-photo img{display:block;width:100%;height:auto}
.catalog-doc-title{flex:1;margin:0;padding:20px 20px 12px;font-size:14px;font-weight:600;line-height:1.35;color:var(--dark);text-transform:uppercase}
.catalog-doc-download{display:inline-flex;align-items:center;gap:8px;margin:0 20px 20px;padding:0 18px;height:40px;border-radius:20px;border:1px solid var(--dark);font-size:13px;font-weight:500;color:var(--dark);width:fit-content;transition:background .2s,color .2s,border-color .2s}
.catalog-doc-download:hover{background:var(--green);border-color:var(--green);color:#fff}
.catalog-doc-download i{font-size:12px}
.catalog-docs-all{display:flex;justify-content:center;padding-top:60px}

@media(max-width:991px){
  .catalog-docs-grid{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media(max-width:575px){
  .catalog-docs-section{padding:32px 0}
  .catalog-docs-grid{grid-template-columns:1fr;gap:12px}
}

 #scroll-to-top {
        position: fixed;
        bottom: 30px;
        right: 30px;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background-color: var(--accent-green-color);
        color: #fff;
        border: none;
        cursor: pointer;
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 9999;
        box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        transition: opacity 0.3s ease;
}

#scroll-to-top:hover {
    opacity: 0.85;
}


@media (max-width: 768px) {
    #scroll-to-top {
        width: 36px;
        height: 36px;
        bottom: 20px;
        right: 15px;
        font-size: 12px;
    }
}

.bottom__cookie-block {
    width: 100%;
    padding: 15px 0;
    height: auto; /* было 150px — фиксированная высота ломала мобилку */
    min-height: 80px;
    background-color: rgba(128, 128, 128, 0.8);
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 100000;
    text-align: justify;
    color: #fff;
    -webkit-transform: translateZ(0);
}

/* -- Calc equipment modal: wider dialog for a less cramped equipment-row grid -- */
.calc-form-modal .modal-dialog {
    max-width: 900px;
}

@media (min-width: 1200px) {
    .calc-form-modal .modal-dialog {
        max-width: 1100px;
    }
}

.calc-form-modal .modal-body {
    max-height: 85vh;
    overflow-y: auto;
}

.calc-form-modal .equipment-row .js-quantity-input {
    padding-left: 8px;
    padding-right: 8px;
    text-align: center;
}

.calc-form-modal #equipment-rows .equipment-row:first-child .js-remove-row {
    display: none;
}
.calc-form-modal .js-remove-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #FF4E4E;
    border: none;
    padding: 0;
    color: #fff;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    transition: background .15s;
}

.calc-form-modal .js-remove-row:hover {
    background: #e03e3e;
    color: #fff;
}

.calc-form-modal .form-check-input:checked {
    background-color: var(--green);
    border-color: var(--green);
}

.calc-form-modal .form-check-input:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 .25rem rgba(42, 153, 59, .25);
}

.calc-form-modal a {
    color: inherit;
    text-decoration: none;
}

.calc-form-modal a:hover {
    color: inherit;
    text-decoration: underline;
}


/* -- Calc-form-modal family: pill inputs / modal chrome to match design mockup -- */
.calc-form-modal .modal-content {
    border-radius: 24px;
    border: 1px solid var(--border);
    box-shadow: 0 52px 116px rgba(18, 21, 19, .09);
}

.calc-form-modal .modal-header {
    border-bottom: none;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    padding: 32px 32px 0;
}

.calc-form-modal .modal-body {
    padding: 24px 32px 32px;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
}

.calc-form-modal .modal-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--dark);
    text-transform: uppercase;
}

.calc-form-modal .btn-close {
    width: 39px;
    height: 39px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background-size: 14px;
    opacity: 1;
    box-shadow: none;
}

.calc-form-modal .btn-close:hover {
    background-color: var(--page-bg);
    opacity: 1;
}

.calc-form-modal .control-label,
.calc-form-modal .form-label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dark);
    font-family: 'TildaSans', sans-serif;
}

.calc-form-modal .required {
    position: relative;
}

.calc-form-modal .modal-section-title {
    font-size: 18px;
    font-family:'TildaSans',sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--dark);
    margin: 30px 0;
}

.calc-form-modal .modal-section-title ~ .row .required .control-label::after,
.calc-form-modal .modal-section-title ~ .row .required .form-label::after {
    content: "*";
    color: #e04040;
    margin-left: 4px;
}

.calc-form-modal .form-control,
.calc-form-modal .form-select {
    height: 39px;
    border: 1px solid #DDE7EB;
    border-radius: 19.5px;
    padding: 0 20px;
    font-size: 16px;
    color: var(--dark);
    background-color: #fff;
    box-shadow: none;
    font-family:'TildaSans',sans-serif;
}

.calc-form-modal .form-control::placeholder {
    color: var(--gray2);
}

.calc-form-modal .form-control:focus,
.calc-form-modal .form-select:focus {
    border-color: var(--green-dark);
    box-shadow: 0 0 0 3px rgba(0, 137, 81, .15);
}

.calc-form-modal .form-control.is-invalid,
.calc-form-modal .form-select.is-invalid {
    border-color: #e04040;
    background-image: none;
}

.calc-form-modal .textarea-shell {
    position: relative;
    overflow: hidden;
    border-radius: 23.5px;
    border: 1px solid #DDE7EB;
    background-color: #fff;
}

.calc-form-modal .textarea-shell::after {
    content: "";
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 14px;
    height: 14px;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M14 10L10 14' stroke='%231A1A1A' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M14 0L0 14' stroke='%231A1A1A' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M14 5L5 14' stroke='%231A1A1A' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
}

.calc-form-modal .textarea-shell:focus-within {
    border-color: var(--green-dark);
    box-shadow: 0 0 0 3px rgba(0, 137, 81, .15);
}

.calc-form-modal textarea.form-control {
    display: block;
    height: auto;
    min-height: 104px;
    width: calc(100% + 20px);
    padding: 16px 20px;
    resize: vertical;
    border: none;
    border-radius: 0;
    background: none;
}

.calc-form-modal textarea.form-control:focus {
    box-shadow: none;
    border-color: transparent;
}

.calc-form-modal .file-upload {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.calc-form-modal .file-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.calc-form-modal .file-upload-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    height: 44px;
    padding: 0 20px;
    border: 1.5px solid var(--green-dark);
    border-radius: 22px;
    background: #fff;
    color: var(--dark);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    cursor: pointer;
    transition: background-color .2s;
}

.calc-form-modal .file-upload-btn:hover {
    background: var(--green-bg);
}

.calc-form-modal .file-upload-input.is-invalid + .file-upload-btn {
    border-color: #e04040;
}

.calc-form-modal .file-upload-btn-divider {
    width: 1px;
    height: 20px;
    background: var(--border);
}

.calc-form-modal .file-upload-btn-icon {
    display: flex;
    color: var(--dark);
}

.calc-form-modal .file-upload-filename {
    font-size: 12px;
    color: var(--gray);
    word-break: break-all;
}

.calc-form-modal .form-text,
.calc-form-modal .hint-block {
    font-size: 12px;
    color: var(--gray);
}

.calc-form-modal .invalid-feedback {
    font-size: 12px;
}

.calc-form-modal [class*="select2-container--"] .select2-selection {
    height: 39px !important;
    border-radius: 19.5px;
    border-color: #DDE7EB;
    display: flex !important;
    align-items: center !important;
}

.calc-form-modal [class*="select2-container--"] .select2-selection__rendered {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: normal !important;
    font-family:'TildaSans',sans-serif;
    font-size: 16px;
}

.calc-form-modal [class*="select2-container--"] .select2-selection__placeholder,
.calc-form-modal [class*="select2-container--"] .select2-selection__rendered > * {
    line-height: normal !important;
}

.calc-form-modal [class*="select2-container--"] .select2-selection__arrow {
    height: 37px !important;
    top: 0 !important;
}

.calc-form-modal .js-add-equipment-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    border: 1px solid var(--green-dark);
    color: var(--dark);
    background: #fff;
    border-radius: 19.5px;
    height: 39px;
    padding: 0 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.calc-form-modal .js-add-equipment-row:hover {
    background: var(--green-bg);
}

.calc-form-modal .js-add-equipment-row-plus {
    color: var(--green-dark);
    font-size: 18px;
    line-height: 1;
}

.calc-form-modal .form-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-left: 0;
}

.calc-form-modal .form-check-input {
    width: 20px;
    height: 20px;
    margin-left: 0;
    margin-top: 3px;
    flex-shrink: 0;
    border-radius: 4px;
    border-color: var(--border);
}

.calc-form-modal .form-check-label {
    margin-left: 0;
}

.calc-form-modal button[type=submit] {
    display: inline-block;
    text-align: center;
    background: var(--green);
    color: #fff;
    border: none;
    border-radius: 27px;
    font-size: 14px;
    letter-spacing: .5px;
    padding: 0 28px;
    height: 54px;
    line-height: 54px;
    transition: background .2s;
}

.calc-form-modal button[type=submit]:hover:not(:disabled) {
    background: var(--green-dark);
}

.calc-form-modal button[type=submit]:disabled {
    opacity: .5;
    cursor: not-allowed;
}


.calc-form-modal .calc-form-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 8px;
}

.calc-form-modal .calc-form-consent {
    flex: 1;
    min-width: 0;
}

.calc-form-modal .calc-form-actions button[type=submit] {
    flex-shrink: 0;
}

@media (max-width: 991px) {
    .calc-form-modal .calc-form-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .calc-form-modal .calc-form-actions button[type=submit] {
        width: 100%;
    }
}
