    .about-hero {
        background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
        border-radius: 10px;
        padding: 4rem 2rem;
        margin-bottom: 3rem;
    }
    .mission-card {
        background: #f8f9fa;
        border-radius: 20px;
        padding: 2.5rem;
        height: 100%;
    }
    .value-card {
        border: none;
        border-radius: 15px;
        padding: 2rem;
        text-align: center;
        transition: all 0.3s ease;
        height: 100%;
        box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    }
    .value-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 40px rgba(0,0,0,0.1);
    }
    .value-icon {
        width: 70px;
        height: 70px;
        background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1.5rem;
        color: white;
    }
    .team-member {
        text-align: center;
        padding: 1.5rem;
    }
    .team-photo {
        width: 120px;
        height: 120px;
        background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1rem;
        font-size: 2.5rem;
        color: #6c757d;
    }
    .stats-section {
        background: #f8f9fa;
        border-radius: 20px;
        padding: 3rem 2rem;
    }
    .stat-item {
        text-align: center;
        padding: 1rem;
    }
    .stat-number {
        font-size: 3rem;
        font-weight: 800;
        color: #0f1f7a;
        line-height: 1;
    }
    .credentials-badge {
        display: inline-flex;
        align-items: center;
        background: white;
        padding: 0.75rem 1.25rem;
        border-radius: 6px;
        margin: 0.5rem;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        border: 1px solid #2c3a8a;
    }
    .law-snapshot {
        border-radius: 0px;
        padding: 2rem;
        border-left: 4px solid #c10828;
    }
    .promise-card {
        background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
        border-radius: 20px;
        padding: 2.5rem;
    }
    .about-image-section img {
        border-radius: 20px;
        box-shadow: 0 15px 40px rgba(0,0,0,0.15);
    }
    .nsp-about-hero-desc {
        max-width: 800px;
    }
    .nsp-about-value-icon-warm {
        background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
    }
    .nsp-about-value-icon-teal {
        background: linear-gradient(135deg, #17a2b8 0%, #20c997 100%);
    }
    .nsp-about-value-icon-green {
        background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    }
    .nsp-about-img-cover {
        height: 250px;
        width: 100%;
        object-fit: cover;
    }
    .nsp-about-cta-card {
        border-radius: 10px;
        overflow: hidden;
    }


    /* --- About page: compact hero, SVG marks, ESA/PSD document cards --- */
    .ab-hero {
        background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
        border-radius: 10px;
        padding: 3.25rem 2rem;
        /* positioning context + clipping for the pattern layer below */
        position: relative;
        overflow: hidden;
    }

    /* Pet pattern overlay, matching the hero treatment used across the site. */
    .ab-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: url(/static/images/pet-bg-pattern.png);
        background-repeat: repeat;
        background-size: 475px;
        filter: invert(1);
        opacity: 0.1;
        pointer-events: none;
        z-index: 0;
    }

    /* Keep the badge, headline, copy and buttons above the pattern. */
    .ab-hero > * {
        position: relative;
        z-index: 1;
    }
    .ab-hero-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.45rem 1.1rem;
        border: 1px solid rgba(255,255,255,0.4);
        border-radius: 50px;
        background: rgba(255,255,255,0.12);
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }
    .ab-eyebrow {
        display: inline-block;
        margin-bottom: 0.5rem;
        color: #0f1f7a;
        font-size: 0.85rem;
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
    }
    .ab-marks {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
        gap: 1.25rem;
    }
    .ab-marks > div {
        padding: 1.75rem 1.5rem;
        background: #fff;
        border: 1px solid #e9ecef;
        border-radius: 15px;
        transition: all 0.3s ease;
    }
    .ab-marks > div:hover {
        border-color: #0f1f7a;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        transform: translateY(-5px);
    }
    .ab-mark-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        margin-bottom: 1rem;
        border-radius: 8px;
        background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
        color: #fff;
    }
    .ab-mark-icon svg { width: 26px; height: 26px; }
    .ab-doc {
        display: flex;
        flex-direction: column;
        padding: 2rem;
        background: #fff;
        border: 1px solid #e9ecef;
        border-radius: 20px;
        transition: all 0.3s ease;
    }
    .ab-doc:hover {
        border-color: #0f1f7a;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }
    .ab-doc-head {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1.25rem;
        padding-bottom: 1.25rem;
        border-bottom: 1px solid #e9ecef;
    }
    .ab-doc-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 60px;
        height: 60px;
        border-radius: 15px;
        background: #f8f9fa;
        color: #0f1f7a;
    }
    .ab-doc-icon svg { width: 30px; height: 30px; }
    .ab-doc-list {
        margin: 0 0 1.5rem;
        padding: 0;
        list-style: none;
    }
    .ab-doc-list li {
        position: relative;
        padding: 0.4rem 0 0.4rem 1.75rem;
        color: #333;
        font-size: 0.92rem;
    }
    .ab-doc-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0.85rem;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    }
    .ab-doc-link {
        margin-top: auto;
        font-weight: 600;
        text-decoration: none;
    }
    .ab-versus {
        padding: 2rem 1.5rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        border: 1px solid #e9ecef;
        border-radius: 20px;
    }
    @media (min-width: 992px) {
        .ab-versus { padding: 3rem; }
    }
