html{scroll-behavior:smooth}h1{color:#fff;padding-bottom:10px}body{background:linear-gradient(135deg,#f0f4f7,#e8f0fe 25%,#fce7f3 75%,#f3e8ff);background-attachment:fixed;font-family:Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;min-height:100vh;padding:0;position:relative}body:before{background:radial-gradient(circle at 25% 25%,rgba(174,216,204,.1) 0,transparent 50%),radial-gradient(circle at 75% 75%,rgba(205,102,136,.1) 0,transparent 50%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.container{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:hsla(0,0%,100%,.5);border:1px solid hsla(0,0%,100%,.2);border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,.1);display:flex;justify-content:center;margin:60px auto;max-width:1200px;padding:40px}.image-container{border:4px solid hsla(0,0%,100%,.3);border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,.2);margin-right:40px;overflow:hidden;padding:0;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.image-container:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.image-container img{border-radius:50%;display:block;height:280px;object-fit:cover;width:280px}.text-container{color:#fff;flex:1 1;padding:20px}.text-container h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#534e4e,#5f5656);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:15px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.text-container p{color:rgba(27,26,26,.9);font-size:1.2rem;line-height:1.6;margin-bottom:10px}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.content{flex:1 1}.footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(34,34,34,.95);border-top:1px solid hsla(0,0%,100%,.1);color:#fff;padding:30px 20px;text-align:center}.footer-text{font-size:14px;margin-bottom:8px;opacity:.8}.footer-tech{color:#b8d4ce;font-size:12px;font-style:italic;font-weight:300;letter-spacing:.5px;margin-bottom:20px;opacity:.6}.footer-icons{display:flex;gap:20px;justify-content:center}.footer-icons a{background:hsla(0,0%,100%,.1);border-radius:50%;color:#fff;font-size:24px;padding:10px;transition:all .3s ease}.footer-icons a:hover{background:hsla(0,0%,100%,.2);color:#00aced;-webkit-transform:translateY(-3px);transform:translateY(-3px)}.fancy-hr{background:linear-gradient(90deg,transparent,rgba(174,216,204,.4),rgba(205,102,136,.4),transparent);border:0;border-radius:2px;height:3px;margin:4rem auto;width:60%}@media screen and (max-width:1024px){.container{margin:40px auto;max-width:90%;padding:30px}.text-container h1{font-size:2.5rem}}@media screen and (max-width:768px){.container{flex-direction:column;margin:30px auto;padding:25px;text-align:center}.image-container{margin-bottom:25px;margin-right:0}.image-container img{height:220px;width:220px}.text-container{padding:10px}.text-container h1{font-size:2.2rem;margin-bottom:12px}.text-container p{font-size:1.1rem}.fancy-hr{margin:3rem auto;width:80%}}@media screen and (max-width:480px){.container{margin:20px auto;padding:20px}.image-container img{height:180px;width:180px}.text-container h1{font-size:1.8rem}.text-container p{font-size:1rem}.footer{padding:25px 15px}.footer-icons a{font-size:20px;padding:8px}}@media screen and (max-width:360px){.container{margin:15px auto;padding:15px}.image-container img{height:150px;width:150px}.text-container h1{font-size:1.6rem}}.navbar{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.9));box-shadow:0 8px 32px rgba(0,0,0,.06);color:#2c3e50;display:flex;justify-content:space-between;padding:20px 30px;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:1000}.navbar:before{background:linear-gradient(90deg,#b8d4ce,#e6c2d1);content:"";height:3px;left:0;position:absolute;right:0;top:0}.navbar-logo{color:#534e4e;font-family:Pacifico,cursive;font-size:1.5rem;font-weight:700;letter-spacing:-.5px;padding-left:2%;transition:all .3s ease}.navbar-logo:hover{color:#3d3939;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.navbar-links{align-items:center;display:flex;gap:25px;list-style:none;margin:0;padding-right:2%}.navbar-links li{margin:0}.navbar-links li a{border-radius:25px;color:#3d3939;font-size:1rem;font-weight:500;padding:10px 18px;position:relative;text-decoration:none;transition:all .3s ease}.navbar-links li a:hover{background:linear-gradient(135deg,rgba(184,212,206,.12),rgba(230,194,209,.12));color:#1a252f;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.navbar-links li:last-child{background:rgba(184,212,206,.08);border-radius:50%;padding:10px;transition:all .3s ease}.navbar-links li:last-child:hover{background:rgba(184,212,206,.15);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.navbar-toggle{align-items:center;border-radius:8px;cursor:pointer;display:none;flex-direction:column;height:40px;justify-content:center;padding:8px;transition:all .3s ease;width:40px}.navbar-toggle:hover{background:rgba(184,212,206,.1)}.bar{background:linear-gradient(90deg,#b8d4ce,#e6c2d1);border-radius:2px;height:3px;margin:3px 0;-webkit-transform-origin:center;transform-origin:center;transition:all .3s ease;width:25px}.navbar-toggle.active .bar:first-child{-webkit-transform:rotate(45deg) translate(6px,6px);transform:rotate(45deg) translate(6px,6px)}.navbar-toggle.active .bar:nth-child(2){opacity:0}.navbar-toggle.active .bar:nth-child(3){-webkit-transform:rotate(-45deg) translate(6px,-6px);transform:rotate(-45deg) translate(6px,-6px)}.flag-icon{border-radius:4px;cursor:pointer;height:20px;transition:all .3s ease;width:28px}.flag-icon:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}@media (max-width:768px){.navbar{padding:18px 20px}.navbar-logo{font-size:1.3rem;padding-left:0}.navbar-toggle{display:flex}.navbar-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(248,250,252,.98));border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.15);flex-direction:column;gap:20px;left:20px;max-height:calc(100vh - 120px);opacity:0;overflow-y:auto;padding:30px 20px;position:fixed;right:20px;top:80px;-webkit-transform:translateY(-20px);transform:translateY(-20px);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden}.navbar-links.show{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);visibility:visible}.navbar-links li{width:100%}.navbar-links li a{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.6);border-radius:12px;box-sizing:border-box;color:#3d3939;display:block;font-size:1.1rem;font-weight:600;padding:15px 20px;text-align:center;width:100%}.navbar-links li a:hover{background:linear-gradient(135deg,rgba(184,212,206,.2),rgba(230,194,209,.2));-webkit-transform:translateY(-2px);transform:translateY(-2px)}.navbar-links li:last-child{align-self:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(184,212,206,.15),rgba(230,194,209,.15));border-radius:15px;padding:12px;width:auto}.navbar-links li:last-child:hover{background:linear-gradient(135deg,rgba(184,212,206,.25),rgba(230,194,209,.25));-webkit-transform:translateY(-2px);transform:translateY(-2px)}}@media (max-width:480px){.navbar{padding:15px}.navbar-logo{font-size:1.4rem;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-links{left:15px;padding:25px 15px;right:15px;top:70px}.navbar-links li a{font-size:1rem;padding:12px 18px}}.language-dropdown{position:relative}.language-selector{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:5px;padding:5px;transition:background-color .3s ease}.language-selector:hover{background-color:hsla(0,0%,100%,.1)}.dropdown-arrow{font-size:12px;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.language-dropdown.open .dropdown-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.language-dropdown-menu{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 6px rgba(0,0,0,.1);min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.language-option{align-items:center;color:#333;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background-color .3s ease}.language-option:hover{background-color:#f5f5f5}.language-option.active{background-color:#e3f2fd;font-weight:700}.flag-icon{height:auto;width:20px}@media (max-width:768px){.language-dropdown-menu{background-color:initial;border:none;box-shadow:none;margin-top:10px;position:static}.language-option{border-bottom:1px solid hsla(0,0%,100%,.1);color:#555}.language-option:hover{background-color:hsla(0,0%,100%,.1)}}.cv-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.5);border-radius:24px;box-shadow:0 10px 40px rgba(0,0,0,.1);margin:0 auto;max-width:1200px;padding:0 20px}.section-row{align-items:center;display:flex;gap:30px;margin-bottom:4rem;padding:2rem 0;width:100%}.section{color:#333;display:flex;flex:1 1;justify-content:center;padding:2rem}.section-left{justify-content:flex-start}.section-right{justify-content:flex-end}.section-icon-left,.section-icon-right{align-items:center;display:flex;flex-shrink:0;justify-content:center;padding:1.5rem;width:120px}.dark-box{background:linear-gradient(135deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.95));border:1px solid rgba(184,212,206,.2);border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.08);max-width:500px;min-height:250px;padding:3rem;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease;width:100%}.dark-box:before{background:linear-gradient(90deg,rgba(184,212,206,.6),rgba(230,194,209,.6));height:4px}.dark-box:hover{box-shadow:0 20px 60px rgba(0,0,0,.12);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.dark-box.left,.dark-box.right{align-items:flex-start;flex-direction:column;text-align:left}.dark-box h2{color:#333;font-size:2rem;margin-bottom:2rem}.cv-list{list-style:none;margin:0;padding:0;width:100%}.cv-item{border-bottom:1px solid rgba(184,212,206,.2);margin-bottom:2rem;padding-bottom:1.5rem}.cv-item:last-child{border-bottom:none;margin-bottom:0}.cv-year{background:linear-gradient(135deg,rgba(184,212,206,.8),rgba(230,194,209,.8));border-radius:20px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:1rem;padding:.5rem 1rem}.cv-item strong{color:#333;display:block;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.cv-item>div>div:first-of-type{color:rgba(184,212,206,.8);font-weight:500;margin-bottom:1rem}.cv-item p{color:#666;line-height:1.8}.cv-item p div{margin-bottom:.5rem;padding-left:1rem;position:relative}.cv-item p div:before{color:rgba(184,212,206,.8);content:"•";font-weight:700;left:0;position:absolute}.skills{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%}.skill-group:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.skill-group h3{align-items:center;color:#333;display:flex;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.skill-group h3:before{background:rgba(184,212,206,.8);border-radius:50%;content:"";height:8px;margin-right:.5rem;width:8px}.skill-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.skill-list-item{align-items:center;background:hsla(0,0%,100%,.8);border:1px solid rgba(184,212,206,.2);border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.05);color:#333;display:flex;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.skill-list-item:hover{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.skill-list.stacked-list{flex-direction:column;gap:.3rem}.skill-list.stacked-list .skill-list-item{border-radius:8px;justify-content:flex-start;padding:.4rem .8rem}.skill-icon{color:rgba(184,212,206,.8);font-size:1.1rem;margin-right:8px}.skills-lang{display:flex;flex-direction:column;gap:1.5rem;width:100%}.skill-bar span{align-items:center;color:#333;display:flex;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.bar{background:rgba(184,212,206,.2);height:12px;overflow:hidden;width:100%}.bar,.fill{border-radius:6px}.fill{background:linear-gradient(90deg,rgba(184,212,206,.8),rgba(230,194,209,.8));display:block;height:100%;transition:width 1s ease-in-out}.cv-icon{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,rgba(184,212,206,.6),rgba(230,194,209,.6));-webkit-background-clip:text;background-clip:text;color:rgba(184,212,206,.6);-webkit-filter:drop-shadow(0 4px 8px rgba(184,212,206,.3));filter:drop-shadow(0 4px 8px rgba(184,212,206,.3));flex-shrink:0;font-size:4rem;transition:all .3s ease}.cv-icon:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.intro-icons-one,.intro-icons-two{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;cursor:pointer;font-size:2.5rem;padding:1rem;transition:all .3s ease}.intro-icons-one{color:rgba(184,212,206,.9)}.intro-icons-two{color:rgba(230,194,209,.9)}.intro-icons-one:hover,.intro-icons-two:hover{background:hsla(0,0%,100%,.25);box-shadow:0 10px 25px rgba(0,0,0,.15);-webkit-transform:translateY(-5px) scale(1.05);transform:translateY(-5px) scale(1.05)}.icon-tooltip{display:inline-block;margin:.5rem;position:relative}.tooltip-text{background:rgba(0,0,0,.85);border-radius:8px;color:#fff;font-size:.9rem;left:50%;opacity:0;padding:8px 16px;pointer-events:none;position:absolute;top:120%;-webkit-transform:translateX(-50%) translateY(10px);transform:translateX(-50%) translateY(10px);transition:all .3s ease;visibility:hidden;white-space:nowrap;z-index:10}.icon-tooltip:hover .tooltip-text{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0);visibility:visible}@media (max-width:1024px){.cv-container{padding:0 15px}.section-row{gap:20px;margin-bottom:3rem}.section-icon-left,.section-icon-right{width:100px}.cv-icon{font-size:3.5rem}.dark-box{max-width:450px;min-height:220px;padding:2.5rem}.skills{grid-template-columns:1fr}}@media (max-width:768px){.cv-container{padding:0 10px}.section-row{flex-direction:column;gap:15px;margin-bottom:2.5rem}.section-icon-left,.section-icon-right{order:-1;padding:1rem;width:100%}.cv-icon{font-size:3rem}.dark-box{margin:0;max-width:90%;min-height:auto;padding:2rem}.dark-box h2{font-size:1.7rem;margin-bottom:1.5rem}.skill-list{gap:.4rem}.skill-list-item{font-size:.85rem;padding:.4rem .8rem}.skill-bar,.skill-group{padding:1.25rem}}@media (max-width:480px){.intro-icons-one,.intro-icons-two{font-size:2rem;padding:.8rem}.dark-box{padding:1.5rem}.dark-box h2{font-size:1.5rem}.cv-year{font-size:.8rem;padding:.4rem .8rem}.skill-bar span,.skill-group h3{font-size:1rem}.skill-list-item{font-size:.8rem;padding:.3rem .6rem}.cv-item strong{font-size:1.1rem}}@media (max-width:360px){.cv-container{padding:0 8px}.dark-box{padding:1.25rem}.dark-box h2{font-size:1.3rem}.intro-icons-one,.intro-icons-two{font-size:1.8rem;padding:.7rem}.skill-bar,.skill-group{padding:1rem}}.h1-services{text-align:center}.h1-services,h2{color:#534e4e}.service-grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:20px}.service-box{background:linear-gradient(135deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.95));border:1px solid rgba(174,216,204,.2);border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.08);color:#333;display:flex;flex:1 1 250px;flex-direction:column;height:200px;justify-content:space-between;overflow:hidden;padding:1.5rem;position:relative;text-align:center;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease;width:300px}.service-box:hover{box-shadow:0 20px 60px rgba(0,0,0,.12);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.service-box:before{background:linear-gradient(90deg,#b8d4ce,#e6c2d1);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.service-box-link{color:inherit;text-decoration:none}.service-icon{color:rgba(184,212,206,.7);-webkit-filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2.5rem;margin-bottom:.5rem}.service-box h3{color:#2c3e50;font-size:1.3rem;font-weight:700;letter-spacing:-.5px;line-height:1.3;margin:.5rem 0}.service-box p{-webkit-text-fill-color:transparent;background:#555;-webkit-background-clip:text;background-clip:text;color:#546e7a;font-size:1rem;font-style:italic;font-weight:400;letter-spacing:.3px;line-height:1.5;margin:0;text-align:center}.detail-icon{color:rgba(184,212,206,.7)!important;-webkit-filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:.9rem;margin-right:8px}.dark-box{background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(248,250,252,.98));border:1px solid rgba(184,212,206,.15);border-radius:15px;box-shadow:0 8px 32px rgba(0,0,0,.06);overflow:hidden;padding:2rem;position:relative}.dark-box:before{background:linear-gradient(90deg,rgba(184,212,206,.6),rgba(174,216,204,.8));border-radius:15px 15px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.dark-box h2{color:#2c3e50;font-size:1.8rem;font-weight:700;letter-spacing:-.5px;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.dark-box h2:after{background:linear-gradient(90deg,rgba(184,212,206,.8),rgba(174,216,204,.6));border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:40px}.dark-box p{color:#4a5568;font-size:1rem;font-weight:400;line-height:1.7;margin-bottom:.8rem;text-align:left}.dark-box p:first-of-type{color:#2d3748;font-size:1.1rem;font-weight:500;line-height:1.6;margin-bottom:1.2rem}.dark-box p:empty{margin-bottom:1.2rem}.dark-box p:has-text("Amit kínálok:"),.dark-box p:has-text("Eszközök"),.dark-box p:has-text("Herramientas"),.dark-box p:has-text("Lo que ofrezco:"),.dark-box p:has-text("Stack Tecnológico:"),.dark-box p:has-text("Tech Stack:"),.dark-box p:has-text("Technológiák:"),.dark-box p:has-text("Tools"),.dark-box p:has-text("What I offer:"){color:#2d3748;font-size:1.05rem;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;margin-top:1.5rem;text-transform:uppercase}.dark-box .detail-icon{color:rgba(184,212,206,.8)!important;-webkit-filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:1rem;margin-right:12px;vertical-align:middle}.dark-box p:contains("Adatbázisok:"),.dark-box p:contains("Back-end:"),.dark-box p:contains("Bases de datos:"),.dark-box p:contains("CMS"),.dark-box p:contains("Cloud"),.dark-box p:contains("Databases:"),.dark-box p:contains("Felhő"),.dark-box p:contains("Front-end:"),.dark-box p:contains("Nube"){background:rgba(184,212,206,.08);border-left:3px solid rgba(184,212,206,.4);border-radius:8px;font-family:Courier New,monospace;font-size:.95rem;margin:.5rem 0;padding:.6rem 1rem}.dark-box{transition:all .3s ease}.section-row:hover .dark-box{box-shadow:0 12px 40px rgba(0,0,0,.08);-webkit-transform:translateY(-2px);transform:translateY(-2px)}@media (max-width:768px){.dark-box{padding:1.5rem}.dark-box h2{font-size:1.6rem}.dark-box p{font-size:.95rem}}.service-box:after{background:linear-gradient(90deg,rgba(184,212,206,.3),rgba(184,212,206,.7),rgba(184,212,206,.3));border-radius:2px;bottom:0;content:"";height:2px;left:50%;opacity:0;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:opacity .3s ease;width:60px}.service-box:hover:after{opacity:1}.service-box h3:after{background:rgba(184,212,206,.5);border-radius:1px;content:"";display:block;height:2px;margin:8px auto;width:30px}.service-box{-webkit-animation:fadeInUp .6s ease-out;animation:fadeInUp .6s ease-out}.service-box:nth-child(2){-webkit-animation-delay:.1s;animation-delay:.1s}.service-box:nth-child(3){-webkit-animation-delay:.2s;animation-delay:.2s}@media (max-width:768px){.service-box p{font-size:.95rem}.service-box h3{font-size:1.2rem}}.service-box-link:focus .service-box{outline:2px solid rgba(184,212,206,.7);outline-offset:2px}.portfolio-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.5);border-radius:24px 24px 0 0;box-shadow:0 -5px 20px rgba(0,0,0,.1);color:#2c3e50;margin:60px auto;max-width:1200px;min-height:70vh;padding:3rem 2rem;position:relative;z-index:1}.portfolio-title{color:#534e4e;font-size:3rem;font-weight:700;margin-bottom:3rem;text-align:center}.portfolio-grid{grid-gap:2.5rem;align-items:stretch;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));justify-content:center}.portfolio-card{background:linear-gradient(135deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.95));border:1px solid rgba(174,216,204,.2);border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.08);color:#333;display:flex;flex-direction:column;overflow:hidden;padding:0;position:relative;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.portfolio-card:hover{box-shadow:0 20px 60px rgba(0,0,0,.12);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.portfolio-card:before{background:linear-gradient(90deg,#b8d4ce,#e6c2d1);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.portfolio-image{border-bottom:2px solid #cee1dd;border-radius:20px 20px 0 0;height:300px;object-fit:cover;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:100%}.portfolio-card:hover{-webkit-transform:scale(1.02);transform:scale(1.02)}.portfolio-content{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;padding:2rem}.portfolio-content h2{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:.8rem;text-align:left}.portfolio-date{background:linear-gradient(135deg,rgba(184,212,206,.15),rgba(230,194,209,.15));border-radius:15px;color:#b8d4ce;display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;padding:.4rem 1rem;text-transform:uppercase;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.portfolio-content p{color:#666;font-size:.95rem;line-height:1.8;margin-bottom:1.5rem}.portfolio-tags{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;margin-top:auto}.tag{background:hsla(0,0%,100%,.8);border:1px solid rgba(184,212,206,.2);border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.05);color:#333;display:inline-block;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.tag:hover{background:#fff;border-color:rgba(184,212,206,.4);box-shadow:0 4px 12px rgba(0,0,0,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.portfolio-empty{background:linear-gradient(135deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.95));border:1px solid rgba(174,216,204,.2);border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.08);color:#666;font-size:1.1rem;padding:4rem 2rem;text-align:center}.portfolio-loading{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:2rem}.portfolio-skeleton{-webkit-animation:pulse 2s infinite;animation:pulse 2s infinite;background:linear-gradient(135deg,hsla(0,0%,100%,.7),hsla(0,0%,100%,.9));border:1px solid rgba(174,216,204,.2);border-radius:20px;height:400px;overflow:hidden}@-webkit-keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@media (max-width:1024px){.portfolio-container{padding:2.5rem 1.5rem}.portfolio-title{font-size:2.5rem;margin-bottom:2.5rem}.portfolio-grid{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.portfolio-image{height:200px}.portfolio-content{padding:1.5rem}}@media (max-width:768px){.portfolio-container{border-radius:16px 16px 0 0;padding:2rem 1rem}.portfolio-title{font-size:2.2rem;margin-bottom:2rem}.portfolio-grid{gap:1.5rem;grid-template-columns:1fr}.portfolio-card{border-radius:16px}.portfolio-card:before,.portfolio-image{border-radius:16px 16px 0 0}.portfolio-image{height:180px}.portfolio-content{padding:1.25rem}.portfolio-content h2{font-size:1.3rem}.portfolio-content p{font-size:.9rem;margin-bottom:1.2rem}.portfolio-date{font-size:.8rem;padding:.3rem .8rem}.tag{font-size:.8rem;padding:.4rem .8rem}}@media (max-width:480px){.portfolio-container{padding:1.5rem .75rem}.portfolio-title{font-size:1.8rem;margin-bottom:1.5rem}.portfolio-image{height:160px}.portfolio-content{padding:1rem}.portfolio-content h2{font-size:1.2rem;margin-bottom:.6rem}.portfolio-content p{font-size:.85rem;margin-bottom:1rem}.portfolio-date{font-size:.75rem;margin-bottom:.8rem;padding:.25rem .6rem}.portfolio-tags{gap:.5rem}.tag{font-size:.75rem;padding:.3rem .6rem}}@media (max-width:360px){.portfolio-container{padding:1rem .5rem}.portfolio-title{font-size:1.6rem}.portfolio-image{height:140px}.portfolio-content{padding:.8rem}.portfolio-content h2{font-size:1.1rem}.portfolio-content p{font-size:.8rem}}.portfolio-button{background:linear-gradient(135deg,#b8d4ce,#e6c2d1);border:none;border-radius:25px;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:600;margin-top:.5rem;padding:.8rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.portfolio-button:hover{background:linear-gradient(135deg,#a4c7bb,#deb8c8);box-shadow:0 8px 20px rgba(184,212,206,.3);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.portfolio-card.clickable{cursor:pointer}.portfolio-card.clickable:hover{-webkit-transform:translateY(-5px);transform:translateY(-5px)}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:4px solid rgba(184,212,206,.2);border-left-color:rgba(184,212,206,.8);border-radius:50%;-webkit-filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));height:60px;margin-bottom:1rem;width:60px}.loading-text{color:#546e7a;font-size:1.1rem;font-weight:500;letter-spacing:.3px;margin:0}.portfolio-grid{-webkit-animation:fadeIn .5s ease-in;animation:fadeIn .5s ease-in}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.contact-container{margin:0 auto;max-width:800px;padding:2rem}.contact-header{margin-bottom:3rem;text-align:center}.contact-title{color:#2c3e50;font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:1rem}.contact-subtitle{color:#546e7a;font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px}.contact-form{background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(248,250,252,.98));border:1px solid rgba(184,212,206,.2);border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.08);overflow:hidden;padding:2.5rem;position:relative}.contact-form:before{background:linear-gradient(90deg,#b8d4ce,#e6c2d1);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-label{align-items:center;color:#2c3e50;display:flex;font-size:.95rem;font-weight:600;letter-spacing:.3px;margin-bottom:.5rem}.label-icon{color:rgba(184,212,206,.7);font-size:.9rem;margin-right:8px}.form-input,.form-select,.form-textarea{background:hsla(0,0%,100%,.8);border:2px solid rgba(184,212,206,.3);border-radius:12px;color:#2c3e50;font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{background:hsla(0,0%,100%,.95);border-color:rgba(184,212,206,.7);box-shadow:0 0 0 3px rgba(184,212,206,.1);outline:none}.form-input::-webkit-input-placeholder,.form-textarea::-webkit-input-placeholder{color:#94a3b8;font-style:italic}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8;font-style:italic}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5rem 1.5rem;cursor:pointer;padding-right:2.5rem}.form-textarea{line-height:1.6;min-height:120px;resize:vertical}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.error-message{align-items:center;color:#ef4444;display:flex;font-size:.875rem;font-weight:500;margin-top:.5rem}.error-message:before{content:"⚠";margin-right:4px}.submit-btn{align-items:center;background:linear-gradient(135deg,rgba(184,212,206,.9),rgba(174,216,204,.8));border:none;border-radius:12px;color:#2c3e50;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.3px;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#b8d4ce,rgba(174,216,204,.9));box-shadow:0 8px 25px rgba(184,212,206,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;-webkit-transform:none;transform:none}.btn-icon{font-size:1rem}.btn-secondary{background:transparent;border:2px solid rgba(184,212,206,.5);border-radius:12px;color:rgba(184,212,206,.8);cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-secondary:hover{background:rgba(184,212,206,.1);border-color:rgba(184,212,206,.7)}.success-message{background:linear-gradient(135deg,rgba(34,197,94,.05),rgba(34,197,94,.1));border:2px solid rgba(34,197,94,.2);border-radius:20px;padding:3rem 2rem;text-align:center}.success-icon{color:#22c55e;-webkit-filter:drop-shadow(0 4px 8px rgba(34,197,94,.2));filter:drop-shadow(0 4px 8px rgba(34,197,94,.2));font-size:4rem;margin-bottom:1.5rem}.success-message h2{color:#166534;font-size:1.8rem;font-weight:700;margin-bottom:1rem}.success-message p{color:#15803d;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.error-notification{align-items:flex-start;background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.2);border-radius:12px;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem}.error-icon{color:#ef4444;flex-shrink:0;font-size:1.2rem;margin-top:.1rem}.error-notification h4{color:#dc2626;font-size:1rem;font-weight:600;margin:0 0 .25rem}.error-notification p{color:#ef4444;font-size:.9rem;line-height:1.4;margin:0}@media (max-width:768px){.contact-container{padding:1rem}.contact-title{font-size:2rem}.contact-subtitle{font-size:1.1rem}.contact-form{padding:1.5rem}.form-row{gap:1rem;grid-template-columns:1fr}.form-label{font-size:.9rem}.form-input,.form-select,.form-textarea{font-size:.95rem;padding:.75rem}.submit-btn{font-size:1rem;padding:.875rem 1.5rem}}@media (max-width:480px){.contact-container{padding:.5rem}.contact-form{padding:1rem}.contact-title{font-size:1.75rem}.contact-subtitle{font-size:1rem}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.contact-form,.success-message{-webkit-animation:fadeInUp .6s ease-out;animation:fadeInUp .6s ease-out}.btn-secondary:focus,.form-input:focus,.form-select:focus,.form-textarea:focus,.submit-btn:focus{outline:2px solid rgba(184,212,206,.7);outline-offset:2px}.submit-btn:disabled .btn-icon{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}
/*# sourceMappingURL=main.72d1a040.css.map*/