:root{
  --mec-red:#EF000A;
  --mec-deep:#CC0004;
  --mec-dark:#151618;
  --mec-graphite:#282727;
  --mec-metal:#505051;
  --mec-mid:#6E7071;
  --mec-white:#FFFFFF;
  --mec-soft:#F4F5F6;
  --mec-line:#E1E3E5;
  --mec-max:1220px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body.mec-group-v2{
  margin:0;
  color:var(--mec-graphite);
  background:#fff;
  font-family:Inter,Arial,sans-serif;
  overflow-x:hidden;
}

.group-wrap{
  width:min(calc(100% - 48px),var(--mec-max));
  margin-inline:auto;
}


/* HEADER */

.group-header{
  position:relative;
  z-index:30;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #eceeef;
}

.group-nav{
  min-height:94px;
  display:flex;
  align-items:center;
  gap:34px;
}

.group-brand{
  display:flex;
  align-items:center;
  margin-right:auto;
  text-decoration:none;
}

.group-logo-frame{
  width:205px;
  height:78px;
  padding:8px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
}

.group-logo-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}

.group-desktop-nav{
  display:flex;
  align-items:center;
  gap:24px;
}

.group-desktop-nav a{
  color:#333;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}

.group-desktop-nav a:hover{
  color:var(--mec-red);
}

.group-lang{
  min-height:40px;
  padding:0 15px;
  border:1px solid #d8dadd;
  background:#fff;
  font-weight:800;
  cursor:pointer;
}


/* HERO */

.group-hero{
  position:relative;
  min-height:720px;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(112deg,#101113 0%,#171719 53%,#212225 100%);
}

.group-grid-overlay{
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:58px 58px;
}

.group-glow{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.group-glow-one{
  width:650px;
  height:650px;
  right:-240px;
  top:-240px;
  background:radial-gradient(circle,rgba(239,0,10,.21),transparent 66%);
}

.group-glow-two{
  width:450px;
  height:450px;
  right:32%;
  bottom:-300px;
  background:radial-gradient(circle,rgba(239,0,10,.11),transparent 70%);
}

.group-hero-grid{
  position:relative;
  z-index:2;
  min-height:720px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:76px;
  align-items:center;
  padding-block:80px;
}

.group-kicker,
.group-section-kicker{
  color:var(--mec-red);
  font-size:11px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.group-hero h1{
  margin:18px 0 26px;
  font-size:clamp(58px,7vw,96px);
  line-height:.91;
  letter-spacing:-.055em;
}

.group-hero h1 span,
.group-hero h1 strong{
  display:block;
}

.group-hero h1 strong{
  color:#fff;
}

.group-lead{
  max-width:650px;
  margin:0;
  color:#c8cacf;
  font-size:18px;
  line-height:1.72;
}

.group-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px;
}

.group-btn{
  min-height:50px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}

.group-primary{
  background:var(--mec-red);
  border:1px solid var(--mec-red);
  color:#fff;
}

.group-secondary{
  border:1px solid #606268;
  color:#fff;
}

.group-proof{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:32px;
}

.group-proof span{
  padding:8px 10px;
  border:1px solid #3b3d41;
  color:#b8bac0;
  font-size:10px;
  font-weight:800;
}


/* HERO PANEL */

.group-hero-panel{
  min-height:500px;
  padding:34px;
  border:1px solid #3a3c40;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  box-shadow:0 32px 80px rgba(0,0,0,.28);
}

.group-panel-logo{
  height:112px;
  padding:12px 16px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.group-panel-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.group-panel-heading{
  margin:34px 0 24px;
}

.group-panel-heading span{
  color:var(--mec-red);
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
}

.group-panel-heading h3{
  margin:9px 0 0;
  color:#fff;
  font-size:32px;
}

.group-company-mini{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #3c3e42;
  border-left:1px solid #3c3e42;
}

.group-company-mini>a{
  min-height:195px;
  padding:19px;
  color:#fff;
  text-decoration:none;
  border-right:1px solid #3c3e42;
  border-bottom:1px solid #3c3e42;
}

.group-company-mini>a:hover{
  background:#202125;
}

.mini-logo{
  height:64px;
  padding:5px;
  margin-bottom:18px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mini-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.group-company-mini b{
  display:block;
  font-size:18px;
}

.group-company-mini span{
  display:block;
  margin-top:7px;
  color:#9fa1a6;
  font-size:10px;
  line-height:1.5;
}


/* GENERAL */

.group-section{
  padding:105px 0;
}

.group-split{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:95px;
}

.group-section h2,
.group-contact h2{
  margin:13px 0 0;
  font-size:clamp(38px,5vw,64px);
  line-height:1.02;
  letter-spacing:-.045em;
}

.group-copy p{
  margin:0 0 20px;
  color:#65676a;
  font-size:17px;
  line-height:1.8;
}

.group-legal-note{
  margin-top:30px;
  padding:20px;
  border-left:4px solid var(--mec-red);
  background:#f5f5f5;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.group-legal-note b{
  font-size:12px;
}

.group-legal-note span{
  color:#74767a;
  font-size:12px;
  line-height:1.7;
}


/* COMPANIES */

.group-dark{
  background:#151618;
  color:#fff;
}

.group-section-head{
  max-width:830px;
  margin-bottom:48px;
}

.group-company-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.group-company-card{
  min-height:485px;
  padding:38px;
  color:#fff;
  text-decoration:none;
  border:1px solid #383a3e;
  transition:.2s ease;
}

.group-company-card:hover{
  background:#1d1e21;
  transform:translateY(-2px);
  border-color:#55575b;
}

.company-card-logo{
  width:100%;
  height:110px;
  padding:13px 18px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.company-card-logo img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.company-number{
  display:block;
  margin-top:36px;
  color:var(--mec-red);
  font-size:11px;
  font-weight:900;
}

.group-company-card h3{
  margin:16px 0 5px;
  font-size:34px;
}

.group-company-card>strong{
  color:#c9cacf;
  font-size:14px;
}

.group-company-card p{
  margin:23px 0;
  color:#aeb0b4;
  line-height:1.75;
  font-size:14px;
}

.company-link{
  color:#fff;
  font-size:12px;
  font-weight:900;
}


/* CAPABILITIES */

.group-cap-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.group-cap-grid>div{
  min-height:135px;
  padding:26px;
  border:1px solid var(--mec-line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.group-cap-grid b{
  color:var(--mec-red);
  font-size:21px;
}

.group-cap-grid span{
  color:#5d5f62;
  font-size:13px;
  font-weight:800;
}


/* SECTORS */

.group-sectors{
  background:var(--mec-soft);
}

.group-sector-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.group-sector-list span{
  min-height:67px;
  padding:20px;
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid #e0e2e4;
  font-size:13px;
  font-weight:800;
}


/* VISION */

.group-vision{
  background:#fff;
}

.group-vision-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.group-vision-card{
  min-height:320px;
  padding:42px;
  border:1px solid var(--mec-line);
}

.group-vision-card h3{
  margin:38px 0 0;
  font-size:31px;
  line-height:1.2;
  letter-spacing:-.025em;
}


/* LEADERSHIP */

.group-leadership{
  background:#171719;
  color:#fff;
}

.group-leadership-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #3a3c40;
  border-left:1px solid #3a3c40;
}

.group-leadership-grid>div{
  min-height:300px;
  padding:32px;
  border-right:1px solid #3a3c40;
  border-bottom:1px solid #3a3c40;
}

.group-leadership-grid>div>span{
  color:var(--mec-red);
  font-size:11px;
  font-weight:900;
}

.group-leadership-grid h3{
  margin:56px 0 13px;
  font-size:22px;
}

.group-leadership-grid p{
  margin:0;
  color:#aeb0b4;
  line-height:1.75;
  font-size:13px;
}


/* CONTACT */

.group-contact{
  padding:90px 0;
  background:var(--mec-red);
  color:#fff;
}

.group-contact .group-section-kicker{
  color:#fff;
  opacity:.8;
}

.group-contact-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:70px;
  align-items:center;
}

.group-contact p{
  max-width:580px;
  color:#fff;
  opacity:.88;
  line-height:1.7;
}

.group-contact-options{
  display:grid;
  gap:10px;
}

.group-contact-options>a{
  min-height:94px;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-decoration:none;
  color:#222;
  background:#fff;
}

.group-contact-options b{
  display:block;
  font-size:20px;
}

.group-contact-options span{
  display:block;
  margin-top:5px;
  color:#74767a;
  font-size:11px;
}

.group-contact-options strong{
  color:var(--mec-red);
  font-size:26px;
}


/* FOOTER */

.group-footer{
  padding:70px 0 26px;
  background:#0f1012;
  color:#fff;
}

.group-footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:46px;
}

.group-footer-grid>div{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.group-footer-logo{
  width:260px;
  min-height:85px;
  padding:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.group-footer-logo img{
  width:100%;
  height:auto;
  max-height:68px;
  object-fit:contain;
}

.group-footer-brand p{
  margin:12px 0 0;
  color:#d0d1d3;
}

.group-footer-brand small{
  color:#85878c;
}

.group-footer-grid b{
  margin-bottom:8px;
  font-size:12px;
}

.group-footer-grid a{
  color:#a6a8ac;
  text-decoration:none;
  font-size:12px;
}

.group-footer-grid a:hover{
  color:#fff;
}

.group-footer-bottom{
  margin-top:48px;
  padding-top:22px;
  border-top:1px solid #2b2c2f;
  display:flex;
  justify-content:space-between;
  color:#777a7f;
  font-size:11px;
}


/* LEGAL */

.group-legal{
  padding:90px 0 110px;
}

.group-legal-head{
  max-width:820px;
  margin-bottom:52px;
}

.group-legal-head h1{
  margin:15px 0;
  font-size:clamp(44px,6vw,74px);
  letter-spacing:-.045em;
}

.group-legal-head p{
  color:#777;
  line-height:1.7;
}

.group-legal-body{
  max-width:900px;
}

.group-legal-body section{
  margin-bottom:38px;
  padding-bottom:32px;
  border-bottom:1px solid #e7e7e7;
}

.group-legal-body h2{
  margin:0 0 13px;
  font-size:22px;
}

.group-legal-body p,
.group-legal-body li{
  color:#65676a;
  font-size:14px;
  line-height:1.75;
}


/* RTL */

html[dir="rtl"] body{
  font-family:Arial,Tahoma,sans-serif;
}

html[dir="rtl"] .group-brand{
  margin-right:0;
  margin-left:auto;
}

html[dir="rtl"] .group-logo-frame img{
  object-position:right center;
}

html[dir="rtl"] .group-legal-note{
  border-left:0;
  border-right:4px solid var(--mec-red);
}


/* RESPONSIVE */

@media(max-width:980px){

  .group-desktop-nav{
    display:none;
  }

  .group-hero-grid,
  .group-split,
  .group-contact-grid{
    grid-template-columns:1fr;
  }

  .group-company-grid,
  .group-vision-grid{
    grid-template-columns:1fr;
  }

  .group-cap-grid,
  .group-leadership-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .group-footer-grid{
    grid-template-columns:repeat(2,1fr);
  }

}


@media(max-width:640px){

  .group-wrap{
    width:min(calc(100% - 30px),var(--mec-max));
  }

  .group-nav{
    min-height:82px;
  }

  .group-logo-frame{
    width:156px;
    height:64px;
  }

  .group-hero{
    min-height:auto;
  }

  .group-hero-grid{
    min-height:auto;
    padding-block:64px;
    gap:44px;
  }

  .group-hero h1{
    font-size:49px;
  }

  .group-lead{
    font-size:16px;
  }

  .group-actions{
    display:grid;
  }

  .group-btn{
    width:100%;
  }

  .group-hero-panel{
    min-height:auto;
    padding:20px;
  }

  .group-panel-logo{
    height:94px;
  }

  .group-company-mini{
    grid-template-columns:1fr;
  }

  .group-section{
    padding:76px 0;
  }

  .group-cap-grid,
  .group-sector-list,
  .group-leadership-grid,
  .group-footer-grid{
    grid-template-columns:1fr;
  }

  .group-company-card{
    min-height:auto;
    padding:26px;
  }

  .company-card-logo{
    height:90px;
  }

  .group-footer-logo{
    width:220px;
  }

  .group-footer-bottom{
    flex-direction:column;
    gap:7px;
  }

}
