/* Mobile reconstruction from the supplied 1179×2556 source screenshot. */
.language-mobile { display:none; }
.menu-button span { display:block; width:26px; height:3px; border-radius:4px; background:#14181F; }

@media (max-width:760px) {
  html { scroll-padding-top:82px; }
  body { overflow-x:hidden; }
  .site-header {
    position:sticky;
    z-index:50;
    top:0;
    height:82px;
    padding:0 20px;
    border-bottom:1px solid #F1F0EE;
    background:rgba(255,255,255,.98);
    box-shadow:0 8px 24px rgba(20,24,31,.055);
  }
  .site-header .header-brand { min-width:0; gap:8px; }
  .site-header .brand-balance { width:42px; height:42px; }
  .site-header .brand-wordmark { gap:4px; }
  .site-header .brand-wordmark b { font-size:14px; white-space:nowrap; }
  .site-header .brand-wordmark em { font-size:5.8px; }
  .site-header .language-mobile {
    display:inline-flex;
    flex:0 0 auto;
    width:auto;
    height:43px;
    min-height:43px;
    margin:0 13px 0 auto;
    padding:0 14px;
    justify-content:center;
    gap:8px;
    border:1px solid #E4E4E4;
    border-radius:24px;
    color:#202329;
    background:#FFF;
    box-shadow:0 3px 9px rgba(20,24,31,.035);
    font-size:13px;
    font-weight:700;
  }
  .site-header .language-mobile svg { width:20px; height:20px; }
  .menu-button {
    width:35px;
    height:43px;
    display:grid;
    flex:0 0 35px;
    place-content:center;
    gap:5px;
    padding:0;
    color:#14181F;
  }
  .site-header nav { position:fixed; z-index:49; top:82px; display:none; padding:12px 20px 20px; }
  .site-header nav.open { display:flex; }
  .site-header nav .language-desktop { display:none; }
  .site-header nav > a:not(.nav-contact),.site-header .nav-contact { min-height:48px; }

  .hero { padding-top:58px; }

  .about {
    padding:88px 20px 84px;
    gap:48px;
  }
  .about-image {
    width:100%;
    height:auto;
    aspect-ratio:.84;
    border-radius:22px;
    background-position:center;
    box-shadow:0 17px 34px rgba(20,24,31,.085);
  }
  .about-float {
    right:14px;
    bottom:-27px;
    width:194px;
    min-width:0;
    padding:19px 21px;
    border-radius:18px;
    font-size:17px;
    line-height:1.25;
    box-shadow:0 13px 28px rgba(20,24,31,.16);
  }
  .about-float span { margin-top:3px; font-size:12px; }
  .about-copy .eyebrow { margin-bottom:22px; font-size:15px; }
  .about h2 { font-size:clamp(32px,9.2vw,38px); line-height:1.22; }
  .about .section-rule { margin-top:19px; }
  .about-copy>p:not(.eyebrow) { font-size:15px; line-height:1.85; }
  .about li { font-size:14px; }

  .services { padding-right:20px; padding-left:20px; }
  .services .service-media { height:auto; aspect-ratio:1.72; }
  .contact { padding-right:20px; padding-left:20px; }
  .footer-inner { padding-right:20px; padding-left:20px; }
  .footer-bottom { margin-right:20px; margin-left:20px; }
}

@media (max-width:390px) {
  .site-header { padding-right:16px; padding-left:16px; }
  .site-header .brand-balance { width:38px; height:38px; }
  .site-header .brand-wordmark b { font-size:13px; }
  .site-header .language-mobile { margin-right:8px; padding:0 11px; font-size:12px; }
  .about { padding-right:18px; padding-left:18px; }
}
