/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@media (hover:none),(max-width:1023px),(pointer:coarse){.portfolio{cursor:auto}.portfolio #cursor,.portfolio #cursor-ring{display:none!important}.portfolio .btn-outline,.portfolio .btn-primary,.portfolio .carousel-nav-btn,.portfolio .contact-input,.portfolio .contact-select,.portfolio .dev-carousel-tab,.portfolio .hero-btn-ghost,.portfolio .hero-btn-primary,.portfolio .hero-dot,.portfolio .nav-drawer-close,.portfolio .nav-menu-btn,.portfolio .pricing-card-cta{cursor:pointer}}html:has(#portfolio-nav-toggle:checked){overflow:hidden}.portfolio .nav-toggle-input{clip:rect(0,0,0,0);white-space:nowrap;opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portfolio .portfolio-nav{gap:.75rem;padding:.875rem clamp(1rem,4vw,1.5rem)}.portfolio .nav-links--desktop,.portfolio .portfolio-nav__actions .nav-links--desktop,.portfolio .portfolio-nav__actions .portfolio-nav__theme-toggle{display:none}.portfolio .nav-menu-btn{border:1px solid var(--portfolio-overlay-medium);background:var(--portfolio-overlay-faint);width:44px;height:44px;color:var(--text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:border-color .2s,background .2s;display:flex}.portfolio .nav-menu-btn:focus-visible,.portfolio .nav-menu-btn:hover{border-color:#00d4ff73;outline:none;box-shadow:0 0 0 3px #00d4ff26}.portfolio .nav-menu-icon{background:var(--text);border-radius:1px;width:20px;height:2px;transition:background .2s;position:relative}.portfolio .nav-menu-icon:after,.portfolio .nav-menu-icon:before{content:"";background:var(--text);border-radius:1px;width:20px;height:2px;transition:transform .25s,top .25s;position:absolute;left:0}.portfolio .nav-menu-icon:before{top:-6px}.portfolio .nav-menu-icon:after{top:6px}.portfolio .nav-toggle-input:checked~.nav-menu-btn .nav-menu-icon{background:0 0}.portfolio .nav-toggle-input:checked~.nav-menu-btn .nav-menu-icon:before{top:0;transform:rotate(45deg)}.portfolio .nav-toggle-input:checked~.nav-menu-btn .nav-menu-icon:after{top:0;transform:rotate(-45deg)}.portfolio .nav-overlay{z-index:1001;background:var(--portfolio-overlay-scrim);opacity:0;pointer-events:none;backdrop-filter:blur(4px);transition:opacity .3s;position:fixed;inset:0}.portfolio .nav-toggle-input:checked~.nav-overlay{opacity:1;pointer-events:auto}.portfolio .nav-drawer{z-index:1002;background:var(--portfolio-drawer-bg);border-left:1px solid var(--border);width:min(320px,88vw);height:100dvh;box-shadow:-16px 0 48px var(--portfolio-shadow);-webkit-overflow-scrolling:touch;padding:1rem 1.25rem 2rem;transition:transform .35s cubic-bezier(.22,1,.36,1);position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.portfolio .nav-toggle-input:checked~.nav-drawer{transform:translate(0)}.portfolio .nav-drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.portfolio .nav-drawer-title{font-family:var(--font-dm-mono),"DM Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.72rem}.portfolio .nav-drawer-close{background:var(--portfolio-overlay-faint);width:44px;height:44px;color:var(--text);border:none;border-radius:8px;font-size:1.5rem;line-height:1}.portfolio .nav-drawer-theme{border-bottom:1px solid var(--border);margin:1rem 0;padding-bottom:1rem}.portfolio .nav-links--mobile{flex-direction:column;align-items:stretch;gap:.25rem}.portfolio .nav-links--mobile a{min-height:48px;color:var(--text);border:1px solid #0000;border-radius:8px;align-items:center;padding:.75rem 1rem;font-size:1rem;display:flex}.portfolio .nav-links--mobile a:focus-visible,.portfolio .nav-links--mobile a:hover{color:var(--text);background:#00d4ff14;border-color:#00d4ff33}.portfolio .nav-drawer-explore{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.portfolio .nav-drawer-explore-title{font-family:var(--font-dm-mono),"DM Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .75rem;font-size:.68rem}.portfolio .nav-drawer-explore ul{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.portfolio .nav-drawer-explore a{min-height:44px;color:var(--portfolio-text-subtle);border-radius:8px;align-items:center;padding:.6rem 1rem;font-size:.92rem;text-decoration:none;display:flex}.portfolio .nav-drawer-explore a:focus-visible,.portfolio .nav-drawer-explore a:hover{color:var(--text);background:#00d4ff14}@media (min-width:640px){.portfolio .hero-cta-row{flex-flow:wrap}.portfolio .hero-btn-ghost,.portfolio .hero-btn-primary{width:auto;min-width:160px}.portfolio .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio .stat-item{min-width:120px}}@media (min-width:768px){.portfolio .portfolio-nav{padding:1rem 2rem}.portfolio nav .site-logo-img{max-height:52px}.portfolio .hero-layout{padding:0 2rem}.portfolio .hero-left{padding-top:7rem}.portfolio .hero-headline-slide .hero-headline,.portfolio .hero-headline-slide h1{font-size:clamp(32px,5vw,48px)}.portfolio #skills{padding:100px 40px}.portfolio .contact-inner,.portfolio .pricing-inner{padding-left:40px;padding-right:40px}.portfolio .pricing-grid--featured,.portfolio .pricing-grid--primary{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio .pricing-grid--primary .pricing-card:first-child{grid-column:1/-1;width:100%;max-width:480px;margin:0 auto}.portfolio .projects-header{padding:0 40px}.portfolio .project-slide{flex:0 0 min(420px,72vw)}.portfolio .carousel-nav-btn{display:flex}.portfolio .about-grid{gap:48px}}@media (min-width:1024px){.portfolio .portfolio-nav{padding:1.25rem 3rem}.portfolio nav.scrolled{padding:.9rem 3rem}.portfolio .portfolio-nav__actions .nav-links--desktop,.portfolio .portfolio-nav__actions .portfolio-nav__theme-toggle{display:flex}.portfolio .nav-drawer,.portfolio .nav-menu-btn,.portfolio .nav-overlay{display:none}.portfolio nav .site-logo-img{max-height:56px}.portfolio .hero-layout{grid-template-columns:1fr 1fr;padding:0 3rem}.portfolio .hero-right{display:flex}.portfolio #hero{padding-top:var(--nav-height)}.portfolio .hero-left{padding-top:2.5rem;padding-bottom:4rem}.portfolio .pricing-grid--primary{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio .pricing-grid--primary .pricing-card:first-child{grid-column:auto;width:auto;max-width:none;margin:0}.portfolio .pricing-grid--featured,.portfolio .skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio .stats-bar{flex-wrap:nowrap}.portfolio .stat-item{flex:1}.portfolio footer{text-align:left;flex-flow:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding:24px 3rem}.portfolio footer .site-logo{display:inline-flex}.portfolio .seo-footer-links--desktop{flex:auto;min-width:200px;display:block}.portfolio .seo-footer-links--desktop ul{justify-content:flex-end}}@media (min-width:1280px){.portfolio .skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio .project-slide{flex:0 0 440px}}@media (max-width:767px){.portfolio nav{padding:.875rem 1rem}.portfolio nav.scrolled{padding:.75rem 1rem}.portfolio nav .site-logo-img{max-height:44px}.portfolio #hero{min-height:auto}.portfolio .hero-layout{grid-template-columns:1fr;gap:0;min-height:auto;padding:0 1rem}.portfolio .hero-right{display:none}.portfolio .hero-left{padding-top:1.25rem;padding-bottom:3rem}.portfolio .hero-headline-wrap{min-height:10.5rem;margin-bottom:1.25rem}.portfolio .hero-headline-wrap--css{min-height:10.5rem;overflow:visible}.portfolio .hero-headline-slide .hero-headline,.portfolio .hero-headline-slide h1,.portfolio .hero-headline-wrap--css .hero-headline--slide-a{font-size:clamp(1.75rem,8vw,2.25rem);line-height:1.12}.portfolio .hero-headline-wrap--css .hero-headline--slide-b{font-size:clamp(1.5rem,5.75vw,1.95rem);line-height:1.16}.portfolio .hero-sub-text{font-size:.9rem}.portfolio .hero-cta-row{flex-direction:column;align-items:stretch;gap:.75rem}.portfolio .hero-btn-ghost,.portfolio .hero-btn-primary{text-align:center;justify-content:center;width:100%;min-height:48px}.portfolio .hero-price-badge{text-align:center;font-size:.8rem}.portfolio .hero-scroll-hint{display:none}.portfolio .section-title{font-size:clamp(1.65rem,7vw,2.25rem)}.portfolio #contact,.portfolio #pricing{overflow-x:hidden}.portfolio .pricing-inner{padding:4.5rem 1rem 5rem}.portfolio .pricing-header{margin-bottom:2rem}.portfolio .contact-header .section-title,.portfolio .pricing-header-center .section-title{font-size:clamp(1.65rem,7vw,2.1rem)}.portfolio .contact-sub,.portfolio .pricing-subtitle,.portfolio .projects-sub,.portfolio .skills-seo-intro{padding:0 .25rem;font-size:.9rem}.portfolio .pricing-grid--featured,.portfolio .pricing-grid--primary{grid-template-columns:1fr;gap:1.25rem}.portfolio .pricing-card{padding:1.35rem 1.15rem}.portfolio .pricing-card-price-value{font-size:1.45rem}.portfolio .pricing-card-cta{justify-content:center;align-items:center;min-height:48px;padding:.85rem 1rem;display:flex}.portfolio .projects-section{padding-top:4.5rem;padding-bottom:3rem}.portfolio .projects-header{margin-bottom:.5rem;padding:0 1rem}.portfolio .curved-carousel-track{gap:1rem;padding:2rem 4vw 2.5rem}.portfolio .project-slide{flex:0 0 min(100%,92vw)}.portfolio .project-slide-title{font-size:1.15rem}.portfolio .project-slide-desc{-webkit-line-clamp:3}.portfolio .carousel-nav-btn{display:none}.portfolio .dev-carousel-tab{min-height:40px;padding:.5rem .65rem;font-size:.62rem}.portfolio .curved-carousel-hint-keys{display:none}.portfolio #skills{padding:4.5rem 1rem}.portfolio .skills-grid{grid-template-columns:1fr;gap:1rem}.portfolio .skill-card{padding:1.25rem}.portfolio .stats-bar{flex-direction:column;gap:0;padding:1rem}.portfolio .stat-item{border-right:none;border-bottom:1px solid var(--border);flex:none;width:100%;padding:1rem .5rem}.portfolio .stat-item:last-child{border-bottom:none}.portfolio .stat-num{font-size:1.75rem}.portfolio #about{padding:4.5rem 1rem}.portfolio .about-grid{grid-template-columns:1fr;gap:2rem}.portfolio .about-grid .hero-photo-wrap{width:min(100%,320px);height:min(320px,85vw);margin:0 auto}.portfolio .contact-inner{padding:4.5rem 1rem 5rem}.portfolio .contact-form-wrapper{max-width:100%;padding:0 .25rem}.portfolio .contact-input,.portfolio .contact-select{min-height:48px;padding:.75rem 1rem;font-size:16px}.portfolio .contact-textarea{min-height:140px}.portfolio .btn-primary,.portfolio .contact-form .btn-primary{width:100%;min-height:48px}.portfolio footer{padding:1.5rem 1rem 2rem}.portfolio footer .site-logo{display:none}}@media (min-width:768px) and (max-width:1023px){.portfolio footer{text-align:center;flex-direction:column;align-items:center}.portfolio footer .site-logo{display:none}.portfolio .hero-right{margin-top:2rem;display:flex}.portfolio .hero-layout{grid-template-columns:1fr;min-height:auto;padding-bottom:2rem}.portfolio .hero-code-window{max-width:520px;margin:0 auto}.portfolio .about-grid{grid-template-columns:1fr 1fr}.portfolio .about-photo-col{justify-content:center}}@media (prefers-reduced-motion:reduce){.portfolio .hero-headline-slide,.portfolio .nav-drawer,.portfolio .pricing-card,.portfolio .reveal,.portfolio .skill-card,.portfolio .stat-item{transition-duration:.01ms!important}.portfolio .hero-dot--a,.portfolio .hero-dot--b,.portfolio .hero-headline--slide-a,.portfolio .hero-headline--slide-b,.portfolio .hero-progress-fill--css,.portfolio .hero-sub-text--slide-a,.portfolio .hero-sub-text--slide-b{opacity:1!important;visibility:visible!important;animation:none!important;transform:none!important}.portfolio .hero-headline--slide-b,.portfolio .hero-sub-text--slide-b{display:none}.portfolio .hero-code-body .c-cm,.portfolio .hero-code-glow,.portfolio .hero-code-orb,.portfolio .hero-float-card,.portfolio .particle{animation:none!important}}@media (max-width:767px){.portfolio.marketing-page .marketing-main{padding:calc(var(--nav-height) + 1.25rem) 1rem 4rem}.marketing-card-grid{grid-template-columns:1fr}.marketing-footer-grid{grid-template-columns:1fr 1fr}.blog-layout.has-toc{grid-template-columns:1fr}.blog-toc{border-bottom:1px solid var(--portfolio-nav-border);order:-1;padding-bottom:1rem}}@media (min-width:768px) and (max-width:1023px){.marketing-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.marketing-page{background:var(--portfolio-bg);min-height:100vh;color:var(--portfolio-text);font-family:var(--font-outfit),"Outfit",system-ui,sans-serif}.marketing-main{max-width:920px;padding:calc(var(--nav-height) + clamp(1.5rem, 4vw, 3rem)) clamp(1.25rem,4vw,3.5rem) 5rem;margin:0 auto}.marketing-hero-title{font-family:var(--font-syne),"Syne",sans-serif;margin:0 0 1rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.1}.marketing-lead{color:var(--portfolio-text-subtle);margin-bottom:2rem;font-size:1.1rem;line-height:1.75}.marketing-section{margin-bottom:2.5rem}.marketing-section h2{font-family:var(--font-syne),"Syne",sans-serif;color:var(--portfolio-text);margin:0 0 1rem;font-size:1.35rem}.marketing-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.marketing-list li{color:var(--portfolio-text-subtle);padding-left:1.25rem;line-height:1.65;position:relative}.marketing-list li:before{content:"▸";color:var(--portfolio-accent);position:absolute;left:0}.marketing-tags{flex-wrap:wrap;gap:.5rem;margin:1rem 0 2rem;display:flex}.marketing-tag{border:1px solid var(--portfolio-accent-border);color:var(--portfolio-accent);border-radius:999px;padding:.35rem .75rem;font-size:.75rem}.marketing-cta{background:var(--portfolio-accent);color:var(--portfolio-on-accent);font-weight:700;font-family:var(--font-syne),"Syne",sans-serif;border-radius:4px;margin-top:2rem;padding:.85rem 1.75rem;text-decoration:none;display:inline-flex}.marketing-cta:hover{filter:brightness(1.08)}.marketing-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:2rem;display:grid}.marketing-card{border:1px solid var(--portfolio-overlay-subtle);background:var(--portfolio-surface);border-radius:8px;padding:1.25rem}@supports (color:color-mix(in lab,red,red)){.marketing-card{background:color-mix(in srgb,var(--portfolio-surface) 60%,transparent)}}.marketing-card{color:inherit;text-decoration:none;transition:border-color .2s}.marketing-card:hover{border-color:var(--portfolio-accent-border)}.marketing-card h3{color:var(--portfolio-text);margin:0 0 .5rem;font-size:1.05rem}.marketing-card p{color:var(--portfolio-text-subtle);margin:0;font-size:.9rem;line-height:1.55}.seo-breadcrumbs ol{color:var(--portfolio-text-subtle);flex-wrap:wrap;gap:.35rem .5rem;margin:0 0 1.5rem;padding:0;font-size:.82rem;list-style:none;display:flex}.seo-breadcrumbs li:not(:last-child):after{content:"/";opacity:.45;margin-left:.5rem}.seo-breadcrumbs a{color:var(--portfolio-accent);text-decoration:none}.project-detail-img{aspect-ratio:16/10;border:1px solid var(--portfolio-overlay-subtle);border-radius:8px;width:100%;margin:1.5rem 0 2rem;position:relative;overflow:hidden}.marketing-footer{border-top:1px solid var(--portfolio-nav-border);margin-top:3rem;padding:2.5rem clamp(1.25rem,4vw,3.5rem)}.marketing-footer-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;max-width:920px;margin:0 auto 2rem;display:grid}.marketing-footer-title{text-transform:uppercase;letter-spacing:.12em;color:var(--portfolio-accent);margin:0 0 .75rem;font-size:.75rem}.marketing-footer ul{margin:0;padding:0;list-style:none}.marketing-footer li{margin-bottom:.4rem}.marketing-footer a{color:var(--portfolio-text-subtle);font-size:.88rem;text-decoration:none}.marketing-footer a:hover{color:var(--portfolio-text)}.marketing-footer-copy{text-align:center;color:var(--portfolio-overlay-text);max-width:920px;margin:0 auto;font-size:.82rem}.blog-layout{gap:2rem;display:grid}@media (min-width:900px){.blog-layout.has-toc{grid-template-columns:220px 1fr}}.blog-toc{font-size:.85rem}.blog-toc-title{color:var(--portfolio-text);margin:0 0 .75rem;font-weight:600}.blog-toc ol{margin:0;padding:0;list-style:none}.blog-toc li{margin-bottom:.45rem}.blog-toc-nested{padding-left:.85rem}.blog-toc a{color:var(--portfolio-text-subtle);text-decoration:none}.blog-toc a:hover{color:var(--portfolio-accent)}.blog-meta{color:var(--portfolio-text-subtle);margin-bottom:1.5rem;font-size:.85rem}.mdx-h2{font-family:var(--font-syne),"Syne",sans-serif;margin:2rem 0 .75rem;font-size:1.5rem}.mdx-h2,.mdx-h3{scroll-margin-top:5rem}.mdx-h3{margin:1.5rem 0 .5rem;font-size:1.15rem}.mdx-li,.mdx-p{color:var(--portfolio-text-subtle);line-height:1.8}.mdx-ol,.mdx-ul{margin:0 0 1.25rem;padding-left:1.25rem}.mdx-pre{background:var(--portfolio-code-bg);border:1px solid var(--portfolio-overlay-subtle);border-radius:6px;margin:1rem 0 1.5rem;padding:1rem;overflow-x:auto}.mdx-code{font-family:var(--font-dm-mono),monospace;font-size:.88em}.mdx-a,.mdx-code{color:var(--portfolio-accent)}.faq-item{border-bottom:1px solid var(--portfolio-nav-border);padding:1rem 0}.faq-item h3{color:var(--portfolio-text);margin:0 0 .5rem;font-size:1rem}.faq-item p{color:var(--portfolio-text-subtle);margin:0;line-height:1.65}