/* One shared header for every route, matching the user's final navigation reference. */
.header { background: #354149; background-image: none; color: #fffbe4; }
.header-inner { min-height: clamp(80px, 6.65vw, 144px); gap: 1.1vw; padding: 0 2.6vw 0 0; }
.header .brand { flex: 0 0 23%; width: 23%; align-self: stretch; gap: 1.3vw; padding: .65vw 1.9vw; background: #fffde4; color: #354149; }
.header .brand .brand-mark { width: 6.3vw; background: transparent; border-radius: 0; }
.header .brand-mark img { mix-blend-mode: multiply; }
.header .brand-name { padding-left: 1.4vw; font-size: 2.23vw; border-left: 1px solid #535752; letter-spacing: -.025em; }
.header .brand small { font-size: .82vw; line-height: 1.2; letter-spacing: -.02em; margin-top: .3vw; }
.header .header-slogan { display: block; padding-left: 1vw; margin: 0; border-left: 1px solid #c4c5ba; font-size: .79vw; line-height: 1.4; }
.header .desktop-nav { gap: 1.05vw; font-size: 1.02vw; justify-content: space-between; }
.header .header-actions { gap: 2.2vw; }
.header .language { border-left: 0; border-right: 1px solid #b9c0bd; padding: 0 1.5vw 0 .6vw; font-size: 1.02vw; }
.header .language span { padding-left: .6vw; }
.header .button { width: 13.3vw; min-width: 13.3vw; min-height: 3.65vw; white-space: nowrap; padding: .7vw 1.75vw; gap: 1.1vw; border: 0; border-radius: .85vw; font-size: 1.1vw; background: #e3bd69; color: #26353e; }
.header .button .arrow { font-size: 1.9vw; }
.header .brand:focus-visible { outline-color: #354149; }
@media (max-width: 1100px) {
  .header-inner { min-height: 80px; padding-right: 1rem; gap: 1rem; }
  .header .brand { flex: 0 0 auto; width: auto; padding: .75rem 1.2rem; gap: .8rem; }
  .header .brand .brand-mark { width: 4rem; }
  .header .brand-name { font-size: 1.75rem; padding-left: .9rem; }
  .header .brand small { font-size: .65rem; margin-top: .25rem; }
  .header .header-slogan { display: none; }
  .header .desktop-nav { display: none; }
  .header .header-actions { margin-left: auto; }
  .header .button { width: auto; min-width: 0; min-height: 44px; padding: .6rem 1.2rem; border-radius: .65rem; font-size: .9rem; gap: 1rem; }
  .header .button .arrow { font-size: 1.3rem; }
}
@media (max-width: 600px) {
  .header-inner { min-height: 70px; padding-right: .5rem; gap: .5rem; }
  .header .brand { padding: .65rem .7rem; gap: .5rem; }
  .header .brand .brand-mark { width: 2.7rem; }
  .header .brand-name { font-size: 1.16rem; padding-left: .55rem; }
  .header .brand small { font-size: .44rem; }
  .header .button { min-height: 42px; padding: .5rem .65rem; font-size: .75rem; border-radius: .45rem; }
  .header-actions .arrow { display: none; }
}
@media (max-width: 359px) {
  .header-inner { gap: .35rem; }
  .header .brand { padding-inline: .45rem; gap: .35rem; }
  .header .brand .brand-mark { width: 2.05rem; }
  .header .brand-name { font-size: 1rem; padding-left: .35rem; }
  .header .brand small { font-size: .38rem; }
  .header .button { font-size: .7rem; padding-inline: .5rem; }
}
