@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap'); :root { /* Custom Blue Color Palette from Image */ --color-primary: #4178D4; /* Medium Royal Blue */ --color-primary-light: #97CDDE; /* Sky Blue */ --color-primary-dark: #2B3B7A; /* Dark Navy */ /* Accents using palette */ --color-accent: #4178D4; --color-accent-light: #97CDDE; --color-secondary: #DDF0ED; /* Ice Blue */ /* Backgrounds */ --color-background: #ffffff; /* Keep white for main background */ --color-surface: #DDF0ED; /* Ice Blue for cards/surfaces */ --color-surface-hover: #97CDDE; /* Sky Blue for hover states */ /* Text Colors */ --color-text-main: #0f172a; /* Slate 900 */ --color-text-muted: #64748b; /* Slate 500 */ --color-border: #cbd5e1; /* Slate 300 */ /* Semantic Colors */ --color-success: #10b981; /* Emerald 500 */ --color-error: #ef4444; /* Red 500 */ --color-warning: #f59e0b; /* Amber 500 */ /* Typography */ --font-main: 'Plus Jakarta Sans', sans-serif; /* Shadows - Soft and modern */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02); /* Radii - More rounded */ --radius-sm: 0.375rem; --radius-md: 0.75rem; --radius-lg: 1.5rem; --radius-xl: 2rem; --radius-full: 9999px; /* Transitions */ --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1); --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-main); background-color: var(--color-background); color: var(--color-text-main); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; /* Prevent horizontal scroll with full width */ } h1, h2, h3, h4, h5, h6 { font-weight: 800; line-height: 1.2; color: var(--color-text-main); letter-spacing: -0.025em; } h1 { font-size: 3rem; } h2 { font-size: 2.25rem; } h3 { font-size: 1.5rem; } a { color: var(--color-primary); text-decoration: none; transition: color var(--transition-fast); } a:hover { color: var(--color-primary-dark); } button { font-family: var(--font-main); cursor: pointer; border: none; outline: none; } /* Utilities */ /* New fluid container */ .container { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 5vw; /* Fluid padding */ } /* For full width sections */ .section-full { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: 4rem 5vw; } .text-center { text-align: center; } .text-muted { color: var(--color-text-muted); } .mt-1 { margin-top: 0.5rem; } .mt-2 { margin-top: 1rem; } .mt-3 { margin-top: 1.5rem; } .mt-4 { margin-top: 2rem; } .mb-1 { margin-bottom: 0.5rem; } .mb-2 { margin-bottom: 1rem; } .mb-3 { margin-bottom: 1.5rem; } .mb-4 { margin-bottom: 2rem; } .flex { display: flex; } .flex-col { flex-direction: column; } .items-center { align-items: center; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .gap-1 { gap: 0.5rem; } .gap-2 { gap: 1rem; } .gap-3 { gap: 1.5rem; } .gap-4 { gap: 2rem; } /* Buttons */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.875rem 1.75rem; font-size: 1rem; font-weight: 700; border-radius: var(--radius-full); transition: all var(--transition-normal); letter-spacing: 0.025em; } .btn-primary { background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light)); color: white; box-shadow: 0 4px 14px 0 rgba(79, 70, 229, 0.39); } .btn-primary:hover { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.23); transform: translateY(-2px); color: white; } .btn-secondary { background-color: var(--color-surface); color: var(--color-text-main); border: 1px solid var(--color-border); } .btn-secondary:hover { background-color: var(--color-surface-hover); transform: translateY(-2px); } .btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; box-shadow: none; } /* Inputs */ .form-control { width: 100%; padding: 1rem 1.25rem; font-size: 1rem; border: 2px solid transparent; border-radius: var(--radius-lg); background-color: var(--color-surface); transition: all var(--transition-fast); font-family: var(--font-main); color: var(--color-text-main); } .form-control:focus { background-color: var(--color-background); border-color: var(--color-primary-light); outline: none; box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1); } label { display: block; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-main); }