:root { --ink:#002b40; --blue:#3f83a6; --mist:#d9e9e5; --sky:#6cb2d3; --deep:#1d4b69; --pale-blue:#b1c7d4; --cream:#f4f2db; --slate:#94a1a9; --charcoal:#424f56; --paper:#fbfcfb; }
body { color:var(--charcoal); background:var(--paper); }
.home-page #title-block-header { display:none; }
.home-page { --home-dark:#002b40; --home-blue:#3f83a6; --home-light:#d9e9e5; background:#fff; color:#000; }
.navbar { background:var(--ink)!important; box-shadow:0 2px 12px rgba(0,43,64,.18); }
.navbar-brand,.navbar-nav .nav-link,.navbar #quarto-search.type-overlay .aa-Autocomplete svg { color:white!important; }
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active { color:var(--mist)!important; }
#quarto-content { font-size:1.02rem; }
h1,h2,h3 { color:var(--ink); }
h2 { margin-top:2.6rem; padding-bottom:.45rem; border-bottom:3px solid var(--mist); }
a { color:var(--deep); } a:hover { color:var(--blue); }
.hero { margin-top:-1px; color:white; background:linear-gradient(105deg,var(--home-dark,#002b40),var(--home-blue,#3f83a6)); }
.hero-inner { max-width:1080px; margin:0 auto; padding:1.6rem 2rem 1.7rem; }
.hero h1 { color:white; font-size:clamp(2rem,4vw,3.2rem); letter-spacing:-.025em; margin:.2rem 0 .7rem; }
.hero p { max-width:1000px; margin-bottom:0; color:#fff; font-size:1rem; line-height:1.45; }
.hero-title { display:flex; align-items:center; gap:1rem; }
.hero-title p { margin:0; }
.hero-logo { display:block; width:4rem; height:4rem; object-fit:cover; border-radius:.35rem; }
.eyebrow { color:var(--mist); font-size:.84rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.home-content { max-width:1080px; margin:0 auto; padding:1rem 2rem 4rem; }
.btn { border-radius:999px; padding:.7rem 1.15rem; font-weight:650; margin:.5rem .35rem .2rem 0; }
.btn-primary { background:var(--sky); border-color:var(--sky); color:var(--ink); }
.btn-primary:hover { background:var(--mist); border-color:var(--mist); color:var(--ink); }
.news-list { display:grid; gap:.75rem; }
.news-item { display:grid; grid-template-columns:7rem 1fr; gap:1rem; padding:1.1rem 1.25rem; background:white; border-left:5px solid var(--blue); box-shadow:0 5px 18px rgba(0,43,64,.07); }
.news-date { color:var(--deep); font-weight:800; letter-spacing:.05em; }
.past-news { margin:1rem 0 2rem; padding:1rem 1.25rem; background:var(--cream); border-radius:.5rem; }
.past-news summary { cursor:pointer; color:var(--ink); font-weight:700; }
.home-page .eyebrow { color:#fff; }
.home-page h2 { border-bottom-color:var(--home-blue); }
.home-page .past-news { padding:.85rem 0; background:#fff; border-top:1px solid var(--home-light); border-bottom:1px solid var(--home-light); border-radius:0; }
.research-intro { margin:1.4rem 0 2.2rem; padding:1.5rem 1.7rem; color:#000; background:var(--home-light); }
.research-intro p { margin:.25rem 0 .85rem; line-height:1.65; }
.research-intro p:last-child { margin-bottom:.25rem; }
.news-stream { display:grid; gap:.75rem; }
.news-row { display:grid; grid-template-columns:1fr; gap:.75rem; align-items:start; padding:1.15rem 1.25rem; background:#fff; border-left:5px solid var(--sky,#6cb2d3); box-shadow:0 4px 15px rgba(0,0,0,.08); }
.news-meta { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.news-tags { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.news-tag,.news-tag.tag-preprint,.news-tag.tag-achievement,.news-tag.tag-general { box-sizing:border-box; display:inline-flex; width:7.6rem; min-height:1.8rem; align-items:center; justify-content:center; padding:.25rem .55rem; color:#000; background:var(--sky,#6cb2d3); border:0; border-radius:999px; font-size:.7rem; font-weight:800; line-height:1; letter-spacing:.045em; text-transform:uppercase; }
.news-tag p,.news-new p { margin:0; line-height:1; }
.news-new { box-sizing:border-box; display:inline-flex; width:3.8rem; min-height:1.8rem; align-items:center; justify-content:center; padding:.25rem .45rem; color:#000; background:var(--mist,#d9e9e5); border-radius:999px; font-size:.7rem; font-weight:850; line-height:1; text-transform:uppercase; }
.is-new { border-left-color:var(--sky); }
.news-year { color:#000; font-weight:750; }
.news-body h3 { margin:0 0 .3rem; font-size:1rem; line-height:1.4; }
.news-body p { margin:0; color:#000; }
.earlier-news { margin-top:1rem; background:#fff; }
.publication-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1rem 0 1.5rem; }
.publication-card { padding:1.4rem; background:white; border-top:5px solid var(--deep); border-radius:.45rem; box-shadow:0 7px 22px rgba(0,43,64,.09); }
.publication-card.preprint { border-top-color:var(--sky); }
.publication-card h3 { margin:.7rem 0 .5rem; font-size:1.02rem; line-height:1.45; }
.publication-card p { margin:0; color:var(--slate); font-size:.9rem; }
.pub-kind { color:var(--deep); background:var(--mist); border-radius:999px; padding:.2rem .55rem; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.preprint .pub-kind { background:var(--cream); }
.more-link { display:inline-block; font-weight:700; margin-bottom:1.5rem; }
.topic-strip,.join-grid,.people-grid { display:grid; grid-template-columns:1fr; gap:1rem; margin:3rem 0; }
.topic { padding:1.25rem; background:var(--mist); border-radius:.4rem; } .topic h3 { margin-top:0; }
.join-banner { margin-top:3rem; padding:2rem; background:var(--cream); border-radius:.6rem; } .join-banner h2 { margin-top:0; border:0; }
.people-grid,.people-list { display:grid; grid-template-columns:1fr; gap:1rem; align-items:stretch; }
.person-card { display:flow-root; padding:1.5rem; background:white; border:1px solid var(--mist); border-radius:.5rem; box-shadow:0 5px 18px rgba(0,43,64,.06); }
.person-card > p:first-child { margin:0; }
.person-photo,.person-photo-placeholder { float:right; width:clamp(8rem,18vw,11rem); aspect-ratio:1/1; margin:0 0 .7rem 1.4rem; object-fit:cover; border-radius:.45rem; }
.erik-photo { background-image:url("assets/images/people/erik-roed.jpeg"); background-size:155%; background-position:50% 18%; background-repeat:no-repeat; }
.person-photo-placeholder { display:flex; align-items:center; justify-content:center; background:var(--mist); color:var(--deep); font-size:2rem; font-weight:700; letter-spacing:.04em; }
.person-card h3 { margin-top:0; } .pi-card,.people-list .person-card { border-left:7px solid var(--sky); }
.person-meta { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin:0 0 .8rem; }
.person-years { color:#000; font-weight:750; }
.person-years p { margin:0; }
.person-name-row { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin:0 0 .8rem; }
.person-name-row h3 { margin:0; }
.role-tag { display:inline-flex; align-items:center; min-width:7.6rem; min-height:1.8rem; justify-content:center; margin:0; padding:.25rem .7rem; color:#000; background:var(--sky); border-radius:999px; font-size:.75rem; font-weight:750; }
.role-tag p { margin:0; }
.representative-work { margin-top:.85rem; }
.representative-work p { margin:.35rem 0; }
.join-grid { grid-template-columns:1fr; max-width:1080px; margin:3rem auto; padding:0 2rem; }
.join-panel { padding:1.6rem; background:var(--mist); border-radius:.5rem; } .join-panel h3 { margin-top:0; }
.resource-links { display:grid; grid-template-columns:1fr; gap:1rem; max-width:1080px; margin:2rem auto; padding:0 2rem; }
.resource-links p { width:100%; margin:0; }
.resource-card { box-sizing:border-box; display:block; width:100%; padding:.65rem 0; color:var(--deep); background:transparent; border-bottom:1px solid var(--pale-blue); border-radius:0; font-weight:750; text-decoration:none; }
.resource-card:hover { color:var(--blue); background:transparent; }
.guide-links { max-width:1080px; margin:2rem auto; padding:0 2rem; }
.guide-links h3 { margin:1.2rem 0 .3rem; }
.guide-links p { margin:0 0 1.2rem; }
.funding-grid { display:grid; grid-template-columns:1fr; gap:1rem; margin:1rem 0 2rem; }
.funding-card { padding:1.4rem; background:white; border-top:4px solid var(--blue); border-radius:.45rem; box-shadow:0 5px 18px rgba(0,43,64,.07); }
.funding-card h3 { margin-top:0; }
.page-intro { padding:2.4rem max(2rem,calc((100vw - 1080px)/2)); background:var(--mist); }
.page-intro h2 { margin-top:0; border:0; }
.map-frame { position:relative; overflow:hidden; width:100%; min-height:420px; margin:1rem 0; border-radius:.6rem; box-shadow:0 7px 24px rgba(0,43,64,.12); }
.map-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.page-footer { background:var(--ink); color:var(--mist); }
.publication { margin:0 0 1rem; padding:1rem 1.15rem; background:white; border-left:4px solid var(--pale-blue); box-shadow:0 3px 12px rgba(0,43,64,.05); }
.publication p { margin:0 0 .35rem; }
.publication h4 { margin:0 0 .5rem; color:var(--ink); line-height:1.4; }
.pub-authors { line-height:1.5; }
.pub-details { color:var(--charcoal); line-height:1.5; }
.pub-links { margin-top:.55rem!important; }
.publication-section { margin:1rem 0; background:#fff; border:1px solid var(--pale-blue); border-radius:.5rem; box-shadow:0 4px 15px rgba(0,43,64,.06); }
.publication-section > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; color:var(--ink); background:var(--pale-blue); cursor:pointer; font-size:1.2rem; font-weight:750; list-style-position:inside; }
.publication-section[open] > summary { border-bottom:0; }
.publication-years { margin-left:.65rem; color:var(--charcoal); font-size:inherit; font-weight:650; }
.publication-count { display:inline-flex; min-width:2rem; min-height:2rem; align-items:center; justify-content:center; padding:.15rem .55rem; color:#000; background:var(--mist); border-radius:999px; font-size:.78rem; }
.publication-section-body { padding:1rem 1.1rem .2rem; }
.course-list { display:grid; grid-template-columns:1fr; gap:1rem; margin:1.5rem 0; }
.course-card { padding:1.5rem; background:#fff; border-left:5px solid var(--sky); border-radius:.5rem; box-shadow:0 5px 18px rgba(0,43,64,.07); }
.research-card { margin:1.25rem 0; padding:1.4rem 1.5rem; background:#fff; border:1px solid var(--mist); border-left:7px solid var(--sky); border-radius:.5rem; box-shadow:0 5px 18px rgba(0,43,64,.06); }
.research-card h2 { margin-top:0; }
.research-card > :last-child { margin-bottom:0; }
.course-card h2 { margin:.65rem 0 1rem; border:0; }
.course-link { display:inline-block; margin-top:.4rem; font-weight:750; }
@media (max-width:800px) {
  .publication-grid,.topic-strip,.people-grid,.join-grid,.resource-links,.funding-grid { grid-template-columns:1fr; }
  .hero-inner { padding:1.35rem 1.25rem 1.45rem; } .home-content { padding-inline:1.1rem; }
  .hero-title { gap:.7rem; }
  .hero-logo { width:3rem; height:3rem; }
  .news-item { grid-template-columns:1fr; gap:.35rem; }
  .news-row { grid-template-columns:1fr; gap:.65rem; }
  .person-photo,.person-photo-placeholder { width:6.5rem; margin-left:1rem; }
}
