@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_9fc40a1e-module__FqIosq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_9fc40a1e-module__FqIosq__variable{--font-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_6114aa3d-module__osbSoG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_6114aa3d-module__osbSoG__variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#c2cabb;--card:#ccd3c5;--card-soft:#b7bfae;--ink:#10120f;--ink-soft:#23271f;--gray-1:#4c5247;--gray-2:#6e7466;--gray-3:#97a08c;--gray-4:#abb2a0;--accent:#e8772e;--accent-soft:#e7dac8;--red:#c0492f;--shadow-card:0 2px 8px #10120f1a;--shadow-nav:0 -4px 20px #10120f24;--shadow-strong:0 8px 32px #10120f2e;--on-ink:#fff;--on-ink-soft:#ffffffd9;--on-ink-muted:#ffffffb3;--on-ink-dim:#fff9;--on-ink-low:#ffffff80;--on-ink-faint:#ffffff26;--font:var(--font-jakarta), "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:56px;--s-10:72px;--s-11:96px}[data-theme=dark]{--bg:#0f120e;--card:#181c16;--card-soft:#21261e;--ink:#ecefe8;--ink-soft:#d6dccf;--gray-1:#9ba391;--gray-2:#6e7466;--gray-3:#3b4039;--gray-4:#2a2f27;--accent:#f08a3a;--accent-soft:#f08a3a1f;--shadow-card:0 2px 8px #00000080;--shadow-nav:0 -4px 20px #0009;--shadow-strong:0 8px 32px #000000a6;--on-ink:#0f120e;--on-ink-soft:#000000d9;--on-ink-muted:#000000b3;--on-ink-dim:#0009;--on-ink-low:#00000080;--on-ink-faint:#00000026}body{transition:background-color .25s,color .25s}*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{font-family:inherit}html{font-size:16px}body{font-family:var(--font);color:var(--ink-soft);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-weight:400;line-height:1.5}.page{max-width:760px;padding:var(--s-11) var(--s-7) var(--s-11);margin:0 auto}@media (max-width:720px){.page{padding:var(--s-9) var(--s-5) var(--s-9)}}.name{font-family:var(--font);letter-spacing:-.025em;color:var(--ink);font-size:2.75rem;font-weight:700;line-height:1.05}.role-line{color:var(--gray-1);margin-top:var(--s-3);font-size:1rem;font-weight:400}.contact-line{color:var(--gray-1);margin-top:var(--s-4);font-size:.875rem;line-height:1.75}.contact-line .sep{margin:0 var(--s-2);color:var(--gray-3)}.contact-line a{color:var(--ink-soft);font-weight:500;transition:color .15s}.contact-line a:hover{color:var(--accent)}.section{margin-top:var(--s-9)}.section-label{color:var(--ink);letter-spacing:-.01em;margin-bottom:var(--s-5);font-size:1.125rem;font-weight:700}.section-rule{display:none}.lead{color:var(--ink-soft);letter-spacing:-.005em;font-size:1.125rem;font-weight:400;line-height:1.55}p{margin-bottom:var(--s-4)}p:last-child{margin-bottom:0}strong{color:var(--ink);font-weight:600}.skills{gap:var(--s-2);flex-wrap:wrap;list-style:none;display:flex}.skills li{background:var(--card);border:1px solid var(--gray-4);border-radius:var(--r-pill);color:var(--ink-soft);padding:8px 14px;font-size:.875rem;font-weight:500}.work-entry{background:var(--card);border-radius:var(--r-xl);padding:var(--s-6);margin-bottom:var(--s-4);box-shadow:var(--shadow-card)}.work-entry:last-child{margin-bottom:0}.work-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.work-title{font-family:var(--font);color:var(--ink);letter-spacing:-.01em;font-size:1.25rem;font-weight:700;line-height:1.2}.work-meta{color:var(--gray-1);font-size:.8125rem;font-weight:500}.work-link{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:1px;font-weight:600;transition:color .15s,border-color .15s}.work-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.work-body{color:var(--ink-soft);font-size:.9375rem;line-height:1.6}.work-stack{color:var(--gray-1);margin-top:var(--s-3);font-size:.8125rem;line-height:1.55}.work-stack strong{color:var(--ink);font-weight:600}.edu-line{color:var(--ink-soft);font-size:.9375rem}.fill-in{background:var(--accent-soft);color:var(--accent);border-radius:var(--r-sm);padding:2px 8px;font-size:.85em;font-weight:500}.eyebrow{color:var(--gray-1);margin-bottom:var(--s-4);font-size:.875rem;font-weight:600}.h-display{font-family:var(--font);letter-spacing:-.025em;color:var(--ink);font-size:2.5rem;font-weight:700;line-height:1.1}.h-section{font-family:var(--font);letter-spacing:-.015em;color:var(--ink);margin-bottom:var(--s-4);font-size:1.5rem;font-weight:700;line-height:1.2}.callout{background:var(--card-soft);border-radius:var(--r-lg);padding:var(--s-6);margin:var(--s-5) 0;color:var(--ink-soft);font-size:.9375rem;line-height:1.6}.numbered-list{counter-reset:step}.numbered-list li{padding:var(--s-4) 0 var(--s-4) var(--s-9);border-bottom:1px solid var(--gray-4);counter-increment:step;color:var(--ink-soft);font-size:.9375rem;line-height:1.6;position:relative}.numbered-list li:last-child{border-bottom:0}.numbered-list li:before{content:counter(step, decimal-leading-zero);left:0;top:var(--s-4);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;position:absolute}.footer-note{margin-top:var(--s-11);padding-top:var(--s-5);border-top:1px solid var(--gray-4);color:var(--gray-1);font-size:.8125rem;line-height:1.6}.project{background:var(--card);border-radius:var(--r-xl);padding:var(--s-7);margin-bottom:var(--s-5);box-shadow:var(--shadow-card)}@media (max-width:720px){.project{padding:var(--s-5)}}.project:last-child{margin-bottom:0}.project-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.project-title{letter-spacing:-.015em;color:var(--ink);font-size:1.5rem;font-weight:700}.project-role{color:var(--gray-1);font-size:.8125rem;font-weight:500}.project-link{color:var(--ink);border-bottom:1px solid var(--ink);margin-top:var(--s-2);align-items:center;gap:6px;padding-bottom:1px;font-size:.875rem;font-weight:600;display:inline-flex}.project-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.project-desc{color:var(--ink-soft);margin-top:var(--s-3);font-size:.9375rem;line-height:1.6}.project-stack{color:var(--gray-1);margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--gray-4);font-size:.8125rem;line-height:1.6}.project-stack strong{color:var(--ink);font-weight:600}.hero-shot{margin:var(--s-5) calc(-1 * var(--s-4));background:var(--card-soft);border-radius:var(--r-lg);padding:var(--s-7) var(--s-5);justify-content:center;display:flex;overflow:hidden}.hero-shot img{border-radius:var(--r-md);width:auto;max-width:100%;max-height:540px;box-shadow:var(--shadow-strong)}@media (max-width:720px){.hero-shot{margin:var(--s-4) 0;padding:var(--s-5) var(--s-3)}.hero-shot img{max-height:380px}}.shot-grid{gap:var(--s-3);margin-top:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.shot-grid img{border-radius:var(--r-md);width:100%;box-shadow:var(--shadow-card);background:var(--card-soft);display:block}.capabilities-band{margin-top:var(--s-9);padding:var(--s-9) var(--s-6);background:var(--ink);color:var(--on-ink);border-radius:var(--r-xl);text-align:center}.capabilities-band h2{letter-spacing:-.015em;color:var(--on-ink);font-size:1.5rem;font-weight:700}.capabilities-band .sub{color:var(--on-ink-muted);margin-top:var(--s-3);margin-bottom:var(--s-5);font-size:.9375rem}.capabilities-band .list{justify-content:center;align-items:center;gap:var(--s-2) var(--s-3);color:var(--on-ink);flex-wrap:wrap;font-size:.9375rem;font-weight:500;display:flex}.capabilities-band .list .dot{color:var(--on-ink-dim)}.contact-footer{margin-top:var(--s-9);padding-top:var(--s-7);border-top:1px solid var(--gray-4);justify-content:space-between;align-items:flex-end;gap:var(--s-5);flex-wrap:wrap;display:flex}.contact-footer .left .h{color:var(--ink);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.contact-footer .left .sub{color:var(--gray-1);margin-top:var(--s-2);font-size:.875rem}.contact-footer .right{color:var(--ink-soft);text-align:right;font-size:.875rem;line-height:1.8}.contact-footer .right a{font-weight:500}.contact-footer .right a:hover{color:var(--accent)}.page-wide{max-width:1080px;padding:var(--s-11) var(--s-7) var(--s-11);margin:0 auto}@media (max-width:720px){.page-wide{padding:var(--s-9) var(--s-5) var(--s-9)}}.hero-eyebrow{align-items:center;gap:var(--s-2);color:var(--gray-1);padding:6px var(--s-3);border:1px solid var(--gray-4);border-radius:var(--r-pill);margin-bottom:var(--s-6);font-size:.8125rem;font-weight:500;display:inline-flex}.hero-stats{color:var(--gray-1);margin-bottom:var(--s-5);font-size:.9375rem;font-weight:500}.hero-headline{letter-spacing:-.035em;color:var(--ink);font-size:clamp(2.5rem,7vw,5.25rem);font-weight:700;line-height:1}.hero-headline .accent{color:var(--gray-2)}.hero-sub{color:var(--gray-1);margin-top:var(--s-5);max-width:600px;font-size:1.25rem;line-height:1.45}.hero-ctas{gap:var(--s-3);margin-top:var(--s-7);flex-wrap:wrap;display:flex}.btn-primary{align-items:center;gap:var(--s-2);padding:14px var(--s-5);background:var(--ink);color:var(--on-ink);border-radius:var(--r-pill);cursor:pointer;border:0;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .1s,background .15s;display:inline-flex}.btn-primary:active{transform:scale(.98)}.btn-secondary{align-items:center;gap:var(--s-2);padding:14px var(--s-5);color:var(--ink);border-radius:var(--r-pill);border:1px solid var(--gray-3);cursor:pointer;background:0 0;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn-secondary:hover{background:var(--card-soft);border-color:var(--gray-1)}.showcase{margin-top:var(--s-10)}.showcase-section-h{margin-bottom:var(--s-7);padding-bottom:var(--s-4);border-bottom:1px solid var(--gray-4);justify-content:space-between;align-items:baseline;display:flex}.showcase-section-h h2{letter-spacing:-.015em;color:var(--ink);font-size:1.5rem;font-weight:700}.showcase-section-h .count{color:var(--gray-2);font-size:.8125rem;font-weight:500}.showcase-item{margin-bottom:var(--s-10)}.showcase-item:last-child{margin-bottom:0}.showcase-meta-row{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.showcase-tag{padding:6px var(--s-3);background:var(--card-soft);border-radius:var(--r-pill);color:var(--ink);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;display:inline-block}.showcase-meta-right{color:var(--gray-2);text-align:right;font-size:.8125rem;font-weight:500}.showcase-title{letter-spacing:-.02em;color:var(--ink);margin:var(--s-2) 0 var(--s-3);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.05}.showcase-tagline{color:var(--gray-1);max-width:680px;margin-bottom:var(--s-6);font-size:1.125rem;line-height:1.45}.showcase-cover{background:var(--card-soft);border-radius:var(--r-xl);width:100%;padding:var(--s-9) var(--s-7);margin-bottom:var(--s-6);justify-content:center;align-items:center;display:flex;overflow:hidden}.showcase-cover img{border-radius:var(--r-md);width:auto;max-width:100%;height:auto;max-height:540px;box-shadow:var(--shadow-strong)}@media (max-width:720px){.showcase-cover{padding:var(--s-5) var(--s-4)}.showcase-cover img{max-height:380px}}.showcase-grid{gap:var(--s-3);margin-bottom:var(--s-6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.showcase-grid img{border-radius:var(--r-md);background:var(--card-soft);width:100%;height:auto;box-shadow:var(--shadow-card);display:block}.showcase-body{gap:var(--s-7);grid-template-columns:1.4fr 1fr;align-items:start;display:grid}@media (max-width:720px){.showcase-body{gap:var(--s-5);grid-template-columns:1fr}}.showcase-body p{color:var(--ink-soft);font-size:1rem;line-height:1.6}.showcase-stack{background:var(--card-soft);border-radius:var(--r-lg);padding:var(--s-5);color:var(--gray-1);font-size:.875rem;line-height:1.6}.showcase-stack strong{color:var(--ink);margin-bottom:4px;margin-top:var(--s-3);font-weight:600;display:block}.showcase-stack strong:first-child{margin-top:0}.services-block{margin-top:var(--s-10);padding:var(--s-10) 0;border-top:1px solid var(--gray-4);border-bottom:1px solid var(--gray-4)}.services-block .block-h{letter-spacing:-.025em;color:var(--ink);max-width:720px;margin-bottom:var(--s-7);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.05}.services-list{gap:var(--s-3) var(--s-7);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.services-list li{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--gray-4);color:var(--ink-soft);font-size:1rem;display:flex}.services-list .check{background:var(--ink);width:22px;height:22px;color:var(--on-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.pricing-block{margin-top:var(--s-10)}.pricing-block .block-h{letter-spacing:-.025em;color:var(--ink);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.05}.pricing-block .block-sub{color:var(--gray-1);margin-top:var(--s-3);max-width:600px;font-size:1.0625rem;line-height:1.5}.pricing-grid{gap:var(--s-4);margin-top:var(--s-7);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.pricing-card{background:var(--card);border:1px solid var(--gray-4);border-radius:var(--r-xl);padding:var(--s-6);flex-direction:column;display:flex;position:relative}.pricing-card.most-popular{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.most-popular-badge{background:var(--accent);color:var(--ink);border-radius:var(--r-pill);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;font-size:.6875rem;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.pricing-tier-name{color:var(--gray-1);text-transform:uppercase;letter-spacing:.06em;font-size:.875rem;font-weight:600}.most-popular .pricing-tier-name{color:var(--on-ink-dim)}.pricing-price{letter-spacing:-.02em;color:var(--ink);margin:var(--s-3) 0 var(--s-2);font-size:2.25rem;font-weight:700;line-height:1}.most-popular .pricing-price{color:var(--on-ink)}.pricing-price-suffix{color:var(--gray-1);font-size:.9375rem;font-weight:500}.most-popular .pricing-price-suffix{color:var(--on-ink-muted)}.pricing-desc{color:var(--gray-1);margin-top:var(--s-2);font-size:.9375rem;line-height:1.5}.most-popular .pricing-desc{color:var(--on-ink-muted)}.pricing-features{margin:var(--s-5) 0;padding:var(--s-4) 0 0;border-top:1px solid var(--gray-4);flex:1;list-style:none}.most-popular .pricing-features{border-top-color:var(--on-ink-faint)}.pricing-features li{align-items:flex-start;gap:var(--s-3);padding:var(--s-2) 0;color:var(--ink-soft);font-size:.9375rem;display:flex}.most-popular .pricing-features li{color:var(--on-ink-soft)}.pricing-features .check-mini{width:16px;height:16px;color:var(--ink);flex-shrink:0;margin-top:4px}.most-popular .pricing-features .check-mini{color:var(--accent)}.pricing-cta{margin-top:auto}.faq-block{margin-top:var(--s-10);padding-top:var(--s-9);border-top:1px solid var(--gray-4);gap:var(--s-9);grid-template-columns:1fr 2fr;display:grid}@media (max-width:720px){.faq-block{gap:var(--s-5);grid-template-columns:1fr}}.faq-h{letter-spacing:-.02em;color:var(--ink);font-size:clamp(2rem,4vw,2.5rem);font-weight:700;line-height:1.05}.faq-sub{color:var(--gray-1);margin-top:var(--s-3);font-size:.9375rem;line-height:1.5}.faq-list{list-style:none}.faq-item{border-bottom:1px solid var(--gray-4)}.faq-item details{padding:var(--s-4) 0}.faq-item summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:var(--s-3);-webkit-user-select:none;user-select:none;font-size:1.0625rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);flex-shrink:0;width:12px;height:12px;transition:transform .2s;transform:rotate(45deg)}.faq-item details[open] summary:after{margin-top:6px;transform:rotate(-135deg)}.faq-item .answer{padding-top:var(--s-3);color:var(--gray-1);font-size:.9375rem;line-height:1.6}.footer-cta-block{margin-top:var(--s-11);padding:var(--s-10) 0 var(--s-9);border-top:1px solid var(--gray-4);text-align:left}.footer-cta-h{letter-spacing:-.035em;color:var(--ink);max-width:760px;font-size:clamp(2.5rem,7vw,5rem);font-weight:700;line-height:1}.footer-cta-sub{color:var(--gray-1);margin-top:var(--s-5);max-width:540px;font-size:1.125rem;line-height:1.45}.footer-cta-meta{margin-top:var(--s-7);justify-content:space-between;align-items:flex-end;gap:var(--s-5);flex-wrap:wrap;display:flex}.footer-cta-ctas{gap:var(--s-3);flex-wrap:wrap;display:flex}.footer-meta-info{color:var(--gray-1);text-align:right;font-size:.8125rem;line-height:1.8}.footer-meta-info a{color:var(--ink);font-weight:500}.observation{padding:var(--s-5) 0 var(--s-5) var(--s-6);border-left:2px solid var(--ink);margin-bottom:var(--s-5)}.observation:last-child{margin-bottom:0}.observation .number{color:var(--gray-1);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:700}.observation h3{letter-spacing:-.015em;color:var(--ink);margin-top:var(--s-2);font-size:clamp(1.25rem,2.4vw,1.5rem);font-weight:700;line-height:1.25}.observation p{color:var(--ink-soft);margin-top:var(--s-3);font-size:1rem;line-height:1.6}.plan-grid{gap:var(--s-4);margin-top:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.plan-item{padding:var(--s-5);background:var(--card);border:1px solid var(--gray-4);border-radius:var(--r-lg)}.plan-item .num{color:var(--accent);letter-spacing:.06em;margin-bottom:var(--s-3);font-size:.875rem;font-weight:700;display:block}.plan-item h4{color:var(--ink);letter-spacing:-.01em;margin-bottom:var(--s-2);font-size:1.125rem;font-weight:700}.plan-item p{color:var(--gray-1);font-size:.9375rem;line-height:1.5}.phase-list{margin-top:var(--s-5);counter-reset:phase;list-style:none}.phase-list li{gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--gray-4);counter-increment:phase;grid-template-columns:auto 1fr auto;align-items:baseline;display:grid}.phase-list li:last-child{border-bottom:0}.phase-list li:before{content:"Phase " counter(phase);text-transform:uppercase;letter-spacing:.1em;color:var(--gray-1);white-space:nowrap;font-size:.75rem;font-weight:700}.phase-list .phase-body h4{color:var(--ink);letter-spacing:-.005em;font-size:1.0625rem;font-weight:700}.phase-list .phase-body p{color:var(--gray-1);margin-top:4px;font-size:.9375rem;line-height:1.5}.phase-list .phase-duration{color:var(--ink);white-space:nowrap;font-size:.8125rem;font-weight:600}.next-steps{gap:var(--s-3);margin-top:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.next-step{padding:var(--s-5);background:var(--card);border:1px solid var(--gray-4);border-radius:var(--r-lg);gap:var(--s-3);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .1s;display:flex}.next-step:hover{border-color:var(--ink)}.next-step:active{transform:scale(.99)}.next-step .icon-circle{background:var(--ink);width:36px;height:36px;color:var(--on-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.next-step .label{text-transform:uppercase;letter-spacing:.14em;color:var(--gray-1);font-size:.7rem;font-weight:700}.next-step h4{color:var(--ink);letter-spacing:-.005em;margin-top:-4px;font-size:1rem;font-weight:700}.next-step p{color:var(--gray-1);margin:0;font-size:.8125rem;line-height:1.5}.recommend-card{background:var(--ink);color:var(--on-ink);border-radius:var(--r-xl);padding:var(--s-7);margin-top:var(--s-5);gap:var(--s-7);grid-template-columns:1.4fr 1fr;align-items:center;display:grid}@media (max-width:720px){.recommend-card{gap:var(--s-4);padding:var(--s-5);grid-template-columns:1fr}}.recommend-card .label{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.75rem;font-weight:700}.recommend-card h3{color:var(--on-ink);letter-spacing:-.02em;margin-top:var(--s-3);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.15}.recommend-card .desc{color:var(--on-ink-muted);margin-top:var(--s-3);font-size:.9375rem;line-height:1.5}.recommend-card .price-block{text-align:right}@media (max-width:720px){.recommend-card .price-block{text-align:left}}.recommend-card .price{letter-spacing:-.02em;color:var(--on-ink);font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1}.recommend-card .price-suffix{color:var(--on-ink-dim);margin-top:var(--s-2);font-size:.875rem}.recommend-card .schedule{color:var(--on-ink-soft);margin-top:var(--s-3);font-size:.8125rem;line-height:1.5}.proposal-section{margin-top:var(--s-10)}.proposal-section .h-large{letter-spacing:-.025em;color:var(--ink);margin-bottom:var(--s-5);max-width:720px;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.1}.proposal-section .sub{color:var(--gray-1);margin-bottom:var(--s-5);max-width:640px;font-size:1.0625rem;line-height:1.5}.proposal-section p{color:var(--ink-soft);max-width:720px;font-size:1.0625rem;line-height:1.65}.proposal-section ul.benefit-list li{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--gray-4);color:var(--ink-soft);font-size:1rem;line-height:1.5;display:flex}.proposal-section ul.benefit-list li:last-child{border-bottom:0}.proposal-section ul.benefit-list .check{background:var(--ink);width:22px;height:22px;color:var(--on-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.theme-toggle{top:var(--s-4);right:var(--s-4);z-index:100;background:var(--card);border:1px solid var(--gray-4);cursor:pointer;width:40px;height:40px;color:var(--ink);box-shadow:var(--shadow-card);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s,transform .1s,color .15s;display:inline-flex;position:fixed}.theme-toggle:active{transform:scale(.94)}.theme-toggle .moon{display:block}.theme-toggle .sun,[data-theme=dark] .theme-toggle .moon{display:none}[data-theme=dark] .theme-toggle .sun{display:block}@media print{.theme-toggle{display:none}}[data-theme=dark] .showcase-cover{background:#050505!important}[data-theme=dark] .pricing-card.most-popular{box-shadow:0 8px 24px -8px #ffffff0f}[data-theme=dark] .doc-nav{background:#0a0a0ad9}.doc-nav{z-index:20;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-4);padding:var(--s-3) var(--s-5);justify-content:center;gap:var(--s-2);background:#fafafad9;display:flex;position:sticky;top:0}.doc-nav a{color:var(--gray-1);padding:6px var(--s-3);border-radius:var(--r-pill);font-size:.8125rem;font-weight:500;transition:color .15s,background .15s}.doc-nav a:hover{color:var(--ink);background:var(--card-soft)}.doc-nav a.current{color:var(--on-ink);background:var(--ink)}@media print{.doc-nav{display:none}@page{size:A4;margin:18mm 16mm}html{font-size:11pt}body{color:var(--ink);background:#fff}.page{max-width:none;padding:0}.name{font-size:26pt}.h-display{font-size:22pt}.h-section{font-size:14pt}.section{margin-top:20pt}.work-entry,.project{break-inside:avoid;box-shadow:none;border:1px solid var(--gray-4)}.capabilities-band,.contact-footer{break-inside:avoid}.hero-shot img{max-height:320px}.shot-grid{grid-template-columns:repeat(3,1fr)}.numbered-list li{break-inside:avoid}.fill-in{color:var(--accent);border:1px dashed var(--accent);background:0 0;padding:0 4px}a{color:inherit}.work-link{color:var(--ink);border-bottom-color:var(--ink)}}html{scroll-behavior:smooth}.page-wide{max-width:720px;padding:var(--s-7) var(--s-6) var(--s-11)}@media (max-width:720px){.page-wide{padding:var(--s-6) var(--s-5) var(--s-9)}}.site-header{z-index:50;background:var(--bg);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(150%)blur(12px);border-bottom:1px solid var(--gray-4);position:sticky;top:0}.site-header-inner{max-width:720px;padding:var(--s-3) var(--s-6);justify-content:space-between;align-items:center;gap:var(--s-4);margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;display:inline-flex}.brand-mark{width:auto;height:36px;display:block}.site-nav{align-items:center;gap:var(--s-4);display:flex}.nav-link{font-family:var(--font-mono), ui-monospace, monospace;color:var(--gray-1);font-size:.76rem;text-decoration:none;transition:color .15s}.nav-link:hover{color:var(--ink)}.nav-cta{font-family:var(--font-mono), ui-monospace, monospace;color:var(--ink);border:1px solid var(--gray-3);border-radius:var(--r-pill);padding:7px 13px;font-size:.76rem;text-decoration:none;transition:background .15s,border-color .15s}.nav-cta:hover{background:var(--card-soft);border-color:var(--gray-1)}@media (max-width:560px){.nav-link{display:none}}.theme-toggle{border:1px solid var(--gray-4);border-radius:var(--r-pill);width:34px;height:34px;color:var(--ink);box-shadow:none;cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex;position:static;inset:auto}.theme-toggle:hover{background:var(--card-soft);border-color:var(--gray-1)}.hero-eyebrow,.showcase-tag,.showcase-meta-right,.showcase-section-h .count,.pricing-tier-name,.observation .number,.showcase-stack strong{font-family:var(--font-mono), ui-monospace, monospace}.hero-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--gray-1);font-size:.72rem}.showcase-tag{border:1px solid var(--gray-3);color:var(--gray-1);background:0 0;padding:5px 10px;font-size:.68rem;font-weight:500}.showcase-meta-right{letter-spacing:.02em;font-size:.72rem}.showcase-section-h .count{letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.showcase-stack strong{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-1);font-size:.7rem;font-weight:500}.hero-block{padding:var(--s-9) 0 var(--s-8);max-width:100%}.hero-headline{letter-spacing:-.03em;font-size:clamp(2.1rem,6.2vw,3.4rem);line-height:1.04}.hero-sub{max-width:540px;font-size:1.0625rem}.showcase-section-h h2{font-size:1.125rem}.showcase-title{font-size:clamp(1.8rem,5vw,2.5rem)}.showcase-cover{background:var(--card-soft);border:1px solid var(--gray-4);border-radius:var(--r-lg);padding:var(--s-7) var(--s-6)}.showcase-cover img{box-shadow:var(--shadow-card);max-height:460px}.showcase-stack{border:1px solid var(--gray-4);border-radius:var(--r-md);background:0 0}.services-block .block-h,.pricing-block .block-h,.faq-h{font-size:clamp(1.55rem,4vw,2.1rem)}.footer-cta-h{letter-spacing:-.03em;font-size:clamp(2rem,6vw,3.25rem)}.btn-primary:hover{background:var(--ink-soft)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.showcase-item,.services-block,.pricing-block,.faq-block,.footer-cta-block{animation:linear both reveal-up;animation-timeline:view();animation-range:entry entry 50%}@keyframes reveal-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}}}.dock{z-index:90;border-radius:var(--r-pill);-webkit-backdrop-filter:blur(20px)saturate(160%);background:#10130eb8;border:1px solid #ffffff1a;align-items:center;gap:4px;padding:5px 6px;animation:.55s cubic-bezier(.34,1.4,.64,1) .15s both dock-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #00000080,0 12px 34px #0000006b,inset 0 1px #ffffff14}@keyframes dock-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}.dock-item,.dock-book{font-family:var(--font), sans-serif;white-space:nowrap;border-radius:var(--r-pill);align-items:center;gap:7px;font-size:.8125rem;font-weight:500;text-decoration:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s,filter .2s;display:inline-flex}.dock-item{color:#ecefe8;min-height:36px;padding:8px 13px}.dock-item:hover{transform:scale(1.08)}.dock-item:active{transform:scale(.96)}.dock-ic{width:16px;height:16px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.dock-item:hover .dock-ic{transform:rotate(18deg)}.dock:hover .dock-item:not(:hover),.dock:hover .dock-book:not(:hover){opacity:.4;filter:blur(.7px)}.dock-divider{background:#ffffff24;flex-shrink:0;width:1px;height:18px;margin:0 2px}.dock-book{color:#10120f;background:linear-gradient(#fff6,#fff0 60%),#c2cabb;border:1px solid #ffffff40;padding:8px 14px;box-shadow:0 0 0 .75px #00000038,inset 0 1px 1px #ffffff80}.dock-book:hover{transform:scale(1.05)}.dock-book:active{transform:scale(.97)}@media (max-width:480px){.dock-label{display:none}.dock-item{padding:8px 10px}}.site-controls{top:var(--s-5);right:var(--s-5);z-index:70;gap:var(--s-2);display:flex;position:fixed}.theme-toggle,.ctl-btn{background:var(--card);background:color-mix(in srgb, var(--bg) 68%, transparent);border:1px solid var(--gray-4);border-radius:var(--r-pill);width:36px;height:36px;color:var(--ink);box-shadow:none;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex;position:static;inset:auto}.theme-toggle:hover,.ctl-btn:hover{background:var(--card-soft);border-color:var(--gray-1)}.bio .brand{margin-bottom:var(--s-6);color:var(--ink);display:inline-flex}.bio .brand-mark{width:auto;height:40px;display:block}.layout{max-width:720px;padding:var(--s-10) var(--s-6) calc(var(--s-11) + 44px);margin:0 auto}@media (max-width:720px){.layout{padding:var(--s-9) var(--s-5) calc(var(--s-10) + 44px)}}.bio .hero-block{padding:0 0 var(--s-9)}[data-view=split] .layout{grid-template-columns:minmax(360px,38%) 1fr;align-items:start;max-width:none;min-height:100vh;margin:0;padding:0;display:grid}[data-view=split] .bio{--bg:#0f120e;--card:#181c16;--card-soft:#21261e;--ink:#ecefe8;--ink-soft:#d6dccf;--gray-1:#9ba391;--gray-2:#6e7466;--gray-3:#3b4039;--gray-4:#2a2f27;--accent:#f08a3a;--accent-soft:#f08a3a1f;--on-ink:#0f120e;background:var(--bg);height:100vh;color:var(--ink-soft);border-right:1px solid var(--gray-4);padding:var(--s-9) var(--s-8);position:sticky;top:0;overflow-y:auto}[data-view=split] .bio .hero-block{padding:0}[data-view=split] .bio .hero-sub{max-width:100%;font-size:1rem}[data-view=split] .bio .hero-ctas{display:none}[data-view=split] .work{min-width:0;padding:var(--s-9) var(--s-8) calc(var(--s-11) + 56px)}[data-view=split] .work .showcase{margin-top:0}@media (max-width:900px){[data-view=split] .layout{grid-template-columns:1fr}[data-view=split] .bio{border-right:none;border-bottom:1px solid var(--gray-4);height:auto;padding:var(--s-8) var(--s-6) var(--s-9);position:static;overflow:visible}[data-view=split] .work{padding:var(--s-8) var(--s-6) calc(var(--s-10) + 56px)}}::view-transition-old(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.btn-primary,.btn-secondary{transition:transform .15s,background .15s,border-color .15s}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-1px)}.btn-primary:active,.btn-secondary:active{transform:translateY(0)scale(.98)}.theme-toggle:active,.ctl-btn:active{transform:scale(.92)}.showcase-stack a,.footer-meta-info a,.contact-line a{transition:color .15s,border-color .15s}@media (prefers-reduced-motion:no-preference){.bio .brand,.bio .hero-block>*{animation:.6s cubic-bezier(.2,.7,.3,1) both rise}.bio .brand{animation-delay:20ms}.bio .hero-block>:first-child{animation-delay:80ms}.bio .hero-block>:nth-child(2){animation-delay:.14s}.bio .hero-block>:nth-child(3){animation-delay:.2s}.bio .hero-block>:nth-child(4){animation-delay:.26s}.bio .hero-block>:nth-child(5){animation-delay:.32s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}.hero-headline{letter-spacing:-.02em;font-size:clamp(1.55rem,4.2vw,2.5rem);font-weight:600;line-height:1.14}[data-view=split] .bio .hero-headline{font-size:clamp(1.45rem,2.1vw,1.95rem)}.hero-sub{font-size:1rem}.hero-stats{font-size:.8125rem}.showcase-section-h h2{font-size:1.0625rem;font-weight:600}.showcase-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:600}.services-block .block-h,.pricing-block .block-h,.faq-h{font-size:clamp(1.4rem,3.4vw,1.85rem);font-weight:600}.footer-cta-h{letter-spacing:-.02em;font-size:clamp(1.6rem,4vw,2.3rem);font-weight:600}.pricing-price{font-size:1.75rem;font-weight:600}.services-block,.pricing-block,.faq-block,.footer-cta-block{margin-top:var(--s-11)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){@keyframes reveal-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}}.bio-extra{display:none}[data-view=split] .bio-extra{margin-top:var(--s-8);display:block}[data-view=split] .work .services-block{display:none}.bio-list{margin-bottom:var(--s-7)}.bio-list-h{font-family:var(--font-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-2);margin-bottom:var(--s-2);font-size:.7rem}.bio-list ul{list-style:none}.bio-row,.bio-link{border-top:1px solid var(--gray-4);padding:var(--s-3) 0;font-size:.95rem}.bio-list ul li:last-child .bio-link,.bio-list ul li.bio-row:last-child{border-bottom:1px solid var(--gray-4)}.bio-row{color:var(--ink-soft)}.bio-link{color:var(--ink);justify-content:space-between;align-items:center;text-decoration:none;transition:color .15s,padding-left .2s;display:flex}.bio-link:hover{color:var(--accent);padding-left:4px}.bio-link .arr{color:var(--gray-2);transition:transform .2s,color .2s}.bio-link:hover .arr{color:var(--accent);transform:translate(2px,-2px)}.bio-contact{margin-top:var(--s-7);color:var(--gray-1);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.bio-contact a{color:var(--gray-1);text-decoration:none;transition:color .15s}.bio-contact a:hover{color:var(--ink)}.work-preview{aspect-ratio:1;border-radius:var(--r-md);opacity:0;pointer-events:none;z-index:95;width:244px;transition:opacity .2s,transform .22s cubic-bezier(.2,.7,.3,1);position:fixed;top:0;left:0;overflow:hidden;transform:translateY(-50%)scale(.94);box-shadow:0 24px 56px #00000080,0 0 0 1px #0000004d}.work-preview.is-on{opacity:1;transform:translateY(-50%)scale(1)}.work-preview img{object-fit:cover;object-position:top center;opacity:0;width:100%;height:100%;transition:opacity .18s;position:absolute;inset:0}.work-preview img.on{opacity:1;animation:6s ease-in-out .25s infinite alternate preview-pan}@keyframes preview-pan{0%{object-position:center top}to{object-position:center bottom}}@media (prefers-reduced-motion:reduce){.work-preview,.work-preview img{transition:opacity .15s}.work-preview,.work-preview.is-on{transform:translateY(-50%)}.work-preview img.on{animation:none}}@media (max-width:900px){.work-preview{display:none}}
