:root{--primary-dark: #0D145A;--primary-light: #3949AB;--secondary-color: #2E7D32;--secondary-dark: #1B5E20;--secondary-light: #4CAF50;--accent-color: #E67E22;--accent-dark: #D35400;--accent-light: #F39C12;--border-color: #E5E7EB;--gradient-primary: linear-gradient(135deg, #1A237E 0%, #2E7D32 100%);--gradient-accent: linear-gradient(180deg, #F39C12 0%, #E67E22 100%);--gradient-secondary: linear-gradient(135deg, #1A237E 0%, #2E7D32 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--font-heading: "Poppins", sans-serif;--font-body: "Inter", sans-serif;--font-accent: "Playfair Display", serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);line-height:1.6;color:var(--text-primary);background:var(--bg-white);min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--primary-color)}.mat-h1{font-family:var(--font-heading);font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--primary-color)}.mat-h2{font-family:var(--font-heading);font-weight:600;font-size:2.5rem;letter-spacing:-.01em;color:var(--primary-color)}.mat-body-large{font-family:var(--font-body);font-weight:400;font-size:1.125rem;line-height:1.6;color:var(--text-secondary)}.mat-label{font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn-kalaivani-primary{background:var(--gradient-accent);color:#fff;font-family:var(--font-body);font-weight:700;border:none;border-radius:12px;padding:12px 24px;transition:all .2s ease-in-out;box-shadow:0 10px 20px -5px #e67e224d;cursor:pointer}.btn-kalaivani-primary:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 15px 25px -5px #e67e2266}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1.5;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;border:none;transition:all .3s ease;position:relative}.btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 10px 20px -5px #e67e224d}.btn-primary:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 10px 25px #e67e2266;filter:brightness(1.05)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 15px #e67e224d}.btn-secondary{background:#fff;color:var(--accent-color);border:2px solid var(--accent-color)}.btn-secondary:hover:not(:disabled){background:var(--accent-color);color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px #e67e2233}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-sm{padding:10px 16px;font-size:.875rem}.btn-md{padding:14px 24px;font-size:1rem}.btn-lg{padding:18px 32px;font-size:1.125rem}.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:#fff}.btn-ghost{background:transparent;color:var(--text-primary);border:none}.btn-ghost:hover:not(:disabled){background:#0000000d}.btn-note{font-size:.75rem;font-weight:400;opacity:.85;display:block;margin-top:4px}.btn-primary .btn-note,.btn-secondary .btn-note{color:#ffffffe6}.btn-block{width:100%;display:flex}.btn.loading{position:relative;color:transparent}.btn.loading:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}a{text-decoration:none;color:inherit;transition:color .3s ease}::selection{background:#e67e2226;color:var(--primary-color)}@media (max-width: 768px){.container{padding:0 16px}}
