/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif, system-ui, 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]){-webkit-text-decoration:underline dotted;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;-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{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}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.hidden{display:none}.table{display:table}}:root{--paper:#fdfdfc;--ink:#10110f;--muted:#676861;--line:#d8d9d4;--accent:#175f39;--accent-soft:#eef4f0;--track:#ecece8;--serif:Georgia, "Times New Roman", serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);font-family:var(--serif);text-rendering:optimizelegibility;margin:0}a{color:inherit;text-underline-offset:.16em;text-decoration-line:underline;text-decoration-thickness:1px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.page-grid{grid-template-columns:210px 620px minmax(0,1fr);align-items:start;column-gap:118px;width:min(1276px,100% - 72px);margin:64px auto 0;display:grid}.meta-rail{color:var(--ink);font-family:var(--mono);grid-column:1;font-size:.74rem;line-height:1.25;position:sticky;top:64px}.meta-rail p{margin:0}.meta-block,.rail-nav,.meta-links{margin-bottom:24px}.rail-nav,.meta-links{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.meta-rail a{align-items:center;min-height:22px;text-decoration:none;display:inline-flex}.meta-rail a:hover{text-decoration:underline}.education{color:var(--muted)}.portfolio{grid-column:2;min-width:0}.stats-page-grid{grid-template-columns:210px minmax(0,780px)}.intro-eyebrow{color:var(--muted);font:.7rem/1.45 var(--mono);letter-spacing:.015em;text-transform:uppercase;margin:0 0 18px}.intro h1{letter-spacing:-.035em;margin:0;font-size:clamp(2.1rem,2.8vw,2.4rem);font-weight:400;line-height:1.1}.prose,.project,.source-list,.experience-list{font-size:1.125rem;line-height:1.55}.intro-copy{margin-top:52px}.prose p{margin:0 0 22px}.proof-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin:42px 0 0;padding:0;display:grid}.proof-strip>div{border-bottom:1px solid var(--line);min-height:92px;padding:16px 18px 15px 0}.proof-strip>div:nth-child(2n){border-left:1px solid var(--line);padding-left:18px}.proof-strip>div:nth-last-child(-n+2){border-bottom:0}.proof-strip dt{color:var(--accent);font:.72rem/1.35 var(--mono);text-transform:uppercase}.proof-strip dd{color:var(--muted);margin:9px 0 0;font-size:.96rem;line-height:1.35}.content-section{margin-top:74px;scroll-margin-top:28px}.content-section>h2{border-top:1px solid var(--ink);letter-spacing:-.025em;margin:0;padding-top:18px;font-size:1.55rem;font-weight:400;line-height:1.2}.content-section.prose>p:first-of-type,.project-list{margin-top:28px}.project{border-top:1px solid var(--line);padding:28px 0 32px}.project:first-child{border-top:0}.item-meta{color:var(--muted);font-family:var(--mono);text-transform:uppercase;margin:0 0 13px;font-size:.7rem;line-height:1.4}.project-label{color:var(--accent);font:.68rem/1.45 var(--mono);text-transform:uppercase;margin:0 0 10px}.project h3{letter-spacing:-.02em;margin:0 0 14px;font-size:1.35rem;font-weight:400;line-height:1.2}.project>p:not(.item-meta,.item-links,.project-label,.project-proof){margin:0}.project-proof{color:var(--muted);margin:16px 0 0;font-size:.94rem;line-height:1.5}.project-proof strong{color:var(--ink);font:.68rem/1.4 var(--mono);text-transform:uppercase;font-weight:400}.item-links{flex-wrap:wrap;gap:8px 20px;margin:18px 0 0;font-size:.94rem;display:flex}.item-links a,.source-list a,.prose a{color:var(--accent)}.source-list{margin:28px 0 0;padding:0;list-style:none}.source-list li{border-top:1px solid var(--line);grid-template-columns:190px 1fr;gap:22px;padding:18px 0;display:grid}.source-list li:first-child{border-top:0}.source-list span{color:var(--muted)}.experience-list{margin-top:28px}.experience-row{border-top:1px solid var(--line);grid-template-columns:120px 1fr;align-items:start;gap:22px;min-height:68px;padding:13px 0;display:grid}.experience-row:first-child{border-top:0}.experience-row>span{color:var(--muted);font-family:var(--mono);padding-top:2px;font-size:.7rem;line-height:1.5}.experience-row p{margin:0}.experience-row strong,.experience-row small{display:block}.experience-row strong{font-size:1rem;font-weight:400}.experience-row small{color:var(--muted);margin-top:2px;font-size:.9rem}.stats-summary{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin:70px 0 0;display:grid}.stats-summary>div{border-bottom:1px solid var(--line);min-height:94px;padding:17px 18px 15px 0}.stats-summary>div:nth-child(3n+2),.stats-summary>div:nth-child(3n+3){border-left:1px solid var(--line);padding-left:18px}.stats-summary>div:nth-last-child(-n+3){border-bottom:0}.stats-summary dt,.bar-chart figcaption,.bar-value,.chart-note{font-family:var(--mono)}.stats-summary dt{color:var(--muted);text-transform:uppercase;font-size:.68rem;line-height:1.35}.stats-summary dd{margin:9px 0 0;font-size:1.35rem;line-height:1}.section-lede{max-width:650px;color:var(--muted);margin:26px 0 0;font-size:1rem;line-height:1.5}.bar-chart{margin:34px 0 0}.bar-chart figcaption{color:var(--muted);text-transform:uppercase;margin-bottom:10px;font-size:.7rem;line-height:1.4}.bar-row{border-top:1px solid var(--line);grid-template-columns:132px minmax(0,1fr) 138px;align-items:center;gap:16px;min-height:43px;display:grid}.bar-label{min-width:0;font-size:.95rem;line-height:1.25}.bar-track{background:#ecece8;height:10px;display:block}.bar-fill{background:var(--accent);height:100%;display:block}.bar-value{color:var(--muted);text-align:right;white-space:nowrap;font-size:.68rem;line-height:1.35}.chart-note{color:var(--muted);margin:16px 0 0;font-size:.68rem;line-height:1.45}.repo-bar-row{grid-template-columns:248px minmax(0,1fr) 100px;min-height:57px}.repo-label{overflow-wrap:anywhere;font-size:.88rem}.repo-label a{color:var(--accent)}.repo-label small,.repo-bar-row .bar-value small{color:var(--muted);font-family:var(--mono);margin-top:3px;font-size:.62rem;line-height:1.3;display:block}.feature-page-grid{grid-template-columns:210px minmax(0,780px)}.feature-portfolio .intro .item-meta{margin-bottom:13px}.feature-portfolio .intro-copy,.feature-portfolio .stats-summary{margin-top:62px}.feature-portfolio .archive-receipt{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:34px 0 0}.feature-portfolio .archive-receipt-head{min-height:46px;color:var(--muted);border-bottom:1px solid var(--line);font:.68rem/1.35 var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;gap:18px;padding:0 14px;display:flex}.feature-portfolio .archive-receipt-head span:last-child{color:var(--accent)}.feature-portfolio .archive-receipt dl{grid-template-columns:repeat(2,1fr);margin:0;display:grid}.feature-portfolio .archive-receipt dl>div{border-bottom:1px solid var(--line);min-height:88px;padding:16px 14px}.feature-portfolio .archive-receipt dl>div:nth-child(2n){border-left:1px solid var(--line)}.feature-portfolio .archive-receipt dl>div:nth-last-child(-n+2){border-bottom:0}.feature-portfolio .archive-receipt dt{color:var(--muted);font:.66rem/1.35 var(--mono);text-transform:uppercase}.feature-portfolio .archive-receipt dd{margin:10px 0 0;font-size:1rem;line-height:1.35}.feature-portfolio .archive-receipt figcaption{color:var(--muted);border-top:1px solid var(--line);font:.66rem/1.45 var(--mono);text-transform:uppercase;padding:11px 14px}.feature-portfolio .browse-demo{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:34px}.feature-portfolio .mode-tabs{border-bottom:1px solid var(--line);align-items:stretch;min-height:48px;display:flex}.feature-portfolio .mode-tabs button{color:var(--muted);cursor:pointer;font:.7rem/1.2 var(--mono);text-transform:uppercase;background:0 0;border:0;padding:0 18px 0 0}.feature-portfolio .mode-tabs button+button{padding-left:18px}.feature-portfolio .mode-tabs button[aria-selected=true]{color:var(--accent);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.feature-portfolio .demo-panel{min-height:330px;padding:27px 0 26px}.feature-portfolio .demo-panel[hidden]{display:none}.feature-portfolio .demo-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.feature-portfolio .demo-heading>div{gap:7px;display:grid}.feature-portfolio .demo-heading strong{font-size:1.25rem;font-weight:400}.feature-portfolio .demo-heading>span,.feature-portfolio .demo-eyebrow{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:.66rem;line-height:1.35}.feature-portfolio .demo-panel>p{max-width:650px;color:var(--muted);margin:24px 0 0;font-size:.95rem;line-height:1.5}.feature-portfolio .conversation-ledger{border-top:1px solid var(--line);margin-top:25px}.feature-portfolio .conversation-ledger>div{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr) 108px;align-items:center;gap:16px;min-height:42px;display:grid}.feature-portfolio .conversation-ledger span{font-size:.86rem}.feature-portfolio .conversation-ledger i{background:linear-gradient(to right, var(--accent) 0, var(--accent) var(--width), var(--track) var(--width), var(--track) 100%);height:8px;display:block}.feature-portfolio .conversation-ledger small{color:var(--muted);font:.64rem/1.3 var(--mono);text-align:right}.feature-portfolio .media-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:25px;display:grid}.feature-portfolio .media-grid i{aspect-ratio:1;border:1px solid var(--line);background:linear-gradient(135deg, transparent 48%, #175f3940 49% 51%, transparent 52%), var(--accent-soft);display:block}.feature-portfolio .media-grid i:nth-child(2),.feature-portfolio .media-grid i:nth-child(5){background:radial-gradient(circle at 62% 38%,#175f3961 0 13%,#0000 14%),linear-gradient(24deg,#0000 47%,#175f3938 48% 52%,#0000 53%),#f4f3ed}.feature-portfolio .media-grid i:nth-child(3),.feature-portfolio .media-grid i:nth-child(6){background:linear-gradient(90deg, transparent 31%, #175f3945 32% 35%, transparent 36% 64%, #175f392e 65% 68%, transparent 69%), var(--accent-soft)}.feature-portfolio .timeline-demo{gap:8px;margin-top:25px;display:grid}.feature-portfolio .timeline-row{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;display:grid}.feature-portfolio .timeline-row span{color:var(--muted);font:.66rem/1.3 var(--mono)}.feature-portfolio .timeline-row i{width:var(--size);background:var(--accent);height:17px;display:block}.feature-portfolio .analytics-demo{border-left:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(12,1fr);align-items:end;gap:7px;height:140px;margin-top:25px;padding:10px 12px 0;display:grid}.feature-portfolio .analytics-demo i{height:var(--height);background:var(--accent);display:block}.feature-portfolio .feature-rows{border-top:1px solid var(--line);margin-top:32px}.feature-portfolio .feature-rows>div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;align-items:start;gap:22px;min-height:76px;padding:16px 0;display:grid}.feature-portfolio .feature-rows span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;padding-top:2px;font-size:.68rem;line-height:1.45}.feature-portfolio .feature-rows p{margin:0;font-size:.98rem;line-height:1.5}.feature-portfolio .pipeline{border-top:1px solid var(--line);margin:34px 0 0;padding:0;list-style:none}.feature-portfolio .pipeline li{border-bottom:1px solid var(--line);grid-template-columns:42px 200px 1fr;align-items:center;gap:18px;min-height:74px;padding:14px 0;display:grid}.feature-portfolio .pipeline li>span{color:var(--accent);font:.68rem/1.3 var(--mono)}.feature-portfolio .pipeline strong{font-size:.98rem;font-weight:400}.feature-portfolio .pipeline small{color:var(--muted);font-size:.88rem;line-height:1.45}.feature-portfolio .semantic-note,.feature-portfolio .privacy-receipt{border-top:1px solid var(--line);margin-top:32px;padding:20px 0 0}.feature-portfolio .semantic-note>p:last-child,.feature-portfolio .privacy-receipt>p:last-child{max-width:680px;margin:12px 0 0;font-size:1rem;line-height:1.55}.feature-portfolio .architecture-stack{border-top:1px solid var(--line);margin-top:34px}.feature-portfolio .architecture-stack>div{border-bottom:1px solid var(--line);grid-template-columns:90px 270px 1fr;align-items:center;gap:18px;min-height:69px;padding:13px 0;display:grid}.feature-portfolio .architecture-stack span,.feature-portfolio .architecture-stack small{color:var(--muted)}.feature-portfolio .architecture-stack span{font:.68rem/1.4 var(--mono);text-transform:uppercase}.feature-portfolio .architecture-stack strong{font-size:.96rem;font-weight:400}.feature-portfolio .architecture-stack small{font-size:.84rem;line-height:1.45}.feature-portfolio .stack-line{color:var(--muted);font:.68rem/1.6 var(--mono);margin:38px 0 0}.site-footer{border-top:1px solid var(--line);width:min(1276px,100% - 72px);min-height:132px;font-family:var(--mono);grid-template-columns:1fr auto;align-items:end;gap:24px;margin:110px auto 0;padding:28px 0;font-size:.7rem;display:grid}.site-footer a{justify-self:start;text-decoration:none}.site-footer span:first-of-type{color:var(--muted);justify-self:end}@media (width<=1180px){.stats-page-grid,.page-grid.feature-page-grid{grid-template-columns:176px minmax(0,1fr);column-gap:72px}}@media (width<=1050px){.page-grid{grid-template-columns:176px minmax(0,620px);column-gap:72px}.portfolio{grid-column:2}}@media (width<=820px){.page-grid{grid-template-columns:1fr;gap:44px;width:min(100% - 36px,620px);margin-top:46px}.stats-page-grid{width:min(100% - 36px,780px)}.page-grid.feature-page-grid{grid-template-columns:1fr;gap:44px;width:min(100% - 36px,780px)}.meta-rail,.portfolio{grid-column:1}.meta-rail{grid-template-columns:1fr 1fr;gap:18px 24px;display:grid;position:static}.meta-block,.rail-nav,.meta-links{margin:0}.education{align-self:end}.intro-copy{margin-top:44px}.proof-strip{margin-top:38px}.content-section{margin-top:60px}.stats-summary{margin-top:52px}.site-footer{width:calc(100% - 36px);margin-top:76px}}@media (width<=620px){.feature-portfolio .mode-tabs{grid-template-columns:repeat(2,1fr);display:grid}.feature-portfolio .mode-tabs button,.feature-portfolio .mode-tabs button+button{text-align:left;min-height:42px;padding:0}.feature-portfolio .conversation-ledger>div{grid-template-columns:120px minmax(0,1fr)}.feature-portfolio .conversation-ledger small{display:none}.feature-portfolio .media-grid{grid-template-columns:repeat(3,1fr)}.feature-portfolio .pipeline li,.feature-portfolio .architecture-stack>div{grid-template-columns:46px 1fr;gap:7px 12px}.feature-portfolio .pipeline small,.feature-portfolio .architecture-stack small{grid-column:2}}@media (width<=520px){.meta-rail{grid-template-columns:1fr}.intro h1{font-size:2.05rem}.prose,.project,.source-list,.experience-list{font-size:1.05rem}.proof-strip{grid-template-columns:1fr}.proof-strip>div,.proof-strip>div:nth-child(2n),.proof-strip>div:nth-last-child(-n+2){border-left:0;border-bottom:1px solid var(--line);min-height:0;padding:15px 0}.proof-strip>div:last-child{border-bottom:0}.source-list li,.experience-row{grid-template-columns:1fr;gap:6px}.stats-summary{grid-template-columns:repeat(2,1fr)}.stats-summary>div,.stats-summary>div:nth-child(3n+2),.stats-summary>div:nth-child(3n+3){border-left:0;border-bottom:1px solid var(--line);padding:15px 12px 14px 0}.stats-summary>div:nth-child(2n){border-left:1px solid var(--line);padding-left:12px}.stats-summary>div:nth-last-child(-n+2){border-bottom:0}.bar-row,.repo-bar-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;padding:11px 0}.bar-track{grid-area:2/1/auto/-1}.repo-label{font-size:.82rem}.feature-portfolio .archive-receipt dl{grid-template-columns:1fr}.feature-portfolio .archive-receipt dl>div,.feature-portfolio .archive-receipt dl>div:nth-child(2n),.feature-portfolio .archive-receipt dl>div:nth-last-child(-n+2){border-left:0;border-bottom:1px solid var(--line);min-height:76px}.feature-portfolio .archive-receipt dl>div:last-child{border-bottom:0}.feature-portfolio .demo-heading{align-items:start;display:grid}.feature-portfolio .demo-panel{min-height:350px}.feature-portfolio .feature-rows>div{grid-template-columns:1fr;gap:7px}.feature-portfolio .architecture-stack>div{padding:15px 0}.site-footer{grid-template-columns:1fr auto;align-items:center}.site-footer span:first-of-type{justify-self:end}}@media print{.rail-nav,.site-footer{display:none}.page-grid,.page-grid.feature-page-grid{grid-template-columns:150px 1fr;column-gap:36px;width:100%;margin:0}.feature-portfolio .mode-tabs{display:none}.feature-portfolio .demo-panel[hidden]{display:block}.feature-portfolio .content-section,.feature-portfolio .archive-receipt,.feature-portfolio .pipeline li,.feature-portfolio .architecture-stack>div,.project,.experience-row{break-inside:avoid}}
