:root{--color-ink:#171714;--color-paper:#f7f5ef;--color-paper-bright:#fffdf8;--color-graphite:#5f5e58;--color-line:#d4cec2;--color-signal:#ff9d00;--color-signal-dark:#a95300;--color-field:#dce6df;--color-night:#101820;--color-orange:#ff9d00;--color-white:#fff;--surface-default:var(--color-paper);--surface-raised:var(--color-paper-bright);--surface-subtle:var(--color-field);--surface-inverse:var(--color-night);--text-primary:var(--color-ink);--text-secondary:var(--color-graphite);--text-inverse:var(--color-paper-bright);--text-inverse-muted:#8d8d88;--border-default:var(--color-line);--accent-primary:var(--color-signal);--accent-active:var(--color-signal-dark);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--content-max:72rem;--measure:42rem;--touch-target:2.75rem;--radius-sm:.25rem;--radius-md:.625rem;--font-sans:"Inter", "Helvetica Neue", Arial, sans-serif;--font-serif:"Cormorant Garamond", Georgia, serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--duration-fast:.12s;--duration-base:.2s;--ease-standard:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--surface-default);color:var(--text-primary);font:400 1rem/1.6 var(--font-sans);margin:0}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:focus-visible{outline:2px solid var(--color-signal);outline-offset:3px}.skip-link{z-index:100;background:var(--color-ink);color:var(--color-white);padding:.6rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.page-shell{width:min(100% - 2rem, var(--content-max));margin-inline:auto}.site-header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;min-height:5rem;display:flex}.wordmark{font:500 1.6rem/.9 var(--font-serif);letter-spacing:-.04em;text-decoration:none}.wordmark span,h1 span{color:var(--accent-primary)}nav{gap:clamp(1rem,3vw,2rem);display:flex}nav a{min-height:var(--touch-target);align-items:center;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}nav a:hover{text-decoration:underline}.eyebrow{font:500 .75rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0 0 1.5rem}.hero{grid-template-rows:auto 1fr;grid-template-columns:1.3fr 1fr;align-items:end;column-gap:clamp(2rem,8vw,8rem);min-height:calc(100svh - 5rem);padding-top:clamp(3rem,8vw,6rem);padding-bottom:clamp(8rem,13vw,11rem);display:grid}.hero>.eyebrow{grid-column:1/-1;align-self:start}h1{font:400 clamp(4.5rem, 12vw, 9rem)/.88 var(--font-serif);letter-spacing:-.055em;margin:0}h1 em,.section-heading em{font-weight:400}.hero__statement{padding-bottom:.7rem}.hero__statement h2{font:500 clamp(1.5rem, 3vw, 2.2rem)/1.15 var(--font-serif);margin:0 0 1.5rem}.hero__statement>p{max-width:34rem;color:var(--text-secondary);margin:0;font-size:1.05rem}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{min-height:var(--touch-target);border-radius:var(--radius-sm);transition:color var(--duration-base), background var(--duration-base), border-color var(--duration-base);border:1px solid;align-items:center;padding:.45rem .875rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.button--primary{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary)}.button--primary:hover{background:var(--accent-active);border-color:var(--accent-active)}.button--secondary{border-color:var(--border-default)}.button--secondary:hover{background:var(--surface-raised);border-color:var(--text-primary)}.button:active{transform:translateY(1px)}.section{border-top:1px solid var(--color-line);padding-block:clamp(5rem,10vw,9rem)}.section-heading{grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:clamp(3rem,7vw,6rem);display:grid}.section-heading .eyebrow{margin-top:.75rem}.section-heading h2,footer h2{font:400 clamp(2.8rem, 6vw, 5.5rem)/.93 var(--font-serif);letter-spacing:-.035em;margin:0}.project-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1rem;display:grid}.project-card{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;min-height:30rem;padding:clamp(1.4rem,2.5vw,2rem);display:flex}.project-card:nth-child(2){background:var(--surface-subtle);margin-top:3rem}.project-card:nth-child(3){background:var(--surface-inverse);color:var(--text-inverse);margin-top:6rem}.project-card:nth-child(3) .eyebrow,.project-card:nth-child(3) .project-card__meta,.project-card:nth-child(3) .project-card__number{color:var(--border-default)}.project-card__topline{justify-content:space-between;gap:1rem;display:flex}.project-card__number{font:400 .75rem/1.4 var(--font-mono);color:var(--color-graphite)}.project-card h3{font:500 2rem/1.05 var(--font-serif);margin:2.5rem 0 1.2rem}.project-card__description{margin:0}.project-card__meta{font:400 .75rem/1.6 var(--font-mono);color:var(--color-graphite);margin:auto 0 1.5rem;padding-top:2rem}.project-card__link,.project-card__pending{width:fit-content;font-size:.875rem;font-weight:500}.project-card__pending{color:var(--color-graphite)}.about{grid-template-columns:1.15fr 1fr;gap:clamp(3rem,8vw,8rem);display:grid}.about .section-heading{margin:0;display:block}.about__copy{padding-top:3rem}.about__copy>p:not(.skills){font:400 clamp(1.3rem, 2.4vw, 1.75rem)/1.45 var(--font-serif);margin:0 0 1.3rem}.skills{border-top:1px solid var(--color-line);color:var(--color-graphite);font:400 .8rem/1.8 var(--font-mono);margin:3rem 0 0;padding-top:1.5rem}.currently{background:var(--surface-subtle);grid-template-columns:1fr 1fr 2fr;align-items:start;gap:2rem;margin-block:1rem clamp(5rem,10vw,9rem);padding:clamp(3rem,6vw,5rem);display:grid}.currently h2{font:500 2rem/1 var(--font-serif);margin:-.25rem 0 0}.currently>p:last-child{max-width:32rem;margin:0}footer{margin-inline:calc((100vw - min(100vw - 2rem, var(--content-max))) / -2);padding:clamp(4rem,9vw,8rem) clamp(1.5rem,6vw,5rem) 2rem;padding-inline:max(calc((100vw - var(--content-max)) / 2 + 5rem), 2rem);background:var(--color-night);color:var(--color-paper-bright);grid-template-columns:2fr 1fr;gap:4rem;display:grid}footer .eyebrow{color:var(--color-line)}.footer__links{flex-direction:column;padding-top:2rem;display:flex}.footer__links a{border-bottom:1px solid #ffffff30;justify-content:space-between;min-height:3rem;text-decoration:none;display:flex}.footer__links a:hover{color:var(--color-signal)}.footer__base{color:var(--color-line);font:400 .7rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid #ffffff30;grid-column:1/-1;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;margin-top:5rem;padding-top:1.5rem;display:grid}.footer__base>:last-child{text-align:right}.footer__aside{color:var(--text-inverse-muted);text-transform:none;letter-spacing:.04em;font-size:.62rem}.footer__aside:after{content:"";background:var(--accent-primary);vertical-align:.05em;border-radius:50%;width:.35rem;height:.35rem;margin-left:.5rem;display:inline-block}@media (width<=760px){.page-shell{width:min(100% - 1.25rem, var(--content-max))}nav{gap:.8rem}nav a{font-size:.78rem}.hero{grid-template-columns:1fr;gap:4rem;min-height:auto;padding:3rem 0 6rem}h1{font-size:clamp(4.3rem,27vw,7rem)}.hero__statement{max-width:32rem}.section-heading{grid-template-columns:1fr;gap:0}.project-grid{grid-template-columns:1fr}.project-card{min-height:24rem}.project-card:nth-child(2),.project-card:nth-child(3){margin-top:0}.about{grid-template-columns:1fr}.about__copy{padding-top:0}.currently{grid-template-columns:1fr;gap:1rem}.currently .eyebrow{margin-bottom:1rem}footer{grid-template-columns:1fr;padding-inline:1.5rem}.footer__base{grid-column:auto;grid-template-columns:1fr auto}.footer__aside{grid-area:1/1/auto/-1}}@media (width<=380px){.wordmark{display:none}.site-header{justify-content:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
