:root{color-scheme:dark;--color-background:#111514;--color-surface:#202725;--color-surface-raised:#29322f;--color-text:#e0f2f1;--color-muted:#b0c4c1;--color-accent:#1de9b6;--color-accent-deep:#00796b;--color-accent-light:#8ffff0;--color-border:#3a4844;--font-body:"Karla", "Open Sans", "Segoe UI", sans-serif;--font-heading:"Montserrat", "Segoe UI", sans-serif;--content-width:68rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.65}a{color:var(--color-accent);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{color:var(--color-accent-light)}a:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px;border-radius:2px}img{max-width:100%;display:block}h1,h2,h3{color:#fff;font-family:var(--font-heading);margin:0;line-height:1.25}p{margin:0 0 1rem}.content-width,.nav-wrap{width:min(var(--content-width), calc(100% - 2.5rem));margin-inline:auto}.site-header{z-index:10;border-bottom:1px solid var(--color-border);backdrop-filter:blur(12px);background:#111514f0;position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:1.5rem;min-height:3rem;display:flex}.brand{color:#fff;font-family:var(--font-heading);gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.logo{width:2rem;height:2rem}.nav-links{align-items:center;gap:clamp(1rem,4vw,2rem);display:flex}.nav-links a{color:var(--color-text);font-weight:600;text-decoration:none}.nav-links a[aria-current=page]{color:var(--color-accent)}.nav-links a:hover{color:var(--color-accent-light)}.skip-link{z-index:20;background:var(--color-text);color:var(--color-background);border-radius:.25rem;padding:.5rem .75rem;position:absolute;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.profile{grid-template-columns:8rem minmax(0,1fr);align-items:start;gap:2rem;padding-block:clamp(3.5rem,8vw,6.5rem);display:grid}.avatar{aspect-ratio:1;border:2px solid var(--color-accent);background:var(--color-surface-raised);width:8rem;color:var(--color-accent);font-family:var(--font-heading);border-radius:50%;place-items:center;font-size:2rem;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.profile h1{font-size:clamp(2rem,5vw,3.25rem)}.tagline{color:var(--color-muted);margin:.4rem 0 1rem;font-size:1.2rem}.social-links{flex-wrap:wrap;gap:.5rem 1.25rem;margin:1rem 0 1.5rem;padding:0;list-style:none;display:flex}.social-links a{font-weight:600}.profile-summary{max-width:54rem}.profile-summary p:last-child{margin-bottom:0}.page-section{padding-block:clamp(2.5rem,6vw,4.5rem)}.page-section:not(:first-of-type){border-top:1px solid var(--color-border)}.section-heading{margin-bottom:1.5rem;font-size:clamp(1.6rem,4vw,2.25rem)}.page-title{margin-bottom:.75rem;font-size:clamp(2rem,5vw,3rem)}.section-subheading{margin:2.25rem 0 1rem;font-size:1.35rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.25rem;display:grid}.content-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;color:var(--color-text);border-radius:.8rem;flex-direction:column;text-decoration:none;transition:transform .16s,border-color .16s,background-color .16s;display:flex;overflow:hidden}.content-card:hover{border-color:var(--color-accent-deep);background:var(--color-surface-raised);color:var(--color-text);transform:translateY(-3px)}.content-card:focus-visible{outline-offset:3px}.card-image{aspect-ratio:16/9;object-fit:cover;background:var(--color-surface-raised);width:100%;height:auto}.card-copy{padding:1.2rem}.card-copy h3{margin-bottom:.4rem;font-size:1.15rem}.card-copy p:last-child{margin-bottom:0}.card-date,.date-range{color:var(--color-muted);margin:0 0 .65rem;font-size:.9rem;display:block}.read-more{margin-top:1.5rem;font-weight:700;display:inline-block}.timeline{border-left:2px solid var(--color-accent-deep);margin:0;padding:0 0 0 1.25rem;list-style:none}.timeline-item{padding:0 0 2rem 1.25rem;position:relative}.timeline-item:before{border:2px solid var(--color-accent);background:var(--color-background);content:"";border-radius:50%;width:.8rem;height:.8rem;position:absolute;top:.35rem;left:-1.85rem}.timeline-heading{flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;display:flex}.timeline-heading h3{font-size:1.15rem}.organization{color:var(--color-accent);margin:.25rem 0 .5rem}.date-range{margin:0}.experience-highlights,.education-list ul{margin:.5rem 0 0;padding-left:1.25rem}.education-list{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.education-list h3{font-size:1.1rem}.education-list p{margin:.25rem 0}.empty-state{color:var(--color-muted);font-style:italic}.archive-list{gap:1rem;display:grid}.article{max-width:48rem;padding-block:clamp(2.5rem,7vw,5rem)}.article-header{margin-bottom:2rem}.article-header h1{margin-bottom:.75rem;font-size:clamp(2rem,5vw,3rem)}.article-summary{color:var(--color-muted);font-size:1.2rem}.article-image{object-fit:cover;border-radius:.8rem;width:100%;max-height:32rem;margin:1.5rem 0}.article-content{font-size:1.125rem}.article-content h2,.article-content h3{margin:2rem 0 .75rem}.article-content p,.article-content ul,.article-content ol{margin-bottom:1.25rem}.article-content img{border-radius:.5rem;height:auto;margin:1.5rem auto}.article-content blockquote{border-left:3px solid var(--color-accent);color:var(--color-muted);margin:1.5rem 0;padding:.25rem 1rem}.back-link{margin-top:2rem;display:inline-block}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);text-align:center;padding-block:2rem}.site-footer p{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=38rem){.content-width,.nav-wrap{width:min(var(--content-width), calc(100% - 2rem))}.profile{grid-template-columns:1fr;gap:1.25rem}.avatar{width:6rem}.nav-wrap{min-height:4rem}.brand{font-size:1rem}.nav-links{gap:1rem}.timeline-heading{display:block}.timeline-heading .date-range{margin-top:.3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
