:root{--yale-blue:#00356b;--yale-light-blue:#286dc0;--yale-lighter-blue:#5f9ed1;--text-primary:#fff;--text-secondary:#b8c5d1;--text-muted:#8892a0;--background:#0a0a0a;--background-secondary:#1a1a1a;--background-tertiary:#2a2a2a;--border:#404040;--border-light:#555;--shadow:rgba(0,0,0,.3);--shadow-light:rgba(0,0,0,.1);--success:#10b981;--error:#ef4444;--warning:#f59e0b;--hover:#3a3a3a;--active:#4a4a4a}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-primary);background:var(--background);line-height:1.6;scroll-behavior:smooth}a{color:var(--yale-light-blue);text-decoration:none;transition:all .2s}a:hover{color:var(--yale-lighter-blue);text-decoration:underline}button{cursor:pointer;border:none}button,input,select,textarea{font-family:inherit;outline:none}img{max-width:100%;height:auto;display:block}.container{max-width:1200px}.container,.container-wide{margin:0 auto;padding:0 20px}.container-wide{max-width:1400px}.btn{display:inline-block;padding:12px 28px;background:var(--yale-blue);color:var(--text-primary);border-radius:8px;font-size:16px;font-weight:500;transition:all .3s;border:1px solid var(--yale-blue);cursor:pointer;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover{background:var(--yale-light-blue);transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow);border-color:var(--yale-light-blue)}.btn:active{transform:translateY(0)}.btn-secondary{background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--hover);border-color:var(--yale-blue);color:var(--yale-light-blue)}.btn-small{padding:8px 16px;font-size:14px}.btn-large{padding:16px 36px;font-size:18px}.card{background:var(--background-secondary);border-radius:12px;padding:24px;box-shadow:0 2px 8px var(--shadow);transition:all .3s;border:1px solid var(--border)}.card:hover{box-shadow:0 8px 25px var(--shadow);transform:translateY(-4px);border-color:var(--yale-blue)}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.input-group input,.input-group select,.input-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;transition:all .3s;background:var(--background-tertiary);color:var(--text-primary)}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--text-muted)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--yale-blue);box-shadow:0 0 0 3px rgba(0,53,107,.1);background:var(--background-secondary)}.input-group textarea{resize:vertical;min-height:120px}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;background:var(--yale-blue);color:var(--text-primary)}.badge-secondary{background:var(--background-tertiary);color:var(--text-secondary)}.badge-success{background:var(--success)}.badge-error{background:var(--error)}.grid{display:grid;grid-gap:24px;gap:24px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.section{padding:60px 0}.section-title{font-size:36px;font-weight:700;color:var(--text-primary);margin-bottom:16px;background:linear-gradient(135deg,var(--yale-light-blue),var(--yale-lighter-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{margin-bottom:40px}.loading,.section-subtitle{font-size:18px;color:var(--text-secondary)}.loading{display:flex;justify-content:center;align-items:center;min-height:300px}.error-message{background:rgba(239,68,68,.1);color:var(--error);padding:16px;border-radius:8px;margin:20px 0;border:1px solid rgba(239,68,68,.2)}.success-message{background:rgba(16,185,129,.1);color:var(--success);padding:16px;border-radius:8px;margin:20px 0;border:1px solid rgba(16,185,129,.2)}@media (max-width:768px){.section-title{font-size:28px}.section-subtitle{font-size:16px}.btn{padding:10px 20px;font-size:14px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}