@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.0b02cdm7g7y6h.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:Italiana;font-style:normal;font-weight:400;font-display:swap;src:url(../media/68eb6f6c399b0b08-s.p.2uf74a5vdrpg7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Italiana Fallback;src:local(Times New Roman);ascent-override:87.07%;descent-override:23.46%;line-gap-override:0.0%;size-adjust:106.58%}.italiana_b541e8b6-module__2Vxm7a__className{font-family:Italiana,Italiana Fallback;font-style:normal;font-weight:400}.italiana_b541e8b6-module__2Vxm7a__variable{--font-display:"Italiana", "Italiana Fallback"}
:root{--bg:#0b0b0c;--bg-2:#131315;--fg:#ecebe8;--muted:#ecebe8bd;--line:#ecebe82e;--line-strong:#ecebe857;--accent:#e15ab9;--gutter:clamp(16px, 4vw, 40px);--section:clamp(88px, 12vw, 168px);--ease:cubic-bezier(.2, .7, .1, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--fg);font-family:var(--font-geist-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.55;overflow-x:clip}h1,h2,h3,p,figure,blockquote,ul,ol{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}section[id]{scroll-margin-top:24px}.mono{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums}.dim{color:var(--muted)}.wrap{width:100%;max-width:1320px;padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--gutter);z-index:10;background:var(--fg);color:var(--bg);border-radius:4px;padding:10px 14px;position:absolute;top:12px;transform:translateY(-160%)}.skip:focus-visible{transform:none}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:400}.meta{color:var(--muted);gap:16px;font-size:12px;display:flex}.link{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;transition:text-decoration-color .16s}.link:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.btn{min-height:44px;font:inherit;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--ease), background-color .16s ease, border-color .16s ease;border-radius:6px;justify-content:center;align-items:center;padding:0 20px;font-size:15px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.98)}.btn-solid{background:var(--fg);color:var(--bg);border:1px solid var(--fg)}.btn-solid:hover{background:#fff}.btn-ghost{color:var(--fg);border:1px solid var(--line-strong);background:0 0}.btn-ghost:hover{border-color:var(--fg)}.btn-ghost[data-state=copied]{border-color:var(--accent)}.nav{justify-content:center;align-items:center;height:128px;display:flex}.nav-links{color:var(--muted);gap:clamp(16px,4vw,48px);font-size:clamp(18px,4.5vw,28px);display:flex}.nav-links a{align-items:center;min-height:44px;transition:color .16s;display:inline-flex}.nav-links a:hover{color:var(--fg)}.bg{z-index:-1;background:radial-gradient(70% 60% at 30% 85%,#8d7dca 0%,#0000 70%),radial-gradient(60% 50% at 75% 45%,#606080 0%,#0000 70%),#212121;position:fixed;inset:0;overflow:hidden}.bg-canvas{position:absolute;inset:0}.hero{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;min-height:calc(100dvh - 128px);padding-bottom:48px;display:grid}.hero-copy{z-index:1;pointer-events:none;grid-area:1/1/auto/9;position:relative}.hero-copy a{pointer-events:auto}.eyebrow{color:var(--muted);align-items:center;gap:10px;margin-bottom:28px;font-size:12px;display:inline-flex}.dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.hero-name{font-family:var(--font-display), "Didot", "Bodoni 72", serif;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;color:#f1ece2;text-shadow:0 0 1px #f1ece2e6,0 0 18px #f1ece259,0 0 48px #f1ece226;font-size:clamp(3.5rem,12vw,10rem);font-weight:400;line-height:.92}.hero-name-a,.hero-name-b{display:inline-block;position:relative}.hero-name-b{color:#f1ece2e0;transform:skew(-14deg)}.hero-name-a:after,.hero-name-b:after{content:attr(data-text);filter:blur(6px);opacity:.55;pointer-events:none;position:absolute;inset:0;transform:translate(.06em)}.hero-role{font-family:var(--font-display), "Didot", "Bodoni 72", serif;letter-spacing:.04em;color:#f1ece2;-webkit-text-stroke:.035em currentColor;paint-order:stroke fill;text-shadow:0 0 14px #f1ece24d;margin-top:18px;font-size:clamp(1.5rem,3vw,2.5rem)}.hero-subheads{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;font-size:clamp(.8125rem,1.2vw,1rem);display:flex}@media (max-width:520px){.hero-subheads{letter-spacing:.08em;gap:8px}.hero-subheads span{margin-right:-.08em}}.hero-subheads span{margin-right:-.14em}.hero-subheads-star{fill:currentColor;opacity:.85;width:1.4em;height:1.4em;margin-inline:2px}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero-visual{aspect-ratio:1;grid-area:1/7/auto/13;justify-self:end;width:100%;max-height:78dvh;position:relative}.hero-poster{clip-path:polygon(50% 0,54% 38%,62% 46%,100% 50%,62% 54%,54% 62%,50% 100%,46% 62%,38% 54%,0 50%,38% 46%,46% 38%);opacity:.85;background:radial-gradient(circle,#fff 0%,#b9c8ff 25%,#3a3f5c 60%,#0b0b10 100%);transition:opacity .6s;position:absolute;inset:8% 26%}.hero-poster[data-hidden=true]{opacity:0}.hero-canvas{opacity:0;transition:opacity .8s;position:absolute;inset:0}.hero-canvas[data-ready=true]{opacity:1}.hero-visual-hint{color:var(--muted);font-size:11px;position:absolute;bottom:4%;right:0}@media (max-width:860px){.hero{grid-template-columns:minmax(0,1fr);align-content:start;gap:24px;min-height:0;padding-top:6vh}.hero-copy,.hero-visual{grid-area:auto/1}.hero-visual{justify-self:center;max-height:52dvh}}.section-head{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:clamp(40px,6vw,72px);padding-top:16px;display:flex}.section-count{color:var(--muted);font-size:12px}.statement{padding-block:var(--section);grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.statement .label{grid-column:1/4;padding-top:12px}.statement-body{grid-column:4/12}.hello{font-family:var(--font-display), "Didot", "Bodoni 72", serif;color:#f1ece2;text-shadow:0 0 1px #f1ece2e6,0 0 18px #f1ece259;margin-bottom:20px;font-size:clamp(2.5rem,5vw,4rem);line-height:1}.lede{letter-spacing:-.025em;text-wrap:pretty;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.2}.statement-aside{max-width:48ch;color:var(--muted);margin-top:40px;margin-left:auto}@media (max-width:860px){.statement .label,.statement-body{grid-column:1/-1}.statement-aside{margin-left:0}}.work{padding-bottom:var(--section)}.work-list{gap:clamp(72px,10vw,136px);display:grid}.work-row{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:24px;display:grid}.work-media{background:var(--bg-2);border-radius:4px;grid-column:1/8;overflow:hidden}.work-media img{aspect-ratio:7/5;object-fit:cover;width:100%;transition:transform .7s var(--ease)}.work-row:hover .work-media img{transform:scale(1.02)}.show{aspect-ratio:7/5;border:1px solid var(--line);background:#0e0e10;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);display:grid}.show-half{flex-direction:column;min-width:0;min-height:0;padding:clamp(28px,3.2vw,40px) clamp(12px,1.4vw,18px) clamp(12px,1.4vw,18px);display:flex;position:relative;overflow:hidden}.show-half:last-child{background:#141417}.show-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;position:absolute;top:10px;left:clamp(12px,1.4vw,18px)}.show-divider{background:linear-gradient(to bottom, transparent, var(--line-strong) 12%, var(--line-strong) 88%, transparent)}.show-code{border:1px solid var(--line);background:#0a0a0b;border-radius:6px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.show-tab{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:7px 10px;font-size:10px;display:flex}.show-dots{gap:4px;display:inline-flex}.show-dots i{background:var(--line-strong);border-radius:50%;width:6px;height:6px}.show-code pre{color:#d6d3cc;white-space:pre;-webkit-mask-composite:source-in;flex:1;margin:0;padding:10px 0;font-size:clamp(7.5px,.66vw,10px);line-height:1.6;overflow:hidden;-webkit-mask-image:linear-gradient(#000 80%,#0000),linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(#000 80%,#0000),linear-gradient(90deg,#000 88%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.show-line{padding-right:10px;display:block}.show-ln{text-align:right;color:#ecebe840;-webkit-user-select:none;user-select:none;width:3.2em;padding-right:1.2em;display:inline-block}.tk-key{color:#b9a9f7}.tk-str{color:#e9c49c}.tk-num{color:#8fd3c4}.tk-com{color:#ecebe866;font-style:italic}.tk-fn{color:#9cc4f5}.tk-type{color:#f0a7c8}.show-app{min-height:0;color:var(--fg);flex-direction:column;flex:1;gap:10px;font-size:clamp(8px,.8vw,12px);display:flex}.app-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.app-title{letter-spacing:-.01em;font-weight:600}.app-pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.app-live{background:#6fdc9b;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #6fdc9b}.app-k{color:var(--muted);font-size:.9em;display:block}.app-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.app-stats>div{border:1px solid var(--line);background:#ffffff05;border-radius:6px;padding:8px 10px}.app-v{letter-spacing:-.03em;font-size:1.9em;font-weight:500;line-height:1.2;display:block}.app-delta{color:#6fdc9b;font-size:.9em}.app-spark{flex-shrink:0;width:100%;height:22%}.app-spark-line{fill:none;stroke:#b9a9f7;stroke-width:1.5px;vector-effect:non-scaling-stroke}.app-spark-fill{fill:#b9a9f71f}.app-spark-mark{stroke:var(--line-strong);stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.app-workers{color:var(--muted);gap:4px;font-size:.85em;display:grid}.app-workers li{grid-template-columns:2.2em 1fr;align-items:center;display:grid}.app-bar-track{background:#ffffff0f;border-radius:3px;height:5px;overflow:hidden}.app-bar-track span{background:linear-gradient(90deg,#8d7dca,#b9a9f7);height:100%;display:block}.app-ledger{border:1px solid var(--line);background:#0f0f12;border-radius:6px;flex-direction:row;gap:0;overflow:hidden}.app-side{border-right:1px solid var(--line);width:28%;color:var(--muted);flex-direction:column;gap:6px;padding:10px 8px;display:flex}.app-side .app-title{color:var(--fg);margin-bottom:6px}.app-side span[data-active]{color:var(--fg);background:#b9a9f724;border-radius:4px;margin-inline:-4px;padding:2px 4px}.app-main{flex-direction:column;flex:1;gap:8px;min-width:0;padding:10px;display:flex}.app-btn{background:var(--fg);color:#111;border-radius:4px;padding:3px 8px;font-weight:500}.app-rows{display:grid}.app-rows li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 0;display:grid}.app-who{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:grid;overflow:hidden}.app-who .mono{color:var(--muted);font-size:.85em}.app-amt{font-size:.9em}.app-status{color:var(--muted);background:#ffffff0f;border-radius:999px;padding:1px 6px;font-size:.85em}.app-status[data-s=pending]{color:#e9c49c;background:#e9c49c26}.app-status[data-s=review]{color:#f0a7c8;background:#f0a7c826}.app-status[data-s=paid]{color:#6fdc9b;background:#6fdc9b1f}.app-foot{color:var(--muted);margin-top:auto;font-size:.8em}.app-field{justify-content:center;align-items:center}.app-phone{aspect-ratio:9/17;border:1px solid var(--line-strong);background:#0f0f12;border-radius:22px;flex-direction:column;gap:8px;max-width:100%;height:100%;padding:22px 10px 10px;display:flex;position:relative}.app-notch{background:#000;border-radius:999px;width:34%;height:8px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.app-field .app-pill{padding:1px 6px;font-size:.85em}.app-notes{gap:5px;display:grid}.app-notes li{background:#ffffff0a;border-radius:8px;padding:6px 8px;display:grid}.app-note-t{font-weight:500}.app-note-d{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85em;overflow:hidden}.app-toast{color:#b7efcd;background:#6fdc9b14;border:1px solid #6fdc9b59;border-radius:8px;margin-top:auto;padding:6px 8px;font-size:.85em;line-height:1.35}.app-chat{flex-direction:column;gap:10px;display:flex}.app-msg{border-radius:10px;max-width:92%;padding:8px 10px;line-height:1.45}.app-msg-user{background:#b9a9f729;border-bottom-right-radius:3px;align-self:flex-end}.app-msg-bot{border:1px solid var(--line);background:#ffffff08;border-bottom-left-radius:3px;gap:8px;display:grid}.app-cite{color:#e9c49c;vertical-align:.3em;background:#e9c49c2e;border-radius:4px;place-items:center;min-width:1.4em;height:1.4em;margin-left:2px;font-size:.75em;line-height:1;display:inline-grid}.app-sources{border-top:1px solid var(--line);color:var(--muted);gap:4px;padding-top:8px;font-size:.9em;display:grid}.app-sources .app-cite{vertical-align:0;margin:0 6px 0 0}.app-input{border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;justify-content:space-between;align-items:center;margin-top:auto;padding:7px 7px 7px 12px;display:flex}.app-send{background:var(--fg);color:#111;border-radius:50%;place-items:center;width:1.9em;height:1.9em;display:grid}@media (max-width:600px){.show{aspect-ratio:auto;grid-template-rows:auto 1px auto;grid-template-columns:minmax(0,1fr)}.show-half:first-child{aspect-ratio:1}.app-phone{height:440px}.show-divider{background:linear-gradient(to right, transparent, var(--line-strong) 12%, var(--line-strong) 88%, transparent)}.show-code pre{font-size:9px}.show-app{font-size:10px}}.work-text{color:var(--muted);grid-column:9/13;gap:12px;display:grid}.work-row[data-flip=true] .work-media{grid-area:1/6/auto/13}.work-row[data-flip=true] .work-text{grid-area:1/1/auto/5}.work-text h3{letter-spacing:-.03em;color:var(--fg);margin-top:8px;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.05}.work-kind{color:var(--fg)}.work-outcome{border-left:1px solid var(--accent);color:var(--fg);padding-left:12px}.tags{flex-wrap:wrap;gap:8px;margin-top:8px;font-size:12px;display:flex}.tags li{border:1px solid var(--line);border-radius:999px;padding:4px 10px}@media (max-width:860px){.work-row,.work-row[data-flip=true]{grid-template-columns:1fr}.work-row .work-media,.work-row .work-text,.work-row[data-flip=true] .work-media,.work-row[data-flip=true] .work-text{grid-area:auto/1}}.services{padding-bottom:var(--section);overflow:hidden}.services .section-head{margin-bottom:24px}.services-title{text-align:center;font-family:var(--font-display), "Didot", "Bodoni 72", serif;color:#f1ece2;text-shadow:0 0 1px #f1ece2e6,0 0 18px #f1ece259;margin-bottom:clamp(32px,5vw,56px);font-size:clamp(2.25rem,6vw,4.5rem);line-height:1}.svc{--card-w:clamp(260px, 26vw, 340px)}.svc-track{padding:24px calc(50% - var(--card-w) / 2) 32px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;gap:24px;display:flex;overflow-x:auto}.svc-track::-webkit-scrollbar{display:none}.svc-track[data-dragging]{cursor:grabbing;scroll-snap-type:none}.svc-track:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.svc-card{flex:0 0 var(--card-w);aspect-ratio:3/4.4;scroll-snap-align:center;border:1px solid var(--line);transform-origin:50%;will-change:transform;background:#0d0d10;border-radius:14px;position:relative;overflow:hidden}.svc-code{white-space:pre;color:#b9a9f7;opacity:.65;filter:blur(1.4px);pointer-events:none;margin:0;padding:20px;font-size:10px;line-height:1.6;position:absolute;inset:-8px}.svc-card:after{content:"";pointer-events:none;background:linear-gradient(#0d0d1033 0%,#0d0d10b3 45%,#0d0d10f5 100%);position:absolute;inset:0}.svc-body{z-index:1;flex-direction:column;gap:10px;height:100%;padding:22px;display:flex;position:relative}.svc-meta{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.svc-body h3{letter-spacing:-.03em;margin-top:auto;font-size:clamp(1.5rem,2.2vw,1.875rem);font-weight:500;line-height:1.05}.svc-blurb{color:var(--muted);font-size:14px;line-height:1.45}.svc-group{gap:6px;display:grid}.svc-group-name{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.svc-tags{flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.svc-tags li{border:1px solid var(--line-strong);background:#0d0d1080;border-radius:999px;padding:3px 9px}.svc-nav{justify-content:center;gap:12px;display:flex}.svc-arrow{width:44px;padding:0;font-size:18px}.contact{padding-bottom:var(--section);padding-top:16px}.contact,.foot{background:linear-gradient(var(--line), var(--line)) center top / calc(100% - 2 * var(--gutter)) 1px no-repeat;border-top:0}.contact-big{letter-spacing:-.045em;text-wrap:balance;max-width:17ch;margin-block:clamp(40px,6vw,72px);font-size:clamp(2.25rem,7vw,6.25rem);font-weight:500;line-height:1}.contact-row{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.contact-mail{letter-spacing:-.02em;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:6px;overflow-wrap:anywhere;font-size:clamp(1.25rem,2.6vw,2rem)}.contact-mail:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.contact-status{gap:14px;margin:24px 0 0;font-size:18px}.contact-status .dot{width:9px;height:9px}.contact-links{flex-wrap:wrap;gap:36px;margin-top:40px;font-size:20px;display:flex}.contact-links a{align-items:center;gap:10px;min-height:44px;display:inline-flex}.contact-links .contact-outline{border-radius:6px;padding:0 16px;transition:border-color .16s}.contact-icon{fill:currentColor;flex-shrink:0;width:1.1em;height:1.1em}.foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:24px 32px;font-size:12px;display:flex}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both rise;animation-timeline:view();animation-range:entry entry 35%}}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
