:root{--color-primary:#1d4ed8;--color-primary-rgb:29,78,216;--color-primary-hover:#1e40af;--color-secondary:#7c3aed;--color-secondary-dark:#6d28d9;--color-accent:#f59e0b;--color-text:#111827;--color-text-muted:#6b7280;--color-background:#fff;--color-light:#f9fafb;--color-border:#e5e7eb;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6}body{font-family:Lato,sans-serif;color:var(--color-text);background-color:var(--color-background);padding-top:70px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;font-weight:700}.navbar-brand{font-family:Montserrat,sans-serif;color:var(--color-primary)!important}.nav-link.active{color:var(--color-primary)!important;font-weight:600}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary);background-color:transparent}.btn-outline-primary:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.text-muted{color:var(--color-text-muted)!important}.card{border-color:var(--color-border);background-color:var(--color-background)}.bg-light{background-color:var(--color-light)!important}footer{margin-top:auto}.social-links a{transition:all .3s ease}.social-links a:hover{transform:translateY(-2px)}.page-header{border-bottom:3px solid var(--color-primary)}.hero{position:relative}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.1);pointer-events:none}.hero .container{position:relative;z-index:1}.card{transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 .25rem rgba(37,99,235,.25)}.form-control-lg{padding:.75rem 1rem}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-secondary)}.list-unstyled li{line-height:1.8}@media (max-width:768px){body{padding-top:60px}.hero{min-height:50vh!important}.display-3{font-size:2.5rem}.display-5{font-size:2rem}}