:root{--color-bg-primary:#1a1a1a;--color-bg-secondary:#242424;--color-text-primary:#e0e0e0;--color-text-secondary:#a0a0a0;--color-text-muted:#666;--color-accent:#d4a574;--color-accent-hover:#e5b88f;--color-border:#333;--color-border-light:#444;--font-display:"Playfair Display", serif;--font-body:"DM Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:5rem;--container-width:1200px;--transition-fast:.2s ease;--transition-base:.4s cubic-bezier(.25, .46, .45, .94)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}ul{list-style:none}.bg-atmosphere{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.bg-grid{opacity:.5;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;width:200%;height:200%;position:absolute;top:-50%;left:-50%;transform:perspective(500px)rotateX(60deg)}.bg-noise{opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");width:100%;height:100%;position:absolute;top:0;left:0}.container{max-width:var(--container-width);padding:0 var(--spacing-md);margin:0 auto}.section-block{padding:var(--spacing-lg) 0}.divider{background:var(--color-border);height:1px;margin:var(--spacing-lg) 0;border:0}.main-header{padding:var(--spacing-xl) 0 var(--spacing-lg);border-bottom:1px solid var(--color-border)}.name-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-text-primary);margin-bottom:var(--spacing-lg);font-size:clamp(4rem,12vw,9rem);font-weight:900;line-height:.85}.header-meta{gap:var(--spacing-md);font-family:var(--font-mono);border-top:1px solid var(--color-border);padding-top:var(--spacing-md);grid-template-columns:1fr 1fr 1.6fr 1.4fr;font-size:.9rem;display:grid}.meta-group{flex-direction:column;gap:.5rem;display:flex}.meta-group .label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.meta-group .value{color:var(--color-text-primary)}.social-links{gap:1rem;display:flex}.link{text-decoration:underline;-webkit-text-decoration-color:var(--color-border-light);text-decoration-color:var(--color-border-light);text-underline-offset:4px}.link:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.manifesto-text{font-family:var(--font-display);max-width:90%;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.2}.highlight{color:var(--color-accent);font-style:italic}.section-label{font-family:var(--font-mono);color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:1rem;display:block}.timeline{gap:var(--spacing-lg);flex-direction:column;display:flex}.timeline-item{gap:var(--spacing-md);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);grid-template-columns:1fr 3fr;display:grid}.timeline-item:last-child{border-bottom:none;padding-bottom:0}.timeline-meta{font-family:var(--font-mono);color:var(--color-text-secondary);flex-direction:column;gap:.5rem;font-size:.9rem;display:flex}.timeline-meta .period{color:var(--color-accent);font-weight:500}.timeline-content{flex-direction:column;gap:1rem;display:flex}.role{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1.1}.role-summary{color:var(--color-text-primary);max-width:800px;font-size:1.1rem}.role-details{color:var(--color-text-secondary);flex-direction:column;gap:.5rem;padding-left:1.2rem;list-style:outside;display:flex}.role-details li{margin-bottom:.25rem}.tech-stack{font-family:var(--font-mono);color:var(--color-text-muted);border-top:1px dashed var(--color-border);margin-top:1rem;padding-top:1rem;font-size:.85rem}.project-list{flex-direction:column;display:flex;position:relative}.cursor-follower{pointer-events:none;z-index:5;opacity:0;will-change:transform;width:fit-content;max-width:800px;height:fit-content;max-height:600px;transition:opacity .3s,transform .3s;position:fixed;transform:translate(-50%,-50%)scale(.8)rotate(-5deg)}.cursor-follower.active{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}.cursor-follower img{object-fit:cover;filter:grayscale()contrast(1.2)brightness(.6);border-radius:8px;width:100%;height:100%;box-shadow:0 30px 60px #0009}.project-item{z-index:10;border-top:1px solid var(--color-border);padding:var(--spacing-md) 0;cursor:pointer;opacity:1;grid-template-columns:1fr 4fr 2fr;align-items:baseline;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:grid;position:relative;transform:translate(0)}.project-item:last-child{border-bottom:1px solid var(--color-border)}.project-list:hover .project-item{opacity:.3}.project-list:hover .project-item:hover{opacity:1;border-color:var(--color-accent);transform:translate(15px)}.project-meta{font-family:var(--font-mono);color:var(--color-text-muted);transition:color var(--transition-fast);gap:1rem;font-size:.9rem;display:flex}.project-name{font-family:var(--font-display);margin:0;font-size:clamp(2rem,3vw,3.5rem);font-weight:900;transition:color .3s;display:inline}.project-item:hover .project-name{color:var(--color-accent)}.project-details-preview{text-align:right;font-family:var(--font-mono);color:var(--color-text-muted);transition:color var(--transition-fast);font-size:.85rem}.project-item:hover .project-details-preview{color:var(--color-text-secondary)}.skills-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.skill-cat-title{font-family:var(--font-mono);color:var(--color-accent);text-transform:uppercase;margin-bottom:1rem;font-size:1rem}.skill-list{color:var(--color-text-secondary);line-height:1.8}.main-footer{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border);margin-top:var(--spacing-xl);font-family:var(--font-mono);color:var(--color-text-muted);justify-content:space-between;font-size:.85rem;display:flex}.btn-primary{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-fast);border:1px solid var(--color-accent);cursor:pointer;background-color:var(--color-accent);color:var(--color-bg-primary);padding:1rem 2rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.btn-primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background-color:#000c;justify-content:flex-end;width:100%;height:100%;transition:opacity .4s;display:flex;position:fixed;top:0;left:0}.modal-overlay.show{opacity:1}.modal-panel{border-left:1px solid var(--color-border);background-color:#111;flex-direction:column;width:100%;max-width:800px;height:100%;transition:transform .5s cubic-bezier(.19,1,.22,1);display:flex;overflow-y:auto;transform:translate(100%);box-shadow:-20px 0 50px #00000080}.modal-overlay.show .modal-panel{transform:translate(0)}.modal-header{border-bottom:1px solid var(--color-border);z-index:10;background:#111;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.modal-id{font-family:var(--font-mono);color:var(--color-accent);letter-spacing:.1em;font-size:.8rem}.close-modal{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;background:0 0;align-items:center;gap:1rem;padding:.5rem 1rem;transition:all .2s;display:flex}.close-modal:hover{border-color:var(--color-accent);background:#d4a5741a}.close-text{font-family:var(--font-mono);letter-spacing:.1em;font-size:.75rem}.close-icon{font-size:1.2rem;line-height:1}.modal-hero{border-bottom:1px solid var(--color-border);background:#000;width:100%;height:400px;position:relative;overflow:hidden}.modal-hero img{object-fit:cover;opacity:.8;filter:grayscale(20%);width:100%;height:100%}.modal-content-grid{flex-direction:column;gap:2.5rem;padding:3rem 2rem;display:flex}.modal-big-title{font-family:var(--font-display);color:#fff;text-transform:uppercase;font-size:clamp(2.5rem,5vw,4rem);line-height:.95}.spec-sheet{border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border);grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:1.5rem 0;display:grid}.spec-item{flex-direction:column;gap:.5rem;display:flex}.spec-label{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.05em;font-size:.7rem}.spec-value{font-family:var(--font-body);color:var(--color-text-primary);font-size:.95rem;font-weight:500}.modal-body{flex-direction:column;gap:1rem;max-width:65ch;display:flex}.body-label{font-family:var(--font-mono);color:var(--color-accent);letter-spacing:.1em;font-size:.75rem}.modal-description-text{color:#ccc;font-size:1.1rem;line-height:1.7}.modal-actions{gap:1rem;margin-top:1rem;display:flex}.action-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--color-border);flex:1;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;font-size:.85rem;transition:all .2s;display:flex}.action-btn.primary{background:var(--color-text-primary);color:#000;border-color:var(--color-text-primary);font-weight:600}.action-btn.primary:hover{background:var(--color-accent);border-color:var(--color-accent)}.action-btn.secondary{color:var(--color-text-primary);background:0 0}.action-btn.secondary:hover{border-color:var(--color-text-primary);background:#ffffff0d}#contact{padding:8rem 0}.stars-area,.stars-area>:not(.stars-canvas){position:relative}.stars-canvas{pointer-events:none;background-color:#2424244d;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.contact-simple{position:relative}.back-to-top{border:1px solid var(--color-border);width:50px;height:50px;color:var(--color-text-secondary);transition:all var(--transition-fast);z-index:90;background:var(--color-bg-primary);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(10px)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-3px)}.contact-simple{text-align:center;max-width:600px;margin:0 auto}.contact-simple p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:1.5rem;font-family:var(--font-display)}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.5,0,0,1),transform 1s cubic-bezier(.5,0,0,1);transform:translateY(30px)}.reveal.revealed{opacity:1;transform:none}.project-item.reveal.revealed{transition:all .3s cubic-bezier(.25,.46,.45,.94)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}@media (width<=900px){.name-title{font-size:15vw}.timeline-item,.project-item,.header-meta{grid-template-columns:1fr;gap:1rem}.project-item{padding-left:0!important}.project-details-preview{text-align:left}.modal-panel{max-width:100%}.spec-sheet{grid-template-columns:1fr;gap:1rem}.modal-hero{height:250px}.modal-header{padding:1rem 1.5rem}.modal-content-grid{padding:2rem 1.5rem}.modal-actions{flex-direction:column}.cursor-follower{display:none}}
