:root{

  --navy:#131931;

  --ink:#151922;

  --muted:#5d6472;

  --line:#dfe3ea;

  --paper:#fff;

  --soft:#f4f7f8;

  --max:1240px

}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{

  margin:0;

  background:var(--paper);

  color:var(--ink);

  font-family:Arial,Helvetica,sans-serif;

  font-size:17px;

  line-height:1.6

}

a{color:inherit}

.skip{

  position:absolute;

  left:12px;

  top:-60px;

  background:var(--navy);

  color:#fff;

  padding:10px 14px;

  z-index:100

}

.skip:focus{top:12px}

.site-header{

  position:relative;

  background:var(--navy);

  color:#fff

}

.header-inner{

  max-width:var(--max);

  margin:auto;

  min-height:106px;

  padding:22px 32px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:32px

}

.wordmark{

  text-decoration:none;

  display:flex;

  flex-direction:column;

  align-items:center;

  line-height:1;

  letter-spacing:.08em;

  font-weight:700

}

.wordmark .name{font-size:20px}

.wordmark .sub{

  font-size:11px;

  letter-spacing:.22em;

  margin-top:7px

}

.nav{

  display:flex;

  gap:34px;

  text-transform:uppercase;

  font-size:12px;

  letter-spacing:.12em

}

.nav a{

  text-decoration:none;

  opacity:.9

}

.nav a:hover,

.nav a:focus{opacity:1}

.menu-btn{

  display:none;

  background:none;

  border:0;

  color:#fff;

  font-size:25px;

  padding:8px;

  cursor:pointer

}

.hero{

  position:relative;

  overflow:hidden;

  background:var(--navy);

  color:#fff;

  min-height:720px;

  display:flex;

  align-items:center

}

.hero-inner{

  position:relative;

  z-index:2;

  width:min(var(--max),100%);

  margin:auto;

  padding:90px 32px 120px

}

.hero h1{

  font-size:clamp(52px,7vw,108px);

  font-weight:500;

  letter-spacing:-.055em;

  line-height:.93;

  margin:0 0 42px;

  max-width:900px

}

.hero-copy{

  font-size:clamp(19px,2vw,25px);

  line-height:1.45;

  max-width:760px;

  margin:0 0 38px;

  color:#eef1f7

}

.cta,

.whatsapp-link,

.submit{

  display:inline-block;

  text-decoration:none;

  text-transform:uppercase;

  letter-spacing:.12em;

  font-size:12px;

  font-weight:700

}

.cta{

  border-bottom:1px solid rgba(255,255,255,.7);

  padding-bottom:8px

}

.hero-map{

  position:absolute;

  right:-5%;

  top:7%;

  width:min(58vw,820px);

  opacity:.13;

  z-index:1

}

.section{padding:120px 0}

.section-inner{

  width:min(var(--max),100%);

  margin:auto;

  padding:0 32px

}

.section-label{

  text-transform:uppercase;

  letter-spacing:.14em;

  font-size:11px;

  font-weight:700;

  color:var(--muted);

  margin-bottom:25px

}

h2{

  font-size:clamp(46px,6vw,88px);

  font-weight:500;

  letter-spacing:-.055em;

  line-height:.95;

  margin:0 0 35px

}

.intro{

  font-size:clamp(19px,2vw,25px);

  line-height:1.45;

  max-width:850px;

  margin:0

}

.services{

  margin-top:75px;

  border-top:1px solid var(--line)

}

.service{

  display:grid;

  grid-template-columns:40% 1fr;

  gap:30px;

  padding:32px 0;

  border-bottom:1px solid var(--line)

}

.service h3{

  font-size:15px;

  letter-spacing:.08em;

  margin:0;

  font-weight:700

}

.service p{

  margin:0;

  color:var(--muted);

  font-size:18px

}

.europe{background:var(--soft)}

.europe-grid{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:70px;

  align-items:center

}

.europe-visual{

  min-height:420px;

  display:flex;

  align-items:center;

  justify-content:center

}

.europe-map{

  width:100%;

  max-width:600px;

  opacity:.7

}

.about-grid{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:80px;

  margin-bottom:85px

}

.approach{

  display:grid;

  grid-template-columns:repeat(3,1fr);

  border-top:1px solid var(--line)

}

.step{padding:30px 30px 0 0}

.step+.step{

  border-left:1px solid var(--line);

  padding-left:30px

}

.step strong{

  font-size:12px;

  letter-spacing:.12em

}

.step p{

  color:var(--muted);

  margin:12px 0 0

}

.contact{

  background:var(--navy);

  color:#fff

}

.contact .section-label{color:#aeb6c7}

.contact-grid{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:90px

}

.contact .intro{color:#eef1f7}

.direct{

  display:flex;

  flex-direction:column;

  gap:10px;

  margin:38px 0 32px

}

.direct a{

  font-size:20px;

  text-decoration:none

}

.whatsapp{

  display:flex;

  align-items:center;

  gap:28px;

  margin-top:35px

}

.whatsapp-link{

  border-bottom:1px solid rgba(255,255,255,.6);

  padding-bottom:8px

}

.qr-wrap{

  background:#fff;

  border:8px solid #fff;

  width:112px;

  height:112px;

  flex:0 0 auto

}

.qr-wrap img{

  display:block;

  width:100%;

  height:100%

}

.form{

  border-top:1px solid rgba(255,255,255,.35);

  padding-top:25px

}

.field{margin-bottom:24px}

.field label{

  display:block;

  text-transform:uppercase;

  letter-spacing:.1em;

  font-size:11px;

  margin-bottom:8px;

  color:#c5cada

}

.field input,

.field select,

.field textarea{

  width:100%;

  background:transparent;

  border:0;

  border-bottom:1px solid rgba(255,255,255,.4);

  color:#fff;

  padding:11px 0;

  font:inherit;

  border-radius:0;

  outline:none

}

.field select option{

  color:#111;

  background:#fff

}

.field textarea{

  min-height:120px;

  resize:vertical

}

.field input:focus,

.field select:focus,

.field textarea:focus{

  border-bottom-color:#fff

}

.form-note{

  font-size:12px;

  color:#b8c0d0;

  margin:8px 0 24px

}

.form-note a{text-decoration:underline}

.submit{

  border:0;

  border-bottom:1px solid rgba(255,255,255,.7);

  background:none;

  color:#fff;

  padding:0 0 8px;

  cursor:pointer

}

.form-status{

  margin-top:18px;

  font-size:14px

}

.honeypot{

  position:absolute;

  left:-10000px;

  width:1px;

  height:1px;

  overflow:hidden

}

.footer{

  background:#0b1123;

  color:#dbe0ea;

  padding:55px 0

}

.footer-inner{

  width:min(var(--max),100%);

  margin:auto;

  padding:0 32px

}

.footer-nav{

  display:flex;

  flex-wrap:wrap;

  gap:20px 28px;

  text-transform:uppercase;

  letter-spacing:.08em;

  font-size:10px;

  margin-bottom:32px

}

.footer-nav a{text-decoration:none}

.footer-meta{

  font-size:12px;

  line-height:1.8;

  color:#8f99ad

}

@media(max-width:800px){

  body{font-size:16px}

  .site-header{position:relative}

  .header-inner{

    min-height:86px;

    padding:18px 20px;

    display:flex;

    align-items:center;

    justify-content:flex-start

  }

  .wordmark .name{font-size:17px}

  .wordmark .sub{font-size:9px}

  .menu-btn{

    display:block;

    position:absolute;

    right:20px;

    top:18px;

    z-index:30

  }

  .nav{display:none !important}

  .nav.open{

    display:flex !important;

    position:relative;

    left:0;

    right:0;

    top:0;

    background:var(--navy);

    padding:20px;

    flex-direction:column;

    gap:18px;

    z-index:25;

    border-top:1px solid rgba(255,255,255,.15);

    border-bottom:1px solid rgba(255,255,255,.15)

  }

  .nav.open a{

    display:block;

    padding:4px 0

  }

  .hero{min-height:650px}

  .hero-inner{padding:75px 20px 100px}

  .hero h1{font-size:clamp(47px,14vw,76px)}

  .hero-map{

    width:105vw;

    right:-35%;

    top:25%;

    opacity:.12

  }

  .section{padding:85px 0}

  .section-inner{padding:0 20px}

  h2{font-size:clamp(44px,13vw,68px)}

  .services{margin-top:48px}

  .service{

    display:block;

    padding:25px 0

  }

  .service p{

    margin-top:8px;

    font-size:17px

  }

  .europe-grid,

  .about-grid,

  .contact-grid{

    grid-template-columns:1fr;

    gap:48px

  }

  .europe-visual{min-height:260px}

  .about-grid{margin-bottom:55px}

  .approach{grid-template-columns:1fr}

  .step,

  .step+.step{

    border-left:0;

    border-bottom:1px solid var(--line);

    padding:24px 0

  }

  .step:last-child{border-bottom:0}

  .whatsapp{align-items:flex-start}

  .footer{padding:42px 0}

  .footer-inner{padding:0 20px}

}

@media(prefers-reduced-motion:reduce){

  html{scroll-behavior:auto}

}
@media (max-width:800px){

.site-header:has(.nav.open) .header-inner{
    height:auto;
    flex-wrap:wrap;
}

.nav.open{
    position:static !important;
    width:100%;
}

}