/* Colors */
:root{
  --midnight: #0f172a; /* darker base text */
  --white: #0b1020; /* app background */
  --panel: #0e1630; /* card/panel background */
  --light-gray: #111a33; /* separators */
  --muted: #9aa4b2; /* muted text */
  --accent: #22c55e; /* primary accent (green) */
  --accent-2: #60a5fa; /* secondary accent (blue) */
  --radius: 12px;
  --container-width: 1400px;
  --gap: 1.25rem;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}

* { 
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing:border-box;
  text-decoration: none;
}
html,body {
  height:100%;
  background:linear-gradient(45deg, #0b1020, #0b1327);
}
html {
  overflow-x: hidden;
}
body {
  margin:0;
  color:#e5e7eb; /* base text color on dark */
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
}
/* Generic section spacing and text wrapping */
section {
  margin-bottom:32px
}
.card, .feature-card, .service-card, .contact, .catalog-hero {
  overflow-wrap:anywhere
}
canvas {
  display:block; 
  max-width:100%; 
  height:auto
}

::-webkit-scrollbar {
  width: 8px;
  border-radius: 30px;
  background-color: transparent;
}
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: var(--muted);
}

/* Improve base contrast for headings and text */
h1,h2,h3,h4,h5,h6 {
  color:#f3f4f6
}
p,li,small,span {
  color:#d1d5db
}
strong,b {
  color:#f8fafc
}
h1 {
  line-height:1.25; 
  margin:0 0 12px
}
h2 {
  line-height:1.3; 
  margin:0 0 10px
}
h3 {
  line-height:1.35; 
  margin:0 0 8px
}

/* Utility container */
.container {
  width: calc(100% - 40px);
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 32px 0;
}

/* Header */
.site-header {
  background: linear-gradient(180deg, rgba(14,22,48,0.9), rgba(14,22,48,0.6));
  border-bottom:1px solid #1f2a44;
  position:sticky;
  top:0;
  z-index:50;
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gap);
}

/* Brand */
.brand {
  display:flex;
  align-items:center;
  gap:12px
}
.logo {
  font-size:24px; 
  color:#e5e7eb
}
.company-name {
  font-weight:600; 
  font-size:18px; 
  color:#e5e7eb
}

/* Navigation */
.main-nav {
  display:flex; 
  gap:18px; 
  align-items:center
}
.main-nav .nav-link {
  text-decoration:none;
  color:#e5e7eb;
  font-weight:500;
  padding:8px 12px;
  border-radius:8px;
}

/* Mobile hamburger */
.hamburger {
  display:none;
  background:transparent;
  border:1px solid #314063;
  color:#e5e7eb;
  padding:8px 10px;
  border-radius:10px;
}
.hamburger:active {
  transform:scale(0.98)
}

/* Mobile drawer */
.drawer-overlay {
  position:fixed; 
  inset:0; 
  background:rgba(0,0,0,0.5);
  backdrop-filter: blur(2px);
  opacity:0; 
  pointer-events:none; 
  transition:opacity .2s ease; 
  z-index:90;
}
.drawer-overlay.open {
  opacity:1; 
  pointer-events:auto
}
.mobile-drawer {
  position:fixed; 
  top:0; 
  right:0; 
  height:100%; 
  width:280px; 
  max-width:85vw;
  background:#0c142b; 
  border-left:1px solid #1f2a44; 
  z-index:100;
  transform:translateX(100%); 
  transition:transform .25s ease;
  display:flex; 
  flex-direction:column; 
  padding:16px;
}
.mobile-drawer.open {
  transform:translateX(0)
}
.mobile-drawer .drawer-header {
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  margin-bottom:12px
}
.mobile-drawer .drawer-title {
  font-weight:700
}
.mobile-drawer nav {
  display:flex; 
  flex-direction:column; 
  gap:10px; 
  margin-top:8px
}
.mobile-drawer a { 
  color:#e5e7eb
}
.mobile-drawer .drawer-footer {
  margin-top:auto
}

.main-nav .nav-link:hover {
  background:#1a2442
}

/* Lang switcher */
.lang-switcher select {
  padding:6px 8px;
  border-radius:8px;
  border:1px solid #314063;
  background:#0f1833;
  color:#e5e7eb;
}

/* Hero */
.hero {
  height: 100vh;
  background:radial-gradient(1200px 500px at -10% -10%, rgba(96,165,250,0.15), transparent),
  radial-gradient(1200px 500px at 110% 10%, rgba(34,197,94,0.15), transparent);
  /* padding:36px; */
}
.hero-inner {
  width: 100%;
  height: 70%;
  display:flex;
  align-items:center;
  gap:124px;
}
.hero-text h1 {
  font-size: 56px; 
  margin:0 0 12px
}
.hero-visual {
  width: 100%;
  height: 55vh;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 15px;
  column-gap: 8px;
  overflow-y: scroll;
  border-radius: 10px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../assets/images/company.png);
}
.hero-visual h2 {
  width: 100%;
  padding: 3px;
  border-radius: 5px;
  border: solid 1px #60a5fa;
  background: linear-gradient(45deg, #0b10209a, #1030578f);
  color: #fff;
  text-align: center;
}
.hero-visual .tender-cart h3 {
  font-size: 18px;
  text-align: center;
}
.hero-visual .tender-cart span {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  color: #c9c9c9;
}
.hero-visual .tender-cart {
  width: 330px;
  height: auto;
  padding: 5px 1px;
  background: linear-gradient(45deg, #0b1020be, #103057b6);
  display: flex;
  align-items: center;
  justify-content: space-around;
  font-size: 11px;
  border-radius: 10px;
  border: solid 1px #60a5fa;
  flex-wrap: wrap;
}
.hero-visual ::-webkit-scrollbar {
  background-color: #0a0f1f;
}
.hero-text p {
  color:#c7d0dd; 
  margin:0 0 14px
}
.btn {
  display:inline-block;
  padding:10px 16px;
  border-radius:10px;
  background:var(--accent);
  color:#0a0f1f;
  text-decoration:none;
  font-weight:600;
  margin-right:10px;
}
.btn-outline {
  background:transparent;
  border:2px solid var(--accent);
  color:#e5e7eb;
}
.btn-small {
  padding:8px 12px; font-size:14px 
}

/* Placeholder image */
.image-placeholder {
  min-height:220px;
  background: linear-gradient(90deg, rgba(96,165,250,0.08), rgba(34,197,94,0.08));
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#a9b4c5;
  font-weight:600;
}

/* Features */
.features {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:18px;
}
.feature-card {
  background:var(--panel);
  border:1px solid #1f2a44;
  padding:18px;
  border-radius:12px;
  box-shadow:0 2px 10px rgba(0,0,0,0.25);
}
.feature-card h3 {
  color:#f3f4f6
}
.feature-card p {
  color:#cbd5e1
}

/* Contact */
.contact {
  margin-top:28px; 
  padding-bottom:32px
}
.contact a {
  color:var(--accent); 
  text-decoration:none
}

/* Footer */
.site-footer {
  width: calc(100% - 80px);
  max-width: 1440px;
  margin: 0 auto;
  padding:18px 20px;  
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-around;
  border-top:1px solid #1f2a44;
  background: #0c142b;
}
.site-footer .company-name.small {
  color:#cbd5e1
}
.site-footer small, .site-footer .copyright {
  color:#9aa4b2
}
.footer-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* Catalog grid */
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:16px;
}
.card {
  border-radius:12px;
  padding:14px;
  border:1px solid #1f2a44;
  background:var(--panel);
}

/* Service card styles */
.services-blocks {
  width: calc(100% - 10px);
  max-width: 1440px;
  margin: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 10px;
}
.service-card-link {
  text-decoration: none; 
  color: inherit; 
}
.service-card {
  border-radius:12px;
  padding:18px;
  border:1px solid #1f2a44;
  border-radius: 20px;
  background: linear-gradient(180deg, #0f1833, #0c142b);
  min-height:140px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.service-card h2 {
  margin:0 0 8px; 
  font-size:20px
}
.service-card p {
  margin:0; 
  color:#a9b4c5
}

/* Card details / small description */
.card .desc {
  color:#a9b4c5; 
  margin-top:6px; 
  font-size:14px; 
  line-height:1.55
}

/* Dashboard */
.dashboard {
  margin-top:30px
}
.kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.kpi-card{
  background: linear-gradient(180deg, #0f1833, #0c142b);
  border:1px solid #1f2a44;
  border-radius:14px;
  padding:14px;
}
.kpi-label {
  color:#9aa4b2; 
  font-size:13px; 
  margin-bottom:6px
}
.kpi-value {
  font-size:24px; 
  font-weight:700
}
.kpi-delta {
  font-size:12px; 
  margin-top:6px
}
.kpi-delta.up {
  color:#22c55e
}
.kpi-delta.down {
  color:#ef4444
}
.charts-grid {
  margin-top:20px;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:16px;
}
.market-highlights {
  margin-top:28px
}
.mh-header {
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  gap:12px
}
  .mh-grid {
    display: flex; 
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap:16px; 
    margin-top: 12px
  }
  .mh-col {
    background: linear-gradient(180deg, #0f1833, #0c142b); 
    border:1px solid #1f2a44; 
    border-radius:14px; 
    padding:14px
  }
  .mh-list {
    margin:0; 
    padding:0
  }
  .mh-list li {
    list-style:none; 
    padding:8px 0; 
    border-bottom:1px dashed #243154; 
    color:#cbd5e1
  }
  .mh-list li:last-child {
    border-bottom:0
  }
  .market {
    margin-top:28px 
  }
  .market-grid {
    margin-top: 20px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
  }
  .market-card {
    display:block;
    background: linear-gradient(180deg, #0f1833, #0c142b);
    border:1px solid #1f2a44;
    border-radius:14px;
    padding:16px;
  }
  .market-card-title {
    font-weight:700; 
    color:#f3f4f6; 
    margin-bottom:6px
  }
  .market-card-desc {
    color:#cbd5e1
  }
  .chart-card {
    background: linear-gradient(180deg, #0f1833, #0c142b);
    border:1px solid #1f2a44;
    border-radius:14px;
    padding:14px;
    overflow:hidden;
  }
  .chart-title {
    color:#9aa4b2; 
    margin:0 0 8px
  }

  /* about.html */ 
  .grid div {
    margin-top: 25px;
    background: linear-gradient(90deg, #0f172a, #1f2a44);
    cursor: pointer;
    padding: 25px 25px;
    border: 1px solid #314063; 
    border-radius: 30px;
    box-shadow: 10px 10px 10px #0a0f1f;
  }
  .about-details {
    max-width: 1400px; 
    margin: 0 auto 60px auto; 
    padding: 0 20px;
    line-height: 1.7;
    font-family: "Inter", "Roboto", sans-serif; 
  }
  .about-details p {
    max-width: 1300px;
    margin: 0 auto  ;
    font-size: 1.05rem;
    margin-bottom: 15px;
    text-align: justify; 
  }
  .about-details ul {
    margin: 10px 0 0 20px;
    padding: 0;
    list-style-type: "— ";
  }
  .about-details li {
    list-style-type: "— ";
    margin-bottom: 10px;
    font-size: 1.05rem;
    line-height: 1.6;
  }

  /* Responsive */
  @media (max-width: 1000px){
  .market-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .hero-inner {
    grid-template-columns:1fr
  }
  .features {
    grid-template-columns:1fr; 
    grid-auto-rows:min-content
  }
  .catalog-grid { 
    grid-template-columns:repeat(2,1fr); 
    gap:16px
  }
  .service-card {
    min-height:120px
  }
  .kpi-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .charts-grid {
    grid-template-columns:1fr
  }
}

@media (max-width: 768px){
  .features{grid-template-columns:1fr}
.catalog-grid{grid-template-columns:1fr}
.kpi-grid{grid-template-columns:repeat(2,1fr)}
.hero-text h1{font-size:28px}
}

@media (max-width: 568px){
  .container {
    padding-left:18px; 
    padding-right:18px
  }
  .catalog-grid {
    grid-template-columns:1fr
  }
  .kpi-grid {
    grid-template-columns:1fr
  }
  .charts-grid {
    grid-template-columns:1fr
  }
  .market-grid {
    grid-template-columns:1fr
  }
  .services-blocks {
    flex-wrap: wrap;
  }
  .main-nav {
    display:none
  }
  .lang-switcher {
    display:none
  }
  .hamburger {
    display:inline-flex; 
    align-items:center; 
    gap:8px
  }
  .hero {
    height: 70vh;
  }
  .hero-inner {
    height: 100%;
    gap: 25px;
    text-align: center;
    flex-direction: column-reverse;
  }
}