/* Color tokens */
:root{
  --dark: #0A2540;
  --graphite: #111827;
  --grey: #6B7280;
  --amber: #F59E0B;
  --orange: #FF8A00;
  --light: #F3F4F6;
  --white: #FFFFFF;
  --container: 1200px;
  --space: 8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:400;
  color: var(--graphite);
  background: var(--white);
}
h1,h2,h3{font-family: Manrope, Inter, system-ui, sans-serif; color: var(--dark); margin: 0 0 calc(var(--space)*2)}
h1{font-size: clamp(28px, 5vw, 48px); font-weight:700}
h2{font-size: clamp(22px, 3.5vw, 32px); font-weight:700}
h3{font-size: clamp(18px, 2.5vw, 22px); font-weight:600}
p{line-height:1.6; margin:0 0 calc(var(--space)*2)}
a{color: var(--dark); text-decoration: none}
a:hover{text-decoration: underline}
.container{max-width: var(--container); margin: 0 auto; padding: 0 calc(var(--space)*2)}
.section{padding: calc(var(--space)*10) 0; background: var(--white)}
.section.alt{background: var(--light)}
.grid-12{display:grid; grid-template-columns: repeat(12, 1fr); gap: calc(var(--space)*2)}
.col-span-12{grid-column: span 12}
.col-span-7{grid-column: span 7}
.col-span-6{grid-column: span 6}
.col-span-5{grid-column: span 5}
@media (max-width: 900px){
  .grid-12{grid-template-columns: repeat(12, 1fr)}
  .col-span-md-12{grid-column: span 12}
}

/* Header */
.site-header{position: sticky; top:0; z-index: 10; background: rgba(255,255,255,.9); backdrop-filter: blur(6px); border-bottom:1px solid #e5e7eb}
.site-header .container{display:flex; align-items:center; justify-content:space-between; min-height:64px}
.logo{display:flex; align-items:center; gap:12px; font-weight:700}
.logo .logo-mark{display:inline-grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--dark); color: var(--amber); font-weight:700}
.logo-text{white-space:nowrap}
.nav-toggle{display:none}
.menu{display:flex; gap:16px; list-style:none; padding:0; margin:0}
.menu a{padding:8px 10px; border-radius:10px}
.menu a:hover{background:var(--light); text-decoration:none}
@media (max-width: 900px){
  .nav-toggle{display:inline-flex; align-items:center; gap:6px; border:1px solid #e5e7eb; background:#fff; padding:6px 10px; border-radius:10px}
  .menu{display:none; position:absolute; right:16px; top:64px; flex-direction:column; background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:8px; width:min(260px, 90vw); box-shadow:0 10px 30px rgba(0,0,0,.08)}
  .menu.open{display:flex}
}

/* Hero */
.hero{position:relative; min-height:72vh; display:grid; align-items:center; color:#fff}
.hero-media{position:absolute; inset:0; overflow:hidden}
.hero-media img, .hero-media video{width:100%; height:100%; object-fit:cover; transform:scale(1.05)}
.hero .overlay{position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,37,64,.64), rgba(10,37,64,.64));}
.hero-content{position:relative; z-index:1}
.subtitle{max-width: 900px}
.hero-cta{margin-top: 16px}

/* Buttons */
.btn{display:inline-block; padding:12px 18px; border-radius:14px; font-weight:600; border:1px solid transparent}
.btn-accent{background: var(--amber); color:#000}
.btn-accent:hover{filter:brightness(.95); text-decoration:none}
.btn-outline{border-color:#d1d5db}
.btn-outline:hover{background:#f9fafb; text-decoration:none}

/* About */
.about-image img{width:100%; height:auto; border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.08)}
.features{margin-top:24px; display:grid; grid-template-columns: repeat(4, 1fr); gap:16px}
.feature-card{background:#fff; padding:16px; border:1px solid #e5e7eb; border-radius:16px; box-shadow:0 4px 16px rgba(0,0,0,.04); display:grid; gap:8px}
.feature-card .small{color:var(--grey); font-size:14px}
.icon{width:28px; height:28px}

/* Solutions */
.cards{display:grid; grid-template-columns: repeat(4, 1fr); gap:16px}
.card{background:#fff; border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; display:grid; gap:12px; box-shadow:0 6px 20px rgba(0,0,0,.05)}
.card img{width:100%; height:180px; object-fit:cover}
.card h3{padding:0 16px}
.card p{padding:0 16px 16px}

/* Geography */
.world-map{width:100%; height:auto; border-radius:12px; border:1px solid #e5e7eb; background:#fff}
.regions{list-style:none; padding:0; margin:16px 0 0; display:grid; gap:8px}
.regions li{display:flex; align-items:center; gap:10px}

/* Process */
.process-steps{list-style:none; padding:0; margin:16px 0 0; display:grid; grid-template-columns: repeat(6, 1fr); gap:12px; counter-reset: step}
.process-steps li{background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:14px; display:flex; align-items:center; gap:10px}
.process-steps li .icon{flex-shrink:0}
@media (max-width: 1000px){
  .features{grid-template-columns: repeat(2, 1fr)}
  .cards{grid-template-columns: repeat(2, 1fr)}
  .process-steps{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 640px){
  .cards{grid-template-columns: 1fr}
  .features{grid-template-columns: 1fr}
  .process-steps{grid-template-columns: 1fr}
}

/* Partners */
.partners{display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; align-items:center; justify-items:center}
.partners img{filter: grayscale(1); opacity:.9; max-width: 160px}
@media (max-width: 900px){
  .partners{grid-template-columns: repeat(2, 1fr)}
}

/* Contact */
.contact-block{font-style:normal}
.contact-buttons{display:flex; gap:10px; flex-wrap:wrap; margin:12px 0 20px}
.map iframe{width:100%; min-height:220px; border:0; border-radius:12px}
.contact-form{display:grid; gap:12px; background:#fff; padding:16px; border:1px solid #e5e7eb; border-radius:16px; box-shadow:0 6px 20px rgba(0,0,0,.05)}
.field{display:grid; gap:6px}
input[type="text"], input[type="email"], input[type="tel"], textarea{
  width:100%;
  padding:12px 12px;
  border:1px solid #d1d5db;
  border-radius:12px;
  font: inherit;
  color: var(--graphite);
  background:#f9fafb;   /* <- светлый фон */
}
input:focus, textarea:focus{outline:2px solid var(--amber); border-color: var(--amber)}
.consent{display:flex; align-items:flex-start; gap:10px}
#form-status{min-height:20px; font-size:14px}

/* Footer */
.site-footer{padding:24px 0; border-top:1px solid #e5e7eb; background:#fff; color:#6b7280}
.site-footer .container{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap}
.site-footer nav a{color:#6b7280; padding:6px 10px; border-radius:8px}
.site-footer nav a:hover{background:#f3f4f6; text-decoration:none}

/* Accessibility */
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{position:fixed; left:16px; top:16px; width:auto; height:auto; padding:8px 12px; background:#000; color:#fff; border-radius:10px}

/* Video hero */
.hero-media{position:absolute; inset:0; overflow:hidden}
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.05)}
.hero-slideshow{position:absolute; inset:0; display:block}
.hero-slideshow .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1s ease}
.hero-slideshow .slide.active{opacity:1}
.page-hero{padding:56px 0 24px; background: var(--light); border-bottom:1px solid #e5e7eb}
.page-hero .lead{color: var(--grey)}
.stats{display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; text-align:center}
.stat{background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:20px; box-shadow:0 6px 20px rgba(0,0,0,.05)}
.stat span{font-size:28px; font-weight:700; color: var(--dark)}
.list{margin: 0 16px 16px 24px}

/* Logo */
.new-logo {
  max-height: 1.6rem;
}

/* кнопка в меню */
.menu .btn-quote{
  background: var(--amber);
  color: #000;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 600;
}
.menu .btn-quote:hover{ filter: brightness(.95); text-decoration: none; background: var(--amber)}