:root{--bg: hsl(225 25% 7%);--surface: hsl(225 22% 10%);--surface-elev: hsl(225 20% 13%);--overlay: hsl(225 18% 16%);--border-subtle: hsl(225 12% 22%);--border: hsl(225 14% 28%);--txt: hsl(220 18% 92%);--txt-2: hsl(220 12% 72%);--txt-3: hsl(220 10% 58%);--primary: hsl(225 60% 48%);--primary-hover: hsl(225 64% 44%);--primary-active: hsl(225 68% 40%);--focus: hsl(225 90% 66%);--accent: hsl(265 65% 60%);--accent-soft: hsl(265 65% 60% / .14);--accent-soft-2: hsl(265 65% 60% / .22);--card-radius: 14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font-family:Inter,system-ui,sans-serif;line-height:1.5}.container{max-width:1040px;margin:0 auto;padding:0 20px}.header{position:sticky;top:0;z-index:100;background:#12141cd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);transition:all .3s ease}.header.scrolled{background:#101219f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 4px 20px #0006}.header-glow{position:absolute;inset:0;pointer-events:none;opacity:.6;transition:opacity .2s ease}.header-inner{max-width:1120px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.header-logo{margin:0;font-size:0}.logo-link{display:inline-flex;align-items:center;text-decoration:none;position:relative;padding:4px 0}.logo-text{font-family:Playfair Display,serif;font-size:23px;font-weight:600;color:var(--txt);letter-spacing:.3px;display:inline-flex;align-items:baseline;transition:color .3s ease}.logo-letter{display:inline-block;color:var(--txt);font-weight:700;font-size:24px}.logo-rest{display:inline-block;color:var(--txt)}.logo-separator{display:inline-block;width:6px}.logo-link:hover .logo-text{color:var(--accent)}.nav-desktop{display:flex;align-items:center;gap:32px}.nav-links{display:flex;gap:28px}.nav-link{position:relative;color:var(--txt-2);text-decoration:none;font-weight:500;font-size:15px;padding:8px 4px;transition:color .2s ease;display:flex;flex-direction:column;align-items:center}.nav-text{position:relative;z-index:2}.nav-indicator{position:absolute;bottom:4px;left:50%;transform:translate(-50%) scaleX(0);width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);border-radius:2px;transition:transform .3s ease;transform-origin:center}.nav-link:hover{color:var(--txt)}.nav-link:hover .nav-indicator{transform:translate(-50%) scaleX(.8)}.nav-link.active{color:var(--txt)}.nav-link.active .nav-indicator{transform:translate(-50%) scaleX(1);background:var(--accent)}.header-actions{display:flex;gap:10px;margin-left:12px;padding-left:24px;border-left:1px solid var(--border-subtle)}.social-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:var(--txt-2);border:1px solid var(--border-subtle);background:transparent;text-decoration:none;transition:all .2s ease;overflow:hidden}.social-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:10px;transform:translate(-50%,-50%);transition:all .3s ease}.social-link.github:before{background:#ffffff1a}.social-link.linkedin:before{background:#0a66c233}.social-link:hover:before{width:100%;height:100%}.social-link:hover{color:var(--txt);border-color:var(--accent);transform:translateY(-2px)}.social-tooltip{position:absolute;bottom:-32px;left:50%;transform:translate(-50%) translateY(10px);background:var(--surface-elev);color:var(--txt);padding:4px 8px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease;border:1px solid var(--border)}.social-link:hover .social-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.mobile-menu-button{display:none;background:transparent;border:1px solid var(--border-subtle);border-radius:10px;color:var(--txt);cursor:pointer;padding:8px;transition:all .2s ease}.menu-icon-wrapper{display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.mobile-menu-button:hover{border-color:var(--accent);background:var(--surface)}.mobile-menu-button:hover .menu-icon-wrapper{transform:scale(1.1)}.mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--surface-elev);border-bottom:1px solid var(--border-subtle);max-height:0;overflow:hidden;transition:max-height .3s ease}.mobile-menu.open{max-height:400px;box-shadow:0 10px 30px #0000004d}.mobile-menu-inner{padding:16px 20px}.mobile-nav-link{display:flex;align-items:center;gap:12px;color:var(--txt-2);text-decoration:none;padding:14px 12px;margin:0 -12px;font-weight:500;border-radius:8px;transition:all .2s ease}.mobile-nav-link:hover{color:var(--txt);background:var(--surface)}.mobile-nav-link.active{color:var(--accent);background:var(--accent-soft)}.mobile-menu-divider{height:1px;background:var(--border-subtle);margin:12px 0}@media (max-width: 768px){.nav-desktop{display:none}.mobile-menu-button{display:block}.header-inner{padding:12px 16px}.logo-text{font-size:20px}}.hero{padding:64px 0 28px;text-align:center}.hero h2{font-family:Playfair Display,serif;font-size:clamp(34px,6vw,52px);margin:0 0 10px}.hero p{color:var(--txt-2);max-width:720px;margin:0 auto 24px;font-size:18px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:12px;font-weight:600;text-decoration:none;transition:all .16s ease;border:1px solid transparent;cursor:pointer;font-size:15px;font-family:inherit}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:active{background:var(--primary-active);transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--txt);border-color:var(--border-subtle)}.btn-ghost:hover{border-color:var(--border);background:var(--surface)}.projects-header{position:relative;padding:48px 0 32px}.accent-shapes{position:absolute;inset:-100px 0;pointer-events:none;opacity:.4;z-index:0;overflow:visible}.shape{position:absolute;border-radius:50%;filter:blur(60px)}.shape-1{width:400px;height:400px;background:radial-gradient(circle,var(--accent) 0%,transparent 60%);top:-150px;right:-50px;animation:float-shape 20s ease-in-out infinite}.shape-2{width:300px;height:300px;background:radial-gradient(circle,var(--primary) 0%,transparent 60%);bottom:-100px;left:10%;animation:float-shape 25s ease-in-out infinite reverse}.shape-3{width:250px;height:250px;background:radial-gradient(circle,var(--accent) 0%,transparent 60%);top:50%;left:-50px;animation:float-shape 30s ease-in-out infinite;animation-delay:5s}.header-content{position:relative;z-index:2;max-width:100%}.projects-title{font-family:Playfair Display,serif;font-size:clamp(36px,5vw,48px);margin:0 0 16px;position:relative;display:inline-flex;align-items:center;gap:12px}.title-text{background:linear-gradient(135deg,var(--txt) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-description{color:var(--txt-2);font-size:18px;line-height:1.6;margin:0 0 32px;max-width:820px;opacity:0;animation:fade-in-up .6s ease-out;animation-fill-mode:both;animation-delay:.3s}.project-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-subtle);opacity:0;animation:fade-in-up .6s ease-out;animation-fill-mode:both;animation-delay:.4s}.filter-group{display:flex;gap:8px;background:var(--surface);padding:4px;border-radius:12px;border:1px solid var(--border-subtle)}.filter-btn{position:relative;padding:8px 16px;background:transparent;border:none;color:var(--txt-2);font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease}.filter-indicator{position:absolute;inset:0;background:var(--accent-soft);border-radius:8px;opacity:0;transform:scale(.95);transition:all .2s ease;z-index:-1}.filter-btn:hover{color:var(--txt)}.filter-btn.active{color:var(--accent)}.filter-btn.active .filter-indicator{opacity:1;transform:scale(1)}.view-toggle{display:flex;gap:4px;background:var(--surface);padding:4px;border-radius:10px;border:1px solid var(--border-subtle)}.view-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--txt-2);cursor:pointer;border-radius:6px;transition:all .2s ease}.view-btn:hover{color:var(--txt);background:var(--surface-elev)}.view-btn.active{color:var(--accent);background:var(--accent-soft)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-container{position:relative;min-height:400px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding-bottom:80px}.project-link{text-decoration:none;color:inherit;display:block;opacity:0;animation:fade-in-scale .5s ease-out;animation-fill-mode:both}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.card-wrapper{position:relative;height:100%;transition:transform .2s ease}.card-glow{position:absolute;inset:-2px;background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);border-radius:var(--card-radius);opacity:0;filter:blur(20px);transition:opacity .3s ease;z-index:-1}.card-wrapper.hovered .card-glow{opacity:.3}.card-wrapper.hovered{transform:translateY(-4px)}.status-ribbon{position:absolute;top:16px;right:-8px;color:#fff;padding:4px 16px 4px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px 0 0 4px;animation:slide-in-right .6s ease-out;animation-fill-mode:both;animation-delay:.8s}.status-ribbon.active-development{background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);box-shadow:0 2px 8px #9333ea4d}.status-ribbon.active{background:linear-gradient(135deg,#22c35d,#1fad83);box-shadow:0 2px 8px #22c55e4d}.status-ribbon:after{content:"";position:absolute;right:0;bottom:-4px;width:0;height:0;border-style:solid;border-width:0 8px 4px 0;border-color:transparent;filter:brightness(.7)}.status-ribbon.active-development:after{border-right-color:var(--primary)}.status-ribbon.active:after{border-right-color:#1fad83}.ribbon-text{position:relative;z-index:2}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--txt-2);gap:16px;animation:fade-in-up .6s ease-out}.empty-state svg{color:var(--accent);opacity:.5}.reset-filter-btn{padding:10px 20px;background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.reset-filter-btn:hover{background:var(--accent);color:#fff}.card{height:100%;background:var(--surface-elev);border:1px solid var(--border-subtle);border-radius:12px;transition:all .2s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:16px}.card.has-active-development{background:linear-gradient(135deg,var(--surface-elev) 0%,hsla(265,65%,60%,.05) 100%)}.card.has-active{background:linear-gradient(135deg,var(--surface-elev) 0%,hsla(142,70%,45%,.05) 100%)}.card.has-completed{background:linear-gradient(135deg,var(--surface-elev) 0%,hsla(210,80%,50%,.05) 100%)}.card.has-archived{background:linear-gradient(135deg,var(--surface-elev) 0%,hsla(0,0%,50%,.05) 100%)}.project-thumb{width:100%;height:200px;object-fit:cover;border-radius:12px;margin-bottom:16px;display:block;background:var(--surface);flex-shrink:0}.card h3{font-family:Playfair Display,serif;font-size:19px;margin:0 0 6px;line-height:1.2}.card p{color:var(--txt-2);font-size:14.5px;margin:0 0 10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px}.card-date{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--txt-3)}.card-status{margin-left:auto;font-size:11px;padding:3px 8px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border:1px solid transparent}.card-status.active-development{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.card-status.active{background:#22c35d26;color:#22c35d;border-color:#22c35d4d}.card-status.completed{background:#1980e626;color:#1980e6;border-color:#1980e64d}.card-status.archived{background:var(--surface);color:var(--txt-3);border-color:var(--border-subtle)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:translate(-100%);transition:transform .6s ease}.card-wrapper.hovered .card:before{transform:translate(100%)}.card-wrapper.hovered .card{border-color:var(--accent)}@media (max-width: 768px){.projects-page-wrapper{overflow:hidden}.accent-shapes{opacity:0;display:none}.shape-1{width:300px;height:300px;right:-100px;top:-150px}.shape-2{width:250px;height:250px;left:-50px;bottom:-100px}.shape-3{width:200px;height:200px;left:-75px}.project-grid{grid-template-columns:1fr;gap:20px;padding:0 0 60px}.projects-header{padding:32px 0 24px}.projects-title{font-size:32px}.page-description{font-size:16px;padding:0}}.page-header{padding:28px 0 18px}.page-title{font-family:Playfair Display,serif;font-size:clamp(40px,6vw,64px);margin:6px 0 10px;animation:fade-in-up .6s ease-out}.project-figure{margin:0 0 12px}.project-image{width:100%;height:auto;object-fit:contain;border-radius:var(--card-radius);margin-bottom:6px}.project-image-caption{color:var(--txt-3);font-size:13.5px;line-height:1.4;margin:0 2px 12px}.detail-layout.right{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}.sidebar-card{background:var(--surface-elev);border:1px solid var(--border-subtle);border-radius:var(--card-radius);padding:16px}.sticky-right{position:sticky;top:84px}.sidebar-section{margin:12px 0}.sidebar-heading{margin:10px 0;color:var(--txt);font-size:16px;font-weight:600}.links-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.links-grid.has-odd .link-cell:last-child{grid-column:1 / -1}.link-cell .btn{width:100%}.status-badge{margin-top:10px;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;font-size:12.5px;border-radius:999px;background:var(--surface);color:var(--txt-3);border:1px solid var(--border-subtle)}.status-badge.active{background:var(--accent-soft);color:var(--accent);border-color:transparent}.obs-note{margin-top:10px;font-size:13.5px;color:var(--txt-2);padding:10px 12px;border:1px solid var(--border-subtle);background:var(--overlay);border-radius:10px}.date-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border-subtle);color:var(--txt-2);font-size:14px}.detail-content{min-width:0}.tech-tags-bubbles{display:flex;flex-wrap:wrap;gap:8px}.tech-tag-bubble{background:var(--surface-elev);color:var(--txt);padding:6px 12px;border-radius:999px;font-size:.85rem;border:1px solid var(--border);white-space:nowrap}.markdown-content{max-width:820px;color:var(--txt-2);line-height:1.7}.markdown-content h1{font-size:2em;margin:.55em 0 .25em;color:var(--txt)}.markdown-content h2{font-size:1.85em;margin:1em 0 -.85em;color:var(--txt)}.markdown-content h3{font-size:1.2em;margin:.4em 0 .2em;color:var(--txt-2)}.markdown-content p{margin:.65em 0}.markdown-content strong{font-weight:600;color:var(--txt)}.markdown-content em{font-style:italic}.markdown-content code{background:var(--surface);padding:2px 6px;border-radius:4px;font-size:.9em}.markdown-content pre{background:var(--surface);padding:16px;border-radius:8px;overflow-x:auto}.markdown-content img{max-width:100%;height:auto;border-radius:var(--card-radius);margin:1.1em 0}.markdown-content ul,.markdown-content ol{margin:.8em 0;padding-left:2em}.markdown-content li{margin:.3em 0}.markdown-content blockquote{border-left:3px solid var(--accent);padding-left:1em;margin:1em 0;color:var(--txt-2)}@media (max-width: 980px){.detail-layout.right{grid-template-columns:1fr;gap:16px}.sticky-right{position:static;top:auto}.markdown-content{max-width:100%}}@media (max-width: 768px){.nav-desktop{display:none}.mobile-menu-button{display:block}.hero{padding-top:56px}.header-inner{padding:12px 16px}}.about-wrap{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;max-width:1040px;margin:20px auto 96px;align-items:start;position:relative;opacity:0;animation:fade-in .6s ease forwards}.about-wrap.mounted{opacity:1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.about-shapes{position:absolute;inset:-100px 0;pointer-events:none;opacity:.4;z-index:0}.shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.shape-1{width:350px;height:350px;background:radial-gradient(circle,var(--accent) 0%,transparent 60%);top:-100px;right:-100px;animation:float-shape 20s ease-in-out infinite}.shape-2{width:300px;height:300px;background:radial-gradient(circle,var(--primary) 0%,transparent 60%);bottom:100px;left:-100px;animation:float-shape 25s ease-in-out infinite reverse}@keyframes float-shape{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.about-card{width:100%;background:var(--surface-elev);border:1px solid var(--border-subtle);border-radius:14px;padding:16px;position:relative;overflow:hidden;z-index:1;animation:slide-in-left .6s ease forwards}.about-card.sticky{position:sticky;top:84px}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.about-card-inner{display:flex;flex-direction:column;gap:14px}.about-photo{border-radius:12px;overflow:hidden;position:relative}.photo-glow{position:absolute;inset:-30px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.1;filter:blur(40px);z-index:-1}.about-photo img{width:100%;height:auto;display:block;object-fit:cover;border-radius:12px;transition:transform .3s ease;object-position:50% 30%}.about-side{min-width:0}.about-meta{list-style:none;margin:4px 0 0;padding:0}.about-meta li{display:flex;align-items:center;gap:10px;color:var(--txt-2);font-size:14px;padding:8px 2px;opacity:0;animation:fade-in-up .5s ease forwards}.about-meta li:nth-child(1){animation-delay:.2s}.about-meta li:nth-child(2){animation-delay:.3s}.about-meta li:nth-child(3){animation-delay:.4s}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.meta-icon{color:var(--accent);flex-shrink:0}.about-content{min-width:0;position:relative;z-index:1;opacity:0;animation:fade-in-up .6s ease forwards;animation-delay:.15s}.about-title{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(36px,6vw,56px);line-height:1.1;margin:50px 0 18px;display:flex;align-items:center;gap:12px}.title-text{background:linear-gradient(135deg,var(--txt) 0%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.title-sparkle{color:var(--accent);opacity:.8}.about-text{margin-top:4px}.intro-text{color:var(--txt-2);font-size:17px;line-height:1.7;margin-bottom:28px;padding-left:20px;border-left:3px solid var(--accent);opacity:0;animation:fade-in-up .6s ease forwards;animation-delay:.22s}.about-text h3{color:var(--txt);font-size:20px;margin:28px 0 10px;display:flex;align-items:center;gap:10px;opacity:0;animation:fade-in-up .6s ease forwards;animation-delay:.26s}.section-icon{color:var(--accent);flex-shrink:0}.about-text p{color:var(--txt-2);line-height:1.7;opacity:0;animation:fade-in-up .6s ease forwards;animation-delay:.3s}.highlight{color:var(--accent);font-style:normal;font-weight:500}.cta-panel{margin:40px 0 0;padding:28px 24px;background:linear-gradient(180deg,#8e57db14,#8e57db0a);border:1px solid var(--border-subtle);border-radius:14px;text-align:center;position:relative;overflow:hidden;opacity:0;animation:fade-in-up .6s ease forwards;animation-delay:.34s}.cta-glow{position:absolute;top:-100px;left:50%;transform:translate(-50%);width:400px;height:200px;background:radial-gradient(ellipse,var(--accent) 0%,transparent 70%);opacity:.08;filter:blur(80px);pointer-events:none}.cta-title{font-family:Playfair Display,serif;font-size:clamp(22px,3vw,30px);margin:0 0 10px;color:var(--txt)}.cta-lead{margin:0 auto 16px;max-width:640px;color:var(--txt-2);font-size:16px;line-height:1.6}.cta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}@media (max-width: 900px){.about-wrap{grid-template-columns:1fr;max-width:720px}.about-card.sticky{position:static;top:auto}.about-shapes{display:none}.intro-text{border-left:none;padding-left:0}}@media (max-width: 560px){.about-card-inner{flex-direction:row;align-items:stretch;gap:12px}.about-photo{width:50%}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.about-side{width:65%;display:flex;align-items:center}.about-meta{width:100%}.about-card{max-width:100%;margin:0 auto}.about-title{margin:24px 0 14px;font-size:32px}}@media (min-width: 561px) and (max-width: 900px){.about-photo{height:320px}.about-photo img{height:100%}}.contact-center-wrap{padding:84px 0 160px;position:relative;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}.contact-center-wrap.mounted{opacity:1;transform:translateY(0)}.contact-decor{position:absolute;inset:-120px 0;pointer-events:none;z-index:0;opacity:.75}.c-shape{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform;opacity:.45}.c-shape-1{width:380px;height:380px;background:radial-gradient(circle,var(--accent) 0%,transparent 60%);top:-80px;right:-60px;animation:c-float-1 22s ease-in-out infinite}.c-shape-2{width:300px;height:300px;background:radial-gradient(circle,var(--primary) 0%,transparent 60%);bottom:-60px;left:-40px;animation:c-float-2 26s ease-in-out infinite reverse}.c-shape-3{width:260px;height:260px;background:radial-gradient(circle,var(--accent) 0%,transparent 60%);top:40%;left:-80px;animation:c-float-3 28s ease-in-out infinite}@keyframes c-float-1{0%,to{transform:translate(0) scale(1)}40%{transform:translate(-20px,18px) scale(1.05)}70%{transform:translate(18px,-12px) scale(.97)}}@keyframes c-float-2{0%,to{transform:translate(0) scale(1)}35%{transform:translate(24px,-16px) scale(1.08)}80%{transform:translate(-16px,14px) scale(.94)}}@keyframes c-float-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-8px) scale(1.06)}}.contact-glow{position:absolute;top:-90px;left:50%;transform:translate(-50%);width:540px;height:220px;background:radial-gradient(ellipse at center,var(--accent) 0%,transparent 70%);filter:blur(90px);opacity:.08}.contact-hero,.contact-social-inline,.contact-field-wrap{position:relative;z-index:1}.contact-hero{text-align:center;max-width:820px;margin:0 auto 42px}.contact-title{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(40px,6vw,60px);line-height:1.1;margin:0 0 12px;color:var(--txt);display:inline-flex;align-items:center;gap:10px;animation:fade-in-up .6s ease both}.contact-title-text{background:linear-gradient(135deg,var(--txt) 0%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.contact-title-sparkle{color:var(--accent);opacity:.9;transform:translateY(2px)}.contact-lead{color:var(--txt-2);font-size:18px;margin:0 auto;max-width:760px;animation:fade-in-up .6s ease both;animation-delay:.12s}.contact-social-inline{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:30px auto 14px}.contact-social-inline .btn{padding:10px 14px;animation:fade-in-up .6s ease both}.contact-animate-1{animation-delay:.18s}.contact-animate-2{animation-delay:.26s}.contact-field-wrap{display:flex;justify-content:center;margin:8px 0 0}.has-tooltip{position:relative;width:auto}.copy-field{display:inline-flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-elev);border:1px solid var(--border-subtle);cursor:pointer;transition:transform .12s ease,border-color .16s ease,background .16s ease;box-shadow:none;position:relative;overflow:hidden;will-change:transform}.copy-field:hover{border-color:var(--accent);background:var(--surface)}.copy-field:active{transform:translateY(1px) scale(.995)}.copy-field.ok{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.copy-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,var(--accent-soft-2),transparent 55%);opacity:0;pointer-events:none}.copy-field.ok .copy-flash{animation:flash-pop .5s ease both}@keyframes flash-pop{0%{opacity:0;transform:scale(.9)}25%{opacity:.9;transform:scale(1.02)}to{opacity:0;transform:scale(1.15)}}.cf-icon{color:var(--txt-2);display:grid;place-items:center}.cf-email{color:var(--txt);font-weight:600;letter-spacing:.2px}.cf-copy{color:var(--txt-3);display:grid;place-items:center;transition:color .16s ease}.copy-field:hover .cf-copy{color:var(--txt-2)}.tooltip{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-2px);margin-bottom:10px;background:var(--overlay);color:var(--txt-2);font-size:12px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .16s ease}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--overlay)}.has-tooltip:hover .tooltip,.has-tooltip:focus-within .tooltip{opacity:1;transform:translate(-50%,-6px)}.tooltip.ok{color:var(--txt);border-color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,1px,1px);white-space:nowrap;border:0}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 560px){.contact-center-wrap{padding-top:58px}.contact-social-inline{gap:10px}.contact-social-inline .btn{width:auto}.contact-decor{opacity:.55}}.contact-title-icon{color:var(--accent);opacity:.95;transform:translateY(2px)}.contact-bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.bubble{position:absolute;bottom:-120px;width:10px;height:10px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.25;border-radius:50%;filter:blur(2px);animation:bubble-rise 12s linear infinite,bubble-sway 4s ease-in-out infinite}.b1{left:12%;width:8px;height:8px;animation-delay:0s,.2s}.b2{left:28%;width:12px;height:12px;animation-delay:2s,0s}.b3{left:46%;width:9px;height:9px;animation-delay:4s,.6s}.b4{left:62%;width:14px;height:14px;animation-delay:1s,.1s}.b5{left:78%;width:10px;height:10px;animation-delay:3s,.4s}.b6{left:88%;width:7px;height:7px;animation-delay:5s,.3s}@keyframes bubble-rise{0%{transform:translateY(0) scale(1);opacity:0}8%{opacity:.25}90%{opacity:.25}to{transform:translateY(-110vh) scale(1.05);opacity:0}}@keyframes bubble-sway{0%,to{transform:translate(0)}50%{transform:translate(10px)}}@media (prefers-reduced-motion: reduce){.bubble,.c-shape,.contact-center-wrap,.contact-title,.contact-lead,.contact-social-inline .btn{animation:none!important;transition:none!important}}.hero-enhanced{padding:80px 0 64px;text-align:center;position:relative;overflow:visible;max-width:1040px;margin:0 auto}.hero-gradient-overlay{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.hero-gradient-blob{position:absolute;width:1500px;height:1500px;background:radial-gradient(circle at center,hsla(265,65%,60%,.2) 0%,hsla(265,65%,60%,.1) 20%,transparent 45%);transform:translate(-50%,-50%);pointer-events:none}.floating-particles{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:var(--accent);border-radius:50%;opacity:.3;animation:float-up 15s infinite}.particle-1{left:10%;animation-delay:0s;animation-duration:20s}.particle-2{left:30%;animation-delay:2s;animation-duration:18s;width:3px;height:3px}.particle-3{left:50%;animation-delay:4s;animation-duration:22s}.particle-4{left:70%;animation-delay:1s;animation-duration:19s;width:5px;height:5px}.particle-5{left:90%;animation-delay:3s;animation-duration:21s;width:3px;height:3px}@keyframes float-up{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-100vh) rotate(360deg);opacity:0}}.hero-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:13px;font-weight:500;margin-bottom:24px;position:relative;z-index:3;animation:badge-glow 3s ease-in-out infinite}.sparkle-icon{animation:sparkle-rotate 4s linear infinite}@keyframes sparkle-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes badge-glow{0%,to{box-shadow:0 0 20px #9333ea33}50%{box-shadow:0 0 30px #9333ea66}}.hero-title{font-family:Playfair Display,serif;font-size:clamp(42px,7vw,64px);margin:0 0 16px;background:linear-gradient(135deg,var(--txt) 0%,var(--accent) 50%,var(--primary) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 8s ease infinite;position:relative;z-index:2}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-description{color:var(--txt-2);max-width:680px;margin:0 auto 36px;font-size:19px;line-height:1.6;position:relative;z-index:2}.hero-cta-section{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2}.btn-hero-primary{padding:16px 28px;font-size:17px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);box-shadow:0 4px 14px #5e81f44d;transform:translateY(0);transition:all .2s ease;position:relative;overflow:hidden}.btn-hero-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-hero-primary:hover:before{width:300px;height:300px}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5e81f466}.btn-arrow{transition:transform .2s ease}.btn-hero-primary:hover .btn-arrow{transform:translate(3px)}.scroll-hint{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);color:var(--txt-3);font-size:14px;animation:fade-bounce 3s ease-in-out infinite;z-index:2}.scroll-arrow{margin-top:4px;font-size:18px;animation:bounce-arrow 2s ease-in-out infinite}@keyframes fade-bounce{0%,to{opacity:.4}50%{opacity:.8}}@keyframes bounce-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.services-section{padding:64px 0 80px;position:relative;max-width:1040px;margin:0 auto}.services-bg-pattern{display:none}.pattern-lines{width:100%;height:100%}.wave-path{animation:wave-motion 20s linear infinite}@keyframes wave-motion{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}.services-heading{text-align:center;font-family:Inter,sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 36px;position:relative;z-index:2}.heading-gradient{background:linear-gradient(90deg,var(--txt-3) 0%,var(--txt-2) 50%,var(--txt-3) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-flow 3s linear infinite}@keyframes gradient-flow{0%{background-position:0% center}to{background-position:200% center}}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:64px;position:relative;z-index:2}.service-card{background:var(--surface-elev);border:1px solid var(--border-subtle);border-radius:16px;padding:28px 24px;position:relative;cursor:default;transition:all .3s ease}.service-glow{display:none}.service-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-corner-accent{display:none}.service-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);margin-bottom:16px;transition:transform .3s ease}.service-card:hover .service-icon{transform:scale(1.1) rotate(5deg)}.service-title{font-family:Inter,sans-serif;font-size:18px;font-weight:600;margin:0 0 8px;color:var(--txt)}.service-description{color:var(--txt-2);font-size:15px;line-height:1.6;margin:0}.services-cta{text-align:center;padding:48px 24px;border-radius:24px;position:relative;overflow:hidden}.cta-glow-bg{position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(147,51,234,.1) 0%,transparent 70%);transform:translate(-50%,-50%);animation:pulse-glow 4s ease-in-out infinite;pointer-events:none}@keyframes pulse-glow{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.cta-text{font-size:20px;color:var(--txt);margin:0 0 24px;font-weight:500;position:relative;z-index:2}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2}@media (max-width: 768px){.hero-enhanced{padding:60px 0 36px}.hero-gradient-blob{display:none}.services-grid{grid-template-columns:1fr}.scroll-hint{display:none}}.start .fade-up,.start .fade-in,.start .slide-up,.start .slide-left,.start .slide-right,.start .scale-in,.start .blur-in{opacity:0;will-change:transform,opacity,filter}.d-0{animation-delay:0ms}.d-50{animation-delay:50ms}.d-100{animation-delay:.1s}.d-150{animation-delay:.15s}.d-200{animation-delay:.2s}.d-250{animation-delay:.25s}.d-300{animation-delay:.3s}.d-350{animation-delay:.35s}.d-400{animation-delay:.4s}.d-450{animation-delay:.45s}.d-500{animation-delay:.5s}.start.is-in .fade-up{animation:hp-fade-up .62s ease forwards}.start.is-in .fade-in{animation:hp-fade-in .52s ease forwards}.start.is-in .slide-up{animation:hp-slide-up .64s cubic-bezier(.21,.61,.35,1) forwards}.start.is-in .slide-left{animation:hp-slide-left .64s cubic-bezier(.21,.61,.35,1) forwards}.start.is-in .slide-right{animation:hp-slide-right .64s cubic-bezier(.21,.61,.35,1) forwards}.start.is-in .scale-in{animation:hp-scale-in .64s ease forwards}.start.is-in .blur-in{animation:hp-blur-in .72s ease forwards}@keyframes hp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hp-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes hp-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes hp-slide-left{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes hp-slide-right{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@keyframes hp-scale-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes hp-blur-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@media (prefers-reduced-motion: reduce){.start .fade-up,.start .fade-in,.start .slide-up,.start .slide-left,.start .slide-right,.start .scale-in,.start .blur-in{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}}
