:root{--purple-900:#1a1647;--purple-800:#26215c;--purple-700:#3c3489;--purple-600:#534ab7;--purple-500:#6b63c4;--purple-400:#8b85d4;--purple-300:#afa9ec;--purple-200:#cec9f5;--purple-100:#eeedfe;--purple-50:#f7f6ff;--amber-500:#d4a853;--amber-400:#e0ba74;--amber-300:#eacf94;--stone-900:#2b2a3a;--stone-700:#4a4859;--stone-500:#7a7891;--stone-300:#b8b6cc;--stone-100:#e4e2f0;--success-500:#5e8b6f;--success-100:#ddeadf;--warning-500:#d4a853;--warning-100:#f5edd9;--error-500:#9a5a52;--error-100:#f0dedb;--bg-primary:#fafafe;--surface-elevated:#ffffff9e;--surface-glass:#ffffff7a;--ambient-glow:#534ab70f;--font-serif:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-display:56px;--text-heading:36px;--text-section:24px;--text-body:16px;--text-small:14px;--line-display:1.1;--line-heading:1.2;--line-section:1.3;--line-body:1.7;--line-small:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:12px;--radius-md:20px;--radius-lg:28px;--radius-xl:36px;--radius-full:9999px;--shadow-soft:0 8px 24px #0000000f;--shadow-elevated:0 14px 40px #00000014;--shadow-glow:0 0 40px #d4a85326;--border-soft:1px solid #0000000f;--border-light:1px solid #fff6;--transition-primary:.24s cubic-bezier(.2, .8, .2, 1);--hover-motion:translateY(-2px);--press-motion:scale(.98)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--line-body);color:var(--stone-900);background-color:var(--bg-primary);overflow-x:hidden}::selection{background:var(--amber-300);color:var(--purple-800)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input{border:none;outline:none;font-family:inherit}ul{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:500}.section-label{font-family:var(--font-sans);font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase;color:var(--stone-500);margin-bottom:var(--space-4)}.container{max-width:1200px;padding:0 var(--space-6);margin:0 auto}.nav{z-index:100;padding:var(--space-4) var(--space-6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:var(--border-soft);transition:var(--transition-primary);background:#fafafeb3;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{height:32px;font-family:var(--font-sans);align-items:center;gap:10px;display:flex}.nav-logo span{color:var(--purple-800);letter-spacing:.02em;font-size:16px;font-weight:500}.nav-logo svg{width:auto;height:100%}.nav-links{gap:var(--space-6);align-items:center;display:flex}.nav-links a{font-size:var(--text-small);color:var(--stone-700);transition:var(--transition-primary)}.nav-links a:hover{color:var(--purple-700)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-small);letter-spacing:.02em;border-radius:var(--radius-md);transition:var(--transition-primary);padding:14px 28px;font-weight:500;display:inline-flex}.btn:hover{transform:var(--hover-motion)}.btn:active{transform:var(--press-motion)}.btn-primary{background:var(--purple-700);color:#fff}.btn-primary:hover{background:var(--purple-600)}.btn-secondary{color:var(--purple-800);border:var(--border-light);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff6}.btn-secondary:hover{background:#fff9}.glass-card{background:var(--surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--border-light);border-radius:var(--radius-lg);padding:var(--space-7);transition:var(--transition-primary)}.glass-card:hover{transform:var(--hover-motion);box-shadow:var(--shadow-glow)}.exp-card{background:var(--surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--space-7);transition:var(--transition-primary);cursor:default;border:1px solid #fff6}.exp-card:hover{box-shadow:var(--shadow-glow);transform:translateY(-4px)}.exp-card-icon{width:40px;height:40px;margin-bottom:var(--space-5);color:var(--purple-600)}.exp-card-icon svg{stroke-width:1.5px;width:100%;height:100%}.exp-card-title{font-family:var(--font-sans);font-size:var(--text-section);color:var(--purple-800);margin-bottom:var(--space-3);line-height:var(--line-section)}.exp-card-desc{color:var(--stone-700);font-size:var(--text-body);line-height:var(--line-body)}.exp-card-tags{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.exp-card-tags span{color:var(--purple-600);background:var(--purple-100);border-radius:var(--radius-full);border:1px solid var(--purple-200);padding:4px 12px;font-size:12px}.btn-nav-cta{color:var(--purple-700);border:1px solid var(--purple-200);font-size:var(--text-small);border-radius:var(--radius-md);font-weight:500;font-family:var(--font-sans);transition:var(--transition-primary);justify-content:center;align-items:center;gap:var(--space-2);letter-spacing:.02em;background:#fff;padding:10px 22px;display:inline-flex}.btn-nav-cta:hover{background:var(--purple-50);transform:var(--hover-motion)}.tech-tag{align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--stone-700);background:var(--surface-glass);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:var(--border-light);border-radius:var(--radius-full);transition:var(--transition-primary);padding:10px 20px;display:inline-flex}.tech-tag:hover{background:var(--purple-100);color:var(--purple-700);transform:var(--hover-motion)}.input-group{gap:var(--space-3);width:100%;max-width:440px;display:flex}.input-group input{border:var(--border-soft);border-radius:var(--radius-md);font-size:var(--text-body);color:var(--stone-900);transition:var(--transition-primary);background:#fff9;flex:1;padding:14px 20px}.input-group input::placeholder{color:var(--stone-500)}.input-group input:focus{border-color:var(--amber-400);background:#fffc;box-shadow:0 0 0 3px #d4a8531a}.social-links{gap:var(--space-5);display:flex}.social-links a{width:36px;height:36px;color:var(--stone-500);border-radius:var(--radius-full);transition:var(--transition-primary);justify-content:center;align-items:center;display:flex}.social-links a:hover{color:var(--purple-600);background:#fff6}.footer{text-align:center;padding:var(--space-7) var(--space-6);border-top:var(--border-soft);font-size:var(--text-small);color:var(--stone-500)}.footer-domain{font-family:var(--font-sans);font-size:var(--text-body);color:var(--purple-600);margin-bottom:var(--space-2)}.carousel-wrapper{align-items:center;gap:var(--space-3);display:flex;position:relative}.carousel-track{gap:var(--space-5);scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:var(--space-2) 0;flex:1;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-card{border-radius:var(--radius-lg);scroll-snap-align:start;flex:0 0 280px;height:360px}.carousel-btn{border-radius:var(--radius-full);border:var(--border-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:44px;height:44px;color:var(--purple-700);cursor:pointer;transition:var(--transition-primary);z-index:2;background:#ffffffb3;flex-shrink:0;justify-content:center;align-items:center;display:flex}.carousel-btn:hover{box-shadow:var(--shadow-glow);transform:var(--hover-motion);background:#fff}.carousel-btn:active{transform:var(--press-motion)}@media (width<=768px){.carousel-wrapper .carousel-btn{display:none!important}}.fade-in{opacity:0;transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1);transform:translateY(24px)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-delay-1{transition-delay:.1s}.fade-in-delay-2{transition-delay:.2s}.fade-in-delay-3{transition-delay:.3s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.float-anim{animation:6s ease-in-out infinite float}.float-anim-delayed{animation:8s ease-in-out 1s infinite float}@keyframes glow-pulse{0%,to{opacity:.6}50%{opacity:1}}.glow-pulse{animation:4s ease-in-out infinite glow-pulse}@keyframes soft-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.soft-scale{animation:.8s cubic-bezier(.2,.8,.2,1) forwards soft-scale}.section{padding:80px 0}.section-dark{background:var(--forest-900);color:var(--sand-50)}
