:root{--bg:#0b1015;--panel:#11191f;--text:#edf3f4;--muted:#9baeb8;--line:#26343c;--accent:#82e3d7;--orange:#efb982;--max:1240px;color-scheme:dark;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}button{color:inherit}.wrap{max-width:var(--max);margin:auto;padding:0 48px}.skip{position:fixed;top:-80px;left:20px;background:var(--accent);color:var(--bg);padding:10px;z-index:50}.skip:focus{top:12px}header{height:92px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0b1015f2;backdrop-filter:blur(18px);z-index:20}header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:13px;line-height:1.2;font-weight:700;font-size:18px;white-space:nowrap}.brand small{display:block;font-weight:400;color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:7px}.mark{width:35px;height:35px;position:relative;border:1px solid var(--accent);display:grid;place-items:center;transform:rotate(-8deg);color:var(--accent);font-size:14px;letter-spacing:-2px}.mark span{transform:rotate(8deg)}nav{display:flex;align-items:center;gap:25px;font-size:13px;color:#b7c4cb}nav a{padding:10px 0}nav a[aria-current=page]{color:var(--accent);box-shadow:0 1px var(--accent)}nav .nav-contact{border:1px solid #4a626a;padding:9px 15px;color:var(--text)}.menu{display:none;background:none;border:1px solid var(--line);padding:7px 12px}.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--accent);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:19px;height:1px;background:currentColor}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:620px;position:relative;padding:76px 0 66px;gap:35px}.hero h1{font-size:clamp(55px,6.2vw,82px);line-height:1.04;letter-spacing:-4px;font-weight:500;margin:30px 0 25px}.hero h1 span{color:var(--accent)}.hero .tagline{font-size:23px;line-height:1.35;letter-spacing:-.4px;max-width:460px;margin-bottom:18px}.hero p{color:var(--muted);max-width:460px;font-size:15px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--line);padding:12px 19px;font-size:13px;background:transparent}.button.primary{background:var(--accent);color:#092321;border-color:var(--accent);font-weight:700}.button:hover{border-color:var(--accent);transform:translateY(-2px)}.arrow{font-size:18px}.field{position:relative;min-width:0;align-self:stretch;display:flex;align-items:center}.field svg{width:115%;max-width:none;margin-left:-8%;overflow:visible}.field-label{position:absolute;left:10px;top:32px;color:var(--muted);font:10px ui-monospace,monospace;letter-spacing:1.5px}.field-label.bottom{top:auto;bottom:8px}.field-label .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:7px}.pause{position:absolute;bottom:0;right:0;border:1px solid var(--line);background:var(--bg);color:var(--muted);padding:5px 10px;font-size:10px}.wave{transform-origin:center;animation:breathe 9s ease-in-out infinite alternate}.paused .wave{animation-play-state:paused}@keyframes breathe{from{transform:translateY(-5px) scaleY(.96)}to{transform:translateY(7px) scaleY(1.06)}}.affiliation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;gap:20px;font-size:12px;color:var(--muted)}.affiliation strong{color:#dbe6e9;font-size:14px;font-weight:500}.affiliation span{display:block}.affiliation .location{font:10px ui-monospace,monospace;letter-spacing:1px;color:var(--accent)}section.block{padding:88px 0;border-bottom:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:33px}h2{font-size:36px;line-height:1.2;letter-spacing:-1.4px;font-weight:500;margin:13px 0 0}h3{font-size:21px;line-height:1.4;letter-spacing:-.5px;font-weight:500;margin:0 0 14px}p{margin:0 0 16px}.text-link{font-size:13px;color:var(--accent);white-space:nowrap}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.research-card{border-top:1px solid #45545c;padding-top:22px;position:relative}.research-card .number{font:11px ui-monospace,monospace;color:var(--accent);margin-bottom:28px;display:block}.research-card p{color:var(--muted);font-size:14px}.tags{display:flex;gap:8px;flex-wrap:wrap;font:10px ui-monospace,monospace;color:var(--muted);margin-top:23px}.tags span{border:1px solid var(--line);padding:4px 8px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.work{display:block}.work-image{height:240px;overflow:hidden;background:#e9efef;position:relative;padding:17px}.work-image img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.work:hover img{transform:scale(1.04)}.work .meta{font:10px ui-monospace,monospace;text-transform:uppercase;color:var(--accent);letter-spacing:1.2px;margin:23px 0 11px}.work h3{font-size:24px}.work p{font-size:14px;color:var(--muted)}.work .text-link{display:inline-block;margin-top:6px}.pub{display:grid;grid-template-columns:66px 1fr 30px;gap:15px;padding:25px 0;border-bottom:1px solid var(--line)}.pub .year{font:12px ui-monospace,monospace;color:var(--muted);padding-top:4px}.pub h3{font-size:19px;line-height:1.4;margin:0 0 9px;letter-spacing:-.25px}.pub .venue{color:var(--muted);font-size:12px}.pub .type{color:var(--accent);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:1px}.pub .arrow{color:var(--accent)}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}.portrait{width:100%;max-height:440px;object-fit:cover;object-position:center 32%;filter:saturate(.6)}.about-copy p{color:var(--muted);font-size:15px}.about-copy h2{margin-bottom:22px}.about-copy .eyebrow{margin-top:0}.lab-banner{padding:42px;background:var(--panel);display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border:1px solid var(--line)}.lab-word{font-size:58px;letter-spacing:5px;line-height:1;font-weight:700}.lab-word span{color:var(--accent)}.lab-banner p{color:var(--muted);font-size:14px;margin-top:20px}.lab-expansion{font:10px ui-monospace,monospace;color:var(--muted);letter-spacing:1px;line-height:1.8;margin-top:15px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:85px 0}.contact h2{font-size:44px;margin-bottom:24px}.contact p{color:var(--muted);font-size:14px;max-width:460px}.contact-details{align-self:center}.email{color:var(--accent);font-size:clamp(15px,2vw,22px);display:inline-block;padding-bottom:14px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.social{display:flex;gap:22px;font-size:12px;margin-top:20px}footer{border-top:1px solid var(--line);padding:22px 0;font:10px ui-monospace,monospace;color:var(--muted)}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer a{color:var(--text)}.page-intro{padding:70px 0 45px}.page-intro h1{font-size:57px;line-height:1.15;letter-spacing:-2.5px;font-weight:500;margin:18px 0}.page-intro p{color:var(--muted);max-width:680px}.filters{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:22px 0;border-block:1px solid var(--line)}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter-buttons button{border:1px solid var(--line);background:transparent;font-size:12px;padding:7px 13px;color:var(--muted)}.filter-buttons button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#092321}.search{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:8px 12px;max-width:100%;font-size:13px}.result-count{font:11px ui-monospace,monospace;color:var(--muted);margin-top:24px}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.person img{aspect-ratio:1/1;object-fit:cover;object-position:center 25%;filter:saturate(.65);width:100%;margin-bottom:19px}.person h3{font-size:18px;margin-bottom:3px}.person p{font-size:12px;color:var(--muted)}.person .role{color:var(--accent);font:10px ui-monospace,monospace;text-transform:uppercase;margin-bottom:9px}.prose{max-width:830px}.prose h2{font-size:29px;margin:50px 0 23px}.prose p,.prose li{color:var(--muted);font-size:15px}.prose strong{color:var(--text);font-weight:500}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.prose li{margin-bottom:14px}.prose ul{padding-left:20px}.timeline{border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:26px 0;border-bottom:1px solid var(--line)}.timeline .date{font:11px ui-monospace,monospace;color:var(--accent)}.timeline h3{font-size:20px}.timeline p{color:var(--muted);font-size:14px}.detail-image{background:#ecf0f1;padding:25px;margin:35px 0}.detail-image img{width:100%;max-height:520px;object-fit:contain}.course{padding:30px;border:1px solid var(--line);background:var(--panel)}.course .eyebrow{margin-bottom:20px}.course p{color:var(--muted);font-size:14px}.course img{height:220px;object-fit:contain;width:100%;background:#f4f5f6;margin:25px 0}.note{padding:20px 25px;border-left:2px solid var(--accent);background:var(--panel);color:var(--muted);font-size:14px;margin:25px 0}.print-button{margin-top:10px}[hidden]{display:none!important}
@media(min-width:1400px){.hero{min-height:680px}}@media(max-width:1000px){.wrap{padding:0 30px}nav{gap:15px}.hero h1{font-size:65px}.hero{gap:10px}.research-grid{gap:20px}.about-grid{gap:40px}.brand{font-size:16px}nav{font-size:12px}}@media(max-width:780px){header{height:76px}.menu{display:block}nav{display:none;position:absolute;top:75px;left:0;right:0;padding:20px 30px;background:var(--panel);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:48px 0 30px;gap:0}.hero h1{font-size:64px}.hero .tagline{font-size:22px}.field{height:330px;max-width:560px;width:100%;margin:20px auto 0}.field svg{height:340px;width:100%;margin:0}.field-label{top:8px}.field-label.bottom{bottom:5px}.affiliation{flex-wrap:wrap}.affiliation .location{display:none}.research-grid{grid-template-columns:1fr}.research-card{padding-bottom:15px}.research-card .number{margin-bottom:15px}.research-card h3{font-size:24px}.work-grid{gap:25px;grid-template-columns:1fr}.work-image{height:290px}.about-grid{grid-template-columns:1fr;gap:30px}.portrait{max-width:360px;max-height:400px}.lab-banner{grid-template-columns:1fr;gap:25px;padding:28px}.contact{grid-template-columns:1fr;gap:20px}.people{grid-template-columns:1fr 1fr}.section-top{align-items:start;flex-direction:column;gap:18px}section.block{padding:55px 0}h2{font-size:31px}.page-intro h1{font-size:45px}.page-intro{padding-top:45px}.timeline article{grid-template-columns:95px 1fr;gap:15px}}@media(max-width:420px){.wrap{padding:0 22px}.hero h1{font-size:57px;letter-spacing:-3px}.people{gap:17px}.person h3{font-size:16px}.lab-word{font-size:44px}.pub{grid-template-columns:42px 1fr 16px;gap:9px}.pub h3{font-size:17px}.affiliation{font-size:11px}.affiliation strong{font-size:12px}.work-image{height:220px}.timeline article{grid-template-columns:1fr}.contact h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.pause{display:none}}@media print{:root{--bg:white;--text:#111;--muted:#444;--line:#ccc;--accent:#146258;color-scheme:light}header,footer,.contact,.print-button,.filters,.skip{display:none}body{font-size:11pt}.wrap{padding:0;max-width:none}.page-intro{padding:0}.page-intro h1{font-size:30px}.pub,.timeline article{break-inside:avoid}.pub h3{font-size:15px}a{color:#111}.block{padding:20px 0!important}}

.authors{font-size:12px;color:var(--muted);margin:0 0 8px;line-height:1.6}.pub-status{font:10px ui-monospace,monospace;color:var(--orange);margin-top:9px}.person-focus{padding-top:10px;border-top:1px solid var(--line)}.social{flex-wrap:wrap}footer .wrap{flex-wrap:wrap}.timeline .date{line-height:1.6}.print-button{margin-top:0}
/* SPARKS: original amber/cyan network identity, refined for the new site. */
.sparks-banner{grid-template-columns:.95fr 1.05fr;gap:40px;padding:32px 42px 36px;background:radial-gradient(ellipse at 22% 44%,#17333155,transparent 58%),var(--panel)}
.sparks-identity{width:100%;max-width:410px;min-width:0;margin:auto;position:relative}.sparks-identity.compact{max-width:320px}
.sparks-art{position:relative;background:radial-gradient(ellipse at 40% 40%,#efb98209,transparent 60%),radial-gradient(ellipse at 70% 35%,#82e3d70b,transparent 60%)}
.sparks-art:before,.sparks-art:after{content:'';position:absolute;width:14px;height:14px;pointer-events:none;opacity:.5}.sparks-art:before{left:3%;top:12%;border-left:1px solid var(--accent);border-top:1px solid var(--accent)}.sparks-art:after{right:3%;bottom:12%;border-right:1px solid var(--orange);border-bottom:1px solid var(--orange)}
.sparks-emblem{display:block;width:100%;height:auto;overflow:visible}.sparks-emblem .sparks-wordmark{filter:drop-shadow(0 0 13px #efb98215)}
.sparks-animation-controls{display:flex;align-items:center;justify-content:space-between;min-height:32px;gap:14px;color:var(--muted);font:10px ui-monospace,monospace;letter-spacing:1.5px;margin:0 16px}
.sparks-replay{background:transparent;color:var(--accent);border:1px solid #36504e;border-radius:3px;padding:7px 10px;font:10px ui-monospace,monospace;letter-spacing:.3px}.sparks-replay:hover{background:#82e3d710;border-color:var(--accent)}.sparks-replay:disabled{cursor:default;opacity:.65}
.lab-banner p.sparks-expansion{font-size:16px;line-height:1.75;color:#c3d1d7;max-width:450px}.sparks-expansion strong{color:var(--accent);font-weight:600}.sparks-banner h2{font-size:38px}.sparks-banner .actions{align-items:center;gap:20px}.sparks-banner .tags{margin-top:22px}.sparks-banner .tags span{font-size:9px}.sparks-ripple{transform-origin:300px 240px}.sparks-wordmark{transform-origin:300px 420px}
@media(prefers-reduced-motion:no-preference){
.is-playing .sparks-incoming.warm{animation:sparks-converge-warm 1.1s cubic-bezier(.3,0,.2,1) both}
.is-playing .sparks-incoming.cool{animation:sparks-converge-cool 1.1s cubic-bezier(.3,0,.2,1) both}
.is-playing .sparks-loop{stroke-dasharray:1000;animation:sparks-draw 1.5s .55s ease-in-out both}
.is-playing .sparks-wordmark{animation:sparks-wordmark-reveal .8s .8s cubic-bezier(.2,.7,.2,1) both}
.is-playing .sparks-ripple{animation:sparks-soft-ripple 1.3s .65s ease-out both}
.is-playing .sparks-trail{stroke-dasharray:35 965;animation:sparks-circulate 2.8s 1.25s linear both}
.is-playing .sparks-node{animation:sparks-node-breathe 2.7s .7s ease-in-out both}
.is-playing .sparks-dust{animation:sparks-dust-drift 3.5s .3s ease-in-out both}
}
@keyframes sparks-converge-warm{0%{transform:translate(-145px,-34px);opacity:0}18%{opacity:.9}62%{transform:translate(-55px,14px);opacity:.9}88%{transform:translate(0,0);opacity:.5}100%{transform:translate(0,0);opacity:0}}
@keyframes sparks-converge-cool{0%{transform:translate(145px,34px);opacity:0}18%{opacity:.9}62%{transform:translate(55px,-14px);opacity:.9}88%{transform:translate(0,0);opacity:.5}100%{transform:translate(0,0);opacity:0}}
@keyframes sparks-draw{from{stroke-dashoffset:1000;opacity:.1}to{stroke-dashoffset:0;opacity:.7}}
@keyframes sparks-wordmark-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes sparks-soft-ripple{0%{transform:scale(.4);opacity:0}20%{opacity:.45}100%{transform:scale(2.7);opacity:0}}
@keyframes sparks-circulate{0%{stroke-dashoffset:1000;opacity:0}12%{opacity:.9}85%{opacity:.9}100%{stroke-dashoffset:0;opacity:0}}
@keyframes sparks-node-breathe{0%,100%{opacity:1}45%{opacity:.6}}
@keyframes sparks-dust-drift{0%,100%{transform:translateY(0);opacity:.4}45%{transform:translateY(-5px);opacity:.65}}
@media(max-width:780px){.sparks-banner{grid-template-columns:1fr;padding:24px;gap:28px}.sparks-identity{max-width:350px}.sparks-banner h2{font-size:32px}.sparks-identity.compact{max-width:310px}}
@media(prefers-reduced-motion:reduce){.sparks-replay{display:none}.sparks-incoming,.sparks-trail,.sparks-ripple{display:none}}
/* Interactive scientific field: spatial, lightweight, and fully self-contained. */
.field.field-lab{display:block;min-width:0;align-self:center;height:auto;width:100%;margin:0;isolation:isolate}.field-kicker{font:9px ui-monospace,monospace;letter-spacing:1.6px;color:#91a8af;display:flex;align-items:center;gap:9px;padding-left:16px}.field-status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px #82e3d750}.field-stage{height:420px;position:relative;width:100%;overflow:hidden}.field-stage canvas{display:none;width:100%;height:100%;touch-action:pan-y}.field-lab.is-ready canvas{display:block}.field-lab.is-ready .field-fallback{display:none}.field-fallback{height:100%;position:relative}.field-fallback svg{width:100%;height:100%;margin:0}.field-fallback .field-label{display:none}.field-fallback .wave{animation:none}.field-modes{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #34434a;background:#0f171e;border-radius:6px;overflow:hidden}.field-modes button{border:0;border-right:1px solid #34434a;background:transparent;color:#80969f;padding:12px 8px;font:10px ui-monospace,monospace;letter-spacing:.5px}.field-modes button:last-child{border-right:0}.field-modes button span{font:12px Arial,sans-serif;margin-left:7px;color:#c0cdd2}.field-modes button[aria-pressed=true]{background:#82e3d716;color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.field-modes button[aria-pressed=true] span{color:var(--accent)}.field-modes button:hover{background:#82e3d70a}.field-modes button:focus-visible{outline-offset:-4px}.field-caption{font:8px ui-monospace,monospace;letter-spacing:.7px;color:#a2b8bf;padding:14px 0 12px;min-height:37px}.field-tools{display:flex;justify-content:space-between;align-items:center;gap:10px}.field-tools>span{font:7px ui-monospace,monospace;letter-spacing:.6px;color:#8199a3;max-width:210px}.field-tools>div{display:flex;gap:8px}.field-tools button{border:1px solid #32464b;border-radius:3px;background:transparent;color:#9ebbbd;font:9px ui-monospace,monospace;padding:6px 8px;white-space:nowrap}.field-tools button:hover{border-color:var(--accent);color:var(--accent)}.field-disclaimer{color:#80969f;font:7px ui-monospace,monospace;letter-spacing:1.1px;margin-top:16px;text-align:center}.hero{gap:22px}.field-controls{margin:0 16px}@media(max-width:1000px){.field-stage{height:370px}.field-kicker{font-size:8px;letter-spacing:1px}.field-tools{align-items:start;flex-wrap:wrap}.field-tools>span{max-width:100%;margin-bottom:2px}}@media(max-width:780px){.field.field-lab{margin:40px auto 0;max-width:540px}.field-stage{height:360px}.field-tools{align-items:center;flex-wrap:nowrap}.field-tools>span{max-width:190px}.field-controls{margin:0 8px}.field-kicker{padding-left:8px}.field-caption{font-size:7px;letter-spacing:.3px}}@media(max-width:400px){.field-stage{height:300px}.field-tools{flex-wrap:wrap}.field-tools>span{max-width:100%}.field-modes button{padding:11px 4px}.field-modes button span{margin-left:4px}}@media(prefers-reduced-motion:reduce){[data-field-pause],[data-field-pulse]{display:none}}
