/* ==========================================================================
   СпецМонтажІнжиніринг — тема smi
   Одна розмітка на обидві теми: токени в :root (темна) і [data-theme="light"].
   Hero і page-header ідуть за темою; лічильники, CTA і футер завжди темні (.is-dark).
   ========================================================================== */

/* ---------- Шрифти (self-hosted, variable) ---------- */
@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:200 700;src:url(../fonts/oswald-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:200 700;src:url(../fonts/oswald-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:200 700;src:url(../fonts/oswald-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Токени ---------- */
:root,.is-dark{
  --bg:#0f1115;
  --surface:#14181f;          /* секції «A» */
  --surface-alt:#0f1115;      /* секції «B» */
  --surface-hover:#191e26;
  --card:#14181f;             /* картки на --surface-alt */
  --card-alt:#0f1115;         /* картки на --surface */
  --field:#0f1115;
  --footer:#0c0e12;
  --text:#f4f3ef;
  --text-strong:#fff;
  --text-body:#c1c7d0;
  --text-soft:#dfe3e9;
  --text-muted:#aab1bc;
  --text-dim:#9aa0aa;
  --text-subtle:#8b919c;
  --text-faint:#858c97;
  --nav:#c7ccd4;
  --num:#2f3742;
  --sep:#454d59;
  --line:rgba(255,255,255,.07);
  --line-2:rgba(255,255,255,.12);
  --line-3:rgba(255,255,255,.16);
  --line-btn:rgba(255,255,255,.22);
  --tint:rgba(255,255,255,.05);
  --ph-a:#1b2028;--ph-b:#171b22;--ph-text:#5d6573;
  --header-bg:rgba(15,17,21,.82);
  --header-bg-2:rgba(13,15,18,.95);
  --header-shadow:0 8px 30px rgba(0,0,0,.5);
  --bar-bg:rgba(15,17,21,.94);
  --filter-bg:rgba(15,17,21,.92);
  --shadow-pop:0 18px 40px rgba(0,0,0,.55);
  --accent:#ff6a00;
  --accent-hover:#ff7d1f;
  --accent-text:#ff8a3d;
  --on-accent:#0f1115;
  --danger:#ff7a6b;
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#f7f7f4;
  --surface:#fff;
  --surface-alt:#f0f1ec;
  --surface-hover:#f7f7f4;
  --card:#f5f6f2;
  --card-alt:#f7f7f4;
  --field:#f7f7f4;
  --text:#14181f;
  --text-strong:#14181f;
  --text-body:#3f4550;
  --text-soft:#2a2f38;
  --text-muted:#5b6270;
  --text-dim:#5b6270;
  --text-subtle:#5f6671;
  --text-faint:#5f6671;
  --nav:#4b515c;
  --num:#e2e4de;
  --sep:#c7cbc2;
  --line:rgba(20,24,31,.08);
  --line-2:rgba(20,24,31,.14);
  --line-3:rgba(20,24,31,.16);
  --line-btn:rgba(20,24,31,.22);
  --tint:rgba(20,24,31,.05);
  --ph-a:#e9ebe5;--ph-b:#e0e2dc;--ph-text:#8b9199;
  --header-bg:rgba(255,255,255,.86);
  --header-bg-2:rgba(255,255,255,.96);
  --header-shadow:0 8px 30px rgba(20,24,31,.12);
  --bar-bg:rgba(255,255,255,.94);
  --filter-bg:rgba(245,246,242,.95);
  --shadow-pop:0 18px 40px rgba(20,24,31,.14);
  --accent-text:#b84a00; /* #e05a00 з макета дає 3.7:1 на білому — затемнено до AA (4.6:1+) */
  --danger:#c8372d;
  color-scheme:light;
}
/* Темні острови всередині світлої теми */
[data-theme="light"] .is-dark{
  --bg:#0f1115;--surface:#14181f;--surface-alt:#0f1115;--surface-hover:#191e26;--card:#14181f;--card-alt:#0f1115;--field:#0f1115;
  --text:#f4f3ef;--text-strong:#fff;--text-body:#c1c7d0;--text-soft:#dfe3e9;--text-muted:#aab1bc;--text-dim:#9aa0aa;--text-subtle:#8b919c;--text-faint:#858c97;
  --nav:#c7ccd4;--num:#2f3742;--sep:#454d59;
  --line:rgba(255,255,255,.07);--line-2:rgba(255,255,255,.12);--line-3:rgba(255,255,255,.16);--line-btn:rgba(255,255,255,.22);--tint:rgba(255,255,255,.05);
  --ph-a:#1b2028;--ph-b:#171b22;--ph-text:#5d6573;
  --accent-text:#ff8a3d;--danger:#ff7a6b;--shadow-pop:0 18px 40px rgba(0,0,0,.55);
  color-scheme:dark;
  color:var(--text); /* інакше текст без власного кольору успадковує темний колір body світлої теми */
}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.site{overflow-x:clip;min-height:100vh;display:flex;flex-direction:column}
.site-main{flex:1}
img,svg,video,iframe{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4,h5{margin:0;font-family:Oswald,"Arial Narrow",sans-serif;font-weight:600;text-transform:uppercase;line-height:1.15;letter-spacing:.01em}
p{margin:0}
ul{margin:0;padding:0}
mark{background:rgba(255,106,0,.22);color:inherit;padding:0 3px}
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-100px;z-index:1000;background:var(--accent);color:var(--on-accent);padding:12px 18px;font:600 14px Oswald,sans-serif;text-transform:uppercase}
.skip-link:focus{top:12px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.container{max-width:1280px;margin:0 auto;padding-inline:clamp(18px,4vw,32px)}
.container--md{max-width:1100px}
.container--sm{max-width:1000px}

/* ---------- Типографіка / дрібні компоненти ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;font:500 13px/1.3 Oswald,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-text)}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--accent);flex:none}
.eyebrow--tight{margin-bottom:14px}
.h1{font-weight:700;font-size:clamp(38px,5.4vw,76px);line-height:.98;letter-spacing:-.005em}
.h1--hero{font-size:clamp(40px,6.2vw,86px);max-width:16ch;margin-bottom:26px;color:var(--text-strong)}
.h2{font-weight:700;font-size:clamp(32px,4vw,52px);line-height:1.02}
.h2--md{font-size:clamp(28px,3.4vw,44px);line-height:1.05}
.h2--sm{font-size:clamp(26px,3vw,40px);line-height:1.05}
.accent{color:var(--accent)}
.lead{font-size:16.5px;line-height:1.65;color:var(--text-muted)}
.muted{color:var(--text-muted)}
.diamond{display:inline-block;width:8px;height:8px;background:var(--accent);transform:rotate(45deg);flex:none}
.diamond--sm{width:6px;height:6px}
.diamond--md{width:7px;height:7px}
.diamond--lg{width:9px;height:9px}
.badge{display:inline-block;font:600 11px/1.3 Oswald,sans-serif;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,106,0,.92);color:var(--on-accent);padding:5px 10px}
.badge--outline{background:none;border:1px solid var(--line-3);color:var(--nav);font-weight:500}
.badge--line{background:none;border:1px solid rgba(255,106,0,.4);color:var(--accent-text);padding:4px 10px}
.arrow{font-size:1.15em;line-height:1}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font:600 14px Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);transition:color .2s}
.link-arrow:hover{color:var(--accent)}

/* ---------- Кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:16px 30px;border:1px solid transparent;border-radius:2px;font:600 16px/1.2 Oswald,sans-serif;letter-spacing:.04em;text-transform:uppercase;text-align:center;transition:background .2s,border-color .2s,transform .15s,color .2s;cursor:pointer}
.btn--primary{background:var(--accent);color:var(--on-accent)}
.btn--primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line-btn)}
.btn--ghost:hover{border-color:var(--accent);background:rgba(255,106,0,.08)}
.btn--lg{padding:17px 34px}
.btn--sm{padding:11px 22px;font-size:14px}
.btn--md{padding:13px 24px;font-size:14px;letter-spacing:.05em}
.btn--block{display:flex;width:100%}

/* ---------- Плейсхолдер фото / медіа ---------- */
.media{position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,var(--ph-a) 0 11px,var(--ph-b) 11px 22px);border:1px solid var(--line)}
.media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ph-text)}
.ratio-4-3{aspect-ratio:4/3}.ratio-16-10{aspect-ratio:16/10}.ratio-16-11{aspect-ratio:16/11}.ratio-21-9{aspect-ratio:21/9}.ratio-3-4{aspect-ratio:3/4}.ratio-1{aspect-ratio:1}
@media (max-width:600px){.ratio-21-9{aspect-ratio:16/10}}

/* ==========================================================================
   Хедер
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s,border-color .3s,background .3s}
.site-header.is-scrolled{box-shadow:var(--header-shadow);background:var(--header-bg-2);border-bottom-color:rgba(255,106,0,.25)}
[data-theme="light"] .site-header.is-scrolled{border-bottom-color:rgba(255,106,0,.3)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0}}
/* Хедер ширший за контейнер сторінки: запас під стрілки підменю і довші PL/EN-назви. */
.header-row{max-width:1400px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap;padding-block:16px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand__mark{width:14px;height:14px;background:var(--accent);transform:rotate(45deg);flex:none}
/* Емблема: на темному фоні — варіант зі світлим замість синього, на світлому — оригінал (smi_logo()). */
.logo{display:block;flex:none;line-height:0}
.logo__img{width:100%;height:auto}
.logo__img--on-light,[data-theme="light"] .logo__img--on-dark,[data-theme="light"] .is-dark .logo__img--on-light{display:none}
[data-theme="light"] .logo__img--on-light,[data-theme="light"] .is-dark .logo__img--on-dark{display:block}
.brand__logo{width:64px}
@media (min-width:1101px) and (max-width:1439px){.site-header .brand__name{font-size:16px}}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{font:700 18px/1 Oswald,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--text);white-space:nowrap}
.brand__name b{font-weight:700;color:var(--accent)}
.brand__city{margin-top:4px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--text-subtle);white-space:nowrap}

.nav{display:flex;align-items:center;gap:clamp(14px,calc(7.5vw - 82px),26px);flex-wrap:nowrap;white-space:nowrap;font-size:14px;font-weight:500;letter-spacing:.01em}
.nav__list{display:flex;align-items:center;gap:clamp(14px,calc(7.5vw - 82px),26px);list-style:none}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:6px;padding-block:3px;color:var(--nav);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav__link:hover,.nav__item:focus-within>.nav__link{color:var(--text-strong)}
.nav__link[aria-current],.current-menu-item>.nav__link,.current-menu-ancestor>.nav__link,.current-menu-parent>.nav__link,.current_page_parent>.nav__link{color:var(--text-strong);border-bottom-color:var(--accent)}
.nav__caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
.nav__sub{position:absolute;left:-18px;top:calc(100% + 14px);min-width:250px;list-style:none;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--accent);box-shadow:var(--shadow-pop);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.nav__sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav__item:hover>.nav__sub,.nav__item:focus-within>.nav__sub,.nav__item.is-open>.nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub a{display:flex;align-items:center;gap:10px;padding:10px 18px;color:var(--nav);white-space:normal;line-height:1.35;transition:background .15s,color .15s}
.nav__sub a::before{content:"";width:6px;height:6px;flex:none;transform:rotate(45deg);background:var(--line-3)}
.nav__sub a:hover,.nav__sub .current-menu-item>a{background:rgba(255,106,0,.1);color:var(--text-strong)}
.nav__sub a:hover::before,.nav__sub .current-menu-item>a::before{background:var(--accent)}

.header-actions{display:flex;align-items:center;gap:18px;flex:none}
.langs{display:flex;align-items:center;gap:2px;border:1px solid var(--line-2);border-radius:2px;overflow:hidden;font:500 13px/1 Oswald,sans-serif;list-style:none}
.langs a,.langs span{display:block;padding:7px 11px;color:var(--text-dim);transition:background .2s,color .2s}
.langs a:hover{color:var(--text-strong)}
.langs .is-active{background:var(--accent);color:var(--on-accent)}
.theme-toggle{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:2px;color:var(--nav);transition:color .2s}
.theme-toggle:hover{color:var(--accent)}
.theme-toggle .i-moon,[data-theme="light"] .theme-toggle .i-sun{display:none}
[data-theme="light"] .theme-toggle .i-moon{display:block}

.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid var(--line-3);border-radius:2px;flex:none}
.burger__lines{display:flex;flex-direction:column;gap:5px;position:relative;width:20px}
.burger__lines span{height:2px;width:20px;background:var(--text);transition:transform .25s,opacity .2s,width .2s,background .2s}
.burger__lines span:last-child{width:13px;background:var(--accent)}
.burger[aria-expanded="true"] .burger__lines span{background:var(--accent)}
.burger[aria-expanded="true"] .burger__lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] .burger__lines span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] .burger__lines span:nth-child(3){width:20px;transform:translateY(-7px) rotate(-45deg)}

/* Мобільне меню */
.mnav{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - 100%);overflow-y:auto;overscroll-behavior:contain;background:var(--surface-alt);border-top:1px solid var(--line);padding:10px clamp(18px,4vw,32px) calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:28px}
[data-theme="light"] .mnav{background:#fff}
.mnav[hidden]{display:none}
.mnav__list{list-style:none;display:flex;flex-direction:column}
.mnav__row{display:flex;align-items:stretch;border-bottom:1px solid var(--line)}
.mnav__link{flex:1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;font:600 clamp(24px,7vw,30px)/1.15 Oswald,sans-serif;letter-spacing:.01em;text-transform:uppercase;color:var(--text)}
.mnav__link::after{content:"→";color:var(--accent);font-size:20px}
.mnav__item.current-menu-item>.mnav__row .mnav__link,.mnav__item.current-menu-ancestor>.mnav__row .mnav__link{color:var(--accent)}
.mnav__toggle{width:52px;flex:none;background:none;border:0;border-left:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.mnav__toggle::before{content:"";width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.mnav__toggle[aria-expanded="true"]::before{transform:rotate(-135deg) translate(-2px,-2px)}
.mnav__item--parent>.mnav__row .mnav__link::after{content:none}
.mnav__sub{list-style:none;padding:6px 0 12px}
.mnav__sub[hidden]{display:none}
.mnav__sub a{display:flex;align-items:center;gap:12px;padding:11px 0;font-size:16px;color:var(--text-muted)}
.mnav__sub a::before{content:"";width:7px;height:7px;transform:rotate(45deg);background:var(--accent);flex:none}
.mnav__langs{display:flex;gap:8px;font:500 14px/1 Oswald,sans-serif;letter-spacing:.08em;list-style:none}
.mnav__langs a,.mnav__langs span{display:block;padding:9px 14px;border:1px solid var(--line-3);color:var(--text-subtle)}
.mnav__langs .is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.mnav__contacts{display:flex;flex-direction:column;gap:12px;margin-top:auto}
.mnav__phone{font:600 24px/1.2 Oswald,sans-serif;color:var(--text)}
.mnav__email{font-size:15px;color:var(--text-subtle)}
.mnav .btn{margin-top:6px;height:52px}
html.menu-open,html.menu-open body{overflow:hidden}

/* Фіксована панель дій (мобільний) */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;gap:10px;padding:10px clamp(18px,4vw,32px) calc(10px + env(safe-area-inset-bottom));background:var(--bar-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.mbar a{flex:1;height:48px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:2px;font:600 15px/1 Oswald,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.mbar__call{color:var(--text);border:1px solid var(--line-3)}
.mbar__main{background:var(--accent);color:var(--on-accent)}

.site-header.is-compact .nav{display:none}
.site-header.is-compact .burger{display:flex}
@media (max-width:1100px){.nav{display:none}.burger{display:flex}}
@media (max-width:768px){
  .header-cta{display:none}
  .header-row{gap:12px;padding-block:12px}
  .theme-toggle{width:44px;height:44px}
  .mbar{display:flex}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}
@media (max-width:480px){.header-actions .langs{display:none}.header-actions{gap:10px}.brand__name{font-size:16px}.brand__logo{width:60px}.brand{gap:10px}}
@media (max-width:420px){.site-header .brand__logo{width:46px}.site-header .brand{gap:8px}.site-header .brand__name{font-size:14px}.brand__city{letter-spacing:.2em}}
@media (max-width:389px){.site-header .brand__logo{width:40px}.site-header .brand__name{font-size:13px}.brand__city{font-size:9px;letter-spacing:.14em}}
@media (max-width:359px){.site-header .brand__logo{width:32px}.site-header .brand{gap:6px}.site-header .brand__name{font-size:11px}.brand__city{font-size:8px;letter-spacing:.1em}.header-actions .theme-toggle{width:38px}.header-actions{gap:6px}}

/* ==========================================================================
   Секції
   ========================================================================== */
.section{padding-block:clamp(64px,11vw,110px);background:var(--surface-alt);border-bottom:1px solid var(--line)}
.section--a{background:var(--surface)}
.section--b{background:var(--surface-alt)}
.section--md{padding-block:clamp(56px,11vw,96px)}
.section--sm{padding-block:clamp(51px,11vw,88px)}
.section--xs{padding-block:clamp(43px,11vw,74px)}
.section--flush-top{padding-top:0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.sec-head--md{margin-bottom:40px}
.sec-head--sm{margin-bottom:38px;gap:24px}
.sec-head__aside{font-size:16px;line-height:1.6;color:var(--text-muted);max-width:42ch}
.sec-head .h2{max-width:18ch}
.sec-title{margin-bottom:40px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:64px;align-items:center}
.split--56{gap:56px}
.split--top{align-items:start}

/* Hero (головна) */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line)}
/* Hero іде за темою: смуги-заглушка і вуаль над фото беруть колір з токенів. */
.hero{--hero-a:#1a1f27;--hero-b:#15191f;--hero-veil:15,17,21}
[data-theme="light"] .hero{--hero-a:#eceee8;--hero-b:#e4e6e0;--hero-veil:247,247,244}
.hero__bg{position:absolute;inset:0;background:repeating-linear-gradient(135deg,var(--hero-a) 0 12px,var(--hero-b) 12px 24px)}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__bg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(var(--hero-veil),.97) 0%,rgba(var(--hero-veil),.86) 42%,rgba(var(--hero-veil),.45) 100%)}
.hero__bg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(var(--hero-veil),.4) 0%,transparent 30%,transparent 70%,rgba(var(--hero-veil),.9) 100%)}
.hero__inner{position:relative;z-index:2;width:100%;padding-block:90px}
.hero__lead{font-size:clamp(16px,1.5vw,20px);line-height:1.6;color:var(--text-muted);max-width:58ch;margin-bottom:40px}
.hero .eyebrow{margin-bottom:26px}
.hero__logo{position:absolute;right:clamp(18px,4vw,32px);top:50%;width:clamp(260px,30vw,420px);transform:translateY(-50%);pointer-events:none}
@media (max-width:1023px){.hero__logo{display:none}}
.btn-row{display:flex;gap:16px;flex-wrap:wrap}
.btn-row--14{gap:14px}

/* Шапка внутрішніх сторінок */
.page-header{position:relative;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line)}
.page-header{--hero-a:#1a1f27;--hero-b:#15191f;--hero-veil:15,17,21}
[data-theme="light"] .page-header{--hero-a:#eceee8;--hero-b:#e4e6e0;--hero-veil:247,247,244}
.page-header__bg{position:absolute;inset:0;background:repeating-linear-gradient(135deg,var(--hero-a) 0 12px,var(--hero-b) 12px 24px)}
.page-header__bg img{width:100%;height:100%;object-fit:cover}
.page-header__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--hero-veil),.55) 0%,rgba(var(--hero-veil),.9) 100%)}
.page-header__inner{position:relative;z-index:2;padding-block:54px 60px}
.page-header__row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.page-header__row .h1{max-width:16ch}
.page-header__lead{font-size:16.5px;line-height:1.6;color:var(--text-muted);max-width:46ch;margin-bottom:8px}
.page-header--project .page-header__inner{padding-block:50px 54px}
.page-header--project .h1{font-size:clamp(34px,5vw,64px);line-height:1;max-width:20ch;margin-bottom:22px}
.page-header--project .page-header__lead{font-size:clamp(16px,1.5vw,19px);max-width:62ch;margin:0}
.page-header--search .page-header__inner{padding-block:54px 56px}
.page-header--search .h1{font-size:clamp(32px,4.4vw,56px);line-height:1;margin-bottom:26px;max-width:none}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 26px;padding:0;font-size:13px;color:var(--text-subtle);list-style:none}
.crumbs li{display:flex;align-items:center;gap:9px}
.crumbs li+li::before{content:"/";color:var(--sep)}
.crumbs a{transition:color .2s}
.crumbs a:hover{color:var(--accent-text)}
.crumbs [aria-current]{color:var(--nav)}
.tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.tags .badge{padding:6px 12px;background:var(--accent)}
.tags .badge--outline{background:none}

/* Лічильники */
.stats{background:var(--bg);border-bottom:1px solid var(--line)}
[data-theme="light"] .stats{border-bottom:0}
.stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.stat{padding:48px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.stat__value{font:700 clamp(40px,4vw,58px)/1 Oswald,sans-serif;color:var(--text-strong);white-space:nowrap;font-variant-numeric:tabular-nums}
.stat__label{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle)}
@media (max-width:480px){.stat{padding:28px 4px;border-right:0;border-bottom:1px solid var(--line)}}

/* Сітка «через лінію» (flex, щоб останній ряд розтягувався) */
.line-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line)}
.line-grid>*{flex:1 1 280px;background:var(--surface)}
.line-grid--col{flex-direction:column}
.line-grid--col>*{flex:none}
.section--b .line-grid>*,.line-grid--alt>*{background:var(--surface-alt)}
[data-theme="light"] .section--b .line-grid>*,[data-theme="light"] .line-grid--alt>*{background:#fff}
.line-grid--170>*{flex-basis:170px}
.line-grid--260>*{flex-basis:260px}
.line-grid--420>*{flex-basis:420px}

.svc-card{padding:38px 30px;display:flex;flex-direction:column;gap:16px;min-height:230px;transition:background .25s}
a.svc-card:hover{background:var(--surface-hover)}
.svc-card__top{display:flex;align-items:center;justify-content:space-between}
.svc-card__num{font:600 34px/1 Oswald,sans-serif;color:var(--num)}
.svc-card h3{font-size:21px;line-height:1.15}
.svc-card p{font-size:14.5px;line-height:1.55;color:var(--text-dim)}
.svc-card__more{margin-top:auto;font:500 13px Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
a.svc-card:hover .svc-card__more,a.svc-card:focus-visible .svc-card__more{opacity:1;transform:none}
@media (hover:none){.svc-card__more{opacity:1;transform:none}}

.adv{padding:26px 22px;display:flex;flex-direction:column;gap:10px}
.adv h3,.adv h4{font-size:16px;line-height:1.2}
.adv p{font-size:13px;line-height:1.5;color:var(--text-subtle)}

.photo-badge{position:absolute;left:0;bottom:0;z-index:2;background:var(--accent);color:var(--on-accent);padding:16px 22px;display:flex;flex-direction:column;line-height:1}
.photo-badge strong{font:700 30px/1 Oswald,sans-serif}
.photo-badge span{margin-top:6px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* Обладнання */
.eq-cloud{display:flex;flex-wrap:wrap;gap:14px}
.eq-card{flex:1 1 220px;min-width:220px;background:var(--card-alt);border:1px solid var(--line);padding:18px 24px;display:flex;flex-direction:column;gap:4px;transition:border-color .25s}
.eq-card:hover{border-color:rgba(255,106,0,.5)}
.eq-card strong{font:600 17px/1.3 Oswald,sans-serif;letter-spacing:.01em}
.eq-card span{font-size:13px;color:var(--text-subtle)}
@media (max-width:480px){.eq-card{min-width:0;flex-basis:100%}}
.eq-row{padding:20px 24px;display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap}
.eq-row strong{font:600 18px/1.3 Oswald,sans-serif}
.eq-row span{font-size:14px;color:var(--text-subtle)}

/* Фільтри / чіпи */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:9px 16px;border:1px solid var(--line-2);border-radius:2px;background:transparent;font:500 13px/1.2 Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--nav);white-space:nowrap;transition:border-color .2s,background .2s,color .2s}
.chip:hover{border-color:var(--accent)}
.chip.is-active,.chip[aria-pressed="true"],.chip[aria-current]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.chip__num{color:var(--accent);font-weight:600}
.chip--toc{padding:10px 16px}
.chip--toc:hover{background:rgba(255,106,0,.08)}
.filters{display:flex;flex-direction:column;gap:10px}
.filters__label{font:500 11px Oswald,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle)}
.count{font:400 14px Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);white-space:nowrap}
.count b{color:var(--accent);font-weight:600}

/* Картки проєктів */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}
.proj-grid--archive{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:24px}
.proj-grid--related{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.proj-tile{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);background:repeating-linear-gradient(135deg,var(--ph-a) 0 11px,var(--ph-b) 11px 22px);color:#f4f3ef}
.proj-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.proj-tile:hover img{transform:scale(1.04)}
.proj-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(15,17,21,.92) 100%)}
.proj-tile .badge{position:absolute;top:14px;left:14px;z-index:2}
.proj-tile__body{position:absolute;left:18px;right:18px;bottom:18px;z-index:2}
.proj-tile h3{font-size:18px;line-height:1.15;color:#f4f3ef}
.proj-tile p{margin-top:6px;font-size:13px;color:#aab1bc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.proj-tile:not(:has(img)) h3{color:var(--text)}
.proj-tile:not(:has(img)) p{color:var(--text-muted)}
.proj-tile:not(:has(img))::after{background:linear-gradient(180deg,transparent 45%,var(--surface-alt) 100%);opacity:.92}

.proj-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);transition:border-color .25s,transform .25s}
.proj-card:hover{border-color:rgba(255,106,0,.55);transform:translateY(-3px)}
.proj-card .media{aspect-ratio:4/3;border:0}
.proj-card .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,24,31,.95) 100%);pointer-events:none}
[data-theme="light"] .proj-card .media::after{background:linear-gradient(180deg,transparent 50%,rgba(245,246,242,.95) 100%)}
.proj-card .media:has(img)::after{background:linear-gradient(180deg,transparent 60%,rgba(15,17,21,.55) 100%)}
.proj-card .badge{position:absolute;top:14px;left:14px;z-index:2}
.proj-card__year{position:absolute;top:14px;right:14px;z-index:2;font:500 12px Oswald,sans-serif;color:var(--nav);background:rgba(15,17,21,.6);padding:5px 9px}
[data-theme="light"] .proj-card__year{background:rgba(255,255,255,.85)}
.proj-card__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.proj-card h3{font-size:21px;line-height:1.14}
.proj-card--sm h3{font-size:19px}
.proj-card--sm .proj-card__body{padding:20px 22px 22px;gap:10px}
.proj-card__desc{font-size:14px;line-height:1.55;color:var(--text-dim);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.proj-card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line)}
.loc{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-subtle)}
.loc .diamond{width:7px;height:7px}
.more{font:500 13px Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);display:flex;align-items:center;gap:6px;white-space:nowrap}
.proj-empty{padding:40px 0;color:var(--text-muted)}

.filterbar{position:sticky;top:73px;z-index:40;background:var(--filter-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px 0 18px;margin-bottom:14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px 20px;flex-wrap:wrap}
.admin-bar .filterbar{top:105px}
.filterbar__groups{display:flex;flex-direction:column;gap:10px;min-width:0}
@media (max-width:768px){.filterbar{top:69px;position:static}}
.load-more{display:flex;justify-content:center;margin-top:56px}
.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:40px}
.pagination .page-numbers{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);font:500 14px Oswald,sans-serif;padding:0 12px}
.pagination .current{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.js .pagination.is-enhanced{display:none}

/* Географія */
.geo-stats{display:flex;flex-wrap:wrap;gap:24px 32px}
.geo-stats div{display:flex;flex-direction:column}
.geo-stats strong{font:700 30px/1.2 Oswald,sans-serif;color:var(--accent)}
.geo-stats span{font-size:13px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}
.geo-map{aspect-ratio:16/11;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0;background:var(--line)}
.geo-country{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:var(--surface-alt)}
[data-theme="light"] .geo-country{background:#fff}
.geo-country__name{display:flex;align-items:center;gap:14px;font:600 18px Oswald,sans-serif;text-transform:uppercase}
.geo-country__code{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:26px;border:1px solid var(--line-3);font:500 12px Oswald,sans-serif;letter-spacing:.08em;color:var(--accent-text)}
.geo-country__flags{display:flex;flex-wrap:wrap;gap:6px;flex:none}
.flag{display:block;height:auto;box-shadow:0 0 0 1px var(--line-3);border-radius:2px}
.geo-country__title{display:flex;flex-direction:column;gap:4px}
.geo-country__title small{font:400 13px/1.4 Inter,sans-serif;text-transform:none;color:var(--text-subtle)}
.geo-country--group{align-items:flex-start}
.geo-country--group .geo-country__name{flex-direction:column;align-items:flex-start;gap:12px}
.geo-country--group .geo-country__num small{white-space:nowrap}
@media (max-width:600px){.geo-country{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px}.geo-country .geo-country__num small{margin-left:0}}
.geo-country__num{display:flex;font:700 22px Oswald,sans-serif;color:var(--text-strong)}
.geo-country__num small{font:400 12px Inter,sans-serif;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;margin-left:6px}
.geo-box{border:1px solid var(--line);background:var(--line);display:flex;flex-direction:column;gap:1px}

/* CTA-банер (завжди темний) */
.cta{position:relative;overflow:hidden;background:#0f1115;color:var(--text);padding-block:clamp(51px,11vw,88px);border-bottom:1px solid var(--line)}
.cta::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,#16191f 0 12px,#121519 12px 24px)}
.cta::after{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:var(--accent)}
.cta>.container{position:relative;z-index:1}
.cta--form{padding-block:clamp(56px,11vw,96px)}
.cta__row{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta__text{max-width:54ch}
.cta h2{font-weight:700;font-size:clamp(28px,3.6vw,46px);line-height:1;margin-bottom:14px}
.cta--form h2{font-size:clamp(32px,4.4vw,56px);margin-bottom:20px}
.cta p{font-size:16.5px;line-height:1.6;color:var(--text-muted);max-width:46ch}
.cta--form p{margin-bottom:26px}
.contact-lines{display:flex;flex-direction:column;gap:14px}
.contact-lines a{display:flex;align-items:center;gap:14px}
.contact-lines .is-phone{font:600 24px/1.2 Oswald,sans-serif;letter-spacing:.02em}
.contact-lines .is-mail{font-size:16px;color:var(--text-muted)}
.contact-lines .is-phone+.is-phone{font-size:19px;color:var(--text-body)}

/* Форми */
.form{background:var(--surface);border:1px solid var(--line);padding:34px;display:flex;flex-direction:column;gap:16px}
[data-theme="light"] .is-dark .form{border-color:rgba(255,255,255,.09)}
.form--grid{background:none;border:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.form--grid .field--full,.form--grid .form__submit,.form--grid .form__note,.form--grid .form__status{grid-column:1/-1}
@media (max-width:480px){.form{padding:22px 18px}}
.field{display:flex;flex-direction:column;gap:7px;position:relative}
.field label:not(.file){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.input{width:100%;min-height:50px;background:var(--field);border:1px solid var(--line-2);color:var(--text);padding:15px 16px;font-size:16px;line-height:1.3;border-radius:2px;outline:none;transition:border-color .2s}
.input::placeholder{color:var(--text-subtle)}
.input:focus{border-color:var(--accent)}
.input[aria-invalid="true"]{border-color:var(--danger)}
textarea.input{resize:vertical;min-height:100px}
.field__hint{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.3;color:var(--danger)}
.field__hint::before{content:"";width:6px;height:6px;background:currentColor;transform:rotate(45deg);flex:none}
.field__hint[hidden]{display:none}
.file{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px dashed var(--line-btn);padding:14px 16px;font-size:14px;color:var(--text-muted);cursor:pointer;border-radius:2px;transition:border-color .2s}
.file:hover,.file:focus-within{border-color:var(--accent)}
.file b{font:600 13px Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}
.file input{position:absolute;width:1px;height:1px;opacity:0}
.file__name{color:var(--text);word-break:break-all}
.form__submit{border:0;padding:16px}
.form__submit[disabled]{opacity:.6;cursor:progress}
.form__note,.cta .form__note{font-size:11.5px;line-height:1.5;color:var(--text-faint);text-align:center;max-width:none;margin:0}
.form--grid .form__note{text-align:left}
.cta .form__status{font-size:14.5px;max-width:none;margin:0}
.form__status{padding:14px 16px;border-left:3px solid var(--accent);background:rgba(255,106,0,.08);font-size:14.5px;line-height:1.5}
.form__status.is-error{border-color:var(--danger);background:rgba(255,122,107,.08)}
.form__status[hidden]{display:none}

/* Кастомний select «Посада» */
.select{position:relative}
.select__btn{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--field);border:1px solid var(--line-2);color:var(--text-subtle);padding:15px 16px;font-size:16px;border-radius:2px;text-align:left;outline:none;transition:border-color .2s}
.select__btn.has-value{color:var(--text)}
.select__btn:hover{border-color:rgba(255,106,0,.55)}
.select__btn:focus-visible,.select__btn[aria-expanded="true"]{border-color:var(--accent);outline:none}
.select__btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select__btn::after{content:"";width:8px;height:8px;flex:none;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.select__btn[aria-expanded="true"]::after{transform:rotate(-135deg) translate(-2px,-2px)}
.select__list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;list-style:none;background:var(--surface);border:1px solid var(--line-2);border-top:2px solid var(--accent);box-shadow:var(--shadow-pop);max-height:300px;overflow-y:auto}
.select__list[hidden]{display:none}
.select__opt{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.35;color:var(--nav);cursor:pointer;transition:background .15s,color .15s}
.select__opt::before{content:"";width:7px;height:7px;flex:none;transform:rotate(45deg);background:var(--line-3)}
.select__opt:hover,.select__opt.is-focus{background:rgba(255,106,0,.12);color:var(--text-strong)}
.select__opt[aria-selected="true"]{background:rgba(255,106,0,.1);color:var(--text-strong)}
.select__opt[aria-selected="true"]::before{background:var(--accent)}
.js .select select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.no-js .select__btn,.no-js .select__list{display:none}

/* ==========================================================================
   Футер (завжди темний)
   ========================================================================== */
.site-footer{background:var(--footer);color:var(--text);padding:clamp(37px,11vw,64px) 0 32px}
.footer__top{display:flex;flex-wrap:wrap;gap:40px;align-items:stretch}
.footer__cols{flex:3 1 560px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:40px;align-content:start}
.footer__about{grid-column:1/-1;display:flex;align-items:center;gap:20px 32px}
.footer__about .brand{margin-bottom:14px}
.footer__logo{display:block;flex:none;line-height:0}
@media (max-width:560px){.footer__about{flex-direction:column;align-items:flex-start}}
.footer__logo img{width:200px;height:auto}
.footer__about p{font-size:14px;color:var(--text-subtle);max-width:52ch;line-height:1.6}
.footer__h{font:600 13px Oswald,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 18px}
.footer__links{display:flex;flex-direction:column;gap:11px;font-size:14px;color:var(--text-dim);line-height:1.5;list-style:none}
.footer__links a{transition:color .2s}
.footer__links a:hover{color:var(--accent-text)}
.footer__links .is-strong{color:var(--text);font-weight:500}
.footer__map{flex:2 1 360px;display:flex;flex-direction:column;min-height:300px;position:relative}
.footer__route{position:absolute;top:1px;right:1px;z-index:3;background:var(--footer);padding:9px 14px;font:500 12px Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);display:flex;align-items:center;gap:6px}
.footer__route:hover{color:var(--accent)}
.footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:var(--text-faint)}
.footer__bottom a:hover{color:var(--accent-text)}
.footer__legal{display:flex;gap:18px;flex-wrap:wrap}

/* Мапа (click-to-load) */
.map{position:relative;flex:1;min-height:190px;border:1px solid rgba(255,255,255,.1);overflow:hidden;background:repeating-linear-gradient(135deg,#171b22 0 11px,#14181f 11px 22px)}
.map--lg{min-height:420px}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3) contrast(.95) brightness(.92)}
/* Позначка — смужкою під мапою: на самій мапі вона закривала б картку, логотип або умови Google. */
.map:has(.map__pin) iframe{bottom:auto;height:calc(100% - var(--pin-h,34px))}
.map--lg{--pin-h:38px}
.map__pin{position:absolute;left:0;bottom:0;height:var(--pin-h,34px);box-sizing:border-box;z-index:2;background:var(--accent);color:var(--on-accent);padding:8px 13px;display:flex;align-items:center;gap:8px;font:600 12px Oswald,sans-serif;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.map--lg .map__pin{padding:10px 16px;font-size:13px}
.map__pin::before{content:"";width:7px;height:7px;background:var(--on-accent);transform:rotate(45deg)}

/* ==========================================================================
   Сторінки
   ========================================================================== */
/* Проєкт */
.meta-bar{background:var(--surface);border-bottom:1px solid var(--line)}
.meta-bar__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.meta{padding:28px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.meta span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle)}
.meta strong{font:600 19px/1.3 Oswald,sans-serif;letter-spacing:.01em;color:var(--text-strong)}
@media (max-width:480px){.meta{padding:18px 4px;border-right:0;border-bottom:1px solid var(--line)}}
.feature-img{background:var(--surface-alt);padding-top:56px}
.body-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:56px;align-items:start}
@media (max-width:768px){.body-grid{grid-template-columns:1fr}}
.prose{font-size:16.5px;line-height:1.7;color:var(--text-body)}
.prose>*+*{margin-top:18px}
.prose h2{font-weight:700;font-size:clamp(26px,3vw,38px);line-height:1.05;color:var(--text);margin-top:38px}
.prose h3{font-size:23px;color:var(--text);margin-top:38px}
.prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.prose ul{padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.prose ul li{display:flex;gap:11px}
.prose ul li::before{content:"";width:7px;height:7px;background:var(--accent);transform:rotate(45deg);flex:none;margin-top:.7em}
.prose img{border:1px solid var(--line)}
.prose>:first-child{margin-top:0}
.block-title{font-size:23px;margin:38px 0 20px}
.scope{margin-bottom:42px}
.scope__row{padding:18px 22px;display:flex;align-items:center;gap:16px;background:var(--surface)}
.scope__num{font:600 15px Oswald,sans-serif;color:var(--accent);min-width:32px}
.scope__text{font-size:15.5px;line-height:1.45;color:var(--text-soft)}
.aside{display:flex;flex-direction:column;gap:24px;position:sticky;top:96px}
@media (max-width:768px){.aside{position:static}}
.box{background:var(--surface);border:1px solid var(--line);padding:26px}
.box--top{border-top:3px solid var(--accent)}
.box h4{font-size:16px;letter-spacing:.04em;margin-bottom:18px}
.box__list{display:flex;flex-direction:column;gap:14px;list-style:none}
.box__list li{display:flex;flex-direction:column;gap:3px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.box__list strong{font:600 16px Oswald,sans-serif}
.box__list span{font-size:13px;color:var(--text-subtle)}
.mini-cta{position:relative;overflow:hidden;background:var(--surface-alt);border:1px solid var(--line);padding:26px}
.mini-cta::before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent)}
.mini-cta h4{font-weight:700;font-size:21px;line-height:1.1;margin-bottom:10px}
.mini-cta p{font-size:14.5px;line-height:1.55;color:var(--text-muted);margin-bottom:20px}
.mini-cta .btn{padding:14px;font-size:15px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.gallery--docs{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:20px}
.gallery__item{position:relative;display:block;padding:0;border:1px solid var(--line);background:repeating-linear-gradient(135deg,var(--ph-a) 0 11px,var(--ph-b) 11px 22px);cursor:zoom-in;overflow:hidden;transition:border-color .25s}
.gallery__item:hover{border-color:rgba(255,106,0,.5)}
.gallery__item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.gallery--docs .gallery__item img{aspect-ratio:3/4;object-fit:cover;object-position:top}
.doc{display:flex;flex-direction:column;gap:14px}
.doc h3{font-size:17px;line-height:1.2}

/* Каруселі зі snap (мобільний) */
@media (max-width:768px){
  .snap{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px!important;scrollbar-width:none;margin-inline:calc(-1*clamp(18px,4vw,32px));padding:0 clamp(18px,4vw,32px) 4px;scroll-padding:0 clamp(18px,4vw,32px)}
  .snap>*{flex:0 0 84%!important;scroll-snap-align:start}
  .snap::-webkit-scrollbar,.hscroll::-webkit-scrollbar{display:none}
  .hscroll{flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:calc(-1*clamp(18px,4vw,32px));padding-inline:clamp(18px,4vw,32px)}
  .hscroll>*{flex:none!important;scroll-snap-align:start}
}

/* Про компанію */
.ind-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.ind-chips li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-soft);border:1px solid var(--line-2);padding:8px 14px;border-radius:2px}
.ind-chips li::before{content:"";width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}
.label-h{font:600 13px Oswald,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle);margin:30px 0 14px}
.dir{padding:30px 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px 40px;align-items:baseline;background:var(--surface)}
.dir__title{display:flex;align-items:baseline;gap:18px}
.dir__title span{font:600 15px Oswald,sans-serif;color:var(--accent)}
.dir__title h3{font-size:22px;line-height:1.15}
.dir p{font-size:15px;line-height:1.6;color:var(--text-dim)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:28px;list-style:none}
.step{border-top:2px solid var(--accent);padding-top:22px;display:flex;flex-direction:column;gap:12px}
.step__num{font:700 40px/1 Oswald,sans-serif;color:var(--num)}
.step h3{font-size:19px;line-height:1.2}
.step p{font-size:14px;line-height:1.55;color:var(--text-dim)}

/* Виробнича база */
.zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:24px;list-style:none}
.zone{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line)}
.zone .media{aspect-ratio:16/10;border:0}
.zone__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.zone__num{font:600 14px Oswald,sans-serif;color:var(--accent)}
.zone h3{font-size:20px;line-height:1.15}
.zone p{font-size:14px;line-height:1.55;color:var(--text-dim)}
.facts{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.facts>div{flex:1 1 200px;background:var(--surface-alt);padding:26px 24px;display:flex;flex-direction:column;gap:6px}
[data-theme="light"] .facts>div{background:#fff}
.facts strong{font:700 clamp(28px,3vw,40px)/1 Oswald,sans-serif;color:var(--text-strong)}
.facts span{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle)}
.address-line{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:15px;color:var(--text-muted)}

/* Вакансії */
.benefit{padding:30px 26px;display:flex;flex-direction:column;gap:12px;min-height:160px}
.benefit__num{font:600 26px/1 Oswald,sans-serif;color:var(--num)}
.benefit h3{font-size:18px;line-height:1.2}
.benefit p{font-size:14px;line-height:1.5;color:var(--text-dim)}
.jobs{display:flex;flex-direction:column;gap:14px}
.job{background:var(--card-alt);border:1px solid var(--line);transition:border-color .2s}
[data-theme="light"] .job{background:#fff}
.job[open]{border-color:rgba(255,106,0,.5)}
.job>summary{list-style:none;cursor:pointer;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.job>summary::-webkit-details-marker{display:none}
.job__head{display:flex;flex-direction:column;gap:12px;min-width:0}
.job h3{font-size:clamp(19px,2.2vw,24px);line-height:1.1}
.job__chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.job__chips li{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted);background:var(--tint);border:1px solid var(--line);padding:5px 11px;border-radius:2px}
.job__chips li::before{content:"";width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}
.job__icon{width:38px;height:38px;flex:none;border:1px solid var(--line-3);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:var(--accent);transition:transform .25s}
.job[open] .job__icon{transform:rotate(45deg)}
.job__body{padding:24px 26px 26px;display:grid;grid-template-columns:1.6fr 1fr;gap:32px;border-top:1px solid var(--line)}
@media (max-width:768px){.job__body{grid-template-columns:1fr}.job>summary{padding:20px}.job__body{padding:20px}}
.job__summary{font-size:15px;line-height:1.6;color:var(--text-body);margin-bottom:18px}
.job__body h4{font-size:14px;letter-spacing:.1em;color:var(--text-strong);margin-bottom:12px}
.req{display:flex;flex-direction:column;gap:9px;list-style:none}
.req li{display:flex;gap:11px;font-size:14.5px;line-height:1.45;color:var(--text-muted)}
.req li::before{content:"";width:7px;height:7px;background:var(--accent);transform:rotate(45deg);flex:none;margin-top:6px}
.job__side{display:flex;flex-direction:column;gap:16px;align-self:start;background:var(--tint);border:1px solid var(--line);padding:20px}
.job__side span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle)}
.job__side strong{display:block;font:700 22px/1.2 Oswald,sans-serif;color:var(--accent-text)}
.job__side .btn{padding:13px;font-size:14px}
.jobs-empty{padding:30px;border:1px solid var(--line);color:var(--text-muted)}

/* Контакти */
.contact-card{padding:22px 24px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}
.contact-card__label{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle)}
.contact-card__label::before{content:"";width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}
.contact-card__value{font:600 22px/1.25 Oswald,sans-serif;letter-spacing:.01em;transition:color .2s}
a.contact-card__value:hover{color:var(--accent-text)}
.contact-card__value--sm{font-size:19px}
.requisites{border:1px solid var(--line);padding:22px 24px}
.requisites h4{font-size:13px;letter-spacing:.14em;color:var(--text-subtle);margin-bottom:14px}
.requisites dl{margin:0;display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--text-body)}
.requisites dl div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.requisites dt{color:var(--text-subtle)}
.requisites dd{margin:0}
.stack{display:flex;flex-direction:column;gap:28px}
.map-col{display:flex;flex-direction:column;min-height:460px}

/* Пошук */
.search-form{display:flex;max-width:620px}
.search-form--sm{max-width:460px;margin-bottom:24px}
.search-form .input{flex:1;min-width:0;border-right:0;border-radius:2px 0 0 2px;background:var(--surface)}
.search-form .btn{border-radius:0 2px 2px 0;padding:0 28px;font-size:15px}
.results-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.result{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .2s}
.result:hover{padding-left:10px}
.result h2{font-size:22px;line-height:1.15}
.result p{font-size:15px;line-height:1.6;color:var(--text-muted)}
.result[hidden]{display:none}
.empty-state{padding:48px 0;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.empty-state h2{font-weight:700;font-size:clamp(24px,3vw,34px)}
.empty-state p{color:var(--text-muted);max-width:52ch}

/* 404 */
.nf{position:relative;display:flex;align-items:center;min-height:70vh;background:var(--bg)}
.nf__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:48px;align-items:center;padding-block:96px;width:100%}
.nf__code{font:700 clamp(140px,22vw,300px)/.85 Oswald,sans-serif;color:var(--accent);letter-spacing:-.02em}
.nf h1{font-weight:700;font-size:clamp(32px,4vw,52px);line-height:1.02;margin-bottom:18px}
.nf p{font-size:16.5px;line-height:1.6;color:var(--text-muted);margin-bottom:28px;max-width:44ch}
.nf .btn{padding:14px 26px;font-size:15px}

/* Партнери */
.partner{padding:24px 26px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:var(--surface)}
.partner h3{font-size:18px;line-height:1.2}
.partner p{font-size:13.5px;color:var(--text-subtle);margin-top:6px}
.partner__code{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:26px;border:1px solid var(--line-3);font:500 12px Oswald,sans-serif;letter-spacing:.08em;color:var(--accent-text)}
.partner img{max-height:44px;width:auto;margin-bottom:12px}

/* Мапа сайту */
.sitemap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:40px}
.sitemap h2{font-size:18px;margin-bottom:16px;color:var(--accent-text)}
.sitemap ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15px}
.sitemap a:hover{color:var(--accent-text)}

/* Послуги (архів) */
.toc{background:var(--surface-alt);padding:34px 0;border-bottom:1px solid var(--line)}
.svc{padding-block:clamp(51px,11vw,88px);background:var(--surface-alt);border-bottom:1px solid var(--line);scroll-margin-top:84px}
.svc:nth-child(even){background:var(--surface)}
.svc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:start}
.svc__num{position:absolute;left:0;top:0;z-index:2;background:var(--accent);color:var(--on-accent);font:700 22px/1 Oswald,sans-serif;padding:10px 16px}
.svc__body{display:flex;flex-direction:column;gap:18px}
.svc__body h2{font-weight:700;font-size:clamp(28px,3.2vw,42px);line-height:1.04;text-wrap:balance}
.svc__body p{font-size:16px;line-height:1.65;color:var(--text-muted);text-wrap:pretty}
.svc__items{margin-top:6px}
.svc__item{padding:15px 20px;display:flex;align-items:flex-start;gap:14px;background:var(--surface)}
.svc:nth-child(even) .svc__item{background:var(--surface-alt)}
[data-theme="light"] .svc:nth-child(even) .svc__item{background:#f5f6f2}
.svc__item::before{content:"";width:7px;height:7px;background:var(--accent);transform:rotate(45deg);flex:none;margin-top:8px}
.svc__item span{font-size:15px;line-height:1.5;color:var(--text)}
.svc__outro{font-size:15px!important;color:var(--text-dim)!important}
.svc__actions{display:flex;gap:22px;flex-wrap:wrap;margin-top:6px;align-items:center}

/* Лайтбокс */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,9,12,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox button{position:absolute;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(15,17,21,.7);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:24px;line-height:1}
.lightbox button:hover{border-color:var(--accent);color:var(--accent)}
.lightbox__close{top:12px;right:12px}
.lightbox__prev{left:10px;top:50%;transform:translateY(-50%)}
.lightbox__next{right:10px;top:50%;transform:translateY(-50%)}
.lightbox__count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font:500 13px Oswald,sans-serif;letter-spacing:.1em;color:#aab1bc}
@media (max-width:600px){.lightbox{padding:64px 8px}.lightbox__prev,.lightbox__next{top:auto;bottom:8px;transform:none}}

/* Reveal: прихований стан вмикається лише з класом .js */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none}}

/* Гутенберг / блоки */
.alignwide{max-width:1280px;margin-inline:auto}
.wp-block-image img{height:auto}
.page-content{padding-block:clamp(48px,8vw,80px);background:var(--surface-alt)}
.page-content .prose{max-width:78ch}
.page-content--wide .prose{max-width:none}
.smi-block+.smi-block{margin-top:0}
.is-layout-flow>.smi-block{margin-block:0}
