@tailwind base;@tailwind components;@tailwind utilities;:root{--color-cobalt:#2e5bff;--color-mint:#00ffc2;--color-navy:#121c2d;--color-cool-slate:#64748b;--color-slate-grey:#334155;--color-off-white:#f8fafc;--color-white:#fff;--color-black:#000;--color-success:#00e676;--color-warning:#ffab40;--color-error:#ff5252;--text-primary:var(--color-navy);--text-body:var(--color-slate-grey);--text-secondary:var(--color-cool-slate);--text-placeholder:#9ca3af;--text-inverse:var(--color-white);--bg-primary:var(--color-off-white);--bg-alt:#f8fafc;--bg-card:var(--color-white);--bg-input:#f9fafb;--bg-dark:var(--color-navy);--border-default:#e2e8f0;--border-input:#d1d5db;--border-focus:var(--color-cobalt);--gradient-brand:linear-gradient(180deg, #2e5bff 0%, #00ffc2 100%);--gradient-brand-h:linear-gradient(90deg, #2e5bff 0%, #00ffc2 100%);--gradient-brand-45:linear-gradient(135deg, #2e5bff 0%, #00ffc2 100%);--font-family:"Inter", "Montserrat", system-ui, -apple-system, sans-serif;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--leading-body:1.7;--leading-relaxed:1.6;--leading-loose:1.8;--tracking-logo:.2em;--tracking-tagline:.3em;--tracking-body:-.01em;--shadow-brand:0 4px 8px 0 #121c2d;--shadow-sm:0 2px 4px 0 #121c2d40;--shadow-md:0 4px 8px 0 #121c2d26;--shadow-lg:0 8px 16px 0 #121c2d1f;--shadow-card:0 1px 3px 0 #121c2d14, 0 1px 2px -1px #121c2d14;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.25s ease}@layer base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-family);font-weight:var(--font-weight-light);line-height:var(--leading-body);letter-spacing:var(--tracking-body);color:var(--text-body);background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:var(--font-weight-medium);color:var(--text-primary);letter-spacing:var(--tracking-body);line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:var(--text-body);font-weight:var(--font-weight-light);line-height:var(--leading-body)}a{color:var(--color-cobalt);transition:color var(--transition-fast);text-decoration:none}a:hover{color:#1a3fcc}small,.text-meta{color:var(--text-secondary);font-weight:var(--font-weight-normal);font-size:.875rem}ul,ol{padding-left:1.25rem}::selection{color:var(--color-navy);background-color:#2e5bff26}:focus-visible{outline:2px solid var(--color-cobalt);outline-offset:2px}}@layer components{.card{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.5rem}.card-elevated{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:1.5rem}.btn{font-family:var(--font-family);font-weight:var(--font-weight-medium);letter-spacing:.025em;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;line-height:1;display:inline-flex}.btn-primary{background-color:var(--color-cobalt);color:var(--color-white)}.btn-primary:hover{box-shadow:var(--shadow-sm);background-color:#1a3fcc}.btn-gradient{background:var(--gradient-brand-45);color:var(--color-navy);font-weight:var(--font-weight-medium)}.btn-gradient:hover{box-shadow:var(--shadow-md)}.btn-outline{color:var(--color-cobalt);border:1.5px solid var(--color-cobalt);background-color:#0000}.btn-outline:hover{background-color:#2e5bff0f}.btn-ghost{color:var(--text-body);background-color:#0000}.btn-ghost:hover{background-color:var(--bg-alt)}.input{font-family:var(--font-family);font-weight:var(--font-weight-normal);color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.input::placeholder{color:var(--text-placeholder);font-weight:var(--font-weight-light)}.input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #2e5bff1f}.label{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:.375rem}.badge{font-size:.75rem;font-weight:var(--font-weight-medium);border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.25rem .625rem;line-height:1;display:inline-flex}.badge-success{color:#00c853;background-color:#e8fff3}.badge-warning{color:#e69500;background-color:#fff8e8}.badge-error{color:var(--color-error);background-color:#fff0f0}.badge-info{color:var(--color-cobalt);background-color:#2e5bff14}.alert{border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-weight-normal);padding:.875rem 1rem;line-height:1.5}.alert-success{color:#00884a;border-left:3px solid var(--color-success);background-color:#e8fff3}.alert-warning{color:#8b6200;border-left:3px solid var(--color-warning);background-color:#fff8e8}.alert-error{color:#c00;border-left:3px solid var(--color-error);background-color:#fff0f0}.divider{background-color:var(--border-default);border:none;height:1px}.logo-text{font-family:var(--font-family);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-logo);text-transform:uppercase;color:var(--color-navy)}.logo-tagline{font-family:var(--font-family);font-weight:var(--font-weight-extralight);letter-spacing:var(--tracking-tagline);text-transform:uppercase;color:var(--text-secondary)}.logo-horizontal{object-fit:contain;width:auto;height:48px}.logo-horizontal-sm{object-fit:contain;width:auto;height:32px}.logo-horizontal-lg{object-fit:contain;width:auto;height:80px}.logo-icon{object-fit:contain;width:auto;height:48px}.logo-icon-sm{object-fit:contain;width:auto;height:32px}.logo-icon-lg{object-fit:contain;width:auto;height:64px}}@layer utilities{.text-gradient{background:var(--gradient-brand-h);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.bg-gradient-brand{background:var(--gradient-brand)}.section-padded{padding:5% 10%}.list-accent li::marker{color:var(--color-mint)}.list-cobalt li::marker{color:var(--color-cobalt)}}