/* ============================================
   ZGSP — SINGLE PROJECT HERO (NEW SYSTEM)
============================================ */

.zgsp-hero {
    position: relative;
    padding: 180px 0 140px;
    color: #fff;
    overflow: hidden;
}

.zgsp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--zgsp-hero-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.35;
    z-index: 1;
}

.zgsp-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.55) 0%,
        rgba(0,0,0,0.75) 40%,
        rgba(0,0,0,0.9) 100%
    );
    z-index: 2;
}

.zgsp-hero-inner {
    position: relative;
    z-index: 3;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

.zgsp-breadcrumb {
    font-size: 0.9rem;
    margin-bottom: 20px;
    opacity: 0.85;
}

.zgsp-breadcrumb a {
    color: #fff;
    text-decoration: underline;
}

.zgsp-title {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.zgsp-sector-icon {
    width: 42px;
    height: 42px;
}

.zgsp-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-right: 8px;
}

.zgsp-sector {
    background: #c89b3c;
    color: #000;
}

.zgsp-flagship {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(6px);
}

.zgsp-hero-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 50px;
    margin-top: 40px;
    align-items: start;
}

.zgsp-meta p {
    margin-bottom: 10px;
    font-size: 1.05rem;
    color: #fff;
}

.zgsp-hero-image img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.35);
}

@media (max-width: 900px) {
    .zgsp-hero-grid {
        grid-template-columns: 1fr;
    }

    .zgsp-title {
        font-size: 2.2rem;
    }

    .zgsp-hero-image img {
        height: 260px;
    }
}

/* Sections */
.zgsp-section {
    padding: 80px 0;
}

.zgsp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

.zgsp-gallery img {
    width: 100%;
    max-width: 320px;
    border-radius: 12px;
    margin: 12px;
}

.zgsp-doc-btn {
    display: inline-block;
    padding: 12px 24px;
    background: #c89b3c;
    color: #000;
    border-radius: 8px;
    font-weight: 600;
}


/* ============================================
   ZGSP — PREMIUM TYPOGRAPHY & SPACING
============================================ */

/* Base text rhythm */
.zgsp-section p,
.zgsp-section li {
    margin-bottom: 18px;
    line-height: 1.68;
    font-size: 1.05rem;
    color: #2A2F36;
}

/* H2 — premium section headers */
.zgsp-section h2 {
    font-size: 28px;
    font-weight: 600;
    color: #1F242B;
    margin-top: 60px;
    margin-bottom: 24px;
    padding-bottom: 14px;
    position: relative;
}

.zgsp-section h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 4px;
    background: #C6A667;
    border-radius: 2px;
}

/* H3 — subheaders */
.zgsp-section h3 {
    font-size: 20px;
    font-weight: 600;
    color: #2A2F36;
    margin-top: 40px;
    margin-bottom: 14px;
}

/* Section spacing */
.zgsp-section {
    padding: 70px 0;
    border-bottom: 1px solid rgba(15, 26, 43, 0.08);
}

/* Container width */
.zgsp-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 32px;
}

/* Hero text alignment fix */
.zgsp-hero-header,
.zgsp-meta {
    text-align: left;
}

/* Hero spacing refinement */
.zgsp-hero {
    padding: 160px 0 120px;
}

.zgsp-hero-grid {
    gap: 60px;
}

/* Improve readability of meta */
.zgsp-meta p {
    font-size: 1.1rem;
    margin-bottom: 14px;
}

/* Improve gallery spacing */
.zgsp-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.zgsp-gallery img {
    width: calc(33.33% - 20px);
    border-radius: 12px;
    object-fit: cover;
}

/* Mobile adjustments */
@media (max-width: 900px) {
    .zgsp-container {
        padding: 0 22px;
    }

    .zgsp-section {
        padding: 50px 0;
    }

    .zgsp-gallery img {
        width: 100%;
    }
}


/* REMOVE ALL SECTION DIVIDERS */
.zgsp-section {
    border: none !important;
}

/* Remove H2 underline bar */
.zgsp-section h2::after {
    display: none !important;
}



/* HERO HEADING DARK */
.zgsp-title {
    color: #ffff !important;
}

/* Breadcrumb + badges stay readable */
.zgsp-breadcrumb a,
.zgsp-badge {
    color: #fff;
}


/* PREMIUM TEXT SPACING */
.zgsp-section p {
    margin-bottom: 22px;
    line-height: 1.72;
    font-size: 1.12rem;
    color: #2A2F36;
}


/* ============================================
   ZGSP — PREMIUM SECTION BLOCKS
============================================ */

/* Section wrapper */
.zgsp-section {
    padding: 70px 0;
    background: #fff;
}

/* Alternate subtle background rhythm */
.zgsp-section:nth-of-type(even) {
    background: #FAFAFA;
}

/* Section container */
.zgsp-container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}

/* Section titles */
.zgsp-section h2 {
    font-size: 30px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

/* Subtitles */
.zgsp-section h3 {
    font-size: 22px;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 12px;
}

/* Paragraphs */
.zgsp-section p {
    font-size: 1.12rem;
    line-height: 1.72;
    margin-bottom: 20px;
    color: #2A2F36;
}

/* Remove all borders/dividers */
.zgsp-section,
.zgsp-container,
.zgsp-section * {
    border: none !important;
}


.zgsp-section {
    padding: 55px 0;
}


.zgsp-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.35) 0%,
        rgba(0,0,0,0.55) 40%,
        rgba(0,0,0,0.65) 100%
    );
    z-index: 2;
}


/* ============================================
   SP — SINGLE PROJECT HERO (ISOLATED SYSTEM)
============================================ */

.sp-hero {
    position: relative;
    padding: 160px 0 120px;
    color: #fff;
    overflow: hidden;
    background: #0A1A2F; /* fallback */
}

/* Background image layer */
.sp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--sp-hero-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.55; /* visible */
    z-index: 1;
}

/* Overlay layer */
.sp-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10, 20, 35, 0.55),
        rgba(10, 20, 35, 0.85)
    );
    z-index: 2;
}

/* Content */
.sp-hero-inner {
    position: relative;
    z-index: 3;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

.sp-breadcrumb {
    font-size: 0.9rem;
    margin-bottom: 20px;
    opacity: 0.85;
}

.sp-breadcrumb a {
    color: #fff;
    text-decoration: underline;
}

.sp-title {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.sp-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-right: 8px;
}

.sp-sector {
    background: #c89b3c;
    color: #000;
}

.sp-flagship {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(6px);
}

.sp-hero-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 60px;
    margin-top: 40px;
    align-items: start;
}

.sp-meta p {
    margin-bottom: 14px;
    font-size: 1.1rem;
    color: #fff;
}

.sp-hero-image img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.35);
}

@media (max-width: 900px) {
    .sp-hero-grid {
        grid-template-columns: 1fr;
    }

    .sp-title {
        font-size: 2.2rem;
    }

    .sp-hero-image img {
        height: 260px;
    }
}


.zgsp-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10, 20, 35, 0.35) 0%,
        rgba(10, 20, 35, 0.55) 40%,
        rgba(10, 20, 35, 0.65) 100%
    );
    z-index: 2;
}


/* ============================================
   SINGLE PAGE — BODY OVERRIDES
============================================ */

/* Base text */
.project-section p,
.project-section li {
    font-size: 1.08rem;
    line-height: 1.68;
    color: #2A2F36;
    margin-bottom: 20px;
}

/* Section headers */
.project-section h2 {
    font-size: 30px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

/* Subheaders */
.project-section h3 {
    font-size: 22px;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 12px;
}

/* Section spacing */
.project-section {
    padding: 60px 0;
    background: #fff;
}

/* Alternate background rhythm */
.project-section:nth-of-type(even) {
    background: #FAFAFA;
}

/* Container */
.project-section .container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}


/* SINGLE PAGE — HERO TEXT IVORY */
.sp-hero .sp-title,
.sp-hero .sp-breadcrumb a,
.sp-hero .sp-meta p,
.sp-hero .sp-badge {
    color: #F2F1EB !important; /* premium ivory */
}


/* ============================================
   SINGLE PAGE — PROJECT-SECTION OVERRIDES
============================================ */

.project-section {
    padding: 60px 0;
    background: #fff;
}

.project-section:nth-of-type(even) {
    background: #FAFAFA;
}

.project-section .container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}

.project-section h2 {
    font-size: 30px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

.project-section h3 {
    font-size: 22px;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 12px;
}

.project-section p,
.project-section li {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 20px;
}


/* ============================================
   SINGLE PAGE — ZGSP-SECTION OVERRIDES
============================================ */

.zgsp-section {
    padding: 60px 0;
    background: #fff;
}

.zgsp-section:nth-of-type(even) {
    background: #FAFAFA;
}

.zgsp-container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}

.zgsp-section h2 {
    font-size: 30px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

.zgsp-section h3 {
    font-size: 22px;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 12px;
}

.zgsp-section p,
.zgsp-section li {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 20px;
}


/* ============================================
   SINGLE PAGE — PROJECT OWNER LOCKED
============================================ */

.project-owner-locked {
    padding: 60px 0;
    background: #FAFAFA;
    text-align: left;
}

.project-owner-locked h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 18px;
}

.project-owner-locked p {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 22px;
}

.project-owner-locked .btn-primary {
    display: inline-block;
    padding: 12px 24px;
    background: #C6A667;
    color: #000;
    border-radius: 8px;
    font-weight: 600;
}



/* ============================================
   SINGLE PAGE — NEXT STEPS
============================================ */

.project-next-steps {
    padding: 60px 0;
    background: #fff;
    text-align: left;
}

.project-next-steps h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

.next-steps-actions {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.next-steps-actions .btn-primary,
.next-steps-actions .btn-secondary {
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
}

.next-steps-actions .btn-primary {
    background: #C6A667;
    color: #000;
}

.next-steps-actions .btn-secondary {
    background: #EAEAEA;
    color: #1A1F26;
}


/* ============================================
   SINGLE PAGE — RELATED PROJECTS
============================================ */

.related-projects {
    padding: 60px 0;
    background: #FAFAFA;
}

.related-projects h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}

.related-card {
    background: #fff;
    border-radius: 12px;
    padding: 18px;
    text-decoration: none;
    color: #1A1F26;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.2s ease;
}

.related-card:hover {
    transform: translateY(-4px);
}

.related-card img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 12px;
}

.related-card h3 {
    font-size: 20px;
    font-weight: 600;
}


/* ============================================
   SINGLE PAGE — GALLERY
============================================ */

.project-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.project-gallery img {
    width: calc(33.33% - 20px);
    height: 220px;
    object-fit: cover;
    border-radius: 12px;
}

@media (max-width: 900px) {
    .project-gallery img {
        width: 100%;
        height: 260px;
    }
}


/* ============================================
   SINGLE PAGE — DOCUMENT BUTTON
============================================ */

.project-doc-btn {
    display: inline-block;
    padding: 12px 24px;
    background: #C6A667;
    color: #000;
    border-radius: 8px;
    font-weight: 600;
}


/* SINGLE PAGE — Risk Mitigation Link */
.sp-risk-link a {
    display: inline-block;
    margin-top: 12px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #C6A667;
    text-decoration: none;
}

.sp-risk-link a:hover {
    text-decoration: underline;
}


/* SINGLE PAGE — Risk Mitigation Section Override */
#risk-mitigation.zgsp-section {
    padding: 60px 0;
    background: #fff;
}

#risk-mitigation .zgsp-container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}

#risk-mitigation h2 {
    font-size: 30px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

#risk-mitigation p,
#risk-mitigation li {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 20px;
}


/* SINGLE PAGE — Full Description Override */
.project-section .container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}

.project-section h2 {
    font-size: 30px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

.project-section h3 {
    font-size: 22px;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 12px;
}

.project-section p,
.project-section li {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 20px;
}

/* SINGLE PAGE — Center "For More Information" */
.project-owner-locked {
    padding: 60px 0;
    background: #FAFAFA;
    text-align: center;
}

.project-owner-locked h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 18px;
}

.project-owner-locked p {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 22px;
}

.project-owner-locked .btn-primary {
    display: inline-block;
    padding: 12px 24px;
    background: #C6A667;
    color: #000;
    border-radius: 8px;
    font-weight: 600;
    margin-top: 10px;
}


/* ============================================
   SINGLE PAGE — NEXT STEPS (FULL CENTERING)
============================================ */

.project-next-steps {
    padding: 70px 0;
    background: #fff;
    text-align: center;
}

.project-next-steps h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 28px;
}

/* Center the buttons properly */
.next-steps-actions {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 10px;
}

/* Sovereign button styling */
.next-steps-actions .btn-primary,
.next-steps-actions .btn-secondary {
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-block;
    text-align: center;
}

/* Primary button (Explore More Projects) */
.next-steps-actions .btn-primary {
    background: #C6A667;
    color: #000;
}

/* Secondary button (Request More Information) */
.next-steps-actions .btn-secondary {
    background: #EAEAEA;
    color: #1A1F26;
}


/* SINGLE PAGE — Centered container for "For More Information" */
.project-owner-locked {
    padding: 60px 0;
    background: #FAFAFA;
    text-align: center;
}

.project-owner-locked > * {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
}


.project-owner-locked h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 18px;
}

.project-owner-locked p {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 22px;
}


.project-owner-locked .btn-primary {
    display: inline-block;
    padding: 12px 24px;
    background: #C6A667;
    color: #000;
    border-radius: 8px;
    font-weight: 600;
    margin-top: 10px;
}


/* ============================================
   SINGLE PAGE — SECTION RHYTHM BORDERS
============================================ */

/* Add a subtle divider between analytical sections */
.zgsp-section {
    border-bottom: 1px solid #E5E5E5;
    padding: 60px 0;
}

/* Remove border from the last section in the group */
.zgsp-section:last-of-type {
    border-bottom: none;
}


/* ============================================
   SINGLE PAGE — MILESTONES GROUPING & RHYTHM
============================================ */

.project-section .milestone {
    padding: 28px 0;
    border-bottom: 1px solid #E5E5E5;
}

.project-section .milestone:last-of-type {
    border-bottom: none;
}

.project-section .milestone h3 {
    font-size: 22px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 10px;
}

.project-section .milestone p {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #2A2F36;
    margin-bottom: 6px;
}

/* Optional: add top border to the whole milestone block */
.project-section h2 + .milestone {
    border-top: 1px solid #E5E5E5;
    margin-top: 20px;
}


/* SINGLE PAGE — Related Projects Title Refinement */
.related-projects h2 {
    font-size: 22px;
    font-weight: 600;
    color: #1A1F26;
    margin-bottom: 18px;
    opacity: 0.85; /* softer, less dominant */
}


/* SINGLE PAGE — Related Projects Closing Section */
.related-projects {
    background: #0F1A28; /* deep midnight closing tone */
    padding: 60px 0;
    border-top: 1px solid rgba(255,255,255,0.08);
}


.related-projects h2 {
    font-size: 20px;
    font-weight: 600;
    color: #F2F1EB; /* ivory tone */
    opacity: 0.85;
    margin-bottom: 24px;
    text-align: center;
}



/* ============================================
   SINGLE PAGE — Back to Projects Button
============================================ */

.project-back-link {
    padding: 50px 0 20px;
    text-align: center;
    background: #fff;
}

.back-container {
    max-width: 880px;
    margin: 0 auto;
}

.back-to-projects-btn {
    display: inline-block;
    padding: 12px 28px;
    background: #C6A667;
    color: #000;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.back-to-projects-btn:hover {
    background: #d4b676;
    transform: translateY(-2px);
}



/* ============================================
   SINGLE PAGE — RISK MITIGATION SECTION
============================================ */

#risk-mitigation.zgsp-section {
    padding: 60px 0;
    background: #fff;
    border-top: 1px solid #E5E5E5;      /* rhythm start */
    border-bottom: 1px solid #E5E5E5;   /* rhythm end */
}

#risk-mitigation .zgsp-container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}

#risk-mitigation h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

#risk-mitigation p,
#risk-mitigation li {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 18px;
}

/* Optional: subtle bullet rhythm */
#risk-mitigation ul {
    padding-left: 20px;
}


/* ============================================
   SINGLE PAGE — RISK MITIGATION SECTION
============================================ */

#risk-mitigation.zgsp-section {
    padding: 60px 0;
    background: #fff;
    border-top: 1px solid #E5E5E5;
    border-bottom: 1px solid #E5E5E5;
}

#risk-mitigation .zgsp-container {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
}

#risk-mitigation h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 22px;
}

#risk-mitigation h3 {
    font-size: 20px;
    font-weight: 600;
    color: #1A1F26;
    margin-top: 32px;
    margin-bottom: 12px;
}

#risk-mitigation p,
#risk-mitigation li {
    font-size: 1.12rem;
    line-height: 1.72;
    color: #2A2F36;
    margin-bottom: 16px;
}

#risk-mitigation ul {
    padding-left: 20px;
}


/* Anchor offset fix for Risk Mitigation */
#risk-mitigation {
    scroll-margin-top: 120px; /* adjust if header height changes */
}


/* Ensure anchor scroll lands cleanly */
#risk-mitigation {
    scroll-margin-top: 140px; /* adjust if header height changes */
}


#risk-mitigation.zgsp-section {
    padding-top: 80px; /* creates visual separation from Timeline */
}


/* ============================================
   SINGLE PAGE — RISK MITIGATION GROUPING
============================================ */

#risk-mitigation .mitigation-block {
    padding: 28px 24px;
    background: #F8F9FB;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    margin-bottom: 32px;
}

/* Category titles */
#risk-mitigation .mitigation-block h3 {
    font-size: 20px;
    font-weight: 700;
    color: #1A1F26;
    margin-bottom: 14px;
}

/* Paragraphs inside blocks */
#risk-mitigation .mitigation-block p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #2A2F36;
    margin-bottom: 12px;
}


/* Turn each h3 + following content into a block */
#risk-mitigation h3 {
    display: block;
    padding: 0;
    margin-top: 40px;
}

#risk-mitigation h3 + p,
#risk-mitigation h3 + p + p,
#risk-mitigation h3 + p + p + p {
    padding-left: 0;
}

/* Wrap heading + paragraphs inside a visual block */
#risk-mitigation h3,
#risk-mitigation h3 + p,
#risk-mitigation h3 + p + p,
#risk-mitigation h3 + p + p + p {
    display: block;
}

#risk-mitigation h3 {
    margin-bottom: 10px;
}


#risk-mitigation h3,
#risk-mitigation h3 + p,
#risk-mitigation h3 + p + p,
#risk-mitigation h3 + p + p + p {
    background: #F8F9FB;
    border-left: 4px solid #C6A667;
    padding: 14px 20px;
}

#risk-mitigation h3 {
    border-radius: 10px 10px 0 0;
}

#risk-mitigation h3 + p + p + p {
    border-radius: 0 0 10px 10px;
}


#risk-mitigation.zgsp-section {
    padding-top: 80px;
    scroll-margin-top: 140px; /* fixes anchor jump */
}


/* ============================================
   RISK MITIGATION — SOVEREIGN BLOCK STRUCTURE
============================================ */

#risk-mitigation h3 {
    background: #F8F9FB;
    border-left: 4px solid #C6A667;
    padding: 16px 20px;
    margin-top: 40px;
    margin-bottom: 0;
    font-size: 20px;
    font-weight: 700;
    color: #1A1F26;
    border-radius: 10px 10px 0 0;
}

/* Group the paragraphs under each h3 into the same block */
#risk-mitigation h3 + p,
#risk-mitigation h3 + p + p,
#risk-mitigation h3 + p + p + p {
    background: #F8F9FB;
    padding: 12px 20px;
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.7;
    color: #2A2F36;
    border-left: 4px solid #C6A667;
}

/* Round the bottom of the block */
#risk-mitigation h3 + p + p + p {
    border-radius: 0 0 10px 10px;
    margin-bottom: 32px;
}


#risk-mitigation {
    scroll-margin-top: 140px;
    padding-top: 60px;
}
