:root {
  --navy: #073f6a;
  --deep: #042f51;
  --blue: #13b8f2;
  --lime: #c7ea27;
  --ink: #123149;
  --mist: #f2f8fb;
}

.nav {
  background: rgba(3,45,76,.9);
  border-bottom-color: rgba(115,213,255,.22);
  box-shadow: 0 10px 30px rgba(0,34,63,.15);
}

.nav .brand { margin-right: 0; flex: 0 0 auto; }
.nav nav {
  display: none;
  position: absolute;
  top: calc(100% + 1px);
  right: 4vw;
  width: min(360px, 92vw);
  margin: 0;
  padding: 12px;
  flex-direction: column;
  gap: 0;
  background: rgba(4,47,81,.98);
  border: 1px solid rgba(115,213,255,.28);
  box-shadow: 0 22px 48px rgba(0,22,42,.32);
}
.nav nav.open { display: flex; }
.nav nav a {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(115,213,255,.14);
}
.nav nav a:last-child { border-bottom: 0; }
.nav nav a:hover { background: rgba(19,184,242,.12); }

.menu {
  display: inline-flex;
  width: 42px;
  height: 42px;
  margin-left: auto;
  padding: 10px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 5px;
}
.menu span {
  display: block;
  width: 100%;
  height: 2px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.menu[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.header-counter {
  width: 320px;
  height: 58px;
  padding: 7px 13px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 9px;
  border-left: 2px solid var(--lime);
  background: rgba(5,61,101,.72);
  box-shadow: inset 0 0 0 1px rgba(125,218,255,.2);
}

.header-counter .pulse {
  width: 8px;
  height: 8px;
  margin: 0;
  grid-column: 1;
  grid-row: 1;
}

.counter-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(155px,1fr) minmax(105px,max-content);
  align-items: baseline;
  column-gap: 8px;
  line-height: 1.05;
}

.counter-label {
  min-width: 0;
  overflow: hidden;
  color: #eaf7fd;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.header-counter strong {
  color: #fff;
  font-size: 1.45rem;
  line-height: 1;
  min-width: 105px;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.header-counter small {
  grid-column: 1 / -1;
  margin-top: 4px;
  color: #bddcea;
  font-size: .62rem;
  white-space: nowrap;
}

.hero-shade {
  background:
    linear-gradient(90deg,rgba(2,38,70,.94) 0%,rgba(3,49,87,.88) 29%,rgba(3,58,101,.56) 52%,rgba(4,69,117,.06) 78%),
    linear-gradient(0deg,rgba(2,37,67,.38),transparent 40%);
}

.live-card {
  background: rgba(3,52,88,.76);
  border-color: rgba(125,218,255,.34);
  box-shadow: 0 18px 42px rgba(0,27,53,.23);
}

.dark { background: #043759; }
.industry-grid { background: #4b7692; }
.industry-grid article { background: #093e63; }
.industry-grid .cta { background: linear-gradient(145deg,#16bdf4,#0879b8); }
.industry-card::after {
  background: linear-gradient(0deg,rgba(2,31,55,.94) 0%,rgba(3,48,82,.65) 38%,rgba(5,67,108,.02) 76%);
}
.industry-card > img,
.security-animation img { filter: brightness(1.06) saturate(1.08); }
.industry-card:hover > img,
.security-card:hover .lock-empty { filter: saturate(1.36) brightness(1.16) contrast(1.04); }

.career { background: linear-gradient(135deg,#07436f 0%,#06365b 72%,#052f50 100%); }
.career-contact { background: rgba(5,51,86,.62); }

.contact { background: linear-gradient(135deg,#159ed8,#064d7d); }

.quality { align-items: center; }
.quality .certs {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.quality .certs > a {
  min-height: 150px;
  align-content: center;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.quality .certs > a:hover {
  transform: translateY(-5px);
  border-left-color: var(--lime);
  box-shadow: 0 18px 38px rgba(0,48,83,.13);
}

.competence-card .competence-media img { filter: brightness(1.08) saturate(1.08); }
.competence-overlay {
  background: linear-gradient(0deg,rgba(2,29,50,.94),rgba(4,53,86,.5) 68%,rgba(5,67,105,.03));
}

.machining-intro {
  background: radial-gradient(circle at center,rgba(9,85,135,.97),rgba(2,39,69,.98) 65%);
}

.company .world {
  background: #07436c;
  box-shadow:
    0 45px 70px rgba(0,42,76,.26),
    0 16px 30px rgba(10,127,190,.22),
    0 0 0 1px rgba(102,218,255,.56),
    inset -72px -20px 88px rgba(0,14,35,.72),
    inset 52px 25px 74px rgba(112,226,255,.25);
}

footer { background: #06314f; color: #d3e5ef; }

@media (max-width:900px) {
  .nav nav { right: 3vw; background: #063655; }
  .quality .certs { grid-template-columns: 1fr; }
  .quality .certs > a { min-height: 112px; }
}

@media (max-width:1250px) and (min-width:901px) {
  .nav { gap: 17px; }
  .header-counter { width: 285px; }
  .counter-copy { grid-template-columns: minmax(140px,1fr) minmax(100px,max-content); }
  .counter-label { font-size: .54rem; }
  .header-counter strong { min-width:100px; }
  .header-counter small { font-size: .56rem; }
}

@media (max-width:620px) {
  .nav { height:72px; padding:8px 3vw; gap:8px; }
  .brand img { width:120px; height:46px; }
  .header-counter { width:86px; height:46px; padding:6px 8px; gap:6px; border-left-width:2px; }
  .counter-copy { display:block; }
  .counter-label,
  .header-counter small { display:none; }
  .header-counter strong { display:block; min-width:0; font-size:1.05rem; text-align:left; }
  .lang,
  .menu { padding:8px 9px; }
}

@media (max-width:380px) {
  .brand img { width:108px; }
  .header-counter { width:76px; }
  .header-counter strong { font-size:.95rem; }
}
