:root{
  --bg:#0B0F14;
  --bg2:#111820;
  --card:#18212B;
  --deep:#132033;
  --text:#F6F8FB;
  --muted:#A8B1BD;
  --tech:#6F7C8A;
  --line:#2B3642;
  --amber:#F2C94C;
  --cyan:#6EE7F9;
  --glass:rgba(255,255,255,0.06);
  --glass-dark:rgba(20,24,29,0.64);
  --case-overlay:linear-gradient(160deg, rgba(26,35,48,0.55) 0%, rgba(13,20,28,0.85) 100%);
}

body.theme-light{
  --bg:#F4F6F9;
  --bg2:#FFFFFF;
  --card:#FFFFFF;
  --deep:#EFF3F8;
  --text:#0B0F14;
  --muted:#45505C;
  --tech:#5E6A77;
  --line:#D7DEE7;
  --amber:#C59B20;
  --cyan:#097D93;
  --glass:rgba(11,15,20,0.05);
  --glass-dark:rgba(255,255,255,0.78);
  --case-overlay:linear-gradient(160deg, rgba(255,255,255,0.78) 0%, rgba(244,246,249,0.92) 100%);
}

/* Keep hero unchanged in light theme */
body.theme-light .hero{
  --bg:#0B0F14;
  --bg2:#111820;
  --card:#18212B;
  --deep:#132033;
  --text:#F6F8FB;
  --muted:#A8B1BD;
  --tech:#6F7C8A;
  --line:#2B3642;
  --amber:#F2C94C;
  --cyan:#6EE7F9;
  --glass:rgba(255,255,255,0.06);
  --glass-dark:rgba(20,24,29,0.64);
}
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{
  background:var(--bg);color:var(--text);
  font-family:'Geologica',sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;
}
  h1,h2,h3,h4,h5,h6{font-family:'Exo 2',sans-serif}
body{overflow-x:hidden}
::selection{background:var(--amber);color:#0B0F14}
a{color:inherit;text-decoration:none}
button{font-family:inherit;border:none;background:none;color:inherit;cursor:pointer}
input,textarea,select{font-family:inherit;color:inherit}

.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em}
.display{font-family:'Exo 2',sans-serif;font-weight:700;letter-spacing:-0.025em;line-height:0.95}
.am{color:var(--amber)}
.cy{color:var(--cyan)}
.muted{color:var(--muted)}
.tech{color:var(--tech)}

.wrap{max-width:1440px;margin:0 auto;padding:0 56px;position:relative}
@media (max-width:768px){ .wrap{padding:0 20px} }

/* ======================================================
   GLOBAL BACKGROUND LAYERS
   ====================================================== */
.bg-canvas{
  position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(242,201,76,0.10), transparent 32%),
    radial-gradient(circle at 80% 10%, rgba(110,231,249,0.08), transparent 30%),
    linear-gradient(135deg, #0B0F14 0%, #111820 45%, #132033 100%);
}
.bg-grid{
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:linear-gradient(180deg, transparent 0%, black 8%, black 92%, transparent 100%);
}

/* ======================================================
   HEADER
   ====================================================== */
header.site{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background-color .35s ease, border-color .35s ease, backdrop-filter .35s ease;
  border-bottom:1px solid transparent;
}
header.site.scrolled{
  background:rgba(11,15,20,0.7);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom-color:var(--line);
}
.header-inner{display:flex;align-items:center;gap:32px;height:76px;position:relative}
.brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  flex-shrink:0;
}
.brand-powered{
  margin-left:0;
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;
  letter-spacing:0.06em;
  color:var(--tech);
  white-space:nowrap;
}
.brand-powered a{
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.14);
  padding-bottom:1px;
}
.brand-powered a:hover{color:var(--text);border-bottom-color:rgba(242,201,76,0.35)}
.brand-logo{
  display:block;
  height:40px;
  width:auto;
  max-width:min(220px,42vw);
  object-fit:contain;
}
.brand--footer .brand-logo{
  height:44px;
  max-width:min(240px,55vw);
}
nav.primary{
  display:flex;gap:28px;
  margin-left:8px;
  flex-shrink:0;
  z-index:1;
}
nav.primary a{font-size:15px;color:var(--muted);transition:color .2s}
nav.primary a:hover{color:var(--text)}
.header-spacer{flex:1}
.header-phone{
  font-family:'Exo 2',sans-serif;
  font-weight:600;
  font-size:15px;
  letter-spacing:0.02em;
  color:var(--text);
  white-space:nowrap;
  transition:color .2s;
}
.header-phone:hover{color:var(--amber)}
@media (max-width:900px){.header-phone{display:none}}
.cta{
  background:var(--amber);color:#0B0F14;
  padding:13px 20px;font-weight:600;font-size:13px;letter-spacing:0.02em;
  display:inline-flex;align-items:center;gap:10px;
  transition:filter .2s, box-shadow .25s, transform .15s;
  box-shadow:0 0 0 0 rgba(242,201,76,0);
}
.cta:hover{filter:brightness(1.05);box-shadow:0 0 32px rgba(242,201,76,0.4)}
.cta:active{transform:translateY(1px)}
.cta.ghost{
  background:rgba(255,255,255,0.04);color:var(--text);
  border:1px solid var(--line);backdrop-filter:blur(12px);
}
.cta.ghost:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 24px rgba(110,231,249,0.2)}
.hamburger{display:none;width:38px;height:38px;border:1px solid var(--line);place-items:center;background:rgba(255,255,255,0.03)}
.hamburger span{display:block;width:14px;height:1.5px;background:var(--text);box-shadow:0 -4px 0 var(--text), 0 4px 0 var(--text)}
@media (max-width:980px){
  nav.primary{display:none}
  .hamburger{display:grid}
  .header-inner{gap:14px}
}

/* ======================================================
   HERO
   ====================================================== */
.hero{
  position:relative;padding-top:140px;padding-bottom:80px;
  min-height:100vh;overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-photo{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;
}
.hero-photo::before{
  content:"";
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    linear-gradient(160deg, rgba(11,15,20,0.92) 0%, rgba(11,15,20,0.78) 32%, rgba(11,15,20,0.82) 55%, rgba(11,15,20,0.94) 100%);
  background-size:auto,auto;
  background-position:center,center;
  background-repeat:no-repeat;
}
.hero-slide{
  position:absolute;inset:0;z-index:1;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:0;
  transition:opacity 1200ms ease;
  will-change:opacity;
}
.hero-slide.on{opacity:1}
.hero-glow-a,.hero-glow-b{pointer-events:none;z-index:1}
.hero-glow-a{position:absolute;width:600px;height:600px;left:-100px;top:-50px;
  background:radial-gradient(circle, rgba(242,201,76,0.18), transparent 60%);
  filter:blur(40px);
}
.hero-glow-b{position:absolute;width:700px;height:700px;right:-200px;top:100px;
  background:radial-gradient(circle, rgba(110,231,249,0.18), transparent 60%);
  filter:blur(50px);
}
.hero-content{position:relative;z-index:3}
.hero-grid{display:grid;grid-template-columns:1fr;gap:64px;align-items:start}
@media (max-width:1024px){.hero-grid{grid-template-columns:1fr;gap:48px}}

.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  padding:8px 14px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line);
  backdrop-filter:blur(10px);
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);
  letter-spacing:0.06em;margin-bottom:32px;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px var(--amber)}
.eyebrow .div{width:1px;height:10px;background:var(--line)}

.hero-title{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(40px,5.6vw,84px);letter-spacing:-0.035em;line-height:0.98;
}
.hero-title .row{display:block}
.hero-sub{
  margin-top:32px;color:var(--muted);font-size:17px;line-height:1.55;
  max-width:540px;
}
.hero-actions{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}

.hero-form-col{align-self:start;width:100%}

/* modal (hero form) */
.modal{position:fixed;inset:0;z-index:200;display:none}
.modal.open{display:block}
.modal__overlay{position:absolute;inset:0;background:rgba(11,15,20,0.72);backdrop-filter:blur(6px)}
.modal__dialog{
  position:relative;
  width:min(680px, calc(100% - 40px));
  margin:8vh auto;
}
.modal__dialog--sm{width:min(480px, calc(100% - 40px))}
.tour-sent{padding:8px 0}
.tour-sent h4{font-family:'Exo 2',sans-serif;font-weight:600;font-size:20px}
.tour-sent p{color:var(--muted);font-size:13px;margin-top:6px;line-height:1.5}
.modal__close{
  position:absolute;right:10px;top:10px;
  width:34px;height:34px;border-radius:10px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  backdrop-filter:blur(10px);
  font-size:20px;line-height:1;color:var(--text);
  display:grid;place-items:center;
  z-index:2;
}
.modal__close:hover{border-color:rgba(242,201,76,0.28)}

/* upload widget */
.upload-widget{
  position:relative;margin-top:0;
  background:var(--glass);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 24px 80px rgba(0,0,0,0.35);
  padding:24px;
}
.uw-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.uw-head h4{font-family:'Exo 2',sans-serif;font-weight:600;font-size:16px}
.uw-head .meta{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);letter-spacing:0.1em}
.uw-desc{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:16px}
.uw-drop{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  position:relative;
  border:1px dashed rgba(255,255,255,0.18);
  background:rgba(11,15,20,0.4);
  padding:24px;text-align:center;
  transition:border-color .2s, background .2s;
  cursor:pointer;
}
.uw-drop input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
  opacity:0;
}
.uw-drop:hover{border-color:var(--amber);background:rgba(242,201,76,0.05)}

/* upload drop — light theme */
body.theme-light .uw-drop{
  border-color:rgba(11,15,20,0.18);
  background:rgba(255,255,255,0.72);
}
body.theme-light .uw-drop:hover{
  border-color:rgba(197,155,32,0.55);
  background:rgba(197,155,32,0.06);
}
.uw-drop .ic{
  width:36px;height:36px;border-radius:50%;
  background:rgba(242,201,76,0.12);
  display:grid;place-items:center;margin:0 auto 10px;
  color:var(--amber);
}
.uw-drop .t{font-size:13px;color:var(--text);font-weight:500}
.uw-drop .f{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);letter-spacing:0.08em;margin-top:6px}
.uw-btn{
  width:100%;background:var(--amber);color:#0B0F14;
  padding:14px;margin-top:14px;font-weight:600;font-size:13px;letter-spacing:0.02em;
  display:flex;justify-content:space-between;align-items:center;
  transition:filter .2s, box-shadow .2s;
}
.uw-btn:hover{filter:brightness(1.05);box-shadow:0 0 32px rgba(242,201,76,0.35)}
.uw-foot{font-size:11px;color:var(--tech);margin-top:12px;line-height:1.5}

.form-accept{
  display:flex;align-items:flex-start;gap:10px;
  margin:16px 0 14px;
  font-size:12px;line-height:1.55;color:var(--muted);
  cursor:pointer;
}
.form-accept input[type="checkbox"]{
  flex-shrink:0;width:16px;height:16px;margin-top:2px;
  accent-color:var(--amber);cursor:pointer;
}
.form-accept a{
  color:var(--text);
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,0.22);
  text-underline-offset:2px;
}
.form-accept a:hover{text-decoration-color:var(--amber)}

.uw-expand{display:none;flex-direction:column;gap:0}
.upload-widget.expanded .uw-expand{display:flex}
.upload-widget.expanded .uw-first{display:none}
.uw-field{
  border-bottom:1px solid var(--line);padding:12px 0;
  display:flex;flex-direction:column;gap:4px;
  transition:border-color .2s;
}
.uw-field:focus-within{border-bottom-color:var(--amber)}
.uw-field label{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--tech);letter-spacing:0.1em;text-transform:uppercase}
.uw-field input,.uw-field textarea{background:transparent;border:none;outline:none;font-size:14px;font-weight:300;font-family:inherit;color:var(--text);padding:0;width:100%}
.uw-field textarea{min-height:48px;resize:vertical}
.uw-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.uw-intro-contact{margin:8px 0 16px;display:flex;flex-direction:column;gap:0}
.uw-sent{display:none;padding:8px 0}
.upload-widget.sent .uw-sent{display:block}
.upload-widget.sent .uw-expand,.upload-widget.sent .uw-first,.upload-widget.sent .uw-intro-contact{display:none}
.uw-sent h4{font-family:'Exo 2',sans-serif;font-weight:600;font-size:20px}
.uw-sent p{color:var(--muted);font-size:13px;margin-top:6px}

/* hero — наш стандарт */
.hero-standard{margin-top:72px}
.hero-standard__tag{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--tech);
  letter-spacing:0.14em;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;margin-bottom:20px;
}
.hero-standard__tag::before{
  content:"";width:5px;height:5px;background:var(--amber);border-radius:50%;
  box-shadow:0 0 8px var(--amber);
}
.hero-standard__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
@media (max-width:1024px){.hero-standard__grid{grid-template-columns:1fr}}
.hero-standard__card{
  background:var(--glass);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 24px 80px rgba(0,0,0,0.35);
  padding:24px 28px;
  transition:background .25s, border-color .25s;
}
.hero-standard__card:hover{
  background:rgba(255,255,255,0.08);
  border-color:rgba(242,201,76,0.22);
}
.hero-standard__num{
  font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);
  letter-spacing:0.12em;
}
.hero-standard__title{
  font-family:'Exo 2',sans-serif;font-weight:600;font-size:17px;
  line-height:1.3;margin-top:12px;
}
.hero-standard__text{
  margin-top:12px;font-size:13px;color:var(--muted);line-height:1.55;
}

/* hero dashboard */
.hero-metrics{padding:0 0 56px}
.hero-metrics .dashboard{margin-top:-80px}
.hero{padding-bottom:160px}
.dashboard{
  margin-top:48px;
  background:var(--glass-dark);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.08);
  display:grid;grid-template-columns:repeat(4,1fr);
}
@media (max-width:900px){.dashboard{grid-template-columns:repeat(2,1fr)}}
.dash-cell{
  padding:28px 32px;border-right:1px solid rgba(255,255,255,0.06);
  position:relative;transition:background .25s;
}
.dash-cell:hover{background:rgba(255,255,255,0.03)}
.dash-cell:last-child{border-right:none}
@media (max-width:900px){.dash-cell:nth-child(2n){border-right:none}.dash-cell:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,0.06)}}
.dash-cell .lbl{
  font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);
  letter-spacing:0.12em;text-transform:uppercase;display:flex;align-items:center;gap:8px;
}
.dash-cell .lbl::before{content:"";width:5px;height:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 8px var(--cyan)}
.dash-cell .num{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(36px,3.6vw,52px);color:var(--amber);
  letter-spacing:-0.02em;line-height:1;margin-top:14px;
}
.dash-cell .num .sm{font-size:0.45em;color:var(--text);font-weight:500}
.dash-cell .desc{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.45;max-width:200px}

/* ======================================================
   SECTION SCAFFOLD
   ====================================================== */
section.block{padding:70px 0;position:relative}
section.block.what-we-do{padding-top:140px;padding-bottom:70px}
section.block#final-form{padding-top:70px;padding-bottom:140px}
@media (max-width:768px){
  section.block{padding:56px 0}
  section.block.what-we-do{padding-top:90px;padding-bottom:56px}
  section.block#final-form{padding-top:56px;padding-bottom:96px}
}
.sec-tag{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--tech);
  letter-spacing:0.16em;text-transform:uppercase;
  display:flex;align-items:center;gap:14px;margin-bottom:28px;
}
.sec-tag::before{content:"";width:32px;height:1px;background:var(--amber)}
.sec-title{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(36px,4.6vw,68px);letter-spacing:-0.03em;line-height:1;
}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:48px;flex-wrap:wrap}

/* ======================================================
   WHAT WE DO
   ====================================================== */
.what-we-do{
  position:relative;
  background:
    radial-gradient(ellipse 72% 85% at 14% 40%, rgba(242,201,76,0.08), transparent 48%),
    radial-gradient(ellipse 58% 75% at 88% 55%, rgba(110,231,249,0.06), transparent 44%);
}
.what-we-do .wrap{position:relative;z-index:1}
.what-we-do-head{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:48px 64px;
  align-items:end;
}
@media (max-width:1024px){
  .what-we-do-head{grid-template-columns:1fr;gap:28px;align-items:start}
}
.what-we-do-lead{
  font-size:15px;font-weight:300;line-height:1.65;
  max-width:400px;padding:18px 0 20px;
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid var(--line);
  letter-spacing:0.02em;
}
.what-we-do .what-we-do-head{margin-bottom:72px}

.what-we-do a.service-row{
  display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center;
  margin-bottom:100px;color:inherit;text-decoration:none;
  transition:opacity .2s;
}
.what-we-do a.service-row:hover{opacity:0.96}
.what-we-do a.service-row:hover .visual{border-color:rgba(110,231,249,0.35)}
.what-we-do .service-row{
  display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center;
  margin-bottom:100px;
}
.what-we-do a.service-row.flip,
.what-we-do .service-row.flip{grid-template-columns:1.4fr 1fr}
.what-we-do a.service-row.flip .text,
.what-we-do .service-row.flip .text{order:2}
.what-we-do a.service-row.flip .visual,
.what-we-do .service-row.flip .visual{order:1}
@media (max-width:1024px){
  .what-we-do a.service-row,
  .what-we-do .service-row,
  .what-we-do a.service-row.flip,
  .what-we-do .service-row.flip{grid-template-columns:1fr;gap:40px}
  .what-we-do a.service-row.flip .text,
  .what-we-do .service-row.flip .text,
  .what-we-do a.service-row.flip .visual,
  .what-we-do .service-row.flip .visual{order:unset}
}
.what-we-do .service-row .num{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--amber);
  letter-spacing:0.12em;text-transform:uppercase;margin-bottom:16px;
}
.what-we-do .service-row h3{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-0.02em;
}
.what-we-do .service-row .desc{
  margin-top:18px;color:var(--muted);font-size:15px;line-height:1.65;font-weight:300;
}
.what-we-do .service-row .visual{
  height:min(420px,52vw);min-height:260px;
  background:var(--card);position:relative;overflow:hidden;
  border:1px solid var(--line);
}
.what-we-do .service-row .ph{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 14px),
    linear-gradient(145deg, rgba(24,33,43,0.98) 0%, rgba(11,15,21,0.98) 100%);
}
.what-we-do .service-row .visual .service-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  filter:saturate(1.02) contrast(1.03);
}
.what-we-do .service-row .visual .label{
  position:absolute;top:18px;left:18px;
  font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);
  letter-spacing:0.12em;text-transform:uppercase;
  padding:6px 10px;border:1px solid var(--line);
  background:rgba(11,15,21,0.72);backdrop-filter:blur(8px);
}
.what-we-do .service-row .visual .corner{
  position:absolute;bottom:18px;right:18px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--amber);letter-spacing:0.08em;
}
.what-we-do a.service-row:last-of-type,
.what-we-do .service-row:last-of-type{margin-bottom:48px}

/* ======================================================
   DIGITAL STANDARD
   ====================================================== */
.standard-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}
@media (max-width:1024px){.standard-grid{grid-template-columns:1fr;gap:56px}}
.standard-text p{color:var(--muted);font-size:16px;line-height:1.65;margin-top:24px;max-width:520px}

.flow{position:relative;padding-left:32px}
.flow::before{
  content:"";position:absolute;left:11px;top:8px;bottom:8px;width:1px;background:var(--line);
}
.flow .progress{
  position:absolute;left:11px;top:8px;width:1px;background:linear-gradient(180deg,var(--amber),rgba(242,201,76,0.2));
  height:0;transition:height 1.2s ease;box-shadow:0 0 8px rgba(242,201,76,0.4);
}
.flow.in .progress{height:calc(100% - 16px)}
.flow-step{
  position:relative;
  background:var(--glass);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.1);
  padding:24px 28px;margin-bottom:20px;
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.flow-step:hover{transform:translateX(4px);border-color:rgba(242,201,76,0.4);box-shadow:0 12px 40px rgba(0,0,0,0.4)}
.flow-step::before{
  content:"";position:absolute;left:-26px;top:28px;width:11px;height:11px;
  border-radius:50%;background:var(--bg);border:1.5px solid var(--amber);
  box-shadow:0 0 0 4px rgba(242,201,76,0.1);
}
.flow-step .num{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--amber);
  letter-spacing:0.1em;margin-bottom:10px;
}
.flow-step h4{font-family:'Exo 2',sans-serif;font-weight:600;font-size:20px;letter-spacing:-0.01em}
.flow-step p{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.55}

/* ======================================================
   INDUSTRIAL TIMELINE (history)
   ====================================================== */
.history-wrap{position:relative}
.history-glow{
  position:absolute;inset:-100px 0 0 0;
  background:
    radial-gradient(circle at 30% 50%, rgba(242,201,76,0.06), transparent 40%),
    radial-gradient(circle at 75% 70%, rgba(110,231,249,0.06), transparent 45%);
  pointer-events:none;z-index:0;
}
.history-content{position:relative;z-index:1}
.history-head{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;margin-bottom:64px;align-items:end}
@media (max-width:1024px){.history-head{grid-template-columns:1fr;gap:32px}}
.history-head p{color:var(--muted);font-size:15px;line-height:1.65;max-width:520px}
.history-stats{
  display:flex;gap:24px;margin-top:36px;
}
.history-stats .s{
  background:var(--glass);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.1);
  padding:18px 22px;flex:1;
}
.history-stats .s .v{font-family:'Exo 2',sans-serif;font-weight:700;font-size:32px;color:var(--amber);line-height:1}
.history-stats .s .k{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);letter-spacing:0.1em;margin-top:8px;text-transform:uppercase}

.timeline-h{
  display:grid;grid-template-columns:repeat(7,1fr);gap:0;
  border:1px solid var(--line);
  background:var(--glass-dark);
  backdrop-filter:blur(16px);
  overflow:hidden;
}
@media (max-width:1024px){.timeline-h{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.timeline-h{grid-template-columns:1fr}}
.timeline-h--6{grid-template-columns:repeat(6,1fr)}
@media (max-width:1024px){.timeline-h--6{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.timeline-h--6{grid-template-columns:1fr}}
.tl-h-cell{
  padding:32px 24px;border-right:1px solid var(--line);
  position:relative;
  transition:background .25s;
}
.tl-h-cell:hover{background:rgba(242,201,76,0.04)}
.tl-h-cell:last-child{border-right:none}
.tl-h-cell::before{content:"";position:absolute;top:0;left:0;width:24px;height:2px;background:var(--amber);box-shadow:0 0 8px rgba(242,201,76,0.5)}
.tl-h-cell .yr{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--cyan);letter-spacing:0.1em;margin-bottom:14px}
.tl-h-cell .num{font-family:'Exo 2',sans-serif;font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-0.01em}
.tl-h-cell .desc{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.5}

/* ======================================================
   OBJECTS
   ====================================================== */
.filter{display:flex;gap:6px;flex-wrap:wrap}
.filter button{
  padding:10px 16px;font-size:12px;
  background:rgba(255,255,255,0.03);border:1px solid var(--line);
  color:var(--muted);transition:all .2s;
  backdrop-filter:blur(8px);
}
.filter button:hover{color:var(--text);border-color:var(--cyan)}
.filter button.on{background:var(--text);color:#0B0F14;border-color:var(--text)}

.obj-grid{
  display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:32px;
}
.obj-grid .case > .objects-card__link{
  position:relative;display:block;min-height:100%;height:100%;color:inherit;
}
.case{
  position:relative;overflow:hidden;cursor:pointer;
  background:var(--card);
  border:1px solid var(--line);
  min-height:300px;
}
.case .img{
  position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    var(--case-overlay),
    url('../img/case.png');
  background-size:auto,auto,cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:grayscale(0.2) contrast(1.05) brightness(1.5);
  transition:transform .6s ease, filter .4s;
}
.case.case-img-1 .img,.case.case-img-2 .img,.case.case-img-3 .img,.case.case-img-4 .img,.case.case-img-5 .img,.case.case-img-6 .img{
  background-size:auto,auto,cover;
  background-position:center;
  filter:saturate(0.88) contrast(1.06) brightness(0.88);
}
.case.case-img-1 .img{
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    var(--case-overlay),
    url('../img/case1.jpg');
}
.case.case-img-2 .img{
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    var(--case-overlay),
    url('../img/case2.jpg');
}
.case.case-img-3 .img{
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    var(--case-overlay),
    url('../img/case3.jpg');
}
.case.case-img-4 .img{
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    var(--case-overlay),
    url('../img/case4.jpg');
}
.case.case-img-5 .img{
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    var(--case-overlay),
    url('../img/case5.jpg');
}
.case.case-img-1:hover .img,.case.case-img-2:hover .img,.case.case-img-3:hover .img,.case.case-img-4:hover .img,.case.case-img-5:hover .img,.case.case-img-6:hover .img{
  filter:saturate(0.95) contrast(1.08) brightness(0.92);
}
.case:hover .img{transform:scale(1.04);filter:grayscale(1) contrast(1.1) brightness(0.95)}
.case .digital{
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(11,15,20,0.92) 100%);
  z-index:1;
}
.case .scan{
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent, var(--cyan), transparent);
  opacity:0;z-index:2;
}
.case:hover .scan{
  opacity:1;
  animation:scan 1.6s ease-in-out infinite;
}
@keyframes scan{
  0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}
}
.case .body{position:absolute;left:24px;right:24px;bottom:24px;z-index:3}
.case .tonn{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(30px,3vw,46px);color:var(--amber);
  letter-spacing:-0.02em;line-height:1;
}
.case .name{margin-top:10px;font-family:'Exo 2',sans-serif;font-weight:600;font-size:18px}
.case .region{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--tech);letter-spacing:0.05em;margin-top:4px}
.case .fact{
  margin-top:14px;
  background:var(--glass-dark);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.08);
  padding:12px 14px;font-size:13px;color:var(--text);line-height:1.5;
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .35s, opacity .25s, margin-top .35s, padding .35s;
  padding-top:0;padding-bottom:0;border-width:0;
}
.case:hover .fact{max-height:160px;opacity:1;padding:12px 14px;border-width:1px}
.case .meta-tag{
  position:absolute;top:18px;left:18px;z-index:3;
  font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--text);
  letter-spacing:0.1em;text-transform:uppercase;
  padding:5px 10px;border:1px solid rgba(255,255,255,0.18);
  background:rgba(11,15,20,0.5);backdrop-filter:blur(10px);
}
.case .ix{position:absolute;top:18px;right:18px;z-index:3;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--cyan)}

.case.big{grid-column:span 7;grid-row:span 2;min-height:620px}
.case.sm{grid-column:span 5;min-height:300px}
.case.med{grid-column:span 6;min-height:340px}
@media (max-width:900px){
  .case.big,.case.sm,.case.med{grid-column:span 12;grid-row:auto;min-height:340px}
}

.clients{
  margin-top:80px;padding-top:48px;border-top:1px solid var(--line);
}
.clients .lbl{font-size:13px;color:var(--muted);max-width:520px;margin-bottom:32px}
.logos-marquee{
  overflow:hidden;
  margin:0 -56px;padding:0 56px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
@media (max-width:768px){.logos-marquee{margin:0 -20px;padding:0 20px}}
.logos-track{
  display:flex;gap:18px;width:max-content;
  animation:logos-marquee 32s linear infinite;
}
.logos-track:hover{animation-play-state:paused}
@keyframes logos-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.logo-cell{
  flex:0 0 auto;
  min-width:clamp(156px,16vw,208px);
  height:72px;
  padding:0 20px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  backdrop-filter:blur(8px);
  display:grid;place-items:center;
  font-family:'Exo 2',sans-serif;font-weight:600;font-size:16px;
  color:var(--muted);letter-spacing:0.05em;
  transition:color .25s,border-color .25s,box-shadow .25s;
  white-space:nowrap;
}
.logo-cell:hover{color:var(--text);border-color:var(--cyan);box-shadow:0 0 24px rgba(110,231,249,0.12)}
@media (prefers-reduced-motion:reduce){
  .logos-marquee{overflow:visible;mask-image:none;-webkit-mask-image:none}
  .logos-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
  .logo-cell[aria-hidden="true"]{display:none}
}

.all-link{
  margin-top:40px;display:inline-flex;align-items:center;gap:12px;
  font-family:'Exo 2',sans-serif;font-weight:600;font-size:16px;
  border-bottom:1px solid var(--amber);padding-bottom:6px;
}
.all-link:hover{color:var(--amber)}

/* ======================================================
   KM / формы — контейнер .dt-wrap
   ====================================================== */
.dt-wrap{
  position:relative;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 30% 30%, rgba(110,231,249,0.06), transparent 50%),
    radial-gradient(circle at 75% 75%, rgba(242,201,76,0.06), transparent 50%),
    var(--glass-dark);
  backdrop-filter:blur(16px);
  overflow:hidden;
}

/* ======================================================
   TEAM + TESTIMONIALS
   ====================================================== */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (min-width:901px) and (max-width:1200px){
  .team-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .team-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:16px}
  .team-card{min-width:280px;scroll-snap-align:start;flex-shrink:0}
}
.team-card{
  background:var(--glass);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.08);
  transition:border-color .25s, transform .25s, box-shadow .25s;
}
.team-card:hover{
  border-color:rgba(242,201,76,0.4);
  transform:translateY(-3px);
  box-shadow:0 16px 48px rgba(0,0,0,0.4);
}
.team-card .photo{
  aspect-ratio:1/1;
  background:linear-gradient(160deg, #1a2330, #0d141c);
  position:relative;
  overflow:hidden;
}
.team-card .photo img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 18%;
  filter:saturate(0.92) contrast(1.04);
}
.team-card .photo .ix{
  position:absolute;top:14px;left:14px;z-index:1;
  font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--text);
  text-shadow:0 1px 3px rgba(0,0,0,0.85);
}
.team-card .body{padding:22px;display:flex;flex-direction:column;gap:8px}
.team-card .role{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);letter-spacing:0.08em;text-transform:uppercase}
.team-card .name{font-family:'Exo 2',sans-serif;font-weight:600;font-size:16px;line-height:1.25}
.team-card .quote{
  margin-top:8px;font-style:italic;color:var(--text);font-size:13px;line-height:1.55;
  border-top:1px solid var(--line);padding-top:14px;
}

.testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:48px}
@media (max-width:768px){.testi-grid{grid-template-columns:1fr}}
.testi{
  background:var(--glass);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.08);
  padding:28px;
  display:grid;grid-template-columns:56px 1fr;gap:18px;
}
.testi .ava{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg, rgba(242,201,76,0.15), rgba(110,231,249,0.1));
  border:1px solid rgba(255,255,255,0.1);
  display:grid;place-items:center;
  font-family:'Exo 2',sans-serif;font-weight:600;font-size:16px;color:var(--text);
}
.testi h5{font-family:'Exo 2',sans-serif;font-weight:600;font-size:15px}
.testi .meta{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);letter-spacing:0.06em;margin-top:4px;display:flex;align-items:center;gap:8px}
.testi q{display:block;margin-top:14px;font-style:italic;color:var(--text);font-size:15px;line-height:1.55;quotes:"«" "»"}
.testi .read{margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--cyan);letter-spacing:0.08em;border-bottom:1px solid var(--line);padding-bottom:2px;display:inline-block}
.testi .read:hover{border-color:var(--cyan)}
.flag{display:inline-block;width:18px;height:12px;border:1px solid var(--line)}

/* ======================================================
   CALCULATOR
   ====================================================== */
.calc-wrap{
  position:relative;
  background:
    radial-gradient(circle at 75% 25%, rgba(242,201,76,0.10), transparent 50%),
    radial-gradient(circle at 25% 75%, rgba(110,231,249,0.07), transparent 50%),
    var(--glass-dark);
  backdrop-filter:blur(16px);
  border:1px solid var(--line);
  padding:64px;
}
@media (max-width:768px){.calc-wrap{padding:32px}}
.calc-head{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;margin-bottom:48px;align-items:end}
@media (max-width:1024px){.calc-head{grid-template-columns:1fr}}
.calc-head h2{font-family:'Exo 2',sans-serif;font-weight:700;font-size:clamp(32px,4.4vw,64px);letter-spacing:-0.03em;line-height:1}
.calc-comp{display:flex;flex-direction:column;gap:14px}
.calc-comp .row{
  display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;
  padding:16px;border:1px solid var(--line);
  background:rgba(255,255,255,0.02);
}
.calc-comp .row.loss{background:rgba(242,201,76,0.06);border-color:rgba(242,201,76,0.3)}
.calc-comp .k{font-size:13px;color:var(--muted);line-height:1.4}
.calc-comp .v{font-family:'Exo 2',sans-serif;font-weight:700;font-size:22px;letter-spacing:-0.01em}
.calc-comp .row.loss .v{color:var(--amber)}

.calc-body{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
@media (max-width:1024px){.calc-body{grid-template-columns:1fr;gap:32px}}
.big-num{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(72px,12vw,180px);color:var(--amber);
  letter-spacing:-0.04em;line-height:0.85;
  text-shadow:0 0 60px rgba(242,201,76,0.25);
  transition:transform .25s;
}
.big-num .unit{display:block;font-size:0.16em;color:var(--text);font-weight:500;letter-spacing:0.04em;margin-top:40px;font-family:'IBM Plex Mono',monospace;text-transform:uppercase}

.slider-row{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.slider-row .head{display:flex;justify-content:space-between;align-items:baseline}
.slider-row .lbl{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--tech);letter-spacing:0.1em;text-transform:uppercase}
.slider-row .val{font-family:'Exo 2',sans-serif;font-weight:600;font-size:20px;color:var(--text)}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--line);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--amber);
  cursor:pointer;border:none;border-radius:50%;
  box-shadow:0 0 16px rgba(242,201,76,0.5);
}
input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--amber);border:none;cursor:pointer;border-radius:50%;box-shadow:0 0 16px rgba(242,201,76,0.5)}
.slider-row .ticks{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);margin-top:6px}

.calc-foot{margin-top:48px;padding-top:32px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
@media (max-width:768px){.calc-foot{grid-template-columns:1fr}}
.calc-foot p{color:var(--muted);font-size:14px;line-height:1.55;max-width:600px}

/* ======================================================
   FINAL FORM
   ====================================================== */
.final{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--line);
  background:var(--glass-dark);
  backdrop-filter:blur(16px);
  overflow:hidden;
  position:relative;
}
@media (max-width:1024px){.final{grid-template-columns:1fr}}
.final-glow{
  position:absolute;width:600px;height:600px;
  left:-100px;bottom:-200px;
  background:radial-gradient(circle, rgba(242,201,76,0.15), transparent 60%);
  filter:blur(40px);pointer-events:none;
}
.final .left{
  padding:64px;display:flex;flex-direction:column;justify-content:space-between;gap:48px;
  border-right:1px solid var(--line);position:relative;
}
@media (max-width:1024px){.final .left{border-right:none;border-bottom:1px solid var(--line)}}
@media (max-width:768px){.final .left,.final .right{padding:32px}}
.final .left .big{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(60px,9vw,144px);letter-spacing:-0.04em;line-height:0.9;
}
.final .left .big .am{color:var(--amber);text-shadow:0 0 60px rgba(242,201,76,0.3)}
.final .left .meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;color:var(--tech);text-transform:uppercase}
.final .right{padding:64px;position:relative}
.final h2{font-family:'Exo 2',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);letter-spacing:-0.02em;line-height:1.05}
.final h2 .am{color:var(--amber)}
.final .sub{margin-top:18px;color:var(--muted);font-size:14px;line-height:1.55}

/* ======================================================
   FOOTER
   ====================================================== */
footer.site{
  border-top:1px solid var(--line);
  padding:0 0 36px;
  position:relative;
  background:
    radial-gradient(ellipse 90% 70% at 50% 0%, rgba(242,201,76,0.07), transparent 55%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(110,231,249,0.05), transparent 50%),
    var(--bg);
  margin-top:20px;
}
footer.site::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg, transparent, var(--amber) 25%, var(--amber) 75%, transparent);
  box-shadow:0 0 24px rgba(242,201,76,0.35);
}
footer.site .wrap{padding-top:72px}

.footer-grid{
  display:grid;grid-template-columns:1.35fr 0.9fr 1fr 1fr;gap:40px 32px;
  margin-bottom:56px;
}
@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media (max-width:540px){.footer-grid{grid-template-columns:1fr;gap:32px}}

.footer-col h6{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--tech);
  letter-spacing:0.14em;text-transform:uppercase;margin-bottom:18px;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col a{font-size:14px;color:var(--text);transition:color .2s}
.footer-col a:hover{color:var(--amber)}
.footer-col a.is-active{color:var(--amber)}
.footer-col .tagline{
  margin-top:20px;color:var(--muted);font-size:13px;
  max-width:300px;line-height:1.6;font-weight:300;
}
.footer-col--brand .brand{display:inline-block;margin-bottom:4px}
.footer-contacts{margin-top:14px}
.footer-contacts .muted{font-size:13px;line-height:1.5}
.footer-link-accent{
  display:inline-block;margin-top:6px;
  font-family:'IBM Plex Mono',monospace;font-size:12px;
  letter-spacing:0.06em;color:var(--amber)!important;
}
.footer-link-accent:hover{color:var(--text)!important}
.footer-phone{
  display:block;font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(22px,2.5vw,28px);line-height:1.1;color:var(--text);
  text-decoration:none;letter-spacing:-0.02em;
}
.footer-phone:hover{color:var(--amber)}
.footer-bot{
  border-top:1px solid var(--line);padding-top:28px;
  display:flex;justify-content:space-between;align-items:center;
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  color:var(--tech);letter-spacing:0.06em;flex-wrap:wrap;gap:16px;
}
@media (max-width:540px){.footer-bot{flex-direction:column;align-items:flex-start}}

/* mobile sticky */
.mob-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--glass-dark);backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:14px 20px}
.mob-sticky .cta{width:100%;justify-content:center}
@media (max-width:980px){.mob-sticky{display:block}body{padding-bottom:74px}}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:1024px){.km-grid{grid-template-columns:1fr !important;gap:32px !important}}

/* ======================================================
   INNER PAGES — ABOUT
   ====================================================== */
nav.primary a.is-active{color:var(--text)}
nav.primary a.is-active::after{
  content:"";display:block;height:1px;margin-top:6px;background:var(--amber);
  box-shadow:0 0 8px rgba(242,201,76,0.45);
}

.page-hero{
  position:relative;
  padding:120px 0 70px;
  min-height:min(58vh,520px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.page-hero__bg{position:absolute;inset:0;z-index:0}
.page-hero__photo{
  position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 14px),
    linear-gradient(160deg, rgba(11,15,20,0.94) 0%, rgba(11,15,20,0.72) 45%, rgba(11,15,20,0.92) 100%),
    url('../img/hero.jpg');
  background-size:auto,auto,cover;
  background-position:center;
}
.page-hero .hero-glow-a,.page-hero .hero-glow-b{z-index:1}
.page-hero__content{position:relative;z-index:2;width:100%}
.page-hero__title{margin-top:0}
.page-hero__lead{
  margin-top:24px;font-size:16px;line-height:1.65;max-width:560px;font-weight:300;
}

.about-dashboard{margin-top:0}
.about-dashboard .dash-cell .num{
  font-size:clamp(31px,3.06vw,44px);
}

.about-manifest-block{
  background:
    radial-gradient(ellipse 60% 80% at 0% 50%, rgba(242,201,76,0.06), transparent 50%),
    transparent;
}
.about-manifest{
  font-size:clamp(17px,2vw,20px);line-height:1.75;font-weight:300;
  max-width:920px;color:var(--text);
  border-left:2px solid var(--amber);
  padding-left:28px;
}

/* Light timeline ribbon */
.timeline-light{
  padding:80px 0 90px;
  background:#EEF1F5;
  color:#1B2430;
  position:relative;
  overflow:hidden;
}
.timeline-light::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(135deg, rgba(27,36,48,0.04) 0 1px, transparent 1px 18px);
}
.timeline-light .wrap{position:relative;z-index:1}
.timeline-light__tag{color:#5A6775}
.timeline-light__tag::before{background:var(--amber)}
.timeline-light__title{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(32px,4.2vw,56px);letter-spacing:-0.03em;line-height:1.05;
  color:#1B2430;margin-bottom:16px;
}
.timeline-light__intro{
  font-size:15px;line-height:1.65;color:#4A5663;
  max-width:640px;margin-bottom:48px;font-weight:300;
}
.timeline-light__track{
  display:flex;gap:0;position:relative;
  padding-top:56px;
  border-top:2px solid rgba(201,168,74,0.55);
}
.timeline-light__track::before{
  content:"";position:absolute;top:-7px;left:0;right:0;height:12px;
  background:linear-gradient(90deg, var(--amber), rgba(201,168,74,0.35));
  opacity:0.35;
}
.tl-step{
  flex:1;min-width:0;padding:0 28px 8px;
  border-right:1px solid rgba(27,36,48,0.1);
  position:relative;
}
.tl-step:first-child{padding-left:0}
.tl-step:last-child{border-right:none;padding-right:0}
.tl-step::before{
  content:"";position:absolute;top:-61px;left:28px;
  width:12px;height:12px;border-radius:50%;
  background:var(--amber);
  box-shadow:0 0 0 4px rgba(242,201,76,0.25), 0 0 16px rgba(242,201,76,0.45);
}
.tl-step:first-child::before{left:0}
.tl-step__yr{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(28px,3.2vw,44px);line-height:1;
  color:#C9A84A;letter-spacing:-0.02em;margin-bottom:16px;
}
.tl-step__text{
  font-size:13px;line-height:1.6;color:#3A4652;font-weight:300;
}
@media (max-width:900px){
  .timeline-light__track{
    flex-direction:column;
    padding-top:0;padding-left:36px;
    border-top:none;
    border-left:2px solid rgba(201,168,74,0.45);
  }
  .timeline-light__track::before{display:none}
  .tl-step{
    padding:0 0 32px 0;border-right:none;
    border-bottom:1px solid rgba(27,36,48,0.08);
  }
  .tl-step:last-child{border-bottom:none;padding-bottom:0}
  .tl-step::before{
    top:6px;left:-41px;
  }
}

.about-stats-block{
  background:
    radial-gradient(ellipse 65% 70% at 100% 0%, rgba(110,231,249,0.06), transparent 55%),
    radial-gradient(ellipse 50% 50% at 0% 100%, rgba(242,201,76,0.04), transparent 50%);
}
.about-stats-head{
  margin-bottom:40px;align-items:flex-end;
}
.about-stats-head .sec-title{margin:0}
.about-capacity-note{
  margin:0;font-size:14px;line-height:1.6;color:var(--muted);max-width:340px;text-align:right;
}
@media (max-width:900px){
  .about-stats-head{align-items:flex-start}
  .about-capacity-note{max-width:100%;text-align:left;margin-top:16px}
}

.about-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
@media (max-width:900px){.about-stats{grid-template-columns:1fr}}

.about-stat{
  position:relative;padding:28px 28px 32px;
  background:var(--glass-dark);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.08);
  transition:border-color .25s,background .25s;
}
.about-stat::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--amber) 0%,rgba(242,201,76,0.15) 70%,transparent 100%);
}
.about-stat:hover{
  background:rgba(255,255,255,0.04);
  border-color:rgba(242,201,76,0.22);
}
.about-stat__meta{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:22px;
}
.about-stat__ix{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--tech);letter-spacing:0.06em;
}
.about-stat__lbl{
  font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--cyan);
  letter-spacing:0.12em;text-transform:uppercase;
  display:flex;align-items:center;gap:8px;
}
.about-stat__lbl::before{
  content:"";width:5px;height:5px;background:var(--cyan);border-radius:50%;
  box-shadow:0 0 8px var(--cyan);
}
.about-stat__val{
  font-family:'Exo 2',sans-serif;font-weight:700;
  font-size:clamp(32px,3.2vw,44px);color:var(--amber);
  letter-spacing:-0.02em;line-height:1.05;
}
.about-stat__unit{
  font-size:0.42em;font-weight:500;color:var(--text);margin-left:0.1em;
}
.about-stat__desc{
  margin-top:14px;font-size:13px;line-height:1.55;color:var(--muted);max-width:26ch;
}

.about-permits-block{
  background:
    radial-gradient(circle at 80% 20%, rgba(110,231,249,0.06), transparent 45%),
    transparent;
}
.about-permits-list{
  list-style:none;margin-top:32px;display:flex;flex-direction:column;gap:16px;
  max-width:800px;
}
.about-permits-list li{
  font-size:15px;line-height:1.65;color:var(--text);font-weight:300;
  padding:18px 22px;border:1px solid var(--line);
  background:rgba(255,255,255,0.02);
}
.about-permits-list strong{font-weight:500;color:var(--text)}

.page-cta-block{
  border-top:1px solid var(--line);
  background:
    radial-gradient(ellipse 70% 100% at 50% 100%, rgba(242,201,76,0.08), transparent 55%),
    var(--bg);
}

/* ======================================================
   ДОПУСКИ И ЛИЦЕНЗИИ
   ====================================================== */
.permits-section{padding-top:0}
.permits-sro-link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'IBM Plex Mono',monospace;font-size:12px;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--cyan);border-bottom:1px solid rgba(110,231,249,0.35);
  padding-bottom:6px;margin-bottom:48px;
  transition:color .2s, border-color .2s, box-shadow .2s;
}
.permits-sro-link:hover{
  color:var(--text);border-color:var(--cyan);
  box-shadow:0 4px 20px rgba(110,231,249,0.15);
}

.permits-grid{display:flex;flex-direction:column;gap:28px}
.permit-card{
  display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:36px;
  border:1px solid var(--line);
  background:
    radial-gradient(ellipse 80% 60% at 0% 0%, rgba(242,201,76,0.05), transparent 55%),
    var(--glass-dark);
  backdrop-filter:blur(16px);
  padding:28px;
  align-items:start;
}
@media (max-width:860px){
  .permit-card{grid-template-columns:1fr;gap:24px;padding:22px}
}

.permit-scan{
  display:block;width:100%;padding:0;border:1px solid var(--line);
  background:#0d1117;cursor:zoom-in;position:relative;overflow:hidden;
  transition:border-color .25s, box-shadow .25s;
}
.permit-scan:hover{
  border-color:rgba(242,201,76,0.45);
  box-shadow:0 0 32px rgba(242,201,76,0.12);
}
.permit-scan img{
  display:block;width:100%;height:auto;aspect-ratio:640/880;object-fit:cover;
}
.permit-scan__hint{
  position:absolute;inset:auto 0 0 0;padding:12px 14px;
  font-family:'IBM Plex Mono',monospace;font-size:10px;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text);
  background:linear-gradient(transparent, rgba(11,15,20,0.92));
}

.permit-ix{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--tech);
  letter-spacing:0.12em;margin-bottom:12px;
}
.permit-title{
  font-family:'Exo 2',sans-serif;font-weight:600;
  font-size:clamp(18px,2vw,22px);line-height:1.25;letter-spacing:-0.02em;
}
.permit-sub{
  margin-top:8px;font-size:13px;color:var(--muted);line-height:1.5;font-weight:300;
}
.permit-benefit{
  margin-top:18px;font-size:15px;line-height:1.65;color:var(--text);font-weight:300;
  max-width:560px;
}
.permit-date{
  margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;
  color:var(--tech);letter-spacing:0.06em;
}
.permit-dl{margin-top:24px;display:inline-flex}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;z-index:200;
  display:none;align-items:center;justify-content:center;
  padding:24px;opacity:0;visibility:hidden;
  transition:opacity .25s, visibility .25s;
}
.lightbox.open{display:flex;opacity:1;visibility:visible}
.lightbox__backdrop{
  position:absolute;inset:0;background:rgba(5,8,12,0.88);
  border:none;cursor:pointer;
}
.lightbox__panel{
  position:relative;z-index:1;max-width:min(92vw,720px);max-height:92vh;
  display:flex;flex-direction:column;align-items:center;
}
.lightbox__close{
  position:absolute;top:-12px;right:-12px;z-index:2;
  width:40px;height:40px;border:1px solid var(--line);
  background:var(--bg);color:var(--text);font-size:24px;line-height:1;
  cursor:pointer;transition:border-color .2s, color .2s;
}
.lightbox__close:hover{border-color:var(--amber);color:var(--amber)}
.lightbox__img{
  max-width:100%;max-height:calc(92vh - 48px);width:auto;height:auto;
  border:1px solid var(--line);
  box-shadow:0 24px 80px rgba(0,0,0,0.55);
  background:#fff;
}
.lightbox__cap{
  margin-top:14px;font-size:13px;color:var(--muted);text-align:center;
  max-width:640px;line-height:1.5;
}

/* Objects catalog */
.objects-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:20px;margin-bottom:32px;
}
.objects-sort{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;
  color:var(--tech);display:flex;align-items:center;gap:12px;
}
.objects-sort select{
  background:var(--glass);border:1px solid var(--line);color:var(--text);
  padding:10px 14px;font-size:12px;outline:none;
}
.objects-card__link{display:block;color:inherit;text-decoration:none;height:100%}
.objects-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:0;
}
.objects-grid .case,
.objects-grid .case.sm,
.objects-grid .case.med,
.objects-grid .case.big{
  grid-column:auto;grid-row:auto;min-height:320px;width:100%;
}
@media (max-width:768px){
  .objects-grid{grid-template-columns:1fr}
  .objects-grid .case,.objects-grid .case.sm{min-height:300px}
}

/* Breadcrumbs + case */
.breadcrumbs{
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:0.06em;color:var(--muted);margin-bottom:24px;
}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--amber)}
.breadcrumbs span.am{color:var(--tech)}
.case-meta{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:12px;margin:32px 0;
}
.case-meta .cell{
  padding:16px 18px;border:1px solid var(--line);
  background:var(--glass);backdrop-filter:blur(12px);
}
.case-meta .k{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech);letter-spacing:0.1em;text-transform:uppercase}
.case-meta .v{margin-top:8px;font-size:14px;line-height:1.4}
.case-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0;
}
@media (max-width:768px){.case-gallery{grid-template-columns:1fr 1fr}}
.case-gallery button{
  border:1px solid var(--line);padding:0;background:#0d1117;cursor:zoom-in;
  aspect-ratio:4/3;overflow:hidden;
}
.case-gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .3s}
.case-gallery button:hover img{filter:grayscale(0.2)}
.case-split{
  margin:32px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
}
@media (max-width:900px){.case-split{grid-template-columns:1fr}}
.case-preview{
  border:1px solid var(--line);
  background:var(--glass-dark);
  position:relative;
  overflow:hidden;
  min-height:420px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.case-preview::after{
  content:"";
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.02) 0 1px, transparent 1px 14px),
    radial-gradient(circle at 30% 30%, rgba(242,201,76,0.06), transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(110,231,249,0.05), transparent 55%);
  pointer-events:none;
}
.case-desc{font-size:15px;line-height:1.7;color:var(--muted);max-width:none}
.case-desc p+p{margin-top:16px}
.case-result-block{
  margin:40px 0;padding:28px 32px;border-left:3px solid var(--amber);
  background:rgba(242,201,76,0.06);
}
.case-result-block .lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--amber);letter-spacing:0.12em}
.case-result-block .txt{margin-top:10px;font-size:18px;line-height:1.45;font-weight:500}
.object-not-found .case-content{display:none}

/* Equipment tables */
.equip-block{margin-top:56px}
.equip-block h3{
  font-family:'Exo 2',sans-serif;font-weight:600;font-size:22px;
  margin-bottom:20px;letter-spacing:-0.02em;
}
.equip-table{width:100%;border-collapse:collapse;font-size:13px}
.equip-table th,.equip-table td{
  padding:14px 16px;border:1px solid var(--line);text-align:left;vertical-align:top;
}
.equip-table th{
  font-family:'IBM Plex Mono',monospace;font-size:10px;
  color:var(--tech);letter-spacing:0.08em;text-transform:uppercase;font-weight:500;
  background:rgba(255,255,255,0.03);
}
.equip-table td{color:var(--text);font-weight:300;line-height:1.55}
.equip-table tr:hover td{background:rgba(242,201,76,0.03)}
.equip-params{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
@media (max-width:640px){.equip-params{grid-template-columns:1fr}}
.equip-param{padding:18px 20px;border:1px solid var(--line);background:var(--glass)}
.equip-param .k{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--tech)}
.equip-param .v{margin-top:8px;font-family:'Exo 2',sans-serif;font-weight:600;font-size:18px;color:var(--amber)}

/* Equipment (home section) */
.equip-home-head{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:end}
@media (max-width:1024px){.equip-home-head{grid-template-columns:1fr;gap:18px}}
.equip-home-lead{max-width:520px;line-height:1.65}
.equip-home-grid{margin-top:32px;display:grid;grid-template-columns:1.1fr 0.9fr;gap:18px}
@media (max-width:1024px){.equip-home-grid{grid-template-columns:1fr}}
.equip-home-card{
  border:1px solid var(--line);
  background:var(--glass-dark);
  backdrop-filter:blur(16px);
  padding:24px;
}
.equip-home-actions{
  margin-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.equip-home-steelwork{
  font-size:13px;
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.12);
  padding-bottom:2px;
}
.equip-home-steelwork:hover{color:var(--text);border-bottom-color:rgba(242,201,76,0.35)}

/* Services process */
.process-strip{
  display:grid;grid-template-columns:repeat(6,1fr);gap:0;
  border:1px solid var(--line);margin-top:40px;overflow:hidden;
}
@media (max-width:1100px){.process-strip{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.process-strip{grid-template-columns:1fr}}
.process-step{padding:28px 22px;border-right:1px solid var(--line);background:var(--glass-dark)}
.process-step:last-child{border-right:none}
.process-step .n{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--cyan)}
.process-step h4{margin-top:12px;font-size:15px;font-weight:600;line-height:1.3}
.process-step p{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.55}
.check-list{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:12px}
.check-list li{
  padding:16px 20px;border:1px solid var(--line);font-size:14px;line-height:1.55;
  background:rgba(255,255,255,0.02);
}
.check-list li::before{content:"→ ";color:var(--amber)}
.spec-table{width:100%;border-collapse:collapse;margin-top:24px}
.spec-table td,.spec-table th{padding:12px 16px;border:1px solid var(--line);font-size:14px}
.spec-table th{text-align:left;color:var(--tech);font-family:'IBM Plex Mono',monospace;font-size:11px}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
@media (max-width:768px){.blog-grid{grid-template-columns:1fr}}
.blog-card{
  border:1px solid var(--line);padding:28px;background:var(--glass-dark);
  transition:border-color .2s, box-shadow .2s;
}
.blog-card:hover{border-color:rgba(242,201,76,0.35);box-shadow:0 0 32px rgba(242,201,76,0.08)}
.blog-card .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--cyan);letter-spacing:0.1em}
.blog-card h3{margin-top:12px;font-size:20px;font-weight:600;line-height:1.3}
.blog-card p{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.6}
.article-prose{max-width:720px;font-size:16px;line-height:1.75;color:var(--muted);font-weight:300}
.article-prose h2{font-family:'Exo 2',sans-serif;color:var(--text);font-size:24px;margin:40px 0 16px;font-weight:600}
.article-prose p+p{margin-top:16px}

/* Contacts */
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:900px){.contacts-grid{grid-template-columns:1fr}}
.contact-big{font-family:'Exo 2',sans-serif;font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.1}
.contact-big a{color:inherit;text-decoration:none}
.contact-big a:hover{color:var(--amber)}
.contacts-tour-section{padding-top:0}
.tour-cta{
  width:100%;box-sizing:border-box;
  padding:40px 48px;border:1px solid var(--line);
  background:
    radial-gradient(ellipse 70% 100% at 0% 50%, rgba(110,231,249,0.1), transparent 55%),
    radial-gradient(ellipse 50% 80% at 100% 50%, rgba(242,201,76,0.06), transparent 50%),
    var(--glass-dark);
  backdrop-filter:blur(16px);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px;
}
.tour-cta__text{flex:1;min-width:min(100%,280px)}
.tour-cta__btn{flex-shrink:0}
@media (max-width:640px){
  .tour-cta{padding:28px 24px}
  .tour-cta__btn{width:100%;justify-content:center}
}
.services-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
@media (max-width:768px){.services-cards{grid-template-columns:1fr}}
.service-card{
  padding:32px;border:1px solid var(--line);background:var(--glass-dark);
  display:block;color:inherit;text-decoration:none;transition:border-color .2s;
}
.service-card:hover{border-color:var(--amber)}
.service-card h3{font-size:22px;font-weight:600}
.service-card p{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.6}
