/* ═══════════ SELF-HOSTED FONTS (woff2, lokal in /fonts) ═══════════ */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-grotesk-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-grotesk-latin-ext-400-normal.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:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/space-grotesk-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/space-grotesk-latin-ext-500-normal.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:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/space-grotesk-latin-600-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/space-grotesk-latin-ext-600-normal.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:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-latin-ext-700-normal.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:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-latin-ext-400-normal.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:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/manrope-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/manrope-latin-ext-500-normal.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:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-latin-600-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-latin-ext-600-normal.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:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/manrope-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/manrope-latin-ext-700-normal.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:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-latin-ext-400-normal.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:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-ext-500-normal.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;}
/* ═══════════ TOKENS ═══════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --ink:#0C1C2E; --ink-2:#091624; --primary:#1366B5; --primary-d:#0F5193;
  --accent:#2E9BE0; --accent-2:#86D2F6; --bg:#F4F7FB; --bg-alt:#E7EEF6;
  --surface:#FFFFFF; --border:#D9E3EE; --text:#14222F; --muted:#5B6E80;
  --white:#FFFFFF; --green:#16A34A; --amber:#D08700; --grey:#8A9AAB;
  --ff-d:'Space Grotesk',system-ui,sans-serif; --ff-b:'Manrope',system-ui,sans-serif; --ff-m:'JetBrains Mono',monospace;
  --r:16px; --r-sm:10px; --nav-h:70px;
  --page-max:1920px;
  --px:max(4vw, calc((100vw - 1766px) / 2));
  --px0:max(0px, calc((100vw - 1766px) / 2));
  --sh:0 1px 2px rgba(12,28,46,.04),0 12px 30px rgba(12,28,46,.08);
  --sh-lg:0 24px 60px rgba(12,28,46,.20);
}
html { scroll-behavior:smooth; }
body { font-family:var(--ff-b); background:var(--bg); color:var(--text); font-size:1rem; line-height:1.6; -webkit-font-smoothing:antialiased; text-wrap:pretty; }
::selection { background:var(--accent); color:#fff; }

/* ═══════════ BADGE / TOAST ═══════════ */
.proto-badge { position:fixed; bottom:20px; right:20px; z-index:9999; background:var(--ink); color:#fff; font-family:var(--ff-m); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; padding:7px 14px; border-radius:999px; box-shadow:var(--sh); pointer-events:none; }
.toast { position:fixed; bottom:70px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--ink); color:#fff; font-family:var(--ff-b); font-size:.8rem; font-weight:500; padding:12px 24px; border-radius:999px; box-shadow:var(--sh-lg); opacity:0; transition:opacity .3s,transform .3s; pointer-events:none; z-index:999; white-space:nowrap; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* ═══════════ NAV ═══════════ */
nav { position:fixed; top:0; left:0; width:100%; z-index:500; height:var(--nav-h); background:rgba(244,247,251,.82); backdrop-filter:blur(14px); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; padding:0 var(--px); }
.nav-logo { font-family:var(--ff-d); font-weight:700; font-size:1.45rem; color:var(--ink); text-decoration:none; cursor:pointer; display:flex; align-items:center; letter-spacing:-.03em; }
.nav-logo .plus { color:var(--primary); }
.nav-logo .se { font-weight:400; color:var(--muted); margin-left:.4rem; font-size:1rem; letter-spacing:.05em; }
.nav-right { display:flex; align-items:center; gap:2rem; }
.nav-links { display:flex; gap:1.7rem; list-style:none; align-items:center; }
.nav-links a { font-size:.75rem; font-weight:600; color:var(--muted); text-decoration:none; cursor:pointer; transition:color .18s; position:relative; padding:4px 0; }
.nav-links a::after { content:''; position:absolute; left:0; bottom:-3px; height:2px; width:0; background:var(--primary); transition:width .22s; }
.nav-links a:hover, .nav-links a.active { color:var(--ink); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-links a.nav-cta { font-size:.75rem; font-weight:700; background:var(--ink); color:#fff !important; display:inline-flex; align-items:center; line-height:1; padding:5px 16px; border-radius:999px; transition:background .18s; }
.nav-links a.nav-cta::after { display:none; }
.nav-links a.nav-cta:hover { background:var(--primary); }
.nav-burger { display:none; margin-left:auto; background:none; border:none; cursor:pointer; color:var(--ink); font-size:1.5rem; }

/* ═══════════ PAGES / LOAD ═══════════ */
.page-content { padding-top:var(--nav-h); min-height:100vh; }
@keyframes rise { from{opacity:0;transform:translateY(22px);} to{opacity:1;transform:translateY(0);} }
.page-content > * { animation:rise .6s cubic-bezier(.22,.61,.36,1) both; }
.page-content > *:nth-child(1){animation-delay:.02s}.page-content > *:nth-child(2){animation-delay:.10s}
.page-content > *:nth-child(3){animation-delay:.18s}.page-content > *:nth-child(4){animation-delay:.26s}.page-content > *:nth-child(5){animation-delay:.34s}
@media (prefers-reduced-motion:reduce){ .page-content > *{animation:none;} }

/* ═══════════ SHARED ═══════════ */
.eyebrow { font-family:var(--ff-m); font-size:.65rem; letter-spacing:.18em; color:var(--primary); text-transform:uppercase; margin-bottom:1rem; display:inline-flex; align-items:center; gap:.55rem; }
.eyebrow::before { content:''; width:26px; height:1px; background:var(--primary); }
.eyebrow-v { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--primary); writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; }
.h-display { font-family:var(--ff-d); font-weight:700; letter-spacing:-.035em; line-height:.98; color:var(--ink); }
.section-title { font-family:var(--ff-d); font-weight:700; font-size:clamp(2rem,4.5vw,3.4rem); color:var(--ink); line-height:1.05; letter-spacing:-.03em; margin-bottom:1.1rem; text-wrap:pretty; }
.lead { font-size:1rem; color:var(--muted); max-width:600px; line-height:1.8; text-wrap:pretty; }
.mega { font-family:var(--ff-d); font-weight:700; font-size:clamp(3rem,9vw,7.5rem); line-height:.85; letter-spacing:-.05em; color:var(--ink); }
.kicker-num { font-family:var(--ff-m); font-size:.7rem; color:var(--accent); letter-spacing:.1em; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; text-decoration:none; cursor:pointer; border:1px solid transparent; font-family:var(--ff-b); font-size:.8rem; font-weight:700; padding:14px 28px; border-radius:999px; transition:all .18s; }
.btn-gold { background:var(--primary); color:#fff; box-shadow:0 8px 22px rgba(19,102,181,.30); }
.btn-gold:hover { background:var(--primary-d); transform:translateY(-2px); }
.btn-dark { background:var(--ink); color:#fff; }
.btn-dark:hover { background:var(--primary); transform:translateY(-2px); }
.btn-ghost-light { background:rgba(255,255,255,.06); color:#fff; border:1px solid rgba(255,255,255,.45); }
.btn-ghost-light:hover { background:rgba(255,255,255,.16); }
.btn-ghost-dark { background:var(--surface); color:var(--primary); border:1px solid var(--border); }
.btn-ghost-dark:hover { border-color:var(--primary); background:var(--bg-alt); }
.btn-row { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; width:max-content; max-width:100%; }
@media(max-width:600px){ .btn-row { display:flex; flex-direction:column; align-items:stretch; width:max-content; max-width:100%; gap:1rem; } .btn-row > .btn { width:100%; } }

/* coloured band */
.band-ink { background:linear-gradient(150deg,var(--primary-d) 0%,var(--ink) 70%); color:#fff; position:relative; overflow:hidden; }
.band-ink .eyebrow,.band-ink .kicker-num { color:var(--accent-2); }
.band-ink .eyebrow::before { background:var(--accent-2); }
.band-ink .section-title,.band-ink .h-display { color:#fff; }
.band-ink .lead { color:rgba(255,255,255,.74); }
.band-ink::after { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(ellipse 60% 90% at 90% 10%,#000 5%,transparent 65%); mask-image:radial-gradient(ellipse 60% 90% at 90% 10%,#000 5%,transparent 65%); }

/* ═══════════ HOME HERO — asymmetric editorial ═══════════ */
.hero { position:relative; min-height:calc(100vh - var(--nav-h)); display:grid; grid-template-columns:repeat(5,1fr); gap:14px; overflow:hidden; padding-inline:var(--px);
  background:radial-gradient(ellipse 55% 55% at 88% 8%,rgba(46,155,224,.16),transparent 60%),radial-gradient(ellipse 45% 50% at -5% 95%,rgba(19,102,181,.12),transparent 55%),var(--bg); }
.hero-mark { position:absolute; right:-3vw; bottom:-8vh; font-family:var(--ff-d); font-weight:700; font-size:46vh; line-height:1; color:var(--primary); opacity:.05; pointer-events:none; user-select:none; }
.hero-left { padding:6vh 3vw 6vh 0; grid-column:span 3; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; }
.hero-head { display:flex; flex-direction:column; width:fit-content; max-width:100%; }
@media(max-width:600px){ .hero-left{ min-height:min(calc(100vh - var(--nav-h)), 620px); justify-content:flex-start; padding-top:2rem; padding-bottom:2rem; } }
.hero-tag { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.14em; color:var(--primary); text-transform:uppercase; margin-bottom:1.6rem; display:inline-flex; align-items:center; gap:.6rem; background:var(--surface); border:1px solid var(--border); border-radius:999px; padding:8px 16px; box-shadow:var(--sh); }
@media(max-width:600px){ .hero-tag{ font-size:.65rem; letter-spacing:.08em; } }
.hero-tag .pulse { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px rgba(22,163,74,.18); }
.hero h1 { font-family:var(--ff-d); font-weight:700; font-size:clamp(2.8rem,6.2vw,5.6rem); color:var(--ink); line-height:.98; letter-spacing:-.04em; width:min-content; max-width:100%; margin-bottom:1.8rem; }
.hero h1 em { font-style:normal; color:var(--primary); }
.hero-sub { font-size:1.05rem; color:var(--muted); max-width:46ch; line-height:1.75; margin-bottom:2.4rem; }
.hero-btns { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; width:max-content; max-width:100%; }
.hero-rail { grid-column:span 2; border-left:1px solid var(--border); background:rgba(255,255,255,.45); backdrop-filter:blur(4px); display:flex; flex-direction:column; justify-content:center; padding:6vh 3vw; position:relative; z-index:1; }
.rail-item { padding:1.5rem 0; border-bottom:1px solid var(--border); }
.rail-item:last-child { border-bottom:none; }
.rail-n { font-family:var(--ff-d); font-weight:700; font-size:2.8rem; line-height:1; color:var(--ink); letter-spacing:-.03em; }
.rail-unit { font-size:1.95rem; font-weight:600; margin-left:.18em; letter-spacing:-.01em; }
.rail-l { font-family:var(--ff-m); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-top:.4rem; }
.rail-mark { font-family:var(--ff-d); font-weight:700; font-size:8.6rem; line-height:.5; color:rgba(19,102,181,.15); margin-left:-0.8rem; }

/* marquee ticker */
.marquee { background:var(--ink); color:#fff; overflow:hidden; white-space:nowrap; border-top:1px solid rgba(255,255,255,.08); }
.marquee-track { display:inline-flex; gap:3rem; padding:14px 0; animation:scroll var(--marquee-dur,40s) linear infinite; }
@keyframes scroll { from{transform:translateX(0)} to{transform:translateX(var(--marquee-shift,-50%))} }
.m-item { font-family:var(--ff-m); font-size:.75rem; display:inline-flex; gap:.6rem; align-items:center; }
.m-item .dotc { width:6px; height:6px; border-radius:50%; }
.m-sym { color:rgba(255,255,255,.5); } .m-val { color:#fff; }
.c-pos{color:#5EE08C}.c-neu{color:var(--accent-2)}.c-neg{color:#FFB454}

/* ═══════════ HOME — BENTO PORTFOLIO ═══════════ */
.sec { padding:8vh var(--px); }
.sec-head { margin-bottom:2.6rem; }
.lead-pf { max-width:calc(66.66% - 4.7px); }
@media(max-width:960px){ .lead-pf{ max-width:calc(50% - 7px); } }
@media(max-width:600px){ .lead-pf{ max-width:100%; } }
.bento { display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:minmax(150px,auto); gap:14px; }
.bt { grid-column:span 2; }
a.bt { text-decoration:none; color:inherit; }
.bt { background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:1.7rem; cursor:pointer; box-shadow:var(--sh); transition:transform .2s,box-shadow .2s,border-color .2s; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.bt:hover { transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:#BFD2E6; }
.bt .bt-idx { position:absolute; top:1.1rem; right:1.3rem; font-family:var(--ff-d); font-weight:700; font-size:1.2rem; color:#7E90A2; }
.bt-sector { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.12em; color:var(--primary); text-transform:uppercase; margin-bottom:.6rem; }
.bt-name { font-family:var(--ff-d); font-weight:600; font-size:1.3rem; color:var(--ink); letter-spacing:-.01em; }
.bt-desc { font-size:.85rem; color:var(--muted); line-height:1.65; margin-top:.5rem; }
.bt-status { margin-top:auto; padding-top:1rem; display:inline-flex; align-items:center; gap:7px; font-family:var(--ff-m); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.dot { width:7px; height:7px; border-radius:50%; }
.d-green{background:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.16)} .d-gold{background:var(--amber);box-shadow:0 0 0 3px rgba(208,135,0,.16)} .d-grey{background:var(--grey)}
.bt-feat { grid-column:span 4; grid-row:span 2; background:linear-gradient(155deg,#fff 40%,#EAF2FB); }
.bt-cta { grid-column:span 6; background:var(--ink); color:#fff; flex-direction:row; align-items:center; justify-content:space-between; min-height:auto; }
.bt-cta:hover { background:var(--primary); }
.bt-cta .bt-name { color:#fff; font-size:1.4rem; }
.bt-cta .arrow { font-family:var(--ff-d); font-size:1.6rem; }
.bt-name small { display:block; font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; color:rgba(255,255,255,.55); text-transform:uppercase; margin-top:.3rem; font-weight:400; }

/* ═══════════ HOME — split IR band ═══════════ */
.split { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; padding-inline:var(--px); }
.split > div { padding-block:8vh; }
.split > div:first-child { grid-column:span 3; }
.split-right { grid-column:span 2; }
.split-right { display:flex; flex-direction:column; justify-content:center; gap:1.4rem; container-type:inline-size; }
.band-ink.split { background:linear-gradient(to bottom, transparent 55%, var(--ink) 100%), linear-gradient(150deg, var(--primary-d) 0%, var(--ink) 70%); }
.mini-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); border-radius:var(--r); overflow:hidden; }
.mini-kpi { background:rgba(12,28,46,.4); padding:clamp(.9rem,4cqi,1.3rem); padding-right:0; }
.mini-kpi .v { font-family:var(--ff-d); font-weight:700; font-size:clamp(1.1rem,6.5cqi,1.5rem); color:#fff; white-space:nowrap; }
.mini-kpi .l { font-family:var(--ff-m); font-size:clamp(.6rem,3.4cqi,.7rem); letter-spacing:.0725em; word-spacing:-.1em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-top:.3rem; }

/* ═══════════ SUB-HERO variants ═══════════ */
.sub-hero { padding:14vh var(--px) 9vh; position:relative; z-index:1; }
.sub-hero .lead { color:rgba(255,255,255,.74); margin-top:1rem; }
.sub-hero--num { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2rem; }
.sub-hero__big { font-family:var(--ff-d); font-weight:700; font-size:clamp(6rem,20vw,16rem); line-height:.8; color:rgba(255,255,255,.10); letter-spacing:-.05em; }

/* ═══════════ ÜBER UNS ═══════════ */
.about { display:grid; grid-template-columns:48px 1.4fr 1fr; gap:3rem; padding:8vh var(--px); align-items:start; }
@media(max-width:900px){ .about{ grid-template-columns:1fr; gap:2rem; } .about .eyebrow-v{display:none;} }
.about-prose p { font-size:1.05rem; color:var(--text); line-height:1.9; margin-bottom:1.2rem; }
.about-prose p.dim { color:var(--muted); font-size:1rem; }
.about-prose strong { color:var(--ink); font-weight:700; }
.disclaimer { background:var(--bg-alt); border-left:3px solid var(--primary); border-radius:var(--r-sm); padding:1.2rem 1.4rem; font-size:.85rem; color:var(--muted); line-height:1.7; margin-top:1.6rem; }
.fact-card { background:var(--ink); color:#fff; border-radius:var(--r); overflow:hidden; box-shadow:var(--sh); position:sticky; top:90px; }
.fact-row { display:flex; justify-content:space-between; gap:1rem; padding:1.1rem 1.5rem; border-bottom:1px solid rgba(255,255,255,.08); }
.fact-row:last-child { border-bottom:none; }
.fact-k { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.fact-v { font-size:.9rem; color:#fff; font-weight:600; text-align:right; }
/* oversized stat strip */
.statstrip { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding-inline:var(--px0); }
.statstrip .s { padding:5vh 2vw; border-right:1px solid var(--border); }
.statstrip .s:last-child { border-right:none; }
.statstrip .s .n { font-family:var(--ff-d); font-weight:700; font-size:clamp(2rem,4vw,3.4rem); color:var(--ink); letter-spacing:-.03em; line-height:1; white-space:nowrap; }
.statstrip .s .l { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:.7rem; }
@media(max-width:760px){ .statstrip{grid-template-columns:1fr 1fr;} .statstrip .s:nth-child(2){border-right:none;} }
@media(min-width:601px) and (max-width:960px){ .statstrip .s .n{ font-size:clamp(1.4rem,3.2vw,2.6rem); } }
/* management horizontal */
.mgmt { padding:6vh var(--px) 8vh; display:grid; gap:1.25rem; }
.mgmt-row { display:grid; grid-template-columns:96px 1fr auto; gap:1.6rem; align-items:center; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:1.8rem 2rem; box-shadow:var(--sh); }
.mgmt-av { width:96px; height:96px; border-radius:50%; background:linear-gradient(140deg,var(--primary),var(--accent)); color:#fff; font-family:var(--ff-d); font-weight:700; font-size:1.8rem; display:flex; align-items:center; justify-content:center; }
.mgmt-name { font-family:var(--ff-d); font-weight:600; font-size:1.5rem; color:var(--ink); }
.mgmt-desc { font-size:.9rem; color:var(--muted); line-height:1.65; margin-top:.4rem; max-width:60ch; }
.mgmt-role { font-family:var(--ff-m); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--primary); padding:7px 14px; border-radius:999px; white-space:nowrap; }
@media(max-width:680px){ .mgmt-row{grid-template-columns:64px 1fr; } .mgmt-av{width:64px;height:64px;font-size:1.2rem;} .mgmt-role{grid-column:2;justify-self:start;margin-top:.6rem;} }

/* ═══════════ BETEILIGUNGEN — list rows ═══════════ */
.p-list { padding:5vh var(--px) 8vh; }
.p-row { display:grid; grid-template-columns:96px 1.5fr 2.2fr 1fr 40px; gap:1.6rem; align-items:center; padding:2.1rem 1.2rem; border-top:1px solid var(--border); cursor:pointer; transition:background .2s,padding .2s; position:relative; }
.p-row:last-child { border-bottom:1px solid var(--border); }
.p-row:hover { background:var(--surface); }
.p-row:hover .p-arrow { color:var(--primary); transform:translateX(4px); }
.p-idx { font-family:var(--ff-d); font-weight:700; font-size:2.6rem; color:#7E90A2; line-height:1; transition:color .2s; }
.p-row:hover .p-idx { color:var(--primary); }
.p-name { font-family:var(--ff-d); font-weight:600; font-size:1.5rem; color:var(--ink); letter-spacing:-.01em; }
.p-sector { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; color:var(--primary); text-transform:uppercase; margin-top:.4rem; }
.p-desc { font-size:.9rem; color:var(--muted); line-height:1.65; }
.p-status { display:inline-flex; align-items:center; gap:8px; font-family:var(--ff-m); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.p-arrow { font-family:var(--ff-d); font-size:1.5rem; color:var(--border); transition:all .2s; text-align:right; }
@media(max-width:860px){ .p-row{grid-template-columns:60px 1fr 30px; gap:1rem; } .p-row .p-desc,.p-row .p-status{grid-column:2; } .p-idx{font-size:1.8rem;} .p-name{font-size:1.2rem;} }

/* ═══════════ IR — bento KPI + horizontal cards ═══════════ */
.kpi-bento { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:130px; gap:14px; margin-bottom:3rem; }
.kpi-t { background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:1.5rem; box-shadow:var(--sh); display:flex; flex-direction:column; justify-content:space-between; }
.kpi-t .l { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.kpi-t .v { font-family:var(--ff-d); font-weight:700; font-size:1.7rem; color:var(--ink); letter-spacing:-.02em; line-height:1.1; }
.kpi-t .s { font-size:.7rem; color:var(--muted); }
.kpi-hero { grid-column:span 2; grid-row:span 2; background:linear-gradient(150deg,var(--primary-d),var(--ink)); color:#fff; }
.kpi-hero .l { color:var(--accent-2); }
.kpi-hero .v { color:#fff; font-size:clamp(2.4rem,4vw,3.6rem); }
.kpi-hero .s { color:rgba(255,255,255,.7); }
.kpi-wide { grid-column:span 2; }
.kpi-wide-d { grid-column:span 2; }
@media(max-width:780px){ .kpi-bento{grid-template-columns:1fr 1fr;} .kpi-hero,.kpi-wide{grid-column:span 2;} .kpi-wide-d{grid-column:span 1;} }
.ir-cards { display:grid; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; margin-top:2rem; }
.ir-row { background:var(--surface); display:grid; grid-template-columns:60px 1fr auto; gap:1.4rem; align-items:center; padding:1.6rem 1.8rem; cursor:pointer; transition:background .18s; text-decoration:none; }
.ir-row:hover { background:var(--bg-alt); }
.ir-ic { width:46px; height:46px; border-radius:12px; background:var(--bg-alt); display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.ir-row:hover .ir-ic { background:#fff; }
.ir-t { font-family:var(--ff-d); font-weight:600; font-size:1.1rem; color:var(--ink); }
.ir-d { font-size:.85rem; color:var(--muted); margin-top:.2rem; }
.ir-go { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--primary); white-space:nowrap; }
@media(max-width:680px){ .ir-row{ grid-template-columns:60px 1fr; row-gap:.4rem; } .ir-go{ grid-column:2; justify-self:start; margin-top:.2rem; } }

/* ═══════════ HV — timeline + pill meta ═══════════ */
.hv-meta { display:flex; flex-wrap:wrap; gap:.8rem; padding:5vh var(--px) 0; }
.hv-pill { background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:1rem 1.4rem; box-shadow:var(--sh); }
.hv-pill .l { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.hv-pill .v { font-family:var(--ff-d); font-weight:600; font-size:1.05rem; color:var(--ink); margin-top:.3rem; }
.hv-body { display:grid; grid-template-columns:1fr; padding:8vh var(--px) 6vh; }
.tl { position:relative; margin-top:1.5rem; }
.tl::before { content:''; position:absolute; left:18px; top:8px; bottom:8px; width:2px; background:linear-gradient(var(--primary),var(--border)); }
.tl-item { position:relative; padding:0 0 2.2rem 64px; }
.tl-item::before { content:''; position:absolute; left:11px; top:4px; width:16px; height:16px; border-radius:50%; background:var(--surface); border:3px solid var(--primary); }
.tl-num { font-family:var(--ff-m); font-size:.65rem; color:var(--primary); letter-spacing:.08em; }
.tl-t { font-family:var(--ff-d); font-weight:600; font-size:1.2rem; color:var(--ink); margin:.2rem 0 .3rem; }
.tl-d { font-size:.9rem; color:var(--muted); line-height:1.6; max-width:70ch; }
.hv-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.5rem; padding:0 var(--px); }

/* ═══════════ BERICHTE — ledger ═══════════ */
.doc-filter-bar { padding:1.4rem var(--px); background:var(--surface); border-bottom:1px solid var(--border); display:flex; gap:.65rem; flex-wrap:wrap; position:sticky; top:var(--nav-h); z-index:50; }
.filter-btn { font-family:var(--ff-b); font-size:.75rem; font-weight:700; padding:9px 18px; cursor:pointer; border:1px solid var(--border); border-radius:999px; background:transparent; color:var(--muted); transition:all .16s; }
.filter-btn:hover { border-color:var(--primary); color:var(--primary); }
.filter-btn.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.doc-wrap { padding:4vh var(--px) 8vh; }
table.docs { width:100%; border-collapse:collapse; }
table.docs th { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-align:left; padding:1rem 1rem 1rem 0; border-bottom:2px solid var(--ink); }
table.docs td { padding:1.2rem 1rem 1.2rem 0; font-size:.9rem; border-bottom:1px solid var(--border); vertical-align:middle; }
table.docs tr:hover td { background:var(--surface); }
.badge { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:var(--bg-alt); color:var(--muted); }
.doc-name-link { color:var(--ink); text-decoration:none; font-weight:700; cursor:pointer; }
.doc-name-link:hover { color:var(--primary); }
.doc-dl { font-family:var(--ff-m); font-size:.65rem; color:var(--primary); cursor:pointer; }
.doc-date { font-family:var(--ff-m); font-size:.75rem; color:var(--muted); }

/* ═══════════ GOVERNANCE — editorial numerals ═══════════ */
.gov-wrap { padding:7vh var(--px); }
.gov-intro { font-family:var(--ff-d); font-weight:500; font-size:clamp(1.3rem,2.6vw,2rem); line-height:1.4; color:var(--ink); letter-spacing:-.01em; max-width:66.66%; margin-bottom:4vh; }
.gov-intro span { color:var(--primary); }
.gov-list { display:grid; gap:0; }
.gov-item { display:grid; grid-template-columns:160px 1fr; gap:2.5rem; padding:3rem 0; border-top:1px solid var(--border); align-items:start; }
.gov-item:last-child { border-bottom:1px solid var(--border); }
.gov-bignum { font-family:var(--ff-d); font-weight:700; font-size:clamp(3.5rem,7vw,6rem); line-height:.8; color:var(--primary); letter-spacing:-.04em; }
.gov-t { font-family:var(--ff-d); font-weight:600; font-size:1.5rem; color:var(--ink); margin-bottom:.7rem; }
.gov-d { font-size:.95rem; color:var(--muted); line-height:1.8; max-width:62ch; }
@media(max-width:680px){ .gov-item{grid-template-columns:1fr;gap:.8rem;} .gov-bignum{font-size:3rem;} }
.gov-contact-band { display:grid; grid-template-columns:repeat(2,1fr); padding-inline:var(--px0); background:radial-gradient(ellipse 115% 150% at 0% 0%, var(--primary-d) 0%, var(--ink) 55%); }
.gov-contact-band > div { padding:5vh 3vw 8vh; border-right:1px solid rgba(255,255,255,.1); }
.gov-contact-band > div:last-child { border-right:none; }
.gcl { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:.6rem; }
.gcm { font-family:var(--ff-d); font-size:1.05rem; color:#fff; font-weight:500; }
.gcm a { color:var(--accent-2); text-decoration:none; }
.gcm a:hover { text-decoration:underline; }
@media(max-width:900px){ .gov-contact-band{grid-template-columns:1fr;} .gov-contact-band > div{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);} }

/* ═══════════ KONTAKT ═══════════ */
.contact-layout { display:grid; grid-template-columns:1fr 1.05fr; min-height:calc(100vh - var(--nav-h)); }
@media(max-width:820px){ .contact-layout{grid-template-columns:1fr;} }
.contact-left { padding:10vh 4vw 0 var(--px); position:relative; z-index:1; display:flex; flex-direction:column; }
.contact-left .section-title { font-size:clamp(2.4rem,5vw,4rem); }
.contact-legal { margin-top:auto; padding-top:8vh; padding-bottom:4vh; display:flex; gap:1.4rem; align-items:center; justify-content:center; }
.contact-legal a { font-family:var(--ff-m); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); text-decoration:none; cursor:pointer; transition:color .18s; }
.contact-legal a:hover { color:rgba(255,255,255,.8); }
.contact-legal-sep { font-family:var(--ff-m); font-size:.65rem; color:rgba(255,255,255,.25); }
.c-lines { margin-top:2.5rem; }
.c-line { padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.12); display:flex; gap:1.2rem; align-items:flex-start; }
.c-line:last-child { border-bottom:none; }
.c-label { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.72); min-width:130px; padding-top:.15rem; }
.c-val { font-size:.9rem; color:rgba(255,255,255,.92); }
.c-val a { color:var(--accent-2); text-decoration:none; }
.c-val a:hover { text-decoration:underline; }
.contact-right { background:var(--surface); padding:10vh var(--px) 10vh 4vw; display:flex; flex-direction:column; justify-content:center; }
.form-group { margin-bottom:1.3rem; }
.form-label { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:.5rem; }
.form-input,.form-select,.form-textarea { width:100%; background:var(--bg); border:1px solid var(--border); color:var(--text); font-family:var(--ff-b); font-size:.9rem; padding:13px 15px; border-radius:var(--r-sm); outline:none; transition:border-color .18s,box-shadow .18s; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(19,102,181,.12); }
.form-textarea { resize:vertical; min-height:120px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-note { font-size:.8rem; color:var(--muted); margin-top:.5rem; }

/* ═══════════ LEGAL ═══════════ */
.legal-page { padding:8vh var(--px); }
.legal-page h1 { font-family:var(--ff-d); font-size:2.6rem; color:var(--ink); font-weight:700; letter-spacing:-.03em; margin-bottom:2rem; }
.legal-page h2 { font-family:var(--ff-d); font-size:1.25rem; color:var(--ink); font-weight:600; margin:2rem 0 .6rem; }
.legal-page p,.legal-page li { font-size:.9rem; color:var(--muted); line-height:1.85; margin-bottom:.6rem; }
.legal-page h3 { font-family:var(--ff-d); font-size:1rem; color:var(--ink); font-weight:600; margin:1.5rem 0 .4rem; }
.legal-page ul { padding-left:1.5rem; }
.legal-page h2 { scroll-margin-top:calc(var(--nav-h) + 1.5rem); }
.legal-main { max-width:1040px; }
.legal-main a { color:var(--primary); text-decoration:none; }
.legal-main a:hover { text-decoration:underline; }
@media(min-width:1200px){
  .legal-page { display:flex; align-items:flex-start; gap:4rem; }
  .legal-main { flex:1 1 auto; min-width:0; max-width:1040px; }
}

/* ═══════════ FOOTER ═══════════ */
.site-footer { background:var(--ink); padding:6vh var(--px) 4vh; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; padding-bottom:4vh; }
@media(max-width:680px){ .footer-top{grid-template-columns:1fr;gap:1.5rem;} .footer-col{ padding-left:1.25rem; } }
.footer-brand { font-family:var(--ff-d); font-weight:700; font-size:2rem; color:#fff; letter-spacing:-.03em; }
.footer-brand .plus { color:var(--accent-2); }
.footer-tag { font-size:.85rem; color:rgba(255,255,255,.55); margin-top:.6rem; max-width:34ch; line-height:1.6; }
.footer-col h4 { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:1rem; }
.footer-col a { display:block; font-size:.85rem; color:rgba(255,255,255,.7); text-decoration:none; cursor:pointer; padding:.3rem 0; transition:color .18s; }
.footer-col a:hover { color:var(--accent-2); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem 1rem; padding-top:3vh; }
.footer-copy { font-family:var(--ff-m); font-size:.7rem; color:rgba(255,255,255,.62); }
.footer-copy a { color:var(--accent-2); text-decoration:none; transition:color .18s; }
.footer-copy a:hover { text-decoration:underline; }

.footer-credit { font-family:var(--ff-b); font-size:.7rem; font-style:italic; color:rgba(255,255,255,.62); text-align:center; order:3; width:100%; margin-top:.6rem; }
.footer-credit a { color:var(--accent-2); text-decoration:none; }
.footer-credit a:hover { text-decoration:underline; }
.footer-rule { flex:1 1 2rem; height:1px; background:rgba(255,255,255,.1); align-self:center; }
/* ═══════════ MODAL ═══════════ */
.modal-overlay { display:none; position:fixed; inset:0; z-index:800; background:rgba(8,18,30,.62); backdrop-filter:blur(6px); align-items:center; justify-content:center; padding:1rem; }
.modal-overlay.open { display:flex; }
.modal-box { background:var(--surface); width:min(720px,96vw); max-height:88vh; overflow-y:auto; position:relative; border-radius:var(--r); box-shadow:var(--sh-lg); }
.modal-header { background:linear-gradient(150deg,var(--primary-d),var(--ink)); padding:1.8rem 2rem; display:flex; align-items:flex-start; justify-content:space-between; }
.modal-title { font-family:var(--ff-d); font-weight:700; font-size:1.6rem; color:#fff; letter-spacing:-.02em; }
.modal-sub { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; color:var(--accent-2); text-transform:uppercase; margin-top:.4rem; }
.modal-close { background:rgba(255,255,255,.14); border:none; color:rgba(255,255,255,.9); width:34px; height:34px; border-radius:10px; font-size:1rem; cursor:pointer; transition:background .18s; }
.modal-close:hover { background:rgba(255,255,255,.26); }
.modal-body { padding:2rem; }
.modal-section { margin-bottom:1.7rem; }
.modal-section-title { font-family:var(--ff-m); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--primary); margin-bottom:.7rem; border-bottom:1px solid var(--border); padding-bottom:.5rem; }
.modal-body p,.modal-body li { font-size:.9rem; color:var(--text); line-height:1.8; }
.modal-body ul { padding-left:1.4rem; }
.modal-actions { padding:1.2rem 2rem 1.8rem; display:flex; gap:1rem; border-top:1px solid var(--border); flex-wrap:wrap; }

@media(min-width:961px){ .bt-feat .bt-name{font-size:2.2rem;} .bt-feat .bt-desc{font-size:.95rem;max-width:48ch;} .bento>*:nth-child(5){order:1;} .bento>*:nth-child(7){order:2;} }
@media(max-width:960px){
  .hero{grid-template-columns:1fr;} .hero-left,.hero-rail{grid-column:auto;} .hero-rail{display:grid;grid-template-columns:1fr 1fr;gap:0;border-left:none;border-top:1px solid var(--border);position:relative;}
  .hero-rail .rail-item{border-bottom:none;padding:1.6rem 1.4rem;}
  .hero-rail::before,.hero-rail::after{content:'';position:absolute;pointer-events:none;}
  .hero-rail::before{top:30px;bottom:30px;left:50%;width:1px;transform:translateX(-50%);background:linear-gradient(to bottom,var(--border) 0 calc(50% - 34px),transparent calc(50% - 34px) calc(50% + 34px),var(--border) calc(50% + 34px) 100%);}
  .hero-rail::after{left:34px;right:34px;top:50%;height:1px;transform:translateY(-50%);background:linear-gradient(to right,var(--border) 0 calc(50% - 34px),transparent calc(50% - 34px) calc(50% + 34px),var(--border) calc(50% + 34px) 100%);}
  .split{grid-template-columns:1fr;} .split > div,.split > div:first-child{grid-column:auto;}
}
@media(min-width:601px) and (max-width:960px){
  .bento{grid-template-columns:1fr 1fr;}
  .bento>*:nth-child(1){grid-column:1;grid-row:1 / span 2;}
  .bento>*:nth-child(2){grid-column:2;grid-row:1;} .bento>*:nth-child(3){grid-column:2;grid-row:2;}
  .bento>*:nth-child(4){grid-column:1;grid-row:3;} .bento>*:nth-child(5){grid-column:2;grid-row:3;}
  .bento>*:nth-child(6){grid-column:1;grid-row:4;} .bento>*:nth-child(7){grid-column:2;grid-row:4;}
}
@media(max-width:900px){
  .nav-links{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--surface);flex-direction:column;padding:1rem 4vw;gap:.25rem;border-bottom:1px solid var(--border);box-shadow:var(--sh);}
  .nav-links.open{display:flex;} .nav-links a{padding:.7rem 0;width:100%;} .nav-burger{display:block;}
}
@media(max-width:600px){ .hero-btns{ display:flex; flex-direction:column; align-items:stretch; width:max-content; max-width:100%; gap:1rem; } .hero-btns > .btn{ width:100%; } .mgmt-name{ font-size:1.2rem; } .hv-meta{ flex-direction:column; } .hv-pill{ width:100%; } .gov-intro{ max-width:100%; } .bento{grid-template-columns:1fr;} .bento>*{grid-column:1 !important;grid-row:auto !important;} .bento>*:nth-child(1){order:1;} .bento>*:nth-child(2){order:4;} .bento>*:nth-child(3){order:5;} .bento>*:nth-child(4){order:2;} .bento>*:nth-child(5){order:6;} .bento>*:nth-child(6){order:3;} .bento>*:nth-child(7){order:7;} .form-row{grid-template-columns:1fr;} }

/* Kontaktformular: Honeypot (vor Menschen verborgen) + Datenschutz-Einwilligung */
.hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-consent { margin-top:1rem; }
.form-check { display:flex; gap:.6rem; align-items:flex-start; font-family:var(--ff-b); font-size:.8rem; line-height:1.45; color:var(--muted); cursor:pointer; }
.form-check input { margin-top:.15rem; flex:0 0 auto; width:16px; height:16px; accent-color:var(--primary); cursor:pointer; }
.form-check a { color:var(--primary); text-decoration:underline; text-underline-offset:2px; }
