:root{--gold:#f1b82d;--black:#111;--ink:#171717;--muted:#686868;--paper:#fff;--line:#dedede;--sidebar:176px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:#f6f6f4;color:var(--ink);font-family:var(--sans)}a{color:inherit}.skip-link{position:fixed;z-index:1000;left:-9999px;top:10px;background:#fff;padding:10px}.skip-link:focus{left:10px}.mobile-menu{display:none}
.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;background:#101010;color:#fff}.lab-mark{display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none}.mu-shield{display:grid;width:58px;height:64px;place-items:center;border:2px solid #eee;border-radius:4px 4px 14px 14px;color:var(--gold);font:900 25px/1 var(--serif);letter-spacing:-.08em}.lab-mark strong{margin-top:12px;font:400 26px/1.02 var(--serif);letter-spacing:.03em}.lab-mark small{width:126px;margin-top:18px;padding-top:15px;border-top:1px solid rgba(241,184,45,.48);color:#c6c6c6;font-size:9px}.sidebar nav{display:grid}.sidebar nav a{position:relative;display:flex;align-items:center;gap:17px;height:68px;padding:0 22px;border-left:5px solid transparent;color:#ddd;text-decoration:none;font-size:12px}.sidebar nav a span{width:20px;color:#ddd;font-size:21px;text-align:center}.sidebar nav a:hover,.sidebar nav a.is-active{border-left-color:var(--gold);background:linear-gradient(90deg,rgba(241,184,45,.18),rgba(241,184,45,.05));color:var(--gold)}.sidebar-footer{margin-top:auto;padding:24px}.socials{display:flex;gap:8px}.socials a{display:grid;width:30px;height:30px;place-items:center;border:1px solid #686868;border-radius:50%;color:#ddd;text-decoration:none;font-size:11px}.sidebar-footer p{margin:16px 0 0;color:#777;font-size:9px;line-height:1.5}
.page-shell{margin-left:var(--sidebar);min-height:100vh;background:#fff}.hero{position:relative;height:min(665px,74vh);min-height:560px;overflow:hidden;background:#173f42}.hero-photo{position:absolute;inset:-3%;background-image:url("assets/daphnia-reference.jpg");background-repeat:no-repeat;background-position:center 29%;background-size:cover;filter:saturate(1.04) contrast(1.02);will-change:transform;animation:photo-drift 18s ease-in-out infinite alternate}.water-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(13,52,54,.84) 0,rgba(13,52,54,.72) 34%,rgba(10,43,44,.35) 51%,rgba(8,36,34,.08) 68%,transparent 78%),radial-gradient(ellipse at 58% -8%,rgba(255,255,230,.32),transparent 42%),linear-gradient(180deg,rgba(233,255,247,.08),transparent 36%,rgba(0,25,20,.20));box-shadow:inset 0 -120px 160px rgba(0,16,11,.22);animation:light-breathe 7s ease-in-out infinite alternate}.water-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,235,.55) 0 1px,transparent 1.6px);background-size:71px 59px;opacity:.26;animation:particles-rise 18s linear infinite}.water-particles i{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(255,255,235,.72);box-shadow:0 0 10px rgba(255,255,235,.5);animation:float-speck 9s ease-in-out infinite}.water-particles i:nth-child(1){left:62%;top:72%}.water-particles i:nth-child(2){left:81%;top:38%;animation-delay:-3s}.water-particles i:nth-child(3){left:47%;top:24%;animation-delay:-6s}.hero-copy{position:absolute;z-index:4;left:6.2%;top:47%;width:390px;transform:translateY(-50%);color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.55)}.kicker{margin:0 0 12px;color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:0;font:400 clamp(58px,6.4vw,88px)/.98 var(--serif);letter-spacing:-.04em}.hero-copy>p:not(.kicker){max-width:380px;margin:22px 0;color:#fff;font-size:17px;line-height:1.5}.gold-button{display:inline-flex;align-items:center;gap:36px;padding:15px 18px;border-radius:3px;background:var(--gold);color:#171300;text-decoration:none;font-size:12px;font-weight:750;text-shadow:none;box-shadow:0 6px 18px rgba(0,0,0,.16)}.gold-button span{font-size:20px;line-height:.6}.webgl-label{position:absolute;z-index:4;right:24px;bottom:18px;margin:0;color:rgba(255,255,255,.7);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.webgl-label span{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.content-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px;max-width:1120px;margin:0 auto;padding:34px 38px 52px}.feature-card,.wide-card{border:1px solid var(--line);background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.035)}.feature-card{grid-column:span 2;display:flex;min-height:500px;flex-direction:column}.wide-card{grid-column:span 3;min-height:275px;padding:17px}.feature-card>header{min-height:112px;padding:0 14px}.content-grid header>p{position:relative;margin:0 0 18px;padding-top:18px;font-size:16px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.content-grid header>p:after{content:"";position:absolute;left:0;bottom:-7px;width:29px;height:2px;background:var(--gold)}.content-grid h2{margin:0;color:#555;font-size:12px;font-weight:400;line-height:1.45}.research-visual,.people-placeholder{position:relative;height:154px;display:grid;place-items:center;overflow:hidden;color:rgba(255,255,255,.85);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.research-visual{background:linear-gradient(#92b7ba 0 45%,#366a67 46% 62%,#162f28 63%)}.research-visual:before{content:"";position:absolute;width:115%;height:50%;bottom:-32%;border-radius:50%;background:#759796;box-shadow:0 -15px 45px rgba(255,255,255,.2)}.research-visual span,.people-placeholder span{position:relative}.people-placeholder{background:linear-gradient(140deg,#607762,#8ea788)}.people-placeholder:before{content:"";width:42px;height:42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;position:absolute;top:36px}.feature-card>ul{margin:0;padding:14px 18px;list-style:none}.feature-card>ul li{padding:7px 0;border-bottom:1px solid #eee;color:#595959;font-size:11px}.feature-card>ul li:before{content:"+";margin-right:12px;color:var(--gold);font-weight:900}.card-link{display:flex;align-items:center;gap:7px;margin-top:auto;padding:17px 14px;border-top:1px solid var(--line);color:#b77b00;text-decoration:none;font-size:10px;font-weight:700;text-transform:uppercase}.card-link span{font-size:18px}.publication-list{padding:0 14px}.publication-list a{display:block;padding:12px 0;border-bottom:1px solid #ddd;text-decoration:none}.publication-list time,.publication-list small{display:block;color:#888;font-size:8px;text-transform:uppercase}.publication-list strong{display:block;margin:5px 0;font-size:11px;line-height:1.35}.role-list li{display:flex;justify-content:space-between}.role-list b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#eee;font-size:9px}.wide-card header{min-height:72px}.news-list a{display:grid;grid-template-columns:70px 1fr 20px;gap:10px;padding:12px;border-top:1px solid #e5e5e5;text-decoration:none}.news-list time{color:#999;font-size:8px}.news-list span{font-size:11px}.news-list b{color:#777}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:20px}.contact-layout p{margin:0 0 14px;color:#555;font-size:11px;line-height:1.5}.gold-button.compact{gap:28px;padding:12px 16px}.map-placeholder{position:relative;display:grid;min-height:145px;place-items:center;background:repeating-linear-gradient(35deg,#f0f0ef 0 20px,#fff 20px 30px);color:#777;font-size:10px;text-transform:uppercase}.map-placeholder i{position:absolute;width:18px;height:18px;border:5px solid var(--gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.map-placeholder span{margin-top:65px}
footer{display:flex;min-height:90px;align-items:center;justify-content:space-between;padding:20px 34px;background:#111;color:#fff}footer>div{display:flex;align-items:center;gap:12px}.mu-shield.small{width:34px;height:39px;font-size:14px;border-width:1px;border-radius:3px 3px 8px 8px}footer p{margin:0;color:#999;font-size:10px}footer strong,footer small{display:block}footer strong{color:#fff;font:400 16px var(--serif)}footer small{margin-top:4px;color:#999}
@media(max-width:980px){:root{--sidebar:142px}.lab-mark{min-height:220px}.content-grid{gap:18px;padding:28px 24px}.feature-card{grid-column:span 3}.feature-card:nth-child(3){grid-column:2/span 4}.hero-copy{left:5%;width:340px}.hero h1{font-size:62px}}
@media(max-width:700px){:root{--sidebar:0px}.mobile-menu{position:fixed;z-index:100;right:14px;top:max(14px,env(safe-area-inset-top));display:grid;width:42px;height:42px;place-content:center;gap:4px;border:0;border-radius:50%;background:#111}.mobile-menu span{width:19px;height:1px;background:#fff}.sidebar{width:min(280px,82vw);transform:translateX(-102%);transition:transform .25s ease;box-shadow:14px 0 40px rgba(0,0,0,.25)}body.menu-open .sidebar{transform:none}.lab-mark{min-height:200px}.page-shell{margin-left:0}.hero{height:100svh;min-height:650px}.hero-photo{inset:-4%;background-size:cover;background-position:64% center}.water-light{background:linear-gradient(0deg,rgba(8,38,36,.88) 0,rgba(11,47,46,.46) 38%,rgba(7,35,34,.06) 68%,transparent 88%),radial-gradient(ellipse at 45% -5%,rgba(255,255,230,.25),transparent 48%)}.hero-copy{left:20px;right:20px;top:auto;bottom:90px;width:auto;transform:none}.hero h1{font-size:clamp(52px,15vw,72px)}.hero-copy>p:not(.kicker){max-width:355px;font-size:15px}.webgl-label{bottom:15px}.content-grid{grid-template-columns:1fr;padding:22px 14px}.feature-card,.feature-card:nth-child(3),.wide-card{grid-column:1;min-height:auto}.feature-card{min-height:480px}.contact-layout{grid-template-columns:1fr}.map-placeholder{min-height:160px}footer{align-items:flex-start;gap:20px;flex-direction:column}.sidebar-footer{display:none}}
@media(max-width:420px){.hero-copy{bottom:68px}.kicker{font-size:10px}.hero h1{font-size:52px}.hero-copy>p:not(.kicker){margin:15px 0;font-size:14px}.gold-button{padding:13px 15px}.webgl-label{display:none}}
@keyframes photo-drift{0%{transform:scale(1.01) translate3d(0,0,0)}100%{transform:scale(1.06) translate3d(-.8%,-.7%,0)}}@keyframes light-breathe{0%{opacity:.82;filter:brightness(.96)}100%{opacity:1;filter:brightness(1.12)}}@keyframes particles-rise{to{background-position:18px -120px}}@keyframes float-speck{50%{transform:translate3d(8px,-28px,0);opacity:.35}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}.hero-photo,.water-light,.water-particles,.water-particles i{animation:none}}
.water-light:before{content:"";position:absolute;inset:-18% -12% 55%;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 18px,rgba(255,255,225,.12) 22px 25px,transparent 30px 48px);mix-blend-mode:screen;filter:blur(3px);opacity:.55;transform-origin:50% 0;animation:surface-shimmer 9s ease-in-out infinite alternate}.water-light:after{content:"";position:absolute;inset:-8% -10% 20%;background:repeating-linear-gradient(102deg,transparent 0 9%,rgba(231,255,235,.07) 11% 13%,transparent 16% 25%);filter:blur(8px);transform:skewX(-8deg);transform-origin:50% 0;animation:rays-sway 12s ease-in-out infinite alternate}.water-particles b{position:absolute;left:var(--x);bottom:-24px;width:var(--size);height:var(--size);border:1px solid rgba(235,255,247,.5);border-radius:50%;background:rgba(225,255,245,.06);box-shadow:inset 1px 1px 2px rgba(255,255,255,.42),0 0 5px rgba(205,255,243,.18);animation:bubble-rise var(--duration) linear var(--delay) infinite}.gold-button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.gold-button:hover,.gold-button:focus-visible{transform:translateY(-2px);background:#ffc62f;box-shadow:0 10px 28px rgba(0,0,0,.24)}
@keyframes surface-shimmer{0%{transform:translate3d(-1.5%,0,0) scaleX(.96);opacity:.38}100%{transform:translate3d(1.5%,2%,0) scaleX(1.05);opacity:.72}}@keyframes rays-sway{0%{transform:skewX(-8deg) translateX(-2%);opacity:.52}100%{transform:skewX(-3deg) translateX(2%);opacity:.85}}@keyframes bubble-rise{0%{transform:translate3d(0,0,0) scale(.75);opacity:0}12%{opacity:.68}84%{opacity:.42}100%{transform:translate3d(var(--drift),-760px,0) scale(1.15);opacity:0}}
@media(prefers-reduced-motion:reduce){.water-light:before,.water-light:after,.water-particles b{animation:none;display:none}}
.hero-photo{animation-duration:12s;animation-timing-function:cubic-bezier(.45,.05,.55,.95)}.water-light{animation-duration:5s}.water-particles{opacity:.31;animation-duration:12s}.water-particles i{animation-duration:6.5s}.hero:before{content:"";position:absolute;z-index:2;left:-18%;top:-40%;width:62%;height:145%;border-radius:50%;background:radial-gradient(ellipse,rgba(218,255,239,.16),rgba(176,238,224,.045) 44%,transparent 70%);filter:blur(22px);pointer-events:none;mix-blend-mode:screen;animation:current-sweep 8s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(0,20,20,.2);background:linear-gradient(115deg,transparent 42%,rgba(230,255,241,.055) 49%,transparent 56%);background-size:220% 100%;animation:glint-pass 7s ease-in-out infinite}.feature-card,.wide-card{transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .38s ease}.feature-card:hover,.wide-card:hover{transform:translateY(-7px);border-color:#c9b477;box-shadow:0 18px 46px rgba(25,38,32,.13)}.motion-ready .content-grid article{opacity:0;transform:translateY(34px);transition-delay:var(--reveal-delay,0ms)}.motion-ready .content-grid article.is-visible{opacity:1;transform:translateY(0)}
@keyframes photo-drift{0%{transform:scale(1.01) translate3d(0,0,0)}45%{transform:scale(1.065) translate3d(-1.2%,-.8%,0)}100%{transform:scale(1.105) translate3d(-2.1%,-1.15%,0)}}@keyframes light-breathe{0%{opacity:.72;filter:brightness(.92)}100%{opacity:1;filter:brightness(1.18)}}@keyframes particles-rise{to{background-position:24px -165px}}@keyframes float-speck{50%{transform:translate3d(12px,-42px,0);opacity:.28}}@keyframes current-sweep{0%{transform:translate3d(-8%,2%,0) rotate(-5deg);opacity:.36}100%{transform:translate3d(78%,-3%,0) rotate(4deg);opacity:.82}}@keyframes glint-pass{0%,22%{background-position:140% 0;opacity:.2}65%,100%{background-position:-70% 0;opacity:.82}}
@media(max-width:700px){.hero:before{width:105%;left:-55%;animation-duration:6.5s}.hero:after{animation-duration:6s}.feature-card:hover,.wide-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.hero:before,.hero:after{animation:none}.motion-ready .content-grid article{opacity:1;transform:none}}
@media(max-width:700px){.hero-photo{background-position:90% center}}
.mascot-track{position:fixed;z-index:44;left:var(--sidebar);right:0;bottom:max(10px,env(safe-area-inset-bottom));height:126px;overflow:hidden;pointer-events:none}.mascot-runner{position:absolute;left:0;bottom:0;width:172px;height:122px;animation:mascot-cross 17s linear 1.2s infinite both;will-change:transform}.mascot-bob{position:absolute;inset:0;display:flex;align-items:flex-end;animation:mascot-bounce .34s cubic-bezier(.35,0,.65,1) infinite alternate;transform-origin:50% 100%}.mascot-bob img{display:block;width:172px;height:auto;filter:drop-shadow(0 6px 5px rgba(0,0,0,.20))}.mascot-shadow{position:absolute;left:26px;bottom:0;width:112px;height:15px;border-radius:50%;background:rgba(0,0,0,.24);filter:blur(3px);animation:mascot-shadow .34s ease-in-out infinite alternate}
@keyframes mascot-cross{0%{transform:translate3d(-195px,0,0)}100%{transform:translate3d(calc(100vw - var(--sidebar) + 15px),0,0)}}@keyframes mascot-bounce{0%{transform:translateY(3px) rotate(-1.5deg)}100%{transform:translateY(-12px) rotate(1.5deg)}}@keyframes mascot-shadow{0%{transform:scaleX(1);opacity:.25}100%{transform:scaleX(.70);opacity:.12}}
@media(max-width:700px){.mascot-track{height:94px}.mascot-runner{width:126px;height:91px;animation-duration:13s}.mascot-bob img{width:126px}.mascot-shadow{left:19px;width:82px;height:10px}}
@media(prefers-reduced-motion:reduce){.mascot-track{display:none}}
.mascot-track{--mascot-cycle:20s;height:190px}.mascot-runner{height:170px;animation-duration:var(--mascot-cycle)}.mascot-bob img{position:absolute;left:0;bottom:0}.mascot-pose-run{animation:mascot-run-pose var(--mascot-cycle) step-end 1.2s infinite both}.mascot-pose-sit{left:26px!important;width:120px!important;opacity:0;animation:mascot-sit-pose var(--mascot-cycle) step-end 1.2s infinite both}.mascot-speech{position:absolute;z-index:3;left:83px;bottom:124px;min-width:122px;padding:10px 13px;border:2px solid #151515;border-radius:18px 18px 18px 5px;background:#fff;color:#171717;font-size:13px;font-weight:850;line-height:1;white-space:nowrap;box-shadow:4px 5px 0 var(--gold);opacity:0;transform-origin:18px 100%;animation:mascot-talk var(--mascot-cycle) ease 1.2s infinite both}.mascot-speech:after{content:"";position:absolute;left:12px;bottom:-10px;width:14px;height:14px;border-right:2px solid #151515;border-bottom:2px solid #151515;background:#fff;transform:skewY(38deg) rotate(35deg)}.mascot-speech b{font-size:14px}
@keyframes mascot-cross{0%{transform:translate3d(-195px,0,0)}46%{transform:translate3d(calc(50vw - 90px),0,0)}72%{transform:translate3d(calc(50vw - 90px),0,0)}100%{transform:translate3d(calc(100vw - var(--sidebar) + 15px),0,0)}}@keyframes mascot-run-pose{0%,45%,73%,100%{opacity:1}46%,72%{opacity:0}}@keyframes mascot-sit-pose{0%,45%,73%,100%{opacity:0}46%,72%{opacity:1}}@keyframes mascot-talk{0%,48%,70%,100%{opacity:0;transform:translateY(8px) scale(.65) rotate(-5deg)}52%,66%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@media(max-width:700px){.mascot-track{--mascot-cycle:17s;height:145px}.mascot-runner{height:132px}.mascot-pose-sit{left:19px!important;width:88px!important}.mascot-speech{left:56px;bottom:92px;min-width:105px;padding:8px 10px;font-size:11px}}

/* Photorealistic lab mascot: intentionally compact so it complements the hero. */
.mascot-track{height:160px}.mascot-runner{width:148px;height:142px}.mascot-bob img{width:148px;filter:drop-shadow(0 7px 8px rgba(0,27,28,.30))}.mascot-shadow{left:27px;bottom:1px;width:92px;height:11px;background:rgba(0,25,26,.22);filter:blur(4px)}.mascot-pose-sit{left:29px!important;width:90px!important}.mascot-speech{left:70px;bottom:106px;min-width:0;padding:9px 12px;border:1px solid rgba(22,52,54,.25);border-radius:15px 15px 15px 5px;background:rgba(255,255,255,.94);color:#173437;font-size:12px;font-weight:750;box-shadow:0 9px 24px rgba(0,25,26,.24),inset 0 3px 0 rgba(241,184,45,.72);backdrop-filter:blur(7px)}.mascot-speech:after{left:13px;bottom:-8px;width:11px;height:11px;border-right:1px solid rgba(22,52,54,.25);border-bottom:1px solid rgba(22,52,54,.25);background:rgba(255,255,255,.94)}
@media(max-width:700px){.mascot-track{height:126px}.mascot-runner{width:108px;height:112px}.mascot-bob img{width:108px}.mascot-shadow{left:20px;width:67px;height:8px}.mascot-pose-sit{left:21px!important;width:67px!important}.mascot-speech{left:49px;bottom:80px;padding:7px 9px;font-size:10px}}

/* Refined mascot: one entrance, then a quiet interactive idle pose. */
.mascot-track{height:160px;overflow:visible}.mascot-runner{--mascot-rest-x:calc(100vw - var(--sidebar) - 170px);appearance:none;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;pointer-events:auto;animation:mascot-arrive 5.4s cubic-bezier(.22,.78,.32,1) .65s 1 both}.mascot-runner:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:18px}.mascot-bob{animation:mascot-settle 5.4s ease .65s 1 both,mascot-breathe 4.8s ease-in-out 6.1s infinite}.mascot-shadow{animation:mascot-shadow-settle 5.4s ease .65s 1 both,mascot-shadow-idle 4.8s ease-in-out 6.1s infinite}.mascot-pose-run{animation:mascot-arrive-run 5.4s step-end .65s 1 both}.mascot-pose-sit{animation:mascot-arrive-sit 5.4s step-end .65s 1 both;transition:transform .35s ease,filter .35s ease}.mascot-speech{animation:mascot-intro-greeting 5.4s ease .65s 1 both;letter-spacing:.005em}.mascot-runner:hover .mascot-pose-sit{transform:translateY(-2px) rotate(-1.5deg);filter:brightness(1.03)}.mascot-runner.is-greeting .mascot-bob{animation:mascot-friendly-nod 1.05s ease-in-out 2}.mascot-runner.is-greeting .mascot-speech{animation:mascot-repeat-greeting 3.2s ease both}
@keyframes mascot-arrive{0%{transform:translate3d(-170px,0,0)}48%,100%{transform:translate3d(var(--mascot-rest-x),0,0)}}
@keyframes mascot-arrive-run{0%,47%{opacity:1}48%,100%{opacity:0}}
@keyframes mascot-arrive-sit{0%,47%{opacity:0}48%,100%{opacity:1}}
@keyframes mascot-settle{0%,8%,16%,24%,32%,40%{transform:translateY(0) rotate(-.7deg)}4%,12%,20%,28%,36%,44%{transform:translateY(-7px) rotate(.7deg)}48%{transform:translateY(-3px) scale(1.02)}58%,100%{transform:translateY(0) scale(1)}}
@keyframes mascot-breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(.4deg)}}
@keyframes mascot-shadow-settle{0%,44%{transform:scaleX(.72);opacity:.12}48%{transform:scaleX(1.04);opacity:.25}60%,100%{transform:scaleX(1);opacity:.2}}
@keyframes mascot-shadow-idle{0%,100%{transform:scaleX(1);opacity:.2}50%{transform:scaleX(.96);opacity:.16}}
@keyframes mascot-intro-greeting{0%,54%,91%,100%{opacity:0;transform:translateY(7px) scale(.92)}61%,84%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mascot-repeat-greeting{0%,100%{opacity:0;transform:translateY(7px) scale(.92)}12%,78%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mascot-friendly-nod{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-5px) rotate(-2deg)}65%{transform:translateY(-2px) rotate(1.5deg)}}
@media(max-width:700px){.mascot-runner{--mascot-rest-x:calc(100vw - 124px)}.mascot-speech{max-width:150px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.mascot-track{display:block}.mascot-runner{animation:none;transform:translate3d(var(--mascot-rest-x),0,0)}.mascot-bob,.mascot-shadow,.mascot-pose-run,.mascot-pose-sit,.mascot-speech{animation:none}.mascot-pose-run,.mascot-speech{opacity:0}.mascot-pose-sit{opacity:1}.mascot-runner.is-greeting .mascot-speech{animation:none;opacity:1}}

/* Softer reverse entrance; the mascot rests on the left so its greeting opens inward. */
.mascot-runner{--mascot-rest-x:20px;animation:mascot-arrive-reverse 7.2s cubic-bezier(.18,.72,.22,1) .55s 1 both}.mascot-bob{animation:mascot-glide 7.2s cubic-bezier(.42,0,.35,1) .55s 1 both,mascot-breathe 5.4s ease-in-out 7.9s infinite}.mascot-shadow{animation:mascot-shadow-glide 7.2s ease .55s 1 both,mascot-shadow-idle 5.4s ease-in-out 7.9s infinite}.mascot-pose-run{transform:scaleX(-1);animation:mascot-run-fade 7.2s ease .55s 1 both}.mascot-pose-sit{animation:mascot-sit-fade 7.2s ease .55s 1 both}.mascot-speech{animation:mascot-inward-greeting 7.2s ease .55s 1 both}.mascot-runner.is-greeting .mascot-bob{animation:mascot-friendly-nod 1.2s cubic-bezier(.3,.7,.35,1) 2}.mascot-runner.is-greeting .mascot-speech{animation:mascot-repeat-greeting 3.2s ease both}
@keyframes mascot-arrive-reverse{0%{transform:translate3d(calc(100vw - var(--sidebar) + 24px),0,0)}58%,100%{transform:translate3d(var(--mascot-rest-x),0,0)}}
@keyframes mascot-glide{0%,58%{transform:translateY(0)}8%,24%,40%{transform:translateY(-4px) rotate(-.35deg)}16%,32%,48%{transform:translateY(1px) rotate(.35deg)}64%{transform:translateY(-2px) scale(1.01)}76%,100%{transform:translateY(0) scale(1)}}
@keyframes mascot-shadow-glide{0%,54%{transform:scaleX(.78);opacity:.12}62%{transform:scaleX(1.02);opacity:.23}76%,100%{transform:scaleX(1);opacity:.2}}
@keyframes mascot-run-fade{0%,50%{opacity:1}59%,100%{opacity:0}}
@keyframes mascot-sit-fade{0%,50%{opacity:0}62%,100%{opacity:1}}
@keyframes mascot-inward-greeting{0%,62%,92%,100%{opacity:0;transform:translateY(6px) scale(.95)}69%,86%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.mascot-runner{--mascot-rest-x:14px}.mascot-speech{left:49px;right:auto}}

/* A restrained touch response for overview content. */
.content-grid article{position:relative;isolation:isolate}.content-grid article::after{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:radial-gradient(circle at var(--tap-x,50%) var(--tap-y,50%),rgba(241,184,45,.25) 0,rgba(241,184,45,.11) 18%,transparent 48%);opacity:0;transform:scale(.94)}.content-grid article.is-tapped{border-color:rgba(183,123,0,.48);box-shadow:0 13px 34px rgba(25,38,32,.11),0 0 0 1px rgba(241,184,45,.12)}.content-grid article.is-tapped::after{animation:content-touch-response .62s cubic-bezier(.2,.72,.25,1)}
@keyframes content-touch-response{0%{opacity:0;transform:scale(.92)}20%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.content-grid article.is-tapped::after{animation:none;opacity:.14}.mascot-pose-run{transform:scaleX(-1)}}

/* Daphnia chase sequence: chase, slow down, play-bow and tap, then sit and greet. */
.mascot-runner{--mascot-rest-x:52px;animation:mascot-chase 10.8s cubic-bezier(.18,.7,.2,1) .55s 1 both}.mascot-bob{animation:mascot-dog-journey 10.8s linear .55s 1 both,mascot-breathe 5.6s ease-in-out 11.45s infinite}.mascot-shadow{animation:mascot-shadow-journey 10.8s ease .55s 1 both,mascot-shadow-idle 5.6s ease-in-out 11.45s infinite}.mascot-pose-run{transform:scaleX(-1);animation:mascot-run-stage 10.8s ease .55s 1 both}.mascot-pose-play{left:0!important;bottom:0!important;width:148px!important;opacity:0;animation:mascot-play-stage 10.8s ease .55s 1 both}.mascot-pose-sit{transform:scaleX(-1);transform-origin:center bottom;animation:mascot-sit-stage 10.8s ease .55s 1 both}.mascot-speech{animation:mascot-chase-greeting 10.8s ease .55s 1 both}.mascot-daphnia{position:absolute;z-index:4;left:-31px;bottom:35px;width:57px;pointer-events:none;transform-origin:50% 60%;animation:mascot-daphnia-journey 10.8s ease-in-out .55s 1 both,mascot-daphnia-idle 3.8s ease-in-out 11.45s infinite}.mascot-daphnia img{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 7px rgba(6,59,58,.28)) drop-shadow(0 0 5px rgba(241,184,45,.22))}.mascot-runner.is-greeting .mascot-bob{animation:mascot-dog-journey 10.8s linear .55s 1 both,mascot-breathe 5.6s ease-in-out 11.45s infinite}.mascot-runner:hover .mascot-daphnia img{filter:drop-shadow(0 5px 9px rgba(6,59,58,.34)) drop-shadow(0 0 8px rgba(241,184,45,.34))}
@keyframes mascot-chase{0%{transform:translate3d(calc(100vw - var(--sidebar) + 34px),0,0)}51%,100%{transform:translate3d(var(--mascot-rest-x),0,0)}}
@keyframes mascot-dog-journey{0%{transform:translateY(1px) rotate(0)}6%{transform:translateY(-4px) rotate(-.35deg)}12%{transform:translateY(1px) rotate(.35deg)}18%{transform:translateY(-4px) rotate(-.3deg)}24%{transform:translateY(1px) rotate(.3deg)}30%{transform:translateY(-3px) rotate(-.2deg)}38%{transform:translateY(0) rotate(.15deg)}46%{transform:translateY(0) rotate(0)}53%{transform:translateY(2px) rotate(-1deg)}58%{transform:translateY(-1px) rotate(1.1deg)}63%{transform:translateY(2px) rotate(-.8deg)}68%{transform:translateY(0) rotate(0)}76%{transform:translateY(-2px) scale(1.01)}84%,100%{transform:translateY(0) scale(1)}}
@keyframes mascot-shadow-journey{0%,38%{transform:scaleX(.8);opacity:.13}51%{transform:scaleX(1.03);opacity:.23}62%{transform:scaleX(.94);opacity:.18}76%,100%{transform:scaleX(1);opacity:.2}}
@keyframes mascot-run-stage{0%,36%{opacity:1}45%,100%{opacity:0}}
@keyframes mascot-play-stage{0%,37%{opacity:0}46%,67%{opacity:1}76%,100%{opacity:0}}
@keyframes mascot-sit-stage{0%,68%{opacity:0}78%,100%{opacity:1}}
@keyframes mascot-chase-greeting{0%,76%,94%,100%{opacity:0;transform:translateY(6px) scale(.95)}82%,90%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mascot-daphnia-journey{0%{transform:translateY(-3px) rotate(-3deg)}8%{transform:translateY(4px) rotate(2deg)}16%{transform:translateY(-5px) rotate(-4deg)}24%{transform:translateY(3px) rotate(3deg)}32%{transform:translateY(-4px) rotate(-2deg)}40%{transform:translateY(2px) rotate(2deg)}49%{transform:translateY(-2px) rotate(0)}54%{transform:translate3d(-7px,-10px,0) rotate(-11deg)}58%{transform:translate3d(3px,2px,0) rotate(6deg)}62%{transform:translate3d(-5px,-7px,0) rotate(-7deg)}68%,100%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes mascot-daphnia-idle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@media(max-width:700px){.mascot-runner{--mascot-rest-x:36px}.mascot-pose-play{width:108px!important}.mascot-daphnia{left:-23px;bottom:28px;width:43px}}
@media(prefers-reduced-motion:reduce){.mascot-daphnia{animation:none}.mascot-pose-play{animation:none;opacity:0}.mascot-pose-sit{transform:scaleX(-1)}}
.mascot-runner:hover .mascot-pose-sit{transform:scaleX(-1) translateY(-2px) rotate(1.5deg)}

/* Rotating mascot messages and an optional high-priority lab notice. */
.mascot-speech{max-width:270px;white-space:normal;line-height:1.35;text-align:left}.mascot-speech.is-important{min-width:220px;padding:11px 14px;border-color:rgba(241,184,45,.9);background:#181818;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.34),inset 0 3px 0 #f1b82d}.mascot-speech.is-important:before{content:"IMPORTANT NOTICE";display:block;margin-bottom:5px;color:#f1b82d;font-size:9px;font-weight:900;letter-spacing:.13em}.mascot-speech.is-important:after{border-color:transparent rgba(241,184,45,.75) rgba(241,184,45,.75) transparent;background:#181818}.mascot-runner.is-notice .mascot-speech{animation:mascot-notice-message 6.8s ease both}
@keyframes mascot-notice-message{0%,100%{opacity:0;transform:translateY(7px) scale(.94)}8%,88%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.mascot-speech{max-width:min(205px,58vw);white-space:normal}.mascot-speech.is-important{min-width:175px;padding:9px 11px;font-size:10px}.mascot-speech.is-important:before{font-size:8px}}
@media(prefers-reduced-motion:reduce){.mascot-runner.is-notice .mascot-speech{animation:none;opacity:1}}

/* People roster: six compact entries across two rows on desktop. */
.people-roster{display:grid;grid-template-rows:repeat(2,minmax(74px,auto));grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1px;margin:0 14px 18px;padding:1px;background:#e2e2de}.people-roster details{min-width:0;background:#fff}.people-roster summary{position:relative;display:flex;height:100%;min-height:74px;box-sizing:border-box;flex-direction:column;justify-content:center;gap:4px;padding:12px 10px 12px 25px;color:#343a37;font-size:10px;font-weight:750;line-height:1.25;list-style:none;cursor:pointer}.people-roster summary::-webkit-details-marker{display:none}.people-roster summary:before{content:"+";position:absolute;left:9px;top:50%;color:#b77b00;font-size:16px;font-weight:700;transform:translateY(-50%)}.people-roster details[open] summary:before{content:"−"}.people-roster summary span{color:#777f7b;font-size:8px;font-weight:500}.person-note{padding:0 10px 12px 25px}.person-note p{margin:0;color:#626a66;font-size:9px;line-height:1.45}.people-roster details[open]{box-shadow:inset 0 2px 0 rgba(241,184,45,.72)}
@media(max-width:700px){.people-roster{grid-template-rows:none;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;margin:0 18px 18px}.people-roster summary{min-height:72px;font-size:11px}.people-roster summary span{font-size:8px}}

/* More legible desktop water motion, with an explicit accessible motion control. */
.motion-toggle{position:absolute;z-index:6;right:22px;bottom:16px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(7,28,28,.46);color:rgba(255,255,255,.82);font:700 9px/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(7px);box-shadow:0 5px 18px rgba(0,0,0,.15)}.motion-toggle:hover,.motion-toggle:focus-visible{border-color:rgba(241,184,45,.72);color:#fff}.motion-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.motion-toggle b{font:inherit}.motion-toggle small{min-width:18px;color:var(--gold);font:800 8px/1 Arial,sans-serif}.motion-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:motion-dot-pulse 1.8s ease-in-out infinite}.motion-toggle[aria-pressed="false"] .motion-dot{background:#aaa;box-shadow:none;animation:none}.motion-toggle[aria-pressed="false"] small{color:#bbb}
@keyframes motion-dot-pulse{50%{transform:scale(1.45);opacity:.58}}
@media(min-width:701px){.hero-photo{animation-name:hero-drift-desktop;animation-duration:8.5s}.water-light:before{opacity:.72;animation-duration:5.8s}.water-light:after{animation-duration:7.2s}.water-particles{opacity:.38;animation-duration:9s}.hero:before{animation-duration:6.2s}.hero:after{animation-duration:5.4s}}
@keyframes hero-drift-desktop{0%{transform:scale(1.025) translate3d(1.1%,.5%,0)}45%{transform:scale(1.09) translate3d(-1.2%,-.7%,0)}100%{transform:scale(1.145) translate3d(-3.1%,-1.4%,0)}}
.motion-paused .hero-photo,.motion-paused .water-light,.motion-paused .water-light:before,.motion-paused .water-light:after,.motion-paused .water-particles,.motion-paused .water-particles i,.motion-paused .water-particles b,.motion-paused .hero:before,.motion-paused .hero:after,.motion-paused .motion-dot{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body.motion-forced .hero-photo{animation:hero-drift-desktop 11s ease-in-out infinite alternate!important}body.motion-forced .water-light{animation:light-breathe 7s ease-in-out infinite alternate!important}body.motion-forced .water-light:before{display:block;animation:surface-shimmer 8s ease-in-out infinite alternate!important}body.motion-forced .water-light:after{display:block;animation:rays-sway 10s ease-in-out infinite alternate!important}body.motion-forced .water-particles{animation:particles-rise 14s linear infinite!important}body.motion-forced .water-particles i{animation:float-speck 8s ease-in-out infinite!important}body.motion-forced .water-particles b{display:block;animation:bubble-rise var(--duration) linear var(--delay) infinite!important}body.motion-forced .hero:before{animation:current-sweep 9s ease-in-out infinite alternate!important}body.motion-forced .hero:after{animation:glint-pass 8s ease-in-out infinite!important}}
@media(max-width:700px){.motion-toggle{right:14px;bottom:14px}.motion-toggle b{display:none}}

/* Unified monoline navigation icons: crisp at compact and expanded sizes. */
.sidebar nav a .nav-icon{position:relative;display:block;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.035);color:#bfc4c1;font-size:0;transition:color .22s ease,border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease}.sidebar nav a:hover .nav-icon,.sidebar nav a:focus-visible .nav-icon{transform:translateY(-1px);border-color:rgba(241,184,45,.48);color:#f1b82d;background:rgba(241,184,45,.08)}.sidebar nav a.is-active .nav-icon{border-color:#f1b82d;background:#f1b82d;color:#171300;box-shadow:0 5px 16px rgba(241,184,45,.2)}.sidebar nav a .nav-icon:before,.sidebar nav a .nav-icon:after{content:"";position:absolute;display:block;box-sizing:border-box}
.icon-home:before{left:10px;top:14px;width:13px;height:11px;border:1.5px solid currentColor;border-top:0;border-radius:0 0 2px 2px}.icon-home:after{left:10px;top:8px;width:13px;height:13px;border-left:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg) scale(.72)}
.icon-research:before{left:13px;top:13px;width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;box-shadow:-7px -6px 0 -2px currentColor,7px 6px 0 -2px currentColor}.icon-research:after{left:8px;top:16px;width:18px;height:1.5px;background:currentColor;transform:rotate(40deg);transform-origin:center}
.icon-publications:before{left:9px;top:7px;width:15px;height:19px;border:1.5px solid currentColor;border-radius:2px}.icon-publications:after{left:12px;top:12px;width:9px;height:1.5px;background:currentColor;box-shadow:0 4px 0 currentColor,0 8px 0 currentColor}
.icon-people:before{left:8px;top:8px;width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;box-shadow:11px 2px 0 -1px currentColor}.icon-people:after{left:6px;top:18px;width:14px;height:8px;border:1.5px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0;box-shadow:10px 1px 0 -1px currentColor}
.icon-news:before{left:8px;top:10px;width:0;height:0;border-top:7px solid transparent;border-right:14px solid currentColor;border-bottom:7px solid transparent}.icon-news:after{left:10px;top:20px;width:3px;height:8px;border-radius:2px;background:currentColor;transform:rotate(-18deg)}
.icon-contact:before{left:7px;top:10px;width:20px;height:15px;border:1.5px solid currentColor;border-radius:2px}.icon-contact:after{left:10px;top:8px;width:14px;height:14px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.icon-browser:before{left:7px;top:7px;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%}.icon-browser:after{left:10px;top:10px;width:14px;height:14px;border:1.5px solid currentColor;border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;background:linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat,linear-gradient(90deg,currentColor,currentColor) center/100% 1.5px no-repeat}
.icon-tools:before{left:15px;top:7px;width:6px;height:21px;border-radius:4px;background:currentColor;transform:rotate(42deg)}.icon-tools:after{left:8px;top:8px;width:9px;height:9px;border:2px solid currentColor;border-radius:50%;box-shadow:11px 11px 0 -2px #101010,11px 11px 0 0 currentColor}
.sidebar nav a.is-active .icon-tools:after,.resource-nav a.resource-live .icon-tools:after{box-shadow:11px 11px 0 -2px #f1b82d,11px 11px 0 0 currentColor}.icon-protocols:before{left:9px;top:8px;width:16px;height:19px;border:1.5px solid currentColor;border-radius:2px}.icon-protocols:after{left:13px;top:6px;width:8px;height:4px;border:1.5px solid currentColor;border-radius:3px;background:#101010;box-shadow:0 7px 0 -1px currentColor,0 11px 0 -1px currentColor}
.resource-nav a.resource-live .nav-icon{border-color:#f1b82d;background:#f1b82d;color:#171300;box-shadow:0 5px 16px rgba(241,184,45,.2)}.resource-nav a.resource-live .icon-browser:after{background:linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat,linear-gradient(90deg,currentColor,currentColor) center/100% 1.5px no-repeat}.sidebar nav a{gap:13px}.sidebar nav a .nav-label{flex:1}
@media(max-width:700px){.sidebar nav a .nav-icon{flex-basis:32px;width:32px;height:32px;border-radius:9px}.sidebar nav a{gap:14px}}

/* Photo-led people roster, official Mizzou footer signature, and a short right-side mascot entrance. */
.people-roster{grid-template-rows:repeat(2,minmax(142px,auto))}.people-roster summary{min-height:142px;align-items:center;justify-content:flex-start;gap:3px;padding:12px 8px 10px;text-align:center}.people-roster summary:before{left:8px;top:12px;transform:none}.people-roster summary strong{font-size:10px;line-height:1.25}.people-roster summary .person-role{color:#777f7b;font-size:7.5px;line-height:1.25}.person-photo{display:block!important;flex:none!important;width:62px!important;height:62px!important;margin:0 auto 5px!important;overflow:hidden;border:1px solid #d6d9d6;border-radius:50%;background:#eef0ed}.person-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.person-initials{display:grid!important;place-items:center;background:linear-gradient(145deg,#1c3835,#315b55);color:#f1b82d!important;font:800 15px/1 Arial,sans-serif;letter-spacing:.04em}.person-note{padding:0 8px 12px;text-align:center}.person-note p{font-size:8.5px}
footer{justify-content:flex-start;gap:28px}.footer-legal{display:block;max-width:520px}.footer-legal p{line-height:1.55}.footer-legal p+p{margin-top:5px}.footer-legal a{color:#c8c8c8;text-decoration-thickness:1px;text-underline-offset:2px}.mizzou-signature{display:block;flex:none;width:190px;min-width:130px;margin-left:auto;margin-right:210px;padding:0;text-decoration:none}.mizzou-signature img{display:block;width:100%;height:auto}.mascot-runner{--mascot-rest-x:calc(100vw - var(--sidebar) - 190px)}.mascot-speech{left:auto;right:94px}.mascot-speech:after{left:auto;right:16px;transform:skewY(-38deg) rotate(55deg)}
@keyframes mascot-chase{0%{transform:translate3d(calc(100vw - var(--sidebar) + 34px),0,0)}51%,100%{transform:translate3d(var(--mascot-rest-x),0,0)}}
@media(max-width:700px){.people-roster{grid-template-rows:none}.people-roster summary{min-height:146px}.person-photo{width:68px!important;height:68px!important}footer{padding-bottom:150px}.mizzou-signature{align-self:flex-end;width:160px;margin:0}.mascot-runner{--mascot-rest-x:calc(100vw - 128px)}.mascot-speech{right:68px;left:auto}.mascot-speech:after{right:13px;left:auto}}

/* Keep every mascot message inside the viewport, including longer notices. */
.mascot-speech{box-sizing:border-box;width:max-content;max-width:min(270px,calc(100vw - 24px));overflow-wrap:anywhere;word-break:normal;hyphens:auto;transition:translate .2s ease}.mascot-speech.is-important{width:max-content;max-width:min(290px,calc(100vw - 24px))}
@media(max-width:700px){.mascot-speech,.mascot-speech.is-important{width:max-content;max-width:min(205px,calc(100vw - 20px))}}

/* Expandable person contact details. */
.person-note{border-top:1px solid #ecece8}.person-intro{min-height:35px}.person-email,.person-email-pending{display:block;margin-top:7px;color:#8a5d00;font-size:8px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.person-email{text-decoration-thickness:1px;text-underline-offset:2px}.person-email-pending{color:#929794;font-weight:600}.person-email[hidden],.person-email-pending[hidden]{display:none}.person-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px}.person-scholar{display:inline-flex;align-items:center;gap:3px;margin-top:7px;color:#1f4f4a;font-size:8px;font-weight:800;line-height:1.35;text-decoration-thickness:1px;text-underline-offset:2px}.person-scholar:hover,.person-scholar:focus-visible{color:#8a5d00}
@media(min-width:1500px){.person-email,.person-email-pending{font-size:10px}.person-intro{min-height:44px}}

/* Alumni stay compact and separate from the photo-led current-member cards. */
.people-roster{grid-template-rows:minmax(142px,auto);grid-auto-columns:minmax(0,1fr)}.alumni-panel{margin:0 14px 18px;border:1px solid #deded9;background:#fafaf8}.alumni-panel>summary{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:10px 42px 10px 16px;color:#303633;list-style:none;cursor:pointer}.alumni-panel>summary::-webkit-details-marker{display:none}.alumni-panel>summary:after{content:"+";position:absolute;right:16px;top:50%;color:#a66f00;font:500 20px/1 Arial,sans-serif;transform:translateY(-50%)}.alumni-panel[open]>summary:after{content:"−"}.alumni-panel>summary span{display:grid;gap:3px}.alumni-panel>summary b{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.alumni-panel>summary small,.alumni-panel>summary em{color:#858b88;font-size:8px;font-style:normal}.alumni-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0 16px 14px;list-style:none}.alumni-roster li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e4e4df}.alumni-roster li:nth-child(odd){padding-right:14px}.alumni-roster li:nth-child(even){padding-left:14px;border-left:1px solid #e4e4df}.alumni-roster strong{color:#343a37;font-size:9px}.alumni-roster span{color:#777f7b;font-size:8px;text-align:right}.alumni-panel[open] .alumni-roster{animation:disclosure-in .28s ease both}
@media(max-width:700px){.people-roster{grid-template-columns:1fr;grid-template-rows:none}.alumni-panel{margin:0 18px 18px}.alumni-roster{grid-template-columns:1fr}.alumni-roster li:nth-child(odd),.alumni-roster li:nth-child(even){padding:10px 0;border-left:0}.alumni-roster strong{font-size:10px}.alumni-roster span{font-size:8px}}

/* Speech tail exits toward the dog's head, not toward the Daphnia companion. */
.mascot-speech{right:82px}.mascot-speech:after{left:auto;right:-7px;bottom:11px;width:14px;height:14px;border:0;border-right:1px solid rgba(22,52,54,.34);border-bottom:1px solid rgba(22,52,54,.34);background:inherit;transform:rotate(-45deg) skew(-7deg,-7deg)}.mascot-speech.is-important:after{border-right-color:#f1b82d;border-bottom-color:#f1b82d;background:#181818}
@media(max-width:700px){.mascot-speech{right:57px}.mascot-speech:after{right:-6px;bottom:10px;width:12px;height:12px}}

/* Daily science fact, seasonal lake light, and six playful mascot states. */
.daphnia-fact{position:absolute;z-index:6;left:6.2%;bottom:20px;display:grid;width:min(390px,42vw);grid-template-columns:48px 1fr 30px;gap:11px;align-items:start;padding:12px 12px 11px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(7,31,31,.66);color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.2);backdrop-filter:blur(10px);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.daphnia-fact>img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.24))}.daphnia-fact>div{min-width:0}.fact-kicker{display:block;color:#f1b82d;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.fact-text{margin:5px 0 6px;color:#fff;font-size:11px;line-height:1.42}.fact-source{color:#dcebe7;font-size:8px;font-weight:700;text-underline-offset:2px}.season-status{display:block;margin-top:5px;color:#9eb8b2;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.fact-next{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(241,184,45,.42);border-radius:50%;background:rgba(241,184,45,.08);color:#f1b82d;font-size:16px;cursor:pointer;transition:transform .25s ease,background .25s ease}.fact-next:hover,.fact-next:focus-visible{background:#f1b82d;color:#171300;transform:rotate(28deg)}.fact-next:focus-visible{outline:2px solid #fff;outline-offset:2px}.daphnia-fact.fact-highlight{border-color:#f1b82d;box-shadow:0 0 0 4px rgba(241,184,45,.12),0 16px 40px rgba(0,0,0,.28);transform:translateY(-3px)}
.hero-photo{--lake-saturation:1.05;--lake-hue:0deg;--lake-brightness:1;--lake-contrast:1.03;filter:saturate(var(--lake-saturation)) hue-rotate(var(--lake-hue)) brightness(var(--lake-brightness)) contrast(var(--lake-contrast));transition:filter 1.6s ease}.hero{transition:background-color 1.6s ease}body[data-season="spring"] .hero-photo{--lake-saturation:1.13;--lake-hue:-5deg}body[data-season="summer"] .hero-photo{--lake-saturation:1.08;--lake-hue:0deg}body[data-season="fall"] .hero-photo{--lake-saturation:.98;--lake-hue:8deg;--lake-contrast:1.07}body[data-season="winter"] .hero-photo{--lake-saturation:.78;--lake-hue:9deg;--lake-contrast:1.08}body[data-day-phase="dawn"] .hero-photo{--lake-brightness:.96}body[data-day-phase="dusk"] .hero-photo{--lake-brightness:.78;--lake-contrast:1.08}body[data-day-phase="night"] .hero-photo{--lake-brightness:.55;--lake-saturation:.74;--lake-contrast:1.12}body[data-day-phase="night"] .water-light{background:linear-gradient(90deg,rgba(3,20,31,.9),rgba(6,33,43,.7) 48%,rgba(5,25,39,.32) 75%,transparent),radial-gradient(ellipse at 65% -5%,rgba(164,211,226,.16),transparent 42%)}body[data-day-phase="dusk"] .water-light{background:linear-gradient(90deg,rgba(24,39,37,.88),rgba(47,58,42,.55) 50%,rgba(88,61,25,.12) 78%,transparent),radial-gradient(ellipse at 63% -8%,rgba(255,196,100,.22),transparent 42%)}body[data-season="winter"] .water-particles{opacity:.48}body[data-season="spring"] .water-particles{opacity:.4}
.mascot-runner.interaction-curious .mascot-daphnia img{filter:drop-shadow(0 6px 11px rgba(6,59,58,.42)) drop-shadow(0 0 12px rgba(241,184,45,.48))}.mascot-runner.interaction-play .mascot-pose-run,.mascot-runner.interaction-play .mascot-pose-sit{opacity:0!important}.mascot-runner.interaction-play .mascot-pose-play{opacity:1!important;animation:none!important}.mascot-runner.interaction-play .mascot-bob{animation:dog-stretch 1.4s ease-in-out 2!important}.mascot-runner.interaction-nap .mascot-pose-run,.mascot-runner.interaction-nap .mascot-pose-play{opacity:0!important}.mascot-runner.interaction-nap .mascot-pose-sit{opacity:1!important}.mascot-runner.interaction-nap .mascot-bob{animation:dog-nap 2.8s ease-in-out infinite!important}.mascot-runner.interaction-nap .mascot-shadow{animation:dog-nap-shadow 2.8s ease-in-out infinite!important}
@keyframes dog-stretch{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(4px) rotate(-2deg) scaleX(1.03)}65%{transform:translateY(-2px) rotate(1deg)}}@keyframes dog-nap{0%,100%{transform:translateY(2px) rotate(2deg)}50%{transform:translateY(4px) rotate(2.6deg) scale(.99)}}@keyframes dog-nap-shadow{0%,100%{transform:scaleX(1);opacity:.18}50%{transform:scaleX(1.05);opacity:.22}}
@media(max-width:700px){.daphnia-fact{left:16px;right:68px;top:76px;bottom:auto;width:auto;grid-template-columns:38px 1fr 28px;padding:10px}.daphnia-fact>img{width:38px;height:38px}.fact-text{font-size:10px}.season-status{font-size:6.5px}}
@media(max-width:390px){.daphnia-fact{right:58px;grid-template-columns:32px 1fr 26px;gap:8px}.daphnia-fact>img{width:32px;height:32px}.fact-source{display:none}}
@media(prefers-reduced-motion:reduce){.daphnia-fact,.hero-photo{transition:none}.fact-next,.mascot-runner.interaction-play .mascot-bob,.mascot-runner.interaction-nap .mascot-bob,.mascot-runner.interaction-nap .mascot-shadow{animation:none!important}}

/* Desktop overview: two primary cards, then People / News / Contact in one row. */
@media(min-width:821px){.content-grid #research,.content-grid #publications{grid-column:span 3}.content-grid #people,.content-grid #news,.content-grid #contact{grid-column:span 2;min-height:370px}.content-grid #contact .contact-layout{grid-template-columns:1fr}.content-grid #contact .map-placeholder{min-height:132px}}

/* Lake photograph retained from the original Xu Lab homepage. */
.research-visual{background:#d7e2e5}.research-visual:before{content:none}.research-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 64%;filter:saturate(.92) contrast(1.03);transition:transform .8s cubic-bezier(.2,.72,.25,1),filter .5s ease}.feature-card:hover .research-visual img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}
@media(prefers-reduced-motion:reduce){.feature-card:hover .research-visual img{transform:none}}

/* Original-site content adapted to the test-page design. */
.people-portraits{display:grid;grid-template-columns:repeat(3,1fr);height:156px;overflow:hidden;background:#e7ece8}.people-portraits figure{position:relative;margin:0;overflow:hidden}.people-portraits img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88)}.people-portraits figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 6px 6px;background:linear-gradient(transparent,rgba(8,24,20,.88));color:#fff}.people-portraits strong,.people-portraits span{display:block}.people-portraits strong{font-size:9px}.people-portraits span{margin-top:2px;font-size:6px;line-height:1.2}.news-photo{display:block;width:100%;height:120px;object-fit:cover;object-position:center 58%;border-radius:2px}.contact-card a:not(.gold-button){color:#7b5700}.map-placeholder{text-decoration:none}.position-card,.research-expanded{grid-column:span 6;border:1px solid var(--line);background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.035)}.position-card{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:24px 28px;border-left:4px solid var(--gold)}.position-card h2{margin:3px 0 7px;font:500 25px/1.1 var(--serif);color:#222}.position-card p{max-width:720px;margin:0;color:#555;font-size:12px;line-height:1.55}.position-card .eyebrow{color:#a66f00;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.position-card .gold-button{flex:none}.research-expanded{padding:24px 28px}.research-expanded>header>p{margin:0 0 8px;color:#a66f00;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.research-expanded>header>h2{margin:0;font:500 28px/1.15 var(--serif);color:#222}.research-topics{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin-top:22px}.research-topics section{padding:18px 0;border-top:1px solid #e1e1dd}.research-topics h3{margin:0 0 8px;font-size:14px;color:#253b37}.research-topics p{margin:0;color:#5a625f;font-size:11px;line-height:1.65}.alumni-line{margin:12px 0 0;padding-top:18px;border-top:1px solid #e1e1dd;color:#646b68;font-size:11px}.position-card,.research-expanded{transition:border-color .35s ease,box-shadow .35s ease}.position-card:hover,.research-expanded:hover{border-color:#c9b477;box-shadow:0 16px 40px rgba(25,38,32,.1)}
@media(max-width:820px){.position-card,.research-expanded{grid-column:1/-1}.research-topics{grid-template-columns:1fr}.position-card{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:700px){.people-portraits{height:170px}.news-photo{height:150px}.research-expanded{padding:20px}.research-expanded>header>h2{font-size:24px}}

/* Compact + disclosures replace the duplicated long-form section. */
.disclosure-list{padding:0 16px}.disclosure-list details{border-bottom:1px solid #e2e2de}.disclosure-list summary{position:relative;display:flex;align-items:center;min-height:44px;padding:9px 34px 9px 23px;color:#434946;font-size:11px;font-weight:650;line-height:1.35;list-style:none;cursor:pointer}.disclosure-list summary::-webkit-details-marker{display:none}.disclosure-list summary:before{content:"+";position:absolute;left:3px;top:50%;color:#b77b00;font-size:18px;font-weight:500;transform:translateY(-52%);transition:transform .25s ease}.disclosure-list summary:after{content:"";position:absolute;right:2px;width:7px;height:7px;border-right:1px solid #a3aaa6;border-bottom:1px solid #a3aaa6;transform:rotate(45deg) translateY(-3px);transition:transform .25s ease}.disclosure-list details[open] summary:before{content:"−";transform:translateY(-52%) rotate(180deg)}.disclosure-list details[open] summary:after{transform:rotate(225deg) translate(-2px,-1px)}.disclosure-list summary small{display:block;margin-left:auto;padding-left:12px;color:#8b918e;font-size:8px;font-weight:500;text-align:right}.disclosure-body{padding:0 8px 14px 23px;animation:disclosure-in .28s ease both}.disclosure-body p{margin:0;color:#646b68;font-size:10px;line-height:1.65}.person-detail{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center}.person-detail img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center top}.alumni-list p{line-height:1.85}.research-disclosures,.people-disclosures{flex:1}.research-expanded{display:none}
@keyframes disclosure-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.disclosure-list{padding:0 18px}.disclosure-list summary{min-height:47px;font-size:12px}.disclosure-list summary small{max-width:42%;font-size:8px}}
@media(prefers-reduced-motion:reduce){.disclosure-body{animation:none}.disclosure-list summary:before,.disclosure-list summary:after{transition:none}}

/* People disclosures must grow with their full introduction and email. */
.people-roster details{align-self:start;overflow:visible}.people-roster summary{height:auto}.people-roster details[open]{height:auto}.people-roster details[open] .person-note{display:block;min-height:76px;padding:12px 12px 15px}.person-intro{min-height:0!important;font-size:10px!important;line-height:1.55!important}.person-email,.person-email-pending{margin-top:10px;font-size:10px;line-height:1.45}.person-email{display:inline-block;max-width:100%;padding:3px 0;color:#7b5700;font-weight:800}
@media(max-width:700px){.people-roster details[open] .person-note{min-height:0}.person-intro,.person-email,.person-email-pending{font-size:10px!important}}

/* Refined institutional footer; the official signature image remains unaltered. */
.site-footer{display:grid;grid-template-columns:minmax(310px,1.2fr) minmax(250px,.9fr) minmax(260px,1fr);min-height:0;gap:0;padding:0;background:#0d0e0e;border-top:4px solid #f1b82d;color:#fff}.site-footer>div{display:flex}.footer-brand{align-items:center;gap:32px;padding:27px 32px}.site-footer .mizzou-signature{display:block;flex:none;width:180px;min-width:130px;margin:0;padding:0;text-decoration:none}.site-footer .mizzou-signature img{display:block;width:100%;height:auto}.footer-unit{display:grid;gap:5px;padding-left:26px;border-left:1px solid #3c3d3d}.footer-unit strong{font:500 19px/1.1 var(--serif)}.footer-unit a{color:#f1b82d;font-size:10px;font-weight:750;text-decoration:none}.footer-unit span{color:#aeb1af;font-size:9px}.footer-support{align-items:flex-start;justify-content:center;flex-direction:column;padding:25px 30px;border-left:1px solid #292b2a;border-right:1px solid #292b2a;background:#151716}.footer-support>span{margin-bottom:7px;color:#f1b82d;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.footer-support p{max-width:320px;color:#c5c8c6;font-size:10px;line-height:1.55}.footer-support a{color:#fff;text-decoration-color:#796e4c;text-underline-offset:3px}.site-footer .footer-legal{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:none;padding:25px 32px}.site-footer .footer-legal p{color:#989d9a;font-size:9px;line-height:1.55}.site-footer .footer-legal p+p{margin-top:7px}.site-footer .footer-legal a{color:#c9cdca}
@media(max-width:1000px){.site-footer{grid-template-columns:1fr 1fr}.site-footer .footer-brand{grid-column:1/-1;border-bottom:1px solid #292b2a}.footer-support{border-left:0}.site-footer .footer-legal{padding-right:170px}}
@media(max-width:700px){.site-footer{grid-template-columns:1fr;padding-bottom:145px}.site-footer .footer-brand,.site-footer .footer-support,.site-footer .footer-legal{grid-column:auto;padding:22px}.footer-brand{flex-direction:column;align-items:flex-start;gap:20px}.site-footer .mizzou-signature{width:170px}.footer-unit{padding:14px 0 0;border-top:1px solid #3c3d3d;border-left:0}.footer-support{border:0;border-top:1px solid #292b2a;border-bottom:1px solid #292b2a}.site-footer .footer-legal{padding-right:150px}}

/* Current members use a full-width list so expanded content never wraps into a narrow tile. */
.people-roster{display:grid;grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;grid-auto-columns:auto}.people-roster summary{min-height:82px;align-items:center;justify-content:flex-start;flex-direction:row;gap:12px;padding:10px 16px 10px 30px;text-align:left}.people-roster summary:before{left:10px;top:50%;transform:translateY(-50%)}.people-roster summary .person-photo{width:54px!important;height:54px!important;margin:0!important}.people-roster summary strong{font-size:11px}.people-roster summary .person-role{margin-left:auto;font-size:8px;text-align:right}.people-roster details[open] .person-note{min-height:0;padding:13px 16px 16px 96px;text-align:left}.person-intro{font-size:10px!important}.person-email{font-size:10px!important}
@media(max-width:700px){.people-roster{grid-template-columns:1fr}.people-roster summary{min-height:84px}.people-roster details[open] .person-note{padding:12px 16px 16px 30px}.people-roster summary .person-role{max-width:38%}}

/* Official NSF mark, kept separate from the Mizzou signature and unaltered. */
.footer-support{align-items:center;justify-content:flex-start;flex-direction:row;gap:19px}.footer-support>div{display:block}.footer-support>div>span{display:block;margin-bottom:7px;color:#f1b82d;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nsf-logo{display:grid;flex:0 0 76px;width:76px;height:76px;place-items:center;padding:5px;border-radius:50%;background:#fff;text-decoration:none;box-shadow:0 0 0 1px rgba(255,255,255,.14)}.nsf-logo img{display:block;width:100%;height:100%;object-fit:contain}.nsf-logo:focus-visible{outline:2px solid #f1b82d;outline-offset:4px}
@media(max-width:700px){.footer-support{flex-direction:row!important;align-items:center!important}.nsf-logo{flex-basis:68px;width:68px;height:68px}.footer-support p{max-width:220px}}

/* More readable People typography. */
.people-roster summary{min-height:88px;gap:14px}.people-roster summary strong{font-size:13px;line-height:1.3}.people-roster summary .person-role{font-size:9.5px;line-height:1.35}.people-roster details[open] .person-note{padding-top:15px;padding-bottom:18px}.person-intro{font-size:11.5px!important;line-height:1.62!important}.person-email,.person-email-pending{font-size:11px!important;line-height:1.5}.alumni-panel>summary b{font-size:12px}.alumni-panel>summary small,.alumni-panel>summary em{font-size:9.5px}.alumni-roster strong{font-size:11px;line-height:1.4}.alumni-roster span{font-size:9.5px;line-height:1.4}
@media(max-width:700px){.people-roster summary strong{font-size:13px}.people-roster summary .person-role{font-size:9.5px}.person-intro{font-size:11.5px!important}.person-email,.person-email-pending{font-size:11px!important}.alumni-roster li{align-items:flex-start;flex-direction:column;gap:3px}.alumni-roster span{text-align:left}}

/* One-percent mascot surprise: a complete, interaction-locked celebration sequence. */
.lucky-celebration{position:fixed;z-index:10000;inset:0;overflow:hidden;pointer-events:auto;touch-action:none;cursor:wait;background:radial-gradient(circle at 50% 45%,rgba(40,88,78,.28),transparent 38%),rgba(3,10,9,.74);opacity:0;animation:lucky-layer-in .42s ease-out forwards}.lucky-celebration *{pointer-events:none}.lucky-vignette{position:absolute;inset:-12%;background:radial-gradient(circle at 50% 50%,transparent 22%,rgba(0,0,0,.58) 78%);animation:lucky-vignette 2.4s ease-in-out infinite alternate}.lucky-rays{position:absolute;inset:-45%;background:repeating-conic-gradient(from 0deg,rgba(241,184,45,.13) 0 5deg,transparent 5deg 18deg);mask-image:radial-gradient(circle,#000 0 22%,transparent 66%);animation:lucky-rays 12s linear infinite}.lucky-stage{position:absolute;z-index:4;left:50%;top:50%;display:grid;width:min(620px,calc(100vw - 40px));place-items:center;padding:42px 28px 38px;border:1px solid rgba(241,184,45,.54);border-radius:4px;background:linear-gradient(145deg,rgba(9,28,25,.94),rgba(15,17,16,.92));color:#fff;box-shadow:0 0 0 8px rgba(241,184,45,.07),0 30px 100px rgba(0,0,0,.56),inset 0 1px rgba(255,255,255,.15);text-align:center;opacity:0;transform:translate(-50%,-46%) scale(.78);animation:lucky-stage-in .72s .3s cubic-bezier(.17,.84,.28,1.18) forwards}.lucky-stage:before,.lucky-stage:after{content:"✦";position:absolute;top:24px;color:#f1b82d;font-size:23px;animation:lucky-star-pulse 1.05s ease-in-out infinite alternate}.lucky-stage:before{left:28px}.lucky-stage:after{right:28px;animation-delay:-.5s}.lucky-odds{padding:7px 10px;border:1px solid rgba(241,184,45,.48);color:#f1b82d;font-size:10px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.lucky-stage>strong{display:block;margin:20px 0 9px;background:linear-gradient(95deg,#fff1ae,#f1b82d 42%,#fff 60%,#d39b16);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;font:800 clamp(46px,8vw,92px)/.85 var(--serif);letter-spacing:-.055em;text-shadow:0 10px 38px rgba(241,184,45,.14);animation:lucky-title-shine 1.6s linear infinite}.lucky-stage p{margin:0;color:#d9e4df;font-size:clamp(12px,1.6vw,17px);line-height:1.5}.lucky-progress{position:absolute;z-index:5;left:50%;bottom:max(28px,env(safe-area-inset-bottom));width:min(340px,62vw);height:3px;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.16);transform:translateX(-50%)}.lucky-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#f1b82d,#fff1a7,#67d9cf);box-shadow:0 0 14px rgba(241,184,45,.75);transform-origin:left;animation:lucky-progress 5.2s linear forwards}.lucky-burst{position:absolute;width:1px;height:1px}.lucky-spark,.lucky-ring{position:absolute;left:0;top:0;display:block}.lucky-spark{width:7px;height:7px;margin:-3px;border-radius:50%;background:var(--spark);box-shadow:0 0 7px var(--spark),0 0 18px var(--spark);opacity:0;animation:lucky-spark 1.55s cubic-bezier(.16,.76,.22,1) var(--delay) forwards}.lucky-spark:nth-child(3n){width:3px;height:17px;border-radius:4px}.lucky-spark:nth-child(4n){width:10px;height:2px;border-radius:3px}.lucky-ring{width:18px;height:18px;margin:-9px;border:2px solid #f1b82d;border-radius:50%;filter:drop-shadow(0 0 9px #f1b82d);opacity:0;animation:lucky-ring 1.25s ease-out var(--delay) forwards}.lucky-confetti{position:absolute;left:var(--x);top:-28px;width:8px;height:15px;border-radius:2px;background:var(--confetti);box-shadow:0 0 5px rgba(255,255,255,.28);opacity:0;animation:lucky-confetti var(--fall) cubic-bezier(.2,.62,.28,1) var(--delay) forwards}.lucky-confetti:nth-of-type(3n){width:13px;height:5px}.lucky-confetti:nth-of-type(4n){border-radius:50%}.lucky-comet{position:absolute;bottom:-90px;width:3px;height:95px;border-radius:99px;background:linear-gradient(0deg,transparent,#fff4bd 64%,#fff);filter:drop-shadow(0 0 8px #f1b82d);opacity:0;transform:rotate(8deg);animation:lucky-comet 1.15s ease-out var(--delay) forwards}.lucky-celebration.is-finale .lucky-stage{border-color:#fff1a7;box-shadow:0 0 0 13px rgba(241,184,45,.1),0 0 85px rgba(241,184,45,.42),0 30px 100px rgba(0,0,0,.56);transition:border-color .5s ease,box-shadow .5s ease}.lucky-celebration.is-finale .lucky-stage>strong{filter:brightness(1.22)}.lucky-celebration.is-ending{animation:lucky-layer-out .62s ease-in forwards}body.lucky-locked{overscroll-behavior:none}body.lucky-locked .mascot-runner{z-index:10001;pointer-events:none;filter:drop-shadow(0 0 24px rgba(241,184,45,.65))}.mascot-runner.interaction-lucky .mascot-bob{animation:lucky-dog 1.08s cubic-bezier(.2,.8,.25,1) 5}.mascot-runner.interaction-lucky .mascot-shadow{animation:shadow-play .54s ease-in-out 9}.mascot-runner.interaction-lucky .mascot-daphnia{animation:lucky-daphnia 1.3s ease-in-out 4}.mascot-runner.interaction-lucky .mascot-speech{border-color:#f1b82d;box-shadow:0 12px 42px rgba(241,184,45,.42)}
@keyframes lucky-layer-in{to{opacity:1}}@keyframes lucky-layer-out{to{opacity:0;visibility:hidden}}@keyframes lucky-vignette{to{transform:scale(1.08);opacity:.76}}@keyframes lucky-rays{to{transform:rotate(360deg)}}@keyframes lucky-stage-in{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes lucky-star-pulse{to{transform:scale(1.5) rotate(30deg);filter:drop-shadow(0 0 10px #f1b82d)}}@keyframes lucky-title-shine{to{background-position:-220% center}}@keyframes lucky-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes lucky-spark{0%{opacity:0;transform:translate(0,0) scale(.15)}13%{opacity:1;transform:translate(0,0) scale(1.4)}72%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.12)}}@keyframes lucky-ring{0%{opacity:.95;transform:scale(.15)}100%{opacity:0;transform:scale(8)}}@keyframes lucky-confetti{0%{opacity:0;transform:translate3d(0,-10px,0) rotate(0)}10%{opacity:1}100%{opacity:.1;transform:translate3d(var(--drift),108vh,0) rotate(var(--spin))}}@keyframes lucky-comet{0%{opacity:0;transform:translateY(0) rotate(8deg) scaleY(.4)}22%{opacity:1}100%{opacity:0;transform:translateY(-105vh) rotate(8deg) scaleY(1.5)}}@keyframes lucky-dog{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-24px) rotate(-5deg)}42%{transform:translateY(-3px) rotate(5deg)}65%{transform:translateY(-15px) rotate(-3deg)}82%{transform:translateY(-4px) rotate(2deg)}}@keyframes lucky-daphnia{0%,100%{transform:translate(0,0) rotate(0)}35%{transform:translate(-18px,-24px) rotate(-18deg)}68%{transform:translate(10px,-9px) rotate(14deg)}}
@media(max-width:600px){.lucky-stage{padding:35px 20px 31px}.lucky-stage:before,.lucky-stage:after{top:18px;font-size:17px}.lucky-stage:before{left:17px}.lucky-stage:after{right:17px}.lucky-odds{font-size:8px}.lucky-stage>strong{font-size:48px}.lucky-progress{width:72vw}.lucky-spark{transform-origin:center}}
@media(prefers-reduced-motion:reduce){.lucky-rays,.lucky-vignette,.lucky-stage:before,.lucky-stage:after,.lucky-stage>strong,.lucky-spark,.lucky-ring,.lucky-confetti,.lucky-comet,.mascot-runner.interaction-lucky .mascot-bob,.mascot-runner.interaction-lucky .mascot-shadow,.mascot-runner.interaction-lucky .mascot-daphnia{animation:none}.lucky-celebration{opacity:1}.lucky-stage{opacity:1;transform:translate(-50%,-50%)}.lucky-progress i{animation-duration:2.6s}}body.motion-paused .lucky-rays,body.motion-paused .lucky-vignette,body.motion-paused .lucky-stage:before,body.motion-paused .lucky-stage:after,body.motion-paused .lucky-stage>strong{animation:none}body.motion-paused .lucky-celebration{opacity:1}body.motion-paused .lucky-stage{opacity:1;transform:translate(-50%,-50%)}body.motion-paused .lucky-progress i{animation-duration:2.6s}

/* Featured lab news story. */
.news-feature{display:grid;grid-template-columns:1fr;margin:0 0 14px;overflow:hidden;border:1px solid #dedfdc;background:#f7f7f4}.news-feature-media{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#dedfdc}.news-feature img{display:block;width:100%;height:255px;object-fit:cover;object-position:center 38%;filter:saturate(1.02) contrast(1.01)}.news-feature-media img:first-child{object-position:center 43%}.news-feature figcaption{display:flex;justify-content:center;flex-direction:column;padding:20px}.news-feature time{color:#a66f00;font-size:9px;font-weight:800;letter-spacing:.12em}.news-feature h3{margin:8px 0 9px;color:#253b37;font:500 22px/1.15 var(--serif)}.news-feature p{margin:0;color:#5b625f;font-size:11px;line-height:1.62}.news-feature strong{color:#303633}.news-feature em{font-family:inherit}.news-list>div{border-top:1px solid #dedfdc}
.news-feature-link{display:block;color:inherit;text-decoration:none}.news-feature-link .news-feature{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.news-feature-link:hover .news-feature,.news-feature-link:focus-visible .news-feature{border-color:#c7971b;box-shadow:0 15px 35px rgba(25,38,32,.14);transform:translateY(-3px)}.news-feature-link:focus-visible{outline:3px solid rgba(241,184,45,.48);outline-offset:3px}.news-read-more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:#936500;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.news-read-more b{font-size:15px;transition:transform .25s ease}.news-feature-link:hover .news-read-more b{transform:translateX(4px)}
@media(max-width:1050px){.news-feature img{height:235px}.news-feature figcaption{padding:17px}.news-feature h3{font-size:19px}}
@media(max-width:700px){.news-feature-media{grid-template-columns:1fr 1fr}.news-feature img{height:220px}.news-feature figcaption{padding:18px}.news-feature h3{font-size:22px}.news-feature p{font-size:12px}}
.news-feature-media.is-single{grid-template-columns:1fr}.alumni-groups{padding:0 16px 14px}.alumni-group h3{margin:10px 0 4px;color:#8a6200;font-size:9px;letter-spacing:.09em;text-transform:uppercase}.alumni-group .alumni-roster{padding:0}.alumni-avatar{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;overflow:hidden;border-radius:50%;background:#203d38;color:#f1b82d;font-size:9px}.alumni-avatar img{width:100%;height:100%;object-fit:cover}.alumni-group .alumni-roster li{justify-content:flex-start}.alumni-group .alumni-roster li span:last-child{margin-left:auto}
/* Editorial lab-news detail page. */
.news-detail-page{min-height:100vh;background:#f1f2ef;color:#25312e}.news-detail-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:16px clamp(22px,5vw,76px);border-bottom:4px solid var(--gold);background:#0d0f0f;color:#fff}.news-detail-brand{display:flex;align-items:center;gap:14px;text-decoration:none}.news-detail-brand img{width:58px;height:58px;object-fit:contain}.news-detail-brand span{display:grid;gap:3px}.news-detail-brand strong{font:500 21px/1 var(--serif)}.news-detail-brand small{color:#aeb4b1;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.news-back{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid #4b4f4d;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:border-color .25s ease,color .25s ease,transform .25s ease}.news-back:hover,.news-back:focus-visible{border-color:var(--gold);color:var(--gold);transform:translateX(-3px)}.news-story{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:clamp(46px,7vw,90px) 0 70px}.news-story-heading{max-width:900px;margin-bottom:38px}.news-story-kicker{margin:0 0 20px;color:#936500;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.news-story-kicker span{padding:0 7px;color:#a7aaa8}.news-story-heading h1{max-width:820px;margin:0;color:#1c2926;font:500 clamp(46px,6.5vw,82px)/.98 var(--serif);letter-spacing:-.045em}.news-story-deck{max-width:790px;margin:28px 0 0;color:#59635f;font-size:clamp(16px,1.7vw,21px);line-height:1.55}.news-story-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.55fr);margin:0;background:#111}.news-story-hero img{display:block;width:100%;height:min(68vw,700px);object-fit:cover;object-position:center 43%}.news-story-hero figcaption{display:flex;align-items:flex-end;padding:34px;color:#d8ddda;font-size:14px;line-height:1.65}.news-story-hero figcaption strong{color:var(--gold)}.news-story-body{display:grid;grid-template-columns:230px minmax(0,650px);gap:clamp(35px,7vw,90px);justify-content:center;padding:clamp(45px,7vw,86px) clamp(0px,4vw,55px);background:#fff}.news-story-meta{display:grid;align-content:start;gap:5px;padding-top:7px;border-top:3px solid var(--gold)}.news-story-meta span{margin-top:16px;color:#9a6b00;font-size:8px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.news-story-meta strong{color:#3f4946;font-size:11px;line-height:1.45}.news-story-body article>p{margin:0 0 27px;color:#555f5b;font:400 17px/1.8 var(--serif)}.news-story-body h2{margin:40px 0 13px;color:#263a35;font-size:13px;letter-spacing:.07em;text-transform:uppercase}.news-story-secondary{position:relative;margin:0;background:#152a26}.news-story-secondary img{display:block;width:100%;max-height:820px;object-fit:cover;object-position:center 32%}.news-story-secondary figcaption{position:absolute;right:28px;bottom:28px;max-width:390px;padding:18px 22px;background:rgba(11,23,20,.9);color:#e8ecea;font-size:12px;line-height:1.55;backdrop-filter:blur(10px)}.news-story-secondary strong{color:var(--gold)}.news-story-nav{display:flex;justify-content:center;padding:42px 0 0}.news-story-nav a{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid #cfd2cf;color:#283a35;font-size:10px;font-weight:850;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.news-story-nav a:hover,.news-story-nav a:focus-visible{border-color:#b98205;background:#fff}.news-detail-footer{display:flex;align-items:center;justify-content:space-between;min-height:90px;padding:25px clamp(22px,5vw,76px);border-top:4px solid var(--gold);background:#0d0f0f;color:#fff}.news-detail-footer span:first-child{font:500 18px var(--serif)}.news-detail-footer span:last-child{color:#aeb4b1;font-size:9px}
@media(max-width:760px){.news-detail-header{min-height:76px;padding:12px 18px}.news-detail-brand img{width:46px;height:46px}.news-detail-brand strong{font-size:17px}.news-detail-brand small{display:none}.news-back{padding:10px;font-size:8px}.news-story{width:min(100% - 28px,620px);padding:42px 0}.news-story-heading h1{font-size:48px}.news-story-deck{font-size:16px}.news-story-hero{grid-template-columns:1fr}.news-story-hero img{height:62vh;min-height:430px}.news-story-hero figcaption{padding:20px}.news-story-body{grid-template-columns:1fr;gap:38px;padding:38px 24px}.news-story-meta{grid-template-columns:80px 1fr;gap:10px}.news-story-meta span{margin-top:0}.news-story-body article>p{font-size:16px}.news-story-secondary img{height:72vh;min-height:520px}.news-story-secondary figcaption{right:14px;bottom:14px;left:14px;max-width:none}.news-detail-footer{align-items:flex-start;gap:8px;flex-direction:column}}

/* Useful desktop navigation rail: compact by default, contextual when expanded. */
@media(min-width:701px){
  :root{--sidebar:88px}
  body.sidebar-expanded{--sidebar:244px}
  .sidebar,.page-shell,.mascot-track{transition:width .38s cubic-bezier(.2,.72,.25,1),margin-left .38s cubic-bezier(.2,.72,.25,1),left .38s cubic-bezier(.2,.72,.25,1)}
  .sidebar{overflow:hidden;border-right:1px solid rgba(255,255,255,.08);box-shadow:12px 0 38px rgba(0,0,0,.08)}
  .sidebar-toggle{position:absolute;z-index:3;right:8px;top:16px;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#181818;color:var(--gold);cursor:pointer;transition:background .25s ease,transform .38s ease}
  .sidebar-toggle:hover{background:#29230f}.sidebar-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.sidebar-toggle span{font-size:24px;line-height:1;transform:translateY(-1px)}
  body.sidebar-expanded .sidebar-toggle{transform:rotate(180deg)}
  .lab-mark{min-height:154px;padding-top:8px}.mu-shield{width:45px;height:49px;border-radius:3px 3px 11px 11px;font-size:20px;transition:width .35s ease,height .35s ease}
  .lab-mark-copy{display:block;max-height:0;min-width:180px;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease}
  .lab-mark strong{margin-top:0;font-size:22px}.lab-mark small{width:126px;margin:10px auto 0;padding-top:9px}
  body.sidebar-expanded .lab-mark{min-height:196px}body.sidebar-expanded .mu-shield{width:52px;height:57px;font-size:23px}body.sidebar-expanded .lab-mark-copy{max-height:94px;opacity:1}
  .sidebar nav a{height:58px;gap:15px;padding:0 20px;border-left-width:3px;white-space:nowrap}.sidebar nav a .nav-icon{flex:0 0 45px;width:45px;font-size:20px;text-align:center}.sidebar nav a .nav-label{width:0;overflow:hidden;opacity:0;transform:translateX(-6px);transition:width .32s ease,opacity .2s ease,transform .32s ease}
  body.sidebar-expanded .sidebar nav a .nav-label{width:145px;opacity:1;transform:none}
  .sidebar nav a:after{content:attr(aria-label);position:absolute;left:78px;top:50%;padding:7px 9px;border-radius:4px;background:#222;color:#fff;font-size:10px;letter-spacing:.02em;box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translate(5px,-50%);transition:opacity .18s ease,transform .18s ease}
  .sidebar nav a:hover:after,.sidebar nav a:focus-visible:after{opacity:1;transform:translate(0,-50%)}body.sidebar-expanded .sidebar nav a:after{display:none}
  .sidebar-context{display:grid;max-height:0;margin:0 20px;padding:0 3px;border-top:1px solid transparent;overflow:hidden;opacity:0;transition:max-height .38s ease,opacity .22s ease,padding .38s ease,border-color .38s ease}
  body.sidebar-expanded .sidebar-context{max-height:180px;padding:18px 3px 10px;border-color:rgba(241,184,45,.3);opacity:1}
  .context-kicker{color:#8f8f8f;font-size:8px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.context-title{margin-top:7px;color:var(--gold);font:500 18px/1.15 var(--serif)}.context-copy{margin:8px 0 12px;color:#a9a9a9;font-size:9px;line-height:1.55}.context-action{display:flex;justify-content:space-between;color:#e5e5e5;text-decoration:none;font-size:9px;font-weight:700;text-transform:uppercase}.context-action span{color:var(--gold)}
  .sidebar-footer{display:grid;justify-items:center;padding:16px 12px}.socials{flex-direction:column}.sidebar-footer p{display:none;max-width:180px;margin:13px 0 0;text-align:center}.sidebar-expanded .sidebar-footer{justify-items:start;padding:18px 22px}.sidebar-expanded .socials{flex-direction:row}.sidebar-expanded .sidebar-footer p{display:block}
  .sidebar-progress{position:absolute;right:0;top:0;width:3px;height:100%;background:rgba(255,255,255,.06)}.sidebar-progress span{display:block;width:100%;height:100%;background:linear-gradient(var(--gold),#fff1a5);transform:scaleY(0);transform-origin:50% 0;will-change:transform}
}
@media(min-width:701px) and (max-height:760px){.lab-mark{min-height:116px}body.sidebar-expanded .lab-mark{min-height:150px}.sidebar nav a{height:50px}.sidebar-context{display:none}.sidebar-footer{padding-top:10px}}
@media(max-width:700px){.sidebar-toggle,.sidebar-context,.sidebar-progress{display:none}.lab-mark-copy{display:contents}}
@media(prefers-reduced-motion:reduce){.sidebar,.page-shell,.mascot-track,.sidebar-toggle,.lab-mark-copy,.sidebar nav a .nav-label,.sidebar-context{transition:none}}

/* Large desktop scale: use the screen instead of leaving the cards at tablet size. */
@media(min-width:1500px){
  :root{--sidebar:96px}
  body.sidebar-expanded{--sidebar:272px}
  .hero{height:min(760px,72vh);min-height:650px}
  .hero-copy{left:7%;width:540px}
  .hero h1{font-size:clamp(76px,5.2vw,112px)}
  .hero-copy>p:not(.kicker){max-width:520px;font-size:20px;line-height:1.55}
  .kicker{font-size:15px}.gold-button{padding:17px 21px;font-size:14px}
  .content-grid{width:calc(100% - 96px);max-width:1980px;gap:34px;padding:48px 0 72px}
  .feature-card{min-height:620px}.content-grid #people,.content-grid #news,.content-grid #contact{min-height:480px}
  .feature-card>header{min-height:142px;padding:0 24px}.wide-card{padding:24px}.wide-card header{min-height:94px}
  .content-grid header>p{margin-bottom:23px;padding-top:25px;font-size:20px}.content-grid header>p:after{bottom:-9px;width:38px;height:3px}
  .content-grid h2{font-size:15px;line-height:1.55}
  .research-visual{height:220px}.news-photo{height:166px}
  .disclosure-list{padding:0 24px}.disclosure-list summary{min-height:55px;padding:11px 40px 11px 29px;font-size:14px}.disclosure-list summary:before{font-size:21px}.disclosure-list summary small{font-size:10px}
  .disclosure-body{padding:0 12px 18px 29px}.disclosure-body p{font-size:13px;line-height:1.7}
  .person-detail{grid-template-columns:78px 1fr;gap:16px}.person-detail img{width:78px;height:78px}
  .publication-list{padding:0 24px}.publication-list a{padding:16px 0}.publication-list strong{margin:7px 0;font-size:14px;line-height:1.45}.publication-list time,.publication-list small{font-size:10px}
  .card-link{padding:21px 24px;font-size:12px}.card-link span{font-size:21px}
  .news-list a{grid-template-columns:88px 1fr 24px;padding:16px}.news-list time{font-size:10px}.news-list span{font-size:14px;line-height:1.45}
  .contact-layout p{font-size:14px;line-height:1.65}.map-placeholder{font-size:12px}.content-grid #contact .map-placeholder{min-height:172px}
  .position-card{padding:32px 38px}.position-card h2{font-size:32px}.position-card p{font-size:15px}.position-card .eyebrow{font-size:11px}
  footer{padding:28px 48px}footer p{font-size:13px}
  .sidebar nav a{height:64px}.sidebar nav a .nav-icon{font-size:23px}.sidebar nav a .nav-label{font-size:13px}
  .context-title{font-size:21px}.context-copy,.context-action{font-size:10px}
}

/* Lab identity, verified publications, and an expandable resources platform. */
.lab-logo{display:block;width:70px;height:70px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 1px rgba(241,184,45,.45),0 8px 24px rgba(0,0,0,.28)}
.publication-authors{display:block;margin:6px 0;color:#707774;font-size:9px;line-height:1.45}.publication-authors b{color:#283f3a;font-weight:850}.publication-list a{transition:background .22s ease,padding-left .22s ease}.publication-list a:hover,.publication-list a:focus-visible{padding-left:9px;background:linear-gradient(90deg,rgba(241,184,45,.1),transparent)}
.news-list>div{display:grid;grid-template-columns:70px 1fr 20px;gap:10px;padding:12px;border-top:1px solid #e5e5e5}.news-list>div time{color:#999;font-size:8px}.news-list>div span{font-size:11px}.news-list>div b{color:#8a6811}
.resources-card{grid-column:span 6;padding:26px 28px 30px;border:1px solid var(--line);background:#f7f7f3;box-shadow:0 3px 12px rgba(0,0,0,.035)}.resources-card>header{max-width:720px}.resources-card>header>p{margin-bottom:18px}.resources-card>header>h2{font:500 26px/1.2 var(--serif);color:#23332f}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.resource-tile{position:relative;display:flex;min-height:190px;flex-direction:column;padding:23px;border:1px solid #d8d8d2;background:#fff;text-decoration:none;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.resource-tile.is-live:hover,.resource-tile.is-live:focus-visible{transform:translateY(-4px);border-color:#c79618;box-shadow:0 15px 35px rgba(29,41,36,.12)}.resource-tile.is-live{border-top:4px solid var(--gold)}.resource-status{align-self:flex-start;padding:5px 7px;border-radius:2px;background:#ecece7;color:#747a77;font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.is-live .resource-status{background:var(--gold);color:#191300}.resource-tile>strong{margin-top:17px;font:500 22px/1.1 var(--serif);color:#20332e}.resource-tile p{margin:10px 0 20px;color:#626a67;font-size:11px;line-height:1.65}.resource-cta{margin-top:auto;color:#8b6200;font-size:10px;font-weight:800;text-transform:uppercase}

@media(min-width:701px){
  .lab-mark{min-height:126px}.lab-logo{width:62px;height:62px;transition:width .32s ease,height .32s ease,transform .32s ease}body.sidebar-expanded .lab-mark{min-height:188px}body.sidebar-expanded .lab-logo{width:142px;height:142px;transform:translateY(5px)}
  .resource-nav{position:relative;margin-top:8px;padding-top:13px;border-top:1px solid rgba(255,255,255,.11)}.resource-heading{display:block;width:0;height:0;margin:0 22px;overflow:hidden;color:#777;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;opacity:0;white-space:nowrap;transition:width .3s ease,height .3s ease,opacity .2s ease,margin .3s ease}.sidebar-expanded .resource-heading{width:180px;height:18px;margin-bottom:5px;opacity:1}
  .resource-nav a{height:54px}.resource-nav a .nav-icon{display:grid;height:28px;place-items:center;border:1px solid rgba(241,184,45,.26);border-radius:7px;color:var(--gold);font-size:14px;font-weight:850}.resource-nav a.resource-live .nav-icon{background:var(--gold);color:#171300}.sidebar nav a .nav-label small{display:block;margin-top:2px;color:#808581;font-size:7px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
}
@media(min-width:1500px){.publication-authors{font-size:11px}.news-list>div{grid-template-columns:88px 1fr 24px;padding:16px}.news-list>div time{font-size:10px}.news-list>div span{font-size:14px;line-height:1.45}.resources-card{padding:34px 38px 40px}.resources-card>header>h2{font-size:34px}.resource-grid{gap:25px}.resource-tile{min-height:240px;padding:30px}.resource-tile>strong{font-size:28px}.resource-tile p{font-size:14px}.resource-cta{font-size:12px}}
@media(max-width:820px){.resources-card{grid-column:1/-1}.resource-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .lab-mark{min-height:188px}.lab-logo{width:138px;height:138px}.sidebar nav a .nav-icon{width:28px;color:#ddd;font-size:18px}.sidebar nav a .nav-label{width:auto;color:inherit;font-size:12px;text-align:left}.resource-nav{margin-top:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.resource-heading{display:block;height:auto;margin:0 26px 7px;color:#777;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.resource-nav a .nav-label small{display:block;color:#858585;font-size:7px;text-transform:uppercase}.resources-card{padding:20px}.resource-grid{margin-top:18px}.resource-tile{min-height:175px}.publication-authors{font-size:10px}
}
/* Extended lucky card with a smiling white mascot. */
.lucky-card-dog{position:absolute;z-index:6;right:-210px;bottom:-34px;width:230px;height:190px;background:url("assets/lab-mascot-realistic-play.png") center/contain no-repeat;filter:drop-shadow(0 18px 18px rgba(0,0,0,.5)) drop-shadow(0 0 16px rgba(241,184,45,.28));opacity:0;transform:translateX(45px) translateY(18px) rotate(5deg) scale(.72);animation:lucky-card-dog-in 2.2s .65s cubic-bezier(.17,.84,.28,1.12) forwards}.lucky-card-dog:after{content:"✦";position:absolute;right:15px;top:3px;color:#fff1a7;font-size:25px;filter:drop-shadow(0 0 9px #f1b82d);animation:lucky-star-pulse .9s 1.2s ease-in-out infinite alternate}.lucky-progress i{animation-duration:10.4s}
@keyframes lucky-card-dog-in{0%{opacity:0;transform:translateX(45px) translateY(18px) rotate(5deg) scale(.72)}42%{opacity:1;transform:translateX(-7px) translateY(-9px) rotate(-3deg) scale(1.05)}67%{transform:translateX(3px) translateY(2px) rotate(2deg) scale(.98)}84%{transform:translateX(-2px) translateY(-3px) rotate(-1deg) scale(1.02)}100%{opacity:1;transform:translateX(0) translateY(0) rotate(0) scale(1)}}
@media(max-width:600px){.lucky-stage{top:43%}.lucky-card-dog{right:-5px;bottom:-143px;width:145px;height:130px}}
@media(prefers-reduced-motion:reduce){.lucky-card-dog,.lucky-card-dog:after{animation:none}.lucky-card-dog{opacity:1;transform:none}.lucky-progress i{animation-duration:5.2s}}body.motion-paused .lucky-card-dog,body.motion-paused .lucky-card-dog:after{animation:none}body.motion-paused .lucky-card-dog{opacity:1;transform:none}body.motion-paused .lucky-progress i{animation-duration:5.2s}

/* Mission and Vision panels, followed by the mascot roster. */
.research-principles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}.research-mission,.research-vision{margin:0;padding:19px 20px;border-left:4px solid var(--gold);background:linear-gradient(105deg,#fff8df,#f7f4ea 70%,#fff);box-shadow:inset 0 0 0 1px rgba(114,81,0,.1)}.research-vision{border-left-color:#263f3a;background:linear-gradient(105deg,#edf5f2,#f7f4ea 70%,#fff)}.research-mission>p,.research-vision>p{margin:0 0 7px;color:#936500;font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.research-vision>p{color:#31534b}.research-mission h3,.research-vision h3{margin:0;color:#253b37;font:500 18px/1.38 var(--serif)}
.mascot-roster{margin:18px 0;padding:18px;border:1px solid rgba(147,101,0,.28);background:linear-gradient(115deg,#fff8df,#fff 72%)}.mascot-roster>header{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}.mascot-roster>header p{margin:0;color:#936500;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.mascot-roster>header h3{margin:0;color:#253b37;font:500 18px/1.2 var(--serif)}.mascot-people details{border:1px solid #dedfdc;background:rgba(255,255,255,.88)}.mascot-people summary{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:94px;padding:10px 48px 10px 12px;cursor:pointer;list-style:none}.mascot-people summary::-webkit-details-marker{display:none}.mascot-people summary:after{content:"+";position:absolute;right:20px;color:#a66f00;font-size:20px}.mascot-people details[open] summary:after{content:"−"}.mascot-people .person-photo{grid-row:1/3;width:62px;height:62px}.mascot-people summary strong{font-size:17px}.mascot-people .person-role{font-size:11px}.mascot-people .person-note{padding:0 18px 16px 84px}.mascot-people .person-intro{font-size:13px;line-height:1.6}

/* The interactive mascot is 50% larger while keeping the speech bubble anchored to the dog. */
@media(min-width:701px){.mascot-track{height:240px}.mascot-runner{width:222px;height:213px;--mascot-rest-x:calc(100vw - var(--sidebar) - 270px)}.mascot-bob img{width:222px}.mascot-pose-play{width:222px!important}.mascot-pose-sit{left:44px!important;width:135px!important}.mascot-shadow{left:41px;width:138px;height:17px}.mascot-daphnia{left:-46px;bottom:53px;width:86px}.mascot-speech{right:123px;bottom:159px}.mizzou-signature{margin-right:310px}}
@media(max-width:700px){.research-principles{grid-template-columns:1fr}.research-mission,.research-vision{padding:15px 16px}.research-mission h3,.research-vision h3{font-size:18px}.mascot-roster>header{display:block}.mascot-roster>header h3{margin-top:5px}.mascot-people summary{grid-template-columns:64px minmax(0,1fr);min-height:86px}.mascot-people .person-photo{width:56px!important;height:56px!important}.mascot-people .person-note{padding-left:76px}.mascot-track{height:188px}.mascot-runner{width:162px;height:168px;--mascot-rest-x:calc(100vw - 192px)}.mascot-bob img{width:162px}.mascot-pose-play{width:162px!important}.mascot-pose-sit{left:32px!important;width:101px!important}.mascot-shadow{left:30px;width:101px;height:12px}.mascot-daphnia{left:-35px;bottom:42px;width:65px}.mascot-speech{right:102px;bottom:120px}footer{padding-bottom:190px}}
/* Live Google Maps embed for the lab location. */
.google-map{position:relative;display:grid;grid-template-rows:minmax(145px,1fr) auto;min-height:180px;overflow:hidden;border:1px solid #d9dbd8;background:#eef0ed}.google-map iframe{display:block;width:100%;height:100%;min-height:145px;border:0;filter:saturate(.78) contrast(1.02);transition:filter .3s ease}.google-map:hover iframe,.google-map:focus-within iframe{filter:saturate(1) contrast(1.02)}.contact-card .google-map>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fff;color:#725100!important;font-size:9px;font-weight:850;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.contact-card .google-map>a:hover,.contact-card .google-map>a:focus-visible{background:#fff8df;color:#3e2d00!important}.google-map>a span{font-size:14px}
@media(min-width:821px){.content-grid #contact .google-map{min-height:190px}.content-grid #contact .google-map iframe{min-height:154px}}
@media(max-width:820px){.google-map{grid-template-rows:240px auto}.google-map iframe{min-height:240px}}

/* Large, borderless funding marks sit directly beside the lab name. */
.site-footer{grid-template-columns:minmax(520px,1.55fr) minmax(300px,.8fr)}.site-footer .footer-brand{min-width:0}.footer-labline{display:flex;align-items:center;gap:18px;min-height:92px}.footer-labline>strong{flex:none}.funding-logos{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.funding-logo{display:grid;flex:0 0 92px;width:92px;height:92px;place-items:center;overflow:visible;border:0;border-radius:0;background:transparent;color:#fff;text-decoration:none;box-shadow:none;transition:transform .22s ease,filter .22s ease}.funding-logo:hover,.funding-logo:focus-visible{transform:translateY(-3px) scale(1.04);filter:brightness(1.08)}.funding-logo:focus-visible{outline:2px solid #f1b82d;outline-offset:4px}.funding-logo img{display:block;width:100%;height:100%;padding:0;object-fit:contain}.funding-wordmark{flex-basis:108px;width:108px;height:58px}.funding-wordmark span{font:900 34px/1 Arial,sans-serif;letter-spacing:.03em}.site-footer .footer-legal{border-left:1px solid #292b2a}.site-footer .mizzou-signature{margin-right:0}
@media(max-width:1000px){.site-footer{grid-template-columns:1fr}.site-footer .footer-brand,.site-footer .footer-legal{grid-column:auto}.site-footer .footer-brand{border-bottom:1px solid #292b2a}.site-footer .footer-legal{border-left:0}.footer-labline{flex-wrap:wrap}}
@media(max-width:700px){.footer-labline{align-items:flex-start;flex-direction:column;gap:12px}.funding-logos{gap:16px}.funding-logo{flex-basis:76px;width:76px;height:76px}.funding-wordmark{flex-basis:94px;width:94px;height:50px}.funding-wordmark span{font-size:30px}}
