.app__about{flex:1 1;flex-direction:column;width:100%}.app__about-container{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);margin:0 auto;max-width:var(--container);width:100%}@media screen and (max-width:900px){.app__about-container{gap:2.5rem;grid-template-columns:minmax(0,1fr)}}.app__about-bio{align-items:flex-start;display:flex;flex-direction:column}.about-bio-text{color:var(--ink-500);font-size:clamp(.95rem,.9rem + .25vw,1.05rem);line-height:1.85}.about-bio-text p{margin-bottom:1rem}.about-bio-text p:last-child{margin-bottom:0}.about-bio-text strong{color:var(--ink-900);font-weight:700}.cv-download-btn{align-items:center;background:var(--brand);border-radius:var(--radius-pill);box-shadow:0 10px 26px var(--brand-ring);color:#fff;display:inline-flex;font-size:.88rem;font-weight:700;gap:.55rem;padding:.85rem 1.6rem;text-decoration:none;transition:transform .25s var(--ease-out),background-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.cv-download-btn svg{font-size:1.05rem}.cv-download-btn:hover{background:var(--brand-strong);box-shadow:0 16px 34px var(--brand-ring);transform:translateY(-2px)}body.dark-mode .cv-download-btn{color:#14151a}.app__about-system{align-self:center;min-width:0}@media screen and (max-width:900px){.app__about-system{margin-top:1rem}}.section-heading{display:flex;flex-direction:column;gap:.85rem;margin-bottom:3rem;max-width:640px}.section-heading--center{align-items:center;margin-inline:auto;text-align:center}.section-heading--left{align-items:flex-start;text-align:left}.section-heading__label{align-items:center;color:var(--brand);display:inline-flex;font-size:.72rem;font-weight:700;gap:.5rem;letter-spacing:.16em;text-transform:uppercase}.section-heading__label:before{background:var(--brand);border-radius:2px;content:"";height:2px;opacity:.65;width:22px}.section-heading__title{color:var(--ink-900);font-size:clamp(1.9rem,1.2rem + 2.4vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.12}.section-heading__title span{color:var(--brand)}.section-heading__desc{color:var(--ink-500);font-size:clamp(.92rem,.88rem + .2vw,1.02rem);line-height:1.7;max-width:56ch}@media screen and (max-width:600px){.section-heading{margin-bottom:2.25rem}}.query-state{margin-inline:auto;max-width:var(--container);width:100%}.query-state--loading{grid-gap:1.5rem;display:grid;gap:1.5rem}.query-state__bone{animation:query-state-shimmer 1.4s ease-in-out infinite;background:linear-gradient(100deg,var(--line) 30%,var(--line-strong) 50%,var(--line) 70%);background-size:220% 100%;border-radius:var(--radius-sm);display:block}.query-state__text{height:14px}.query-state__text:nth-of-type(2n){width:82%}.query-state__text:last-of-type{width:55%}.query-state--about{align-items:start;gap:4rem;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}@media screen and (max-width:900px){.query-state--about{gap:2.5rem;grid-template-columns:minmax(0,1fr)}}.query-state__bio{grid-gap:.8rem;display:grid;gap:.8rem}.query-state__stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.2rem}.query-state__stat{grid-gap:.45rem;display:grid;gap:.45rem}.query-state__stat-value{height:26px;width:54px}.query-state__stat-label{height:11px;width:78px}.query-state__system{grid-gap:2.4rem;align-self:center;display:grid;gap:2.4rem;padding-top:3.2rem}.query-state__tier{border-radius:var(--radius-sm);height:54px}.query-state--work{gap:0}.query-state__filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:-1rem}.query-state__pill{border-radius:10px;height:38px;width:132px}.query-state__group-head{grid-gap:1.25rem;display:grid;gap:1.25rem;margin:clamp(3rem,6vw,4.5rem) 0 clamp(1.75rem,3.5vw,2.5rem)}.query-state__caption{height:10px}.query-state__title{height:30px;width:72%}.query-state__show{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}@media screen and (min-width:861px){.query-state__show{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);height:min(34rem,100vh - 8.5rem)}}.query-state__show-cover{background:var(--surface-subtle);display:flex;flex-direction:column;gap:.6rem;height:clamp(15rem,40svh,20rem);padding:1.2rem 1.15rem 1rem;position:relative}@media screen and (min-width:601px)and (max-width:860px){.query-state__show-cover{height:clamp(17rem,38svh,22rem)}}@media screen and (min-width:861px){.query-state__show-cover{height:auto;padding:4rem 2rem 1.75rem}}.query-state__show-screen{border-radius:12px;flex:1 1;margin-bottom:.6rem;min-height:0}.query-state__show-kicker{height:10px;width:120px}.query-state__show-name{height:28px;width:68%}@media screen and (min-width:861px){.query-state__show-name{height:38px}}.query-state__show-body{display:flex;flex-direction:column;gap:.95rem;padding:1rem 1.15rem 1.05rem}@media screen and (max-width:860px){.query-state__show-body>.query-state__text{display:none}}@media screen and (min-width:861px){.query-state__show-body{gap:1.2rem;padding:2rem 2.25rem 1.6rem}}.query-state__show-facts{grid-gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}@media screen and (min-width:601px)and (max-width:860px){.query-state__show-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.query-state__show-fact{grid-gap:.4rem;background:var(--surface);display:grid;gap:.4rem;padding:.7rem .8rem .75rem}.query-state__show-value{height:18px;width:52px}.query-state__show-label{height:10px;width:80%}.query-state__show-meta{grid-gap:.7rem;display:grid;gap:.7rem}.query-state__show-line{height:12px;width:62%}.query-state__show-line:nth-of-type(2){width:78%}.query-state__show-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:auto;padding-top:.85rem}.query-state__show-link{height:12px;width:96px}.query-state__show-link:nth-of-type(2){width:80px}.query-state--skills{gap:1.9rem}.query-state__group{grid-gap:.9rem;display:grid;gap:.9rem}.query-state__heading{height:10px;width:108px}.query-state__pills{display:flex;flex-wrap:wrap;gap:.55rem}.query-state__skill{border-radius:var(--radius-pill);height:46px;width:118px}.query-state__skill:nth-of-type(3n){width:96px}.query-state__skill:nth-of-type(4n){width:136px}.query-state--timeline{gap:0;padding-left:2.85rem;position:relative}@media screen and (max-width:600px){.query-state--timeline{padding-left:0}}.query-state__rail{background:var(--line);border-radius:1px;bottom:.6rem;left:8px;position:absolute;top:.6rem;width:2px}@media screen and (max-width:600px){.query-state__rail{display:none}}.query-state__exp-row{align-items:center;border-top:1px solid var(--line);display:flex;gap:.9rem;padding:.95rem}.query-state__exp-row:last-child{border-bottom:1px solid var(--line)}.query-state__mark{border-radius:11px;flex:none;height:34px;width:34px}.query-state__exp-text{grid-gap:.5rem;display:grid;flex:1 1;gap:.5rem;min-width:0}.query-state--testimonial{display:block}.query-state__laptop{margin:0 auto;max-width:1240px;padding:0 clamp(.5rem,3.5vw,2.75rem)}.query-state__lid{background:#0b0b0d;border-radius:clamp(14px,2vw,24px) clamp(14px,2vw,24px) 6px 6px;padding:clamp(8px,1.1vw,13px) clamp(8px,1.1vw,13px) clamp(12px,1.6vw,18px)}.query-state__screen{aspect-ratio:16/9;background:var(--surface);border-radius:clamp(6px,1vw,10px) clamp(6px,1vw,10px) 2px 2px;display:flex;flex-direction:column;overflow:hidden}.query-state__deck{background:linear-gradient(to bottom,var(--line-strong),var(--line));border-radius:2px 2px 50% 50%/2px 2px 100% 100%;height:clamp(12px,1.6vw,18px);margin:0 calc(clamp(.5rem,3.5vw,2.75rem)*-1)}.query-state__chat-head{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:1rem;padding:1rem 1.5rem}.query-state__faces{display:flex;flex-shrink:0}.query-state__faces .query-state__face+.query-state__face{margin-left:-10px}.query-state__face{border-radius:50%;box-shadow:0 0 0 2px var(--surface);height:30px;width:30px}.query-state__progress{border-radius:999px;flex-shrink:0;height:10px;margin-left:auto;width:96px}.query-state__thread{background:var(--surface-subtle);display:flex;flex:1 1;flex-direction:column;gap:1.1rem;min-height:0;padding:1.5rem}.query-state__sys{align-self:center;border-radius:999px;height:22px;max-width:70%;width:280px}.query-state__msg{align-items:flex-start;display:flex;gap:.75rem;width:min(560px,80%)}.query-state__msg--you{align-self:flex-end;justify-content:flex-end;width:auto}.query-state__bubble{grid-gap:.55rem;background:var(--surface);border:1px solid var(--line);border-radius:6px 18px 18px 18px;display:grid;flex:1 1;gap:.55rem;padding:1rem 1.1rem}.query-state__bubble-line{height:12px}.query-state__bubble-line:last-of-type{width:62%}.query-state__you{border-radius:18px 18px 6px 18px;height:44px;max-width:60vw;width:280px}.query-state__composer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem 1.2rem}.query-state__person{border-radius:999px;height:34px;width:104px}.query-state__avatar{border-radius:50%;flex:none;height:40px;width:40px}.query-state__person-text{grid-gap:.4rem;display:grid;flex:1 1;gap:.4rem;min-width:0}.query-state__role{height:13px;width:58%}.query-state__meta{height:11px;width:40%}@media screen and (max-width:600px){.query-state__laptop{padding:0}.query-state__lid{background:none;border-radius:0;padding:0}.query-state__screen{aspect-ratio:auto;border-radius:0;height:85svh}.query-state__deck{display:none}.query-state__chat-head{padding:.85rem 1rem}.query-state__thread{padding:1.25rem .9rem}.query-state__msg{width:100%}}.query-state--logos{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem clamp(1rem,2.6vw,2.2rem);justify-content:center;padding:.75rem 0}.query-state__logo{height:38px;width:clamp(80px,9vw,120px)}.query-state__logo:nth-of-type(2){width:clamp(96px,11vw,148px)}.query-state__logo:nth-of-type(4){width:clamp(70px,8vw,104px)}.query-state--error{align-items:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.6rem;padding:2.5rem 1.5rem;text-align:center}.query-state__title{color:var(--ink-900);font-size:1.05rem;font-weight:700}.query-state__hint{color:var(--ink-500);font-size:.88rem;line-height:1.6;max-width:420px}.query-state__retry{align-items:center;background:var(--brand-soft);border:1px solid var(--brand-ring);border-radius:var(--radius-pill);color:var(--brand);cursor:pointer;display:inline-flex;font:inherit;font-size:.86rem;font-weight:700;gap:.5rem;margin-top:.6rem;padding:.7rem 1.4rem;transition:background-color .25s var(--ease-out),transform .25s var(--ease-out)}.query-state__retry:hover{background:var(--brand-ring);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.query-state__bone{animation:none;background:var(--line)}}@keyframes query-state-shimmer{0%{background-position:110% 0}to{background-position:-110% 0}}.sysmap{--sysmap-label:8rem;--sysmap-indent:1.6rem;--sysmap-glow:0.13;color:var(--ink-400);container:sysmap/inline-size;margin:0;position:relative}body.dark-mode .sysmap{--sysmap-glow:0.22}.sysmap__grid{background-image:radial-gradient(var(--line-strong) .75px,#0000 1px);background-size:20px 20px;inset:-3rem -1.5rem;mask-image:radial-gradient(ellipse 70% 60% at 60% 52%,#000 20%,#0000 72%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 60% 52%,#000 20%,#0000 72%);opacity:.42;pointer-events:none;position:absolute;will-change:transform;z-index:0}body.dark-mode .sysmap__grid{background-image:radial-gradient(#ffffff29 .75px,#0000 1px);opacity:.55}@media(prefers-reduced-motion:reduce){.sysmap__grid{transform:none!important}}.sysmap__caption{border-bottom:1px solid var(--line);color:var(--ink-400);display:flex;font-family:var(--font-mono);font-size:.64rem;gap:1rem;justify-content:space-between;letter-spacing:.14em;margin-bottom:1.75rem;padding-bottom:.8rem;position:relative;text-transform:uppercase;z-index:2}.sysmap__hint:after{content:"Hover a node"}@media(hover:none){.sysmap__hint:after{content:"Tap a node"}}.sysmap__wires{left:0;overflow:visible;pointer-events:none;position:absolute;top:0;z-index:1}.sysmap__edge-track{fill:none;stroke:var(--line-strong);stroke-width:1;stroke-dasharray:2 4;opacity:.75;transition:stroke .3s var(--ease-out),opacity .3s var(--ease-out)}.sysmap__edge-track.is-lit{stroke:var(--brand-ring);opacity:1}.sysmap__edge-track.is-dim{opacity:.35}.sysmap__edge-live{fill:none;stroke:var(--brand);stroke-width:1.15;opacity:.36;transition:opacity .9s var(--ease-out),stroke-width .6s var(--ease-out);visibility:hidden}.sysmap__edge-live[data-state=settled],.sysmap__edge-live[data-state=signal]{visibility:visible}.sysmap__edge-live[data-state=signal]{stroke-width:1.5;opacity:1;transition-duration:.15s}.sysmap__edge-live.is-lit{stroke-width:1.75;opacity:1;transition-duration:.3s}.sysmap__edge-live.is-dim{opacity:.1;transition-duration:.3s}.sysmap__edge-halo{fill:none;stroke:var(--brand);stroke-width:6;stroke-linecap:round;opacity:0;transition:opacity 1.1s var(--ease-out);visibility:hidden}.sysmap__edge-halo[data-state=settled],.sysmap__edge-halo[data-state=signal]{visibility:visible}.sysmap__edge-halo[data-state=signal]{opacity:var(--sysmap-glow);transition-duration:.2s}.sysmap__packet{opacity:0}.sysmap__packet-halo{fill:var(--brand);opacity:var(--sysmap-glow)}.sysmap__packet-core,.sysmap__packet-trail{fill:var(--brand)}.sysmap__rail-track{stroke:var(--line-strong);stroke-width:1.5;opacity:.8}.sysmap__rail-live{fill:none;stroke:var(--brand);stroke-width:1.5;opacity:.7}@media screen and (max-width:900px){.sysmap__history{display:none}}.sysmap__lane{color:var(--ink-400);opacity:.5;transition:opacity .4s var(--ease-out),color .4s var(--ease-out)}.sysmap__lane.is-lit{color:var(--brand);opacity:.95}.sysmap__lane-path{fill:none;stroke-width:1}.sysmap__lane-commit{fill:var(--surface);stroke:currentColor;stroke-width:1}.sysmap__lane-label{fill:currentColor;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em}.sysmap__tiers{display:flex;flex-direction:column;gap:2.4rem;list-style:none;position:relative;z-index:2}.sysmap__tier{padding-left:var(--sysmap-indent)}.sysmap__label,.sysmap__tier{position:relative}.sysmap__commit{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:50%;height:9px;left:calc(var(--sysmap-indent)*-1);position:absolute;top:.32rem;transition:background-color .4s var(--ease-out),border-color .4s var(--ease-out),box-shadow .4s var(--ease-out);width:9px}.is-online .sysmap__commit{background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.sysmap__label-text{align-items:baseline;background:var(--surface);display:inline-flex;flex-wrap:wrap;gap:.15rem .55rem;padding-right:.5rem}.sysmap__index{color:var(--ink-400);font-family:var(--font-mono);font-size:.68rem;font-weight:500;transition:color .4s var(--ease-out)}.is-online .sysmap__index{color:var(--brand)}.sysmap__name{color:var(--ink-500);font-size:.92rem;font-weight:700;line-height:1.3;transition:color .4s var(--ease-out)}.is-online .sysmap__name{color:var(--ink-900)}.sysmap__tagline{color:var(--ink-500);font-size:.78rem;line-height:1.45}.sysmap__nodes{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin-top:.8rem}.sysmap__nodes>li{display:flex;grid-column:var(--col);grid-row:1;min-width:0}.sysmap__node{grid-column-gap:.4rem;grid-row-gap:.1rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;column-gap:.4rem;cursor:default;display:grid;font:inherit;grid-template-areas:"status label" ". meta";grid-template-columns:auto minmax(0,1fr);padding:.6rem .55rem;position:relative;row-gap:.1rem;text-align:left;transition:border-color .35s var(--ease-out),box-shadow .35s var(--ease-out),opacity .3s var(--ease-out);width:100%}.is-online .sysmap__node--primary{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.sysmap__node[data-pulse]{border-color:var(--brand-ring)}.sysmap__node.is-active,.sysmap__node:hover{border-color:var(--brand);box-shadow:0 6px 18px var(--brand-soft)}.sysmap__node.is-linked{border-color:var(--brand-ring)}.sysmap__node.is-dim{opacity:.42}.sysmap__status{border:1.5px solid var(--ink-400);border-radius:50%;grid-area:status;height:7px;transition:background-color .4s var(--ease-out),border-color .4s var(--ease-out),box-shadow .4s var(--ease-out);width:7px}.is-online .sysmap__status{border-color:var(--brand)}.is-online .sysmap__node--primary .sysmap__status{background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}[data-pulse] .sysmap__status{box-shadow:0 0 0 5px var(--brand-ring)}.sysmap__node-label{color:var(--ink-500);font-size:.78rem;font-weight:600;grid-area:label;letter-spacing:-.01em;line-height:1.3;transition:color .4s var(--ease-out)}.is-online .sysmap__node-label{color:var(--ink-700)}.is-online .sysmap__node--primary .sysmap__node-label{color:var(--ink-900)}.sysmap__node-meta{color:var(--ink-400);font-size:.68rem;grid-area:meta;line-height:1.3}.sysmap__meta-part{white-space:nowrap}.sysmap__legend{color:var(--ink-400);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.6rem;gap:.5rem 1.25rem;letter-spacing:.12em;margin-top:2rem;padding-left:var(--sysmap-indent);position:relative;text-transform:uppercase;z-index:2}.sysmap__legend-item{align-items:center;display:inline-flex;gap:.45rem}.sysmap__legend-item:before{content:"";display:block;width:16px}.sysmap__legend-item--live:before{background:var(--brand);box-shadow:0 0 0 2px var(--brand-soft);height:1.5px}.sysmap__legend-item--idle:before{border-top:1px dashed var(--ink-400)}.sysmap__legend-item--history:before{background:linear-gradient(90deg,#0000,var(--ink-400));height:1px}@media screen and (max-width:900px){.sysmap__legend-item--history{display:none}}.sysmap__panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:.3rem;padding:.8rem .95rem .9rem;pointer-events:none;position:absolute;z-index:3}.sysmap__panel-kicker{color:var(--brand);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.sysmap__panel-title{align-items:baseline;color:var(--ink-900);display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:700;gap:.15rem .5rem}.sysmap__panel-title span{color:var(--ink-400);font-size:.72rem;font-weight:500}.sysmap__panel-list{grid-gap:.2rem;display:grid;gap:.2rem;list-style:none;margin-top:.2rem}.sysmap__panel-list li{color:var(--ink-700);font-size:.78rem;line-height:1.5;padding-left:.9rem;position:relative}.sysmap__panel-list li:before{background:var(--brand);content:"";height:1px;left:0;position:absolute;top:.72em;width:6px}@container sysmap (min-width: 520px){.sysmap__tier{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:var(--sysmap-label) minmax(0,1fr);padding-left:0}.sysmap__label{padding-left:var(--sysmap-indent)}.sysmap__commit{left:0}.sysmap__label-text{align-items:flex-start;background:none;display:flex;flex-direction:column;gap:.1rem;padding-right:0}.sysmap__nodes{margin-top:0}.sysmap__node-label{white-space:nowrap}.sysmap__legend{padding-left:calc(var(--sysmap-label) + 1rem)}}@container sysmap (max-width: 419px){.sysmap__edges,.sysmap__grid,.sysmap__history,.sysmap__legend{display:none}.sysmap__tiers{gap:1.6rem}.sysmap__nodes{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.sysmap__nodes>li{grid-column:auto}.sysmap__node{display:inline-flex;gap:.4rem;padding:.45rem .7rem;width:auto}.sysmap__node-meta{display:none}}.proof{--proof-drop:1.35rem;--proof-inset:1.1rem;margin:3.5rem auto 0;max-width:var(--container);width:100%}.proof__caption{border-bottom:1px solid var(--line);color:var(--ink-400);display:flex;font-family:var(--font-mono);font-size:.64rem;gap:1rem;justify-content:space-between;letter-spacing:.14em;padding-bottom:.8rem;text-transform:uppercase}.proof__hint:after{content:"Hover a card to trace it"}@media(hover:none),screen and (max-width:480px){.proof__hint:after{content:none}}.proof__cards{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:var(--proof-drop) 0 0;padding:0}@media screen and (max-width:900px){.proof__cards{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--proof-drop)}}@media screen and (max-width:480px){.proof__cards{gap:var(--proof-drop) .6rem}.proof__note{display:none}}.proof__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;flex-direction:column;padding:1rem var(--proof-inset) 1.05rem;position:relative;transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.proof__card:before{border-left:1px dashed var(--line-strong);bottom:100%;content:"";height:calc(var(--proof-drop) + 1px);left:calc(var(--proof-inset) + 3px);position:absolute;transition:border-color .3s var(--ease-out)}.proof__card:hover{border-color:var(--brand);box-shadow:0 6px 18px var(--brand-soft);transform:translateY(-2px)}.proof__card:hover:before{border-color:var(--brand);border-left-style:solid}@media(prefers-reduced-motion:reduce){.proof__card:hover{transform:none}}.proof__port{background:var(--surface);border:1.5px solid var(--brand);border-radius:50%;height:7px;left:var(--proof-inset);position:absolute;top:-4px;transition:background-color .3s var(--ease-out),box-shadow .3s var(--ease-out);width:7px}.proof__card:hover .proof__port{background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.proof__kind{color:var(--ink-400);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.proof__kind span,.proof__value{color:var(--brand)}.proof__value{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:.75rem}.proof__label{color:var(--ink-900);font-size:.8rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-top:.4rem}.proof__note{color:var(--ink-400);font-size:.72rem;line-height:1.5;margin:.35rem 0 0}.proof__closing{align-items:baseline;color:var(--ink-700);display:flex;font-size:.85rem;font-weight:600;gap:.75rem;letter-spacing:-.01em;margin:1.5rem 0 0}.proof__closing:before{background:var(--brand);content:"";flex-shrink:0;height:1.5px;transform:translateY(-.3em);width:1.5rem}.corner{margin:3.5rem auto 0;max-width:var(--container);scroll-margin-top:6rem;width:100%}.corner__toggle{align-items:baseline;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink-400);cursor:pointer;display:flex;font-family:var(--font-base);gap:1rem;justify-content:space-between;padding:0 0 .8rem;position:relative;text-align:left;width:100%}.corner__toggle:after{background:var(--brand);bottom:-1px;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out) .06s}.corner__toggle.is-open:after,.corner__toggle:hover:after{transform:scaleX(1)}.corner__toggle-fig{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;transition:color .25s var(--ease-out);white-space:nowrap}.corner__toggle.is-open .corner__toggle-fig,.corner__toggle:hover .corner__toggle-fig{color:var(--ink-700)}.corner__toggle-hint{align-items:center;color:var(--brand);display:inline-flex;font-family:var(--font-mono);font-size:.64rem;gap:.6rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}@media screen and (max-width:359px){.corner__toggle-hint>span:first-child{display:none}}.corner__plus{height:9px;position:relative;transition:transform .35s var(--ease-out);width:9px}.corner__plus:after,.corner__plus:before{background:currentColor;content:"";height:1.5px;inset:4px 0 auto;position:absolute}.corner__plus:after,.corner__toggle:hover .corner__plus{transform:rotate(90deg)}.corner__toggle.is-open .corner__plus{transform:rotate(45deg)}.corner__inner{padding-top:1.75rem}.corner__part+.corner__part{margin-top:3.5rem}.corner__subhead{border-bottom:1px dashed var(--line-strong);color:var(--ink-400);display:flex;font-family:var(--font-mono);font-size:.6rem;gap:1rem;justify-content:space-between;letter-spacing:.14em;margin-bottom:1.25rem;padding-bottom:.6rem;text-transform:uppercase}.corner__subhead h3{color:var(--ink-700);font:inherit}.corner__views{display:flex;gap:.4rem;margin:-.5rem -.35rem}.corner__view{background:none;border:0;color:var(--ink-400);cursor:pointer;font:inherit;letter-spacing:inherit;padding:.5rem .35rem;text-transform:inherit;transition:color .2s var(--ease-out)}.corner__view:hover{color:var(--ink-700)}.corner__view[aria-pressed=true]{color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1.5px;text-underline-offset:5px}.corner__tag{border:1px dashed var(--line-strong);border-radius:3px;color:var(--ink-400);display:inline-block;font-size:.55rem;font-weight:400;letter-spacing:.12em;margin-left:.5rem;padding:.1rem .35rem;vertical-align:middle}.corner__placeholder,.corner__tag{font-family:var(--font-mono);text-transform:uppercase}.corner__placeholder{background:repeating-linear-gradient(135deg,#0000 0 10px,var(--line) 10px 11px),var(--surface-subtle);border:1px dashed var(--line-strong);border-radius:inherit;color:var(--ink-400);display:grid;font-size:.58rem;height:100%;letter-spacing:.14em;padding:.75rem;place-items:center;text-align:center;width:100%}.corner__desk{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);position:relative}@media screen and (max-width:900px){.corner__desk{gap:1.5rem;grid-template-columns:minmax(0,1fr)}}.corner__figure{min-width:0}.corner__stage-bar{align-items:baseline;color:var(--ink-400);display:flex;font-family:var(--font-mono);font-size:.58rem;gap:1rem;justify-content:space-between;letter-spacing:.14em;margin-top:.6rem;text-transform:uppercase}.corner__drag-hint:after{content:"Drag to turn"}@media(hover:none){.corner__drag-hint:after{content:"Swipe sideways to turn"}}.corner__reset{background:none;border:0;color:var(--brand);cursor:pointer;font:inherit;letter-spacing:inherit;margin:-.45rem -.3rem;padding:.45rem .3rem;text-transform:inherit}.corner__reset:hover{text-decoration:underline;text-underline-offset:4px}.corner__photo{background:var(--surface-subtle);border-radius:var(--radius-sm);position:relative;width:100%}.corner__photo>img{border-radius:inherit;display:block;height:100%;object-fit:cover;width:100%}.corner__photo--drawing{background:none}.corner__spot{--spot-hit:2.25rem;background:none;border:0;cursor:pointer;display:grid;height:var(--spot-hit);padding:0;place-items:center;position:absolute;transform:translate(-50%,-50%);transition:opacity .3s var(--ease-out);width:var(--spot-hit);z-index:3}@media(pointer:coarse){.corner__spot{--spot-hit:2.75rem}}.corner__photo.is-tracing .corner__spot:not(.is-active):not(.is-preview){opacity:.45}.corner__spot-dot{background:#0b102059;border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0b102059,0 1px 4px #0b102059;height:11px;position:relative;transition:background-color .25s var(--ease-out),box-shadow .25s var(--ease-out),transform .25s var(--ease-out);width:11px}.corner__spot.is-preview .corner__spot-dot,.corner__spot:hover .corner__spot-dot{transform:scale(1.2)}.corner__spot.is-active .corner__spot-dot{background:#fff;box-shadow:0 0 0 4px var(--brand-ring),0 0 0 1px var(--brand),0 1px 4px #0b102059}.corner__spot-dot:after{border:1.5px solid #fff;border-radius:50%;content:"";inset:-2px;opacity:0;position:absolute}.corner__spot.is-active .corner__spot-dot:after{animation:corner-ping .7s var(--ease-out) 1}@keyframes corner-ping{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.corner__spot-label{background:#0b1020e6;border-radius:4px;color:#fff;font-family:var(--font-mono);font-size:.58rem;left:calc(50% + .85rem);letter-spacing:.12em;opacity:0;padding:.3rem .5rem;pointer-events:none;position:absolute;text-transform:uppercase;top:50%;transform:translate(-.25rem,-50%);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out);white-space:nowrap}.corner__spot[data-side=left] .corner__spot-label{left:auto;right:calc(50% + .85rem);transform:translate(.25rem,-50%)}.corner__spot.is-active .corner__spot-label,.corner__spot.is-preview .corner__spot-label,.corner__spot:hover .corner__spot-label{opacity:1;transform:translateY(-50%)}.corner__spot[data-occluded=true]{opacity:.28;pointer-events:none}@media screen and (max-width:600px){.corner__spot-label{display:none}}.corner__leader{left:0;overflow:visible;pointer-events:none;position:absolute;top:0;z-index:2}.corner__leader path{fill:none;stroke-width:1.25;stroke-dasharray:1;stroke-dashoffset:1;animation:corner-draw .32s var(--ease-out) forwards}.corner__leader-photo{stroke:#fff;filter:drop-shadow(0 1px 1.5px rgba(11,16,32,.55))}.corner__desk.is-drawing .corner__leader-photo{stroke:var(--brand);filter:none}.corner__leader .corner__leader-gutter{stroke:var(--brand);animation-delay:.26s}.corner__leader path.is-occluded{stroke-dasharray:.012 .012;stroke-dashoffset:0;animation:none}.corner__leader-end{fill:var(--brand);animation:corner-land .25s var(--ease-out) .55s forwards;opacity:0}@keyframes corner-draw{to{stroke-dashoffset:0}}@keyframes corner-land{to{opacity:1}}@media(prefers-reduced-motion:reduce){.corner__leader .corner__leader-gutter,.corner__leader path,.corner__leader-end{stroke-dashoffset:0;animation:none;opacity:1}}.corner__desk.has-leader .corner__spot.is-active .corner__spot-label{bottom:calc(50% + .8rem);left:50%;right:auto;top:auto;transform:translate(-50%,.2rem)}.corner__desk.has-leader .corner__spot.is-active[data-vert=below] .corner__spot-label{bottom:auto;top:calc(50% + .8rem);transform:translate(-50%,-.2rem)}.corner__desk.has-leader .corner__spot.is-active.is-preview .corner__spot-label,.corner__desk.has-leader .corner__spot.is-active:hover .corner__spot-label{transform:translate(-50%)}.corner__desk.has-leader .corner__spot.is-active:not(.is-preview):not(:hover) .corner__spot-label{opacity:0}.corner__kit{min-width:0}.corner__index{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}@media screen and (min-width:601px)and (max-width:900px){.corner__index{grid-column-gap:2rem;column-gap:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.corner__item{grid-gap:.5rem;align-items:baseline;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink-900);cursor:pointer;display:grid;font-family:var(--font-base);gap:.5rem;grid-template-columns:1.75rem minmax(0,1fr) auto;min-height:2.75rem;padding:.75rem 0;text-align:left;transition:color .25s var(--ease-out),border-color .25s var(--ease-out);width:100%}.corner__item.is-preview,.corner__item:hover{color:var(--brand)}.corner__item.is-active{border-bottom-color:var(--brand);color:var(--brand)}.corner__export{align-items:center;background:none;border:0;color:var(--brand);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:.66rem;gap:.45rem;letter-spacing:.12em;margin-top:1.1rem;padding:.5rem 0;text-transform:uppercase}.corner__export:hover{text-decoration:underline;text-underline-offset:.25em}.corner__export svg{height:1rem;width:1rem}.corner__item-num{color:var(--brand);font-family:var(--font-mono);font-size:.62rem}.corner__item-name{font-size:.9rem;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.corner__item-cat{color:var(--ink-400);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.corner__panel{scroll-margin:6rem 0 1.5rem}.corner__index .corner__detail{border-bottom:1px solid var(--line);border-top:0;margin-top:0;padding-bottom:1rem;padding-top:1rem}.corner__index .corner__detail:before{display:none}.corner__detail{border-top:1px solid var(--line);margin-top:1.75rem;padding-top:1.1rem;position:relative}.corner__detail:before{animation:corner-tick .5s var(--ease-out) .05s both;background:var(--brand);content:"";height:2px;left:0;position:absolute;top:-1px;transform-origin:left;width:2.5rem}@keyframes corner-tick{0%{transform:scaleX(0)}}.corner__detail-head{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:4.75rem minmax(0,1fr);padding-right:2.25rem}.corner__detail--text .corner__detail-head{grid-template-columns:minmax(0,1fr)}.corner__detail-media{aspect-ratio:1;background:var(--surface-subtle);border-radius:6px;overflow:hidden}.corner__detail-media>img{display:block;height:100%;object-fit:cover;width:100%}.corner__kicker{color:var(--ink-400);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.corner__kicker>span:first-child{color:var(--brand)}.corner__detail-name{color:var(--ink-900);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:.35rem}.corner__detail-maker{color:var(--ink-500);font-size:.8rem;margin-top:.2rem}.corner__note{color:var(--ink-700);font-size:.92rem;line-height:1.65;margin-top:1.1rem;max-width:46ch}.corner__note-label{color:var(--brand);display:block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;margin-bottom:.3rem;text-transform:uppercase}.corner__specs{margin:1.1rem 0 0}.corner__specs>div{grid-gap:.75rem;border-top:1px dashed var(--line-strong);display:grid;gap:.75rem;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);padding:.5rem 0}.corner__specs>div:last-child{border-bottom:1px dashed var(--line-strong)}.corner__specs dt{color:var(--ink-400);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;padding-top:.15rem;text-transform:uppercase}.corner__specs dd{color:var(--ink-700);font-size:.82rem;line-height:1.45;margin:0}.corner__pending{color:var(--ink-400)}.corner__link,.corner__pending{font-size:.78rem;margin-top:1rem}.corner__link{align-items:center;color:var(--brand);display:inline-flex;font-weight:700;gap:.35rem;text-decoration:none}.corner__link:hover{text-decoration:underline;text-underline-offset:3px}.corner__close{background:none;border:0;border-radius:50%;color:var(--ink-400);cursor:pointer;display:grid;font-size:1rem;height:2.25rem;padding:0;place-items:center;position:absolute;right:-.4rem;top:.6rem;transition:color .2s var(--ease-out),background-color .2s var(--ease-out);width:2.25rem}.corner__close:hover{background:var(--line);color:var(--ink-900)}.corner__gallery{grid-gap:2rem 1.5rem;align-items:start;display:grid;gap:2rem 1.5rem;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;max-width:54rem;padding:0}@media screen and (max-width:600px){.corner__gallery{gap:1.75rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}}.corner__hobby{min-width:0}@media screen and (min-width:601px){.corner__hobby:nth-child(3n+2){margin-top:2.5rem}}@media screen and (max-width:600px){.corner__hobby:nth-child(2n){margin-top:1.5rem}}.corner__hobby figure{margin:0}.corner__hobby figcaption{display:flex;flex-direction:column;gap:.25rem;margin-top:.7rem}.corner__hobby-media{aspect-ratio:1;background:var(--surface-subtle);border-radius:var(--radius-sm);overflow:hidden;position:relative}.corner__hobby--portrait .corner__hobby-media{aspect-ratio:4/5}.corner__hobby--landscape .corner__hobby-media{aspect-ratio:4/3}.corner__hobby-media>img{display:block;height:100%;object-fit:cover;transition:transform .6s var(--ease-out);width:100%}.corner__viewfinder{--vf-arm:14px;--vf-line:1.5px;--vf-color:#ffffffeb;background:linear-gradient(var(--vf-color),var(--vf-color)) 0 0/var(--vf-arm) var(--vf-line),linear-gradient(var(--vf-color),var(--vf-color)) 0 0/var(--vf-line) var(--vf-arm),linear-gradient(var(--vf-color),var(--vf-color)) 100% 0/var(--vf-arm) var(--vf-line),linear-gradient(var(--vf-color),var(--vf-color)) 100% 0/var(--vf-line) var(--vf-arm),linear-gradient(var(--vf-color),var(--vf-color)) 0 100%/var(--vf-arm) var(--vf-line),linear-gradient(var(--vf-color),var(--vf-color)) 0 100%/var(--vf-line) var(--vf-arm),linear-gradient(var(--vf-color),var(--vf-color)) 100% 100%/var(--vf-arm) var(--vf-line),linear-gradient(var(--vf-color),var(--vf-color)) 100% 100%/var(--vf-line) var(--vf-arm);background-repeat:no-repeat;filter:drop-shadow(0 1px 2px rgba(11,16,32,.45));inset:1.1rem;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s var(--ease-out),inset .45s var(--ease-out)}.corner__viewfinder>span{bottom:.45rem;color:#fff;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.14em;position:absolute;right:.6rem}@media(hover:hover){.corner__hobby:hover .corner__viewfinder{inset:.6rem;opacity:1}.corner__hobby:hover .corner__hobby-media>img{transform:scale(1.04)}.corner__hobby:hover .corner__hobby-title{color:var(--brand)}}@media(prefers-reduced-motion:reduce){.corner__hobby:hover .corner__hobby-media>img{transform:none}}.corner__hobby-num{color:var(--brand);font-family:var(--font-mono);font-size:.6rem;font-weight:400;letter-spacing:.08em;margin-right:.45rem}.corner__hobby-title{color:var(--ink-900);font-size:.85rem;font-weight:700;letter-spacing:-.01em;transition:color .25s var(--ease-out)}.corner__hobby-caption{color:var(--ink-500);font-size:.78rem;line-height:1.55}.app__activity{flex-direction:column;width:100%}.activity{grid-gap:1.25rem;display:grid;gap:1.25rem;margin-inline:auto;max-width:var(--container);width:100%}.activity__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem}.activity__links{display:flex;flex-wrap:wrap;gap:.6rem;margin-left:auto}.activity__links .btn{font-size:.82rem;padding:.65rem 1.15rem}@media screen and (max-width:560px){.activity__links{margin-left:0;width:100%}.activity__links .btn{flex:1 1 auto}}.activity__stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}@media screen and (max-width:560px){.activity__stats{gap:.5rem;grid-template-columns:minmax(0,1fr)}}.activity__stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem}.activity__stat dt{color:var(--ink-400);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.activity__stat dd{display:flex;flex-direction:column;gap:.15rem;margin:0}@media screen and (max-width:560px){.activity__stat{align-items:baseline;flex-direction:row;justify-content:space-between;padding:.8rem 1rem}.activity__stat dd{align-items:flex-end;text-align:right}}.activity__board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0;min-width:0;padding:1.1rem 1.15rem 1rem}@media screen and (max-width:450px){.activity__board{padding:.9rem .75rem .85rem}}.activity__skeleton{grid-gap:1.25rem;display:grid;gap:1.25rem}.activity__skeleton .activity__stat{gap:.55rem}.activity__skeleton--idle .query-state__bone{animation-play-state:paused}.activity__bone-label{height:10px;width:45%}.activity__bone-value{height:28px;width:35%}.activity__bone-calendar{aspect-ratio:53/10;min-height:120px;width:100%}.activity__error{max-width:none}.app__footer{flex:1 1;flex-direction:column;width:100%}.contact{grid-gap:clamp(2.75rem,6vw,6.5rem);align-items:start;display:grid;gap:clamp(2.75rem,6vw,6.5rem);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);margin:0 auto;max-width:var(--container);width:100%}@media screen and (max-width:900px){.contact{gap:3rem;grid-template-columns:minmax(0,1fr)}}.contact__lede .section-heading{margin-bottom:2.75rem}@media screen and (max-width:900px){.contact__lede .section-heading{margin-bottom:2rem}}.contact__links{gap:1.4rem;list-style:none}.contact__link,.contact__links{display:flex;flex-direction:column}.contact__link{gap:.25rem;min-width:0}.contact__link-label{color:var(--ink-400);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contact__link-value{align-self:flex-start;color:var(--ink-900);font-size:clamp(.95rem,.9rem + .25vw,1.08rem);font-weight:600;line-height:1.45;max-width:100%;position:relative;text-decoration:none;transition:color .25s var(--ease-out);word-break:break-word}.contact__link-value:after{background:var(--brand);bottom:-3px;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}.contact__link-value:focus-visible,.contact__link-value:hover{color:var(--brand)}.contact__link-value:focus-visible:after,.contact__link-value:hover:after{transform:scaleX(1)}.contact__panel{min-width:0}.contact-form{display:flex;flex-direction:column;gap:2.1rem}@media screen and (max-width:600px){.contact-form{gap:1.75rem}}.contact-field{display:flex;flex-direction:column;min-width:0;position:relative}.contact-field__head{align-items:baseline;display:flex;gap:.6rem;margin-bottom:.15rem}.contact-field__index{font-feature-settings:"tnum";color:var(--ink-400);font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.08em;transition:color .25s var(--ease-out)}.contact-field label{color:var(--ink-500);font-size:.85rem;font-weight:600;transition:color .25s var(--ease-out)}.contact-field input,.contact-field textarea{background:#0000;border:0;box-sizing:border-box;color:var(--ink-900);font-family:var(--font-base);font-size:clamp(1rem,.95rem + .3vw,1.12rem);font-weight:500;outline:none;padding:.5rem 0 .8rem;width:100%}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--ink-400)}.contact-field input:focus,.contact-field input:focus-visible,.contact-field textarea:focus,.contact-field textarea:focus-visible{outline:none}.contact-field textarea{line-height:1.6;min-height:116px;resize:vertical}.contact-field__rule{background:var(--line-strong);display:block;height:1px;position:relative;width:100%}.contact-field__rule-fill{background:var(--brand);height:2px;left:0;position:absolute;right:0;top:-1px;transform:scaleX(0);transform-origin:left}.contact-field__error{color:#ef4444;font-size:.8rem;margin-top:.55rem}.contact-field__count{font-feature-settings:"tnum";color:var(--ink-400);font-family:var(--font-mono);font-size:.7rem;font-variant-numeric:tabular-nums;margin-left:auto;transition:color .25s var(--ease-out)}.contact-field__count[data-near]{color:var(--brand)}.contact-field.is-active label,.contact-field.is-filled label{color:var(--ink-900)}.contact-field.is-active .contact-field__index,.contact-field.is-filled .contact-field__index{color:var(--brand)}.contact-field.is-error .contact-field__index,.contact-field.is-error label{color:#ef4444}.contact-field.is-error .contact-field__rule{background:#ef4444}.contact-form__honeypot{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.contact-form__actions{align-items:flex-start;display:flex;flex-direction:column;gap:.9rem;margin-top:.4rem}.contact-form__submit-error{color:#ef4444;font-size:.82rem}.contact-submit{background:var(--brand);border:none;border-radius:var(--radius-pill);box-shadow:0 10px 26px var(--brand-ring);color:#fff;cursor:pointer;font-family:var(--font-base);font-size:.92rem;font-weight:700;min-width:200px;padding:1.05rem 2.4rem;transition:background-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.contact-submit,.contact-submit .btn-content{align-items:center;display:inline-flex;justify-content:center}.contact-submit .btn-content{gap:.6rem}.contact-submit .btn-icon-wrap{display:inline-flex}.contact-submit .btn-icon{font-size:1rem;transform:rotate(45deg)}.contact-submit .btn-spinner{animation:contact-spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:15px;width:15px}.contact-submit:hover:not(:disabled){background:var(--brand-strong);box-shadow:0 16px 34px var(--brand-ring)}.contact-submit:disabled{cursor:not-allowed;opacity:.85}body.dark-mode .contact-submit{color:#14151a}body.dark-mode .contact-submit .btn-spinner{border-color:#14151a #14151a59 #14151a59}@media screen and (max-width:560px){.contact-submit{width:100%}}@keyframes contact-spin{to{transform:rotate(1turn)}}.contact-success{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem}.contact-success__label{color:var(--brand);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.contact-success__title{color:var(--ink-900);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.contact-success__title span{color:var(--brand)}.contact-success__title:focus{outline:none}.contact-success__title:focus-visible{border-radius:4px;outline:2px solid var(--brand);outline-offset:4px}.contact-success__text{color:var(--ink-500);font-size:.95rem;line-height:1.7;max-width:46ch}.contact-success__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}.contact-ghost-btn{background:#0000;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-700);cursor:pointer;font-family:var(--font-base);font-size:.85rem;font-weight:700;padding:.75rem 1.5rem;transition:border-color .25s var(--ease-out),color .25s var(--ease-out)}.contact-ghost-btn:hover{border-color:var(--brand);color:var(--brand)}.tech-card{animation:tech-card-enter .5s var(--ease-out) .55s backwards;animation:tech-card-enter .5s var(--ease-out) var(--enter-delay,.55s) backwards;pointer-events:auto;position:absolute;z-index:3}.tech-card__float{animation:tech-card-float 5s ease-in-out 0s infinite;animation:tech-card-float var(--float-duration,5s) ease-in-out var(--float-delay,0s) infinite}.tech-card__inner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);cursor:default;overflow:hidden;padding:.55rem .85rem .55rem .6rem;position:relative;transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out),background-color .3s var(--ease-out);will-change:transform}.tech-card__faces{display:grid}.tech-card__face{align-items:center;display:flex;gap:.6rem;grid-area:1/1}.tech-card__face.is-off{opacity:0;pointer-events:none}.tech-card__icon{align-items:center;background:var(--surface-subtle);border-radius:50%;display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.tech-card__icon img{height:20px;object-fit:contain;width:20px}.tech-card__text{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}.tech-card__text strong{color:var(--ink-900);font-size:.8rem;font-weight:700}.tech-card__face--ai .tech-card__icon{background:#fff;box-shadow:inset 0 0 0 1px #0b10201a}.tech-card.is-ai .tech-card__inner{background:linear-gradient(135deg,var(--brand-soft),#0000 62%),var(--surface);border-color:var(--brand-ring);box-shadow:var(--shadow-md),0 0 0 3px var(--brand-soft)}.tech-card.is-glitching .tech-card__faces{animation:tech-card-slice .42s linear both}.tech-card.is-glitching .tech-card__inner{animation:tech-card-flicker .42s linear both}.tech-card.is-glitching .tech-card__text strong{animation:tech-card-split .42s linear both}.tech-card__scan{animation:tech-card-scan .42s linear both;background:repeating-linear-gradient(180deg,#8b93ff00 0 2px,#8b93ff4d 2px 3px);border-radius:inherit;inset:0;pointer-events:none;position:absolute}.tech-card--ts{left:-4%;top:4%}.tech-card--next{right:-6%;top:17%}.tech-card--react{left:-8%;top:50%}.tech-card--mobile{right:-4%;top:63%}.tech-card--firebase{bottom:3%;left:20%}@media screen and (max-width:1100px){.tech-card--ts{left:-1%}.tech-card--next{right:-2%}.tech-card--react{left:-3%}.tech-card--mobile{right:-1%}}@media screen and (max-width:780px){.tech-card__inner{padding:.45rem .7rem .45rem .5rem}.tech-card__face{gap:.5rem}.tech-card__icon{height:28px;width:28px}.tech-card__icon img{height:17px;width:17px}.tech-card__text strong{font-size:.72rem}.tech-card--ts{left:0;top:2%}.tech-card--next{right:0;top:14%}.tech-card--react{left:-2%;top:52%}.tech-card--mobile{right:-1%;top:64%}.tech-card--firebase{bottom:2%;left:26%}}@media screen and (max-width:420px){.tech-card--ts{left:0;top:1%}.tech-card--next{right:0;top:13%}.tech-card--react{left:0;top:54%}.tech-card--mobile{right:0;top:66%}.tech-card--firebase{bottom:1%;left:28%}}@media screen and (max-width:640px){.tech-card--ts{top:0}.tech-card--react,.tech-card--ts{left:max(-16%,50% - 50vw + .75rem)}.tech-card--mobile,.tech-card--next{right:max(-16%,50% - 50vw + .75rem)}}@keyframes tech-card-enter{0%{opacity:0;transform:translateY(12px) scale(.8)}}@keyframes tech-card-float{50%{transform:translate(0) rotate(0deg);transform:translate(var(--float-x,0),var(--float-y,0)) rotate(var(--float-r,0deg))}}@keyframes tech-card-slice{0%{clip-path:inset(0 0 0 0);transform:none}12%{clip-path:inset(16% 0 36% 0);transform:translate3d(-3px,1px,0) skewX(-7deg)}24%{clip-path:inset(54% 0 10% 0);transform:translate3d(4px,-2px,0) skewX(5deg)}38%{clip-path:inset(4% 0 68% 0);transform:translate3d(-2px,2px,0)}50%{clip-path:inset(44% 0 26% 0);transform:translate3d(5px,0,0) skewX(-4deg)}62%{clip-path:inset(72% 0 6% 0);transform:translate3d(-4px,-1px,0)}76%{clip-path:inset(20% 0 50% 0);transform:translate3d(2px,1px,0) skewX(3deg)}88%{clip-path:inset(0 0 0 0);transform:translate3d(-1px,0,0)}to{clip-path:inset(0 0 0 0);transform:none}}@keyframes tech-card-flicker{0%,to{filter:drop-shadow(0 0 0 rgba(255,0,72,0)) drop-shadow(0 0 0 rgba(0,229,255,0));opacity:1}14%{filter:drop-shadow(2px 0 0 rgba(255,0,72,.75)) drop-shadow(-2px 0 0 rgba(0,229,255,.75));opacity:.78}32%{filter:drop-shadow(-3px 0 0 rgba(255,0,72,.6)) drop-shadow(3px 0 0 rgba(0,229,255,.6));opacity:.94}50%{filter:drop-shadow(2px 0 0 rgba(255,0,72,.8)) drop-shadow(-2px 0 0 rgba(0,229,255,.8));opacity:.7}70%{filter:drop-shadow(-2px 0 0 rgba(255,0,72,.5)) drop-shadow(2px 0 0 rgba(0,229,255,.5));opacity:.96}86%{filter:drop-shadow(1px 0 0 rgba(255,0,72,.3)) drop-shadow(-1px 0 0 rgba(0,229,255,.3));opacity:.88}}@keyframes tech-card-split{0%,to{text-shadow:none}16%{text-shadow:-1.6px 0 #ff0048e6,1.6px 0 #00e5ffe6}40%{text-shadow:1.8px 0 #ff0048d9,-1.8px 0 #00e5ffd9}64%{text-shadow:-1.2px 0 #ff0048b3,1.2px 0 #00e5ffb3}84%{text-shadow:.6px 0 #ff004866,-.6px 0 #00e5ff66}}@keyframes tech-card-scan{0%{background-position-y:0}to{background-position-y:15px}}.brief-trigger{align-items:center;background:none;border:0;color:var(--brand);cursor:pointer;display:inline-flex;font:inherit;font-size:.86rem;font-weight:700;gap:.45rem;margin-top:1rem;padding:0}@media(pointer:coarse){.brief-trigger{margin:.55rem 0 -.45rem;padding:.45rem 0}}.brief-trigger svg{transition:translate .25s var(--ease-out)}.brief-trigger:focus-visible svg,.brief-trigger:hover svg{translate:4px 0}.brief-trigger:hover{text-decoration:underline;text-underline-offset:4px}.brief-trigger__lead{color:var(--ink-500);font-weight:500}.brief{--brief-grid:#313bac12;--brief-grid-major:#313bac1f;background:#0000;border:0;color:var(--ink-900);margin:auto;max-height:calc(100dvh - 2rem);max-width:none;overflow:visible;padding:0;text-align:left;width:min(920px,100vw - 2rem)}body.dark-mode .brief{--brief-grid:#8b93ff12;--brief-grid-major:#8b93ff21}.brief::backdrop{background:#080a148c}.brief[open]{animation:brief-in .28s var(--ease-out)}.brief[open]::backdrop{animation:brief-fade .28s var(--ease-out)}.brief[data-closing]{animation:brief-out .2s ease-in forwards}.brief[data-closing]::backdrop{animation:brief-fade-out .2s ease-in forwards}html:has(.brief[open]){overflow:hidden;scrollbar-gutter:stable}@keyframes brief-in{0%{opacity:0;translate:0 10px}}@keyframes brief-out{to{opacity:0;translate:0 8px}}@keyframes brief-fade{0%{opacity:0}}@keyframes brief-fade-out{to{opacity:0}}.brief__card{background:var(--surface);border:1px solid var(--line-strong);border-radius:20px;box-shadow:0 40px 90px -30px #080a1480;display:flex;flex-direction:column;max-height:calc(100dvh - 2rem);overflow:hidden;position:relative}.brief__card:before{animation:brief-grid .6s var(--ease-out) .12s backwards;background-image:linear-gradient(var(--brief-grid-major) 1px,#0000 1px),linear-gradient(90deg,var(--brief-grid-major) 1px,#0000 1px),linear-gradient(var(--brief-grid) 1px,#0000 1px),linear-gradient(90deg,var(--brief-grid) 1px,#0000 1px);background-position:-1px -1px;background-size:80px 80px,80px 80px,16px 16px,16px 16px;content:"";inset:0;mask-image:radial-gradient(120% 90% at 0 0,#000 25%,#0000 75%);-webkit-mask-image:radial-gradient(120% 90% at 0 0,#000 25%,#0000 75%);pointer-events:none;position:absolute}.brief__card>*{position:relative}@keyframes brief-grid{0%{opacity:0}}.brief__marks{inset:10px;pointer-events:none;position:absolute!important}.brief__marks i{border-color:var(--ink-400);border-style:solid;border-width:0;height:12px;opacity:.55;position:absolute;width:12px}.brief__marks i:first-child{border-left-width:1px;border-top-width:1px;left:0;top:0}.brief__marks i:nth-child(2){border-right-width:1px;border-top-width:1px;right:0;top:0}.brief__marks i:nth-child(3){border-bottom-width:1px;border-left-width:1px;bottom:0;left:0}.brief__marks i:nth-child(4){border-bottom-width:1px;border-right-width:1px;bottom:0;right:0}.brief[open]:not([data-closing]) .brief__block,.brief[open]:not([data-closing]) .brief__head,.brief[open]:not([data-closing]) .brief__signoff{animation:brief-settle .4s var(--ease-out) backwards}.brief[open]:not([data-closing]) .brief__head{animation-delay:.06s}.brief[open]:not([data-closing]) .brief__col:first-child .brief__block:first-child{animation-delay:.1s}.brief[open]:not([data-closing]) .brief__col:last-child .brief__block:first-child{animation-delay:.14s}.brief[open]:not([data-closing]) .brief__col:first-child .brief__block:nth-child(2){animation-delay:.18s}.brief[open]:not([data-closing]) .brief__col:last-child .brief__block:nth-child(2){animation-delay:.22s}.brief[open]:not([data-closing]) .brief__signoff{animation-delay:.26s}@media(prefers-reduced-motion:reduce){.brief,.brief *,.brief :before{animation-delay:0s!important}}@keyframes brief-settle{0%{opacity:0;translate:0 6px}}.brief__caption{border-bottom:1px solid var(--line);color:var(--ink-400);display:flex;font-family:var(--font-mono);font-size:.64rem;gap:1rem;justify-content:space-between;letter-spacing:.14em;margin-bottom:.7rem;padding-bottom:.45rem;text-transform:uppercase}.brief__caption span:first-child{color:var(--ink-500)}.brief__head{padding:1.15rem 4.25rem .9rem 2rem}.brief__id{align-items:center;display:flex;gap:1.1rem}.brief__photo{background:var(--surface-subtle);border-radius:14px;box-shadow:0 0 0 1px var(--line-strong),0 0 0 5px var(--surface),0 0 0 6px var(--line);flex-shrink:0;height:54px;object-fit:cover;object-position:top;width:54px}.brief__who{flex:1 1;min-width:0}.brief__name{color:var(--ink-900);font-size:1.5rem;font-weight:800;letter-spacing:-.025em;line-height:1.1}.brief__role{color:var(--ink-500);font-size:.92rem;font-weight:500;margin-top:.25rem}.brief__status{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-900);display:inline-flex;font-size:.76rem;font-weight:700;gap:.45rem;padding:.4rem .8rem;white-space:nowrap}.brief__where{color:var(--ink-500);display:none;font-weight:500;white-space:pre}.brief__live{background:#16a34a;border-radius:50%;box-shadow:0 0 0 3px #16a34a2e;height:7px;width:7px}body.dark-mode .brief__live{background:#34d399;box-shadow:0 0 0 3px #34d39933}.brief__close{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--ink-500);cursor:pointer;display:inline-flex;font-size:1.05rem;height:2.2rem;justify-content:center;position:absolute!important;right:1.1rem;top:.9rem;transition:color .2s var(--ease-out),border-color .2s var(--ease-out);width:2.2rem;z-index:2}.brief__close:hover{border-color:var(--line-strong);color:var(--ink-900)}.brief__close:focus-visible{border-radius:50%}.brief__grid{grid-gap:0 2.75rem;display:grid;gap:0 2.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);overflow-y:auto;overscroll-behavior:contain;padding:.6rem 2rem 1rem}.brief__col{display:flex;flex-direction:column;gap:1rem;min-width:0}.brief__timeline{list-style:none;margin:0;padding:0}.brief__timeline li{grid-gap:.05rem .75rem;display:grid;gap:.05rem .75rem;grid-template-columns:minmax(0,1fr) auto;padding:0 0 .7rem 1.3rem;position:relative}.brief__timeline li:before{background:var(--surface);border:1.5px solid var(--brand);border-radius:50%;box-sizing:border-box;content:"";height:9px;left:0;position:absolute;top:.38rem;width:9px}.brief__timeline li:not(:last-child):after{border-left:1px dashed var(--line-strong);bottom:.1rem;content:"";left:4px;position:absolute;top:1.05rem}.brief__timeline li[data-current]:before{background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.brief__company{align-items:center;color:var(--ink-900);display:inline-flex;font-size:.95rem;font-weight:700;gap:.5rem}.brief__now{background:var(--brand-soft);border-radius:var(--radius-pill);color:var(--brand);font-size:.62rem;font-weight:800;letter-spacing:.08em;padding:.08rem .45rem;text-transform:uppercase}.brief__years{color:var(--ink-400);font-family:var(--font-mono);font-size:.7rem;white-space:nowrap}.brief__roles{color:var(--ink-700);font-size:.84rem;grid-column:1/-1}.brief__focus{color:var(--ink-400);font-size:.76rem;grid-column:1/-1}.brief__certs{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.brief__certs li{align-items:center;color:var(--ink-700);display:flex;font-size:.84rem;gap:.65rem}.brief__certs b{border:1px solid var(--brand-ring);border-radius:4px;color:var(--brand);font-family:var(--font-mono);font-size:.68rem;font-weight:500;min-width:3.9rem;padding:.12rem .45rem;text-align:center;white-space:nowrap}.brief__bone{display:block;grid-column:1/-1;height:11px;margin-top:.35rem;width:70%}.brief__bone--title{height:14px;margin-top:0;width:48%}.brief__bone--short{width:36%}.brief__projects .brief__loading .brief__bone{grid-column:2}.brief__projects{list-style:none;margin:0;padding:0}.brief__projects li{grid-gap:.15rem 0;border-top:1px dashed var(--line-strong);display:grid;gap:.15rem 0;grid-template-columns:2.8rem minmax(0,1fr);padding:.55rem 0}.brief__projects li:first-child{border-top:0;padding-top:.1rem}.brief__projects li>:not(.brief__index){grid-column:2}.brief__index{color:var(--brand);font-family:var(--font-mono);font-size:.68rem;grid-row:span 3;padding-top:.2rem}.brief__project{color:var(--ink-900);font-size:.95rem;font-weight:700}.brief__meta{color:var(--ink-500);font-size:.78rem}.brief__facts{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.brief__fact{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink-500);display:inline-flex;font-size:.72rem;gap:.3rem;padding:.2rem .55rem}.brief__fact b{color:var(--ink-900);font-weight:800}.brief__fact[data-status]{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand)}.brief__fact[data-status] b{color:var(--brand)}.brief__dot{background:#16a34a;border-radius:50%;height:6px;width:6px}body.dark-mode .brief__dot{background:#34d399}.brief__more{align-items:center;color:var(--brand);display:inline-flex;font-size:.8rem;font-weight:700;gap:.35rem;margin-left:2.8rem;margin-top:.2rem;text-decoration:none}.brief__more svg{transition:translate .2s var(--ease-out)}.brief__more:hover svg{translate:3px 0}.brief__stack{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:0;padding:0}.brief__stack li{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink-700);font-size:.72rem;font-weight:600;padding:.2rem .5rem}.brief__figures{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0 2rem .4rem;padding:0}.brief__figures li{border-left:1px dashed var(--line-strong);display:flex;flex-direction:column;gap:.25rem;padding:.55rem 1rem .6rem}.brief__figures li:first-child{border-left:0;padding-left:0}.brief__figures b{font-feature-settings:"tnum";color:var(--ink-900);font-size:1.45rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.03em;line-height:1}.brief__figures span{color:var(--ink-400);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.brief__signoff{align-items:center;background:var(--surface);border-top:1px solid var(--line-strong);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:.85rem 2rem 1.15rem}.brief__signoff .brief__caption{grid-column:1/-1;margin-bottom:.6rem}.brief__reach{grid-column:1/3;min-width:0}.brief__reach-line{align-items:baseline;display:flex;flex-wrap:wrap;gap:.2rem .85rem}.brief__email{align-items:center;color:var(--ink-900);display:inline-flex;font-size:clamp(1.15rem,.95rem + .7vw,1.45rem);font-weight:800;gap:.45rem;letter-spacing:-.02em;text-decoration:underline;text-decoration-color:var(--brand-ring);text-decoration-thickness:2px;text-underline-offset:.22em;transition:text-decoration-color .2s var(--ease-out)}.brief__email svg{color:var(--brand);flex-shrink:0;font-size:.85em;transition:translate .2s var(--ease-out)}.brief__email:hover{text-decoration-color:var(--brand)}.brief__email:hover svg{translate:4px 0}.brief__copy-email{align-self:center;background:none;border:0;border-radius:8px;color:var(--ink-400);cursor:pointer;display:inline-grid;font-size:1.05rem;height:30px;padding:0;place-items:center;transition:color .2s var(--ease-out),background-color .2s var(--ease-out);width:30px}.brief__copy-email:hover{background:var(--brand-soft);color:var(--ink-900)}.brief__utils{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;grid-column:3/5;justify-content:space-between;list-style:none;margin:0;padding:0 0 0 calc(1rem + 1px)}.brief__utils a,.brief__utils button{align-items:baseline;background:none;border:0;color:var(--ink-700);cursor:pointer;display:inline-flex;font:inherit;font-size:.84rem;font-weight:600;gap:.35rem;padding:0;text-decoration:none;transition:color .2s var(--ease-out);white-space:nowrap}.brief__utils a:hover,.brief__utils button:hover{color:var(--ink-900)}.brief__utils a:hover .brief__glyph,.brief__utils button:hover .brief__glyph{color:var(--brand)}.brief__utils .brief__social{align-items:center;border-left:1px solid var(--line-strong);display:flex;gap:.85rem;padding-left:1.25rem}.brief__utils .brief__social a{align-items:center;color:var(--ink-500);font-size:1.05rem}.brief__utils .brief__social a:hover{color:var(--brand)}.brief__utils small{color:var(--ink-400);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em}.brief__glyph{color:var(--ink-400);font-size:.8rem;transition:color .2s var(--ease-out)}.brief__glyph svg{display:block;translate:0 .1em}@media screen and (min-width:681px)and (max-width:960px){.brief__reach,.brief__signoff .brief__caption,.brief__utils{grid-column:1/-1}.brief__utils{gap:.5rem 2rem;justify-content:flex-start;margin-top:.7rem;padding-left:0}}@media screen and (max-width:680px){.brief{margin:auto 0 0;max-height:92dvh;width:100vw}.brief[open]{animation:brief-up .3s var(--ease-out)}.brief[data-closing]{animation:brief-down .2s ease-in forwards}.brief__card{border-bottom:0;border-radius:20px 20px 0 0;max-height:92dvh}.brief__head{padding:1.3rem 1.2rem 1.1rem}.brief__head .brief__caption{padding-right:2.75rem}.brief__head .brief__caption span:last-child:not(:first-child){display:none}.brief__where{display:inline}.brief__id{flex-wrap:wrap;row-gap:.8rem}.brief__who{flex-basis:calc(100% - 52px - 1.1rem);flex-grow:1;flex-shrink:1}.brief__photo{border-radius:12px;height:52px;width:52px}.brief__name{font-size:1.3rem}.brief__grid{gap:1.6rem;grid-template-columns:minmax(0,1fr);padding:0 1.2rem 1.25rem}.brief__figures{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 1.2rem .75rem}.brief__figures li{padding:.75rem 0 .8rem}.brief__figures li:nth-child(2n){padding-left:1rem}.brief__figures li:nth-child(odd){border-left:0}.brief__figures li:nth-child(n+3){border-top:1px dashed var(--line-strong)}.brief__figures b{font-size:1.5rem}.brief__signoff{grid-template-columns:minmax(0,1fr);padding:.8rem 1.2rem calc(1rem + env(safe-area-inset-bottom));row-gap:0}.brief__signoff .brief__caption{grid-column:1/-1}.brief__signoff .brief__caption span:last-child:not(:first-child){display:inline}.brief__reach,.brief__utils{grid-column:1/-1}.brief__utils{border-top:1px dashed var(--line-strong);gap:.6rem 1rem;margin-top:.9rem;padding:.85rem 0 0}}@keyframes brief-up{0%{translate:0 100%}}@keyframes brief-down{to{translate:0 100%}}.hero{--gh-border:#d1d9e0;--gh-green:#1a7f37;--gh-go:#1f883d;--gh-purple:#8250df;--gh-link:#0969da;--gh-branch:#ddf4ff;--gh-accent:#fd8c73;--gh-red:#cf222e;--gh-counter:#818b9824;--gh-add:#dafbe1;--gh-add-num:#aceebb;--gh-del:#ffebe9;--gh-del-num:#ffcecb;--gh-ms:#0a5bb4;--gh-ms-bg:#0078d414;--gh-ms-ring:#0078d452;--gh-ring:#fff}body.dark-mode .hero{--gh-border:#3d444d;--gh-green:#3fb950;--gh-go:#238636;--gh-purple:#8957e5;--gh-link:#4493f8;--gh-branch:#388bfd1f;--gh-red:#f85149;--gh-counter:#656c764d;--gh-add:#2ea04326;--gh-add-num:#3fb9504d;--gh-del:#f851491a;--gh-del-num:#f851494d;--gh-ms:#79c0ff;--gh-ms-bg:#388bfd1f;--gh-ms-ring:#388bfd66;--gh-ring:#101114}.pr-part{text-align:left;width:100%}.pr-meta{align-items:flex-start;color:var(--ink-500);display:flex;font-size:.9rem;gap:.6rem;line-height:1.7;margin-top:1.1rem}.pr-meta b{color:var(--ink-900);font-weight:600}.pr-meta code{background:var(--gh-branch);border-radius:6px;color:var(--gh-link);font-family:var(--font-mono);font-size:.78rem;padding:.1rem .4rem;white-space:nowrap}.pr-state{align-items:center;background:var(--gh-go);border-radius:2em;color:#fff;display:inline-flex;flex:none;font-size:.86rem;font-weight:600;gap:.35rem;height:30px;line-height:1;padding:0 .75rem 0 .6rem;transition:background-color .3s var(--ease-out)}.pr-state svg{font-size:1rem}.pr-state[data-merged]{background:var(--gh-purple)}.pr-labels{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.55rem 0 0;padding:0}.pr-label{align-items:center;border:1px solid;border-radius:2em;display:inline-flex;font-size:.74rem;font-weight:600;gap:.4rem;line-height:22px;padding:0 .6rem;white-space:nowrap}.pr-label--ms{background:var(--gh-ms-bg);border-color:var(--gh-ms-ring);color:var(--gh-ms)}.pr-label--ok{background:color-mix(in srgb,var(--gh-green) 10%,#0000);border-color:color-mix(in srgb,var(--gh-green) 40%,#0000);color:var(--gh-green)}.pr-ms{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(2,5px)}.pr-ms i{height:5px;width:5px}.pr-ms i:first-child{background:#f25022}.pr-ms i:nth-child(2){background:#7fba00}.pr-ms i:nth-child(3){background:#00a4ef}.pr-ms i:nth-child(4){background:#ffb900}.pr-body{margin-top:.85rem;position:relative;z-index:4}.pr-tabs{align-items:center;box-shadow:inset 0 -1px var(--gh-border);display:flex;gap:.1rem;overflow-x:auto;scrollbar-width:none}.pr-tabs::-webkit-scrollbar{display:none}@media screen and (min-width:641px){.pr-tabs{min-width:100%;overflow:visible;width:max-content}}.pr-tabs .pr-tabs__stat{margin-left:auto;padding-left:1.25rem}@media screen and (max-width:640px){.pr-tabs .pr-tabs__stat{display:none}}.pr-tab{align-items:center;background:none;border:0;color:var(--ink-500);cursor:pointer;display:inline-flex;flex:none;font:inherit;font-size:.84rem;font-weight:500;gap:.4rem;padding:.55rem .55rem .6rem;position:relative;transition:color .2s var(--ease-out);white-space:nowrap}.pr-tab>svg{font-size:1rem}.pr-tab:hover{color:var(--ink-900)}.pr-tab[aria-selected=true]{color:var(--ink-900);font-weight:600}.pr-tab[aria-selected=true]:after{background:var(--gh-accent);border-radius:6px;bottom:0;content:"";height:2px;left:.4rem;position:absolute;right:.4rem}.pr-tab:focus-visible{border-radius:8px;outline:2px solid var(--brand);outline-offset:-3px}.pr-tab__count{background:var(--gh-counter);border-radius:2em;color:var(--ink-900);font-size:.72rem;font-weight:500;line-height:18px;min-width:20px;padding:0 .4rem;text-align:center}.pr-diffstat{font-feature-settings:"tnum";align-items:center;display:inline-flex;flex:none;font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.4rem;white-space:nowrap}.pr-diffstat__add{color:var(--gh-green)}.pr-diffstat__del{color:var(--gh-red)}.pr-diffstat__blocks{display:inline-flex;gap:2px;margin-left:.15rem}.pr-diffstat__blocks i{background:var(--gh-counter);border-radius:2px;box-shadow:inset 0 0 0 1px #7f7f7f26;height:8px;width:8px}.pr-diffstat__blocks i[data-kind=add]{background:var(--gh-green);box-shadow:none}.pr-diffstat__blocks i[data-kind=del]{background:repeating-linear-gradient(-45deg,var(--gh-red) 0 1.5px,color-mix(in srgb,var(--gh-red) 55%,#0000) 1.5px 3px);box-shadow:none}.pr-panes{display:grid;padding-top:.85rem}.pr-pane{grid-area:1/1;min-width:0;transition:opacity .18s var(--ease-out),visibility .18s}.pr-pane:not([data-on]){opacity:0;visibility:hidden}.pr-swipe{align-items:center;color:var(--ink-500);display:flex;font-size:.7rem;gap:5px;margin:.55rem 0 -.3rem}.pr-swipe i{background:var(--gh-border);border-radius:6px;height:6px;transition:width .25s var(--ease-out),background-color .25s var(--ease-out);width:6px}.pr-swipe i[data-on]{background:var(--gh-accent);width:16px}.pr-swipe span{margin-left:.3rem}.pr-tl{padding-left:52px;position:relative}.pr-av{background:var(--surface-subtle);border-radius:50%;box-shadow:0 0 0 1px var(--gh-border);display:block;flex:none;overflow:hidden}.pr-av img{height:100%;object-fit:cover;width:100%}.pr-av--me img{object-position:50% 0;transform:scale(2.1);transform-origin:50% 12%}.pr-tl__av{height:40px;left:0;position:absolute;top:0;width:40px}.pr-initials{color:var(--ink-700);display:grid;font-size:.6rem;font-weight:700;height:100%;place-items:center;width:100%}.pr-cmt{background:var(--surface);border:1px solid var(--gh-border);border-radius:6px;position:relative}.pr-cmt:after,.pr-cmt:before{border-bottom:8px solid #0000;border-left:0;border-right:8px solid #0000;border-right-color:var(--gh-border);border-top:8px solid #0000;content:"";left:-8px;position:absolute;top:11px}.pr-cmt:after{border-right-color:var(--surface-subtle);left:-7px}.pr-cmt__head{align-items:center;background:var(--surface-subtle);border-bottom:1px solid var(--gh-border);border-radius:6px 6px 0 0;color:var(--ink-500);display:flex;font-size:.84rem;gap:.4rem;margin:0;min-width:0;padding:.45rem .75rem;white-space:nowrap}.pr-cmt__head b{color:var(--ink-900);font-weight:600}.pr-cmt__mini{display:none;height:20px;width:20px}.pr-cmt__where{min-width:0;overflow:hidden;text-overflow:ellipsis}.pr-cmt__clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pr-cmt__author{border:1px solid var(--gh-border);border-radius:2em;flex:none;font-size:.7rem;font-weight:500;line-height:18px;margin-left:auto;padding:0 .45rem}.pr-cmt__more{flex:none;font-size:1rem}.pr-cmt__body{color:var(--ink-500);font-size:1rem;line-height:1.7;margin:0;padding:.7rem .9rem .8rem}.pr-phrase{border-bottom:1.5px dotted var(--gh-border);border-radius:2px;color:var(--ink-900);cursor:pointer;transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out)}.pr-phrase[data-on]{background:var(--brand-soft);border-bottom:2px solid var(--brand)}.pr-phrase[data-pending]{cursor:default}.pr-att{align-items:center;border-top:1px dashed var(--gh-border);color:var(--ink-500);display:flex;flex-wrap:wrap;font-size:.84rem;gap:.25rem .55rem;margin:-.2rem .9rem 0;padding:.55rem 0 .65rem}.pr-att__file{min-width:0;position:relative}.pr-att__size{color:var(--ink-500);margin-left:.5rem;white-space:nowrap}.pr-narrow-sr{display:none}.pr-att__brief,.pr-att__cv{background:none;border:0;border-radius:4px;color:var(--gh-link);cursor:pointer;font:inherit;font-weight:600;padding:0;text-align:left;text-decoration:none}.pr-att__brief svg,.pr-att__cv svg{flex:none;font-size:1rem;margin-right:.3rem;vertical-align:-3px}.pr-att__brief:hover,.pr-att__cv:hover{text-decoration:underline}.pr-att__brief:focus-visible,.pr-att__cv:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pr-att__cv{overflow-wrap:anywhere}.pr-ping{display:inline-block;height:8px;margin-right:.45rem;position:relative;vertical-align:1px;width:8px}.pr-ping,.pr-ping i{background:var(--brand);border-radius:50%}.pr-ping i{animation:pr-ping 1.8s cubic-bezier(0,0,.2,1) infinite;inset:0;position:absolute}.hero[data-paused] .pr-ping i{animation-play-state:paused}@keyframes pr-ping{0%{opacity:.6;transform:scale(1)}75%,to{opacity:0;transform:scale(2.8)}}.pr-ev{padding:.75rem 0 0 44px;position:relative}.pr-ev:before{background:var(--gh-border);bottom:-.3rem;content:"";left:15px;position:absolute;top:0;width:2px}.pr-ev__badge{background:var(--gh-go);border-radius:50%;box-shadow:0 0 0 3px var(--gh-ring);color:#fff;display:grid;font-size:1rem;height:32px;left:0;place-items:center;position:absolute;top:.85rem;width:32px}.pr-ev__head{align-items:center;display:flex;gap:.6rem;min-height:36px;padding-top:.1rem}.pr-ev__who{animation:pr-in .3s var(--ease-out);color:var(--ink-500);flex:1 1;font-size:.86rem;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-ev__who b{color:var(--ink-900);font-weight:600}.pr-ev__face{display:inline-block;height:20px;margin-right:.45rem;vertical-align:-5px;width:20px}.pr-ev__stack{display:flex;flex:none;padding-left:.5rem}.pr-ev__stack button{background:var(--surface-subtle);border:0;border-radius:50%;box-shadow:0 0 0 2px var(--gh-ring);cursor:pointer;height:24px;margin-left:-6px;overflow:hidden;padding:0;position:relative;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out);width:24px}.pr-ev__stack button img{height:100%;object-fit:cover;width:100%}.pr-ev__stack button:hover{transform:translateY(-2px)}.pr-ev__stack button[aria-pressed=true]{box-shadow:0 0 0 2px var(--gh-ring),0 0 0 4px var(--gh-green);z-index:1}.pr-ev__stack button:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.pr-ev__quote{animation:pr-in .3s var(--ease-out);background:var(--surface);border:1px solid var(--gh-border);border-radius:6px;color:var(--ink-900);font-size:.9rem;line-height:1.5;margin:.15rem 0 0;padding:.5rem .75rem}.pr-ev__role{color:var(--ink-500);display:block;font-size:.74rem;margin-bottom:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-bone{height:12px;margin:.3rem 0}.pr-bone+.pr-bone{width:70%}.pr-bone--name{display:inline-block;margin:0;vertical-align:middle;width:60%}@keyframes pr-in{0%{opacity:0;transform:translateY(4px)}}.pr-box{background:var(--surface);border:1px solid var(--gh-border);border-radius:6px;overflow:hidden}.pr-rows{list-style:none;margin:0;padding:0}.pr-rows li{align-items:center;border-top:1px solid var(--gh-border);color:var(--ink-900);display:flex;font-size:.84rem;gap:.6rem;min-height:34px;padding:0 .75rem}.pr-rows li:first-child{border-top:0}.pr-rows__icon,.pr-rows__ok{flex:none;font-size:1rem}.pr-rows__icon{color:var(--ink-500)}.pr-rows__ok{color:var(--gh-green)}.pr-rows__main{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-rows__main b{font-weight:600}.pr-rows__main em{color:var(--ink-500);font-style:normal}.pr-rows__when{font-size:.76rem}.pr-rows__sha,.pr-rows__when{color:var(--ink-500);flex:none}.pr-rows__sha{border:1px solid var(--gh-border);border-radius:6px;font-family:var(--font-mono);font-size:.72rem;line-height:20px;padding:0 .35rem}.pr-file__head{align-items:center;background:var(--surface-subtle);border-bottom:1px solid var(--gh-border);color:var(--ink-900);display:flex;font-size:.76rem;gap:.6rem;margin:0;padding:.4rem .75rem}.pr-code,.pr-file__head{font-family:var(--font-mono)}.pr-code{display:grid;font-size:.74rem;grid-template-columns:2rem 2rem minmax(0,1fr);line-height:20px;overflow-x:auto}.pr-code__ln{color:var(--ink-500);padding:0 .4rem;text-align:right;-webkit-user-select:none;user-select:none}.pr-code__ln[data-kind=add]{background:var(--gh-add-num)}.pr-code__ln[data-kind=del]{background:var(--gh-del-num)}.pr-code__line{color:var(--ink-900);padding:0 .75rem 0 .4rem;white-space:pre}.pr-code__line[data-kind=add]{background:var(--gh-add)}.pr-code__line[data-kind=del]{background:var(--gh-del)}.pr-merge{margin-top:.9rem;padding-left:52px}.pr-merge__icon{background:var(--gh-go);border-radius:6px;color:#fff;display:grid;flex:none;font-size:1.1rem;height:34px;place-items:center;transition:background-color .3s var(--ease-out);width:34px}.pr-merge__box{align-items:center;background:var(--surface);border:1px solid var(--gh-border);border-radius:6px;display:flex;flex:1 1;gap:.75rem;min-width:0;padding:.6rem .6rem .6rem .7rem}.pr-merge__text{color:var(--ink-500);flex:1 1;font-size:.8rem;line-height:1.4;margin:0;min-width:0}.pr-merge__text b{align-items:center;color:var(--ink-900);display:flex;font-size:.92rem;font-weight:600;gap:.4rem;white-space:nowrap}.pr-merge__text b svg{color:var(--gh-green);flex:none}.pr-merge__text>a,.pr-merge__text>span{display:block}.pr-merge__text a{color:var(--gh-link);overflow-wrap:anywhere}.pr-merge__actions{display:flex;flex:none;gap:.5rem}.pr-btn{align-items:center;background:var(--surface-subtle);border:1px solid var(--gh-border);border-radius:6px;color:var(--ink-900);cursor:pointer;display:inline-flex;font:inherit;font-size:.88rem;font-weight:600;gap:.35rem;height:40px;justify-content:center;padding:0 1rem;text-decoration:none;transition:filter .15s ease,transform .15s ease;white-space:nowrap}.pr-btn:hover{filter:brightness(.96)}body.dark-mode .pr-btn:hover{filter:brightness(1.15)}.pr-btn:active{transform:translateY(1px)}.pr-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pr-btn--go{background:var(--gh-go);border-color:#1f232826;color:#fff}.pr-merge[data-merged] .pr-merge__box{border-color:var(--gh-purple)}.pr-merge[data-merged] .pr-merge__icon{background:var(--gh-purple)}.pr-merge[data-merged] .pr-merge__text{font-size:.84rem}.pr-merge[data-merged] .pr-merge__text b{font-size:.98rem;white-space:normal}.pr-merge[data-merged] .pr-merge__text code{background:var(--gh-branch);border-radius:6px;color:var(--gh-link);font-family:var(--font-mono);font-size:.76rem;padding:.05rem .35rem}.pr-merge[data-merged] .pr-merge__text>span{margin-top:.15rem}.pr-merge[data-merged] .pr-merge__text a{display:inline}.pr-merge__undo{background:none;border:0;border-radius:4px;color:var(--gh-link);cursor:pointer;font:inherit;padding:0}.pr-merge__undo:hover{text-decoration:underline}.pr-merge__undo:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media screen and (min-width:1500px){.pr-merge__box{position:relative}.pr-merge__box>.pr-merge__icon{font-size:1.25rem;height:40px;left:-52px;position:absolute;top:0;width:40px}}@media screen and (min-width:641px)and (max-width:1100px){.pr-tab .pr-wide{display:none}.pr-tab{gap:.25rem;padding-inline:.4rem}}@media screen and (min-width:981px)and (max-height:820px){.pr-meta{margin-top:.75rem}.pr-labels{margin-top:.4rem}.pr-body{margin-top:.6rem}.pr-panes{padding-top:.6rem}.pr-cmt__body{line-height:1.6;padding-block:.5rem .6rem}.pr-att{padding-block:.4rem .5rem}.pr-ev{padding-top:.5rem}.pr-ev__badge{top:.6rem}.pr-merge{margin-top:.65rem}.pr-merge__box{padding-block:.45rem}.pr-merge__icon{height:30px;width:30px}.pr-btn{height:36px}}@media screen and (max-width:640px){.pr-wide{display:none}.pr-meta{flex-direction:column;font-size:.86rem;gap:.4rem}.pr-tab__count{display:none}.pr-tab{flex:1 0 auto;font-size:.8rem;gap:.25rem;justify-content:center;padding-inline:.3rem}.pr-panes{align-items:flex-start;display:flex;gap:12px;margin-inline:-1.75rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:.85rem 1.75rem 0;scroll-padding-inline:1.75rem;scroll-snap-type:x mandatory;scrollbar-width:none;transition:height .25s var(--ease-out)}.pr-panes::-webkit-scrollbar{display:none}.pr-pane{flex-basis:calc(100% - 22px);flex-grow:0;flex-shrink:0;scroll-snap-align:start}.pr-pane:not([data-on]){opacity:.45;visibility:visible}.pr-tl{padding-left:0}.pr-cmt:after,.pr-cmt:before,.pr-cmt__where,.pr-tl__av{display:none}.pr-cmt__mini{display:block}.pr-ev{display:flex;flex-direction:column}.pr-ev__head{display:contents}.pr-ev__who{line-height:36px;order:1}.pr-ev__quote{order:2}.pr-ev__stack{align-self:flex-start;margin:.5rem 0 .15rem .4rem;order:3;padding:0}.pr-rows__when{display:none}.pr-att{flex-wrap:nowrap;white-space:nowrap}.pr-att__size{display:none}.pr-att__file{flex:none}.pr-att__cv{overflow-wrap:normal}.pr-narrow-sr{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.pr-merge{padding-left:0}.pr-merge__icon{display:none}.pr-merge__box{align-items:stretch}.pr-merge__actions,.pr-merge__box{flex-direction:column}.pr-btn{height:44px}}@media screen and (max-width:560px){.pr-panes{margin-inline:-1.1rem;padding-inline:1.1rem;scroll-padding-inline:1.1rem}}#home{background:linear-gradient(90deg,#ffffffeb,#ffffffd9 36%,#fff0 56%),url(/static/media/bg3.450beba675458d638ddc.webp);background-position:50%;background-repeat:repeat;background-size:cover;overflow:hidden;position:relative}@media screen and (max-width:640px){#home{background:linear-gradient(to bottom,var(--primary-color),var(--surface))}}body.dark-mode #home{background:linear-gradient(180deg,#0d0e13 0,#0f1015 72%,#15161c)!important}#home .app__wrapper{padding:0}.hero{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:6.5rem 2.5rem 4.5rem;position:relative;width:100%}.hero__backdrop{inset:0;overflow:hidden;pointer-events:none;position:absolute}.hero__glow{border-radius:50%;opacity:.5;position:absolute}.hero__glow--one{aspect-ratio:1;background:radial-gradient(circle closest-side,#313bac29,#313bac17 35%,#313bac08 65%,#0000);max-width:820px;right:-4%;top:-24%;width:60vw}.hero__glow--two{aspect-ratio:1;background:radial-gradient(circle closest-side,#6366f11f,#6366f112 35%,#6366f105 65%,#0000);bottom:-30%;left:-16%;max-width:700px;width:52vw}body.dark-mode .hero__glow{opacity:.6}.hero__grid{background-image:radial-gradient(var(--line-strong) 1px,#0000 1px);background-size:34px 34px;inset:0;mask-image:radial-gradient(ellipse 75% 60% at 50% 45%,#000 35%,#0000 78%);-webkit-mask-image:radial-gradient(ellipse 75% 60% at 50% 45%,#000 35%,#0000 78%);opacity:.5;position:absolute}body.dark-mode .hero__grid{background-image:radial-gradient(#ffffff38 1px,#0000 0);opacity:1}.hero__inner{grid-gap:3.5rem;align-items:center;display:grid;gap:3.5rem;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);margin:0 auto;max-width:var(--container-wide);position:relative;width:100%;z-index:1}.hero__content{align-items:flex-start;display:flex;flex-direction:column;max-width:37.5rem}.hero__repo{gap:.35rem .85rem}.hero__crumb,.hero__repo,.hero__where{align-items:center;display:flex;flex-wrap:wrap}.hero__crumb,.hero__where{margin:0}.hero__crumb{font-size:.9rem;gap:.35rem .5rem}.hero__crumb-path{align-items:center;color:var(--gh-link);display:inline-flex;gap:.4rem}.hero__crumb-path svg{color:var(--ink-500);font-size:1rem}.hero__crumb-path a{border-radius:4px;color:inherit;text-decoration:none}.hero__crumb-path a:hover{text-decoration:underline}.hero__crumb-path b{font-weight:600}.hero__crumb-sep,.hero__public{color:var(--ink-500)}.hero__public{border:1px solid var(--gh-border);border-radius:2em;font-size:.66rem;font-weight:500;line-height:18px;padding:0 .45rem}.hero__where{color:var(--ink-500);font-size:.8rem;gap:.25rem .75rem}.hero__where:before{background:var(--gh-border);content:"";height:14px;margin-right:.1rem;width:1px}@media screen and (max-width:640px){.hero__where:before{display:none}}.hero__where>span{align-items:center;display:inline-flex;gap:.3rem}.hero__where svg{font-size:.9rem}.hero__clock{font-feature-settings:"tnum";display:inline-block;font-variant-numeric:tabular-nums;min-width:4.6em;white-space:nowrap}.hero__name{color:var(--ink-900);font-size:clamp(2.6rem,1.5rem + 4.2vw,4.6rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-top:.9rem}.hero__role{color:var(--brand);font-size:clamp(1.15rem,.95rem + .9vw,1.7rem);font-weight:700;letter-spacing:-.01em;margin-top:.65rem}.hero__num{color:var(--ink-400);font-family:var(--font-mono);font-size:.8em;font-weight:400;letter-spacing:-.02em;margin-left:.55rem;white-space:nowrap}.hero__num[data-pending]{visibility:hidden}.hero__caret{animation:hero-caret 1.06s step-end infinite;background:currentColor;display:inline-block;height:1.08em;margin-left:.05em;opacity:.85;vertical-align:-.2em;width:.6em}@keyframes hero-caret{50%{opacity:0}}.hero__visual{aspect-ratio:1/1.1;margin-inline:auto;max-width:540px;position:relative;width:100%}.hero__blob{background:radial-gradient(circle at 35% 28%,#ffffffe6,#0000 55%),linear-gradient(150deg,#313bac21,#6366f10f);border-radius:47% 53% 43% 57%/52% 45% 55% 48%;box-shadow:inset 0 0 60px #ffffff59;inset:7% 6% 9%;position:absolute}body.dark-mode .hero__blob{background:radial-gradient(circle at 35% 28%,#ffffff0f,#0000 55%),linear-gradient(150deg,#8b93ff29,#6366f10d);box-shadow:inset 0 0 60px #ffffff0a}.hero__quip{text-wrap:pretty;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md);color:var(--ink-700);font-size:.82rem;font-weight:600;left:1%;line-height:1.45;max-width:212px;padding:.7rem .9rem;pointer-events:none;top:18%;z-index:4}.hero__quip,.hero__quip:after{background:var(--surface);position:absolute}.hero__quip:after{border-bottom:1px solid var(--line);border-right:1px solid var(--line);bottom:15px;content:"";height:11px;right:-6px;transform:rotate(-45deg);width:11px}.hero__portrait{align-items:flex-end;display:flex;inset:0;justify-content:center;position:absolute;z-index:2}.hero__portrait img{height:auto;max-width:430px;object-fit:contain;width:100%}.hero__layer{inset:0;pointer-events:none;position:absolute;z-index:3}.hero__content>:not(dialog){animation:hero-rise .6s var(--ease-out) backwards}.hero__content>:not(dialog):first-child{animation-delay:.05s}.hero__content>:not(dialog):nth-child(2){animation-delay:.13s}.hero__content>:not(dialog):nth-child(3){animation-delay:.21s}.hero__content>:not(dialog):nth-child(4){animation-delay:.29s}.hero__content>:not(dialog):nth-child(5){animation-delay:.37s}.hero__content>:not(dialog):nth-child(6){animation-delay:.45s}.hero__content>:not(dialog):nth-child(7){animation-delay:.53s}.hero__content>:not(dialog):nth-child(8){animation-delay:.61s}.hero__blob{animation:hero-blob-in .9s var(--ease-out) backwards}.hero__portrait{animation:hero-portrait-in .85s var(--ease-out) .1s backwards}.hero__scroll{animation:hero-fade-in .6s ease 1.2s backwards}.hero__scroll i{animation:hero-bob 1.8s ease-in-out infinite}.hero[data-paused] .hero__caret,.hero[data-paused] .hero__scroll i,.hero[data-paused] .tech-card__float{animation-play-state:paused}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes hero-blob-in{0%{opacity:0;transform:scale(.9)}}@keyframes hero-portrait-in{0%{transform:translateY(20px) scale(.94)}}@keyframes hero-fade-in{0%{opacity:0}}@keyframes hero-bob{50%{transform:translateY(6px)}}.hero__scroll{align-items:center;bottom:1.8rem;color:var(--ink-400);display:inline-flex;flex-direction:column;font-size:.66rem;font-weight:700;gap:.45rem;left:50%;letter-spacing:.2em;position:absolute;text-decoration:none;text-transform:uppercase;transform:translateX(-50%);transition:color .25s var(--ease-out);z-index:2}.hero__scroll i{background:linear-gradient(to bottom,var(--line-strong),#0000);display:block;height:26px;width:1px}.hero__scroll:hover{color:var(--brand)}@media screen and (max-width:980px){.hero__scroll{display:none}}@media screen and (max-width:1100px){.hero{padding:7rem 2rem 4.5rem}.hero__inner{gap:2.5rem}}@media screen and (max-width:980px){.hero{padding:6.5rem 1.75rem 3.5rem}.hero__inner{gap:3rem;grid-template-columns:minmax(0,1fr)}.hero__content{align-items:center;margin-inline:auto;max-width:40rem;text-align:center}.hero__crumb,.hero__repo,.hero__where{justify-content:center}.hero__visual{max-width:420px}}@media screen and (max-width:1100px){.hero__quip{font-size:.76rem;max-width:176px;top:16%}}@media screen and (max-width:860px){.hero__quip{display:none}}@media screen and (min-width:981px)and (max-height:960px){.hero__name{font-size:clamp(2.6rem,1.4rem + 3vw,3.7rem)}}@media screen and (min-width:981px)and (max-height:820px){.hero{padding-top:5.25rem}.hero__name{margin-top:.6rem}}@media screen and (max-width:380px){.hero__utc{display:none}}@media screen and (max-width:560px){.hero{padding:5.75rem 1.1rem 3rem}.hero__visual{max-width:320px}.hero__portrait img{max-width:260px}}@media screen and (max-width:380px){.hero__visual{max-width:280px}.hero__portrait img{max-width:224px}}@media screen and (max-width:640px){.hero__inner{align-items:center;display:flex;flex-direction:column;gap:0}.hero__content{display:contents}.hero__content>:nth-child(n+4){order:2}.hero__content>.pr-part{max-width:40rem}.hero__visual{margin:1.1rem auto .6rem;max-width:290px;order:1}.hero__portrait img{-webkit-mask-image:linear-gradient(180deg,#000 72%,#0000);mask-image:linear-gradient(180deg,#000 72%,#0000);max-width:240px}}@media screen and (min-width:2560px){.hero__inner{max-width:1560px}.hero__visual{max-width:640px}.hero__portrait img{max-width:520px}}.exp{--rail-x:9px;--rail-gap:calc(2.85rem + var(--extra-lanes, 0)*20px);--row-pad:0.95rem;--mark-size:34px;--exp-indent:calc(var(--row-pad) + var(--mark-size) + 0.9rem);--git-a:#db2777;--git-b:#0284c7;--git-c:#d97706;--git-d:#059669;padding-left:var(--rail-gap);position:relative;width:100%}body.dark-mode .exp{--git-a:#f472b6;--git-b:#38bdf8;--git-c:#fbbf24;--git-d:#34d399}.exp-query-slot{scroll-margin-top:6rem}.exp-query{align-items:center;animation:exp-query-in .3s var(--ease-out);background:var(--brand-soft);border:1px solid var(--brand-ring);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.76rem;gap:.4rem .9rem;margin-bottom:1.5rem;padding:.6rem .6rem .6rem .9rem}@keyframes exp-query-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.exp-query{animation:none}}.exp-query__cmd{color:var(--ink-700)}.exp-query__cmd>span{color:var(--ink-400)}.exp-query__cmd b{color:var(--brand);font-weight:500}.exp-query__meta{color:var(--ink-400);margin-right:auto}.exp-query__clear{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-700);cursor:pointer;display:inline-flex;font:inherit;font-family:var(--font-base);font-size:.74rem;font-weight:700;gap:.3rem;padding:.3rem .65rem}.exp-query__clear:hover{border-color:var(--brand-ring);color:var(--brand)}.exp__graph{left:0;overflow:visible;pointer-events:none;position:absolute;top:0;z-index:1}.exp__graph-lines path{fill:none;stroke-width:2;stroke-linecap:round;opacity:.8}.exp__commit{stroke:var(--surface);stroke-width:2.5;transition:opacity .3s var(--ease-out)}.exp__commit[data-head]{filter:drop-shadow(0 0 5px currentColor)}.exp__commit[data-dim]{opacity:.25}.exp__merge-node{fill:var(--surface);stroke-width:2.5;transition:opacity .3s var(--ease-out)}.exp__merge-node[data-dim]{opacity:.35}.exp__rail{background:var(--line);border-radius:2px;bottom:0;left:var(--rail-x);margin-left:-1px;position:absolute;top:0;width:2px}.exp__rail-fill{background:linear-gradient(to bottom,var(--brand-strong),var(--brand));border-radius:inherit;inset:0;position:absolute;transform-origin:top center;will-change:transform}.exp__rail-head{background:var(--brand);border-radius:50%;filter:blur(4px);height:16px;left:50%;margin:-8px 0 0 -8px;opacity:.55;position:absolute;top:0;width:16px;will-change:transform,opacity}.exp__year+.exp__year .exp__year-head{margin-top:2.6rem}.exp__year-head{align-items:baseline;display:flex;gap:.75rem;margin-bottom:.95rem;position:relative}.exp__year-node{background:var(--surface);border:2px solid var(--line-strong);border-radius:50%;height:13px;left:calc(var(--rail-x) - var(--rail-gap));margin:-6.5px 0 0 -6.5px;position:absolute;top:.5em;transition:background-color .45s var(--ease-out),border-color .45s var(--ease-out),box-shadow .45s var(--ease-out);width:13px}.exp__year-label{font-feature-settings:"tnum";font-size:1.06rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em}.exp__year-count,.exp__year-label{color:var(--ink-400);transition:color .45s var(--ease-out)}.exp__year-count{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.exp__year-head[data-active] .exp__year-node{background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 5px var(--brand-soft)}.exp__year-head[data-active] .exp__year-label{color:var(--ink-900)}.exp__year-head[data-active] .exp__year-count{color:var(--brand)}.exp__rows{display:flex;flex-direction:column;list-style:none}.exp-row{border-top:1px solid var(--line);position:relative;transition:background-color .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s var(--ease-out)}.exp-row:last-child{border-bottom:1px solid var(--line)}.exp-row[data-open]{background:var(--surface);border-radius:var(--radius-md);border-top-color:#0000;box-shadow:var(--shadow-sm)}.exp-row>.exp-row__head,.exp-row>.exp-row__panel{transition:opacity .3s var(--ease-out)}.exp-row[data-dim]>.exp-row__head,.exp-row[data-dim]>.exp-row__panel{opacity:.38}.exp-row[data-match] .exp-row__mark{background:var(--brand-soft);border-color:var(--branch,var(--brand-ring));color:var(--brand);color:var(--branch,var(--brand))}.exp-row__stub{background:var(--line-strong);height:1px;left:calc(var(--rail-x) - var(--rail-gap) + 7px);left:calc(var(--lane-x, var(--rail-x)) - var(--rail-gap) + 7px);position:absolute;top:calc(var(--row-pad) + var(--mark-size)/2);transform-origin:left center;transition:background-color .3s var(--ease-out);width:max(0px,var(--rail-gap) - var(--rail-x) - 7px);width:max(0px,var(--rail-gap) - var(--lane-x,var(--rail-x)) - 7px)}.exp-row__bar{background:var(--brand);background:var(--branch,var(--brand));border-radius:2px;bottom:8px;left:0;position:absolute;top:8px;transform:scaleY(0);transform-origin:center;transition:transform .4s var(--ease-out);width:2px}.exp-row:focus-within .exp-row__bar,.exp-row:hover .exp-row__bar,.exp-row[data-open] .exp-row__bar{transform:scaleY(1)}.exp-row:focus-within .exp-row__stub,.exp-row:hover .exp-row__stub,.exp-row[data-open] .exp-row__stub{background:var(--brand);background:var(--branch,var(--brand))}.exp-row:focus-within .exp-row__mark,.exp-row:hover .exp-row__mark,.exp-row[data-open] .exp-row__mark{background:var(--brand-soft);border-color:var(--branch,var(--brand-ring));color:var(--brand);color:var(--branch,var(--brand))}.exp-row:focus-within .exp-row__title,.exp-row:hover .exp-row__title,.exp-row[data-open] .exp-row__title{transform:translateX(3px)}.exp-row:hover:not([data-open]) .exp-row__head{background:var(--brand-soft)}.exp-row__head{grid-gap:.9rem;align-items:center;background:#0000;border:0;border-radius:var(--radius-md);cursor:pointer;display:grid;font:inherit;gap:.9rem;grid-template-columns:auto minmax(0,1fr) auto;padding:var(--row-pad) 1rem var(--row-pad) var(--row-pad);position:relative;text-align:left;transition:background-color .3s var(--ease-out);width:100%}.exp-row__head:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.exp-row__mark{background:var(--surface-subtle);border:1px solid var(--line);border-radius:11px;color:var(--ink-400);display:grid;font-size:.72rem;font-weight:800;height:var(--mark-size);letter-spacing:.02em;place-items:center;transition:background-color .3s var(--ease-out),border-color .3s var(--ease-out),color .3s var(--ease-out);width:var(--mark-size)}.exp-row__title{min-width:0;transition:transform .35s var(--ease-out)}.exp-row__role{color:var(--ink-900);display:block;font-size:.93rem;font-weight:700;line-height:1.4}.exp-row__meta{align-items:center;color:var(--ink-500);display:flex;flex-wrap:wrap;font-size:.78rem;gap:.5rem;margin-top:.25rem}.exp-row__dot{background:currentColor;border-radius:50%;height:3px;opacity:.55;width:3px}.exp-row__year{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exp-row__hash{color:var(--ink-400);font-family:var(--font-mono);font-size:.7rem}.exp-row__ref{align-items:center;border:1px solid;border-radius:var(--radius-pill);color:var(--brand);color:var(--branch,var(--brand));display:inline-flex;font-family:var(--font-mono);font-size:.66rem;gap:.3rem;line-height:1.5;padding:.05rem .5rem}.exp-row__head-ref{font-weight:500}.exp-merge{border-top:1px dashed var(--line-strong);padding:.75rem 1rem .8rem var(--row-pad);position:relative}.exp-merge:last-child{border-bottom:1px solid var(--line)}.exp-merge>p{transition:opacity .3s var(--ease-out)}.exp-merge[data-dim]>p{opacity:.38}.exp__graph-lines path[data-tail]{stroke-dasharray:3 5;opacity:.55}.exp-merge__msg{color:var(--ink-500);font-family:var(--font-mono);font-size:.74rem;line-height:1.5}.exp-merge__msg code{color:var(--ink-700);color:var(--branch,var(--ink-700));font:inherit;font-weight:500}.exp-merge__msg code+code,.exp-merge__msg code:last-child{color:var(--ink-700)}.exp-merge__meta{color:var(--ink-400);font-size:.74rem;margin-top:.15rem}.exp-row__chevron{border-radius:50%;color:var(--ink-400);display:grid;font-size:1rem;height:28px;place-items:center;transition:color .3s var(--ease-out),background-color .3s var(--ease-out);width:28px}.exp-row:hover .exp-row__chevron,.exp-row[data-open] .exp-row__chevron{background:var(--brand-soft);color:var(--brand)}.exp-row__panel{overflow:hidden}.exp-row__panel-inner{padding:0 1.1rem 1.2rem var(--exp-indent)}.exp-row__desc{color:var(--ink-500);font-size:.84rem;line-height:1.75}.exp-row__tech{margin-top:1rem}.exp-row__tech-label{color:var(--ink-400);display:block;font-size:.66rem;font-weight:700;letter-spacing:.12em;margin-bottom:.55rem;text-transform:uppercase}.exp-row__tech ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none}.exp-row__tech li{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-700);font-size:.72rem;font-weight:600;padding:.3rem .65rem}.exp-row__tech li[data-match]{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand)}.exp.is-clipped{overflow:hidden}.exp.is-clipped:after{background:linear-gradient(to bottom,#0000,var(--surface));bottom:0;content:"";height:36px;left:0;pointer-events:none;position:absolute;right:0;z-index:2}.exp__more{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-700);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:700;gap:.45rem;margin:.75rem 0 0 2.85rem;padding:.65rem 1.1rem;transition:border-color .2s var(--ease-out),color .2s var(--ease-out)}.exp__more svg{transition:transform .25s var(--ease-out)}.exp__more:hover{border-color:var(--brand-ring);color:var(--brand)}.exp__more:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.exp__more[aria-expanded=true] svg{transform:rotate(180deg)}@media screen and (max-width:560px){.exp[data-folded] .exp__year--earlier{display:none}.exp__more{margin:.5rem 0 0 2.45rem}.exp{--rail-gap:calc(2.45rem + var(--extra-lanes, 0)*20px);--row-pad:0.8rem;--mark-size:30px;--exp-indent:var(--row-pad)}.exp__year-label{font-size:.98rem}.exp-row__head{gap:.7rem;padding-right:.5rem}.exp-row__role{font-size:.88rem}.exp-row__meta{font-size:.74rem;gap:.4rem}.exp-row__panel-inner{padding-right:.6rem}}.app__skills{flex:1 1;flex-direction:column;width:100%}.app__skills-fig{border-bottom:1px solid var(--line);color:var(--ink-400);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.64rem;gap:.3rem 1rem;justify-content:space-between;letter-spacing:.14em;margin:0 auto 2.5rem;max-width:var(--container);padding-bottom:.45rem;text-transform:uppercase;width:100%}.app__skills-fig span:first-child{color:var(--ink-500)}.app__skills-marks{inset:-1.4rem -1.6rem;pointer-events:none;position:absolute}.app__skills-marks i{border:0 solid var(--ink-400);height:12px;opacity:.55;position:absolute;width:12px}.app__skills-marks i:first-child{border-left-width:1px;border-top-width:1px;left:0;top:0}.app__skills-marks i:nth-child(2){border-right-width:1px;border-top-width:1px;right:0;top:0}.app__skills-marks i:nth-child(3){border-bottom-width:1px;border-left-width:1px;bottom:0;left:0}.app__skills-marks i:nth-child(4){border-bottom-width:1px;border-right-width:1px;bottom:0;right:0}@media screen and (max-width:900px){.app__skills-marks{display:none}}.app__skills-container{grid-gap:3.5rem;align-items:start;display:grid;gap:3.5rem;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);margin:0 auto;max-width:var(--container);position:relative;width:100%}@media screen and (max-width:900px){.app__skills-container{gap:3rem;grid-template-columns:minmax(0,1fr)}}.app__skills-groups{display:flex;flex-direction:column;gap:1.9rem;width:100%}.app__skills-group{display:flex;flex-direction:column;gap:.9rem}.app__skills-category{align-items:center;color:var(--ink-400);display:flex;font-size:.7rem;font-weight:700;gap:.8rem;letter-spacing:.14em;text-transform:uppercase}.app__skills-category:after{background:var(--line);content:"";flex:1 1;height:1px}.app__skills-list{display:flex;flex-wrap:wrap;gap:.55rem}.app__skills-list .app__skills-item{opacity:0;translate:0 14px}.app__skills-list.is-in .app__skills-item{animation:skills-chip-in .4s cubic-bezier(.22,.75,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*40ms)}@media(prefers-reduced-motion:reduce){.app__skills-list .app__skills-item,.app__skills-list.is-in .app__skills-item{animation:none;opacity:1;translate:none}}@keyframes skills-chip-in{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}.app__skills-item{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);color:inherit;cursor:pointer;display:inline-flex!important;font:inherit;gap:.5rem;justify-content:flex-start!important;padding:.5rem .85rem .5rem .5rem;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out),background-color .25s var(--ease-out),transform .25s var(--ease-out)}.app__skills-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(hover:hover){.app__skills-item:hover{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.app__skills-item:hover{transform:none}}.app__skills-item[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-sm)}.app__skills-item[aria-pressed=true] .p-text{color:var(--brand)}.app__skills-item:hover{border-color:var(--brand-ring);box-shadow:var(--shadow-sm)}.app__skills-item:hover .app__skills-icon{transform:scale(1.08)}.app__skills-item:hover .p-text{color:var(--ink-900)}.app__skills-item .app__skills-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:transform .25s var(--ease-out);width:30px}.app__skills-item .app__skills-icon img{height:60%;object-fit:contain;width:60%}.app__skills-item .p-text{color:var(--ink-700);font-size:.8rem;font-weight:600;margin:0;transition:color .25s var(--ease-out);white-space:nowrap}@media screen and (max-width:560px){.app__skills-item{gap:.4rem;padding:.32rem .7rem .32rem .32rem}.app__skills-item .app__skills-icon{height:24px;width:24px}.app__skills-item .p-text{font-size:.76rem}}@media screen and (min-width:2560px){.app__skills-item .app__skills-icon{height:46px;width:46px}.app__skills-item .p-text{font-size:1.1rem}}.app__skills-exp{min-width:0;width:100%}.chris-cursor{--chris-cursor:#5b5ff0;left:0;pointer-events:none;position:absolute;top:0;transform:translate3d(-200px,-200px,0);will-change:transform;z-index:6}.chris-cursor__arrow,.chris-cursor__tag{opacity:0;transition:opacity .35s var(--ease-out),scale .45s var(--ease-out),translate .45s var(--ease-out)}.chris-cursor__arrow{display:block;filter:drop-shadow(0 3px 6px rgba(11,16,32,.35));margin:-3px 0 0 -3px;overflow:visible;scale:.6;transform-origin:3px 3px}.chris-cursor__arrow path{fill:var(--chris-cursor);stroke:#fff;stroke-width:1.6;stroke-linejoin:round}.chris-cursor__tag{align-items:center;background:var(--chris-cursor);border-radius:var(--radius-pill);box-shadow:0 6px 16px #313bac59;color:#fff;display:flex;font-family:var(--font-base);font-size:.78rem;font-weight:700;left:14px;letter-spacing:.01em;line-height:1.2;padding:.3rem .7rem;position:absolute;scale:.6;top:20px;transform-origin:top left;translate:-6px -4px;white-space:nowrap}.chris-cursor__say{display:inline-grid;font-weight:600;grid-template-columns:0fr;opacity:0;transition:grid-template-columns .45s var(--ease-out),opacity .3s var(--ease-out),margin-left .45s var(--ease-out)}.chris-cursor__say>span{min-width:0;overflow:hidden}.chris-cursor__say[data-on]{grid-template-columns:1fr;margin-left:.4em;opacity:1}.chris-cursor__ring{border:2px solid var(--chris-cursor);border-radius:50%;height:44px;left:0;opacity:0;position:absolute;top:0;transform:translate(-50%,-50%);width:44px}.chris-cursor.is-on .chris-cursor__arrow,.chris-cursor.is-on .chris-cursor__tag{opacity:1;scale:1;translate:0 0}.chris-cursor.is-on .chris-cursor__tag{transition-delay:.06s}.app__testimonial{flex:1 1}.app__testimonial,.tm-chat{flex-direction:column;width:100%}.tm-chat{--tm-you:#5b5ff0;--tm-canvas:linear-gradient(var(--brand-soft),var(--brand-soft)) var(--surface-subtle);--tm-bubble:var(--surface);--tm-canvas-solid:var(--surface-subtle);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-xl);box-shadow:0 0 0 6px var(--brand-soft),var(--shadow-xl);display:flex;margin:0 auto;max-width:860px;overflow:hidden;position:relative}body.dark-mode .tm-chat{--tm-canvas-solid:#0e0f13;--tm-canvas:radial-gradient(hsla(0,0%,100%,.045) 1px,#0000 1.4px) 0 0 /20px 20px,#0e0f13;--tm-bubble:#1c1e25}.tm-laptop{--lt-rim:#c3c6cc;--lt-deck-top:#e9ebee;--lt-deck:#cdd0d5;--lt-deck-edge:#a9adb4;--lt-groove:#b4b8bf;--lt-floor:#0b102038;margin:0 auto;max-width:1240px;padding:0 clamp(.5rem,3.5vw,2.75rem);width:100%}body.dark-mode .tm-laptop{--lt-rim:#3d3f45;--lt-deck-top:#4a4c52;--lt-deck:#2a2b30;--lt-deck-edge:#16171a;--lt-groove:#1c1d21;--lt-floor:#0009}.tm-laptop__lid{background:#0b0b0d;border-radius:clamp(14px,2vw,24px) clamp(14px,2vw,24px) 6px 6px;box-shadow:0 0 0 1.5px var(--lt-rim),0 0 0 2.5px #00000040,0 30px 60px -20px var(--lt-floor);padding:clamp(8px,1.1vw,13px) clamp(8px,1.1vw,13px) clamp(12px,1.6vw,18px);position:relative}.tm-laptop__notch{align-items:center;background:#0b0b0d;border-radius:0 0 10px 10px;display:flex;height:22px;justify-content:center;left:50%;position:absolute;top:clamp(8px,1.1vw,13px);translate:-50% 0;width:clamp(90px,14%,150px);z-index:8}.tm-laptop__notch i{background:radial-gradient(circle at 35% 35%,#3b4a6b 0 30%,#12151d 60%);border-radius:50%;box-shadow:0 0 0 1.5px #1a1b20;height:7px;width:7px}.tm-laptop__screen{background:var(--surface);border-radius:clamp(6px,1vw,10px) clamp(6px,1vw,10px) 2px 2px;overflow:hidden;position:relative}.tm-laptop__screen:after{background:linear-gradient(115deg,#ffffff12,#fff0 38%);content:"";inset:0;pointer-events:none;position:absolute;z-index:9}.tm-laptop__screen .tm-chat{border:0;border-radius:0;box-shadow:none;max-width:none}.tm-laptop__menubar{align-items:center;background:var(--surface-subtle);border-bottom:1px solid var(--line);color:var(--ink-700);display:flex;font-size:.7rem;gap:1rem;height:24px;justify-content:space-between;line-height:1;padding:0 .85rem;position:relative;-webkit-user-select:none;user-select:none;z-index:7}.tm-laptop__menu{align-items:center;display:flex;gap:.95rem}.tm-laptop__menu b{color:var(--ink-900);font-weight:700}.tm-laptop__status{align-items:center;display:flex;gap:.6rem}.tm-laptop__status svg{fill:currentColor}.tm-laptop__clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:5.5em;text-align:right}.tm-laptop__base{background:linear-gradient(to bottom,var(--lt-deck-top) 0,var(--lt-deck-top) 3px,var(--lt-deck) 4px,var(--lt-deck-edge) 100%);border-radius:2px 2px 50% 50%/2px 2px 100% 100%;box-shadow:0 1px 0 #ffffff59 inset,0 18px 28px -10px var(--lt-floor),0 40px 60px -30px var(--lt-floor);height:clamp(12px,1.6vw,18px);margin:0 calc(clamp(.5rem,3.5vw,2.75rem)*-1);position:relative}.tm-laptop__groove{background:linear-gradient(to bottom,var(--lt-groove),var(--lt-deck));border-radius:0 0 10px 10px;box-shadow:inset 0 2px 3px #0000002e;height:45%;left:50%;position:absolute;top:0;translate:-50% 0;width:clamp(80px,15%,150px)}@media screen and (min-width:601px){.tm-laptop__screen{aspect-ratio:16/9;display:flex;flex-direction:column}.tm-laptop__screen .tm-chat{flex:1 1;min-height:0}.tm-laptop__screen .tm-chat__thread{flex:1 1;height:auto;min-height:240px}}@media screen and (max-width:760px){.tm-laptop__menu-extra{display:none}}.tm-chat__head{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:.9rem;padding:1rem clamp(1rem,3vw,1.6rem);position:relative;z-index:3}.tm-chat__faces{align-items:center;display:inline-flex;flex-shrink:0}.tm-chat__faces>*+*{margin-left:-10px;transition:margin-left .35s var(--ease-out)}.tm-chat__faces:focus-within>*+*,.tm-chat__faces:hover>*+*{margin-left:-4px}.tm-chat__faces .tm-portrait{border:2px solid var(--surface)}.tm-face{background:none;border:0;border-radius:50%;cursor:pointer;display:inline-flex;padding:0;position:relative;transition:translate .3s cubic-bezier(.34,1.56,.64,1)}.tm-face:focus-visible,.tm-face:hover{translate:0 -3px;z-index:2}.tm-face:focus-visible{border-radius:50%}.tm-face--more{cursor:default}.tm-face[data-heard]:after{background:#22c55e url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2 5 8l4-4.2' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/100% no-repeat;border:2px solid var(--surface);border-radius:50%;bottom:-1px;content:"";height:11px;position:absolute;right:-1px;width:11px}.tm-tip{background:var(--ink-900);border-radius:14px;box-shadow:var(--shadow-lg);color:var(--surface);display:flex;flex-direction:column;gap:.2rem;left:-6px;max-width:240px;min-width:170px;opacity:0;padding:.65rem .8rem .7rem;pointer-events:none;position:absolute;scale:.85;text-align:left;top:calc(100% + 12px);transform-origin:20px 0;transition:opacity .2s var(--ease-out),translate .35s cubic-bezier(.34,1.56,.64,1),scale .35s cubic-bezier(.34,1.56,.64,1);translate:0 -6px;white-space:normal;z-index:5}.tm-tip:before{background:inherit;border-radius:2px;content:"";height:10px;left:16px;position:absolute;rotate:45deg;top:-5px;width:10px}.tm-tip strong{font-size:.8rem;font-weight:700;line-height:1.3}.tm-tip i{font-style:normal}.tm-face:focus-visible>.tm-tip,.tm-face:hover>.tm-tip{opacity:1;scale:1;translate:0 0}.tm-tip__org{font-size:.7rem;opacity:.65}.tm-tip__status{align-items:center;align-self:flex-start;background:#7f7f7f38;border-radius:var(--radius-pill);display:inline-flex;font-size:.68rem;font-weight:600;gap:.35rem;margin-top:.35rem;padding:.2rem .55rem .2rem .4rem}.tm-tip__row{align-items:center;display:flex;font-size:.74rem;gap:.45rem;line-height:1.5;opacity:.85}.tm-tip--list strong{font-size:.66rem;letter-spacing:.12em;margin-bottom:.2rem;opacity:.6;text-transform:uppercase}.tm-chat__more{align-items:center;background:var(--brand-soft);border:2px solid var(--surface);border-radius:50%;color:var(--brand);display:inline-flex;font-size:.66rem;font-weight:800;height:30px;justify-content:center;width:30px}.tm-chat__title{display:flex;flex-direction:column;gap:.1rem;min-width:0}.tm-chat__title strong{color:var(--ink-900);font-size:.95rem;font-weight:700;letter-spacing:-.01em}.tm-chat__title>span{color:var(--ink-500);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-chat__title em{color:var(--ink-400);font-style:normal}.tm-chat__progress{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.4rem;margin-left:auto}.tm-chat__progress-label{color:var(--ink-500);font-size:.7rem;font-weight:600;white-space:nowrap}.tm-chat__progress-label b{font-feature-settings:"tnum";color:var(--brand);font-variant-numeric:tabular-nums;font-weight:800}.tm-chat__bar{background:var(--line-strong);border-radius:4px;height:4px;overflow:hidden;width:96px}.tm-chat__bar span{background:var(--brand);border-radius:inherit;display:block;height:100%;transform:scaleX(0);transform-origin:left center}@media screen and (max-width:600px){.tm-laptop:before{display:none}.tm-laptop{margin-inline:calc(50% - 50vw);max-width:none;padding:0;width:100vw}.tm-laptop__lid,.tm-laptop__screen{background:none;border:0;border-radius:0;box-shadow:var(--shadow-md);padding:0}.tm-laptop__base,.tm-laptop__menubar,.tm-laptop__notch,.tm-laptop__screen:after{display:none}.tm-chat__head{gap:.7rem;padding:.85rem 1rem}.tm-chat__faces>*+*{margin-left:-12px}.tm-chat__title strong{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-chat__progress-word{display:none}.tm-chat__bar{width:52px}.tm-chat__thread{gap:1rem;height:68vh;height:68svh;max-height:640px;min-height:420px;padding:1.25rem .9rem 1.5rem}.tm-msg{gap:.55rem;max-width:100%}.tm-msg--you{max-width:88%}.tm-portrait--md{height:32px;width:32px}.tm-msg__bubble{font-size:.93rem;line-height:1.58;padding:.75rem .9rem}.tm-chat__composer{padding:.85rem 1rem 1rem}.tm-chat__chips{flex-wrap:nowrap;margin-inline:-1rem;overflow-x:auto;padding:.15rem 1rem .35rem;scroll-snap-type:x proximity;scrollbar-width:none}.tm-chat__chips::-webkit-scrollbar{display:none}.tm-chip{flex-shrink:0;scroll-snap-align:start}}.tm-chat__thread{-webkit-touch-callout:none;background:var(--tm-canvas);display:flex;flex-direction:column;gap:1.1rem;height:clamp(380px,58vh,540px);list-style:none;margin:0;overflow-y:auto;padding:1.5rem clamp(1rem,3vw,1.75rem) 1.75rem;position:relative;scrollbar-color:var(--line-strong) #0000;scrollbar-width:thin;user-select:none;-webkit-user-select:none}.tm-sys{align-self:center;margin-bottom:.25rem}.tm-sys span{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-400);display:inline-block;font-size:.72rem;font-weight:600;padding:.35rem .85rem;text-align:center}.tm-msg{align-items:flex-start;display:flex;gap:.75rem;max-width:min(640px,92%)}.tm-msg__body{display:flex;flex-direction:column;gap:.35rem;margin:0;min-width:0}.tm-msg__who{align-items:baseline;color:var(--ink-400);display:flex;flex-wrap:wrap;font-size:.74rem;gap:.2rem .5rem}.tm-msg__who cite{color:var(--ink-900);font-size:.82rem;font-style:normal;font-weight:700}.tm-msg__bubble{text-wrap:pretty;background:var(--tm-bubble);border:1px solid var(--line);border-radius:6px 18px 18px 18px;box-shadow:var(--shadow-xs);color:var(--ink-700);font-size:clamp(.92rem,.88rem + .2vw,1rem);line-height:1.62;margin:0;padding:.85rem 1.05rem}.tm-msg__bubble mark{background:linear-gradient(#0000 58%,var(--brand-ring) 58%);border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:var(--ink-900);font-weight:600;padding:0 .1em}.tm-msg--you{align-items:flex-end;align-self:flex-end;flex-direction:column;gap:.3rem}.tm-msg--you .tm-msg__who{color:var(--tm-you);font-weight:700}.tm-msg--you .tm-msg__bubble{background:var(--tm-you);border-color:#0000;border-radius:18px 18px 6px 18px;box-shadow:0 8px 20px #313bac38;color:#fff;font-weight:500}.tm-msg__bubble-wrap{position:relative}.tm-react{align-items:center;animation:tm-react-pop .55s cubic-bezier(.34,1.56,.64,1) both;background:var(--tm-bubble);border:1px solid var(--line-strong);border-radius:50%;box-shadow:0 0 0 3px var(--tm-canvas-solid),0 6px 14px #0b102029;cursor:default;display:inline-flex;font-size:.95rem;height:30px;justify-content:center;line-height:1;position:absolute;right:-8px;top:-12px;-webkit-user-select:none;user-select:none;width:30px}@media(prefers-reduced-motion:reduce){.tm-react{animation:none}}@keyframes tm-react-pop{0%{opacity:0;rotate:-20deg;scale:.2}60%{opacity:1;rotate:8deg;scale:1.25}to{rotate:0deg;scale:1}}.tm-msg--typing .tm-msg__bubble{padding:.8rem 1rem}.tm-dots{align-items:center;display:inline-flex;gap:4px;height:1em}.tm-dots i{animation:tm-dot 1.1s var(--ease-out) infinite;background:currentColor;border-radius:50%;height:6px;opacity:.35;width:6px}.tm-dots i:nth-child(2){animation-delay:.15s}.tm-dots i:nth-child(3){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.tm-dots i{animation:none;opacity:.6}}@keyframes tm-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.tm-chat__composer{background:var(--surface);border-top:1px solid var(--line);padding:1rem clamp(1rem,3vw,1.6rem) 1.2rem}.tm-chat__prompt{color:var(--ink-400);font-size:.7rem;font-weight:700;letter-spacing:.12em;margin:0 0 .7rem;text-transform:uppercase}.tm-chat__chips{display:flex;flex-wrap:wrap;gap:.5rem;transition:opacity .3s var(--ease-out)}.tm-chat__chips[data-busy]{opacity:.5}.tm-chat__chips[data-busy] .tm-chip{cursor:progress}.tm-chip{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-700);cursor:pointer;display:inline-flex;font:inherit;font-size:.84rem;font-weight:600;gap:.5rem;padding:.3rem .85rem .3rem .3rem;text-decoration:none;transition:border-color .25s var(--ease-out),color .25s var(--ease-out),box-shadow .25s var(--ease-out),translate .25s var(--ease-out)}.tm-chip:hover:not([aria-disabled]){border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);color:var(--ink-900);translate:0 -1px}.tm-chip:focus-visible{border-radius:var(--radius-pill)}.tm-chip .tm-dots{color:var(--brand);opacity:0;overflow:hidden;transition:width .3s var(--ease-out),opacity .3s var(--ease-out);width:0}.tm-chip .tm-dots i{animation-play-state:paused}.tm-chip[data-teasing]{border-color:var(--brand-ring)}.tm-chip[data-teasing] .tm-dots{opacity:1;width:26px}.tm-chip[data-teasing] .tm-dots i{animation-play-state:running}.tm-chip--brand,.tm-chip--ghost{padding:.55rem 1.1rem}.tm-chip--brand{background:var(--tm-you);border-color:#0000;color:#fff}.tm-chip--brand:hover:not([aria-disabled]){color:#fff}.tm-chat__done{align-items:center;display:flex;flex-wrap:wrap;gap:.9rem 1.5rem;justify-content:space-between}.tm-chat__done p{color:var(--ink-500);font-size:.9rem;margin:0}.tm-chat__done p strong{color:var(--ink-900)}.tm-chat__done-actions{display:flex;gap:.5rem}.tm-portrait{align-items:center;background:var(--surface-subtle);border:1px solid var(--line-strong);border-radius:50%;display:inline-flex;flex-shrink:0;justify-content:center;overflow:hidden}.tm-portrait img{display:block;height:100%;object-fit:cover;width:100%}.tm-portrait--md{height:40px;width:40px}.tm-portrait--xs{height:30px;width:30px}.tm-chip .tm-portrait--xs{height:26px;width:26px}.tm-portrait__fallback{align-items:center;background:var(--brand-soft);color:var(--brand);display:flex;font-size:.75rem;font-weight:800;height:100%;justify-content:center;letter-spacing:.02em;width:100%}.tm-portrait--xs .tm-portrait__fallback{font-size:.62rem}.app__testimonial-brands{align-items:center;display:flex;flex-direction:column;gap:1.35rem;margin:clamp(3rem,6vw,5rem) auto 0;max-width:var(--container);width:100%}.brands-label{align-items:center;color:var(--ink-400);display:flex;font-size:.68rem;font-weight:700;letter-spacing:.16em;line-height:1;min-height:1rem;text-align:center;text-transform:uppercase;transition:color .3s var(--ease-out)}.app__testimonial-brands[data-active] .brands-label{color:var(--brand)}.brands-track{list-style:none;margin:0;padding:0}.brand-logo,.brands-track{align-items:center;display:flex;justify-content:center}.brand-logo{padding:.6rem clamp(1rem,2.6vw,2.2rem);position:relative}.brand-logo+.brand-logo:before{background:var(--line);content:"";height:26px;left:0;margin-top:-13px;position:absolute;top:50%;width:1px}.brand-logo__btn{align-items:center;background:none;border:0;cursor:pointer;display:flex;justify-content:center;padding:0}@media(pointer:coarse){.brand-logo__btn{margin:-.6rem 0;padding:.6rem 0}}.brand-logo__btn:focus-visible{border-radius:8px;outline-offset:6px}.brand-logo__btn img{filter:grayscale(1);height:auto;max-height:34px;max-height:calc(var(--logo-box, 34px)*var(--logo-scale, 1));max-width:132px;object-fit:contain;opacity:.5;transition:opacity .3s var(--ease-out),filter .3s var(--ease-out),transform .3s var(--ease-out);width:auto}body.dark-mode .brand-logo__btn img{filter:grayscale(1) invert(1);opacity:.62}.brand-logo[data-active] .brand-logo__btn img{filter:grayscale(0);opacity:1;transform:translateY(-2px) scale(1.05)}body.dark-mode .brand-logo[data-active] .brand-logo__btn img{filter:grayscale(1) invert(1) brightness(1.2)}.app__testimonial-brands[data-active] .brand-logo:not([data-active]) .brand-logo__btn img{opacity:.26}.brand-logo__mark{background:var(--brand);border-radius:2px;bottom:0;height:2px;left:50%;margin-left:-13px;position:absolute;width:26px}@media screen and (max-width:760px){.brands-track{flex-wrap:wrap;gap:.25rem .5rem}.brand-logo{padding:.7rem .9rem}.brand-logo+.brand-logo:before{content:none}.brand-logo .brand-logo__btn img{--logo-scale:0.78;max-width:104px}}.work-badges{display:flex;flex-wrap:wrap;gap:.4rem}.work-badge{align-items:center;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink-500);display:inline-flex;font-family:var(--font-mono);font-size:.64rem;font-weight:500;gap:.35rem;letter-spacing:.1em;line-height:1.2;padding:.28rem .6rem;text-transform:uppercase}.work-badge svg{font-size:.8rem}.work-badge--client{background:var(--brand);border-color:#0000;color:#fff}body.dark-mode .work-badge--client{color:#14151a}.work-badge--private{color:var(--ink-700)}.work-title__name{display:inline}.work-title__note{color:var(--ink-400);font-weight:600;white-space:nowrap}.work-title__sub{color:var(--ink-500);display:block;font-size:.5em;font-weight:600;letter-spacing:-.005em;line-height:1.35;margin-top:.35em}.work-stack{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none}.work-stack li{background:var(--surface-subtle);border:1px solid var(--line);border-radius:6px;color:var(--ink-700);font-family:var(--font-mono);font-size:.7rem;padding:.26rem .55rem}.work-links{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}.work-links a{align-items:center;color:var(--ink-700);display:inline-flex;font-size:.8rem;font-weight:700;gap:.35rem;position:relative;text-decoration:none;transition:color .2s var(--ease-out);z-index:2}@media(pointer:coarse){.work-links a{margin:-.45rem 0;padding:.45rem 0}}.work-links a svg{font-size:1.05em}.work-links a:hover{color:var(--brand)}.work-stretch:after{border-radius:inherit;content:"";inset:0;position:absolute;z-index:1}.work-stretch:focus-visible{outline:none}.work-stretch:focus-visible:after{outline:2px solid var(--brand);outline-offset:3px}.work-proof{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));list-style:none;margin:0;padding:0}.work-proof li{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.3rem;padding:.95rem 1.1rem 1rem}.work-proof strong{font-feature-settings:"tnum";align-items:center;color:var(--ink-900);display:inline-flex;font-size:clamp(1.45rem,1.1rem + 1vw,1.9rem);font-variant-numeric:tabular-nums;font-weight:800;gap:.5rem;letter-spacing:-.02em;line-height:1.05}.work-proof span{color:var(--ink-500);font-size:.78rem;font-weight:500;line-height:1.35}.work-proof li[data-status]{background:var(--brand-soft);border-color:var(--brand-ring)}.work-proof li[data-status] strong{color:var(--brand)}.work-proof li[data-status]>span{color:var(--ink-700)}.work-proof--case{margin-top:1.25rem}.work-proof__dot{background:#16a34a;border-radius:50%;box-shadow:0 0 0 3px #16a34a33;flex-shrink:0;height:9px;position:relative;width:9px}body.dark-mode .work-proof__dot{background:#34d399;box-shadow:0 0 0 3px #34d39938}.work-tile{border-radius:var(--radius-md);display:flex;flex-direction:column;position:relative}.work-tile[hidden]{display:none}.work-tile__media{aspect-ratio:16/10;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;position:relative;transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}.work-tile__media img{display:block;height:100%;object-fit:cover;object-position:top center;transition:transform .7s var(--ease-out);width:100%}.work-tile:hover .work-tile__media{border-color:var(--brand-ring);box-shadow:var(--shadow-md)}.work-tile:hover .work-tile__media img{transform:scale(1.04)}.work-tile__media--phones{align-items:flex-start;background-color:var(--surface-subtle);background-image:radial-gradient(var(--line-strong) .75px,#0000 1px);background-size:14px 14px;display:flex;gap:clamp(.4rem,1.5vw,.75rem);justify-content:center;padding:1rem 1rem 0}body.dark-mode .work-tile__media--phones{background-image:radial-gradient(#ffffff1f .75px,#0000 1px)}.work-tile__media--phones img{aspect-ratio:9/19.25;border:1px solid var(--line-strong);border-bottom:0;border-radius:12px 12px 0 0;box-shadow:var(--shadow-sm);flex:0 0 auto;height:auto;object-fit:cover;object-position:top center;transition:transform .5s var(--ease-out);width:28%}.work-tile__media--phones img:not(:nth-child(2)){margin-top:1rem}.work-tile:hover .work-tile__media--phones img{transform:translateY(-4px)}.work-tile__placeholder{color:var(--ink-400);display:grid;font-size:2.5rem;font-weight:800;inset:0;place-items:center;position:absolute}.work-tile__body{display:flex;flex:1 1;flex-direction:column;padding:1rem .15rem 0}.work-tile__meta{align-items:center;color:var(--ink-400);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.64rem;gap:.4rem 1rem;justify-content:space-between;letter-spacing:.12em;text-transform:uppercase}.work-tile__meta>span:first-child{align-items:center;display:inline-flex;gap:.4rem}.work-tile__meta svg{font-size:.9rem}.work-tile__links{gap:.25rem .9rem}.work-tile__links a{font-family:var(--font-base);font-size:.74rem;letter-spacing:0;text-transform:none}.work-tile__private{align-items:center;display:inline-flex;gap:.3rem}.work-tile__title{color:var(--ink-900);font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:.55rem;transition:color .25s var(--ease-out)}.work-tile:hover .work-tile__title{color:var(--brand)}.work-tile__desc{-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;color:var(--ink-500);display:-webkit-box;font-size:.84rem;line-height:1.65;margin-top:.45rem;overflow:hidden}.work-tile__stack{margin-top:.85rem}.work-tile__stack li{background:#0000}.work-tile__open{align-items:center;align-self:flex-start;background:none;border:0;color:var(--ink-700);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:700;gap:.4rem;margin-top:auto;padding:.9rem 0 0;transition:color .25s var(--ease-out)}.work-tile__open svg{transition:transform .25s var(--ease-out)}.work-tile:hover .work-tile__open{color:var(--brand)}.work-tile:hover .work-tile__open svg{transform:translateX(4px)}.work-deck{--deck-top:5.6rem;--deck-shrink:0.07;gap:1.25rem}.work-deck,.work-show{display:flex;flex-direction:column}.work-show{--stick:var(--deck-top);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 -4px 12px -6px #0b102038;overflow:hidden;position:sticky;top:min(var(--stick),100vh);top:min(var(--stick),var(--fit-top,100vh));transform-origin:center top;will-change:transform}.work-show:nth-child(2){--stick:calc(var(--deck-top) + 0.6rem)}.work-show:nth-child(3){--stick:calc(var(--deck-top) + 1.2rem)}.work-show:nth-child(4){--stick:calc(var(--deck-top) + 1.8rem)}.work-show:nth-child(5){--stick:calc(var(--deck-top) + 2.4rem)}.work-show:nth-child(6){--stick:calc(var(--deck-top) + 3rem)}.work-show[data-featured]{border-color:var(--brand-ring)}body.dark-mode .work-show{box-shadow:0 -5px 14px -6px #0009}.work-show__dim{background:#05070d;border-radius:inherit;inset:0;opacity:0;pointer-events:none;position:absolute;will-change:opacity;z-index:3}.work-show__cover{background:var(--surface-subtle);height:clamp(15rem,40svh,20rem);overflow:hidden;position:relative}.work-show__cover>img{display:block;height:100%;object-fit:cover;object-position:top center;width:100%}.work-show__cover--phones{align-items:flex-start;background:radial-gradient(120% 80% at 50% 0,var(--brand-soft),#0000 70%),var(--surface-subtle);display:flex;gap:.6rem;justify-content:center;padding:3.4rem 1rem 0}.work-show__cover--phones>img{aspect-ratio:9/19.25;border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-md);flex:0 0 auto;height:auto;object-fit:cover;object-position:top center;width:30%}.work-show__cover--phones>img:not(:nth-child(2)){margin-top:1.4rem}.work-show__shade{background:linear-gradient(180deg,#05070d8c,#05070d00 26%),linear-gradient(0deg,#05070df5 4%,#05070db8 34%,#05070d00 66%);inset:0;pointer-events:none;position:absolute}.work-show__top{align-items:center;color:#fff;display:flex;font-family:var(--font-mono);font-size:.6875rem;gap:.75rem;justify-content:space-between;left:1rem;letter-spacing:.1em;position:absolute;right:1rem;text-transform:uppercase;top:.85rem}.work-show__num{font-weight:500}.work-show__num span{opacity:.6}.work-show__chip{align-items:center;background:#05070d99;border:1px solid #ffffff38;border-radius:var(--radius-pill);display:inline-flex;gap:.35rem;padding:.3rem .6rem}.work-show__chip svg{font-size:.85rem}.work-show__head{bottom:1rem;color:#fff;left:1.15rem;position:absolute;right:1.15rem}.work-show__kicker{align-items:center;color:#b9beff;display:inline-flex;font-family:var(--font-mono);font-size:.6875rem;gap:.5rem;letter-spacing:.14em;text-transform:uppercase}.work-show__kicker:before{background:currentColor;border-radius:2px;content:"";height:2px;width:18px}.work-show__title{text-wrap:balance;color:#fff;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-top:.45rem}.work-show__title .work-title__note{color:#ffffff8c}.work-show__title .work-title__sub{color:#ffffffb8;font-size:.52em}.work-show__client{color:#ffffffc7;font-size:.82rem;font-weight:600;margin-top:.4rem}.work-show__body{display:flex;flex-direction:column;gap:.95rem;padding:1rem 1.15rem 1.05rem}.work-show__facts{border:1px solid var(--line);border-radius:var(--radius-md);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;overflow:hidden}.work-show__facts li{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .8rem .65rem}.work-show__facts li:nth-child(odd):not(:last-child){border-right:1px solid var(--line)}.work-show__facts li:nth-child(n+3){border-top:1px solid var(--line)}.work-show__facts li[data-status]{background:var(--brand-soft)}.work-show__facts li[data-status] strong{color:var(--brand)}.work-show__facts strong{font-feature-settings:"tnum";align-items:center;color:var(--ink-900);display:inline-flex;font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:800;gap:.45rem;letter-spacing:-.02em;line-height:1.1}.work-show__facts span{color:var(--ink-500);font-size:.72rem;line-height:1.3}.work-show__desc{-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;color:var(--ink-500);display:-webkit-box;font-size:.86rem;line-height:1.6;overflow:hidden}.work-show__meta{grid-gap:.55rem;display:grid;gap:.55rem}.work-show__meta>div{grid-gap:.75rem;align-items:baseline;display:grid;gap:.75rem;grid-template-columns:3.4rem minmax(0,1fr)}.work-show__meta dt{color:var(--ink-400);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}.work-show__meta dd{color:var(--ink-900);font-size:.84rem;font-weight:700;line-height:1.4}.work-show__meta dd span{color:var(--brand);display:block;font-size:.78rem;font-weight:600}.work-show__meta .work-show__stack{color:var(--ink-700);font-family:var(--font-mono);font-size:.74rem;font-weight:500}.work-show__foot{align-items:center;border-top:1px solid var(--line);display:flex;gap:.75rem;justify-content:space-between;padding-top:.85rem}.work-show__foot .work-links{position:relative;z-index:2}.work-show__private{align-items:center;color:var(--ink-500);display:inline-flex;font-size:.78rem;gap:.4rem}.work-show__private svg{color:var(--brand)}.work-show__open{align-items:center;background:none;border:0;color:var(--ink-700);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:700;gap:.4rem;margin-left:auto;padding:0;transition:color .25s var(--ease-out)}.work-show__open svg{transition:transform .25s var(--ease-out)}.work-show__open:after{border-radius:var(--radius-lg)}.work-show:hover .work-show__open{color:var(--brand)}.work-show:hover .work-show__open svg{transform:translateX(4px)}@media(prefers-reduced-motion:reduce){.work-show{scale:none!important}.work-show__dim{opacity:0!important}}.work-show__shots{display:none}@media screen and (max-width:860px){.work-show__desc--extra{display:none}}@media screen and (min-width:601px)and (max-width:860px){.work-show__cover{height:clamp(17rem,38svh,22rem)}.work-show__facts{grid-template-columns:repeat(4,minmax(0,1fr))}.work-show__facts li:nth-child(n){border-right:1px solid var(--line);border-top:0}.work-show__facts li:last-child{border-right:0}}@media screen and (min-width:861px){.work-deck{--deck-top:6.25rem;--deck-shrink:0.05;gap:2.5rem}.work-show{box-shadow:0 -6px 16px -8px #0b10203d;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);height:min(34rem,100vh - 8.5rem)}.work-show:nth-child(2){--stick:calc(var(--deck-top) + 0.85rem)}.work-show:nth-child(3){--stick:calc(var(--deck-top) + 1.7rem)}.work-show:nth-child(4){--stick:calc(var(--deck-top) + 2.55rem)}.work-show:nth-child(5){--stick:calc(var(--deck-top) + 3.4rem)}.work-show:nth-child(6){--stick:calc(var(--deck-top) + 4.25rem)}body.dark-mode .work-show{box-shadow:0 -6px 18px -8px #000000a6}.work-show:nth-child(2n) .work-show__cover{order:2}.work-show__cover{background:radial-gradient(110% 70% at 50% 0,#636aff47,#0000 70%),#0b0d16;height:auto;min-height:0}.work-show__shade{background:linear-gradient(180deg,#05070d73,#05070d00 18%),linear-gradient(0deg,#05070df2 6%,#05070d99 24%,#05070d00 44%)}.work-show__cover:not(.work-show__cover--phones){padding:4rem 2rem 0}.work-show__cover:not(.work-show__cover--phones)>img{aspect-ratio:16/10;border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-md);height:auto;transition:transform .6s var(--ease-out)}.work-show:hover .work-show__cover:not(.work-show__cover--phones)>img{transform:translateY(-6px)}.work-show__cover--phones{gap:1rem;padding:4rem 2rem 0}.work-show__cover--phones>img{max-width:170px;transition:transform .5s var(--ease-out);width:27%}.work-show__cover--phones>img:not(:nth-child(2)){margin-top:1.75rem}.work-show:hover .work-show__cover--phones>img{transform:translateY(-6px)}.work-show__top{left:1.5rem;right:1.5rem;top:1.25rem}.work-show__head{bottom:1.75rem;left:2rem;right:2rem}.work-show__eyebrow{align-items:center;display:flex;gap:1rem;justify-content:space-between}.work-show__title{font-size:clamp(2rem,1.1rem + 1.5vw,2.7rem)}.work-show__client{font-size:.92rem;margin-top:.55rem}.work-show__shots{align-items:center;background:#05070d99;border:1px solid #ffffff38;border-radius:8px;color:#fff;display:inline-flex;font-family:var(--font-mono);font-size:.68rem;gap:.4rem;letter-spacing:.06em;padding:.35rem .65rem}.work-show__shots svg{font-size:.9rem}.work-show__body{gap:1.2rem;min-height:0;padding:2rem 2.25rem 1.6rem}.work-show__desc{-webkit-line-clamp:6;line-clamp:6;font-size:.92rem;line-height:1.7}.work-show__desc--extra{-webkit-line-clamp:3;line-clamp:3}.work-show__facts li{padding:.75rem 1rem .8rem}.work-show__facts strong{font-size:1.4rem}.work-show__facts span{font-size:.76rem}.work-show__meta{gap:.7rem}.work-show__meta dd{font-size:.9rem}.work-show__foot{margin-top:auto;padding-top:1rem}}@media screen and (min-width:861px)and (prefers-reduced-motion:reduce){.work-show:hover .work-show__cover>img,.work-show:hover .work-show__open svg{transform:none}}.case{--case-pad:clamp(0.75rem,2.5vw,2rem);--case-stage:#0d0f16;--case-stage-ink:#ffffffeb;--case-stage-line:#ffffff1a;--case-stage-accent:#8b93ff;display:grid;font-family:var(--font-base);inset:0;padding:var(--case-pad);place-items:center;pointer-events:none;position:fixed;z-index:100}.case>*{pointer-events:auto}.case__scrim{background:#080b16bd;inset:0;position:fixed}.case__sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:calc(100vh - var(--case-pad)*2);max-height:calc(100dvh - var(--case-pad)*2);overflow:hidden;position:relative;width:min(960px,100%)}.case__sheet:focus,.case__sheet[tabindex]:focus-visible{outline:none}.case[data-media] .case__sheet{height:min(900px,100vh - 2*var(--case-pad));height:min(900px,100dvh - 2*var(--case-pad));width:min(1380px,100%)}.case__bar{background:var(--surface);border-bottom:1px solid var(--line);flex:0 0 auto;gap:1rem;justify-content:space-between;padding:.6rem .65rem .6rem 1.35rem}.case__bar,.case__crumb{align-items:center;display:flex}.case__crumb{color:var(--ink-500);font-family:var(--font-mono);font-size:.66rem;gap:.85rem;letter-spacing:.14em;min-width:0;text-transform:uppercase}.case__crumb>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case__pos{font-feature-settings:"tnum";border-left:1px solid var(--line-strong);color:var(--ink-400);font-variant-numeric:tabular-nums;padding-left:.85rem;white-space:nowrap}.case__tools{align-items:center;display:flex;gap:.3rem}.case__tool{background:#0000;border:1px solid #0000;border-radius:10px;color:var(--ink-700);cursor:pointer;display:grid;font-size:1.2rem;height:40px;place-items:center;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out);width:40px}.case__tool:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--line);color:var(--brand)}.case__tool:disabled{cursor:default;opacity:.3}.case__tool--close{border-color:var(--line)}.case__divider{background:var(--line-strong);height:22px;margin:0 .3rem;width:1px}.case__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.case__body::-webkit-scrollbar{width:12px}.case__body::-webkit-scrollbar-button{display:none}.case__body::-webkit-scrollbar-track{background:#0000;margin:10px 0 calc(var(--radius-lg) - 2px)}.case__body::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--line-strong);background-color:color-mix(in srgb,var(--ink-400) 35%,#0000);border:4px solid #0000;border-radius:var(--radius-pill)}.case__body::-webkit-scrollbar-thumb:active,.case__body::-webkit-scrollbar-thumb:hover{background-color:var(--ink-400)}@supports not selector(::-webkit-scrollbar){.case__body{scrollbar-color:var(--line-strong) #0000;scrollbar-width:thin}}.case__body[data-fade=bottom]{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 2.75rem),#0000);mask-image:linear-gradient(180deg,#000 calc(100% - 2.75rem),#0000)}.case__body[data-fade=top]{-webkit-mask-image:linear-gradient(180deg,#0000,#000 2.75rem);mask-image:linear-gradient(180deg,#0000,#000 2.75rem)}.case__body[data-fade=both]{-webkit-mask-image:linear-gradient(180deg,#0000,#000 2.75rem,#000 calc(100% - 2.75rem),#0000);mask-image:linear-gradient(180deg,#0000,#000 2.75rem,#000 calc(100% - 2.75rem),#0000)}.case__viewer{background:var(--case-stage);color:var(--case-stage-ink);display:flex;flex-direction:column;min-width:0}.case__stage{aspect-ratio:16/9;overflow:hidden;position:relative;touch-action:pan-y}.case__stage[data-zoomed]{touch-action:none}.case__slide{inset:clamp(.75rem,2.5vw,2.25rem);position:absolute}.case__shot{-webkit-user-drag:none;cursor:grab;display:block;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;width:100%}.case__shot:active{cursor:grabbing}.case__hint{background:#0d0f16c7;border:1px solid var(--case-stage-line);border-radius:8px;bottom:.9rem;color:#fffc;font-family:var(--font-mono);font-size:.64rem;left:50%;letter-spacing:.08em;opacity:0;padding:.35rem .7rem;pointer-events:none;position:absolute;text-transform:uppercase;transform:translate(-50%,4px);transition:opacity .25s var(--ease-out),transform .25s var(--ease-out);white-space:nowrap;z-index:2}.case__stage:hover .case__hint{opacity:1;transform:translate(-50%)}@media(hover:none){.case__hint{display:none}}.case__step{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d0f16b8;border:1px solid var(--case-stage-line);border-radius:50%;color:#fff;cursor:pointer;display:grid;font-size:1.3rem;height:44px;margin-top:-22px;place-items:center;position:absolute;top:50%;transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out);width:44px;z-index:2}.case__step:hover{background:#ffffff29;border-color:#ffffff3d}.case__step--prev{left:.9rem}.case__step--next{right:.9rem}.case__stage-tools{display:flex;gap:.4rem;position:absolute;right:.9rem;top:.9rem;z-index:2}.case__chip{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d0f16b8;border:1px solid var(--case-stage-line);border-radius:8px;color:#ffffffd9;cursor:pointer;display:inline-flex;font:inherit;font-family:var(--font-mono);font-size:.66rem;gap:.4rem;height:32px;justify-content:center;letter-spacing:.08em;min-width:32px;padding:0 .65rem;text-decoration:none;text-transform:uppercase;transition:color .2s var(--ease-out),border-color .2s var(--ease-out)}.case__chip svg{font-size:.95rem}.case__chip:hover,.case__chip[aria-pressed=true]{border-color:#ffffff47;color:#fff}.case__chip:focus-visible,.case__step:focus-visible,.case__thumbs button:focus-visible{outline-color:var(--case-stage-accent)}.case__rail{align-items:center;border-top:1px solid var(--case-stage-line);display:flex;flex:0 0 auto;gap:1rem;padding:.75rem 1rem}.case__counter{font-feature-settings:"tnum";border-right:1px solid var(--case-stage-line);color:#ffffff80;flex:0 0 auto;font-family:var(--font-mono);font-size:.74rem;font-variant-numeric:tabular-nums;padding-right:1rem}.case__counter strong{color:#fff;font-weight:500}.case__thumbs{display:flex;gap:.5rem;list-style:none;mask-image:linear-gradient(90deg,#0000,#000 1.25rem,#000 calc(100% - 1.25rem),#0000);-webkit-mask-image:linear-gradient(90deg,#0000,#000 1.25rem,#000 calc(100% - 1.25rem),#0000);min-width:0;overflow-x:auto;padding:3px 1.25rem;scrollbar-width:none}.case__thumbs::-webkit-scrollbar{display:none}.case__thumbs li{flex:0 0 auto}.case__thumbs button{background:#ffffff0a;border:1px solid var(--case-stage-line);border-radius:6px;cursor:pointer;display:block;height:42px;opacity:.45;overflow:hidden;padding:0;transition:opacity .2s var(--ease-out),border-color .2s var(--ease-out);width:84px}.case__thumbs button:hover{opacity:.8}.case__thumbs button[data-current]{border-color:var(--case-stage-accent);box-shadow:0 0 0 1px var(--case-stage-accent);opacity:1}.case__thumbs img{display:block;height:100%;object-fit:cover;object-position:top center;width:100%}.case__viewer[data-portrait] .case__thumbs button{height:56px;width:30px}.case__info{min-width:0;padding:clamp(1.4rem,2.6vw,2.25rem)}.case__details{display:flex;flex-direction:column;gap:1.6rem}.case__aside,.case__main{display:contents}.case__head{order:0}.case__facts{order:1}.case__block--overview{order:2}.case__block--stack{order:3}.case__links,.case__private{order:4}.case__next{order:5}.case__title{text-wrap:balance;color:var(--ink-900);font-size:clamp(1.65rem,1.2rem + 1.4vw,2.35rem);font-weight:800;letter-spacing:-.028em;line-height:1.06;margin-top:.9rem}.case__title[data-note]{text-wrap:pretty}.case__title .work-title__sub{font-size:.52em}.case__client{color:var(--ink-500);font-size:.9rem;margin-top:.7rem}.case__client strong{color:var(--ink-900);font-weight:700}.case__label{color:var(--ink-400);font-family:var(--font-mono);font-size:.62rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase}.case__desc{color:var(--ink-700);font-size:.92rem;line-height:1.78;margin-top:.6rem}.case__facts{grid-gap:0 1rem;border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:0 1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.case__facts>div{padding:.9rem 0}.case__facts .case__fact-role{border-bottom:1px solid var(--line);grid-column:1/-1}.case__facts dt{color:var(--ink-400);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.case__facts dd{color:var(--ink-900);font-size:.9rem;font-weight:700;margin-top:.35rem}.case__scope{color:var(--brand);display:block;font-size:.82rem;font-weight:600;margin-top:.15rem}.case__platform{align-items:center;display:flex;gap:.4rem;white-space:nowrap}.case__platform svg{color:var(--ink-400)}.case__stack{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin-top:.7rem}.case__stack li{background:var(--surface-subtle);border:1px solid var(--line);border-radius:6px;color:var(--ink-700);font-family:var(--font-mono);font-size:.74rem;padding:.32rem .65rem}.case__private{background:var(--brand-soft);border:1px solid var(--brand-ring);border-radius:var(--radius-sm);padding:1rem 1.1rem}.case__private p:last-child{color:var(--ink-500);font-size:.84rem;line-height:1.65;margin-top:.4rem}.case__private-title{align-items:center;color:var(--ink-900);display:flex;font-size:.88rem;font-weight:700;gap:.5rem}.case__private-title svg{color:var(--brand)}.case__links{display:flex;flex-wrap:wrap;gap:.6rem}.case__btn{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-700);display:inline-flex;font-size:.84rem;font-weight:700;gap:.5rem;justify-content:center;padding:.8rem 1.3rem;text-decoration:none;transition:color .2s var(--ease-out),border-color .2s var(--ease-out),background-color .2s var(--ease-out)}.case__btn:hover{border-color:var(--brand-ring);color:var(--brand)}.case__btn--primary{background:var(--brand);border-color:#0000;color:#fff}.case__btn--primary:hover{background:var(--brand-strong);color:#fff}body.dark-mode .case__btn--primary,body.dark-mode .case__btn--primary:hover{color:#14151a}.case__next{align-items:flex-start;background:none;border:0;border-top:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.4rem;padding:1.25rem 0 0;text-align:left;width:100%}.case__next svg{flex:0 0 auto;margin-left:.5rem;transition:transform .25s var(--ease-out)}.case__next:hover .case__next-title{color:var(--brand)}.case__next:hover svg{transform:translateX(4px)}.case__next-title{align-items:center;color:var(--ink-900);display:flex;font-size:1rem;font-weight:700;line-height:1.35;transition:color .2s var(--ease-out)}@media screen and (min-width:1025px){.case[data-media] .case__body{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,27vw,400px);-webkit-mask-image:none;mask-image:none;overflow:hidden}.case[data-media] .case__viewer{min-height:0}.case[data-media] .case__stage{aspect-ratio:auto;flex:1 1 auto;min-height:0}.case[data-media] .case__info{border-left:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain}.case[data-media] .case__info::-webkit-scrollbar{width:12px}.case[data-media] .case__info::-webkit-scrollbar-button{display:none}.case[data-media] .case__info::-webkit-scrollbar-track{background:#0000;margin:10px 0 calc(var(--radius-lg) - 2px)}.case[data-media] .case__info::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--line-strong);background-color:color-mix(in srgb,var(--ink-400) 35%,#0000);border:4px solid #0000;border-radius:var(--radius-pill)}.case[data-media] .case__info::-webkit-scrollbar-thumb:active,.case[data-media] .case__info::-webkit-scrollbar-thumb:hover{background-color:var(--ink-400)}@supports not selector(::-webkit-scrollbar){.case[data-media] .case__info{scrollbar-color:var(--line-strong) #0000;scrollbar-width:thin}}.case[data-media] .case__info[data-fade=bottom]{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 2.75rem),#0000);mask-image:linear-gradient(180deg,#000 calc(100% - 2.75rem),#0000)}.case[data-media] .case__info[data-fade=top]{-webkit-mask-image:linear-gradient(180deg,#0000,#000 2.75rem);mask-image:linear-gradient(180deg,#0000,#000 2.75rem)}.case[data-media] .case__info[data-fade=both]{-webkit-mask-image:linear-gradient(180deg,#0000,#000 2.75rem,#000 calc(100% - 2.75rem),#0000);mask-image:linear-gradient(180deg,#0000,#000 2.75rem,#000 calc(100% - 2.75rem),#0000)}}@media screen and (min-width:761px){.case:not([data-media]) .case__info{padding:clamp(1.75rem,3.5vw,3rem)}.case:not([data-media]) .case__details{grid-gap:2rem clamp(2rem,4vw,3.5rem);align-items:start;display:grid;gap:2rem clamp(2rem,4vw,3.5rem);grid-template-columns:minmax(0,1fr) minmax(220px,290px)}.case:not([data-media]) .case__head,.case:not([data-media]) .case__next{grid-column:1/-1}.case:not([data-media]) .case__head{border-bottom:1px solid var(--line);padding-bottom:1.75rem}.case:not([data-media]) .case__title{font-size:clamp(2rem,1.4rem + 1.8vw,2.75rem)}.case:not([data-media]) .case__aside,.case:not([data-media]) .case__main{display:flex;flex-direction:column;gap:1.75rem}.case:not([data-media]) .case__desc{font-size:1rem}.case:not([data-media]) .case__facts{border-top:0;grid-template-columns:minmax(0,1fr)}.case:not([data-media]) .case__facts>div+div{border-top:1px solid var(--line)}.case:not([data-media]) .case__facts>div:first-child{padding-top:0}.case:not([data-media]) .case__facts .case__fact-role{border-bottom:0}}@media screen and (max-width:760px){.case{--case-pad:0px}.case[data-media] .case__sheet,.case__sheet{border:0;border-radius:0;height:100vh;height:100dvh;max-height:none;width:100%}.case__bar{padding:calc(.45rem + env(safe-area-inset-top)) .5rem .45rem 1rem}.case__tool{height:42px;width:42px}.case__crumb>span:first-child{display:none}.case__pos{border-left:0;padding-left:0}.case__stage{aspect-ratio:16/10}.case__step{font-size:1.15rem;height:38px;margin-top:-19px;width:38px}.case__step--prev{left:.5rem}.case__step--next{right:.5rem}.case__stage-tools{right:.5rem;top:.5rem}.case__chip-label{display:none}.case__rail{gap:.75rem;padding:.6rem .75rem}.case__counter{padding-right:.75rem}.case__thumbs button{height:32px;width:64px}.case__info{padding:1.4rem 1.1rem calc(2rem + env(safe-area-inset-bottom))}}.app__works{flex:1 1;flex-direction:column;width:100%}.work-index{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:-1rem auto 0}.work-index a{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink-700);display:inline-flex;font-size:.82rem;font-weight:700;gap:.6rem;padding:.55rem .95rem .55rem .8rem;text-decoration:none;transition:border-color .2s var(--ease-out),color .2s var(--ease-out)}.work-index a svg{color:var(--ink-400);transition:transform .25s var(--ease-out),color .2s var(--ease-out)}.work-index a:hover{border-color:var(--brand-ring);color:var(--brand)}.work-index a:hover svg{color:var(--brand);transform:translateY(2px)}.work-index__num{color:var(--brand);font-family:var(--font-mono);font-size:.66rem;font-weight:400}.work-index__count{background:var(--surface-subtle);border-radius:6px;color:var(--ink-500);font-family:var(--font-mono);font-size:.7rem;font-weight:500;min-width:1.5rem;padding:.1rem .4rem;text-align:center}.work-group{margin:clamp(3rem,6vw,4.5rem) auto 0;max-width:var(--container);scroll-margin-top:6rem;width:100%}.work-group+.work-group{margin-top:clamp(5rem,10vw,8rem)}.work-group__head{margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}.work-group__caption{align-items:center;color:var(--ink-400);display:flex;font-family:var(--font-mono);font-size:.66rem;gap:.9rem;letter-spacing:.14em;text-transform:uppercase}.work-group__index{color:var(--brand)}.work-group__rule{background:var(--line-strong);flex:1 1;height:1px}.work-group__meta{text-align:right}.work-group__intro{grid-gap:.75rem clamp(1.25rem,4vw,3.5rem);align-items:end;display:grid;gap:.75rem clamp(1.25rem,4vw,3.5rem);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);margin-top:1.25rem}.work-group__title{color:var(--ink-900);font-size:clamp(1.55rem,1.2rem + 1.2vw,2.15rem);font-weight:800;letter-spacing:-.025em;line-height:1.1}.work-group__desc{color:var(--ink-500);font-size:.9rem;line-height:1.7;max-width:60ch}.work-group--personal .work-group__title{color:var(--ink-700);font-size:clamp(1.35rem,1.1rem + .9vw,1.8rem)}.work-tiles{grid-gap:clamp(2rem,3vw,2.75rem) clamp(1.25rem,2.2vw,2rem);display:grid;gap:clamp(2rem,3vw,2.75rem) clamp(1.25rem,2.2vw,2rem);grid-template-columns:repeat(3,minmax(0,1fr))}.work-more{display:flex;justify-content:center;margin-top:clamp(2.25rem,4vw,3rem)}.work-more__btn{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-700);cursor:pointer;display:inline-flex;font:inherit;font-size:.84rem;font-weight:700;gap:.5rem;padding:.75rem 1.3rem;transition:border-color .2s var(--ease-out),color .2s var(--ease-out)}.work-more__btn svg{transition:transform .25s var(--ease-out)}.work-more__btn:hover{border-color:var(--brand-ring);color:var(--brand)}.work-more__btn:hover svg{transform:translateY(2px)}.work-empty{color:var(--ink-500);font-size:.9rem;margin:3rem auto;text-align:center}@media screen and (max-width:1024px){.work-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:860px){.work-group__intro{align-items:start;grid-template-columns:minmax(0,1fr)}}@media screen and (max-width:600px){.work-index{gap:.4rem;margin-top:-.75rem}.work-index a{gap:.5rem;padding:.5rem .75rem}.work-index svg{display:none}.work-group__caption{font-size:.6rem;gap:.6rem}.work-tiles{--tiles-bleed:2rem;display:flex;gap:.9rem;margin-inline:calc(var(--tiles-bleed)*-1);overflow-x:auto;overscroll-behavior-x:contain;padding:0 var(--tiles-bleed) .5rem;scroll-padding-inline:var(--tiles-bleed);scroll-snap-type:x mandatory;scrollbar-width:none}.work-tiles::-webkit-scrollbar{display:none}.work-tiles>.work-tile{flex:0 0 84%;scroll-snap-align:start;scroll-snap-stop:always;transform-origin:center top;transition:scale .45s var(--ease-out)}.work-tiles>.work-tile .work-tile__body,.work-tiles>.work-tile .work-tile__media{transition:opacity .45s var(--ease-out)}.work-tiles>.work-tile:not([data-active]){scale:.94}.work-tiles>.work-tile:not([data-active]) .work-tile__media{opacity:.6}.work-tiles>.work-tile:not([data-active]) .work-tile__body{opacity:.45}.work-pager{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-top:1.25rem}.work-pager__count{color:var(--ink-400);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;min-width:3.25rem}.work-pager__count span{color:var(--ink-900);font-weight:700}.work-pager__dots{display:flex;flex-wrap:wrap;gap:.1rem;justify-content:center}.work-pager__dot{background:none;border:0;cursor:pointer;display:grid;height:1.5rem;padding:0;place-items:center;width:1.1rem}.work-pager__dot:before{background:var(--line-strong);border-radius:var(--radius-pill);content:"";height:6px;transition:width .35s var(--ease-out),background-color .35s var(--ease-out);width:6px}.work-pager__dot[aria-current]:before{background:var(--brand);width:18px}.work-pager__dot:focus-visible{border-radius:6px;outline:2px solid var(--brand-ring);outline-offset:1px}.work-pager__arrows{display:flex;gap:.4rem}.work-pager__arrow{background:var(--surface);border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-700);cursor:pointer;display:grid;font-size:1.05rem;height:2.25rem;padding:0;place-items:center;transition:border-color .2s var(--ease-out),color .2s var(--ease-out),opacity .2s var(--ease-out);width:2.25rem}.work-pager__arrow:active:not(:disabled){border-color:var(--brand-ring);color:var(--brand)}.work-pager__arrow:disabled{cursor:default;opacity:.35}}@media screen and (max-width:600px)and (prefers-reduced-motion:reduce){.work-pager__dot:before,.work-tiles>.work-tile,.work-tiles>.work-tile .work-tile__body,.work-tiles>.work-tile .work-tile__media{transition:none}}.cmdk,.cmdk-backdrop{pointer-events:auto}.cmdk-backdrop{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#080a1273;inset:0;position:fixed;z-index:130}.cmdk{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 40px 90px -30px #080a1499;left:0;margin:0 auto;overflow:hidden;position:fixed;right:0;top:14vh;width:min(34rem,100vw - 24px);z-index:140}.cmdk kbd{background:var(--surface-subtle);border:solid var(--line-strong);border-radius:5px;border-width:1px 1px 2px;color:var(--ink-500);display:inline-block;font-family:var(--font-mono);font-size:.66rem;line-height:1.4;min-width:1.4em;padding:.05rem .35rem;text-align:center}@media screen and (max-width:600px){.cmdk{border-radius:22px 22px 0 0;bottom:0;padding-bottom:env(safe-area-inset-bottom,0);top:auto;width:100%}}.cmdk__field{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:.7rem;padding:.9rem 1rem}.cmdk__field>svg{color:var(--brand);flex:none;font-size:1.15rem}.cmdk__field input{background:none;border:0;color:var(--ink-900);flex:1 1;font:inherit;font-size:1rem;min-width:0;outline:0}.cmdk__field input::placeholder{color:var(--ink-400)}.cmdk__field input:focus,.cmdk__field input:focus-visible{outline:none}.cmdk__list{list-style:none;margin:0;max-height:min(22rem,52vh);overflow-y:auto;overscroll-behavior:contain;padding:.4rem}.cmdk__group{color:var(--ink-400);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;padding:.65rem .65rem .3rem;text-transform:uppercase}.cmdk__item{align-items:center;border-radius:10px;color:var(--ink-700);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.75rem;padding:.6rem .65rem}.cmdk__item[aria-selected=true]{background:var(--brand-soft);color:var(--ink-900)}.cmdk__item[aria-selected=true] .cmdk__icon{border-color:var(--brand-ring);color:var(--brand)}@media screen and (max-width:600px){.cmdk__item{padding:.75rem .65rem}}.cmdk__icon{border:1px solid var(--line);border-radius:8px;color:var(--ink-400);display:grid;flex:none;font-family:var(--font-mono);font-size:.7rem;height:1.9rem;place-items:center;width:1.9rem}.cmdk__icon svg{font-size:.95rem}.cmdk__label{flex:1 1;min-width:0}.cmdk__hint{color:var(--ink-400);font-family:var(--font-mono);font-size:.68rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk__empty{color:var(--ink-500);font-size:.86rem;padding:1.1rem .75rem}.cmdk__foot{border-top:1px solid var(--line);color:var(--ink-400);display:flex;font-size:.72rem;gap:1.2rem;padding:.6rem 1rem}.cmdk__foot span{align-items:center;display:inline-flex;gap:.25rem}@media(pointer:coarse){.cmdk__foot{display:none}.cmdk__esc{display:none!important}}.island-nav{display:flex;justify-content:center;left:0;padding:.85rem 12px 0;pointer-events:none;position:fixed;right:0;top:0;z-index:100}.island{--island-h:48px;--spring:cubic-bezier(0.3,1.25,0.4,1);background:#fffffff0;border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);height:var(--island-h);max-width:calc(100vw - 24px);overflow:hidden;pointer-events:auto;position:relative;transition:width .5s var(--spring)}body.dark-mode .island{background:#17181ef2;border-color:#ffffff17}.island__layer{align-items:center;display:flex;gap:.6rem;height:var(--island-h);left:0;padding:0 .4rem 0 1.15rem;position:absolute;top:0;transition:opacity .25s var(--ease-out),transform .35s var(--ease-out);white-space:nowrap}.island:not([data-sized]) .island__compact{position:relative}.island.is-open .island__compact,.island__full{opacity:0;pointer-events:none;transform:scale(.97)}.island.is-open .island__full{opacity:1;pointer-events:auto;transform:none}.island__brand{color:var(--ink-900);flex-shrink:0;font-size:1.02rem;font-weight:800;letter-spacing:-.02em;text-decoration:none}.island__brand span{color:var(--brand)}.island__sep{background:var(--line-strong);height:18px;width:1px}.island__icon-btn{background:none;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-700);cursor:pointer;display:inline-grid;flex:none;height:34px;place-items:center;transition:color .2s var(--ease-out),border-color .2s var(--ease-out);width:34px}.island__icon-btn:hover{border-color:var(--brand-ring);color:var(--brand)}.island__prompt{align-items:center;background:none;border:0;border-radius:var(--radius-pill);color:var(--ink-900);cursor:pointer;display:inline-flex;font:inherit;height:38px;padding:0 .4rem;transition:background-color .2s var(--ease-out)}.island__prompt:hover{background:var(--brand-soft)}.island__prompt:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.island__where{align-items:baseline;display:inline-flex;font-size:.86rem;font-weight:700;gap:.45rem;height:1.3em;overflow:hidden}.island__where em{color:var(--brand);font-family:var(--font-mono);font-size:.72rem;font-style:normal;font-weight:500}.island__where-label{animation:island-roll .35s var(--ease-out);display:inline-block}@keyframes island-roll{0%{opacity:0;transform:translateY(100%)}}.island__ring{flex:none;height:24px;transform:rotate(-90deg);width:24px}.island__ring circle{fill:none;stroke-width:2.6}.island__ring-track{stroke:var(--line-strong)}.island__ring-fill{stroke:var(--brand);stroke-linecap:round}.island__theme-compact{display:none}.island__links{align-items:center;display:flex;gap:.1rem;list-style:none;margin:0 .35rem 0 .6rem}.island__links a{align-items:center;border-radius:var(--radius-pill);color:var(--ink-500);display:inline-flex;font-size:.76rem;font-weight:600;letter-spacing:.05em;padding:.48rem .8rem;position:relative;text-decoration:none;text-transform:uppercase;transition:color .25s var(--ease-out)}.island__links a>span{position:relative;z-index:1}.island__links a:hover{color:var(--ink-900)}.island__links a.is-active{color:var(--brand)}.island__links a:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.island__pill{background:var(--brand-soft);border:1px solid var(--brand-ring);border-radius:var(--radius-pill);inset:0;position:absolute}.island__tools{align-items:center;display:flex;gap:.35rem}.island__jump{align-items:center;background:none;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-500);cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:600;gap:.5rem;height:34px;padding:0 .4rem 0 .75rem;transition:color .2s var(--ease-out),border-color .2s var(--ease-out)}.island__jump svg{font-size:.95rem}.island__jump kbd{border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-400);font-family:var(--font-mono);font-size:.64rem;padding:.05rem .4rem}.island__jump:hover{border-color:var(--brand-ring);color:var(--brand)}.island__cv{align-items:center;background:var(--brand);border-radius:var(--radius-pill);color:#fff;display:inline-flex;font-size:.78rem;font-weight:700;gap:.35rem;height:34px;padding:0 .85rem 0 .7rem;text-decoration:none;transition:background-color .2s var(--ease-out)}.island__cv:hover{background:var(--brand-strong)}body.dark-mode .island__cv{color:#14151a}.island__brand:focus-visible,.island__cv:focus-visible,.island__icon-btn:focus-visible,.island__jump:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media screen and (max-width:999px){.island__layer{gap:.5rem;padding:0 .35rem 0 1rem}.island__theme-compact{display:inline-grid}.island__full{visibility:hidden}}.island-toast{background:var(--ink-900);border-radius:var(--radius-pill);bottom:calc(1.25rem + env(safe-area-inset-bottom, 0px));color:var(--surface);font-size:.82rem;font-weight:600;left:50%;max-width:calc(100vw - 32px);opacity:0;padding:.5rem 1rem;pointer-events:none;position:fixed;transform:translate(-50%,12px);transition:opacity .25s var(--ease-out),transform .25s var(--ease-out);z-index:150}.island-toast[data-show]{opacity:1;transform:translate(-50%)}.island-toast:empty{padding:0}@media(prefers-reduced-motion:reduce){.island,.island-toast,.island__layer{transition:none}.island__where-label{animation:none}}.app__social{--rail-size:40px;bottom:2rem;display:flex;flex-direction:column;left:1.35rem;position:fixed;width:var(--rail-size);z-index:20}@media screen and (max-width:900px){.app__social{display:none}}.app__social-line{align-self:center;background:linear-gradient(to bottom,#0000,var(--line-strong));height:56px;margin-bottom:.75rem;position:relative;width:1px}.app__social-line:after{background:linear-gradient(to bottom,#0000,var(--brand));content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s var(--ease-out)}.app__social:focus-within .app__social-line:after{opacity:.7}@media(hover:hover){.app__social:hover .app__social-line:after{opacity:.7}}.app__social-list{align-items:flex-start;display:flex;flex-direction:column;gap:.7rem;list-style:none}.app__social-link{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);color:var(--ink-500);display:flex;height:var(--rail-size);text-decoration:none;transition:color .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);white-space:nowrap}.app__social-link:focus-visible{border-radius:var(--radius-pill);outline-offset:3px}.app__social-icon{align-items:center;display:flex;flex:none;height:calc(var(--rail-size) - 2px);justify-content:center;transition:transform .3s var(--ease-out);width:calc(var(--rail-size) - 2px)}.app__social-icon svg{height:15px;width:15px}.app__social-label{color:var(--ink-900);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.04em;max-width:0;opacity:0;overflow:hidden;transition:max-width .32s var(--ease-out),padding .32s var(--ease-out),opacity .2s var(--ease-out)}.app__social-link:focus-visible{border-color:var(--brand);box-shadow:0 8px 22px var(--brand-ring);color:var(--brand)}.app__social-link:focus-visible .app__social-icon{transform:translateX(2px)}.app__social-link:focus-visible .app__social-label{max-width:6rem;opacity:1;padding-right:1rem;transition-delay:0s,0s,.06s}@media(hover:hover){.app__social-link:hover{border-color:var(--brand);box-shadow:0 8px 22px var(--brand-ring);color:var(--brand)}.app__social-link:hover .app__social-icon{transform:translateX(2px)}.app__social-link:hover .app__social-label{max-width:6rem;opacity:1;padding-right:1rem;transition-delay:0s,0s,.06s}}.app{background-color:var(--primary-color);font-family:var(--font-base)}.app__whitebg{background-color:var(--surface)}@media screen and (max-width:500px){.app__whitebg{padding:0 1rem}}.app__primarybg{background-color:var(--surface-subtle)}@media screen and (max-width:500px){.app__primarybg{padding:0 1rem}}.app__container{display:flex;flex-direction:row;min-height:100vh;width:100%}.app__flex{align-items:center;display:flex;justify-content:center}.app__wrapper{flex:1 1;flex-direction:column;padding:6rem 4rem 6rem 5rem;width:100%}@media screen and (max-width:900px){.app__wrapper{padding:5rem 2rem}}@media screen and (max-width:450px){.app__wrapper{padding:4rem 1rem 3rem}}.btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-family:var(--font-base);font-size:.88rem;font-weight:700;gap:.55rem;justify-content:center;letter-spacing:.01em;padding:.85rem 1.6rem;text-decoration:none;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),background-color .25s var(--ease-out),border-color .25s var(--ease-out),color .25s var(--ease-out)}.btn svg{font-size:1.05em;transition:transform .25s var(--ease-out)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--brand);box-shadow:0 10px 26px var(--brand-ring);color:#fff}.btn--primary:hover{background:var(--brand-strong);box-shadow:0 16px 34px var(--brand-ring)}.btn--primary:hover svg{transform:translateX(3px)}body.dark-mode .btn--primary{color:#14151a}.btn--ghost{background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow-xs);color:var(--ink-700)}.btn--ghost:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);color:var(--brand)}.head-text{color:var(--ink-900);font-size:clamp(1.9rem,1.2rem + 2.4vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.12;text-align:center}.head-text span{color:var(--brand)}.p-text{color:var(--ink-500);font-size:.88rem;line-height:1.6;text-align:left}@media screen and (min-width:2560px){.p-text{font-size:1.6rem}}.bold-text{color:var(--ink-900);font-size:1rem;font-weight:700;text-align:left}@media screen and (min-width:2560px){.bold-text{font-size:2rem}}@media screen and (max-width:450px){.bold-text{font-size:.9rem}}.copyright{align-items:center;display:flex;flex-direction:column;padding:2.5rem 0 0;width:100%}.copyright__bar{background:linear-gradient(90deg,#0000 0,var(--line-strong) 50%,#0000 100%);height:1px;margin-bottom:1.25rem;width:100%}.copyright__content{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;padding-bottom:1rem}.copyright__name{color:var(--brand);font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.copyright__rights,.copyright__year{color:var(--ink-400);font-size:.7rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.copyright__dot{background-color:var(--brand);border-radius:50%;flex-shrink:0;height:3px;opacity:.4;width:3px}@media screen and (max-width:500px){.copyright{padding:1.5rem 1rem 0}}.blueprint,.blueprint-patch{--bp-minor:#313bac0a;--bp-major:#313bac14;--bp-ground:var(--surface);isolation:isolate;position:relative}body.dark-mode .blueprint,body.dark-mode .blueprint-patch{--bp-minor:#8b93ff0a;--bp-major:rgba(139,147,255,.075)}.blueprint:before{background-image:radial-gradient(ellipse 85% 75% at 50% 45%,#0000 30%,var(--bp-ground) 82%),linear-gradient(var(--bp-major) 1px,#0000 1px),linear-gradient(90deg,var(--bp-major) 1px,#0000 1px),linear-gradient(var(--bp-minor) 1px,#0000 1px),linear-gradient(90deg,var(--bp-minor) 1px,#0000 1px);background-position:50%,center -1px,center -1px,center -1px,center -1px;background-repeat:no-repeat,repeat,repeat,repeat,repeat;background-size:100% 100%,80px 80px,80px 80px,16px 16px,16px 16px;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .6s var(--ease-out);will-change:transform,opacity;z-index:-1}.blueprint[data-drawn]:before{opacity:1}.blueprint.app__primarybg{--bp-ground:var(--surface-subtle)}@media(prefers-reduced-motion:reduce){.blueprint:before{transition:none}}.blueprint-patch{--bp-bleed:clamp(3rem,9vw,8.5rem)}.blueprint-patch:before{background-image:radial-gradient(closest-side,#0000 80%,var(--bp-ground) 100%),linear-gradient(var(--bp-major) 1px,#0000 1px),linear-gradient(90deg,var(--bp-major) 1px,#0000 1px),linear-gradient(var(--bp-minor) 1px,#0000 1px),linear-gradient(90deg,var(--bp-minor) 1px,#0000 1px);background-position:50%,center -1px,center -1px,center -1px,center -1px;background-repeat:no-repeat,repeat,repeat,repeat,repeat;background-size:100% 100%,80px 80px,80px 80px,16px 16px,16px 16px;content:"";inset:0 calc(var(--bp-bleed)*-1) calc(var(--bp-bleed)*-1);pointer-events:none;position:absolute;z-index:-1}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(/static/media/dm-mono-latin-ext-400.edc8d7d7fb4a37d9e194.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(/static/media/dm-mono-latin-400.2df1e3bdddc7cc72866f.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:500;src:url(/static/media/dm-mono-latin-ext-500.f3bdd70038d54e0bf6e4.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:500;src:url(/static/media/dm-mono-latin-500.9b6257679eb3989ff5f5.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400 900;src:url(/static/media/dm-sans-latin-ext-400-900.ac0988d827a9e03454d0.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400 900;src:url(/static/media/dm-sans-latin-400-900.09cead2724b8d8c7e453.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--font-base:"DM Sans",sans-serif;--font-mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--primary-color:#f4f7fb;--secondary-color:#313bac;--black-color:#030303;--lightGray-color:#e4e4e4;--gray-color:#6b7688;--brown-color:#46364a;--white-color:#fff;--brand:#313bac;--brand-strong:#252d8c;--brand-soft:#313bac14;--brand-ring:#313bac2e;--surface:#fff;--surface-subtle:#f7f9fc;--ink-900:#0b1020;--ink-700:#333a4d;--ink-500:#667085;--ink-400:#687083;--line:#0b102014;--line-strong:#0b102024;--shadow-xs:0 1px 2px #0b10200f;--shadow-sm:0 2px 10px #0b10200f;--shadow-md:0 10px 30px #0b102014;--shadow-lg:0 20px 50px #0b10201f;--shadow-xl:0 34px 80px #0b102029;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-xl:30px;--radius-pill:999px;--container:1180px;--container-wide:1320px;--ease-out:cubic-bezier(0.22,0.75,0.3,1)}body.dark-mode{--primary-color:#101114;--brand:#8b93ff;--brand-strong:#a6acff;--brand-soft:#8b93ff24;--brand-ring:#8b93ff42;--surface:#17181e;--surface-subtle:#1d1f27;--ink-900:#f2f4f9;--ink-700:#cdd3e0;--ink-500:#9aa2b5;--ink-400:#858ca0;--line:#ffffff17;--line-strong:#ffffff29;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 10px #00000073;--shadow-md:0 10px 30px #00000080;--shadow-lg:0 20px 50px #0000008c;--shadow-xl:0 34px 80px #0009}*{box-sizing:border-box;margin:0;padding:0;scroll-behavior:smooth}html{scrollbar-gutter:stable}body{overflow-x:hidden}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{border-radius:4px;outline:2px solid #313bac;outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}body.dark-mode{background:#101114;color:#f5f5f5}html:has(body.dark-mode){background:#101114;color-scheme:dark;scrollbar-color:#343747 #0e0f13}html:has(body.dark-mode)::-webkit-scrollbar{background:#0e0f13;width:12px}html:has(body.dark-mode)::-webkit-scrollbar-thumb{background:#343747;border:3px solid #0e0f13;border-radius:999px}html:has(body.dark-mode)::-webkit-scrollbar-thumb:hover{background:#4a4e66}.theme-switching *,.theme-switching :after,.theme-switching :before{transition:none!important}@supports (view-transition-name:root){::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){animation:theme-reveal .65s cubic-bezier(.65,0,.35,1) forwards;z-index:2}@keyframes theme-reveal{0%{clip-path:circle(0 at 50% 50%);clip-path:circle(0 at var(--theme-ripple-x,50%) var(--theme-ripple-y,50%))}to{clip-path:circle(150% at 50% 50%);clip-path:circle(var(--theme-ripple-radius,150%) at var(--theme-ripple-x,50%) var(--theme-ripple-y,50%))}}}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation:none!important}}.dark-mode .p-text{color:#ccc!important}@media screen and (max-width:600px){.contact__link-label,.corner__toggle-fig,.exp__year-count,.hero__eyebrow,.proof__caption,.proof__kind,.sky__tip small,.sysmap__caption,.work-badge,.work-group__index,.work-group__meta,.work-index__num,.work-tile__meta{font-size:.6875rem!important}}
/*# sourceMappingURL=main.bbbd0889.css.map*/