:root{font-family:Inter,Segoe UI,sans-serif;color:#e9ebdf;background:radial-gradient(circle at top,rgba(0,143,74,.18),transparent 32%),#151515;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ds-color-canvas: #151515;--ds-color-surface: #242424;--ds-color-surface-muted: #2d2a27;--ds-color-surface-strong: #1d1c1a;--ds-color-border: #433e38;--ds-color-border-strong: rgba(0, 143, 74, .81);--ds-color-text: #e9ebdf;--ds-color-text-muted: rgba(233, 235, 223, .72);--ds-color-text-subtle: rgba(233, 235, 223, .56);--ds-color-accent: #008f4a;--ds-color-accent-soft: rgba(0, 143, 74, .14);--ds-color-danger: #cf5f48;--ds-space-xs: .25rem;--ds-space-sm: .5rem;--ds-space-md: 1rem;--ds-space-lg: 1.5rem;--ds-space-xl: 2rem;--ds-space-2xl: 3rem;--ds-space-3xl: 4rem;--ds-font-size-xs: .75rem;--ds-font-size-sm: .875rem;--ds-font-size-md: 1rem;--ds-font-size-lg: 1.125rem;--ds-font-size-xl: 1.5rem;--ds-font-size-2xl: 2rem;--ds-font-size-3xl: 3.5rem;--ds-font-weight-light: 300;--ds-font-weight-regular: 400;--ds-font-weight-medium: 500;--ds-letter-tight: -.04em;--ds-letter-wide: .08em}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--ds-color-canvas);color:var(--ds-color-text)}a{color:inherit;text-decoration:none}button,input{font:inherit}#root{min-height:100vh}.ds-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ds-color-border);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.ds-button:hover{transform:translateY(-1px);border-color:var(--ds-color-border-strong)}.ds-button--sm{min-height:36px;padding:0 14px;font-size:var(--ds-font-size-sm)}.ds-button--md{min-height:44px;padding:0 18px;font-size:var(--ds-font-size-sm)}.ds-button--lg{min-height:52px;padding:0 24px;font-size:var(--ds-font-size-md)}.ds-button--primary{background:var(--ds-color-text);color:var(--ds-color-canvas);border-color:var(--ds-color-text)}.ds-button--secondary{background:var(--ds-color-surface);color:var(--ds-color-text)}.ds-button--ghost{padding-left:0;padding-right:0;border-color:transparent;background:transparent;color:var(--ds-color-text-muted)}.ds-button--ghost:hover{color:var(--ds-color-text)}.ds-card{padding:32px 24px 24px;border:1px solid var(--ds-color-border);background:linear-gradient(180deg,#242424f0,#151515fa)}.ds-card__eyebrow{margin:0 0 10px;color:var(--ds-color-text-subtle);font-size:var(--ds-font-size-xs);letter-spacing:var(--ds-letter-wide);text-transform:uppercase}.ds-card__title{margin:0;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:var(--ds-font-weight-light);line-height:1.12;letter-spacing:var(--ds-letter-tight)}.ds-card__description{margin:14px 0 0;color:var(--ds-color-text-muted);line-height:1.6}.ds-card__body,.ds-card__footer{margin-top:24px}.ds-field{display:grid;gap:8px}.ds-field__label{color:var(--ds-color-text);font-size:var(--ds-font-size-sm)}.ds-field__meta{color:var(--ds-color-text-subtle);font-size:var(--ds-font-size-xs)}.ds-field__meta--error{color:var(--ds-color-danger)}.ds-input{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--ds-color-border);background:#151515e0;color:var(--ds-color-text);outline:none;transition:border-color .18s ease,box-shadow .18s ease}.ds-input::placeholder{color:var(--ds-color-text-subtle)}.ds-input:focus{border-color:var(--ds-color-border-strong);box-shadow:0 0 0 4px var(--ds-color-accent-soft)}.ds-input--error{border-color:var(--ds-color-danger)}.personal-site{width:min(1040px,calc(100vw - 32px));margin:0 auto;padding:32px 0 96px}.page-section{margin-top:20px}.section-index{margin:0 0 16px;color:var(--ds-color-text-subtle);font-size:var(--ds-font-size-xs);letter-spacing:.12em;text-transform:uppercase}.section-heading{margin-bottom:16px}.section-heading h2{margin:0;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:var(--ds-font-weight-light);letter-spacing:var(--ds-letter-tight)}.avatar-hero{position:relative}.avatar-hero__media{border:1px solid var(--ds-color-border-strong);background:radial-gradient(circle at top right,rgba(0,143,74,.18),transparent 34%),linear-gradient(180deg,#242424f5,#151515);padding:16px}.avatar-img{min-height:360px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#ffffff1c,#ffffff08),#bcbcbc}.bio-header{display:grid;gap:8px;padding:24px 0 8px;border-bottom:1px solid var(--ds-color-border)}.bio-header__content{max-width:760px}.display-name{margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:var(--ds-font-weight-light);line-height:.9;letter-spacing:var(--ds-letter-tight)}.tagline{max-width:700px;margin:16px 0 0;color:var(--ds-color-text-muted);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65}.social-strip{padding:4px 0 8px;border-bottom:1px solid var(--ds-color-border)}.social-icons{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.social-icons a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--ds-color-border);color:var(--ds-color-text-muted);background:#151515b3;transition:border-color .18s ease,color .18s ease,transform .18s ease}.social-icons a:hover{transform:translateY(-1px);border-color:var(--ds-color-border-strong);color:var(--ds-color-text)}.timeline{margin:0;padding:0;list-style:none;display:grid;gap:1px;background:var(--ds-color-border);border:1px solid var(--ds-color-border)}.timeline-item .ds-card{display:grid;gap:18px;height:100%;border:0;transition:border-color .18s ease,color .18s ease,transform .18s ease}.timeline-item .ds-card:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px var(--ds-color-border-strong)}.timeline-item__meta{color:var(--ds-color-text-subtle);font-size:var(--ds-font-size-sm)}.timeline-item__content h3{margin:0;font-size:1.35rem;font-weight:var(--ds-font-weight-light);letter-spacing:var(--ds-letter-tight)}.timeline-item__content p{margin:12px 0 0;color:var(--ds-color-text-muted);line-height:1.6}.portfolio-grid{display:grid;gap:1px;border:1px solid var(--ds-color-border);background:var(--ds-color-border)}.portfolio-card{border:0;transition:border-color .18s ease,color .18s ease,transform .18s ease}.portfolio-card:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px var(--ds-color-border-strong)}.portfolio-card__image{min-height:200px;margin-top:4px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#ffffff14,#ffffff05),#c6c6c6}.contact-layout{display:grid;gap:24px}.contact-copy,.contact-form{padding:24px;border:1px solid var(--ds-color-border);background:linear-gradient(180deg,#242424f0,#151515fa);transition:border-color .18s ease,color .18s ease,transform .18s ease}.contact-copy:hover,.contact-form:hover{transform:translateY(-1px);border-color:var(--ds-color-border-strong)}.contact-copy p{margin:0;color:var(--ds-color-text-muted);line-height:1.65}.contact-highlights{display:grid;gap:14px;margin:24px 0;padding:0;list-style:none}.contact-highlights li{display:flex;gap:12px;align-items:flex-start;color:var(--ds-color-text-muted)}.contact-highlights strong,.contact-highlights span{display:block}.contact-form{display:grid;gap:16px}@media(min-width:760px){.personal-site{padding-top:48px}.timeline-item .ds-card{grid-template-columns:180px minmax(0,1fr);align-items:start}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
