:root{color-scheme:dark;--bg:#191329;--card:#2B2141;--heading:#EDF2FF;--text:#B0BDD5;--accent:#C3A1FF;--border:#4A3C65;--ring:.20;--header:rgba(25,19,41,.94)}[data-theme=light]{color-scheme:light;--bg:#FCF7F1;--card:#F1E7DF;--heading:#202B44;--text:#54617B;--accent:#85513A;--border:#DFCCBD;--ring:.17;--header:rgba(252,247,241,.94)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:155px}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-wrap:anywhere}::selection{background:var(--accent);color:var(--bg)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,input,textarea,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}#orbits{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}header{position:sticky;top:0;z-index:10;background:var(--header);border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}.header-inner{max-width:1050px;margin:auto;padding:17px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-size:12px;letter-spacing:2px;text-decoration:none;color:var(--heading);font-weight:750;display:flex;align-items:center;gap:10px}.brand-mark{display:inline-grid;place-items:center;font-size:25px;font-weight:500;letter-spacing:-2px;width:39px;height:39px;border:1px solid var(--accent);border-radius:50%;color:var(--accent)}.brand-dot{color:var(--accent)}.controls{display:flex;gap:8px}.controls button{border:1px solid var(--border);background:transparent;color:var(--heading);border-radius:30px;min-height:44px;padding:7px 14px;font-size:12px}.controls button:hover{border-color:var(--accent)}nav{max-width:900px;margin:auto;padding:0 20px 13px;display:flex;gap:24px;justify-content:center;flex-wrap:wrap}nav a{font-size:12px;text-decoration:none;color:var(--text)}nav a:hover,nav a.active{color:var(--accent)}.menu{display:none}main,footer{width:min(820px,calc(100% - 56px));margin:auto}section{padding:78px 0;border-bottom:1px solid var(--border)}.hero{padding-top:80px;min-height:calc(100svh - 120px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow,.section-label{font-size:11px;font-weight:650;letter-spacing:2.6px;color:var(--accent);text-transform:uppercase}.eyebrow{margin-bottom:28px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:10px;box-shadow:0 0 15px var(--accent)}h1,h2,h3,h4{color:var(--heading);line-height:1.2;letter-spacing:-.04em}h1{font-size:clamp(58px,10vw,104px);font-weight:650;margin:0 0 25px;line-height:.99;animation:arrival .6s ease-out both}h1>span{color:var(--accent)}.heading-dot{color:var(--heading)}.roles{font-size:14px;letter-spacing:.4px;margin-top:8px}.intro{font-size:20px;max-width:540px;margin-top:8px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:27px 0}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:50px;padding:12px 23px;border:1px solid var(--border);border-radius:100px;color:var(--heading);background:transparent;text-decoration:none;font-size:13px;font-weight:650;transition:transform .2s,border-color .2s}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.button:hover{transform:translateY(-3px);border-color:var(--accent)}.scroll-cue{font-size:10px;letter-spacing:2px;text-decoration:none;margin-top:52px;color:var(--text)}.scroll-cue span{margin-left:24px;color:var(--accent)}h2{font-size:clamp(32px,5vw,48px);font-weight:550;margin:17px 0 30px;max-width:660px}h3{font-size:23px;font-weight:550;margin:0 0 15px}h4{font-size:16px;margin-top:27px}p{margin:0 0 19px}p:last-child{margin-bottom:0}.card{padding:31px;margin:18px 0;background:var(--card);border:1px solid var(--border);border-radius:18px;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-5px);border-color:var(--accent)}blockquote{margin:36px 0;padding:10px 0 10px 25px;border-left:2px solid var(--accent);font-size:27px;line-height:1.45;color:var(--heading);letter-spacing:-.6px}.tags{display:flex;flex-wrap:wrap;gap:9px}.tags span,.pill{display:inline-block;border:1px solid var(--border);border-radius:100px;padding:5px 12px;font-size:11px;color:var(--accent);letter-spacing:.4px}.caption{font-size:12px;line-height:1.7}.subheading{margin:43px 0 23px}.timeline{margin:28px 0 32px 8px;padding:0 0 0 28px;border-left:1px solid var(--border);list-style:none}.timeline li{position:relative;padding:0 0 35px 10px}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--accent);border:4px solid var(--bg);left:-37px;top:9px;box-sizing:content-box;transition:transform .2s}.timeline li:hover:before{transform:scale(1.25)}time{display:block;color:var(--heading);font-size:15px;margin-bottom:7px}.timeline .pill{margin-bottom:9px}.timeline p{font-size:14px}.role-heading{display:flex;gap:18px;align-items:center}.role-heading h3{margin:0 0 5px;font-size:21px}.org{font-size:13px;margin:0;color:var(--accent)}.job>.caption{margin:15px 0}details{border-top:1px solid var(--border);margin-top:23px;padding-top:17px}summary{cursor:pointer;color:var(--accent);font-size:13px;min-height:40px;padding:6px 0}details[open] summary{margin-bottom:15px}.original{font-size:14px;line-height:1.85}.original a{word-break:break-word}.hobbies{display:flex;flex-direction:column;gap:12px}.hobbies>span{padding:16px 20px;border-bottom:1px solid var(--border);color:var(--heading)}.hobbies b{display:inline-block;width:46px;color:var(--accent);font-size:24px;font-weight:400}form{background:var(--card);border:1px solid var(--border);padding:30px;border-radius:18px}fieldset{border:0;margin:0;padding:0}label{display:block;color:var(--heading);font-size:13px;margin-bottom:8px}input,textarea{width:100%;padding:14px;border:1px solid var(--border);background:var(--bg);color:var(--heading);border-radius:10px;margin-bottom:23px}textarea{resize:vertical}fieldset:disabled{opacity:.55}.honey{display:none}.form-status{font-size:13px;color:var(--accent);margin-top:16px}footer{padding:45px 0 35px}footer .footer-line{font-size:21px;color:var(--heading);letter-spacing:-.5px}#age{font-size:13px}.footer-links{display:flex;flex-wrap:wrap;gap:23px;margin:25px 0;font-size:12px}footer small{font-size:10px;letter-spacing:.5px}.pdf{display:block;width:100%;height:780px;border:1px solid var(--border);border-radius:12px;background:var(--bg);margin-top:25px}.small-reader{height:420px}.thesis-hero h1{font-size:clamp(36px,6vw,62px);line-height:1.12;margin-top:22px}.thesis-hero>.text-link{display:inline-block;margin-bottom:40px;font-size:13px}.thesis-hero .tags{margin-bottom:25px}.pipeline{list-style:none;padding:0;counter-reset:step}.pipeline li{padding:25px 0;border-bottom:1px solid var(--border)}.pipeline .pill{margin-bottom:15px}.table-wrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:18px;background:var(--card)}table{width:100%;border-collapse:collapse;font-size:13px}caption{padding:20px;text-align:left;color:var(--heading);font-weight:650}th,td{text-align:left;padding:15px 12px;border-top:1px solid var(--border)}th{color:var(--accent);font-size:11px}td{color:var(--heading)}.legend{display:flex;gap:20px;font-size:11px}.legend span:first-child{color:var(--text)}.legend span:last-child{color:var(--accent)}.bar-row{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:11px}.bar-row>span{width:67px;flex-shrink:0}.bar-row strong{width:55px;text-align:right;color:var(--heading);font-size:12px}.bar-track{flex:1;height:15px;background:var(--bg);border-radius:20px;overflow:hidden}.bar{height:100%;border-radius:20px;background:var(--text)}.bar.multi{background:var(--accent)}.axis{margin:20px 65px 0 80px;display:flex;justify-content:space-between;font-size:10px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:var(--accent);color:var(--bg);padding:10px}.skip:focus{top:10px}@keyframes arrival{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html.paused *,html.paused *:before{animation-play-state:paused!important}@media(max-width:650px){body{font-size:15px}.header-inner{padding:12px 18px;gap:8px}.brand{font-size:0;gap:0}.brand-mark{font-size:25px}.brand-dot{display:none}.controls{gap:5px}.controls button{padding:7px 10px;font-size:10px}.menu{display:block}nav{display:none;gap:0;padding:10px 20px 20px;flex-direction:column}nav.open{display:flex}nav a{padding:9px;min-height:44px}main,footer{width:calc(100% - 36px)}section{padding:55px 0}.hero{padding-top:45px;min-height:calc(100svh - 70px)}h1{font-size:clamp(52px,13vw,78px)}.eyebrow{font-size:9px;letter-spacing:2px}.roles{font-size:12px;max-width:290px}.intro{font-size:18px}.actions{gap:9px}.button{padding:12px 17px;font-size:12px}.card,form{padding:23px}.card h3{font-size:21px}.role-heading{gap:12px}.role-heading h3{font-size:18px}.scroll-cue{margin-top:35px}.pdf{height:600px}.small-reader{height:340px}th,td{padding:12px 7px;font-size:11px}.chart{padding:22px 16px}.bar-row{gap:7px}.bar-row>span{width:61px}.thesis-hero h1{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{animation:none!important;transition:none!important}.card:hover,.button:hover{transform:none}}

.logo-tile{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;flex-shrink:0;padding:9px;border:1px solid var(--border);border-radius:12px;background:#fff;text-decoration:none}.brand-logo{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}.logo-tile:hover{border-color:var(--accent)}
/* Navbar: logo left, links centered on the page, controls right, on one row where they fit. */
.brand-mark{font-size:22px;line-height:1;letter-spacing:0;padding-bottom:4px}
@media(min-width:1100px){header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:20px;padding:12px max(28px,calc((100% - 1120px)/2 + 28px))}.header-inner{display:contents}.brand{grid-column:1;grid-row:1;justify-self:start}nav{grid-column:2;grid-row:1;margin:0;padding:0;flex-wrap:nowrap}.controls{grid-column:3;grid-row:1;justify-self:end}}
/* Logo tiles: wide enough for horizontal wordmarks. */
.role-heading .logo-tile{width:104px;padding:8px}
.logo-tile.edu-logo{width:170px;height:76px;margin-bottom:15px}
