/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist);--font-serif:var(--font-source-serif);--font-mono:var(--font-jetbrains-mono);--tracking-normal:0em;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-border:var(--line);--color-dim:var(--dim);--text-tag:.72rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.mt-\[0\.6rem\]{margin-top:.6rem}.mt-\[1\.2rem\]{margin-top:1.2rem}.mb-0{margin-bottom:0}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.list-none{list-style-type:none}.flex-wrap{flex-wrap:wrap}.gap-\[0\.4rem\]{gap:.4rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--color-border)}.p-0{padding:0}.px-\[0\.45rem\]{padding-inline:.45rem}.py-\[0\.15rem\]{padding-block:.15rem}.font-mono{font-family:var(--font-mono)}.text-tag{font-size:var(--text-tag)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.text-dim{color:var(--color-dim)}.italic{font-style:italic}}:root{color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:light-dark(#fff,#10120f);--surface:light-dark(#f4f5f1,#151713);--surface-raised:light-dark(#fff,#1b1d18);--line:light-dark(#e0e2dc,#262822);--line-strong:light-dark(#c9ccc3,#3a3d34);--text:light-dark(#1b1c19,#f0f1ed);--muted:light-dark(#5e625b,#a5a79f);--dim:light-dark(#666a61,#8d9087);--accent:#aaf028;--accent-ink:light-dark(#416b20,#aaf028);--accent-contrast:#10120f;--focus:light-dark(#365708,#bbf255);--font-body:var(--font-geist);--font-serif:var(--font-source-serif);--font-mono:var(--font-jetbrains-mono);--tracking-mono:.02em;--text-mono:.72rem;--h1-size:clamp(2.15rem, 4vw + 1rem, 3.6rem);--h1-size-page:clamp(2.15rem, 4vw + .8rem, 3.2rem)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html{background:var(--bg);scrollbar-gutter:stable;scroll-behavior:smooth;overflow-y:scroll}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);margin:0;font-size:1rem;line-height:1.7}h1,h2,h3,.project-card__visual-name{letter-spacing:-.03em}a{color:inherit;text-decoration:none;transition:color .14s ease-out}a:hover{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}::selection{color:var(--accent-contrast);background:var(--accent)}.site-logo,.site-nav a,.site-footer__bottom,.eyebrow,.section-title,.section-heading h2,.section-link,.button-link,.project-card__visual-label,.project-card__visual-stack,.project-card__tags li,.writing-card__date,.writing-card__duration,.writing-article-meta,.about-intro__location,.about-profile__monogram,.about-profile__role,.experience-row__period,.toolkit-list li,.project-back,.writing-back,.smaller-row__name{font-family:var(--font-mono);letter-spacing:var(--tracking-mono)}.prose pre,.prose .astro-code,.prose :not(pre)>code{letter-spacing:0}.site-shell{flex-direction:column;width:100%;min-height:100vh;display:flex}.page-content{flex:1;width:min(100% - 2rem,60rem);margin-inline:auto;padding-block:4rem 4.5rem;animation:.36s ease-out both page-enter}.skip-link{z-index:10;color:var(--bg);background:var(--focus);padding:.6rem .8rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--bg);min-height:3.25rem;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg) 82%, transparent)}}.site-header{backdrop-filter:blur(14px)saturate(1.15)}.site-header__inner{width:min(100% - 2rem,60rem);min-height:inherit;justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;display:flex}.site-logo{color:var(--text);flex:none;align-items:center;font-size:.78rem;font-weight:400;display:inline-flex}.status-mark{background:var(--accent);flex:none;width:.45rem;height:.45rem;display:inline-block}.site-logo__mark{width:1.25rem;height:1.25rem;margin-right:.55rem;display:block}.eyebrow .status-mark{animation:3s ease-out infinite mark-pulse}@keyframes mark-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 35%, transparent)}60%,to{box-shadow:0 0 0 .3rem #0000}}.site-header__actions{align-items:center;gap:.55rem;margin-left:auto;display:flex}.site-nav{align-items:center;gap:.35rem;display:flex}.site-nav a{color:var(--muted);text-transform:uppercase;padding:.45rem .65rem;font-size:.7rem;line-height:1}.site-nav a:hover{color:var(--text)}.site-nav a[aria-current=page]{color:var(--accent-contrast);background:var(--accent)}.theme-toggle{width:1.8rem;height:1.8rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;flex:none;place-items:center;padding:0;transition:color .14s ease-out;display:grid}.theme-toggle:hover,.theme-toggle[data-theme-mode=light],.theme-toggle[data-theme-mode=dark]{color:var(--accent-ink)}.theme-toggle svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem;display:block}.theme-toggle svg[hidden]{display:none}.site-footer{border-top:1px solid var(--line);color:var(--dim);padding:3.8rem 1rem 0;font-size:.8rem}.site-footer__inner{width:min(100%,60rem);margin-inline:auto}.site-footer__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 2rem;display:flex}.site-footer__prompt{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:700;line-height:1.1}.site-footer__contact{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;display:flex}.site-footer__email{color:var(--text);background:linear-gradient(var(--accent), var(--accent)) no-repeat 0 100% / 100% .1em;font-family:var(--font-mono);overflow-wrap:anywhere;padding-inline:.1em;font-size:.95rem;transition:background-size .26s cubic-bezier(.23,1,.32,1),color .16s ease-out}@media (hover:hover){.site-footer__email:hover{color:var(--accent-contrast);background-size:100% 100%}}.site-footer__email:focus-visible{color:var(--accent-contrast);background-size:100% 100%}.site-footer__bottom{font-size:var(--text-mono);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2.2rem;display:flex}.site-footer__links{flex-wrap:wrap;gap:1.5rem;display:flex}.site-footer__links a{color:var(--muted)}.site-footer__meta{color:var(--muted);letter-spacing:var(--tracking-mono);flex-wrap:wrap;gap:.4rem 1.5rem;margin:0;display:flex}.site-footer__meta a{color:var(--text)}.site-footer__wordmark{width:100%;height:auto;fill:var(--line-strong);font-family:var(--font-body);margin-top:2.2rem;font-size:250px;font-weight:700;transition:fill .26s ease-out;display:block}.site-footer__wordmark text{stroke:none}@media (hover:hover){.site-footer__wordmark:hover{fill:var(--accent)}}.site-footer__legal{border-top:1px solid var(--line);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);margin:0;padding:.7rem 0 1rem}.eyebrow{color:var(--muted);font-size:var(--text-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0 0 1rem;line-height:1.5;display:flex}.hero h1,.projects-page h1,.about-page h1,.project-page h1,.writing-intro h1,.writing-article h1{max-width:18ch;color:var(--text);font-size:var(--h1-size-page);margin:0;font-weight:700;line-height:1.2}.hero h1{font-size:var(--h1-size)}.highlight{color:var(--accent-contrast);background:linear-gradient(var(--accent), var(--accent)) no-repeat 0 100% / 100% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.08em;animation:.7s cubic-bezier(.23,1,.32,1) .25s both highlight-swipe}.hero{max-width:48rem;margin-bottom:4.25rem}.hero>.eyebrow,.section-title,.section-heading h2{font-size:var(--text-mono);text-transform:uppercase;align-items:center;gap:.45rem;font-weight:400;display:flex}.hero>.eyebrow .status-mark,.section-title .status-mark,.section-heading .status-mark{width:.42rem;height:.42rem}.hero__lede{max-width:55ch;color:var(--muted);margin:1.3rem 0 0;font-size:.95rem;line-height:1.6}.hero__actions{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.button-link{border:1px solid var(--line);min-height:2.2rem;color:var(--text);align-items:center;gap:.65rem;padding:.45rem .8rem;font-size:.75rem;font-weight:600;transition:transform .14s ease-out,background-color .14s ease-out,filter .14s ease-out;display:inline-flex}.button-link--primary{border-color:var(--accent);color:var(--accent-contrast);background:var(--accent)}.button-link--primary:hover{color:var(--accent-contrast);filter:brightness(.94)}.section-block{max-width:60rem}.section-title{color:var(--text);margin:0 0 1.2rem}.section-heading{justify-content:space-between;align-items:baseline;gap:1.5rem;padding-bottom:.7rem;display:flex}.section-heading h2{color:var(--text);margin:0}.section-link{color:var(--dim);font-size:var(--text-mono)}.section-link span{color:var(--accent-ink)}.empty-state{color:var(--dim);font-size:.85rem}.home-work,.home-writing{margin-bottom:4rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.project-grid--single{grid-template-columns:minmax(0,1fr)}.project-grid--single .project-card__link{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);align-items:stretch;gap:1.5rem}.project-card{min-width:0}.project-card__link{color:var(--text);gap:.8rem;display:grid}.project-card__visual{border:1px solid var(--line);background:var(--surface);flex-direction:column;justify-content:space-between;min-height:14rem;padding:1rem;display:flex;position:relative;overflow:hidden}.project-card__visual-label,.project-card__visual-stack{z-index:1;color:var(--dim);font-size:var(--text-mono);position:relative}.project-card__visual-name{z-index:1;color:var(--text);font-size:clamp(1.9rem,4vw,3.2rem);font-weight:700;line-height:1;position:relative}.project-card__visual-name span{color:var(--accent-ink)}.project-card__visual-stack{align-items:center;display:flex}.project-card__visual-stack span+span:before{background:var(--accent);content:"";vertical-align:.08em;width:.32rem;height:.32rem;margin-inline:.55rem;display:inline-block}.project-card__details{min-width:0}.project-card__heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.project-card__heading h3{margin:0;font-size:1.05rem;font-weight:600}.content-row__description{margin-top:.4rem;font-size:.85rem;line-height:1.6}.project-card__tags{flex-wrap:wrap;gap:.35rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.project-card__tags li{border:1px solid var(--line);color:var(--dim);font-size:var(--text-mono);padding:.15rem .35rem}.project-card__shape{z-index:0;pointer-events:none;position:absolute;inset:0}.project-card__shape span{border:1px solid var(--line-strong);display:block;position:absolute}.project-card__shape--orbit span:first-child,.project-card__shape--orbit span:nth-child(2){aspect-ratio:1;border-radius:50%}.project-card__shape--orbit span:first-child{width:13rem;top:8%;right:-2rem}.project-card__shape--orbit span:nth-child(2){width:8rem;top:20%;right:1.1rem}.project-card__shape--orbit span:nth-child(3){aspect-ratio:1;background:var(--accent);border:0;border-radius:50%;width:.55rem;top:47%;right:4.6rem}.project-card__shape--network:before,.project-card__shape--network:after{background:var(--line-strong);content:"";width:42%;height:1px;position:absolute;left:54%}.project-card__shape--network:before{top:20%;transform:rotate(-24deg)}.project-card__shape--network:after{top:35%;transform:rotate(22deg)}.project-card__shape--network span{aspect-ratio:1;background:var(--surface);border-radius:50%;width:.65rem}.project-card__shape--network span:first-child{top:14%;left:55%}.project-card__shape--network span:nth-child(2){border-color:var(--accent-ink);background:var(--accent);top:27%;right:12%}.project-card__shape--network span:nth-child(3){top:38%;right:25%}.project-card__shape--grid span:first-child{width:8rem;height:6rem;top:13%;right:10%}.project-card__shape--grid span:nth-child(2){border-color:var(--accent-ink);width:5rem;height:4rem;top:28%;right:22%}.project-card__shape--grid span:nth-child(3){background:var(--accent);width:2.2rem;height:2.2rem;bottom:15%;right:15%}.project-card__shape--flow span{border-radius:50%;width:8.5rem;height:2.2rem;right:9%}.project-card__shape--flow span:first-child{top:22%;transform:rotate(-24deg)}.project-card__shape--flow span:nth-child(2){border-color:var(--accent-ink);top:39%;right:18%;transform:rotate(18deg)}.project-card__shape--flow span:nth-child(3){width:5.5rem;top:57%;right:6%;transform:rotate(-12deg)}.projects-page h1{max-width:25ch;font-size:clamp(2.15rem,3.5vw + 1rem,3.2rem)}.projects-page>.hero__lede{max-width:55ch;margin:1rem 0 2.4rem;font-size:.92rem}.smaller-projects{margin-top:4rem}.smaller-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.smaller-row{color:var(--text);border-radius:2px;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);align-items:baseline;gap:1rem;margin-block:-1px;padding:1rem .55rem;transition:color .14s ease-out,background-color .14s ease-out;display:grid}.smaller-list li{border-bottom:1px solid var(--line)}.smaller-row__name{font-size:.8rem;font-weight:600}.smaller-row__description{color:var(--muted);font-size:.9rem}.smaller-row:hover{color:var(--accent-contrast);background:var(--accent)}.smaller-row:hover .smaller-row__description{color:var(--accent-contrast)}.writing-intro{max-width:43rem;padding:0 0 1.7rem}.writing-intro h1{line-height:1.08}.writing-intro>p:not(.eyebrow){max-width:55ch;color:var(--muted);margin:.8rem 0 0;font-size:.9rem;line-height:1.7}.writing-list{display:grid}.writing-index .writing-list{border-top:1px solid var(--line)}.writing-index .empty-state{margin:1.2rem 0}.writing-card{border-bottom:1px solid var(--line)}.writing-card__link{color:var(--text);border-radius:2px;grid-template-columns:minmax(7rem,9rem) minmax(0,1fr) auto;align-items:baseline;gap:1rem;margin-block:-1px;margin-inline:-.55rem;padding:1.1rem .55rem;transition:color .14s ease-out,background-color .14s ease-out;display:grid}.writing-card__date,.writing-card__duration{color:var(--dim);font-size:var(--text-mono)}.writing-card__duration{white-space:nowrap}.writing-card__title{margin:0;font-size:1rem;font-weight:600}.writing-card__description{max-width:62ch;color:var(--muted);margin:.25rem 0 0;font-size:.9rem;line-height:1.55}.writing-card__link:hover,.writing-card__link:focus-visible{color:var(--accent-contrast);background:var(--accent)}.writing-card__link:hover :is(.writing-card__date,.writing-card__title,.writing-card__description,.writing-card__duration),.writing-card__link:focus-visible :is(.writing-card__date,.writing-card__title,.writing-card__description,.writing-card__duration){color:var(--accent-contrast)}.writing-article{max-width:40rem;margin-inline:auto;padding-top:.5rem}.writing-article h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.08}.writing-article-header{border-bottom:1px solid var(--line);padding-bottom:1.4rem}.writing-article-meta{color:var(--dim);font-size:var(--text-mono);margin:0 0 .8rem}.writing-article-meta span{color:var(--accent-ink);padding-inline:.25rem}.writing-article-lede{max-width:58ch;color:var(--muted);font-family:var(--font-serif);letter-spacing:0;margin:.8rem 0 0;font-size:1.05rem;line-height:1.65}.writing-article-body{max-width:40rem;color:var(--text);margin:1.5rem 0 0;font-size:1.05rem;line-height:1.8}.writing-article-body h2{margin-top:2.5rem}.writing-article-source{border-top:1px solid var(--line);max-width:40rem;color:var(--muted);margin-top:2rem;padding-top:1rem;font-size:.9rem}.prose{max-width:70ch;color:var(--muted);margin-top:3rem;font-size:1rem;line-height:1.8}.writing-article-body,.project-page .prose{font-family:var(--font-serif);letter-spacing:0}.prose h2,.prose h3{color:var(--text);font-family:var(--font-body);margin:2.5rem 0 .6rem;font-size:1.4rem;font-weight:700;line-height:1.25}.prose h3{font-size:1.15rem}.prose p,.prose ul,.prose ol{margin-block:.9rem}.prose li+li{margin-top:.45rem}.prose a{color:var(--accent-ink);text-underline-offset:.25em;text-decoration:underline}.prose blockquote{border-left:2px solid var(--accent);color:var(--text);margin:1.5rem 0;padding-left:1rem;font-style:italic}.prose pre,.prose .astro-code{border:1px solid var(--line);font-family:var(--font-mono);margin:1.35rem 0;padding:1rem 1.1rem;font-size:.82rem;font-style:normal;line-height:1.75;overflow-x:auto;background:var(--surface)!important}.prose :not(pre)>code{border:1px solid var(--line);color:var(--text);background:var(--surface);font-family:var(--font-mono);padding:.1rem .3rem;font-size:.85em}.prose img{width:100%;height:auto;margin-block:1.5rem;display:block}.project-page{max-width:46rem;margin-inline:auto;padding-top:.5rem}.project-page>header{border-bottom:1px solid var(--line);padding-bottom:1.4rem}.project-page>header .eyebrow{align-items:center;gap:.45rem;display:flex}.project-page h1{max-width:16ch;font-size:clamp(2.15rem,4vw + .8rem,3.2rem)}.project-page .hero__lede{max-width:58ch;margin-top:.9rem;font-size:1rem}.project-page .prose{max-width:42rem;margin:1.8rem 0 0;font-size:1.02rem}.project-page .prose h2{align-items:center;gap:.55rem;font-size:1rem;display:flex}.project-page .prose h2:before{background:var(--accent);content:"";width:.8rem;height:2px}.project-back,.writing-back{color:var(--muted);font-size:var(--text-mono);text-transform:uppercase;margin-bottom:2.2rem;display:inline-block}.about-intro{grid-template-columns:minmax(0,1fr) minmax(14rem,22rem);align-items:start;gap:clamp(2rem,6vw,5rem);margin-bottom:4.5rem;display:grid}.about-intro__copy{max-width:43rem}.about-intro h1{max-width:16ch}.about-intro .hero__lede{max-width:55ch}.about-intro__location{color:var(--dim);font-size:var(--text-mono);margin:1.5rem 0 0}.about-profile{aspect-ratio:4/5;border:1px solid var(--line);background:var(--surface);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.35rem;padding:1rem;transition:transform .28s cubic-bezier(.23,1,.32,1);display:flex;position:relative;transform:rotate(2deg)}.about-profile__monogram{color:var(--accent-ink);margin-bottom:auto;font-size:5.5rem;line-height:1}.about-profile__name{color:var(--text);font-size:.95rem;font-weight:600}.about-profile__role{color:var(--muted);font-size:var(--text-mono);text-transform:uppercase}.about-values,.about-history,.about-education,.about-toolkit{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:.8rem}.values-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.values-grid article{border-top:2px solid var(--accent);padding-top:.8rem}.values-grid h3{margin:0;font-size:.9rem;font-weight:600}.values-grid p{color:var(--muted);margin:.45rem 0 0;font-size:.85rem;line-height:1.6}.experience-list{margin:0;padding:0;list-style:none;display:grid}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,9rem) minmax(12rem,1fr) minmax(12rem,1.2fr);align-items:baseline;gap:1rem;padding:.8rem 0;font-size:.85rem;display:grid}.experience-row__period{color:var(--dim);font-size:var(--text-mono);white-space:nowrap}.experience-row strong{font-weight:600}.experience-row>span:last-child{color:var(--muted);text-align:right}.toolkit-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.toolkit-list li{border:1px solid var(--line);color:var(--muted);padding:.25rem .45rem;font-size:.75rem}.home-phases{margin-bottom:4rem}.phase-list,.trust-list{margin:0;padding:0;list-style:none}.phase-list li,.trust-list li{border-top:2px solid var(--accent);padding-top:.8rem}.phase-list h3{margin:0;font-size:.9rem;font-weight:600}.phase-list p{color:var(--muted);margin:.45rem 0 0;font-size:.85rem;line-height:1.6}.trust-list{margin-bottom:1.5rem}.trust-list strong{letter-spacing:-.03em;font-size:1.5rem;font-weight:700;line-height:1.2;display:block}.trust-list span{color:var(--muted);margin-top:.35rem;font-size:.85rem;line-height:1.6;display:block}.services-copy{max-width:60ch;color:var(--muted);margin:0;font-size:.95rem;line-height:1.6}.services-copy a,.contact-inline-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent-ink);-webkit-text-decoration-color:var(--accent-ink);text-decoration-color:var(--accent-ink);text-underline-offset:.25em;text-decoration-thickness:2px}.services-copy a:hover,.contact-inline-link:hover{color:var(--text);-webkit-text-decoration-color:var(--text);-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.services-section{margin-top:4rem}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:.9rem 0;font-size:.95rem;font-weight:600}.faq details p{max-width:none;color:var(--muted);margin:0 0 1rem;padding-right:2.4rem;font-size:.9rem;line-height:1.7}.project-cta{max-width:42rem;color:var(--accent-contrast);background:var(--accent);border:0;margin-top:3rem;padding:1.7rem;display:block}.project-cta p{max-width:none;color:inherit;letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,4.5vw,2.3rem);font-weight:700;line-height:1.15}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){.site-header__inner{width:min(100% - 1.5rem,60rem)}.page-content{width:min(100% - 1.5rem,60rem);padding-block:3.5rem 4.5rem}.project-grid--single .project-card__link{grid-template-columns:minmax(0,1fr) minmax(13rem,.9fr);gap:1rem}.about-intro{grid-template-columns:minmax(0,1fr) minmax(11rem,16rem);gap:1.5rem}.experience-row{grid-template-columns:minmax(6rem,8rem) minmax(0,1fr)}.experience-row>span:last-child{text-align:left;grid-column:2}}@media (width<=560px){.site-header__inner{gap:.3rem;width:calc(100% - 1rem);min-height:3rem;padding-block:.45rem}.site-header__actions{gap:.2rem;min-width:0}.site-nav{gap:0;min-width:0}.site-nav a{padding:.7rem .3rem}.theme-toggle{width:1.65rem;height:1.65rem}.page-content{width:calc(100% - 1.5rem);padding-block:2.7rem 3.5rem}.hero{margin-bottom:3.2rem}.hero__lede{font-size:.95rem}.hero__actions{flex-direction:column;align-items:stretch;margin-top:1.25rem}.hero__actions .button-link{justify-content:space-between;min-height:2.75rem}.project-grid,.project-grid--single,.project-grid--single .project-card__link{grid-template-columns:minmax(0,1fr)}.project-card__visual{min-height:12rem}.section-heading{align-items:center}.writing-card__link{grid-template-columns:minmax(0,1fr) auto;gap:.35rem .8rem;padding-block:.9rem}.writing-card__date{grid-column:1}.writing-card__body{grid-area:2/1}.writing-card__duration{grid-area:1/2/span 2}.smaller-row{grid-template-columns:minmax(0,1fr);gap:.2rem}.about-intro{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-bottom:3.2rem}.about-profile{aspect-ratio:auto;min-height:9rem}.about-profile__monogram{font-size:3.5rem}.values-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.experience-row{grid-template-columns:minmax(0,1fr);gap:.35rem}.experience-row>span:last-child{grid-column:1}.site-footer{padding:2.7rem .75rem 1.2rem}.site-footer__bottom{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.5rem}.site-logo{font-size:0}}@media (width>=375px) and (width<=560px){.theme-toggle{width:2rem;height:2rem}}@keyframes highlight-swipe{0%{color:var(--text);background-size:0% 100%}to{color:var(--accent-contrast);background-size:100% 100%}}.button-link:active{transform:scale(.97)}.button-link span{transition:transform .2s cubic-bezier(.23,1,.32,1);display:inline-block}@media (hover:hover){.button-link:hover span{transform:translate(3px)}}.js [data-reveal]{transition:opacity .52s cubic-bezier(.23,1,.32,1),transform .52s cubic-bezier(.23,1,.32,1)}.js [data-reveal]:not(.is-visible){opacity:0;transform:translateY(14px)}.phases{border-block:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.phase{flex-direction:column;padding:1.6rem 1.5rem 1.6rem 0;display:flex}.phase+.phase{border-left:1px solid var(--line-strong);padding-left:1.5rem}.phase__step{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);margin-bottom:1rem}.phase h3{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.phase p{color:var(--muted);margin:.55rem 0 0;font-size:.9rem;line-height:1.6}.phase .phase__output{color:var(--text);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;margin-top:auto;padding-top:1.2rem}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin:0;padding:0;list-style:none;display:grid}.work-tile:first-child:nth-last-child(3){grid-column:1/-1}.work-tile__link{isolation:isolate;border:1.5px solid var(--text);height:100%;min-height:19rem;color:var(--text);background:var(--surface-raised);--tile-bg:var(--surface-raised);flex-direction:column;gap:.5rem;padding:1.3rem;transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s cubic-bezier(.23,1,.32,1);display:flex;position:relative}.work-tile:first-child .work-tile__link{--tile-bg:var(--accent);border-color:var(--accent);color:var(--accent-contrast);background:var(--accent)}.work-tile__top{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.work-tile__shape{z-index:-1;fill:none;opacity:.35;stroke:currentColor;stroke-linejoin:round;stroke-width:1.5px;width:9rem;height:9rem;transition:transform .5s cubic-bezier(.23,1,.32,1);position:absolute;top:1.4rem;right:4.6rem}.work-tile__shape .solid{fill:currentColor}.work-tile__arrow{border:1.5px solid;border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;transition:background-color .2s ease-out,color .2s ease-out;display:grid}.work-tile__arrow svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.6px;transition:transform .24s cubic-bezier(.23,1,.32,1)}.work-tile__title{letter-spacing:-.04em;margin-top:auto;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.05}.work-tile__description{color:var(--muted);font-size:.9rem}.work-tile:first-child .work-tile__description{color:inherit}.work-tile__tags{flex-wrap:wrap;gap:.4rem;margin-top:.7rem;display:flex}.work-tile__tags span{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);border:1px solid;padding:.1rem .5rem}.work-tile__link:focus-visible{outline-offset:3px}.work-tile__link:focus-visible .work-tile__arrow{background:currentColor}.work-tile__link:focus-visible .work-tile__arrow svg{stroke:var(--tile-bg)}@media (hover:hover){.work-tile__link:hover{color:var(--text);box-shadow:.4rem .4rem 0 var(--accent);transform:translate(-.2rem,-.2rem)}.work-tile:first-child .work-tile__link:hover{color:var(--accent-contrast);box-shadow:.4rem .4rem 0 var(--text)}.work-tile__link:hover .work-tile__shape{transform:rotate(8deg)scale(1.05)}.work-tile__link:hover .work-tile__arrow{background:currentColor}.work-tile__link:hover .work-tile__arrow svg{stroke:var(--tile-bg);transform:translate(1px,-1px)}}.feature-post{border:1.5px solid var(--text);color:var(--bg);background:var(--text);flex-direction:column;gap:1rem;padding:clamp(1.4rem,4vw,2.4rem);transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s cubic-bezier(.23,1,.32,1);display:flex}.feature-post__meta{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;display:flex}.feature-post__badge{color:var(--accent-contrast);background:var(--accent);padding:.1rem .5rem;font-weight:700}.feature-post__title{max-width:24ch;font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(1.9rem,5vw,3.2rem);font-weight:600;line-height:1.1}.feature-post__description{opacity:.8;max-width:52ch;font-size:1rem;line-height:1.6}.feature-post__cta{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.3em;margin-top:.4rem;text-decoration-thickness:2px}.feature-post:focus-visible{outline-offset:3px}@media (hover:hover){.feature-post:hover{color:var(--bg);box-shadow:.4rem .4rem 0 var(--accent);transform:translate(-.2rem,-.2rem)}}.feature-post+.writing-list{margin-top:1.4rem}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:0 0 2.2rem;padding:0;list-style:none;display:grid}.metrics strong{color:var(--text);letter-spacing:-.05em;font-size:clamp(3.2rem,9vw,5.5rem);font-weight:700;line-height:1;display:block}.metrics span{max-width:24ch;color:var(--muted);margin-top:.8rem;font-size:.85rem;line-height:1.5;display:block}.toolbox{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:1.6rem 1.2rem;margin:1.6rem 0 0;padding:0;list-style:none;display:grid}.toolbox li{flex-direction:column;align-items:flex-start;gap:.7rem;display:flex}.toolbox__name{border:1px solid var(--text);background:var(--surface-raised);font-family:var(--font-mono);letter-spacing:var(--tracking-mono);padding:.35rem .75rem;font-size:.85rem;font-weight:600;transform:rotate(-1.5deg)}.toolbox li:nth-child(2n) .toolbox__name{transform:rotate(1.2deg)}.toolbox__text{color:var(--muted);font-size:.85rem;line-height:1.55}.stickers{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem 1rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=760px){.stickers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.stickers{grid-template-columns:minmax(0,1fr)}}.stickers li{border:1px solid var(--text);color:var(--text);background:var(--surface-raised);font-family:var(--font-mono);letter-spacing:var(--tracking-mono);text-align:center;padding:.6rem .8rem;font-size:.78rem;transition:transform .22s cubic-bezier(.23,1,.32,1),background-color .14s ease-out}.stickers li:nth-child(odd){transform:rotate(-.8deg)}.stickers li:nth-child(2n){transform:rotate(.6deg)}.stickers li:nth-child(3n){transform:rotate(1deg)}@media (hover:hover){.stickers li:hover{background:var(--text);color:var(--bg);transform:rotate(0)translateY(-3px)}}.home-trust .stickers{margin-top:.5rem}.notes{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.4rem;padding-top:.6rem;display:grid}.note{border:1px solid var(--line);background:var(--surface);padding:1.4rem 1.1rem 1.3rem;transition:transform .28s cubic-bezier(.23,1,.32,1);position:relative}.note:first-child{transform:rotate(-1.2deg)}.note:nth-child(2){transform:rotate(.9deg)translateY(.9rem)}.note:nth-child(3){transform:rotate(-.6deg)}.note:before,.about-profile:before{background:var(--accent);content:"";width:2.8rem;height:.9rem;position:absolute;top:-.5rem;left:1rem;transform:rotate(-3deg)}.note__index{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-mono);margin-bottom:.7rem;display:block}.note h3{margin:0;font-size:1.15rem;font-weight:700;line-height:1.25}.note p{color:var(--muted);margin:.5rem 0 0;font-size:.88rem;line-height:1.6}@media (hover:hover){.note:hover,.about-profile:hover{transform:rotate(0)translateY(-3px)}}.timeline .experience-row{border-bottom:0;padding-left:1.7rem;position:relative}.timeline .experience-row:before{background:var(--line-strong);content:"";width:.55rem;height:.55rem;position:absolute;top:1.2rem;left:0}.timeline .experience-row:after{background:var(--line);content:"";width:2px;position:absolute;top:1.9rem;bottom:-.5rem;left:calc(.275rem - 1px)}.timeline .experience-row:last-child:after{display:none}.timeline .experience-row:first-child:before{background:var(--accent);animation:3s ease-out infinite mark-pulse}.edu-path{position:relative}.edu-path__trail{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.edu-path__trail path{fill:none;stroke:var(--accent-ink);stroke-dasharray:2 8;stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.edu-path__stops{grid-template-rows:repeat(4,1fr);min-height:34rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.edu-stop{text-align:right;justify-content:flex-end;align-items:center;padding-right:calc(62% + 1.8rem);display:flex;position:relative}.edu-stop:nth-child(2n){text-align:left;justify-content:flex-start;padding-left:calc(62% + 1.8rem);padding-right:0}.edu-stop:before{border:2px solid var(--accent-ink);background:var(--bg);content:"";border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:50%;left:38%;transform:translate(-50%,-50%)}.edu-stop:nth-child(2n):before{left:62%}.edu-stop:first-child:before{background:var(--accent);animation:3s ease-out infinite mark-pulse}.edu-stop__text{flex-direction:column;gap:.15rem;display:flex}.edu-stop__text strong{font-size:1rem;line-height:1.3}.edu-stop__text>span:last-child{color:var(--muted);font-size:.85rem}.offers{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.4rem;margin-top:1.5rem;display:grid}.offer{border:1.5px solid var(--text);background:var(--surface-raised);flex-direction:column;padding:1.4rem;display:flex}.offer--core{box-shadow:.35rem .35rem 0 var(--accent)}.offer h3{margin:0;font-size:1.15rem;font-weight:700}.offer__kind{border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;align-self:flex-start;margin:0 0 .7rem;padding:.1rem .5rem}.offer--core .offer__kind{border-color:var(--accent);color:var(--accent-contrast);background:var(--accent)}.offer__price{letter-spacing:-.04em;margin:.9rem 0 0;font-size:clamp(2rem,5vw,2.8rem);font-weight:700;line-height:1.05}.offer__duration{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);margin:.35rem 0 0}.offer__pitch{margin:1.1rem 0 0;font-size:.95rem;font-weight:600;line-height:1.45}.offer__label{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;margin:1.2rem 0 .3rem}.offer__list{margin:0;padding:0;list-style:none}.offer__list li{padding-left:1.1rem;font-size:.88rem;line-height:1.55;position:relative}.offer__list li+li{margin-top:.2rem}.offer__list li:before{background:var(--accent);content:"";width:.45rem;height:.45rem;position:absolute;top:.55em;left:0}.offer__line{color:var(--muted);margin:0;font-size:.88rem;line-height:1.55}.offer__line:last-of-type{margin-bottom:1.3rem}.offer .button-link{align-self:flex-start;margin-top:1rem}.offer__more{border-top:1px solid var(--line);margin-top:auto}.offer__more summary,.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.offer__more summary::-webkit-details-marker{display:none}.faq summary::-webkit-details-marker{display:none}.offer__more summary{color:var(--text);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;padding:.8rem 0}.offer__more summary:after,.faq summary:after{color:var(--accent-ink);font-family:var(--font-mono);content:"+";font-size:1.3rem;line-height:1;transition:transform .22s cubic-bezier(.23,1,.32,1)}.offer__more[open] summary:after,.faq details[open] summary:after{transform:rotate(45deg)}.offer__more dl{margin:0 0 .6rem}.offer__more dl>div{border-top:1px solid var(--line);padding:.5rem 0;font-size:.82rem;line-height:1.55}.offer__more dt{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase}.offer__more dd{color:var(--muted);margin:0}.faq summary:hover{color:var(--accent-ink)}.project-cta .project-cta__sub{letter-spacing:0;max-width:40ch;margin-top:.5rem;font-size:.9rem;font-weight:400;line-height:1.5}.project-cta__link{border-bottom:2px solid;gap:.6rem;margin-top:1.2rem;font-size:.85rem;font-weight:600;display:inline-flex}.project-cta__link:hover{color:inherit}.project-cta__link span{transition:transform .2s cubic-bezier(.23,1,.32,1)}@media (hover:hover){.project-cta__link:hover span{transform:translate(4px)}}.contact-links{border-top:1px solid var(--line);margin:2.8rem 0 0;padding:0;list-style:none}.contact-links a{border-bottom:1px solid var(--line);grid-template-columns:9rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.2rem 0;display:grid}.contact-links__label{color:var(--text);letter-spacing:-.03em;font-size:1.5rem;font-weight:700}.contact-links__handle{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:var(--tracking-mono)}.contact-links__arrow{font-size:1.5rem;transition:transform .24s cubic-bezier(.23,1,.32,1)}@media (hover:hover){.contact-links a:hover .contact-links__arrow{transform:translate(3px,-3px)}}.not-found h1{max-width:18ch;font-size:var(--h1-size-page);margin:0;font-weight:700;line-height:1.2}.not-found__code{color:#0000;font-family:var(--font-mono);letter-spacing:-.06em;-webkit-text-stroke:2px var(--text);margin:0 0 1rem;font-size:clamp(6rem,24vw,13rem);font-weight:700;line-height:.9}.not-found__code span{color:var(--accent);animation:2.6s ease-in-out infinite alternate rock;display:inline-block}@keyframes rock{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}@media (width<=760px){.phases{grid-template-columns:minmax(0,1fr)}.phase,.phase+.phase{border-left:0;padding:1.4rem 0}.phase+.phase{border-top:1px solid var(--line-strong)}.work-grid,.offers{grid-template-columns:minmax(0,1fr)}.work-tile__link{min-height:15rem}.metrics,.notes{grid-template-columns:minmax(0,1fr)}.note:nth-child(n){transform:none}.edu-path__trail{display:none}.edu-path__stops{border-left:3px dotted var(--accent-ink);min-height:0;margin-left:.55rem;display:block}.edu-stop,.edu-stop:nth-child(2n){text-align:left;justify-content:flex-start;padding:.8rem 0 .8rem 1.6rem}.edu-stop:before,.edu-stop:nth-child(2n):before{top:1.5rem;left:-1.5px}.site-footer__meta{flex-direction:column}.contact-links a{grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem}.contact-links__handle{grid-area:2/1}.contact-links__arrow{grid-area:1/2/span 2}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-tracking{syntax:"*";inherits:false}
