*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #FAFBFE;--color-bg-elevated: #FFFFFF;--color-text: #1a1a2e;--color-text-secondary: #64648c;--color-text-tertiary: #9999b3;--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-accent: #06b6d4;--color-border: rgba(0,0,0,.06);--color-border-strong: rgba(0,0,0,.1);--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.06);--shadow-lg: 0 8px 30px rgba(0,0,0,.08);--shadow-xl: 0 20px 50px rgba(0,0,0,.1);--radius: 14px;--radius-sm: 10px;--radius-lg: 18px;--font-display: "SignPainter", "Brush Script MT", cursive;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--nav-glass: rgba(255, 255, 255, .9);--nav-glass-scrolled: rgba(255, 255, 255, .95);--grad-1: #FAFBFE;--grad-2: #E9EFFB;color-scheme:light dark}:root[data-theme=dark]{--color-bg: #0f1017;--color-bg-elevated: #191b24;--color-text: #e9eaf2;--color-text-secondary: #a6a8c4;--color-text-tertiary: #75779a;--color-primary: #6b9bff;--color-primary-light: #87adff;--color-accent: #2dd4ec;--color-border: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .55);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .6);--nav-glass: rgba(22, 23, 32, .72);--nav-glass-scrolled: rgba(22, 23, 32, .85);--grad-1: #14151e;--grad-2: #1a1d2c}html{scroll-behavior:smooth;background:var(--color-bg)}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}main{overflow-x:clip}::selection{background:var(--color-primary);color:#fff}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:10px;border:2px solid var(--color-bg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0);opacity:.8}50%{transform:translateY(-4px);opacity:1}}.hero-fill{min-height:100vh;min-height:100svh}.overlay-fill{height:100vh;height:100lvh}
