.body-content:has(.about-page) { padding: 0; }
.about-page {
    --about-ink: #142f49;
    --about-muted: #586b7e;
    --about-accent: #2463a4;
    color: var(--about-ink);
    background: #fff;
    font-family: inherit;
    line-height: 1.75;
}
.about-page .container { max-width: 1160px; padding-left: 24px; padding-right: 24px; }
.about-page h1, .about-page h2, .about-page h3 { color: var(--about-ink); font-family: inherit; font-weight: 700; margin-top: 0; line-height: 1.15; }
.about-page h1 { font-size: clamp(3.2rem, 5.5vw, 5.25rem); letter-spacing: -.055em; margin-bottom: 28px; }
.about-page h2 { font-size: clamp(2.2rem, 3.7vw, 3.3rem); letter-spacing: -.04em; margin-bottom: 24px; }
.about-page h3 { font-size: 1.2rem; letter-spacing: -.015em; }
.about-page p { margin: 0 0 20px; }
.about-page p:last-child { margin-bottom: 0; }
.about-page .lead { font-size: 1.1rem; font-weight: 400; line-height: 1.8; color: var(--about-muted); }
.about-page .text-muted { color: var(--about-muted) !important; }
.about-page .text-primary, .about-page .text-jofibo-primary { color: var(--about-accent) !important; }
.about-page a { color: var(--about-accent); text-underline-offset: 4px; }
.about-page a:hover { color: #006d4d; }
.about-page a:focus-visible { outline: 3px solid var(--about-accent); outline-offset: 5px; }
.about-hero { padding: 80px 0 64px; background: linear-gradient(115deg, #f5f8fc 30%, #e5eff9); }
.about-hero .row { justify-content: center; }
.about-page .about-eyebrow { display: block; color: var(--about-accent); font-size: .85rem; font-weight: 700; letter-spacing: .065em; text-transform: uppercase; margin-bottom: 20px; }
.about-hero em { font-family: Georgia, 'Times New Roman', serif; font-size: 1.3em; line-height: 1.5; }
.about-section { padding-top: 72px; padding-bottom: 72px; }
.about-hero + .about-section .row { justify-content: center; }
.about-story-copy { color: var(--about-muted); font-size: 1.05rem; line-height: 1.8; }
.about-page > .container.about-section { padding-top: 0; }
.about-value-card { height: 100%; padding: 32px; border: 1px solid #d6e3f0; border-radius: 12px; background: #fff; }
.about-value-card p { color: var(--about-muted); font-size: .95rem; }
.about-value-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 12px; background: #e5effb; color: var(--about-accent); font-size: 1.5rem; margin-bottom: 24px; }
.about-vision { margin: 56px 0 0; padding: 40px; border: 1px solid #d6e3f0; border-radius: 12px; background: #edf4fc; }
.about-vision > div { width: 100%; padding: 0; }
.about-vision h2 { color: var(--about-accent); font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; }
.about-page .team-card { background: #fff; border: 1px solid #d6e3f0; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 30px #193b5010; }
.about-page .team-card img { min-height: 260px; object-position: center 25%; }
.about-page .about-contact { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border: 1px solid #00845d; border-radius: 6px; padding: .8rem 1.2rem; color: #00845d; background: #fff; font-size: .95rem; font-weight: 700; }
.about-page .about-contact:hover { background: #e5f8f0; color: #006d4d; border-color: #006d4d; }
.about-mentions { background: linear-gradient(135deg, #f0f6fc, #e2edf9); }
.about-page .mention-card { position: relative; display: flex; flex-direction: column; height: 100%; padding: 28px; border: 1px solid #d6e3f0; border-radius: 12px; background: #fff; }
.about-page .mention-card h3 { overflow-wrap: anywhere; }
.about-page .mention-card > a { margin-top: auto; }
.about-page .mention-card:hover { border-color: #8daecc; }
@media (max-width: 767.98px) {
    .about-page .container { padding-left: 20px; padding-right: 20px; }
    .about-hero { padding: 48px 0; }
    .about-section { padding-top: 48px; padding-bottom: 48px; }
    .about-value-card, .about-page .mention-card { padding: 24px; }
    .about-vision { padding: 28px; margin-top: 32px; }
    .about-page .team-card img { max-height: 360px; min-height: 0; }
}
