header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;width:100%;height:3rem;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}.header-container[data-astro-cid-3ef6ksr2]{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl);height:100%}nav[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;height:100%}.logo[data-astro-cid-3ef6ksr2]{position:relative;font-family:var(--font-special);font-size:1.5rem;text-decoration:none;color:var(--color-fg);overflow:visible}.logo-wrapper[data-astro-cid-3ef6ksr2]{position:relative;display:inline-block;padding:.25em 0;will-change:transform}.logo-short[data-astro-cid-3ef6ksr2],.logo-full[data-astro-cid-3ef6ksr2]{display:block;will-change:transform,opacity}.logo-short[data-astro-cid-3ef6ksr2]{transform:translateY(0);opacity:1;transition:all .4s var(--ease-out-spring)}.logo-full[data-astro-cid-3ef6ksr2]{position:absolute;left:0;top:.25em;transform:translateY(-100%);opacity:0;transition:all .4s var(--ease-out-spring);white-space:nowrap}.logo-dot[data-astro-cid-3ef6ksr2]{position:absolute;width:4px;height:4px;background:var(--color-accent);border-radius:50%;right:-10px;top:60%;transform:translateY(-90%);transition:transform .4s var(--ease-out-spring);will-change:transform}.logo[data-astro-cid-3ef6ksr2]:hover .logo-short[data-astro-cid-3ef6ksr2]{transform:translateY(150%);opacity:0}.logo[data-astro-cid-3ef6ksr2]:hover .logo-full[data-astro-cid-3ef6ksr2]{transform:translateY(0);opacity:1}.logo[data-astro-cid-3ef6ksr2]:hover .logo-dot[data-astro-cid-3ef6ksr2]{transform:translate(140px,-100%)}.nav-wrapper[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-md)}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-lg);list-style:none;margin:0;padding:0}.nav-link[data-astro-cid-3ef6ksr2]{color:var(--color-muted);font-weight:500;position:relative;padding:.5em 0;text-decoration:none;transition:color .2s ease}.nav-link[data-astro-cid-3ef6ksr2]:hover,.nav-link[data-astro-cid-3ef6ksr2]:focus-visible{color:var(--color-fg);outline:none}.nav-link[data-astro-cid-3ef6ksr2][data-active=true]{color:var(--color-accent);border-top:3px solid var(--color-accent)}.nav-link[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.menu-button[data-astro-cid-3ef6ksr2]{display:none;background:none;border:none;padding:.75rem;font-family:var(--font-sans);font-size:.875rem;color:var(--color-fg);cursor:pointer}@media (max-width: 768px){.header-container[data-astro-cid-3ef6ksr2]{padding:0 var(--space-sm)}.menu-button[data-astro-cid-3ef6ksr2]{display:block;position:relative;z-index:1001}.menu-button[data-astro-cid-3ef6ksr2].active{color:var(--color-accent)}.nav-wrapper[data-astro-cid-3ef6ksr2]{flex-direction:column}.nav-links[data-astro-cid-3ef6ksr2]{position:fixed;inset:0;top:3rem;background:var(--color-bg);background-color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-md);transform:translateY(-100%);opacity:0;pointer-events:none;transition:all .4s var(--ease-out-spring);z-index:1000;min-height:calc(100vh - 3rem)}body.menu-open{overflow:hidden}.nav-links[data-astro-cid-3ef6ksr2].active{transform:translateY(0);opacity:1;pointer-events:all}.nav-link[data-astro-cid-3ef6ksr2]{font-size:2rem;font-family:var(--font-special);opacity:0;transform:translateY(20px);transition:transform .3s var(--ease-out-spring),opacity .3s var(--ease-out-spring)}.nav-links[data-astro-cid-3ef6ksr2].active .nav-link[data-astro-cid-3ef6ksr2]{opacity:1;transform:translateY(0);transition-delay:calc(var(--index) * .1s + .2s)}}.menu-toggle[data-astro-cid-3ef6ksr2]{display:none}.sr-only[data-astro-cid-3ef6ksr2]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (hover: hover) and (pointer: fine){.cursor-text[data-astro-cid-3ef6ksr2]{position:fixed;pointer-events:none;width:60px;height:60px;background:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1rem;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .3s,transform .3s var(--ease-out-spring);z-index:1000}}@media (hover: none) or (pointer: coarse){.cursor-text[data-astro-cid-3ef6ksr2]{display:none}.nav-link[data-astro-cid-3ef6ksr2]{cursor:pointer}}.scroll-progress[data-astro-cid-3ef6ksr2]{position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .1s linear;opacity:.8;z-index:101}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}footer[data-astro-cid-sz7xmlte]{margin-top:auto;padding:var(--space-lg) 0;border-top:1px solid var(--color-border);position:relative;overflow:hidden;transition:background-color .5s var(--ease-out-spring)}.footer-bg[data-astro-cid-sz7xmlte]{position:absolute;inset:0;opacity:0;transition:all .5s var(--ease-out-spring)}.footer-container[data-astro-cid-sz7xmlte]{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl);position:relative;z-index:1}.footer-content[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.footer-left[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:2}.copyright[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:.875rem;color:var(--color-muted)}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-md)}.footer-link[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:.875rem;color:var(--color-muted);text-decoration:none;transition:color .3s ease;position:relative;z-index:2}.footer-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-fg)}.email-link[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:.875rem;color:var(--color-accent);text-decoration:none;transition:color .3s ease}.email-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-muted)}@media (max-width: 768px){.footer-container[data-astro-cid-sz7xmlte]{padding:0 var(--space-md)}.footer-content[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--space-md);align-items:flex-start}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);width:100%}.footer-link[data-astro-cid-sz7xmlte]{border-bottom:1px solid var(--color-border);width:100%;padding-bottom:var(--space-xs)}}@font-face{font-family:Karrik;src:url(/fonts/Karrik-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Karrik;src:url(/fonts/Karrik-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/Switzer-Variable.woff) format("woff");src:url(/fonts/Switzer-Variable.ttf) format("ttf");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg: #f6f5f3;--color-fg: #2C2C2C;--color-accent: #FF4444;--color-muted: #666666;--color-surface: #FFFFFF;--color-surface-hover: #E9E6E0;--color-border: rgba(0,0,0,.08);--ease-out-soft: cubic-bezier(.33, 1, .68, 1);--ease-out-spring: cubic-bezier(.33, 1.4, .68, 1);--duration-short: .2s;--duration-medium: .4s;--duration-long: .8s;--font-serif: "Fraunces", serif;--font-sans: "Plus Jakarta Sans", sans-serif;--font-mono: "Space Mono", monospace;--font-special: "Switzer", sans-serif}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-special);font-weight:400;letter-spacing:-.02em}h1{font-family:var(--font-special);font-size:clamp(2rem,3.815rem,3.815rem);line-height:1;margin:0;font-weight:600}.post-date{font-family:var(--font-mono)}@media (max-width: 768px){h1{font-size:2.5rem}}h2{font-family:var(--font-special);font-size:2rem;line-height:1;margin:0;font-weight:600}@media (max-width: 768px){h2{font-size:1.5rem}}h3{font-family:var(--font-special);font-size:1.5rem;line-height:1;margin:0;font-weight:600}h4{font-family:var(--font-special);font-size:1.2rem;line-height:1;margin:0;font-weight:600}h5{font-family:var(--font-special);font-size:clamp(2rem,1.563rem,3rem);line-height:1;margin:0;font-weight:600}h6{font-family:var(--font-special);font-size:clamp(2rem,1.25rem,3rem);line-height:1;margin:0;font-weight:600}p{font-family:var(--font-sans);font-weight:400;line-height:1.7}.cursor-follower{position:fixed;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:transform .1s ease}.cursor-main{width:8px;height:8px;background:#ff4d00;border-radius:50%}.cursor-secondary{width:24px;height:24px;background:#06f;border-radius:50%;opacity:.5;transform:translate(-8px,-8px)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.section-header{margin-bottom:var(--space-xl)}ul{padding-left:1.5rem}li{font-size:1rem;font-family:var(--font-sans);line-height:1.7}.card{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--curve-sm);transition:all .3s var(--ease-out-spring)}.card:hover{transform:translateY(-4px);border-color:var(--color-accent)}.tag{font-family:var(--font-mono);font-size:.875rem;color:var(--color-muted);padding:.5rem 1rem;border-radius:2px;border:1px solid var(--color-border);transition:all .3s var(--ease-out-spring)}.tag:hover{color:var(--color-fg);background:var(--color-surface)}.tag.active{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg)}.meta-text{font-family:var(--font-mono);font-size:.875rem;color:var(--color-muted)}.link-arrow{font-family:var(--font-mono);font-size:.875rem;color:var(--color-accent);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:gap .3s var(--ease-out-spring)}.link-arrow:hover{gap:1rem}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:4px}::-webkit-scrollbar-track{background:transparent}Base responsive breakpoints :root{--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}@media (max-width: 768px){:root{--space-xl: calc(var(--space-unit) * 8);--space-lg: calc(var(--space-unit) * 6);--space-md: calc(var(--space-unit) * 4)}.first-name{font-size:clamp(3rem,10vw,6rem)!important}}@media (max-width: 768px){.project-item,.project-item:nth-child(2n){grid-template-columns:1fr!important;margin-inline:calc(var(--space-md) * -1);padding:var(--space-md)}.project-content{order:1!important}.blog-posts,.projects-grid{grid-template-columns:1fr!important}.post-card,.project-card{margin-inline:calc(var(--space-md) * -1);border-radius:0;border-left:none;border-right:none}}@media (max-width: 768px){.category-tags{width:100%;overflow-x:auto;padding-bottom:var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}.category-tags::-webkit-scrollbar{display:none}}@media (max-width: 768px){.meta-text{margin-bottom:2rem!important}.accent-bars{bottom:-1rem!important}.preview-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}}@media (min-width: 769px) and (max-width: 1024px){.project-item{grid-template-columns:1fr 1fr!important}.first-name{font-size:clamp(3.5rem,12vw,8rem)!important}}.garden-badge[data-astro-cid-ug26un3m]{position:fixed;right:2rem;bottom:2rem;width:3rem;height:3rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;display:var(--garden-badge-display, flex);align-items:center;justify-content:center;text-decoration:none;box-shadow:var(--shadow-soft);z-index:99;transition:all .3s var(--ease-out-soft);min-width:44px;min-height:44px}.circular-text[data-astro-cid-ug26un3m]{position:absolute;width:200%;height:200%;left:-50%;top:-50%;animation:spin 20s linear infinite;pointer-events:none;background-color:#ffffffb3;border-radius:50%}.circular-text[data-astro-cid-ug26un3m] svg[data-astro-cid-ug26un3m]{width:100%;height:100%}.circular-text[data-astro-cid-ug26un3m] text[data-astro-cid-ug26un3m]{font-size:.8rem;font-family:var(--font-mono);fill:var(--color-muted);text-transform:uppercase;letter-spacing:2px;font-weight:500}.badge-icon[data-astro-cid-ug26un3m]{font-size:1.3rem;background:var(--color-surface);width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}.garden-badge[data-astro-cid-ug26un3m]:hover{border:2px solid var(--color-accent);transform:scale(1.1)}.garden-badge[data-astro-cid-ug26un3m]:hover .circular-text[data-astro-cid-ug26un3m] text[data-astro-cid-ug26un3m]{fill:var(--color-accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.garden-badge[data-astro-cid-ug26un3m]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;transform:scale(1.1)}@media (forced-colors: active){.garden-badge[data-astro-cid-ug26un3m]{border:2px solid CanvasText}.garden-badge[data-astro-cid-ug26un3m]:hover,.garden-badge[data-astro-cid-ug26un3m]:focus-visible{border:2px solid Highlight}}@media (prefers-reduced-motion: reduce){.garden-badge[data-astro-cid-ug26un3m]{transition:none}.garden-badge[data-astro-cid-ug26un3m]:hover,.garden-badge[data-astro-cid-ug26un3m]:focus-visible{transform:none}.circular-text[data-astro-cid-ug26un3m]{animation:none}}@media (max-width: 768px){.garden-badge[data-astro-cid-ug26un3m]{right:1rem;bottom:1rem;width:4rem;height:4rem}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.page-peek[data-astro-cid-vkxjpemy]{position:fixed;z-index:1000;pointer-events:none;opacity:0;display:none;border-radius:var(--curve-sm);box-shadow:0 4px 20px #00000026;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.page-peek[data-astro-cid-vkxjpemy].visible{opacity:1;display:block}.page-peek-iframe-wrapper[data-astro-cid-vkxjpemy]{width:400px;height:300px;overflow:hidden}@media (hover: none),(max-width: 768px){.page-peek[data-astro-cid-vkxjpemy],.page-peek[data-astro-cid-vkxjpemy].visible{display:none!important}}.page-peek-iframe[data-astro-cid-vkxjpemy]{width:100%;height:200%;border:none;pointer-events:none;transform:translateY(-300px)}.page-peek-iframe[data-astro-cid-vkxjpemy]{--garden-badge-display: block}.page-peek-iframe[data-astro-cid-vkxjpemy] .garden-badge{opacity:0;transition:opacity .3s ease-out}:root{--garden-badge-transition: opacity .3s ease-out}@media (max-width: 768px){.page-peek[data-astro-cid-vkxjpemy]{display:none}}a[data-astro-cid-vkxjpemy][data-garden-link=true]{text-decoration-style:dotted}a[data-astro-cid-vkxjpemy][data-garden-link=true]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}@media (prefers-reduced-motion: reduce){.page-peek[data-astro-cid-vkxjpemy],.page-peek[data-astro-cid-vkxjpemy].visible{transition:none}}@font-face{font-family:YourFont;src:url(/fonts/YourFont-Regular.woff2) format("woff2"),url(/fonts/YourFont-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:YourFont;src:url(/fonts/YourFont-Bold.woff2) format("woff2"),url(/fonts/YourFont-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Star Inversion;src:url(/fonts/3617-star-inversion-web.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Formation;src:url(/fonts/3603-formation-web.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Karrik;src:url(/fonts/Karrik-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Karrik;src:url(/fonts/Karrik-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}:root{--shadow-soft: 0 8px 40px rgba(0, 0, 0, .08);--shadow-pop: 0 12px 32px rgba(255, 107, 78, .2);--blur-light: blur(12px);--curve-sm: .5rem;--curve-md: 2rem;--curve-lg: 24px;--container-width: min(1200px, 95%);--container-padding: max(2.5rem, 5vw);--gradient-warm: linear-gradient( 135deg, var(--color-coral) 0%, var(--color-peach) 100% );--gradient-cool: linear-gradient( 135deg, var(--color-teal) 0%, color-mix(in srgb, var(--color-teal) 70%, white) 100% );--ease-out-soft: cubic-bezier(.33, 1, .68, 1);--ease-out-spring: cubic-bezier(.33, 1.4, .68, 1);--duration-short: .2s;--duration-medium: .4s;--duration-long: .8s;--space-unit: .5rem;--space-xs: calc(var(--space-unit) * 2);--space-sm: calc(var(--space-unit) * 3);--space-md: calc(var(--space-unit) * 5);--space-lg: calc(var(--space-unit) * 8);--space-xl: calc(var(--space-unit) * 13);--border-radius: 12px;--max-width: 72rem;--cursor-size: 20px;--cursor-hover-size: 40px;--cursor-color: var(--color-accent);--color-bg: #f6f5f3;--color-fg: #2C2C2C;--color-accent: #D43900;--color-muted: #666666;--color-surface: #FFFFFF;--color-surface-hover: #E9E6E0;--color-border: rgba(0,0,0,.08)}body.menu-open{overflow:hidden;position:fixed;width:100%}.page-container{padding:var(--space-xl);max-width:var(--max-width);margin:0 auto}@media (max-width: 768px){.page-container{padding:var(--space-xl) var(--space-xs) var(--space-xs) var(--space-xs)}}.main-content{position:relative;min-height:100vh;width:100%;transition:transform .3s var(--ease-out-spring);flex:1}.header-content{display:flex;flex-direction:column;gap:var(--space-xs);justify-content:space-between;align-items:flex-start;padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}@media (max-width: 768px){.header-content{padding-bottom:var(--space-sm)}.featured-projects{padding-top:var(--space-sm)!important}}@media (min-width: 769px){body.menu-open .main-content{transform:none;pointer-events:all}}@media (max-width: 768px){body.menu-open .main-content{transform:translate(-100%);pointer-events:none}.page-container,.main-content{overflow:hidden}}.intro{margin:0}body{cursor:auto;background:var(--color-bg);color:var(--color-fg);display:flex;flex-direction:column;min-height:100vh}html{font-family:Inter,sans-serif;background:var(--color-bg);color:var(--color-fg)}main{padding:0;width:100%;max-width:100%;margin:0;animation:fadeIn .6s var(--ease-out-spring)}.post-title,.project-title{font-family:var(--font-special);line-height:1.2;font-size:1.5rem;margin:1rem 0;font-weight:600}::selection{background:var(--color-accent);color:#fff}.split-text{opacity:0;transform:translateY(20px)}.split-text.reveal{opacity:1;transform:translateY(0);transition:all var(--duration-medium) var(--ease-out-spring)}.hover-lift{transition:transform var(--duration-short) var(--ease-out-spring)}.hover-lift:hover{transform:translateY(-4px)}@media (prefers-reduced-motion: reduce){:root{--duration-short: 0s;--duration-medium: 0s;--duration-long: 0s}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.link-hover{position:relative;overflow:hidden}.link-hover:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var (--ease-out-spring)}.link-hover:hover:after{transform:scaleX(1);transform-origin:left}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.skip-link{position:fixed;top:-100%;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;padding:1rem 2rem;text-decoration:none;z-index:9999;opacity:0;border-radius:0 0 var(--curve-sm) var(--curve-sm);transition:top .3s ease,opacity .3s ease;font-family:var(--font-sans);font-size:1rem}.skip-link:focus-visible{top:0;opacity:1;outline:2px solid white;outline-offset:-4px}.main-content:focus{outline:none}.cursor-text{width:120px;height:120px;padding:1.5rem;text-align:center;line-height:1.2}.project-item .cursor-text{width:120px;height:120px;padding:1.5rem;font-size:.875rem}
