*,*:before,*:after{box-sizing:border-box}:root{--page-max: 64rem;--space-sm: clamp(1rem, 3vw, 1.5rem);--space-md: clamp(1.5rem, 5vw, 2rem);--space-lg: clamp(2rem, 6vw, 3rem);--text-base: clamp(.9375rem, 2vw + .75rem, 1rem);--text-lead: clamp(1.0625rem, 2.5vw + .875rem, 1.125rem);--text-hero: clamp(1.25rem, 3vw + 1rem, 1.5rem);--bg: #1e2b2c;--text: #e8ecec;--muted: #8a9ea0;--secondary: #b8c5c6;--border: #3d4f50;--accent: #52adb3;--accent-hover: #74c5ca;--accent-subtle: #2a3839;--hover-border: #52adb3;--card-bg: rgba(255, 255, 255, .02);--card-hover-bg: rgba(82, 173, 179, .04);--card-hover-border: rgba(82, 173, 179, .28);--shadow-card: 0 8px 32px rgba(0, 0, 0, .28);--radius-card: 8px;--transition-base: .2s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1)}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-base);line-height:1.6;color:var(--text);background-color:var(--bg);background-image:linear-gradient(rgba(82,173,179,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(82,173,179,.05) 1px,transparent 1px);background-size:40px 40px;background-attachment:fixed}.page{max-width:var(--page-max);margin:0 auto;padding:0 var(--space-sm);padding-left:max(var(--space-sm),env(safe-area-inset-left));padding-right:max(var(--space-sm),env(safe-area-inset-right));padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom) + 2rem)}.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;transition:background-color var(--transition-base),border-bottom-color var(--transition-base),backdrop-filter var(--transition-base)}.nav--scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#1e2b2ce0;border-bottom-color:#52adb333}.nav-brand{display:flex;align-items:center;gap:.625rem;text-decoration:none}.nav-brand img{width:36px;height:36px;object-fit:contain}.nav-brand-name{font-size:.9375rem;font-weight:600;color:var(--accent);letter-spacing:.01em}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{text-decoration:none;font-size:.9375rem;color:var(--muted);transition:color .2s ease}.nav-links a:hover{color:var(--text)}.hero{padding-bottom:var(--space-lg);border-bottom:1px solid var(--border)}.hero-layout{display:flex;align-items:center;gap:2rem}.hero-photo{flex-shrink:0;width:140px;height:140px;border-radius:50%;overflow:hidden;background:var(--accent-subtle);border:2px solid var(--accent);animation:hero-glow 3s ease-in-out infinite}@keyframes hero-glow{0%,to{box-shadow:0 0 #52adb300}50%{box-shadow:0 0 0 8px #52adb32e}}@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.hero-text{flex:1;min-width:0}.hero-name{margin:0 0 .2em;font-size:var(--text-hero);font-weight:700;color:var(--text);letter-spacing:-.01em}.hero-subtitle{margin:0 0 .875rem;font-size:var(--text-base);color:var(--muted);font-weight:400}.hero-tagline{margin:0 0 1.25rem;font-size:var(--text-lead);color:var(--secondary);line-height:1.65}.hero-cta a{color:var(--accent);text-decoration:none;font-size:var(--text-base);font-weight:500;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.hero-cta a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.cta-arrow{display:inline-block;transition:transform var(--transition-base)}.hero-cta a:hover .cta-arrow{transform:translate(4px)}main a{text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.content-section{margin-top:var(--space-md);padding:var(--space-md);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);transition:border-color var(--transition-smooth),transform var(--transition-smooth),box-shadow var(--transition-smooth)}.content-section:hover{border-color:var(--card-hover-border);transform:translateY(-2px);box-shadow:var(--shadow-card)}@media(prefers-reduced-motion:reduce){.content-section:hover{transform:none}}.section-label{font-size:.8125rem;font-weight:700;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0 0 var(--space-md);display:flex;align-items:center;gap:.5rem}.section-label:before{content:"";flex-shrink:0;width:3px;height:.85em;background:var(--accent);border-radius:2px}.work-entry{margin-top:var(--space-sm)}.work-entry:first-of-type{margin-top:0}.work-entry p{margin:0;color:var(--secondary);line-height:1.65}.work-entry a{color:var(--text);font-weight:500}.work-entry a:hover{color:var(--accent);border-bottom-color:var(--accent)}.content-para{margin:0;color:var(--secondary);line-height:1.65}.content-para+.content-para{margin-top:.75rem}.skill-pills{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}.skill-pills li{font-size:.875rem;color:var(--secondary);background:var(--accent-subtle);border:1px solid var(--border);border-radius:20px;padding:.25rem .75rem;line-height:1.4;transition:border-color var(--transition-base),color var(--transition-base)}.skill-pills li:hover{border-color:var(--accent);color:var(--accent)}.research-list{list-style:none;padding:0;margin:0}.research-list li+li{margin-top:var(--space-md)}.research-list a{color:var(--text);font-weight:500}.research-list a:hover{color:var(--accent);border-bottom-color:var(--accent)}.research-summary{margin-top:.75rem}.research-links{font-size:.875rem;color:var(--muted);margin-top:.6rem}.research-links a{color:var(--accent);font-weight:500}.research-links a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.books-list{list-style:none;padding:0;margin:0}.books-list li+li{margin-top:var(--space-md)}.values-list{display:grid;gap:var(--space-md)}.value-item{background:#ffffff04;border:1px solid var(--border);border-radius:6px;padding:var(--space-sm);transition:border-color var(--transition-base)}.value-item:hover{border-color:var(--card-hover-border)}.value-item h3{font-size:var(--text-base);font-weight:600;color:var(--text);margin:0}.meta{font-size:.875rem;color:var(--muted);margin-top:.2rem}.connect4-cta{text-align:center;color:var(--muted)}.connect4-cta a{color:var(--accent);font-weight:500}.connect4-cta a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1)}.js [data-reveal].revealed{opacity:1;transform:translateY(0)}.js [data-reveal].revealed [data-stagger]:nth-child(1){transition-delay:.05s}.js [data-reveal].revealed [data-stagger]:nth-child(2){transition-delay:.1s}.js [data-reveal].revealed [data-stagger]:nth-child(3){transition-delay:.15s}.js [data-reveal].revealed [data-stagger]:nth-child(4){transition-delay:.2s}.js [data-reveal].revealed [data-stagger]:nth-child(5){transition-delay:.25s}.js [data-reveal].revealed [data-stagger]:nth-child(6){transition-delay:.3s}@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}@media(max-width:479px){.hero-layout{flex-direction:column;align-items:flex-start;gap:1.25rem}.hero-photo{width:96px;height:96px}main p{line-height:1.75}}@media(min-width:640px){.page{padding-left:max(var(--space-md),env(safe-area-inset-left));padding-right:max(var(--space-md),env(safe-area-inset-right))}.values-list{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.page{display:grid;grid-template-columns:256px 1fr;align-items:start;gap:0 clamp(2rem,3vw,2.5rem);padding-bottom:0}.sidebar{position:sticky;top:0;max-height:100vh;overflow-y:auto;padding-top:1rem;padding-bottom:3rem;padding-right:1.5rem;border-right:1px solid var(--border);scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.nav{position:static;flex-direction:column;align-items:flex-start;gap:.75rem;padding:0 0 1rem;margin-bottom:1.5rem}.nav-links{flex-wrap:wrap;gap:.5rem 1.25rem}.nav--scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:transparent;border-bottom-color:var(--border)}.hero{border-bottom:none;padding-bottom:0}.hero-layout{flex-direction:column;gap:1.25rem}.hero-photo{width:104px;height:104px}main{min-width:0;padding-top:1rem;padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom) + 2rem)}}
