:root{--bg: #faf8f4;--bg-alt: #f1ede4;--ink: #17140f;--ink-soft: rgba(23, 20, 15, .66);--ink-faint: rgba(23, 20, 15, .42);--hairline: rgba(23, 20, 15, .14);--hairline-strong: rgba(23, 20, 15, .28);--accent: #8a3324;--paper: #ffffff;--font-serif: "Fraunces", "Iowan Old Style", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--topbar-h: 68px;--logowalk-h: 76px;--container: 920px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent);letter-spacing:.005em}a{color:inherit}section{scroll-margin-top:calc(var(--topbar-h) + var(--logowalk-h) + 16px)}.role-card,.role-card[id]{scroll-margin-top:calc(var(--topbar-h) + var(--logowalk-h) + 24px)}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,56px);background:#faf8f4db;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);border-bottom:1px solid var(--hairline)}.topbar-mark{font-family:var(--font-serif);font-style:italic;font-size:20px;text-decoration:none;color:var(--ink);letter-spacing:.02em}.tab-switch{display:flex;gap:4px;background:var(--bg-alt);border:1px solid var(--hairline);border-radius:999px;padding:4px}.tab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ink-soft);padding:7px 16px;border-radius:999px;cursor:pointer;transition:background .25s ease,color .25s ease}.tab-btn:hover{color:var(--ink)}.tab-btn.is-active{background:var(--ink);color:var(--bg)}.topbar-links{display:flex;gap:22px;font-size:13px;letter-spacing:.02em}.topbar-links a{text-decoration:none;color:var(--ink-soft);border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;padding-bottom:2px}.topbar-links a:hover{color:var(--ink);border-color:var(--hairline-strong)}.logo-walk{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--logowalk-h);z-index:55;background:#faf8f4eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;padding:0 clamp(20px,5vw,56px);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease}.logo-walk.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.logo-walk-track{display:flex;align-items:center;gap:28px;white-space:nowrap}.logo-badge{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;font-family:var(--font-sans);padding:4px 2px;opacity:.42;transition:opacity .3s ease}.logo-badge:hover{opacity:.75}.logo-badge.is-active{opacity:1}.logo-badge-circle{width:36px;height:36px;border-radius:50%;border:1px solid var(--hairline-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:12px;letter-spacing:.03em;color:var(--ink);background:var(--paper);transition:background .3s ease,color .3s ease,transform .3s ease;flex-shrink:0}.logo-badge.is-active .logo-badge-circle{background:var(--ink);color:var(--bg);transform:scale(1.08)}.logo-badge-label{font-size:12px;color:var(--ink-soft)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--topbar-h) + 40px) clamp(20px,6vw,80px) 60px;position:relative}.hero-inner{max-width:1200px;width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(200px,.9fr);align-items:center;gap:clamp(32px,6vw,80px)}.hero-content{min-width:0}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 22px}.hero-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(48px,9vw,112px);line-height:.98;margin:0 0 28px;letter-spacing:-.01em}.hero-title em{font-weight:400}.hero-sub{font-family:var(--font-serif);font-size:clamp(19px,2.4vw,26px);font-weight:300;line-height:1.5;max-width:760px;color:var(--ink-soft);margin:0 0 48px}.hero-meta-text{margin-top:32px}.hero-portrait{display:flex;justify-content:center}.headshot-frame{width:clamp(180px,20vw,320px);aspect-ratio:1 / 1;border-radius:50%;overflow:hidden;border:1px solid var(--hairline-strong);background:var(--bg);flex-shrink:0}.headshot-frame img{width:100%;height:100%;object-fit:cover;display:block}.hero-meta-text p{margin:0 0 4px;font-size:14px;color:var(--ink-soft)}.hero-meta-text p:last-child{margin-bottom:0}.scroll-cue{position:absolute;bottom:40px;left:clamp(20px,6vw,80px);display:flex;align-items:center;gap:14px}.scroll-cue span{width:1px;height:34px;background:var(--hairline-strong);position:relative;overflow:hidden}.scroll-cue span:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--ink);animation:cue-fall 1.8s ease-in-out infinite}@keyframes cue-fall{0%{top:-100%}60%{top:100%}to{top:100%}}.scroll-cue p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0}main{padding:0 clamp(20px,6vw,80px) 40px}.intro-line{max-width:var(--container);margin:0 auto;padding:60px 0 90px;border-top:1px solid var(--hairline)}.intro-line p{font-family:var(--font-serif);font-size:clamp(20px,2.6vw,30px);font-weight:300;line-height:1.5;color:var(--ink-soft);margin:0}.section-title{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,42px);max-width:var(--container);margin:0 auto 48px;padding-top:8px}.timeline{padding-bottom:100px}.timeline--compact{padding-bottom:80px}.timeline-list{max-width:var(--container);margin:0 auto;display:flex;flex-direction:column}.role-card{display:flex;gap:28px;padding:44px 0;border-top:1px solid var(--hairline)}.role-card:last-child{border-bottom:1px solid var(--hairline)}.role-card.is-hidden{display:none}.role-monogram{flex-shrink:0;width:52px;height:52px;border-radius:50%;border:1px solid var(--hairline-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:15px;letter-spacing:.02em;color:var(--ink);margin-top:4px}.role-body{flex:1;min-width:0}.role-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:6px}.role-title{font-family:var(--font-serif);font-weight:500;font-size:clamp(20px,2.4vw,25px);margin:0;line-height:1.25}.role-company{margin:4px 0 0;font-size:14px;color:var(--ink-soft)}.role-dates{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;margin:0}.role-lens{font-family:var(--font-serif);font-style:italic;font-size:17px;color:var(--accent);margin:10px 0 18px}.role-lens[data-lens].is-lens-hidden{display:none}.role-bullets{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:12px}.role-bullets li{position:relative;padding-left:20px;font-size:15px;color:var(--ink-soft);line-height:1.65}.role-bullets li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:1px;background:var(--hairline-strong)}.role-bullets li[data-lens].is-lens-hidden{display:none}.role-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip{font-size:11.5px;letter-spacing:.03em;padding:5px 12px;border-radius:999px;border:1px solid var(--hairline-strong);color:var(--ink-soft)}.edu-grid{max-width:var(--container);margin:0 auto}.edu-grid .role-card:first-child{border-top:1px solid var(--hairline)}.skills-section{padding-bottom:120px}.skills-grid{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.skills-card{background:var(--bg);padding:32px;transition:opacity .3s ease}.skills-card.is-hidden{display:none}.skills-card h3{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;margin:0 0 12px}.skills-card p{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.65}.site-footer{padding:40px clamp(20px,6vw,80px) 60px;text-align:center;border-top:1px solid var(--hairline)}.site-footer p{font-size:12px;letter-spacing:.04em;color:var(--ink-faint);margin:0}.reveal-up{opacity:1}@media(max-width:860px){.hero-inner{grid-template-columns:1fr;gap:40px}.hero-meta-text{margin-top:24px}}@media(max-width:720px){.topbar{padding:0 18px;gap:10px}.topbar-links{display:none}.tab-switch{order:2}.role-card{flex-direction:column;gap:14px}.role-monogram{width:40px;height:40px;font-size:12px}.skills-grid{grid-template-columns:1fr}.role-head{flex-direction:column;gap:4px}.headshot-frame{width:clamp(140px,45vw,200px)}}
