.p-main { --ink:var(--research-text); --teal:var(--research-primary); --muted:var(--research-muted); --line:var(--research-line); color:var(--ink); font-family:var(--research-font); }
.p-main a { color:inherit; }
.p-main a:focus-visible,.p-hero { display:grid; grid-template-columns:1fr 1.15fr; background:var(--research-surface); }
.p-hero-copy { padding:28px 32px; align-self:center; }



.p-intro { max-width:370px; font-size:16px; line-height:2; color:var(--muted); margin:0; }
.p-hero figure { margin:0; position:relative; height:240px; }
.p-hero figure img { width:100%; height:100%; object-fit:cover; }

.p-nav { position:sticky; top:0; z-index:3; display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border-bottom:1px solid var(--line); }
.p-nav a { padding:22px 12px; text-align:center; font-size:15px; border-bottom:2px solid transparent; }
.p-nav a:hover,.p-nav a:focus-visible { color:var(--teal); background:#eef7f8; border-bottom-color:var(--teal); }

.p-central,.p-specialized { margin-top:34px; }
.p-central,.p-lab { scroll-margin-top:88px; }
.p-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.p-section-head h2 { line-height:1.6; margin:8px 0 0; }

.p-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.p-gallery figure { margin:0; }
.p-photo { position:relative; display:block; background:#edf3f3; overflow:hidden; cursor:zoom-in; }
.p-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .25s ease; }
.p-photo:hover img { transform:scale(1.025); }
.p-photo>span { position:absolute; bottom:10px; right:10px; padding:5px 8px; background:rgba(16,42,46,.82); color:#fff; font-size:11px; }
.p-gallery figcaption { display:flex; align-items:baseline; gap:12px; padding:16px 0 0; }

.p-gallery h3 { font-size:16px; line-height:1.7; margin:0; font-weight:500; }
.p-more { display:flex; align-items:center; justify-content:space-between; font-size:13px; color:var(--teal)!important; padding:20px 0 0; margin-top:25px; border-top:1px solid var(--line); }
.p-more:hover { text-decoration:underline; }
.p-specialized { border-top:1px solid var(--line); padding-top:42px; }
.p-labs { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.p-lab header { padding:23px 26px; border-top:3px solid var(--teal); background:var(--research-surface); min-height:104px; }
.p-lab h3 { margin:10px 0 0; font-size:20px; line-height:1.6; font-weight:600; }
.p-lab ol { list-style:none; margin:0; padding:0; }
.p-lab li { display:flex; gap:18px; padding:24px 4px; border-bottom:1px solid var(--line); min-height:121px; }

.p-lab h4 { font-size:16px; line-height:1.6; margin:0 0 7px; font-weight:600; }
.p-lab p { font-size:14px; line-height:1.9; color:var(--muted); margin:0; }
.p-lab .p-more { border:0; margin-top:0; }
@media(max-width:1100px) { .p-hero-copy {padding:26px;}   .p-gallery {grid-template-columns:repeat(2,minmax(0,1fr));} .p-labs {gap:26px;} .p-lab header {min-height:128px;} .p-lab li {min-height:146px;} .p-section-head {align-items:start;flex-direction:column;gap:8px;} }
@media(max-width:700px) { .p-main { --ink:var(--research-text); --teal:var(--research-primary); --muted:var(--research-muted); --line:var(--research-line); color:var(--ink); font-family:var(--research-font); } .p-hero {grid-template-columns:1fr;} .p-hero-copy {padding:26px;}   .p-hero figure {height:auto;} .p-hero figure img {aspect-ratio:16/9;height:auto;} .p-nav a {padding:15px 4px;font-size:12px;line-height:1.6;}   .p-central,.p-specialized {margin-top:36px;} .p-gallery {grid-template-columns:1fr;gap:25px;} .p-labs {grid-template-columns:1fr;gap:40px;} .p-lab header {min-height:0;padding:20px;} .p-lab h3 {font-size:18px;} .p-lab p {font-size:16px;} .p-lab li {min-height:0;padding:20px 2px;} .p-central,.p-lab {scroll-margin-top:94px;} }
@media(prefers-reduced-motion:reduce) { .p-photo img {transition:none;} }

.p-nav .research-number { margin-right:12px; }
@media(max-width:700px) { .p-nav .research-number { display:block; margin:0; } }
