.header__right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:2rem}.header__logo-container[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{color:var(--color-accent-light)}.header__logo-sub[data-astro-cid-3ef6ksr2]{font-family:Inter,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;text-transform:none;background:none;-webkit-text-fill-color:currentColor;color:var(--color-heading)}.portfolio-nav[data-astro-cid-3ef6ksr2]{display:flex;gap:2.4rem;font-size:1.4rem}.portfolio-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:1rem 0}.portfolio-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-accent-light)}.portfolio-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current]{color:var(--color-heading);text-decoration:underline;text-underline-offset:5px}.theme-toggle[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-dim);transition:color .25s,background .25s,border-color .25s,transform .25s}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--color-accent-light);background:var(--color-accent-glow);border-color:var(--color-border-hover);transform:translateY(-1px)}.theme-toggle[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{width:1.8rem;height:1.8rem}.theme-toggle[data-astro-cid-3ef6ksr2] .icon-contrast[data-astro-cid-3ef6ksr2]{display:none}html[data-theme=brutalist] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-contrast[data-astro-cid-3ef6ksr2]{display:block}html[data-theme=brutalist] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-moon[data-astro-cid-3ef6ksr2]{display:none}@media(max-width:480px){.header__content[data-astro-cid-3ef6ksr2]{height:auto;padding:1.2rem 2.4rem .4rem;flex-direction:column;align-items:flex-start;gap:.4rem}.header__right[data-astro-cid-3ef6ksr2]{width:100%;justify-content:space-between}.portfolio-nav[data-astro-cid-3ef6ksr2]{gap:2.4rem;font-size:1.5rem}.portfolio-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{min-height:44px;display:inline-flex;align-items:center}html:root{scroll-padding-top:13rem}main .portfolio-page{padding-top:14rem}}.portfolio-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);color:var(--color-text-dim);font-size:1.3rem}.portfolio-footer[data-astro-cid-sz7xmlte] div[data-astro-cid-sz7xmlte]{max-width:104rem;margin:0 auto;padding:2.4rem;display:flex;justify-content:space-between;gap:2rem}.portfolio-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:underline;text-underline-offset:3px}*,*:after,*:before{margin:0;padding:0;box-sizing:inherit;font-family:inherit}html{font-size:62.5%;scroll-behavior:smooth;scroll-padding-top:8rem}@media only screen and (max-width:75em){html{font-size:59%}}@media only screen and (max-width:56.25em){html{font-size:56%}}@media only screen and (min-width:112.5em){html{font-size:65%}}body{box-sizing:border-box;position:relative;line-height:1.6;font-family:Inter,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;overflow-x:hidden;overflow-y:scroll;background-color:var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,button,input,textarea,select,h1,h2,h3,h4,h5,h6{font-family:Inter,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif}a{text-decoration:none;color:inherit}li{list-style:none}input:focus,button:focus,a:focus,textarea:focus{outline:2px solid rgba(99,102,241,.5);outline-offset:2px}button{border:none;cursor:pointer}textarea{resize:vertical}::selection{background:#6366f159;color:#fff}:root{--color-bg: #0a0f1e;--color-bg-raised: #111827;--color-bg-card: #151c2e;--color-surface: rgba(255, 255, 255, .03);--color-border: rgba(148, 163, 184, .08);--color-border-hover: rgba(99, 102, 241, .4);--color-text: #c8d6e5;--color-text-dim: #8892a4;--color-text-bright: #f1f5f9;--color-heading: #ffffff;--color-accent: #6366f1;--color-accent-light: #818cf8;--color-accent-glow: rgba(99, 102, 241, .15);--color-accent-deep: #4f46e5;--color-header-bg: rgba(10, 15, 30, .8);--color-menu-bg: rgba(10, 15, 30, .95);--color-footer-bg: #050810;--color-input-bg: rgba(10, 15, 30, .6);--color-input-bg-focus: rgba(10, 15, 30, .9);--color-preview-bg: #111827;--color-hero-glow-1: rgba(99, 102, 241, .15);--color-hero-glow-2: rgba(139, 92, 246, .08);--color-cs-glow: rgba(99, 102, 241, .12);--color-grid-line: rgba(255, 255, 255, .02);--color-heading-grad: #ffffff;--color-hover-surface: rgba(255, 255, 255, .04);--color-desc: #aeb9cb;--color-download-border: rgba(129, 140, 248, .45);--color-download-hover: rgba(129, 140, 248, .25);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.25);--shadow-lg: 0 12px 40px rgba(0,0,0,.35);--shadow-glow: 0 0 60px rgba(99, 102, 241, .08);--max-width: 120rem;--content-width: 80rem;color-scheme:dark}html[data-theme=brutalist]{--color-bg: #f2efe6;--color-bg-raised: #ffffff;--color-bg-card: #ffffff;--color-surface: #ffffff;--color-border: #141414;--color-border-hover: #141414;--color-text: #232323;--color-text-dim: #4d4d4d;--color-text-bright: #141414;--color-heading: #141414;--color-accent: #4f46e5;--color-accent-light: #4338ca;--color-accent-glow: #efeaff;--color-accent-deep: #3730a3;--color-header-bg: rgba(242, 239, 230, .9);--color-menu-bg: rgba(242, 239, 230, .97);--color-footer-bg: #e7e2d5;--color-input-bg: #ffffff;--color-input-bg-focus: #ffffff;--color-preview-bg: #ffffff;--color-hero-glow-1: rgba(79, 70, 229, .1);--color-hero-glow-2: rgba(255, 208, 47, .18);--color-cs-glow: rgba(79, 70, 229, .08);--color-grid-line: rgba(20, 20, 20, .05);--color-heading-grad: #141414;--color-hover-surface: #efeaff;--color-desc: #4d4d4d;--color-download-border: #141414;--color-download-hover: #e2d9ff;--color-ink: #141414;--color-highlight: #ffd02f;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--shadow-md: 4px 4px 0 #141414;--shadow-lg: 8px 8px 0 #141414;--shadow-glow: 0 0 0 rgba(0, 0, 0, 0);color-scheme:light}html[data-theme=brutalist] .projects__row,html[data-theme=brutalist] .blog-card,html[data-theme=brutalist] .project-details,html[data-theme=brutalist] .contact__form-container,html[data-theme=brutalist] .cta-banner,html[data-theme=brutalist] .product-preview{border:3px solid var(--color-ink);box-shadow:6px 6px 0 var(--color-ink)}html[data-theme=brutalist] .projects__row:hover,html[data-theme=brutalist] .blog-card:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--color-ink)}html[data-theme=brutalist] .projects__row:before,html[data-theme=brutalist] .blog-card:before,html[data-theme=brutalist] .cta-banner:before{display:none}html[data-theme=brutalist] .btn--theme,html[data-theme=brutalist] .btn--theme-inv,html[data-theme=brutalist] .product-download a{border:3px solid var(--color-ink);box-shadow:5px 5px 0 var(--color-ink)}html[data-theme=brutalist] .btn--theme:hover,html[data-theme=brutalist] .btn--theme-inv:hover,html[data-theme=brutalist] .product-download a:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--color-ink)}html[data-theme=brutalist] .btn--theme-inv{background:#fff;color:var(--color-ink)}html[data-theme=brutalist] .btn--theme-inv:hover,html[data-theme=brutalist] .product-download a:hover{background:var(--color-highlight)}html[data-theme=brutalist] .product-download a{background:var(--color-accent-glow);color:var(--color-heading)}html[data-theme=brutalist] .header{border-bottom:3px solid var(--color-ink)}html[data-theme=brutalist] .header__logo-sub{background:none;-webkit-text-fill-color:var(--color-ink);color:var(--color-ink)}html[data-theme=brutalist] .header__link:hover,html[data-theme=brutalist] .header__sm-menu-link a:hover{background:var(--color-highlight);color:var(--color-ink)}html[data-theme=brutalist] .theme-toggle{border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:#fff;color:var(--color-ink);box-shadow:3px 3px 0 var(--color-ink)}html[data-theme=brutalist] .theme-toggle:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--color-ink);background:var(--color-highlight);border-color:var(--color-ink);color:var(--color-ink)}html[data-theme=brutalist] .portfolio-page h1,html[data-theme=brutalist] .heading-sec__main,html[data-theme=brutalist] .projects__row-content-title{font-weight:900}html[data-theme=brutalist] .portfolio-page h1{display:inline;background:linear-gradient(transparent 55%,var(--color-highlight) 55%)}html[data-theme=brutalist] .heading-sec__main:after{background:var(--color-highlight);border:1px solid var(--color-ink)}html[data-theme=brutalist] .project-tag{border:2px solid var(--color-ink);background:var(--color-highlight);color:var(--color-ink)}html[data-theme=brutalist] .skills__icon{border:3px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-ink)}html[data-theme=brutalist] .skills__icon:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-ink);background:var(--color-highlight)}html[data-theme=brutalist] .archive-note{border-left:4px solid var(--color-ink);background:var(--color-highlight);color:var(--color-ink)}html[data-theme=brutalist] .product-preview figcaption{border-top:3px solid var(--color-ink)}html[data-theme=brutalist] .product-overview{border-color:var(--color-ink);border-top-width:2px;border-bottom-width:2px}html[data-theme=brutalist] .contact__form-input{border:2px solid var(--color-ink)}html[data-theme=brutalist] .contact__form-input:focus{box-shadow:4px 4px 0 var(--color-ink)}html[data-theme=brutalist] .main-footer__social a{border:2px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink)}html[data-theme=brutalist] .main-footer__social a:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--color-ink);background:var(--color-highlight)}html[data-theme=brutalist] .blog-post li:before,html[data-theme=brutalist] .project-section__list-item:before{background:var(--color-highlight);border:1px solid var(--color-ink)}html[data-theme=brutalist] .portfolio-info,html[data-theme=brutalist] .archive,html[data-theme=brutalist] .guide-related,html[data-theme=brutalist] .blog-post__meta,html[data-theme=brutalist] .main-footer__lower,html[data-theme=brutalist] .portfolio-footer{border-color:var(--color-ink)}html[data-theme=brutalist] .portfolio-footer,html[data-theme=brutalist] .main-footer{border-top-width:3px}html[data-theme=brutalist] ::selection{background:var(--color-highlight);color:var(--color-ink)}html[data-theme=brutalist] .icon-invert{filter:none!important}html[data-theme=brutalist] .icon-outline{filter:none}.d-none{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:1rem;padding:1rem 1.4rem;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);transform:translateY(-200%);transition:transform .15s;z-index:2000;font-weight:600}.skip-link:focus{transform:translateY(0)}.main-container{max-width:var(--max-width);margin:auto;width:92%}.sec-pad{padding:12rem 0}@media only screen and (max-width:56.25em){.sec-pad{padding:8rem 0}}.heading-primary{font-size:6.4rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;text-align:center;background:linear-gradient(135deg,var(--color-heading-grad) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@media only screen and (max-width:56.25em){.heading-primary{font-size:4.8rem}}@media only screen and (max-width:37.5em){.heading-primary{font-size:3.6rem}}.heading-sec__mb-bg{margin-bottom:10rem}.heading-sec__mb-med{margin-bottom:8rem}@media only screen and (max-width:56.25em){.heading-sec__mb-bg{margin-bottom:7rem}.heading-sec__mb-med{margin-bottom:6rem}}.heading-sec__main{display:block;font-size:3.6rem;font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:2.4rem;position:relative;color:var(--color-heading)}.heading-sec__main:after{content:"";position:absolute;top:calc(100% + 1.2rem);height:3px;width:4rem;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light));left:50%;transform:translate(-50%);border-radius:3px}@media only screen and (max-width:37.5em){.heading-sec__main{font-size:3rem}}.heading-sec__sub{display:block;text-align:center;color:var(--color-text-dim);font-size:1.8rem;font-weight:400;max-width:64rem;margin:auto;line-height:1.7}@media only screen and (max-width:37.5em){.heading-sec__sub{font-size:1.6rem}}.heading-sm{font-size:2rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.text-primary{color:#fffc;font-size:2rem;text-align:center;width:100%;line-height:1.7}@media only screen and (max-width:37.5em){.text-primary{font-size:1.8rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;font-weight:600;border-radius:var(--radius-sm);letter-spacing:.02em;transition:all .25s cubic-bezier(.4,0,.2,1);text-transform:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .25s}.btn:hover:before{opacity:1}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--bg{padding:1.6rem 4rem;font-size:1.6rem}.btn--med{padding:1.3rem 3.2rem;font-size:1.5rem}.btn--theme{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-deep));color:#fff;box-shadow:0 4px 16px #6366f14d}.btn--theme:hover{box-shadow:0 8px 24px #6366f166}.btn--theme-inv{color:var(--color-accent-light);background:transparent;border:1.5px solid rgba(99,102,241,.3);box-shadow:none}.btn--theme-inv:hover{background:var(--color-accent-glow);border-color:var(--color-accent)}.header{position:fixed;width:100%;z-index:1000;background:var(--color-header-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--color-border);transition:background .3s}.header__content{display:flex;align-items:center;justify-content:space-between;padding:0 4rem;height:7rem;max-width:var(--max-width);margin:0 auto}@media only screen and (max-width:56.25em){.header__content{padding:0 2rem;height:6.4rem}}.header__logo-container{display:flex;align-items:center;gap:1rem;color:#fff;z-index:10}.header__logo-sub{font-size:1.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,var(--color-heading-grad),var(--color-accent-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header__main{display:flex;align-items:center;gap:.5rem}.header__links{display:flex;align-items:center;gap:.4rem}@media only screen and (max-width:37.5em){.header__links{display:none}}.header__link-wrapper{position:relative}.header__link{padding:.8rem 1.6rem;display:inline-block;font-size:1.4rem;color:var(--color-text);font-weight:500;letter-spacing:.01em;transition:color .2s;border-radius:var(--radius-sm)}.header__link:hover{color:var(--color-heading);background:var(--color-hover-surface)}@media only screen and (max-width:56.25em){.header__link{padding:.8rem 1.2rem;font-size:1.3rem}}.header__main-ham-menu-cont{display:none;width:2.4rem;cursor:pointer;z-index:10}@media only screen and (max-width:37.5em){.header__main-ham-menu-cont{display:flex;align-items:center}}.header__main-ham-menu,.header__main-ham-menu-close{width:100%;filter:brightness(.9)}.header__sm-menu{background:var(--color-menu-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);position:fixed;inset:0;z-index:999;visibility:hidden;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.header__sm-menu--active{visibility:hidden;opacity:0}@media only screen and (max-width:37.5em){.header__sm-menu--active{visibility:visible;opacity:1}}.header__sm-menu-content{text-align:center}.header__sm-menu-links{display:flex;flex-direction:column;gap:.5rem}.header__sm-menu-link a{display:block;padding:2rem 4rem;font-size:2.4rem;color:var(--color-text);font-weight:600;letter-spacing:.02em;transition:color .2s;border-radius:var(--radius-md)}.header__sm-menu-link a:hover{color:var(--color-heading);background:var(--color-hover-surface)}.home-hero{position:relative;color:var(--color-heading);min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-bg)}.home-hero:before{content:"";position:absolute;top:-20%;left:50%;transform:translate(-50%);width:80rem;height:80rem;background:radial-gradient(circle,var(--color-hero-glow-1) 0%,transparent 70%);pointer-events:none;z-index:0}.home-hero:after{content:"";position:absolute;bottom:-10%;right:-10%;width:50rem;height:50rem;background:radial-gradient(circle,var(--color-hero-glow-2) 0%,transparent 70%);pointer-events:none;z-index:0}.home-hero__content{max-width:84rem;width:92%;text-align:center;z-index:2;padding:4rem 0}.home-hero__info{margin:2.4rem auto 4rem;max-width:60rem}@media only screen and (max-width:37.5em){.home-hero__info{margin-bottom:3rem}}.home-hero__cta{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap}.home-hero__grid{position:absolute;inset:0;background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:6rem 6rem;z-index:1;pointer-events:none}.about{background:var(--color-bg);position:relative}.about__content{display:grid;grid-template-columns:1fr 1fr;grid-gap:8rem;align-items:start}@media only screen and (max-width:56.25em){.about__content{grid-template-columns:1fr;grid-gap:5rem}}.about__content-title{font-weight:700;font-size:2.8rem;margin-bottom:2.4rem;text-align:left;color:var(--color-heading);letter-spacing:-.01em}.about__content-details-para{font-size:1.7rem;color:var(--color-text-dim);max-width:56rem;line-height:1.8;margin-bottom:1.6rem}.about__content-details-para:last-child{margin-bottom:3.2rem}.about__content-details-para strong{color:var(--color-text-bright);font-weight:600}.about__content-main .btn{display:inline-flex;align-items:center;justify-content:center;margin:1rem 0 0}.skills{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.2rem}@media only screen and (max-width:37.5em){.skills{grid-template-columns:repeat(2,1fr)}}.skills__icon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.8rem 1.2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1)}.skills__icon:hover{transform:translateY(-4px);background:var(--color-accent-glow);border-color:var(--color-border-hover);box-shadow:var(--shadow-md),0 0 20px #6366f10f}.skills__icon svg,.skills__icon img{width:3.2rem;height:3.2rem;margin-bottom:.8rem;object-fit:contain;opacity:.85;transition:opacity .3s}.skills__icon:hover svg,.skills__icon:hover img{opacity:1}.icon-invert{filter:invert(1) brightness(1.2)!important}.icon-outline{filter:drop-shadow(1px 1px 0px #fff) drop-shadow(-1px -1px 0px #fff) drop-shadow(1px -1px 0px #fff) drop-shadow(-1px 1px 0px #fff)}.skills__name{font-size:1.1rem;font-weight:600;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.06em}.projects{background:var(--color-bg-raised);position:relative}.projects:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}.projects__content{display:grid;grid-template-columns:1fr 1fr;grid-gap:3.2rem}@media only screen and (max-width:56.25em){.projects__content{grid-template-columns:1fr;grid-gap:2.4rem}}.projects__row{background:var(--color-bg-card);padding:3.6rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.projects__row:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light));opacity:0;transition:opacity .3s}.projects__row:hover{transform:translateY(-6px);border-color:var(--color-border-hover);box-shadow:var(--shadow-lg),var(--shadow-glow)}.projects__row:hover:before{opacity:1}.projects__row-content{display:flex;justify-content:space-between;flex-direction:column;align-items:flex-start;height:100%}.project-tags{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem}.project-tag{font-size:1.15rem;padding:.4rem 1.1rem;background:var(--color-accent-glow);color:var(--color-accent-light);border-radius:50px;font-weight:600;letter-spacing:.03em;border:1px solid rgba(99,102,241,.15)}.projects__row-content-title{font-weight:700;font-size:2.4rem;margin-bottom:1.2rem;color:var(--color-heading);letter-spacing:-.01em}@media only screen and (max-width:37.5em){.projects__row-content-title{font-size:2.2rem}}.projects__row-content-desc{font-size:1.6rem;color:var(--color-text-dim);line-height:1.7;margin-bottom:2.4rem}@media only screen and (max-width:37.5em){.projects__row-content-desc{font-size:1.5rem}}.projects__row-content .btn{align-self:flex-start}.project-cs-hero{color:var(--color-heading);background:var(--color-bg);position:relative;padding:18rem 0 14rem;text-align:center;overflow:hidden}.project-cs-hero:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100rem;height:60rem;background:radial-gradient(ellipse,var(--color-cs-glow) 0%,transparent 70%);pointer-events:none}.project-cs-hero__content{max-width:84rem;margin:0 auto;width:92%;position:relative;z-index:2}.project-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:3rem;margin:-8rem auto 6rem;padding:3.6rem 4rem;background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);position:relative;z-index:10;max-width:88rem;width:92%}.project-details__item-title{font-size:1.3rem;font-weight:700;color:var(--color-accent-light);margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.08em}.project-details__item-desc{font-size:1.6rem;color:var(--color-text)}.project-section{max-width:var(--content-width);margin:0 auto}.project-section__title{font-size:2.6rem;font-weight:700;margin-bottom:2.4rem;color:var(--color-heading);letter-spacing:-.01em}.project-section__para{font-size:1.7rem;line-height:1.8;color:var(--color-text-dim);margin-bottom:2rem}.project-section__para a{color:var(--color-accent-light);text-decoration:underline;text-decoration-color:#6366f14d;text-underline-offset:3px;transition:text-decoration-color .2s}.project-section__para a:hover{text-decoration-color:var(--color-accent)}.project-section__list{margin-left:0;margin-bottom:3rem}.project-section__list-item{font-size:1.7rem;color:var(--color-text-dim);margin-bottom:1.6rem;position:relative;padding-left:2.4rem}.project-section__list-item:before{content:"";position:absolute;left:0;top:.9em;width:6px;height:6px;background:var(--color-accent);border-radius:50%}.project-section__list-item strong{color:var(--color-text-bright)}.project-section__cta{margin-top:5rem;text-align:center;display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap}.blog-card{background:var(--color-bg-card);padding:3.2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.blog-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light));opacity:0;transition:opacity .3s}.blog-card:hover{transform:translateY(-4px);border-color:var(--color-border-hover);box-shadow:var(--shadow-lg),var(--shadow-glow)}.blog-card:hover:before{opacity:1}.blog-card__link-overlay{position:absolute;inset:0;z-index:1}.blog-card__meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem;font-size:1.25rem;color:var(--color-accent-light);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.blog-card__title{font-size:2rem;font-weight:700;margin-bottom:1.2rem;color:var(--color-heading);line-height:1.35;letter-spacing:-.01em}.blog-card__desc{font-size:1.5rem;color:var(--color-text-dim);line-height:1.7;margin-bottom:2.4rem;flex-grow:1}.blog-card__link{font-size:1.4rem;font-weight:600;color:var(--color-accent-light);display:flex;align-items:center;gap:.6rem;transition:gap .3s ease;margin-top:auto}.blog-card:hover .blog-card__link{gap:1.2rem}.blog-post{max-width:var(--content-width);margin:0 auto}.blog-post__meta{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:4rem;padding-bottom:3rem;border-bottom:1px solid var(--color-border)}.blog-post__meta-item{display:flex;align-items:center;gap:.6rem;font-size:1.4rem;color:var(--color-text-dim);font-weight:500}.blog-post__meta-icon{width:1.6rem;height:1.6rem;opacity:.6}.blog-post h2{font-size:2.8rem;font-weight:700;margin:5rem 0 2rem;color:var(--color-heading);letter-spacing:-.01em}.blog-post h3{font-size:2.2rem;font-weight:700;margin:4rem 0 1.6rem;color:var(--color-text-bright)}.blog-post p{font-size:1.7rem;line-height:1.85;color:var(--color-text);margin-bottom:2rem}.blog-post a{color:var(--color-accent-light);text-decoration:underline;text-decoration-color:#6366f14d;text-underline-offset:3px;transition:text-decoration-color .2s}.blog-post a:hover{text-decoration-color:var(--color-accent)}.blog-post ul,.blog-post ol{margin-left:0;margin-bottom:2.4rem;padding-left:0}.blog-post li{font-size:1.7rem;color:var(--color-text);margin-bottom:1.2rem;position:relative;padding-left:2.4rem;list-style:none}.blog-post li:before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;background:var(--color-accent);border-radius:50%}.blog-post strong{color:var(--color-text-bright);font-weight:600}.blog-post blockquote{border-left:3px solid var(--color-accent);padding:2rem 0 2rem 2.4rem;margin:3rem 0;background:var(--color-accent-glow);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.blog-post blockquote p{color:var(--color-text-bright);font-style:italic;margin-bottom:0}.contact{background:var(--color-bg);position:relative}.contact__form-container{background:var(--color-bg-card);padding:5rem;max-width:72rem;width:92%;border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);margin:4rem auto 0}@media only screen and (max-width:37.5em){.contact__form-container{padding:3.2rem 2.4rem}}.contact__form-field{margin-bottom:2.4rem}.contact__form-label{color:var(--color-text-bright);font-size:1.4rem;font-weight:600;margin-bottom:.8rem;display:block;letter-spacing:.02em}.contact__form-input{color:var(--color-text-bright);padding:1.4rem 1.6rem;width:100%;border:1px solid var(--color-border);font-size:1.6rem;background:var(--color-input-bg);border-radius:var(--radius-sm);transition:all .25s;font-family:inherit}.contact__form-input:focus{border-color:var(--color-accent);background:var(--color-input-bg-focus);box-shadow:0 0 0 3px #6366f126}.contact__form-input::placeholder{color:var(--color-text-dim);font-size:1.5rem;opacity:1}.contact__btn{width:100%;padding:1.6rem;font-size:1.6rem;font-weight:600;margin-top:.8rem}.main-footer{background:var(--color-footer-bg);color:var(--color-text);border-top:1px solid var(--color-border)}.main-footer__upper{display:flex;justify-content:space-between;align-items:flex-start;padding:6rem 0 4rem;gap:4rem}@media only screen and (max-width:56.25em){.main-footer__upper{flex-direction:column;align-items:center;text-align:center;gap:3rem;padding:5rem 0 3rem}}.main-footer__brand{max-width:36rem}.main-footer__brand-name{font-size:1.8rem;font-weight:700;color:var(--color-heading);letter-spacing:.03em;margin-bottom:1.2rem}.main-footer__short-desc{color:var(--color-text-dim);font-size:1.4rem;line-height:1.7}.main-footer__links{display:flex;gap:4rem}@media only screen and (max-width:37.5em){.main-footer__links{flex-direction:column;gap:2rem;align-items:center}}.main-footer__link-group h5{font-size:1.3rem;font-weight:700;color:var(--color-text-bright);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.6rem}.main-footer__link-group ul{display:flex;flex-direction:column;gap:.8rem}.main-footer__link-group a{font-size:1.4rem;color:var(--color-text-dim);transition:color .2s}.main-footer__link-group a:hover{color:var(--color-accent-light)}.main-footer__social{display:flex;gap:1.2rem;margin-top:2rem}@media only screen and (max-width:56.25em){.main-footer__social{justify-content:center}}.main-footer__social a{display:flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-dim);transition:all .25s}.main-footer__social a:hover{background:var(--color-accent-glow);border-color:var(--color-border-hover);color:var(--color-accent-light)}.main-footer__social svg{width:1.6rem;height:1.6rem}.main-footer__lower{padding:2.4rem 0;border-top:1px solid var(--color-border);color:var(--color-text-dim);font-size:1.2rem;text-align:center}.main-footer__lower a{color:var(--color-accent-light);font-weight:600}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:4rem}.error-page__code{font-size:12rem;font-weight:900;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:2rem}.error-page__title{font-size:2.8rem;color:var(--color-heading);font-weight:700;margin-bottom:1.6rem}.error-page__desc{font-size:1.7rem;color:var(--color-text-dim);margin-bottom:3.2rem;max-width:48rem}.cta-banner{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:4rem;text-align:center;margin-top:6rem;position:relative;overflow:hidden}.cta-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light))}.cta-banner h4{font-size:2.2rem;font-weight:700;color:var(--color-heading);margin-bottom:1.2rem}.cta-banner p{font-size:1.6rem;color:var(--color-text-dim);margin-bottom:2.4rem;max-width:48rem;margin-left:auto;margin-right:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.portfolio-page{max-width:104rem;min-height:calc(100svh - 7rem);margin:0 auto;padding:14rem 2.4rem 6rem}.portfolio-page h1{font-size:clamp(3rem,4vw,4.2rem);color:var(--color-heading);letter-spacing:-.03em;line-height:1.2;margin-bottom:3.6rem}.portfolio-page .projects__content{gap:2.4rem}.portfolio-page .projects__row{padding:3rem}.portfolio-page .projects__row:hover{transform:none}.portfolio-links{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;font-size:1.5rem}.portfolio-page .projects__row .portfolio-links{margin-top:auto}.portfolio-links a{color:var(--color-accent-light);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.portfolio-links a:hover{color:var(--color-heading)}.portfolio-contact{margin-top:5.6rem}.portfolio-intro{padding-bottom:5rem}.portfolio-intro h1{margin-bottom:1.8rem}.portfolio-intro p{font-size:2rem;color:var(--color-text);max-width:60rem}.portfolio-section-title{font-size:2rem;color:var(--color-heading);margin-bottom:2rem}.portfolio-info{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;margin-top:5rem;padding-top:3.6rem;border-top:1px solid var(--color-border)}.portfolio-info .portfolio-contact{margin-top:0}.portfolio-info h2{font-size:2rem;color:var(--color-heading);margin-bottom:1.6rem}.portfolio-info p{font-size:1.6rem;line-height:1.8;margin-bottom:1.4rem}.portfolio-info .portfolio-links{flex-direction:column;align-items:flex-start}@media(max-width:700px){.portfolio-info{grid-template-columns:1fr;gap:3rem}.portfolio-intro{padding-bottom:3.6rem}}.portfolio-contact h2,.extension-details h2{font-size:2rem;color:var(--color-heading);margin-bottom:1.6rem}.extension-details{max-width:76rem}.extension-details h1{margin-top:3rem;margin-bottom:2rem}.extension-details p,.extension-details li{font-size:1.7rem;color:var(--color-text);line-height:1.8}.extension-details h2{margin-top:3.6rem}.extension-details ul{padding-left:2rem;margin-bottom:3rem}.extension-details li{list-style:disc;padding-left:.5rem;margin-bottom:.8rem}.extension-details li a{color:var(--color-accent-light);text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.portfolio-page{padding-top:10rem}.portfolio-page .projects__row{padding:2.4rem}.portfolio-contact{margin-top:4rem}}.portfolio-page .projects__row-content-desc{color:var(--color-desc);font-size:max(16px,1.6rem)}.portfolio-info p,.extension-details p,.extension-details li{font-size:max(16px,1.7rem)}.portfolio-links{font-size:max(15px,1.5rem)}.product-card-title a{display:flex;align-items:center;gap:1.6rem}.product-card-title a:hover{color:var(--color-accent-light)}.product-card-title img{flex-shrink:0;border-radius:10px}.product-card-title{margin-bottom:2rem}.product-heading{display:flex;align-items:center;gap:2rem;margin:3rem 0 2rem}.product-heading img{border-radius:14px;flex-shrink:0}.product-heading h1{margin:0}.extension-details{max-width:104rem}.product-download{margin:2.4rem 0 4rem}.product-download a{display:inline-flex;align-items:center;gap:1.2rem;min-height:46px;padding:1.1rem 1.8rem;border:1px solid var(--color-download-border);border-radius:8px;background:var(--color-accent-glow);color:var(--color-text-bright);font-size:max(15px,1.5rem)}.product-download a:hover{background:var(--color-download-hover);border-color:var(--color-accent-light)}.product-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38rem);align-items:start;gap:4.8rem;padding:3.2rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.product-overview h2{margin-top:0}.product-preview{margin:0;background:var(--color-preview-bg);border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.product-preview img{display:block;width:auto;max-width:100%;height:auto;max-height:500px;margin:0 auto}.product-preview figcaption{padding:1.6rem 2rem;font-size:14px;line-height:1.6;color:var(--color-desc);border-top:1px solid var(--color-border)}@media(max-width:700px){.product-overview{grid-template-columns:1fr;gap:2.4rem}.product-preview{width:100%;max-width:410px;margin:0 auto}.product-heading{gap:1.4rem}.product-heading img{width:48px;height:48px}.product-card-title img{width:40px;height:40px}}.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}
