.chapter{isolation:isolate;min-height:100svh;padding:clamp(4.5rem,10vh,7rem) clamp(16px,5vw,6rem) clamp(2rem,6vh,4rem);position:relative;overflow:hidden}.chapter-numeral{z-index:-1;font-family:var(--font-display);letter-spacing:-.06em;color:#0000;-webkit-text-stroke:2px color-mix(in oklch, var(--accent-deep) 38%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(11rem,34vw,36rem);font-weight:800;line-height:.8;position:absolute;top:clamp(1.5rem,6vh,4rem);right:-1.5vw}.chapter-lane{z-index:-1;background:repeating-linear-gradient(90deg, var(--ramp-3) 0 8px, transparent 8px 18px, var(--ramp-8) 18px 26px, transparent 26px 34px, var(--ramp-12) 34px 42px, transparent 42px 56px);opacity:.6;pointer-events:none;height:8px;position:absolute;top:clamp(2rem,5vh,3.2rem);left:0;right:0}@media (max-width:767px){.chapter-numeral{-webkit-text-stroke-width:1.5px;font-size:52vw;top:2.5rem}}.after-hero{position:relative}.page-lane{z-index:5;pointer-events:none;width:3px;height:100%;position:absolute;top:0;left:clamp(5px,1.1vw,16px);overflow:visible}.page-lane path{stroke:var(--accent);stroke-width:3px;fill:none}.chapter-count{font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink-muted)}.chapter-title{font-family:var(--font-display);letter-spacing:-.045em;perspective:600px;text-wrap:balance;margin-top:.25rem;font-size:clamp(3.2rem,1.5rem + 7vw,9.5rem);font-weight:750;line-height:.88}.chapter-char{display:inline-block}.chapter-lead{max-width:36rem;font-size:var(--step-1);color:var(--ink-muted);margin-top:1rem;line-height:1.5}.separator{grid-template-columns:repeat(16,1fr);align-items:end;height:clamp(22px,4.5vh,44px);display:grid}.separator i{transform-origin:bottom;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.js .chapter-intro{flex-direction:column;justify-content:center;min-height:calc(100svh - clamp(4.5rem,10vh,7rem));padding-bottom:3.5rem;display:flex;position:relative}}.chapter-hint{font-size:var(--step-0);color:var(--ink-muted);align-items:center;gap:.45rem;margin-top:2rem;display:flex}.chapter-intro .chapter-hint{margin:0;position:absolute;bottom:.5rem;left:0}.chapter[data-stacked]>.chapter-hint{z-index:2;margin:0;position:absolute;bottom:1.5rem;left:clamp(16px,5vw,6rem)}@media (prefers-reduced-motion:reduce){.chapter-hint{display:none}}
.ch{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2rem,6vw,7rem);display:grid}.ch .chapter-head{grid-column:1/-1}.ch-stage{grid-column:1/-1;gap:3rem;margin-top:clamp(1.5rem,4vh,3rem);display:grid}.js .ch[data-stacked] .ch-stage{align-items:center;gap:0}.js .ch[data-stacked] .ch-layer{grid-area:1/1}.ch-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:clamp(2rem,6vw,7rem);display:grid}.ch-hint{font-size:var(--step-1);color:var(--ink-muted);margin-bottom:.5rem;transform:rotate(-2deg)}.ch-copy{font-size:var(--step-1);color:var(--ink);text-wrap:pretty;max-width:36rem;line-height:1.5}.ch-now{align-self:end;gap:.55rem;display:grid}.ch-now>div{border-bottom:1px solid color-mix(in oklch, var(--ink) 10%, transparent);grid-template-columns:7rem 1fr;gap:1rem;padding-bottom:.55rem;display:grid}.ch-now dt{font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink-muted);padding-top:.2rem}.ch-now dd{font-weight:550}.timeline{grid-template-columns:minmax(0,1fr) minmax(16rem,24rem);align-items:center;gap:clamp(1rem,3vw,3rem);margin-top:1.5rem;display:grid}.timeline-track{touch-action:pan-y;cursor:grab;border-radius:12px}.timeline-track:active{cursor:grabbing}.timeline-svg{width:100%;height:auto;display:block;overflow:visible}.timeline-path{fill:none;stroke:var(--ink-muted);stroke-width:2.5px;stroke-linecap:round}.timeline-stop circle{fill:var(--paper);stroke:var(--ink-muted);stroke-width:2px}.timeline-stop text{font-family:var(--font-pixel);fill:var(--ink-muted);font-size:18px}.timeline-stop[data-active] circle{stroke:var(--accent);fill:var(--accent)}.timeline-stop[data-active] text{fill:var(--ink)}.timeline-bead{fill:var(--accent);stroke:var(--paper);stroke-width:5px;filter:drop-shadow(0 4px 6px color-mix(in oklch, var(--ink) 30%, transparent))}.timeline-card{background:var(--tint);border-radius:14px;padding:1rem 1.15rem}.timeline-when{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-muted)}.timeline-title{font-family:var(--font-display);font-size:var(--step-1);margin-top:.3rem;font-weight:650;line-height:1.15}.timeline-title span{color:var(--accent-ink)}.timeline-detail{font-size:var(--step--1);color:var(--ink-muted);margin-top:.45rem;line-height:1.5}@media (max-width:767px){.ch{grid-template-columns:1fr}.ch-body{grid-template-columns:1fr;row-gap:1.5rem}.ch-copy{font-size:var(--step-0)}.ch-now>div{grid-template-columns:5.5rem 1fr}.timeline{grid-template-columns:1fr}.timeline-stop text{font-size:26px}}
.into-field{height:clamp(22rem,52vh,34rem);margin-top:2.5rem;position:relative}.into-chip{left:var(--x);top:var(--y);background:color-mix(in oklch, var(--c) 28%, var(--paper));box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 10%, transparent);font-family:var(--font-display);rotate:var(--r);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;gap:.2rem;padding:.7rem 1.1rem;font-weight:600;line-height:1.1;display:inline-flex;position:absolute}.into-chip[data-size=l]{font-size:clamp(1.7rem,1.1rem + 2.4vw,3rem)}.into-chip[data-size=m]{font-size:var(--step-2)}.into-chip[data-size=s]{font-size:var(--step-1)}.into-note{font-family:var(--font-hand);font-size:var(--step-0);color:var(--ink);opacity:.85;font-weight:400}@media (max-width:767px){.into-field{flex-wrap:wrap;gap:.6rem;height:auto;display:flex;position:static}.into-chip{cursor:default;touch-action:auto;position:static;rotate:none}.into-chip[data-size=l]{font-size:var(--step-2)}}
.create-row{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.create-card{background:var(--tint);border-radius:16px;padding:1.25rem 1.35rem}.create-card h3{font-family:var(--font-display);font-size:var(--step-1);margin-top:.3rem;font-weight:650;line-height:1.15}.create-card p{color:var(--ink-muted);margin-top:.4rem}.create-year{font-family:var(--font-pixel);font-size:var(--step--1)}.create-stack{font-family:var(--font-mono);font-size:var(--step--1);flex-wrap:wrap;gap:.35rem;margin-top:.8rem;list-style:none;display:flex}.create-stack li{background:var(--paper);border-radius:6px;padding:.15rem .5rem}.create-empty{color:var(--ink-muted);font-family:var(--font-hand);font-size:var(--step-1)}.create-card h3 a{color:var(--ink);text-decoration:none}.create-card h3 a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px}
.hero{--gutter:clamp(10px, 2.4vw, 34px);--sheet-radius:var(--radius-sheet);--open:0;background:var(--tint);height:100svh;position:relative;overflow:hidden}.hero-backdrop{opacity:.2;grid-template-rows:repeat(16,1fr);display:grid;position:absolute;inset:0}.hero-sheet{inset:calc(var(--gutter) * (1 - var(--open)));background:var(--paper);border-radius:calc(var(--sheet-radius) * (1 - var(--open)));box-shadow:0 1px 0 color-mix(in oklch, var(--ink) 6%, transparent), 0 40px 90px -50px color-mix(in oklch, var(--ink) 45%, transparent);grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(12px,2vh,24px);padding:clamp(16px,2.2vw,34px) clamp(16px,2.2vw,34px) 0;display:grid;position:absolute;overflow:hidden}.hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.hero-status{background:var(--tint);font-family:var(--font-pixel);font-size:var(--step--1);border-radius:999px;align-items:center;gap:.55rem;padding:.4rem .8rem .4rem .65rem;line-height:1;display:inline-flex}.hero-chips{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hero-dayjob{font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink-muted)}.hero-status-dot{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.journey{font-family:var(--font-display);font-size:var(--step-1);color:var(--ink-muted);align-items:flex-end;gap:.5rem;line-height:1.1;display:flex}.journey-stop{align-items:flex-end;gap:.5rem;display:inline-flex}.journey-place{flex-direction:column;align-items:center;gap:.15rem;display:inline-flex}.journey-gu{font-family:var(--font-gu);color:var(--accent-ink);font-size:max(.62em,14px)}.journey s{text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in oklch, var(--ink) 55%, transparent);text-decoration-color:color-mix(in oklch, var(--ink) 55%, transparent)}.journey span[data-place]{color:var(--ink);font-weight:650}.journey-arrow{font-family:var(--font-mono);padding-bottom:.1em;font-size:.8em}.hero-mid{grid-template-columns:minmax(16rem,31rem) minmax(0,1fr);align-items:center;gap:clamp(1rem,4vw,4.5rem);min-height:0;display:grid}.hero-intro{font-size:var(--step-1);color:var(--ink-muted);text-wrap:pretty;line-height:1.5}.hero-intro b{color:var(--ink);font-weight:600}.glyph-chip{vertical-align:-.22em;background:var(--paper);width:1.15em;height:1.15em;box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 12%, transparent), 0 2px 0 color-mix(in oklch, var(--ink) 10%, transparent);border-radius:7px;margin:0 .05em;padding:2px;display:inline-block;transform:rotate(-5deg)}.glyph-chip:nth-of-type(2n){transform:rotate(4deg)}.hero-hint{font-size:var(--step-0);color:var(--ink-muted);align-items:center;gap:.5rem;margin-top:1.25rem;transition:opacity .4s;display:flex}.hero-hint[data-hidden]{opacity:0}.hero-tiles-box{height:100%;min-height:220px;position:relative}.hero-tiles{position:absolute;inset:0}.hero-tiles-note{font-size:var(--step-0);color:var(--ink-muted);pointer-events:none;flex-direction:column;align-items:flex-end;line-height:1.2;display:flex;position:absolute;top:-.25rem;right:.5rem;transform:rotate(-3deg)}.hand{font-family:var(--font-hand)}.hero-name{font-family:var(--font-name);font-variation-settings:"wght" var(--wght,900);letter-spacing:-.02em;white-space:nowrap;color:var(--ink);margin:0 -.04em;padding-bottom:.06em;font-size:clamp(3.2rem,13.2vw,32rem);font-style:italic;line-height:.86}.hero-word{white-space:nowrap}.hero-char{display:inline-block}.stickers{pointer-events:none;position:absolute;inset:0}.sticker{text-align:center;color:var(--ink);background:var(--paper);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 14%, transparent), 0 10px 22px -12px color-mix(in oklch, var(--ink) 50%, transparent);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform;border:3px solid #fff;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem;display:flex;position:absolute;top:0;left:0;transform:translate(-200px,-200px)}.sticker[data-dragging]{cursor:grabbing}.sticker-circle{border-radius:50%}.sticker-rect{border-radius:16px}.sticker b{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.9rem;font-weight:750;line-height:.9}.sticker span{font-family:var(--font-pixel);color:var(--ink-muted);font-size:.62rem;line-height:1.15}.sticker[data-sticker=me]{border-width:4px;padding:0;overflow:hidden}.sticker[data-sticker=me] img{object-fit:cover;pointer-events:none;width:100%;height:100%}.sticker[data-sticker=years]{background:var(--accent-deep);color:#fff}.sticker[data-sticker=years] span{color:#ffffffe0}.sticker[data-sticker=hackathon]{background:var(--tint);border-style:dashed}.sticker[data-sticker=azure]{box-shadow:inset 0 0 0 5px var(--paper), inset 0 0 0 7px color-mix(in oklch, var(--accent) 55%, var(--paper)), 0 0 0 1px color-mix(in oklch, var(--ink) 14%, transparent), 0 10px 22px -12px color-mix(in oklch, var(--ink) 50%, transparent)}.sticker[data-sticker=azure] b{font-size:1.45rem}.sticker[data-sticker=azure] span{text-align:center;max-width:5.2rem}.sticker[data-sticker=projects]{background:repeating-linear-gradient(-45deg, var(--paper) 0 8px, var(--tint) 8px 9px)}.sticker[data-sticker=copilot]{background:var(--ink);color:var(--paper)}.sticker[data-sticker=copilot] b{letter-spacing:-.01em;font-size:1.15rem}.sticker[data-sticker=copilot] span{color:color-mix(in oklch, var(--paper) 82%, var(--ink))}.sticker-tiles{background:linear-gradient(90deg, var(--ramp-1) 0 18%, transparent 18% 27%, var(--ramp-6) 27% 45%, transparent 45% 54%, var(--ramp-10) 54% 72%, transparent 72% 81%, var(--ramp-14) 81%);border-radius:3px;width:3.4rem;height:.7rem}@media (max-width:767px){.hero-top{flex-direction:column;gap:.75rem}.journey{font-size:var(--step-0)}.hero-mid{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;align-items:start;gap:.5rem}.hero-intro{font-size:var(--step-0)}.hero-tiles-box{min-height:160px}.hero-tiles-note{font-size:var(--step--1)}.hero-name{white-space:normal;font-size:clamp(2.8rem,min(20vw,8.8svh),9rem);line-height:.86}}@media (min-width:768px){.hero-sheet{padding-top:calc(84px - var(--gutter) * (1 - var(--open)))}}@media (max-width:767px){.hero-sheet{padding-bottom:calc(80px + env(safe-area-inset-bottom) - var(--gutter) * (1 - var(--open)))}}
.pipeline{--plate:oklch(from var(--accent) .17 .008 h);--plate-face:oklch(from var(--accent) .2 .009 h);--hi:oklch(from var(--accent) .97 .01 h);--edge:oklch(from var(--accent) .76 .012 h);--mid:oklch(from var(--accent) .52 .014 h);--lo:oklch(from var(--accent) .32 .012 h);--glow:oklch(from var(--accent) .82 .17 h);--warn:#fc9e47;background:radial-gradient(120% 90% at 30% 20%, oklch(from var(--accent) .22 .012 h), var(--plate) 60%);pointer-events:auto;border-radius:22px;width:min(100%,680px);padding:16px 16px 10px;position:relative;overflow:hidden;box-shadow:0 30px 60px -36px #0009,inset 0 0 0 1px #ffffff0f;box-shadow:0 30px 60px -36px lab(0% 0 0/.6),inset 0 0 0 1px lab(100% 0 0/.06)}@supports (color:lab(0% 0 0)){.pipeline{--warn:lab(73.8871% 31.0487 58.7684)}}.pipeline:after{content:"";pointer-events:none;background-image:radial-gradient(#ffffff0d .6px,#0000 1px);background-image:radial-gradient(lab(100% 0 0/.05) .6px,#0000 1px);background-size:14px 14px;position:absolute;inset:0}.pipeline-head{font:10px var(--font-mono);color:var(--mid);letter-spacing:.04em;justify-content:space-between;gap:1rem;display:flex}.pipeline-head b{color:var(--edge);font-weight:600}.pipeline-live:before{content:"";background:var(--glow);width:6px;height:6px;box-shadow:0 0 8px var(--glow);border-radius:50%;margin-right:6px;animation:1.6s ease-in-out infinite pipeline-pulse;display:inline-block}@keyframes pipeline-pulse{50%{opacity:.35}}.pipeline svg{z-index:1;width:100%;height:auto;display:block;position:relative;overflow:visible}.pipeline .face{fill:var(--plate-face);stroke:var(--mid);stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke .3s,fill .3s}.pipeline .line{fill:none;stroke:var(--mid);stroke-width:1px;vector-effect:non-scaling-stroke;transition:stroke .3s}.pipeline .base .face{stroke:var(--lo);fill:oklch(from var(--accent) .18 .008 h)}.pipeline .pipe{fill:none;stroke:var(--lo);stroke-width:4px;stroke-linecap:round}.pipeline .pipe-core{fill:none;stroke:oklch(from var(--accent) .25 .01 h);stroke-width:2px;stroke-linecap:round}.pipeline .part{transition:transform .45s cubic-bezier(.3,1.4,.5,1)}.pipeline .part.near{transform:translateY(-4px)}.pipeline .part.near .face,.pipeline .part.near .line{stroke:var(--edge)}.pipeline .part.lit{filter:url(#pl-glow)}.pipeline .part.lit .face{stroke:var(--glow);fill:color-mix(in oklch, var(--glow) 14%, var(--plate-face))}.pipeline .part.lit .line{stroke:var(--glow)}.pipeline .has-lit .part:not(.lit) .face,.pipeline .has-lit .part:not(.lit) .line{stroke:var(--lo)}.pipeline .tag-label{font:10.5px var(--font-mono);fill:var(--edge);transition:fill .3s}.pipeline .has-lit .part:not(.lit) .tag-label{fill:var(--mid)}.pipeline .part.lit .tag-label,.pipeline .part.near .tag-label{fill:var(--hi)}.pipeline .leader{stroke:var(--lo);stroke-width:.8px;vector-effect:non-scaling-stroke}.pipeline .led{filter:url(#pl-glow);transition:opacity .15s}.pipeline .live{fill:var(--glow);opacity:0;filter:url(#pl-glow)}.pipeline .live.soft{filter:url(#pl-soft)}.pipeline .readout{font:600 9px var(--font-mono);fill:var(--glow)}.pipeline .readout.dim{fill:var(--mid)}.pipeline .drawing :is(.face,.line,.pipe,.pipe-core){stroke-dasharray:1;stroke-dashoffset:1px;fill-opacity:0}.pipeline .drawn :is(.face,.line,.pipe,.pipe-core){stroke-dashoffset:0;fill-opacity:1;transition:stroke-dashoffset 1.4s cubic-bezier(.6, 0, .2, 1) var(--d,0s), fill-opacity .6s ease var(--fd,1.2s), stroke .3s, fill .3s}@media (prefers-reduced-motion:reduce){.pipeline .part,.pipeline .face,.pipeline .line{transition:none}.pipeline-live:before{animation:none}}
.core-span{grid-template-columns:minmax(0,1fr) minmax(0,38%);display:grid}.core-col{min-width:0}.core-aside{position:relative}.core-sticky{pointer-events:none;justify-content:center;align-items:center;height:100svh;padding-right:clamp(16px,3.5vw,56px);display:flex;position:sticky;top:0}@media (max-width:767px){.core-span{flex-direction:column;display:flex}.core-col{display:contents}.core-col>*{order:1}.core-col>.how{order:3}.core-aside{z-index:4;background:var(--field,var(--paper));height:40svh;box-shadow:0 10px 18px -16px color-mix(in oklch, var(--ink) 60%, transparent);order:2;position:sticky;top:0}.core-sticky{height:100%;padding:8px 12px;position:static}.pipeline{border-radius:16px;flex-direction:column;width:100%;height:100%;padding:10px 10px 6px;display:flex}.pipeline svg{flex:1;min-height:0}}@media (max-width:767px) and (prefers-reduced-motion:no-preference){.js .core-span .how .chapter-intro{min-height:calc(60svh - 6.5rem);padding-top:1rem;padding-bottom:3rem}}
.certs{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.9rem;margin-top:2.5rem;list-style:none;display:grid}.cert{background:var(--paper);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 12%, transparent);border-radius:16px;grid-template-rows:auto auto 1fr;grid-template-columns:2.6rem 1fr;align-content:start;gap:.25rem 1rem;padding:1.1rem 1.3rem;transition:translate .25s cubic-bezier(.2,.8,.2,1),rotate .25s,box-shadow .25s;display:grid}.cert:hover{box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 12%, transparent), 0 16px 30px -22px color-mix(in oklch, var(--ink) 55%, transparent);translate:0 -3px}.cert h3{font-family:var(--font-display);font-size:var(--step-0);font-weight:650;line-height:1.2}.cert p{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--step--1);grid-column:2}.cert-id{opacity:.85}.cert-mark{background:var(--tint);width:2.6rem;height:2.6rem;font-family:var(--font-display);border-radius:10px;grid-row:span 3;align-self:start;place-items:center;font-size:1.4rem;font-weight:750;display:grid}.cert[data-issuer=gc] .cert-mark{background:color-mix(in oklch, var(--ramp-11) 30%, var(--paper))}@media (prefers-reduced-motion:reduce){.cert{transition:none}.cert:hover{translate:none}}@media (min-width:768px) and (prefers-reduced-motion:no-preference){.js .certs{max-width:64rem;height:31.1rem;display:block;position:relative}.js .cert{top:calc(var(--i) * 5.4rem);left:calc(var(--i) * 5.5rem);width:min(40rem,100% - 22rem);z-index:var(--i);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 12%, transparent), 0 -10px 24px -18px color-mix(in oklch, var(--ink) 45%, transparent);position:absolute}.js .cert:hover,.js .cert:focus-visible{z-index:10;translate:0 -6px;rotate:-.6deg}}.cert:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}
.chat{gap:.8rem;max-width:36rem;margin-top:2.5rem;display:grid}.bubble{border-radius:18px;max-width:85%;padding:.8rem 1.05rem;line-height:1.45}.bubble-in{background:var(--tint);border-bottom-left-radius:6px;justify-self:start}.bubble-out{background:var(--accent-deep);color:#fff;border-bottom-right-radius:6px;justify-self:end}.composer{background:var(--paper);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 16%, transparent);border-radius:22px;align-items:flex-end;gap:.6rem;margin-top:.4rem;padding:.5rem .5rem .5rem 1rem;display:flex}.composer textarea{resize:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:.45rem 0}.composer:focus-within{box-shadow:0 0 0 2px var(--accent-ink)}.composer-send{background:var(--accent-deep);color:#fff;border-radius:999px;padding:.6rem 1.1rem;font-weight:600;text-decoration:none}.chat-note{color:var(--ink-muted);font-size:var(--step--1)}.contact-links{gap:1.25rem;margin-top:2rem;font-weight:600;list-style:none;display:flex}.contact-links a{color:var(--accent-ink);text-underline-offset:4px}.closing{font-family:var(--font-hand);font-size:var(--step-2);color:var(--ink);transform-origin:0;margin-top:4rem;transform:rotate(-1.5deg)}.site-foot{border-top:1px solid color-mix(in oklch, var(--ink) 12%, transparent);font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:5rem;padding-top:1.25rem;display:flex}.site-foot a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:767px){.contact{padding-bottom:6rem}}
.explainer{margin-top:2.5rem}.explainer-cap{color:var(--ink-muted)}.explainer-tag{background:color-mix(in oklch, var(--ramp-8) 30%, var(--paper));font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink);border-radius:5px;margin-right:.4rem;padding:.1rem .5rem;display:inline-block}.explainer-steps{gap:.45rem;margin-top:1.2rem;list-style:none;display:grid;position:relative}.explainer-track{position:relative}.explainer-lane{z-index:0;pointer-events:none;width:2px;height:calc(100% - 2.8rem);position:absolute;top:2rem;left:calc(1.35rem - 1px);overflow:visible}.explainer-lane line{stroke:color-mix(in oklch, var(--ink) 15%, transparent);stroke-width:2px}.explainer-steps button{text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:2.7rem 1fr auto;align-items:center;width:100%;padding:.55rem .9rem .55rem 0;transition:background .2s;display:grid;position:relative}.explainer-steps button:hover,.explainer-steps button[aria-pressed=true]{background:var(--tint)}.explainer-n{background:var(--paper);width:1.9rem;height:1.9rem;box-shadow:0 0 0 2px color-mix(in oklch, var(--ink) 15%, transparent);font-family:var(--font-pixel);border-radius:50%;justify-self:center;place-items:center;font-size:.72rem;display:grid}[aria-pressed=true] .explainer-n{background:var(--accent-deep);color:#fff;box-shadow:none}.explainer-label{font-family:var(--font-display);font-size:var(--step-1);font-weight:650}.explainer-tech{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-muted)}.explainer-detail{background:var(--paper);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 10%, transparent);border-radius:14px;min-height:5.5rem;margin-top:1rem;padding:1rem 1.15rem}.principles{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin-top:3rem;display:grid}.principle{background:var(--tint);border-radius:14px;padding:1.1rem 1.2rem}.principle h3{font-family:var(--font-display);font-size:var(--step-1);font-weight:650}.principle p{color:var(--ink-muted);margin-top:.4rem}
.ship-rail{border-left:2px solid color-mix(in oklch, var(--ink) 14%, transparent);margin-top:2.5rem;list-style:none}.ship-year{grid-template-columns:6rem 1fr;gap:1.5rem;padding:0 0 2rem 1.5rem;display:grid;position:relative}.ship-year:before{content:"";background:var(--paper);width:12px;height:12px;box-shadow:0 0 0 2px var(--accent);border-radius:50%;position:absolute;top:.55rem;left:-7px}.ship-y{font-family:var(--font-display);font-size:var(--step-2);font-weight:700;line-height:1}.ship-year ul{gap:.9rem;list-style:none;display:grid}.ship-year li b{font-family:var(--font-display);font-size:var(--step-1);font-weight:650;display:inline}.ship-year li span{color:var(--ink-muted);display:block}.ship-tag{background:var(--tint);font-family:var(--font-pixel);font-size:var(--step--1);vertical-align:.2em;border-radius:5px;margin-left:.5rem;padding:.05rem .45rem;font-style:normal;display:inline-block}.ship-h{font-family:var(--font-display);font-size:var(--step-2);margin-top:3rem;font-weight:700}.bento{grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.2rem;list-style:none;display:grid}.bento li{background:color-mix(in oklch, var(--c) 26%, var(--paper));border-radius:16px;flex-direction:column;justify-content:space-between;gap:1rem;min-height:8rem;padding:1rem 1.15rem;display:flex}.bento li[data-big]{grid-column:span 2;min-height:11rem}.bento b{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2.2rem,1.5rem + 3vw,4.4rem);font-weight:750;line-height:.9}.bento li[data-big] b{font-size:clamp(3rem,2rem + 5vw,7rem)}.bento span{color:var(--ink)}.not-yet{border:1.5px dashed color-mix(in oklch, var(--ink) 30%, transparent);border-radius:16px;margin-top:2.5rem;padding:1.3rem 1.4rem}.not-yet h3{font-family:var(--font-display);font-size:var(--step-1);font-weight:650}.not-yet ul{color:var(--ink-muted);margin-top:.6rem;padding-left:1.1rem;list-style:outside}@media (max-width:767px){.ship-year{grid-template-columns:1fr;gap:.5rem}.bento{grid-template-columns:1fr 1fr}}.awards{gap:.2rem;margin-top:1rem;list-style:none;display:grid}.awards li{border-bottom:1px solid color-mix(in oklch, var(--ink) 10%, transparent);grid-template-columns:4rem 1fr;column-gap:1rem;padding:.7rem 0;display:grid}.awards-year{font-family:var(--font-pixel);color:var(--ink-muted);grid-row:span 2;padding-top:.15rem}.awards b{font-weight:600}.awards-where{color:var(--ink-muted);font-size:var(--step--1)}@media (prefers-reduced-motion:no-preference){.js .ship-rail-wrap{margin-top:2.5rem;padding:.5rem 0;overflow:hidden}.js .ship-rail{border-left:none;border-top:2px solid color-mix(in oklch, var(--ink) 14%, transparent);width:max-content;margin-top:0;display:flex}.js .ship-year{flex:none;width:min(24rem,78vw);padding:1.6rem 2rem 0 0;display:block}.js .ship-year:before{top:-7px;left:0}.js .ship-y{margin-bottom:.9rem}}
.stack-section{padding:clamp(4.5rem,10vh,7rem) clamp(16px,5vw,6rem)}.stack-title{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2.4rem,1.4rem + 4vw,5.5rem);font-weight:750;line-height:.9}.stack{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1.5rem 2rem;margin-top:3rem;display:grid}.stack h3{font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink-muted);border-bottom:1px solid color-mix(in oklch, var(--ink) 12%, transparent);padding-bottom:.4rem;font-weight:400}.stack ul{gap:.3rem;margin-top:.6rem;list-style:none;display:grid}
.whoami{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(2rem,6vw,7rem);min-height:100svh;padding:clamp(5rem,12vh,9rem) clamp(16px,5vw,6rem);display:grid}.whoami-title{font-family:var(--font-display);font-size:var(--step-3);letter-spacing:-.025em;text-wrap:balance;font-weight:650;line-height:1.05}.whoami-card{background:var(--paper);max-height:calc(100svh - 180px);box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 10%, transparent), 0 28px 60px -36px color-mix(in oklch, var(--ink) 45%, transparent);border-radius:4px 4px 14px 14px;padding:1.5rem 1.6rem 1.75rem;position:relative;overflow:auto;transform:rotate(1.5deg)}.whoami-card:before{content:"";background:radial-gradient(circle at 7px 0, transparent 5px, var(--paper) 5.5px) 0 0 / 14px 8px repeat-x;height:8px;position:absolute;inset:-7px 0 auto}.whoami-head{border-bottom:1px dashed color-mix(in oklch, var(--ink) 25%, transparent);font-family:var(--font-pixel);font-size:var(--step--1);color:var(--ink-muted);justify-content:space-between;margin-bottom:.9rem;padding-bottom:.8rem;display:flex}.whoami-card pre{font-family:var(--font-mono);white-space:pre-wrap;color:var(--ink);font-size:clamp(.78rem,.72rem + .25vw,.95rem);line-height:1.65}.whoami-line{width:100%;display:inline-block}@media (max-width:767px){.whoami{grid-template-columns:1fr;padding-top:4rem}.whoami-card{transform:none}}
