:root{--font-body: "IBM Plex Sans", sans-serif;--font-display: "Newsreader", serif;--font-mono: "IBM Plex Mono", monospace;--surface: #f4f8f7;--surface-raised: #fbfefd;--surface-raised-strong: #ffffff;--surface-ink: #e7efed;--text: #172126;--text-muted: #5e7077;--border: #cddbdd;--accent: #147a7e;--accent-soft: #d9f1ee;--space-2xs: .375rem;--space-xs: .625rem;--space-sm: .875rem;--space-md: 1.25rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4.5rem;--measure: 42rem;--measure-wide: 72rem;--radius-sm: .45rem;--radius-md: .9rem;--radius-lg: 1.4rem}:root[data-theme=dark]{--surface: #10181c;--surface-raised: #162126;--surface-raised-strong: #1b2a31;--surface-ink: #213139;--text: #e7f0f2;--text-muted: #a0b2b8;--border: #32454d;--accent: #58c7c0;--accent-soft: #18363a}html{background:var(--surface)}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-soft) 65%,transparent) 0,transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--surface-raised) 74%,white) 0,var(--surface) 20rem)}.home-shell{width:min(100% - 2rem,var(--measure-wide));margin-inline:auto}.home-main{padding-block-end:var(--space-2xl)}.site-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-md)}.site-header__brand{display:grid;gap:.15rem;color:inherit;text-decoration:none}.site-header__name{font-family:var(--font-display);font-size:1.35rem;line-height:1}.site-header__tag{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.site-header__nav{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.site-header__nav a,.site-footer__links a{color:var(--text);text-decoration:none;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.site-header__nav a:hover,.site-footer__links a:hover,.site-header__nav a[aria-current=page]{color:var(--accent)}.site-footer{display:flex;justify-content:space-between;gap:var(--space-md);align-items:center;padding-block:var(--space-lg);border-top:1px solid var(--border)}.site-footer__line{margin:0;color:var(--text-muted)}.site-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.flow>*+*{margin-block-start:var(--flow-space, 1em)}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.section-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.breadcrumb-nav{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.breadcrumb-nav a{color:inherit;text-decoration:none}.breadcrumb-nav a:hover{color:var(--accent)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-md)}.section-heading__title{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.08}.text-link{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.text-link:hover{border-bottom-color:var(--accent)}.button-link{display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:1rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 90%,white);color:var(--text);text-decoration:none;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.button-link:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));color:var(--accent)}.button-link--primary{background:var(--accent);border-color:var(--accent);color:#f7fffe}.button-link--primary:hover{color:#f7fffe;background:color-mix(in srgb,var(--accent) 86%,black)}.home-hero{display:grid;gap:var(--space-lg);padding-block:var(--space-xl) var(--space-lg)}.home-hero__lead{--flow-space: var(--space-md)}.home-hero__title{margin:0;max-width:11ch;font-family:var(--font-display);font-size:clamp(3rem,7vw,5.8rem);line-height:.95;letter-spacing:-.04em}.home-hero__copy{font-size:1.06rem;max-width:38rem}.home-writing{--flow-space: var(--space-sm);align-self:start;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-raised) 94%,white)}.home-writing__card{display:grid;gap:var(--space-xs);color:inherit;text-decoration:none}.home-writing__title{font-family:var(--font-display);font-size:1.45rem;line-height:1.06}.home-writing__excerpt,.home-writing__meta{color:var(--text-muted)}.page-hero{--flow-space: var(--space-md);padding-block:var(--space-xl) var(--space-lg)}.page-hero__title{margin:0;max-width:13ch;font-family:var(--font-display);font-size:clamp(2.6rem,5.5vw,4.8rem);line-height:.97;letter-spacing:-.04em}.page-hero__copy{font-size:1.04rem;max-width:42rem}.page-subnav{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.page-subnav a,.portfolio-group__title a{color:var(--text);text-decoration:none}.page-subnav a{display:inline-flex;align-items:center;min-height:2.25rem;padding-inline:.85rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 90%,white);font-family:var(--font-mono);font-size:.77rem;letter-spacing:.04em;text-transform:uppercase}.page-subnav a:hover,.portfolio-group__title a:hover{color:var(--accent)}.page-subnav a[aria-current=page]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 26%,var(--border));background:color-mix(in srgb,var(--accent-soft) 80%,white)}.portfolio-section{--flow-space: var(--space-md);padding-block:var(--space-lg) 0}.project-grid,.project-stack{display:grid;gap:var(--space-md)}.project-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-raised) 95%,white)}.project-card[data-variant=featured]{padding:var(--space-lg);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 36%,transparent) 0,transparent 12rem),color-mix(in srgb,var(--surface-raised-strong) 94%,white)}.project-card[data-featured=true][data-variant=compact]{border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.project-card__meta{display:grid;gap:var(--space-xs)}.project-card__date{margin:0;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.project-card__categories,.project-card__tags,.project-card__links{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.project-card__body{--flow-space: var(--space-xs)}.project-card__title{margin:0;font-family:var(--font-display);line-height:1.06}.project-card[data-variant=featured] .project-card__title{font-size:1.8rem}.project-card[data-variant=compact] .project-card__title{font-size:1.35rem}.project-card__title-link{color:inherit;text-decoration:none}.project-card__title-link:hover{color:var(--accent)}.project-card__summary{margin:0;max-width:var(--measure)}.project-card__cta{margin:0}.project-card__tag,.project-card__category{display:inline-flex;align-items:center;min-height:1.8rem;padding-inline:.6rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 82%,transparent);font-family:var(--font-mono);font-size:.72rem;line-height:1}.project-card__category{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 22%,var(--border));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface-raised))}.project-card__tag{color:var(--text-muted)}.project-card__links a{color:var(--accent);text-decoration:none;font-family:var(--font-mono);font-size:.78rem}.project-card__links a:hover{text-decoration:underline}.portfolio-group{--flow-space: var(--space-sm)}.portfolio-group+.portfolio-group{margin-block-start:var(--space-2xl)}.portfolio-group__title{margin:0;font-family:var(--font-display);font-size:1.5rem;line-height:1.1}.portfolio-group__intro{color:var(--text-muted);max-width:var(--measure)}.home-columns{display:grid;gap:var(--space-lg);padding-block:var(--space-xl) 0}.home-column{--flow-space: var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border)}.home-column__title{margin:0;font-family:var(--font-display);font-size:1.7rem;line-height:1.08}.home-list{margin:0;padding-left:1.1rem}.about-layout{display:grid;gap:var(--space-lg);align-items:start}.about-main{padding-bottom:var(--space-lg)}.about-rail{--flow-space: var(--space-md)}.about-card{--flow-space: var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-raised) 95%,white)}.about-card__title{margin:0;font-family:var(--font-display);font-size:1.4rem;line-height:1.08}.about-list,.about-links{margin:0;padding-left:1.1rem}.about-links a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.18em}.about-facts{display:grid;gap:var(--space-sm);margin:0}.about-facts div{display:grid;gap:.35rem}.about-facts dt{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.about-facts dd{margin:0;line-height:1.65}.project-meta-cluster{display:grid;gap:var(--space-xs)}.work-detail-layout{display:grid;gap:var(--space-lg);align-items:start}.work-detail-main{padding-bottom:var(--space-lg)}.work-detail-rail{--flow-space: var(--space-md)}.blog-feature,.blog-card,.blog-pagination__link{border:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised) 95%,white)}.blog-feature{display:grid;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 28%,transparent) 0,transparent 13rem),color-mix(in srgb,var(--surface-raised-strong) 94%,white)}.blog-feature__body,.blog-card__body,.blog-post,.blog-post__header{--flow-space: var(--space-sm)}.blog-feature__title,.blog-card__title,.blog-post__title{margin:0;font-family:var(--font-display);line-height:1.02;letter-spacing:-.03em}.blog-feature__title{font-size:clamp(2rem,4vw,3.2rem);max-width:14ch}.blog-card__title{font-size:clamp(1.4rem,3vw,1.85rem)}.blog-post__title{font-size:clamp(2.4rem,5vw,4.4rem);max-width:12ch}.blog-post__eyebrow{margin:0;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.blog-feature__excerpt,.blog-card__excerpt,.blog-post__excerpt{margin:0;max-width:var(--measure);color:var(--text-muted);line-height:1.72}.blog-feature__title a,.blog-card__title a{color:inherit;text-decoration:none}.blog-feature__title a:hover,.blog-card__title a:hover{color:var(--accent)}.blog-feature__actions{padding-top:var(--space-xs)}.blog-list{display:grid;gap:var(--space-md)}.blog-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md)}.blog-post{padding-block:var(--space-xl) var(--space-lg)}.prose{--flow-space: var(--space-md)}.prose :where(h1,h2,h3){font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;line-height:1.05}.prose h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-block-start:var(--space-2xl)}.prose h3{font-size:clamp(1.35rem,2.6vw,1.8rem);margin-block-start:var(--space-xl)}.prose :where(p,li,blockquote){max-width:var(--measure);line-height:1.78}.prose ul,.prose ol{padding-left:1.25rem}.prose a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.18em}.prose blockquote{margin:0;padding-left:var(--space-md);border-left:2px solid var(--border);color:var(--text-muted)}.prose code{font-family:var(--font-mono);font-size:.92em}.prose pre{max-width:min(100%,var(--measure-wide));padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-raised) 92%,white);overflow-x:auto}.prose hr{border-color:var(--border);margin-block:var(--space-xl)}.blog-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);padding-block:0 var(--space-2xl)}.blog-pagination__link{display:grid;gap:var(--space-2xs);min-height:100%;padding:var(--space-md);border-radius:var(--radius-md);color:inherit;text-decoration:none}.blog-pagination__link:hover{border-color:color-mix(in srgb,var(--accent) 26%,var(--border))}.blog-pagination__label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.blog-pagination__title{font-family:var(--font-display);font-size:1.2rem;line-height:1.12}@media(min-width:52rem){.home-hero{grid-template-columns:minmax(0,1.45fr) minmax(18rem,24rem);align-items:end}.home-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.about-layout,.work-detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(18rem,24rem)}.blog-feature{grid-template-columns:minmax(10rem,12rem) minmax(0,1fr);align-items:start}}@media(min-width:60rem){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:42rem){.site-header,.site-footer,.section-heading{align-items:start;flex-direction:column}.blog-pagination{grid-template-columns:1fr}}
