.navbar{position:fixed;top:0;left:0;width:100%;height:80px;display:flex;justify-content:space-between;align-items:center;padding:0 40px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);z-index:1000;transition:var(--transition)}.navbar-logo{font-size:1.5rem;font-weight:700;text-decoration:none;color:#000;letter-spacing:-.5px;text-transform:uppercase}.navbar-right{display:flex;gap:30px;align-items:center}.navbar-link{text-decoration:none;color:var(--text-main);font-weight:500;font-size:.95rem;transition:var(--transition);position:relative}.navbar-link:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:0;background-color:var(--primary);transition:width .3s}.navbar-link:hover{color:var(--primary)}.navbar-link:hover:after{width:100%}.admin-link{color:var(--accent)}.logout-button{background:none;border:1px solid var(--border);padding:8px 16px;border-radius:20px;color:var(--text-muted)}.logout-button:hover{background:var(--bg-surface);color:#d63031;border-color:#d63031}.hamburger-menu{display:none;font-size:1.5rem;color:var(--text-main);cursor:pointer}@media (max-width: 768px){.navbar{padding:0 20px}.hamburger-menu{display:block}.navbar-right{position:absolute;top:80px;left:0;width:100%;background:white;flex-direction:column;padding:20px;gap:20px;border-bottom:1px solid var(--border);transform:translateY(-200%);transition:transform .4s ease;z-index:999}.navbar-right.open{transform:translateY(0);box-shadow:var(--shadow-md)}}.footer{background-color:#1a1a1a;color:#fff;padding:60px 20px 20px;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-contact .contact-item{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:#aaa}.contact-link{color:#fff;text-decoration:none;transition:color .2s}.contact-link:hover{color:var(--accent)}.footer-social{display:flex;gap:20px}.social-link{color:#fff;font-size:1.5rem;opacity:.8;transition:var(--transition)}.social-link:hover{opacity:1;transform:translateY(-3px);color:var(--accent)}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#666}.access-lock-link{color:#444;text-decoration:none;display:flex;align-items:center;gap:5px}.access-lock-link:hover{color:#888}.home-container{position:relative;height:100vh;width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden;background-color:#000}.home-bg-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%) translateY(-50%);z-index:0;object-fit:cover}.home-bg-image{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;z-index:0}.home-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:1}.home-content{position:relative;z-index:2;text-align:center;color:#fff}.cursor{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.progetti-page-title{text-align:center;font-size:2.5rem;font-weight:300;color:var(--primary);margin-bottom:50px}.progetti-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:40px}.progetto-card{display:block;text-decoration:none;background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid transparent}.progetto-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-md);border-color:var(--border)}.card-image-container{width:100%;height:250px;overflow:hidden;background-color:#f0f0f0}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.progetto-card:hover .card-image{transform:scale(1.05)}.card-info{padding:25px}.card-title{font-size:1.25rem;color:var(--text-main);margin-bottom:10px;font-weight:600}.card-description{color:var(--text-muted);font-size:.95rem;margin-bottom:15px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-badge{font-size:.8rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:1px}.project-detail-page{animation:fadeIn .5s ease-out}.project-header{text-align:center;margin-bottom:40px}.project-main-title{font-size:3rem;font-weight:300;color:var(--primary);margin-bottom:10px;line-height:1.1}.project-subtitle{font-size:1.2rem;color:var(--text-muted);max-width:800px;margin:0 auto}.gallery-section{max-width:1000px;margin:0 auto 60px}.main-display-container{position:relative;width:100%;height:500px;background:#f0f0f0;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;border:1px solid var(--border);margin-bottom:20px;display:flex;align-items:center;justify-content:center}.main-display-img{width:100%;height:100%;object-fit:contain;background:#000}.overlay-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.6);color:#fff;padding:10px 20px;border-radius:30px;opacity:0;transition:opacity .3s;pointer-events:none;display:flex;align-items:center;gap:8px}.main-display-container:hover .overlay-hint{opacity:1}.nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.8);border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary);opacity:0;transition:all .3s}.main-display-container:hover .nav-btn{opacity:1}.nav-btn.prev{left:10px}.nav-btn.next{right:10px}.nav-btn:hover{background:white;transform:translateY(-50%) scale(1.1)}.thumbnail-strip{display:flex;gap:15px;overflow-x:auto;padding-bottom:10px;scroll-behavior:smooth}.thumbnail-strip::-webkit-scrollbar{height:6px}.thumbnail-strip::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.thumb-item{flex:0 0 calc(33.333% - 10px);aspect-ratio:16/9;cursor:pointer;border-radius:var(--radius);overflow:hidden;border:2px solid transparent;transition:all .2s;opacity:.7}.thumb-item img{width:100%;height:100%;object-fit:cover}.thumb-item:hover{opacity:1}.thumb-item.active{border-color:var(--primary);opacity:1;transform:scale(.98)}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.95);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s}.lightbox-content{max-width:90vw;max-height:90vh}.lightbox-content img{max-width:100%;max-height:90vh;box-shadow:0 0 20px #00000080}.lightbox-close{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:3rem;cursor:pointer;padding:20px;opacity:.7}.lightbox-nav:hover{opacity:1}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}.lightbox-counter{position:absolute;bottom:20px;color:#fff;font-size:1rem;letter-spacing:2px}.extra-resources-grid{margin-top:60px;border-top:1px solid var(--border);padding-top:40px}.extra-resources-grid h3{text-align:center;margin-bottom:30px;color:var(--text-muted)}.project-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.gallery-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;justify-content:center}.wide-item{grid-column:span 2}.pdf-viewer{width:100%;height:500px;border:none}.project-text-container{max-width:800px;margin:60px auto 0}.tiptap-content{color:var(--text-main);font-size:1.1rem;line-height:1.8}.tiptap-content h2{color:var(--primary);margin-top:40px}.tiptap-content p{margin-bottom:20px}@media (max-width: 768px){.main-display-container{height:300px}.thumb-item{flex:0 0 calc(45% - 10px)}.project-main-title{font-size:2.2rem}.lightbox-nav{font-size:2rem;padding:10px}}.about-page{padding-bottom:60px}.about-header{text-align:center;margin-bottom:50px}.about-main-title{font-size:3rem;font-weight:300;color:var(--primary);text-transform:uppercase;letter-spacing:2px}.section-subtitle{font-size:1.8rem;color:var(--text-main);margin-bottom:25px;font-weight:400}.profile-grid{display:flex;gap:50px;margin-bottom:80px;align-items:flex-start}.profile-image-col{flex:1;max-width:400px}.profile-image{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-md);display:block}.profile-text-col{flex:1.5;margin-top:-10px}.profile-text-col>div:first-child p,.profile-text-col>div:first-child h2{margin-top:0!important;padding-top:0!important;line-height:1.2}.profile-lead{font-size:1.25rem;line-height:1.6;color:var(--primary);margin-bottom:30px;font-weight:500}.profile-body{font-size:1rem;line-height:1.8;color:var(--text-muted)}.skills-section{margin-bottom:80px;background:#f9f9f9;padding:40px;border-radius:12px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:30px}.skill-card{background:white;padding:20px;box-shadow:var(--shadow-sm)}.skill-header{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:600;color:var(--text-main)}.skill-bar-bg{width:100%;height:8px;background:#eee;border-radius:4px;overflow:hidden}.skill-bar-fill{height:100%;background-color:var(--primary);border-radius:4px;transition:width 1s ease-out}.philosophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:30px}.philosophy-card{background:white;padding:30px;border-left:4px solid var(--accent)}.philosophy-card h3{color:var(--primary);margin-bottom:15px;font-size:1.3rem}.philosophy-card p{color:var(--text-muted);line-height:1.6}@media (max-width: 900px){.profile-grid{flex-direction:column;align-items:flex-start}.profile-image-col{width:100%;max-width:100%}.about-main-title{font-size:2.2rem}}.login-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);background-color:var(--bg-surface)}.login-form{background:white;padding:40px;border-radius:12px;box-shadow:var(--shadow-md);width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:30px;color:var(--primary);font-weight:300}.login-form button{width:100%;margin-top:10px}.cv-page{max-width:1000px;padding-bottom:60px}.cv-header{text-align:center;margin-bottom:50px}.cv-title{font-size:3rem;font-weight:300;color:var(--primary);margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.cv-role{font-size:1.5rem;color:#333;margin-bottom:20px;font-weight:500}.cv-desc{font-size:1.1rem;color:#666;max-width:700px;margin:0 auto 30px;line-height:1.6}.download-btn-hero{display:inline-block;background-color:var(--primary);color:#fff;padding:12px 30px;border-radius:30px;text-decoration:none;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #2c55304d}.download-btn-hero:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.cv-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:50px}.stat-card{background:white;padding:25px;border-radius:12px;box-shadow:0 4px 10px #0000000d;border:1px solid #eee;text-align:center}.stat-card.full-width{grid-column:1 / -1}.stat-card h3{margin-top:0;color:#888;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary);margin:10px 0 0}.stat-text{font-size:1.2rem;color:#333;margin:10px 0 0}.skills-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:15px}.skill-tag{background:#f1f8f2;color:var(--primary);padding:6px 14px;border-radius:20px;font-size:.95rem;font-weight:500}.cv-viewer-container{width:100%;height:800px;background:#525659;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #00000026}.cv-object{width:100%;height:100%;border:none}.pdf-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff}@media (max-width: 768px){.cv-stats-grid{grid-template-columns:1fr}.cv-viewer-container{height:500px}.cv-title{font-size:2.2rem}}:root{--primary: #2c5530;--primary-hover: #1e3a24;--accent: #c5a065;--bg-body: #ffffff;--bg-surface: #f8f9fa;--bg-input: #ffffff;--text-main: #2d3436;--text-muted: #636e72;--text-light: #ffffff;--border: #e9ecef;--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 8px 20px rgba(0,0,0,.08);--radius: 8px;--font-main: "Helvetica Neue", Helvetica, Arial, sans-serif;--transition: all .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-body);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;padding-top:80px}.page-container{max-width:1200px;margin:0 auto;padding:40px 20px}.unified-card{background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.center-text{text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;display:flex;justify-content:center;align-items:center;padding:20px;animation:fadeIn .3s ease-out}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 50px #0000004d;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:slideUp .3s ease-out}.modal-content.wide-modal{max-width:900px}.modal-content.form-container{max-width:600px}.modal-header{padding:20px 30px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#fff}.modal-header h2{margin:0;color:var(--primary);font-weight:300;font-size:1.5rem}.close-btn,.close-button{background:none;border:none;font-size:1.8rem;color:#999;cursor:pointer;line-height:1}.modal-body-scroll{padding:30px;overflow-y:auto;flex:1}.form-section{background:var(--bg-surface);padding:20px;border-radius:var(--radius);margin-bottom:25px;border:1px solid var(--border)}.form-section h3{margin-top:0;margin-bottom:15px;color:#555;font-size:1.1rem;text-transform:uppercase}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#444;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2c55301a}.error-message,.status-message{padding:10px;border-radius:6px;font-size:.9rem;margin-bottom:15px}.error-message,.status-message.error{background-color:#fff5f5;color:#e03131;border:1px solid #ffc9c9}.status-message.success{background-color:#ebfbee;color:#2b8a3e;border:1px solid #c3fae8}.form-actions{padding:20px 30px;background:white;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:15px}.btn-primary,button.primary{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .3s}.btn-primary:hover,button.primary:hover{background:var(--primary-hover)}.btn-primary:disabled,button.primary:disabled{background:#94a396;cursor:wait}.btn-secondary,.cancel-btn{background:white;border:1px solid #ccc;color:#555;padding:12px 24px;border-radius:6px;font-weight:600;cursor:pointer}.btn-secondary:hover{background:#f8f9fa}.card-title p,.project-main-title p,.project-subtitle p,.tiptap-clean p{margin:0;padding:0;display:inline}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
