:root{
  --navy:#0B2438;
  --navy-2:#0E2E47;
  --cyan:#13B5CF;
  --cyan-2:#0E8FA6;
  --steel:#5C7080;
  --paper:#F6F8F9;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Barlow',sans-serif;
  color:var(--navy);
  background:var(--paper);
  margin:0;
}
h1,h2,h3,.display{
  font-family:'Archivo Expanded',sans-serif;
  letter-spacing:-0.01em;
  text-transform:uppercase;
}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:0.06em;}

/* Chevron signature element — derived from the V/G logo mark, used as section dividers */
.chevron{
  width:0;height:0;
  border-left:11px solid transparent;
  border-right:11px solid transparent;
  border-top:16px solid var(--cyan);
  display:inline-block;
}
.chevron-row{display:flex;align-items:center;gap:6px;}
.chevron-row .chevron:nth-child(2){border-top-color:var(--navy);opacity:.55;}
.chevron-row .chevron:nth-child(3){border-top-color:var(--navy);opacity:.3;}

.section-eyebrow{
  font-family:'JetBrains Mono',monospace;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-size:0.72rem;
  color:var(--cyan-2);
}

.card-route{
  position:relative;
  border:1px solid #DCE3E7;
  background:#fff;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow:hidden;
}
.card-route:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px -18px rgba(11,36,56,.35);
  border-color:var(--cyan);
}
.card-route::before{
  content:"";
  position:absolute; top:0; left:0;
  width:0; height:3px;
  background:var(--cyan);
  transition:width .3s ease;
}
.card-route:hover::before{width:100%;}

.partner-logo{
  filter:grayscale(100%) opacity(.55);
  transition:filter .3s ease, transform .3s ease;
}
.partner-logo:hover{
  filter:grayscale(0%) opacity(1);
  transform:scale(1.05);
}

.nav-link{position:relative; padding-bottom:4px;}
.nav-link::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:0; height:2px;
  background:var(--cyan);
  transition:width .25s ease;
}
.nav-link:hover::after, .nav-link.active::after{width:100%;}
.nav-link.active{color:var(--cyan) !important;}

.hero-bg{
  background:
    linear-gradient(120deg, rgba(11,36,56,.93) 15%, rgba(11,36,56,.80) 50%, rgba(11,36,56,.62) 100%),
    url('images/equipa-aperto-maos.jpg');
  background-size:cover;
  background-position:center;
}

.page-hero{
  background:
    linear-gradient(120deg, rgba(11,36,56,.95) 25%, rgba(11,36,56,.86) 100%),
    url('images/armazem-logistica.jpg');
  background-size:cover;
  background-position:center;
}

.route-line{
  background-image: repeating-linear-gradient(to bottom, var(--cyan) 0 6px, transparent 6px 14px);
  width:2px;
}

.skip-link{
  position:absolute; left:-9999px; top:auto;
}
.skip-link:focus{
  position:fixed; top:1rem; left:1rem; z-index:100;
  background:var(--cyan); color:var(--navy); padding:.5rem 1rem; border-radius:4px;
}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--cyan); outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important; animation:none !important;}
}

.fade-up{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.fade-up.is-visible{opacity:1; transform:translateY(0);}

#mobileMenu{transition:max-height .3s ease;}
