:root{--bg-color: #0B0B0F;--text-main: #f3f3f5;--text-muted: #8c8c9a;--accent: #ff5c00;--border-color: rgba(255, 255, 255, .08);--glass-bg: rgba(20, 20, 26, .85);--font-family: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: "Cormorant Garamond", serif}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);line-height:1.5;width:100%;height:100%;overflow:hidden}a{color:var(--accent);text-decoration:none;transition:color .3s ease}a:hover{color:#fff;text-decoration:underline}.hotspot{display:flex;align-items:center;gap:.5rem;cursor:pointer;transform:translate(-50%,-50%);pointer-events:auto}.hotspot-dot{width:12px;height:12px;border-radius:50%;background-color:var(--accent);position:relative;box-shadow:0 0 10px var(--accent)}.hotspot-dot:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--accent);animation:hotspotPulse 2s infinite ease-out;opacity:0}.hotspot-label{background:#0a0a0ed9;border:1px solid var(--border-color);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;color:#fff;white-space:nowrap;opacity:.7;transition:opacity .3s ease,transform .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.hotspot:hover .hotspot-label{opacity:1;transform:scale(1.05)}@keyframes hotspotPulse{0%{transform:scale(.5);opacity:0}50%{opacity:.8}to{transform:scale(1.6);opacity:0}}.modal-overlay{position:fixed;inset:0;background:#03001266;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;z-index:100;padding:1.5rem;animation:fadeIn .4s ease}.modal-container{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:720px;max-height:80vh;padding:2.5rem;position:relative;box-shadow:0 20px 40px #00000080,inset 0 1px #ffffff1a;display:flex;flex-direction:column;overflow:hidden}.modal-close{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;color:var(--text-muted);font-size:2rem;line-height:1;cursor:pointer;transition:color .2s ease}.modal-close:hover{color:#fff}.modal-header{margin-bottom:1.5rem;flex-shrink:0}.modal-header .subtitle{display:block;font-size:.7rem;letter-spacing:.15em;color:var(--text-muted);font-weight:600;margin-bottom:.25rem}.modal-header .title{font-family:var(--font-heading);font-size:2.2rem;font-weight:600;color:#fff}.modal-header .role{font-size:.9rem;color:var(--text-muted)}.highlight{color:var(--accent)}.modal-content{flex-grow:1;overflow-y:auto;padding-right:.5rem}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#ffffff08}.modal-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--accent)}.modal-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;gap:1.5rem;flex-shrink:0}.tab-btn{background:none;border:none;color:var(--text-muted);font-size:.8rem;font-weight:600;padding-bottom:.75rem;cursor:pointer;position:relative;text-transform:uppercase}.tab-btn:hover{color:#fff}.tab-btn.active{color:var(--accent)}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background-color:var(--accent)}.highlight-text{font-size:1.1rem;font-style:italic;color:#fff;margin-bottom:1rem}.bio-para{color:var(--text-muted);font-size:.92rem;margin-bottom:1rem}.coordinates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border-top:1px solid var(--border-color);padding-top:1.5rem;margin-top:1.5rem}.coord-item span{display:block;font-size:.65rem;text-transform:uppercase;color:var(--text-muted)}.coord-item p{font-size:.88rem;font-weight:500}.timeline-list{display:flex;flex-direction:column;gap:2rem}.timeline-entry{border-left:2px solid var(--border-color);padding-left:1.25rem;position:relative}.timeline-entry:after{content:"";position:absolute;left:-5px;top:5px;width:8px;height:8px;border-radius:50%;background-color:var(--border-color)}.timeline-entry:hover:after{background-color:var(--accent);box-shadow:0 0 8px var(--accent)}.timeline-header{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);font-weight:600}.role-title{font-size:1rem;color:#fff;margin:.25rem 0}.timeline-entry .description{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.tech-pills,.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-pill,.tag-pill{background:#ffffff0d;border:1px solid rgba(255,255,255,.05);padding:.15rem .5rem;font-size:.7rem;border-radius:4px;color:var(--text-muted)}.projects-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.project-modal-card{background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.project-img-container{height:120px;overflow:hidden}.project-img-container img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-modal-card:hover .project-img-container img{transform:scale(1.05)}.project-modal-info{padding:1rem;display:flex;flex-direction:column;flex-grow:1}.project-modal-info h4{font-size:.95rem;color:#fff}.project-modal-info .category{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.project-modal-info .project-tags{margin-bottom:1rem}.launch-btn{font-size:.75rem;font-weight:600;color:var(--accent);margin-top:auto}.specs-dossier-grid{display:flex;flex-direction:column;border-top:1px solid var(--border-color);margin-bottom:2rem}.spec-row{border-bottom:1px solid var(--border-color);padding:1.25rem 0;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:1rem}.spec-meta{display:flex;flex-direction:column}.spec-index{font-size:.6rem;color:var(--text-muted);letter-spacing:.1em;font-weight:600}.spec-label{font-size:.85rem;font-weight:600;color:#fff}.spec-value{font-size:.92rem;font-weight:500;color:var(--accent);text-align:right}.spec-desc{grid-column:span 2;font-size:.78rem;color:var(--text-muted);margin-top:.25rem}.tech-parts-section{border-top:1px solid var(--border-color);padding-top:1.5rem}.tech-parts-title{font-size:.8rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;letter-spacing:.05em}.tech-parts-flex{display:flex;flex-wrap:wrap;gap:.75rem}.tech-part-badge{background:#ffffff08;border:1px solid var(--border-color);border-radius:4px;padding:.35rem .75rem;font-size:.8rem;color:#fff;display:flex;align-items:center;gap:.5rem}.part-number{font-size:.6rem;color:var(--text-muted);font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease}@media(max-width:768px){.modal-container{padding:1.5rem;max-height:90vh}.coordinates-grid{grid-template-columns:1fr;gap:1rem}.projects-modal-grid{grid-template-columns:1fr}.skills-3d-container,.projects-3d-container{width:90vw!important}.floating-3d{max-width:90vw!important;max-height:65vh!important}}.skills-3d-container,.projects-3d-container{position:relative;transform:translateY(50px) scale(.1);opacity:0;pointer-events:none;transition:transform .7s cubic-bezier(.34,1.56,.64,1),opacity .5s ease;width:580px;max-height:70vh;display:flex;flex-direction:column}.skills-3d-container.active,.projects-3d-container.active{transform:translateY(-90px) scale(1);opacity:1;pointer-events:auto}.floating-3d{width:100%!important;max-width:580px!important;max-height:55vh!important;padding:2rem!important;background:#14141ad9!important;border:1px solid rgba(255,92,0,.25)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;box-shadow:0 30px 60px #000000b3,0 0 40px #ff5c0026!important;border-radius:16px!important}.floating-3d .modal-close{top:1rem!important;right:1rem!important;font-size:1.75rem!important}.floating-3d .modal-header{margin-bottom:1.25rem!important}.floating-3d .modal-header .title{font-size:1.5rem!important}.floating-3d .specs-dossier-grid{margin-bottom:1.5rem!important}.floating-3d .spec-row{padding:.9rem 0!important}.glass-header{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);width:calc(100% - 3rem);max-width:1200px;height:4rem;background:#14141ab3;border:1px solid rgba(255,255,255,.08);border-radius:30px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;box-shadow:0 10px 30px #0006,inset 0 1px #ffffff0d}.header-logo{color:#fff;font-weight:700;font-size:1rem;letter-spacing:.1em}.logo-badge{font-size:.6rem;background:#ff5c0026;color:var(--accent);padding:.15rem .4rem;border-radius:4px;margin-left:.25rem;border:1px solid rgba(255,92,0,.25)}.header-nav{display:flex;gap:1.5rem}.nav-link-btn{background:none;border:none;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:color .3s ease,text-shadow .3s ease;letter-spacing:.05em}.nav-link-btn:hover,.nav-link-btn.active{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5)}.nav-link-btn.active{color:var(--accent);text-shadow:0 0 10px rgba(255,92,0,.5)}.header-controls{display:flex;gap:.75rem}.control-toggle-btn{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);padding:.4rem .8rem;border-radius:20px;font-size:.65rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .3s ease}.control-toggle-btn:hover{background:#ffffff14;color:#fff}.control-toggle-btn.active{background:#ff5c0026;border-color:var(--accent);color:#fff;box-shadow:0 0 15px #ff5c0040}.glass-footer{position:fixed;bottom:1.5rem;right:2rem;background:#14141ab3;border:1px solid rgba(255,255,255,.08);border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:40;padding:.6rem 1rem;font-size:.65rem;color:var(--text-muted);font-family:monospace;display:flex;flex-direction:column;gap:.2rem;box-shadow:0 5px 15px #0000004d}.footer-coordinates{color:#fff;font-weight:600}.audio-control-panel{position:fixed;bottom:1.5rem;left:2rem;background:#14141ab3;border:1px solid rgba(255,255,255,.08);border-radius:30px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:40;padding:.4rem 1rem .4rem .4rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 5px 15px #0000004d;pointer-events:auto}.audio-btn{width:2.2rem;height:2.2rem;border-radius:50%;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.audio-btn:hover{background:#ffffff14;color:#fff}.audio-btn.playing{background:#ff5c0026;border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px #ff5c0040}.audio-info{display:flex;flex-direction:column}.audio-title{font-size:.6rem;font-weight:700;color:#fff;letter-spacing:.05em}.audio-artist{font-size:.55rem;color:var(--text-muted)}.high-tech-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.05em}.form-group input,.form-group select,.form-group textarea{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:.6rem .8rem;color:#fff;font-size:.85rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:#ffffff0f;box-shadow:0 0 10px #8250ff33}.form-group select option{background:#030012;color:#fff}.transmission-btn{background:var(--accent);border:1px solid rgba(130,80,255,.4);color:#fff;padding:.8rem;font-size:.8rem;font-weight:700;border-radius:6px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease;margin-top:.5rem}.transmission-btn:hover{background:#5d16d1;box-shadow:0 0 15px #8250ff66;transform:translateY(-1px)}
