@media (max-width: 960px) {
  .feature-stage { grid-template-columns: 1fr; }
  .feature-side { grid-template-columns: 1fr 1fr; }
}

.lang-switch {
  display: inline-flex;
  direction: ltr;
  padding: 3px;
  gap: 2px;
  border: 1px solid #cbd8e8;
  border-radius: 999px;
  background: #f4f8fc;
  flex: 0 0 auto;
}

.lang-switch a {
  min-width: 38px;
  padding: 7px 9px;
  border-radius: 999px;
  text-align: center;
  color: #52647c;
  font-size: .78rem;
  font-weight: 850;
}

.lang-switch a.active {
  color: #fff;
  background: #0c4aa3;
  box-shadow: 0 4px 10px rgba(12,74,163,.22);
}

body:not(.fa) .hero {
  background-image:
    linear-gradient(90deg, rgba(3,19,52,.94) 0%, rgba(5,39,84,.72) 42%, rgba(5,42,82,.06) 76%),
    url('hero-en-v2.png');
  background-position: center;
}

.fa .hero {
  background-image:
    linear-gradient(270deg, rgba(3,19,52,.94) 0%, rgba(5,39,84,.72) 42%, rgba(5,42,82,.06) 76%),
    url('hero-fa-v2.png');
  background-position: center;
}

@media (max-width: 650px) {
  .feature-side { grid-template-columns: 1fr; }
  .feature-main { min-height: 470px; padding: 28px; }
  .hero { min-height: 760px; background-position: 62% center; }
  body:not(.fa) .hero { background-position: 62% center; }
  .fa .hero { background-position: 38% center; }
  .topbar .wrap { align-items: center; text-align: center; }
  .nav .wrap { gap: 8px; }
  .lang-switch a { min-width: 33px; padding: 6px 7px; }
}

.mobile-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid #cbd8e8;
  border-radius: 12px;
  background: #fff;
  color: #071d49;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 960px) {
  .mobile-menu-toggle { display: inline-grid; place-items: center; }
  .nav .wrap { position: relative; }
  .nav .links.mobile-open {
    display: grid;
    position: absolute;
    top: calc(100% - 2px);
    left: 0;
    right: 0;
    gap: 0;
    padding: 12px 20px 18px;
    background: #fff;
    border-bottom: 1px solid #dce5f0;
    box-shadow: 0 16px 30px rgba(7,29,73,.14);
  }
  .nav .links.mobile-open a { padding: 10px 4px; }
}

/* Team portraits and supplied partner marks, v1.0.2 */
/* Header and portrait refresh, v1.0.16 */
.nav .brand { flex: 0 0 auto; }
.nav .brand img { width: 88px; height: 80px; object-fit: contain; }
.person .team-portrait[src*="kissey-gulle-v3"] { object-position: center 22%; }
@media (max-width: 960px) {
  .nav .wrap { gap: 10px; height: auto; min-height: 86px; padding-block: 6px; }
  .nav .brand { margin-inline-end: auto; }
  .nav .mobile-menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; }
  .nav .btn-primary { padding: 10px 14px; font-size: .82rem; }
}
@media (max-width: 400px) {
  .nav .wrap { gap: 6px; width: calc(100% - 20px); }
  .nav .brand img { width: 70px; height: 70px; }
  .nav .btn-primary { max-width: 108px; padding: 9px 10px; line-height: 1.4; }
  .nav .lang-switch a { min-width: 28px; padding: 6px 4px; }
}
.people .person,.team-detail .person{padding:0 0 24px;min-height:0;justify-content:flex-start}
.people .person:after,.team-detail .person:after{display:none}
.person .team-portrait{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0 0 20px}
.people .person strong,.people .person span,.team-detail .person strong,.team-detail .person span{padding-inline:22px;overflow-wrap:anywhere}
.people .person strong,.team-detail .person strong{line-height:1.5}
.island-partners{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:28px;background:white;padding:22px;margin:0 0 28px;border:1px solid #e2e8f0;border-radius:12px}
.island-partners img{display:block;object-fit:contain;width:auto;max-width:100%;height:auto}
.island-partners img:first-child{width:300px}.island-partners img:last-child{width:150px}
@media(max-width:600px){.island-partners{gap:20px;justify-content:center}.island-partners img:first-child{width:260px}.island-partners img:last-child{width:130px}}
