.site-header nav {
  align-items: center;
  gap: 24px;
  min-width: 0;
}

.site-header { height: 96px; }

.site-header .lang { flex: 0 0 auto; margin-left: 18px; }

.nav-menu {
  position: relative;
}

.nav-menu summary {
  cursor: pointer;
  color: var(--ink);
  font-size: 1.08rem;
  list-style: none;
}

.site-header nav > a { font-size: 1.08rem; }

.nav-menu summary::-webkit-details-marker { display: none; }
.nav-menu summary::after { content: "⌄"; margin-left: 5px; font-size: .72rem; }

.nav-submenu {
  position: absolute;
  top: calc(100% + 16px);
  left: -18px;
  width: 190px;
  max-height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-8px);
  background: var(--paper);
  border: 1px solid #d5cfc5;
  box-shadow: 0 14px 30px rgba(25,33,31,.10);
  transition: max-height .26s ease, padding .22s ease, opacity .18s ease, transform .26s ease;
}

.nav-menu[open] .nav-submenu { max-height: 280px; padding: 10px 0; opacity: 1; transform: translateY(0); }
.nav-menu.is-closing .nav-submenu { max-height: 0; padding: 0; opacity: 0; transform: translateY(-8px); }

.nav-submenu a {
  display: block;
  padding: 8px 17px;
  color: var(--ink);
  font-size: .78rem;
  text-decoration: none;
}

.nav-submenu a:hover { background: var(--paper); color: var(--warm); }
.mobile-contact { display: none; }

.use-cases { background: #fff; }
.use-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #bdb9b1; }
.use-case-grid article { min-height: 230px; padding: 28px 34px 30px 0; margin: 0 34px 0 0; border-bottom: 1px solid #bdb9b1; }
.use-case-grid article:nth-child(odd) { border-right: 1px solid #bdb9b1; padding-right: 34px; }
.use-case-grid article:nth-child(even) { padding-left: 0; }
.use-case-grid article:last-child { grid-column: 1 / -1; min-height: 180px; }
.use-case-grid span { color: var(--warm); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.use-case-grid h3 { margin: 27px 0 9px; font-size: 1.35rem; }
.use-case-grid p { max-width: 465px; margin: 0 0 16px; color: #58605c; font-size: .94rem; }
.use-case-grid small { color: #46504c; font-size: .72rem; font-weight: 700; letter-spacing: .07em; }

.capabilities { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7vw; padding: 105px 9vw; background: #d7cdbd; }
.capability-copy h2 { max-width: 560px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.4rem, 4.2vw, 4.8rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; margin: 0 0 24px; }
.capability-copy p:last-child { max-width: 500px; color: #46504c; font-size: .98rem; }
.capability-grid { border-top: 1px solid rgba(25,33,31,.35); }
.capability-grid article { display: grid; grid-template-columns: 48px 1fr; column-gap: 15px; padding: 21px 0; border-bottom: 1px solid rgba(25,33,31,.35); }
.capability-grid span { grid-row: 1 / 3; color: var(--warm); font-size: .72rem; font-weight: 700; }
.capability-grid h3 { margin: 0 0 7px; font-size: 1.12rem; }
.capability-grid p { margin: 0; color: #46504c; font-size: .9rem; }

@media (max-width: 780px) {
  .mobile-contact { display: inline-flex; position: fixed; right: 16px; bottom: 16px; z-index: 20; align-items: center; gap: 11px; padding: 13px 17px; background: var(--ink); color: #fff; border-radius: 999px; box-shadow: 0 10px 24px rgba(24, 29, 27, .24); font-size: .82rem; font-weight: 700; text-decoration: none; }
  .mobile-contact span { font-size: 1.05rem; line-height: .7; }
  .site-header { height: auto; min-height: 66px; flex-wrap: wrap; padding: 8px 5vw; }
  .site-header nav { display: flex; order: 3; width: 100%; gap: 18px; padding: 9px 0 2px; overflow-x: auto; }
  .site-header nav a, .nav-menu summary { white-space: nowrap; font-size: .82rem; }
  .nav-submenu { position: fixed; top: 112px; left: 5vw; width: min(210px, 90vw); z-index: 5; }
  .use-case-grid { grid-template-columns: 1fr; }
  .use-case-grid article, .use-case-grid article:nth-child(odd), .use-case-grid article:nth-child(even) { min-height: 0; margin: 0; padding: 25px 0; border-right: 0; }
  .use-case-grid article:last-child { grid-column: auto; }
  .capabilities { grid-template-columns: 1fr; padding: 70px 8vw; }
}
