:root{
  --font-sans:"Segoe UI Variable Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --font-display:"Segoe UI Variable Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"Segoe UI Variable Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}

body{
  font-family:var(--font-sans);
  font-size:16px;
  font-weight:400;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,.logo b,.button,.project-card h3,.sector-row h3{
  font-family:var(--font-display);
}

.eyebrow,.section-kicker{
  font-family:var(--font-sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
}

.site-header nav{
  font-size:14px;
  font-weight:600;
  letter-spacing:-.01em;
}

.header-contact{
  font-family:var(--font-sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
}

.logo b{
  font-size:18px;
  font-weight:800;
  letter-spacing:.04em;
}

.logo small{
  font-family:var(--font-sans);
  font-size:9px;
  font-weight:600;
  letter-spacing:.26em;
}

footer .footer-grid{
  grid-template-columns:1.5fr .9fr 1.25fr;
  gap:72px;
}

footer .footer-grid>div{
  gap:12px;
}

footer .footer-grid b{
  margin-bottom:10px;
  color:#f1f3f4;
  font-family:var(--font-sans);
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.11em;
}

footer .footer-grid p,
footer .footer-grid a,
footer .footer-grid span{
  color:#adb4bb;
  font-family:var(--font-sans);
  font-size:13px;
  font-weight:400;
  line-height:1.7;
  letter-spacing:0;
}

footer .footer-grid a{
  transition:color .2s ease;
}

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

footer .footer-bottom{
  font-family:var(--font-sans);
  font-size:10px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.08em;
}

.mobile-contact{
  min-width:224px;
  height:68px;
  padding-right:18px;
  border-radius:10px;
}

.mobile-contact small{
  color:#55e58b;
  font-family:var(--font-sans);
  font-size:9px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.1em;
}

.mobile-contact strong{
  color:#fff;
  font-family:var(--font-sans);
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.01em;
}

.mobile-contact>b{
  font-family:var(--font-sans);
  font-size:20px;
}

.mobile-menu summary,
.mobile-menu-panel{
  font-family:var(--font-sans);
}

.mobile-menu summary{
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}

.mobile-menu-panel a{
  font-family:var(--font-display);
  font-size:23px;
  font-weight:700;
  letter-spacing:-.025em;
}

@media(max-width:760px){
  .mobile-contact{
    height:64px;
    border-radius:8px;
  }

  .mobile-contact small{font-size:9px}
  .mobile-contact strong{font-size:14px}
}

@media(max-width:600px){
  footer .footer-grid{gap:32px}
}
