@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap);:root{--color-bg:#f6f7fb;--color-bg-card:#fff;--color-surface:#f9fafc;--color-border:#e5e7eb;--color-border-soft:#eef0f4;--color-divider:#f1f3f7;--color-text:#0f172a;--color-text-soft:#475569;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-soft:#eef2ff;--color-secondary:#0f172a;--color-accent:#8b5cf6;--color-success:#10b981;--color-success-soft:#d1fae5;--color-warning:#f59e0b;--color-warning-soft:#fef3c7;--color-danger:#ef4444;--color-danger-soft:#fee2e2;--color-info:#3b82f6;--color-info-soft:#dbeafe;--gradient-brand:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#ec4899);--gradient-dark:linear-gradient(135deg,#0f172a,#1e1b4b 60%,#312e81);--gradient-soft:linear-gradient(135deg,#eef2ff,#fce7f3);--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 6px #0f172a0f;--shadow:0 6px 20px #0f172a14;--shadow-lg:0 20px 40px #0f172a1f;--shadow-glow:0 10px 30px #4f46e540;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}#root,body,html{height:100%}body{font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7fb;background:var(--color-bg);color:#0f172a;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.5;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{scrollbar-width:none}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .25s ease both}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 #4f46e566}50%{box-shadow:0 0 0 12px #4f46e500}}.pulse-glow{animation:pulse-glow 2s infinite}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d5db;border:2px solid #f6f7fb;border:2px solid var(--color-bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@keyframes float-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes blob-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-25px,15px) scale(.95)}}@keyframes shine{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes door-tilt{0%,to{transform:perspective(1000px) rotateY(0deg) rotateX(0deg)}50%{transform:perspective(1000px) rotateY(-3deg) rotateX(2deg)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left{transform:translateX(-40px)}.reveal-left.is-visible{transform:translateX(0)}.reveal-right{transform:translateX(40px)}.reveal-right.is-visible{transform:translateX(0)}.reveal-scale{transform:scale(.92)}.reveal-scale.is-visible{transform:scale(1)}.blob-anim{animation:blob-float 14s ease-in-out infinite}.blob-anim-2{animation:blob-float 18s ease-in-out -3s infinite reverse}.tilt-card{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.tilt-card:hover{box-shadow:0 30px 60px #0f172a2e;transform:translateY(-6px) rotateX(2deg)}.door-tile{overflow:hidden;position:relative;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.door-tile:after{background:linear-gradient(120deg,#0000 30%,#ffffff59 50%,#0000 70%);background-position:-200% 0;background-size:200% 100%;content:"";inset:0;pointer-events:none;position:absolute}.door-tile:hover{transform:translateY(-8px) scale(1.02)}.door-tile:hover:after{animation:shine 1.1s ease forwards}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee{animation:marquee 40s linear infinite;display:flex;width:max-content}.marquee:hover{animation-play-state:paused}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--color-primary);outline-offset:2px}