:root{--bg-primary: #FAF9F5;--bg-surface: #FFFFFF;--bg-card: #FFFFFF;--bg-muted: #F3F1EA;--bg-dark: #121316;--bg-dark-surface: #1E2024;--text-primary: #111215;--text-secondary: #5A5D66;--text-muted: #8E929C;--text-inverse: #FAF9F5;--accent-primary: #2667b2;--accent-hover: #1d5291;--accent-cyan: #57a4da;--accent-warm: #2667b2;--accent-warm-hover: #1d5291;--accent-soft: #EEF4FF;--border-light: rgba(17, 18, 21, .08);--border-dark: rgba(255, 255, 255, .1);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--shadow-sm: 0 2px 8px rgba(17, 18, 21, .04);--shadow-md: 0 8px 30px rgba(17, 18, 21, .06);--shadow-lg: 0 20px 48px -12px rgba(17, 18, 21, .12);--radius-sm: 10px;--radius-md: 18px;--radius-lg: 26px;--radius-pill: 9999px;--scroll-y: 0px;--mouse-x: 50vw;--mouse-y: 30vh}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;z-index:999;background:linear-gradient(90deg,#57a4da,#2667b2,#38bdf8);box-shadow:0 0 14px #57a4dad9}.futuristic-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(650px circle at var(--mouse-x) var(--mouse-y),rgba(56,189,248,.13),transparent 70%),linear-gradient(180deg,#f4f8ff,#f8fafc 45%,#eff5ff)}.futuristic-grid{position:absolute;inset:-120px 0;background-image:linear-gradient(to right,rgba(28,90,166,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(28,90,166,.06) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 85% 75% at 50% 35%,#000 35%,transparent 100%);transform:translate3d(0,calc(var(--scroll-y) * -.18),0)}.orb{position:absolute;border-radius:50%;filter:blur(72px);opacity:.55}.orb-1{width:520px;height:520px;top:-140px;left:-120px;background:radial-gradient(circle,rgba(80,156,225,.55),transparent 70%);animation:floatOrb1 16s ease-in-out infinite alternate}.orb-2{width:460px;height:460px;top:18%;right:-140px;background:radial-gradient(circle,rgba(87,164,218,.45),transparent 70%);animation:floatOrb2 20s ease-in-out infinite alternate}.orb-3{width:560px;height:560px;bottom:-160px;left:25%;background:radial-gradient(circle,rgba(56,189,248,.42),transparent 70%);animation:floatOrb3 22s ease-in-out infinite alternate}@keyframes floatOrb1{to{transform:translate3d(140px,110px,0) scale(1.18)}}@keyframes floatOrb2{to{transform:translate3d(-150px,130px,0) scale(1.15)}}@keyframes floatOrb3{to{transform:translate3d(110px,-120px,0) scale(1.22)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.font-heading{font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--text-primary)}.serif-italic{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}.container{width:100%;max-width:1260px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}.container-wide{width:100%;max-width:1380px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;font-weight:700;font-size:.975rem;padding:.95rem 2rem;border-radius:var(--radius-pill);text-decoration:none;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);border:none}.btn-primary{background:linear-gradient(135deg,#2667b2,#57a4da);color:#fff;box-shadow:0 8px 24px -4px #2667b273,inset 0 1px #ffffff4d}.btn-primary:hover{background:linear-gradient(135deg,#1d5291,#2667b2);transform:translateY(-2px);box-shadow:0 12px 32px -4px #2667b2a6}.btn-secondary{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background-color:var(--bg-muted);border-color:#11121526;transform:translateY(-2px)}.btn-dark{background-color:var(--bg-dark);color:var(--text-inverse)}.btn-dark:hover{background-color:#23252a;transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;gap:.6rem;padding:.48rem 1.15rem;font-size:.8rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase;border-radius:var(--radius-pill);background-color:var(--accent-soft);color:var(--accent-primary);border:1px solid rgba(15,82,186,.12)}.badge-dot{width:8px;height:8px;border-radius:50%;background-color:#22c55e;display:inline-block;box-shadow:0 0 0 3px #22c55e33}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.16,1,.3,1) forwards}
