/* ============ About Us page redesign ============ */
.ah-hero { padding: 200px 0 50px; }
.ah-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
@media (max-width: 900px) { .ah-hero-grid { grid-template-columns: 1fr; } }

.ah-eyebrow {
    color: #c8102e; font-size: 12px; font-weight: 700; letter-spacing: .15em;
    display: flex; align-items: center; gap: 10px; margin-bottom: 14px;
}
.ah-eyebrow::after { content: ""; width: 40px; height: 2px; background: #c8102e; display: inline-block; }
.ah-eyebrow.center { justify-content: center; }
.ah-eyebrow.center::after { display: none; }
.ah-eyebrow.center::before { content: ""; width: 40px; height: 2px; background: #c8102e; display: inline-block; }

.ah-hero-text h1 { font-size: 38px; line-height: 1.25; margin: 0 0 20px; font-weight: 800; }
.ah-hero-text .navy { color: #16305c; }
.ah-hero-text .red { color: #c8102e; }
.ah-hero-text p { color: #444; font-size: 15px; line-height: 1.75; margin: 0 0 14px; }

.ah-badges {
    display: flex; gap: 22px; background: #fdecea; border-radius: 10px;
    padding: 14px 20px; margin-top: 20px; flex-wrap: wrap;
}
.ah-badges span { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13.5px; color: #222; }
.ah-badges i { color: #c8102e; }

.ah-hero-photo { position: relative; }
.ah-hero-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center top; border-radius: 14px; display: block; position: relative; z-index: 2; box-shadow: 0 12px 30px rgba(0,0,0,.15); }
}
.ah-accent {
    position: absolute; top: -18px; right: -18px; width: 55%; height: 50%;
    background: linear-gradient(135deg, #c8102e, #f3b3b3);
    clip-path: polygon(35% 0%, 100% 0%, 100% 100%, 0% 35%);
    z-index: 1; opacity: .9; border-radius: 0 14px 0 0;
}

/* Timeline */
.ah-timeline { background: #f7f4f2; padding: 46px 0; }
.ah-timeline-row { display: flex; align-items: flex-start; }
@media (max-width: 800px) { .ah-timeline-row { flex-direction: column; gap: 24px; } }
.ah-timeline-item { flex: 1; display: flex; gap: 16px; padding: 0 24px; }
.ah-timeline-icon {
    width: 54px; height: 54px; border-radius: 50%; background: #c8102e; color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 19px; flex-shrink: 0;
}
.ah-timeline-year { color: #16305c; font-weight: 800; font-size: 19px; line-height: 1.3; }
.ah-timeline-sub { color: #16305c; font-weight: 700; font-size: 13.5px; margin-bottom: 6px; }
.ah-timeline-item p { color: #666; font-size: 13px; margin: 0; line-height: 1.55; }
.ah-timeline-divider { width: 1px; background: #ddd; align-self: stretch; margin: 6px 0; }
@media (max-width: 800px) { .ah-timeline-divider { display: none; } }

/* Services */
.ah-services { padding: 60px 0 70px; }
.ah-services-head { text-align: center; margin-bottom: 40px; }
.ah-services-head h2 { font-size: 30px; color: #16305c; margin: 6px 0 10px; font-weight: 800; }
.ah-services-head p { color: #666; font-size: 14px; }

.ah-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 900px) { .ah-service-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 550px) { .ah-service-grid { grid-template-columns: 1fr; } }

.ah-service-card { border-radius: 14px; padding: 22px; position: relative; overflow: hidden; min-height: 210px; }
.ah-service-card.red { background: #fdecea; }
.ah-service-card.navy { background: #eaf1fb; }
.ah-service-icon {
    width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center;
    justify-content: center; color: #fff; font-size: 17px; margin-bottom: 14px;
}
.ah-service-icon.red { background: #c8102e; }
.ah-service-icon.navy { background: #16305c; }
.ah-service-card h3 { margin: 0 0 8px; font-size: 16.5px; }
.ah-service-card.red h3 { color: #c8102e; }
.ah-service-card.navy h3 { color: #16305c; }
.ah-service-card p { font-size: 12.5px; color: #555; line-height: 1.55; margin: 0; padding-right: 68px; }
.ah-service-card img {
    position: absolute; bottom: 14px; right: 14px; width: 66px; height: 66px;
    object-fit: contain; border-radius: 10px; background: #fff; padding: 6px;
    box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
