/* A soft capsule groups navigation; language remains a separate control. */
.header {
  position:relative;
  z-index:10;
  background:#fff;
  border-bottom:1px solid #e7edf5
}
.header-inner {
  min-height:104px;
  height:auto;
  gap:25px
}
.header nav {
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px;
  border:1px solid #e8edf5;
  border-radius:100px;
  background:#f4f7fb;
  box-shadow:inset 0 1px 0 #fff
}
.header nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 19px;
  color:#40536b;
  border-radius:100px;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  white-space:nowrap;
  transition:background .2s,color .2s,box-shadow .2s
}
.header nav a:hover,.header nav a[aria-current] {
  background:#fff;
  color:#174675;
  box-shadow:0 3px 12px #15324f0b
}
.header nav .nav-contact {
  background:linear-gradient(120deg,#173c65,#092749);
  color:#fff;
  box-shadow:0 4px 10px #12395e21,inset 0 1px 0 #ffffff17;
  padding-inline:21px 14px
}
.header nav .nav-contact:hover,.header nav .nav-contact[aria-current] {
  background:#205384;
  color:white;
  box-shadow:0 4px 14px #12395e30
}
.language-picker {
  position:relative;
  flex-shrink:0;
  margin-left:10px;
  color:#243b56
}
.language-picker::before {
  content:'';
  position:absolute;
  left:-19px;
  top:12px;
  height:28px;
  width:1px;
  background:#e1e8f1
}
.language-picker summary {
  display:flex;
  align-items:center;
  gap:10px;
  list-style:none;
  cursor:pointer;
  padding:7px 11px 7px 7px;
  border:1px solid #e2e9f2;
  border-radius:100px;
  background:#fff;
  box-shadow:0 3px 12px #173b6010;
  font-size:14px;
  font-weight:600;
  min-height:38px;
  transition:border-color .2s,box-shadow .2s
}
.language-picker summary::-webkit-details-marker {
  display:none
}
.language-picker summary:hover,.language-picker[open] summary {
  background:#dcecff;
  border-color:#4d95df;
  box-shadow:0 4px 16px #173b6018
}
.language-picker summary:focus-visible,.language-panel button:focus-visible {
  outline:3px solid #73aaf1;
  outline-offset:3px
}
.globe-badge {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex-shrink:0;
  border-radius:50%;
  background:#eaf2fc;
  color:#2c67a1
}
.globe-badge svg {
  width:21px;
  height:21px
}
#language-current {
  min-width:56px
}
.picker-chevron {
  width:14px;
  height:14px;
  margin-left:2px;
  color:#72859e;
  transition:transform .2s
}
.language-picker[open] .picker-chevron {
  transform:rotate(180deg)
}
.language-panel {
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:170px;
  padding:9px;
  border:1px solid #e1e9f3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 50px #0b254526,0 3px 8px #0b254507
}
.language-panel p {
  margin:5px 10px 9px;
  color:#8290a2;
  font-size:11px;
  font-weight:650;
  letter-spacing:.065em;
  text-transform:uppercase
}
.language-panel button {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  padding:11px 12px;
  border-radius:9px;
  background:transparent;
  color:#344a64;
  text-align:left;
  font-size:14px;
  font-weight:550
}
.language-panel button:hover {
  background:#0969d2;
  color:#fff
}
.language-panel button[aria-pressed="true"] {
  background:#edf4fd;
  color:#1e5b98
}
.language-check {
  visibility:hidden;
  color:#2d6daa
}
[aria-pressed="true"] .language-check {
  visibility:visible
}
@media(max-width:1100px) {
  .header-inner {
    gap:20px
  }
  .header nav a {
    padding-inline:12px
  }
  .header nav .nav-contact {
    padding-inline:15px 10px
  }
  .language-picker {
    margin-left:5px
  }
  .language-picker::before {
    left:-13px
  }
}
@media(max-width:950px) {
  .header-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:0 12px;
    padding-bottom:14px
  }
  .header nav {
    grid-column:1/-1;
    grid-row:2;
    display:grid;
    grid-template-columns:1fr 1fr 1.25fr;
    width:100%;
    margin:4px 0 0
  }
  .header nav a {
    padding:11px 8px
  }
  .language-picker {
    grid-column:2;
    grid-row:1;
    margin-left:0
  }
  .language-picker::before {
    display:none
  }
}
@media(max-width:540px) {
  .header-inner {
    gap:0 8px
  }
  .header .brand {
    width:166px
  }
  .language-picker summary {
    gap:7px;
    padding-right:9px;
    font-size:13px
  }
  .globe-badge {
    width:30px;
    height:30px
  }
  .header nav {
    gap:0;
    padding:4px
  }
  .header nav a {
    font-size:12px;
    padding:10px 5px
  }
  .header nav .nav-contact {
    gap:5px;
    padding-inline:8px
  }
}
@media(max-width:360px) {
  .header .brand {
    width:130px;
    height:65px
  }
  .header .brand img {
    width:146px;
    height:146px;
    left:-9px;
    top:-40px
  }
  .header nav a {
    font-size:11px
  }
}
.ipqi-entry {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:12px 17px;
  border-radius:10px;
  background:#0759f5;
  color:white;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
  max-width:230px;
  box-shadow:0 4px 14px #0759f522
}
.ipqi-entry:hover {
  background:#0349d1
}
.header-inner {
  flex-wrap:wrap;
  padding-block:8px;
  gap:15px
}
.header nav {
  margin-left:auto
}
.ipqi-entry span {
  font-size:21px
}
.language-picker {
  margin-left:0
}
.language-picker::before {
  display:none
}
@media(max-width:1250px) and (min-width:951px) {
  .header nav a {
    padding-inline:10px;
    font-size:13px
  }
  .header .brand {
    width:180px
  }
  .ipqi-entry {
    max-width:180px;
    font-size:11px;
    padding:10px 12px
  }
}
@media(max-width:950px) {
  .header-inner {
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 12px
  }
  .ipqi-entry {
    grid-column:1/-1;
    grid-row:3;
    max-width:none;
    justify-content:center;
    font-size:12px
  }
  .header nav {
    grid-row:2;
    margin:0
  }
  .language-picker {
    grid-column:2;
    grid-row:1
  }
}
@media(prefers-reduced-motion:reduce) {
  .header nav a,.language-picker summary,.picker-chevron {
    transition:none
  }
}
/* Contact remains a simple label; the platform link retains its arrow. */
.header nav .nav-contact {
  padding-inline:22px
}
@media(max-width:540px) {
  .header nav .nav-contact {
    padding-inline:10px
  }
}

.language-panel button[aria-pressed="true"]:hover { background:#0969d2; color:#fff; }
.language-panel button:hover .language-check { color:inherit; }
