:root {
    --midnight-blue: #191970;
    --steel-teal: #4682B4;
    --soft-gold: #B8860B;
    --earthy-olive: #808000;
    --light-gray: #f8f9fa;
    --deep-gray: #343a40;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--deep-gray);
    line-height: 1.6;
    background-color: #fff;
}

h1, h2, h3 {
    color: var(--midnight-blue);
    font-weight: 700;
}

h1 { font-size: 2.8rem; letter-spacing: -0.5px; }
h2 { font-size: 2rem; margin-top: 1.5rem; }
h3 { font-size: 1.4rem; }

.bg-midnight { background-color: var(--midnight-blue); }
.text-gold { color: var(--soft-gold); }
.text-teal { color: var(--steel-teal); }
.btn-teal { background-color: var(--steel-teal); color: white; }
.btn-teal:hover { background-color: #356a94; color: white; }

.hero-section {
    padding: 100px 0;
    background-size: cover;
    background-position: center;
    position: relative;
    color: white;
}

.hero-overlay {
    background: rgba(25, 25, 112, 0.75);
    padding: 60px;
    border-radius: 4px;
}

.card-knowledge {
    border: none;
    border-top: 4px solid var(--steel-teal);
    transition: transform 0.3s ease;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.card-knowledge:hover {
    transform: translateY(-5px);
}

.stat-strip {
    background: var(--light-gray);
    border-left: 5px solid var(--soft-gold);
    padding: 20px;
    margin: 20px 0;
}

.timeline-item {
    border-left: 2px solid var(--steel-teal);
    padding-left: 20px;
    margin-bottom: 20px;
    position: relative;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -7px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--steel-teal);
}

.glossary-rail {
    font-size: 0.85rem;
    color: var(--earthy-olive);
    border-left: 1px solid #ddd;
    padding-left: 15px;
}

.compliance-block {
    background: #fff9e6;
    border: 1px solid #ffeeba;
    padding: 20px;
    font-size: 0.9rem;
    color: #856404;
}

.img-standard {
    max-width: 100%;
    height: auto;
    box-shadow: 10px 10px 0px var(--soft-gold);
}

@media (max-width: 768px) {
    h1 { font-size: 2.2rem; }
    .hero-overlay { padding: 30px; }
}