*{padding:0;box-sizing:border-box}:root{--font-size-hero:2.25rem;--font-size-h1:1.85rem;--font-size-h2:1.6rem;--font-size-h3:1.3rem;--font-size-body-large:1.1rem;--font-size-body:1rem;--section-spacing-top:3rem;--section-spacing-bottom:3rem;--content-padding-x:1.5rem;--space-xl:1.5rem;--space-4xl:2rem;--space-5xl:2.5rem}.portfolio-header{background-color:#000;text-align:center;padding:.4rem .2rem;width:100%;box-sizing:border-box;position:relative;z-index:100}.portfolio-header .nav-menu{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin:0;padding:.2rem .4rem;list-style:none;width:100%;gap:.2rem;box-sizing:border-box}.portfolio-header .nav-links{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.2rem;flex:1 1 auto;min-width:0}.portfolio-header .nav-menu div.header-controls{display:flex!important;align-items:center;justify-content:flex-end;flex:0 0 auto;margin-left:.1rem;gap:.3rem}.portfolio-header .header-controls .control-btn{font-size:.85rem;min-width:32px;padding:.2rem}.portfolio-header .nav-link{color:white;text-decoration:none;padding:.2rem clamp(0.15rem,1.2vw,0.4rem);border-radius:4px;transition:all .3s ease;font-size:clamp(0.5rem,2vw,0.75rem);font-weight:500;white-space:nowrap;letter-spacing:-0.02em}@media screen and (max-width:380px){.portfolio-header .nav-menu{padding:.5rem .25rem;gap:.2rem}.portfolio-header .nav-link{font-size:.65rem}}@media screen and (max-width:340px){:root{--switch-height:16px;--switch-width:34px;--ball-size:12px;--ball-travel:18px}.portfolio-header .nav-link{font-size:.6rem;padding:.2rem .25rem}.portfolio-header .nav-links{gap:.15rem}}@media screen and (max-width:310px){:root{--switch-height:14px;--switch-width:30px;--ball-size:10px;--ball-travel:16px}.portfolio-header .nav-link{font-size:.55rem;letter-spacing:-0.01em}}.portfolio-header .nav-link:hover{background-color:rgba(255,255,255,0.1);transform:translateY(-1px)}.portfolio-header .nav-item{list-style:none;margin:0;padding:0}.portfolio-header hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);margin:.5rem 0 0 0}#photo{width:min(240px,68vw);height:min(240px,68vw);object-fit:cover;border-radius:50%;padding-right:0;flex-shrink:0}.infos{padding:3rem 1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:2rem;width:100%}.texts{max-width:100%!important;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.texts h1,.texts h2{text-align:center;margin-left:0;margin-right:0;width:100%}.texts h2::after{left:50%!important;transform:translateX(-50%)!important;width:150px!important}.icons-favicon{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem;flex-wrap:wrap}.icons-favicon a{display:flex;align-items:center;justify-content:center}.icons-favicon img{margin-top:0!important;padding-top:0!important;width:52px;height:52px;object-fit:contain;flex-shrink:0;display:block;background:transparent!important}.icons-favicon .favicon-icon{background:transparent!important;border:none!important;box-shadow:none!important;padding:0;margin:0}#text-message{margin:0;text-align:center}.skills{text-align:center;display:flex;flex-direction:column;padding:2rem 1rem 3rem 1rem;border-radius:16px;margin:1rem}.skills h1{font-size:2rem;margin:1rem 0 1.5rem 0;width:100%}.skill-image{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1rem;display:grid;width:100%;padding:1rem .5rem;justify-items:center;justify-content:center}.skill-image>*:last-child:nth-child(odd){grid-column:1 / -1}.skills .code-icon{color:#fff;background:linear-gradient(135deg,rgba(255,255,255,0.1) 0,rgba(255,255,255,0.05) 100%);width:140px;height:140px;cursor:pointer;transition:all .3s ease;padding:1rem;border-radius:12px;border:2px solid rgba(255,255,255,0.1);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center}.skills .code-icon:active{transform:scale(0.95);background:linear-gradient(135deg,rgba(59,130,246,0.15) 0,rgba(147,197,253,0.1) 100%)}.skills img{width:3rem;height:3rem;margin-bottom:.5rem;filter:brightness(1.1) drop-shadow(0 2px 4px rgba(0,0,0,0.1));transition:all .3s ease}.skills p{font-size:.9rem;font-weight:600;margin:0;text-align:center}@media screen and (max-width:360px){.skill-image{grid-template-columns:1fr 1fr;gap:1.2rem;padding:.8rem .5rem}.skills .code-icon{width:120px;height:120px;padding:.8rem}.skills img{width:2.5rem;height:2.5rem}.skills p{font-size:.8rem}}.about{display:flex;padding:2rem 1.25rem;flex-direction:column;align-items:flex-start;text-align:left}.about div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1rem!important;width:100%}.about h2{text-align:left;width:100%;font-size:1.8rem;margin:.5rem 0 1.25rem 0}.about h2::after{left:0!important;transform:none!important}.about img{max-width:min(200px,60vw);height:auto;border-radius:12px;margin:0 auto 1rem auto;display:block}.about p{font-size:1rem;line-height:1.65;margin:0;text-align:left;color:var(--space-gray-300)}.checkbox{opacity:0;position:absolute;width:0;height:0}.label{border-radius:50px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:2px;position:relative;height:var(--switch-height);width:var(--switch-width);border:1.2px solid rgba(255,255,255,0.3);background-color:transparent;flex-shrink:0;transition:all .3s ease}.label .ball{display:none}.control-btn i{color:inherit;opacity:1!important}footer{padding:1rem 0 .75rem 0}.footer-content{padding:0 .5rem;text-align:center}.footer-main{grid-template-columns:1fr;gap:1rem;text-align:center}.footer-section{text-align:center}.contact-item{justify-content:center;margin-bottom:1rem;flex-direction:column;gap:.5rem}.contact-info{align-items:center;text-align:center}.social-links{justify-content:center;flex-direction:column;align-items:center;gap:.6rem}.social-link{padding:.65rem 1rem;width:100%;max-width:320px;justify-content:center;border-radius:10px;transition:transform .18s ease,box-shadow .18s ease}.social-link img{width:20px;height:20px}.contact-icon{width:40px;height:40px;margin:0 auto .5rem auto}.contact-icon img{width:20px;height:20px}footer h3{font-size:1.3rem;margin-bottom:.6rem}.footer-about p{font-size:.9rem;line-height:1.5}.texts h2::after{content:"";position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);width:120px;height:6px;background:linear-gradient(90deg,var(--space-blue-deep) 0,var(--space-blue-medium) 100%);border-radius:3px;box-shadow:0 2px 10px rgba(59,130,246,0.3)}.portfolio-main>div{width:calc(100% - 2.5rem)!important;margin-left:1.25rem!important;margin-right:1.25rem!important;box-sizing:border-box!important}@media screen and (max-width:360px){header{padding:.5rem .25rem}.portfolio-header .nav-menu div:first-child{gap:.25rem}.portfolio-header .nav-link{font-size:.75rem;padding:.35rem .45rem}.label{transform:scale(1)}}@media screen and (max-width:320px){.portfolio-header .nav-menu div:first-child{flex-direction:column;gap:.5rem}.portfolio-header .nav-link{width:100%;max-width:120px;text-align:center}}.timeline{padding:var(--space-lg) 0}.timeline::before{left:20px;width:2px}.timeline-item{margin-bottom:var(--space-xl);display:block}.timeline-item::before{left:20px;top:15px;width:12px;height:12px;transform:none}.timeline-date{position:static;display:inline-block;margin-bottom:var(--space-sm);font-size:.8rem}.timeline-content{margin-left:50px!important;max-width:none;text-align:left}.timeline-content h3{font-size:1.1rem}.timeline-content h4{font-size:.9rem}.timeline-content p{font-size:.85rem}.tech-tag{font-size:.7rem;padding:.2rem .5rem}@media screen and (max-width:320px){.timeline-content{margin-left:40px!important;padding:var(--space-md)}.timeline::before{left:15px}.timeline-item::before{left:15px}}.education-grid{grid-template-columns:1fr;gap:var(--space-lg)}.education-item{padding:var(--space-lg);margin-bottom:var(--space-md)}.education-icon{width:50px;height:50px;font-size:1.2rem;margin-bottom:var(--space-md)}.education-content h3{font-size:1.1rem;line-height:1.4}.education-content h4{font-size:.9rem}.education-period{font-size:.8rem;padding:.2rem .6rem}.education-content p{font-size:.85rem;line-height:1.5}.achievement-tag{font-size:.7rem;padding:.2rem .5rem}@media screen and (max-width:320px){.education-item{padding:var(--space-md)}.education-icon{width:45px;height:45px;font-size:1.1rem}.education-content h3{font-size:1rem}.education-content h4{font-size:.85rem}}