:root{--var-black:black;--var-white:white;--blue:#1877f2;--pinky-purple:#bc02ff;--var-gray:#c6c6c6;--var-dark-gray:#444}h3{margin-top:20px;margin-bottom:10px;font-size:40px;font-weight:600;line-height:1.4}h4{margin-top:10px;font-size:18px;line-height:24px}img{max-width:100%;display:inline-block}.portfolio-hero-section{position:relative;display:grid;place-content:center;min-height:100vh;overflow:hidden;background-color:#020617;padding:6rem 1rem;color:#e5e7eb}.aurora-bg{z-index:0;background:radial-gradient(125% 125% at 50% 0,#020617 50%,#13FFAA);transition:background .3s ease}.aurora-bg,.stars-canvas{position:absolute;inset:0}.stars-canvas{z-index:1;pointer-events:none;opacity:.8}.hero-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;max-width:100%}.hero-badge{display:inline-block;margin-bottom:.375rem;padding:.375rem .75rem;background-color:rgba(75,85,99,.5);border-radius:9999px;font-size:.875rem;line-height:1.25rem}.hero-title{max-width:48rem;margin:0 0 1.5rem;background:linear-gradient(to bottom right,#ffffff,#9ca3af);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center;font-size:1.875rem;font-weight:500;line-height:1.2}.hero-description{margin:1.5rem 0;max-width:36rem;text-align:center;font-size:1rem;line-height:1.75}.hero-cta-button{position:relative;display:inline-flex;align-items:center;gap:.375rem;width:-moz-fit-content;width:fit-content;padding:.5rem 1rem;background-color:rgba(3,7,18,.1);border:1px solid #13ffaa;border-radius:9999px;color:#f9fafb;font-size:1rem;text-decoration:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 24px #13FFAA}.hero-cta-button:hover{background-color:rgba(3,7,18,.5);transform:scale(1.015)}.hero-cta-button:active{transform:scale(.985)}.arrow-icon{display:inline-block;width:1.25rem;height:1.25rem;transition:transform .2s ease}.hero-cta-button:hover .arrow-icon{transform:rotate(-45deg)}.hero-cta-button:active .arrow-icon{transform:rotate(-12deg)}.projects-section{background-color:var(--var-black);color:var(--var-white);text-align:center;padding-top:0;font-weight:600}.light-title-container,.projects-section{z-index:0;padding-bottom:80px;position:relative}.light-title-container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-top:40px;overflow:hidden}.light-title{text-align:center;width:18ch;max-width:100%;margin-left:auto;margin-right:auto;font-size:64px;font-weight:600;line-height:1.2}.light-line{background-image:linear-gradient(270deg,var(--var-black) 20%,#1caae8 33%,#cb2de6 66%,var(--var-black) 80%);height:1px}.light-hue,.light-line{width:100%;position:absolute;inset:0 0 auto}.light-hue{z-index:-1;filter:blur(120px);background-image:linear-gradient(270deg,#1caae8,#cb2de6);border-radius:50%;max-width:820px;height:5.5em;margin-left:auto;margin-right:auto}.light-title-wrap{-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,#fff6,#ffffffe6 50%,#fff6);-webkit-background-clip:text;background-clip:text}.project-wrap{justify-content:space-between;align-items:flex-start;margin-bottom:80px;padding:8px;display:flex}.project-img-wrap{z-index:0;background-color:#fff;border-radius:24px;width:100%;max-width:544px;padding:4px;position:relative;box-shadow:0 0 2px #b8b8b840,11px 5px 26px #b8b8b859;transition:transform .3s ease-in-out}.project-img-wrap:hover{transform:scale(1.012)}.screen-crumb{background-color:#000;border-radius:20px;width:100%;height:100%;padding:8px}.project-img{z-index:0;object-fit:fill;border-radius:12px;width:100%;max-width:530px;max-height:321.8px;object-fit:cover;position:relative}.live-lottie{width:20px;height:20px}.project-detail-wrap{text-align:left;width:40%;display:flex;flex-direction:column;gap:1rem}.project-detail-wrap.alt{order:1}.project-description{color:var(--var-gray);font-size:16px;line-height:1.6;margin:0;font-weight:400}.project-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#e5255e,#8b1880);color:#ffffff;text-decoration:none;font-weight:600;font-size:.95rem;border-radius:8px;transition:all .3s ease;box-shadow:0 4px 16px rgba(229,37,94,.3);width:-moz-fit-content;width:fit-content;cursor:pointer}.project-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(229,37,94,.5);background:linear-gradient(135deg,#ff2d6f,#9d1a92)}.project-cta-btn:active{transform:translateY(0)}.project-cta-btn svg{transition:transform .3s ease}.project-cta-btn:hover svg{transform:translateX(4px)}.flex{display:flex}.flex.sp-between{grid-column-gap:16px;grid-row-gap:16px;flex-flow:wrap;justify-content:space-between;align-items:flex-start}.status{grid-column-gap:4px;grid-row-gap:4px;display:flex}.flex.sp-between.status{color:var(--var-gray);text-align:left;font-weight:500}.project-colabs-wrap{justify-content:flex-end;align-items:center}.colab-img{z-index:0;object-fit:cover;border-radius:200px;width:44px;height:44px;position:relative}@media (max-width:767px){.project-wrap{flex-direction:column;align-items:stretch;gap:2rem}.project-detail-wrap{width:100%;order:1}.project-detail-wrap.alt{order:1}.project-img-wrap{max-width:100%;order:2}.light-title{font-size:36px}h3{font-size:32px}}@media (min-width:768px){.project-wrap{flex-direction:row}.project-detail-wrap{width:40%}.project-img-wrap{width:55%}.project-detail-wrap.alt{order:1}}@media (min-width:640px){.hero-title{font-size:3rem;line-height:1.2}.hero-description{font-size:1.125rem;line-height:1.75}}@media (min-width:768px){.hero-title{font-size:4.5rem;line-height:1.2}.hero-description{font-size:1.125rem;line-height:1.75}}.portfolio-password-container{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden}.portfolio-password-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#020617,#0f172a 50%,#1e293b);background-size:200% 200%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.portfolio-password-backdrop:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(229,37,94,.08) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,24,128,.06) 0,transparent 50%);animation:pulseGlow 8s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.5}50%{opacity:1}}.portfolio-password-content{position:relative;z-index:10;width:100%;max-width:480px;padding:2rem;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.portfolio-password-form{background:rgba(15,23,42,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:3rem 2.5rem;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(229,37,94,.15),inset 0 1px 0 rgba(255,255,255,.05);border:1px solid rgba(229,37,94,.2)}.portfolio-password-logo{display:flex;justify-content:center;margin-bottom:2rem}.portfolio-logo-icon{display:flex;align-items:center;gap:.5rem;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700}.portfolio-logo-bracket{color:#e5255e;animation:bracketPulse 2s ease-in-out infinite}.portfolio-logo-bracket:first-child{animation-delay:0s}.portfolio-logo-bracket:last-child{animation-delay:1s}@keyframes bracketPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.portfolio-logo-text{background:linear-gradient(135deg,#e5255e,#8b1880);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.portfolio-password-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:.75rem;background:linear-gradient(180deg,#ffffff,#d1d5db);-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-password-subtitle{font-size:1rem;text-align:center;color:#9ca3af;margin-bottom:2.5rem;line-height:1.6}.portfolio-password-form-fields{display:flex;flex-direction:column;gap:1.5rem}.portfolio-input-wrapper{position:relative}.portfolio-password-input{width:100%;padding:1rem 1.25rem;background:rgba(31,41,55,.6);border:2px solid rgba(55,65,81,.5);border-radius:12px;font-size:1rem;color:#e5e7eb;transition:all .3s ease;box-sizing:border-box;font-family:inherit}.portfolio-password-input::placeholder{color:#6b7280}.portfolio-password-input:focus{outline:none;background:rgba(31,41,55,.8);border-color:#e5255e;box-shadow:0 0 0 4px rgba(229,37,94,.1)}.portfolio-input-underline{position:absolute;bottom:0;left:0;height:2px;width:0;background:linear-gradient(135deg,#e5255e,#8b1880);transition:width .3s ease;border-radius:2px}.portfolio-password-input:focus+.portfolio-input-underline{width:100%}.portfolio-submit-btn{background:linear-gradient(135deg,#e5255e,#8b1880);color:#ffffff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 20px rgba(229,37,94,.4);position:relative;overflow:hidden}.portfolio-submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.portfolio-submit-btn:hover:before{left:100%}.portfolio-submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(229,37,94,.6)}.portfolio-submit-btn:active{transform:translateY(0)}.portfolio-btn-arrow{transition:transform .3s ease}.portfolio-submit-btn:hover .portfolio-btn-arrow{transform:translateX(4px)}.portfolio-error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:.875rem;animation:shakeError .5s ease}@keyframes shakeError{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.portfolio-error-message svg{flex-shrink:0}.portfolio-password-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(55,65,81,.3);text-align:center}.portfolio-password-footer p{font-size:.875rem;color:#9ca3af;margin:0}.portfolio-password-footer a{color:#e5255e;text-decoration:none;transition:color .2s ease;font-weight:500}.portfolio-password-footer a:hover{color:#8b1880;text-decoration:underline}@media (max-width:640px){.portfolio-password-content{padding:1rem}.portfolio-password-form{padding:2rem 1.5rem}.portfolio-password-title{font-size:1.5rem}.portfolio-password-subtitle{font-size:.875rem}.portfolio-logo-icon{font-size:2rem}}