:root{--portfolio-background-color:#fff;--portfolio-heading-color:#1a202c;--portfolio-accent-color:#ac8de4;--portfolio-surface-color:#f8fafc;--portfolio-contrast-color:#fff;--portfolio-muted-color:#4a5568;--portfolio-border-color:rgba(162,133,221,.15);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.15),0 10px 10px -5px rgba(0,0,0,.08);--shadow-accent:0 8px 32px rgba(162,133,221,.15),0 4px 16px rgba(162,133,221,.12),0 0 0 1px rgba(162,133,221,.05);--shadow-accent-hover:0 16px 64px rgba(162,133,221,.25),0 8px 32px rgba(162,133,221,.18),0 4px 16px rgba(162,133,221,.15),0 0 0 1px rgba(162,133,221,.1);scroll-behavior:smooth}.portfolio-page{color:#181818;font-family:var(--default-font)}.hero{width:90%;max-height:20em;position:relative;padding:80px 10px 60px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 auto}.hero .container{position:relative;z-index:2}.hero .col-lg-8{padding:3.5rem 2.5rem;transition:all .6s cubic-bezier(.4,0,.2,1);position:relative;z-index:3}.hero .col-lg-8:hover{transform:translateY(-2px)}.hero h1,.sitename{margin:0 0 1.5rem;font-size:var(--font-size-xl);font-weight:500;color:#2d3748;background:linear-gradient(90deg,#2d3748,#252525 20%,#2d3748);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;letter-spacing:-.02em;line-height:1.1;position:relative}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.hero h1,.sitename{color:#2d3748;-webkit-text-fill-color:#2d3748}}.hero p{margin:0 0 2.5rem;font-size:1rem;color:#2d3748;font-weight:400;line-height:1.6;opacity:.9}.hero p span.typed,.typed{color:rgba(162,133,221,.6);background:linear-gradient(135deg,#ac8de4,#7c6b93);-webkit-background-clip:text;-webkit-text-fill-color:#ab8de46c;background-clip:text;font-weight:500;display:inline-block;min-height:1.6em}#hero p span{color:#7c6b93;line-height:1.6;font-weight:500}#hero .social-links,.hero .social-links{display:flex;justify-content:center;align-items:center;margin-top:2rem;flex-wrap:wrap}#hero .social-links a,.hero .social-links .sci-icon,.hero .social-links a{font-size:1.3rem;display:inline-flex;align-items:center;justify-content:center;color:var(--default-color);line-height:1;transition:all .4s cubic-bezier(.4,0,.2,1);text-shadow:0 2px 8px rgba(0,0,0,.1);background:hsla(0,0%,100%,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(162,133,221,.2);border-radius:50%;padding:12px;width:52px;height:52px;position:relative;overflow:hidden;text-decoration:none}#hero .social-links a:before,.hero .social-links .sci-icon:before,.hero .social-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .6s ease}#hero .social-links a:hover:before,.hero .social-links .sci-icon:hover:before,.hero .social-links a:hover:before{left:100%}#hero .social-links a:hover,.hero .social-links .sci-icon:hover,.hero .social-links a:hover{color:#7c6b93;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px rgba(162,133,221,.25),0 3px 12px rgba(0,0,0,.08);border-color:rgba(162,133,221,.4);background:hsla(0,0%,100%,.6)}#hero .social-links a span,.hero .social-links .sci-icon span,.hero .social-links a span{display:inline-block;font-size:1.3rem;transition:transform .3s ease;z-index:1;position:relative}#hero .social-links a:hover span,.hero .social-links .sci-icon:hover span,.hero .social-links a:hover span{transform:scale(1.1)}.typed{color:rgba(162,133,221,.6)!important;background:linear-gradient(135deg,#ac8de4,#7c6b93);-webkit-background-clip:text;background-clip:text;font-weight:500;display:inline-block;min-height:1.6em;z-index:10}@supports ((-webkit-background-clip:text) or (background-clip:text)) or (-webkit-background-clip:text){.typed{-webkit-text-fill-color:transparent}}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.hero p span.typed,.typed{color:rgba(162,133,221,.6);-webkit-text-fill-color:#7c6b93}}.hero-description{font-size:1.2rem;color:var(--portfolio-muted-color);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6;font-weight:300}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.about-section{background-position:0;background-repeat:no-repeat;position:relative;padding:100px 20px;overflow:hidden}.about-section:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:100%;background:hsla(0,0%,100%,.06);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-top:1px solid var(--portfolio-border-color);border-bottom:1px solid var(--portfolio-border-color);box-shadow:var(--shadow-accent),inset 0 1px 0 hsla(0,0%,100%,.25);z-index:1;pointer-events:none}.about-section .container,.about-section .row{position:relative;z-index:2}.about-section .row{padding:2rem 0;align-items:center}.section-title{text-align:center;padding:2rem 0;margin-bottom:3rem;position:relative}.about-section .section-title h3,.contact-section .section-title h3,.portfolio-section .section-title h3,.section-title h3{font-size:var(--font-size-lg);font-weight:500;margin-bottom:1rem;font-family:var(--heading-font);background:linear-gradient(135deg,var(--portfolio-heading-color) 0,var(--portfolio-muted-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;line-height:1.2}@media (max-width:1200px){.about-content h2,.about-section .section-title h2,.blog-section .section-title h2,.contact-section .section-title h2,.portfolio-section .section-title h2,.section-title h2{font-size:var(--font-size-lg)}}@media (max-width:992px){.about-section .section-title h2,.blog-section .section-title h2,.contact-section .section-title h2,.portfolio-section .section-title h2,.section-title h2{font-size:var(--font-size-lg)}}@media (max-width:768px){.section-title{padding:1.5rem 0;margin-bottom:2rem}.about-section .section-title h2,.blog-section .section-title h2,.contact-section .section-title h2,.portfolio-section .section-title h2,.section-title h2{font-size:var(--font-size-lg);margin-bottom:.8rem}}@media (max-width:480px){.about-section .section-title h2,.blog-section .section-title h2,.contact-section .section-title h2,.portfolio-section .section-title h2,.section-title h2{font-size:var(--font-size-lg)}}.profile-img{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;position:relative}.profile-img img{width:11rem;height:11rem;border-radius:50%;object-fit:cover;border:6px solid hsla(0,0%,100%,.9);box-shadow:0 0 20px rgba(162,133,221,.08);transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;z-index:2}.about-content{display:flex;flex-direction:column;justify-content:center;padding-left:3rem}.about-content h2{font-size:var(--font-size-lg);font-weight:500;margin-bottom:2rem;background:linear-gradient(135deg,var(--portfolio-heading-color) 0,var(--portfolio-muted-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;position:relative;font-family:var(--heading-font)}.about-content h2:after{content:"";position:absolute;bottom:-12px;left:0;width:60px;height:3px;background:linear-gradient(90deg,var(--portfolio-accent-color),rgba(172,141,228,.6));border-radius:2px}.about-description{font-size:.9rem;margin-bottom:1.8rem;opacity:.95;text-align:left;font-weight:400;font-family:var(--default-font);line-height:1.7;max-width:600px}.portfolio-section{padding:80px 10px;position:relative}.portfolio-section h2:after{content:"";display:block;margin:16px auto 0;position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--portfolio-accent-color),rgba(172,141,228,.6));border-radius:2px;z-index:2}.portfolio-intro{font-size:1rem;color:#181818;text-align:center;margin:0 auto 3rem;line-height:1.7;max-width:600px}.category-title,.portfolio-category{margin:4rem 0 3rem}.category-title{display:flex;font-size:var(--font-size-lg);align-items:center;justify-content:center;padding:2rem 3rem;transition:all .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;font-family:var(--heading-font);color:var(--portfolio-heading-color);background:linear-gradient(135deg,var(--portfolio-heading-color) 0,var(--portfolio-muted-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.category-title:before{content:"";position:absolute;top:0;width:100vw;height:100%;background:hsla(0,0%,100%,.08);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-top:1px solid var(--portfolio-border-color);border-bottom:1px solid var(--portfolio-border-color);box-shadow:var(--shadow-accent),inset 0 1px 0 hsla(0,0%,100%,.25);z-index:-1;pointer-events:none}.category-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:100px;height:3px;background:linear-gradient(90deg,transparent,var(--portfolio-accent-color),transparent);border-radius:2px;z-index:1}.category-title:hover:before{background:rgba(253,234,253,.2);border-top-color:rgba(162,133,221,.3);border-bottom-color:rgba(162,133,221,.3);box-shadow:var(--shadow-accent-hover),inset 0 1px 0 hsla(0,0%,100%,.35)}.portfolio-item{position:relative;overflow:hidden;border-radius:12px;transition:all .5s cubic-bezier(.4,0,.2,1);flex:1 1;margin:0 auto;padding:0;box-shadow:var(--shadow-lg),var(--shadow-accent);border:1px solid var(--portfolio-border-color);height:100%}.portfolio-item:hover{transform:translateY(-12px);box-shadow:var(--shadow-xl),var(--shadow-accent-hover);border-color:rgba(162,133,221,.3)}.portfolio-image{position:relative;overflow:hidden;height:240px;border-radius:12px 12px 0 0}.project-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.portfolio-item:hover .project-img{transform:scale(1.08)}.portfolio-content{padding:2rem;background:hsla(0,0%,100%,.5);text-align:center;position:relative;z-index:2;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:0 0 12px 12px}.project-title{font-size:1.2rem;color:var(--portfolio-heading-color);margin-bottom:1.5rem;line-height:1.2}.project-link,.project-title{font-family:var(--heading-font)}.project-link{display:inline-block;padding:.7em;background-color:rgba(251,219,250,.9);color:#181818;text-decoration:none;border-radius:10px;font-size:var(--font-size-base);transition:background-color .3s ease,color .3s ease;border:2px solid rgba(162,133,221,.4);cursor:pointer;position:relative}.project-link:hover{background-color:rgba(162,133,221,.1);color:#181818}.contact-section{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;background-position:50%;background-repeat:no-repeat;position:relative;padding:20px 20px 80px;overflow:hidden;width:100%;margin:0 auto}.blog-section h2:after,.contact-section h2:after{content:"";display:block;margin:16px auto 0;position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--portfolio-accent-color),rgba(172,141,228,.6));border-radius:2px;z-index:2}.contact-content{text-align:left;margin-left:20px}.contact-item{max-width:400px;text-align:center;padding:2rem;background:hsla(0,0%,100%,.4);border-radius:15px;box-shadow:0 8px 32px rgba(162,133,221,.1);border:2px solid rgba(162,133,221,.3);height:100%;display:flex;align-items:center;flex-direction:row;margin:0 auto 20px;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.contact-item:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(162,133,221,.15)}.contact-icon{margin:0;font-size:20px;width:56px;height:56px;display:flex;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:var(--shadow-sm);padding:.7em;background-color:rgba(251,219,250,.9);text-decoration:none;border-radius:50%;border:2px solid rgba(162,133,221,.4);cursor:pointer;position:relative}.contact-item:hover .contact-icon{transform:scale(1.1);box-shadow:var(--shadow-md)}.contact-icon i{font-size:var(--font-size-xl);color:#181818}.contact-title{font-size:var(--font-size-base);font-family:var(--heading-font);color:#181818;margin-bottom:.5rem;line-height:normal;padding:0}.contact-info{flex-grow:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0;margin:0 auto;font-size:.9rem;white-space:nowrap;font-family:var(--default-font);color:#181818;font-weight:500}.contact-section .row{flex-direction:row;margin:0;align-items:center;gap:10px}.contact-section .col-md-6{flex:0 0 100%;max-width:100%}.contact-section:before{content:"";background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.08),hsla(0,0%,100%,.15));position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.blog-section .section-title,.contact-section .section-title{font-size:var(--font-size-lg)}.contact-detail{font-size:.85rem}.section-separator{height:4px;background:linear-gradient(135deg,transparent,rgba(162,133,221,.3) 25%,rgba(162,133,221,.6) 50%,rgba(162,133,221,.3) 75%,transparent);margin:3rem 0;border-radius:2px;position:relative;overflow:hidden}.section-separator:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media (max-width:1200px){.hero h1,.sitename{font-size:2rem}.hero p{font-size:.925rem}.hero .col-lg-8{padding:3rem 2rem}.about-content{padding-left:3rem}}@media (max-width:992px){.about-content{padding-left:0;text-align:center;margin-top:2rem}.about-content h2:after{left:50%;transform:translateX(-50%)}.social-link{width:60px;height:60px;font-size:1.3rem;line-height:60px;margin:0 1rem}.contact-item{max-width:100%}.contact-icon{width:50px;height:50px;font-size:18px}}@media (max-width:768px){.hero h1,.sitename{font-size:1.75rem;margin-bottom:1.2rem}.hero p{font-size:.875rem;margin-bottom:20px}.hero .col-lg-8{padding:2.5rem 1.8rem;margin:0 1rem}#hero .social-links,.hero .social-links{margin-top:1.8rem}#hero .social-links a,.hero .social-links .sci-icon,.hero .social-links a{font-size:1.3rem;width:48px;height:48px;padding:10px}#hero .social-links a span,.hero .social-links .sci-icon span,.hero .social-links a span{font-size:1.2rem}.about-section{padding:80px 15px}.about-content h2{font-size:1.5rem;margin-bottom:1.5rem}.about-description{font-size:.95rem;text-align:center}.portfolio-section{padding:80px 15px}.portfolio-intro{font-size:.9rem;margin-bottom:3rem}.category-title{padding:1.5rem;margin:3rem 0 2rem}.project-title{font-size:1.1rem}.portfolio-image{height:220px}.contact-item{flex-direction:column;text-align:center;padding:2.5rem;align-items:center;justify-content:center;max-width:100%}.contact-icon{margin-bottom:15px}.contact-content{text-align:center;margin:0}.social-link{width:55px;height:55px;margin:0 .8rem;font-size:1.2rem;line-height:55px}.section-separator{height:4px;margin:3rem 0}}@media (max-width:480px){.hero .col-lg-8{padding:2rem 1.5rem;margin:0 .5rem}#hero .social-links a,.hero .social-links .sci-icon,.hero .social-links a{width:42px;height:42px;padding:8px}#hero .social-links a span,.hero .social-links .sci-icon span,.hero .social-links a span{font-size:1.1rem}.about-content h2{font-size:var(--font-size-lg)}.about-description{font-size:.9rem}.portfolio-item{min-width:280px}.portfolio-image{height:200px}.portfolio-content{padding:1.5rem}.project-link,.project-title{font-size:1rem}.project-link{padding:.8rem 2rem}.contact-item{padding:1rem;margin-bottom:20px}.contact-icon{width:52px;height:52px;font-size:18px}.social-link{width:50px;height:50px;font-size:1.1rem;line-height:50px;margin:0 .6rem}.section-separator{height:3px;margin:2.5rem 0}}.text-center{text-align:center}.container{margin:0 auto;padding:0 20px}.portfolio-page .row{display:flex;flex-wrap:wrap;margin:0 -15px;gap:1rem;justify-content:center}.col-lg-4{flex-grow:0;flex-shrink:0;flex-basis:calc(33.333333% - 1rem);max-width:calc(33.333333% - 1rem);padding:0 15px}@media (min-width:1200px){.portfolio-section .row{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem}.portfolio-section .col-lg-4{flex-grow:0;flex-shrink:0;flex-basis:calc(33.333333% - 1.5rem);max-width:calc(33.333333% - 1.5rem);padding:0}}.col-lg-6,.col-md-6{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - 1rem);max-width:calc(50% - 1rem);padding:0 15px}.mb-4{margin-bottom:2rem}.align-items-center{align-items:center}@media (min-width:993px) and (max-width:1199px){.col-lg-4{flex-grow:0;flex-shrink:0;flex-basis:calc(33.333333% - 1rem);max-width:calc(33.333333% - 1rem)}}@media (max-width:992px){.col-lg-4,.col-lg-6{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - 1rem);max-width:calc(50% - 1rem)}}@media (max-width:768px){.container{padding:0 15px}.row{gap:1.5rem}.col-lg-4,.col-lg-6,.col-md-6{flex:0 0 100%;max-width:100%}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.contact-item:focus-within,.portfolio-item:focus-within,.project-link:focus,.social-link:focus{outline:2px solid var(--portfolio-accent-color);outline-offset:2px}@media (prefers-contrast:high){.contact-item,.hero-content,.portfolio-item,.project-link,.social-link{border-width:2px;border-color:var(--portfolio-heading-color)}}@media print{.portfolio-hero{background:none;min-height:auto;padding:2rem 0}.hero-content{background:none;border:1px solid #ccc;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.section-separator{background:#ccc;height:2px}.social-links{display:none}}