/* =========================
   BASE / RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

img,
svg,
video{
max-width:100%;
}

html{
overflow-x:hidden;
-webkit-text-size-adjust:100%;
scrollbar-gutter:stable;
}

/*
  Единая сетка брейкпоинтов (ориентиры):
  · 320–374   — компактные телефоны
  · 375–430   — стандартные смартфоны
  · 431–767   — крупные смартфоны
  · 768–1024  — планшеты
  · 1025–1439 — ноутбуки / MacBook
  · 1440+     — большие десктопы
  Медиазапросы: max-width:374 · min 375 · min 431 · min 768 · min 901 (меню) · min 1025 · min 1440
*/

:root{

--gold:#e19702;
--gold2:#fbc457;

--cream:#f5f2ed;
--dark:#0b1323;

--text:#222;
--white:#fff;

--radius:12px;
--shadow:0 10px 30px rgba(0,0,0,.12);

--nav-inner:56px;
--navbar-stack:calc(var(--nav-inner) + env(safe-area-inset-top, 0px));

/* вертикальный ритм секций */
--section-pad-y:clamp(3.25rem, 5vw + 2rem, 6rem);
--section-pad-y-tight:clamp(2.85rem, 4vw + 1.5rem, 4.75rem);

/* типографика (плавное масштабирование) */
--font-hero:clamp(2.125rem, 4vw + 1rem, 6.75rem);
--font-hero-sub:clamp(1.15rem, 2.5vw + 0.72rem, 2.625rem);
--font-hero-lead:clamp(0.97rem, 1.35vw + 0.82rem, 1.28rem);
--font-section-title:clamp(1.42rem, 2.4vw + 0.9rem, 2.52rem);
--font-card-heading:clamp(1rem, 1.35vw + 0.82rem, 1.15rem);
--font-body-card:clamp(0.88rem, 0.32vw + 0.8rem, 0.94rem);
--font-small:clamp(0.72rem, 0.28vw + 0.68rem, 0.81rem);
--font-lead-p:clamp(0.94rem, 1.1vw + 0.8rem, 1.08rem);
--line-tight:1.18;
--line-body:1.62;
--line-relaxed:1.68;
--measure-prose:42rem;

}

@media (min-width:901px){
:root{
--nav-inner:60px;
}
}

body{

font-family:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
font-size:clamp(15px, 0.45vw + 14px, 16px);
line-height:1.55;
background:#ffffff;
color:var(--text);

}

.container{
width:100%;
max-width:1400px;
margin-left:auto;
margin-right:auto;
padding-left:max(14px, env(safe-area-inset-left));
padding-right:max(14px, env(safe-area-inset-right));
}

@media (min-width:375px){
.container{
padding-left:max(16px, env(safe-area-inset-left));
padding-right:max(16px, env(safe-area-inset-right));
}
}

@media (min-width:431px){
.container{
padding-left:max(18px, env(safe-area-inset-left));
padding-right:max(18px, env(safe-area-inset-right));
}
}

@media (min-width:768px){
.container{
padding-left:max(22px, env(safe-area-inset-left));
padding-right:max(22px, env(safe-area-inset-right));
}
}

@media (min-width:1025px){
.container{
padding-left:max(24px, env(safe-area-inset-left));
padding-right:max(24px, env(safe-area-inset-right));
}
}

@media (min-width:1440px){
.container{
padding-left:max(28px, env(safe-area-inset-left));
padding-right:max(28px, env(safe-area-inset-right));
}
}



/* =========================
   NAVBAR
========================= */

.navbar{

position:fixed;
top:0;
left:0;
right:0;

min-height:var(--navbar-stack);
padding-top:env(safe-area-inset-top, 0px);
padding-bottom:0;

background:var(--cream);

display:flex;
align-items:stretch;

z-index:1200;

box-shadow:0 2px 10px rgba(0,0,0,.05);

}

.nav-container{

display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
min-width:0;
flex:1;
min-height:var(--nav-inner);
padding-top:4px;
padding-bottom:4px;
}

@media (min-width:901px){
.nav-container{

gap:20px;

}
}

.nav-container__end{
display:flex;
align-items:center;
gap:clamp(8px, 2vw, 14px);
margin-left:auto;
min-width:0;
flex:1;
justify-content:flex-end;
}

@media (max-width:900px){
.nav-container__end{
flex:0 0 auto;
gap:8px;
}
}

.lang-switch{
display:inline-flex;
align-items:center;
gap:4px;
flex-shrink:0;
font-weight:700;
font-size:clamp(12px, 1.1vw, 13px);
letter-spacing:0.02em;
}

.lang-switch__link{
color:#222;
text-decoration:none;
padding:6px 8px;
border-radius:10px;
transition:background .15s ease, color .15s ease;
white-space:nowrap;
}

.lang-switch__link:hover{
background:rgba(0,0,0,.06);
color:var(--accent2);
}

.lang-switch__link.is-active{
color:var(--accent2);
background:rgba(224,123,0,.14);
}

.lang-switch__sep{
color:rgba(0,0,0,.35);
user-select:none;
padding:0 2px;
font-weight:600;
}

.brand{

display:flex;
align-items:center;
gap:clamp(8px, 2vw, 14px);
text-decoration:none;

line-height:1;
min-width:0;
flex-shrink:1;

}

.brand-logo{

height:clamp(38px, 10vw, 48px);
width:auto;
max-width:40vw;
display:block;

}

.brand-text{

display:flex;
flex-direction:column;
justify-content:center;
min-width:0;

}

.brand-name{

height:clamp(22px, 5.5vw, 28px);
max-width:min(160px, 42vw);
width:auto;
display:block;

}

.brand-silk{

height:clamp(14px, 3.8vw, 18px);
max-width:min(130px, 38vw);
width:auto;
display:block;

opacity:.8;
margin-top:-2px;

}

.nav-toggle{
display:none;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px;
width:48px;
height:48px;
padding:0;
border:0;
border-radius:14px;
background:rgba(0,0,0,.07);
cursor:pointer;
flex-shrink:0;
-webkit-tap-highlight-color:transparent;
transition:background .2s ease;
}

.nav-toggle:hover{
background:rgba(0,0,0,.11);
}

.nav-toggle:focus-visible{
outline:3px solid rgba(224,123,0,.65);
outline-offset:2px;
}

.nav-toggle__bar{
display:block;
width:22px;
height:2px;
background:#222;
border-radius:2px;
transition:transform .22s ease, opacity .2s ease;
}

.nav-toggle.is-active .nav-toggle__bar:nth-child(1){
transform:translateY(7px) rotate(45deg);
}

.nav-toggle.is-active .nav-toggle__bar:nth-child(2){
opacity:0;
}

.nav-toggle.is-active .nav-toggle__bar:nth-child(3){
transform:translateY(-7px) rotate(-45deg);
}

.nav-panel{
display:flex;
justify-content:flex-end;
flex:1;
min-width:0;
}

.nav-links{

display:flex;
gap:clamp(14px, 2.4vw, 32px);
align-items:center;
flex-wrap:nowrap;
justify-content:flex-end;
row-gap:8px;
min-width:0;
}

@media (min-width:901px) and (max-width:1200px){
.nav-links a,
.nav-links__mega-btn{
font-size:13px;
letter-spacing:.4px;
}
.nav-links{
gap:16px 18px;
}
}

.nav-links a{

color:#222;
font-size:clamp(13px, 1.15vw, 14px);

text-decoration:none;
font-weight:600;

letter-spacing:.5px;

transition:.2s;
white-space:nowrap;

}

@media (max-width:900px){

.nav-toggle{
display:inline-flex;
}

.nav-panel{
position:fixed;
top:var(--navbar-stack);
left:0;
right:0;
bottom:0;
z-index:1180;
max-height:calc(100dvh - var(--navbar-stack));
background:#fff;
padding:8px max(14px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
overflow-y:auto;
overscroll-behavior:contain;
-webkit-overflow-scrolling:touch;
transform:translateX(105%);
visibility:hidden;
transition:transform .3s cubic-bezier(.2,.75,.2,1), visibility .3s;
box-shadow:-8px 0 32px rgba(15,23,42,.12);
flex:initial;
justify-content:flex-start;
}

.nav-panel.is-open{
transform:translateX(0);
visibility:visible;
}

.nav-links{
flex-direction:column;
align-items:stretch;
flex-wrap:nowrap;
gap:0;
width:100%;
}

.nav-links > a{
white-space:normal;
justify-content:flex-start;
padding:14px 16px;
min-height:48px;
display:flex;
align-items:center;
border-radius:14px;
font-size:15px;
letter-spacing:.02em;
border-bottom:1px solid var(--line);
}

.nav-dropdown{
width:100%;
border-bottom:1px solid var(--line);
}

.nav-links__mega-btn{
white-space:normal;
width:100%;
text-align:left;
padding:14px 16px;
min-height:48px;
display:flex;
align-items:center;
font-size:15px;
letter-spacing:.02em;
}
}

.nav-drawer-backdrop{
position:fixed;
top:var(--navbar-stack);
left:0;
right:0;
bottom:0;
z-index:1170;
background:rgba(11,19,35,.42);
opacity:0;
transition:opacity .28s ease;
pointer-events:none;
}

.nav-drawer-backdrop:not([hidden]){
opacity:1;
pointer-events:auto;
}

body.nav-drawer-open{
overflow:hidden;
}

.nav-links a:hover{

color:var(--gold2);

}

.brand:focus-visible,
.nav-links a:focus-visible{
outline:2px solid rgba(224,123,0,.75);
outline-offset:4px;
border-radius:4px;
}

/* мега-панель «Направления» — три пункта сразу под шапкой */
.nav-dropdown{
display:inline-flex;
align-items:center;
}

.nav-links__mega-btn{
background:none;
border:0;
cursor:pointer;
font:inherit;
font-family:inherit;
color:#222;
font-size:14px;
font-weight:600;
letter-spacing:.8px;
padding:0;
white-space:nowrap;
transition:color .2s;
}

.nav-links__mega-btn:hover{
color:var(--gold2);
}

.mega-directions-open .nav-links__mega-btn{
color:var(--accent2);
}

.nav-links__mega-btn:focus-visible{
outline:2px solid rgba(224,123,0,.75);
outline-offset:4px;
border-radius:4px;
}

.nav-mega-backdrop{
position:fixed;
top:var(--navbar-stack);
left:0;
right:0;
bottom:0;
background:rgba(11,19,35,.38);
z-index:1280;
}

.nav-mega{
position:fixed;
top:var(--navbar-stack);
left:0;
right:0;
z-index:1290;
background:#fff;
border-bottom:1px solid var(--line);
box-shadow:0 20px 50px rgba(15,23,42,.12);
padding:clamp(16px, 3vw, 22px) 0 clamp(18px, 3vw, 26px);
max-height:calc(100dvh - var(--navbar-stack));
overflow:auto;
overscroll-behavior:contain;
-webkit-overflow-scrolling:touch;
}

.nav-mega__kicker{
font-size:11px;
font-weight:800;
letter-spacing:.1em;
text-transform:uppercase;
color:var(--accent2);
margin:0 0 14px;
}

.nav-mega__grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
}

@media (max-width:767px){
.nav-mega__grid{
grid-template-columns:1fr;
}
}

@media (min-width:768px) and (max-width:900px){
.nav-mega__grid{
grid-template-columns:repeat(2, minmax(0,1fr));
}
}

.nav-mega__item{
display:flex;
flex-direction:column;
gap:8px;
padding:20px 22px;
border-radius:18px;
border:1px solid var(--line);
text-decoration:none;
color:inherit;
background:var(--bg);
transition:transform .22s ease, box-shadow .22s ease, border-color .2s ease;
min-width:0;
-webkit-tap-highlight-color:transparent;
}

@media (max-width:900px){
.nav-mega__item{
min-height:52px;
padding:18px 20px;
}
}

.nav-mega__item:hover{
transform:translateY(-3px);
border-color:rgba(224,123,0,.32);
box-shadow:0 14px 36px rgba(0,0,0,.08);
}

.nav-mega__item-title{
font-size:clamp(14px,1.4vw,16px);
font-weight:800;
line-height:1.3;
color:var(--text);
}

.nav-mega__item-hint{
font-size:13px;
font-weight:700;
color:var(--accent2);
}

.nav-mega__catalog{
display:inline-block;
margin-top:20px;
font-size:14px;
font-weight:700;
color:var(--accent2);
text-decoration:none;
}

.nav-mega__catalog:hover{
text-decoration:underline;
}

.nav-mega__catalog:focus-visible{
outline:2px solid rgba(224,123,0,.75);
outline-offset:4px;
border-radius:4px;
}

.nav-mega__item:focus-visible{
outline:3px solid rgba(245,155,10,.55);
outline-offset:2px;
}


/* =========================
   HERO
========================= */

.hero{

position:relative;
min-height:min(100dvh, 920px);

display:flex;
align-items:center;

padding-top:calc(var(--navbar-stack) + clamp(28px, 7vw, 52px));
padding-bottom:clamp(32px, 6vw, 64px);

/* ПРАВИЛЬНАЯ КАРТИНКА */

background:url("/assets/images/sections/hero-bg.jpg") right center no-repeat;

background-size:cover;

overflow:hidden;

}


/* =========================
   GOLD SHAPE
========================= */

.hero-overlay{

position:absolute;

left:0;
top:0;

width:min(100%, 600px);

height:100%;

/* МЯГКИЙ ПРЕМИУМ ГРАДИЕНТ */

background:linear-gradient(
135deg,
#f2a100 0%,
#e19702 30%,
#d38a00 40%,
rgba(211,138,0,0.92) 90%
);

clip-path:polygon(
0 0,
100% 0,
92% 100%,
0 100%
);

z-index:1;

}

@media (min-width:768px){
.hero-overlay{
width:65%;
clip-path:polygon(
0 0,
100% 0,
82% 100%,
0 100%
);
}
}

@media (min-width:1025px){
.hero-overlay{
width:60%;
clip-path:polygon(
0 0,
100% 0,
80% 100%,
0 100%
);
}
}



/* =========================
   HERO CONTENT
========================= */

.hero-content{

position:relative;
z-index:2;

max-width:min(720px, 100%);

margin-left:0;
margin-right:auto;
padding-left:max(14px, env(safe-area-inset-left));
padding-right:max(14px, env(safe-area-inset-right));

display:flex;
flex-direction:column;
align-items:flex-start;

}

@media (min-width:431px){
.hero-content{
padding-left:max(18px, env(safe-area-inset-left));
margin-left:clamp(12px, 4vw, 80px);
}
}

@media (min-width:1025px){
.hero-content{
margin-left:clamp(40px, 6vw, 120px);
}
}



/* =========================
   HERO TITLE
========================= */

.hero-title{

font-family:"Montserrat", system-ui, sans-serif;

font-size:var(--font-hero);

font-weight:800;

letter-spacing:clamp(0.03em, 0.12vw, 0.08em);

margin-bottom:clamp(12px, 2.5vw, 20px);

line-height:var(--line-tight);

max-width:100%;
overflow-wrap:anywhere;

color:#000;

}

.hero-title-link{
color:inherit;
text-decoration:none;
display:inline-block;
transition:opacity .2s ease, transform .2s ease;
}

.hero-title-link:hover{
opacity:.88;
transform:scale(1.01);
}

.hero-title-link:focus-visible{
outline:3px solid rgba(255,255,255,.75);
outline-offset:4px;
border-radius:4px;
}



/* =========================
   HERO SUBTITLE
========================= */

.hero-subtitle{

font-size:var(--font-hero-sub);

font-weight:700;

line-height:var(--line-tight);

margin-bottom:clamp(12px, 2.2vw, 18px);

color:#fff;

max-width:min(22rem, 100%);
overflow-wrap:anywhere;

}

@media (min-width:768px){
.hero-subtitle{
max-width:min(28rem, 100%);
}
}

@media (min-width:1025px){
.hero-subtitle{
max-width:min(36rem, 100%);
}
}



/* =========================
   HERO TEXT
========================= */

.hero-text{

font-size:var(--font-hero-lead);

line-height:var(--line-relaxed);

color:#fff;

margin-bottom:clamp(24px, 5vw, 40px);

max-width:min(var(--measure-prose), 100%);

}

.hero-btn__short{
display:none;
}

@media (max-width:480px){

.hero{
padding-bottom:clamp(52px, 11vw, 92px);
}

.hero-content{
padding-left:max(18px, env(safe-area-inset-left));
padding-right:max(18px, env(safe-area-inset-right));
}

.hero-title{
font-size:clamp(1.62rem, 6vw + 0.42rem, 2.35rem);
margin-bottom:clamp(10px, 2.2vw, 16px);
}

.hero-subtitle{
font-size:clamp(0.93rem, 3.5vw + 0.38rem, 1.18rem);
max-width:100%;
margin-bottom:clamp(10px, 2vw, 14px);
}

.hero-text{
font-size:clamp(0.85rem, 2.3vw + 0.72rem, 0.98rem);
margin-bottom:clamp(16px, 4vw, 26px);
}

.hero-btn__long{
display:none;
}

.hero-btn__short{
display:inline;
}

.hero-buttons{
gap:10px;
max-width:100%;
}

.hero-buttons .btn.hero-btn{
padding:10px 18px;
min-height:44px;
font-size:14px;
border-radius:10px;
}

}

@media (max-width:430px){

.hero-buttons{
flex-direction:column;
align-items:flex-start;
gap:10px;
}

.hero-buttons .btn.hero-btn{
width:100%;
max-width:min(280px, 100%);
}

}



/* =========================
   BUTTONS
========================= */

.hero-buttons{

display:flex;
flex-wrap:wrap;
gap:clamp(12px, 3vw, 18px);
align-items:stretch;
width:100%;
max-width:36rem;

}



/* BASE BUTTON */

.btn{

padding:14px 28px;

border-radius:12px;

font-weight:700;

text-decoration:none;

font-size:clamp(15px, 1.9vw, 16px);

transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease, filter .22s ease;

display:inline-flex;
align-items:center;
justify-content:center;

min-height:48px;
min-width:0;

flex:1 1 auto;

}

@media (min-width:431px){
.btn{
flex:0 1 auto;
min-height:50px;
padding:15px 32px;
}
}

@media (min-width:768px){
.btn{
min-height:52px;
}
}

@media (min-width:1025px){
.btn{
min-height:54px;
padding:16px 34px;
}
}

@media (max-width:374px){
.hero-buttons .btn:not(.hero-btn){
flex:1 1 auto;
width:100%;
}
}

.btn:focus-visible{
outline:3px solid rgba(224,123,0,.6);
outline-offset:3px;
}



/* PRIMARY */

.btn-primary{

background:#f0c36a;

color:#111;

box-shadow:0 2px 8px rgba(11,19,35,.08),0 4px 20px rgba(224,123,0,.18);
border:1px solid rgba(193,124,0,.25);

}

.btn-primary:hover{

background:var(--gold2);
transform:translateY(-2px);
box-shadow:0 6px 20px rgba(11,19,35,.1),0 10px 32px rgba(224,123,0,.28);

}

.btn-primary:active{
transform:translateY(0);
}



/* SECONDARY */

.btn-secondary{

border:2px solid rgba(255,255,255,.95);

color:#fff;
background:rgba(255,255,255,.06);

}

.btn-secondary:hover{

background:#fff;
color:#111;
transform:translateY(-2px);
box-shadow:0 8px 28px rgba(11,19,35,.12);

}

.btn-secondary:active{
transform:translateY(0);
}
/* =========================
   BASE TYPO (Montserrat everywhere)
========================= */

:root{
  --bg: #f6f6f6;
  --card: #ffffff;
  --text: #121212;
  --muted: rgba(0,0,0,.68);
  --muted2: rgba(0,0,0,.55);
  --line: rgba(0,0,0,.06);
  --shadow: 0 20px 60px rgba(0,0,0,.08);
  --accent: #f59b0a;
  --accent2: #e07b00;
  /* UI polish: глубина карточек и секций (без смены типографики) */
  --surface: #f2f4f8;
  --surface-soft: #fafbfd;
  --shadow-layer:
    0 1px 0 rgba(255,255,255,.88) inset,
    0 2px 8px rgba(11,19,35,.04),
    0 14px 42px rgba(11,19,35,.07);
  --shadow-layer-hover:
    0 1px 0 rgba(255,255,255,.92) inset,
    0 8px 28px rgba(11,19,35,.08),
    0 22px 56px rgba(11,19,35,.1);
  --transition-card: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
  --accent-edge: linear-gradient(90deg, rgba(224,123,0,.88) 0%, rgba(224,123,0,.22) 42%, rgba(224,123,0,.08) 100%);
}

/* =========================
   ABOUT
========================= */

.about{
  padding:clamp(56px, 10vw, 90px) 0 clamp(64px, 11vw, 110px);
  background:var(--bg);
}

.about-shell{
  display:block;
}

.about-card{
  background:var(--card);
  border-radius:clamp(18px, 3vw, 26px);
  padding:clamp(22px, 5vw, 44px);
  box-shadow:var(--shadow);
}

.about-title{
  font-family:"Montserrat",sans-serif;
  font-size:clamp(1.48rem, 3.2vw + 0.85rem, 2.75rem);
  letter-spacing:-.02em;
  margin:0 0 clamp(18px, 3vw, 26px);
  line-height:var(--line-tight);
  overflow-wrap:anywhere;
}

.about-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(24px, 4vw, 44px);
  align-items:start;
}

@media (min-width:768px){
.about-grid{
  grid-template-columns:1.05fr .95fr;
  gap:clamp(28px, 4vw, 40px);
}
}

@media (min-width:1025px){
.about-grid{
  grid-template-columns:1.15fr .85fr;
  gap:44px;
}
}


/* IMAGE */

.about-media{
  border-radius:18px;
  overflow:hidden;
  background:#eee;
  border:1px solid var(--line);
  max-height:clamp(240px, 55vw, 420px);
}

.about-media img{
  width:100%;
  height:clamp(220px, 45vw, 420px);
  object-fit:cover;
  display:block;
}


/* TEXT */

.about-content{
  padding-top:6px;
}

.about-lead{
  font-size:clamp(16px, 2.1vw, 18px);
  line-height:1.6;
  margin-bottom:14px;
}

.about-text{
  font-size:clamp(14.5px, 1.85vw, 16px);
  line-height:1.72;
  margin-bottom:14px;
  color:var(--muted);
}


/* STATS */

.about-stats{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(18px, 5vw, 34px);
  padding-top:18px;
}

.about-stat__num{
  font-size:clamp(2rem, 6vw, 2.75rem);
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--accent2);
}

.about-stat__label{
  margin-top:6px;
  font-size:clamp(12px, 1.6vw, 13px);
  color:var(--muted2);
}



/* =========================
   NEWS (inside about)
========================= */

.about-news{
  margin-top:34px;
}

.news-title{
  font-size:18px;
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:14px;
}


/* TABS */

.news-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  background:#fff;
  padding:8px;
  border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  border:1px solid var(--line);
  width:100%;
  max-width:100%;
  margin-bottom:18px;
}

@media (min-width:431px){
.news-tabs{
gap:12px;
padding:10px;
width:fit-content;
max-width:none;
}
}

.news-tab{
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:12px 16px;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
  font-size:clamp(13px, 1.8vw, 15px);
  transition:.2s;
  min-height:44px;
  -webkit-tap-highlight-color:transparent;
}

.news-tab:hover{
  transform:translateY(-1px);
}

.news-tab.is-active{
  border-color:rgba(245,155,10,.45);
  box-shadow:0 0 0 4px rgba(245,155,10,.12);
}



/* NEWS GRID */

.news-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(14px, 3vw, 18px);
}

@media (min-width:768px){
.news-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media (min-width:1025px){
.news-grid{
grid-template-columns:repeat(3,1fr);
}
}

.news-card{
  display:block;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(0,0,0,.06);
  transition:.25s cubic-bezier(.2,.7,.2,1);
  color:inherit;
  text-decoration:none;
  background:#fff;
}

.news-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 60px rgba(0,0,0,.12);
}

.news-media{
  position:relative;
  aspect-ratio:16/10;
  background:#f3f3f3;
}

.news-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.news-badge{
  position:absolute;
  top:12px;
  left:12px;
  padding:8px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--line);
}

.news-badge--youtube{
  box-shadow:0 0 0 4px rgba(255,0,0,.10);
}

.news-badge--instagram{
  box-shadow:0 0 0 4px rgba(245,155,10,.10);
}

.news-body{
  padding:14px 14px 16px;
}

.news-date{
  font-size:12px;
  opacity:.65;
  margin-bottom:8px;
}

.news-titleline{
  font-size:clamp(13px, 1.9vw, 14px);
  font-weight:800;
  line-height:1.35;
  min-height:0;
}

@media (min-width:768px){
.news-titleline{
min-height:38px;
}
}



/* =========================
   AI CHAT (floating) — отдельный слой, закрытый блок = [hidden], без .is-open
========================= */

/* Кнопка ВНЕ .assist-layer — выше оверлея, всегда в hit-test */
.assist-fab{
  position:fixed;
  z-index:10050;
  right:max(16px, env(safe-area-inset-right));
  bottom:max(16px, env(safe-area-inset-bottom));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 14px 8px 12px;
  min-height:44px;
  min-width:44px;
  max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));
  border-radius:999px;
  border:1px solid rgba(0,0,0,.1);
  background:linear-gradient(180deg, #f0a32a 0%, var(--accent2) 100%);
  color:#fff;
  font:inherit;
  font-weight:700;
  font-size:13px;
  letter-spacing:.01em;
  line-height:1.2;
  cursor:pointer;
  box-shadow:0 6px 20px rgba(224,123,0,.28), 0 2px 6px rgba(0,0,0,.08);
  -webkit-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:opacity .22s ease, transform .22s ease, box-shadow .15s ease, filter .15s ease;
}

/* Пока открыт чат — FAB полностью убран из потока взаимодействия (не только прозрачность) */
.assist-fab.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px);
  box-shadow:none;
  filter:none;
}

.assist-fab__icon{
  font-size:16px;
  line-height:1;
  flex-shrink:0;
}

.assist-fab__label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:11rem;
}

@media (max-width:540px){
.assist-fab{
  bottom:max(20px, env(safe-area-inset-bottom));
  padding:7px 12px 7px 10px;
  font-size:12.5px;
  gap:5px;
}
}

@media (max-width:360px){
.assist-fab__label{
  display:none;
}
.assist-fab{
  padding:10px 12px;
}
}

.assist-fab:hover:not(.is-hidden){
  transform:translateY(-1px);
  filter:brightness(1.03);
  box-shadow:0 8px 26px rgba(224,123,0,.32), 0 2px 8px rgba(0,0,0,.1);
}

.assist-fab:active:not(.is-hidden){
  transform:translateY(0);
}

.assist-fab:focus-visible{
  outline:3px solid rgba(224,123,0,.55);
  outline-offset:3px;
}

/* Оверлей + диалог: целиком скрыты через атрибут hidden (нет невидимого прямоугольника) */
.assist-layer[hidden]{
  display:none !important;
}

.assist-layer:not([hidden]){
  display:block;
  position:fixed;
  inset:0;
  z-index:10040;
  pointer-events:none;
}

.assist-layer__backdrop{
  position:absolute;
  inset:0;
  margin:0;
  padding:0;
  border:0;
  display:block;
  background:rgba(11,19,35,.38);
  cursor:pointer;
  pointer-events:auto;
  -webkit-tap-highlight-color:transparent;
}

.assist-dialog{
  position:absolute;
  right:max(12px, env(safe-area-inset-right));
  bottom:max(12px, env(safe-area-inset-bottom));
  left:auto;
  width:min(360px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));
  max-height:min(520px, calc(100dvh - var(--navbar-stack) - 24px));
  height:min(520px, calc(100dvh - var(--navbar-stack) - 24px));
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.09);
  box-shadow:0 18px 56px rgba(15,23,42,.2), 0 0 0 1px rgba(255,255,255,.6) inset;
  pointer-events:auto;
  overflow:hidden;
}

@media (max-width:480px){
.assist-dialog{
  left:max(10px, env(safe-area-inset-left));
  right:max(10px, env(safe-area-inset-right));
  width:auto;
  max-height:min(72dvh, 480px);
  height:min(72dvh, 480px);
}
}

.assist-dialog__head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, #fafafa 0%, #fff 100%);
}

.assist-dialog__title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:800;
  color:var(--text);
  min-width:0;
}

.assist-dialog__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent2);
  box-shadow:0 0 0 3px rgba(224,123,0,.2);
  flex-shrink:0;
}

.assist-dialog__close{
  flex-shrink:0;
  width:40px;
  height:40px;
  border:0;
  border-radius:12px;
  background:rgba(0,0,0,.06);
  color:var(--text);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  transition:background .15s ease;
  -webkit-tap-highlight-color:transparent;
}

.assist-dialog__close:hover{
  background:rgba(0,0,0,.1);
}

.assist-dialog__body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.assist-msg{
  max-width:92%;
  padding:10px 12px;
  border-radius:14px;
  font-size:13.5px;
  line-height:1.55;
  overflow-wrap:anywhere;
}

.assist-msg--bot{
  align-self:flex-start;
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--line);
}

.assist-msg--user{
  align-self:flex-end;
  background:linear-gradient(135deg, #fff6e8 0%, #ffe8cc 100%);
  color:var(--text);
  border:1px solid rgba(224,123,0,.25);
}

.assist-dialog__form{
  flex:0 0 auto;
  display:flex;
  gap:8px;
  align-items:stretch;
  padding:10px 12px 12px;
  border-top:1px solid var(--line);
  background:#fff;
}

.assist-input{
  flex:1;
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  font:inherit;
  font-size:15px;
  line-height:1.4;
}

.assist-input:focus{
  outline:none;
  border-color:var(--accent2);
  box-shadow:0 0 0 3px rgba(224,123,0,.15);
}

.assist-send{
  flex:0 0 auto;
  padding:10px 14px;
  border:0;
  border-radius:12px;
  background:var(--accent2);
  color:#fff;
  font:inherit;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  min-width:44px;
  min-height:44px;
  -webkit-tap-highlight-color:transparent;
}

.assist-send:hover:not(:disabled){
  filter:brightness(1.05);
}

.assist-send:disabled{
  opacity:.65;
  cursor:not-allowed;
}



/* глав страницы: якоря под фиксированную шапку */
#solutions,
#advantages,
#industries,
#cta,
#projects,
#contacts{
scroll-margin-top:calc(var(--navbar-stack) + 12px);
}

/* ----- главная: секции solutions / advantages / industries / cta ----- */

.section-block{
padding:var(--section-pad-y) 0;
background:var(--surface-soft);
position:relative;
}

.section-block--alt{
background:linear-gradient(180deg, var(--surface) 0%, #e6eaf1 100%);
position:relative;
}

.section-lead{
max-width:min(var(--measure-prose), calc(100% - 8px));
margin:-8px auto clamp(28px, 4vw, 40px);
padding:0 2px;
text-align:center;
font-size:var(--font-lead-p);
line-height:var(--line-relaxed);
color:var(--muted);
}

.home-solutions__lead{
margin-bottom:clamp(32px, 4vw, 40px);
}

.solutions-grid{
display:grid;
grid-template-columns:1fr;
gap:clamp(16px, 2.2vw, 22px);
}

@media (min-width:768px){
.solutions-grid{
grid-template-columns:repeat(2,1fr);
gap:clamp(17px, 2.2vw, 22px);
}
}

@media (min-width:1025px){
.solutions-grid{
grid-template-columns:repeat(3,1fr);
gap:clamp(18px, 2.2vw, 24px);
}
}

@media (min-width:1440px){
.solutions-grid{
grid-template-columns:repeat(4,1fr);
}
}

.solution-card{
position:relative;
overflow:hidden;
background:var(--card);
border-radius:clamp(19px, 2.4vw, 24px);
padding:clamp(18px, 3.5vw, 22px) clamp(18px, 3.5vw, 22px) clamp(20px, 3.5vw, 24px);
border:1px solid rgba(11,19,35,.07);
box-shadow:var(--shadow-layer);
min-height:100%;
transition:var(--transition-card);
}

.solution-card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:3px;
background:var(--accent-edge);
opacity:.95;
pointer-events:none;
}

.solution-card:hover{
transform:translateY(-4px);
border-color:rgba(224,123,0,.14);
box-shadow:var(--shadow-layer-hover),0 0 0 1px rgba(224,123,0,.06);
}

.solution-card__title{
margin:0 0 10px;
font-size:var(--font-card-heading);
font-weight:700;
line-height:var(--line-tight);
overflow-wrap:anywhere;
position:relative;
padding-bottom:8px;
}

.solution-card__title::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:2.25rem;
height:2px;
border-radius:2px;
background:linear-gradient(90deg, rgba(224,123,0,.55), rgba(224,123,0,.08));
pointer-events:none;
}

.solution-card__text{
margin:0;
font-size:var(--font-body-card);
line-height:var(--line-body);
color:var(--muted);
}

.solution-card__list{
margin:0;
padding-left:1.25em;
font-size:var(--font-body-card);
line-height:var(--line-body);
color:var(--muted);
list-style:disc;
}

.solution-card__list li{
margin:0.28em 0;
}

@media (min-width:1440px){
.home-solutions .solutions-grid{
grid-template-columns:repeat(3,1fr);
}
}

.home-advantages .section-title,
.home-industries .section-title,
.home-solutions .section-title,
.home-cta .section-title{
text-align:center;
}

.home-advantages__lead,
.home-industries__lead{
margin-bottom:clamp(36px, 4.5vw, 44px);
}

.adv-grid{
display:grid;
grid-template-columns:1fr;
gap:14px;
list-style:none;
margin:0;
padding:0;
}

@media (min-width:768px){
.adv-grid{
grid-template-columns:repeat(2,1fr);
gap:clamp(16px, 2vw, 20px);
}
}

@media (min-width:1025px){
.adv-grid{
grid-template-columns:repeat(3,1fr);
gap:clamp(16px, 2vw, 20px);
}
}

@media (min-width:1440px){
.adv-grid{
grid-template-columns:repeat(4,1fr);
gap:clamp(16px, 2vw, 20px);
}
}

.adv-card{
position:relative;
overflow:hidden;
background:var(--card);
border-radius:clamp(19px, 2.4vw, 24px);
padding:clamp(18px, 3vw, 22px) clamp(16px, 2.8vw, 20px) clamp(20px, 3vw, 24px);
border:1px solid rgba(11,19,35,.07);
box-shadow:var(--shadow-layer);
min-height:100%;
display:flex;
flex-direction:column;
gap:10px;
transition:var(--transition-card);
}

.adv-card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:3px;
background:var(--accent-edge);
opacity:.88;
pointer-events:none;
}

.adv-card:hover{
transform:translateY(-3px);
border-color:rgba(224,123,0,.12);
box-shadow:var(--shadow-layer-hover);
}

.adv-card--muted{
background:linear-gradient(180deg,#fcfdfe 0%,#f1f3f7 100%);
}

.adv-card--muted::before{
opacity:.65;
}

.adv-card__num{
display:block;
font-size:var(--font-small);
font-weight:800;
letter-spacing:.08em;
color:var(--accent2, #c9a227);
margin-bottom:2px;
}

.adv-card__title{
margin:0;
font-size:var(--font-card-heading);
font-weight:700;
line-height:var(--line-tight);
overflow-wrap:anywhere;
}

.adv-card__text{
margin:0;
font-size:var(--font-body-card);
line-height:var(--line-body);
color:var(--muted);
flex:1;
}

.industry-grid{
display:grid;
grid-template-columns:1fr;
gap:clamp(14px, 2vw, 18px);
}

@media (min-width:768px){
.industry-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media (min-width:1025px){
.industry-grid{
grid-template-columns:repeat(3,1fr);
gap:clamp(16px, 2vw, 20px);
}
}

.industry-card{
position:relative;
overflow:hidden;
background:var(--card);
border-radius:clamp(19px, 2.4vw, 24px);
padding:clamp(18px, 3vw, 20px) clamp(18px, 3vw, 20px) clamp(20px, 3vw, 22px);
border:1px solid rgba(11,19,35,.07);
box-shadow:var(--shadow-layer);
min-height:100%;
transition:var(--transition-card);
}

.industry-card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:3px;
background:var(--accent-edge);
opacity:.55;
pointer-events:none;
}

.industry-card:hover{
transform:translateY(-3px);
border-color:rgba(224,123,0,.11);
box-shadow:var(--shadow-layer-hover);
}

.industry-card__label{
margin:0 0 6px;
font-size:var(--font-small);
font-weight:700;
text-transform:uppercase;
letter-spacing:.06em;
color:var(--accent2, #c9a227);
}

.industry-card__title{
margin:0 0 10px;
font-size:var(--font-card-heading);
font-weight:700;
line-height:var(--line-tight);
overflow-wrap:anywhere;
}

.industry-card__text{
margin:0;
font-size:var(--font-body-card);
line-height:var(--line-body);
color:var(--muted);
}

/* CTA + форма */
.home-cta__grid{
display:grid;
grid-template-columns:1fr;
gap:clamp(28px, 5vw, 40px);
align-items:start;
}

@media (min-width:901px){
.home-cta__grid{
gap:clamp(32px, 4vw, 48px);
}
}

@media (min-width:1025px){
.home-cta__grid{
grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
gap:clamp(32px, 4vw, 48px);
align-items:start;
}

.home-cta__panel{
align-self:stretch;
}

}

.home-cta__intro{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:clamp(12px, 2vw, 16px);
max-width:min(var(--measure-prose), 100%);
}

.home-cta__kicker{
margin:0;
font-size:var(--font-small);
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
color:var(--accent2, #c9a227);
}

.home-cta__intro .section-title.home-cta__title{
text-align:left;
margin:0;
line-height:var(--line-tight);
max-width:100%;
}

.home-cta__text{
margin:0;
font-size:var(--font-lead-p);
line-height:var(--line-relaxed);
color:var(--muted);
max-width:100%;
}

.home-cta__panel{
background:#fff;
border-radius:clamp(18px, 3vw, 22px);
padding:clamp(20px, 4vw, 28px) clamp(18px, 3.5vw, 24px) clamp(22px, 3.5vw, 26px);
border:1px solid rgba(11,19,35,.08);
box-shadow:var(--shadow-layer),0 1px 0 rgba(255,255,255,.9) inset;
position:relative;
}

.home-cta.section-block.section-block--alt{
background:linear-gradient(165deg, #eceff5 0%, #e2e7f0 38%, #f0f3f9 100%);
position:relative;
overflow:hidden;
}

.home-cta.section-block.section-block--alt::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(ellipse 115% 55% at 50% 0%, rgba(224,123,0,.085), transparent 52%);
pointer-events:none;
}

.home-cta.section-block.section-block--alt > .container{
position:relative;
z-index:1;
}

.home-cta__form-label{
margin:0 0 18px;
font-size:var(--font-small);
font-weight:700;
text-transform:uppercase;
letter-spacing:.07em;
color:var(--muted);
}

.lead-form{
display:flex;
flex-direction:column;
gap:16px;
}

.lead-form__row{
display:grid;
grid-template-columns:1fr;
gap:16px;
}

@media (min-width:768px){
.lead-form__row--2{
grid-template-columns:repeat(2,1fr);
}
}

.lead-form__field{
display:flex;
flex-direction:column;
gap:6px;
margin:0;
}

.lead-form__field--full{
grid-column:1/-1;
}

.lead-form__label{
font-size:clamp(0.8rem, 0.35vw + 0.75rem, 0.88rem);
font-weight:600;
color:var(--text, #1a1a1a);
line-height:1.4;
}

.lead-form__req{
color:#c62828;
}

.lead-form__input,
.lead-form__textarea{
width:100%;
box-sizing:border-box;
font:inherit;
font-size:16px;
padding:14px 16px;
min-height:48px;
border-radius:12px;
border:1px solid rgba(0,0,0,.12);
background:#fff;
transition:border-color .15s ease, box-shadow .15s ease;
-webkit-appearance:none;
appearance:none;
}

.lead-form__input:focus,
.lead-form__textarea:focus{
outline:none;
border-color:var(--accent2, #c9a227);
box-shadow:0 0 0 3px rgba(201,162,39,.2);
}

.lead-form__textarea{
resize:vertical;
min-height:120px;
padding-top:14px;
}

@media (min-width:1025px){
.lead-form__input,
.lead-form__textarea{
font-size:15px;
}
}

.lead-form__submit{
width:100%;
margin-top:6px;
padding:16px 22px;
font-size:clamp(15px, 1.9vw, 17px);
border:none;
cursor:pointer;
min-height:52px;
font-weight:700;
-webkit-tap-highlight-color:transparent;
}

.lead-form__note{
margin:12px 0 0;
font-size:clamp(0.78rem, 0.3vw + 0.72rem, 0.84rem);
line-height:var(--line-relaxed);
color:var(--muted);
max-width:100%;
}

.lead-form__note a{
color:var(--accent2);
font-weight:600;
text-decoration:none;
}

.lead-form__note a:hover{
text-decoration:underline;
}

/* ----- контакты (объединённый блок) ----- */

.home-contacts{
padding:var(--section-pad-y) 0 var(--section-pad-y-tight);
background:var(--bg);
}

.home-contacts .section-title{
text-align:center;
margin-bottom:16px;
}

.home-contacts__lead{
max-width:min(var(--measure-prose), calc(100% - 8px));
margin:0 auto clamp(28px, 4vw, 40px);
padding:0 2px;
text-align:center;
font-size:var(--font-lead-p);
line-height:var(--line-relaxed);
color:var(--muted);
}

.contacts-layout{
display:grid;
grid-template-columns:1fr;
gap:clamp(28px, 4vw, 36px);
text-align:left;
}

@media (min-width:768px) and (max-width:1024px){
.contacts-layout{
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:clamp(24px, 3vw, 32px) clamp(20px, 3vw, 28px);
align-items:start;
}
.contacts-column--brand{
grid-column:1 / -1;
max-width:min(36rem, 100%);
}
}

@media (min-width:1025px){
.contacts-layout{
grid-template-columns:1.12fr 0.88fr 1fr;
gap:32px clamp(24px, 2.5vw, 36px);
align-items:start;
}
}

.contacts-column--brand{
max-width:100%;
}

.contacts-brand{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
color:inherit;
margin-bottom:14px;
}

.contacts-brand__logo{
width:48px;
height:48px;
object-fit:contain;
}

.contacts-brand__text{
display:flex;
flex-direction:column;
gap:2px;
}

.contacts-brand__name{
font-size:clamp(1rem, 2vw + 0.65rem, 1.15rem);
font-weight:800;
letter-spacing:.02em;
}

.contacts-brand__tag{
font-size:var(--font-small);
font-weight:600;
color:var(--muted);
text-transform:uppercase;
letter-spacing:.04em;
}

.contacts-brand__about{
margin:0 0 18px;
font-size:var(--font-body-card);
line-height:var(--line-relaxed);
color:var(--muted);
max-width:min(var(--measure-prose), 100%);
}

.contacts-social{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.contacts-social__link{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 16px;
min-height:44px;
border-radius:999px;
font-size:clamp(13px, 1.8vw, 14px);
font-weight:600;
text-decoration:none;
color:var(--text, #1a1a1a);
background:rgba(0,0,0,.05);
border:1px solid rgba(0,0,0,.08);
transition:background .15s ease, border-color .15s ease;
-webkit-tap-highlight-color:transparent;
}

.contacts-social__link:hover{
background:rgba(0,0,0,.08);
border-color:rgba(0,0,0,.12);
}

.contacts-social__link--instagram{
color:#fff;
background:linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
border-color:rgba(0,0,0,.06);
box-shadow:0 1px 3px rgba(180, 40, 100, .25);
}
.contacts-social__link--instagram:hover{
filter:brightness(1.06);
border-color:rgba(0,0,0,.1);
color:#fff;
}

.contacts-social__link--youtube{
color:#111;
background:#ff0000;
border-color:rgba(0,0,0,.12);
}
.contacts-social__link--youtube:hover{
background:#e60000;
border-color:rgba(0,0,0,.18);
color:#111;
}

.contacts-heading{
margin:0 0 14px;
font-size:clamp(0.84rem, 1.1vw + 0.72rem, 0.95rem);
font-weight:800;
text-transform:uppercase;
letter-spacing:.05em;
}

.contacts-nav-list{
list-style:none;
margin:0;
padding:0;
display:flex;
flex-direction:column;
gap:10px;
}

.contacts-nav-list a{
color:var(--text);
font-size:clamp(14px, 1.8vw, 15px);
font-weight:600;
text-decoration:none;
border-bottom:1px solid transparent;
display:inline-flex;
align-items:center;
min-height:44px;
padding:4px 0;
}

.contacts-nav-list a:hover{
border-bottom-color:var(--accent2);
color:var(--accent2);
}

.contacts-details{
list-style:none;
margin:0;
padding:0;
display:flex;
flex-direction:column;
gap:18px;
}

.contacts-details > li{
display:flex;
flex-direction:column;
gap:6px;
}

.contacts-details__label{
font-size:var(--font-small);
font-weight:800;
text-transform:uppercase;
letter-spacing:.06em;
color:var(--muted);
}

.contacts-details__values{
display:flex;
flex-direction:column;
gap:4px;
}

.contacts-details a{
font-size:clamp(0.9rem, 1.15vw + 0.78rem, 1rem);
font-weight:600;
color:var(--accent2);
text-decoration:none;
overflow-wrap:anywhere;
word-break:break-word;
line-height:var(--line-body);
}

.contacts-details a:hover{
text-decoration:underline;
}

.contacts-details__address{
line-height:1.5;
}

.site-footer-bar{
background:#111;
color:rgba(255,255,255,.85);
padding:0;
margin-top:0;
}

.site-footer-bar__inner{
display:flex;
flex-direction:column;
gap:10px;
align-items:center;
text-align:center;
padding:clamp(18px, 4vw, 22px) max(14px, env(safe-area-inset-left)) clamp(22px, 4vw, 28px) max(14px, env(safe-area-inset-right));
font-size:clamp(12px, 2.8vw, 13px);
line-height:1.5;
}

@media (min-width:768px){
.site-footer-bar__inner{
flex-direction:row;
justify-content:space-between;
text-align:left;
align-items:center;
}
}

.site-footer-bar__copy,
.site-footer-bar__tagline{
margin:0;
color:rgba(255,255,255,.72);
}

.site-footer-bar__copy{
font-weight:600;
}

/* =========================
   DIRECTIONS
========================= */

.directions{
  padding:clamp(56px, 9vw, 88px) 0 clamp(64px, 10vw, 96px);
  background:var(--bg);
}

/* отдельная страница списка направлений (под фиксированный header) */
.directions.directions--page{
  padding-top:104px;
  padding-bottom:96px;
  padding-left:max(0px, env(safe-area-inset-left));
  padding-right:max(0px, env(safe-area-inset-right));
}

.page-directions-main{
  min-height:52vh;
}

.directions--page .section-title{
  margin-bottom:16px;
  max-width:min(100%,38rem);
  margin-left:auto;
  margin-right:auto;
}

.directions-page__intro{
  text-align:center;
  max-width:40rem;
  margin:-8px auto 48px;
  font-size:clamp(15px,1.9vw,17px);
  line-height:1.68;
  color:var(--muted);
}

.directions-page__actions{
  text-align:center;
  margin-top:clamp(36px,5vw,52px);
}

.directions-track__empty{
  grid-column:1/-1;
  margin:0;
  padding:32px 24px;
  text-align:center;
  font-size:15px;
  line-height:1.65;
  color:var(--muted);
  background:#fff;
  border:1px dashed var(--line);
  border-radius:20px;
}

.directions-track__empty a{
  color:var(--accent2);
  font-weight:700;
  text-decoration:none;
}

.directions-track__empty a:hover{
  text-decoration:underline;
}

.section-title{
  font-size:var(--font-section-title);
  font-weight:800;
  margin-bottom:clamp(28px, 4vw, 40px);
  text-align:center;
  letter-spacing:-.02em;
  line-height:var(--line-tight);
  max-width:100%;
  overflow-wrap:anywhere;
}

.directions-track{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(18px, 3vw, 32px);
  align-items:stretch;
  width:100%;
  min-width:0;
}

@media (min-width:768px){
  .directions-track{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(20px, 2.8vw, 28px);
  }
}

@media (min-width:1025px){
  .directions-track{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(22px,3.2vw,36px);
  }
}

.direction-card{
  background:var(--card);
  border-radius:clamp(20px, 2.5vw, 26px);
  overflow:hidden;
  border:1px solid rgba(11,19,35,.07);
  box-shadow:var(--shadow-layer);
  transition:var(--transition-card);
  min-width:0;
  position:relative;
}

.direction-card::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--accent-edge);
  opacity:.85;
  z-index:2;
  pointer-events:none;
}

.direction-card--clickable{
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.direction-card--clickable:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-layer-hover),0 0 0 1px rgba(224,123,0,.08);
  border-color:rgba(224,123,0,.22);
}

.direction-card--clickable:active{
  transform:translateY(-3px);
}

.direction-card--clickable:focus-visible{
  outline:3px solid rgba(245,155,10,.55);
  outline-offset:3px;
}

.direction-img,
.direction-card__media--placeholder{
  width:100%;
  height:300px;
  object-fit:cover;
  object-position:center;
  display:block;
  flex-shrink:0;
}

.direction-card__media{
  flex-shrink:0;
  overflow:hidden;
  line-height:0;
  background:#eceef2;
}

.direction-card__media--placeholder{
  background:linear-gradient(145deg,#e8eaef 0%,#f4f2ed 50%,#e5e8ee 100%);
  min-height:300px;
}

@media (max-width:1024px){
  .direction-img,
  .direction-card__media--placeholder{
    height:260px;
    min-height:260px;
  }
}

@media (max-width:767px){
  .direction-img,
  .direction-card__media--placeholder{
    height:clamp(200px, 48vw, 240px);
    min-height:200px;
  }
}

.direction-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  padding:26px 26px 28px;
  gap:16px;
}

@media (max-width:767px){
  .direction-card__body{
    padding:20px 18px 22px;
    gap:14px;
  }
}

.direction-card__body h3{
  font-size:clamp(17px,2.1vw,24px);
  font-weight:800;
  margin:0;
  line-height:1.22;
  letter-spacing:-.025em;
  color:var(--text);
  overflow-wrap:anywhere;
  hyphens:auto;
}

.direction-card__excerpt{
  font-size:clamp(14px,1.5vw,16px);
  line-height:1.68;
  margin:0;
  color:var(--muted);
  flex-shrink:0;
  overflow-wrap:anywhere;
}

.direction-card__excerpt--muted{
  color:var(--muted2);
  font-style:italic;
}

.direction-list{
  margin:0;
  padding:0 0 0 1.25rem;
  font-size:clamp(13px,1.35vw,14.5px);
  line-height:1.62;
  color:var(--muted2);
  list-style-type:disc;
  flex-shrink:0;
  list-style-position:outside;
}

.direction-list li{
  margin-bottom:10px;
  padding-left:4px;
}

.direction-list__fallback{
  list-style:none;
  margin-left:-1.25rem;
  padding-left:0;
  color:var(--muted2);
  font-style:italic;
}

.direction-card__fill{
  flex:1 1 auto;
  min-height:12px;
}

.direction-list li:last-child{
  margin-bottom:0;
}

.direction-card__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:0;
  padding:13px 26px;
  border-radius:14px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--accent2);
  background:rgba(255,255,255,.95);
  border:2px solid rgba(224,123,0,.45);
  box-shadow:0 4px 14px rgba(224,123,0,.12);
  transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.direction-card--clickable:hover .direction-card__cta{
  background:var(--accent2);
  color:#fff;
  border-color:var(--accent2);
  box-shadow:0 8px 28px rgba(224,123,0,.35);
  transform:translateY(-2px);
}

.direction-card--clickable:active .direction-card__cta{
  transform:translateY(0);
}

.direction-card--clickable:focus-visible .direction-card__cta{
  outline:2px solid rgba(255,255,255,.95);
  outline-offset:2px;
}

@media (max-width:767px){
  .direction-card__cta{
    align-self:stretch;
    width:100%;
    box-sizing:border-box;
    text-align:center;
    min-height:48px;
  }
}

/* общий подвал (лендинги направлений и /directions) */
.dl-footer{
  padding:clamp(20px, 4vw, 28px) 0;
  background:var(--cream);
  border-top:1px solid var(--line);
  font-size:clamp(12px, 2.8vw, 13px);
  color:var(--muted2);
}

.dl-footer a{
  color:var(--accent2);
  font-weight:700;
  text-decoration:none;
}

.dl-footer a:hover{
  text-decoration:underline;
}

.dl-footer a:focus-visible,
.contacts-nav-list a:focus-visible,
.contacts-details a:focus-visible,
.contacts-social__link:focus-visible,
.lead-form__note a:focus-visible,
.directions-track__empty a:focus-visible{
  outline:2px solid rgba(224,123,0,.6);
  outline-offset:3px;
  border-radius:4px;
}

.dl-footer__inner{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  flex-direction:column;
  text-align:center;
}

@media (min-width:768px){
.dl-footer__inner{
flex-direction:row;
text-align:left;
gap:16px;
}
}

.dl-footer__links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:center;
}

@media (min-width:768px){
.dl-footer__links{
gap:18px;
justify-content:flex-end;
}
}

.dl-footer__links a{
min-height:44px;
display:inline-flex;
align-items:center;
padding:4px 2px;
}

.direction-link{
  display:block;
  margin:0 16px 20px;
  color:var(--accent2);
  font-weight:700;
  text-decoration:none;
}

/* стрелки скрыты */

.dir-arrow{
  display:none;
}
/* =========================
   EQUIPMENT SLIDER
========================= */

.equipment{
padding:clamp(48px, 8vw, 80px) 0;
background:#f5f6f8;
}

.equipment-slider{
position:relative;
max-width:1400px;
margin:auto;
overflow:hidden;
}

.equipment-grid{

display:flex;
flex-wrap:nowrap;

gap:clamp(16px, 3vw, 30px);

transition:transform .5s cubic-bezier(.2,.7,.2,1);

will-change:transform;

}

.equipment .equipment-grid > .card{

flex:0 0 min(320px, calc(100vw - max(32px, env(safe-area-inset-left) + env(safe-area-inset-right))));
min-width:min(300px, calc(100vw - max(36px, env(safe-area-inset-left) + env(safe-area-inset-right))));

background:#fff;

border-radius:18px;

overflow:hidden;

box-shadow:0 12px 40px rgba(0,0,0,.12);

transition:.25s;

}

.equipment .equipment-grid > .card:hover{

transform:translateY(-6px);

}

.equipment .equipment-grid > .card img{

width:100%;
height:clamp(160px, 28vw, 200px);

object-fit:cover;

display:block;

}

.equipment .equipment-grid > .card h3{

font-size:clamp(1rem, 1.6vw + 0.75rem, 1.25rem);
margin:clamp(12px, 2vw, 16px);
line-height:var(--line-tight);

}

.equipment .equipment-grid > .card p{

margin:0 clamp(12px, 2vw, 16px) clamp(14px, 2.5vw, 20px);

color:#666;
font-size:var(--font-body-card);

line-height:var(--line-body);

}

/* стрелки */

.eq-arrow{

position:absolute;

top:50%;

transform:translateY(-50%);

width:54px;
height:54px;

border:none;

border-radius:50%;

background:#fff;

font-size:28px;

cursor:pointer;

box-shadow:0 10px 30px rgba(0,0,0,.25);

z-index:10;

transition:.2s;

}

.eq-arrow:hover{

transform:translateY(-50%) scale(1.05);

}

.eq-arrow.left{

left:10px;

}

.eq-arrow.right{

right:10px;

}

/* ----- блок партнёров (главная страница): логотипы в public/static/img/partners/ ----- */

#partners{
scroll-margin-top:calc(var(--navbar-stack) + 12px);
}

.home-partners .section-title{
text-wrap:balance;
}

.section-partners__lead{
max-width:42rem;
margin:clamp(10px, 2vw, 14px) auto 0;
color:var(--muted);
font-size:clamp(14px, 1.45vw, 16px);
line-height:1.65;
text-wrap:balance;
text-align:center;
}

.partners-premium-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:clamp(14px, 2vw, 18px);
margin-top:clamp(22px, 3.2vw, 32px);
}

@media (min-width:768px){
.partners-premium-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
}

@media (min-width:1025px){
.partners-premium-grid{
grid-template-columns:repeat(5, minmax(0, 1fr));
}
}

.partner-item{
display:flex;
align-items:center;
justify-content:center;
box-sizing:border-box;
min-height:96px;
padding:clamp(16px, 2.4vw, 22px);
background:#fafbfd;
border:1px solid rgba(11, 19, 35, 0.08);
border-radius:16px;
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.92) inset,
0 2px 10px rgba(11, 19, 35, 0.045);
transition:
transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1),
box-shadow 0.28s ease,
border-color 0.28s ease,
background 0.28s ease,
filter 0.28s ease;
}

.partner-item--knockout{
background:linear-gradient(180deg, #2f343d 0%, #262a32 100%);
border-color:rgba(255, 255, 255, 0.07);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.06) inset,
0 8px 22px rgba(11, 19, 35, 0.12);
}

.partner-item img{
display:block;
width:auto;
max-width:100%;
height:auto;
max-height:clamp(52px, 7vw, 62px);
object-fit:contain;
object-position:center;
filter:grayscale(100%);
opacity:0.78;
transition:filter 0.32s ease, opacity 0.32s ease;
}

.partner-item--knockout img{
opacity:0.8;
}

.partner-item:hover{
transform:translateY(-4px);
border-color:rgba(224, 123, 0, 0.16);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.95) inset,
0 12px 32px rgba(11, 19, 35, 0.12);
}

.partner-item--knockout:hover{
background:linear-gradient(180deg, #3a404a 0%, #2c3138 100%);
border-color:rgba(224, 123, 0, 0.22);
}

.partner-item:hover img{
filter:none;
opacity:1;
}