:root{color-scheme:dark;--canvas:oklch(8% 0 0);--canvas-raised:oklch(11.5% .012 248);--surface:oklch(16% .018 248);--surface-strong:oklch(22% .025 248);--ink:oklch(94% .01 248);--ink-soft:oklch(77% .026 248);--ink-muted:oklch(64% .03 248);--primary:oklch(69% .17 248);--primary-strong:oklch(62% .2 248);--green:oklch(78% .15 152);--amber:oklch(82% .14 86);--line:oklch(33% .04 248);--line-bright:oklch(52% .1 248);--danger-old-red-is-unused:oklch(58% .16 350);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--space-2xs:clamp(.35rem, .31rem + .2vw, .5rem);--space-xs:clamp(.6rem, .51rem + .43vw, .9rem);--space-sm:clamp(.9rem, .76rem + .7vw, 1.4rem);--space-md:clamp(1.25rem, 1.04rem + 1.06vw, 2rem);--space-lg:clamp(2rem, 1.58rem + 2.1vw, 3.5rem);--space-xl:clamp(3rem, 2.16rem + 4.2vw, 6rem);--space-2xl:clamp(4.5rem, 3.1rem + 7vw, 9.5rem);--container:min(1120px, calc(100vw - 32px));--ease-out:cubic-bezier(.22, 1, .36, 1);--font-ui:ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;--font-display-weight:690;--font-strong-weight:650;--font-label-weight:680;--display-tracking:-.03em;--display-line-height:1.02;--hero-title-size:clamp(2.75rem, 5.15vw, 4.05rem);--section-title-size:clamp(2rem, 3.8vw, 3.45rem);--project-title-size:clamp(1.14rem, .9vw + .98rem, 1.52rem);--hero-mobile-title-size:clamp(2.35rem, 13.4vw, 3.35rem)}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{background:radial-gradient(circle at 80% 18%, oklch(28% .09 248/.34), transparent 28rem), linear-gradient(180deg, var(--canvas) 0%, oklch(6% 0 0) 100%);min-width:320px;color:var(--ink);font-family:var(--font-ui);font-kerning:normal;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.page-shell{width:var(--container);margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:88px;padding:max(1rem, env(safe-area-inset-top)) 0 1rem;display:flex}.brand-mark,.site-nav,.hero-actions,.project-row ul{align-items:center;display:flex}.brand-mark{min-height:44px;color:var(--ink);font-size:.96rem;font-weight:var(--font-strong-weight);letter-spacing:-.01em;gap:.75rem}.brand-glyph{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--ink);background:oklch(18% .045 248);border:1px solid oklch(42% .11 248);place-items:center;display:grid}.site-nav{color:var(--ink-soft);gap:clamp(.9rem,2vw,1.8rem);font-size:.92rem;font-weight:600}.site-nav a{min-height:44px;transition:color .16s var(--ease-out);align-items:center;display:inline-flex}.site-nav a:hover{color:var(--ink)}.section-panel{isolation:isolate;position:relative}.hero{align-items:center;gap:var(--space-xl);min-height:min(760px,100svh - 88px);padding:var(--space-lg) 0 var(--space-xl);grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);display:grid}.hero:before{content:"";z-index:-1;filter:blur(22px);background:radial-gradient(circle,oklch(42% .12 248/.28),#0000 68%);border-radius:999px;height:20rem;position:absolute;inset:6% 48% auto -12%}.intro-line,.section-kicker,.project-type{color:var(--primary);font-size:.8rem;font-weight:var(--font-label-weight);letter-spacing:.08em;text-transform:uppercase;margin:0}.hero h1,.section-heading h2,.about-copy h2,.contact-section h2{color:var(--ink);font-weight:var(--font-display-weight);letter-spacing:var(--display-tracking);line-height:var(--display-line-height);text-wrap:balance;margin:0}.hero h1{max-width:12.8ch;margin-top:var(--space-xs);font-size:var(--hero-title-size)}.hero-deck{max-width:57ch;margin:var(--space-md) 0 0;color:var(--ink-soft);text-wrap:pretty;font-size:clamp(1.05rem,1vw + .85rem,1.35rem);line-height:1.62}.hero-actions{margin-top:var(--space-md);flex-wrap:wrap;gap:.8rem}.button{border-radius:var(--radius-sm);min-height:48px;font-size:.95rem;font-weight:var(--font-strong-weight);letter-spacing:-.01em;transition:transform .18s var(--ease-out), background-color .18s var(--ease-out), color .18s var(--ease-out), border-color .18s var(--ease-out);justify-content:center;align-items:center;padding:.84rem 1.1rem;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{border:1px solid var(--primary);background:var(--primary-strong);color:#fff}.button-primary:hover{background:var(--primary)}.button-quiet{border:1px solid var(--line);color:var(--ink);background:0 0}.button-quiet:hover{border-color:var(--line-bright);background:oklch(17% .03 248)}.profile-picture{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);object-fit:cover;border-radius:999px;justify-self:end;width:min(100%,430px);height:auto;display:block}.proof-strip{gap:var(--space-md);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-lg) 0;grid-template-columns:repeat(3,1fr);display:grid}.proof-strip p{color:var(--ink-soft);margin:0;font-size:clamp(.98rem,.55vw + .9rem,1.12rem);line-height:1.55}.work-section,.about-section,.contact-section{padding:var(--space-2xl) 0}.section-heading{align-items:end;gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:minmax(0,.72fr) minmax(280px,.58fr);display:grid}.section-heading h2,.about-copy h2,.contact-section h2{margin-top:var(--space-xs);font-size:var(--section-title-size)}.section-heading>p:last-child,.contact-section>p{color:var(--ink-soft);margin:0;font-size:1.05rem;line-height:1.7}.project-list{gap:1rem;display:grid}.project-row{align-items:center;gap:var(--space-md);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--canvas-raised);transition:border-color .18s var(--ease-out), background-color .18s var(--ease-out), transform .18s var(--ease-out);grid-template-columns:minmax(190px,.55fr) minmax(280px,1fr) minmax(210px,.58fr);padding:clamp(1.1rem,2.8vw,2rem);display:grid}.project-row:hover{border-color:var(--row-accent);background:var(--surface);transform:translateY(-2px)}.project-row-blue{--row-accent:var(--primary)}.project-row-white{--row-accent:var(--ink)}.project-row-green{--row-accent:var(--green)}.project-row h3,.principle-list h3{color:var(--ink);font-size:var(--project-title-size);letter-spacing:-.025em;margin:.35rem 0 0;line-height:1.15}.project-row p:not(.project-type){max-width:58ch;color:var(--ink-soft);margin:0}.project-row p:not(.project-type) a,.principle-list p a{color:color-mix(in oklch, var(--primary), var(--ink) 18%);text-decoration:underline;text-decoration-color:color-mix(in oklch, currentColor, transparent 34%);text-underline-offset:.18em;transition:color .16s var(--ease-out), text-decoration-color .16s var(--ease-out);text-decoration-thickness:.08em}.project-row p:not(.project-type) a:hover,.principle-list p a:hover{color:var(--ink);text-decoration-color:currentColor}.project-row ul{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;margin:0;padding:0;list-style:none}.project-row li{border:1px solid color-mix(in oklch, var(--row-accent), var(--canvas) 58%);color:var(--ink);font-size:.78rem;font-weight:var(--font-strong-weight);border-radius:999px;padding:.38rem .66rem}.about-section{gap:var(--space-xl);grid-template-columns:minmax(260px,.6fr) minmax(0,1fr);display:grid}.principle-list{gap:var(--space-md);display:grid}.principle-list article{border-top:1px solid var(--line);padding-top:var(--space-md)}.principle-list p{max-width:68ch;color:var(--ink-soft);margin:.8rem 0 0}.contact-section{align-items:end;gap:var(--space-md);border-top:1px solid var(--line);grid-template-columns:minmax(0,.8fr) minmax(260px,.58fr) auto;display:grid}.contact-section .button{white-space:nowrap}@media (width<=900px){.site-header,.hero,.section-heading,.about-section,.contact-section{grid-template-columns:1fr}.hero{min-height:auto;padding-top:var(--space-lg)}.profile-picture{justify-self:center;width:min(78vw,320px)}.proof-strip,.project-row{grid-template-columns:1fr}.project-row ul{justify-content:flex-start}.contact-section{align-items:start}}@media (width<=620px){.page-shell{width:min(100% - 24px,1120px)}.site-header{align-items:center;min-height:76px;padding-bottom:1rem}.site-nav{flex:auto;justify-content:space-between;gap:clamp(.7rem,4vw,1.2rem);width:auto}.hero h1{max-width:9.5ch;font-size:var(--hero-mobile-title-size)}.button{width:100%}.profile-picture{width:min(82vw,280px)}}@media (width<=360px){.site-header,.site-nav{gap:.5rem}}@media (width<=340px){.site-header{flex-wrap:wrap;row-gap:0;padding-bottom:.75rem}.site-nav{flex-basis:100%;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
