:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0b0f19;background:#fff;--color-surface: #ffffff;--color-bg: #ffffff;--color-text: #0b0f19;--color-muted: #5f6368;--color-primary: #111111;--color-primary-dark: #000000;--color-accent: #111111;--color-accent-soft: #f2f2f2;--color-border: #e5e7eb;--color-hover: #f5f5f5;--shadow-menu: 0 18px 40px rgba(11, 15, 25, .12);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.theme-cranberry-chestnut{color:#211817;background:#faf5f0;--color-bg: #faf5f0;--color-surface: #fffdf9;--color-text: #211817;--color-muted: #70605c;--color-primary: #7f1d1d;--color-primary-dark: #5f1717;--color-accent: #a16207;--color-accent-soft: #f4d6bd;--color-border: #ead7cf;--color-hover: #f4e8e2;--shadow-menu: 0 18px 40px rgba(56, 30, 27, .14)}.theme-olive-harvest{color:#1f2118;background:#f7f4ec;--color-bg: #f7f4ec;--color-surface: #ffffff;--color-text: #1f2118;--color-muted: #68705e;--color-primary: #3f5f2a;--color-primary-dark: #30491f;--color-accent: #b45309;--color-accent-soft: #ead6b8;--color-border: #ded7c8;--color-hover: #ece6d8;--shadow-menu: 0 18px 40px rgba(43, 53, 34, .14)}.theme-copper-ink{color:#181716;background:#faf8f4;--color-bg: #faf8f4;--color-surface: #ffffff;--color-text: #181716;--color-muted: #68625c;--color-primary: #26211d;--color-primary-dark: #171412;--color-accent: #b85c22;--color-accent-soft: #f1d2be;--color-border: #e7ded4;--color-hover: #f1ebe4;--shadow-menu: 0 18px 40px rgba(30, 25, 21, .12)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}#root{min-height:100vh}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(234,223,211,.84);background:#ffffffc7;box-shadow:0 10px 30px #432e1c0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.navbar{display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 32px));min-height:76px;margin:0 auto;gap:1.5rem}.navbar-brand{display:inline-flex;align-items:center;flex:0 0 auto;gap:.75rem;color:var(--color-text);text-decoration:none}.brand-mark{display:inline-flex;position:relative;width:42px;height:42px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(139,92,246,.28);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffffffa,#fde8ffb8 58%,#ec489929),var(--color-surface);box-shadow:0 10px 22px #8b5cf629;isolation:isolate;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.navbar-brand:hover .brand-mark{border-color:#ec489961;box-shadow:0 12px 26px #ec48992e;transform:translateY(-1px)}.brand-ring{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:2px solid rgba(139,92,246,.18);border-top-color:#8b5cf6;border-right-color:#ec4899;border-radius:50%}.brand-ring:after{position:absolute;right:0;bottom:3px;width:6px;height:6px;border-radius:50%;background:#ec4899;box-shadow:0 0 0 4px #ec489924;content:""}.brand-initials{position:relative;z-index:2;color:#6d28d9;font-size:.78rem;font-weight:800;line-height:1}.brand-copy{display:flex;min-width:0;flex-direction:column;justify-content:center}.brand-name{color:var(--color-text);font-size:1.02rem;font-weight:800;line-height:1.15}.brand-role{color:var(--color-muted);font-size:.74rem;font-weight:650;line-height:1.25}.nav-links{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;gap:.35rem}.nav-link{border:1px solid transparent;border-radius:999px;color:var(--color-muted);padding:.55rem .82rem;font-size:.95rem;font-weight:650;line-height:1;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.nav-link:hover{border-color:var(--color-border);background:var(--color-hover);color:var(--color-text);transform:translateY(-1px)}.nav-link.active{border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 8px 18px #9a34122e;color:#fffaf4}.nav-link-cta{margin-left:.25rem;border-color:#9a341242;color:var(--color-primary)}.nav-link-cta:hover{border-color:#9a341247;background:var(--color-accent-soft);color:var(--color-primary-dark)}.nav-link-cta.active{border-color:var(--color-primary-dark);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fffaf4}.menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--color-border);border-radius:50%;background:#ffffffc2;box-shadow:0 8px 20px #432e1c14;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.menu-toggle:hover{border-color:#9a34123d;background:var(--color-hover);transform:translateY(-1px)}.menu-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:var(--color-text);transition:opacity .16s ease,transform .16s ease}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.page-shell{width:min(1120px,calc(100% - 32px));min-height:calc(100vh - 76px);margin:0 auto;overflow:visible;padding:clamp(.25rem,1vh,.75rem) 0 1rem}.site-footer{width:min(1120px,calc(100% - 32px));margin:0 auto;border-top:1px solid rgba(154,52,18,.12);padding:1rem 0 1.25rem}.site-footer p{margin:0;color:var(--color-muted);font-size:.84rem;font-weight:650;text-align:center}.home-page{min-height:100%}.hero-section{display:grid;align-items:start;gap:clamp(1.5rem,4vw,4rem);grid-template-columns:minmax(260px,1fr) minmax(0,2fr);padding-top:clamp(.5rem,3vh,2rem)}.hero-content{display:flex;width:100%;max-width:760px;flex-direction:column;align-items:flex-start}.hero-content h1{max-width:680px;margin:0;color:var(--color-text);font-size:clamp(2.8rem,6vw,5rem);font-weight:750;line-height:1}.hero-intro{position:relative;width:100%;max-width:760px;margin:0;border:1px solid var(--color-border);border-radius:8px;padding:clamp(1rem,2vw,1.35rem);background:#ffffffb8;box-shadow:0 14px 34px #432e1c14;color:var(--color-muted);font-size:.92rem;line-height:1.48;overflow:visible}.hero-intro p{margin:0}.hero-intro p:not(.intro-greeting){text-align:justify;text-align-last:left}.hero-intro p+p{margin-top:.62rem}.intro-greeting{color:var(--color-primary);font-size:1.14rem;font-weight:850}.inline-link{border-bottom:1px solid rgba(154,52,18,.32);color:var(--color-primary);font-weight:750;text-decoration:none;transition:border-color .16s ease,color .16s ease}.inline-link:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin-top:1rem}.button-primary,.button-secondary,.button-text{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:.78rem 1.05rem;font-weight:800;line-height:1;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.button-primary{border:1px solid var(--color-primary);background:var(--color-primary);box-shadow:0 14px 28px #9a341233;color:#fffaf4}.button-primary:hover{border-color:var(--color-primary-dark);background:var(--color-primary-dark);transform:translateY(-1px)}.button-secondary{border:1px solid rgba(154,52,18,.2);background:#ffffffb8;color:var(--color-primary)}.button-secondary:hover,.button-text:hover{border-color:#9a34124d;background:var(--color-accent-soft);color:var(--color-primary-dark);transform:translateY(-1px)}.button-text{border:1px solid transparent;color:var(--color-muted)}.social-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.9rem}.social-link{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid rgba(154,52,18,.16);border-radius:50%;background:#ffffffad;box-shadow:0 10px 22px #432e1c0f;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.social-link:hover{border-color:#9a34124d;background:var(--color-accent-soft);box-shadow:0 12px 26px #432e1c1a;transform:translateY(-1px)}.social-link img{display:block;width:29px;height:29px;object-fit:contain}.home-lower-band{width:100%;margin-top:.65rem;border-top:1px solid rgba(154,52,18,.12);padding-top:.8rem}.research-snapshot{width:100%}.snapshot-kicker{margin:0 0 .42rem;color:var(--color-primary);font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.snapshot-grid{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.snapshot-item{border:1px solid rgba(154,52,18,.14);border-radius:8px;padding:.58rem .68rem;background:#ffffffa8;box-shadow:0 10px 24px #432e1c0d}.snapshot-item span{display:block;color:var(--color-text);font-size:.82rem;font-weight:900;line-height:1.15}.snapshot-item p{margin:.34rem 0 0;color:var(--color-muted);font-size:.76rem;font-weight:650;line-height:1.32}.journey-preview{width:100%;margin-top:.72rem}.journey-preview-header{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.journey-preview-link{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:1rem;color:inherit;text-decoration:none}.journey-preview h2{margin:0;color:var(--color-primary);font-size:clamp(1.25rem,2.5vw,2rem);font-weight:900;line-height:1}.journey-preview-link:hover h2{color:var(--color-primary-dark)}.scroll-cue{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(154,52,18,.18);border-radius:50%;background:#ffffffb8;box-shadow:0 12px 26px #432e1c14;text-decoration:none;animation:scroll-cue-bob 1.4s ease-in-out infinite}.scroll-cue span{width:12px;height:12px;border-right:3px solid var(--color-primary);border-bottom:3px solid var(--color-primary);transform:translateY(-2px) rotate(45deg)}@keyframes scroll-cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.milestones-section{padding:clamp(2rem,6vw,4.5rem) 0 clamp(2rem,6vw,4rem)}.milestones-heading{max-width:760px;margin:0 auto clamp(1.5rem,4vw,2.5rem);text-align:center}.milestones-heading h2{margin:0;color:var(--color-text);font-size:clamp(1.8rem,4vw,3.1rem);line-height:1}.milestone-flow{position:relative;display:grid;gap:1.15rem;max-width:920px;margin:0 auto;padding:.5rem 0}.milestone-flow:before{position:absolute;top:0;bottom:0;left:50%;width:2px;border-radius:999px;background:#9a34122e;content:"";transform:translate(-50%)}.milestone-entry{position:relative;display:grid;align-items:center;gap:1rem;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);min-height:128px;outline:none}.milestone-entry:nth-child(2n) .milestone-detail{grid-column:3}.milestone-entry:nth-child(2n) .milestone-marker{grid-column:2;grid-row:1}.milestone-entry:nth-child(2n) .milestone-rule{grid-column:2 / 4}.milestone-detail{position:relative;z-index:2;border:1px solid rgba(154,52,18,.16);border-radius:8px;padding:.95rem 1rem;background:#ffffffc7;box-shadow:0 14px 34px #432e1c14}.milestone-entry:nth-child(odd) .milestone-detail{text-align:right}.milestone-detail span{color:var(--color-primary);font-size:.72rem;font-weight:900;text-transform:uppercase}.milestone-detail h3{margin:.28rem 0 0;color:var(--color-text);font-size:1.02rem;line-height:1.18}.milestone-detail h3 a{color:inherit;text-decoration:none}.milestone-detail h3 a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:.18em}.milestone-detail ul{display:grid;gap:.34rem;margin:.62rem 0 0;padding:0;list-style:none}.milestone-detail li{position:relative;color:var(--color-muted);font-size:.86rem;line-height:1.48}.milestone-detail li:before{display:inline-block;width:.42rem;height:.42rem;margin-right:.42rem;border-radius:50%;background:var(--color-accent);content:"";vertical-align:.08rem}.milestone-marker{position:relative;z-index:3;display:grid;width:86px;height:86px;place-items:center;justify-self:center;border:5px solid rgba(255,255,255,.94);border-radius:50%;background:radial-gradient(circle at 50% 34%,#fffaf4fa,#fed7aa57),var(--color-surface);box-shadow:0 0 0 7px #d977061f}.milestone-year{position:absolute;bottom:.78rem;color:#fffaf4;color:var(--color-primary);font-size:.74rem;font-weight:950;line-height:1;text-align:center}.milestone-icon{position:relative;display:block;width:30px;height:30px;margin-bottom:.72rem;color:var(--color-primary)}.milestone-icon-paper{border:2px solid currentColor;border-radius:4px}.milestone-icon-paper:before,.milestone-icon-paper:after{position:absolute;right:6px;left:6px;height:2px;border-radius:999px;background:currentColor;content:""}.milestone-icon-paper:before{top:9px}.milestone-icon-paper:after{top:17px}.milestone-icon-award{border:3px solid currentColor;border-radius:50%}.milestone-icon-award:before,.milestone-icon-award:after{position:absolute;bottom:-13px;width:9px;height:16px;background:currentColor;content:""}.milestone-icon-award:before{left:4px;transform:rotate(18deg)}.milestone-icon-award:after{right:4px;transform:rotate(-18deg)}.milestone-icon-conference:before,.milestone-icon-conference:after{position:absolute;content:""}.milestone-icon-conference:before{top:4px;right:3px;bottom:11px;left:3px;border:2px solid currentColor;border-radius:4px}.milestone-icon-conference:after{right:8px;bottom:3px;left:8px;height:13px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;border-left:2px solid currentColor}.milestone-icon-degree:before{position:absolute;top:5px;left:2px;width:26px;height:18px;background:currentColor;clip-path:polygon(50% 0,100% 38%,50% 76%,0 38%);content:""}.milestone-icon-degree:after{position:absolute;right:4px;bottom:4px;left:7px;height:8px;border:2px solid currentColor;border-top:0;border-radius:0 0 12px 12px;content:""}.milestone-icon-research{border:3px solid currentColor;border-radius:50%}.milestone-icon-research:before,.milestone-icon-research:after{position:absolute;border-radius:999px;background:currentColor;content:""}.milestone-icon-research:before{right:-8px;bottom:-3px;width:14px;height:4px;transform:rotate(45deg)}.milestone-icon-research:after{top:8px;left:8px;width:8px;height:8px}.milestone-rule{position:relative;z-index:1;grid-column:1 / 3;grid-row:1;height:2px;border-radius:999px;background:linear-gradient(to right,#9a341238,#9a34121f)}.milestone-entry:nth-child(2n) .milestone-rule{background:linear-gradient(to left,#9a341238,#9a34121f)}.milestone-year-block{position:relative;display:grid;gap:.95rem}.milestone-year-marker{position:relative;z-index:3;display:grid;width:88px;height:88px;place-items:center;justify-self:center;border:6px solid rgba(255,255,255,.94);border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 8px #d977061f;color:#fffaf4;font-size:1.12rem;font-weight:950;line-height:1}.milestone-month-entry{position:relative;display:grid;align-items:center;gap:1rem;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);min-height:118px;outline:none}.milestone-month-entry .milestone-detail{grid-column:1;grid-row:1;text-align:right}.milestone-month-entry:nth-of-type(2n) .milestone-detail{grid-column:3;text-align:left}.milestone-month-marker{position:relative;z-index:3;display:grid;width:72px;height:72px;place-items:center;justify-self:center;border:5px solid rgba(255,255,255,.94);border-radius:50%;background:radial-gradient(circle at 50% 34%,#fffaf4fa,#fed7aa57),var(--color-surface);box-shadow:0 0 0 7px #d977061f}.milestone-month-marker .milestone-icon{width:25px;height:25px;margin-bottom:.65rem}.milestone-month-marker>span:last-child{position:absolute;bottom:.68rem;color:var(--color-primary);font-size:.68rem;font-weight:950;line-height:1;text-align:center}.milestone-month-entry .milestone-rule{grid-column:1 / 3;grid-row:1}.milestone-month-entry:nth-of-type(2n) .milestone-rule{grid-column:2 / 4}.milestone-detail p{margin:.52rem 0 0;color:var(--color-muted);font-size:.86rem;line-height:1.48}.milestone-year-block{align-items:center;grid-template-columns:minmax(0,1fr) 156px minmax(0,1fr);min-height:300px;outline:none}.milestone-year-block:nth-child(odd) .milestone-detail{grid-column:1;grid-row:1;text-align:right}.milestone-year-block:nth-child(2n) .milestone-detail{grid-column:3;grid-row:1;text-align:left}.milestone-year-marker{grid-column:2;grid-row:1;width:84px;height:84px}.milestone-line-events{position:relative;z-index:2;display:flex;align-items:center;align-self:stretch;justify-content:space-evenly;flex-direction:column;grid-column:2;grid-row:1;width:132px;justify-self:center;padding:5.2rem 0 .5rem}.milestone-line-event{position:relative;z-index:2;display:grid;min-width:92px;gap:.12rem;border:1px solid rgba(154,52,18,.16);border-radius:999px;padding:.35rem .55rem;background:#ffffffe6;box-shadow:0 10px 22px #432e1c0f;color:var(--color-muted);font-size:.64rem;font-weight:800;line-height:1;text-align:center}.milestone-line-event:before{position:absolute;top:calc(50% - 5px);left:-18px;width:10px;height:10px;border:2px solid rgba(255,255,255,.94);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 5px #d977061a;content:""}.milestone-line-event strong{color:var(--color-primary);font-size:.7rem;font-weight:950}.milestone-line-event small{font-size:.58rem;font-weight:800;line-height:1.08}.milestone-detail ul{gap:.6rem;margin-top:.75rem}.milestone-detail li{display:grid;gap:.12rem}.milestone-detail li:before{display:none}.milestone-detail li>strong{color:var(--color-primary);font-size:.72rem;font-weight:900;text-transform:uppercase}.milestone-detail li>a,.milestone-detail li>span{color:var(--color-text);font-weight:800;text-decoration:none}.milestone-detail li>a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:.18em}.milestone-detail li>small{color:var(--color-muted);font-size:.82rem;line-height:1.42}.milestone-flow{gap:0;max-width:880px;padding:0}.milestone-event{position:relative;display:grid;align-items:center;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);min-height:132px;outline:none}.milestone-event-marker{position:relative;z-index:3;display:grid;width:78px;height:78px;place-items:center;justify-self:center;grid-column:2;grid-row:1;border:6px solid rgba(255,255,255,.96);border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 8px #d977061f;color:#fffaf4;text-align:center}.milestone-event-marker span{align-self:center;font-size:1rem;font-weight:950;line-height:1}.milestone-event-marker small{display:none}.milestone-event-rule{display:none;position:relative;z-index:1;grid-column:1 / 3;grid-row:1;height:3px;border-radius:999px;background:#9a341238}.milestone-event-rule:before{position:absolute;top:calc(50% - 6px);left:0;width:12px;height:12px;border:3px solid rgba(255,255,255,.94);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 5px #d977061a;content:""}.milestone-event-copy{position:relative;z-index:2;grid-column:1;grid-row:1;max-width:360px;justify-self:end;padding-right:1rem;text-align:right}.milestone-event:nth-child(2n) .milestone-event-rule{grid-column:2 / 4}.milestone-event:nth-child(2n) .milestone-event-rule:before{right:0;left:auto}.milestone-event:nth-child(2n) .milestone-event-copy{grid-column:3;justify-self:start;padding-right:0;padding-left:1rem;text-align:left}.milestone-event-copy span{color:var(--color-primary);font-size:.72rem;font-weight:900;text-transform:uppercase}.milestone-event-copy h3{margin:.26rem 0 0;color:var(--color-text);font-size:1rem;line-height:1.18}.milestone-event-copy h3 a{color:inherit;text-decoration:none}.milestone-event-copy h3 a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:.18em}.milestone-event-copy p{margin:.42rem 0 0;color:var(--color-muted);font-size:.82rem;line-height:1.42}.milestone-flow{gap:1.8rem;max-width:920px;padding:.75rem 0}.milestone-flow:before{left:50%}.milestone-event,.milestone-event:nth-child(2n){display:grid;align-items:start;grid-template-columns:minmax(0,1fr) 156px minmax(0,1fr);min-height:auto;padding:0}.milestone-event-marker,.milestone-event:nth-child(2n) .milestone-event-marker{grid-column:2;grid-row:1;width:84px;height:84px}.milestone-event-lines{display:grid;gap:.62rem;grid-column:3;padding:5.85rem 0 0}.milestone-event-lines-left{grid-column:1}.milestone-event-lines-right{grid-column:3}.milestone-event-line{position:relative;display:grid;align-items:start;gap:.75rem;grid-template-columns:74px minmax(0,1fr);min-height:56px;border-top:2px solid rgba(154,52,18,.18);padding-top:.7rem;color:var(--color-text);text-decoration:none}.milestone-event-line:before{position:absolute;top:-7px;left:-78px;width:78px;height:2px;background:#9a34122e;content:""}.milestone-event-line:after{position:absolute;top:-12px;left:-4px;width:10px;height:10px;border:2px solid rgba(255,255,255,.94);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 5px #d977061a;content:""}.milestone-event-lines-left .milestone-event-line{grid-template-columns:minmax(0,1fr) 74px;text-align:right}.milestone-event-lines-left .milestone-event-line strong{grid-column:2;grid-row:1}.milestone-event-lines-left .milestone-event-line span{grid-column:1;grid-row:1}.milestone-event-lines-left .milestone-event-line:before{right:-78px;left:auto}.milestone-event-lines-left .milestone-event-line:after{right:-4px;left:auto}.milestone-event-line strong{color:var(--color-primary);font-size:.76rem;font-weight:950;line-height:1;text-transform:uppercase}.milestone-event-line span{display:grid;gap:.22rem;color:var(--color-text);font-size:.92rem;font-weight:780;line-height:1.28}.milestone-event-line small{color:var(--color-muted);font-size:.78rem;font-weight:650;line-height:1.36}.milestone-month-events{display:grid;gap:.85rem}.milestone-month-event{display:grid;gap:.22rem;color:var(--color-text);text-decoration:none}.milestone-month-event+.milestone-month-event{border-top:1px solid rgba(154,52,18,.12);padding-top:.78rem}.milestone-month-event span{color:var(--color-text);font-size:.92rem;font-weight:780;line-height:1.28}.milestone-month-event small{color:var(--color-muted);font-size:.78rem;font-weight:650;line-height:1.36}a.milestone-event-line:hover span,a.milestone-month-event:hover span{color:var(--color-primary);text-decoration:underline;text-underline-offset:.18em}.journey-section{position:relative;padding:clamp(1.25rem,4vw,2.5rem) 0 clamp(2.25rem,7vw,5rem)}.timeline-heading{margin-bottom:1rem}.timeline-heading h2{max-width:680px;margin:0;color:var(--color-text);font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}.timeline-display{position:relative;width:100%;border:1px solid var(--color-border);border-radius:8px;background:linear-gradient(145deg,#ffffffd6,#fed7aa2e),var(--color-surface);box-shadow:0 18px 45px #432e1c14;overflow:hidden}.timeline-line{position:absolute;pointer-events:none}.timeline-card{position:relative;z-index:1;border:1px solid rgba(154,52,18,.18);border-radius:8px;background:#ffffffd1;box-shadow:0 12px 28px #432e1c12;outline:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.timeline-card h3{margin:.3rem 0 0;color:var(--color-text);font-size:.9rem;line-height:1.16}.timeline-card p{margin:.6rem 0 0;color:var(--color-muted);font-size:.82rem;line-height:1.42;opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease}.timeline-year{color:var(--color-primary);font-size:1rem;font-weight:950;line-height:1}.timeline-card:hover,.timeline-card:focus-within,.timeline-card:focus{border-color:#9a341252;background:#fffaf4;box-shadow:0 18px 38px #432e1c1f;transform:translateY(-3px)}.timeline-card:hover p,.timeline-card:focus-within p,.timeline-card:focus p{opacity:1;transform:translateY(0)}.timeline-vertical{display:grid;gap:.85rem;padding:1.1rem 1.1rem 1.1rem 2.25rem}.timeline-vertical .timeline-line{top:1.6rem;bottom:1.6rem;left:1.55rem;width:2px;background:#9a34122e}.timeline-vertical .timeline-card{min-height:108px;padding:.95rem 1rem}.timeline-vertical .timeline-card:before{position:absolute;top:1.15rem;left:-1.52rem;width:13px;height:13px;border:3px solid rgba(255,255,255,.94);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 6px #d977061f;content:""}.home-closing-section{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);padding:clamp(1rem,4vw,2rem) 0 clamp(2.5rem,7vw,5rem)}.vision-card,.home-contact-card{border:1px solid var(--color-border);border-radius:8px;background:linear-gradient(145deg,#ffffffd6,#fed7aa2e),var(--color-surface);box-shadow:0 18px 45px #432e1c14}.vision-card{display:flex;justify-content:center;flex-direction:column;padding:clamp(1.4rem,3vw,2rem)}.vision-card h2,.home-contact-card h2{margin:0;color:var(--color-text);line-height:1.04}.vision-card h2{max-width:680px;font-size:clamp(1.8rem,4vw,3.1rem)}.vision-card p:last-child,.home-contact-card p:last-child{margin:.9rem 0 0;color:var(--color-muted);line-height:1.62}.home-contact-card{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.25rem,2.6vw,1.7rem)}.home-contact-card h2{font-size:clamp(1.55rem,3vw,2.35rem)}.home-contact-actions{display:flex;flex-wrap:wrap;gap:.7rem}.home-contact-meta{display:grid;gap:.38rem;border-top:1px solid rgba(154,52,18,.12);padding-top:.9rem;color:var(--color-muted);font-size:.9rem;font-weight:700}.home-contact-links{display:flex;flex-wrap:wrap;gap:.55rem}.home-contact-links a{display:inline-flex;min-height:40px;align-items:center;gap:.42rem;border:1px solid rgba(154,52,18,.16);border-radius:999px;padding:.38rem .66rem .38rem .45rem;background:#ffffffad;color:var(--color-primary);font-size:.82rem;font-weight:850;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.home-contact-links a:hover{border-color:#9a34124d;background:var(--color-accent-soft);transform:translateY(-1px)}.home-contact-links img{display:block;width:24px;height:24px;object-fit:contain}.hero-visual{display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:.82rem;width:100%}.portrait-frame{position:relative;display:grid;width:min(100%,250px);aspect-ratio:1;place-items:center;border:8px solid rgba(255,255,255,.92);border-radius:50%;background:radial-gradient(circle at 50% 44%,#ffffffeb,#fed7aa5c 55%,#d977061f),var(--color-surface);box-shadow:0 0 0 1px #eadfd3e6,0 28px 70px #432e1c1f;overflow:hidden}.portrait-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 36%}.portrait-placeholder{display:grid;width:68%;aspect-ratio:1;place-items:center;border:1px solid rgba(154,52,18,.16);border-radius:50%;background:linear-gradient(145deg,#ffffffe6,#fed7aa6b),var(--color-bg);color:var(--color-primary);box-shadow:inset 0 0 0 12px #ffffff57}.image-icon{position:relative;display:block;width:84px;height:64px;border:3px solid rgba(154,52,18,.42);border-radius:10px;background:#ffffff6b}.image-icon:before{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(154,52,18,.16);border-radius:6px;content:""}.image-icon-sun{position:absolute;top:13px;right:14px;width:12px;height:12px;border-radius:50%;background:var(--color-accent)}.image-icon-mountain{position:absolute;right:12px;bottom:12px;left:12px;height:24px;border-radius:4px;background:linear-gradient(135deg,transparent 48%,var(--color-primary) 49% 78%,transparent 79%),linear-gradient(45deg,transparent 30%,rgba(154,52,18,.55) 31% 70%,transparent 71%)}.research-note{display:flex;width:min(100%,360px);flex-direction:column;gap:.2rem;border:1px solid var(--color-border);border-radius:8px;padding:.75rem .9rem;background:#ffffffb8;box-shadow:0 14px 34px #432e1c14;color:var(--color-text);text-align:center}.note-kicker{color:var(--color-primary);font-size:.78rem;font-weight:850}.affiliation-logos{display:grid;width:min(100%,360px);gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.affiliation-logo{display:flex;min-height:66px;align-items:center;justify-content:center;flex-direction:column;gap:.25rem;border:1px solid rgba(154,52,18,.16);border-radius:8px;padding:.45rem .35rem;background:linear-gradient(145deg,#ffffffd1,#fed7aa38),var(--color-surface);box-shadow:0 12px 28px #432e1c0f;text-decoration:none;text-align:center;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.affiliation-logo:hover{border-color:#9a341247;box-shadow:0 14px 32px #432e1c1a;transform:translateY(-1px)}.affiliation-logo-image,.affiliation-logo-image:hover{border-color:transparent;background:transparent;box-shadow:none}.affiliation-logo span{color:var(--color-primary);font-size:.92rem;font-weight:900;line-height:1}.affiliation-logo small{color:var(--color-muted);font-size:.64rem;font-weight:700;line-height:1.15}.affiliation-logo img{display:block;max-width:116px;max-height:72px;object-fit:contain}.affiliation-logo img[alt="Human Informatics Lab"]{max-width:126px;max-height:78px}.placeholder-page{border:1px solid var(--color-border);border-radius:8px;padding:2rem;background:var(--color-surface)}.placeholder-page h1{margin:0 0 .75rem;color:var(--color-text);font-size:2.5rem}.placeholder-page p{margin:0;color:var(--color-muted)}.section-page{min-height:calc(100vh - 76px);padding:clamp(1rem,3vh,2rem) 0 1.5rem}.section-heading{max-width:820px;margin-bottom:1.25rem}.section-kicker{margin:0 0 .55rem;color:var(--color-primary);font-size:.82rem;font-weight:900;letter-spacing:0}.section-heading h1{max-width:780px;margin:0;color:var(--color-text);font-size:clamp(2.1rem,5vw,4.2rem);line-height:1}.section-heading p:last-child{max-width:700px;margin:.85rem 0 0;color:var(--color-muted);font-size:1.02rem;line-height:1.62}.section-card-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.section-card{min-height:220px;border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;background:linear-gradient(145deg,#ffffffd1,#fed7aa2e),var(--color-surface);box-shadow:0 14px 34px #432e1c14}.card-eyebrow{display:inline-flex;width:fit-content;margin-bottom:.85rem;border:1px solid rgba(154,52,18,.16);border-radius:999px;padding:.28rem .58rem;background:#fed7aa3d;color:var(--color-primary);font-size:.72rem;font-weight:900}.section-card h2{margin:0;color:var(--color-text);font-size:1.18rem;line-height:1.2}.section-card p{margin:.78rem 0 0;color:var(--color-muted);font-size:.95rem;line-height:1.58}.skills-page{display:grid;align-content:start;gap:1.15rem}.skills-overview{display:flex;flex-wrap:wrap;gap:.55rem;border:1px solid rgba(154,52,18,.12);border-radius:8px;padding:.9rem;background:#ffffffa3;box-shadow:0 12px 30px #432e1c0f}.skills-overview span{display:inline-flex;min-height:34px;align-items:center;border:1px solid rgba(154,52,18,.14);border-radius:999px;padding:.36rem .66rem;background:#fed7aa33;color:var(--color-primary);font-size:.78rem;font-weight:850}.skills-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.skill-card{display:flex;min-height:280px;flex-direction:column;border:1px solid var(--color-border);border-radius:8px;padding:1.15rem;background:linear-gradient(145deg,#ffffffd6,#fed7aa2e),var(--color-surface);box-shadow:0 14px 34px #432e1c14}.skill-card h2{margin:0;color:var(--color-text);font-size:1.14rem;line-height:1.18}.skill-card p{margin:.7rem 0 0;color:var(--color-muted);font-size:.9rem;line-height:1.5}.skill-card ul{display:flex;flex-wrap:wrap;gap:.42rem;margin:auto 0 0;padding:1rem 0 0;list-style:none}.skill-card li{border:1px solid rgba(154,52,18,.12);border-radius:999px;padding:.28rem .5rem;background:#ffffff9e;color:var(--color-muted);font-size:.74rem;font-weight:750;line-height:1.15}.publications-page{display:grid;align-content:start;gap:1.15rem}.publication-stats{display:grid;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr))}.publication-stat{border:1px solid rgba(154,52,18,.12);border-radius:8px;padding:.9rem 1rem;background:#ffffffa3;box-shadow:0 12px 30px #432e1c0f}.publication-stat span{display:block;color:var(--color-primary);font-size:.74rem;font-weight:900;text-transform:uppercase}.publication-stat strong{display:block;margin-top:.35rem;color:var(--color-text);font-size:1rem;line-height:1.25}.publication-list{display:grid;gap:1rem}.publication-card{border:1px solid var(--color-border);border-radius:8px;padding:clamp(1.1rem,2.4vw,1.5rem);background:linear-gradient(145deg,#ffffffdb,#fed7aa2e),var(--color-surface);box-shadow:0 14px 34px #432e1c14}.publication-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}.publication-meta span,.publication-themes span{display:inline-flex;min-height:30px;align-items:center;border:1px solid rgba(154,52,18,.14);border-radius:999px;padding:.28rem .58rem;background:#fed7aa33;color:var(--color-primary);font-size:.72rem;font-weight:850;line-height:1}.publication-card h2{max-width:900px;margin:0;color:var(--color-text);font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.12}.publication-card p{max-width:860px;margin:.75rem 0 0;color:var(--color-muted);font-size:.96rem;line-height:1.58}.publication-themes{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.95rem}.publication-themes span{background:#ffffff9e;color:var(--color-muted)}.publication-link{display:inline-flex;width:fit-content;margin-top:1rem;color:var(--color-primary);font-weight:850;text-decoration:underline;text-underline-offset:.18em}.publication-link:hover{color:var(--color-primary-dark)}.experience-page{display:grid;align-content:start;gap:1.15rem}.experience-layout{display:grid;gap:1.25rem}.experience-group{display:grid;gap:.85rem}.experience-group>h2{margin:0;color:var(--color-primary);font-size:clamp(1.35rem,3vw,2.1rem);line-height:1}.experience-list{display:grid;gap:.9rem}.experience-card{border:1px solid var(--color-border);border-radius:8px;padding:clamp(1rem,2.4vw,1.35rem);background:linear-gradient(145deg,#ffffffdb,#fed7aa2e),var(--color-surface);box-shadow:0 14px 34px #432e1c14}.experience-card-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.experience-card h3{margin:0;color:var(--color-text);font-size:clamp(1.12rem,2.2vw,1.55rem);line-height:1.12}.experience-card-header p{margin:.42rem 0 0;color:var(--color-muted);font-size:.94rem;font-weight:750;line-height:1.38}.experience-location{flex:0 0 auto;color:var(--color-muted);font-size:.82rem;font-weight:800;text-align:right}.experience-card ul{display:grid;gap:.5rem;margin:.95rem 0 0;padding:0;list-style:none}.experience-card li{position:relative;padding-left:1rem;color:var(--color-muted);font-size:.92rem;line-height:1.52}.experience-card li:before{position:absolute;top:.62em;left:0;width:.42rem;height:.42rem;border-radius:50%;background:var(--color-accent);content:""}.contact-page{display:flex;min-height:calc(100vh - 76px);justify-content:center;flex-direction:column;gap:1rem}.contact-panel{display:grid;align-items:stretch;gap:1rem;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}.contact-copy,.contact-card{border:1px solid var(--color-border);border-radius:8px;background:#ffffffb8;box-shadow:0 14px 34px #432e1c14}.contact-copy{padding:clamp(1.5rem,3vw,2.4rem)}.contact-kicker{margin:0 0 .75rem;color:var(--color-primary);font-size:.82rem;font-weight:850}.contact-copy h1{margin:0;color:var(--color-text);font-size:clamp(2.4rem,6vw,4.8rem);line-height:.98}.contact-copy p:last-child{max-width:680px;margin:1rem 0 0;color:var(--color-muted);font-size:1.05rem;line-height:1.65}.contact-card{display:flex;justify-content:center;flex-direction:column;gap:1rem;padding:clamp(1.25rem,2.5vw,1.75rem)}.contact-item{display:flex;flex-direction:column;gap:.22rem}.contact-label{color:var(--color-primary);font-size:.78rem;font-weight:850}.contact-item a,.contact-item span:last-child{color:var(--color-text);font-size:1rem;font-weight:700;text-decoration:none}.contact-item a:hover{color:var(--color-primary)}.contact-button{width:fit-content;margin-top:.25rem}.contact-query-form{display:grid;gap:1rem;border:1px solid var(--color-border);border-radius:8px;padding:clamp(1.25rem,2.5vw,1.75rem);background:#ffffffb8;box-shadow:0 14px 34px #432e1c14}.contact-form-heading h2{margin:0;color:var(--color-text);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1}.contact-field{display:grid;gap:.42rem}.contact-field span{color:var(--color-primary);font-size:.78rem;font-weight:850}.contact-field input,.contact-field textarea{width:100%;border:1px solid rgba(154,52,18,.18);border-radius:8px;padding:.82rem .9rem;background:#ffffffc2;color:var(--color-text);font:inherit;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.contact-field input:focus,.contact-field textarea:focus{border-color:#9a341261;background:#fffaf4;box-shadow:0 0 0 4px #d977061f;outline:none}.contact-field textarea{min-height:150px}.contact-form-note{margin:-.35rem 0 0;color:var(--color-muted);font-size:.82rem;line-height:1.4}.contact-links{display:flex;flex-wrap:wrap;gap:.75rem}.contact-links a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.55rem;padding:.55rem .95rem .55rem .65rem;border:1px solid rgba(154,52,18,.16);border-radius:999px;background:#ffffffad;box-shadow:0 10px 22px #432e1c0f;color:var(--color-primary);font-weight:850;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.contact-links a:hover{border-color:#9a34124d;background:var(--color-accent-soft);box-shadow:0 12px 26px #432e1c1a;transform:translateY(-1px)}.contact-links img{display:block;width:28px;height:28px;object-fit:contain}.contact-links span{font-size:.94rem;line-height:1}@media(max-width:1040px){.navbar{width:min(1180px,calc(100% - 24px));gap:1rem}.nav-link{padding-right:.66rem;padding-left:.66rem;font-size:.9rem}.section-card-grid,.skills-grid,.publication-stats,.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.brand-role{display:none}.brand-name{font-size:.98rem}}@media(max-width:820px){.navbar{min-height:64px}.menu-toggle{display:flex}.nav-links{position:absolute;top:calc(100% + 10px);right:12px;left:12px;align-items:stretch;flex-direction:column;gap:.25rem;border:1px solid var(--color-border);border-radius:12px;padding:.55rem;background:#ffffffeb;box-shadow:var(--shadow-menu);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-links.open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-link{border-radius:10px;padding:.85rem .9rem}.nav-link:hover{transform:none}.nav-link-cta{margin-left:0}.hero-section{min-height:auto;grid-template-columns:1fr;gap:1rem;padding-top:0}.portrait-frame{width:min(100%,220px)}.section-card-grid,.skills-grid,.publication-stats{grid-template-columns:1fr}.experience-card-header{flex-direction:column}.experience-location{text-align:left}.snapshot-grid,.journey-preview-header{grid-template-columns:1fr}.milestones-heading{text-align:left}.milestone-flow{gap:1.4rem}.milestone-flow:before{left:50%}.milestone-event,.milestone-event:nth-child(2n){grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);min-height:auto;padding:0}.milestone-event-marker,.milestone-event:nth-child(2n) .milestone-event-marker{grid-column:2;grid-row:1;width:76px;height:76px}.milestone-event-rule,.milestone-event:nth-child(2n) .milestone-event-rule{display:none;grid-column:1 / 3;grid-row:1}.milestone-event-rule:before,.milestone-event:nth-child(2n) .milestone-event-rule:before{right:auto;left:0}.milestone-event-copy,.milestone-event:nth-child(2n) .milestone-event-copy{grid-column:2;grid-row:1;max-width:none;justify-self:start;padding-right:0;padding-left:1rem;text-align:left}.milestone-event-lines{grid-column:3;padding-top:5.5rem}.milestone-event-lines-left{grid-column:1}.milestone-event-lines-right{grid-column:3}.milestone-event-line{gap:.4rem;grid-template-columns:58px minmax(0,1fr)}.milestone-event-line:before{left:-42px;width:42px}.milestone-event-lines-left .milestone-event-line:before{right:-42px;left:auto;width:42px}.timeline-vertical{padding-right:.85rem}.timeline-vertical .timeline-card{min-height:118px}.timeline-card p{opacity:1;transform:none}.home-closing-section,.contact-panel{grid-template-columns:1fr}.page-shell{min-height:calc(100vh - 64px);padding:.5rem 0 1rem}.placeholder-page{padding:1.5rem}.placeholder-page h1{font-size:2rem}}@media(max-width:420px){.brand-mark{width:38px;height:38px}.brand-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-actions{align-items:stretch;flex-direction:column}.journey-preview-header,.snapshot-grid{grid-template-columns:1fr}.button-primary,.button-secondary,.button-text{width:100%}.home-contact-actions{align-items:stretch;flex-direction:column}.contact-button{width:100%}}@media(prefers-reduced-motion:reduce){.scroll-cue{animation:none}.navbar-brand:hover .brand-mark,.nav-link:hover,.menu-toggle:hover,.social-link:hover,.affiliation-logo:hover,.home-contact-links a:hover,.timeline-card:hover,.contact-links a:hover{transform:none}}
