:root { color-scheme: light; --ink:#242424; --muted:#626262; --line:#d9d9d9; --red:#9e1420; --paper:#fff; --soft:#f5f5f2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.65; }
a { color:var(--red); text-underline-offset:3px; }
a:hover { text-decoration-thickness:2px; }
button, input, select, textarea { font:inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #b47a00; outline-offset:4px; }
button { cursor:pointer; }
button:disabled { cursor:default; }
[hidden] { display:none !important; }
.wrap { width:min(100% - 3rem, 1080px); margin-inline:auto; }
.skip-link { position:absolute; left:1rem; top:-100px; background:white; padding:.6rem; z-index:50; }
.skip-link:focus { top:1rem; }
.review-banner { background:#fff7df; border-bottom:1px solid #e6d9b0; padding:.6rem 0; font-size:.85rem; }
.review-banner .wrap { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.site-header { border-bottom:1px solid var(--line); }
.header-inner { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; padding-block:1rem; }
.brand { font-weight:700; font-size:1.05rem; color:var(--ink); text-decoration:none; white-space:nowrap; }
.site-nav { display:flex; align-items:center; flex-wrap:wrap; gap:.9rem; font-size:.9rem; }
.site-nav > a, .nav-group > a { text-decoration:none; color:var(--ink); padding:.4rem 0; }
.site-nav [aria-current=page] { color:var(--red); text-decoration:underline; }
.site-nav .is-active { color:var(--red); text-decoration:underline; }
.nav-group { position:relative; display:flex; align-items:center; gap:.1rem; }
.dropdown-toggle { border:0; background:transparent; min-width:30px; min-height:40px; color:var(--ink); padding:0 .35rem; }
.dropdown { position:absolute; top:100%; left:-.75rem; z-index:10; background:white; border:1px solid var(--line); border-radius:3px; box-shadow:0 4px 12px #00000010; padding:.5rem; margin:0; min-width:205px; list-style:none; }
.dropdown a { display:block; color:var(--ink); padding:.4rem .6rem; text-decoration:none; }
.dropdown a:hover { background:var(--soft); }
.language { display:flex; align-items:center; gap:.35rem; font-size:.78rem; }
.language button { border:0; background:transparent; color:#777; padding:.25rem; }
.language .active { font-weight:bold; }
.menu-toggle { display:none; padding:.45rem .8rem; background:white; border:1px solid var(--line); border-radius:3px; }
main { padding-block:2.5rem 4rem; min-height:65vh; }
h1,h2,h3,h4 { line-height:1.25; letter-spacing:-.015em; }
h1 { font-size:clamp(2rem,4vw,2.7rem); margin:.3rem 0 1rem; }
h2 { font-size:1.7rem; margin-top:0; }
h3 { font-size:1.18rem; }
h4 { font-size:1.05rem; }
p, ul, ol, dl { margin-block:.7rem 1rem; }
.lead { font-size:1.18rem; max-width:760px; }
.eyebrow { font-size:.8rem; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); margin-bottom:.4rem; }
.meta { font-size:.88rem; color:var(--muted); }
.page-intro { max-width:850px; padding-bottom:1.3rem; }
.page-intro nav { display:flex; gap:.65rem; flex-wrap:wrap; }
.hero { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:2rem; padding:.5rem 0 2.5rem; }
.initiative-logo { display:block; width:100%; height:190px; object-fit:cover; object-position:center; }
.content-section { padding-block:2.5rem; border-top:1px solid var(--line); }
.content-section > p { max-width:850px; }
.actions { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; margin-top:1.3rem; }
.button { display:inline-block; padding:.55rem .9rem; border:1px solid var(--red); border-radius:3px; text-decoration:none; background:var(--red); color:white; }
.button.secondary { color:var(--red); background:white; }
.button:disabled { color:#777; background:#eee; border-color:#ccc; }
.cards { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.2rem; }
.cards.founders { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:850px; }
.cards.partners { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { border:1px solid var(--line); border-radius:3px; padding:1.25rem; background:white; min-width:0; }
.card h3 { margin-top:.4rem; }
.card p:last-child { margin-bottom:0; }
.portrait { width:100%; height:290px; object-fit:cover; object-position:50% 28%; border-radius:2px; display:block; margin-bottom:1.2rem; }
.partner-logo { max-width:210px; height:65px; object-fit:contain; object-position:left center; margin-bottom:1rem; }
.partner-logo.lund-logo { height:130px; width:auto; }
.profile-layout { display:grid; grid-template-columns:280px minmax(0,1fr); align-items:start; gap:2.5rem; }
.profile-portrait { width:100%; height:auto; border-radius:3px; }
.profile-layout section { margin-bottom:2rem; }
.profile-layout h2 { font-size:1.35rem; }
.placeholder { background:var(--soft); border-style:dashed; }
.work-grid h2 { font-size:1.25rem; }
.breadcrumbs { margin:0 0 1.5rem; font-size:.85rem; color:var(--muted); }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.4rem; padding:0; margin:0; list-style:none; }
.breadcrumbs li + li::before { content:'›'; margin-right:.4rem; }
.principle-overview-list { list-style:none; padding:0; margin:0; }
.principle-overview-list li { padding:1rem 0; border-bottom:1px solid var(--line); }
.principle-overview-list h3 { margin:.2rem 0 .5rem; }
.principle-overview-list p { margin:0; max-width:850px; }
.chapter-tools { display:flex; gap:1rem; flex-wrap:wrap; padding:1rem 0; margin:1.5rem 0 2rem; border-top:1px solid var(--line); font-size:.88rem; }
.publication-meta { display:grid; grid-template-columns:minmax(160px,230px) 1fr; gap:.25rem 1rem; margin:1.2rem 0; font-size:.9rem; }
.status-label { font-size:.85rem; font-weight:bold; color:var(--muted); }
.cards.work-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
.table-scroll { overflow-x:auto; }
.edition-table { min-width:650px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr); gap:2.5rem; }
.address-card { padding:1.3rem; border:1px solid var(--line); }
.address-card h2 { font-size:1.25rem; }
address { font-style:normal; }
.partner-list, .event-details { display:grid; grid-template-columns:minmax(150px,250px) 1fr; gap:.5rem 1.4rem; }
dt { font-weight:bold; }
dd { margin:0; }
.notice { border-left:3px solid #c38a0a; padding:.75rem 1rem; background:#faf7ed; }
.reader-layout { display:grid; grid-template-columns:255px minmax(0,1fr); gap:2rem; align-items:start; margin-top:2rem; }
.reader-toc { position:sticky; top:1rem; border:1px solid var(--line); padding:1rem; max-height:85vh; overflow:auto; font-size:.86rem; }
.reader-toc summary { font-weight:bold; cursor:pointer; }
.reader-toc ol { padding-left:1.3rem; }
.reader-toc li { margin-bottom:.6rem; }
.reader-body { max-width:760px; min-width:0; }
.reader-body h2 { margin-top:2.4rem; }
.reader-body h3 { margin-top:1.7rem; }
.reader-body p { overflow-wrap:break-word; }
.source-cover { border:1px solid var(--line); padding:1rem; margin-bottom:2rem; font-size:.9rem; }
.source-cover p { margin:.3rem 0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; max-width:760px; }
.field { display:flex; flex-direction:column; gap:.3rem; }
.field.full { grid-column:1 / -1; }
label { font-weight:bold; font-size:.9rem; }
input, select, textarea { width:100%; border:1px solid #b6b6b6; background:white; padding:.6rem .7rem; border-radius:3px; color:var(--ink); }
textarea { min-height:150px; resize:vertical; }
.field small { color:var(--muted); }
.form-status { max-width:760px; margin-top:1rem; }
table { border-collapse:collapse; width:100%; max-width:850px; font-size:.95rem; }
caption { text-align:left; font-size:.85rem; color:var(--muted); padding:.5rem 0 1rem; }
th, td { text-align:left; border-bottom:1px solid var(--line); padding:.75rem; vertical-align:top; }
thead { background:var(--soft); }
.site-footer { background:var(--soft); border-top:1px solid var(--line); padding-block:1.7rem; font-size:.86rem; }
.footer-inner { display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.footer-inner p { margin:0; }
@media(max-width:900px) { .header-inner { gap:1rem; } .site-nav { width:100%; gap:1rem; } .cards { grid-template-columns:1fr; } .reader-layout { grid-template-columns:220px minmax(0,1fr); gap:1.2rem; } }
@media(max-width:640px) { .wrap { width:min(100% - 2rem,1080px); } .header-inner { min-height:76px; } .menu-toggle { display:block; } .site-nav { display:none; align-items:flex-start; flex-direction:column; gap:.5rem; } .site-nav[data-open=true] { display:flex; } .nav-group { width:100%; flex-wrap:wrap; } .dropdown { position:static; width:100%; box-shadow:none; margin-top:.3rem; } .language { margin-left:auto; } .hero { grid-template-columns:1fr; gap:1rem; } .initiative-logo { width:100%; max-width:400px; height:155px; } .cards.founders, .cards.partners { grid-template-columns:1fr; } .portrait { height:320px; } .content-section { padding-block:2rem; } .partner-list,.event-details { grid-template-columns:1fr; gap:.25rem; } dd { margin-bottom:.6rem; } .reader-layout { grid-template-columns:1fr; } .reader-toc { position:static; max-height:none; } .form-grid { grid-template-columns:1fr; } .field { grid-column:1; } th,td { padding:.65rem .4rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .site-header,.review-banner,.site-footer,.reader-toc,.actions,.contact-demo { display:none; } main { padding:0; } .wrap { width:100%; } .reader-layout { display:block; } .reader-body { max-width:none; } .content-section { break-inside:avoid; } a { color:inherit; } }
@media(max-width:760px) { .profile-layout,.contact-layout { grid-template-columns:1fr; } .profile-portrait { max-width:340px; } }
@media(max-width:640px) { .cards.work-preview { grid-template-columns:1fr; } .publication-meta { grid-template-columns:1fr; } .publication-meta dd { margin-bottom:.6rem; } }
