/* A full-bleed field around a protected reading area. */
.perimeter-page .header{border-bottom:0}
.perimeter-page main{position:relative;isolation:isolate}
.perimeter-hero{position:relative;isolation:isolate;min-height:0;display:flex;flex-direction:column;justify-content:center}
.perimeter-art{position:absolute;inset:0 0 auto;height:var(--field-height,1130px);z-index:-1;pointer-events:none;overflow:hidden}
.perimeter-art canvas,.perimeter-still{display:block;position:absolute;inset:0;width:100%;height:100%}
.intro-shell{width:100%;max-width:900px;margin:0 auto;padding:56px 35px 76px}
.perimeter-page .introduction{padding-left:26px}
.perimeter-page h1{font-size:40px;font-weight:400;letter-spacing:-.04em;line-height:1.15;margin-bottom:22px}
.perimeter-page .bio{max-width:none;font-size:16.5px;line-height:1.72;color:var(--ink);margin-bottom:24px}
.perimeter-page .bio p{margin:0 0 1em;max-width:80ch}
.perimeter-page .bio a,.perimeter-page .contact a{text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:1px;text-underline-offset:3px}
.perimeter-page .bio a:hover,.perimeter-page .contact a:hover{text-decoration-color:var(--accent)}
.perimeter-page .contact{max-width:80ch;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px;margin:0}
.perimeter-page .overline{margin-bottom:18px}
.perimeter-caption{position:absolute;bottom:21px;left:0;right:0;width:100%;display:flex;justify-content:space-between;gap:15px;align-items:center;font:10px/1.5 SiteSans,Arial,sans-serif;color:var(--muted)}
.perimeter-caption>span{display:flex;align-items:center;gap:10px}
.perimeter-caption i{width:4px;height:4px;background:var(--accent);border-radius:50%}
.perimeter-caption button{border:0;background:var(--paper);padding:6px 0 6px 12px;font-size:11px;text-decoration:underline;text-underline-offset:4px}
.lower-page .work-section{margin-top:20px}
.perimeter-page .study-options p{margin-top:15px;font-size:12px}
@media(max-width:900px){.intro-shell{max-width:700px}.perimeter-page h1{font-size:36px}}
@media(max-width:650px){.perimeter-hero{min-height:0}.intro-shell{padding:70px 26px 90px}.perimeter-page .introduction{padding-left:16px}.perimeter-page h1{font-size:32px}.perimeter-page .bio{font-size:15.5px}.perimeter-caption{bottom:17px;font-size:9px}.perimeter-page .header{padding-bottom:14px}.perimeter-page .overline{font-size:9px;letter-spacing:.10em}.lower-page .work-section{margin-top:25px}}
@media(max-width:360px){.perimeter-page h1{font-size:29px}.intro-shell{padding-inline:20px}.perimeter-caption>span{max-width:160px}}
/* Document-style content below the hero: one column aligned with the intro text. */
.doc{max-width:900px;margin:0 auto;padding:0 35px 0 61px}
.doc-section{margin:0 0 56px}
.doc-section h2{font-size:21px;font-weight:400;letter-spacing:-.02em;margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.doc-section h2 .placeholder{font-size:11px;color:var(--muted);letter-spacing:0;margin-left:10px}
.doc ul{list-style:none;margin:0;padding:0}
.doc a{text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:1px;text-underline-offset:3px}
.doc a:hover{text-decoration-color:var(--accent)}
.post-list li{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:6px 0;font-size:16px}
.post-list time,.cv-row .when{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.paper{margin:0 0 22px}
.paper-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.paper h3{font-size:16.5px;font-weight:400;line-height:1.45;margin:0}
.paper .venue{font-size:12px;color:var(--muted);white-space:nowrap}
.paper .authors{font-size:13px;color:var(--muted);margin:3px 0 4px;max-width:none}
.paper .authors b{font-weight:400;color:var(--ink)}
.doc .desc{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0;max-width:80ch}
.cv-row{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:0 0 16px}
.cv-row .role{font-size:16px;margin:0 0 2px}
.cv-row .org{color:var(--muted)}
.education{font-size:14px;color:var(--muted);margin:8px 0 0;max-width:none}
.doc-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:var(--muted);padding:20px 0 30px}
.doc-footer a{text-decoration:none}
@media(max-width:650px){.doc{padding:0 26px 0 42px}.paper-head{flex-direction:column;gap:2px}.post-list li,.cv-row{grid-template-columns:1fr;gap:0}}
@media(max-width:360px){.doc{padding:0 20px 0 36px}}
.notfound{padding-top:18vh}
.notfound h1{font-size:40px;font-weight:400;letter-spacing:-.04em;margin:0 0 16px}
.notfound p{color:var(--muted)}
