/* Home is organized around four clear landmarks; shared navigation and themes live in base.css. */
.home-content { width:100%; padding:0 clamp(0px,2vw,32px); }
.home .home-about { padding:0; border:0; }
.hero-stage { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr); align-items:center; gap:clamp(24px,5vw,88px); padding:52px 0 48px; }
.home header { display:block; padding:0; border:0; min-width:0; }
.home .section-kicker { margin:0 0 16px; color:var(--accent); font:11px/1.5 "Courier New",monospace; letter-spacing:1.6px; }
.home h1 { margin:0 0 12px; font:700 clamp(44px,4.5vw,62px)/1.1 Georgia,"Times New Roman",serif; letter-spacing:-.04em; }
.home h1 span { display:inline; margin:0; font:400 21px/1.5 Georgia,serif; letter-spacing:0; color:var(--muted); white-space:nowrap; }
.home-role { color:var(--muted); font-size:16px; margin:0 0 26px; }
.home .intro { max-width:700px; margin:0 0 16px; font:16px/1.85 Arial,Helvetica,sans-serif; }
.about-background { max-width:700px; font-size:14px; line-height:1.8; color:var(--muted); margin:0; }
.home-links { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:24px; font-size:13px; }
.home-links a { text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:3px; }
.home-links a:hover { color:var(--accent); border-color:var(--accent); }
/* The globe has its own space, so text and animation do not overlap. */
.globe { --globe-x:.5; position:relative; margin:0; min-width:0; }
.globe-stage { position:relative; height:clamp(280px,28vw,410px); }
.globe-stage svg,.globe-stage canvas { position:absolute; inset:0; width:100%; height:100%; max-height:none; }
.globe-stage canvas { cursor:grab; touch-action:pan-y; }
.globe-stage canvas.dragging { cursor:grabbing; }
.globe-stage canvas:focus-visible { outline:1px solid var(--accent); outline-offset:-4px; }
.globe .caption { display:flex; justify-content:space-between; gap:8px; margin:8px 0 0; font-size:9px; letter-spacing:.4px; }
.globe [data-readout] { color:var(--accent); font-variant-numeric:tabular-nums; }
.globe-note { margin:8px 0 0; font-size:11px; line-height:1.6; color:var(--muted); }
/* Consistent label/content columns and section dividers create the page hierarchy. */
.home .home-section { display:grid; grid-template-columns:minmax(170px,.75fr) minmax(0,2fr); gap:clamp(28px,5vw,88px); padding:40px 0; border:0; border-top:1px solid var(--line); scroll-margin-top:100px; }
.home .section-heading .section-kicker { margin-bottom:9px; }
.home h2 { margin:0; font:700 clamp(24px,2.4vw,30px)/1.3 Georgia,"Times New Roman",serif; letter-spacing:-.02em; }
.home h3 { margin:0; font:600 19px/1.5 Arial,Helvetica,sans-serif; letter-spacing:-.2px; }
.section-content { min-width:0; }
.education-entry+.education-entry { margin-top:25px; padding-top:25px; border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent); }
.entry-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px 24px; flex-wrap:wrap; }
.entry-date { color:var(--muted); font:12px/1.6 Arial,Helvetica,sans-serif; white-space:nowrap; }
.education-entry p { font-size:14px; margin:7px 0 0; }
.education-entry .entry-detail { color:var(--muted); font-size:13px; }
.award-list { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.award-list li { margin:0; padding:0 0 0 16px; position:relative; }
.award-list li:before { content:""; position:absolute; left:0; top:12px; width:4px; height:4px; border-radius:50%; background:var(--accent); }
.award-list h3 { font-size:17px; }
.award-list p { color:var(--muted); font-size:13px; margin:5px 0 0; }
.home-explore { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.explore-panel { display:flex; flex-direction:column; min-width:0; padding:23px; border:1px solid var(--line); border-radius:6px; text-decoration:none; transition:border-color .2s,background .2s; }
.explore-panel:hover { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 4%,transparent); color:var(--ink); }
.panel-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.panel-heading>span { color:var(--accent); font-size:20px; }
.explore-panel p { color:var(--muted); font-size:13px; line-height:1.8; margin:12px 0 20px; }
.panel-link { align-self:flex-start; margin-top:auto; color:var(--accent); font-size:12px; }
.home footer { margin:0; padding:24px 0 16px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; }
@media(min-width:1600px) { .hero-stage { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); } }
@media(max-width:1000px) { .hero-stage { gap:24px; grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr); } .home .home-section { grid-template-columns:170px minmax(0,1fr); gap:28px; } .home-explore { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) { .home-content { padding:0; } .hero-stage { grid-template-columns:minmax(0,1fr); padding:34px 0 28px; gap:24px; } .home h1 { font-size:48px; } .home h1 span { font-size:19px; } .home-role { font-size:14px; margin-bottom:20px; } .home .intro { font-size:15px; } .globe-stage { height:300px; } .globe { width:100%; max-width:480px; justify-self:center; } .home .home-section { grid-template-columns:minmax(0,1fr); gap:24px; padding:30px 0; } .home h2 { font-size:26px; } .home h3 { font-size:17px; } .home .section-kicker { font-size:10px; } .globe .caption { flex-wrap:wrap; } .home-explore { gap:14px; } }
@media(prefers-reduced-motion:reduce) { .explore-panel { transition:none; } }

.award-list li { font-size:16px; line-height:1.7; }
.award-count { color:var(--accent); font-size:14px; margin-left:4px; white-space:nowrap; }
.award-note { color:var(--muted); font-size:14px; }

.home .advisor-link { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.home .advisor-link:hover { color:var(--ink); }

/* Quiet link affordance: the underline grows from left to right, also on keyboard focus. */
.home .home-links { align-items:center; gap:18px; }
.home .home-links a:not(.contact-icon),.home .advisor-link,.home .panel-link {
 text-decoration:none; border-bottom:0; padding-bottom:3px;
 background-image:linear-gradient(var(--accent),var(--accent)); background-repeat:no-repeat;
 background-position:left bottom; background-size:0% 1px;
 -webkit-box-decoration-break:clone; box-decoration-break:clone;
 transition:background-size .45s cubic-bezier(.22,1,.36,1),color .25s ease;
}
.home .home-links a:not(.contact-icon):is(:hover,:focus-visible),.home .advisor-link:is(:hover,:focus-visible),.home .explore-panel:is(:hover,:focus-visible) .panel-link { background-size:100% 1px; color:var(--accent); }
.home .home-links .contact-icon { display:inline-flex; justify-content:center; align-items:center; width:36px; height:36px; padding:0; border:1px solid transparent; border-radius:6px; background:none; color:var(--muted); transition:color .2s ease,border-color .2s ease,transform .2s ease; }
.home .contact-icon svg { width:19px; height:19px; }
.home .home-links .contact-icon:is(:hover,:focus-visible) { color:var(--accent); border-color:var(--line); transform:translateY(-2px); }
@media(prefers-reduced-motion:reduce) {
 .home .home-links a,.home .home-links .contact-icon,.home .advisor-link,.home .panel-link { transition:none; }
 .home .home-links .contact-icon:is(:hover,:focus-visible) { transform:none; }
}

/* A restrained hierarchy, with native transparent school marks. */
.home .home-section { padding:36px 0; }
.home h2 { font-size:clamp(25px,2.1vw,29px); font-weight:500; }
.home h3 { font-size:17px; font-weight:500; }
.home .education-entry { display:grid; grid-template-columns:64px minmax(0,1fr); gap:20px; align-items:center; }
.education-copy { min-width:0; }
.school-mark { width:64px; height:64px; overflow:hidden; background:transparent; flex-shrink:0; }
.school-mark img { display:block; width:64px; height:64px; object-fit:contain; background:transparent; }
.school-mark-uem img { width:auto; max-width:none; height:64px; object-fit:initial; }
.dark .school-mark img { filter:brightness(1.9) saturate(.8); }
.education-entry .entry-date { font-size:12px; letter-spacing:.02em; }
.home .entry-detail { font-size:13px; line-height:1.7; }
@media(max-width:760px) {
 .home .home-section { padding:28px 0; }
 .home .education-entry { grid-template-columns:48px minmax(0,1fr); gap:14px; align-items:start; }
 .school-mark { width:48px; height:48px; margin-top:3px; }
 .school-mark img { width:48px; height:48px; }
 .school-mark-uem img { width:auto; height:48px; }
 .entry-heading { gap:6px 16px; }
 .home h2 { font-size:25px; }
}

/* Contact links share the same hover and keyboard-focus feedback. */
.home .home-links a,.home .home-links .contact-icon {
 display:inline-flex; align-items:center; justify-content:center; min-height:36px;
 padding:0; border:0; border-radius:0; color:var(--muted); transform:none;
 text-decoration:none; background-image:linear-gradient(var(--accent),var(--accent));
 background-repeat:no-repeat; background-position:left bottom; background-size:0% 1px;
 transition:background-size .45s cubic-bezier(.22,1,.36,1),color .25s ease;
}
.home .home-links .contact-icon { width:24px; }
.home .home-links a:is(:hover,:focus-visible),.home .home-links .contact-icon:is(:hover,:focus-visible) {
 color:var(--accent); background-size:100% 1px; border:0; transform:none;
}
@media(prefers-reduced-motion:reduce) { .home .home-links a,.home .home-links .contact-icon { transition:none; } }

/* Education starts at the section's left edge rather than in a distant second column. */
.home #education { grid-template-columns:minmax(0,1fr); gap:26px; }
.home #education .education-list { width:100%; }
.home #education .education-entry { grid-template-columns:60px minmax(0,1fr); gap:20px; }
.home #education .school-mark,.home #education .school-mark img { width:60px; height:60px; }
.home #education .school-mark-uem img { width:auto; height:60px; }
.home #education .entry-heading { align-items:baseline; }
@media(max-width:760px) {
 .home #education { gap:22px; }
 .home #education .education-entry { grid-template-columns:46px minmax(0,1fr); gap:14px; }
 .home #education .school-mark,.home #education .school-mark img { width:46px; height:46px; }
 .home #education .school-mark-uem img { width:auto; height:46px; }
 .home #education .entry-heading { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
}

/* Social contacts use an icon and a readable label as one link. */
.home .home-links .contact-link { display:inline-flex; align-items:center; gap:7px; width:auto; min-height:36px; }
.home .contact-link svg { width:17px; height:17px; flex:none; }
.home .contact-link .filled { fill:currentColor; stroke:none; }

/* Editorial sections: a strong top rule and a fine title rule, with open space for content. */
.home .home-section,.home #education { grid-template-columns:minmax(0,1fr); gap:24px; padding:26px 0 36px; border-top:3px solid var(--ink); }
.home .section-heading { padding:0 0 16px; border:0; border-bottom:1px solid var(--line); }
.home h2 { font:700 clamp(26px,2.5vw,34px)/1.2 Georgia,"Times New Roman",serif; text-transform:uppercase; letter-spacing:-.025em; }
.home .education-entry { padding:8px 0; }
.home .education-entry+.education-entry { margin-top:18px; padding-top:24px; }
.home .award-list { gap:14px; }
.home .award-list li { border:0; padding:0 0 0 16px; font-size:16px; }
.home .award-list li:before { width:4px; height:4px; border-radius:50%; top:12px; }
.home .home-explore { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.home .explore-panel { border:0; border-radius:0; padding:8px 28px 8px 0; background:none; }
.home .explore-panel+.explore-panel { border-left:1px solid var(--line); padding-left:28px; padding-right:0; }
.home .explore-panel:hover { background:none; }
.home .panel-heading h3 { font:700 25px/1.3 Georgia,"Times New Roman",serif; }
.home .panel-link { font-family:Arial,Helvetica,sans-serif; font-size:12px; }
@media(max-width:760px) {
 .home .home-section,.home #education { padding:24px 0 28px; gap:20px; }
 .home h2 { font-size:27px; }
 .home .section-heading { padding-bottom:12px; }
 .home .home-explore { grid-template-columns:minmax(0,1fr); }
 .home .explore-panel,.home .explore-panel+.explore-panel { padding:8px 0 20px; border-left:0; }
 .home .explore-panel+.explore-panel { border-top:1px solid var(--line); padding-top:24px; }
}

/* Homepage entries are open editorial rows, isolated from legacy article cards. */
.home .section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.home .section-more { flex:none; font-size:12px; color:var(--muted); text-decoration:none; }
.home .section-more:hover { color:var(--accent); }
.home-previews { display:block; }
.home .home-preview { position:static; display:grid; grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr); gap:8px 40px; margin:0; padding:4px 0 22px; border:0; background:none; box-shadow:none; border-radius:0; counter-increment:none; }
.home .home-preview::before { content:none; }
.home .home-preview+.home-preview { margin:0; padding:22px 0 4px; border:0; border-top:1px solid var(--line); }
.home .home-preview h3 { grid-column:1; grid-row:1 / span 2; font:700 23px/1.4 Georgia,"Times New Roman",serif; }
.home-preview h3 a { text-decoration:none; overflow-wrap:anywhere; }
.home-preview h3 a:hover { color:var(--accent); }
.home .home-preview p { grid-column:2; font-size:14px; line-height:1.8; color:var(--muted); margin:0; max-width:85ch; }
.preview-meta { grid-column:2; display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; color:var(--muted); font-size:12px; }
.home .preview-meta time { font:inherit; }
.preview-status { color:var(--muted); font-size:14px; }
@media(max-width:760px) {
 .home .home-preview { grid-template-columns:minmax(0,1fr); gap:10px; }
 .home .home-preview h3 { grid-column:1; grid-row:auto; font-size:21px; }
 .home .home-preview p,.home .preview-meta { grid-column:1; }
}

/* Fine hierarchy and quiet interaction without enclosing the content. */
.home .section-heading { align-items:flex-end; }
.home .section-context { margin:0 0 9px; font:10px/1.5 "Courier New",monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.home .section-more { padding:4px 0; margin-bottom:3px; }
.home .section-more,.home-preview h3 a { background-image:linear-gradient(var(--accent),var(--accent)); background-repeat:no-repeat; background-position:left bottom; background-size:0 1px; transition:color .2s ease,background-size .3s ease; }
.home .section-more:is(:hover,:focus-visible),.home-preview h3 a:is(:hover,:focus-visible) { color:var(--accent); background-size:100% 1px; }
.home .home-preview { padding:8px 0 27px; column-gap:clamp(24px,4vw,64px); row-gap:13px; align-content:start; }
.home .home-preview+.home-preview { padding:27px 0 8px; border-top-color:color-mix(in srgb,var(--line) 65%,transparent); }
.home .home-preview h3 { font-size:clamp(21px,1.8vw,26px); letter-spacing:-.025em; line-height:1.35; }
.home .home-preview p { max-width:68ch; line-height:1.85; text-wrap:pretty; }
.home #home-reading .home-preview p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.home .preview-meta { gap:8px 0; font-size:11px; line-height:1.6; }
.home .preview-meta>span+span { margin-left:14px; padding-left:14px; border-left:1px solid var(--line); }
.preview-language { display:inline-flex; align-items:center; gap:7px; }
.language-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); opacity:.8; }
.home .preview-topic { color:var(--accent); }
.home .preview-meta time { font-variant-numeric:tabular-nums; }
.home a:focus-visible { outline:1px solid var(--accent); outline-offset:5px; }
@media(max-width:760px) {
 .home .section-context { font-size:9px; letter-spacing:.09em; margin-bottom:7px; }
 .home .home-preview { row-gap:10px; padding:4px 0 22px; }
 .home .home-preview+.home-preview { padding:22px 0 4px; }
 .home .home-preview p { font-size:13px; }
 .home #home-reading .home-preview p { -webkit-line-clamp:3; }
}
@media(prefers-reduced-motion:reduce) { .home .section-more,.home-preview h3 a { transition:none; } }

/* School names share the site's underline interaction. */
.home .school-link { color:inherit; text-decoration:none; padding-bottom:3px; background-image:linear-gradient(var(--accent),var(--accent)); background-repeat:no-repeat; background-position:left bottom; background-size:0% 1px; -webkit-box-decoration-break:clone; box-decoration-break:clone; transition:background-size .45s cubic-bezier(.22,1,.36,1),color .25s ease; }
.home .school-link:is(:hover,:focus-visible) { color:var(--accent); background-size:100% 1px; }
@media(prefers-reduced-motion:reduce) { .home .school-link { transition:none; } }

/* Home typography: editorial display paired with a quieter humanist text face. */
.home {
 --home-text:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
 --home-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
 font-family:var(--home-text); font-size:15px; line-height:1.75;
 text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
}
.home h1 { font-family:var(--home-display); font-size:clamp(50px,5vw,72px); font-weight:600; line-height:1.06; letter-spacing:-.045em; margin-bottom:18px; }
.home h1 span { font-family:var(--home-display); font-size:clamp(20px,2vw,26px); font-style:italic; font-weight:400; letter-spacing:-.02em; }
.home .home-role { font:500 15px/1.6 var(--home-text); letter-spacing:.005em; margin-bottom:26px; }
.home .intro { font:400 clamp(16px,1.3vw,18px)/1.85 var(--home-text); max-width:62ch; letter-spacing:-.012em; }
.home .intro strong { font-weight:600; }
.home .about-background { font:400 14px/1.85 var(--home-text); max-width:68ch; letter-spacing:0; }
.home .home-links { font:500 13px/1.6 var(--home-text); }
.home h2 { font:500 clamp(28px,2.7vw,36px)/1.2 var(--home-display); text-transform:none; letter-spacing:-.025em; }
.home .section-kicker,.home .section-context { font:500 10px/1.5 var(--home-text); letter-spacing:.14em; }
.home .education-entry h3 { font:600 18px/1.5 var(--home-text); letter-spacing:-.025em; }
.home .education-entry p { font:400 14px/1.7 var(--home-text); }
.home .education-entry .entry-detail { font-size:13px; }
.home .education-entry .entry-date { font:400 12px/1.6 var(--home-text); letter-spacing:.015em; font-variant-numeric:tabular-nums; }
.home .award-list li { font:450 15px/1.8 var(--home-text); letter-spacing:-.01em; }
.home .award-count,.home .award-note { font-family:var(--home-text); font-size:13px; }
.home .home-preview h3 { font:600 clamp(18px,1.65vw,22px)/1.45 var(--home-text); letter-spacing:-.03em; }
.home .home-preview p { font:400 14px/1.85 var(--home-text); letter-spacing:0; }
.home .preview-meta { font:400 11px/1.65 var(--home-text); }
.home .section-more { font:500 12px/1.6 var(--home-text); }
@media(max-width:760px) {
 .home h1 { font-size:clamp(46px,12vw,58px); }
 .home h1 span { font-size:21px; }
 .home .home-role { font-size:14px; }
 .home .intro { font-size:16px; line-height:1.8; }
 .home h2 { font-size:29px; }
 .home .education-entry h3 { font-size:16px; }
 .home .education-entry p { font-size:13px; }
 .home .education-entry .entry-detail { font-size:12px; }
 .home .home-preview h3 { font-size:19px; }
 .home .home-preview p { font-size:13px; }
}
