/* ============================================================
   Konzept 01 · Die Visitenkarte — Steinmann Unternehmensberatung
   Demo by Berezka Web (berezka.dev) · tokens = Berezka Web DS v1
   Art direction: "Der Briefbogen" — a letterhead, not a void.
   Static by design; the seal is the one focal ornament.
   ============================================================ */

/* ---------- fonts (self-hosted; latin + latin-ext (cs) + cyrillic (ru) subsets) ---------- */
/* unicode-range values lifted verbatim from gf.css (Google Fonts subset ranges) */

/* Literata — display serif, normal 400-700 */
@font-face{font-family:'Literata';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('../fonts/Literata-normal-400-700-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Literata';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('../fonts/Literata-normal-400-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Literata';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('../fonts/Literata-normal-400-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Literata — display serif, italic 400-700 */
@font-face{font-family:'Literata';font-style:italic;font-weight:400 700;font-display:swap;
  src:url('../fonts/Literata-italic-400-700-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Literata';font-style:italic;font-weight:400 700;font-display:swap;
  src:url('../fonts/Literata-italic-400-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Literata';font-style:italic;font-weight:400 700;font-display:swap;
  src:url('../fonts/Literata-italic-400-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* IBM Plex Sans — body, normal 400 */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/IBMPlexSans-normal-400-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/IBMPlexSans-normal-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/IBMPlexSans-normal-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* IBM Plex Sans — body strong, normal 500 */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/IBMPlexSans-normal-500-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/IBMPlexSans-normal-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/IBMPlexSans-normal-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* IBM Plex Mono — labels/eyebrows, normal 400 */
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/IBMPlexMono-normal-400-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/IBMPlexMono-normal-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/IBMPlexMono-normal-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* IBM Plex Mono — labels strong, normal 500 */
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/IBMPlexMono-normal-500-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/IBMPlexMono-normal-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/IBMPlexMono-normal-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ---------- tokens: light ("Papier") ---------- */
:root{
  --bg:#F3F1EB; --surface:#FBFAF6; --surface-2:#EAE7DF;
  --ink:#1D2025; --ink-soft:#43464D; --ink-muted:#5F636B;
  --line:#D8D4C8; --line-strong:#B9B4A5;
  --accent:#BC3F2C; --accent-ink:#A93823; --accent-contrast:#FFFFFF;
  --lift:0 1px 2px rgb(15 18 22 / .06), 0 12px 32px -12px rgb(15 18 22 / .18);
  --press:inset 0 1px 2px rgb(15 18 22 / .18);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --ease:cubic-bezier(.22,.61,.2,1);
  --gut:clamp(1.25rem, 4vw, 3rem);
  --sect:clamp(3.4rem, 7.5vw, 5.6rem);
  --font-display:'Literata', Georgia, 'Times New Roman', serif;
  --font-body:'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  color-scheme: light;
}

/* ---------- tokens: dark ("Tinte") ---------- */
[data-theme="dark"]{
  --bg:#12151A; --surface:#1A1E25; --surface-2:#232830;
  --ink:#EAE7DF; --ink-soft:#C4C1B8; --ink-muted:#9297A0;
  --line:#2E333C; --line-strong:#454B56;
  --accent:#E2664A; --accent-ink:#EC7B5F; --accent-contrast:#1A0C08;
  --lift:0 1px 2px rgb(0 0 0 / .3), 0 12px 32px -12px rgb(0 0 0 / .5);
  --press:inset 0 1px 2px rgb(0 0 0 / .5);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color-scheme: dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme]){
    --bg:#12151A; --surface:#1A1E25; --surface-2:#232830;
    --ink:#EAE7DF; --ink-soft:#C4C1B8; --ink-muted:#9297A0;
    --line:#2E333C; --line-strong:#454B56;
    --accent:#E2664A; --accent-ink:#EC7B5F; --accent-contrast:#1A0C08;
    color-scheme: dark;
  }
}

/* ---------- Farbwelten: 3 weitere kuratierte Paletten (design-system.md 2) ---------- */
[data-palette="gezeiten"]{
  --bg:#EDF0F2; --surface:#F8FAFB; --surface-2:#E0E5E9;
  --ink:#171D24; --ink-soft:#3D4650; --ink-muted:#59636E;
  --line:#CED5DA; --line-strong:#A8B2BB;
  --accent:#2E6284; --accent-ink:#295874; --accent-contrast:#FFFFFF;
}
[data-palette="gezeiten"][data-theme="dark"]{
  --bg:#0F141B; --surface:#161C25; --surface-2:#1F2731;
  --ink:#E6EAEE; --ink-soft:#BEC6CE; --ink-muted:#8E99A5;
  --line:#2A333E; --line-strong:#43505D;
  --accent:#5B9BD0; --accent-ink:#7FB3DE; --accent-contrast:#06121C;
}
[data-palette="forst"]{
  --bg:#F0EFE4; --surface:#FAF9F1; --surface-2:#E5E3D3;
  --ink:#1C211C; --ink-soft:#414840; --ink-muted:#5D655C;
  --line:#D4D1BE; --line-strong:#B0AC94;
  --accent:#2E6B4F; --accent-ink:#2A5F47; --accent-contrast:#FFFFFF;
}
[data-palette="forst"][data-theme="dark"]{
  --bg:#101613; --surface:#17201B; --surface-2:#202B24;
  --ink:#E7E9DF; --ink-soft:#C1C6B8; --ink-muted:#91998C;
  --line:#29342C; --line-strong:#435046;
  --accent:#4E9E77; --accent-ink:#82C4A0; --accent-contrast:#06130C;
}
[data-palette="graphit"]{
  --bg:#F0F0EE; --surface:#FAFAF8; --surface-2:#E4E4E1;
  --ink:#1B1D20; --ink-soft:#43454A; --ink-muted:#5F6166;
  --line:#D4D4CF; --line-strong:#ACACA5;
  --accent:#B87400; --accent-ink:#7E5300; --accent-contrast:#221703;
}
[data-palette="graphit"][data-theme="dark"]{
  --bg:#131417; --surface:#1B1C20; --surface-2:#25262B;
  --ink:#E8E7E3; --ink-soft:#C2C1BC; --ink-muted:#94959A;
  --line:#2C2D33; --line-strong:#46484F;
  --accent:#E8A83E; --accent-ink:#ECB255; --accent-contrast:#1F1403;
}

/* ---------- Farbwelt switcher ---------- */
.pal-btn{appearance:none; cursor:pointer; width:40px; height:40px; border-radius:999px;
  border:1px solid var(--line); background:var(--surface); color:var(--ink-soft);
  display:inline-flex; align-items:center; justify-content:center; padding:0}
.pal-btn .chip{width:18px; height:18px; border-radius:999px; flex:none; pointer-events:none;
  background:linear-gradient(135deg, var(--pc-p) 0 50%, var(--pc-a) 50% 100%);
  box-shadow:inset 0 0 0 1px rgb(0 0 0 / .22)}
.pal-btn[data-pal="siegel"]{--pc-p:#F3F1EB; --pc-a:#BC3F2C}
.pal-btn[data-pal="gezeiten"]{--pc-p:#EDF0F2; --pc-a:#2E6284}
.pal-btn[data-pal="forst"]{--pc-p:#F0EFE4; --pc-a:#2E6B4F}
.pal-btn[data-pal="graphit"]{--pc-p:#F0F0EE; --pc-a:#B87400}
.pal-btn:hover .chip{box-shadow:inset 0 0 0 1px rgb(0 0 0 / .22), 0 0 0 2px var(--bg), 0 0 0 3px var(--ink-muted)}
@media (max-width: 560px){
  .head-in{flex-wrap:wrap; row-gap:0}
}

/* ---------- language switcher ---------- */
.langs{position:relative}
.lang-btn{appearance:none; background:transparent; border:0; cursor:pointer; color:var(--ink-soft);
  padding:8px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center;
  transition:color .2s, transform .2s}
.lang-btn:hover{color:var(--ink); transform:translateY(-1px)}
.lang-btn .flag-ic{width:22px; height:16px; border-radius:2px; box-shadow:0 0 0 1px rgb(0 0 0 / .08)}
.lang-dropdown{display:none; position:absolute; top:calc(100% + 8px); right:0;
  background:var(--surface); border:1px solid var(--line); border-radius:10px;
  padding:6px; margin:0; list-style:none; z-index:60; box-shadow:0 10px 28px rgb(0 0 0 / .16);
  grid-template-columns:repeat(4, 44px); gap:1px}
.langs.open .lang-dropdown{display:grid}
.lang-dropdown li{width:44px; height:44px; list-style:none}
.lang-dropdown a{display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  border-radius:8px; text-decoration:none; border:0; cursor:pointer; transition:background .15s}
.lang-dropdown a:hover{background:var(--surface-2)}
.lang-dropdown .lang-active a{background:var(--surface-2); outline:1px solid var(--line)}
.lang-dropdown .flag-ic{width:28px; height:21px; border-radius:3px; box-shadow:0 0 0 1px rgb(0 0 0 / .08)}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0; min-height:100vh;
  background-color:var(--bg); background-image:var(--grain);
  color:var(--ink); font-family:var(--font-body);
  font-size:1.0625rem; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  transition:background-color .3s ease, color .3s ease;
  display:flex; flex-direction:column;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none !important; animation:none !important}
}
svg{display:block; max-width:100%}
a{color:var(--accent-ink); text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:2px}
.skip{position:absolute; left:-999px; top:0; background:var(--accent); color:var(--accent-contrast);
  padding:12px 20px; z-index:99; border-radius:0 0 8px 0; font-family:var(--font-body)}
.skip:focus{left:0}
[id]{scroll-margin-top:5rem}

.wrap{width:100%; max-width:70.5rem; margin-inline:auto; padding-inline:var(--gut)}

.eyebrow{
  font-family:var(--font-mono); font-size:.78rem; font-weight:400;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ink-muted);
  margin:0 0 1rem;
}

/* ---------- header: ruled letterhead top ---------- */
.site-head{border-bottom:1px solid var(--line)}
.head-in{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding-block:10px;
}
.head-mark{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:.78rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink); text-decoration:none;
  padding:12px 2px; min-height:44px;
}
.head-mark .mini-seal{width:20px; height:20px; flex:none; color:var(--accent-ink)}
.head-mark:hover{color:var(--accent-ink)}
.head-right{display:flex; align-items:center; gap:clamp(.4rem, 2vw, 1.6rem)}
.main-nav{display:flex; align-items:center; gap:clamp(.2rem, 1.5vw, 1rem)}
.main-nav a{
  font-family:var(--font-mono); font-size:.72rem; font-weight:400;
  letter-spacing:.15em; text-transform:uppercase;
  color:var(--ink-soft); text-decoration:none;
  padding:14px 8px; display:inline-block;
}
.main-nav a:hover{color:var(--accent-ink); text-decoration:underline;
  text-decoration-thickness:1px; text-underline-offset:5px}
.theme-btn{
  appearance:none; cursor:pointer; width:44px; height:44px; border-radius:999px;
  border:1px solid var(--line); background:var(--surface); color:var(--ink-soft);
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  transition:transform .14s var(--ease), box-shadow .14s var(--ease), color .14s var(--ease);
}
.theme-btn:hover{color:var(--ink); box-shadow:var(--lift)}
.theme-btn:active{transform:scale(.94); box-shadow:var(--press)}
.theme-btn .ic-moon{display:none}
[data-theme="dark"] .theme-btn .ic-sun{display:none}
[data-theme="dark"] .theme-btn .ic-moon{display:block}

/* ---------- hero: name block left · seal panel right ---------- */
.hero{padding-block:clamp(3rem, 8vh, 5.5rem) var(--sect)}
.hero-in{
  display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 4.4fr);
  gap:clamp(2rem, 6vw, 5.5rem); align-items:center;
}
.name{
  font-family:var(--font-display); font-weight:560; font-optical-sizing:auto;
  font-size:clamp(2.7rem, 1.6rem + 3.9vw, 4.35rem);
  line-height:1.05; letter-spacing:-.015em;
  margin:0 0 1.1rem; color:var(--ink);
}
.claim{
  font-family:var(--font-display); font-style:italic; font-weight:430;
  font-size:clamp(1.15rem, 1rem + .65vw, 1.42rem);
  line-height:1.5; color:var(--ink-soft); margin:0 0 1.4rem;
  max-width:30ch;
}
.lead{margin:0; color:var(--ink-soft); max-width:52ch}
.lead strong{color:var(--ink); font-weight:500}
.cta-row{
  display:flex; align-items:center; flex-wrap:wrap;
  gap:.9rem 1.4rem; margin-top:2rem;
}
.btn-quiet{
  display:inline-flex; align-items:center; gap:.6rem;
  min-height:46px; padding:10px 22px; border-radius:8px;
  border:1px solid var(--line-strong); background:var(--surface);
  font-family:var(--font-body); font-weight:500; font-size:.98rem;
  color:var(--ink); text-decoration:none;
  transition:border-color .14s var(--ease), color .14s var(--ease),
    box-shadow .14s var(--ease), transform .14s var(--ease);
}
.btn-quiet:hover{border-color:var(--accent-ink); color:var(--accent-ink); box-shadow:var(--lift)}
.btn-quiet:active{transform:scale(.97); box-shadow:var(--press)}
.cta-note{
  font-family:var(--font-mono); font-size:.74rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--ink-muted); margin:0;
}

/* the seal panel: one focal ornament, corner-ticked like a print sheet */
.seal-panel{
  position:relative;
  border:1px solid var(--line); border-radius:12px;
  background-color:var(--surface);
  padding:clamp(1.6rem, 3vw, 2.4rem) clamp(1.4rem, 2.6vw, 2.1rem) 1.1rem;
}
.seal-panel::before,.seal-panel::after{
  content:""; position:absolute; width:14px; height:14px;
}
.seal-panel::before{top:9px; left:9px;
  border-top:1px solid var(--line-strong); border-left:1px solid var(--line-strong)}
.seal-panel::after{bottom:9px; right:9px;
  border-bottom:1px solid var(--line-strong); border-right:1px solid var(--line-strong)}
.seal{
  width:clamp(170px, 78%, 236px); height:auto; margin-inline:auto;
  color:var(--accent-ink);
  transform:rotate(-7deg);
  transition:transform .14s var(--ease);
}
.seal-panel:hover .seal{transform:rotate(-7deg) scale(.985)}
.seal-ring-txt{
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:3.2px; fill:currentColor;
}
.seal-center-txt{
  font-family:var(--font-display); font-style:italic; font-weight:600;
  font-size:62px; fill:currentColor;
}
.seal-meta{
  display:flex; justify-content:space-between; gap:1rem;
  border-top:1px solid var(--line);
  margin-top:1.5rem; padding-block:.85rem .15rem;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--ink-muted);
}

/* ---------- ruled sections ---------- */
.sect{border-top:1px solid var(--line); padding-block:var(--sect)}
.sect-head{margin-bottom:clamp(1.8rem, 4vw, 2.8rem)}
.sect-head h2{
  font-family:var(--font-display); font-weight:540;
  font-size:clamp(1.6rem, 1.3rem + 1.1vw, 2.15rem);
  line-height:1.15; letter-spacing:-.01em; margin:0;
  text-wrap:balance;
}

/* Schwerpunkte: three ruled columns */
.cols{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.6rem, 3.5vw, 3rem);
}
.col{border-top:1px solid var(--line-strong); padding-top:1.15rem}
.col .idx{
  font-family:var(--font-mono); font-size:.74rem; font-weight:500;
  letter-spacing:.16em; color:var(--accent-ink);
}
.col h3{
  font-family:var(--font-display); font-weight:560;
  font-size:clamp(1.2rem, 1.1rem + .4vw, 1.38rem);
  line-height:1.2; margin:.55rem 0 .55rem;
}
.col p{margin:0; font-size:.96rem; color:var(--ink-soft)}

/* Profil: label rail + prose, the original card DNA */
.profil-in{
  display:grid; grid-template-columns:10rem minmax(0,1fr);
  gap:1rem 3rem; align-items:start;
}
.rail{
  font-family:var(--font-mono); font-size:.75rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-muted);
  padding-top:.45rem;
}
.pull{
  font-family:var(--font-display); font-style:italic; font-weight:450;
  font-size:clamp(1.25rem, 1.1rem + .7vw, 1.6rem);
  line-height:1.45; color:var(--ink); margin:0 0 1.2rem;
  max-width:34ch;
}
.profil-txt p{margin:0; color:var(--ink-soft); max-width:62ch}
.facts{
  grid-column:1 / -1;
  display:flex; flex-wrap:wrap; gap:.4rem 0;
  margin:1.9rem 0 0; padding-top:1rem;
  border-top:1px solid var(--line);
  font-family:var(--font-mono); font-size:.76rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-muted);
}
.facts .dot{color:var(--line-strong); padding-inline:.75em}

/* Kontakt: pitch + ledger rows in one bordered panel */
.contact-panel{
  border:1px solid var(--line); border-radius:12px;
  background-color:var(--surface);
  padding:clamp(1.7rem, 4vw, 3rem);
  display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:clamp(1.8rem, 4vw, 4rem); align-items:center;
}
.contact-pitch h2{
  font-family:var(--font-display); font-weight:540;
  font-size:clamp(1.5rem, 1.25rem + 1vw, 2rem);
  line-height:1.2; letter-spacing:-.01em; margin:0 0 .8rem;
  text-wrap:balance;
}
.contact-pitch p{margin:0; color:var(--ink-soft); max-width:44ch}
.c-rows{margin:0}
.c-row{
  display:grid; grid-template-columns:6.2rem minmax(0,1fr);
  gap:.35rem 1.2rem; align-items:baseline;
  border-top:1px solid var(--line); padding-block:.85rem;
}
.c-row:last-child{border-bottom:1px solid var(--line)}
.c-row dt{
  font-family:var(--font-mono); font-size:.7rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-muted);
}
.c-row dd{
  margin:0; font-family:var(--font-mono); font-size:.92rem;
  letter-spacing:.01em; color:var(--ink-soft); overflow-wrap:anywhere;
}
.c-row dd a{
  color:var(--accent-ink);
  text-decoration-color:color-mix(in srgb, var(--accent-ink) 45%, transparent);
  padding-block:8px; margin-block:-8px; display:inline-block;
}
.c-row dd a:hover{text-decoration-color:var(--accent-ink)}

/* ---------- footer: ruled sign-off ---------- */
.site-foot{border-top:1px solid var(--line); margin-top:var(--sect)}
.foot-top{
  display:flex; align-items:center; justify-content:space-between;
  gap:.4rem 1.5rem; flex-wrap:wrap; padding-block:1.1rem;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-muted);
}
.foot-top p{margin:0}
.foot-links a{color:var(--ink-soft); text-decoration-thickness:1px;
  padding:12px 4px; display:inline-block}
.foot-links a:hover{color:var(--ink)}
.foot-credit{
  border-top:1px solid var(--line);
  padding-block:.85rem 1.6rem; margin:0; text-align:center;
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--ink-muted);
}
.foot-credit a{display:inline-flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:2px 7px; max-width:100%;
  color:var(--ink-muted); text-decoration:none; padding:10px 4px}
.foot-credit a:hover{color:var(--accent-ink)}
.foot-credit svg{width:15px; height:15px; flex:none}
.foot-credit .bw{
  font-family:var(--font-display); font-weight:600; font-size:.9rem;
  text-transform:none; letter-spacing:-.005em;
}
.foot-credit .bw em{font-style:italic}

/* ---------- responsive ---------- */
@media (max-width: 880px){
  .hero-in{grid-template-columns:1fr; gap:2.6rem}
  .seal-panel{max-width:22rem}
  .cols{grid-template-columns:1fr; gap:1.7rem}
  .contact-panel{grid-template-columns:1fr; align-items:start}
  .profil-in{grid-template-columns:1fr; gap:1rem}
  .rail{padding-top:0}
}
@media (max-width: 560px){
  .main-nav a{display:none}
  .main-nav a.nav-kontakt{display:inline-block}
  .head-right{flex-wrap:wrap; justify-content:flex-end; gap:.4rem}
  .c-row{grid-template-columns:1fr; padding-block:.7rem}
  .foot-top{justify-content:center; text-align:center}
}

/* ---------- legal stub pages (impressum / datenschutz) ---------- */
.sheet{width:100%; max-width:43rem; margin-inline:auto; padding-inline:var(--gut); flex:1}
.legal{padding-block:clamp(3rem, 8vh, 5rem) var(--sect)}
.legal h1{
  font-family:var(--font-display); font-weight:560; font-size:clamp(2rem, 1.5rem + 2vw, 2.9rem);
  line-height:1.1; letter-spacing:-.01em; margin:0 0 1rem;
}
.legal .eyebrow{text-align:left; margin-bottom:1.1rem}
.muster{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-muted); border:1px dashed var(--line-strong); border-radius:8px;
  padding:13px 16px; margin:1.6rem 0 2.6rem; line-height:1.9;
}
.legal h2{
  font-family:var(--font-mono); font-size:.78rem; font-weight:500; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-muted); margin:2.4rem 0 .7rem;
}
.legal p, .legal ul{color:var(--ink-soft); margin:.4rem 0}
.legal ul{padding-left:1.2rem}
.chip{
  font-family:var(--font-mono); font-size:.8rem; letter-spacing:.02em;
  background:var(--surface-2); border:1px solid var(--line); border-radius:6px;
  padding:1px 8px 2px; white-space:nowrap; color:var(--ink-soft);
}
.back-row{margin-top:3rem}
.back-row a{
  font-family:var(--font-mono); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft); text-decoration-thickness:1px; padding:12px 4px; display:inline-block;
}
.back-row a:hover{color:var(--ink)}
.card-foot{
  border-top:1px solid var(--line); text-align:center;
  padding:1.4rem var(--gut) 1.8rem;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-muted); line-height:2.1;
}
.foot-legal{margin:0}

/* ---------- print: the card prints like a card ---------- */
@media print{
  body{background:#fff; color:#000}
  .theme-btn, .skip, .main-nav{display:none}
  a{color:#000; text-decoration:none}
  .seal{color:#A93823}
}
