/* Haas.Partners — reduced one-pager. Colours from the logo files:
   ink #1B1F24, olive #708238, paper #F3F3F0. No web fonts, no trackers. */

:root {
  --ink: #1b1f24;
  --muted: #6b7078;
  --olive: #708238;
  --paper: #f3f3f0;
  --line: #d9d9d2;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }

.wrap { width: 100%; max-width: 1040px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }
@media (max-width: 600px) { .wrap { padding-left: 16px; padding-right: 16px; } }

header { display: flex; justify-content: flex-end; padding-top: 28px; padding-bottom: 28px; }
.lang { font-size: 13px; letter-spacing: .08em; }
.lang a, .lang span { padding: 4px 6px; text-decoration: none; color: var(--muted); }
.lang span { color: var(--ink); font-weight: 600; }

main { flex: 1; display: flex; flex-direction: column; justify-content: center; padding-top: 24px; padding-bottom: 72px; }
.logo { width: min(560px, 100%); margin: 0 0 64px; }

.fields { margin: 0 0 56px; padding: 0; list-style: none; font-family: var(--serif); font-size: clamp(28px, 4.4vw, 46px); line-height: 1.25; }
.fields li { display: flex; align-items: baseline; gap: .45em; }
.fields li::before { content: ""; flex: none; width: .26em; height: .26em; border-radius: 50%; background: var(--olive); transform: translateY(-.12em); }

.meta { display: flex; flex-wrap: wrap; gap: 8px 40px; margin: 0; padding-top: 24px; border-top: 1px solid var(--line); font-size: 15px; color: var(--muted); }
.meta a { color: var(--ink); text-decoration-color: var(--olive); text-underline-offset: 4px; }

footer { padding-top: 24px; padding-bottom: 32px; font-size: 13px; color: var(--muted); }
/* The imprint stays visible on the page: Austrian law wants it directly reachable. */
footer .imprint { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0; }
/* Name on its own line, the three addresses side by side, then the privacy note. */
footer .imprint span:first-child, footer .imprint span:last-child { flex-basis: 100%; }
