:root{--color-primary: #2B5EA7;--color-primary-dark: #1A3A6B;--color-primary-light: #7BB3E0;--color-accent: #D4A843;--color-bg-light: #F8F9FA;--color-white: #FFFFFF;--color-text: #1E293B;--color-text-muted: #64748B;--color-success: #16A34A;--color-warning: #D97706;--color-error: #DC2626;--font-family: "Inter", "DM Sans", system-ui, -apple-system, sans-serif;--radius-card: 12px;--radius-btn: 8px;--radius-badge: 6px;--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .1);--max-width: 1200px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}body{font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-white)}h1,h2,h3,h4{font-weight:700;color:var(--color-text);line-height:1.2}h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}h2{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:.875rem}h3{font-size:clamp(1.25rem,2.5vw,1.75rem);margin-bottom:.75rem}h4{font-size:clamp(1.1rem,2vw,1.375rem);margin-bottom:.625rem}p{margin-bottom:1rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.section{padding:4rem 0}.section-alt{padding:4rem 0;background-color:var(--color-bg-light)}.grid{display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:var(--radius-btn);font-family:var(--font-family);font-size:1rem;font-weight:600;line-height:1;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-outline{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-success:hover{background-color:#15803d}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.card{background-color:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}input,select,textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:1rem;color:var(--color-text);background-color:var(--color-white);transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2b5ea726}textarea{resize:vertical;min-height:100px}.form-group{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.875rem;color:var(--color-text)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-badge);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;line-height:1.4}.badge-success{background-color:#16a34a1a;color:var(--color-success)}.badge-warning{background-color:#d977061a;color:var(--color-warning)}.badge-error{background-color:#dc26261a;color:var(--color-error)}.badge-info{background-color:#2b5ea71a;color:var(--color-primary)}@media(max-width:768px){.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.section,.section-alt{padding:2.5rem 0}.container{padding:0 1rem}}@media(max-width:480px){.grid-3{grid-template-columns:1fr}}
