.container{margin:0 auto;max-width:800px;padding:2rem;text-align:center}.maintenance-mode{align-items:center;background-color:#fff3cd;display:flex;min-height:100vh}.maintenance-mode h1{color:#856404;font-size:2.5rem;margin-bottom:1.5rem}.development-mode{align-items:center;background-color:#d1ecf1;display:flex;min-height:100vh}.development-mode h1{color:#0c5460;font-size:2.5rem;margin-bottom:1.5rem}.live-mode{align-items:center;background-color:#d4edda;display:flex;min-height:100vh}.live-mode h1{color:#155724;font-size:2.5rem;margin-bottom:1.5rem}.error,.loading{align-items:center;background-color:#f8f9fa;display:flex;min-height:100vh}.error h2,.loading h2{color:#495057;margin-bottom:1rem}.error button,.loading button{background-color:#007bff;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem}.error button:hover,.loading button:hover{background-color:#0056b3}.messages{margin-bottom:2rem}.message{border-radius:.25rem;margin-bottom:1rem;padding:1rem}.message.message-info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.message.message-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.message.message-error{background-color:#f8d7da;border:1px solid #f1b0b7;color:#721c24}.message.message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message p{font-weight:500;margin:0}.contact-info,.description,.dev-info{background-color:hsla(0,0%,100%,.7);border-radius:.25rem;margin-top:1.5rem;padding:1rem}.contact-info p,.description p,.dev-info p{color:#495057;margin:0}.seasonal-effect-canvas{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9999}.portal{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.portal-main{flex:1;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.portal-main::-webkit-scrollbar{display:none}.portal-nav{background:#020617;border-bottom:1px solid hsla(0,0%,100%,.1);flex-shrink:0;padding:.75rem 0;z-index:1000}.portal-nav .nav-content{align-items:center;display:flex;justify-content:space-between}.portal-nav .nav-logo{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);-webkit-background-clip:text;color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:-.5px;-webkit-text-fill-color:transparent;background-clip:text}.portal-nav .nav-links{align-items:center;display:flex;gap:.25rem}.portal-nav .nav-links button{border-radius:8px;color:hsla(0,0%,100%,.7);font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-transform:none;transition:all .2s ease}.portal-nav .nav-links button:hover{background:hsla(0,0%,100%,.1);color:#fff}.portal-hero{background:linear-gradient(135deg,#020617,#0f172a 50%,#1e1b4b);box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:auto;justify-content:center;min-height:100%;overflow:hidden;padding:2rem 0;position:relative;scroll-snap-align:start;scroll-snap-stop:always}.portal-hero:before{background:radial-gradient(circle,rgba(99,102,241,.15) 0,transparent 70%);height:500px;right:-10%;top:-20%;width:500px}.portal-hero:after,.portal-hero:before{content:"";pointer-events:none;position:absolute}.portal-hero:after{background:radial-gradient(circle,rgba(168,85,247,.1) 0,transparent 70%);bottom:-20%;height:400px;left:-10%;width:400px}.portal-hero .hero-content{margin:0 auto;max-width:900px;padding:2rem;position:relative;text-align:center;z-index:1}.portal-hero .hero-badge{align-items:center;animation:pulse-badge 2s ease-in-out infinite;background:rgba(34,197,94,.2);border:1px solid rgba(34,197,94,.4);border-radius:100px;color:#86efac;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:2rem;padding:.5rem 1.25rem}.portal-hero .hero-badge .badge-icon{font-size:1.1rem;font-weight:700}@keyframes pulse-badge{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}.portal-hero .hero-title{background:linear-gradient(135deg,#fff,#a5b4fc 50%,#c4b5fd);-webkit-background-clip:text;font-size:4rem;font-weight:800;letter-spacing:-2px;line-height:1.1;margin-bottom:1.5rem;-webkit-text-fill-color:transparent;background-clip:text}@media(max-width:768px){.portal-hero .hero-title{font-size:2.5rem;letter-spacing:-1px}}.portal-hero .hero-subtitle{color:hsla(0,0%,100%,.6);font-size:1.35rem;font-weight:400;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:600px}@media(max-width:768px){.portal-hero .hero-subtitle{font-size:1.1rem}}.portal-hero .hero-description{color:hsla(0,0%,100%,.5);font-size:1.1rem;line-height:1.8;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:550px}.portal-hero .hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.portal-hero .hero-buttons .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);border-radius:12px;box-shadow:0 4px 15px rgba(99,102,241,.4);color:#fff;font-size:1rem;font-weight:600;padding:1rem 2.5rem;text-transform:none;transition:all .3s ease}.portal-hero .hero-buttons .btn-primary:hover{box-shadow:0 8px 30px rgba(99,102,241,.5);transform:translateY(-3px)}.portal-hero .hero-buttons .btn-secondary{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.2);border-radius:12px;color:#fff;font-size:1rem;font-weight:600;padding:1rem 2.5rem;text-transform:none;transition:all .3s ease}.portal-hero .hero-buttons .btn-secondary:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.4)}.portal-section{box-sizing:border-box;display:flex;flex-direction:column;height:auto;justify-content:center;min-height:100%;padding:3rem 0;position:relative;scroll-snap-align:start;scroll-snap-stop:always}.portal-section .section-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-1px;margin-bottom:1rem;position:relative;text-align:center}.portal-section .section-title:after{display:none}.portal-section .section-subtitle{color:#64748b;font-size:1.1rem;margin:0 auto 2rem;max-width:600px;text-align:center}.portal-about{background:linear-gradient(180deg,#020617,#0f172a);color:#fff}.portal-about .section-title{color:#fff;margin-bottom:2rem}.portal-about .about-showcase{align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-bottom:2.5rem}@media(max-width:968px){.portal-about .about-showcase{gap:2rem;grid-template-columns:1fr}}.portal-about .code-demo{animation:slideInRight .7s cubic-bezier(.4,0,.2,1) forwards;display:grid;gap:1rem;grid-template-columns:1fr 1fr;will-change:opacity,transform}@media(max-width:1200px){.portal-about .code-demo{grid-template-columns:1fr}}@media(max-width:968px){.portal-about .code-demo{order:-1}}@keyframes slideInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.portal-about .code-window{background:linear-gradient(135deg,#1a1b26,#24283b);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.4);display:flex;flex-direction:column;overflow:hidden}.portal-about .code-window .code-header{align-items:center;background:rgba(0,0,0,.3);border-bottom:1px solid hsla(0,0%,100%,.05);display:flex;gap:8px;padding:12px 16px}.portal-about .code-window .code-header .dot{border-radius:50%;height:12px;width:12px}.portal-about .code-window .code-header .dot.red{background:#ff5f56}.portal-about .code-window .code-header .dot.yellow{background:#ffbd2e}.portal-about .code-window .code-header .dot.green{background:#27ca40}.portal-about .code-window .code-header .file-name{color:hsla(0,0%,100%,.4);font-family:SF Mono,Fira Code,monospace;font-size:.75rem;margin-left:auto}.portal-about .code-window .code-content{font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:.8rem;line-height:1.7;padding:1.25rem}.portal-about .code-window .code-line{animation:typeIn .5s cubic-bezier(.4,0,.2,1) forwards;min-height:1.4em;opacity:0;white-space:nowrap;will-change:opacity,transform}.portal-about .code-window .code-line:first-child{animation-delay:.12s}.portal-about .code-window .code-line:nth-child(2){animation-delay:.24s}.portal-about .code-window .code-line:nth-child(3){animation-delay:.36s}.portal-about .code-window .code-line:nth-child(4){animation-delay:.48s}.portal-about .code-window .code-line:nth-child(5){animation-delay:.6s}.portal-about .code-window .code-line:nth-child(6){animation-delay:.72s}.portal-about .code-window .code-line:nth-child(7){animation-delay:.84s}.portal-about .code-window .code-line:nth-child(8){animation-delay:.96s}.portal-about .code-window .code-line:nth-child(9){animation-delay:1.08s}.portal-about .code-window .code-line:nth-child(10){animation-delay:1.2s}.portal-about .code-window .code-line.indent-1{padding-left:1.5rem}.portal-about .code-window .code-line .keyword{color:#bb9af7}.portal-about .code-window .code-line .function{color:#7aa2f7}.portal-about .code-window .code-line .param{color:#e0af68}.portal-about .code-window .code-line .brace,.portal-about .code-window .code-line .colon,.portal-about .code-window .code-line .paren{color:#a9b1d6}.portal-about .code-window .code-line .comment{color:#565f89;font-style:italic}.portal-about .code-window .code-line .string{color:#9ece6a}@keyframes typeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portal-about .code-output{background:linear-gradient(135deg,#1a1b26,#1f2335);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.portal-about .code-output .output-header{align-items:center;background:rgba(39,202,64,.1);border-bottom:1px solid rgba(39,202,64,.2);color:#27ca40;display:flex;font-size:.75rem;font-weight:600;gap:8px;padding:10px 16px}.portal-about .code-output .output-header .output-icon{animation:blink 1s ease-in-out infinite;font-size:.6rem}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.3}}.portal-about .code-output .output-content{display:flex;flex:1;flex-direction:column;justify-content:center;padding:1rem 1.25rem}.portal-about .code-output .output-line{align-items:center;animation:fadeInLine .6s cubic-bezier(.4,0,.2,1) forwards;color:hsla(0,0%,100%,.7);display:flex;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;gap:.5rem;opacity:0;padding:.35rem 0;will-change:opacity,transform}.portal-about .code-output .output-line:first-child{animation-delay:1.5s}.portal-about .code-output .output-line:nth-child(2){animation-delay:1.8s}.portal-about .code-output .output-line:nth-child(3){animation-delay:2.1s}.portal-about .code-output .output-line:nth-child(4){animation-delay:2.4s}.portal-about .code-output .output-line .check{color:#27ca40;font-weight:700}.portal-about .code-output .output-line.highlight{color:#27ca40;font-weight:500}.portal-about .code-output .output-stats{animation:fadeInLine .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:2.8s;border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:.5rem;margin-top:.75rem;opacity:0;padding-top:.75rem;will-change:opacity,transform}.portal-about .code-output .output-stats .stat-badge{border-radius:100px;font-size:.7rem;font-weight:600;padding:.25rem .75rem}.portal-about .code-output .output-stats .stat-badge.time{background:rgba(99,102,241,.2);color:#a5b4fc}.portal-about .code-output .output-stats .stat-badge.saved{animation:pulse-badge-green 2s ease-in-out infinite;animation-delay:3.2s;background:rgba(39,202,64,.2);color:#86efac}@keyframes pulse-badge-green{0%,to{box-shadow:0 0 0 0 rgba(39,202,64,.4)}50%{box-shadow:0 0 0 6px rgba(39,202,64,0)}}@keyframes fadeInLine{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.portal-about .about-content{display:flex;flex-direction:column;gap:1.5rem}@media(max-width:968px){.portal-about .about-content{align-items:center;text-align:center}}.portal-about .about-text{color:hsla(0,0%,100%,.7);font-size:1.1rem;line-height:1.8;margin:0;max-width:500px}.portal-about .about-stats{display:flex;gap:1rem}.portal-about .about-stats .stat-item{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:1rem 1.5rem;text-align:center}.portal-about .about-stats .stat-item h4{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);-webkit-background-clip:text;font-size:2.5rem;font-weight:800;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.25rem}.portal-about .about-stats .stat-item p{color:hsla(0,0%,100%,.6);font-size:.85rem;white-space:nowrap}.portal-about .skills-grid{margin-top:1rem}.portal-about .skill-category{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;height:100%;padding:1.25rem;transition:all .3s ease}.portal-about .skill-category:hover{background:hsla(0,0%,100%,.08);transform:translateY(-3px)}.portal-about .skill-category .skill-title{align-items:center;color:#fff;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;margin-bottom:.75rem}.portal-about .skill-category .skill-title:before{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);border-radius:2px;content:"";height:16px;width:4px}.portal-about .skill-category .skill-items{color:hsla(0,0%,100%,.6);font-size:.8rem;line-height:1.7}.portal-services{background:#0f172a;color:#fff}.portal-services .section-title{color:#fff}.portal-services .service-card{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:20px;height:100%;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.portal-services .service-card:before{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.portal-services .service-card:hover{box-shadow:0 0 40px rgba(99,102,241,.3),0 0 80px rgba(99,102,241,.1);transform:translateY(-8px)}.portal-services .service-card:hover:before{opacity:1}.portal-services .service-card .MuiCardContent-root{padding:2.5rem 2rem;text-align:center}.portal-services .service-card .service-icon{align-items:center;background:rgba(99,102,241,.1);border-radius:16px;display:flex;height:72px;justify-content:center;margin:0 auto 1.5rem;transition:all .3s ease;width:72px}.portal-services .service-card .service-icon svg{height:36px;width:36px}.portal-services .service-card:hover .service-icon{background:rgba(99,102,241,.2);transform:scale(1.1)}.portal-services .service-card .service-title{color:#fff;font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.portal-services .service-card .service-description{color:hsla(0,0%,100%,.6);font-size:.95rem;line-height:1.6}.portal-benefits{background:linear-gradient(135deg,#020617,#1e1b4b);color:#fff;overflow:hidden;position:relative}.portal-benefits:before{background:radial-gradient(circle,rgba(99,102,241,.1) 0,transparent 70%);content:"";height:800px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:800px}.portal-benefits .section-title{color:#fff}.portal-benefits .benefit-item{align-items:center;backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:20px;display:flex;flex-direction:column;height:100%;padding:2.5rem 1.5rem;text-align:center;transition:all .3s ease}.portal-benefits .benefit-item:hover{background:hsla(0,0%,100%,.08);transform:translateY(-5px)}.portal-benefits .benefit-item .benefit-icon{align-items:center;background:rgba(99,102,241,.15);border-radius:16px;display:flex;flex-shrink:0;height:64px;justify-content:center;margin:0 auto 1.25rem;width:64px}.portal-benefits .benefit-item .benefit-icon svg{height:32px;width:32px}.portal-benefits .benefit-item h6{flex-shrink:0;font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.portal-benefits .benefit-item p{color:hsla(0,0%,100%,.6);flex-grow:1;line-height:1.6}.portal-portfolio{background:#0f172a;color:#fff}.portal-portfolio .section-title{color:#fff}.portal-portfolio .project-card{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.portal-portfolio .project-card:hover{box-shadow:0 0 40px rgba(99,102,241,.3),0 0 80px rgba(99,102,241,.1);transform:translateY(-5px)}.portal-portfolio .project-card .MuiCardContent-root{display:flex;flex-direction:column;flex-grow:1;padding:1.75rem}.portal-portfolio .project-card .project-category{align-self:flex-start;background:rgba(99,102,241,.2);border-radius:100px;color:#a5b4fc;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;padding:.35rem 1rem;text-transform:uppercase}.portal-portfolio .project-card .project-title{color:#fff;font-weight:700;margin-bottom:.5rem}.portal-portfolio .project-card .project-description{color:hsla(0,0%,100%,.6);flex-grow:1;font-size:.9rem;line-height:1.5}.portal-contact{background:linear-gradient(180deg,#0f172a,#020617);color:#fff}.portal-contact .contact-info{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:24px;height:fit-content;padding:2.5rem}.portal-contact .contact-info .contact-title{color:#fff;font-size:2.5rem;font-weight:800;letter-spacing:-1px;margin-bottom:1rem;text-align:left}.portal-contact .contact-info .contact-title:after{display:none}.portal-contact .contact-info .contact-description{color:hsla(0,0%,100%,.6);font-size:1.1rem;line-height:1.7;margin:0 0 2.5rem;text-align:left}.portal-contact .contact-methods{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:0}.portal-contact .contact-method{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05);border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.portal-contact .contact-method:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.1)}.portal-contact .contact-method .contact-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.portal-contact .contact-method .method-label{color:#fff;font-weight:600;margin-bottom:.2rem}.portal-contact .contact-method p{color:hsla(0,0%,100%,.6);font-size:.9rem}.portal-contact .social-links{display:flex;gap:.75rem}.portal-contact .social-links .social-link{align-items:center;backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;color:hsla(0,0%,100%,.7);display:flex;height:48px;justify-content:center;transition:all .3s ease;width:48px}.portal-contact .social-links .social-link:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);box-shadow:0 0 40px rgba(99,102,241,.3),0 0 80px rgba(99,102,241,.1);color:#fff;transform:translateY(-3px)}.portal-contact .contact-form{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:24px;padding:2.5rem}.portal-contact .form-group{margin-bottom:1.5rem}.portal-contact .form-label{color:#fff;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.portal-contact .form-input{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-sizing:border-box;color:#fff;font-family:inherit;font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.portal-contact .form-input:focus{background:hsla(0,0%,100%,.08);border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.15);outline:none}.portal-contact .form-input::placeholder{color:hsla(0,0%,100%,.4)}.portal-contact .form-input:-webkit-autofill,.portal-contact .form-input:-webkit-autofill:active,.portal-contact .form-input:-webkit-autofill:focus,.portal-contact .form-input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 1000px #0d0d1a!important;-webkit-text-fill-color:#fff!important;background-color:#0d0d1a!important;box-shadow:inset 0 0 0 1000px #0d0d1a!important;caret-color:#fff!important;transition:background-color 5000s ease-in-out 0s,color 5000s ease-in-out 0s}.portal-contact .form-textarea{min-height:140px;resize:vertical}.portal-contact .btn-submit{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);border-radius:12px;box-shadow:0 4px 15px rgba(99,102,241,.4);color:#fff;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem 2rem;text-transform:none;transition:all .3s ease}.portal-contact .btn-submit:hover{box-shadow:0 8px 30px rgba(99,102,241,.5);transform:translateY(-2px)}.portal-contact .btn-submit svg{transition:transform .3s ease}.portal-contact .btn-submit:hover svg{transform:translateX(4px)}.portal-footer{background:#020617;border-top:1px solid hsla(0,0%,100%,.1);color:#fff;flex-shrink:0;padding:1.25rem 0}.portal-footer .footer-content{align-items:center;display:flex;gap:1rem;justify-content:space-between}@media(max-width:480px){.portal-footer .footer-content{flex-direction:column;gap:.5rem}}.portal-footer p{color:hsla(0,0%,100%,.5);margin:0}.portal-footer .visitor-counter{align-items:center;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:100px;color:hsla(0,0%,100%,.6);display:flex;font-size:.8rem;gap:.5rem;padding:.35rem .75rem;transition:all .3s ease}.portal-footer .visitor-counter svg{opacity:.6}.portal-footer .visitor-counter span{color:hsla(0,0%,100%,.7);font-weight:600}.portal-footer .visitor-counter:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15)}.mobile-menu-toggle{background:transparent;border:none;cursor:pointer;display:none;padding:.5rem;z-index:1001}.mobile-menu-toggle .hamburger{display:flex;flex-direction:column;gap:5px;width:24px}.mobile-menu-toggle .hamburger span{background:#fff;border-radius:2px;display:block;height:2px;transition:all .3s ease}.mobile-menu-toggle.active .hamburger span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active .hamburger span:nth-child(2){opacity:0}.mobile-menu-toggle.active .hamburger span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-nav-overlay{backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:999}.mobile-nav-overlay.active{opacity:1;visibility:visible}.mobile-nav-menu{background:#020617;border-left:1px solid hsla(0,0%,100%,.1);display:none;height:100%;overflow-y:auto;padding:5rem 1.5rem 2rem;position:fixed;right:-280px;top:0;transition:right .3s ease,visibility .3s ease;visibility:hidden;width:280px;z-index:1000}.mobile-nav-menu.active{right:0;visibility:visible}.mobile-nav-menu .mobile-nav-links{display:flex;flex-direction:column;gap:.5rem}.mobile-nav-menu .mobile-nav-links button{background:transparent;border:none;border-radius:12px;color:hsla(0,0%,100%,.8);cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 1.25rem;text-align:left;transition:all .2s ease;width:100%}.mobile-nav-menu .mobile-nav-links button:hover{background:hsla(0,0%,100%,.1);color:#fff}.mobile-nav-menu .mobile-language-switcher{border-top:1px solid hsla(0,0%,100%,.1);margin-top:2rem;padding-top:1.5rem}@media(max-width:1024px)and (min-width:769px){.portal-hero .hero-title{font-size:3rem}.portal-hero .hero-subtitle{font-size:1.15rem}.portal-hero .hero-content{max-width:700px}.portal-hero .hero-buttons .btn-primary,.portal-hero .hero-buttons .btn-secondary{padding:.875rem 2rem}.portal-section{padding:2.5rem 0}.portal-section .section-title{font-size:2rem}.portal-about .about-intro{gap:1.5rem}.portal-about .about-text{font-size:1rem;max-width:500px}.portal-about .about-stats .stat-item{padding:.875rem 1.25rem}.portal-about .about-stats .stat-item h4{font-size:2rem}.portal-about .skill-category{padding:1rem}.portal-about .skill-category .skill-title{font-size:.9rem}.portal-about .skill-category .skill-items{font-size:.75rem}.portal-services .service-card .MuiCardContent-root{padding:2rem 1.5rem}.portal-services .service-card .service-icon{height:60px;margin-bottom:1rem;width:60px}.portal-services .service-card .service-icon svg{height:30px;width:30px}.portal-services .service-card .service-title{font-size:1rem}.portal-services .service-card .service-description{font-size:.875rem}.portal-benefits .benefit-item{padding:2rem 1.25rem}.portal-benefits .benefit-item .benefit-icon{height:56px;margin-bottom:1rem;width:56px}.portal-benefits .benefit-item .benefit-icon svg{height:28px;width:28px}.portal-benefits .benefit-item h6{font-size:1rem}.portal-benefits .benefit-item p{font-size:.875rem}.portal-portfolio .project-card .MuiCardContent-root{padding:1.5rem}.portal-portfolio .project-card .project-title{font-size:1rem}.portal-portfolio .project-card .project-description{font-size:.85rem}.portal-contact .contact-info{padding:2rem}.portal-contact .contact-info .contact-title{font-size:2rem}.portal-contact .contact-info .contact-description{font-size:1rem}.portal-contact .contact-form{padding:2rem}.portal-contact .contact-method{padding:.875rem}.portal-contact .contact-method .contact-icon{height:42px;width:42px}}@media(max-width:768px){.mobile-menu-toggle,.mobile-nav-menu,.mobile-nav-overlay{display:block}.portal-nav .nav-links{display:none}.portal-nav .nav-content{position:relative}.portal-nav .nav-logo{font-size:1.75rem}.portal-section{padding:2.5rem 0}.portal-section .section-title{font-size:2rem;margin-bottom:1rem}.portal-section .section-subtitle{font-size:1.05rem;margin-bottom:1.75rem}.portal-hero{padding:1.5rem 0}.portal-hero:before{height:350px;width:350px}.portal-hero:after{height:300px;width:300px}.portal-hero .hero-content{padding:1.5rem}.portal-hero .hero-badge{font-size:.85rem;margin-bottom:1.75rem;padding:.5rem 1rem}.portal-hero .hero-title{font-size:clamp(2rem,8vw,3rem);margin-bottom:1.25rem}.portal-hero .hero-subtitle{font-size:1.15rem;margin-bottom:1.25rem}.portal-hero .hero-description{font-size:1rem;line-height:1.7;margin-bottom:2rem}.portal-hero .hero-buttons{flex-direction:column;gap:1rem}.portal-hero .hero-buttons .btn-primary,.portal-hero .hero-buttons .btn-secondary{font-size:1.05rem;padding:1rem 2rem;width:100%}.portal-about .about-intro{flex-direction:column;gap:1.5rem;text-align:center}.portal-about .about-text{font-size:1.05rem;line-height:1.7}.portal-about .about-stats{flex-direction:row;flex-wrap:wrap;justify-content:center}.portal-about .about-stats .stat-item{min-width:120px;padding:1rem 1.5rem}.portal-about .about-stats .stat-item h4{font-size:2.25rem}.portal-about .about-stats .stat-item p{font-size:.875rem}.portal-about .skill-category{padding:1.25rem}.portal-about .skill-category .skill-title{font-size:1rem;margin-bottom:.625rem}.portal-about .skill-category .skill-items{font-size:.875rem;line-height:1.6}.portal-services .service-card .MuiCardContent-root{padding:1.75rem 1.25rem}.portal-services .service-card .service-icon{height:56px;margin-bottom:1rem;width:56px}.portal-services .service-card .service-icon svg{height:28px;width:28px}.portal-services .service-card .service-title{font-size:1.05rem;margin-bottom:.5rem}.portal-services .service-card .service-description{font-size:.9rem;line-height:1.5}.portal-benefits .benefit-item{padding:1.75rem 1.25rem}.portal-benefits .benefit-item .benefit-icon{height:52px;margin-bottom:1rem;width:52px}.portal-benefits .benefit-item .benefit-icon svg{height:26px;width:26px}.portal-benefits .benefit-item h6{font-size:1.05rem;margin-bottom:.5rem}.portal-benefits .benefit-item p{font-size:.9rem;line-height:1.5}.portal-portfolio .project-card .MuiCardContent-root{padding:1.5rem 1.25rem}.portal-portfolio .project-card .project-category{font-size:.75rem;padding:.35rem .875rem}.portal-portfolio .project-card .project-title{font-size:1.05rem}.portal-portfolio .project-card .project-description{font-size:.9rem;line-height:1.5}.portal-contact .contact-form{padding:1.75rem}.portal-contact .contact-info{margin-bottom:1rem;padding:1.75rem}.portal-contact .contact-info .contact-title{font-size:2rem;text-align:center}.portal-contact .contact-info .contact-description{font-size:1.05rem;text-align:center}.portal-contact .contact-methods{margin-bottom:1.5rem}.portal-contact .contact-method{padding:1rem}.portal-contact .contact-method .contact-icon{height:44px;width:44px}.portal-contact .contact-method .contact-icon svg{height:22px;width:22px}.portal-contact .contact-method .method-label{font-size:.95rem}.portal-contact .contact-method p{font-size:.9rem}.portal-contact .form-label{font-size:.95rem}.portal-contact .form-input{font-size:1rem;padding:1rem 1.125rem}.portal-contact .btn-submit{font-size:1.05rem;padding:1rem 1.75rem}.portal-footer{padding:1.25rem 0}.portal-footer p{font-size:.9rem}}@media(max-width:480px){.portal-section{padding:2rem 0}.portal-section .section-title{font-size:1.75rem}.portal-hero .hero-content{padding:1.25rem}.portal-hero .hero-title{font-size:clamp(1.75rem,9vw,2.5rem);letter-spacing:-.5px}.portal-hero .hero-subtitle{font-size:1.05rem}.portal-hero .hero-description{font-size:.95rem}.portal-hero .hero-buttons .btn-primary,.portal-hero .hero-buttons .btn-secondary{font-size:1rem;padding:.875rem 1.75rem}.portal-about .about-stats .stat-item{padding:.875rem 1.25rem}.portal-about .about-stats .stat-item h4{font-size:2rem}.portal-about .about-stats .stat-item p{font-size:.8rem}.portal-about .skill-category{padding:1rem}.portal-about .skill-category .skill-title{font-size:.95rem}.portal-about .skill-category .skill-items{font-size:.8rem}.benefit-item .MuiCardContent-root,.project-card .MuiCardContent-root,.service-card .MuiCardContent-root{padding:1.25rem!important}.portal-services .service-card .service-title{font-size:.95rem}.portal-services .service-card .service-description{font-size:.85rem}.portal-benefits .benefit-item h6{font-size:.95rem}.portal-benefits .benefit-item p{font-size:.85rem}.portal-portfolio .project-card .project-title{font-size:.95rem}.portal-portfolio .project-card .project-description{font-size:.85rem}.portal-contact .contact-form,.portal-contact .contact-info{padding:1.5rem}.portal-contact .contact-info .contact-title{font-size:1.75rem}.portal-contact .contact-info .contact-description{font-size:1rem}.portal-contact .form-group{margin-bottom:1.25rem}.portal-contact .form-input{font-size:1rem;padding:.875rem 1rem}.mobile-nav-menu{align-items:center;display:flex;flex-direction:column;padding:5rem 2rem 2rem;right:-100%;width:100%}.mobile-nav-menu .mobile-nav-links{max-width:280px;width:100%}.mobile-nav-menu .mobile-nav-links button{font-size:1.1rem;padding:1.125rem 1.5rem;text-align:center}.mobile-nav-menu .mobile-language-switcher{display:flex;justify-content:center;max-width:280px;width:100%}}@media(max-height:500px)and (orientation:landscape){.portal-main{scroll-snap-type:none}.portal-hero,.portal-section{height:auto;min-height:auto;padding:2rem 0}.portal-hero .hero-content{padding:1rem}.portal-hero .hero-title{font-size:2rem}.portal-hero .hero-buttons{flex-direction:row;justify-content:center}.portal-hero .hero-buttons .btn-primary,.portal-hero .hero-buttons .btn-secondary{width:auto}}@media(max-width:768px)and (orientation:portrait){.portal-main{scroll-snap-type:none}.portal-hero,.portal-section{scroll-snap-align:none;scroll-snap-stop:normal}.portal-hero{align-items:center;display:flex;height:auto;justify-content:center;min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);padding:2rem 0}.portal-hero .hero-content{align-items:center;display:flex;flex-direction:column;padding:1.5rem;text-align:center}.portal-hero .hero-badge{font-size:.85rem;margin-bottom:1.5rem;padding:.4rem 1rem}.portal-hero .hero-title{font-size:clamp(2rem,8vw,2.75rem);line-height:1.15;margin-bottom:1rem}.portal-hero .hero-subtitle{font-size:1rem;margin-bottom:1rem}.portal-hero .hero-description{font-size:.9rem;line-height:1.6;margin-bottom:2rem}.portal-hero .hero-buttons{flex-direction:column;gap:.75rem;max-width:300px;width:100%}.portal-hero .hero-buttons .btn-primary,.portal-hero .hero-buttons .btn-secondary{padding:.875rem 1.5rem;width:100%}.portal-section{height:auto;min-height:auto;padding:3rem 0}}@media(min-width:1920px){.portal-hero .hero-title{font-size:5rem}.portal-hero .hero-subtitle{font-size:1.5rem}.portal-section .section-title{font-size:3.5rem}}.scroll-navigator{align-items:center;backdrop-filter:blur(12px);background:rgba(15,23,42,.8);border:1px solid hsla(0,0%,100%,.1);border-radius:30px;display:flex;flex-direction:column;gap:8px;padding:12px 8px;position:fixed;right:24px;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:100}.scroll-navigator.hidden{opacity:0;pointer-events:none}.scroll-navigator:hover{background:rgba(15,23,42,.95);border-color:hsla(0,0%,100%,.2)}.scroll-navigator .scroll-nav-btn{align-items:center;background:transparent;border:none;border-radius:50%;color:hsla(0,0%,100%,.3);cursor:pointer;display:flex;height:36px;justify-content:center;opacity:0;pointer-events:none;transform:scale(.8);transition:all .3s ease;width:36px}.scroll-navigator .scroll-nav-btn.visible{color:hsla(0,0%,100%,.7);opacity:1;pointer-events:auto;transform:scale(1)}.scroll-navigator .scroll-nav-btn.visible:hover{background:rgba(99,102,241,.3);color:#fff;transform:scale(1.1)}.scroll-navigator .scroll-nav-btn.up.visible{animation:pulse-up 2s ease-in-out infinite}.scroll-navigator .scroll-nav-btn.down.visible{animation:pulse-down 2s ease-in-out infinite}.scroll-navigator .scroll-nav-btn svg{height:20px;width:20px}.scroll-navigator .scroll-nav-track{background:hsla(0,0%,100%,.1);border-radius:2px;height:40px;overflow:hidden;position:relative;width:4px}.scroll-navigator .scroll-nav-track .scroll-nav-indicator{animation:scroll-indicator-pulse 2s ease-in-out infinite;background:linear-gradient(180deg,#6366f1,#0ea5e9);border-radius:2px;height:50%;left:0;position:absolute;top:0;width:100%}@keyframes pulse-up{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1) translateY(-3px)}}@keyframes pulse-down{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1) translateY(3px)}}@keyframes scroll-indicator-pulse{0%,to{height:40%;opacity:.6}50%{height:60%;opacity:1}}@media(max-width:768px){.scroll-navigator{gap:6px;padding:8px 6px;right:12px}.scroll-navigator .scroll-nav-btn{height:32px;width:32px}.scroll-navigator .scroll-nav-btn svg{height:18px;width:18px}.scroll-navigator .scroll-nav-track{height:30px}}@media(max-width:480px),(max-width:768px)and (orientation:portrait){.scroll-navigator{display:none!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}