:root{
  --ink:#0c111b; --muted:#667085; --line:#e7e9ee; --paper:#f8f9fb; --white:#fff;
  --accent:#3855ff; --accent2:#7d8cff; --night:#07101e; --max:1240px;
  --radius:20px; --shadow:0 18px 55px rgba(16,24,40,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,system-ui,sans-serif;line-height:1.55} a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} button{cursor:pointer}.hidden{display:none!important}
.site-header{position:sticky;top:0;z-index:50;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - var(--max))/2));background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,233,238,.75)}
.brand{display:inline-flex;align-items:center;gap:12px}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand b{font-family:Manrope,sans-serif;font-size:18px;letter-spacing:.04em}.brand small{font-size:9px;letter-spacing:.2em;color:var(--muted);margin-top:5px}.brand-mark{width:33px;height:33px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(45deg)}.brand-mark i{display:block;border:1.5px solid var(--ink);border-radius:3px}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){background:var(--ink)}
.site-nav{display:flex;gap:30px;font-size:13px;font-weight:600}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ink);transition:.25s}.site-nav a:hover:after{right:0}.nav-toggle{display:none;border:0;background:transparent;font-size:13px;font-weight:600}.section-pad{padding:110px max(28px,calc((100vw - var(--max))/2))}.section-rule{border-top:1px solid var(--line)}
.hero{min-height:calc(100vh - 76px);position:relative;overflow:hidden;background:radial-gradient(circle at 82% 22%,rgba(56,85,255,.13),transparent 30%),linear-gradient(180deg,#fff 0%,#f8faff 100%);display:grid;align-content:center}.hero-copy{max-width:830px;position:relative;z-index:2}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:.2em;color:#596071;margin:0 0 22px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(64px,9vw,132px);letter-spacing:-.065em;line-height:.82;margin:0;max-width:900px}.hero h1 span{color:var(--accent)}.hero-sub{font:600 clamp(19px,2.2vw,29px)/1.3 Manrope,sans-serif;margin:34px 0 16px}.hero-description{max-width:720px;font-size:16px;color:var(--muted);margin:0}.hero-actions{display:flex;gap:12px;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:13px;background:#fff}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:var(--accent);border-color:var(--accent)}.btn.ghost:hover{border-color:#abb1bd}.hero-metric{position:absolute;right:max(28px,calc((100vw - var(--max))/2));bottom:46px;display:flex;flex-direction:column;align-items:flex-end;max-width:360px;text-align:right}.hero-metric span{font-size:9px;letter-spacing:.2em;color:var(--muted)}.hero-metric strong{font-size:12px;margin-top:5px}
.hero-network{position:absolute;width:580px;height:580px;right:-40px;top:50%;transform:translateY(-52%);opacity:.72}.node{position:absolute;width:44px;height:44px;border-radius:9px;border:1px solid rgba(56,85,255,.3);background:rgba(255,255,255,.75);box-shadow:0 12px 42px rgba(56,85,255,.08)}.n1{left:40px;top:250px}.n2{left:200px;top:90px}.n3{left:380px;top:190px}.n4{left:250px;top:360px}.n5{left:470px;top:410px}.n6{left:90px;top:470px}.link{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(56,85,255,.33),transparent);transform-origin:left}.l1{left:70px;top:270px;width:220px;transform:rotate(-46deg)}.l2{left:230px;top:120px;width:190px;transform:rotate(29deg)}.l3{left:400px;top:230px;width:215px;transform:rotate(61deg)}.l4{left:285px;top:385px;width:210px;transform:rotate(11deg)}.l5{left:120px;top:485px;width:190px;transform:rotate(-34deg)}
.statement{background:var(--night);color:#fff}.statement h2{font:600 clamp(33px,5vw,70px)/1.08 Manrope,sans-serif;letter-spacing:-.045em;max-width:1100px;margin:0}.statement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;margin-top:70px;align-items:end}.statement-grid p{color:#aeb8c6;font-size:16px;margin:0;max-width:500px}.concept-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.concept-strip span{border:1px solid #2b3748;border-radius:999px;padding:8px 13px;font-size:11px;color:#c9d1dc}.statement .section-kicker{color:#8291a4}
.section-head{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:end;margin-bottom:54px}.section-head h2{font:600 clamp(36px,5vw,62px)/1 Manrope,sans-serif;letter-spacing:-.045em;margin:0}.section-head>p{margin:0;color:var(--muted);font-size:14px;max-width:400px;justify-self:end}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.research-card{min-height:320px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;transition:.25s}.research-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.research-card>span{font-size:10px;color:var(--accent);font-weight:700}.research-card h3{font:600 25px/1.15 Manrope,sans-serif;letter-spacing:-.025em;margin:auto 0 16px}.research-card p{color:var(--muted);font-size:13px;margin:0}.members-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.member-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.member-photo{aspect-ratio:4/3;background-size:cover;background-position:center;background-color:#eef1f7;display:grid;place-items:center}.member-photo span{display:none;font:600 44px Manrope}.member-photo.placeholder span{display:block;color:#9ba4b4}.member-card>div:last-child{padding:22px}.member-category{font-size:9px;letter-spacing:.12em;color:var(--accent);font-weight:700;text-transform:uppercase}.member-card h3{font:600 21px Manrope;margin:5px 0 2px}.member-card p,.member-card a{font-size:12px;color:var(--muted);margin:0}.publication-list{border-top:1px solid var(--ink)}.publication-row{display:grid;grid-template-columns:70px 1fr 40px;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.pub-index{font-size:10px;color:var(--muted);padding-top:4px}.publication-row h3{font:600 18px/1.35 Manrope;margin:0 0 7px;letter-spacing:-.015em}.publication-row p{margin:0 0 3px;color:var(--muted);font-size:12px}.publication-row small{font-size:11px;color:#8a919e}.publication-row>a{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.news-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.news-thumb{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#eef1f7;position:relative}.news-thumb span{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.88);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:700}.news-card>div:last-child{padding:22px}.news-card small{font-size:10px;color:var(--muted)}.news-card h3{font:600 19px/1.25 Manrope;margin:7px 0}.news-card p{font-size:12px;color:var(--muted);margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-card{aspect-ratio:4/3;background-size:cover;background-position:center;background-color:#dfe4ef;border-radius:var(--radius);overflow:hidden;display:flex;align-items:flex-end;position:relative}.gallery-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.gallery-card>div{position:relative;z-index:2;color:#fff;padding:22px}.gallery-card h3{font:600 19px Manrope;margin:3px 0}.gallery-card small{font-size:9px;opacity:.8}.gallery-card.placeholder{background:linear-gradient(135deg,#182235,#3a4b6e)}.join{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;background:#f6f7fb}.join h2{font:600 clamp(38px,5vw,64px)/1.05 Manrope;letter-spacing:-.045em;margin:0 0 20px}.join-copy>p:last-child{color:var(--muted);max-width:640px}.join-card{background:var(--night);color:#fff;padding:34px;border-radius:var(--radius);min-height:270px;display:flex;flex-direction:column}.join-card span{font-size:10px;letter-spacing:.15em;color:#8ea0b8}.join-card strong{font:600 22px/1.35 Manrope;margin:auto 0 22px}.join-card a{font-size:12px;color:#b8c7ff}.site-footer{padding:35px max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.site-footer>div{display:flex;align-items:center;gap:13px}.site-footer>div>div{display:flex;flex-direction:column}.site-footer b{font-size:11px}.site-footer small,.site-footer p{font-size:9px;color:var(--muted);margin:0}.professor-portrait{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#edf0f6;background-size:cover;background-position:center;display:grid;place-items:center;color:#7b8492;font-weight:700;font-size:11px;transition:.25s}.professor-portrait.has-photo span{display:none}.professor-portrait.unlock{transform:scale(1.2) rotate(12deg);box-shadow:0 0 0 8px rgba(56,85,255,.12)}.empty-state{grid-column:1/-1;border:1px dashed #cdd2db;border-radius:var(--radius);padding:50px;text-align:center;background:#fafbfc}.empty-state strong{font:600 18px Manrope}.empty-state p{font-size:12px;color:var(--muted);margin:6px 0 0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:#fff;padding:22px 28px;border-bottom:1px solid var(--line);flex-direction:column;gap:20px}.site-nav.open{display:flex}.nav-toggle{display:block}.section-pad{padding-top:78px;padding-bottom:78px}.hero{min-height:780px}.hero-network{opacity:.28;right:-260px}.hero-metric{left:28px;right:auto;align-items:flex-start;text-align:left}.section-head{grid-template-columns:1fr}.section-head>p{justify-self:start}.research-grid,.members-grid,.news-grid,.gallery-grid{grid-template-columns:1fr 1fr}.statement-grid,.join{grid-template-columns:1fr}.concept-strip{justify-content:flex-start}.join{gap:34px}.site-footer{gap:20px;align-items:flex-start}}
@media(max-width:620px){.site-header{height:68px;padding-left:18px;padding-right:18px}.site-nav{top:67px}.section-pad{padding-left:18px;padding-right:18px}.hero{min-height:760px}.hero h1{font-size:65px}.hero-sub{font-size:19px}.hero-description{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-metric{left:18px}.research-grid,.members-grid,.news-grid,.gallery-grid{grid-template-columns:1fr}.research-card{min-height:240px}.statement-grid{gap:40px;margin-top:45px}.publication-row{grid-template-columns:40px 1fr 32px;gap:10px}.site-footer{flex-direction:column}.section-head{margin-bottom:36px}.section-head h2{font-size:42px}}

/* Managed member photo crops */
.member-photo{position:relative;overflow:hidden}.managed-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--crop-x,50%) var(--crop-y,50%);transform:scale(var(--crop-zoom,1));transform-origin:var(--crop-x,50%) var(--crop-y,50%);user-select:none}.member-photo>.managed-photo{position:absolute;inset:0}

/* Netlify's optional management drawer is not part of the public site UI. */
#nl-badge-frame{display:none!important}
