@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.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 Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.T19VSG_className{font-family:Geist,Geist Fallback;font-style:normal}.T19VSG_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;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:100 900;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:100 900;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:100 900;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:100 900;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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;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%}._8Li5zG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._8Li5zG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#f7f8f4;--foreground:#242d25;--accent:#d7f18d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline-offset:5px;outline:3px solid #688c3f}::selection{background:var(--accent);color:#242d25}.container{width:calc(100% - 96px);max-width:1180px;margin-inline:auto}main{padding-top:100px}.header.container{z-index:10;background:var(--background);border-bottom:1px solid #dce1d6;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:none;padding:26px max(48px,50% - 590px);display:flex;position:fixed;inset:0 0 auto;box-shadow:0 4px 20px #00000010}.brand{letter-spacing:-1.8px;font-size:29px;font-weight:750}.brand span{color:#7b9b4a}nav{color:#697263;gap:28px;font-size:12px;display:flex}nav a:hover,.quiet-link:hover{color:#648338}.nav-cta{border:1px solid #ccd4c5;border-radius:5px;padding:12px 18px;font-size:12px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-block:84px;display:grid}.eyebrow{letter-spacing:1.7px;align-items:center;gap:9px;margin:0 0 24px;font-size:10px;font-weight:600;display:flex}.dot{background:#86a65e;border-radius:50%;width:7px;height:7px}h1{letter-spacing:-3.8px;margin:0 0 25px;font-size:clamp(48px,5.6vw,75px);font-weight:550;line-height:1.05}h1 span,h2 span{color:#7d906b}.lead{color:#6c7565;max-width:425px;font-size:15px;line-height:1.85}.lead strong{color:#37432e;font-weight:600}.actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:29px;display:flex}.button{color:#fff;background:#283326;border-radius:5px;justify-content:space-between;align-items:center;gap:30px;padding:17px 23px;font-size:12px;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#475f36;transform:translateY(-2px)}.button span{font-size:19px}.quiet-link{font-size:12px}.small-note{color:#849079;margin-top:28px;font-size:10px}.code-art{background-color:#e7ecdf;background-image:linear-gradient(#a4b39720 1px,#0000 1px),linear-gradient(90deg,#a4b39720 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:36px 36px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:9px;height:450px;padding:64px 26px;position:relative}.art-caption{letter-spacing:1.7px;color:#75816b;font-size:8px;position:absolute;top:26px;left:26px}.editor{background:#253028;border:1px solid #4d5b47;border-radius:8px;overflow:hidden;transform:rotate(-3deg);box-shadow:0 20px 35px #27391b24}.editor-top{color:#acb59c;border-bottom:1px solid #45513e;justify-content:space-between;padding:13px;font-size:9px;display:flex}.window-dots{color:#a7be81;letter-spacing:3px}.editor-code{font-family:var(--font-geist-mono), monospace;color:#e0e7d7;padding:18px 12px;font-size:clamp(10px,1.1vw,13px);line-height:1.9}.editor-code p{white-space:nowrap;margin:0}.editor-code .muted{color:#77806c;margin-right:12px}.editor-code i{color:#c7b0e3;font-style:normal}.editor-code b{color:#c4e890;font-weight:400}.editor-code .code-comment{color:#87977b;margin-top:10px;font-size:9px}.art-sticker{background:var(--accent);border-radius:4px;padding:13px 19px;font-size:11px;position:absolute;bottom:48px;right:15px;transform:rotate(5deg);box-shadow:0 5px 10px #28382010}.art-sticker span{vertical-align:middle;margin-right:9px;font-size:20px}.art-footer{letter-spacing:1.5px;color:#78836f;justify-content:space-between;font-size:8px;display:flex;position:absolute;bottom:19px;left:26px;right:26px}.section{padding-block:80px}h2{letter-spacing:-2px;margin:0;font-size:clamp(33px,3.6vw,47px);font-weight:500;line-height:1.15}.bio{border-top:1px solid #dce1d6;grid-template-columns:1fr 1fr;gap:70px;display:grid}.bio-text>p{color:#6a7463;margin:0 0 16px;font-size:14px;line-height:1.9}.editable-note{color:#707a67;line-height:1.7;font-size:11px!important}.bio-tags,.tags{flex-wrap:wrap;gap:7px;display:flex}.bio-tags{margin-top:24px}.bio-tags span{border:1px solid #d5ddcd;border-radius:30px;padding:8px 11px;font-size:10px}.projects-section{background:#eef1e8}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px;display:flex}.section-heading>p{color:#717c68;font-size:12px;line-height:1.9}.project-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.project-card{text-align:left;color:inherit;background:#f9faf6;border:1px solid #dce2d4;border-radius:7px;padding:0;transition:transform .2s,box-shadow .2s;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 12px 20px #29391d0d}.project-visual{background:#dce6d2;height:220px;padding:19px;position:relative;overflow:hidden}.visual-1{background:#e8dfcf}.visual-2{background:#dce3ea}.preview-top{color:#647059;justify-content:space-between;font-size:8px;display:flex}.preview-top>span:first-child{letter-spacing:3px}.preview-content{background:#fffa;border:1px solid #ffffffb0;border-radius:5px;width:85%;margin:24px auto 0;padding:20px;transform:rotate(-4deg);box-shadow:8px 8px 20px #3c4b2210}.visual-1 .preview-content{transform:rotate(4deg)}.preview-icon{background:#b9ce9e;border-radius:5px;justify-content:center;align-items:center;width:29px;height:29px;margin-bottom:9px;font-size:20px;display:inline-flex}.visual-1 .preview-icon{background:#dbc19b}.visual-2 .preview-icon{background:#b7c6da}.preview-content strong{font-size:15px;font-weight:500;display:block}.preview-lines{gap:6px;margin-top:14px;display:flex}.preview-lines i{background:#758a5b26;border-radius:3px;flex:1;height:24px}.preview-number{color:#3f522616;letter-spacing:-3px;font-size:50px;font-weight:700;position:absolute;bottom:5px;right:13px}.project-body{padding:22px}.project-title{justify-content:space-between;align-items:center;gap:10px;display:flex}h3{letter-spacing:-.6px;margin:0;font-size:19px;font-weight:550}.project-title>span{font-size:23px}.project-body>p{color:#727b6a;min-height:65px;font-size:12px;line-height:1.8}.tags span{color:#51613f;background:#e9eedf;border-radius:4px;padding:5px 9px;font-size:9px}.project-more{border-top:1px solid #e0e5d9;justify-content:space-between;margin-top:22px;padding-top:16px;font-size:11px;display:flex}.stack-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.stack-card{border:1px solid #dce2d4;border-radius:6px;padding:26px}.stack-symbol{letter-spacing:-3px;align-items:center;height:45px;font-size:35px;font-weight:650;display:inline-flex}.stack-vue .stack-symbol{color:#43886a}.stack-laravel .stack-symbol{color:#df6551}.stack-php .stack-symbol{color:#7479a5;font-size:26px;font-style:italic}.stack-category{text-transform:uppercase;letter-spacing:1.5px;margin-top:24px;font-size:9px!important}.stack-card>p{color:#76806c;font-size:12px;line-height:1.8}.stack-card h3{font-size:22px}.contact{text-align:center;background:#e8eddf}.contact .eyebrow{justify-content:center}.contact h2{font-size:clamp(36px,4.5vw,59px)}.contact p:not(.eyebrow){color:#717c66;margin-block:23px;font-size:13px}.contact .button{background:var(--accent);color:#304020;min-width:165px}.contact .button:hover{background:#c6e773}.footer{justify-content:space-between;align-items:center;gap:20px;padding-block:28px;display:flex}.footer p,.footer>a:last-child{color:#7b8573;font-size:10px}.project-dialog{color:#273222;background:#f9faf6;border:1px solid #d2dbc6;border-radius:12px;width:min(640px,100% - 32px);max-height:85dvh;margin:auto;padding:0;box-shadow:0 25px 90px #15220e40}.project-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#172314a8}.dialog-content{padding:42px;position:relative}.close-modal{background:#eef2e7;border:1px solid #d6decd;border-radius:50%;width:32px;height:32px;position:absolute;top:14px;right:14px}.dialog-content .eyebrow{padding-right:20px;font-size:9px}.dialog-content h2{font-size:35px}.dialog-content>p,.dialog-content li{color:#69755e;font-size:14px;line-height:1.9}.dialog-content h3{margin-top:26px;margin-bottom:12px;font-size:16px}.dialog-content ul{padding-left:20px;list-style:outside}.dialog-content .tags span{padding:7px 12px;font-size:12px}.skip-link{z-index:20;background:#fff;padding:12px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:15px}@media (max-width:1000px){.container{width:calc(100% - 48px)}.hero{gap:35px}.code-art{padding-inline:15px}.project-grid{gap:14px}.project-body{padding:17px}.project-body>p{min-height:85px}.stack-card{padding:20px}}@media (max-width:740px){.container{width:calc(100% - 40px)}.header{flex-wrap:wrap;gap:16px}nav{order:3;justify-content:space-between;gap:14px;width:100%}.hero{grid-template-columns:1fr;gap:38px;padding-block:48px}h1{letter-spacing:-3px;font-size:58px}.code-art{height:410px;padding:58px 22px}.editor-code{font-size:12px}.section{padding-block:55px}.bio{grid-template-columns:1fr;gap:28px}.section-heading{display:block}.section-heading>p{margin-top:22px}.project-grid{grid-template-columns:1fr;gap:24px}.project-visual{height:245px}.preview-content{max-width:260px}.project-body>p{min-height:auto}.stack-grid{grid-template-columns:1fr 1fr;gap:12px}.stack-card{padding:20px}.footer{flex-wrap:wrap}.footer p{order:3;width:100%;margin:0}.dialog-content{padding:42px 24px 28px}}@media (max-width:360px){h1{font-size:49px}.stack-grid{grid-template-columns:1fr}.editor-code{font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.project-card{transition:none}}.header-actions{align-items:center;gap:12px;display:flex}@media (max-width:1100px){.header.container{flex-wrap:wrap;gap:16px;padding:18px 24px}.header nav{order:3;justify-content:space-between;width:100%}main{padding-top:140px}html{scroll-padding-top:160px}}@media (max-width:740px){.header.container{gap:12px;padding:14px 20px}.header .brand{letter-spacing:-1px;font-size:21px}.header-actions{margin-left:auto}.header .nav-cta{padding:10px}.header nav{white-space:nowrap;gap:12px;overflow-x:auto}main{padding-top:170px}html{scroll-padding-top:190px}}.theme-toggle{width:40px;height:40px;color:var(--foreground);background:0 0;border:1px solid #ccd4c5;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:#81965e20}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--background:#151c18;--foreground:#e7eddf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] :is(.header,.bio,.nav-cta,.theme-toggle,.bio-tags span,.stack-card,.project-card,.project-more){border-color:#394536}[data-theme=dark] :is(nav,.lead,.small-note,.bio-text>p,.editable-note,.section-heading>p,.project-body>p,.stack-card>p,.footer p,.footer>a:last-child,.dialog-content>p,.dialog-content li,.contact p:not(.eyebrow)){color:#aab7a1}[data-theme=dark] .lead strong{color:#e7eddf}[data-theme=dark] :is(h1 span,h2 span){color:#adc78d}[data-theme=dark] :is(.projects-section,.contact){background:#1c261e}[data-theme=dark] :is(.project-card,.stack-card,.project-dialog){color:#e7eddf;background:#202a22}[data-theme=dark] .project-dialog{border-color:#46553e}[data-theme=dark] .tags span{color:#d0e6b4;background:#34422c}[data-theme=dark] .code-art{background-color:#2b3828}[data-theme=dark] :is(.art-caption,.art-footer){color:#b5c4a8}[data-theme=dark] .art-sticker{color:#273222}[data-theme=dark] .close-modal{color:#e7eddf;background:#34422c;border-color:#50613e}[data-theme=dark] .skip-link{background:#202a22}[data-theme=dark] .stack-vue .stack-symbol{color:#6dc99b}[data-theme=dark] .stack-laravel .stack-symbol{color:#ff8e79}[data-theme=dark] .stack-php .stack-symbol{color:#a7afea}
