/* Position the supplied square photo by its head landmark (50.7% from top,
   44% from left), independent of the hero's changing height. */
.portrait{container-type:normal;overflow:hidden;background:none}
.portrait-image{position:absolute;inset:auto;top:60px;left:64%;width:clamp(1400px,144vw,2300px);max-width:none;height:auto;aspect-ratio:1;object-fit:contain;transform:translate(-44%,-50.7%);background:none;display:block;filter:brightness(1.075)}
.header-menu{flex-wrap:nowrap}.header-menu nav{width:auto;flex-wrap:nowrap}.header-contacts{flex-wrap:nowrap}
@media(max-width:1550px){
 .site-header{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;gap:20px;padding:16px 24px;min-height:90px}
 .site-header>.brand{grid-column:1;grid-row:1;width:248px;max-width:100%}
 .language-toggle{grid-column:2;grid-row:1;justify-self:center;margin:0}
 .menu-toggle{display:flex;grid-column:3;grid-row:1;justify-self:end;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;border:0;background:none;box-shadow:none;margin:0}
 .menu-toggle:hover{background:none;transform:none}.menu-toggle span{display:block;width:22px;height:2px;background:var(--forest);border-radius:2px;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
 .header-menu{grid-column:1/-1;grid-row:2;width:100%;max-width:none;justify-self:stretch;display:flex;flex-wrap:wrap;gap:24px;padding:20px;background:#f6fafb;border:1px solid #d5e6ed;border-radius:14px}
 .header-menu[hidden]{display:none}.header-menu nav{width:auto}.header-contacts{flex-wrap:wrap;gap:24px}.header-contacts .call{border:0;padding:0}
}
@media(max-width:1200px){.portrait-image{top:44px;left:64%}}
@media(max-width:720px){
 .site-header{grid-template-columns:auto minmax(0,1fr) 44px;gap:12px;padding:14px 16px;min-height:78px}.site-header>.brand{width:156px;max-width:100%}
 .header-menu nav{width:100%}.header-contacts{display:grid;width:100%}
 .story{min-height:0;padding-bottom:28px}.portrait{min-height:490px;flex-shrink:0;width:100%}
 .portrait-image{width:900px;top:58px;left:54%}
 .portrait:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.95) 5%,rgba(255,255,255,.6) 13%,rgba(255,255,255,.18) 23%,transparent 36%)}
}
@media(max-width:430px){.site-header{padding:12px;gap:8px}.site-header>.brand{width:138px;max-width:138px}.language-toggle{min-width:80px;padding:0 10px}.portrait{min-height:460px}.portrait-image{width:850px;top:58px}}


/* Keep navigation visible without taking the header out of document flow. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  box-shadow: 0 3px 14px rgba(35, 87, 107, .08);
}
html { scroll-padding-top: 116px; }
@media (max-width: 1550px) {
  html { scroll-padding-top: 110px; }
  .header-menu {
    max-height: calc(100svh - 130px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 720px) {
  html { scroll-padding-top: 106px; }
}
@media print {
  .site-header { position: static; box-shadow: none; }
}
