:root{--ink:#21162b;--muted:#716a75;--paper:#fff;--soft:#faf6fb;--line:#eadfea;--purple:#633991;--deep:#350d58;--pink:#e54595;--coral:#ef6b6f;--blue:#5368b5;--green:#378474;--shadow:0 18px 55px rgba(46,18,62,.1);--radius:18px;--max:1180px;--header-gutter:max(20px,5vw,calc((100vw - var(--max))/2));--header-text-gutter:calc(var(--header-gutter) + 5px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(3rem,7vw,6.5rem);font-weight:500}h2{font-size:clamp(2rem,4vw,3.65rem);font-weight:550}h3{font-size:1.35rem}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.narrow{width:min(calc(100% - 40px),760px);margin-inline:auto}.section{padding:clamp(64px,7vw,96px) 0}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:700;font-size:.73rem;color:var(--pink);margin-bottom:20px}.eyebrow.light{color:#ffb9dc}.large-copy{font-size:clamp(1.2rem,2vw,1.32rem);line-height:1.6;color:#4f4653}.skip-link{position:fixed;top:-100px;left:15px;z-index:100;background:#fff;padding:10px 16px}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.external-link-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;transition:transform .2s ease}a:hover .external-link-icon{transform:translate(1px,-1px)}
.site-header{position:absolute;inset:0 0 auto;z-index:20;color:#fff;padding:22px 0;transition:.25s}.site-header.scrolled{position:fixed;background:rgba(54,12,88,.96);padding:12px 0;box-shadow:0 5px 30px rgba(0,0,0,.14);backdrop-filter:blur(14px)}.nav-wrap,.brand,.site-nav{display:flex;align-items:center}.nav-wrap{justify-content:space-between}.brand{gap:12px;font-weight:700;line-height:1.15;letter-spacing:-.02em}.brand small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.55rem;font-weight:500;opacity:.65;margin-top:4px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-family:Manrope,sans-serif;font-size:.72rem;letter-spacing:.08em}.site-nav{gap:28px}.site-nav a{font-size:.86rem;font-weight:600;position:relative;padding:10px 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:#fff;transition:.2s}.site-nav a:hover:after,.site-nav a.active:after{right:0}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
.hero,.page-hero,.topic-hero,.cta{color:#fff;background:linear-gradient(135deg,rgba(50,9,90,.97),rgba(226,41,137,.88)),url('/assets/images/research-hero.png') center/cover}.hero-home{min-height:100svh;display:flex;align-items:center;position:relative}.hero-home:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,5,49,.42),transparent 65%)}.hero-inner{position:relative;padding-top:80px}.hero h1{max-width:950px;margin-bottom:28px}.hero h1 em,.page-hero h1 em{font-weight:400;color:#ffc3e1}.hero-lead{font-size:clamp(1.05rem,2vw,1.3rem);color:#f1daed;max-width:720px}.button-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;padding:14px 24px;background:linear-gradient(120deg,var(--purple),var(--pink));color:#fff;font:700 .78rem 'DM Sans';letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 9px 30px rgba(99,57,145,.22);transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 13px 35px rgba(99,57,145,.3)}.button-light{background:#fff;color:var(--purple)}.text-link{font-weight:700;font-size:.88rem;color:var(--purple);display:inline-flex;gap:9px;align-items:center}.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.light-link{color:#fff}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:7px;text-transform:uppercase;letter-spacing:.15em;font-size:.6rem;opacity:.75}.scroll-cue span{height:35px;width:1px;background:#fff}.page-hero,.topic-hero{padding:190px 0 100px;background-position:center}.page-hero h1,.topic-hero h1{font-size:clamp(3rem,6vw,5.4rem);max-width:900px;margin-bottom:25px}.page-hero p:last-child,.topic-hero .container>p:last-child{font-size:1.2rem;max-width:710px;color:#f1d9ec}.page-hero.compact{padding-bottom:75px}.topic-hero{background-image:linear-gradient(135deg,#351055,#a51b6b)}.topic-hero.accent-blue{background:linear-gradient(135deg,#182b63,#685bb0)}.topic-hero.accent-coral{background:linear-gradient(135deg,#56204f,#de5969)}.topic-hero.accent-green{background:linear-gradient(135deg,#153b3d,#3c8879)}.back-link{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.05em;margin-bottom:45px;opacity:.78}
.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:70px}.split-intro h2{margin-bottom:0}.research-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.research-card{min-height:410px;padding:30px 26px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.25s}.research-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--pink)}.research-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.research-card h3{font-size:1.6rem;margin-top:40px}.research-card p{color:var(--muted);font-size:.94rem}.card-number{color:#aaa;font-size:.72rem;letter-spacing:.12em}.card-icon{position:absolute;right:25px;top:20px;font-size:2.5rem;color:var(--pink);opacity:.72}.card-link{margin-top:auto;color:var(--purple);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;display:flex;justify-content:space-between}.accent-blue:before{background:var(--blue)}.accent-blue .card-icon{color:var(--blue)}.accent-coral:before{background:var(--coral)}.accent-coral .card-icon{color:var(--coral)}.accent-green:before{background:var(--green)}.accent-green .card-icon{color:var(--green)}.tint-section{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px}.section-heading h2{margin:0}.publication-stack{border-top:1px solid var(--line)}.publication-row{display:grid;grid-template-columns:95px 1fr auto;gap:25px;align-items:center;padding:28px 15px;border-bottom:1px solid var(--line);transition:.2s}.publication-row:hover{background:#fff;transform:translateX(5px)}.pub-year{font:600 1rem Manrope;color:var(--pink)}.pub-main{display:grid;gap:8px}.pub-main b{font-family:Manrope;font-size:1.05rem;line-height:1.4}.pub-main small{color:var(--muted)}.arrow{font-size:1.25rem;color:var(--purple)}.publication-row>.tag{margin-left:auto}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.post-card h3{font-size:1.55rem;margin:18px 0 14px}.post-card p{color:var(--muted)}.post-meta{display:flex;gap:8px;color:#8b828d;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:700}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.tag{display:inline-flex;padding:5px 9px;border-radius:20px;background:#f3eaf4;color:var(--purple);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.cta{padding:110px 0;text-align:center;background-position:center}.cta h2{max-width:800px;margin:0 auto 35px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:75px 0 45px}.site-footer{background:#24162f;color:#fff}.site-footer p{color:#b7aebc}.footer-brand{margin-bottom:18px}.footer-links{display:flex;justify-content:flex-end;align-items:center;gap:30px;font-size:.85rem}.footer-bottom{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);color:#9c90a2;font-size:.72rem}
.research-list{display:grid;gap:24px}.research-feature{display:grid;grid-template-columns:70px 1fr 140px;gap:35px;align-items:center;padding:48px;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;transition:.25s}.research-feature:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--pink)}.research-feature:hover{box-shadow:var(--shadow);transform:translateX(5px)}.research-feature h2{font-size:2.5rem;margin:0 0 14px}.research-feature p{max-width:700px;color:var(--muted)}.feature-index{align-self:start;color:#aaa;font-size:.72rem}.feature-symbol{font-size:6rem;color:var(--pink);opacity:.13;text-align:center}.research-feature.accent-blue:before{background:var(--blue)}.research-feature.accent-blue .feature-symbol{color:var(--blue)}.research-feature.accent-coral:before{background:var(--coral)}.research-feature.accent-coral .feature-symbol{color:var(--coral)}.research-feature.accent-green:before{background:var(--green)}.research-feature.accent-green .feature-symbol{color:var(--green)}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:9vw}.article-grid article h3{font-size:1.6rem;margin-top:35px}.article-grid article>p:not(.eyebrow){color:#554d58}.topic-aside{border-top:3px solid var(--pink);align-self:start;background:var(--soft);padding:25px}.aside-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:var(--muted);margin-bottom:15px}.topic-aside a{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);padding:18px 0}.topic-aside a b{font-size:1.05rem}.topic-aside a small{grid-column:1;color:var(--muted);margin-top:5px}.topic-aside a>span{grid-column:2;grid-row:1/3;color:var(--purple)}.two-streams{display:grid;grid-template-columns:1fr 1fr;gap:25px}.two-streams>div{padding:45px;background:#fff;border-radius:var(--radius);border-top:4px solid var(--pink)}.two-streams>div:last-child{border-top-color:var(--green)}.two-streams h2{font-size:2.5rem}.two-streams p:last-child{color:var(--muted)}
.software-list{display:grid;gap:25px}.software-card{display:grid;grid-template-columns:150px minmax(0,1fr) 40px;gap:42px;align-items:start;padding:48px;border:1px solid var(--line);border-radius:var(--radius)}.software-card:hover{box-shadow:var(--shadow)}.software-monogram{height:130px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;font:500 2.6rem Manrope}.software-card h2{font-size:2.8rem;margin:15px 0 5px}.software-card h3{color:var(--pink);font-size:1.1rem}.software-card p{color:var(--muted);max-width:750px}.software-card .button-row{margin-top:22px}.filter-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:35px}.filter-bar>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-right:15px}.filter-pill{padding:8px 13px;border:1px solid var(--line);border-radius:20px;font-size:.76rem}.filter-pill:hover,.filter-pill.active{background:var(--purple);border-color:var(--purple);color:#fff}.numbered .publication-row{grid-template-columns:75px 1fr auto 25px}
.thoughts-layout{display:grid;grid-template-columns:220px 1fr;gap:7vw}.blog-filters{align-self:start;position:sticky;top:100px}.blog-filters h2{font-size:1.2rem}.blog-filters>a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--muted)}.blog-filters>a.active{color:var(--pink);font-weight:700}.sort-links{margin-top:35px;display:flex;gap:12px}.sort-links small{margin-right:auto;text-transform:uppercase;letter-spacing:.1em}.sort-links a{font-size:.75rem}.sort-links a.active{color:var(--pink);font-weight:700}.post-list{display:grid;gap:20px}.post-list .post-card{padding:40px}.empty-state{text-align:center;border:1px dashed var(--line);padding:70px 30px;border-radius:var(--radius)}.empty-state span{font-size:3rem;color:var(--pink)}.empty-state p{color:var(--muted)}.post-header{padding:190px 0 90px;background:var(--soft)}.post-header h1{font-size:clamp(2.7rem,6vw,5.2rem);margin:25px 0}.post-header>div>p{font-size:1.25rem;color:var(--muted)}.single-post .prose{padding:75px 0;font-family:Manrope;font-size:1.1rem;line-height:1.9}.prose a{color:var(--pink);text-decoration:underline}.comments{background:var(--soft)}.comments h2{font-size:2.5rem}.comment-list{margin:35px 0}.comment{padding:24px 0;border-top:1px solid var(--line)}.comment>div{display:flex;gap:12px;align-items:center}.comment time{margin-left:auto;font-size:.72rem;color:var(--muted)}.comment p{margin:12px 0 0}.comment.admin-reply{border-left:3px solid var(--pink);padding-left:20px}.comment-form,.contact-form{display:grid;gap:18px;padding:35px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}label{display:grid;gap:8px;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}input,textarea,select{width:100%;border:1px solid #d9cedb;border-radius:5px;padding:13px 14px;background:#fff;font:400 1rem 'DM Sans';color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid rgba(229,69,149,.14);border-color:var(--pink)}.comment-form small{color:var(--muted)}.notice{padding:12px 16px;border-radius:5px;background:#e6f5ec;color:#246342}.notice.error{background:#fde9ed;color:#8b2439}
.about-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:9vw}.about-grid>div>p:not(.eyebrow){color:#554d58}.about-note{align-self:center;padding:40px;border-left:3px solid var(--pink);background:var(--soft)}.about-note>span{font:5rem Georgia;color:var(--pink);line-height:.5}.about-note p{font:500 1.35rem Manrope}.profile-links{margin-top:45px;border-top:1px solid var(--line)}.profile-links a{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.profile-links span{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.contact-grid>div p{color:var(--muted);max-width:400px}.form-status{margin:0;font-size:.9rem}.honeypot{position:absolute!important;left:-9999px!important}
@media(max-width:980px){.research-grid{grid-template-columns:1fr 1fr}.research-card{min-height:340px}.site-nav{gap:17px}.article-grid{grid-template-columns:1fr}.topic-aside{width:100%}.posts-grid{grid-template-columns:1fr 1fr}.software-card{grid-template-columns:110px 1fr}.software-card>.feature-index{display:none}.software-monogram{height:100px}.numbered .publication-row{grid-template-columns:70px 1fr 25px}.numbered .publication-row>.tag{display:none}}
@media(max-width:760px){.container,.narrow{width:min(calc(100% - 30px),var(--max))}.site-header{padding:15px 0}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:72px;left:15px;right:15px;background:#401069;border-radius:10px;padding:15px;box-shadow:var(--shadow)}.site-nav.open{display:grid}.site-nav a{padding:12px}.hero-home{min-height:800px}.hero h1{font-size:3.1rem}.split-intro,.footer-grid,.about-grid,.contact-grid,.two-streams{grid-template-columns:1fr}.research-grid,.posts-grid{grid-template-columns:1fr}.research-card{min-height:300px}.section-heading{align-items:start;gap:20px}.publication-row,.numbered .publication-row{grid-template-columns:55px 1fr 20px;gap:12px;padding:22px 5px}.pub-main b{font-size:.92rem}.pub-main small{font-size:.72rem}.publication-row>.tag{display:none}.research-feature{grid-template-columns:35px 1fr;padding:30px 25px}.feature-symbol{display:none}.research-feature h2{font-size:2rem}.software-card{grid-template-columns:1fr;padding:28px}.software-monogram{height:85px;width:85px}.software-card h2{font-size:2.25rem}.thoughts-layout{grid-template-columns:1fr}.blog-filters{position:static}.footer-links{justify-content:flex-start;flex-wrap:wrap}.footer-bottom{display:grid;gap:8px}.page-hero,.topic-hero{padding-top:150px}.page-hero h1,.topic-hero h1{font-size:3.1rem}.contact-form,.comment-form{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Restrained academic presentation */
h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.18;letter-spacing:-.025em}
h2{font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.2;letter-spacing:-.025em}
.hero,.page-hero,.topic-hero,.cta{background-image:linear-gradient(135deg,rgba(60,8,118,.92),rgba(250,0,118,.82)),url('/assets/images/mindlabs-background.png');background-position:center;background-size:cover}
.hero-home:before{background:linear-gradient(90deg,rgba(39,5,69,.28),transparent 68%)}
.hero h1{font-size:clamp(2.8rem,5vw,4.8rem);max-width:760px}
.page-hero h1,.topic-hero h1{font-size:clamp(2.6rem,4.5vw,4rem)}
.post-header h1{font-size:clamp(2.4rem,4.5vw,4rem)}
.research-feature h2,.two-streams h2{font-size:2rem}
.software-card h2{font-size:2.25rem}
.software-logo{height:140px;display:grid;place-items:center;border-radius:14px;background:#fff;border:1px solid var(--line);padding:16px;overflow:hidden}
.software-logo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.software-logo--stripy img,.software-logo--stripy-database img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.software-logo--ppgx img,.software-logo--catchii img{width:86px;height:86px}
.software-logo span{display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(99,57,145,.22);border-radius:50%;background:linear-gradient(145deg,rgba(99,57,145,.08),rgba(229,69,149,.12));color:#69418f;font:500 2rem Manrope}
.software-links{gap:24px;margin-top:22px}
.software-links .text-link{padding-bottom:4px;border-bottom:1px solid currentColor}
.software-section-heading{margin-bottom:38px}.software-section-heading .eyebrow{margin-bottom:10px}.software-section-heading h2{margin-bottom:0;font-size:2rem}
.software-group+.software-group{margin-top:82px}
.software-group--collaborative{padding-top:58px;border-top:1px solid var(--line)}
.software-list--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.software-list--compact .software-card{grid-template-columns:86px minmax(0,1fr);gap:24px;padding:30px}
.software-list--compact .software-logo{height:86px;padding:12px}
.software-list--compact .software-logo span{width:58px;height:58px;font-size:1.55rem}
.software-list--compact .software-card h2{font-size:1.65rem;margin-top:12px}
.software-list--compact .software-card h3{font-size:1rem}
.software-list--compact .software-card>.feature-index{display:none}
.software-list--compact .software-links{gap:18px;margin-top:17px}
.about-grid{display:block;max-width:850px;margin-inline:auto}
.about-intro .about-grid{max-width:var(--max);margin-inline:auto}
.footer-grid{padding:55px 0 35px}
@media(max-width:980px){.software-logo{height:110px}}
@media(max-width:900px){.software-list--compact{grid-template-columns:1fr}}
@media(max-width:760px){.hero h1,.page-hero h1,.topic-hero h1{font-size:2.6rem}.hero-home{min-height:680px}.software-logo{height:120px;width:100%}.software-list--compact .software-card{grid-template-columns:1fr}.software-list--compact .software-logo{width:86px;height:86px}}
@media(max-width:760px){.software-logo--stripy img,.software-logo--stripy-database img{width:min(68%,260px);height:100%}}

/* Research-area icon set */
.card-icon{right:-34px;top:auto;bottom:-38px;width:210px;height:210px;padding:0;border-radius:0;background:transparent;opacity:.035;pointer-events:none}
.card-icon :is(img,svg){display:block;width:100%;height:100%;object-fit:contain}
@media (hover:hover){.research-card .card-icon :is(img,svg){transform:scale(1);transform-origin:bottom right;transition:transform 10s cubic-bezier(.16,1,.3,1)}.research-card:hover .card-icon :is(img,svg){transform:scale(1.16)}}
.feature-symbol{display:grid;place-items:center;opacity:.32}
.feature-symbol :is(img,svg){width:92px;height:92px}

/* Distinctive research-card accent: a short rail and marker instead of a full edge stripe. */
.research-card,.research-feature{--card-accent:var(--pink)}
.research-card.accent-violet,.research-feature.accent-violet{--card-accent:#7555a5}
.research-card.accent-blue,.research-feature.accent-blue{--card-accent:var(--blue)}
.research-card.accent-coral,.research-feature.accent-coral{--card-accent:#ba358b}
.research-card.accent-green,.research-feature.accent-green{--card-accent:var(--green)}
.research-card .card-link,.research-feature .card-link{color:color-mix(in srgb,var(--card-accent) 76%,var(--ink))}
/* Selected research-card treatment. */
.research-card,.research-feature{border:1.5px solid var(--card-accent)}
.research-card:before,.research-card:after,.research-feature:before,.research-feature:after{content:none}
.research-card:hover{background:color-mix(in srgb,var(--card-accent) 5%,#fff);box-shadow:0 14px 34px color-mix(in srgb,var(--card-accent) 14%,transparent)}
.research-card h3{margin-top:28px}
.research-feature{grid-template-columns:minmax(0,1fr)}.research-feature>div{position:relative;z-index:1}.research-feature .feature-symbol{position:absolute;right:-34px;top:auto;bottom:-46px;width:290px;height:290px;display:block;opacity:.045;pointer-events:none}.research-feature .feature-symbol :is(img,svg){display:block;width:100%;height:100%;object-fit:contain;transform:scale(1);transform-origin:bottom right;transition:transform 10s cubic-bezier(.16,1,.3,1)}.research-feature:hover .feature-symbol :is(img,svg){transform:scale(1.14)}

/* Topic-specific header artwork. */
.topic-hero{position:relative;overflow:hidden}
.topic-hero>.container{position:relative;z-index:1}
.topic-hero:after{content:none}
.topic-hero.accent-violet{background:linear-gradient(135deg,#321356,#79409a)}
.topic-hero.topic-hero--precision-medicine{background-image:linear-gradient(135deg,rgb(19 41 106 / 97%),rgb(68 90 171 / 91%)),url('/assets/images/research/headers/precision-medicine.png');background-position:center;background-size:cover}
.topic-hero.topic-hero--rare-diseases{background-image:linear-gradient(135deg,rgb(92 11 60 / 97%),rgb(186 53 139 / 91%)),url('/assets/images/research/headers/rare-diseases.png');background-position:center;background-size:cover}
.topic-hero.topic-hero--psychoactive-drugs{background-image:linear-gradient(135deg,rgb(47 9 92 / 97%),rgb(123 65 157 / 91%)),url('/assets/images/research/headers/psychoactive-drugs.png');background-position:center;background-size:cover}
.topic-hero.topic-hero--other-research{background-image:linear-gradient(135deg,rgb(15 72 75 / 97%),rgb(44 136 117 / 92%)),url('/assets/images/research/headers/other-research.png');background-position:center;background-size:cover}
.topic-hero .eyebrow.light,.topic-hero .container>p:last-child{color:rgba(255,255,255,.5)}

/* Number-free research and software cards. */
.research-feature{grid-template-columns:minmax(0,1fr)}
.software-card{grid-template-columns:150px minmax(0,1fr)}
.software-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.software-title-row h2{margin-right:auto}
.software-years{white-space:nowrap;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.06em}
.pub-authors{color:#504655;font-size:.82rem;line-height:1.45}
.pub-authors .author-self{color:#9d2e68;font-weight:700}

/* Related guideline and protocol cards. */
.resource-section{padding-top:0}
.resource-list{display:grid;grid-template-columns:minmax(0,760px);gap:20px}
.resource-card{display:grid;gap:10px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.resource-card h3{font-size:1.35rem;margin:0}.resource-card p,.resource-card small{margin:0;color:var(--muted)}.resource-card>b{color:var(--purple);font-size:.82rem;margin-top:8px}

/* About and professional experience. */
.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.experience-card,.education-card{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:30px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.experience-card h3,.education-card h3,.membership-grid h3{font-size:1.25rem;margin:0 0 7px}.experience-card p,.education-card p,.membership-grid p{margin:0 0 14px;color:var(--muted)}
.organisation-logo{height:88px;display:grid;place-items:center;padding:10px}.organisation-logo img{max-width:100%;max-height:100%;object-fit:contain}
.education-card{margin-top:22px;max-width:760px}.experience-years{display:block;color:var(--purple);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px}
.past-experience{margin-top:60px;padding-top:38px;border-top:1px solid var(--line)}.past-experience>h3{font-size:1.15rem;margin-bottom:22px}.past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.past-grid article{display:grid;grid-template-columns:74px 1fr;gap:18px;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.past-grid article>a{height:50px;display:grid;place-items:center}.past-grid img{max-width:100%;max-height:50px;object-fit:contain}.past-grid article>div{display:grid;gap:4px}.past-grid b{font-size:.86rem}.past-grid span{font-size:.72rem;color:var(--muted);line-height:1.4}
.membership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.membership-grid article{padding:28px;border:1px solid var(--line);border-radius:var(--radius);text-align:center}.membership-grid .organisation-logo{height:110px;margin-bottom:18px}.membership-grid p{margin-bottom:0}.contact-note{font-size:.82rem}.contact-form label>span{font-size:.72rem;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}

@media(max-width:900px){.experience-grid,.membership-grid{grid-template-columns:1fr}.past-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.research-feature{grid-template-columns:1fr}.software-card{grid-template-columns:1fr}.software-title-row{align-items:flex-start}.experience-card,.education-card{grid-template-columns:90px 1fr;padding:24px}.past-grid{grid-template-columns:1fr}.membership-grid .organisation-logo{height:90px}}

/* Compact inner-page headers and orderly professional profile rows. */
.page-hero,.topic-hero{padding-top:145px;padding-bottom:68px}
.page-hero.compact{padding-bottom:54px}
.page-hero h1,.topic-hero h1{margin-bottom:18px}
.page-hero p:last-child,.topic-hero .container>p:last-child{font-size:1.1rem}
.back-link{margin-bottom:28px}
.about-intro,.professional-section,.affiliations-section,#contact.section{padding-top:56px;padding-bottom:56px}
.professional-section{padding-top:30px;background:#fff}
.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.experience-card,.education-card{grid-template-columns:150px 1fr;gap:28px;padding:24px 28px}
.organisation-logo{width:130px;height:64px;padding:6px}
.organisation-logo img{display:block;max-width:100%;max-height:52px;object-fit:contain}
.past-experience{margin-top:22px;padding-top:0;border-top:0}
.education-block{margin-top:60px;padding-top:38px;border-top:1px solid var(--line)}
.experience-block>h3,.education-block>h3,.past-experience>h3{font-size:1.15rem;margin-bottom:16px}
.education-card{max-width:none;margin:0}
@media(max-width:900px){.experience-grid{grid-template-columns:1fr}}
.past-experience{margin-top:22px;padding-top:34px}
.past-grid{grid-template-columns:1fr;gap:12px}
.past-grid article{grid-template-columns:130px 1fr;gap:28px;padding:18px 28px}
.past-grid article>a{width:130px;height:48px}
.past-grid img{max-width:120px;max-height:42px}
.membership-grid{grid-template-columns:1fr;gap:12px}
.membership-grid article{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:28px;padding:18px 28px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:left}
.membership-grid article>a{width:130px;height:48px;display:grid;place-items:center}
.membership-grid img{max-width:120px;max-height:42px;object-fit:contain}
.membership-grid article>div{display:grid;gap:4px}
.membership-grid b{font-size:.9rem}
.membership-grid span{font-size:.78rem;color:var(--muted);line-height:1.4}

@media(max-width:760px){
  .page-hero,.topic-hero{padding-top:118px;padding-bottom:48px}
  .page-hero.compact{padding-bottom:42px}
  .experience-card,.education-card,.past-grid article{grid-template-columns:90px 1fr;padding:20px;gap:16px}
  .organisation-logo,.past-grid article>a{width:82px}
  .membership-grid article{grid-template-columns:82px 1fr;gap:16px;padding:20px}
  .membership-grid article>a{width:82px}
  .membership-grid img{max-width:82px;max-height:38px}
}

/* Long-form reading layout for Thoughts. */
.post-header{padding:145px 0 58px;color:#fff;background-image:linear-gradient(135deg,rgba(60,8,118,.94),rgba(250,0,118,.79)),url('/assets/images/mindlabs-background.png');background-position:center;background-size:cover}.post-header h1{font-size:clamp(2.5rem,5vw,4.5rem);margin:22px 0}.post-header>div>p{font-size:1.18rem;color:#f4ddec}.post-header .back-link{color:#fff;opacity:.82}.post-header .post-meta{color:#f2d8e9}.post-header .tag{background:rgba(255,255,255,.16);color:#fff}.single-post .prose{padding:68px 0 82px;font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;line-height:1.88;color:#302838}.single-post .prose p{margin:0 0 1.55em}.single-post .prose h1,.single-post .prose h2{font-family:Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink);margin:2em 0 .65em}.single-post .prose h1{font-size:2.15rem}.single-post .prose h2{font-size:1.65rem}.single-post .prose strong{font-weight:700;color:#251d2b}.single-post .prose u{text-decoration-color:var(--pink);text-decoration-thickness:2px;text-underline-offset:3px}.prose a{color:#9d2e68;text-decoration-color:rgba(157,46,104,.42);text-underline-offset:3px}

/* Quiet category cues for publication metadata. */
.tag--precision-medicine{background:#eaf0fb;color:#425d9f}.tag--rare-diseases{background:#f8eaf3;color:#9f2d76}.tag--psychoactive-drugs{background:#f0ebf7;color:#694690}.tag--other-research{background:#e8f4f0;color:#317568}
.publication-row[hidden]{display:none}

/* Compact resource-type label in the Related resources panel. */
.topic-aside a,.topic-aside .topic-project{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;row-gap:3px;padding:14px 0 17px}.topic-aside a b,.topic-aside .topic-project b{grid-column:1;grid-row:2;padding:0}.topic-aside a small,.topic-aside .topic-project small{grid-column:1;grid-row:3;margin:0;padding:0}.topic-aside a>.resource-type,.topic-aside .topic-project>.resource-type{position:static;grid-column:1;grid-row:1;justify-self:start;margin-top:10px;color:#9a929d;font-size:.56rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}.topic-aside a>.resource-arrow{grid-column:2;grid-row:2/4;align-self:center;color:var(--purple)}.topic-aside a>span:not(.resource-arrow):not(.resource-type){grid-column:2;grid-row:1/3;color:var(--purple)}

.publication-more{display:flex;justify-content:flex-end;padding-top:24px}.publication-toggle{border:0;background:transparent;cursor:pointer;padding:0}

.topic-sidebars{display:grid;gap:28px}.topic-aside--projects{margin-top:0;border-top-color:var(--blue)}
.topic-aside--projects .project-group-label{margin:0 0 15px;color:var(--muted)}.topic-aside--projects .project-group-label--past{margin-top:24px}
.topic-aside a,.topic-aside .topic-project{width:100%;box-sizing:border-box;transition:transform .2s ease,background .2s ease}.topic-aside a:hover,.topic-aside .topic-project:hover{background:#fff;transform:translateX(5px)}
.topic-aside--projects a,.topic-aside--projects .topic-project{position:relative;width:calc(100% + 50px);margin-inline:-25px;padding-inline:25px;border-top:0}.topic-aside--projects a::before,.topic-aside--projects .topic-project::before{content:"";position:absolute;top:0;left:25px;width:30%;height:1px;background:var(--line)}.topic-aside--projects .project-group-label+a::before,.topic-aside--projects .project-group-label+.topic-project::before{width:auto;right:25px}.topic-aside--projects .project-group-label--past{position:relative;padding-top:24px;margin-top:0}.topic-aside--projects .project-group-label--past::before{content:"";position:absolute;top:0;left:-25px;right:-25px;height:2px;background:var(--line)}.topic-aside--projects a:hover,.topic-aside--projects .topic-project:hover{transform:none}.topic-aside--projects a b,.topic-aside--projects a small,.topic-aside--projects a .resource-arrow,.topic-aside--projects .topic-project b,.topic-aside--projects .topic-project small{transition:transform .2s ease}.topic-aside--projects a:hover b,.topic-aside--projects a:hover small,.topic-aside--projects a:hover .resource-arrow,.topic-aside--projects .topic-project:hover b,.topic-aside--projects .topic-project:hover small{transform:translateX(5px)}
.topic-aside--resources a{position:relative;width:calc(100% + 50px);margin-inline:-25px;padding-inline:25px;border-top:0}.topic-aside--resources a::before{content:"";position:absolute;top:0;left:25px;width:30%;height:1px;background:var(--line)}.topic-aside--resources .aside-label+a::before{width:auto;right:25px}.topic-aside--resources a:hover{transform:none}.topic-aside--resources a b,.topic-aside--resources a small,.topic-aside--resources a .resource-type,.topic-aside--resources a .resource-arrow{transition:transform .2s ease}.topic-aside--resources a:hover b,.topic-aside--resources a:hover small,.topic-aside--resources a:hover .resource-type,.topic-aside--resources a:hover .resource-arrow{transform:translateX(5px)}

.article-grid article p a{color:var(--purple);font-weight:650;text-decoration:underline;text-decoration-color:rgba(99,57,145,.28);text-underline-offset:3px}.research-copy p{color:#554d58}.research-copy p:last-child{margin-bottom:0}.topic-aside--student-projects{border-top-color:var(--green)}.topic-aside--student-projects .resource-type{color:var(--green)}

/* Psychoactive-drug streams use the same coloured-card language as research areas. */
.two-streams .two-stream{--card-accent:var(--pink);position:relative;padding:40px;border:1.5px solid var(--card-accent);border-radius:var(--radius);background:#fff;overflow:hidden;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.two-streams .two-stream--psychedelics{--card-accent:var(--coral)}.two-streams .two-stream--cannabis{--card-accent:var(--green)}.two-streams .two-stream .eyebrow{color:var(--card-accent)}.two-stream-icon{position:absolute;right:28px;top:27px;width:58px;height:58px;opacity:.48;transition:transform .25s ease,opacity .25s ease}.two-streams .two-stream:hover{background:color-mix(in srgb,var(--card-accent) 5%,#fff);box-shadow:0 14px 34px color-mix(in srgb,var(--card-accent) 14%,transparent);transform:translateY(-5px)}.two-streams .two-stream:hover .two-stream-icon{opacity:.72;transform:rotate(-5deg) scale(1.06)}.two-streams .two-stream p:last-child{margin-bottom:0}.two-streams .two-stream h2{margin-bottom:17px}@media(max-width:760px){.two-stream-icon{width:47px;height:47px;right:21px;top:22px}}
.two-streams button.two-stream{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.two-streams button.two-stream:focus-visible{outline:3px solid color-mix(in srgb,var(--card-accent) 20%,transparent);outline-offset:4px}.two-streams button.two-stream[aria-pressed="true"]{background:color-mix(in srgb,var(--card-accent) 5%,#fff);box-shadow:0 14px 34px color-mix(in srgb,var(--card-accent) 12%,transparent)}.two-streams .two-stream--psychedelics{--card-accent:#7555a5;border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(125deg,#7555a5 0%,#c323c5 100%) border-box}.two-streams .two-stream--psychedelics:hover,.two-streams button.two-stream--psychedelics[aria-pressed="true"]{border-color:transparent;background:linear-gradient(125deg,#f7f4fb 0%,#fcf3fc 100%) padding-box,linear-gradient(125deg,#684493 0%,#ae20b0 100%) border-box;box-shadow:0 14px 34px rgba(137,55,154,.14)}.tag--psychedelics{background:#eee8f6;color:#65428e}.tag--cannabis{background:color-mix(in srgb,var(--green) 13%,#fff);color:color-mix(in srgb,var(--green) 78%,#173e35)}


.experience-card,.education-card,.past-grid article,.membership-grid article{transition:transform .22s ease,box-shadow .22s ease}.experience-card:hover,.education-card:hover,.past-grid article:hover,.membership-grid article:hover{transform:translateY(-2px);box-shadow:var(--shadow)}

.research-feature:hover{background:color-mix(in srgb,var(--card-accent) 5%,#fff);box-shadow:0 14px 34px color-mix(in srgb,var(--card-accent) 14%,transparent)}
.research-card.accent-violet,.research-feature.accent-violet{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(125deg,#7555a5 0%,#c323c5 100%) border-box}
.research-card.accent-violet:hover,.research-feature.accent-violet:hover{border-color:transparent;background:linear-gradient(125deg,#f7f4fb 0%,#fcf3fc 100%) padding-box,linear-gradient(125deg,#684493 0%,#ae20b0 100%) border-box;box-shadow:0 14px 34px rgba(137,55,154,.14)}

.software-description p{margin:0}.software-description p+p{margin-top:1em}

/* Research-field palette for resource cards. */
.software-card{--resource-accent:#7555a5;--resource-border:#c7b6d7;border-color:var(--resource-border);transition:background-color .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease}.software-card.resource-theme--precision-medicine{--resource-accent:#5368b5;--resource-border:#b5bfdf}.software-card.resource-theme--rare-diseases{--resource-accent:#ba358b;--resource-border:#dda9cd}.software-card.resource-theme--psychoactive-drugs{--resource-accent:#7555a5;--resource-border:#c7b6d7}.software-card.resource-theme--other-research{--resource-accent:#378474;--resource-border:#acd0c8}.software-card h3,.software-card .text-link{color:color-mix(in srgb,var(--resource-accent) 80%,var(--ink))}.software-card .software-logo{border-color:#ddd8df;transition:border-color .24s ease,border-width .24s ease,box-shadow .24s ease,transform .24s ease}.software-card:hover{background:color-mix(in srgb,var(--resource-accent) 5%,#fff);border-color:var(--resource-accent);box-shadow:0 14px 34px color-mix(in srgb,var(--resource-accent) 14%,transparent);transform:translateY(-2px)}.software-card:hover .software-logo{border-width:.75px;border-color:color-mix(in srgb,var(--resource-accent) 72%,#ddd8df);box-shadow:0 8px 20px color-mix(in srgb,var(--resource-accent) 11%,transparent),0 3px 10px rgba(47,24,58,.07);transform:translateY(-2px)}

/* Compact institution-only cards for past appointments and memberships. */
.past-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.membership-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.past-grid article,.membership-grid article{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:20px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:left}.past-grid article>a,.membership-grid article>a{display:grid;width:104px;height:52px;place-items:center}.past-grid img,.membership-grid img{display:block;max-width:100%;max-height:46px;object-fit:contain}.past-grid article>span,.membership-grid article>span{color:var(--muted);font-size:.85rem;line-height:1.4}
.affiliations-section{padding-top:20px}
@media(max-width:900px){.past-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-grid{grid-template-columns:1fr}}
@media(max-width:760px){.past-grid{grid-template-columns:1fr}.past-grid article,.membership-grid article{grid-template-columns:82px minmax(0,1fr);gap:16px;padding:20px}.past-grid article>a,.membership-grid article>a{width:82px}.past-grid img,.membership-grid img{max-width:82px;max-height:38px}}
.past-grid article>span{font-size:1rem}
.profile-links a{transition:transform .2s ease,color .2s ease}.profile-links a:hover,.profile-links a:focus-visible{transform:translateX(6px);color:var(--purple)}
.membership-grid{grid-template-columns:repeat(2,minmax(0,180px));justify-content:start}.membership-grid article{grid-template-columns:1fr;justify-items:center;padding:18px}.membership-grid article>a{width:120px}
@media(max-width:760px){.membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-grid article{grid-template-columns:1fr;padding:18px}.membership-grid article>a{width:100px}.membership-grid img{max-width:100px}}

.education-card .education-institution{margin-bottom:12px}.education-card .education-meta{margin:0;font-size:.82rem}.education-meta span{margin:0 7px;color:#aaa}.education-meta a{color:var(--purple);font-weight:600}

/* Animated neural-synapse header network. */
.hero,.page-hero,.cta,.post-header{background-image:linear-gradient(135deg,rgba(60,8,118,.96),rgba(250,0,118,.86));position:relative;overflow:hidden}
.neural-network-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.62}
.neural-network-host>*:not(.neural-network-canvas){position:relative;z-index:1}
.neural-network-host>.neural-network-stats{position:absolute;right:22px;bottom:18px;z-index:2;display:grid;grid-template-columns:auto auto;gap:5px 18px;min-width:180px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(27,7,55,.2);color:rgba(255,255,255,.72);pointer-events:none;backdrop-filter:blur(3px);font:650 .58rem/1.25 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase}.neural-network-host>.neural-network-stats[hidden]{display:none}
.neural-network-stats>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:5px}.neural-network-stats>div strong{color:#fff;font-size:.82rem;font-variant-numeric:tabular-nums}.neural-network-stats>small{grid-column:1/-1;margin-top:3px;color:rgba(255,255,255,.4);font:inherit}.neural-network-stats>b{grid-column:1/-1;color:rgba(255,255,255,.88);font-size:.68rem;letter-spacing:.07em;text-transform:none}
.neural-network-host.neural-node-grabbable{cursor:grab}.neural-network-host.neural-node-dragging{cursor:grabbing}
@media(prefers-reduced-motion:reduce){.neural-network-canvas{opacity:.5}}
@media(max-width:640px){.neural-network-host>.neural-network-stats{right:12px;bottom:12px;min-width:155px;padding:9px 10px;gap:3px 12px;font-size:.52rem}.neural-network-stats>div strong{font-size:.72rem}.neural-network-stats>b{font-size:.61rem}}

/* Publication-title rain replaces the neural network on the publications header. */
.publication-rain-hero{position:relative;overflow:hidden;background-image:linear-gradient(135deg,rgba(20,5,35,.98),rgba(35,3,42,.95))}
.publication-rain-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.78}
.publication-rain-hero>.container{position:relative;z-index:1;text-shadow:0 2px 18px rgba(10,0,20,.56)}
@media(prefers-reduced-motion:reduce){.publication-rain-canvas{opacity:.5}}

/* Dot-portrait assembly for the About header. */
.about-portrait-hero{background-image:linear-gradient(135deg,rgba(37,8,70,.98),rgba(111,19,96,.94))}.about-portrait-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.about-portrait-hero>.container{position:relative;z-index:1}.about-portrait-hero:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(37,8,70,.32),rgba(37,8,70,0) 65%);pointer-events:none}
@media(max-width:760px){.about-portrait-canvas{opacity:.5}.about-portrait-hero:after{background:rgba(37,8,70,.2)}}
@media(max-width:760px){.page-hero.about-portrait-hero{height:400px}}

/* Cursor-powered Pac-Man header experiment. */
.pacman-background-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.54}
.pacman-background-host>*:not(.pacman-background-canvas){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.pacman-background-canvas{opacity:.42}}
.hero-home .hero-inner{opacity:1;transition:opacity 3.2s ease;will-change:opacity}
.site-header .nav-wrap{width:100%;max-width:none;margin-inline:0;padding-inline:var(--header-gutter)}
.hero-home>.hero-inner,.page-hero:not(.resources-terminal-hero)>.container,.topic-hero>.container{width:100%;max-width:none;margin-inline:0;padding-left:var(--header-text-gutter);padding-right:var(--header-gutter)}
.hero-home.pacman-controls-active .hero-inner{opacity:0;pointer-events:none;transition-duration:.35s}
.hero-home.pacman-background-host{--pacman-light-x:50%;--pacman-light-y:50%;background-image:linear-gradient(135deg,rgba(60,8,118,.92),rgba(205,25,126,.84))}
.hero-home.pacman-background-host.pacman-game-started{background-image:radial-gradient(circle 75vmax at var(--pacman-light-x) var(--pacman-light-y),rgba(18,2,42,.42) 0%,rgba(24,3,52,.22) 42%,rgba(24,3,52,.06) 72%,rgba(24,3,52,0) 100%),linear-gradient(135deg,rgba(60,8,118,.92),rgba(205,25,126,.84))}
.hero-home.pacman-background-host:before{background:rgba(28,5,49,.1)}
.pacman-background-host>.pacman-leaderboard{position:absolute;right:22px;bottom:58px;width:170px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(26,7,54,.72);color:rgba(255,255,255,.76);font:600 .65rem/1.35 'DM Sans',sans-serif;letter-spacing:.055em;opacity:0;transform:translateY(5px);transition:opacity .28s ease,transform .28s ease;pointer-events:none;backdrop-filter:blur(5px)}
.pacman-background-host>.pacman-leaderboard[hidden]{display:none}.pacman-game-started .pacman-leaderboard{opacity:.92;transform:none}.pacman-leaderboard>strong{display:block;margin-bottom:6px;font-size:.61rem;letter-spacing:.14em}.pacman-leaderboard ol{display:grid;gap:2px;margin:0;padding:0;list-style:none}.pacman-leaderboard li{display:flex;justify-content:space-between;gap:10px;min-width:0}.pacman-leaderboard li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pacman-leaderboard li b{font-variant-numeric:tabular-nums}.pacman-leaderboard .pacman-leaderboard-empty{display:block;color:rgba(255,255,255,.46);font-weight:500}
.pacman-background-host>.pacman-leaderboard-toggle{position:absolute;right:22px;bottom:22px;z-index:2;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:rgba(26,7,54,.3);color:rgba(255,255,255,.68);cursor:pointer;font:700 .58rem/1 'DM Sans',sans-serif;letter-spacing:.1em;opacity:0;transform:translateY(5px);transition:opacity .7s ease,transform .7s ease,background .2s ease;pointer-events:none}.pacman-game-started .pacman-leaderboard-toggle{opacity:.78;transform:none;pointer-events:auto}.pacman-leaderboard-toggle:hover,.pacman-leaderboard-toggle:focus-visible{background:rgba(26,7,54,.68);color:#fff}
.pacman-background-host>.pacman-legend{position:absolute;left:22px;top:82px;width:150px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(26,7,54,.23);color:rgba(255,255,255,.68);font:600 .64rem/1.35 'DM Sans',sans-serif;letter-spacing:.045em;opacity:0;transform:translateY(5px);transition:opacity .7s ease,transform .7s ease;pointer-events:none;backdrop-filter:blur(3px)}.pacman-game-started .pacman-legend{opacity:.78;transform:none}.pacman-legend>strong{display:block;margin-bottom:7px;font-size:.61rem;letter-spacing:.14em}.pacman-legend ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.pacman-legend li{display:flex;align-items:center;gap:8px;min-height:17px}.pacman-legend i{position:relative;display:inline-block;flex:0 0 13px;width:13px;height:12px}.pacman-legend-ghost{border-radius:7px 7px 3px 3px;background:rgba(255,184,215,.72)}.pacman-legend-ghost:after{content:"";position:absolute;left:2px;top:4px;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:6px 0 #fff}.pacman-legend-ghost.reviewer-two{background:rgba(170,224,255,.72);animation:reviewer-electric 1.8s steps(1,end) infinite}.pacman-legend-ghost.reviewer-three{background:rgba(255,210,165,.68)}.pacman-legend-ghost.slow-editor{width:15px;height:14px;flex-basis:15px;background:rgba(181,255,91,.88);filter:drop-shadow(0 0 3px rgba(181,255,91,.9)) drop-shadow(0 0 7px rgba(181,255,91,.45))}.pacman-legend-fruit:before,.pacman-legend-fruit:after{content:"";position:absolute;bottom:0;width:7px;height:7px;border-radius:50%;background:rgba(255,105,132,.85)}.pacman-legend-fruit:before{left:0;box-shadow:4px -7px 0 -3px rgba(195,255,205,.85)}.pacman-legend-fruit:after{right:0}.pacman-legend-fruit{border-top:1px solid rgba(195,255,205,.8);transform:rotate(-18deg)}
.pacman-background-host>.pacman-mobile-controls{display:none}
@keyframes reviewer-electric{0%,38%,54%,100%{filter:none}39%,48%{filter:drop-shadow(0 0 2px #d7f4ff) drop-shadow(0 0 4px #97deff);outline:1px dotted rgba(215,244,255,.8);outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.pacman-legend-ghost.reviewer-two{animation:none}}
.pacman-score-entry{position:absolute!important;inset:0;z-index:5!important;display:grid;place-items:center;padding:20px;background:rgba(25,5,51,.28);backdrop-filter:blur(2px)}.pacman-score-entry[hidden]{display:none}.pacman-score-card{position:relative;width:min(390px,calc(100% - 28px));box-sizing:border-box;padding:25px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(47,13,78,.9);box-shadow:0 18px 60px rgba(15,2,32,.28);color:#fff;text-align:center}.pacman-score-close{position:absolute;top:9px;right:10px;display:grid;width:30px;height:30px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.58);cursor:pointer;font:400 1.35rem/1 sans-serif}.pacman-score-close:hover,.pacman-score-close:focus-visible{background:rgba(255,255,255,.1);color:#fff}.pacman-score-kicker{margin:0 0 5px;color:#ffe789;font-size:.7rem;font-weight:750;letter-spacing:.16em}.pacman-final-score{display:block;margin-bottom:18px;font:750 1.35rem/1.2 'Manrope',sans-serif}.pacman-score-card label{display:block;margin-bottom:8px;color:rgba(255,255,255,.72);font-size:.78rem}.pacman-score-fields{display:flex;gap:7px}.pacman-score-fields input{min-width:0;flex:1;padding:10px 11px;border:1px solid rgba(255,255,255,.22);border-radius:7px;outline:0;background:rgba(255,255,255,.1);color:#fff;font:600 .78rem 'DM Sans',sans-serif}.pacman-score-fields input::placeholder{color:rgba(255,255,255,.48)}.pacman-score-fields input:focus{border-color:rgba(255,231,137,.76);box-shadow:0 0 0 3px rgba(255,231,137,.1)}.pacman-score-fields button,.pacman-play-again{border:0;border-radius:7px;background:#ffe789;color:#351151;cursor:pointer;padding:10px 13px;font:750 .67rem 'DM Sans',sans-serif;letter-spacing:.07em}.pacman-score-fields button:disabled{cursor:wait;opacity:.55}.pacman-score-status{min-height:1.2em;margin:8px 0 0;color:rgba(255,255,255,.67);font-size:.7rem}.pacman-play-again{margin-top:7px}
@media(max-width:640px){.pacman-game-started .scroll-cue{opacity:0;pointer-events:none}.pacman-background-host>.pacman-leaderboard{right:12px;bottom:50px;width:132px;padding:9px 10px;font-size:.58rem}.pacman-background-host>.pacman-leaderboard-toggle{right:12px;bottom:14px}.pacman-background-host>.pacman-legend{left:12px;top:72px;width:132px;padding:9px 10px;font-size:.57rem}.pacman-background-host>.pacman-mobile-controls{position:absolute;left:12px;bottom:14px;z-index:3;display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(2,34px);gap:4px;touch-action:none}.pacman-mobile-controls button{display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(28,7,56,.26);color:rgba(255,255,255,.7);font:700 1rem/1 'DM Sans',sans-serif;backdrop-filter:blur(3px);touch-action:none}.pacman-mobile-controls button svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pacman-mobile-controls button:active{background:rgba(255,255,255,.2);color:#fff}.pacman-control-up{grid-column:2;grid-row:1}.pacman-control-left{grid-column:1;grid-row:2}.pacman-control-down{grid-column:2;grid-row:2}.pacman-control-right{grid-column:3;grid-row:2}.pacman-score-card{padding:20px}.pacman-score-fields{display:grid}}

/* Keep every internal landing-page header on one consistent canvas. */
.page-hero,.topic-hero,.page-hero.compact{height:460px;padding-top:145px;padding-bottom:68px}
.page-hero .container>p:not(.eyebrow),.topic-hero .container>p:not(.eyebrow){min-height:3.63rem}
@media(max-width:760px){.page-hero,.topic-hero,.page-hero.compact{height:450px;padding-top:118px;padding-bottom:48px}.page-hero .container>p:not(.eyebrow),.topic-hero .container>p:not(.eyebrow){min-height:0}}

/* Resources terminal */
.page-hero.resources-terminal-hero{height:460px;min-height:0;padding:0;background:#0a0810;cursor:text}
.page-hero>.resources-terminal-layout{position:relative;width:100%;height:100%;max-width:none;margin-inline:0}
.resources-terminal-intro{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:90px var(--header-gutter) 90px var(--header-text-gutter);background:linear-gradient(90deg,rgba(31,7,55,.96) 0%,rgba(58,12,83,.91) 42%,rgba(51,8,67,.68) 68%,rgba(17,5,27,.3) 100%);pointer-events:none;transition:opacity .8s ease,visibility .8s ease}
.resources-terminal-intro h1{font-size:clamp(2.8rem,4.8vw,4.6rem);margin-bottom:20px}
.resources-terminal-intro>.terminal-intro-copy{font-size:1.05rem;line-height:1.7;color:#eadced;min-height:0!important;max-width:710px}
.page-hero .resources-terminal-intro>p.terminal-resume-hint{position:absolute;right:var(--header-gutter);bottom:24px;margin:0;color:rgba(123, 99, 132, 0.8);font:600 .62rem/1 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.terminal-engaged .resources-terminal-intro{opacity:0;visibility:hidden}
.terminal-window{position:absolute;inset:0;min-width:0;overflow:hidden;background:radial-gradient(circle at 72% 42%,rgba(74,30,90,.2),transparent 42%),#0a0810;transition:box-shadow .35s}
.terminal-screen{height:100%;box-sizing:border-box;overflow:auto;padding:105px var(--header-gutter) 56px;overscroll-behavior:contain;scrollbar-color:#363a45 transparent;cursor:text}
.terminal-output,.terminal-command{font:400 12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;color:#c9ced8}
.terminal-line{margin:0 0 14px;white-space:pre;min-width:max-content;color:inherit;font:inherit}
.terminal-line--command{margin-bottom:7px;color:#a7d8c2}.terminal-line--error{color:#e5a2ad}.terminal-line--success{color:#a9dfc3}
.terminal-command{display:flex;align-items:flex-start;gap:8px;min-width:max-content}
.terminal-command span{flex:none;color:#a7d8c2}.terminal-command input{width:min(530px,72vw);padding:0;border:0;outline:0;background:transparent;color:#ecf0f5;caret-color:#d9a7ef;font:inherit}
.terminal-command input:disabled{opacity:.65}
.terminal-actions{position:absolute;right:var(--header-gutter);bottom:18px;left:var(--header-gutter);z-index:1;min-height:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.terminal-actions button,.terminal-actions a{padding:7px 0;border:0;background:none;color:#9da9b8;font:600 .65rem 'DM Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.terminal-actions button:hover,.terminal-actions a:hover{color:#fff}
.terminal-actions button,.terminal-actions a{pointer-events:auto}
.terminal-complete .terminal-window{box-shadow:inset 0 0 60px rgba(83,203,142,.1)}
.terminal-fake-error[hidden]{display:none}.terminal-fake-error{position:fixed;inset:0;z-index:100000;display:block;box-sizing:border-box;padding:8px;overflow:auto;background:#fff;color:#000;text-align:left;font:16px/normal "Times New Roman",Times,serif;cursor:default}.terminal-fake-error h1{display:block;margin:.67em 0;padding:0;border:0;color:#000;font:bold 2em/normal "Times New Roman",Times,serif;letter-spacing:normal}.terminal-fake-error p{display:block;margin:1em 0;color:#000;font:16px/normal "Times New Roman",Times,serif}.terminal-fake-error hr{display:block;margin:.5em auto;border:1px inset;color:gray}.terminal-fake-error address{display:block;margin:0;color:#000;font:italic 16px/normal "Times New Roman",Times,serif}.terminal-outage-active{overflow:hidden}
@media(max-width:760px){.page-hero.resources-terminal-hero{height:500px;padding:0}.resources-terminal-intro{padding:90px 20px 45px 25px}.resources-terminal-intro h1{font-size:2.55rem;margin-bottom:14px}.resources-terminal-intro>.terminal-intro-copy{font-size:.92rem;line-height:1.55}.page-hero .resources-terminal-intro>p.terminal-resume-hint{right:20px;bottom:18px;font-size:.58rem}.terminal-screen{padding:94px 15px 48px}.terminal-output,.terminal-command{font-size:11px}.terminal-actions{right:15px;bottom:10px;left:15px}.terminal-actions a{max-width:68%;text-align:right}}

/* Active and completed review-game states. */
.hero-home .pacman-background-canvas{opacity:.2;transition:opacity .35s ease}
.hero-home.pacman-active .pacman-background-canvas{opacity:.58}
.pacman-game-started .pacman-leaderboard,.pacman-game-started .pacman-leaderboard-toggle,.pacman-game-started .pacman-legend{opacity:.28}
.pacman-active .pacman-leaderboard{opacity:.92}.pacman-active .pacman-leaderboard-toggle,.pacman-active .pacman-legend{opacity:.78}
.pacman-legend-fruit{height:10px!important;border:1px solid rgba(255,240,218,.86);border-top:0;border-radius:1px 1px 4px 4px;transform:none!important}
.pacman-legend-fruit:before{left:auto!important;right:-5px;bottom:2px!important;width:5px!important;height:5px!important;border:1px solid rgba(255,240,218,.8);border-left:0;border-radius:0 5px 5px 0;background:transparent!important;box-shadow:none!important}
.pacman-legend-fruit:after{left:3px;right:auto!important;bottom:11px!important;width:5px!important;height:5px!important;border:0!important;border-left:1px solid rgba(255,240,218,.65)!important;border-radius:50%!important;background:transparent!important;transform:rotate(18deg)}
.pacman-score-card{width:min(430px,calc(100% - 28px))}.pacman-personal-best{display:inline-block;margin:0 0 13px;padding:4px 8px;border-radius:20px;background:rgba(181,255,91,.15);color:#d8ffac;font-size:.62rem;font-weight:750;letter-spacing:.12em}.pacman-personal-best[hidden]{display:none}.pacman-acceptance-summary{display:grid;gap:5px;margin:0 0 18px;padding:13px 15px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.055);font-size:.7rem;text-align:left}.pacman-acceptance-summary>div{display:flex;justify-content:space-between;gap:15px}.pacman-acceptance-summary dt{color:rgba(255,255,255,.62)}.pacman-acceptance-summary dd{margin:0;color:#fff;font-weight:700}.pacman-score-actions{display:flex;justify-content:center;gap:8px;margin-top:7px}.pacman-share-result,.pacman-play-again{border:0;border-radius:7px;background:#ffe789;color:#351151;cursor:pointer;padding:10px 13px;font:750 .67rem 'DM Sans',sans-serif;letter-spacing:.07em}.pacman-share-result{background:rgba(255,255,255,.12);color:#fff}
@media(max-width:640px){.pacman-mobile-controls{opacity:.38;transition:opacity .25s ease}.pacman-active .pacman-mobile-controls{opacity:.82}.pacman-score-entry{padding:10px}.pacman-score-card{max-height:calc(100svh - 20px);overflow:auto}.pacman-acceptance-summary{font-size:.65rem}}

/* Editorial treatment for long prose, with simpler alignment in cards. */
.article-grid article>p:not(.eyebrow),
.research-copy p,
.software-description p,
.about-intro .about-grid>div>p:not(.eyebrow){
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  margin-bottom:1.35em;
}
.software-description p{max-width:none}
.research-copy p,
.about-intro .about-grid>div>p:not(.eyebrow){font-size:1.03rem}
.research-card p,
.research-feature p,
.two-streams .two-stream p:last-child,
.contact-grid>div p:not(.eyebrow){text-align:left;hyphens:none}
@media(max-width:760px){
  .article-grid article>p:not(.eyebrow),
  .research-copy p,
  .software-description p,
  .about-intro .about-grid>div>p:not(.eyebrow){text-align:left;hyphens:none}
}

/* Larger centred touch controls for the mobile review game. */
@media(max-width:640px){
  .pacman-background-host>.pacman-mobile-controls{
    left:50%;
    bottom:14px;
    z-index:0;
    grid-template-columns:repeat(3,52px);
    grid-template-rows:repeat(2,52px);
    gap:6px;
    transform:translateX(-50%);
  }
  .hero-home .pacman-background-canvas{z-index:1}
  .pacman-mobile-controls{opacity:.18}
  .pacman-active .pacman-mobile-controls{opacity:.32}
  .pacman-mobile-controls button{border-radius:12px}
  .pacman-mobile-controls button svg{width:24px;height:24px;stroke-width:1.4;opacity:.46}
  .pacman-active .pacman-mobile-controls button svg{opacity:.58}
  .pacman-background-host>.pacman-leaderboard-toggle{right:12px;bottom:132px}
  .pacman-background-host>.pacman-leaderboard{right:12px;bottom:168px}
}

.article-grid{gap:4vw}
[data-psychoactive-publications] .publication-row{grid-template-columns:95px minmax(0,1fr) auto 25px}
@media(max-width:760px){[data-psychoactive-publications] .publication-row{grid-template-columns:55px minmax(0,1fr) 20px}}

/* Keep mobile gutters balanced, including while a tapped card is hovered. */
@media(max-width:760px){
  .container,.narrow{width:min(calc(100% - 40px),var(--max))}
  .research-grid,.research-list,.software-list,.software-list--compact,
  .article-grid,.two-streams,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .research-feature,.software-card,.software-list--compact .software-card{
    grid-template-columns:minmax(0,1fr);
    min-width:0;
  }
  .research-feature>div,.software-card>div,.article-grid>*,.pub-main{min-width:0}
  .research-feature,.research-card,.software-card,.article-grid,.publication-row{
    overflow-wrap:anywhere;
  }
  .research-feature:hover,.research-card:hover,.publication-row:hover{transform:none}
  .software-title-row{flex-wrap:wrap;gap:4px 16px}
  .software-title-row h2{min-width:0;margin-bottom:0}
  .section-heading{flex-wrap:wrap}
  .experience-card,.education-card{grid-template-columns:82px minmax(0,1fr);overflow-wrap:anywhere}
}
@media(max-width:480px){
  .experience-card,.education-card{grid-template-columns:minmax(0,1fr)}
}

/* Inline artwork stays in the document; hover only starts CSS animations. */
.research-art--precision-medicine .new,
.research-art--psychoactive-drugs .dot,
.research-art--rare-diseases .flat{opacity:0}
@keyframes research-pill-in{45%{opacity:0}70%,100%{opacity:1}}
@keyframes research-brain-appear{35%{opacity:0}55%,100%{opacity:1}}
@keyframes research-crack{0%,32%{opacity:1}45%,100%{opacity:0}}
@keyframes research-pulse{0%,10%,25%,42%{transform:scaleY(1);opacity:1}5%,18%,34%{transform:scaleY(1.35);opacity:1}55%,100%{opacity:0}}
@keyframes research-flat{0%,54%{opacity:0}55%,100%{opacity:1}}
@keyframes research-search{0%,100%{transform:translate(-4px,2px)}25%{transform:translate(5px,-4px)}50%{transform:translate(7px,5px)}75%{transform:translate(-3px,7px)}}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  :is(.research-card,.research-feature):hover .research-art--precision-medicine .new{animation:research-pill-in 3.6s ease-out forwards}
  :is(.research-card,.research-feature):hover .research-art--precision-medicine .two{animation-delay:.7s}
  :is(.research-card,.research-feature):hover .research-art--psychoactive-drugs .dot{animation:research-brain-appear 3.8s ease-out forwards}
  :is(.research-card,.research-feature):hover .research-art--psychoactive-drugs .d2{animation-delay:.45s}
  :is(.research-card,.research-feature):hover .research-art--psychoactive-drugs .d3{animation-delay:.9s}
  :is(.research-card,.research-feature):hover .research-art--psychoactive-drugs .d4{animation-delay:1.35s}
  :is(.research-card,.research-feature):hover .research-art--psychoactive-drugs .d5{animation-delay:1.8s}
  :is(.research-card,.research-feature):hover .research-art--psychoactive-drugs .d6{animation-delay:2.25s}
  :is(.research-card,.research-feature):hover .research-art--rare-diseases .crack{animation:research-crack 5s ease-in forwards}
  :is(.research-card,.research-feature):hover .research-art--rare-diseases .beat{transform-box:fill-box;transform-origin:center;animation:research-pulse 5s ease-in forwards}
  :is(.research-card,.research-feature):hover .research-art--rare-diseases .flat{animation:research-flat 5s steps(1,end) forwards}
  :is(.research-card,.research-feature):hover .research-art--other-research .lens{transform-box:fill-box;transform-origin:center;animation:research-search 5s ease-in-out infinite}
}

.contact-page .site-header{position:relative;background:var(--deep)}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body>.site-header,body>.site-footer{flex-shrink:0}
