:root {
    --brand-navy: #0d3b66;
    --brand-navy-dark: #082743;
    --brand-amber: #f4a300;
}

body {
    font-family: 'Inter', sans-serif;
    color: #1f2933;
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: .02em;
}

.navbar-brand i {
    color: var(--brand-amber);
}

.hero {
    background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-navy-dark) 100%);
    color: #fff;
    padding: 6rem 0 7rem;
}

.hero h1 {
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
}

.hero p.lead {
    color: #cfe0f0;
}

.btn-amber {
    background-color: var(--brand-amber);
    border-color: var(--brand-amber);
    color: #1f2933;
    font-weight: 600;
}

.btn-amber:hover {
    background-color: #d88f00;
    border-color: #d88f00;
    color: #1f2933;
}

.feature-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: rgba(13, 59, 102, .08);
    color: var(--brand-navy);
    font-size: 1.6rem;
}

.section-title {
    font-weight: 800;
    color: var(--brand-navy);
}

.gmark-card {
    border: 1px solid #e3e8ee;
    border-radius: .75rem;
}

.page-banner {
    background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-navy-dark) 100%);
    color: #fff;
    padding: 3rem 0;
}

.page-banner h1 {
    font-weight: 800;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin: 0;
}

.info-card {
    border: 1px solid #e3e8ee;
    border-radius: .75rem;
}

.info-card .list-group-item {
    border: none;
    border-bottom: 1px solid #eef1f5;
    padding: .9rem 1.25rem;
}

.info-card .list-group-item:last-child {
    border-bottom: none;
}

.info-card .list-group-item i {
    width: 1.5rem;
    color: var(--brand-navy);
}

.timeline {
    list-style: none;
    border-left: 3px solid var(--brand-amber);
    padding-left: 1.75rem;
    margin: 0;
}

.timeline-item {
    position: relative;
    padding-bottom: 1.5rem;
}

.timeline-item:last-child {
    padding-bottom: 0;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -2.05rem;
    top: .3rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--brand-navy);
}

.timeline-item .timeline-date {
    font-weight: 700;
    color: var(--brand-navy);
}

.job-card {
    border: 1px solid #e3e8ee;
    border-radius: .75rem;
}

.job-card .card-header {
    background-color: var(--brand-navy);
    color: #fff;
    font-weight: 700;
}

.ratio-map {
    border-radius: .75rem;
    overflow: hidden;
}

footer {
    background-color: var(--brand-navy-dark);
    color: #cfe0f0;
}

footer a {
    color: #cfe0f0;
    text-decoration: none;
}

footer a:hover {
    color: var(--brand-amber);
}
