:root{color-scheme:light;--ink:#172a38;--muted:#566670;--accent:#006f78;--line:#d9e1e5;--paper:#f5f8fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;font-size:16px;line-height:1.9}a{color:var(--accent);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #df8b28;outline-offset:5px}.topbar,.hero,nav,main,footer{width:min(1120px,calc(100% - 80px));margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;font-size:23px;font-weight:800;text-decoration:none;color:var(--ink)}.brand span{font-size:14px;font-weight:500;letter-spacing:.06em}button{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);padding:8px 18px;cursor:pointer}button:hover{background:var(--paper)}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:72px;align-items:center;padding:76px 0 64px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.18em;color:var(--accent)}h1{font-size:clamp(44px,6vw,72px);font-weight:650;line-height:1.2;letter-spacing:.04em;margin:22px 0 8px}.roman-name{color:var(--muted);margin:0;font-size:18px;letter-spacing:.1em}.hero-statement{font-size:clamp(20px,2.5vw,28px);font-weight:600;line-height:1.6;margin:32px 0 12px}.hero-copy>p:last-of-type{font-size:14px;color:var(--muted)}.primary-link{display:inline-block;margin-top:16px;font-weight:600}.portrait{margin:0}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:4px}.portrait figcaption{font-size:12px;letter-spacing:.13em;color:var(--muted);margin-top:12px}nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}nav ul{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:17px 0;margin:0}nav a{font-size:14px;text-decoration:none;color:var(--ink)}main section{display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:40px;padding:52px 0;border-bottom:1px solid var(--line)}section>h2{grid-column:1;grid-row:1 / span 20;font-size:20px;line-height:1.6;margin:0;color:var(--ink)}section>:not(h2){grid-column:2}h3{font-size:20px;margin:0 0 18px}p{margin:0 0 18px}section ul{padding:0;margin:0;list-style:none}section li{margin:0 0 20px}section li:last-child{margin-bottom:0}#publications ul+h3{margin-top:38px}#publications li{padding-bottom:20px;border-bottom:1px solid #e9edef}#publications li:last-child{border:0;padding-bottom:0}.research-image{max-width:100%;height:auto;margin:0 0 26px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:4px}#projects h3{font-size:32px;letter-spacing:-.02em}#contact{padding-bottom:64px}.email-link{font-size:clamp(16px,2.3vw,25px);overflow-wrap:anywhere}footer{padding:28px 0;color:var(--muted);font-size:13px}.skip-link{position:absolute;left:20px;top:-100px;padding:10px;background:white;z-index:5}.skip-link:focus{top:10px}@media(max-width:760px){.topbar,.hero,nav,main,footer{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;gap:30px;padding:42px 0}.portrait{max-width:320px}.hero h1{font-size:48px}nav ul{gap:12px 20px}main section{display:block;padding:34px 0}section>h2{margin-bottom:24px;font-size:20px}section li{overflow-wrap:anywhere}.research-image{padding:8px}.brand span{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.portrait img{object-position:center 38%}
.topbar,.hero,nav,main,footer{width:min(1160px,calc(100% - 80px))}
body{background:#f3f7f8;-webkit-font-smoothing:antialiased}
::selection{background:#b7e6de;color:#102b38}
.topbar{border:0;padding:28px 0}
.brand{letter-spacing:-.06em}
.brand span{border-left:1px solid #bacbd1;padding-left:16px;letter-spacing:.045em}
.hero{grid-template-columns:1.3fr 1fr;gap:52px;padding:62px;background:radial-gradient(ellipse at 100% 0%,#214e5a 0%,transparent 58%),#112c3a;color:#f6fafb;border-radius:12px;overflow:hidden}
.hero-copy{min-width:0}
.eyebrow{display:flex;align-items:center;gap:12px;color:#95d6ce;font-size:12px;letter-spacing:.16em}
.eyebrow::before{content:"";width:26px;height:2px;background:#95d6ce;flex-shrink:0}
h1{margin:28px 0 14px;font-size:clamp(48px,5.3vw,74px);line-height:1.06;letter-spacing:-.065em;font-weight:600}
html[lang="ja"] h1{letter-spacing:.13em}
.roman-name{font-size:17px;letter-spacing:.12em;color:#b6cdd6}
.hero-statement{font-size:clamp(21px,2.3vw,28px);font-weight:500;letter-spacing:-.015em;margin:32px 0 16px}
.hero-copy>p:last-of-type{color:#b6cdd6;line-height:1.8}
.primary-link{border-bottom:1px solid #71aaa9;padding:8px 0;margin-top:15px;color:#a8e4db;font-size:14px;text-decoration:none}
.primary-link:hover{color:white;border-color:white}
.portrait{transform:rotate(2deg)}
.portrait img{border:6px solid #e2ecee;box-shadow:0 18px 42px #06151d40}
.portrait figcaption{color:#b6cdd6;font-size:12px;text-align:right;letter-spacing:.13em;margin-top:15px}
nav{position:sticky;top:0;z-index:10;background:#f3f7f8f5;backdrop-filter:blur(14px);border-top:0;padding:0 8px}
nav ul{gap:4px 25px;padding:17px 0}
nav a{display:block;padding:7px 0;color:var(--muted);font-weight:500}
nav a:hover{color:var(--accent)}
html{scroll-padding-top:7rem}
main{counter-reset:section}
main section{counter-increment:section;grid-template-columns:225px minmax(0,1fr);column-gap:56px;padding:64px 8px}
section>h2{font-size:22px;line-height:1.5;letter-spacing:-.035em;font-weight:600}
section>h2::before{content:"0" counter(section);display:block;color:var(--accent);font-size:12px;letter-spacing:.13em;margin-bottom:13px}
section>:not(h2){min-width:0}
h3{font-size:18px;line-height:1.5;margin-bottom:20px;letter-spacing:-.02em}
section li{overflow-wrap:anywhere}
#about>p{font-size:18px;line-height:2}
#memberships{margin-top:12px;font-size:14px;letter-spacing:.035em;color:var(--muted)}
#about ul{padding:20px 24px;background:#e8eff1;border-left:2px solid #87b9b6;border-radius:0 5px 5px 0}
#about li{font-size:14px;line-height:1.85;margin-bottom:8px}
.research-image{display:block;width:100%;padding:0;margin-bottom:32px;background:white;border:1px solid #dfe7e9;border-radius:8px;box-shadow:0 12px 32px #17364709}
#projects h3{font-size:40px;font-weight:550;letter-spacing:-.045em}
#projects p{color:var(--muted)}
#publications h3{color:var(--accent)}
#publications ul+h3{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
#publications li{padding:0 0 22px 20px;margin-bottom:22px;border-bottom:1px solid #e0e7e9;border-left:2px solid #ccdbdf;line-height:1.95}
#publications li:last-child{border-left:2px solid #ccdbdf;border-bottom:0;margin-bottom:0}
#publications li a{font-weight:500}
#academic li,#works li{padding-left:20px;border-left:2px solid #bfd2d6}
#awards li{padding:16px 22px;border-radius:5px;background:white;border:1px solid #e1e9eb;margin-bottom:12px}
#contact{border-bottom:0;margin-top:18px;padding:42px 36px;color:white;background:#112c3a;border-radius:8px;align-items:start}
#contact h2{color:white}
#contact h2::before{color:#95d6ce}
.email-link{align-self:start;justify-self:start;padding:6px 0;font-size:clamp(18px,2.4vw,29px);color:#a8e4db;letter-spacing:-.025em}
.email-link:hover{color:white}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.social-link{color:#a8e4db;font-size:16px;text-decoration:none;border-bottom:1px solid #71aaa9;padding-bottom:5px}
.social-link:hover{color:white;border-color:white}
footer{padding:30px 8px 40px;font-size:12px;letter-spacing:.08em}
footer p{margin:0}
a{transition:color .18s,background .18s,border-color .18s}
#lang-switch{min-height:44px;border-radius:30px;padding:7px 22px;background:transparent}
#lang-switch:hover{background:white;border-color:var(--accent)}
@media(min-width:761px) and (max-width:1050px){.hero{padding:38px;gap:32px}h1{font-size:52px}main section{grid-template-columns:180px minmax(0,1fr);column-gap:32px}nav ul{gap:4px 18px}}
@media(max-width:760px){html{scroll-padding-top:2rem}.topbar,.hero,nav,main,footer{width:calc(100% - 36px)}.topbar{padding:20px 0}.brand span{font-size:12px;padding-left:12px}.brand{gap:12px}#lang-switch{padding-inline:16px}.hero{grid-template-columns:1fr;gap:38px;padding:32px 26px 30px}.hero h1{font-size:clamp(44px,11vw,68px)}.hero-statement{margin-top:24px}.portrait{width:min(100%,310px);justify-self:center;transform:rotate(1deg)}nav{position:static;padding:0}nav ul{gap:0 20px;padding:15px 0}main section{display:block;padding:40px 0}section>h2{margin-bottom:26px;font-size:23px}section>h2::before{display:inline-block;margin:0 13px 0 0;vertical-align:middle}#about>p{font-size:16px}#about ul{padding:18px}#projects h3{font-size:34px}#publications li{padding-left:14px}#contact{margin-top:10px;padding:28px 22px}#contact h2{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}
@media print{body{background:white;color:black}.topbar,nav,.primary-link,.skip-link{display:none}.hero,main,footer{width:100%}.hero,#contact{background:white;color:black;padding:20px 0}.hero p,.hero a,.portrait figcaption,.email-link,#contact h2{color:#333}main section{padding-block:24px}.portrait{transform:none}.portrait img,.research-image{box-shadow:none}section li{break-inside:avoid}}
.language-link{font-size:14px;border:1px solid var(--line);border-radius:4px;padding:8px 18px;text-decoration:none;color:var(--ink)}.language-link:hover{background:var(--paper)}
