.hero{padding-top:calc(64px + clamp(1.5rem,4vw,3rem))}.bento{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(150px,auto);gap:12px;display:grid}.tile--intro{grid-area:1/1/3/9}.tile--status{grid-area:1/9/auto/13}.tile--clock{grid-area:2/9/auto/13}.tile--metric{grid-area:3/1/auto/4}.tile--lab{grid-area:3/4/auto/9}.tile--receipt{grid-area:3/9/5/13}.tile--stack{grid-area:4/1/auto/9}@media (width<=1024px){.bento{grid-template-columns:repeat(6,minmax(0,1fr))}.tile--intro{grid-area:auto/1/auto/-1}.tile--status{grid-area:auto/1/auto/4}.tile--clock{grid-area:auto/4/auto/7}.tile--metric{grid-area:auto/1/auto/3}.tile--lab{grid-area:auto/3/auto/7}.tile--stack,.tile--receipt{grid-area:auto/1/auto/-1}}@media (width<=600px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.tile--intro,.tile--lab,.tile--stack,.tile--receipt,.tile--status,.tile--metric,.tile--clock{grid-column:1/-1}}.tile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);isolation:isolate;flex-direction:column;gap:.5rem;min-width:0;padding:clamp(1.15rem,2.2vw,1.6rem);display:flex;position:relative;overflow:hidden}.tile:before{content:"";z-index:-1;background:radial-gradient(420px circle at var(--mouse-x,-100%) var(--mouse-y,-100%), var(--accent-glow), transparent 45%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.tile:hover:before{opacity:.55}.tile__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.tile__meta{font-size:var(--text-small);color:var(--text-secondary);margin-top:auto}.tile__big{letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:baseline;gap:.6rem;font-size:clamp(2.25rem,4vw,3rem);font-weight:500;line-height:1.05;display:flex}.tile__unit{font-size:var(--text-small);letter-spacing:0;color:var(--text-secondary);font-weight:400}.tile__status{letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1.35rem;font-weight:500;display:flex}.tile--intro{background-image:radial-gradient(var(--tile-dots) 1px, transparent 1px);background-size:18px 18px;background-color:var(--bg-surface);justify-content:flex-end;gap:1rem;padding:clamp(1.5rem,4vw,2.75rem)}.hero__name{font-size:var(--text-hero);letter-spacing:-.045em;margin-top:auto;padding-top:2rem;font-weight:600;line-height:.95}.hero__positioning{letter-spacing:-.015em;max-width:36ch;color:var(--text-secondary);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.4}.hero__actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.hero__socials{gap:.15rem;margin-left:.25rem;display:flex}.tile--lab{border-color:var(--accent-soft);background:radial-gradient(120% 90% at 100% 0%, var(--accent-soft), transparent 60%), radial-gradient(var(--tile-dots) 1px, transparent 1px) 0 0 / 16px 16px, var(--bg-surface);transition:border-color .3s, transform .35s var(--ease-out);gap:.75rem}.tile--lab:hover{border-color:var(--accent)}.tile--lab:has(.tile__lab-link:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.tile__lab-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tile__lab-new{border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);white-space:nowrap;align-items:center;gap:.45rem;padding:.15rem .6rem;font-size:.72rem;display:inline-flex}.tile__lab-dot{background:var(--accent);width:6px;height:6px;animation:tile-lab-pulse 2.4s var(--ease-out) infinite;border-radius:50%}@keyframes tile-lab-pulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.tile__lab-link{letter-spacing:-.03em;max-width:22ch;color:var(--text-primary);overflow-wrap:anywhere;font-size:clamp(1.3rem,2.1vw,1.6rem);font-weight:600;line-height:1.15}.tile__lab-link:after{content:"";z-index:1;position:absolute;inset:0}.tile__lab-link:focus-visible{outline:none}.tile--lab .tile__meta{margin-top:0}.tile--lab .tile__meta strong{color:var(--text-primary);font-weight:500}.tile__lab-cta{border-radius:var(--radius-full);background:var(--text-primary);color:var(--bg);font-size:var(--text-small);transition:background-color .25s, color .25s, gap .25s var(--ease-out);align-self:flex-start;align-items:center;gap:.45rem;margin-top:auto;padding:.45rem .95rem;font-weight:500;display:inline-flex}.tile__lab-cta svg{transition:transform .25s var(--ease-out)}.tile--lab:hover .tile__lab-cta{background:var(--accent);color:var(--text-on-accent);gap:.7rem}.tile--lab:hover .tile__lab-cta svg{transform:translate(2px,-2px)}.tile--stack{justify-content:space-between}.marquee{margin-inline:calc(-1*clamp(1.15rem,2.2vw,1.6rem));overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee__track{gap:.5rem;width:max-content;animation:40s linear infinite marquee;display:flex}.tile--stack:hover .marquee__track{animation-play-state:paused}.marquee__item{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-inset);font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-secondary);white-space:nowrap;padding:.55rem 1rem}@keyframes marquee{to{transform:translate(calc(-50% - .25rem))}}@media (prefers-reduced-motion:reduce){.marquee{margin-inline:0;-webkit-mask-image:none;mask-image:none}.marquee__track{flex-wrap:wrap;width:auto;animation:none}.marquee__item:nth-child(n+18){display:none}}.tile--receipt{padding-bottom:1.15rem}.receipt-printer{flex-direction:column;height:100%;display:flex}.receipt-printer__head{justify-content:space-between;align-items:center;display:flex}.receipt-printer__led{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%}.receipt-printer__led.is-busy{animation:.3s steps(2,end) infinite led-blink}@keyframes led-blink{50%{opacity:.2}}.receipt-printer__slot{border-radius:var(--radius-full);background:var(--bg-inset);height:8px;margin:.9rem .5rem 0;box-shadow:inset 0 2px 3px #00000059}.receipt{flex:1;min-height:210px;margin:-4px 1.1rem 1rem;overflow:hidden}.receipt__empty{text-align:center;font-family:var(--font-mono);color:var(--text-muted);padding-top:2.5rem;font-size:.75rem}.receipt__paper{background:var(--paper);color:var(--paper-ink);font-family:var(--font-mono);padding:.9rem .85rem 1.1rem;font-size:.6875rem;line-height:1.7;-webkit-mask-image:linear-gradient(#000,#000),conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg);mask-image:linear-gradient(#000,#000),conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg);-webkit-mask-position:top,bottom;mask-position:top,bottom;-webkit-mask-size:100% calc(100% - 6px),12px 6px;mask-size:100% calc(100% - 6px),12px 6px;-webkit-mask-repeat:no-repeat,repeat-x;mask-repeat:no-repeat,repeat-x}.receipt__row{animation:receipt-feed .18s var(--ease-out)}@keyframes receipt-feed{0%{opacity:0;transform:translateY(-6px)}}.receipt__header,.receipt__footer{text-align:center;font-weight:500}.receipt__sep{white-space:nowrap;opacity:.5;text-align:center;overflow:hidden}.receipt__line{justify-content:space-between;gap:1rem;display:flex}.receipt__line span:last-child{text-align:right}.receipt-printer__btn{width:100%;margin-top:auto}.receipt-printer__btn:disabled{opacity:.6;cursor:progress}.work__intro{max-width:28ch;font-size:var(--text-small);margin-top:1rem}.work-list{border-top:1px solid var(--border)}.work-row{border-bottom:1px solid var(--border)}.work-row[hidden]{display:none}.work-row__heading{font:inherit;letter-spacing:inherit}.work-row__head{text-align:left;grid-template-columns:2.5rem minmax(0,1fr) minmax(0,1.2fr) 6rem 2rem;align-items:center;gap:1rem;width:100%;min-height:76px;padding:1rem .25rem;transition:color .2s;display:grid}.work-row__index{color:var(--text-muted)}.work-row__title{letter-spacing:-.025em;transition:transform .35s var(--ease-out);overflow-wrap:anywhere;min-width:0;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:500}.work-row__subtitle{font-size:var(--text-small);color:var(--text-secondary)}.work-row__category{color:var(--text-muted);justify-self:end}.work-row__toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);transition:transform .35s var(--ease-out), background-color .2s, color .2s, border-color .2s;border-radius:50%;justify-self:end;place-items:center;display:grid}.work-row__head:hover .work-row__title{transform:translate(6px)}.work-row__head:hover .work-row__toggle,.work-row.is-open .work-row__toggle{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.work-row.is-open .work-row__toggle{transform:rotate(45deg)}.work-row.is-open .work-row__index{color:var(--accent)}.work-row__panel{overflow:hidden}.work-row__body{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem 3rem;padding:.5rem .25rem 2rem 3.75rem;display:grid}.work-row__facts{flex-direction:column;gap:1rem;display:flex}.work-row__facts dt,.work-row__subhead{text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem;font-size:.75rem;font-weight:400}.work-row__facts dd{font-size:var(--text-small);color:var(--text-secondary)}.work-row__highlights{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.work-row__highlights li{color:var(--text-secondary);padding-left:1.25rem;position:relative}.work-row__highlights li:before{content:"";background:var(--accent);width:8px;height:1px;position:absolute;top:.7em;left:0}.work-row__visit{color:var(--accent);font-size:var(--text-small);transition:gap .2s var(--ease-out);align-items:center;gap:.35rem;margin-top:1rem;margin-right:1.5rem;display:inline-flex}.work-row__visit:hover{gap:.6rem}.work__more{margin-top:1.5rem}@media (width<=860px){.work-row__head{grid-template-columns:2rem minmax(0,1fr) 2rem;row-gap:.15rem}.work-row__subtitle{grid-area:2/2}.work-row__category{display:none}.work-row__toggle{grid-area:1/3/3}.work-row__body{grid-template-columns:1fr;padding-left:3.25rem}}@media (width<=480px){.work-row__body{padding-left:.25rem}}.work-preview{z-index:40;pointer-events:none;position:fixed;top:0;left:0}.work-preview__card{border:1px solid var(--border-strong);border-radius:var(--radius-md);color:#0b0b0c;flex-direction:column;justify-content:flex-end;gap:.25rem;width:240px;height:160px;padding:1rem;display:flex;box-shadow:0 20px 40px -12px #00000073}.work-preview__card strong{letter-spacing:-.03em;font-size:1.35rem;font-weight:600;line-height:1.1}.work-preview__tags{opacity:.7;font-size:.75rem}.work-preview__card--mobile{background:radial-gradient(circle at 80% 10%,#e8ff8a,#0000 55%),linear-gradient(135deg,#c6f432,#8fd14f)}.work-preview__card--fullstack{background:radial-gradient(circle at 80% 10%,#d7f5ff,#0000 55%),linear-gradient(135deg,#9be7ff,#6bcbef)}.work-preview__card--opensource{background:radial-gradient(circle at 80% 10%,#f1e6ff,#0000 55%),linear-gradient(135deg,#d4b8ff,#b094f2)}.exp-list{border-top:1px solid var(--border)}.exp-item{border-bottom:1px solid var(--border);grid-template-columns:11rem minmax(0,1fr);gap:.5rem 2rem;padding:2rem .25rem;display:grid}.exp-item__period{color:var(--text-muted);white-space:nowrap;align-self:start;align-items:center;gap:.6rem;padding-top:.3rem;display:flex}.exp-item__role{font-size:var(--text-h3);letter-spacing:-.02em;font-weight:500;line-height:1.35}.exp-item__at{color:var(--text-muted)}.exp-item__location{font-size:var(--text-small);margin-top:.15rem}.exp-item__highlights{max-width:var(--measure);flex-direction:column;gap:.45rem;margin-top:1rem;display:flex}.exp-item__highlights li{color:var(--text-secondary);padding-left:1.25rem;position:relative}.exp-item__highlights li:before{content:"";background:var(--text-muted);width:8px;height:1px;position:absolute;top:.8em;left:0}.exp__resume{align-items:center;gap:.35rem;margin-top:1.5rem;display:inline-flex}.exp-footnotes{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:3rem;padding:1.5rem;display:grid}.exp-footnotes__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem;font-weight:400}.exp-footnotes__item{font-size:var(--text-small);flex-direction:column;line-height:1.5;display:flex}.exp-footnotes__item+.exp-footnotes__item{margin-top:.75rem}.exp-footnotes__item span{font-size:var(--text-caption)}@media (width<=860px){.exp-footnotes{grid-template-columns:1fr}}@media (width<=600px){.exp-item{grid-template-columns:1fr}}.about__bio{letter-spacing:-.01em;font-size:clamp(1.125rem,1.6vw,1.3rem);line-height:1.6}.about__bio p:first-child{color:var(--text-primary)}.about__subhead{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:3.5rem 0 1rem;font-size:.75rem;font-weight:400}.about__focus{border-top:1px solid var(--border)}.about__focus-item{border-bottom:1px solid var(--border);grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;padding:1.25rem .25rem;display:grid}.about__focus-index{color:var(--accent);padding-top:.25rem}.about__focus-title{letter-spacing:-.01em;font-size:1.0625rem;font-weight:500}.about__focus-desc{max-width:var(--measure);font-size:var(--text-small);color:var(--text-secondary);margin-top:.25rem}.about__toolbox{border-top:1px solid var(--border)}.about__toolbox-row{border-bottom:1px solid var(--border);font-size:var(--text-small);grid-template-columns:11rem minmax(0,1fr);gap:.25rem 2rem;padding:.9rem .25rem;display:grid}.about__toolbox-row dt{color:var(--text-primary)}.about__toolbox-row dd{color:var(--text-secondary)}@media (width<=600px){.about__toolbox-row{grid-template-columns:1fr}}.story{height:480vh;margin-top:var(--section-gap);position:relative}@media (width<=700px){.story{height:400vh}}.story--still{height:auto}.story__sticky{background:radial-gradient(120% 80% at 50% 45%, transparent 55%, var(--bg-inset) 100%);height:100svh;position:sticky;top:0;overflow:hidden}.story--still .story__sticky{position:relative}.story__canvas{inset:0;position:absolute!important}.story__overlay{pointer-events:none;grid-template-rows:1fr auto;height:100%;padding-top:64px;display:grid;position:relative}.story__intro,.story__outro{grid-area:1/1}.story__intro{text-align:center;will-change:opacity, filter, transform;place-self:center}.story--still .story__intro{display:none}.story__eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:1.25rem}.story__title{font-size:var(--text-display);letter-spacing:-.045em;color:var(--text-primary);text-wrap:balance;font-weight:600;line-height:.98}.story__outro{text-align:center;will-change:opacity, filter, transform;place-self:start center;padding-top:clamp(1.5rem,4vh,3rem)}.story__outro .story__eyebrow{margin-bottom:.75rem}@media (width<=700px){.story__outro .story__eyebrow{letter-spacing:.06em;font-size:.6875rem}}.story__outro-title{font-size:var(--text-h2);letter-spacing:-.035em;color:var(--text-primary);font-weight:600;line-height:1.05}.story__rail{grid-row:2;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.5rem;padding-bottom:clamp(1.25rem,3vw,2rem);display:grid}.story__stage{text-transform:uppercase;letter-spacing:.12em;min-width:13ch;color:var(--text-secondary);align-items:center;gap:.75rem;display:inline-flex}.story__stage-index{color:var(--accent)}.story__stage-dash{background:var(--border-strong);width:18px;height:1px}.story__rule{background:var(--border);height:1px;overflow:hidden}.story__rule i{background:var(--text-secondary);transform-origin:0;height:100%;display:block}
