/* Research-program gallery: shared typography, original vectors, native disclosures. */
@media (min-width: 1121px) {
  .site-header { grid-template-columns: minmax(13rem,1fr) auto; }
}
.model-section {
  padding: clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4rem);
  background: #f5f5f7;
  color: #4d5665;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  scroll-margin-top: 2rem;
}
.model-inner { max-width: 1380px; margin: 0 auto; }
.model-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 3rem; margin-bottom: 2.7rem; }
.model-section .section-label { font-size: .875rem; letter-spacing: .09em; }
.model-heading h2 { margin: 0; color: #1d1d22; font-family: inherit; font-size: clamp(2.5rem,4vw,3.7rem); font-weight: 650; line-height: 1.06; letter-spacing: -.045em; }
.model-heading h2 span { color: #6a6b76; }
.model-introduction { max-width: 29rem; justify-self: end; }
.model-introduction > p:last-child { margin: 1rem 0 .2rem; font-size: 1.06rem; line-height: 1.6; }
.model-focus { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin: 0; font-size: .875rem; font-weight: 550; }
.model-focus span { padding: .35rem .75rem; border: 1px solid #d7dce4; border-radius: 2rem; background: #fff; color: #294b6f; }
/* The storyboard stays readable without JavaScript; enhancement adds looping tabs. */
.drug-story { --story-accent:#276a82; --story-progress:0%; border:1px solid #dfe6ec; border-radius:1.8rem; background:#fff; overflow:hidden; box-shadow:0 12px 40px #24365506; }
.drug-story[data-step="1"] { --story-accent:#655090; }
.drug-story[data-step="2"] { --story-accent:#1a7467; }
.drug-story [hidden] { display:none !important; }
.drug-story-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:4.75rem; padding:1.15rem 2rem; border-bottom:1px solid #edf0f4; }
.drug-story-toolbar > p { margin:0; color:#596575; font-size:.875rem; font-weight:550; }
.drug-play { display:flex; align-items:center; justify-content:center; gap:.45rem; min-width:5.9rem; min-height:2.65rem; padding:.5rem .9rem; border:1px solid #dce3ea; border-radius:2rem; background:#f7f9fb; color:#2d4052; font-family:inherit; font-size:.875rem; font-weight:600; line-height:1; cursor:pointer; }
.drug-play:hover { background:#edf2f6; }
.drug-play-icon { width:.85rem; height:.85rem; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; }
.drug-panel { min-height:28rem; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.85fr); gap:clamp(.5rem,2vw,2.25rem); padding:1.5rem 2.5rem 2rem 1rem; align-items:center; border-bottom:1px solid #edf0f4; }
.drug-story.is-enhanced .drug-panel { border-bottom:0; }
.drug-visual { min-width:0; aspect-ratio:760/440; display:grid; align-items:center; }
.drug-visual svg { display:block; width:100%; height:auto; overflow:visible; }
.drug-scene-copy { min-width:0; padding-right:1rem; }
.drug-scene-eyebrow { color:var(--story-accent); font-size:.8125rem; font-weight:650; margin:0 0 .85rem; letter-spacing:.025em; }
.drug-scene-copy h3 { font-family:inherit; color:#20242b; font-size:clamp(1.75rem,2.8vw,2.6rem); font-weight:650; line-height:1.12; letter-spacing:-.045em; margin:0 0 1.2rem; }
.drug-scene-description { color:#4d5b6d; font-size:1rem; line-height:1.65; max-width:26rem; margin:0; }
.drug-note { margin-top:1.5rem; padding:1rem 0 0; border-top:1px solid #e2e8ee; }
.drug-note span { display:block; font-size:.8125rem; color:#596575; margin-bottom:.35rem; }
.drug-note strong { display:block; color:#2d4655; font-size:.875rem; line-height:1.6; font-weight:550; }
.drug-model-features { display:grid; gap:.55rem; padding:0; list-style:none; margin:1.4rem 0 0; font-size:.875rem; color:#4c4365; }
.drug-model-features li { display:flex; align-items:center; gap:.6rem; }
.drug-model-features li::before { content:""; width:.35rem; height:.35rem; flex:0 0 .35rem; border-radius:50%; background:#8c75ac; }
.drug-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 2rem 1.6rem; gap:1.5rem; }
.drug-steps button { position:relative; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.7rem; padding:1rem 0 1.15rem; border:0; background:none; text-align:left; font-family:inherit; cursor:pointer; color:#647080; }
.drug-step-number { font-size:.8125rem; font-weight:550; color:#6b7889; }
.drug-step-label { font-size:.9375rem; font-weight:600; line-height:1.4; }
.drug-step-track { position:absolute; height:3px; background:#e6ebf0; bottom:0; left:0; right:0; overflow:hidden; border-radius:2px; }
.drug-step-track i { height:100%; display:block; width:0; background:var(--story-accent); }
.drug-steps button[aria-selected="true"] { color:var(--story-accent); }
.drug-steps button[aria-selected="true"] .drug-step-number { color:var(--story-accent); }
.drug-steps button[aria-selected="true"] .drug-step-track { background:#cddde3; }
.drug-steps button[aria-selected="true"] .drug-step-track i { width:var(--story-progress); }
.drug-story.is-paused .drug-steps button[aria-selected="true"] .drug-step-track i { width:100%; }
.drug-steps button:hover { color:#20242b; }
.drug-story button:focus-visible,.model-context-links button:focus-visible { outline:3px solid #245bff; outline-offset:5px; border-radius:.3rem; }
.drug-story.is-enhanced .drug-panel:not([hidden]) .drug-scene-copy { animation:story-copy-in .65s ease both; }
.drug-story.is-enhanced .drug-panel:not([hidden]) .story-token { animation:story-token-in 7s ease-in-out both; animation-delay:calc(var(--i,0) * .16s); }
.drug-story.is-enhanced .drug-panel:not([hidden]) .story-model-focus { animation:story-focus 3.5s ease-in-out infinite; }
.drug-story.is-enhanced .drug-panel:not([hidden]) .story-evidence { animation:story-evidence-in 1.3s ease both; animation-delay:calc(var(--i,0) * .25s); }
.drug-story.is-enhanced .drug-panel:not([hidden]) .story-priority { animation:story-evidence-in 1.3s .7s ease both; }
.drug-story:not(.is-running) .drug-panel * { animation-play-state:paused !important; }
.drug-story.is-paused .drug-panel * { animation:none !important; }
.model-context-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.75rem 1.6rem; margin-top:1.6rem; font-size:.875rem; }
.model-context-links > span { color:#596575; }
.model-context-links button { appearance:none; padding:.4rem 0; border:0; background:none; font:inherit; cursor:pointer; color:#345b81; text-decoration:none; font-weight:550; }
.model-context-links button:hover { text-decoration:underline; text-underline-offset:.2em; }
@keyframes story-copy-in { from { opacity:0; translate:0 6px; } to { opacity:1; translate:0 0; } }
@keyframes story-token-in { 0% { opacity:.2; translate:-18px 0; } 28%,80% { opacity:1; translate:0 0; } 100% { opacity:.6; translate:8px 0; } }
@keyframes story-focus { 0%,100% { opacity:.3; } 50% { opacity:.9; } }
@keyframes story-evidence-in { from { opacity:.2; translate:0 14px; } to { opacity:1; translate:0 0; } }
@media(max-width:1000px) {
 .model-heading { grid-template-columns:1fr; gap:1.75rem; }
 .model-introduction { justify-self:start; max-width:42rem; }
 .drug-panel { grid-template-columns:minmax(0,1.1fr) minmax(16rem,1fr); padding:1.5rem; gap:.5rem; }
 .drug-scene-copy { padding:0; }
 .drug-steps { gap:1rem; padding-inline:1.5rem; }
}
@media(max-width:760px) {
 .model-section { padding-block:4rem; }
 .model-heading h2 { font-size:2.35rem; }
 .model-heading { margin-bottom:2rem; }
 .drug-story { border-radius:1.3rem; }
 .drug-story-toolbar { padding:.75rem 1.15rem; gap:.75rem; }
 .drug-story-toolbar > p { font-size:.8125rem; }
 .drug-play { min-width:5.2rem; }
 .drug-panel { grid-template-columns:1fr; padding:.3rem 1.3rem 1.6rem; gap:0; min-height:36rem; align-content:start; }
 .drug-visual { width:100%; max-width:30rem; margin:auto; }
 .drug-scene-copy { padding:0 .15rem; }
 .drug-scene-copy h3 { font-size:1.9rem; }
 .drug-scene-description { font-size:.9375rem; }
 .drug-scene-eyebrow { margin-bottom:.6rem; }
 .drug-note { margin-top:1.1rem; }
 .drug-model-features { margin-top:1.1rem; }
 .drug-steps { padding:0 1.2rem 1.3rem; gap:.8rem; }
 .drug-steps button { grid-template-columns:1fr; gap:.35rem; align-content:start; }
 .drug-step-label { font-size:.8125rem; }
 .drug-step-number { font-size:.75rem; }
 .model-context-links { justify-content:flex-start; gap:.65rem 1.1rem; }
 .model-context-links > span { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .drug-story * { animation:none !important; transition:none !important; }
}
