
:root{
  --ink:#153944; --ink-2:#2f5966; --paper:#fbf5ea; --paper-2:#fffaf2; --line:#e9dcc9;
  --gold:#d98b3a; --sage:#6b8e52; --teal:#2b8c87; --blue:#346c8b; --red:#b85446;
  --purple:#7460a8; --green:#40936c; --shadow:0 24px 70px rgba(21,57,68,.16);
  --radius:24px; --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,var(--paper),#fff);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
a{color:inherit} img{max-width:100%;display:block}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem 1rem;border-radius:999px;z-index:20}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,4vw,3rem);background:rgba(251,245,234,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,220,201,.75)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--ink);color:#fff;font-weight:800}.brand strong{display:block;line-height:1}.brand small{display:block;color:var(--gold);font-weight:700;letter-spacing:.12em}.site-nav{display:flex;gap:.35rem;align-items:center}.nav-link{padding:.65rem .9rem;text-decoration:none;border-radius:999px;color:var(--ink-2);font-weight:700}.nav-link:hover,.nav-link.active{background:#fff;box-shadow:0 10px 24px rgba(21,57,68,.08);color:var(--ink)}.menu-toggle{display:none;border:0;background:var(--ink);color:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:700}
.hero{max-width:var(--max);margin:2rem auto 0;padding:clamp(1rem,4vw,2rem);display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:center}.hero-copy{padding:clamp(1.5rem,4vw,3rem);background:rgba(255,250,242,.88);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero h1,.page-hero h1{font-size:clamp(2.5rem,7vw,5.4rem);line-height:.95;margin:.35rem 0 1rem;letter-spacing:-.06em}.lead{font-size:clamp(1.15rem,2.2vw,1.55rem);color:var(--ink-2);font-weight:650}.hero-copy p{max-width:58ch}.overline,.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:var(--gold)}.hero-art{margin:0;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#fff}.hero-art img{height:min(600px,58vw);width:100%;object-fit:cover}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.82rem 1.1rem;font-weight:850;box-shadow:0 10px 28px rgba(21,57,68,.08)}.button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.button.ghost{background:transparent}.button.small{font-size:.88rem;padding:.55rem .8rem}.button.disabled{opacity:.55;pointer-events:none}.stats-band{max-width:var(--max);margin:1rem auto;padding:0 clamp(1rem,4vw,2rem);display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.2rem;text-align:center;box-shadow:0 12px 32px rgba(21,57,68,.07)}.stat strong{display:block;font-size:2.35rem;line-height:1;color:var(--gold)}.stat span{font-weight:750;color:var(--ink-2)}
.content-section,.page-hero{max-width:var(--max);margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,2rem)}.page-hero.compact{padding-top:3.5rem;padding-bottom:2rem}.page-hero{background:radial-gradient(circle at top right,rgba(217,139,58,.18),transparent 38%),linear-gradient(135deg,#fffaf2,#f4eadb);border-bottom:1px solid var(--line);max-width:none}.page-hero>*{max-width:var(--max);margin-left:auto;margin-right:auto}.page-hero p{font-size:1.1rem;color:var(--ink-2);max-width:70ch}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:start}.intro-grid h2,.section-heading h2,.logo-panel h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;margin:.25rem 0 1rem;letter-spacing:-.045em}.quick-links{display:grid;gap:.8rem}.quick-links a{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;box-shadow:0 10px 26px rgba(21,57,68,.06)}.quick-links span{color:var(--ink-2)}.section-heading{margin-bottom:1.4rem}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.theme-card,.section-summary{position:relative;overflow:hidden;min-height:205px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.35rem;box-shadow:0 14px 34px rgba(21,57,68,.08)}.theme-card:before,.section-summary:before,.timeline-item.session .event-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--teal)}.theme-card h3,.section-summary h2{margin:.4rem 0 .6rem;font-size:1.35rem;line-height:1.12}.theme-card p,.section-summary p{color:var(--ink-2)}.theme-card a,.summary-actions a,.section-download,.pdf-pill{display:inline-flex;text-decoration:none;font-weight:850;color:var(--ink);background:var(--paper);border-radius:999px;padding:.5rem .8rem;margin-top:.4rem}.logo-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:3rem;box-shadow:0 16px 42px rgba(21,57,68,.08)}.logo-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;align-items:center}.logo-strip img,.footer-logos img{max-height:80px;width:100%;object-fit:contain;background:#fff;border-radius:12px;padding:.35rem}.footer-logos img{max-height:46px}.site-footer{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2rem clamp(1rem,4vw,3rem);background:var(--ink);color:#fff}.site-footer a{color:#fff}.footer-logos{display:grid;grid-template-columns:repeat(4,90px);gap:.6rem;align-items:center}
.day-nav{position:sticky;top:73px;z-index:8;display:flex;gap:.5rem;justify-content:center;padding:.7rem 1rem;background:rgba(251,245,234,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.day-nav a{text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .85rem;font-weight:850}.day-section{scroll-margin-top:140px;width:min(1420px,calc(100% - clamp(2rem,6vw,8rem)));margin:0 auto;padding:clamp(1.8rem,4vw,3.2rem) 0}.day-section h2{margin-top:0}.timeline{display:grid;gap:1rem}.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:1rem;align-items:start}.time{font-weight:900;color:var(--gold);padding-top:1rem}.event-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.15rem 1.25rem;box-shadow:0 12px 30px rgba(21,57,68,.06);overflow:hidden}.event-card h3{margin:.25rem 0 .25rem;font-size:1.25rem}.event-card p{margin:.2rem 0;color:var(--ink-2)}.tag{display:inline-flex;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:900;color:var(--gold)}.event-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.talk-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.talk-list li{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.85rem;border-radius:16px;background:var(--paper-2);border:1px solid var(--line)}.talk-list strong{display:block}.talk-list span{display:block;color:var(--ink-2)}.pdf-pill{font-size:.82rem;align-self:center;margin:0}.pdf-pill.missing{opacity:.55}.awards{scroll-margin-top:130px}.award-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.award-group{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.1rem;box-shadow:0 12px 30px rgba(21,57,68,.06)}.award-group h3{margin:.1rem 0 1rem}.award-group ul{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.award-group li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.55rem}.award-group em{color:var(--ink-2);white-space:nowrap}
.controls-panel{display:grid;grid-template-columns:1fr 280px auto;gap:1rem;align-items:end;padding-top:1rem;padding-bottom:1rem}.controls-panel label{font-weight:900;color:var(--ink)}input,select{width:100%;margin-top:.35rem;border:1px solid var(--line);border-radius:16px;background:#fff;padding:.85rem 1rem;font:inherit;color:var(--ink)}.result-count{font-weight:850;color:var(--gold)}.section-summaries{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.section-summary{display:flex;justify-content:space-between;gap:1rem;min-height:170px}.summary-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.abstract-session{scroll-margin-top:120px;margin-bottom:3rem}.abstract-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.abstract-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.1rem;box-shadow:0 12px 30px rgba(21,57,68,.06);display:flex;flex-direction:column;gap:.65rem}.abstract-card h3{font-size:1.08rem;line-height:1.25;margin:0}.abstract-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--gold);text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:900}.presenter{margin:0;color:var(--ink-2);font-weight:760}.abstract-actions{margin-top:auto}.poster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.poster-card{display:grid;grid-template-columns:58px 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem;box-shadow:0 12px 30px rgba(21,57,68,.06)}.poster-number{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:900}.poster-card h3{margin:.1rem 0 .25rem;font-size:1.05rem}.poster-card p{margin:0;color:var(--ink-2);font-weight:760}
.genetics:before{background:var(--green)!important}.infection:before{background:var(--red)!important}.microbiome:before{background:var(--purple)!important}.environment:before{background:var(--blue)!important}.applied:before{background:var(--gold)!important}.phd:before{background:var(--ink)!important}.welcome .event-card,.lecture .event-card{border-left:7px solid var(--gold)}.break .event-card,.lunch .event-card{border-left:7px solid var(--sage)}.poster .event-card{border-left:7px solid var(--purple)}.social .event-card{border-left:7px solid var(--gold)}
.hidden{display:none!important}
@media(max-width:900px){.day-section{width:auto;margin:0;padding:2rem 1rem}.hero,.intro-grid{grid-template-columns:1fr}.hero-art img{height:360px}.stats-band,.theme-grid,.section-summaries,.abstract-grid,.poster-grid,.award-grid{grid-template-columns:1fr}.logo-strip{grid-template-columns:repeat(2,1fr)}.controls-panel{grid-template-columns:1fr}.site-footer{display:block}.footer-logos{margin-top:1rem;grid-template-columns:repeat(2,110px)}.event-head{display:block}.talk-list li{grid-template-columns:1fr}.timeline-item{grid-template-columns:70px 1fr}.day-nav{overflow:auto;justify-content:flex-start}.site-nav{display:none;position:absolute;right:1rem;top:68px;flex-direction:column;align-items:stretch;background:#fff;padding:.5rem;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.menu-toggle{display:block}}
@media(max-width:560px){.day-section{padding:1.6rem 1rem}.hero h1,.page-hero h1{font-size:2.6rem}.hero{padding:0;margin-top:0}.hero-copy,.hero-art{border-radius:0}.stats-band{padding:1rem}.timeline-item{grid-template-columns:1fr}.time{padding:0}.logo-strip{grid-template-columns:1fr}.day-nav{top:66px}.site-header{padding:.7rem 1rem}.brand span:last-child{display:none}}
@media print{.site-header,.site-footer,.day-nav,.controls-panel,.button,.pdf-pill,.section-download{display:none!important}body{background:#fff}.event-card,.abstract-card,.poster-card{box-shadow:none;break-inside:avoid}.content-section,.page-hero{max-width:none;padding:1rem}.timeline-item{grid-template-columns:80px 1fr}}
