:root {
  --paper:#ffffff; --white:#fff; --ink:#102d50; --muted:#52657a;
  --blue:#1269b5; --blue-hover:#0b4b87; --sky:#edf7ff; --line:#d9e7f2;
  --dark:#0c386b; --on-dark:#ffffff; --muted-dark:#cee4fa; --focus:#bd5915; --scan:#101211;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px;
  --s10:40px; --s12:48px; --s16:64px; --s20:80px; --s24:96px;
  --max:1240px; --gutter:clamp(24px,5vw,80px); --section:clamp(64px,7vw,112px);
  --slide-duration:620ms; --dialog-backdrop:rgb(16 45 80 / .35);
  --radius:8px; --touch:44px; --micro:150ms ease-out;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --serif:var(--sans);
  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-lg:1.125rem;
  --text-xl:1.5rem; --brand-mobile:1.75rem; --text-2xl:2rem; --heading:clamp(2rem,4vw,3.5rem);
  --display:clamp(4rem,7vw,6.5rem); --brand-weight:750;
  --reveal-duration:600ms; --reveal-ease:cubic-bezier(.16,1,.3,1); --reveal-distance:48px; --chapter-height:clamp(300px,55svh,560px);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:var(--text-base); line-height:1.75; -webkit-font-smoothing:antialiased; }
:lang(ko) { word-break:keep-all; overflow-wrap:anywhere; }
h1,h2,h3,p,figure { margin:0; }
h1,h2 { font-weight:400; letter-spacing:-.035em; line-height:1.1; }
h1:lang(en),h2:lang(en),.serif { font-family:var(--serif); }
h2 { font-size:var(--heading); }
h2:lang(ko) { font-weight:600; line-height:1.3; }
h3 { font-size:var(--text-xl); line-height:1.35; font-weight:500; letter-spacing:-.02em; }
p { max-width:65ch; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; color:inherit; }
button,a,input,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a,button { touch-action:manipulation; }
:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
img { max-width:100%; display:block; height:auto; }
[hidden] { display:none !important; }
.container { width:min(calc(100% - var(--gutter)*2),var(--max)); margin-inline:auto; }
.section { padding-block:var(--section); scroll-margin-top:var(--s24); }
.eyebrow { font-size:var(--text-xs); font-weight:600; letter-spacing:.09em; text-transform:uppercase; display:flex; gap:var(--s3); align-items:center; margin-bottom:var(--s6); }
.eyebrow::before { content:''; width:var(--s2); height:var(--s2); background:currentColor; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:var(--s8); margin-bottom:var(--s12); }
.section-heading p { color:var(--muted); max-width:48ch; margin-top:var(--s6); }
.action { display:inline-flex; align-items:center; justify-content:center; gap:var(--s6); min-height:var(--touch); padding:var(--s3) var(--s6); font-size:var(--text-sm); border:1px solid var(--ink); border-radius:var(--radius); background:var(--ink); color:var(--white); font-weight:500; }
.action:hover { background:var(--blue-hover); }
.action:active,button:active { opacity:.75; }
.text-link { display:inline-flex; gap:var(--s4); align-items:center; min-height:var(--touch); font-size:var(--text-sm); border-bottom:1px solid var(--ink); }
.text-link:hover { color:var(--blue); }
.arrow { display:inline-block; transition:transform var(--micro); }
a:hover .arrow { transform:translateX(3px); }
.cluster { display:flex; gap:var(--s6); flex-wrap:wrap; align-items:center; }
.language { display:inline-flex; border:1px solid var(--line); border-radius:var(--radius); padding:var(--s1); gap:var(--s1); }
.language a { min-height:var(--touch); min-width:var(--touch); display:grid; place-items:center; font-size:var(--text-xs); font-weight:600; border-radius:var(--radius); }
.language a[aria-current] { background:var(--sky); }
.language a:hover { background:var(--sky); text-decoration:underline; text-underline-offset:4px; }
.filters { display:flex; flex-wrap:wrap; gap:var(--s2); }
.filter { background:transparent; border:1px solid var(--line); border-radius:var(--radius); min-height:var(--touch); padding:var(--s2) var(--s4); font-size:var(--text-sm); }
.filter[aria-pressed=true] { background:var(--ink); color:var(--white); border-color:var(--ink); }
.filter:hover { border-color:var(--ink); }
.search { padding:var(--s3) var(--s4); border:1px solid var(--line); background:var(--white); border-radius:var(--radius); width:100%; min-height:var(--touch); }
.meta { color:var(--muted); font-size:var(--text-sm); }
.rule-row { border-top:1px solid var(--line); padding-block:var(--s6); }
.rule-row:last-child { border-bottom:1px solid var(--line); }
.paper-title { font-weight:500; font-size:var(--text-lg); line-height:1.5; }
.paper-title:hover { text-decoration:underline; text-underline-offset:4px; }
.details { border-top:1px solid var(--line); margin-top:var(--s6); }
.details summary { cursor:pointer; padding-block:var(--s4); min-height:var(--touch); font-size:var(--text-sm); font-weight:600; }
.details ul { padding-left:var(--s5); color:var(--muted); font-size:var(--text-sm); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip { position:fixed; left:var(--s4); top:var(--s4); z-index:10; transform:translateY(-200%); }
.skip:focus { transform:translateY(0); }
@media(max-width:640px) { .section-heading { display:block; } .section-heading>.text-link { margin-top:var(--s6); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }

.site-header { position:sticky; top:0; z-index:5; background:var(--paper); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:var(--s6); min-height:var(--s24); }
.brand { display:flex; align-items:center; gap:var(--s4); flex-shrink:0; }
.brand-mark { font-family:var(--serif); font-weight:600; font-size:var(--text-2xl); letter-spacing:-.05em; white-space:nowrap; }
.brand-description { font-size:var(--text-xs); line-height:1.45; border-left:1px solid var(--line); padding-left:var(--s4); }
.nav { display:flex; gap:var(--s6); align-items:center; margin-left:auto; }
.nav a { font-size:var(--text-sm); min-height:var(--touch); display:flex; align-items:center; white-space:nowrap; }
.nav a:hover { text-decoration:underline; text-underline-offset:var(--s2); }
.header-controls { display:flex; gap:var(--s3); align-items:center; }
.menu-toggle { display:none; background:transparent; border:1px solid var(--line); min-height:var(--touch); min-width:var(--touch); padding:var(--s2) var(--s3); border-radius:var(--radius); }
.hero { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--s16); align-items:center; padding-top:var(--s16); padding-bottom:var(--s12); }
.hero h1 { font-size:var(--display); line-height:1.05; font-weight:var(--brand-weight); letter-spacing:-.055em; }
.hero h1 span { display:block; }
.hero h1 span:last-child { color:var(--blue); }
.hero-description { color:var(--muted); font-size:var(--text-lg); margin-block:var(--s8); max-width:44ch; min-block-size:2lh; text-wrap:balance; }
.hero-actions { gap:var(--s8); }
.hero-figure { align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.scan-frame { background:var(--scan); position:relative; height:560px; overflow:hidden; }
.scan-frame img { width:100%; height:100%; object-fit:contain; }
figcaption { font-size:var(--text-xs); color:var(--muted); line-height:1.6; margin-top:var(--s3); }
.hero-caption { display:flex; gap:var(--s4); }
.hero-caption span:first-child { color:var(--ink); font-weight:600; flex-shrink:0; }
.affiliation-strip { display:flex; justify-content:space-between; gap:var(--s8); padding:var(--s6) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:var(--text-sm); }
.affiliation-strip strong { font-weight:600; letter-spacing:.03em; }
.affiliation-strip span { color:var(--muted); }
.intro-layout { display:grid; grid-template-columns:1fr 2fr; gap:var(--s16); }
.intro-layout h2 { max-width:25ch; }
.intro-layout p { margin-top:var(--s8); color:var(--muted); font-size:var(--text-lg); }
.approach { background:var(--sky); padding:var(--s12); margin-top:var(--s12); }
.approach>h3 { margin-bottom:var(--s8); font-size:var(--text-lg); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s8); }
.step { border-top:1px solid var(--ink); padding-top:var(--s5); }
.step-number { font-size:var(--text-xs); margin-bottom:var(--s4); }
.step h4 { font-size:var(--text-lg); margin:0 0 var(--s3); font-weight:600; }
.step p { font-size:var(--text-sm); color:var(--muted); }
.research-section { border-top:1px solid var(--line); }
.research-row { display:grid; grid-template-columns:var(--s16) 1fr 1.2fr; gap:var(--s8); padding-block:var(--s10); }
.research-number { font-family:var(--serif); font-size:var(--text-2xl); white-space:nowrap; font-variant-numeric:tabular-nums; }
.research-row h3 { max-width:20ch; }
.research-row p { color:var(--muted); }
.tags { display:flex; flex-wrap:wrap; gap:var(--s3); margin-top:var(--s5); }
.tags span { font-size:var(--text-xs); padding-bottom:var(--s1); border-bottom:1px solid var(--line); color:var(--blue); }
.research-gallery { display:grid; grid-template-columns:1fr 1fr; gap:var(--s8); margin-top:var(--s12); }
.research-gallery .image-link { display:block; background:var(--white); padding:var(--s6); border:1px solid var(--line); }
.research-gallery img { width:100%; height:280px; object-fit:contain; }
.image-link:hover { border-color:var(--blue); }
.translation-section { background:var(--white); }
.transfer-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 var(--s12); }
.transfer { display:grid; grid-template-columns:var(--s12) 1fr; gap:var(--s5); padding-block:var(--s8); border-top:1px solid var(--line); }
.transfer h3 { margin-bottom:var(--s2); }
.transfer p { font-size:var(--text-sm); color:var(--muted); margin-top:var(--s4); }
.recipient { font-size:var(--text-sm); color:var(--blue); }
.publication-controls { display:flex; justify-content:space-between; align-items:center; gap:var(--s6); margin-bottom:var(--s4); }
.search-wrap { width:320px; }
.result-count { margin-bottom:var(--s4); }
.publication { display:grid; grid-template-columns:var(--s16) 1fr var(--s6); gap:var(--s8); }
.publication h3 { margin-bottom:var(--s2); }
.publication p { max-width:none; }
.publication .journal { color:var(--blue); margin-top:var(--s2); }
.publication>.arrow { font-size:var(--text-xl); align-self:center; }
.empty-state { padding-block:var(--s12); }
.empty-state p { margin-bottom:var(--s5); }
.people-section { border-top:1px solid var(--line); }
.profile-layout { display:grid; grid-template-columns:.8fr 1.4fr; gap:var(--s16); align-items:start; }
.portrait-wrap { background:var(--sky); padding:var(--s8); max-width:420px; }
.portrait-wrap img { width:100%; }
.profile-name { font-size:var(--heading); margin-bottom:var(--s4); }
.profile-role { font-weight:600; }
.profile-bio { color:var(--muted); margin-block:var(--s6); font-size:var(--text-lg); }
.profile-links { gap:var(--s6); }
.contact-section { background:var(--dark); color:var(--on-dark); }
.contact-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:var(--s20); }
.contact-layout h2 { max-width:18ch; }
.contact-layout p { color:var(--muted-dark); margin-top:var(--s6); }
.contact-details { align-self:end; }
.contact-details dt { font-size:var(--text-xs); color:var(--muted-dark); margin-top:var(--s6); }
.contact-details dd { margin:var(--s2) 0 0; font-size:var(--text-lg); }
.contact-details a { border-bottom:1px solid var(--muted-dark); padding-bottom:var(--s2); display:inline-block; }
.contact-details a:hover { color:var(--sky); }
.footer { padding-block:var(--s10); display:flex; align-items:center; justify-content:space-between; gap:var(--s8); font-size:var(--text-xs); }
.footer-brand { font-size:var(--text-xl); font-family:var(--serif); margin-right:var(--s5); }
.footer p { color:var(--muted); }
@media(max-width:1100px) { .brand-description { display:none; } .nav { gap:var(--s4); } .hero { gap:var(--s10); } .scan-frame { height:480px; } }
@media(max-width:960px) {
  .header-inner { flex-wrap:wrap; min-height:var(--s20); }
  .header-controls { margin-left:auto; }
  .js .menu-toggle { display:block; }
  .js .nav { display:none; }
  .nav,.js .nav.is-open { display:flex; order:3; width:100%; flex-wrap:wrap; padding-bottom:var(--s4); margin:0; }
  .hero { gap:var(--s8); }
  .scan-frame { height:440px; }
  .hero-actions { gap:var(--s4); }
  .hero-description { font-size:var(--text-base); }
  .intro-layout { grid-template-columns:1fr; gap:var(--s5); }
  .steps { gap:var(--s5); }
  .research-row { grid-template-columns:var(--s10) 1fr 1.2fr; gap:var(--s5); }
  .publication-controls { display:block; } .search-wrap { margin-top:var(--s5); width:100%; }
  .profile-layout { gap:var(--s10); }
  .contact-layout { gap:var(--s10); }
}
@media(max-width:640px) {
  .hero { grid-template-columns:1fr; padding-top:var(--s10); gap:var(--s10); }
  .hero .eyebrow { font-size:var(--text-xs); margin-bottom:var(--s5); }
  .hero-description { margin-block:var(--s6); min-block-size:3lh; }
  .scan-frame { height:auto; aspect-ratio:1/1.05; }
  .hero-figure { max-width:440px; }
  .affiliation-strip { display:block; } .affiliation-strip span { display:block; margin-top:var(--s2); }
  .approach { padding:var(--s6); } .steps { grid-template-columns:1fr; gap:var(--s8); }
  .research-number { font-size:var(--text-xl); }
  .research-row { grid-template-columns:var(--s8) 1fr; } .research-row>div:last-child { grid-column:2; }
  .research-gallery { grid-template-columns:1fr; } .research-gallery img { height:auto; max-height:320px; }
  .transfer-grid { grid-template-columns:1fr; }
  .publication { grid-template-columns:1fr var(--s4); gap:var(--s2) var(--s4); }
  .publication>time { grid-column:1 / -1; } .publication>.arrow { align-self:start; }
  .profile-layout { grid-template-columns:1fr; } .portrait-wrap { max-width:300px; padding:var(--s6); }
  .contact-layout { grid-template-columns:1fr; gap:var(--s8); }
  .contact-details dd { font-size:var(--text-base); }
  .footer { align-items:start; flex-direction:column; gap:var(--s4); }
}
/* The supplied character logo sets the final blue-and-white identity. */
.brand-mark { color:var(--blue); font-weight:var(--brand-weight); letter-spacing:-.055em; }
.hero { grid-template-columns:1fr 1.15fr; }
.logo-figure { width:100%; }
.logo-figure img { width:100%; height:auto; }
.logo-caption { font-size:var(--text-sm); text-align:center; color:var(--muted); }
.hero-figure .logo-caption { margin-top:0; }
.action { background:var(--blue); border-color:var(--blue); }
.action:hover { background:var(--blue-hover); }
h2 { font-weight:600; }
.eyebrow { color:var(--blue); }
.contact-section .eyebrow { color:var(--on-dark); }
.approach { border-radius:var(--radius); }
.clinical-feature { display:grid; grid-template-columns:.75fr 1fr; gap:var(--s16); align-items:center; margin-top:var(--s12); }
.clinical-feature .scan-frame { max-width:390px; height:400px; }
.clinical-feature .feature-copy p { color:var(--muted); margin-top:var(--s6); }
.clinical-feature .text-link { margin-top:var(--s6); }
.brand-subtitle { font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
@media(max-width:960px) { .hero { grid-template-columns:1fr; gap:var(--s4); } .hero-figure { max-width:600px; justify-self:center; } .hero h1 span { display:inline; } .hero h1 span::after { content:' '; } .hero-description { max-width:60ch; } .clinical-feature { gap:var(--s8); } }
@media(max-width:640px) { .hero h1 span { display:block; } .hero { gap:var(--s6); } .clinical-feature { grid-template-columns:1fr; } .clinical-feature .scan-frame { height:auto; aspect-ratio:1/1.1; margin-inline:auto; } .brand-description { display:none; } }
.hero-expansion { font-size:var(--text-2xl); color:var(--ink); font-weight:500; line-height:1.25; margin-top:var(--s5); letter-spacing:-.025em; }
.translation-section { background:var(--sky); }
.neurocad-feature { display:grid; grid-template-columns:1fr 1.1fr; gap:var(--s12); padding:var(--s12); background:var(--white); border-radius:var(--radius); align-items:center; margin-bottom:var(--s12); }
.neurocad-feature h3 { font-size:var(--heading); font-weight:600; letter-spacing:-.04em; }
.neurocad-subtitle { font-size:var(--text-lg); margin-top:var(--s3); font-weight:600; }
.neurocad-copy>p:not(.eyebrow):not(.neurocad-subtitle) { margin-block:var(--s6); color:var(--muted); }
.neurocad-feature figure { min-width:0; }
.neurocad-feature img { width:100%; }
.neurocad-feature .cluster { gap:var(--s4); }
.transfer-grid { grid-template-columns:repeat(3,1fr); gap:var(--s8); }
.transfer { display:block; }
.transfer>time { display:block; margin-bottom:var(--s4); }
@media(max-width:960px) { .neurocad-feature { grid-template-columns:1fr; padding:var(--s8); } .transfer-grid { gap:var(--s5); } }
@media(max-width:640px) { .hero-expansion { font-size:var(--text-xl); } .neurocad-feature { padding:var(--s6); } .transfer-grid { grid-template-columns:1fr; } }

/* Reading position connects the sections and the three translation stages. */
.reading-progress { position:absolute; bottom:-1px; inset-inline:0; height:3px; pointer-events:none; }
.reading-progress span { display:block; height:100%; background:var(--blue); transform:scaleX(0); transform-origin:left; }
.nav a[aria-current=location] { color:var(--blue); text-decoration:underline; text-underline-offset:var(--s2); }
.mission-story { display:grid; grid-template-columns:1fr 1fr; gap:var(--s20); align-items:start; }
.mission-sticky { position:sticky; top:calc(var(--s24) + var(--s10)); }
.mission-intro { color:var(--muted); margin-block:var(--s8); font-size:var(--text-lg); }
.chapter-index { display:grid; gap:var(--s2); }
.chapter-index a { display:flex; gap:var(--s4); align-items:center; min-height:var(--touch); padding:var(--s3) var(--s4); border-left:2px solid var(--line); color:var(--muted); font-size:var(--text-sm); transition:color var(--micro),background-color var(--micro); }
.chapter-index a[aria-current=step] { color:var(--blue); background:var(--sky); border-left-color:var(--blue); font-weight:600; }
.chapter-index a:hover { color:var(--blue); text-decoration:underline; }
.chapter-index span { font-size:var(--text-xs); }
.mission-chapter { min-height:var(--chapter-height); padding:var(--s12) var(--s8); border-top:1px solid var(--line); scroll-margin-top:calc(var(--s24) + var(--s8)); }
.chapter-number { display:block; font-size:var(--display); font-weight:var(--brand-weight); line-height:1; color:var(--line); margin-bottom:var(--s8); transition:color var(--micro); }
.mission-chapter.is-current .chapter-number { color:var(--blue); }
.mission-chapter h3 { margin-bottom:var(--s5); font-size:var(--text-2xl); }
.mission-chapter>p:last-child { color:var(--muted); }
.will-reveal { opacity:0; transform:translateY(var(--reveal-distance)) scale(.985); transform-origin:center top; }
.will-reveal.is-revealed { opacity:1; transform:none; transition:opacity var(--reveal-duration) var(--reveal-ease),transform var(--reveal-duration) var(--reveal-ease); }
.will-reveal:focus-within { opacity:1; transform:none; transition:none; }
.patents-section { background:var(--sky); }
.patent { display:grid; grid-template-columns:var(--s16) 1fr; gap:var(--s8); }
.patent h3 { margin-block:var(--s2) var(--s3); }
.patent-number { font-size:var(--text-sm); color:var(--blue); }
.patent-status { display:inline-block; margin-left:var(--s3); padding-inline:var(--s2); background:var(--white); border:1px solid var(--line); border-radius:var(--radius); font-size:var(--text-xs); }
@media(max-width:1100px) { .nav { gap:var(--s3); } }
@media(max-width:960px) {
  .mission-story { grid-template-columns:1fr; gap:var(--s10); }
  .mission-sticky { position:static; }
  .mission-chapter { min-height:0; padding:var(--s10) var(--s6); }
  .chapter-number { font-size:var(--heading); margin-bottom:var(--s6); }
}
@media(max-width:640px) {
  .brand-mark { font-size:var(--brand-mobile); }
  .patent { grid-template-columns:1fr; gap:var(--s2); }
  .mission-chapter h3 { font-size:var(--text-xl); }
}
@media(prefers-reduced-motion:reduce) { .will-reveal { opacity:1; transform:none; transition:none; } .chapter-number,.chapter-index a { transition:none; } }
@media print { .will-reveal { opacity:1; transform:none; } .site-header,.mission-sticky { position:static; } .reading-progress,.chapter-index { display:none; } }

/* Persistent controls work in both slide and continuous reading modes. */
.slide-controls { position:fixed; right:var(--gutter); bottom:var(--s5); z-index:6; display:flex; align-items:center; gap:var(--s3); padding:var(--s2); background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 4px 20px #102d5014; }
.slide-position { padding-left:var(--s3); font-size:var(--text-xs); color:var(--blue); font-variant-numeric:tabular-nums; white-space:nowrap; }
.slide-title { font-size:var(--text-sm); min-width:12ch; white-space:nowrap; }
.slide-controls button { display:grid; place-items:center; min-width:var(--touch); height:var(--touch); padding:0; border:1px solid var(--line); border-radius:var(--radius); background:var(--sky); font-size:var(--text-lg); }
.slide-controls button:hover:not(:disabled) { background:var(--blue); color:var(--white); }
.slide-controls button:disabled { opacity:.35; cursor:default; }
.js body { padding-bottom:var(--s20); }
html { scroll-padding-bottom:var(--s24); }
#welcome { scroll-margin-top:var(--s24); }

@media(max-width:640px) {
  .slide-controls { right:var(--s4); left:var(--s4); bottom:var(--s3); justify-content:space-between; gap:var(--s2); }
  .slide-title { flex:1; min-width:0; }
}
@media print { .slide-controls { display:none; } .js body { padding-bottom:0; } }

/* One deliberate page transition replaces separate block-entry effects. */
.eyebrow { text-transform:none; letter-spacing:.025em; }
.eyebrow::before { display:none; }
.hero-affiliation { margin-top:var(--s8); font-size:var(--text-xs); }
.hero .eyebrow { color:var(--muted); }
.hero-expansion { text-wrap:balance; }
.neurocad-feature { margin-bottom:0; }
.clinical-feature { margin-top:0; }
.clinical-feature .scan-frame { display:block; }
.mission-story { display:block; }
.mission-sticky { position:static; max-width:840px; }
.mission-intro { margin-block:var(--s6) var(--s10); }
.mission-chapters { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s8); }
.mission-chapter { min-height:0; padding:var(--s6) 0; }
.chapter-number { font-size:var(--text-2xl); margin-bottom:var(--s5); color:var(--blue); }
.mission-chapter h3 { font-size:var(--text-xl); }
.mission-chapter .eyebrow { display:none; }
.research-focus { display:grid; grid-template-columns:1.05fr 1fr; gap:var(--s16); align-items:center; }
.research-focus h2 { text-wrap:balance; }
.research-body { margin-top:var(--s8); color:var(--muted); font-size:var(--text-lg); }
.research-question { margin-top:var(--s6); font-size:var(--text-xl); color:var(--blue); font-weight:600; }
.research-question+.research-body { margin-top:var(--s4); }
.clinical-flow { list-style:none; padding:0; margin-block:var(--s6); }
.clinical-flow li { padding:var(--s4); border-top:1px solid var(--line); }
.clinical-flow li:last-child { border-bottom:1px solid var(--line); }
.research-foundations { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
.research-foundations>p { grid-column:1/-1; }
.research-foundations img { height:300px; }
.clinical-impact { padding-left:var(--s5); margin-block:var(--s4); font-weight:600; }
.neurocad-copy>p.adoption-source { font-size:var(--text-xs); margin-block:var(--s2) var(--s4); }
.transfer-impact { margin-top:var(--s5); font-size:var(--text-lg); font-weight:600; line-height:1.5; }
.transfer>.text-link,.transfer div>.text-link { margin-top:var(--s4); }
.research-evidence { min-width:0; }
.research-evidence img { width:100%; max-height:440px; object-fit:contain; }
.modality-map { padding:var(--s12) var(--s8); background:var(--sky); text-align:center; border-radius:var(--radius); }
.map-question { font-size:var(--text-2xl); font-weight:600; text-wrap:balance; }
.map-inputs { display:flex; justify-content:center; flex-wrap:wrap; gap:var(--s3); margin-block:var(--s10); }
.map-inputs span { border-block:1px solid var(--blue); padding:var(--s4) var(--s3); }
.map-output { color:var(--blue); }
.collection-preview { display:none; }
.preview-row { border-top:1px solid var(--line); padding-block:var(--s4); }
.preview-row h3 { margin-top:var(--s1); }
.preview-row .paper-title { display:inline; border:0; }
.collection-preview>.action { margin-top:var(--s6); }
.career-columns { display:grid; grid-template-columns:.8fr 1.5fr; gap:var(--s12); }
.career-columns h3 { margin-block:var(--s3); font-size:var(--text-base); font-weight:600; line-height:1.75; }
.career-columns ul { margin:0; }
.profile-layout { grid-template-columns:.9fr 1.3fr; gap:var(--s12); }
.profile-identity { display:flex; gap:var(--s6); align-items:center; }
.profile-identity .portrait-wrap { flex:0 0 112px; padding:var(--s2); }
.profile-name { font-size:var(--text-2xl); margin-bottom:var(--s2); }
.profile-history { margin:0; }
.profile-history .career-columns { display:block; }
.profile-history h4 { font-size:var(--text-base); font-weight:600; margin-block:var(--s4) var(--s1); }
.profile-history ul { padding-left:var(--s5); }
.profile-history li { font-size:var(--text-sm); line-height:1.6; margin-block:var(--s1); }
.profile-history>.text-link { margin-top:var(--s4); }
.career-section .details { margin-top:var(--s8); }
.career-section .details>.text-link { margin-top:var(--s5); }
.contact-section .footer { margin-top:var(--s16); border-top:1px solid var(--muted-dark); padding-bottom:0; }
.contact-section .footer p { color:var(--muted-dark); }
.slide-controls { box-shadow:none; }
.slide-controls .reading-toggle { font-size:var(--text-xs); padding-inline:var(--s3); background:var(--white); width:auto; }
.reading-dialog { padding:0; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); width:min(calc(100% - var(--s12)),var(--max)); max-height:calc(100dvh - var(--s12)); overscroll-behavior:contain; }
.reading-dialog::backdrop { background:var(--dialog-backdrop); }
.dialog-header { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:var(--s6); padding:var(--s6) var(--s8); background:var(--white); border-bottom:1px solid var(--line); }
.dialog-header h2 { font-size:var(--text-2xl); }
.dialog-content { padding:var(--s8); }
.dialog-open { overflow:hidden; }
.reading-dialog .reading-content { display:block; }
.presentation { scroll-behavior:auto; scroll-padding-bottom:0; }
.presentation body { padding-bottom:0; }
.presentation [data-slide] { height:calc(100dvh - var(--header-height)); min-height:0; padding-block:var(--s8) var(--s24); display:flex; align-items:center; scroll-margin-top:var(--header-height); }
.presentation [data-slide].hero { display:grid; }
.presentation [data-slide].mission-story { display:flex; flex-direction:column; justify-content:center; align-items:stretch; }
.presentation [data-slide].contact-section { flex-direction:column; justify-content:center; align-items:stretch; }
.presentation .reading-content { display:none; }
.presentation .reading-dialog .reading-content { display:block; }
.presentation .collection-preview { display:block; }
.presentation .section-heading { margin-bottom:var(--s8); }
.presentation .section-heading .eyebrow { display:none; }
.presentation .neurocad-feature { padding:var(--s8); gap:var(--s8); }
.presentation .neurocad-feature h3 { font-size:var(--text-2xl); }
.presentation .portrait-wrap { max-width:280px; padding:var(--s5); }
.presentation .profile-layout { grid-template-columns:.9fr 1.3fr; }
.presentation .profile-identity .portrait-wrap { padding:var(--s2); }
.presentation .profile-bio { font-size:var(--text-base); }
.presentation .reading-dialog .publication-controls { margin-top:0; }
@media(min-width:961px) and (max-height:819px) {
  .presentation h2 { font-size:var(--text-2xl); }
  .presentation .neurocad-copy>p:not(.eyebrow):not(.neurocad-subtitle) { margin-block:var(--s4); }
  .presentation .neurocad-feature { padding:var(--s6); }
  .presentation .mission-intro { margin-block:var(--s4) var(--s6); font-size:var(--text-base); }
  .presentation .mission-chapter { padding-block:var(--s5); }
  .presentation .mission-chapter h3 { font-size:var(--text-lg); }
  .presentation .research-evidence img { max-height:360px; }
  .presentation .research-body { font-size:var(--text-base); }
  .presentation .preview-row { padding-block:var(--s3); }
  .presentation .career-section .details { margin-top:var(--s4); }
  .presentation .profile-history li { line-height:1.45; margin-block:0; }
  .presentation .profile-history h4 { margin-top:var(--s2); }
  .presentation .profile-history>.text-link { margin-top:var(--s2); }
  .presentation .profile-bio { margin-block:var(--s4); }
  .presentation .research-question { font-size:var(--text-lg); }
}
@media(max-width:960px) {
  .research-focus { gap:var(--s8); }
  .research-body { font-size:var(--text-base); }
  .mission-chapters { gap:var(--s6); }
  .career-columns { gap:var(--s6); }
}
@media(max-width:640px) {
  .profile-layout { grid-template-columns:1fr; }
  .research-foundations img { height:220px; }
  .mission-chapters,.research-focus,.career-columns { grid-template-columns:1fr; }
  .research-evidence img { max-height:360px; }
  .modality-map { padding:var(--s8) var(--s6); }
  .career-columns { gap:var(--s5); }
  .hero-affiliation { display:none; }
  .dialog-content,.dialog-header { padding:var(--s5); }
}
@media print {
  .presentation [data-slide] { height:auto; display:block; padding-block:var(--s8); }
  .presentation .reading-content { display:block; }
  .presentation .collection-preview,.reading-dialog { display:none; }
}

/* Keep current research beside the academic background. */
.profile-layout,.presentation .profile-layout { grid-template-columns:.85fr 1.25fr .75fr; gap:var(--s8); }
.profile-project { padding:var(--s5); border-top:2px solid var(--blue); background:var(--sky); }
.profile-project h3 { font-size:var(--text-lg); }
.profile-project p { margin-top:var(--s4); font-size:var(--text-base); }
.profile-project .project-role { color:var(--blue); font-size:var(--text-sm); font-weight:600; }
.profile-layout .profile-identity { display:block; }
.profile-layout .portrait-wrap { width:104px; margin-bottom:var(--s4); }
@media(max-width:1100px) { .profile-layout,.presentation .profile-layout { grid-template-columns:.85fr 1.25fr; } .profile-project { grid-column:1/-1; } }
@media(max-width:640px) { .profile-layout,.presentation .profile-layout { grid-template-columns:1fr; } .profile-layout .profile-identity { display:flex; } }
