/* Leodor Ventures, site styles v3. One calm column, max 1000px; navy frame (nav, hero, footer), content on light blue-grey */

/* Self-hosted fonts (SIL Open Font License 1.1, see /fonts/OFL-*.txt). Variable WOFF2, subsets latin + latin-ext */
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-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:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-ext-opsz-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-opsz-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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
 --bg:#f4f7fb;--soft:#e7eef6;--ink:#14263d;--body:#34445a;--muted:#5a6a7e;--accent:#1f4e79;--accent-soft:#dbe6f2;--line:#d3dde8;
 --navy:#14304f;--navy-2:#1c3d63;--on-navy:#ffffff;--on-navy-text:#e3ebf4;--on-navy-muted:#b9cbe0;--on-navy-accent:#9fc0e3;--on-navy-line:rgba(255,255,255,.16);--navbg:rgba(20,48,79,.97);
 --serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
 --navh:64px;
}
/* Deliberately light-only: the site always shows the bright version, also on devices set to dark mode */
:root,:root[data-theme="dark"]{color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:var(--sans);color:var(--body);background:var(--bg);font-size:18px;line-height:1.65}
h1,h2,h3,p,ul{margin:0}
b,strong{color:var(--ink)}
a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Jump targets land below the sticky navigation */
[id]{scroll-margin-top:calc(var(--navh) + 16px)}
.wrap{max-width:1000px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}

/* Skip link: hidden until focused */
.skip{position:absolute;left:12px;top:-100px;z-index:20;background:#fff;color:var(--navy);font:600 15px var(--sans);padding:10px 16px;border-radius:4px;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.skip:focus{top:12px;outline:2px solid var(--on-navy);outline-offset:2px}
main:focus{outline:none}

body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--navy)}
nav.top{position:sticky;top:env(safe-area-inset-top,0px);background:var(--navbg);backdrop-filter:blur(6px);border-bottom:1px solid var(--on-navy-line);z-index:5}
nav.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:var(--navh)}
.brand{display:flex;flex-direction:column;line-height:1.2;text-decoration:none;min-width:0}
.brand b{font-weight:600;font-size:17px;color:var(--on-navy);white-space:nowrap}
.brand small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-accent);font-weight:600;white-space:nowrap}
.right{display:flex;align-items:center;gap:20px}
.links{display:flex;gap:22px}
.links a{color:var(--on-navy-muted);text-decoration:none;font-size:15px}
.links a:hover{color:var(--on-navy)}
/* Subtle contact button in the header bar */
.navcta{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--on-navy-line);border-radius:6px;color:var(--on-navy);text-decoration:none;font:600 14px var(--sans);white-space:nowrap}
.navcta:hover{background:rgba(255,255,255,.08)}
/* Language switch: plain links, 44px touch targets */
.lang{display:flex;border:1px solid var(--on-navy-line);border-radius:6px;overflow:hidden}
.lang a{display:inline-flex;align-items:center;justify-content:center;font:600 13px var(--sans);letter-spacing:.06em;color:var(--on-navy-muted);text-decoration:none;min-width:44px;min-height:44px;padding:0 10px}
.lang a:hover{color:var(--on-navy)}
.lang a[aria-current="page"]{background:var(--on-navy);color:var(--navy)}
nav.top a:focus-visible,header a:focus-visible,footer a:focus-visible{outline-color:var(--on-navy)}

header.hero-band{padding-block:80px 56px;background:linear-gradient(180deg,var(--navy),var(--navy-2))}
.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:center}
.hero>div{min-width:0}
.kicker{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-navy-accent);font-weight:600}
h1{font-family:var(--serif);font-weight:600;font-size:54px;line-height:1.06;margin:12px 0 20px;letter-spacing:-.01em;color:var(--on-navy);text-wrap:balance}
.lead{font-size:21px;line-height:1.55;color:var(--on-navy-text);max-width:34em}
.lead strong{font-weight:600;color:var(--on-navy)}
.lead2{margin-top:14px;font-size:18px;color:var(--on-navy-muted);max-width:36em}
.portrait{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border-top:1px solid var(--on-navy-line);border-bottom:1px solid var(--on-navy-line)}
.fact{padding:22px 20px 22px 0;min-width:0}
.fact+.fact{padding-left:20px;border-left:1px solid var(--on-navy-line)}
.num{font-family:var(--serif);font-size:38px;font-weight:600;color:var(--on-navy);line-height:1.1;font-variant-numeric:tabular-nums}
.fact span{display:block;font-size:14.5px;color:var(--on-navy-muted);margin-top:6px;line-height:1.4}

section{padding-block:64px}
section.soft{background:var(--soft)}
h2{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:28px}
h2.sub{margin-top:48px}
.title{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.15;color:var(--ink);letter-spacing:-.005em;margin:-12px 0 36px;max-width:22em;text-wrap:balance}
.story{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.story>div{border-top:3px solid var(--accent);padding-top:14px;min-width:0}
.story h3{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);line-height:1.25;margin-bottom:8px}
.story p{font-size:16.5px}
.yrs{display:block;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-variant-numeric:tabular-nums}
.backers{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline}
.backers small{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.backers span{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--ink)}
.today{margin-top:32px}
.today2{margin-top:6px}
.firm{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start}
.firm>div{min-width:0}
.firm h3{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1.18;color:var(--ink);text-wrap:balance}
.firm .meta{color:var(--muted);font-size:15px;margin-top:10px}
.firm p+p{margin-top:14px}
.portfolio{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:14px;padding:16px 0 0;border-top:1px solid var(--line);list-style:none}
.portfolio li{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);line-height:1.5}
.portfolio li:not(:last-child)::after{content:"·";color:var(--muted);font-weight:400;margin:0 12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.item{padding:16px 0;border-top:1px solid var(--line);min-width:0}
.item b{display:block;font-weight:600;margin-bottom:4px}
.item span{font-size:16.5px}
ul.plain{list-style:none;padding:0}
ul.plain li{padding:13px 0;border-top:1px solid var(--line)}
ul.plain li:first-child{border-top:none}
.contact .mail{font-weight:600;color:var(--accent);user-select:all}
.contact .where{color:var(--muted);margin-top:8px}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:4px;font:600 15px var(--sans);text-decoration:none;cursor:pointer;border:1px solid var(--accent)}
.btn.primary{background:var(--accent);color:#fff}
.btn.ghost{background:transparent;color:var(--accent)}
.btn:hover{filter:brightness(1.08)}
.print-only{display:none}

footer{background:var(--navy);color:var(--on-navy-muted);padding-block:28px 40px;font-size:14px}
footer p+p{margin-top:8px}
footer a{color:var(--on-navy)}
footer .flinks{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:10px}
footer .flinks a{display:inline-flex;align-items:center;min-height:32px}

/* Legal pages */
.legal-head{padding-block:56px 40px;background:linear-gradient(180deg,var(--navy),var(--navy-2))}
.legal-head h1{font-size:44px;margin:10px 0 0}
.legal-head .back{display:inline-flex;align-items:center;min-height:44px;color:var(--on-navy-muted);text-decoration:none;font-size:15px}
.legal-head .back:hover{color:var(--on-navy)}
.legal{padding-block:48px 64px}
.legal .wrap{max-width:780px;margin-left:max(0px,calc((100% - 1000px)/2))}
.legal-body{overflow-wrap:anywhere}
.legal-body h2{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1.3;margin:40px 0 12px}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ink);margin:28px 0 8px;line-height:1.3}
.legal-body p,.legal-body ul,.legal-body ol,.legal-body address{margin:0 0 14px}
.legal-body address{font-style:normal}
.legal-body ul,.legal-body ol{padding-left:22px}
.legal-body li+li{margin-top:6px}
.legal-body table{border-collapse:collapse;width:100%;font-size:16px;margin:0 0 14px;display:block;overflow-x:auto}
.legal-body th,.legal-body td{border-top:1px solid var(--line);padding:8px 12px 8px 0;text-align:left;vertical-align:top}
.legal-body .stand{color:var(--muted);font-size:15px;margin-top:32px}
.legal-back{margin-top:40px}

@media (max-width:820px){
 body{font-size:17px}
 .links{display:none}
 header.hero-band{padding-block:44px 36px}
 .hero,.firm{grid-template-columns:1fr;gap:28px}
 .portrait{max-width:240px;order:-1}
 h1{font-size:40px}
 .lead{font-size:19px}
 .facts{grid-template-columns:1fr 1fr;margin-top:36px}
 .fact,.fact+.fact{padding:18px 12px 18px 0;border-left:0}
 .fact:nth-child(even){padding-left:16px;border-left:1px solid var(--on-navy-line)}
 .fact:nth-child(n+3){border-top:1px solid var(--on-navy-line)}
 .num{font-size:32px}
 .story,.grid2{grid-template-columns:1fr;gap:24px}
 .grid2{gap:0}
 section{padding-block:44px}
 .title{font-size:27px;margin-bottom:28px}
 .portfolio li{font-size:18px}
 .legal-head{padding-block:36px 28px}
 .legal-head h1{font-size:34px}
 .legal{padding-block:36px 48px}
}
@media (max-width:420px){
 .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
 nav.top .wrap{gap:8px}
 .right{gap:8px}
 .brand b{font-size:15px}
 .brand small{font-size:10.5px;letter-spacing:.1em}
 .navcta{padding:0 10px;font-size:13px}
 .lang a{padding:0 6px}
 h1{font-size:36px}
 .legal-head h1{font-size:30px}
}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Print: A4, light paper, dark text, no navigation or buttons */
@page{size:A4;margin:12mm 13mm}
@media print{
 :root{--ink:#111;--body:#222;--muted:#555;--accent:#1f4e79;--line:#c9d2dc}
 html,body{background:#fff!important;color:var(--body);font-size:9.6pt;line-height:1.42}
 body::before,nav.top,.skip,.lang,.navcta,.cta,.legal-back,.legal-head .back{display:none!important}
 .wrap{max-width:none;padding:0!important;margin:0!important}
 a{color:inherit;text-decoration:none}
 header.hero-band,.legal-head{background:none!important;padding:0 0 3mm;color:var(--body)}
 .hero{grid-template-columns:1fr 30mm;gap:8mm;align-items:start}
 .portrait{max-width:30mm;order:0;box-shadow:none;border-radius:2px}
 .kicker{color:var(--accent);font-size:7.5pt}
 h1{color:var(--ink);font-size:22pt;margin:1mm 0 2mm}
 .lead{color:var(--body);font-size:10.5pt;max-width:none}
 .lead strong{color:var(--ink)}
 .lead2{color:var(--muted);font-size:9.6pt;margin-top:1.5mm;max-width:none}
 .facts{grid-template-columns:repeat(4,1fr)!important;margin-top:4mm;border-color:var(--line)}
 .fact,.fact+.fact,.fact:nth-child(even),.fact:nth-child(n+3){padding:2mm 3mm;border-top:0;border-left:1px solid var(--line)}
 .fact:first-child{border-left:0;padding-left:0}
 .num{color:var(--accent);font-size:15pt}
 .fact span{color:var(--muted);font-size:8pt;margin-top:.5mm}
 section,section.soft{background:none!important;padding:3.5mm 0 0}
 h2{color:var(--accent);font-size:7.5pt;margin-bottom:2.5mm}
 h2.sub{margin-top:3.5mm}
 .title{font-size:12pt;margin:-1mm 0 3mm;max-width:none}
 .story{grid-template-columns:repeat(3,1fr)!important;gap:5mm}
 .story>div{border-top-width:2px;padding-top:1.5mm}
 .story h3{font-size:11pt;margin-bottom:1mm}
 .story p,.item span{font-size:8.6pt}
 .yrs{font-size:7pt;margin-bottom:.5mm}
 .backers{margin-top:3mm;padding-top:2mm;gap:1mm 5mm}
 .backers small{font-size:7pt}
 .backers span{font-size:10pt}
 .today{margin-top:2.5mm}
 .today2{margin-top:.5mm}
 .firm{grid-template-columns:1fr 1.6fr!important;gap:6mm}
 .firm h3{font-size:12pt}
 .firm .meta{font-size:8.5pt;margin-top:1mm}
 .firm p+p{margin-top:1.5mm}
 .portfolio{margin-top:1.5mm;padding-top:1.5mm;gap:0}
 .portfolio li{font-size:9.5pt;line-height:1.4}
 .portfolio li:not(:last-child)::after{margin:0 2mm}
 .grid2{grid-template-columns:1fr 1fr!important;gap:0 6mm}
 .item{padding:1.5mm 0}
 .item b{margin-bottom:0}
 ul.plain li{padding:1.2mm 0}
 #talks .title,#vortraege .title,#roles .title,#schwerpunkte .title{display:none}
 .contact .title{display:none}
 .contact .mail{color:var(--ink)}
 .contact .where{margin-top:1mm}
 .print-only{display:block}
 .story>div,.item,.fact,ul.plain li,.firm>div,.backers,.contact,.legal-body h3,.legal-body p{break-inside:avoid}
 h2,h3{break-after:avoid}
 footer{background:none!important;color:var(--muted);padding:3mm 0 0;margin-top:3mm;border-top:1px solid var(--line);font-size:7.5pt}
 footer a{color:var(--muted)}
 footer .flinks{display:none}
 footer p+p{margin-top:.5mm}
 .legal{padding:3mm 0 0}
 .legal .wrap{max-width:none}
 .legal-head h1{font-size:18pt;margin:0}
 .legal-body h2{font-size:11.5pt;margin:5mm 0 2mm;color:var(--ink)}
 .legal-body h3{font-size:10.5pt;margin:3mm 0 1mm}
 .legal-body p,.legal-body ul,.legal-body ol,.legal-body address{margin:0 0 2mm}
}
