@font-face{font-family:Merriweather;src:url('./assets/fonts/merriweather-latin.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:Nunito;src:url('./assets/fonts/nunito-latin.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}
:root{
  --font-display:Merriweather,Georgia,serif;--font-body:Nunito,system-ui,sans-serif;
  --text-xs:.75rem;--text-sm:.875rem;--text-base:clamp(1rem,.97rem + .12vw,1.1rem);--text-lg:clamp(1.125rem,1.04rem + .4vw,1.375rem);--text-xl:clamp(1.65rem,1.2rem + 1.3vw,2.25rem);--text-hero:clamp(2rem,1.35rem + 2vw,3.2rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --color-bg:oklch(97.3% .006 100);--color-surface:oklch(99.6% .002 100);--color-surface-offset:oklch(94.6% .011 130);--color-text:oklch(24% .025 190);--color-text-muted:oklch(45% .02 170);--color-primary:oklch(40% .065 163);--color-primary-hover:oklch(29% .055 163);--color-border:oklch(24% .025 190 / .16);
  --color-on-primary:#fafbf6;--color-deep:#173e33;--radius-sm:3px;--content-wide:1280px;--gutter:clamp(var(--space-5),4vw,var(--space-16));
}
:root[data-theme=dark]{--color-bg:oklch(20% .016 168);--color-surface:oklch(23% .018 168);--color-surface-offset:oklch(27% .018 168);--color-text:oklch(92% .009 110);--color-text-muted:oklch(75% .017 145);--color-primary:oklch(79% .07 155);--color-primary-hover:oklch(88% .055 155);--color-border:oklch(92% .009 110 / .2);--color-on-primary:oklch(18% .025 163);--color-deep:#15372e}
.container{width:min(100% - var(--gutter)*2,var(--content-wide));margin-inline:auto}
.section{padding-block:clamp(var(--space-16),7vw,var(--space-24))}
section[id],article[id]{scroll-margin-top:7rem}
.eyebrow,.meta{font-size:var(--text-xs);font-weight:800;letter-spacing:.14em;line-height:1.5}
.eyebrow{color:var(--color-primary);margin-bottom:var(--space-5)}
h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.035em;line-height:1.28}
h2{font-size:var(--text-xl)}
h3{font-size:var(--text-lg);line-height:1.35;font-weight:750}
.skip-link{position:fixed;top:var(--space-4);left:var(--space-4);z-index:100;background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-3) var(--space-5);transform:translateY(-200%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;background:var(--color-bg);border-bottom:1px solid var(--color-border)}
.header-inner{width:min(100% - var(--gutter)*2,1440px);min-height:100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.brand{display:block;text-decoration:none;flex-shrink:0;width:350px}
.wordmark{width:100%;height:auto;background:transparent}
.wordmark-dark{display:none}
[data-theme=dark] .wordmark-light{display:none}
[data-theme=dark] .wordmark-dark{display:block}
.main-nav{display:flex;gap:var(--space-5);align-items:center}
.main-nav a{font-size:var(--text-sm);text-decoration:none;font-weight:650;white-space:nowrap;padding-block:var(--space-3);position:relative}
.main-nav a::after{content:"";height:1px;position:absolute;left:0;bottom:var(--space-2);right:0;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}
.header-tools{display:flex;gap:var(--space-2);align-items:center}
.theme-toggle,.menu-toggle{border:0;background:none;min-width:44px;min-height:44px;padding:var(--space-2);font-size:var(--text-xs);font-weight:700}
.theme-toggle{display:flex;align-items:center;gap:var(--space-2)}
.theme-dot{display:block;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.theme-label{display:none}
.menu-toggle{display:none}
.hero{padding-top:var(--space-16);padding-bottom:var(--space-20);display:grid;grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);gap:clamp(var(--space-8),4vw,var(--space-16));align-items:start}
.hero .eyebrow{margin-top:var(--space-2);margin-bottom:var(--space-6)}
h1{font-size:clamp(1.75rem,3.05vw,2.75rem);line-height:1.35;letter-spacing:-.045em}
.hero-line{display:block;text-wrap:balance}
.hero-result{color:var(--color-primary)}
.hero-intro{margin-top:var(--space-6);max-width:60ch;color:var(--color-text-muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:50px;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:750;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-sm);transition:background .2s,color .2s,transform .2s}
.button span{font-size:var(--text-lg);line-height:1}
.button-primary{background:var(--color-primary);color:var(--color-on-primary)}
.button-primary:hover{background:var(--color-primary-hover)}
.button-person{background:transparent;border-color:var(--color-border)}
.button-person:hover{background:var(--color-surface-offset)}
.button:active{transform:translateY(1px)}
.direct-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}
.direct-links a{padding-block:var(--space-1)}
.hero-portrait{margin-top:var(--space-2)}
.portrait-frame{overflow:hidden;border-radius:var(--radius-sm);aspect-ratio:4/5}
.hero-portrait img{width:100%;height:100%;object-fit:cover}
.hero-portrait figcaption{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-5);font-size:var(--text-sm)}
.hero-portrait figcaption>span{font-weight:800}
.hero-portrait figcaption a{color:var(--color-text-muted);text-decoration:none;line-height:1.5}
.hero-portrait figcaption a:hover{text-decoration:underline}
.questions{background:var(--color-surface-offset)}
.questions-grid{display:grid;grid-template-columns:.9fr 1.35fr;gap:clamp(var(--space-8),7vw,var(--space-24))}
.section-lead>p:last-child{color:var(--color-text-muted);margin-top:var(--space-6)}
.question-list details{border-bottom:1px solid var(--color-border)}
.question-list details:first-child{border-top:1px solid var(--color-border)}
.question-list summary{cursor:pointer;list-style:none;display:flex;gap:var(--space-5);align-items:start;padding-block:var(--space-6)}
.question-list summary::-webkit-details-marker{display:none}
.question-number{font-size:var(--text-xs);color:var(--color-text-muted);padding-top:var(--space-1);min-width:1.3rem}
.question-list summary h3{flex:1}
.detail-sign{width:16px;height:16px;position:relative;margin-top:var(--space-1);flex-shrink:0}
.detail-sign::before,.detail-sign::after{content:"";position:absolute;top:7px;left:0;width:16px;height:1px;background:currentColor}
.detail-sign::after{transform:rotate(90deg);transition:transform .2s}
details[open] .detail-sign::after{transform:rotate(0)}
.detail-content{padding:0 var(--space-8) var(--space-6) var(--space-10);color:var(--color-text-muted)}
.detail-content p{margin-bottom:var(--space-4)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);font-weight:800;color:var(--color-primary);text-decoration:none;min-height:36px}
.text-link:hover{text-decoration:underline}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-8);margin-bottom:var(--space-12)}
.section-heading>p{color:var(--color-text-muted);max-width:36ch}
.perspective-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.perspective{background:var(--color-surface);padding:clamp(var(--space-6),3vw,var(--space-12));border:1px solid var(--color-border);display:flex;flex-direction:column}
.perspective .eyebrow{margin-bottom:var(--space-6)}
.perspective h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.35;letter-spacing:-.025em}
.perspective>p:not(.eyebrow){color:var(--color-text-muted);margin-top:var(--space-6)}
.perspective ul{list-style:none;margin-top:var(--space-8);margin-bottom:var(--space-8)}
.perspective li{padding-block:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}
.perspective li:first-child{border-top:1px solid var(--color-border)}
.card-links{display:flex;gap:var(--space-6);flex-wrap:wrap;margin-top:auto}
#wissenschaft .card-links{margin-top:0}
.card-links.practice-links{flex-direction:column;align-items:flex-start;gap:var(--space-5)}
.practice-link-row{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--space-6);row-gap:var(--space-3)}
.transfer{display:grid;grid-template-columns:1fr 1fr;background:var(--color-deep);color:#f7f7f3}
.transfer-photo{min-height:450px}
.transfer-photo img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.transfer-copy{padding:clamp(var(--space-8),5vw,var(--space-20));align-self:center;max-width:720px}
.transfer .eyebrow,.contact .eyebrow{color:#c4d8cd}
.transfer-copy h2{font-size:var(--text-xl)}
.transfer-copy>p:not(.eyebrow){margin-top:var(--space-6);color:#e1e8e2}
.light-link{color:#f7f7f3;display:inline-flex;align-items:center;gap:var(--space-5);font-size:var(--text-sm);font-weight:700;min-height:44px;text-underline-offset:5px}
.transfer-copy>.light-link{margin-top:var(--space-6)}
.publications .section-heading{margin-bottom:var(--space-6)}
.publication-intro{max-width:78ch;color:var(--color-text-muted);margin-bottom:var(--space-10)}
.publication-selection-title{font-size:var(--text-lg);font-weight:750;margin-bottom:var(--space-8)}
.publication-layout{display:grid;grid-template-columns:1fr;gap:var(--space-12)}
.featured-publication{text-decoration:none;background:var(--color-surface-offset);display:grid;grid-template-columns:280px 1fr;align-items:center}
.book-stage{display:grid;place-items:center;min-height:300px;padding:var(--space-8);border-right:1px solid var(--color-border)}
.book-stage img{width:160px;height:auto;max-width:85%;box-shadow:8px 12px 25px oklch(20% .02 170 / .2);transform:rotate(-4deg)}
.book-info{padding:var(--space-8)}
.meta{color:var(--color-text-muted);letter-spacing:.08em}
.book-info h4{margin-block:var(--space-3);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.35;letter-spacing:-.025em}
.book-info p{color:var(--color-text-muted);font-size:var(--text-sm)}
.book-info .publication-subtitle{margin-bottom:var(--space-3)}
.book-info .text-link{margin-top:var(--space-4)}
.publication-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-12)}
.publication-row{border-top:1px solid var(--color-border);padding:var(--space-8) 0;display:flex;flex-direction:column;text-decoration:none}
.publication-row:nth-last-child(-n+2){border-bottom:1px solid var(--color-border)}
.publication-row h4{font-size:var(--text-lg);font-weight:750;line-height:1.35;margin-top:var(--space-3);margin-bottom:var(--space-3)}
.publication-row p{color:var(--color-text-muted);font-size:var(--text-sm)}
.publication-row .publication-subtitle{margin-bottom:var(--space-3)}
.publication-milestone .meta{color:var(--color-primary)}
.news-detail{max-width:850px;padding-top:var(--space-12);padding-bottom:var(--space-16)}
.news-detail h1{font-size:clamp(1.85rem,4vw,3.1rem);line-height:1.2;max-width:24ch;margin-block:var(--space-6)}
.news-detail .meta{display:block;margin-bottom:var(--space-8)}
.news-detail-body p{max-width:70ch;margin-bottom:var(--space-6)}
.news-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6);margin-block:var(--space-8)}
.archive-context{font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-4) var(--space-5);border-left:2px solid var(--color-border);margin-bottom:var(--space-10)}
.archive-body{overflow-wrap:anywhere}
.archive-body img{width:auto;height:auto;max-width:100%;max-height:640px;object-fit:contain;margin:var(--space-8) auto;background:transparent}
.archive-body figure{margin-block:var(--space-8);max-width:100%}
.archive-body figcaption{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55;max-width:70ch;margin-top:var(--space-4)}
.archive-body figure img{margin-bottom:var(--space-4)}
.archive-body h2{font-size:var(--text-xl);margin-block:var(--space-10) var(--space-6)}
.archive-body ul,.archive-body ol{padding-left:var(--space-6);margin-bottom:var(--space-6)}
.archive-body li+li{margin-top:var(--space-3)}
.archive-body a{color:var(--color-primary)}
.archive-body .archive-video-link{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);margin-block:var(--space-4)}
.archive-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding-block:var(--space-8);margin-top:var(--space-12);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6)}
.archive-post-nav a{font-size:var(--text-sm);font-weight:750;text-decoration:none;line-height:1.55}
.archive-post-nav a:hover{text-decoration:underline}
.archive-post-nav span{display:block;font-weight:400;color:var(--color-text-muted);margin-bottom:var(--space-3)}
.archive-link-note{margin-top:var(--space-8);padding:var(--space-5);background:var(--color-surface-offset);border-left:2px solid var(--color-border)}
.archive-link-note h2{font-family:var(--font-body);font-size:var(--text-sm);font-weight:800;letter-spacing:0;margin-bottom:var(--space-3)}
.archive-link-note p{font-size:var(--text-sm);color:var(--color-text-muted)}
.seo-related{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6)}
.seo-related p{flex-basis:100%;font-size:var(--text-sm);font-weight:800;margin:0}
.seo-related a{font-size:var(--text-sm);color:var(--color-primary);font-weight:700;text-decoration:none}
.seo-related a:hover{text-decoration:underline}
@media(max-width:620px){.archive-post-nav{grid-template-columns:1fr;gap:var(--space-6)}.archive-body img{max-height:480px}.archive-context{padding:var(--space-3) var(--space-4)}}
.news-detail .back-link{display:inline-block;margin-bottom:var(--space-4)}
.talks-intro h1{font-size:clamp(1.85rem,4vw,3.1rem);max-width:none}
.talks-intro h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.35;margin-block:var(--space-8)}
.talks-intro .news-detail-actions{margin-bottom:0}
.talks-topics{margin-top:var(--space-16)}
.talks-topic{padding-block:var(--space-8);border-top:1px solid var(--color-border)}
.talks-topic h3{font-family:var(--font-display);font-size:clamp(1.35rem,2.3vw,1.75rem);font-weight:400;line-height:1.4;letter-spacing:-.02em;margin-bottom:var(--space-5)}
.talks-topic-label{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:750;letter-spacing:.06em;color:var(--color-primary);margin-bottom:var(--space-3)}
.talks-topic p{margin-bottom:0;color:var(--color-text-muted)}
.talks-topics-note{padding:var(--space-6);border-left:3px solid var(--color-primary);background:var(--color-surface-offset);margin-top:var(--space-5)}
.talks-formats{margin-top:var(--space-16)}
.talks-format{display:grid;grid-template-columns:minmax(140px,1fr) 2.6fr;gap:var(--space-6);padding-block:var(--space-6);border-top:1px solid var(--color-border)}
.talks-format h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:750;line-height:1.4;color:var(--color-primary)}
.talks-format p{margin-bottom:0;color:var(--color-text-muted)}
.talks-formats-note{margin-top:var(--space-6)}
@media(max-width:640px){.talks-format{grid-template-columns:1fr;gap:var(--space-3)}}
.talks-references{margin-top:var(--space-16)}
.academic-page{padding-block:var(--space-12) var(--space-16)}
.academic-page [hidden]{display:none!important}
.academic-crosslinks,.academic-jump{display:flex;gap:var(--space-6);flex-wrap:wrap}
.academic-crosslinks{margin-top:var(--space-6)}
.academic-page .bibliography-intro p+p{margin-top:var(--space-4)}
.cv-page{padding-block:var(--space-12) var(--space-16)}
.cv-intro{margin-block:var(--space-8)}
.cv-intro h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.35}
.cv-jump{margin-bottom:var(--space-12)}
.cv-timeline{position:relative;max-width:1040px;--cv-axis:10rem;--cv-copy-start:12rem}
.cv-timeline::before{content:"";position:absolute;left:var(--cv-axis);top:.35rem;bottom:0;width:2px;transform:translateX(-50%);background:var(--color-primary);opacity:.4}
.cv-group{position:relative;margin-bottom:var(--space-10);scroll-margin-top:140px}
.cv-group:last-child{margin-bottom:0}
.cv-group h2{padding-left:var(--cv-copy-start);margin-bottom:var(--space-6);font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.3}
.cv-events{list-style:none;padding:0;margin:0}
.cv-event{position:relative;display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:3.5rem;padding-bottom:var(--space-8)}
.cv-event::before{content:"";position:absolute;left:var(--cv-axis);top:.38rem;width:16px;height:16px;transform:translateX(-50%);border:3px solid var(--color-primary);border-radius:50%;background:var(--color-bg);box-sizing:border-box}
.cv-date{font-size:var(--text-sm);font-weight:750;text-align:right;white-space:nowrap;color:var(--color-primary);padding-top:.08rem;margin:0}
.cv-copy{max-width:74ch}
.cv-copy p{margin:0;line-height:1.7}
.cv-copy strong{font-weight:750}
.cv-context{color:var(--color-text-muted)}
.cv-group:last-child .cv-event:last-child::before{background:var(--color-primary)}
.main-nav a[aria-current="page"]{color:var(--color-primary);text-decoration:underline;text-underline-offset:.35em}
@media(max-width:650px){.cv-timeline{--cv-axis:.625rem;--cv-copy-start:2.75rem}.cv-event{display:block;padding-left:var(--cv-copy-start);padding-bottom:var(--space-8)}.cv-date{text-align:left;margin-bottom:var(--space-2);padding-top:0}.cv-event::before{top:.22rem;width:14px;height:14px}.cv-group h2{margin-bottom:var(--space-5)}.cv-copy p{font-size:var(--text-base)}}
.academic-jump{padding-block:var(--space-5);border-block:1px solid var(--color-border);font-size:var(--text-sm)}
.academic-section{margin-block:var(--space-12);scroll-margin-top:140px}
.academic-section h2,.academic-outro h2,.teaching-heading h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.35;margin-bottom:var(--space-5)}
.academic-intro-copy{max-width:78ch;color:var(--color-text-muted);margin-bottom:var(--space-6)}
.research-focus{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-8);margin-top:var(--space-6)}
.research-focus li{padding-block:var(--space-6);border-top:1px solid var(--color-border)}
.research-focus h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:750;line-height:1.4;margin-bottom:var(--space-3)}
.research-focus p{font-size:var(--text-base);line-height:1.65;color:var(--color-text-muted);margin:0}
.research-projects{list-style:none;padding:0;margin:0}
.research-project{padding-block:var(--space-6);border-top:1px solid var(--color-border)}
.research-project h3{font-family:var(--font-body);font-size:var(--text-lg);line-height:1.5;font-weight:750;max-width:75ch;margin-bottom:var(--space-2)}
.research-project p{font-size:var(--text-sm);color:var(--color-text-muted)}
.research-project p span{font-weight:750}
.research-new{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}
.research-new .research-project{border-top:3px solid var(--color-primary)}
.research-new h3{font-family:var(--font-display);font-weight:400;font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.35}
.academic-outro{padding:var(--space-8);background:var(--color-surface-offset);margin-top:var(--space-12)}
.academic-outro p{max-width:72ch;color:var(--color-text-muted);margin-bottom:var(--space-6)}
.teaching-heading{margin-top:var(--space-12);margin-bottom:var(--space-5)}
.teaching-heading p{font-size:var(--text-sm);color:var(--color-text-muted)}
.teaching-group{border-top:1px solid var(--color-border);scroll-margin-top:140px}
.teaching-group:last-child{border-bottom:1px solid var(--color-border)}
.teaching-group summary{padding:var(--space-6) var(--space-2);cursor:pointer;font-size:var(--text-lg);font-weight:750}
.teaching-group-count{display:block;font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);margin-top:var(--space-2)}
.teaching-group[open] summary{color:var(--color-primary)}
.teaching-list{list-style:none;margin:0;padding:0 0 var(--space-6)}
.teaching-entry{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-5);border-top:1px solid var(--color-border)}
.teaching-period{color:var(--color-primary);font-size:var(--text-sm);font-weight:750}
.teaching-entry h3{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;font-weight:750;margin-bottom:var(--space-2)}
.teaching-meta{font-size:var(--text-sm);color:var(--color-text-muted)}
.teaching-meta span{display:inline-block;margin-left:var(--space-4)}
@media(max-width:800px){.research-new{grid-template-columns:1fr;gap:0}.research-focus{grid-template-columns:1fr}}
@media(max-width:540px){.teaching-entry{grid-template-columns:1fr;gap:var(--space-2)}.teaching-meta span{display:block;margin-left:0}.academic-outro{padding:var(--space-6)}}
.bibliography-page{padding-top:var(--space-12);padding-bottom:var(--space-16)}
.bibliography-intro{max-width:850px;margin-block:var(--space-8)}
.bibliography-intro h1{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:var(--space-8)}
.bibliography-intro h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.35;margin-bottom:var(--space-6)}
.bibliography-intro p{max-width:72ch;color:var(--color-text-muted)}
.bibliography-tools{padding:var(--space-6);background:var(--color-surface-offset);margin-block:var(--space-8)}
.bibliography-tools label{display:block;font-weight:750;margin-bottom:var(--space-3)}
.bibliography-search-row{display:flex;gap:var(--space-3)}
.bibliography-search-row input{flex:1;min-width:0;border:1px solid var(--color-border);border-radius:2px;background:var(--color-surface);color:var(--color-text);font:inherit;padding:.75rem 1rem}
.bibliography-search-row button{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
.bibliography-search-row button:not(:disabled):hover{background:var(--color-primary);color:var(--color-on-primary)}
.bibliography-search-row button:disabled{opacity:.55;cursor:default}
.bibliography-tools p{font-size:var(--text-sm);margin-top:var(--space-3)}
#publication-search-help{color:var(--color-text-muted)}
.bibliography-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:var(--space-12);align-items:start}
.bibliography-nav{position:sticky;top:115px;padding-top:var(--space-3)}
.bibliography-nav>p{font-size:var(--text-xs);font-weight:750;letter-spacing:.08em;margin-bottom:var(--space-4)}
.bibliography-nav ul,.bibliography-list{list-style:none;margin:0;padding:0}
.bibliography-nav a{display:flex;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}
.bibliography-nav-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums}
.bibliography-group{scroll-margin-top:120px;margin-bottom:var(--space-12)}
.bibliography-group h2{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.3;margin-bottom:var(--space-6)}
.bibliography-count,.bibliography-subcount{font-family:var(--font-body);font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);white-space:nowrap}
.bibliography-subgroup h3{font-size:var(--text-base);font-weight:750;margin:var(--space-8) 0 var(--space-4)}
.bibliography-entry{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--color-border)}
.bibliography-year{font-size:var(--text-sm);font-weight:750;color:var(--color-primary);padding-top:.15em}
.bibliography-authors{font-weight:750;font-size:var(--text-sm);margin-bottom:var(--space-2)}
.bibliography-citation{font-size:var(--text-base);line-height:1.65;overflow-wrap:anywhere}
.bibliography-links{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);margin-top:var(--space-3)}
.bibliography-links a{text-decoration:underline;text-underline-offset:.2em;color:var(--color-primary);overflow-wrap:anywhere;max-width:100%}
.bibliography-empty{padding:var(--space-8);border:1px solid var(--color-border)}
.bibliography-group-note{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.bibliography-page [hidden]{display:none!important}
@media(max-width:900px){.bibliography-layout{grid-template-columns:1fr;gap:var(--space-8)}.bibliography-nav{position:static}.bibliography-nav ul{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-6)}}
@media(max-width:540px){.bibliography-nav ul{grid-template-columns:1fr}.bibliography-search-row{flex-wrap:wrap}.bibliography-search-row input{flex-basis:100%}.bibliography-entry{grid-template-columns:1fr;gap:var(--space-2)}.bibliography-group{scroll-margin-top:145px}}
.talk-reference-list{list-style:none;padding:0;margin:0}
.talk-reference{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:var(--space-5);padding-block:var(--space-5);border-top:1px solid var(--color-border)}
.talk-reference time{font-size:var(--text-sm);font-weight:750;color:var(--color-primary);padding-top:.15em}
.talk-reference h3,.talk-reference .talk-reference-title{font-family:var(--font-body);font-size:var(--text-base);font-weight:750;line-height:1.5;margin:0 0 var(--space-2)}
.talk-reference .talk-reference-event{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}
.talk-reference-highlights{border-bottom:1px solid var(--color-border)}
.talks-archive-heading{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;margin-top:var(--space-12);margin-bottom:var(--space-5)}
.talks-archive-group{border-top:1px solid var(--color-border)}
.talks-archive-group:last-child{border-bottom:1px solid var(--color-border)}
.talks-archive-group summary{cursor:pointer;padding-block:var(--space-5);font-weight:750}
.talks-archive-group summary span{font-weight:400;font-size:var(--text-sm);color:var(--color-text-muted);margin-left:var(--space-4)}
.talks-archive-group[open] summary{color:var(--color-primary)}
@media(max-width:420px){.talk-reference{grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-3)}.talks-archive-group summary span{margin-left:var(--space-2)}}
.publication-title-link{text-decoration:underline;text-decoration-color:var(--color-border);text-decoration-thickness:1px;text-underline-offset:.18em}
.publication-title-link:hover,.publication-title-link:focus-visible{text-decoration-color:currentColor;color:var(--color-primary)}
.publication-format{display:inline-block;font-family:var(--font-body);font-size:.625em;font-weight:700;letter-spacing:.06em;line-height:1.5;vertical-align:middle;border:1px solid var(--color-border);padding:.05em .4em;margin-left:.3em;text-decoration:none}
.person{background:var(--color-surface-offset)}
.person-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(var(--space-8),7vw,var(--space-24));align-items:center}
.person-photo{max-width:470px}
.person-photo img{width:100%;height:auto;aspect-ratio:7/8;object-fit:cover}
.person-copy>p:not(.eyebrow){color:var(--color-text-muted);margin-top:var(--space-5)}
.person-copy p a{color:var(--color-text)}
.person-links{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center;margin-top:var(--space-8)}
.news .section-heading{margin-bottom:var(--space-5)}
.news-intro{color:var(--color-text-muted);margin-bottom:var(--space-10)}
.news-list{border-top:1px solid var(--color-border)}
.news-item{padding-block:var(--space-8);border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:170px 1fr 50px;gap:var(--space-8);align-items:start}
.news-date{display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-1)}
.news-date time{font-weight:800}
.news-date span{color:var(--color-text-muted)}
.news-item h3 a{text-decoration:none}
.news-item h3 a:hover{text-decoration:underline}
.news-item p{color:var(--color-text-muted);margin-top:var(--space-3);font-size:var(--text-sm)}
.news-arrow{width:44px;height:44px;display:grid;place-items:center;text-decoration:none;font-size:var(--text-lg);border:1px solid var(--color-border);border-radius:50%;transition:background .2s}
.news-arrow:hover{background:var(--color-surface-offset)}
.contact{background:var(--color-deep);color:#f7f7f3}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.contact h2{font-size:var(--text-xl)}
.contact-copy>p{color:#e1e8e2}
.contact-copy>p+p{margin-top:var(--space-4)}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);margin-top:var(--space-6)}
.button-light{background:#f7f7f3;color:#173e33}
.button-light:hover{background:#dce8de}
.site-footer{padding-block:var(--space-12) var(--space-6)}
.footer-top{display:flex;justify-content:space-between;gap:var(--space-8);padding-bottom:var(--space-10)}
.footer-name{font-weight:800;margin-bottom:var(--space-2)}
.footer-top p:not(.footer-name){color:var(--color-text-muted);font-size:var(--text-sm)}
.footer-links{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-12)}
.footer-links a,.to-top{font-size:var(--text-sm);text-decoration:none;padding-block:var(--space-2)}
.footer-links a:hover,.to-top:hover{text-decoration:underline}
.to-top{align-self:start;display:flex;gap:var(--space-6)}
.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-6);font-size:var(--text-xs);color:var(--color-text-muted)}
.footer-bottom>div{display:flex;gap:var(--space-6)}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{text-decoration:underline}
a:active,summary:active{opacity:.8}
.img-fallback{display:grid;place-items:center;min-height:220px;padding:var(--space-8);background:var(--color-surface-offset);color:var(--color-text-muted);font-size:var(--text-sm)}
@media(min-width:1500px){.header-inner{gap:var(--space-8)}.main-nav{gap:var(--space-6)}.theme-label{display:inline}}
@media(max-width:1230px){
 .header-inner{min-height:100px}.main-nav{gap:var(--space-3)}.brand{width:330px}.main-nav a{font-size:var(--text-xs)}.hero{gap:var(--space-10)}.hero-actions .button{font-size:var(--text-sm)}
}
@media(max-width:1180px){
 .menu-toggle{display:block}.theme-label{display:inline}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-5) var(--gutter);box-shadow:0 12px 20px oklch(20% .02 170 / .08)}
 .main-nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-8)}.main-nav a{font-size:var(--text-base);min-height:48px}
 .hero{padding-top:var(--space-12);gap:var(--space-8)}.hero-actions{gap:var(--space-2)}.hero-actions .button{width:100%}
 .hero-portrait{position:sticky;top:120px}.hero-portrait figcaption{font-size:var(--text-xs)}
 .section-heading>p{max-width:27ch}.questions-grid{gap:var(--space-12)}.card-links{gap:var(--space-3)}
 .publication-layout{gap:var(--space-8)}.person-grid{gap:var(--space-12)}.person-links{gap:var(--space-3)}
}
@media(max-width:760px){
 :root{--gutter:var(--space-6)}
 .header-inner{min-height:100px;gap:var(--space-2)}.brand{width:310px}.header-tools{gap:0}.theme-label{display:none}
 .hero{grid-template-columns:1fr;padding-top:var(--space-10);padding-bottom:var(--space-12);gap:var(--space-10)}.hero h1{font-size:clamp(1.75rem,1rem + 3.2vw,2.7rem);line-height:1.3;letter-spacing:-.045em}.hero .eyebrow{margin-top:0;margin-bottom:var(--space-5)}.hero-intro{margin-top:var(--space-6)}
 .hero-actions{margin-top:var(--space-6);gap:var(--space-3)}.hero-actions .button{min-height:52px;font-size:var(--text-sm)}
 .hero-portrait{position:static;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:end;margin:0}.portrait-frame{aspect-ratio:4/5}.hero-portrait figcaption{font-size:var(--text-sm);padding-top:0;padding-bottom:var(--space-2)}.hero-portrait figcaption>span{font-size:var(--text-base)}
 .direct-links{gap:var(--space-1) var(--space-5);font-size:var(--text-sm)}
 .questions-grid,.perspective-grid,.publication-layout,.person-grid,.contact-grid{grid-template-columns:1fr}
 .section{padding-block:var(--space-12)}.questions-grid{gap:var(--space-8)}.question-list summary{gap:var(--space-3);padding-block:var(--space-5)}.detail-content{padding-left:var(--space-8);padding-right:var(--space-5)}
 .section-heading{display:block;margin-bottom:var(--space-8)}.section-heading>p,.section-heading>.text-link{margin-top:var(--space-5)}.section-heading>p{max-width:none}.perspective{padding:var(--space-6)}.perspective-grid{gap:var(--space-5)}.perspective h3{font-size:var(--text-xl)}
 .transfer{grid-template-columns:1fr}.transfer-photo{min-height:0;aspect-ratio:3/2}.transfer-copy{padding:var(--space-10) var(--space-6)}.transfer-copy h2 br:last-of-type{display:none}
 .publication-layout{gap:var(--space-8)}.featured-publication{grid-template-columns:1fr}.book-stage{min-height:300px;padding:var(--space-6);border-right:0;border-bottom:1px solid var(--color-border)}.book-stage img{width:170px}.book-info{padding:var(--space-6)}.publication-list{grid-template-columns:1fr}.publication-row{padding-block:var(--space-6)}.publication-row:nth-last-child(2){border-bottom:0}
 .person-grid{gap:var(--space-8)}.person-photo{max-width:320px;width:85%}.person-copy h2 br{display:none}.person-copy h2 br::after{content:" "}
 .person-copy h2{max-width:22ch}.person-links{align-items:start;flex-direction:column}.person-links .button{width:100%}
 .news-item{grid-template-columns:1fr 44px;gap:var(--space-4);padding-block:var(--space-6)}.news-date{grid-column:1/3;flex-direction:row;gap:var(--space-4)}.news-item>div:nth-child(2){grid-column:1}.news-arrow{grid-column:2}.news-intro{margin-bottom:var(--space-6)}
 .contact-grid{gap:var(--space-6)}.contact-actions{align-items:start;flex-direction:column}.site-footer{padding-block:var(--space-10) var(--space-6)}.footer-top{flex-wrap:wrap;gap:var(--space-8);padding-bottom:var(--space-8)}.footer-links{column-gap:var(--space-10)}.to-top{margin-left:auto}.footer-bottom{flex-direction:column;gap:var(--space-4)}
}
@media(max-width:540px){
 .header-inner{display:grid;grid-template-columns:1fr auto;min-height:0;padding-top:var(--space-3);padding-bottom:var(--space-1);gap:0}
 .brand{grid-column:1 / -1;width:min(100%,350px)}
 .header-tools{grid-column:2;justify-self:end}
 .theme-label{display:inline}
 .menu-toggle,.theme-toggle{padding-block:var(--space-1)}
 .main-nav.is-open{gap:var(--space-1) var(--space-4)}
 .main-nav a{font-size:var(--text-sm)}
 html{scroll-padding-top:9rem}section[id],article[id]{scroll-margin-top:9rem}
 .hero .eyebrow{font-size:var(--text-xs);letter-spacing:.09em;max-width:32ch}
}
@media(max-width:390px){:root{--gutter:var(--space-5)}.hero-portrait{gap:var(--space-4)}.hero-portrait figcaption{font-size:var(--text-xs)}}
html:not(.js-enabled) .header-tools{display:none}
.secondary-page{padding-block:var(--space-10) var(--space-24)}
.secondary-page .bibliography-intro{margin-bottom:var(--space-12)}
.services-intro p+p{margin-top:var(--space-5)}
.services-actions{margin-top:var(--space-8)}
.services-section{max-width:1000px;border-top:1px solid var(--color-border);padding-top:var(--space-12);margin-top:var(--space-12)}
.services-section>h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:var(--space-6)}
.services-section>h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:750;letter-spacing:0;margin-bottom:var(--space-5)}
.services-section p{max-width:76ch;margin-bottom:var(--space-5)}
.services-audit{margin-top:var(--space-10);padding:clamp(var(--space-5),4vw,var(--space-10));background:var(--color-surface-offset)}
.services-audit h3{font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:var(--space-6)}
.services-audit dl{margin-block:var(--space-6)}
.services-audit dl>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-5);border-top:1px solid var(--color-border)}
.services-audit dt{font-weight:800}
.services-audit dd{margin:0}
.services-audit p:last-child{margin-bottom:0}
@media(max-width:620px){.services-audit dl>div{grid-template-columns:1fr;gap:var(--space-2)}}
.private-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:var(--space-24);align-items:start}
.private-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-sm)}
.private-portrait figcaption{margin-top:var(--space-4)}
.private-family-photo{max-width:1120px;margin:0 auto var(--space-12)}
.private-family-photo img{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}
.private-family-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-12);margin-bottom:var(--space-8)}
.private-family-copy h2{margin-top:0}
@media(max-width:700px){.private-family-copy{grid-template-columns:1fr;gap:var(--space-8)}.private-family-photo{margin-bottom:var(--space-8)}}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,76ch);gap:clamp(var(--space-8),6vw,var(--space-24));align-items:start}
.legal-toc{border-top:1px solid var(--color-border);padding-top:var(--space-6)}
.legal-toc a{display:block;font-size:var(--text-sm);padding-block:var(--space-2);line-height:1.45;text-decoration:none;color:var(--color-text-muted)}
.legal-toc a:hover{text-decoration:underline;color:var(--color-primary)}
.legal-prose{min-width:0;overflow-wrap:anywhere}
.legal-prose p,.legal-prose ul,.legal-prose ol{margin-bottom:var(--space-5)}
.legal-prose h2{font-size:clamp(1.4rem,2.1vw,1.8rem);margin:var(--space-12) 0 var(--space-5);scroll-margin-top:10rem}
.legal-prose h2:first-child{margin-top:0}
.legal-prose h3{margin:var(--space-8) 0 var(--space-4)}
.legal-prose ul,.legal-prose ol{padding-left:var(--space-6)}
.legal-prose li+li{margin-top:var(--space-3)}
.legal-prose a{color:var(--color-primary)}
.archive-heading{margin-bottom:var(--space-6)}
.archive-section{margin-top:var(--space-20)}
.archive-note{color:var(--color-text-muted);margin-block:var(--space-5) var(--space-8)}
.archive-year{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--space-12);padding-block:var(--space-8);border-top:1px solid var(--color-border)}
.archive-year>h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--color-primary)}
.archive-item{display:grid;grid-template-columns:155px minmax(0,1fr);gap:var(--space-8);padding-block:var(--space-6);border-bottom:1px solid var(--color-border)}
.archive-item:first-child{padding-top:0}
.archive-item:last-child{border-bottom:0}
.archive-item time{font-size:var(--text-sm);color:var(--color-text-muted)}
.archive-item h4{font-size:var(--text-lg);line-height:1.4;font-weight:750}
.archive-item h4 a{text-decoration:none}
.archive-item h4 a:hover{text-decoration:underline}
.archive-item p{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(var(--space-8),6vw,var(--space-24));align-items:start}
.contact-form-panel{min-width:0}
.contact-form-panel h2,.contact-details h2{font-size:var(--text-lg);font-family:var(--font-body);font-weight:750;letter-spacing:0;margin-bottom:var(--space-6)}
.preview-notice{padding:var(--space-5);border-left:3px solid var(--color-primary);background:var(--color-surface-offset);font-size:var(--text-sm);margin-bottom:var(--space-8)}
.contact-form-panel label{display:block;font-size:var(--text-sm);font-weight:750;margin-bottom:var(--space-2)}
.contact-form-panel input:not([type=checkbox]):not([type=submit]),.contact-form-panel textarea{display:block;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:var(--space-3);margin-bottom:var(--space-6)}
.contact-form-panel textarea{resize:vertical;min-height:140px}
.contact-form-panel input:focus-visible,.contact-form-panel textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.contact-form-panel .contact-consent{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-5)}
.contact-form-panel .contact-check{display:flex;align-items:start;gap:var(--space-3);margin-bottom:var(--space-6);cursor:pointer}
.contact-check input{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--color-primary)}
.spam-preview{font-size:var(--text-sm);color:var(--color-text-muted);border:1px dashed var(--color-border);padding:var(--space-4);margin-bottom:var(--space-6)}
#contact-preview-status{margin-top:var(--space-5);color:var(--color-primary);font-size:var(--text-sm)}
.contact-details{padding:var(--space-8);background:var(--color-surface-offset);overflow-wrap:anywhere}
.contact-details p{margin-bottom:var(--space-6)}
.contact-details address{font-style:normal;margin-bottom:var(--space-6)}
@media(max-width:900px){.private-layout{gap:var(--space-10)}.legal-layout{grid-template-columns:1fr;gap:var(--space-10)}.legal-toc{columns:2;column-gap:var(--space-8)}.legal-toc .eyebrow{column-span:all}.legal-toc a{break-inside:avoid}.archive-year{grid-template-columns:70px minmax(0,1fr);gap:var(--space-6)}.archive-item{grid-template-columns:1fr;gap:var(--space-2)}.contact-page-grid{grid-template-columns:1fr;gap:var(--space-12)}}
@media(max-width:620px){.secondary-page{padding-block:var(--space-6) var(--space-16)}.private-layout{grid-template-columns:1fr}.private-portrait{max-width:300px}.legal-toc{columns:auto}.archive-year{grid-template-columns:1fr;gap:var(--space-6)}.contact-field-row{grid-template-columns:1fr;gap:0}.contact-details{padding:var(--space-6)}}
@media(max-width:1180px){html:not(.js-enabled) .site-header{position:static}html:not(.js-enabled) .header-inner{flex-wrap:wrap}html:not(.js-enabled) .main-nav{display:grid;position:static;order:3;grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;padding:var(--space-3) 0;box-shadow:none;border:0;gap:0 var(--space-4)}}
