
:root{
  --navy:#061b31;
  --navy2:#0a2948;
  --blue:#1478cc;
  --ink:#0b2948;
  --muted:#445a70;
  --line:#d9e1e8;
  --paper:#f7f9fb;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.shell{
  width:min(1180px,calc(100% - 64px));
  margin:0 auto;
}

/* HERO */
.hero{
  min-height:620px;
  color:#fff;
  background:var(--navy);
  position:relative;
  overflow:hidden;
}
.hero-photo{
  position:absolute;
  inset:0 0 0 41%;
  background:
    linear-gradient(90deg,var(--navy) 0%,rgba(6,27,49,.78) 16%,rgba(6,27,49,.08) 55%),
    url("../images/hero.jpg") center center/cover no-repeat;
}
.header{
  height:104px;
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:36px;
}
.wordmark{
  margin-right:auto;
  text-decoration:none;
  font-size:27px;
  font-weight:600;
  letter-spacing:11px;
  white-space:nowrap;
}
.nav{
  display:flex;
  align-items:center;
  gap:38px;
  white-space:nowrap;
}
.nav a{
  position:relative;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.7px;
  padding:13px 0;
}
.nav a:first-child::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  height:2px;
  background:var(--blue);
}
.language{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-size:11px;
  font-weight:700;
  letter-spacing:.4px;
}
.language a{
  display:flex;
  align-items:center;
  gap:5px;
  text-decoration:none;
  opacity:.72;
  padding:10px 0;
}
.language a.on{opacity:1}
.flag{font-size:15px;line-height:1}
.hero-content{
  position:relative;
  z-index:2;
  width:min(520px,48%);
  padding-top:56px;
  padding-bottom:64px;
}
.hero h1{
  margin:0 0 24px;
  font-size:clamp(42px,4.1vw,64px);
  line-height:1.02;
  letter-spacing:4px;
  font-weight:400;
}
.rule{
  width:42px;
  height:3px;
  background:var(--blue);
  margin-bottom:24px;
}
.hero-copy{
  max-width:480px;
  margin:0 0 28px;
  font-size:17px;
  line-height:1.5;
  font-weight:600;
}
.buttons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.button{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 26px;
  border:1px solid rgba(255,255,255,.62);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.4px;
}
.button.primary{
  background:var(--blue);
  border-color:var(--blue);
}

/* SERVICES */
.expertise{
  background:var(--paper);
  padding:54px 0 56px;
  text-align:center;
}
.section-title{
  margin:0;
  font-size:23.4px;
  line-height:1.25;
  letter-spacing:3px;
  font-weight:700;
}
.mini-rule{
  width:28px;
  height:2px;
  background:var(--blue);
  margin:10px auto 16px;
}
.intro{
  max-width:820px;
  margin:0 auto 36px;
  font-size:19.5px;
  line-height:1.55;
}
.services{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.service{
  min-width:0;
  padding:4px 38px 10px;
}
.service + .service{
  border-left:1px solid var(--line);
}
.service svg{
  width:46px;
  height:46px;
  color:#126ac1;
  margin:0 auto 15px;
}
.service h3{
  margin:0 0 10px;
  font-size:20.8px;
  line-height:1.3;
}
.service p{
  margin:0 auto;
  max-width:310px;
  font-size:18.2px;
  line-height:1.55;
}

/* ABOUT */
.about{
  display:grid;
  grid-template-columns:minmax(0,46%) minmax(0,54%);
  min-height:430px;
  background:#f4f6f8;
}
.about-copy{
  min-width:0;
  padding:62px max(34px,calc((100vw - 1180px)/2));
  padding-right:64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.about h2{
  margin:0;
  font-size:34px;
  line-height:1.16;
  letter-spacing:3px;
  font-weight:400;
}
.about .mini-rule{
  margin:16px 0 24px;
}
.about p{
  max-width:590px;
  margin:0 0 18px;
  font-size:17px;
  line-height:1.65;
}
.values{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px 24px;
  margin-top:16px;
  color:#0e5eb0;
  font-size:13px;
  font-weight:700;
}
.values span+span::before{
  content:"|";
  color:#65788b;
  margin-right:24px;
}
.airport{
  min-height:430px;
  margin:0;
  padding:0;
  background:
    linear-gradient(rgba(5,20,36,.04),rgba(5,20,36,.10)),
    url("../images/airport.jpg") center center/cover no-repeat;
  background-color:#0a2948;
}

/* CONTACT */
.contact{
  background:#061b31;
  color:#fff;
}
.contact-main{
  min-height:150px;
  display:grid;
  grid-template-columns:1fr 1.25fr .95fr;
  align-items:center;
  gap:44px;
}
.connect h2{
  margin:0;
  font-size:26px;
  letter-spacing:3px;
  font-weight:400;
}
.connect .mini-rule{
  margin:10px 0 12px;
}
.connect p{
  margin:0;
  color:#d5dee8;
  font-size:13px;
}
.details{
  border-left:1px solid rgba(255,255,255,.22);
  padding-left:42px;
  font-size:20px;
  line-height:2.05;
  font-weight:500;
  letter-spacing:.1px;
}
.details a{text-decoration:none}
.contact-cta{
  border-left:1px solid rgba(255,255,255,.22);
  padding-left:42px;
}
.contact-cta .button{
  width:100%;
  max-width:220px;
}
.footer{
  min-height:66px;
  border-top:1px solid rgba(255,255,255,.15);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  letter-spacing:1.2px;
  color:#d3dce5;
}

/* TABLET */
@media(max-width:980px){
  .shell{width:min(100% - 40px,760px)}
  .hero{min-height:auto}
  .hero-photo{
    inset:auto 0 0 0;
    height:330px;
    background:
      linear-gradient(180deg,var(--navy) 0%,rgba(6,27,49,.2) 40%),
      url("../images/hero.jpg") center/cover no-repeat;
  }
  .header{height:86px;gap:20px}
  .wordmark{font-size:22px;letter-spacing:8px}
  .nav{display:none}
  .language{margin-left:auto}
  .hero-content{
    width:100%;
    max-width:580px;
    padding:50px 0 390px;
  }
  .hero h1{font-size:46px}
  .services{grid-template-columns:1fr}
  .service{padding:30px 18px}
  .service + .service{border-left:0;border-top:1px solid var(--line)}
  .about{grid-template-columns:1fr}
  .about-copy{padding:58px 30px}
  .airport{min-height:360px;background-position:center}
  .contact-main{grid-template-columns:1fr;padding:46px 0;gap:26px}
  .details,.contact-cta{border-left:0;padding-left:0}
  .details{font-size:18px;line-height:2}
  .contact-cta .button{max-width:none}
}

/* MOBILE */
@media(max-width:560px){
  .shell{width:calc(100% - 32px)}
  .header{height:76px}
  .wordmark{font-size:19px;letter-spacing:6px}
  .language{gap:6px;font-size:10px}
  .flag{font-size:14px}
  .hero-photo{height:250px}
  .hero-content{padding:42px 0 300px}
  .hero h1{
    font-size:35px;
    letter-spacing:2.4px;
  }
  .hero-copy{font-size:15px}
  .buttons{display:grid}
  .button{width:100%}
  .expertise{padding:44px 0}
  .section-title{font-size:20.8px}
  .intro{font-size:18.2px;margin-bottom:24px}
  .service h3{font-size:19.5px}
  .service p{font-size:18.2px}
  .about-copy{padding:48px 22px}
  .about h2{font-size:28px;letter-spacing:2px}
  .about p{font-size:15px}
  .values{font-size:12px;gap:12px}
  .values span+span::before{display:none}
  .airport{min-height:280px}
  .connect h2{font-size:24px}
  .footer{
    padding:20px 0;
    flex-direction:column;
    align-items:flex-start;
  }
}


.legal-note{
  border-top:1px solid rgba(255,255,255,.12);
  padding:18px 0 22px;
  color:#b9c6d2;
  font-size:11px;
  line-height:1.55;
  letter-spacing:.15px;
}
.legal-note p{
  margin:0;
  max-width:980px;
}
@media(max-width:560px){
  .legal-note{
    font-size:10.5px;
    padding:16px 0 20px;
  }
}
