.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;text-align:center;text-decoration:none;border:var(--border-width-medium) solid transparent;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#0f000c;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-text-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-text-inverse);border-color:var(--color-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark);border-color:var(--color-secondary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:#0f000c;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;color:var(--color-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-background-alt)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg)}.card{background-color:var(--color-surface);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-header{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:var(--border-width-thin) solid var(--color-border)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.card-body{margin-bottom:var(--spacing-4)}.card-footer{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:var(--border-width-thin) solid var(--color-border)}.card-project{position:relative;overflow:hidden}.card-project-image{width:100%;height:200px;object-fit:cover;border-radius:var(--border-radius-md);margin-bottom:var(--spacing-4)}.card-project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-3)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--border-radius-full);white-space:nowrap}.badge-primary{background-color:var(--color-primary-light);color:#0f000c}.badge-secondary{background-color:var(--color-secondary-light);color:var(--color-text-inverse)}.badge-success{background-color:var(--color-success);color:var(--color-text-inverse)}.badge-outline{background-color:transparent;border:var(--border-width-thin) solid var(--color-border);color:var(--color-text-secondary)}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-index-sticky);background-color:rgba(15,0,12,.92);border-bottom:var(--border-width-thin) solid var(--color-border);box-shadow:var(--shadow-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.navbar-container{max-width:var(--max-width-container);margin:0 auto;padding:var(--spacing-4) var(--spacing-6);display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.navbar-nav{display:flex;align-items:center;gap:var(--spacing-6)}.nav-link{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);position:relative}.nav-link:hover,.nav-link.active{color:var(--color-primary)}.nav-link.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background-color:var(--color-primary)}.navbar-toggle{display:none;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-2);background:none;border:none;cursor:pointer}.navbar-toggle-bar{width:24px;height:2px;background-color:var(--color-text-primary);transition:all var(--transition-fast)}.form-group{margin-bottom:var(--spacing-5)}.form-label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-textarea{min-height:120px;resize:vertical}.form-error{margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-error)}.form-help{margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.section{padding:var(--spacing-20) var(--spacing-6);position:relative;z-index:2}.section-alt{background-color:rgba(15,1,13,.7)}.section-header{text-align:center;margin-bottom:var(--spacing-12)}.section-title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-4)}.section-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.grid{display:grid;gap:var(--spacing-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.footer{background-color:rgba(15,1,13,.85);border-top:var(--border-width-thin) solid var(--color-border);padding:var(--spacing-12) var(--spacing-6);margin-top:var(--spacing-20);position:relative;z-index:2}.footer-content{max-width:var(--max-width-container);margin:0 auto;text-align:center}.footer-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.footer-links{display:flex;justify-content:center;gap:var(--spacing-6);margin-bottom:var(--spacing-4)}.social-links{display:flex;justify-content:center;gap:var(--spacing-4);margin-top:var(--spacing-4)}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-background);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--border-radius-full);color:var(--color-text-secondary);transition:all var(--transition-fast)}.social-link:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-2px)}.container{max-width:var(--max-width-container);margin:0 auto;padding:0 var(--spacing-6)}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.mt-4{margin-top:var(--spacing-4)}.mt-8{margin-top:var(--spacing-8)}.mb-4{margin-bottom:var(--spacing-4)}.mb-8{margin-bottom:var(--spacing-8)}