/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--breakpoint-sm:700px;--breakpoint-md:900px;--breakpoint-lg:1024px;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--color-bg:var(--bg);--color-fg:var(--fg);--color-muted:var(--muted);--color-muted-2:var(--muted-2);--color-line:var(--line);--color-line-strong:var(--line-strong);--color-ink:var(--ink);--color-ink-soft:var(--ink-soft);--color-invert-fg:var(--invert-fg);--color-invert-bg:var(--invert-bg);--color-placeholder:var(--placeholder);--color-placeholder-2:var(--placeholder-2);--color-accent-purple:var(--accent-purple);--color-accent-green:var(--accent-green);--color-accent-pink:var(--accent-pink);--color-accent-yellow:var(--accent-yellow)}}@layer base{*,:after,:before{box-sizing:border-box}#root,body,html{min-height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}img,svg,video{max-width:100%;display:block}.labs-canvas svg{max-width:none}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:0;padding:0}button,input,textarea{font:inherit;color:inherit}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:700px){.container{max-width:700px}}@media (min-width:900px){.container{max-width:900px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-my-0\.5{margin-block:calc(var(--spacing) * -.5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.bg-ink{background-color:var(--ink)}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.font-\[family-name\:var\(--font-mono\)\],.font-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.75rem\]{font-size:.75rem}.leading-none{--tw-leading:1;line-height:1}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.text-ink{color:var(--ink)}.text-ink-soft{color:var(--ink-soft)}.text-line{color:var(--line)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-\[0\.6\]{opacity:.6}.opacity-\[0\.45\]{opacity:.45}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-offset-\[2px\]{outline-offset:2px}.outline-\[1px_solid_var\(--ink\)\]{outline-color:1px solid var(--ink)}.blur{--tw-blur:blur(8px)}.blur,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity_180ms_ease\]{transition-property:opacity .18s ease;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[transition\:opacity_180ms_ease\]{transition:opacity .18s}@media (hover:hover){.hover\:opacity-\[0\.6\]:hover{opacity:.6}}.focus-visible\:\[outline\:1px_solid_var\(--ink\)\]:focus-visible{outline:1px solid var(--ink)}.focus-visible\:outline-offset-\[2px\]:focus-visible{outline-offset:2px}}:root{--bg:#fff;--fg:#0a0a0a;--muted:#8a8a8a;--muted-2:#c9c9c9;--line:#e6e6e6;--line-strong:#1a1a1a;--ink:#0a0a0a;--ink-soft:#1e1e1e;--invert-fg:#f4f4f4;--invert-bg:#0a0a0a;--placeholder:#ededed;--placeholder-2:#f5f5f5;--accent-purple:#d6c9ff;--accent-green:#c7f5cf;--accent-pink:#ffd2d3;--accent-yellow:#f8e6b0;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;--font-mono:"DM Mono",ui-monospace,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono",monospace;--container-max:1440px;--gutter:24px;--gutter-lg:40px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-xl:36px;--transition:.18s ease;--frozen-ink:#0a0a0a;--frozen-ink-soft:#1e1e1e;--frozen-invert-fg:#f4f4f4}[data-theme=dark]{--bg:#0e0e0e;--fg:#ededed;--muted:#8a8a8a;--muted-2:#4a4a4a;--line:#262626;--line-strong:#ededed;--ink:#ededed;--ink-soft:#d4d4d4;--invert-fg:#0a0a0a;--invert-bg:#ededed;--placeholder:#1a1a1a;--placeholder-2:#141414}[data-theme=dark] .hero-marquee__slide,[data-theme=dark] .more-card,[data-theme=dark] .service-card,[data-theme=dark] .site-footer,[data-theme=dark] .testimonial-card{--ink:var(--frozen-ink);--ink-soft:var(--frozen-ink-soft);--invert-fg:var(--frozen-invert-fg)}html{transition:background-color .22s,color .22s}.bio p,.btn,.faq__item,.field input,.field textarea,.gear,.site-drawer,.site-header,.tile,body{transition:background-color .22s,color .22s,border-color .22s}@media (prefers-reduced-motion:reduce){.bio p,.btn,.faq__item,.field input,.field textarea,.gear,.site-drawer,.site-header,.tile,body,html{transition:none}}h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3{letter-spacing:-.02em;font-weight:600;line-height:1.05}h1{font-size:clamp(2.5rem,5.5vw,4.25rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:600}.eyebrow{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);text-transform:none;font-size:.75rem}.eyebrow:before{content:"( "}.eyebrow:after{content:" )"}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-size:.85rem}.container{width:100%;max-width:var(--container-max);padding:0 var(--gutter);margin:0 auto}@media (min-width:900px){.container{padding:0 var(--gutter-lg)}}.page-canvas{flex-direction:column;display:flex}.page-reveal{animation:page-reveal .6s cubic-bezier(.45,0,.55,1) both;-webkit-mask-image:linear-gradient(135deg,#000 0 45%,#0000 55% 100%);mask-image:linear-gradient(135deg,#000 0 45%,#0000 55% 100%);-webkit-mask-size:300% 300%;mask-size:300% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes page-reveal{0%{-webkit-mask-position:100% 100%;mask-position:100% 100%}to{-webkit-mask-position:0 0;mask-position:0 0}}@media (prefers-reduced-motion:reduce){.page-reveal{animation:none;-webkit-mask-image:none;mask-image:none}}.section{padding:64px 0}@media (min-width:900px){.section{padding:96px 0}}.grid{gap:24px;display:grid}.grid-2,.grid-3{grid-template-columns:1fr}@media (min-width:700px){.grid-2{grid-template-columns:1fr 1fr}}@media (min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}}.site{flex-direction:column;min-height:100vh;display:flex;overflow-x:clip}.site-main{flex:1;padding-top:64px}.site-header{z-index:50;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffbf;border-bottom:1px solid #0a0a0a14;position:sticky;top:0}[data-theme=dark] .site-header{background:#0e0e0eb8;border-bottom-color:#ededed14}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header{background:#ffffffeb}[data-theme=dark] .site-header{background:#0e0e0ef0}}.site-header__inner{max-width:var(--container-max);padding:18px var(--gutter);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:0 auto;display:grid}@media (min-width:900px){.site-header__inner{padding:22px var(--gutter-lg)}}.site-header__logo{color:var(--ink);grid-column:1;justify-self:start;align-items:center;display:inline-flex}.site-header__actions{grid-column:3;justify-self:end}.site-header__actions,.site-header__nav{align-items:center;gap:28px;display:inline-flex}.site-header__link{font-family:var(--font-sans);color:var(--ink);transition:opacity var(--transition);font-size:.9rem}.site-header__link:hover{opacity:.6}.site-header__link.active{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.site-header__toggle{width:32px;height:32px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;display:none}.site-header__toggle svg{transition:transform .28s cubic-bezier(.4,0,.2,1)}.site-header__toggle.is-open svg{transform:rotate(45deg)}.site-header__toggle:hover{background:#0a0a0a0a}[data-theme=dark] .site-header__toggle:hover{background:#ededed0f}.theme-toggle{width:32px;height:32px;color:var(--ink);transition:background-color var(--transition),color var(--transition),transform .22s cubic-bezier(.4,0,.2,1);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:#0a0a0a0a}[data-theme=dark] .theme-toggle:hover{background:#ededed0f}.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.theme-toggle:active{transform:scale(.94)}.theme-toggle svg{transition:transform .32s cubic-bezier(.32,.72,0,1)}.theme-toggle[data-mode=dark] svg{transform:rotate(-12deg)}.theme-toggle[data-mode=system] svg{transform:rotate(0)}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle svg{transition:none}}[data-theme=dark] .site-drawer{background:#0e0e0eeb;border-bottom-color:#ededed14}.site-drawer{z-index:49;-webkit-backdrop-filter:blur(28px)saturate(180%);background:#ffffffeb;border-bottom:1px solid #0a0a0a14;justify-content:center;align-items:center;padding:108px 32px 48px;transition:transform .38s cubic-bezier(.32,.72,0,1);display:none;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.site-drawer.is-open{transform:translateY(0)}.site-drawer__nav{flex-direction:column;align-items:center;gap:40px;display:flex}.site-drawer__link{font-family:var(--font-sans);color:var(--ink);transition:opacity var(--transition);font-size:1.5rem}.site-drawer__link:focus-visible,.site-drawer__link:hover{opacity:.6}.site-drawer__link.active{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:1px}@media (max-width:1024px){.site-header__nav{display:none}.site-header__toggle{display:inline-flex}.site-drawer{display:flex}}@media (max-width:767px){.light-pull-portal{display:none}}@media (prefers-reduced-motion:reduce){.site-drawer,.site-header__toggle svg{transition:none}}.brand-hero{text-align:center;padding:72px 0 48px}.brand-hero__title{letter-spacing:-.04em;font-size:clamp(3rem,9vw,6.5rem);font-weight:700;line-height:.95}.brand-hero__sub{font-family:var(--font-mono);color:var(--ink-soft);margin-top:14px;font-size:.8rem}.landing{padding:72px 0 48px}.landing__text{text-align:left}.landing__lead{color:var(--ink);margin:0;font-weight:500}.landing__title{text-align:left;min-height:3lh;margin-top:8px}.landing__sub{margin-top:18px}.light-string-hint{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-soft);opacity:.75;pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.8rem;display:inline-flex;position:absolute;transform:translateY(-50%)}.light-string-hint__arrow{flex:none}.light-string-hint__text{white-space:nowrap;line-height:1.3}@media (max-width:600px){.light-string-hint{display:none}}.rotating-word{opacity:0;text-wrap:balance;-webkit-text-fill-color:var(--ink);will-change:opacity,transform;background:linear-gradient(135deg,#f5d472,#d4a53a 45%,#a87820);-webkit-background-clip:text;background-clip:text;padding:.05em .06em .2em;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),-webkit-text-fill-color .6s ease-out,color .6s ease-out,filter .6s ease-out;display:inline-block;transform:translateY(-12px)}.rotating-word.is-visible{opacity:1;transform:translateY(0)}.rotating-word.is-lit{-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 0 28px #dcaa2873)}@media (prefers-reduced-motion:reduce){.rotating-word{opacity:1;transition:none;transform:none}}.live-time{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-soft);white-space:nowrap;-webkit-user-select:none;user-select:none;grid-column:2;justify-self:center;font-size:.72rem;display:inline-block}@media (max-width:767px){.live-time{display:none}}.hero-marquee{width:100%;position:relative;overflow:hidden}.hero-marquee:after,.hero-marquee:before{content:"";z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(20px)saturate(180%);width:clamp(220px,22vw,600px);position:absolute;top:0;bottom:0}.hero-marquee:before{background:radial-gradient(100% 130% at 100%,#fff0 0,#ffffff80 45%,#fff 100%);left:0;-webkit-mask-image:radial-gradient(100% 130% at 100%,#0000 0 15%,#000 100%);mask-image:radial-gradient(100% 130% at 100%,#0000 0 15%,#000 100%)}.hero-marquee:after{background:radial-gradient(100% 130% at 0,#fff0 0,#ffffff80 45%,#fff 100%);right:0;-webkit-mask-image:radial-gradient(100% 130% at 0,#0000 0 15%,#000 100%);mask-image:radial-gradient(100% 130% at 0,#0000 0 15%,#000 100%)}[data-theme=dark] .hero-marquee:before{background:radial-gradient(100% 130% at 100%,#0e0e0e00 0,#0e0e0e80 45%,#0e0e0e 100%)}[data-theme=dark] .hero-marquee:after{background:radial-gradient(100% 130% at 0,#0e0e0e00 0,#0e0e0e80 45%,#0e0e0e 100%)}@media (max-width:767px){.hero-marquee:after,.hero-marquee:before{display:none}}.hero-marquee__track{will-change:transform;gap:24px;width:max-content;animation:hero-marquee-scroll 120s linear infinite;display:flex}.hero-marquee__slide{aspect-ratio:5/7;color:var(--frozen-ink);border-radius:48px;flex-direction:column;flex:0 0 360px;justify-content:space-between;padding:40px 30px;display:flex;overflow:hidden}.hero-marquee__slide,.hero-marquee__slide[data-color=purple]{background:var(--accent-purple)}.hero-marquee__slide[data-color=green]{background:var(--accent-green)}.hero-marquee__slide[data-color=pink]{background:var(--accent-pink)}.hero-marquee__slide[data-color=yellow]{background:var(--accent-yellow)}.hero-marquee__slide--a{border-radius:48px 0}.hero-marquee__slide--b{border-radius:0 48px}@keyframes hero-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:768px){.hero-marquee__track{gap:16px}.hero-marquee__slide{border-radius:24px;flex:0 0 260px;padding:30px 22px}.hero-marquee__slide--a{border-radius:24px 0}.hero-marquee__slide--b{border-radius:0 24px}.hero-marquee:after,.hero-marquee:before{width:240px}}@media (prefers-reduced-motion:reduce){.hero-marquee__track{animation:none}}.section-head{grid-template-columns:1fr;align-items:end;gap:24px;margin-bottom:40px;display:grid}.section-head h2{max-width:18ch}.section-head__aside{flex-direction:column;align-items:flex-start;gap:8px;display:flex}@media (min-width:900px){.section-head{grid-template-columns:2fr 1fr}.section-head__aside{text-align:right;align-items:flex-end}}.divider{background:var(--line);height:1px;margin:16px 0 0}.tile{border-radius:var(--radius-lg);background:var(--placeholder);background-image:linear-gradient(45deg,var(--placeholder-2) 25%,transparent 25%),linear-gradient(-45deg,var(--placeholder-2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--placeholder-2) 75%),linear-gradient(-45deg,transparent 75%,var(--placeholder-2) 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px}.tile--dark{background:var(--ink);color:var(--invert-fg);background-image:none}.tile-pair{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:800px){.tile-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.tile--quote{align-items:center;padding:36px;display:flex}.tile-pair>.tile--quote,.tile-pair>.tile--slideshow{aspect-ratio:1}.tile-pair--lead>.tile--quote{aspect-ratio:5/4}.tile--quote p{max-width:30ch;font-size:1.05rem;line-height:1.45}.tile-aspect{aspect-ratio:5/4}.tile-pair--lead .tile-aspect{position:relative;overflow:hidden}.tile-pair--lead .tile-aspect>img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.tile--slideshow{background:0 0;padding:0;position:relative;overflow:hidden}.slideshow{border-radius:inherit;-webkit-user-select:none;user-select:none;width:100%;height:100%;overflow:hidden}.slideshow,.slideshow__image,.slideshow__stack{position:absolute;inset:0}.slideshow__image{object-fit:cover;opacity:0;-webkit-user-drag:none;width:100%;height:100%;transition:opacity .7s cubic-bezier(.4,0,.2,1)}.slideshow__image.is-active{opacity:1}.slideshow__arrow{color:#111;-webkit-backdrop-filter:blur(8px)saturate(160%);cursor:pointer;opacity:0;z-index:2;pointer-events:none;background:#ffffffd9;border:0;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;transition:opacity .28s cubic-bezier(.32,.72,0,1),transform .22s cubic-bezier(.32,.72,0,1),background-color .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.slideshow__arrow--left{left:16px}.slideshow__arrow--right{right:16px}.slideshow:focus-within .slideshow__arrow,.slideshow:hover .slideshow__arrow{opacity:1;pointer-events:auto}.slideshow__arrow:hover{background:#fffffff5;transform:translateY(-50%)scale(1.06)}.slideshow__arrow:active{transform:translateY(-50%)scale(.96)}.slideshow__arrow:focus-visible{outline-offset:2px;opacity:1;pointer-events:auto;outline:2px solid #1119}.slideshow__dots{-webkit-backdrop-filter:blur(8px)saturate(160%);z-index:2;opacity:0;pointer-events:none;background:#ffffff40;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;transition:opacity .28s cubic-bezier(.32,.72,0,1);display:inline-flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.slideshow:focus-within .slideshow__dots,.slideshow:hover .slideshow__dots{opacity:1;pointer-events:auto}.slideshow__dot{cursor:pointer;background:#ffffff8c;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:background-color .22s cubic-bezier(.32,.72,0,1),transform .22s cubic-bezier(.32,.72,0,1),width .22s cubic-bezier(.32,.72,0,1)}.slideshow__dot:hover{background:#ffffffd9}.slideshow__dot.is-active{background:#fff;width:22px}.slideshow__dot:focus-visible{outline-offset:2px;outline:2px solid #fffffff2}@media (max-width:1024px){.slideshow__arrow,.slideshow__dots{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.slideshow__arrow,.slideshow__dot,.slideshow__dots,.slideshow__image{transition:none}}.project-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (min-width:700px){.project-grid{grid-template-columns:1fr 1fr}}.project-card{color:inherit;display:block}.project-card__media{border-radius:var(--radius-lg);aspect-ratio:5/4;background:var(--placeholder);background-image:linear-gradient(45deg,var(--placeholder-2) 25%,transparent 25%),linear-gradient(-45deg,var(--placeholder-2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--placeholder-2) 75%),linear-gradient(-45deg,transparent 75%,var(--placeholder-2) 75%);transition:transform var(--transition);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;position:relative;overflow:hidden}.project-card__media img{object-fit:cover;object-position:top center;border-radius:inherit;width:100%;height:100%;transition:transform var(--transition);display:block}.project-card:hover .project-card__media{transform:translateY(-4px)}.project-card:hover .project-card__media img{transform:scale(1.03)}.project-card__meta{font-family:var(--font-mono);justify-content:space-between;margin-top:16px;font-size:.82rem;display:flex}.services{grid-template-columns:1fr;gap:18px;display:grid}@media (min-width:700px){.services{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.services{grid-template-columns:repeat(4,1fr)}}.service-card{perspective:1200px;cursor:pointer;border-radius:var(--radius-xl);background:0 0;border:0;flex-direction:column;min-height:460px;padding:0;display:flex;position:relative}@media (max-width:699px){.service-card{min-height:380px}}.service-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.service-card__inner{width:100%;transform-style:preserve-3d;flex:1;grid-template-rows:1fr;grid-template-areas:"stack";transition:transform .7s cubic-bezier(.32,.72,0,1);display:grid}.service-card.is-flipped .service-card__inner{transform:rotateY(180deg)}.service-card__face{border-radius:var(--radius-xl);backface-visibility:hidden;color:var(--frozen-ink);flex-direction:column;grid-area:stack;padding:28px 24px;display:flex;overflow:hidden}.service-card__face--back,.service-card__face--front{justify-content:space-between}.service-card__face--back{transform:rotateY(180deg)}.service-card[data-color=purple] .service-card__face{background:var(--accent-purple)}.service-card[data-color=green] .service-card__face{background:var(--accent-green)}.service-card[data-color=pink] .service-card__face{background:var(--accent-pink)}.service-card[data-color=yellow] .service-card__face{background:var(--accent-yellow)}.service-card__sublinks{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.service-card__subskill{color:var(--ink);flex-direction:column;font-size:.82rem;line-height:1.4;display:flex}.service-card__subskill-name{font-weight:600}.service-card__subskill-sep{color:var(--ink-soft);opacity:.55}.service-card__subskill .inline-link{padding-bottom:1px;font-size:.82rem;font-weight:400}.service-card__header{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.service-card__hint{font-family:var(--font-mono);color:var(--ink);opacity:.55;align-items:center;gap:6px;font-size:.75rem;font-weight:400;display:inline-flex}.service-card__hint-icon{font-size:1.1em;line-height:1;display:inline-block}@media (max-width:1100px){.service-card__hint-label{display:none}}.testimonial-card__body{flex-direction:column;gap:12px;display:flex}.testimonial-card__title{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:600;line-height:1.15}.testimonial-card__person{align-items:center;gap:12px;display:flex}.testimonial-card__name{font-size:.92rem;font-weight:600}.testimonial-card__avatar{background:var(--ink-soft);width:36px;height:36px;color:var(--invert-fg);font-family:var(--font-mono);letter-spacing:.04em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.7rem;font-weight:500;display:flex}.testimonial-card__meta{color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.5}.testimonial-card__quote{color:var(--ink);letter-spacing:-.005em;margin:0;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:500;line-height:1.4}@media (min-width:700px){.testimonial-card__quote{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.3}}@media (prefers-reduced-motion:reduce){.service-card__inner{transition:none}}.service-card__num{font-family:var(--font-mono);color:var(--ink);opacity:.7;font-size:.75rem}.service-card__icon{width:64px;height:64px;color:var(--ink);justify-content:center;align-self:center;align-items:center;display:flex}.service-card__icon svg{display:block}.service-card__body{flex-direction:column;gap:8px;display:flex}.service-card__body h4{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:600;line-height:1.15}.service-card__body p{color:var(--ink-soft);opacity:.85;font-size:.82rem;line-height:1.4}.stats{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;padding-top:36px;display:grid}@media (min-width:900px){.stats{grid-template-columns:repeat(4,1fr)}}.stat__value{letter-spacing:-.02em;font-size:2rem;font-weight:600}.stat__label{color:var(--muted);max-width:24ch;margin-top:8px;font-size:.82rem}.faq{grid-template-columns:1fr;gap:32px;display:grid}@media (min-width:900px){.faq{grid-template-columns:1fr 1.5fr;gap:64px}}.faq__intro h2{margin-bottom:12px}.faq__intro p{color:var(--muted);max-width:36ch;font-size:.92rem}.faq__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.faq__item{border-bottom:1px solid var(--line)}.faq__trigger{text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 0;font-size:.95rem;display:flex}.faq__trigger[aria-expanded=true]{font-weight:600}.faq__chevron{flex:none;width:16px;height:16px;transition:transform .38s cubic-bezier(.32,.72,0,1)}.faq__trigger[aria-expanded=true] .faq__chevron{transform:rotate(180deg)}.faq__panel-wrapper{grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.32,.72,0,1);display:grid}.faq__panel-wrapper.is-open{grid-template-rows:1fr}.faq__panel{min-height:0;color:var(--ink-soft);opacity:0;max-width:60ch;padding:0 0 18px;font-size:.92rem;line-height:1.55;transition:opacity .32s cubic-bezier(.32,.72,0,1);overflow:hidden}.faq__panel-wrapper.is-open .faq__panel{opacity:1}@media (prefers-reduced-motion:reduce){.faq__chevron,.faq__panel,.faq__panel-wrapper{transition:none}}.contact-row{grid-template-columns:1fr;align-items:start;gap:48px;display:grid}@media (min-width:900px){.contact-row{grid-template-columns:1fr 1fr;gap:80px}}.contact-links{flex-flow:wrap;align-items:center;gap:14px 24px;display:flex}@media (min-width:900px){.contact-row--with-links .contact-form{grid-area:1/1}.contact-row--with-links .contact-links{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:20px}}.contact-form{flex-direction:column;gap:18px;display:flex}.contact-form h3{font-size:1.5rem;font-weight:600}.contact-form__sub{font-family:var(--font-mono);color:var(--muted);margin-top:-6px;font-size:.78rem}.field{flex-direction:column;display:flex}.field input,.field textarea{border:0;border-bottom:1px solid var(--line);transition:border-color var(--transition);background:0 0;outline:none;padding:10px 0;font-size:.95rem}.field textarea{resize:vertical;min-height:96px}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input:focus,.field textarea:focus{border-bottom-color:var(--ink)}.field--invert input,.field--invert textarea{color:var(--invert-fg);border-bottom-color:#ffffff40}.field--invert input::placeholder,.field--invert textarea::placeholder{color:#ffffff80}.field--invert input:focus,.field--invert textarea:focus{border-bottom-color:var(--invert-fg)}.contact-form{--field-error:#c44949;--field-error-invert:#ff8a8a}.field--invalid input,.field--invalid textarea{border-bottom-color:var(--field-error)}.field--invert.field--invalid input,.field--invert.field--invalid textarea{border-bottom-color:var(--field-error-invert)}.field__foot{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.field__error,.field__foot{font-size:.74rem;font-family:var(--font-mono);margin-top:6px;line-height:1.4}.field__error{color:var(--field-error)}.field--invert .field__error{color:var(--field-error-invert)}.field__hint{color:var(--muted)}.field--invert .field__hint{color:#ffffff8c}.field__counter{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.field--invert .field__counter{color:#ffffff8c}.field__counter--low{color:#b78b1f}.field--invert .field__counter--low{color:#ffd779}.field__counter--over{color:var(--field-error);font-weight:600}.field--invert .field__counter--over{color:var(--field-error-invert);font-weight:600}.btn{transition:background-color var(--transition),color var(--transition);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:.9rem;font-weight:500;display:inline-flex}.btn--dark{background:var(--ink);color:var(--invert-fg)}.btn--dark:hover{background:#222}[data-theme=dark] .btn--dark:hover{background:#cfcfcf}.btn--light{background:var(--bg);color:var(--ink)}.btn--light:hover{background:var(--placeholder)}[data-theme=dark] .site-footer .btn--light{background:var(--frozen-invert-fg);color:var(--frozen-ink)}[data-theme=dark] .site-footer .btn--light:hover{background:#d8d8d8}.toast{z-index:10000;background:var(--bg);color:var(--ink);border:1px solid var(--line);font-family:var(--font-sans);border-radius:14px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:12px 12px 12px 16px;font-size:.9rem;line-height:1.4;animation:toast-in .32s cubic-bezier(.32,.72,0,1);display:inline-flex;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000001f,0 4px 8px #0000000f}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.toast__icon{background:#0000000f;border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}[data-theme=dark] .toast__icon{background:#ffffff14}.toast--success .toast__icon{color:#2a9d3f}.toast--error .toast__icon{color:#c44949}[data-theme=dark] .toast--error .toast__icon{color:#ff8a8a}.toast__message{flex:1;min-width:0;max-width:56ch;padding-right:4px}.toast__close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .18s,color .18s;display:inline-flex}.toast__close:focus-visible,.toast__close:hover{color:var(--ink);background:#0000000f;outline:none}[data-theme=dark] .toast__close:focus-visible,[data-theme=dark] .toast__close:hover{background:#ffffff14}@media (max-width:600px){.toast{width:auto;max-width:none;top:80px;left:16px;right:16px;transform:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.btn--block{width:100%}.btn--ghost{border:1px solid}.inline-link{border-bottom:1px solid;align-items:center;gap:6px;padding-bottom:2px;font-size:.9rem;display:inline-flex}.site-footer{background:var(--frozen-ink);color:var(--frozen-invert-fg);margin-top:80px;padding:56px 0 28px}.site-footer__top{grid-template-columns:1fr;gap:48px;display:grid}@media (min-width:900px){.site-footer__top{grid-template-columns:1fr 1fr;gap:80px}}.site-footer__brand{flex-direction:column;gap:28px;display:flex}.site-footer__brand-text{color:#ffffffd9;max-width:28ch;font-size:.92rem}.site-footer__email{border-bottom:1px solid #fff6;width:max-content;padding-bottom:4px;font-size:1rem;display:inline-block}.site-footer__bottom{font-family:var(--font-mono);border-top:1px solid #ffffff14;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;font-size:.78rem;display:flex}.footer-nav{gap:22px;display:flex}.footer-nav a{font-family:var(--font-sans);font-size:.85rem}.footer-nav a.active{text-decoration:underline}.page-head{grid-template-columns:1fr;align-items:end;gap:16px;padding:32px 0 24px;display:grid}@media (min-width:900px){.page-head{grid-template-columns:2fr 1fr;gap:48px}}.page-head h1{max-width:18ch;font-size:clamp(2.25rem,4vw,3.5rem)}.page-head__aside{flex-direction:column;gap:24px;display:flex}.page-head__aside p{color:var(--muted);max-width:32ch;font-size:.88rem}.project-meta{grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:24px;font-size:.85rem;display:grid}.project-meta dt{color:var(--muted);font-family:var(--font-mono)}.project-meta dd{margin:0}.project-stack{flex-direction:column;gap:16px;margin-top:32px;display:flex}.project-stack .tile{aspect-ratio:4/3}.status-pill{color:#176c2a;font-size:.72rem;font-family:var(--font-mono);background:#def7e0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.status-pill:before{content:"";background:#2a9d3f;border-radius:50%;width:6px;height:6px}.bio{grid-template-columns:1fr;gap:32px;display:grid}@media (min-width:900px){.bio{grid-template-columns:1fr 1fr;gap:64px}}.bio p{color:var(--ink-soft);font-size:.92rem;line-height:1.55}.testimonial{flex-direction:column;gap:18px;display:flex}.testimonial__quote{color:var(--ink-soft);font-size:.92rem;line-height:1.55}.testimonial__person{align-items:center;gap:12px;display:flex}.testimonial__avatar{background:var(--placeholder-2);border-radius:50%;width:32px;height:32px}.testimonial__person h4{margin:0;font-size:.88rem;font-weight:600}.testimonial__person p{color:var(--muted);font-size:.78rem}.codex{flex-direction:column;gap:8px;display:flex}.codex__title{letter-spacing:-.005em;margin:0 0 4px;font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:600;line-height:1.2}.gear{border-top:1px solid var(--line);grid-template-columns:1fr;align-items:start;gap:24px;padding:64px 0;display:grid}@media (min-width:900px){.gear{grid-template-columns:1fr 2fr;gap:64px}}.gear__list{flex-direction:column;display:flex}.gear__row{border-top:1px solid var(--line);grid-template-columns:1fr;gap:6px;padding:20px 0;font-size:.92rem;display:grid}.gear__row:last-child{border-bottom:1px solid var(--line)}.gear--labs .gear__row:first-child{border-top:0}@media (min-width:600px){.gear__row{grid-template-columns:1fr 2fr;gap:32px}}.gear__row dd{color:var(--muted);margin:0}@media (min-width:600px){.gear__row dd{text-align:right}}.more-projects{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}@media (min-width:1024px){.more-projects{grid-template-columns:repeat(4,1fr)}}.more-card{border-radius:var(--radius-xl);min-height:320px;color:var(--frozen-ink);flex-direction:column;justify-content:space-between;padding:24px 22px;display:flex}.more-card[data-color=purple]{background:var(--accent-purple)}.more-card[data-color=green]{background:var(--accent-green)}.more-card[data-color=pink]{background:var(--accent-pink)}.more-card[data-color=yellow]{background:var(--accent-yellow)}.more-card__num{font-family:var(--font-mono);color:var(--ink);opacity:.7;font-size:.75rem}.more-card__icon{background-image:radial-gradient(var(--ink) 30%,transparent 32%);background-size:7px 7px;align-self:center;width:24px;height:24px}.more-card__title{margin:0;font-size:.95rem;font-weight:600}.more-card__desc{color:var(--ink-soft);margin-top:6px;font-size:.78rem}.more-card__meta{font-family:var(--font-mono);justify-content:space-between;margin-top:12px;font-size:.72rem;display:flex}.project-carousel{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--muted-2) transparent;gap:18px;margin:0 -4px;padding:2px 4px 12px;display:flex;overflow-x:auto}.project-carousel::-webkit-scrollbar{height:8px}.project-carousel::-webkit-scrollbar-thumb{background:var(--muted-2);border-radius:999px}.project-carousel::-webkit-scrollbar-track{background:0 0}.project-carousel__item{scroll-snap-align:start;flex:none;width:232px}@media (min-width:700px){.project-carousel__item{width:264px}}.closing-cta{text-align:center;padding-bottom:clamp(32px,5vw,60px)}.closing-cta h2{margin-bottom:14px}.closing-cta p{color:var(--muted);max-width:38ch;margin:0 auto 24px;font-size:.92rem}.closing-cta__frame{background:var(--bg);border-radius:var(--radius-lg);padding:clamp(48px,7vw,88px) clamp(32px,5vw,64px);box-shadow:0 4px 12px #0000000f,0 20px 48px #00000026}[data-theme=dark] .closing-cta__frame{background:var(--placeholder);box-shadow:0 4px 12px #0006,0 20px 48px #0009}.route-fallback{min-height:60vh}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-shell{grid-template-columns:1fr;gap:40px;padding:32px 0 64px;display:grid}@media (min-width:900px){.project-shell{grid-template-columns:200px minmax(0,1fr);gap:64px}}.project-sidebar{z-index:1;align-self:start;position:sticky;top:88px}@media (max-width:899px){.project-sidebar{background:var(--bg);border-bottom:1px solid var(--line);padding:8px 0;top:64px}}@media (max-width:699px){.project-sidebar{display:none}}.project-sidebar__heading{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:.7rem;display:block}@media (max-width:899px){.project-sidebar__heading{display:none}}.project-sidebar__nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}@media (max-width:899px){.project-sidebar__nav ul{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:18px;overflow-x:auto}.project-sidebar__nav ul::-webkit-scrollbar{display:none}.project-sidebar__nav ul .project-sidebar__link{margin-left:0}}.project-sidebar__link{font-family:var(--font-sans);color:var(--muted);white-space:nowrap;border-radius:6px;margin-left:-10px;padding:6px 10px;font-size:.88rem;transition:color .18s,background-color .18s,transform .18s;display:block}.project-sidebar__link.is-active,.project-sidebar__link:hover{color:var(--ink);background:var(--placeholder)}.project-sidebar__link.is-active{font-weight:600}.project-main{flex-direction:column;gap:88px;max-width:880px;display:flex}.project-section{scroll-margin-top:96px}.project-section__title{letter-spacing:-.015em;margin:0 0 16px;font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:600}.project-section__subtitle{letter-spacing:-.005em;margin:0 0 12px;font-size:1rem;font-weight:600}.project-section__body{max-width:60ch;color:var(--ink-soft);margin:0 0 16px;font-size:.95rem;line-height:1.6}.project-section__lead{max-width:60ch;color:var(--ink-soft);margin-top:28px;font-size:1.05rem;line-height:1.55}.project-hero{grid-template-columns:1fr;gap:32px;margin-bottom:28px;display:grid}.project-hero__text{flex-direction:column;gap:10px;display:flex}.project-hero__title{letter-spacing:-.02em;margin:4px 0 0;font-size:clamp(1.85rem,4vw,2.75rem);font-weight:700;line-height:1.05}.project-hero__tagline{max-width:56ch;color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.5}.project-hero__visual{margin-top:16px}.project-meta-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;margin:24px 0 0;padding:18px 0;display:grid}@media (min-width:720px){.project-meta-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.project-meta-grid__cell dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.7rem}.project-meta-grid__cell dd{color:var(--ink);margin:0;font-size:.88rem}.device-frame{--device-radius:14px;--device-border:1px solid var(--line);flex-direction:column;gap:10px;margin:0;display:flex}.device-frame__body{border:var(--device-border);border-radius:var(--device-radius);background:var(--bg);transition:box-shadow .22s;overflow:hidden}.device-frame--desktop .device-frame__body{box-shadow:0 8px 28px #0000000f}[data-theme=dark] .device-frame--desktop .device-frame__body{box-shadow:0 12px 32px #0006}.device-frame__chrome{border-bottom:var(--device-border);background:var(--placeholder-2);align-items:center;gap:6px;height:26px;padding:0 12px;display:flex}[data-theme=dark] .device-frame__chrome{background:var(--placeholder)}.device-frame__dot{background:var(--muted-2);border-radius:50%;width:8px;height:8px}.device-frame__screen{aspect-ratio:16/10;background:var(--placeholder);display:block;position:relative;overflow:hidden}.device-frame__screen>img,.device-frame__screen>picture>img{object-fit:cover;width:100%;height:100%;display:block}.device-frame--mobile{width:100%;max-width:260px}.device-frame--mobile .device-frame__body{--device-radius:28px;box-shadow:0 8px 28px #00000014}[data-theme=dark] .device-frame--mobile .device-frame__body{box-shadow:0 12px 32px #00000080}.device-frame--mobile .device-frame__screen{aspect-ratio:9/19}.device-frame__label{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;font-size:.72rem}.project-placeholder{background:var(--placeholder);background-image:linear-gradient(45deg,var(--placeholder-2) 25%,transparent 25%),linear-gradient(-45deg,var(--placeholder-2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--placeholder-2) 75%),linear-gradient(-45deg,transparent 75%,var(--placeholder-2) 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.project-placeholder__label{background:var(--bg);border:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);border-radius:6px;padding:6px 10px;font-size:.72rem;display:inline-block}.project-grid-row{gap:16px;display:grid}.project-grid-row--two{grid-template-columns:1fr}@media (min-width:720px){.project-grid-row--two{grid-template-columns:1fr 1fr}}.project-grid-row--three{grid-template-columns:1fr}@media (min-width:720px){.project-grid-row--three{grid-template-columns:repeat(3,1fr)}}.project-grid-row--mobile-trio{grid-template-columns:1fr;justify-items:center}@media (min-width:720px){.project-grid-row--mobile-trio{grid-template-columns:repeat(3,1fr);justify-items:center}}.project-stat-row{grid-template-columns:1fr;gap:16px;margin-top:24px;display:grid}@media (min-width:720px){.project-stat-row{grid-template-columns:repeat(3,1fr)}}.project-stat{border:1px solid var(--line);border-radius:14px;padding:24px}.project-stat__value{letter-spacing:-.02em;margin-bottom:4px;font-size:2rem;font-weight:700}.project-stat__label{font-family:var(--font-mono);color:var(--muted);font-size:.78rem;line-height:1.4}.lightbox{z-index:10001;-webkit-backdrop-filter:blur(8px);background:#0a0a0ae0;justify-content:center;align-items:center;padding:24px;animation:lightbox-in .2s ease-out;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox__image{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 32px 64px #0006}.lightbox__close{color:#111;cursor:pointer;background:#fffffff2;border:0;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .18s,transform .18s;display:inline-flex;position:absolute;top:20px;right:20px}.lightbox__close:hover{background:#fff;transform:scale(1.05)}.lightbox__close:focus-visible{outline-offset:2px;outline:2px solid #fff}.annotated-image,.annotated-image__media{width:100%;height:100%;position:relative}.annotated-image__media>.project-placeholder,.annotated-image__media>img{object-fit:cover;width:100%;height:100%}.annotated-image__hotspot{background:var(--ink);width:26px;height:26px;color:var(--invert-fg);border:2px solid var(--bg);font-family:var(--font-mono);cursor:pointer;z-index:2;border-radius:999px;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000026}.annotated-image__hotspot.is-open,.annotated-image__hotspot:hover{transform:translate(-50%,-50%)scale(1.1);box-shadow:0 8px 18px #00000038}.annotated-image__hotspot:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.annotated-image__hotspot-num{pointer-events:none}.annotated-image__hotspot-popover{background:var(--bg);min-width:180px;max-width:240px;color:var(--ink);border:1px solid var(--line);text-align:left;font-size:.82rem;line-height:1.4;font-family:var(--font-sans);z-index:3;border-radius:8px;padding:10px 12px;font-weight:400;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 12px 24px #0000001f}.annotated-image__hotspot-body{color:var(--ink-soft);margin-top:4px;font-size:.78rem;display:block}.screen-switcher{flex-direction:column;display:flex}.screen-switcher__tabs{border-bottom:1px solid var(--line);background:var(--placeholder-2);scrollbar-width:none;gap:4px;padding:8px;display:flex;overflow-x:auto}.screen-switcher__tabs::-webkit-scrollbar{display:none}[data-theme=dark] .screen-switcher__tabs{background:var(--placeholder)}.screen-switcher__tab{color:var(--muted);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:none;padding:6px 12px;font-size:.82rem;transition:background-color .18s,color .18s}.screen-switcher__tab.is-active,.screen-switcher__tab:hover{color:var(--ink);background:var(--bg)}.screen-switcher__tab.is-active{font-weight:600;box-shadow:0 1px 2px #0000000f}.screen-switcher__stage{aspect-ratio:16/10;background:var(--placeholder);position:relative;overflow:hidden}.screen-switcher__panel{position:absolute;inset:0}.screen-switcher__panel>.project-placeholder,.screen-switcher__panel>img{object-fit:cover;width:100%;height:100%}.scroll-viewport{background:var(--placeholder);width:100%;position:relative;overflow:hidden}.scroll-viewport__inner{will-change:transform;width:100%;position:relative}.scroll-viewport__inner>.project-placeholder,.scroll-viewport__inner>img{object-fit:cover;width:100%;height:100%;display:block}.scroll-viewport__inner--static{height:100%;overflow-y:auto}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}