:root{--bg: #FBF6EE;--surface: #F1E4D2;--surface-alt: #E9DBCA;--shot: #E6D3BC;--card: #FFFCF7;--ink: #2B201B;--ink-soft: #5E4C40;--ink-faint: #8D7869;--line: #2B201B;--line-soft: #E6D3BC;--accent: #8F4630;--rust: #8F4630;--rust-hover: #7A3A27;--peach: #E3A57A;--badge: #D9A47E;--espresso: #2B201B;--espresso-2: #3E2F27;--on-dark: #F4EBDD;--on-dark-soft: #D6C6B4;--green: #3F7A4A;--dot: rgba(43, 32, 27, .16);--shadow: 0 30px 50px -30px rgba(43, 32, 27, .35);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--font-display: "Playfair Display", Georgia, serif;--font-serif: "Fraunces", Georgia, serif;--font-body: "Work Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #1A1310;--surface: #261C17;--surface-alt: #2A1F1A;--shot: #33271F;--card: #211813;--ink: #F4EBDD;--ink-soft: #CDBDAA;--ink-faint: #9A8573;--line: #F4EBDD;--line-soft: #3A2C25;--accent: #E3A57A;--espresso: #241A15;--espresso-2: #33261F;--dot: rgba(244, 235, 221, .09);--shadow: 0 30px 50px -30px rgba(0, 0, 0, .7);color-scheme:dark}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}}:root[data-theme=dark]{--bg: #1A1310;--surface: #261C17;--surface-alt: #2A1F1A;--shot: #33271F;--card: #211813;--ink: #F4EBDD;--ink-soft: #CDBDAA;--ink-faint: #9A8573;--line: #F4EBDD;--line-soft: #3A2C25;--accent: #E3A57A;--espresso: #241A15;--espresso-2: #33261F;--dot: rgba(244, 235, 221, .09);--shadow: 0 30px 50px -30px rgba(0, 0, 0, .7);color-scheme:dark}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:ease}.theme-fading,.theme-fading *,.theme-fading *:before,.theme-fading *:after{transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,fill .35s ease,stroke .35s ease!important}.loader{display:none;position:fixed;inset:0;z-index:100;place-items:center;background:var(--bg)}html.is-loading .loader,html.is-leaving .loader{display:grid}html.is-loading body{overflow:hidden}html.is-leaving .loader{animation:curtain .85s cubic-bezier(.7,0,.2,1) forwards}@keyframes curtain{to{transform:translateY(-100%);border-radius:0 0 50% 50%/0 0 18% 18%}}.loader-inner{display:grid;justify-items:center;gap:18px}.loader-cup{width:168px;height:168px;overflow:visible}.loader-outline{stroke:var(--ink)}.loader-fill{fill:var(--rust);transform:translateY(100px);animation:brew 1.35s .1s cubic-bezier(.5,0,.3,1) forwards}.loader-crema{fill:var(--peach);animation:crema 1.2s linear infinite}.loader-steam path{stroke:var(--accent);stroke-dasharray:36 60;stroke-dashoffset:36;opacity:0;animation:steam 1.8s ease-in-out infinite}.loader-steam path:nth-child(2){animation-delay:.3s}.loader-steam path:nth-child(3){animation-delay:.6s}.loader-text{font:14px var(--font-mono);color:var(--ink-soft);letter-spacing:.08em}.loader-text span{animation:blink 1.2s infinite}.loader-text span:nth-child(2){animation-delay:.2s}.loader-text span:nth-child(3){animation-delay:.4s}@keyframes brew{to{transform:translateY(52px)}}@keyframes crema{to{transform:translate(-30px)}}@keyframes steam{30%{opacity:.8}to{stroke-dashoffset:-60;opacity:0}}@keyframes blink{50%{opacity:.15}}@keyframes enter{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.enter-line{display:inline-block}html.js [data-enter]{opacity:0}html.js:not(.is-loading) [data-enter]{animation:enter .9s cubic-bezier(.2,.7,.2,1) var(--d, 0s) both}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s ease var(--rd, 0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--rd, 0s)}[data-reveal].in{opacity:1;transform:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{margin:0;font-weight:600}p{margin:0}ul{margin:0;padding:0;list-style:none}dl,dd{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{max-width:1288px;margin:0 auto;padding:0 24px}.display{font-family:var(--font-display);font-weight:900;letter-spacing:-.045em;line-height:.92}.display em{font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--accent)}.eyebrow,.mono-label,.mono-note,.label{font-family:var(--font-mono);font-size:13px;line-height:1.4}.eyebrow{color:var(--accent)}.mono-note{color:var(--ink-soft)}.label{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:500;color:var(--ink-faint)}.label-rust{color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;border:1.5px solid transparent;font:700 15px/1.2 var(--font-body);text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.btn:hover{transform:translateY(-1px)}.arr{display:inline-block;transition:transform .2s ease}.btn:hover .arr,.case-links a:hover .arr{transform:translate(4px)}.btn:hover .arr-up,.case-links a:hover .arr-up{transform:translate(2px,-2px)}.btn:hover .arr-down{transform:translateY(3px)}.btn-sm{padding:9px 18px;font-size:14px}.btn-dark{background:var(--ink);color:var(--bg)}.btn-dark:hover{background:var(--accent)}.btn-rust{background:var(--rust);color:#fbf6ee;padding:16px 26px;font-size:16px}.btn-rust:hover{background:var(--rust-hover)}.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--bg)}.hero-ctas .btn-outline{padding:15px 26px;font-size:16px}.btn-cream{background:#fbf6ee;color:#2b201b;padding:16px 26px;font-size:16px}.btn-cream:hover{background:#fff}.btn-outline-light{border-color:#fbf6ee;color:#fbf6ee;padding:16px 24px;font-size:16px}.btn-outline-light:hover{background:#fbf6ee;color:var(--rust)}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-family:var(--font-mono);font-size:12px;line-height:1;padding:8px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line-soft);color:var(--ink)}.dots{display:inline-flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:var(--badge)}.dots i:nth-child(2){background:#c9b49f}.dots i:nth-child(3){background:#e3d3c1}.nav{position:sticky;top:0;z-index:50;padding:24px 0;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid transparent;transition:padding .3s ease,border-color .3s ease,background-color .3s ease}.nav.is-scrolled{padding:10px 0;border-bottom-color:var(--line-soft)}.nav-logo,.theme-toggle{transition:width .3s ease,height .3s ease,color .15s ease,border-color .15s ease}.nav.is-scrolled .nav-logo,.nav.is-scrolled .theme-toggle{width:40px;height:40px}.read-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px}.read-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--rust),var(--peach));transform-origin:left;transform:scaleX(var(--progress, 0))}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-logo{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font:italic 900 20px/1 var(--font-display);letter-spacing:-.04em;text-decoration:none}.nav-links{display:flex;align-items:center;gap:32px}.nav-links>a:not(.btn){position:relative;font-family:var(--font-mono);font-size:14px;text-decoration:none;color:var(--ink);transition:color .15s ease}.nav-links>a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--peach);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav-links>a.is-active:after,.nav-links>a:not(.btn):hover:after{transform:scaleX(1)}.nav-links>a:not(.btn):hover{color:var(--accent)}.theme-toggle{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-soft);color:var(--ink);cursor:pointer;transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle .icon-sun{display:none}.hero{position:relative;padding:72px 0}.hero:before{content:"";position:absolute;inset:0 24px;z-index:-1;pointer-events:none;background-image:radial-gradient(var(--dot) 1.2px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}.hero-chips{display:flex;flex-wrap:wrap;gap:10px;font-family:var(--font-mono);font-size:13px}.hero-chips li{padding:8px 14px;border-radius:999px;background:var(--bg)}.chip-outline{border:1px solid var(--line-soft);color:var(--ink-soft)}.chip-status{background:var(--surface)!important;color:var(--ink-soft);display:inline-flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #3f7a4a80;animation:pulse 2.4s ease-out infinite}@keyframes pulse{70%{box-shadow:0 0 0 7px #3f7a4a00}to{box-shadow:0 0 #3f7a4a00}}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:48px;margin-top:64px}.hero-name{font-size:clamp(4.5rem,11.2vw,10rem)}.hero-name em{display:block;margin-left:-.04em}.lede{margin-top:64px;max-width:580px;font-size:21px;line-height:1.6;color:var(--ink-soft)}.find-me{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px}.find-label{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);margin-right:6px}.pill-link{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--surface);border:1px solid var(--line-soft);font-family:var(--font-mono);font-size:14px;text-decoration:none;color:var(--ink);transition:border-color .15s ease,color .15s ease}.pill-link:hover{border-color:var(--accent);color:var(--accent)}.hero-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:64px;padding-top:48px}.code-card{position:relative;width:100%;background:#2b201b;color:#f4ebdd;border-radius:var(--radius-lg);transform:rotate(-2deg);box-shadow:var(--shadow);transition:transform .5s cubic-bezier(.2,.7,.2,1)}.code-card:hover{transform:rotate(0) translateY(-6px)}.coffee-badge{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.code-card:hover .coffee-badge{transform:rotate(-20deg) scale(1.08)}.caret{display:inline-block;width:.55em;height:1.1em;margin-left:4px;vertical-align:-.2em;background:var(--peach);animation:blink 1.05s steps(1) infinite}.code-bar{display:flex;align-items:center;gap:22px;padding:16px 18px;border-bottom:1px solid rgba(244,235,221,.08);font:13px var(--font-mono);color:#cdbdaa}.code-card pre{margin:0;padding:22px 24px 26px;font:14px/1.75 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.code-card .k{color:var(--peach)}.code-card .p{color:#f4ebdd}.code-card .s{color:#cbd6a2}.code-card .c{color:#8d7869}.coffee-badge{position:absolute;top:-64px;right:-28px;width:124px;height:124px}.badge-bg{fill:var(--badge)}.badge-ring{transform-origin:60px 60px;animation:spin 22s linear infinite}.badge-ring text{font:700 10.5px var(--font-mono);letter-spacing:.2em;fill:#2b201b}.badge-cup{stroke:#2b201b}@keyframes spin{to{transform:rotate(360deg)}}.marquee{background:var(--espresso);color:var(--on-dark);overflow:hidden;padding:22px 0}.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.marquee ul{display:flex;flex-shrink:0}.marquee li{font:500 16px var(--font-mono);white-space:nowrap;display:flex;align-items:center}.marquee li:after{content:"✦";color:var(--peach);margin:0 40px;font-size:14px}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.marquee-track,.badge-ring,.status-dot,.foot-steam path,.art-stamp svg,.art-stickers li,.decor-motion,.decor-steam path,.case-body>h2:after,.proud:before{animation:none}html.js [data-enter]{opacity:1;animation:none!important}.caret{animation:none}.work-shot .browser-body img{transition:none}html{scroll-behavior:auto}}.facts{padding-top:88px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}.stats>div{padding:28px 20px;border-left:1px solid var(--line-soft)}.stats>div:first-child{border-left:0;padding-left:0}.stats dt{font:900 64px/1 var(--font-display);letter-spacing:-.04em;color:var(--accent)}.stats dd{margin-top:10px;font-size:15px;line-height:1.3;color:var(--ink-soft);max-width:270px}.fact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.fact-cards li{background:var(--surface);border-radius:var(--radius-lg);padding:24px;font-size:17px;line-height:1.45}.fact-cards .label{display:block;margin-bottom:12px;color:var(--ink-soft)}.work{padding-top:120px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:56px}.section-head h2,.stack h2{font-size:clamp(3rem,6.4vw,5.6rem)}.section-head .mono-note{padding-bottom:6px}.work-list{display:grid;gap:32px}.work-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:36px;align-items:center;background:var(--surface);border-radius:var(--radius-xl);padding:28px}.work-card:nth-child(2n){background:var(--surface-alt)}.browser{position:relative;border-radius:16px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}.work-card{perspective:1200px}.work-shot{transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}.work-card:hover .work-shot{box-shadow:0 40px 60px -30px #2b201b73}.work-shot .browser-body img{transition:object-position 5s ease-in-out}.work-card:hover .work-shot .browser-body img{object-position:bottom}.work-num{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.work-card:hover .work-num{transform:translate(-10px)}.browser-bar{display:flex;align-items:center;gap:22px;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--line-soft)}.browser-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 12px;border-radius:999px;background:var(--surface);font:11px var(--font-mono);color:var(--ink-soft)}.browser-body{background:var(--shot);aspect-ratio:16 / 10}.browser-body img{width:100%;height:100%;object-fit:cover;object-position:top}.work-num{position:absolute;right:18px;bottom:-6px;font:italic 500 120px/1 var(--font-display);letter-spacing:-.04em;color:#fffcf7e0;text-shadow:0 4px 30px rgba(43,32,27,.35);pointer-events:none}.work-body{padding:8px 12px 8px 0}.work-title{margin-top:14px;font:600 clamp(2rem,3.4vw,2.9rem)/1.05 var(--font-serif);letter-spacing:-.025em}.work-title a{text-decoration:none}.work-title a:hover{color:var(--accent)}.work-tagline{margin-top:18px;font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:540px}.work-body .tags{margin-top:22px}.work-body .btn-row{margin-top:26px}.more-label{margin:88px 0 20px;color:var(--ink-soft);font-size:13px}.more-builds li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--line-soft)}.more-title{font:600 28px/1.15 var(--font-serif);letter-spacing:-.02em}.more-stack{font:13px var(--font-mono);color:var(--ink-soft)}.more-links{display:flex;gap:8px;justify-content:flex-end}.about{background:var(--espresso);color:var(--on-dark);margin-top:160px;padding:120px 0 112px}.about-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:64px}.about .mono-label{color:var(--peach)}.about-photo{display:block;width:100%;height:auto;margin-top:24px;aspect-ratio:4 / 5;border-radius:24px;background:var(--espresso-2);object-fit:cover;object-position:50% 15%}.about-title{font:500 clamp(2.2rem,4vw,3.5rem)/1.12 var(--font-serif);letter-spacing:-.03em}.about-title em{font-style:italic;color:var(--peach)}.about-copy{margin-top:32px;max-width:660px;color:var(--on-dark-soft)}.about-copy p+p{margin-top:22px}.timeline{margin-top:44px}.timeline>div{display:grid;grid-template-columns:134px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid rgba(244,235,221,.12)}.timeline dt{font:500 13px/1.9 var(--font-mono);color:var(--peach)}.timeline dd{font-size:17px}.quote-card{margin:44px 0 0;background:var(--espresso-2);border-radius:24px;padding:32px}.quote-card blockquote{margin:0;font:italic 600 21px/1.55 var(--font-serif);letter-spacing:-.01em}.quote-card figcaption{margin-top:18px;font-size:15px;color:var(--on-dark-soft)}.quote-card a{color:var(--peach)}.stack{padding-top:120px}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}.stack-card{background:var(--card);border:1px solid var(--line-soft);border-radius:24px;padding:30px 28px 34px}.stack-card .label{font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.chips>li{position:relative}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid transparent;border-radius:999px;padding:6px 13px;font:14px/1.4 var(--font-body);color:var(--ink);text-decoration:none}.chip-plain{color:var(--ink-soft);background:transparent;border-color:var(--line-soft)}.chip-link{cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}.chip-link:hover,.chip-link:focus-visible,.chip-link[aria-expanded=true]{background:var(--rust);color:#fbf6ee;transform:translateY(-2px)}.chip-link:after{content:"↗";font-size:11px;opacity:.45}button.chip-link:after{content:none}.chip-count{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--card);color:var(--accent);font:700 11px var(--font-mono)}.chip-tip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:5;transform:translate(-50%,4px);opacity:0;pointer-events:none;white-space:nowrap;padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--bg);font:12px var(--font-mono);transition:opacity .2s ease,transform .2s ease}.chip-link:hover .chip-tip,.chip-link:focus-visible .chip-tip{opacity:1;transform:translate(-50%)}.chip-pop{position:absolute;top:calc(100% + 10px);left:0;z-index:20;width:min(280px,78vw);padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line-soft);box-shadow:0 30px 60px -20px #2b201b66;animation:pop-in .22s cubic-bezier(.2,.7,.2,1)}.stack-card:nth-child(n+3) .chip-pop{left:auto;right:0}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}}.chip-pop-title{font:12px var(--font-mono);color:var(--ink-soft);margin:0 0 8px 4px}.chip-pop ul{display:grid;gap:4px}.chip-pop a{display:flex;align-items:center;gap:12px;padding:6px;border-radius:12px;text-decoration:none;transition:background-color .15s ease}.chip-pop a:hover,.chip-pop a:focus-visible{background:var(--surface)}.pop-thumb{flex-shrink:0;width:56px;height:40px;border-radius:8px;overflow:hidden;background:var(--shot)}.pop-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}.chip-pop strong{display:block;font:600 16px/1.2 var(--font-serif)}.chip-pop small{font:11px var(--font-mono);color:var(--accent)}.chips>li:target>.chip{animation:chip-flash 1.1s ease 2}@keyframes chip-flash{50%{background:var(--peach);color:#2b201b;transform:scale(1.12)}}.work-card,.more-builds li{transition:box-shadow .3s ease,background-color .3s ease}.work-card.is-match{box-shadow:0 0 0 2px var(--rust)}.more-builds li.is-match{background:var(--surface)}.tag-link{text-decoration:none;transition:border-color .15s ease,color .15s ease}.tag-link:hover{border-color:var(--accent);color:var(--accent)}#contact{padding-top:112px}.contact-panel{background:var(--rust);color:#fbf6ee;border-radius:32px;padding:96px}.contact-panel .mono-label{font-weight:500}.contact-title{margin-top:28px;font-size:clamp(3.6rem,9vw,8rem)}.contact-title em{display:block;color:#fbf6ee}.contact-sub{margin-top:28px;font-size:19px;max-width:520px}.contact-panel .btn-row{margin-top:40px;gap:12px}.has-decor{position:relative;isolation:isolate}.decor{position:absolute;z-index:-1;pointer-events:none;overflow:visible;transform:translateY(var(--py, 0px)) rotate(var(--rot, 0deg))}.decor :is(circle,ellipse,path){stroke:currentColor}.decor .fill{fill:currentColor;stroke:none}.tone-ink{color:var(--ink);opacity:.1}.tone-light{color:var(--peach);opacity:.16}.tone-accent{color:var(--peach);opacity:.85}.decor-motion{transform-box:fill-box;transform-origin:center}.decor-ring .decor-motion{animation:spin 90s linear infinite}.decor-beans .decor-motion{animation:bob 9s ease-in-out infinite alternate}.decor-sparkle .decor-motion{animation:twinkle 4.5s ease-in-out infinite}.decor-steam path{stroke-dasharray:60 90;animation:drift-steam 6s ease-in-out infinite}.decor-steam path:nth-child(2){animation-delay:1.2s}.decor-steam path:nth-child(3){animation-delay:2.4s}@keyframes bob{to{transform:translateY(-10px) rotate(8deg)}}@keyframes twinkle{50%{transform:scale(.72) rotate(45deg);opacity:.5}}@keyframes drift-steam{0%{stroke-dashoffset:150}to{stroke-dashoffset:0}}.contact-panel,.case-hero,.proud{overflow:hidden}.case-body>h2{position:relative}.case-body>h2:after{content:"✦";position:absolute;top:2px;left:34px;font-size:13px;color:var(--peach);animation:twinkle 4.5s ease-in-out infinite}.proud{position:relative;isolation:isolate}.proud:before{content:"";position:absolute;z-index:-1;right:410px;top:18px;width:120px;height:120px;opacity:.14;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23E3A57A' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M30 92c-10-12 10-20 0-34s10-20 0-34'/%3E%3Cpath d='M50 96c-10-12 10-20 0-34s10-20 0-34'/%3E%3Cpath d='M70 92c-10-12 10-20 0-34s10-20 0-34'/%3E%3C/svg%3E") no-repeat center / contain;animation:bob 7s ease-in-out infinite alternate}.site-footer{position:relative;margin-top:140px;padding:88px 0 32px;background:var(--espresso);color:var(--on-dark)}.foot-beans{position:absolute;top:-22px;left:0;right:0;overflow:visible;pointer-events:none}.foot-beans use{fill:var(--peach);stroke:var(--espresso)}.foot-beans>svg:nth-child(odd) use{fill:var(--badge)}.foot-grid{position:relative;display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:48px;align-items:start}.foot-mono{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--on-dark);color:#2b201b;text-decoration:none;font:italic 900 36px/1 var(--font-display);letter-spacing:-.05em;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.foot-mono:hover{transform:rotate(-12deg) scale(1.05)}.foot-brand p{margin-top:22px;max-width:320px;color:var(--on-dark-soft);font-size:16px}.site-footer .mono-label{color:var(--peach);margin-bottom:16px}.foot-nav{display:grid;gap:8px;justify-items:start}.foot-nav a{color:var(--on-dark);text-decoration:none;font-size:16px;transition:color .15s ease,transform .15s ease}.foot-nav a:hover{color:var(--peach);transform:translate(4px)}.foot-icons{display:flex;flex-wrap:wrap;gap:10px}.icon-btn{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--espresso-2);color:var(--on-dark);border:1px solid rgba(244,235,221,.12);cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.icon-btn:hover,.icon-btn:focus-visible{transform:translateY(-4px);background:var(--peach);color:#2b201b}.icon-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:5px 9px;border-radius:8px;background:var(--on-dark);color:#2b201b;font:11px var(--font-mono);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.icon-btn:hover .icon-tip,.icon-btn:focus-visible .icon-tip{opacity:1;transform:translate(-50%)}.foot-mail{display:inline-block;margin-top:18px;color:var(--on-dark-soft);font:14px var(--font-mono);text-underline-offset:4px}.foot-mail:hover{color:var(--peach)}.foot-cup{position:absolute;right:24px;bottom:-36px;width:150px;height:150px;opacity:.22;pointer-events:none}.foot-cup>path{stroke:var(--peach)}.foot-steam path{stroke:var(--peach);stroke-dasharray:36 60;stroke-dashoffset:36;opacity:0;animation:steam 2.6s ease-in-out infinite}.foot-steam path:nth-child(2){animation-delay:.5s}.foot-steam path:nth-child(3){animation-delay:1s}.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:72px;padding-top:24px;border-top:1px solid rgba(244,235,221,.12);font:13px var(--font-mono);color:var(--on-dark-soft)}.foot-top{display:inline-flex;align-items:center;gap:6px;color:var(--on-dark-soft);text-decoration:none}.foot-top:hover{color:var(--peach)}.toast{position:fixed;left:50%;bottom:28px;z-index:60;transform:translate(-50%,20px);padding:12px 20px;border-radius:999px;background:var(--on-dark);color:#2b201b;font:600 14px var(--font-body);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.toast.show{opacity:1;transform:translate(-50%)}.case{padding-top:48px}.back-link{font:14px var(--font-mono);color:var(--ink-soft);text-decoration:none}.back-link:hover{color:var(--accent)}.case-eyebrow{margin-top:40px;font-size:14px}.case-title{margin-top:36px;font-size:clamp(3.4rem,10vw,9rem)}.case-tagline{margin-top:32px;max-width:680px;font-size:22px;line-height:1.5;color:var(--ink-soft)}.case-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:48px;border-top:1.5px solid var(--line);border-bottom:1px solid var(--line-soft)}.case-meta>div{padding:24px 20px;border-left:1px solid var(--line-soft)}.case-meta>div:first-child{border-left:0;padding-left:0}.case-meta dt{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.case-meta dd{margin-top:8px;font-size:17px}.case-links{display:flex;flex-wrap:wrap;gap:6px 16px}.case-links a{color:var(--accent);text-underline-offset:3px}.case-tags{margin-top:32px}.case-hero{margin-top:56px;background:var(--surface);border-radius:32px;padding:72px 40px;display:flex;justify-content:center;align-items:flex-start;gap:32px}.case-hero-browser .browser{width:100%;max-width:760px}.phone{margin:0;width:min(260px,70vw);text-align:center}.phone-screen{aspect-ratio:9 / 19;border:11px solid #2B201B;border-radius:38px;overflow:hidden;background:var(--shot);box-shadow:var(--shadow)}.phone-screen img{width:100%;height:100%;object-fit:cover;object-position:top}.phone figcaption{margin-top:18px;font:12px var(--font-mono);color:var(--ink-soft)}.case-hero-art{position:relative;min-height:440px;align-items:center}.art-stamp{position:relative;display:grid;place-items:center;align-content:center;width:240px;height:240px;border-radius:50%;background:var(--card);box-shadow:var(--shadow)}.art-stamp svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 40s linear infinite}.art-stamp text{font:600 8.4px var(--font-mono);letter-spacing:.22em;fill:var(--accent)}.art-num{font:italic 500 92px/.9 var(--font-display);letter-spacing:-.04em;color:var(--accent)}.art-cat{margin-top:6px;font:12px var(--font-mono);color:var(--ink-soft)}.art-stickers li{position:absolute;padding:10px 16px;border-radius:12px;background:var(--card);border:1px solid var(--line-soft);box-shadow:0 14px 24px -16px #2b201b66;font:500 14px var(--font-mono);white-space:nowrap;animation:bob 6s ease-in-out calc(var(--i) * -1.1s) infinite alternate}.art-stickers li:nth-child(1){left:9%;top:18%;rotate:-7deg}.art-stickers li:nth-child(2){left:68%;top:14%;rotate:5deg}.art-stickers li:nth-child(3){left:73%;top:66%;rotate:-4deg}.art-stickers li:nth-child(4){left:12%;top:70%;rotate:6deg}.art-stickers li:nth-child(5){left:22%;top:44%;rotate:-3deg}.art-stickers li:nth-child(6){left:63%;top:42%;rotate:4deg}.art-stickers li:nth-child(odd){background:var(--peach);border-color:transparent;color:#2b201b}.case-body{display:grid;grid-template-columns:280px minmax(0,1fr);column-gap:64px;counter-reset:sec;padding-bottom:40px}.case-body>*{grid-column:2}.case-body>h2{grid-column:1;counter-increment:sec;font:600 clamp(2rem,3vw,2.6rem)/1.08 var(--font-serif);letter-spacing:-.03em}.case-body>h2:before{content:counter(sec,decimal-leading-zero);display:block;margin-bottom:14px;font:13px var(--font-mono);letter-spacing:0;color:var(--accent)}.case-body>h2,.case-body>h2+p,.case-body>h2+ul{margin-top:128px}.case-body>h2+p{padding-top:6px;font-size:18px}.case-body>p,.case-body>ul{color:var(--ink-soft)}.case-body>p+p,.case-body>ul,.case-body>p+ul,.case-body>ul+p{margin-top:18px}.case-body>ul li{position:relative;padding-left:22px}.case-body>ul li+li{margin-top:12px}.case-body>ul li:before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--peach)}.case-body strong{color:var(--ink);font-weight:600}.case-body a{color:var(--accent);text-underline-offset:3px}.case-body code{font:.88em var(--font-mono);background:var(--surface);padding:2px 6px;border-radius:6px}.case-body>.arch-grid,.case-body>.flow,.case-body>.video-embed,.case-body>.proud{grid-column:1 / -1}.case-body>p:has(>img){grid-column:2;margin-top:36px}.case-body>p:has(>em:only-child){grid-column:2;margin-top:12px;font-size:14px}.case-body>p>img{width:auto;max-width:100%;max-height:460px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--line-soft);box-shadow:var(--shadow);cursor:zoom-in;transition:transform .25s ease}.case-body>p>img:hover{transform:translateY(-3px)}.lightbox{max-width:min(1400px,94vw);max-height:92vh;padding:0;border:0;border-radius:var(--radius-lg);background:transparent;overflow:visible}.lightbox:focus,.lightbox :focus{outline:none}.lightbox::backdrop{background:#1a1310d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox img{max-width:100%;max-height:88vh;border-radius:var(--radius-lg);cursor:zoom-out}.lightbox p{margin-top:10px;text-align:center;font:13px var(--font-mono);color:#f4ebdd}.arch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:48px}.arch-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.arch-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:28px;font-size:16px;color:var(--ink-soft)}.arch-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;font:500 12px var(--font-mono)}.arch-head span:first-child{color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.arch-head span:last-child{color:var(--ink-soft);text-align:right}.flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:20px;padding:24px;background:var(--surface);border-radius:var(--radius-lg)}.flow span{background:var(--card);border:1px solid var(--line-soft);border-radius:10px;padding:9px 16px;font:13px var(--font-mono)}.flow .flow-hl{background:var(--rust);border-color:var(--rust);color:#fbf6ee;font-weight:700}.flow i{font-style:normal;color:var(--ink-faint)}.video-embed{position:relative;aspect-ratio:16 / 9;margin-top:48px;background:var(--espresso);border-radius:var(--radius-xl);overflow:hidden}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.proud{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;margin-top:128px;padding:80px;border-radius:32px;background:var(--espresso);color:var(--on-dark)}.proud-eyebrow{font:13px var(--font-mono);color:var(--peach)}.proud-eyebrow:before{counter-increment:sec;content:counter(sec,decimal-leading-zero) " — "}.proud-title{margin-top:18px;font:500 clamp(2rem,3.2vw,2.8rem)/1.15 var(--font-serif);letter-spacing:-.03em}.proud-title em{font-style:italic;color:var(--peach)}.proud-main>p:last-child{margin-top:28px;color:var(--on-dark-soft);font-size:18px}.proud-stats{display:grid;gap:16px}.stat{background:var(--espresso-2);border-radius:var(--radius-lg);padding:24px}.stat strong{display:block;font:600 54px/1 var(--font-serif);letter-spacing:-.03em;color:var(--peach)}.stat span{display:block;margin-top:12px;font-size:15px;line-height:1.45;color:var(--on-dark-soft)}.next-case{display:block;margin-top:128px;text-decoration:none}.next-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:36px 0;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}.next-case .mono-label{color:var(--ink-soft);font-size:14px}.next-title{font-size:clamp(3rem,8vw,7rem)}.next-arrow{flex-shrink:0;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--rust);color:#fbf6ee;font-size:32px;transition:transform .2s ease}.next-case:hover .next-arrow{transform:translate(6px)}@media (max-width: 1080px){.stack-grid{grid-template-columns:repeat(2,1fr)}.arch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proud{padding:56px}}@media (max-width: 900px){.nav-links{gap:18px}.hero-grid{grid-template-columns:1fr}.hero-side{align-items:stretch;padding-top:24px;gap:40px}.code-card{max-width:460px}.stats,.fact-cards{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(3){border-left:0;padding-left:0}.stats>div:nth-child(n+3){border-top:1px solid var(--line-soft)}.work-card{grid-template-columns:1fr;gap:28px}.work-body{padding:0 4px 8px}.more-builds li{grid-template-columns:1fr auto}.more-stack{grid-column:1;grid-row:2}.more-links{grid-column:2;grid-row:1 / span 2}.about-grid{grid-template-columns:1fr;gap:40px}.about-photo{max-width:320px}.contact-panel{padding:64px 40px}.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1 / -1}.case-body{grid-template-columns:1fr}.case-body>*,.case-body>p:has(>img),.case-body>p:has(>em:only-child){grid-column:1}.case-body>p>img{max-height:360px}.case-body>h2+p,.case-body>h2+ul{margin-top:20px}.proud{grid-template-columns:1fr}.case-hero{padding:48px 24px}.case-hero-art{flex-direction:column;min-height:0;gap:28px}.art-stickers{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.art-stickers li{position:static}}@media (max-width: 640px){body{font-size:16px}.wrap{padding:0 16px}.nav-links>a:not(.btn){display:none}.hero{padding-top:40px}.hero-grid{margin-top:40px}.lede{margin-top:36px;font-size:18px}.coffee-badge{width:96px;height:96px;top:-48px;right:-8px}.code-card pre{font-size:12.5px;padding:18px}.stats,.fact-cards,.stack-grid,.arch-grid,.arch-grid-3{grid-template-columns:1fr}.decor:not(.decor-sparkle){display:none}.proud:before{right:16px}.stats>div{border-left:0!important;padding-left:0}.stats>div+div{border-top:1px solid var(--line-soft)}.stats dt{font-size:52px}.work-card{padding:16px;border-radius:22px}.work-num{font-size:80px}.more-builds li{grid-template-columns:1fr;gap:10px}.more-stack,.more-links{grid-column:1;grid-row:auto;justify-content:flex-start}.about{margin-top:112px;padding:80px 0}.timeline>div{grid-template-columns:1fr;gap:4px}.quote-card{padding:24px}.contact-panel{padding:48px 24px;border-radius:24px}.site-footer{margin-top:100px;padding-top:64px}.foot-grid{grid-template-columns:1fr;gap:36px}.foot-cup{width:110px;height:110px;bottom:auto;top:-8px}.btn-cream,.btn-outline-light{padding:13px 20px;font-size:15px}.case-hero{gap:16px;padding:32px 16px;border-radius:24px}.case-meta>div{border-left:0;padding-left:0;border-top:1px solid var(--line-soft)}.case-meta>div:first-child{border-top:0}.case-body>h2,.case-body>.proud{margin-top:88px}.proud{padding:40px 24px;border-radius:24px}.next-arrow{width:64px;height:64px;font-size:24px}}
