:root {
  --paper: #f7f5ef; --paper-deep: #efeadf; --ink: #18312f; --ink-soft: #50625f;
  --teal: #236d63; --teal-dark: #143f3b; --teal-pale: #dceae5;
  --berry: #a12f5a; --berry-pale: #f1dce4; --ochre: #b5662d; --ochre-pale: #f3e2cf;
  --violet: #69509b; --violet-pale: #e7e0f0; --white: #fffdf8;
  --line: rgba(24,49,47,.15); --line-strong: rgba(24,49,47,.25);
  --shadow: 0 20px 55px rgba(24,49,47,.10);
  --font-display: "Newsreader", Georgia, serif;
  --font-sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shell: 1180px; --header-height: 78px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden} img{display:block;max-width:100%} a{color:inherit}
button,input,select{font:inherit} button,a,input,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid rgba(161,47,90,.45);outline-offset:3px}
.shell{width:min(var(--shell),calc(100% - 48px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 16px;border-radius:8px;color:var(--white);background:var(--teal-dark);font-weight:700;transform:translateY(-160%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}

.site-header{position:sticky;top:0;z-index:100;min-height:var(--header-height);border-bottom:1px solid transparent;background:rgba(247,245,239,.9);backdrop-filter:blur(18px) saturate(135%);transition:border-color .18s ease,box-shadow .18s ease}
.site-header.scrolled{border-color:var(--line);box-shadow:0 8px 30px rgba(24,49,47,.05)}
.nav-shell{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none}
.brand>span:last-child{display:grid;line-height:1.15}.brand strong{font-family:var(--font-display);font-size:1.3rem;font-weight:600}
.brand small{margin-top:4px;color:var(--ink-soft);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.brand-mark{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--teal-dark)}
.brand-mark span{position:absolute;width:4px;height:18px;border-radius:999px;background:var(--white);transform-origin:50% 100%}
.brand-mark span:nth-child(1){transform:translateY(-2px) rotate(-38deg)}.brand-mark span:nth-child(2){height:21px;transform:translateY(-3px)}.brand-mark span:nth-child(3){transform:translateY(-2px) rotate(38deg)}
.primary-nav{display:flex;align-items:center;gap:4px}.primary-nav a{padding:9px 12px;border-radius:999px;color:var(--ink-soft);font-size:.88rem;font-weight:600;text-decoration:none;transition:color .16s ease,background .16s ease}
.primary-nav a:hover,.primary-nav a.active{color:var(--ink);background:rgba(35,109,99,.1)}
.primary-nav .nav-contact{margin-left:8px;padding-inline:18px;color:var(--white);background:var(--teal-dark)}
.primary-nav .nav-contact:hover,.primary-nav .nav-contact.active{color:var(--white);background:var(--berry)}
.menu-button{display:none;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);background:transparent;cursor:pointer;font-size:.85rem;font-weight:700}
.menu-button i,.menu-button i::before,.menu-button i::after{display:block;width:16px;height:1.5px;border-radius:4px;background:currentColor;transition:transform .18s ease}
.menu-button i{position:relative}.menu-button i::before,.menu-button i::after{position:absolute;content:"";left:0}.menu-button i::before{top:-5px}.menu-button i::after{top:5px}
.menu-button[aria-expanded="true"] i{background:transparent}.menu-button[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}.menu-button[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}

.hero{position:relative;min-height:min(780px,calc(100dvh - var(--header-height)));display:grid;align-items:center;padding:76px 0 86px;overflow:hidden}
.hero::before{position:absolute;inset:0;content:"";opacity:.36;background-image:linear-gradient(rgba(24,49,47,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(24,49,47,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 86%);pointer-events:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.8fr);align-items:center;gap:clamp(48px,8vw,110px)}
.eyebrow,.section-kicker{margin:0 0 18px;color:var(--berry);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hero h1,.section-heading h2,.contact h2{margin:0;font-family:var(--font-display);font-weight:500;line-height:.98;letter-spacing:-.035em}
.hero h1{max-width:760px;font-size:clamp(3.4rem,6.7vw,6.3rem)}
.hero-lead{max-width:670px;margin:30px 0 0;color:var(--ink-soft);font-size:clamp(1.06rem,1.65vw,1.3rem);line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 19px;border:1px solid transparent;border-radius:999px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.button:hover{transform:translateY(-2px)}.button-primary{color:var(--white);background:var(--teal-dark)}.button-primary:hover{background:var(--berry)}
.button-secondary{border-color:var(--line-strong);color:var(--ink);background:rgba(255,253,248,.55)}.button-secondary:hover{border-color:var(--teal);background:var(--white)}
.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:690px;margin:46px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.hero-facts div{padding-right:18px}.hero-facts div+div{padding-left:18px;border-left:1px solid var(--line)}
.hero-facts dt{color:var(--ink-soft);font-size:.67rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.hero-facts dd{margin:5px 0 0;font-size:.78rem;font-weight:600}
.hero-visual{position:relative}.logo-stage{position:relative;min-height:530px;display:grid;place-items:center;padding:34px;border:1px solid rgba(255,255,255,.3);border-radius:48% 52% 45% 55%/56% 41% 59% 44%;background:linear-gradient(145deg,rgba(255,253,248,.92),rgba(220,234,229,.76));box-shadow:var(--shadow),inset 0 0 0 1px rgba(24,49,47,.06)}
.logo-stage::before,.logo-stage::after{position:absolute;content:"";border:1px solid rgba(35,109,99,.18);border-radius:inherit;pointer-events:none}.logo-stage::before{inset:18px}.logo-stage::after{inset:36px}
.logo-stage img{position:relative;z-index:2;width:min(100%,480px);max-height:460px;object-fit:contain;filter:drop-shadow(0 22px 24px rgba(24,49,47,.13));animation:float 7s ease-in-out infinite}
.signal-label{position:absolute;z-index:4;padding:7px 11px;border:1px solid rgba(24,49,47,.12);border-radius:999px;color:var(--ink);background:rgba(255,253,248,.9);box-shadow:0 8px 20px rgba(24,49,47,.08);font-size:.67rem;font-weight:700}
.signal-label-one{top:26%;left:-24px}.signal-label-two{right:-30px;top:43%}.signal-label-three{bottom:18%;left:2%}
.hero-orbit{position:absolute;z-index:1;border:1px solid rgba(161,47,90,.13);border-radius:50%;pointer-events:none}.orbit-one{width:520px;height:520px;top:-260px;left:-240px}.orbit-two{width:330px;height:330px;right:-170px;bottom:-120px}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(.5deg)}}

.research,.publications,.people,.contact{padding:clamp(86px,11vw,148px) 0}.research{color:var(--white);background:var(--teal-dark)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:clamp(40px,8vw,100px);margin-bottom:clamp(46px,7vw,78px)}
.section-heading h2,.contact h2{font-size:clamp(2.7rem,5vw,5rem)}.section-heading>p,.contact-copy>p{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.75}
.research .section-kicker{color:#d4a1b5}.research .section-heading>p{color:rgba(255,253,248,.7)}
.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,253,248,.2)}
.research-card{--card-accent:#d4a1b5;min-height:390px;display:flex;flex-direction:column;padding:clamp(30px,4vw,48px);border-bottom:1px solid rgba(255,253,248,.2);transition:background .22s ease}
.research-card:nth-child(odd){border-right:1px solid rgba(255,253,248,.2)}.research-card:hover{background:rgba(255,253,248,.055)}
.research-card[data-accent="teal"]{--card-accent:#7bc4b7}.research-card[data-accent="ochre"]{--card-accent:#e0a46e}.research-card[data-accent="violet"]{--card-accent:#bba7dc}
.research-card-header{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--card-accent);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.research-card h3{max-width:590px;margin:52px 0 20px;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.65rem);font-weight:500;line-height:1.08;letter-spacing:-.025em}
.research-card p{max-width:64ch;margin:0;color:rgba(255,253,248,.7);font-size:.93rem}.research-card-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:auto}.research-card-footer .tag-list{flex:1 1 240px;margin-top:0}.research-card-logo{flex:0 0 auto;width:clamp(84px,11vw,124px);height:auto}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:34px}.tag-list span{padding:5px 9px;border:1px solid rgba(255,253,248,.18);border-radius:999px;color:rgba(255,253,248,.78);font-size:.68rem;font-weight:600}

.publications{background:var(--white)}.publication-heading{margin-bottom:46px}.publication-heading h2{font-size:clamp(4.5rem,10vw,8.5rem);line-height:.82;letter-spacing:-.055em}.featured-publications{padding:30px 0 64px}
.subsection-heading,.browser-topline{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:22px}.subsection-heading h3,.browser-topline h3{margin:0;font-family:var(--font-display);font-size:1.65rem;font-weight:600}.subsection-heading span,.browser-topline p{margin:0;color:var(--ink-soft);font-size:.78rem}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.featured-card{min-height:330px;display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--paper);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.featured-card:hover{border-color:var(--line-strong);box-shadow:0 16px 38px rgba(24,49,47,.08);transform:translateY(-4px)}
.featured-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.topic-pill{padding:4px 8px;border-radius:999px;color:var(--teal-dark);background:var(--teal-pale);font-size:.63rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.topic-pill[data-topic="taste-food"]{color:var(--berry);background:var(--berry-pale)}.topic-pill[data-topic="reward"]{color:var(--ochre);background:var(--ochre-pale)}.topic-pill[data-topic="mental-health"],.topic-pill[data-topic="substance-use"]{color:var(--violet);background:var(--violet-pale)}
.featured-card h4{margin:32px 0 18px;font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.15;letter-spacing:-.02em}.featured-card .authors,.publication-item .authors{color:var(--ink-soft);font-size:.78rem;line-height:1.55}.author-me{color:var(--ink);font-weight:700}.featured-card .journal{margin-top:auto;padding-top:24px;color:var(--teal);font-size:.78rem;font-style:italic;font-weight:600}
.publication-link{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:16px;color:var(--berry);font-size:.75rem;font-weight:700;text-decoration:none}.publication-link:hover{text-decoration:underline;text-underline-offset:3px}
.publication-browser{padding-top:54px;border-top:1px solid var(--line)}.browser-topline{align-items:flex-end}.browser-topline>a{color:var(--teal);font-size:.8rem;font-weight:700;text-decoration:none}.browser-topline>a:hover{color:var(--berry)}
.publication-controls{display:grid;grid-template-columns:minmax(230px,1.75fr) repeat(3,minmax(140px,.68fr)) auto;gap:9px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.publication-controls label{position:relative;display:flex;align-items:center}.publication-controls input,.publication-controls select,.reset-button{width:100%;min-height:46px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--white);font-size:.78rem}.publication-controls input,.publication-controls select{padding:10px 13px}.publication-controls select{cursor:pointer}.publication-controls input::placeholder{color:#758582}
.publication-controls input:focus,.publication-controls select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(35,109,99,.11)}.search-control>span[aria-hidden="true"]{position:absolute;z-index:2;left:14px;color:var(--ink-soft);font-size:1.1rem;pointer-events:none}.search-control input{padding-left:38px}
.reset-button{width:auto;padding:10px 15px;color:var(--ink-soft);cursor:pointer;font-weight:700;transition:color .16s ease,border-color .16s ease,background .16s ease}.reset-button:hover{border-color:var(--teal);color:var(--teal-dark);background:var(--teal-pale)}
.publication-results{margin-top:34px}.year-group{display:grid;grid-template-columns:86px minmax(0,1fr);border-top:1px solid var(--line)}.year-group>h3{position:sticky;top:calc(var(--header-height) + 22px);align-self:start;margin:0;padding:28px 20px 0 0;color:var(--berry);font-family:var(--font-display);font-size:1.5rem;font-weight:600}.year-publications{border-left:1px solid var(--line)}
.publication-item{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:26px;padding:28px 0 28px 32px;border-bottom:1px solid var(--line)}.publication-item h4{margin:8px 0 10px;font-family:var(--font-display);font-size:clamp(1.18rem,2vw,1.46rem);font-weight:600;line-height:1.2;letter-spacing:-.016em}.publication-item .citation{margin:10px 0 0;color:var(--teal);font-size:.78rem;font-weight:600}.publication-item-aside{display:flex;flex-direction:column;align-items:flex-end;gap:12px;padding-top:3px;text-align:right;font-size:.72rem;color:var(--ink-soft)}.publication-item-aside .publication-link{margin-top:0}
.empty-state,.error-state,.loading-message{grid-column:1/-1;margin:0;padding:32px;border:1px dashed var(--line-strong);border-radius:16px;color:var(--ink-soft);background:var(--paper);font-size:.9rem;text-align:center}

.people{background:var(--paper-deep)}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.person-card{display:grid;grid-template-columns:42% minmax(0,1fr);min-height:420px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--white)}.person-image{min-height:100%;overflow:hidden;background:var(--teal-pale)}.person-image img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.82) contrast(1.03);transition:transform .5s ease,filter .3s ease}.person-card:hover .person-image img{filter:saturate(1) contrast(1);transform:scale(1.025)}
.person-copy{display:flex;flex-direction:column;padding:clamp(26px,4vw,40px)}.person-copy h3{margin:0;font-family:var(--font-display);font-size:clamp(1.65rem,2.7vw,2.3rem);font-weight:600;line-height:1.05}.person-role{margin:8px 0 24px;color:var(--berry);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.person-bio{margin:0;color:var(--ink-soft);font-size:.86rem}.person-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:28px}.person-links a{padding:7px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--teal-dark);font-size:.7rem;font-weight:700;text-decoration:none}.person-links a:hover{border-color:var(--teal);background:var(--teal-pale)}

.contact{color:var(--white);background:var(--berry)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.65fr);align-items:end;gap:clamp(50px,10vw,130px)}.contact .section-kicker{color:#f4c8d8}.contact-copy>p{max-width:620px;margin-top:26px;color:rgba(255,253,248,.78)}.button-light{margin-top:32px;color:var(--berry);background:var(--white)}.button-light:hover{background:var(--paper-deep)}
.contact-card{display:grid;gap:9px;margin:0;padding:32px;border:1px solid rgba(255,253,248,.3);border-radius:20px;background:rgba(75,18,42,.18);font-style:normal}.contact-card span{color:#f4c8d8;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-card strong{margin-top:12px;font-family:var(--font-display);font-size:1.55rem;font-weight:600}.contact-card p{margin:0;color:rgba(255,253,248,.75);font-size:.83rem}.contact-card a{width:fit-content;margin-top:12px;color:var(--white);font-size:.82rem;font-weight:700;text-underline-offset:4px}
.site-footer{padding:34px 0;color:var(--white);background:#101f1e}.footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:34px}.footer-grid strong{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.footer-grid p{margin:3px 0 0;color:rgba(255,253,248,.58);font-size:.72rem}.footer-grid>a{color:var(--white);font-size:.76rem;font-weight:700;text-decoration:none}.noscript-message{position:fixed;left:20px;right:20px;bottom:20px;z-index:999;padding:14px 18px;border-radius:10px;color:var(--white);background:var(--berry);text-align:center}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.18s}.reveal.visible{opacity:1;transform:none}

@media(max-width:1080px){.hero-grid{grid-template-columns:minmax(0,1fr) 390px;gap:48px}.hero h1{font-size:clamp(3.25rem,6.3vw,5rem)}.logo-stage{min-height:450px;padding:26px}.publication-controls{grid-template-columns:minmax(230px,1.7fr) repeat(2,minmax(140px,.7fr))}.publication-controls label:nth-of-type(4){grid-column:1/3}.people-grid{grid-template-columns:1fr}.person-card{min-height:370px}}
@media(max-width:860px){:root{--header-height:70px}.shell{width:min(var(--shell),calc(100% - 36px))}.menu-button{display:inline-flex}.primary-nav{position:fixed;top:var(--header-height);left:0;right:0;height:calc(100dvh - var(--header-height));display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:28px 24px 40px;border-top:1px solid var(--line);background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.primary-nav.open{opacity:1;visibility:visible;transform:none}.primary-nav a{padding:16px 4px;border-bottom:1px solid var(--line);border-radius:0;font-family:var(--font-display);font-size:1.8rem;font-weight:500}.primary-nav a:hover,.primary-nav a.active{color:var(--berry);background:transparent}.primary-nav .nav-contact{margin:18px 0 0;padding:14px 18px;border:0;border-radius:999px;color:var(--white);background:var(--teal-dark);font-family:var(--font-sans);font-size:.92rem;text-align:center}.hero{min-height:auto;padding:70px 0 78px}.hero-grid{grid-template-columns:1fr}.hero-visual{width:min(560px,100%);margin-inline:auto}.hero h1,.hero-lead{max-width:760px}.section-heading,.contact-grid{grid-template-columns:1fr;align-items:start;gap:28px}.section-heading>p{max-width:660px}.research-grid{grid-template-columns:1fr}.research-card:nth-child(odd){border-right:0}.featured-grid{grid-template-columns:1fr}.featured-card{min-height:0}.publication-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-controls .search-control{grid-column:1/-1}.publication-controls label:nth-of-type(4){grid-column:auto}.contact-card{max-width:520px}}
@media(max-width:620px){.shell{width:min(var(--shell),calc(100% - 28px))}.brand small{display:none}.hero{padding-top:52px}.hero h1{font-size:clamp(3rem,15vw,4.5rem)}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-facts{grid-template-columns:1fr;gap:14px}.hero-facts div,.hero-facts div+div{display:grid;grid-template-columns:70px 1fr;align-items:baseline;padding:0;border:0}.logo-stage{min-height:390px;padding:24px;border-radius:36% 64% 46% 54%/54% 41% 59% 46%}.signal-label-one{left:-5px}.signal-label-two{right:-5px}.section-heading h2,.contact h2{font-size:clamp(2.7rem,13vw,4rem)}.research-card{min-height:0;padding:30px 20px}.research-card h3{margin-top:42px}.subsection-heading,.browser-topline{align-items:flex-start;flex-direction:column;gap:7px}.publication-controls{grid-template-columns:1fr;padding:10px}.publication-controls .search-control,.publication-controls label:nth-of-type(4){grid-column:auto}.reset-button{width:100%}.year-group{grid-template-columns:1fr}.year-group>h3{position:static;padding:22px 0 8px}.year-publications{border-left:0}.publication-item{grid-template-columns:1fr;gap:16px;padding:24px 0}.publication-item-aside{align-items:flex-start;text-align:left}.person-card{grid-template-columns:1fr}.person-image{min-height:320px;max-height:420px}.person-links{margin-top:0}.footer-grid{grid-template-columns:1fr;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
