#main-navbar{position:fixed;top:0;left:0;right:0;width:100%;z-index:999999;padding:24px 0;transition:padding .5s ease,background .5s ease;mix-blend-mode:normal}#main-navbar.scrolled{padding:12px 0}#main-navbar .navbar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);background:linear-gradient(180deg,rgba(10,10,15,.1) 0%,transparent 100%);transition:backdrop-filter .5s ease,background .5s ease}#main-navbar.scrolled .navbar-backdrop{backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);background:linear-gradient(180deg,rgba(10,10,15,.3) 0%,rgba(10,10,15,.1) 50%,transparent 100%)}.navbar-container{max-width:var(--container-width);margin:0 auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between;position:relative}.navbar-logo{font-family:var(--font-mono);font-size:22px;font-weight:600;color:#fff;text-decoration:none;display:flex;align-items:center;gap:4px;text-shadow:0 2px 6px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.5),0 0 40px rgba(0,0,0,.3);z-index:2}.logo-bracket{color:#c9a96e;text-shadow:0 0 10px rgba(201,169,110,.6),0 2px 6px rgba(0,0,0,.9)}.logo-text{background:linear-gradient(135deg,#e8d5b7,#c9a96e,#a67c52);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 8px rgba(0,0,0,.8)) drop-shadow(0 0 16px rgba(201,169,110,.25))}.navbar-menu{display:flex;align-items:center;gap:48px}.navbar-link{font-size:15px;font-weight:500;color:#fff;text-decoration:none;transition:color .3s ease,text-shadow .3s ease;text-shadow:0 2px 6px rgba(0,0,0,.85),0 0 16px rgba(0,0,0,.45);letter-spacing:.02em;position:relative;padding:6px 0}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(135deg,#e8d5b7,#c9a96e);transition:width .3s ease;border-radius:1px}.navbar-link:hover,.navbar-link:focus-visible{color:#f0d8a0;text-shadow:0 0 16px rgba(232,213,183,.7),0 2px 6px rgba(0,0,0,.7);outline:none}.navbar-link:hover:after,.navbar-link:focus-visible:after{width:100%}.navbar-cta{padding:11px 26px;font-size:14px;font-weight:500;color:#e8d5b7;background:linear-gradient(135deg,#c9a96e26,#c9a96e14);border:1px solid rgba(201,169,110,.35);border-radius:8px;text-decoration:none;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .35s ease;box-shadow:inset 0 1px #ffffff0f,0 2px 8px #0003;text-shadow:0 1px 4px rgba(0,0,0,.4)}.navbar-cta:hover,.navbar-cta:focus-visible{transform:translateY(-2px);background:linear-gradient(135deg,#c9a96e40,#b8935a26);border-color:#e5c88ca6;color:#fff;box-shadow:0 8px 28px #c9a96e2e,inset 0 1px #ffffff1a,0 4px 16px #0003;outline:none}.navbar-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;padding:0;width:44px;height:44px;z-index:2;transition:background .25s ease,border-color .25s ease}.navbar-toggle:hover,.navbar-toggle:focus-visible{background:#c9a96e1f;border-color:#c9a96e59;outline:none}.navbar-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:1px;transition:all .3s ease}.navbar-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:translate(-6px)}.navbar-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-overlay{display:none}@media (max-width: 1024px){.navbar-container{padding:0 24px}}@media (max-width: 768px){#main-navbar{padding:14px 0}#main-navbar.scrolled{padding:10px 0}.navbar-toggle{display:flex}.navbar-menu{position:fixed;top:0;left:0;right:0;bottom:auto;background:#0a0a0ffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;align-items:stretch;padding:80px 24px 32px;gap:6px;transform:translateY(-120%);transition:transform .35s cubic-bezier(.4,0,.2,1);border-bottom:1px solid rgba(255,255,255,.08);z-index:9998;max-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.navbar-menu.open{transform:translateY(0)}.navbar-link{font-size:18px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06);text-shadow:none}.navbar-link:after{display:none}.navbar-link:active{color:#c9a96e}.navbar-cta{display:flex;justify-content:center;margin-top:16px;padding:16px 24px;font-size:16px;width:100%}.navbar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9997;animation:fadeIn .3s ease}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;max-width:none}.stars-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;opacity:0;animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:0}50%{opacity:.8}}.hero-gradient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,rgba(201,169,110,.06) 0%,transparent 50%),linear-gradient(180deg,#08080e59,#08080e8c 30%,#08080ec7 55%,#08080eeb 75%,#08080e)}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;width:100%;padding:120px 40px 160px;margin:0 auto}.hero-tag{display:inline-flex;align-items:center;gap:12px;margin-bottom:40px;padding:10px 24px 10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:100px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.tag-badge{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#22c55e}.tag-badge:before{content:"";width:7px;height:7px;background:#22c55e;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 6px #22c55e00}}.tag-text{font-size:13px;color:var(--text-secondary);letter-spacing:.5px}.hero-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(40px,6.5vw,84px);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:#fff;margin-bottom:32px}.title-accent{display:inline-block;background:linear-gradient(135deg,#e8d5b7,#c9a96e,#a67c52);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic;background-size:200% auto;animation:shimmer 4s ease-in-out infinite alternate}@keyframes shimmer{0%{background-position:0% center}to{background-position:200% center}}.hero-subtitle{font-size:clamp(15px,1.5vw,18px);color:#ffffff8c;line-height:1.8;max-width:600px;margin:0 auto 48px;font-weight:300;letter-spacing:.02em}.hero-cta-group{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:72px;flex-wrap:wrap}.cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 36px;font-family:var(--font-sans);font-size:15px;font-weight:500;color:#e8d5b7;background:transparent;border:1.5px solid rgba(201,169,110,.5);border-radius:8px;cursor:pointer;text-decoration:none;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:48px;min-width:48px}.cta-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#c9a96e26,#e8d5b714);opacity:0;transition:opacity .35s ease}.cta-primary span,.cta-primary svg{position:relative;z-index:1}.cta-primary:hover,.cta-primary:focus-visible,.cta-primary:active{color:#fff;border-color:#c9a96e;background:linear-gradient(135deg,#c9a96e40,#b8935a26);transform:translateY(-3px);box-shadow:0 12px 36px #c9a96e40,0 4px 16px #c9a96e26,inset 0 1px #ffffff0d;outline:none}.cta-primary:active{transform:translateY(-1px)}.cta-primary:hover:before,.cta-primary:focus-visible:before,.cta-primary:active:before{opacity:1}.cta-primary svg{transition:transform .3s cubic-bezier(.4,0,.2,1)}.cta-primary:hover svg,.cta-primary:focus-visible svg,.cta-primary:active svg{transform:translate(4px)}.cta-secondary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 28px;font-family:var(--font-sans);font-size:15px;font-weight:400;color:#ffffffbf;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;text-decoration:none;overflow:hidden;transition:all .35s cubic-bezier(.4,0,.2,1);min-height:48px;min-width:48px}.cta-secondary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#c9a96e26,#e8d5b714);opacity:0;transition:opacity .35s ease}.cta-secondary:hover,.cta-secondary:focus-visible,.cta-secondary:active{color:#c9a96e;border-color:#c9a96e59;transform:translateY(-2px);outline:none}.cta-secondary:active{transform:translateY(0)}.cta-secondary:hover:before,.cta-secondary:focus-visible:before,.cta-secondary:active:before{opacity:1}.cta-secondary span,.cta-secondary svg{position:relative;z-index:1}.cta-secondary svg{transition:all .3s ease;opacity:.6;stroke:currentColor}.cta-secondary:hover svg,.cta-secondary:focus-visible svg,.cta-secondary:active svg{transform:translate(3px,-3px);opacity:1}.hero-data-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:700px;margin:0 auto 48px}.data-card{display:flex;align-items:center;gap:16px;padding:24px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:all .4s cubic-bezier(.4,0,.2,1)}.data-card:hover,.data-card:focus-visible{background:#c9a96e0f;border-color:#c9a96e33;transform:translateY(-4px) scale(1.02);box-shadow:0 20px 40px -12px #0006,0 8px 24px -4px #c9a96e1f,inset 0 1px #e8d5b714;outline:none}.data-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#c9a96ee6;transition:all .35s ease}.data-card:hover .data-icon,.data-card:focus-visible .data-icon{color:#e8d5b7;transform:scale(1.1)}.data-icon svg{width:26px;height:26px}.data-info{display:flex;flex-direction:column;gap:4px;text-align:left}.data-value{font-family:Playfair Display,serif;font-size:28px;font-weight:600;color:#fff;line-height:1;letter-spacing:-.01em}.data-label{font-size:12px;color:#ffffff73;letter-spacing:.03em}.tech-stack-bar{display:flex;align-items:center;justify-content:center;gap:24px;padding-top:32px;border-top:1px solid rgba(255,255,255,.05);flex-wrap:wrap}.tech-label{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:2px;font-weight:500}.tech-tags{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.tech-tag{font-family:var(--font-mono);font-size:13px;color:#fff9;padding:6px 18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:100px;transition:all .3s cubic-bezier(.4,0,.2,1)}.tech-tag:hover,.tech-tag:focus-visible,.tech-tag:active{color:#c9a96e;border-color:#c9a96e59;background:#c9a96e1a;transform:translateY(-2px);box-shadow:0 4px 12px #c9a96e26;outline:none}.scroll-hint{position:absolute;bottom:48px;left:50%;transform:translate(-50%);z-index:3;animation:scroll-float 2.5s ease-in-out infinite}.scroll-line{width:1px;height:56px;background:linear-gradient(to bottom,var(--accent-primary),transparent);border-radius:1px}@keyframes scroll-float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(12px)}}@media (max-width: 1024px){.hero-content{max-width:100%;padding:100px 30px 140px}.hero-data-cards{gap:16px}.data-card{padding:20px}.data-value{font-size:24px}}@media (max-width: 768px){.hero{min-height:100svh}.hero-content{max-width:100%;padding:100px 20px 120px}.hero-tag{flex-wrap:wrap;justify-content:center;padding:8px 18px 8px 10px;gap:8px;margin-bottom:28px}.tag-text{font-size:12px}.hero-title{font-size:clamp(32px,9vw,48px);margin-bottom:24px}.hero-subtitle{font-size:16px;line-height:1.7;margin-bottom:36px}.hero-subtitle br{display:none}.hero-cta-group{flex-direction:column;gap:14px;margin-bottom:48px;width:100%;max-width:320px;margin-left:auto;margin-right:auto}.cta-primary,.cta-secondary{width:100%;padding:16px 24px;font-size:15px}.hero-data-cards{grid-template-columns:1fr;max-width:320px;margin-bottom:40px}.data-card{justify-content:center}.data-info{text-align:center}.tech-stack-bar{flex-direction:column;gap:16px;padding-top:28px}.tech-tags{justify-content:center}.scroll-hint{bottom:28px}.scroll-line{height:40px}}@media (max-width: 480px){.hero-content{max-width:100%;padding:90px 16px 100px}.hero-title{font-size:clamp(28px,9vw,40px);margin-bottom:24px}.hero-subtitle{font-size:15px}.hero-cta-group{max-width:100%}.cta-primary,.cta-secondary{padding:15px 20px;font-size:14px}.data-card{padding:18px}.data-icon{width:40px;height:40px}.data-icon svg{width:22px;height:22px}.data-value{font-size:22px}.tech-tag{padding:5px 14px;font-size:12px}}@media (max-height: 700px){.hero-content{padding-top:90px;padding-bottom:80px}.scroll-hint{display:none}}.about-section{overflow:hidden}.about-grid{display:grid;grid-template-columns:420px 1fr;gap:100px;align-items:start}.about-image-container{position:sticky;top:120px}.image-wrapper{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden}.avatar-placeholder{width:100%;height:100%;background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.avatar-placeholder svg{width:160px;height:160px}.avatar-text{font-family:var(--font-mono);font-size:13px;color:var(--text-tertiary);letter-spacing:2px}.image-border{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--border-color);border-radius:24px;pointer-events:none;transition:border-color var(--transition-normal)}.image-wrapper:hover .image-border,.image-wrapper:focus-visible .image-border{border-color:var(--accent-primary)}.image-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:26px;background:var(--gradient-accent);opacity:0;filter:blur(20px);z-index:-1;transition:opacity var(--transition-normal)}.image-wrapper:hover .image-glow,.image-wrapper:focus-visible .image-glow{opacity:.2}.status-card{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:12px 24px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:100px;font-size:14px;color:#22c55e}.status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}.status-dot.online{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}.about-content{padding-top:20px}.about-description{font-size:17px;line-height:1.8;color:var(--text-secondary);margin-bottom:20px}.about-description.secondary{color:var(--text-tertiary);font-size:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:48px 0}.stat-card{padding:24px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;text-align:center;transition:all var(--transition-normal)}.stat-card:hover,.stat-card:focus-visible{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-4px);outline:none}.stat-value{display:block;font-size:28px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.stat-name{font-size:13px;color:var(--text-tertiary)}.contact-info-list{display:flex;gap:32px;margin-bottom:40px;flex-wrap:wrap}.contact-item{display:flex;align-items:center;gap:12px;min-height:44px}.contact-icon{font-size:20px}.contact-value,.contact-label{display:block}.contact-value{font-size:14px;color:var(--text-secondary)}.contact-label{font-size:12px;color:var(--text-tertiary)}.about-actions{display:flex;gap:16px;flex-wrap:wrap}.about-actions .btn{min-height:48px}@media (max-width: 1280px){.about-grid{grid-template-columns:350px 1fr;gap:60px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.about-grid{grid-template-columns:1fr;gap:48px}.about-image-container{position:static;max-width:360px;margin:0 auto}.about-content .section-header{text-align:center!important}.about-description{text-align:center;font-size:16px}.about-description.secondary{font-size:15px}.stats-grid{margin:36px 0}.contact-info-list,.about-actions{justify-content:center}}@media (max-width: 768px){.about-image-container{max-width:280px}.image-wrapper,.image-border{border-radius:20px}.avatar-placeholder svg{width:120px;height:120px}.status-card{padding:10px 20px;font-size:13px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:20px 12px;border-radius:14px}.stat-value{font-size:22px}.stat-name{font-size:12px}.contact-info-list{flex-direction:column;gap:16px;align-items:center;text-align:center}.contact-item{flex-direction:column;gap:6px}.about-actions{flex-direction:column;gap:12px}.about-actions .btn{width:100%;padding:14px 24px}}@media (max-width: 480px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:16px 10px}.stat-value{font-size:20px}.stat-name{font-size:11px}.about-description{font-size:15px;margin-bottom:16px}.about-description.secondary{font-size:14px}}.projects-section{position:relative;overflow:hidden}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.project-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;transition:all var(--transition-normal);cursor:pointer;position:relative}.project-card:hover,.project-card:focus-visible{transform:translateY(-8px) scale(1.01);border-color:var(--border-hover);box-shadow:0 25px 50px -12px #00000080,0 0 40px #c9a96e14;outline:none}.project-card:focus-visible{outline:2px solid rgba(201,169,110,.5);outline-offset:2px}.project-image{position:relative;aspect-ratio:16/10;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover .project-image img,.project-card:focus-visible .project-image img{transform:scale(1.08)}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 40%,rgba(10,10,15,.95) 100%);transition:opacity .4s ease}.project-card:hover .image-overlay,.project-card:focus-visible .image-overlay{opacity:.6}.view-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-size:14px;font-weight:500;opacity:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);z-index:5}.view-hint svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.view-hint span{text-shadow:0 2px 8px rgba(0,0,0,.5)}.project-card:hover .view-hint,.project-card:focus-visible .view-hint{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-stats{position:absolute;bottom:16px;left:16px;display:flex;gap:12px;z-index:3;flex-wrap:wrap}.project-stat{padding:8px 16px;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:8px;display:flex;align-items:center;gap:6px}.stat-key{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px}.project-stat .stat-value{font-size:14px;font-weight:600;color:var(--accent-secondary)}.project-content{padding:28px}.project-title{font-size:22px;font-weight:600;margin-bottom:14px;line-height:1.3;transition:color var(--transition-fast)}.project-card:hover .project-title,.project-card:focus-visible .project-title{color:var(--accent-primary)}.project-description{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.project-tag{padding:6px 14px;font-family:var(--font-mono);font-size:12px;color:var(--accent-secondary);background:var(--accent-glow);border:1px solid rgba(201,169,110,.15);border-radius:6px}.project-actions .btn-sm{padding:10px 24px;font-size:13px;cursor:pointer}.project-detail-btn{background:transparent!important;border:none!important;display:inline-flex;align-items:center;gap:8px;color:var(--accent-primary);font-weight:500;min-height:44px;min-width:44px}.project-detail-btn:hover svg,.project-detail-btn:focus-visible svg,.project-detail-btn:active svg{transform:translate(4px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05050ae0;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);z-index:999999;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;will-change:opacity;transform:translateZ(0)}.project-modal{position:relative;width:100%;max-width:900px;background:linear-gradient(165deg,#12121cfa,#0c0c14fc);border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;box-shadow:0 40px 100px -20px #000000b3,0 0 60px #c9a96e0f,inset 0 1px #ffffff0d;transform:translateZ(0);contain:layout style paint}.modal-content-wrapper{max-height:calc(90vh - 80px);max-height:calc(90dvh - 80px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;will-change:scroll-position;transform:translateZ(0);scrollbar-width:thin;scrollbar-color:rgba(201,169,110,.2) transparent}.modal-content-wrapper::-webkit-scrollbar{width:5px}.modal-content-wrapper::-webkit-scrollbar-track{background:transparent}.modal-content-wrapper::-webkit-scrollbar-thumb{background:#c9a96e40;border-radius:10px}.modal-close{position:absolute;top:16px;right:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#ccc;cursor:pointer;z-index:15;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .3s ease;will-change:transform}.modal-close:hover,.modal-close:focus-visible,.modal-close:active{background:#dc354540;border-color:#dc354559;color:#ff6b7a;transform:rotate(90deg);outline:none}.modal-hero{position:relative}.modal-hero-image{position:relative;aspect-ratio:21/9;overflow:hidden}.modal-hero-image img{width:100%;height:100%;object-fit:cover}.hero-gradient-overlay{position:absolute;bottom:0;left:0;right:0;height:70%;background:linear-gradient(to bottom,transparent,rgba(12,12,20,.9) 85%,rgba(12,12,20,1))}.modal-header-content{position:relative;padding:32px 36px 30px;margin-top:-60px}.modal-project-meta{display:inline-block;padding:6px 16px;background:#c9a96e1f;border:1px solid rgba(201,169,110,.25);border-radius:20px;font-family:var(--font-mono);font-size:12px;color:var(--accent-primary);margin-bottom:14px}.modal-project-title{font-size:32px;font-weight:700;color:#fff;line-height:1.25;margin-bottom:8px}.modal-duration{font-size:14px;color:var(--text-tertiary);margin-bottom:22px;display:flex;align-items:center;gap:8px}.modal-duration:before{content:"";width:8px;height:8px;background:var(--accent-primary);border-radius:50%;display:inline-block}.modal-full-description{font-size:15px;color:var(--text-secondary);line-height:1.85;white-space:pre-line;margin-bottom:22px}.modal-tags-row{display:flex;flex-wrap:wrap;gap:8px}.modal-tag{padding:7px 16px;font-family:var(--font-mono);font-size:12px;color:var(--accent-secondary);background:#c9a96e14;border:1px solid rgba(201,169,110,.18);border-radius:8px}.modal-highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 36px 30px}.modal-highlight-card{background:linear-gradient(145deg,#c9a96e0f,#c9a96e05);border:1px solid rgba(201,169,110,.1);border-radius:14px;padding:20px;text-align:center;transition:border-color .25s ease,background .25s ease,transform .25s ease;will-change:transform}.modal-highlight-card:hover,.modal-highlight-card:focus-visible{border-color:#c9a96e40;background:#c9a96e1a;transform:translateY(-4px);outline:none}.highlight-label{display:block;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px}.highlight-value{display:block;font-size:17px;font-weight:600;color:var(--accent-primary);line-height:1.3}.modal-section{padding:26px 36px;border-top:1px solid rgba(255,255,255,.05)}.modal-section-title{font-size:18px;font-weight:650;color:#eee;margin-bottom:20px;display:flex;align-items:center;gap:10px}.modal-section-title:before{content:"";width:3px;height:20px;background:linear-gradient(to bottom,var(--accent-primary),var(--accent-secondary));border-radius:2px}.modal-features-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.modal-feature-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#ffffff05;border-radius:10px;font-size:14px;color:var(--text-secondary);line-height:1.55;transition:background .2s ease,color .2s ease}.modal-feature-item:hover,.modal-feature-item:focus-visible{background:#ffffff0a;color:var(--text-primary);outline:none}.feature-icon{flex-shrink:0;margin-top:1px;opacity:.75}.modal-challenges-list{display:flex;flex-direction:column;gap:18px}.modal-challenge-item{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-left:3px solid var(--accent-primary);border-radius:12px;padding:20px 22px;transition:background .25s ease,border-color .25s ease}.modal-challenge-item:hover,.modal-challenge-item:focus-visible{border-color:#c9a96e33;background:#c9a96e08;outline:none}.challenge-header{display:flex;align-items:center;gap:14px;margin-bottom:10px}.challenge-number{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent-primary);opacity:.6}.challenge-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.challenge-solution{font-size:14px;color:var(--text-secondary);line-height:1.7;margin:0;padding-left:33px}.modal-tech-stack{display:flex;flex-wrap:wrap;gap:10px}.modal-tech-tag{padding:8px 18px;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--accent-secondary);background:linear-gradient(135deg,#c9a96e1a,#c9a96e0a);border:1px solid rgba(201,169,110,.15);border-radius:8px;transition:background .2s ease,border-color .2s ease,color .2s ease;cursor:default}.modal-tech-tag:hover,.modal-tech-tag:focus-visible{background:#c9a96e26;border-color:var(--accent-primary);color:#e8c98c;outline:none}.modal-actions{display:flex;gap:16px;padding:26px 36px 36px;justify-content:center}.btn-modal{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 32px;font-size:14px;font-weight:600;border-radius:12px;text-decoration:none;cursor:pointer;transition:all .35s ease;min-height:48px;min-width:48px}.btn-modal-primary{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#1a1510;border:none;box-shadow:0 4px 24px #c9a96e4d;transition:transform .25s ease,box-shadow .25s ease;will-change:transform}.btn-modal-primary:hover,.btn-modal-primary:focus-visible,.btn-modal-primary:active{transform:translateY(-3px);box-shadow:0 8px 32px #c9a96e73;outline:none}.btn-modal-secondary{background:transparent;color:var(--accent-secondary);border:1.5px solid rgba(201,169,110,.35);transition:background .25s ease,border-color .25s ease,transform .25s ease}.btn-modal-secondary:hover,.btn-modal-secondary:focus-visible,.btn-modal-secondary:active{background:#c9a96e14;border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 8px 24px #c9a96e26;outline:none}@media (max-width: 1200px){.projects-grid{gap:28px}.modal-highlights-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.projects-grid{grid-template-columns:1fr;max-width:600px;margin:0 auto}.project-card:last-child{max-width:none;margin:0}.project-content{padding:24px}.project-title{font-size:20px}.project-description{font-size:14px}.project-stats{bottom:12px;left:12px;gap:8px}.project-stat{padding:6px 12px}}@media (max-width: 768px){.modal-backdrop{padding:16px 12px;align-items:flex-end}.project-modal{border-radius:20px 20px 0 0;max-height:92vh;max-height:92dvh}.modal-content-wrapper{max-height:82vh;max-height:82dvh}.modal-close{top:12px;right:12px;width:40px;height:40px}.modal-hero-image{aspect-ratio:16/9}.modal-header-content{padding:24px 24px 22px;margin-top:-50px}.modal-project-title{font-size:22px}.modal-project-meta{font-size:11px}.modal-duration{font-size:13px;margin-bottom:16px}.modal-full-description{font-size:14px;line-height:1.7}.modal-highlights-grid{grid-template-columns:repeat(2,1fr);padding:0 24px 24px;gap:10px}.modal-highlight-card{padding:16px 10px}.highlight-label{font-size:10px}.highlight-value{font-size:15px}.modal-section{padding:20px 24px}.modal-section-title{font-size:16px;margin-bottom:16px}.modal-features-list{grid-template-columns:1fr}.modal-feature-item{font-size:13px}.modal-challenge-item{padding:16px 18px}.challenge-header{gap:10px}.challenge-title{font-size:14px}.challenge-solution{font-size:13px;padding-left:0}.modal-tech-tag{padding:6px 14px;font-size:11px}.modal-actions{flex-direction:column;padding:20px 24px 28px}.btn-modal{width:100%;padding:14px 24px;font-size:14px}}@media (max-width: 480px){.project-content{padding:20px}.project-title{font-size:18px;margin-bottom:12px}.project-description{font-size:13px;margin-bottom:16px}.project-tags{margin-bottom:16px}.project-tag{padding:5px 12px;font-size:11px}.project-stat .stat-value{font-size:12px}.project-stats{gap:6px}.project-stat{padding:5px 10px}.view-hint span{font-size:12px}.modal-highlights-grid{grid-template-columns:1fr}.modal-header-content{padding:20px 20px 18px}.modal-project-title{font-size:20px}}.skills-section{position:relative;overflow:hidden}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.skill-card{position:relative;padding:40px 32px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;transition:all var(--transition-normal);overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-accent);opacity:0;transition:opacity var(--transition-normal)}.skill-card:hover,.skill-card:focus-visible{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-6px);box-shadow:0 20px 40px -12px #0000004d;outline:none}.skill-card:hover:before,.skill-card:focus-visible:before{opacity:1}.skill-card:hover .skill-icon-wrapper,.skill-card:focus-visible .skill-icon-wrapper{color:var(--accent-primary);transform:scale(1.05)}.skill-card:hover .indicator-line,.skill-card:focus-visible .indicator-line{width:100%}.skill-icon-wrapper{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:var(--text-tertiary);transition:all var(--transition-normal)}.skill-icon-wrapper svg{width:100%;height:100%}.skill-title{font-size:20px;font-weight:600;margin-bottom:14px;letter-spacing:-.01em}.skill-description{font-size:14px;color:var(--text-secondary);line-height:1.7;min-height:72px}.skill-indicator{position:relative;margin-top:28px;height:2px;background:var(--border-color);border-radius:1px}.indicator-line{position:absolute;top:0;left:0;height:100%;width:65%;background:var(--gradient-accent);border-radius:1px;transition:width .6s ease-out}.indicator-dot{position:absolute;top:50%;right:35%;transform:translate(50%,-50%);width:10px;height:10px;background:var(--accent-primary);border-radius:50%;box-shadow:0 0 12px var(--accent-primary)}@media (max-width: 1200px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.skills-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto;gap:20px}.skill-card{padding:28px 24px;border-radius:18px}.skill-icon-wrapper{width:52px;height:52px;margin-bottom:18px}.skill-title{font-size:18px;margin-bottom:10px}.skill-description{font-size:14px;min-height:auto}.skill-indicator{margin-top:20px}}@media (max-width: 480px){.skill-card{padding:24px 20px}.skill-icon-wrapper{width:48px;height:48px}.skill-title{font-size:17px}.skill-description{font-size:13px}}.contact-section{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;overflow:hidden}.contact-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.contact-grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(201,169,110,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,110,.05) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%)}.contact-glow-1,.contact-glow-2{opacity:.08}.contact-glow-1{top:10%;left:20%}.contact-glow-2{bottom:10%;right:20%}.contact-content{position:relative;z-index:1;text-align:center;padding:100px 0}.contact-header{margin-bottom:64px}.contact-title{font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:24px}.contact-title br{display:inline}.gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-description{font-size:clamp(16px,1.5vw,18px);color:var(--text-secondary);line-height:1.7;max-width:500px;margin:0 auto}.contact-description br{display:inline}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:900px;margin:0 auto 48px}.contact-card{display:flex;align-items:center;gap:16px;padding:24px 28px;background:#ffffff08;border:1px solid var(--border-color);border-radius:16px;text-decoration:none;transition:all var(--transition-normal);min-height:48px}.contact-card:hover,.contact-card:focus-visible,.contact-card:active{background:#ffffff0f;border-color:var(--accent-primary);transform:translateY(-4px);outline:none}.contact-card:hover .contact-arrow,.contact-card:focus-visible .contact-arrow,.contact-card:active .contact-arrow{transform:translate(4px,-4px);color:var(--accent-primary)}.contact-card:hover .contact-card-icon,.contact-card:focus-visible .contact-card-icon,.contact-card:active .contact-card-icon{color:var(--accent-primary)}.contact-card-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color var(--transition-fast)}.contact-card-icon svg{width:26px;height:26px}.contact-card-info{flex:1;text-align:left;min-width:0}.contact-card-label{display:block;font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.contact-card-value{display:block;font-size:15px;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-arrow{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.contact-cta{margin-bottom:64px}.btn-contact{padding:20px 52px;font-size:17px;gap:14px;min-height:56px}.btn-contact svg{transition:transform var(--transition-fast)}.btn-contact:hover svg,.btn-contact:focus-visible svg,.btn-contact:active svg{transform:translate(4px)}.contact-footer{padding-top:32px;border-top:1px solid var(--border-color)}.contact-footer p{font-size:14px;color:var(--text-tertiary);margin-bottom:4px}.footer-subtitle{font-family:var(--font-mono);font-size:12px!important;color:var(--text-tertiary);opacity:.6}@media (max-width: 1024px){.contact-cards{grid-template-columns:repeat(2,1fr);max-width:600px}}@media (max-width: 900px){.contact-cards{grid-template-columns:1fr;max-width:400px}.contact-title{font-size:clamp(34px,8vw,56px)}}@media (max-width: 768px){.contact-content{padding:80px 0 60px}.contact-header{margin-bottom:48px}.contact-title{font-size:clamp(30px,9vw,46px);margin-bottom:20px}.contact-title br{display:none}.contact-description{font-size:15px}.contact-description br{display:none}.contact-cards{gap:16px;margin-bottom:40px}.contact-card{padding:18px 20px}.contact-card-icon{width:40px;height:40px}.contact-card-icon svg{width:22px;height:22px}.contact-card-value{font-size:14px}.contact-arrow{width:32px;height:32px}.contact-cta{margin-bottom:48px}.btn-contact{padding:16px 40px;font-size:16px;width:100%;max-width:320px}.contact-footer{padding-top:24px}}@media (max-width: 480px){.contact-title{font-size:clamp(28px,10vw,38px)}.contact-description{font-size:14px}.contact-card{padding:16px 18px}.contact-card-label{font-size:11px}.contact-card-value{font-size:13px}.btn-contact{padding:15px 28px;font-size:15px}}.footer{padding:48px 0;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.footer-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:24px}.footer-logo{font-family:var(--font-mono);font-size:18px;font-weight:500;color:var(--text-primary);text-decoration:none;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-flex;align-items:center;gap:2px;min-height:44px}.footer-tagline{font-size:13px;color:var(--text-tertiary);margin-top:6px}.footer-nav{display:flex;gap:32px;flex-wrap:wrap;justify-content:center}.footer-link{font-size:14px;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);min-height:44px;display:inline-flex;align-items:center}.footer-link:hover,.footer-link:focus-visible,.footer-link:active{color:var(--accent-primary);outline:none}.footer-right{text-align:right}.footer-copy{font-size:13px;color:var(--text-tertiary)}.footer-divider{height:1px;background:var(--border-color);margin-bottom:24px}.footer-bottom{text-align:center}.footer-bottom p{font-size:12px;color:var(--text-tertiary);font-family:var(--font-mono)}@media (max-width: 1024px){.footer-content{flex-direction:column;gap:24px;text-align:center}.footer-left,.footer-right{text-align:center}.footer-nav{justify-content:center}}@media (max-width: 768px){.footer{padding:36px 0}.footer-content{margin-bottom:24px}.footer-logo{font-size:16px}.footer-tagline{font-size:12px}.footer-nav{gap:20px}.footer-link{font-size:13px}.footer-copy{font-size:12px}.footer-bottom p{font-size:11px}}@media (max-width: 480px){.footer-nav{gap:14px 20px}}.music-disc-container{position:fixed;left:28px;top:50%;transform:translateY(-50%);z-index:9998;display:flex;flex-direction:column;align-items:center;gap:0;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, sans-serif);-webkit-user-select:none;user-select:none;left:max(28px,var(--safe-left))}.music-disc{position:relative;width:130px;height:130px;cursor:pointer;transition:transform .4s cubic-bezier(.34,1.56,.64,1);touch-action:manipulation}.music-disc:hover{transform:scale(1.05)}.music-disc:active{transform:scale(.98)}.disc-body{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;background:#12101899;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1.5px solid rgba(255,255,255,.13);box-shadow:0 10px 40px #00000080,inset 0 1px 2px #ffffff14,inset 0 0 30px #c9a96e0a;will-change:transform}.disc-body.spinning{box-shadow:0 10px 40px #00000080,0 0 50px #c9a96e0f,inset 0 1px 2px #ffffff1f,inset 0 0 30px #c9a96e12}.disc-cover{width:100%;height:100%;object-fit:cover;opacity:.92;transition:filter .6s ease,opacity .4s ease}.is-playing .disc-cover{filter:brightness(1.03) saturate(1.12);opacity:1}.disc-grooves{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;border:1px solid rgba(255,255,255,.045);pointer-events:none}.disc-grooves:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;border:1px solid rgba(255,255,255,.035)}.disc-grooves:after{content:"";position:absolute;top:28px;right:28px;bottom:28px;left:28px;border-radius:50%;border:1px solid rgba(255,255,255,.025)}.disc-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#1c1926,#0f0d16);border:2px solid rgba(201,169,110,.32);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 14px #0000008c,inset 0 1px 3px #ffffff0a;z-index:3;overflow:hidden}.is-playing .disc-label{border-color:#c9a96e7a;box-shadow:0 2px 14px #0000008c,0 0 15px #c9a96e1f,inset 0 1px 3px #ffffff0f}.label-text{position:absolute;font-size:7.5px;font-weight:700;color:#c9a96ed9;letter-spacing:2.5px;text-transform:uppercase;animation:label-spin 8s linear infinite reverse}@keyframes label-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.label-center-dot{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#e8d5b7,#a67c52 60%,#5a4428);box-shadow:inset 0 1px 3px #00000073,0 0 8px #c9a96e40;z-index:4}.is-playing .label-center-dot{box-shadow:inset 0 1px 3px #00000073,0 0 14px #c9a96e73}.disc-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(140deg,rgba(255,255,255,.14) 0%,transparent 40%,transparent 58%,rgba(255,255,255,.04) 100%);pointer-events:none;z-index:2}.tonearm{position:absolute;top:4px;right:4px;width:56px;height:56px;transform-origin:8px 8px;z-index:11;pointer-events:none;overflow:visible}.tonearm-pivot{position:absolute;top:0;left:0;width:16px;height:16px;background:radial-gradient(circle at 40% 35%,#5e5670,#3a3448 60%,#252033);border-radius:50%;border:1.5px solid rgba(201,169,110,.3);box-shadow:0 3px 10px #00000080,inset 0 1px 2px #ffffff14}.pivot-screw{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0e6cc,#c9a96e 55%,#7a6035);box-shadow:0 1px 3px #00000073}.tonearm-arm{position:absolute;top:7px;left:7px;width:48px;height:2.6px;background:linear-gradient(to right,#c4bed4,#9e97ae,#736b88 60%,#4f4862 85%,#38334a);clip-path:polygon(0 10%,0 90%,94% 35%,100% 50%,94% 65%);transform-origin:0 50%;box-shadow:0 1.5px 5px #0006}.tonearm-head{position:absolute;bottom:2px;right:2px;width:10px;height:12px;background:linear-gradient(to bottom,#7e7696,#524c68,#373248);border-radius:1px 1px 3px 3px;box-shadow:0 1.5px 5px #0006}.tonearm-head:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:5px;height:3px;background:linear-gradient(90deg,#a67c52,#e8d5b7 40%,#c9a96e,#e8d5b7,#a67c52);border-radius:0 0 2.5px 2.5px;box-shadow:0 0 5px #c9a96e59}.tonearm-shadow{position:absolute;bottom:14px;right:6px;width:24px;height:10px;background:radial-gradient(ellipse,rgba(0,0,0,.3),transparent);border-radius:50%;filter:blur(3px);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1}.tonearm-shadow.visible{opacity:1}.disc-controls{position:relative;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:10px}.progress-ring-wrap{position:relative;width:52px;height:52px;cursor:pointer;flex-shrink:0;touch-action:none}.progress-ring{width:100%;height:100%;transform:rotate(-90deg);filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}.progress-bg{fill:none;stroke:#ffffff0f;stroke-width:2.5}.progress-bar{fill:none;stroke:#c9a96e;stroke-width:2.5;stroke-linecap:round;transition:stroke-dashoffset .15s linear}.play-btn-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffffe0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0;z-index:2;touch-action:manipulation}.play-btn-center:hover,.play-btn-center:focus-visible,.play-btn-center:active{background:#c9a96e2e;border-color:#c9a96e59;color:#e8d5b7;transform:translate(-50%,-50%) scale(1.1);outline:none}.play-btn-center svg{width:13px;height:13px;margin-left:0}.skip-btn{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.06);background:#ffffff0a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffff8c;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);padding:0;flex-shrink:0;touch-action:manipulation}.skip-btn:hover,.skip-btn:focus-visible,.skip-btn:active{background:#c9a96e1f;border-color:#c9a96e40;color:#e8d5b7;transform:scale(1.12);outline:none}.skip-btn svg{width:12px;height:12px}.track-info{max-height:0;overflow:hidden;opacity:0;transition:all .45s cubic-bezier(.4,0,.2,1);pointer-events:none;white-space:nowrap}.music-disc-container:hover .track-info,.music-disc-container:focus-within .track-info{max-height:320px;opacity:1;pointer-events:auto;margin-top:14px}.track-title{font-size:13px;font-weight:600;color:#fff;letter-spacing:.02em;margin-bottom:2px}.track-artist{font-size:11px;color:#ffffff6b;margin-bottom:12px;letter-spacing:.02em}.playlist{display:flex;flex-direction:column;gap:3px;max-height:180px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(201,169,110,.25) transparent}.playlist::-webkit-scrollbar{width:3px}.playlist::-webkit-scrollbar-track{background:transparent}.playlist::-webkit-scrollbar-thumb{background:#c9a96e40;border-radius:2px}.playlist-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .25s ease;color:#ffffff7a;font-size:11.5px;width:100%;text-align:left;font-family:inherit;min-height:36px;touch-action:manipulation}.playlist-item:hover,.playlist-item:focus-visible,.playlist-item:active{background:#ffffff0f;color:#ffffffe0;outline:none}.playlist-item.active{background:#c9a96e1a;color:#c9a96e}.item-index{font-size:10px;color:#ffffff38;min-width:17px;text-align:center;font-family:var(--font-mono, monospace)}.active .item-index{color:#c9a96e80}.item-title{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:11px}.playing-bars{display:flex;align-items:flex-end;gap:2.5px;height:13px}.playing-bars i{display:block;width:2.2px;background:#c9a96e;border-radius:1px;animation:bars-bounce .75s ease-in-out infinite}.playing-bars i:nth-child(1){height:35%;animation-delay:0s}.playing-bars i:nth-child(2){height:80%;animation-delay:.12s}.playing-bars i:nth-child(3){height:50%;animation-delay:.25s}.playing-bars i:nth-child(4){height:70%;animation-delay:.37s}@keyframes bars-bounce{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes disc-enter{0%{opacity:0;transform:translateY(-50%) translate(-36px) scale(.75)}to{opacity:1;transform:translateY(-50%) translate(0) scale(1)}}.music-disc-container{animation:disc-enter .65s cubic-bezier(.34,1.56,.64,1) .6s both}@media (max-width: 1024px){.music-disc-container{left:18px;left:max(18px,var(--safe-left))}.music-disc{width:112px;height:112px}.disc-label{width:38px;height:38px}.label-center-dot{width:12px;height:12px}.label-text{font-size:7px}.tonearm{width:50px;height:50px}.tonearm-arm{width:42px}.progress-ring-wrap{width:46px;height:46px}.play-btn-center{width:32px;height:32px}.play-btn-center svg{width:12px;height:12px}.skip-btn{width:26px;height:26px}.skip-btn svg{width:11px;height:11px}}@media (max-width: 768px){.music-disc-container{left:14px;left:max(14px,var(--safe-left));top:auto;bottom:28px;bottom:max(28px,var(--safe-bottom));transform:none;animation-name:disc-enter-mobile}@keyframes disc-enter-mobile{0%{opacity:0;transform:translateY(30px) scale(.75)}to{opacity:1;transform:translateY(0) scale(1)}}.music-disc{width:94px;height:94px}.disc-label{width:33px;height:33px}.label-text{font-size:6px}.tonearm{top:2px;right:2px;width:44px;height:44px}.tonearm-arm{width:36px}.tonearm-head{width:8px;height:10px}.progress-ring-wrap{width:42px;height:42px}.play-btn-center{width:30px;height:30px}.play-btn-center svg{width:11px;height:11px}.skip-btn{width:28px;height:28px}.skip-btn svg{width:10px;height:10px}.disc-controls{gap:8px}.track-info{position:fixed;left:14px;left:max(14px,var(--safe-left));bottom:138px;bottom:calc(138px + var(--safe-bottom));background:#0d0b12f0;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 12px;width:190px;max-width:calc(100vw - 28px);box-shadow:0 14px 45px #0000008c;z-index:9999}.music-disc-container:hover .track-info,.music-disc-container:focus-within .track-info{max-height:240px;opacity:1;pointer-events:auto;margin-top:0}.track-info:not(:hover){max-height:0;opacity:0;pointer-events:none;margin-top:0;transition:all .3s cubic-bezier(.4,0,.2,1)}}@media (max-width: 480px){.music-disc-container{bottom:20px;bottom:max(20px,var(--safe-bottom))}.music-disc{width:86px;height:86px}.disc-label{width:30px;height:30px}.label-center-dot{width:10px;height:10px}.tonearm{width:40px;height:40px}.tonearm-arm{width:32px;height:2.2px}.progress-ring-wrap{width:38px;height:38px}.play-btn-center{width:26px;height:26px}.play-btn-center svg{width:10px;height:10px}.skip-btn{width:26px;height:26px}.track-info{width:170px;padding:12px 10px}}@media (max-height: 500px) and (orientation: landscape){.music-disc-container{bottom:12px;left:12px}.music-disc{width:72px;height:72px}.track-info{display:none}}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-card: rgba(255, 255, 255, .03);--bg-card-hover: rgba(255, 255, 255, .06);--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-tertiary: #6b6b80;--accent-primary: #c9a96e;--accent-secondary: #e8d5b7;--accent-dark: #a67c52;--accent-glow: rgba(201, 169, 110, .15);--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--gradient-accent: linear-gradient(135deg, #e8d5b7 0%, #c9a96e 50%, #a67c52 100%);--gradient-dark: linear-gradient(180deg, #0a0a0f 0%, #12121a 100%);--gradient-card: linear-gradient(135deg, rgba(201, 169, 110, .1) 0%, rgba(166, 124, 82, .05) 100%);--btn-gradient: linear-gradient(135deg, #c9a96e 0%, #d4b87a 100%);--btn-hover-gradient: linear-gradient(135deg, #d4b87a 0%, #e8d5b7 100%);--container-width: 1700px;--section-padding: 120px 0;--section-padding-mobile: 80px 0;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box}img,video,svg,iframe,embed,object{max-width:100%;height:auto}ul,ol{list-style:none}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;touch-action:manipulation;overflow-x:hidden;width:100%;max-width:100%}html.gsap-active,html.gsap-active body{overflow-x:hidden}.will-animate{visibility:hidden}.will-animate.animated{visibility:visible}#main-navbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:999999!important}section{position:relative;z-index:1;scroll-margin-top:100px;width:100%;max-width:100%}[id]{scroll-margin-top:100px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;touch-action:pan-y;width:100%;max-width:100%}#root,.app,main{width:100%;max-width:100%;overflow-x:hidden}body.menu-open{overflow:hidden;touch-action:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background:var(--accent-primary);color:#fff}.container{max-width:var(--container-width);margin:0 auto;padding:0 60px}.section{padding:var(--section-padding);position:relative}.section-header{text-align:center;margin-bottom:80px}.section-label{font-family:var(--font-mono);font-size:13px;color:var(--accent-secondary);letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;display:block}.section-title{font-size:clamp(32px,4vw,52px);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:20px}.section-subtitle{font-size:clamp(16px,1.5vw,18px);color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 32px;font-family:var(--font-sans);font-size:15px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;min-height:44px;min-width:44px}.btn-primary{background:transparent;color:#e8d5b7;border:1.5px solid rgba(201,169,110,.5);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#c9a96e26,#e8d5b714);opacity:0;transition:opacity .35s ease}.btn-primary:hover,.btn-primary:focus-visible,.btn-primary:active{color:#fff;border-color:#c9a96e;transform:translateY(-3px);box-shadow:0 12px 36px #c9a96e40,0 4px 16px #c9a96e26,inset 0 1px #ffffff0d;outline:none}.btn-primary:active{transform:translateY(-1px)}.btn-primary:hover:before,.btn-primary:focus-visible:before,.btn-primary:active:before{opacity:1}.btn-primary span,.btn-primary svg{position:relative;z-index:1}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn-outline:hover,.btn-outline:focus-visible,.btn-outline:active{border-color:var(--accent-primary);background:var(--accent-glow);color:var(--accent-secondary);transform:translateY(-2px);outline:none}.btn-outline:active{transform:translateY(0)}.bg-glow{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(150px);opacity:.15;pointer-events:none}.bg-glow-blue{background:var(--accent-primary)}.bg-glow-purple{background:#8b5cf6}@media (max-width: 1200px){.container{padding:0 40px}}@media (max-width: 768px){:root{--section-padding: var(--section-padding-mobile)}.container{padding:0 20px;padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right))}.section{padding:var(--section-padding-mobile) 0}.section-header{margin-bottom:48px}.section-label{font-size:12px;letter-spacing:2px;margin-bottom:14px}.section-title{font-size:clamp(28px,7vw,40px);margin-bottom:16px}.section-subtitle{font-size:16px;line-height:1.65}.btn{padding:14px 28px;font-size:15px;width:100%}.bg-glow{width:300px;height:300px;filter:blur(100px)}}@media (max-width: 480px){.container{padding:0 16px;padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right))}.section-title{font-size:clamp(26px,8vw,34px)}.section-subtitle{font-size:15px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
