/* A' Niche Solutions: Company Profile page. Builds on home.css and solution.css. */

.ab-hero { background-image: radial-gradient(circle at 85% 30%, rgba(18, 93, 143, .6), transparent 55%), linear-gradient(120deg, #08243a 0%, #0c3d61 100%); padding-bottom: 64px; }
.ab-hero::before { background: none; }

.ab-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.ab-facts div { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; padding: 18px; }
.ab-facts dt { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hp-gold); margin-bottom: 6px; }
.ab-facts dd { margin: 0; color: #fff; font-size: 1.05rem; font-weight: 600; line-height: 1.35; }

.ab-sticky { position: sticky; top: 130px; }
.ab-story p { font-size: 1.02rem; }
.ab-story p:first-child::first-letter { font-size: 3rem; float: left; line-height: .9; padding: 6px 10px 0 0; color: var(--hp-blue); font-weight: 800; }

.ab-units { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ab-unit { background: #fff; border: 1px solid var(--hp-line); border-radius: 16px; padding: 26px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow .2s, transform .2s, border-color .2s; }
.ab-unit:hover { box-shadow: var(--hp-shadow); transform: translateY(-3px); border-color: rgba(18, 93, 143, .35); }
.ab-unit h3 { font-size: 1.15rem; margin-top: 6px; }
.ab-unit p { color: var(--hp-muted); font-size: .95rem; margin: 0; flex: 1; }

.ab-vm { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ab-vm__card { border-radius: 18px; padding: 32px; background: var(--hp-cream); border: 1px solid rgba(229, 187, 25, .45); }
.ab-vm__card h2 { font-size: 1.6rem; margin: 14px 0 10px; }
.ab-vm__card p { color: #33434f; font-size: 1.02rem; margin: 0; }
.ab-vm__card--dark { background: var(--hp-navy); border-color: var(--hp-navy); }
.ab-vm__card--dark h2 { color: #fff; }
.ab-vm__card--dark p { color: rgba(255, 255, 255, .85); }
.ab-vm__icon { width: 64px; height: 64px; border-radius: 16px; background: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(10, 44, 70, .1); }

.ab-leader { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 44px; align-items: center; background: #fff; border: 1px solid var(--hp-line); border-radius: 20px; padding: 32px; }
.ab-leader__photo img { width: 100%; border-radius: 16px; aspect-ratio: 1 / 1; object-fit: cover; background: #f3f7fa; }
.ab-leader__body h2 { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem); margin-bottom: 2px; }
.ab-leader__role { color: var(--hp-gold-dark); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; margin-bottom: 16px !important; }
.ab-leader__facts { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 8px 0 18px; }
.ab-leader__facts li { list-style: none; font-size: .88rem; padding: 6px 12px; border-radius: 20px; background: #f3f7fa; border: 1px solid var(--hp-line); color: var(--hp-ink); }
.ab-leader__facts i { color: var(--hp-blue); margin-right: 6px; }
.ab-leader__social { display: flex; gap: 10px; }
.ab-leader__social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--hp-line); display: inline-flex; align-items: center; justify-content: center; color: var(--hp-blue); transition: background .2s, color .2s; }
.ab-leader__social a:hover { background: var(--hp-blue); color: #fff; }

.ab-talk { padding-top: 24px; }
.ab-contact li { background: #f3f7fa; border-color: var(--hp-line); color: #33434f; }
.ab-contact small { color: var(--hp-gold-dark); }
.ab-contact a { color: var(--hp-ink); }
.ab-contact a:hover { color: var(--hp-blue); }

@media (max-width: 991.98px) {
    .ab-units, .ab-vm { grid-template-columns: 1fr; }
    .ab-leader { grid-template-columns: 1fr; gap: 24px; padding: 22px; }
    .ab-leader__photo { max-width: 320px; }
    .ab-sticky { position: static; }
}
@media (max-width: 575.98px) {
    .ab-facts { grid-template-columns: 1fr; }
    .ab-vm__card { padding: 24px; }
}
