/* Header only: vector facade study based on approved draft 3. */
header.header {
  background: #fff !important;
  background-color: #fff !important;
}
.header .header-architecture {
  position: absolute;
  top: 12px;
  bottom: 12px;
  width: calc(50% - 154px);
  pointer-events: none;
  user-select: none;
  color: rgba(38, 46, 58, .42);
}
.header .header-architecture--left { left: 28px; }
.header .header-architecture--right { right: 28px; transform: scaleX(-1); }
.header .header-architecture svg { display: block; width: 100%; height: 100%; overflow: visible; }
.header .header-architecture .header-drawing-compact { display: none; }
.header .header-architecture path,
.header .header-architecture line,
.header .header-architecture circle {
  vector-effect: non-scaling-stroke;
}
.header .header-architecture .header-drawing-lines {
  fill: none;
  stroke: currentColor;
  stroke-width: .75;
  stroke-linecap: square;
  stroke-linejoin: miter;
}
.header .header-architecture .header-drawing-guides {
  fill: none;
  stroke: currentColor;
  stroke-width: .55;
  opacity: .5;
}
.header .header-architecture .header-drawing-guide-dash { stroke-dasharray: 3 4; }
.header .header-architecture .header-drawing-accent {
  fill: none;
  stroke: var(--green, #55c555);
  stroke-width: .8;
  opacity: .7;
}
.header .brand { z-index: 2; }
.header .languages { z-index: 3; }
/* Equal slots preserve typography while allowing complete labels to wrap. */
.header .header-side {
  z-index: 1;
  display: flex;
  align-items: center;
  width: calc(50% - 182px);
  max-width: none;
  min-height: 34px;
  padding: 0;
  background: transparent;
  white-space: normal;
  line-height: 1.35;
}
.header .header-side-left { left: 28px; right: auto; justify-content: flex-start; text-align: left; }
.header .header-side-right { right: 28px; left: auto; justify-content: flex-end; text-align: right; }
.header .header-side-label { min-width: 0; max-width: 100%; padding: 5px 8px; background: #fff; }
@media (min-width: 701px) and (max-width: 1100px) {
  .header .header-architecture { top: 12px; bottom: auto; height: 74px; }
}
@media (min-width: 701px) and (max-width: 1000px) {
  .header .header-architecture { width: calc(50% - 126px); }
  .header .header-architecture--left { left: 18px; }
  .header .header-architecture--right { right: 18px; }
  .header .header-side { width: calc(50% - 144px); }
  .header .header-side-left { left: 18px; }
  .header .header-side-right { right: 18px; }
}
@media (max-width: 700px) {
  .header .header-architecture { top: 24px; bottom: auto; height: 64px; width: calc(50% - 78px); }
  .header .header-architecture--left { left: 10px; }
  .header .header-architecture--right { right: 10px; }
  .header .header-architecture .header-drawing-full { display: none; }
  .header .header-architecture .header-drawing-compact { display: block; }
  .header .header-architecture { color: rgba(38, 46, 58, .29); }
  .header .header-side {
    top: 118px;
    width: calc(50% - 22px);
    max-width: none;
    min-height: 0;
    padding: 0;
    font-size: 6px;
    line-height: 6.5px;
    letter-spacing: .12em;
    white-space: normal;
  }
  .header .header-side-left { left: 15px; }
  .header .header-side-right { right: 15px; }
  .header .header-side-label { padding: 0; }
  .header .languages .lang { font-size: 11px; min-height: 25px; }
}
