@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&display=swap";:root{--bg-deep: #080808;--bg-primary: #0d0d0d;--bg-surface: #151515;--bg-elevated: #1c1c1c;--accent: #c8a97d;--accent-light: #e2cba8;--accent-dim: #8a7456;--steel: #5a7080;--steel-light: #7a9aab;--text-primary: #ece8e3;--text-secondary: #9a9590;--text-muted: #5e5a56;--text-dark: #3a3835;--glass-bg: rgba(255, 255, 255, .02);--glass-border: rgba(255, 255, 255, .06);--glass-hover: rgba(200, 169, 125, .04);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Space Grotesk", sans-serif;--font-serif: "Playfair Display", Georgia, serif;--header-height: 80px;--container-max: 1400px;--container-padding: clamp(20px, 4vw, 48px);--blur-sm: 8px;--blur-md: 20px;--blur-lg: 40px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 32px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .5s cubic-bezier(.16, 1, .3, 1);--transition-dramatic: .8s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:auto}body{font-family:var(--font-sans);background-color:var(--bg-deep);color:var(--text-primary);overflow-x:hidden;cursor:none}@media (max-width: 768px){body{cursor:auto}}a{text-decoration:none;color:inherit}button{cursor:none;font-family:inherit;border:none;background:none}img{display:block;max-width:100%}ul{list-style:none}::selection{background:#c8a97d40;color:var(--text-primary)}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:99998;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.loader-screen{position:fixed;inset:0;z-index:100000;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;flex-direction:column}.loader-text{display:flex;flex-direction:column;align-items:center;gap:12px}.loader-greeting{font-size:1.2rem;color:var(--text-muted);letter-spacing:8px;font-weight:300}.loader-name{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-style:italic;color:var(--accent);letter-spacing:2px}.scroll-progress-track{position:fixed;right:0;top:0;width:2px;height:100vh;z-index:99990;background:#ffffff08}.scroll-progress-bar{width:100%;height:0%;background:linear-gradient(180deg,var(--accent),var(--accent-dim));transition:height .05s linear;box-shadow:0 0 8px #c8a97d4d}.custom-cursor{position:fixed;top:0;left:0;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--accent);pointer-events:none;z-index:99999;transition:width .35s,height .35s,border-color .35s,background .35s,opacity .35s;transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:.8}.custom-cursor.hover{width:60px;height:60px;background:#c8a97d14;border-color:var(--accent-light);opacity:1}.custom-cursor.clicking{transform:translate(-50%,-50%) scale(.75)}@media (max-width: 768px){.custom-cursor{display:none!important}}.app-wrapper{position:relative;min-height:100vh}.navbar{position:fixed;top:0;left:0;width:100%;height:var(--header-height);z-index:1000;display:flex;align-items:center;justify-content:center;padding:0 var(--container-padding);transition:all var(--transition-smooth)}.navbar.scrolled{background:#080808e6;backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border-bottom:1px solid var(--glass-border)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--container-max)}.navbar-logo{font-family:var(--font-serif);font-size:1.6rem;font-weight:700;font-style:italic;color:var(--accent);letter-spacing:1px;transition:opacity var(--transition-fast)}.navbar-logo:hover{opacity:.7}.navbar-links{display:flex;gap:6px;align-items:center}.navbar-link{position:relative;padding:8px 18px;font-size:.82rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;border-radius:var(--radius-sm);transition:color var(--transition-fast);cursor:none}.navbar-link:hover,.navbar-link.active{color:var(--text-primary)}.navbar-link:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%) scaleX(0);width:16px;height:1px;background:var(--accent);transition:transform var(--transition-smooth)}.navbar-link:hover:after,.navbar-link.active:after{transform:translate(-50%) scaleX(1)}.menu-toggle{display:none;flex-direction:column;gap:5px;padding:8px;cursor:none;z-index:1001}.menu-toggle span{display:block;width:22px;height:1.5px;background:var(--accent);transition:all .3s ease}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 768px){.menu-toggle{display:flex}.navbar-links{position:fixed;top:var(--header-height);left:0;right:0;flex-direction:column;background:#080808f7;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));padding:32px 24px;gap:0;transform:translateY(-120%);opacity:0;transition:all .5s cubic-bezier(.16,1,.3,1);border-bottom:1px solid var(--glass-border)}.navbar-links.open{transform:translateY(0);opacity:1}.navbar-link{width:100%;text-align:center;padding:16px;font-size:.9rem}}.section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--header-height) + 80px) var(--container-padding) 100px;overflow:hidden}.section-container{width:100%;max-width:var(--container-max);margin:0 auto}.section-title-wrapper{margin-bottom:72px}.section-label{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:4px;margin-bottom:20px}.section-label:before{content:"";width:40px;height:1px;background:var(--accent-dim)}.section-title{font-family:var(--font-serif);font-size:clamp(2.4rem,5vw,4rem);font-weight:400;letter-spacing:-.5px;line-height:1.15;color:var(--text-primary)}.section-title em{font-style:italic;color:var(--accent)}.hero-section{min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:0}.hero-image-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-image-bg img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:brightness(.6) contrast(1.05) saturate(.8)}.hero-overlay-top{position:absolute;top:0;left:0;width:100%;height:40%;background:linear-gradient(180deg,rgba(8,8,8,.85) 0%,transparent 100%);z-index:2}.hero-overlay-bottom{position:absolute;bottom:0;left:0;width:100%;height:60%;background:linear-gradient(0deg,var(--bg-deep) 0%,rgba(8,8,8,.7) 40%,transparent 100%);z-index:2}.hero-overlay-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 50% 50%,transparent 30%,rgba(8,8,8,.6) 100%);z-index:2}.hero-particles{position:absolute;inset:0;z-index:3;pointer-events:none}.hero-dust{position:absolute;width:2px;height:2px;background:#c8a97d66;border-radius:50%;animation:dustFloat linear infinite}@keyframes dustFloat{0%{opacity:0;transform:translateY(0) translate(0)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(-100vh) translate(40px)}}.hero-rain{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden}.raindrop{position:absolute;pointer-events:auto;cursor:pointer;border-radius:0 0 50% 50%;background:linear-gradient(180deg,transparent,rgba(200,169,125,.15) 30%,rgba(200,169,125,.5));will-change:top;transition:opacity .1s}.raindrop:hover{opacity:.6!important;box-shadow:0 0 6px #c8a97d4d}.raindrop.splash{opacity:0!important;pointer-events:none}.rain-splash{position:absolute;pointer-events:none;transform:translate(-50%,-50%)}.splash-ring{position:absolute;width:4px;height:4px;border-radius:50%;border:1px solid rgba(200,169,125,.4);transform:translate(-50%,-50%);animation:splashRing .5s ease-out forwards}@keyframes splashRing{0%{width:4px;height:4px;opacity:.6}to{width:36px;height:36px;opacity:0}}.splash-dot{position:absolute;width:2px;height:2px;border-radius:50%;background:#c8a97d80;animation:splashDot .4s ease-out forwards}.splash-dot.s1{--dx: -8px;--dy: -10px}.splash-dot.s2{--dx: 8px;--dy: -8px}.splash-dot.s3{--dx: -6px;--dy: 6px}.splash-dot.s4{--dx: 10px;--dy: 4px}@keyframes splashDot{0%{transform:translate(0);opacity:.7}to{transform:translate(var(--dx),var(--dy));opacity:0}}.hero-content{position:relative;z-index:10;padding:0 var(--container-padding) 80px;width:100%;max-width:var(--container-max);margin:0 auto}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:4px;margin-bottom:24px}.hero-eyebrow-line{width:40px;height:1px;background:var(--accent-dim)}.hero-eyebrow-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:subtlePulse 3s ease-in-out infinite}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.3}}.hero-heading{font-family:var(--font-serif);font-size:clamp(3rem,8vw,6rem);font-weight:400;line-height:1.05;letter-spacing:-2px;color:var(--text-primary);margin-bottom:28px}.hero-heading .hero-heading-line1{display:block;font-size:clamp(1.5rem,3.5vw,2.5rem);font-style:normal;color:var(--text-secondary);letter-spacing:0;font-weight:300;line-height:1.4;margin-bottom:8px}.hero-heading .name-line{display:block;font-style:italic;color:var(--accent)}.hero-subtitle{font-size:clamp(.95rem,1.5vw,1.15rem);color:var(--text-secondary);line-height:1.8;max-width:560px;margin-bottom:40px;font-weight:300}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:48px}.magnetic-btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 32px;font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;border:none;border-radius:0;cursor:none;transition:all var(--transition-smooth);overflow:hidden}.magnetic-btn-primary{background:var(--accent);color:var(--bg-deep)}.magnetic-btn-primary:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 12px 40px #c8a97d40}.magnetic-btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--glass-border)}.magnetic-btn-secondary:hover{border-color:var(--accent-dim);color:var(--accent);transform:translateY(-2px)}.btn-ripple{position:absolute;border-radius:50%;background:#ffffff26;animation:rippleAnim .6s ease-out forwards;pointer-events:none}@keyframes rippleAnim{0%{width:0;height:0;opacity:1}to{width:250px;height:250px;opacity:0}}.hero-socials{position:absolute;right:var(--container-padding);bottom:80px;display:flex;flex-direction:column;gap:20px;z-index:10}.hero-socials:before{content:"";width:1px;height:60px;background:var(--glass-border);margin:0 auto 8px}.social-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--text-muted);transition:all var(--transition-smooth);cursor:none}.social-link:hover{color:var(--accent);transform:translateY(-3px)}.social-link svg{width:18px;height:18px;fill:currentColor}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10}.scroll-line{width:1px;height:48px;position:relative;overflow:hidden;background:#c8a97d26}.scroll-line:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--accent);animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%{top:-100%}to{top:100%}}.scroll-text{font-size:.6rem;text-transform:uppercase;letter-spacing:4px;color:var(--text-muted)}.hero-marquee{position:absolute;bottom:0;left:0;width:100%;z-index:5;overflow:hidden;opacity:.04;pointer-events:none}.hero-marquee-inner{display:flex;white-space:nowrap;animation:marquee 30s linear infinite}.hero-marquee-text{font-family:var(--font-serif);font-size:clamp(5rem,12vw,10rem);font-weight:900;color:var(--text-primary);padding-right:100px;text-transform:uppercase;letter-spacing:10px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width: 768px){.hero-socials{position:relative;flex-direction:row;right:auto;bottom:auto;justify-content:flex-start;gap:16px;margin-bottom:0}.hero-socials:before{display:none}.hero-heading{letter-spacing:-1px}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.terminal-card{position:relative;background:#0f0f0ff2;border:1px solid var(--glass-border);overflow:hidden;font-family:JetBrains Mono,Fira Code,Consolas,monospace;min-height:380px;transition:border-color var(--transition-smooth)}.terminal-card:hover{border-color:#c8a97d33}.terminal-header{display:flex;align-items:center;gap:8px;padding:14px 18px;background:#ffffff05;border-bottom:1px solid var(--glass-border)}.terminal-dot{width:10px;height:10px;border-radius:50%}.terminal-dot.red{background:#ff5f56}.terminal-dot.yellow{background:#ffbd2e}.terminal-dot.green{background:#27ca40}.terminal-title{margin-left:8px;font-size:.7rem;color:var(--text-muted);letter-spacing:1px}.terminal-body{padding:20px 22px;font-size:.82rem;line-height:2;color:var(--text-secondary)}.terminal-line{display:flex;gap:8px;align-items:flex-start}.terminal-prompt{color:var(--accent);flex-shrink:0;font-weight:600}.terminal-command{color:var(--text-primary)}.terminal-output{color:var(--text-secondary);padding-left:20px}.terminal-key{color:var(--steel-light)}.terminal-value{color:var(--accent-light)}.terminal-cursor-blink{display:inline-block;width:8px;height:14px;background:var(--accent);margin-left:4px;animation:termBlink 1s step-end infinite;vertical-align:middle}@keyframes termBlink{0%,to{opacity:1}50%{opacity:0}}.terminal-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);opacity:0;transition:opacity var(--transition-smooth)}.terminal-card:hover:after{opacity:1}.about-content h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--text-primary);margin-bottom:28px;line-height:1.2}.about-content h2 em{font-style:italic;color:var(--accent)}.about-content p{font-size:1rem;color:var(--text-secondary);line-height:1.9;margin-bottom:18px;font-weight:300}.about-content p strong{color:var(--accent);font-weight:500}.about-stats{display:flex;gap:0;margin:40px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}.stat-card{flex:1;padding:28px 20px;text-align:center;border-right:1px solid var(--glass-border);transition:background var(--transition-smooth)}.stat-card:last-child{border-right:none}.stat-card:hover{background:var(--glass-hover)}.stat-value{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;font-style:italic;color:var(--accent)}.stat-label{font-size:.65rem;color:var(--text-muted);margin-top:6px;text-transform:uppercase;letter-spacing:2px}.resume-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;background:var(--accent);color:var(--bg-deep);font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:none;transition:all var(--transition-smooth)}.resume-btn:hover{background:var(--accent-light);transform:translateY(-3px);box-shadow:0 12px 40px #c8a97d33}.resume-btn svg{transition:transform .3s ease}.resume-btn:hover svg{transform:translateY(3px)}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;gap:40px}.terminal-card{min-height:320px}.about-stats{flex-direction:column}.stat-card{border-right:none;border-bottom:1px solid var(--glass-border)}.stat-card:last-child{border-bottom:none}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:72px}.skill-card{position:relative;padding:24px 28px;background:var(--glass-bg);border:1px solid var(--glass-border);transition:all var(--transition-smooth);overflow:hidden}.skill-card:after{content:"";position:absolute;top:0;left:0;width:3px;height:0%;background:var(--accent);transition:height var(--transition-dramatic)}.skill-card:hover{background:#c8a97d08;border-color:#c8a97d1f;transform:translate(6px) translateY(-2px);box-shadow:0 12px 40px #0000004d,inset 0 0 0 1px #c8a97d0d}.skill-card:hover:after{height:100%}.skill-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.skill-info{display:flex;align-items:center;gap:14px}.skill-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#c8a97d0f;border:1px solid rgba(200,169,125,.1)}.skill-icon img{width:22px;height:22px;object-fit:contain;filter:grayscale(.3)}.skill-name{font-weight:500;font-size:.95rem;color:var(--text-primary);letter-spacing:.5px}.skill-level-text{font-family:var(--font-serif);font-size:.9rem;font-style:italic;color:var(--accent)}.skill-bar-track{width:100%;height:3px;background:#ffffff0a;overflow:hidden}.skill-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));width:0%;transition:width 1.8s cubic-bezier(.16,1,.3,1)}.learning-subtitle{margin-top:20px}.learning-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.learning-card{position:relative;padding:28px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);text-align:center;transition:all var(--transition-smooth);overflow:hidden}.learning-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);opacity:0;transition:opacity var(--transition-smooth)}.learning-card:hover{border-color:#c8a97d26;transform:translateY(-3px)}.learning-card:hover:before{opacity:1}.learning-card-inner{position:relative;z-index:1}.learning-icon{font-size:1.8rem;margin-bottom:10px}.learning-name{font-weight:500;color:var(--text-primary);font-size:.9rem;letter-spacing:.5px}.learning-status{font-size:.6rem;color:var(--accent-dim);margin-top:6px;text-transform:uppercase;letter-spacing:2px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;margin-bottom:56px}.project-card{position:relative;background:var(--glass-bg);border:1px solid var(--glass-border);padding:36px;transition:all var(--transition-smooth);display:flex;flex-direction:column;transform-style:preserve-3d;perspective:1000px}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity var(--transition-smooth)}.project-card:hover{background:#c8a97d08;border-color:#c8a97d26;transform:translateY(-8px) rotateX(2deg);box-shadow:0 24px 60px #00000080,0 0 40px #c8a97d0a}.project-card:hover:before{opacity:1}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.project-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#c8a97d0f;color:var(--accent)}.project-links{display:flex;gap:6px}.project-external-link{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast);cursor:none}.project-external-link:hover{color:var(--accent)}.project-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:8px;transition:color var(--transition-fast);letter-spacing:-.3px}.project-card:hover .project-title{color:var(--accent)}.project-status{display:inline-flex;padding:3px 10px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--accent);border:1px solid rgba(200,169,125,.2);margin-bottom:16px}.project-description{font-size:.92rem;color:var(--text-secondary);line-height:1.7;margin-bottom:24px;flex-grow:1;font-weight:300}.project-tech-stack{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{padding:4px 10px;font-size:.7rem;font-weight:500;color:var(--steel-light);background:#5a708014;border:1px solid rgba(90,112,128,.12);letter-spacing:.5px}.github-cta{text-align:center}.github-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;border:1px solid var(--glass-border);color:var(--text-primary);font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:none;transition:all var(--transition-smooth)}.github-cta-btn:hover{border-color:var(--accent-dim);color:var(--accent);transform:translateY(-3px)}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:start}.contact-info h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--text-primary);margin-bottom:24px;line-height:1.2}.contact-info h2 em{font-style:italic;color:var(--accent)}.contact-info>p{font-size:1rem;color:var(--text-secondary);line-height:1.8;margin-bottom:44px;font-weight:300}.contact-items{display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--glass-border);transition:all var(--transition-smooth);cursor:none}.contact-item:hover{border-color:#c8a97d26;background:var(--glass-hover);transform:translate(6px)}.contact-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#c8a97d0f;color:var(--accent);flex-shrink:0}.contact-item-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px}.contact-item-value{font-size:.95rem;font-weight:500;color:var(--text-primary);margin-top:2px}.contact-socials{padding:44px;border:1px solid var(--glass-border);position:relative}.contact-socials:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--accent-dim),var(--accent),var(--accent-dim))}.contact-socials h3{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;font-style:italic;color:var(--text-primary);margin-bottom:28px}.contact-social-links{display:flex;flex-direction:column;gap:8px}.contact-social-link{display:flex;align-items:center;gap:14px;padding:14px 16px;transition:all var(--transition-smooth);cursor:none;color:var(--text-secondary)}.contact-social-link:hover{color:var(--accent);transform:translate(6px)}.contact-social-link svg{width:20px;height:20px;fill:currentColor}.contact-social-link span{font-weight:500;font-size:.9rem}.contact-social-link .arrow{margin-left:auto;opacity:0;transform:translate(-8px);transition:all var(--transition-fast);font-size:.85rem}.contact-social-link:hover .arrow{opacity:1;transform:translate(0)}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr;gap:40px}}.footer{padding:40px var(--container-padding);border-top:1px solid var(--glass-border)}.footer-content{max-width:var(--container-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-text{font-size:.8rem;color:var(--text-muted);font-weight:300;letter-spacing:.5px}.footer-text .heart{color:var(--accent)}.footer-links{display:flex;gap:12px}.footer-link{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast);cursor:none}.footer-link:hover{color:var(--accent)}.footer-link svg{width:16px;height:16px;fill:currentColor}@media (max-width: 600px){.footer-content{flex-direction:column;gap:16px}}.reveal{opacity:0;transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0);transition:all .8s cubic-bezier(.16,1,.3,1)}.loader-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;z-index:99999}.loader-spinner{width:40px;height:40px;border:1px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.particles-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.particle{position:absolute;width:2px;height:2px;background:#c8a97d4d;border-radius:50%;opacity:0;animation:particleFloat linear infinite}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.4}90%{opacity:.4}to{opacity:0;transform:translateY(-20vh) scale(1)}}@media (max-width: 480px){:root{--header-height: 64px}.section{padding:calc(var(--header-height) + 48px) var(--container-padding) 64px}}
