/* Language is a page choice, with no tracking or stored preference. */
.header-inner > a { flex-shrink: 0; }
.header-inner .nav { margin-left: auto; order: 1; }
.language-switch { display: flex; align-items: center; flex: none; order: 2; padding: 3px; border: 1px solid #d6ddd2; border-radius: 7px; gap: 1px; }
.language-switch a { display: grid; place-items: center; min-width: 31px; min-height: 30px; padding: 3px; border-radius: 4px; font-size: 10px; font-weight: 550; color: #62715f; transition: color 150ms, background-color 150ms; }
.language-switch a[aria-current="page"] { color: #f6f6f0; background: #27392d; }
.language-switch a:not([aria-current]):hover { background: #e9eee3; color: #27392d; }
.header-inner .menu-button { order: 3; }
.institutional { background: #edf1e7; border-top: 1px solid #d6dfcf; }
.institutional-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(40px,7vw,100px); }
.institutional-intro h2 { font-size: clamp(33px,3.3vw,47px); max-width: 14ch; }
.institutional-intro > p { max-width: 46ch; font-size: 15px; line-height: 1.8; margin-top: 25px; }
.institutional-intro .text-link { margin-top: 26px; }
.institutional-requirements { border-top: 1px solid #bac7b3; }
.institutional-requirements article { display: grid; grid-template-columns: 28px 1fr; gap: 19px; padding: 24px 0; border-bottom: 1px solid #ccd6c4; }
.institutional-number { font: 11px/1.8 var(--mono); color: #708365; }
.institutional-requirements h3 { font-size: 21px; letter-spacing: -.025em; }
.institutional-requirements p { font-size: 14px; line-height: 1.75; margin-top: 10px; }
html[lang="de"] .hero h1 { font-size: clamp(47px,4.7vw,70px); }
html[lang="de"] :is(h1,h2,h3,h4,summary,.sci-index a,[data-ft-status]) { hyphens: auto; hyphenate-limit-chars: 12 5 4; -webkit-hyphenate-limit-before: 5; -webkit-hyphenate-limit-after: 4; overflow-wrap: break-word; }
html[lang="de"] p { overflow-wrap: break-word; }
html[lang="de"] .text-link { max-width: 100%; hyphens: auto; overflow-wrap: anywhere; }
html[lang="de"] .ft-sidebar .ft-steps > button > span:not(.ft-step-track) { hyphens: auto; overflow-wrap: anywhere; }
@media (max-width: 1170px) {
  .site-header { height: 65px; }
  .header-inner { gap: 13px; }
  .header-inner .language-switch { margin-left: auto; }
  .menu-button { display: block; min-height: 40px; font-size: 13px; }
  .header-inner .nav { display: none; position: absolute; top: 65px; right: 0; left: 0; padding: 17px var(--rail) 24px; margin: 0; background: #f8f8f3; border-bottom: 1px solid var(--line); box-shadow: 0 18px 35px #19261916; flex-direction: column; align-items: stretch; gap: 0; }
  .header-inner .nav.is-open { display: flex; }
  .nav a:not(.button) { padding: 12px 0; font-size: 15px; border-bottom: 1px solid var(--line); }
  .nav > a:not(.button)::after { content: none; }
  .nav .button { padding: 13px 15px; margin-top: 12px; }
}
@media (max-width: 800px) {
  .institutional-grid { grid-template-columns: 1fr; gap: 32px; }
  .institutional-intro h2 { max-width: 18ch; }
}
@media (max-width: 600px) {
  .header-inner { gap: 9px; }
  .header-inner .logo { width: 120px; }
  .menu-button { min-height: 38px; padding: 8px 9px; }
  .language-switch a { min-height: 28px; min-width: 28px; }
  .institutional-requirements article { padding: 22px 0; gap: 13px; }
  .institutional-requirements h3 { font-size: 20px; }
  html[lang="de"] .hero h1 { font-size: clamp(39px,10.7vw,60px); }
  html[lang="de"] .ft-app-status { flex-direction: column; align-items: flex-start; gap: 5px; }
  html[lang="de"] .ft-data-preview :is(th,td) { padding-inline: 6px; }
}
@media (max-width: 360px) {
  .header-inner .logo { width: 103px; }
  .header-inner { gap: 7px; }
  .menu-button { font-size: 12px; padding-inline: 7px; }
  .menu-glyph { margin-left: 4px; width: 13px; }
  .language-switch a { min-width: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .language-switch a { transition: none; }
}

/* Small dimensional cues; the interface and its evidence remain the focus.
   No new markup, pointer tracking, perpetual animation or layout changes. */
.hero .finding-window {
  box-shadow:
    inset 0 1px 0 #ffffff,
    0 2px 0 #b6c3ae,
    0 5px 0 #84957d,
    0 24px 55px #07180a40;
}

/* The chart stays close to frontal. Moving towards it brings it forward;
   focusing its report link returns it to a fully legible, flat plane. */
@media (min-width: 1000px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hero .finding-window {
    transform: perspective(1500px) rotateY(-7deg) rotateX(2deg);
    transform-origin: 50% 50%;
    transition: transform 520ms cubic-bezier(.2,.7,.2,1);
  }

  .hero .finding-window:hover {
    transform: perspective(1500px) rotateY(-2deg) rotateX(.5deg) translateY(-3px);
  }

  .hero .finding-window:focus-within {
    transform: perspective(1500px) rotateY(0) rotateX(0);
  }
}

/* The report is an actual link: a small lift communicates that it opens. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .report-thumbnail {
    transition: transform 300ms cubic-bezier(.2,.7,.2,1);
  }

  .report-thumbnail:is(:hover,:focus-visible) {
    transform: translateY(-3px) scale(1.012);
  }
}

/* A quiet outline offers the same affordance when movement is disabled. */
.report-thumbnail:focus-visible {
  outline: 2px solid #516e40;
  outline-offset: 6px;
}

@media (max-width: 999px), (prefers-reduced-motion: reduce) {
  .hero .finding-window {
    transform: none;
    box-shadow: inset 0 1px 0 #ffffff, 0 2px 0 #bcc8b5, 0 14px 32px #07180a26;
  }
}
