/* ============================================================
   0. ZIMGerm Global Reset (R2 — Aggressive, Zimgerm‑Safe)
   ============================================================ */


:root {
    --zg-max-width: 1280px;
    --zg-max-width-narrow: 900px;
    --zg-max-width-tight: 720px;
}

/* Universal box-sizing */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove ALL browser default margins & padding */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display reset */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
    display: block;
}

/* Remove list styles */
ol, ul {
    list-style: none;
}

/* Remove quotes */
blockquote, q {
    quotes: none;
}
blockquote::before, blockquote::after,
q::before, q::after {
    content: '';
}

/* Remove table spacing */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Remove default link styling */
a {
    text-decoration: none;
    color: inherit;
}

/* Remove default button styling */
button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

/* Remove default image behavior */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Kill WordPress/Astra/Gutenberg padding & margins */
.entry-content,
.site-content,
.ast-container,
.wp-block-group,
.wp-block-group__inner-container,
.wp-block-cover,
.wp-block-cover-image {
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
}

/* Prevent WordPress from boxing full-width elements */
body {
    overflow-x: hidden;
    background: #ffffff;
    line-height: 1.4;
}

/* ============================================================
   1. Zimgerm Sovereign Header System
   - Homepage: transparent at top, midnight on scroll
   - Internal pages: always midnight (scrolled state)
   ============================================================ */

/* Base header wrapper */
#zgfp-hdr {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    padding: 24px 40px;
    background: transparent;
    z-index: 99999;
    transition: 0.35s ease;
    display: flex;
    align-items: center;
}

/* Internal pages: force scrolled state as default */
body:not(.home) #zgfp-hdr {
    background: #0a0f1f !important;
    padding: 16px 40px !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.25);
}

/* Homepage scroll behavior */
#zgfp-hdr.scrolled {
    background: #0a0f1f !important;
    padding: 16px 40px !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.25);
}

/* Inner container */
.zgfp-hdr-inner {
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Logo */
.zgfp-hdr-logo img {
    height: 80px;
    width: auto;
    filter: brightness(1.25);
    border-radius: 12px;
}

/* Desktop navigation */
.zgfp-hdr-nav {
    display: flex;
}

.zgfp-hdr-menu {
    display: flex;
    gap: 32px;
    list-style: none;
}

.zgfp-hdr-menu > li {
    display: flex;
    align-items: center;
    gap: 6px;
}

.zgfp-hdr-menu a {
    color: #fafafa;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    transition: 0.25s ease;
}

.zgfp-hdr-menu a:hover {
    color: #c89b3c;
}

/* Dropdowns (desktop) */
#zgfp-hdr .menu-item-has-children {
    position: relative;
}

#zgfp-hdr .menu-item-has-children > .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #11263D;
    padding: 12px 0;
    min-width: 220px;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.25);
    z-index: 9999;
}

#zgfp-hdr .menu-item-has-children:hover > .sub-menu {
    display: block;
}

#zgfp-hdr .sub-menu li a {
    display: block;
    padding: 10px 20px;
    color: #fafafa;
    white-space: nowrap;
}

#zgfp-hdr .sub-menu li a:hover {
    background: rgba(255,255,255,0.08);
    color: #c89b3c;
}

/* Mobile toggle */
.zgfp-hdr-toggle {
    display: none;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
}

.zgfp-hdr-toggle span {
    width: 26px;
    height: 3px;
    background: #ffffff;
}

/* Mobile panel */
.zgfp-hdr-panel {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    height: 100vh;
    background: #0a0f1f;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: right 0.35s ease;
    z-index: 999999;
}

.zgfp-hdr-panel.active {
    right: 0;
}

.zgfp-hdr-close {
    align-self: flex-end;
    background: rgba(255,255,255,0.12);
    border: none;
    font-size: 2.2rem;
    color: #ffffff;
    cursor: pointer;
    margin-bottom: 20px;
    line-height: 1;
    padding: 6px 12px;
    border-radius: 8px;
    transition: 0.25s ease;
}

.zgfp-hdr-close:hover {
    background: rgba(255,255,255,0.22);
    transform: scale(1.05);
}

.zgfp-hdr-menu-mobile {
    list-style: none;
}

.zgfp-hdr-menu-mobile li a {
    color: #ffffff;
    font-size: 1.2rem;
    padding: 10px 0;
    display: block;
}

/* Mobile breakpoint */
@media (max-width: 900px) {
    .zgfp-hdr-nav {
        display: none;
    }
    .zgfp-hdr-toggle {
        display: flex;
    }
}

/* Hide dropdown arrows on desktop */
@media (min-width: 901px) {
    .zgfp-hdr-sub-toggle {
        display: none;
    }
}


/* ============================================================
   2. Zimgerm Universal Hero System (H1 — Full‑Width + Overlay)
   ============================================================ */

/* Kill ALL legacy hero systems (Astra, Gutenberg, ZGFP, old Zimgerm) */
.zgfp-section.zgfp-hero,
.wp-block-cover,
.wp-block-cover-image,
.wp-block-group,
.wp-block-group__inner-container,
.zgfp-hero,
.zg-hero-old,
.zg-hero-small,
.zg-hero-legacy {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Universal hero container */
.zg-hero {
    width: 100vw !important;
    max-width: 100vw !important;

    /* Break out of WP containers */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    /* Vertical rhythm */
    padding: 140px 0 80px 0 !important;

    /* Background image */
    background-image: var(--hero-image) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    /* No legacy background */
    background-color: transparent !important;

    position: relative;
    overflow: visible !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Dark overlay */
.zg-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 1;
}

/* Hero content wrapper */
.zg-hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 0 40px;
}

/* Hero typography */
.zg-hero h1,
.zg-hero h2 {
    color: #FFFFFF !important;
    margin-bottom: 16px;
}

.zg-hero p {
    color: #E6E6E6 !important;
    margin-top: 12px;
}

/* Remove Astra/Gutenberg padding that boxes the hero */
.entry-content,
.site-content,
.ast-container,
.wp-block-group,
.wp-block-group__inner-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Prevent spacing above hero on internal pages */
body:not(.home) .zg-hero {
    margin-top: 0 !important;
}

/* Ensure hero always loads image */
.zg-hero {
    background-image: var(--hero-image) !important;
}

/* Remove any old ivory hero background 
.zg-hero {
    background: none !important;
}*/


/* ============================================================
   3. Zimgerm Core Layout System
   - Containers
   - Sections
   - Grids
   - Cards
   - Spacing Rhythm
   ============================================================ */

/* ------------------------------
   Global Container
   ------------------------------ */
.zg-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
}

/* ------------------------------
   Section System
   ------------------------------ */
.zg-section {
    width: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
    background: transparent;
}

.zg-section-light {
    background: #F8F9FB;
}

.zg-section-dark {
    background: #141414;
    color: #FFFFFF;
}

/* Remove top padding when section follows hero */
.zg-hero + .zg-section {
    padding-top: 40px !important;
}

/* ------------------------------
   Grid System
   ------------------------------ */

/* 2-column grid */
.zg-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

/* 3-column grid */
.zg-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

/* Responsive collapse */
@media (max-width: 900px) {
    .zg-grid-2,
    .zg-grid-3 {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------
   Card System
   ------------------------------ */
.zg-card {
    background: #FFFFFF;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    transition: 0.25s ease;
}

.zg-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.10);
}

/* Dark card variant */
.zg-card-dark {
    background: #0A121C;
    color: #FFFFFF;
}

/* ------------------------------
   Spacing Utilities
   ------------------------------ */
.zg-mt-40 { margin-top: 40px !important; }
.zg-mt-60 { margin-top: 60px !important; }
.zg-mt-80 { margin-top: 80px !important; }

.zg-mb-40 { margin-bottom: 40px !important; }
.zg-mb-60 { margin-bottom: 60px !important; }
.zg-mb-80 { margin-bottom: 80px !important; }

/* ------------------------------
   Alignment Utilities
   ------------------------------ */
.zg-center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.zg-flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}


/* ============================================================
   4. Zimgerm Typography System
   - Headings
   - Body text
   - Line-height & weight hierarchy
   - Sector‑safe (does NOT override sector typography)
   ============================================================ */

/* ------------------------------
   Base Typography
   ------------------------------ */
html, body {
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    color: #0A0A0A;
    line-height: 1.55;
    font-size: 16px;
    font-weight: 400;
}

/* ------------------------------
   Headings (Global Defaults)
   ------------------------------ */

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.2;
    color: #0A0A0A;
    margin-bottom: 16px;
}

/* Hero headings are handled in the hero system — not here */

/* H1 */
h1, .zg-heading-xl {
    font-size: 42px;
    font-weight: 700;
}

/* H2 */
h2, .zg-heading-l {
    font-size: 32px;
    font-weight: 700;
}

/* H3 */
h3, .zg-heading-m {
    font-size: 26px;
    font-weight: 600;
}

/* H4 */
h4, .zg-heading-s {
    font-size: 20px;
    font-weight: 600;
}

/* ------------------------------
   Body Text
   ------------------------------ */

p, .zg-body {
    font-size: 17px;
    line-height: 1.55;
    margin-bottom: 20px;
    color: #333333;
}

.zg-body-s {
    font-size: 15px;
    line-height: 1.5;
}

/* ------------------------------
   Links
   ------------------------------ */

a {
    color: #0A3A8D;
    text-decoration: none;
    transition: 0.25s ease;
}

a:hover {
    opacity: 0.8;
}

/* ------------------------------
   Strong Text
   ------------------------------ */

strong, b {
    font-weight: 600;
}

/* ------------------------------
   Sector Page Typography Protection
   ------------------------------ */

/* Sector pages use their own typography rhythm.
   These selectors ensure NOTHING here overrides them. */

.sector-page h1,
.sector-page h2,
.sector-page h3,
.sector-page h4,
.sector-page p,
.sector-page .zg-heading-xl,
.sector-page .zg-heading-l,
.sector-page .zg-heading-m,
.sector-page .zg-heading-s,
.sector-page .zg-body,
.sector-page .zg-body-s {
    all: unset;
    display: revert;
}

/* Reapply sector page typography exactly as it was */
.sector-page h1,
.sector-page .zg-heading-xl {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
}

.sector-page h2,
.sector-page .zg-heading-l {
    font-size: 32px;
    font-weight: 700;
}

.sector-page h3,
.sector-page .zg-heading-m {
    font-size: 26px;
    font-weight: 600;
}

.sector-page p,
.sector-page .zg-body {
    font-size: 17px;
    line-height: 1.55;
    margin-bottom: 20px;
}


/* ============================================================
   5. Zimgerm Sector Page System (Preserved EXACTLY)
   - Hero spacing
   - Section rhythm
   - Grid behavior
   - Card behavior
   - Highlight blocks
   - ZERO visual changes to existing sector pages
   ============================================================ */

/* ------------------------------
   Sector Page Wrapper
   ------------------------------ */
.sector-page {
    width: 100%;
    background: #FFFFFF;
}

/* ------------------------------
   Sector Hero (kept EXACT)
   ------------------------------ */
.sector-page .zg-hero {
    padding-top: 140px !important;
    padding-bottom: 60px !important;
    background-size: cover !important;
    background-position: center !important;
    background-image: var(--hero-image) !important;
}

/* Sector hero content */
.sector-page .zg-hero-content {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 40px;
    text-align: center;
}

/* ------------------------------
   Sector Section Rhythm
   ------------------------------ */
.sector-page .zg-section {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

/* Remove extra spacing after hero */
.sector-page .zg-hero + .zg-section {
    padding-top: 40px !important;
}

/* ------------------------------
   Sector Grids (kept EXACT)
   ------------------------------ */
.sector-page .zg-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

@media (max-width: 900px) {
    .sector-page .zg-grid-2 {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------
   Sector Cards (kept EXACT)
   ------------------------------ */
.sector-page .zg-card {
    background: #FFFFFF;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    transition: 0.25s ease;
}

.sector-page .zg-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.10);
}

/* Dark variant */
.sector-page .zg-card-dark {
    background: #0A121C;
    color: #FFFFFF;
}

/* ------------------------------
   Sector Highlight Blocks
   ------------------------------ */
.sector-page .zg-highlight {
    background: #F2F4F7;
    border-left: 4px solid #0A3A8D;
    padding: 24px 28px;
    border-radius: 8px;
    margin-bottom: 40px;
}

/* ------------------------------
   Sector Typography (kept EXACT)
   ------------------------------ */
.sector-page h1,
.sector-page .zg-heading-xl {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 20px;
}

.sector-page h2,
.sector-page .zg-heading-l {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
}

.sector-page h3,
.sector-page .zg-heading-m {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 14px;
}

.sector-page p,
.sector-page .zg-body {
    font-size: 17px;
    line-height: 1.55;
    margin-bottom: 20px;
}

/* ------------------------------
   Sector Images
   ------------------------------ */
.sector-page img {
    border-radius: 12px;
    width: 100%;
    height: auto;
}

/* ------------------------------
   Sector Buttons
   ------------------------------ */
.sector-page .zg-btn-primary {
    background: #0A3A8D;
    color: #FFFFFF;
    padding: 14px 36px;
    border-radius: 6px;
    font-weight: 600;
    letter-spacing: 0.3px;
    display: inline-block;
    transition: 0.25s ease;
}

.sector-page .zg-btn-primary:hover {
    background: #082d6b;
}

/* ------------------------------
   Sector Safe Overrides
   ------------------------------ */

/* Prevent global reset from affecting spacing */
.sector-page * {
    box-sizing: border-box;
}

/* Prevent global reset from collapsing margins */
.sector-page p,
.sector-page h1,
.sector-page h2,
.sector-page h3 {
    display: block;
}


/* ============================================================
   6. Zimgerm CTA + Footer System
   - Premium CTA block
   - Institutional footer
   - Midnight brand identity
   ============================================================ */

/* ------------------------------
   CTA Section
   ------------------------------ */
/* ZIMGerm CTA Section — Branded, Premium */
.zg-cta {
    width: 100%;
    padding: 80px 40px;
    background: #1A1F24; /* Deep Charcoal — Zimgerm Core */
    color: #FFFFFF;
    text-align: center;
    border-radius: 16px; /* Rounded corners as requested */
}

.zg-cta h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #FFFFFF;
}

.zg-cta p {
    font-size: 18px;
    margin-bottom: 30px;
    color: #E6E6E6;
}

.zg-cta .zg-btn-primary {
    background: #FFFFFF;
    color: #0A3A8D;
    padding: 14px 36px;
    border-radius: 6px;
    font-weight: 600;
    display: inline-block;
    transition: 0.25s ease;
}

.zg-cta .zg-btn-primary:hover {
    background: #E6E6E6;
}

/* ------------------------------
   Footer Wrapper
   ------------------------------ */
.zg-footer {
    width: 100%;
    background: #0A0F1F;
    color: #FFFFFF;
    padding: 60px 40px;
}

.zg-footer-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

@media (max-width: 900px) {
    .zg-footer-inner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .zg-footer-inner {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------
   Footer Columns
   ------------------------------ */
.zg-footer h4 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #FFFFFF;
}

.zg-footer ul {
    list-style: none;
}

.zg-footer ul li {
    margin-bottom: 10px;
}

.zg-footer ul li a {
    color: #E6E6E6;
    font-size: 15px;
    transition: 0.25s ease;
}

.zg-footer ul li a:hover {
    color: #c89b3c;
}

/* ------------------------------
   Footer Bottom Bar
   ------------------------------ */
.zg-footer-bottom {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.12);
    text-align: center;
    font-size: 14px;
    color: #AAB0B8;
}

.zg-footer-bottom a {
    color: #FFFFFF;
    font-weight: 500;
    transition: 0.25s ease;
}

.zg-footer-bottom a:hover {
    color: #c89b3c;
}


/* ============================================================
   7. Zimgerm Utility Classes
   - Display helpers
   - Flex helpers
   - Text helpers
   - Visibility helpers
   - Spacing helpers
   ============================================================ */

/* ------------------------------
   Display Utilities
   ------------------------------ */
.zg-block { display: block !important; }
.zg-inline { display: inline !important; }
.zg-inline-block { display: inline-block !important; }
.zg-flex { display: flex !important; }
.zg-grid { display: grid !important; }

/* ------------------------------
   Flexbox Utilities
   ------------------------------ */
.zg-flex-center {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.zg-flex-between {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.zg-flex-column {
    display: flex !important;
    flex-direction: column !important;
}

.zg-flex-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
}

/* ------------------------------
   Text Alignment
   ------------------------------ */
.zg-text-left { text-align: left !important; }
.zg-text-center { text-align: center !important; }
.zg-text-right { text-align: right !important; }

/* ------------------------------
   Visibility Utilities
   ------------------------------ */
.zg-hidden { display: none !important; }

@media (max-width: 900px) {
    .zg-hide-mobile { display: none !important; }
}

@media (min-width: 901px) {
    .zg-hide-desktop { display: none !important; }
}

/* ------------------------------
   Width Utilities
   ------------------------------ */
.zg-w-100 { width: 100% !important; }
.zg-w-50 { width: 50% !important; }
.zg-max-800 { max-width: 800px !important; margin: 0 auto !important; }

/* ------------------------------
   Margin Utilities
   ------------------------------ */
.zg-m-0 { margin: 0 !important; }
.zg-mt-20 { margin-top: 20px !important; }
.zg-mt-40 { margin-top: 40px !important; }
.zg-mt-60 { margin-top: 60px !important; }
.zg-mt-80 { margin-top: 80px !important; }

.zg-mb-20 { margin-bottom: 20px !important; }
.zg-mb-40 { margin-bottom: 40px !important; }
.zg-mb-60 { margin-bottom: 60px !important; }
.zg-mb-80 { margin-bottom: 80px !important; }

/* ------------------------------
   Padding Utilities
   ------------------------------ */
.zg-p-0 { padding: 0 !important; }
.zg-p-20 { padding: 20px !important; }
.zg-p-40 { padding: 40px !important; }
.zg-p-60 { padding: 60px !important; }

/* ------------------------------
   Border Radius Utilities
   ------------------------------ */
.zg-radius-0 { border-radius: 0 !important; }
.zg-radius-6 { border-radius: 6px !important; }
.zg-radius-12 { border-radius: 12px !important; }

/* ------------------------------
   Shadow Utilities
   ------------------------------ */
.zg-shadow-sm { box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important; }
.zg-shadow-md { box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important; }
.zg-shadow-lg { box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important; }

/* Remove unwanted top padding on first section of all main pages */
body:not(.home) .entry-content > .zgfp-section:first-of-type {
    padding-top: 0 !important;
    margin-top: 0 !important;
}


/* Fix homepage hero text color */
.home .zg-hero h1,
.home .zg-hero h2,
.home .zg-hero p {
    color: #ffffff !important;
}


/* Fix homepage CTA text color */
.home .zg-cta,
.home .zg-cta h2,
.home .zg-cta p {
    color: #ffffff !important;
}

.home .zg-cta .zg-btn-primary {
    background: #ffffff !important;
    color: #0A3A8D !important;
}


/* Restore footer grid layout */
.zg-footer-inner {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 40px !important;
}


/* Remove unwanted top padding on first section of all main pages */
body:not(.home) .entry-content > .zgfp-section:first-of-type {
    padding-top: 0 !important;
    margin-top: 0 !important;
}


/* Remove WP default top spacing */
body:not(.home) .entry-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Restore left alignment for all main page content */
body:not(.home) .entry-content,
body:not(.home) .entry-content p,
body:not(.home) .entry-content h1,
body:not(.home) .entry-content h2,
body:not(.home) .entry-content h3,
body:not(.home) .entry-content ul,
body:not(.home) .entry-content li {
    text-align: left !important;
}


/* ============================================================
   ZIMGerm Global Typography System
   ============================================================ */

/* H1 — Page Titles / Hero Titles */
h1, .zg-heading-xl {
    font-family: var(--zg-font-heading, "Inter", sans-serif);
    font-size: 44px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.5px;
    color: #ffff;
    margin-bottom: 24px;
}

/* H2 — Section Titles */
h2, .zg-heading-l {
    font-family: var(--zg-font-heading, "Inter", sans-serif);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.3px;
    color: #0A0A0A;
    margin-bottom: 20px;
}

/* H3 — Subsection Titles */
h3, .zg-heading-m {
    font-family: var(--zg-font-heading, "Inter", sans-serif);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.35;
    color: #111;
    margin-bottom: 16px;
}

/* H4 — Minor Headings */
h4, .zg-heading-s {
    font-family: var(--zg-font-heading, "Inter", sans-serif);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: #222;
    margin-bottom: 12px;
}

/* Body L */
.zg-body-l, p.zg-body-l {
    font-size: 18px;
    line-height: 1.65;
    color: #fff;
    margin-bottom: 20px;
}

/* Body M (default paragraphs) */
body, p, .zg-body-m {
    font-size: 16px;
    line-height: 1.65;
    color: #333;
    margin-bottom: 18px;
}

/* Body S */
.zg-body-s {
    font-size: 14px;
    line-height: 1.55;
    color: #555;
}


/* ============================================================
   ZIMGerm Global Spacing Rhythm System
   ============================================================ */

/* Section spacing */
.zg-section,
section,
.wp-block-group {
    padding-top: 18px;
    padding-bottom: 80px;
}

/* Tighter spacing for small sections */
.zg-section-small {
    padding-top: 48px;
    padding-bottom: 48px;
}

/* Headings spacing */
h1, .zg-heading-xl {
    margin-bottom: 24px;
}

h2, .zg-heading-l {
    margin-bottom: 20px;
}

h3, .zg-heading-m {
    margin-bottom: 16px;
}

h4, .zg-heading-s {
    margin-bottom: 12px;
}

/* Paragraph spacing */
p,
.zg-body-m,
.zg-body-l {
    margin-bottom: 18px;
}

/* Lists */
ul, ol {
    margin-bottom: 24px;
    padding-left: 24px;
}

/* Cards */
.zg-card {
    padding: 32px;
    border-radius: 12px;
    margin-bottom: 32px;
}

/* CTA blocks */
.zg-cta {
    padding: 60px 40px;
    border-radius: 16px;
    margin-top: 80px;
    margin-bottom: 80px;
}

/* Footer spacing */
footer {
    padding-top: 80px;
    padding-bottom: 80px;
}


/* ============================================================
   ZIMGerm Global Layout & Container System
   ============================================================ */


/* Main container */
.zg-container,
.wp-block-group__inner-container,
.entry-content {
    width: 100%;
    max-width: var(--zg-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

/* Narrow container (for sector pages, analytical content, long text) */
.zg-container-narrow {
    max-width: var(--zg-max-width-narrow);
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px;
}

/* Tight container (for deep reading sections) */
.zg-container-tight {
    max-width: var(--zg-max-width-tight);
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* Full-width sections (hero, banners, CTA backgrounds) */
.zg-fullwidth {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}


/* ============================================================
   ZIMGerm Typography — Refined Heading Scale
   ============================================================ */

/* H1 — Page Titles / Hero Titles */
h1, .zg-heading-xl {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.6px;
    margin-bottom: 28px;
}

/* H2 — Section Titles */
h2, .zg-heading-l {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.3px;
    margin-bottom: 24px;
}

/* H3 — Subsection Titles */
h3,
.zg-heading-m {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 20px;
}

/* H4 — Minor Headings */
h4, .zg-heading-s {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 16px;
}


/* Body text refinement */
body, p, .zg-body-m {
    font-size: 17px;
    line-height: 1.65;
    letter-spacing: -0.1px;
    margin-bottom: 20px;
}

.zg-body-l {
    font-size: 19px;
    line-height: 1.7;
    letter-spacing: -0.15px;
    margin-bottom: 24px;
}

.zg-body-s {
    font-size: 14px;
    line-height: 1.55;
    color: #555;
}


/* Global text smoothing */
body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


/* ============================================================
   ZIMGerm Footer Layout
   ============================================================ */

footer .zg-container,
footer .wp-block-group__inner-container {
    max-width: var(--zg-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}


/* Footer typography */
footer {
    background: #0A0A0A;
    color: #FFFFFF;
    padding-top: 80px;
    padding-bottom: 80px;
}

footer h2, footer h3, footer h4 {
    color: #FFFFFF;
    margin-bottom: 16px;
}

footer p, footer li, footer a {
    color: #CCCCCC;
    font-size: 15px;
    line-height: 1.6;
}

footer a:hover {
    color: #FFFFFF;
}

/* Footer lists */
footer ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 24px;
}


/* ============================================================
   ZIMGerm Bottom CTA
   ============================================================ */

.zg-bottom-cta {
    background: #111111;
    color: #FFFFFF;
    padding: 80px 40px;
    text-align: center;
    border-radius: 16px;
    margin-top: 120px;
    margin-bottom: 120px;
}

.zg-bottom-cta h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #FFFFFF;
}

.zg-bottom-cta p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 32px;
    color: #DDDDDD;
}

.zg-bottom-cta .zg-button {
    background: #FFFFFF;
    color: #111111;
    padding: 16px 32px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-block;
}

.zg-bottom-cta .zg-button:hover {
    background: #EDE4D3;
    color: #111111;
}


/* ============================================================
   ZIMGerm CTA — Dark Section
   ============================================================ */

.zg-section-dark {
    background: #0F1A2B
;
    color: #FFFFFF;
    padding: 100px 0;
    text-align: center;
    border-radius: 16px;
    margin-top: 120px;
    margin-bottom: 120px;
}

.zg-section-dark h2 {
    color: #FFFFFF;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 20px;
}

.zg-section-dark p {
    color: #DDDDDD;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 32px;
}

.zg-section-dark .zg-btn-primary {
    background: #FFFFFF;
    color: #111111;
    padding: 16px 32px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-block;
}

.zg-section-dark .zg-btn-primary:hover {
    background: #EDE4D3;
    color: #111111;
}


/* ============================================================
   ZIMGerm Footer — Premium Sovereign Style
   ============================================================ */

.zg-footer {
    background: #0C0C0C;
    color: #FFFFFF;
    padding-top: 80px;
    padding-bottom: 80px;
    margin-top: 120px;
}

.zg-footer .zg-container {
    max-width: var(--zg-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

/* Footer menu */
.zg-footer-menu {
    list-style: none;
    padding-left: 0;
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.zg-footer-menu li a {
    color: #CCCCCC;
    font-size: 15px;
    text-decoration: none;
}

.zg-footer-menu li a:hover {
    color: #FFFFFF;
}

/* Footer copyright */
.zg-footer-copy {
    color: #888888;
    font-size: 14px;
    margin-top: 0px;
    text-align: center;
}


.zg-footer {
    border-top: 1px solid rgba(255,255,255,0.08);
}


.zg-section-dark {
    margin-top: 120px;
    margin-bottom: 60px; /* reduced from 120px */
}


.zg-footer {
    margin-top: 0; /* remove the extra gap */
}


.zg-section-dark {
    margin-bottom: 60px;
}

.zg-footer {
    margin-top: 0;
}


/* Remove unwanted bottom padding from content wrapper */
.entry-content,
.site-content,
.wp-block-group {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Remove Gutenberg block gap above CTA */
.wp-block-group {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


.zg-section-dark {
    margin-top: 40px !important; /* controlled spacing */
}


.entry-content > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


.zg-section + .zg-section-dark {
    margin-top: -40px !important;
}


.zg-footer-copy {
    color: #C6A667; /* Sovereign Gold */
}


/* ============================================================
   ZIMGerm CTA — Boxed Premium Style
   ============================================================ */

.zg-section-dark {
    background: #2A2F36; /* Precision Slate */
    color: #FAF8F4; /* Clean Ivory */
    padding: 80px 40px;
    border-radius: 16px;
    margin-top: 60px;
    margin-bottom: 60px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    position: relative;
    overflow: hidden;
}

/* Optional subtle top border accent */
.zg-section-dark::before {
       position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 4px;
    background: #C6A667; /* Sovereign Gold */
    border-radius: 2px;
}

/* Typography inside CTA */
.zg-section-dark h2 {
    color: #FAF8F4;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 20px;
}

.zg-section-dark p {
    color: #EDE4D3;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 32px;
}

/* CTA Button */
.zg-section-dark .zg-btn-primary {
    background: #C6A667; /* Sovereign Gold */
    color: #0F1A2B; /* Midnight Engineering Blue */
    padding: 16px 32px;
    border-radius: 8px;
}

/* ============================================================
   ZIMGerm Sector Hero — Base
   ============================================================ */

.zg-hero-sector {
    position: relative;
    padding: 140px 40px;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 60px;
    color: #FAF8F4; /* Clean Ivory */
}

.zg-hero-sector .zg-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 26, 43, 0.55); /* Midnight Engineering Blue overlay */
    z-index: 1;
}

.zg-hero-sector .zg-container {
    position: relative;
    z-index: 2;
}

/* Tourism-specific hero image */
.zg-hero-tourism {
    background-image: url('https://design.zimgerm.de/wp-content/uploads/2026/01/vic3.avif');
    background-size: cover;
    background-position: center;
}




.zg-section-image-bg {
    background-image: url('https://design.zimgerm.de/wp-content/uploads/2026/01/vic3.avif');
    background-size: cover;
    background-position: center;
    padding: 120px 40px;
    border-radius: 16px;
    color: #FAF8F4;
    position: relative;
}

.zg-section-image-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(15, 26, 43, 0.55); /* Midnight Engineering Blue overlay */
    border-radius: 16px;
}

.zg-section-image-bg .zg-container {
    position: relative;
    z-index: 2;
}

.zg-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}



/* 2-column layout */
.zg-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

/* Prevent text from sticking to the top-left corner */
.zg-sector-text {
    padding-top: 12px;
}

/* Control image size */
.zg-sector-image-wrap {
    display: flex;
    justify-content: flex-end;
}

.zg-sector-image {
    width: 100%;
    max-width: 480px; /* prevents “house-sized” image */
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    object-fit: cover;
}


/* 1. Kill unwanted Gutenberg padding around custom grids */
.wp-block-group > .zg-grid-2,
.wp-block-group > .zg-sector-split {
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. Prevent Gutenberg from adding block-gap between columns */
.wp-block-group .zg-grid-2 {
    gap: 40px !important;
}

/* 3. Fix text alignment so it no longer sticks to the top-left */
.zg-sector-text {
    padding-top: 20px;
}


/* Balanced 2-column sector layout */
.zg-sector-split {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr; /* slight bias to text */
    gap: 48px;
    align-items: center; /* aligns text + image on a shared baseline */
    margin: 0 auto;
    max-width: 1200px; /* keeps the whole block visually unified */
}

/* Text column */
.zg-sector-text {
    padding: 20px 0; /* prevents “falling off the top-left” */
}

/* Image column */
.zg-sector-media {
    display: flex;
    justify-content: center; /* centers image within its column */
}

/* Image sizing */
.zg-sector-image {
    width: 100%;
    max-width: 460px; /* prevents “house-sized” image */
    border-radius: 12px;
    object-fit: cover;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}


.zg-sector-split {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}


.zg-sector-text {
    padding-top: 12px;
}


.zg-sector-media {
    display: flex;
    justify-content: center;
}


.zg-sector-image {
    width: 100%;
    max-width: 440px;
    border-radius: 10px; /* softened corners */
    object-fit: cover;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}


/* Compact version for deeper sections */
.zg-sector-split--compact .zg-sector-image {
    max-width: 360px;
    max-height: 260px;
    border-radius: 8px;
}


/* Reverse layout */
.zg-sector-split--reverse {
    grid-template-columns: 0.9fr 1.1fr;
}

.zg-sector-split--reverse .zg-sector-text {
    order: 2;
}

.zg-sector-split--reverse .zg-sector-media {
    order: 1;
}


.zg-opportunities-strip {
    display: flex;
    gap: 16px;
    margin-bottom: 40px;
}

.zg-opportunities-strip img {
    flex: 1;
    height: 180px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}


.zg-section-opportunities {
    background: #FAF8F4;
    padding: 80px 40px;
    border-radius: 16px;
}


/* Emotional Rhythm Backgrounds */
.zg-bg-ivory {
    background: #FAF8F4;
    padding: 80px 40px;
    border-radius: 16px;
}

.zg-bg-slate {
    background: #2A2F36;
    padding: 80px 40px;
    border-radius: 16px;
    color: #FAF8F4;
}

.zg-bg-midnight {
    background: #0F1A2B;
    padding: 80px 40px;
    border-radius: 16px;
    color: #FAF8F4;
}

.zg-bg-umber {
    background: #7A4E2D;
    padding: 80px 40px;
    border-radius: 16px;
    color: #FAF8F4;
}

/* Optional gold accent top border */
.zg-bg-accent {
    position: relative;
}

.zg-bg-accent::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 4px;
    background: #C6A667;
    border-radius: 2px;
}


/* Boxed CTA */
.zg-cta-boxed {
    background: #2A2F36; /* Precision Slate */
    color: #FAF8F4;
    padding: 80px 40px;
    border-radius: 16px;
    margin: 80px auto 40px; /* removes footer gap */
    max-width: 1200px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
    position: relative;
}




/* Sector hero text stacking */
.zg-hero-sector .zg-container {
    max-width: 760px; /* same as homepage hero */
}

.zg-hero-sector h1 {
    line-height: 1.15;
    margin-bottom: 20px;
}

.zg-hero-sector p {
    max-width: 620px;
    line-height: 1.5;
}


/* CTA text color fix */
.zg-cta-boxed,
.zg-cta-boxed h2,
.zg-cta-boxed p {
    color: #FAF8F4 !important; /* Clean Ivory */
}

/* CTA button fix */
.zg-cta-boxed .zg-btn-primary {
    background: #C6A667 !important; /* Sovereign Gold */
    color: #0F1A2B !important; /* Midnight Engineering Blue */
    padding: 16px 32px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-block;
    transition: 0.2s ease;
}

.zg-cta-boxed .zg-btn-primary:hover {
    background: #7A4E2D !important; /* Earth Umber */
    color: #FAF8F4 !important;
}


.zg-bg-midnight {
    background: #152235; /* lighter navy */
}

.zg-bg-slate {
    background: #3A424D; /* lighter slate */
}

.zg-bg-umber {
    background: #9A6A45; /* lighter warm brown */
}


.zg-hero-sector .zg-container {
    max-width: 760px;
}

.zg-hero-sector h1 {
    line-height: 1.15;
    margin-bottom: 20px;
}

.zg-hero-sector p {
    max-width: 620px;
    line-height: 1.5;
}


/* Make all sector heroes fullwidth */
.zg-hero-sector {
    width: 100%;
    border-radius: 0; /* remove rounded corners for fullwidth */
    padding: 160px 40px;
    margin-bottom: 60px;
    position: relative;
    overflow: hidden;
}


/* --- CTA QUICK FIX --- */
.zg-cta-boxed {
    background: #2A2F36; /* Slate */
    padding: 80px 40px;
    border-radius: 16px;
    max-width: 1200px;
    margin: 80px auto 0;
    text-align: left; /* left aligned as requested */
}

.zg-cta-boxed h2,
.zg-cta-boxed p {
    color: #FAF8F4 !important; /* clean ivory */
}

.zg-cta-boxed .zg-btn-primary {
    background: #C6A667 !important; /* gold */
    color: #0F1A2B !important; /* midnight */
    padding: 16px 32px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-block;
}

.zg-cta-boxed .zg-btn-primary:hover {
    background: #7A4E2D !important; /* umber */
    color: #FAF8F4 !important;
}


/* Make inline hero image behave like a background */
.zg-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}


/* Inline hero image behaves like a background */
.zg-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}


.zg-hero-sector {
    position: relative;
    width: 100%;
    padding: 160px 40px;
    overflow: hidden;
    margin-bottom: 60px;
    color: #FAF8F4;
}

.zg-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 26, 43, 0.55);
    z-index: 1;
}

.zg-hero-sector .zg-container {
    position: relative;
    z-index: 2;
    max-width: 760px;
}


.zg-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}


/* Emotional Rhythm Backgrounds */
.zg-bg-ivory {
    background: #FAF8F4;
    padding: 80px 40px;
    border-radius: 16px;
}

.zg-bg-slate {
    background: #2A2F36;
    padding: 80px 40px;
    border-radius: 16px;
    color: #FAF8F4;
}

.zg-bg-midnight {
    background: #0F1A2B;
    padding: 80px 40px;
    border-radius: 16px;
    color: #FAF8F4;
}

.zg-bg-umber {
    background: #7A4E2D;
    padding: 80px 40px;
    border-radius: 16px;
    color: #FAF8F4;
}




.zg-cta-boxed {
    margin-bottom: 0 !important;
}



/* Remove top/bottom gaps between sections */
.zg-section {
    padding: 80px 0;
    margin: 0;
}


/* Lighter Midnight (deep navy, not black) */
.zg-bg-midnight {
    background: #152235; /* lighter than #0F1A2B */
    color: #FAF8F4;
    padding: 80px 0;
}

/* Lighter Slate (cool, modern, not heavy) */
.zg-bg-slate {
    background: #3A424D; /* lighter than #2A2F36 */
    color: #FAF8F4;
    padding: 80px 0;
}

/* Lighter Umber (warm, grounded, not muddy) */
.zg-bg-umber {
    background: #9A6A45; /* lighter than #7A4E2D */
    color: #FAF8F4;
    padding: 80px 0;
}

/* Ivory stays the same */
.zg-bg-ivory {
    background: #FAF8F4;
    padding: 80px 0;
}





.zg-cta-boxed .zg-btn-primary {
    background: #C6A667;
    color: #0F1A2B;
    padding: 16px 32px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-block;
    transition: 0.2s ease;
}

.zg-cta-boxed .zg-btn-primary:hover {
    background: #A8844F;
    color: #FAF8F4;
}


.page-id-3128 .zg-bg-midnight h1,
.page-id-3128 .zg-bg-midnight h2,
.page-id-3128 .zg-bg-slate h1,
.page-id-3128 .zg-bg-slate h2,
.page-id-3128 .zg-bg-umber h1,
.page-id-3128 .zg-bg-umber h2 {
    color: #FAF8F4 !important;
}

/* Make headings readable on dark backgrounds */
.zg-bg-midnight h2,
.zg-bg-midnight h3,
.zg-bg-slate h2,
.zg-bg-slate h3,
.zg-bg-umber h2,
.zg-bg-umber h3 {
    color: #FAF8F4 !important;
}


/* CTA two-column layout */
.zg-cta-boxed .zg-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

/* CTA text column */
.zg-cta-boxed .zg-cta-text {
    flex: 1;
}

/* CTA image column */
.zg-cta-boxed .zg-cta-image {
    flex: 1;
    text-align: right;
}

.zg-cta-boxed .zg-cta-image img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Mobile fallback */
@media (max-width: 768px) {
    .zg-cta-boxed .zg-cta-inner {
        flex-direction: column;
        text-align: center;
    }

    .zg-cta-boxed .zg-cta-image {
        text-align: center;
    }
}


.zg-opportunity-card {
    background: #FAF8F4;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.zg-opportunity-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

.zg-op-card-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 16px;
}


/* Compact card images */
.zg-card img {
    height: 160px;          /* reduced from full height */
    object-fit: cover;      /* keeps image clean and cropped */
    border-radius: 8px;     /* subtle polish */
    margin-bottom: 16px;    /* tighter spacing */
}


/* Compact card spacing */
.zg-card {
    padding: 20px;          /* reduced from 30–40px */
    gap: 12px;              /* tighter spacing between elements */
}


/* Improve card body text */
.zg-card .zg-body {
    font-size: 17px;        /* up from 15–16px */
    line-height: 1.55;
    color: #2A2F36;         /* strong readable slate */
}


/* -------------------------------------- */
/* MINING PAGE — Emotional Rhythm System  */
/* -------------------------------------- */
.page-id-14 .zg-bg-midnight {
    background: #152235 !important; /* lighter navy */
    color: #FAF8F4 !important;
}

.page-id-14 .zg-bg-slate {
    background: #3A424D !important; /* lighter slate */
    color: #FAF8F4 !important;
}

.page-id-14 .zg-bg-umber {
    background: #9A6A45 !important; /* lighter warm brown */
    color: #FAF8F4 !important;
}

.page-id-14 .zg-bg-ivory {
    background: #FAF8F4 !important;
    color: #0F1A2B !important;
}

/* Fix headings on dark backgrounds */
.page-id-14 .zg-bg-midnight h1,
.page-id-14 .zg-bg-midnight h2,
.page-id-14 .zg-bg-slate h1,
.page-id-14 .zg-bg-slate h2,
.page-id-14 .zg-bg-umber h1,
.page-id-14 .zg-bg-umber h2 {
    color: #FAF8F4 !important;
}


/* Mining — Card Refinements */
.page-id-14 .zg-card img {
    height: 160px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 16px;
}

.page-id-14 .zg-card {
    padding: 20px;
    gap: 12px;
}

.page-id-14 .zg-card .zg-body {
    font-size: 17px;
    line-height: 1.55;
    color: #2A2F36;
}

.page-id-14 .zg-card h3,
.page-id-14 .zg-card .zg-heading-s {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}


/* Mining page — fix text color on Midnight section */
.page-id-14 .zg-bg-midnight,
.page-id-14 .zg-bg-midnight h1,
.page-id-14 .zg-bg-midnight h2,
.page-id-14 .zg-bg-midnight h3,
.page-id-14 .zg-bg-midnight p,
.page-id-14 .zg-bg-midnight li {
    color: #FAF8F4 !important;
}


/* Mining page — center text in the Support section */
.page-id-14 .zg-bg-midnight .zg-container {
    text-align: center;
}


.page-id-14 .zg-bg-midnight .zg-container {
    max-width: 800px;
    margin: 0 auto;
}


/* Mining page — remove space between hero and first section */
.page-id-14 .zg-hero-sector {
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
}

.page-id-14 .zg-section:first-of-type {
    margin-top: 0 !important;
    padding-top: 40px !important; /* keeps breathing room but removes big gap */
}


/* Mining page — two-column layout for Sector Overview */
.page-id-14 .mining-overview .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

/* Left column (text) */
.page-id-14 .mining-overview .col-left {
    flex: 1;
}

/* Right column (image) */
.page-id-14 .mining-overview .col-right {
    flex: 1;
    text-align: right;
}

.page-id-14 .mining-overview .col-right img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Midnight text color fix */
.page-id-14 .mining-overview.zg-bg-midnight,
.page-id-14 .mining-overview.zg-bg-midnight h2,
.page-id-14 .mining-overview.zg-bg-midnight p {
    color: #FAF8F4 !important;
}

/* Mobile layout */
@media (max-width: 768px) {
    .page-id-14 .mining-overview .two-col {
        flex-direction: column;
        text-align: center;
    }

    .page-id-14 .mining-overview .col-right {
        text-align: center;
    }
}


/* Mining page — restore left alignment for Sector Overview */
.page-id-14 .mining-overview .zg-container,
.page-id-14 .mining-overview .col-left {
    text-align: left !important;
}


/* Mining page — restore full width for Sector Overview */
.page-id-14 .mining-overview .zg-container {
    max-width: 1200px !important;
    text-align: left !important;
}


/* Mining page — two-column layout for "How Zimgerm Supports Investors" */
.page-id-14 .mining-support .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

/* Left column (text) */
.page-id-14 .mining-support .col-left {
    flex: 1.2;
    text-align: left !important;
}

/* Right column (image) */
.page-id-14 .mining-support .col-right {
    flex: 0.8;
    text-align: right;
}

.page-id-14 .mining-support .col-right img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Midnight text color fix */
.page-id-14 .mining-support.zg-bg-midnight,
.page-id-14 .mining-support.zg-bg-midnight h2,
.page-id-14 .mining-support.zg-bg-midnight p {
    color: #FAF8F4 !important;
}

/* Mobile layout */
@media (max-width: 768px) {
    .page-id-14 .mining-support .two-col {
        flex-direction: column;
        text-align: center;
    }

    .page-id-14 .mining-support .col-right {
        text-align: center;
    }
}


/* Mining page — restore full width for Sector Overview */
.page-id-14 .mining-overview .zg-container {
    max-width: 1200px !important;
    text-align: left !important;
}


/* Mining page — restore full width for How Zimgerm Supports Investors */
.page-id-14 .mining-support .zg-container {
    max-width: 1200px !important;
    text-align: left !important;
}


/* UNIVERSAL — Two-column layout for Zimgerm Support block */
.zg-support-block .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.zg-support-block .col-left {
    flex: 1.2;
    text-align: left;
}

.zg-support-block .col-right {
    flex: 0.8;
    text-align: right;
}

.zg-support-block .col-right img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Midnight text color fix */
.zg-support-block.zg-bg-midnight,
.zg-support-block.zg-bg-midnight h2,
.zg-support-block.zg-bg-midnight p {
    color: #FAF8F4 !important;
}

/* Mobile layout */
@media (max-width: 768px) {
    .zg-support-block .two-col {
        flex-direction: column;
        text-align: center;
    }

    .zg-support-block .col-right {
        text-align: center;
    }
}


/* Infrastructure page — correct text color for Midnight background in Support section */
.page-id-118 .infrastructure-support.zg-bg-midnight,
.page-id-118 .infrastructure-support.zg-bg-midnight h2,
.page-id-118 .infrastructure-support.zg-bg-midnight p {
    color: #FAF8F4 !important;
}


/* Infrastructure page — two-column layout for Support section */
.page-id-118 .infrastructure-support .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.page-id-118 .infrastructure-support .col-left {
    flex: 1.2;
    text-align: left;
}

.page-id-118 .infrastructure-support .col-right {
    flex: 0.8;
    text-align: right;
}

.page-id-118 .infrastructure-support .col-right img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}


/* Infrastructure page — two-column layout for Sector Overview */
.page-id-118 .infrastructure-overview .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

/* Image column */
.page-id-118 .infrastructure-overview .col-left {
    flex: 0.8;
}

.page-id-118 .infrastructure-overview .col-left img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Text column */
.page-id-118 .infrastructure-overview .col-right {
    flex: 1.2;
    text-align: left;
}

/* Mobile */
@media (max-width: 768px) {
    .page-id-118 .infrastructure-overview .two-col {
        flex-direction: column;
        text-align: center;
    }
}


/* Infrastructure page — refined spacing + sizing for Sector Overview */
.page-id-118 .infrastructure-overview .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px; /* more breathing room */
    padding-top: 40px;
    padding-bottom: 40px;
}

/* IMAGE COLUMN — slightly smaller so text dominates */
.page-id-118 .infrastructure-overview .col-left {
    flex: 0.9; /* was 0.8 — gives image a bit more presence */
}

.page-id-118 .infrastructure-overview .col-left img {
    width: 100%;
    max-width: 480px; /* prevents oversized images */
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* TEXT COLUMN — wider, more readable */
.page-id-118 .infrastructure-overview .col-right {
    flex: 1.3; /* was 1.2 — gives text more breathing room */
    text-align: left;
    max-width: 650px; /* prevents overly long lines */
}

/* Improve paragraph spacing */
.page-id-118 .infrastructure-overview .col-right p {
    margin-bottom: 18px;
}

/* Mobile layout */
@media (max-width: 768px) {
    .page-id-118 .infrastructure-overview .two-col {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .page-id-118 .infrastructure-overview .col-right {
        max-width: 100%;
    }
}



/* Energy page — refined two-column layout for Sector Overview */
.page-id-11 .energy-overview .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px; /* premium breathing room */
    padding-top: 40px;
    padding-bottom: 40px;
}

/* TEXT COLUMN */
.page-id-11 .energy-overview .col-left {
    flex: 1.3; /* text gets more space */
    text-align: left;
    max-width: 650px; /* perfect editorial line length */
}

.page-id-11 .energy-overview .col-left p {
    margin-bottom: 18px;
}

/* IMAGE COLUMN */
.page-id-11 .energy-overview .col-right {
    flex: 0.9; /* image slightly smaller than text */
    text-align: right;
}

.page-id-11 .energy-overview .col-right img {
    width: 100%;
    max-width: 480px; /* prevents oversized images */
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Mobile */
@media (max-width: 768px) {
    .page-id-11 .energy-overview .two-col {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .page-id-11 .energy-overview .col-right {
        text-align: center;
    }

    .page-id-11 .energy-overview .col-left,
    .page-id-11 .energy-overview .col-right {
        max-width: 100%;
    }
}


/* Energy page — bigger image for Sector Overview */
.page-id-11 .energy-overview .col-right img {
    width: 100%;
    max-width: 600px; /* increased from 480px */
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Rebalance columns */
.page-id-11 .energy-overview .col-left {
    flex: 1.1; /* text slightly smaller */
}

.page-id-11 .energy-overview .col-right {
    flex: 1.1; /* image slightly larger */
}


/* Energy page — horizontal image strip */
.page-id-11 .energy-strip {
    display: flex;
    gap: 12px;
    margin-bottom: 40px;
}

.page-id-11 .energy-strip img {
    width: 33.33%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
}


/* ENERGY PAGE — SECTION COLOR RHYTHM */

/* Sector Overview */
.page-id-11 .energy-overview {
    background-color: #FAF8F4;
}

/* Why Invest in Energy */
.page-id-11 .energy-why {
    background-color: #FFFFFF;
}

/* High-Potential Opportunities */
.page-id-11 .energy-opportunities {
    background-color: #F1F0EC;
}

/* Risks & Mitigations */
.page-id-11 .energy-risks {
    background-color: #FFFFFF;
}

/* How Zimgerm Supports Investors */
.page-id-11 .energy-support {
    background-color: #0A0A0C;
    color: #FAF8F4 !important;
}


.page-id-11 .energy-overview .col-right img {
    max-width: 640px; /* bigger, more presence */
}


/* ENERGY PAGE — FORCE LIGHT TEXT ON MIDNIGHT SUPPORT SECTION */
.page-id-11 .energy-support,
.page-id-11 .energy-support * {
    color: #FAF8F4 !important;
}


.page-id-11 .energy-support a {
    color: #E6E2DA !important;
}


/* ENERGY PAGE — How Zimgerm Supports Investors (image on the RIGHT) */
.page-id-11 .energy-support .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

/* TEXT LEFT */
.page-id-11 .energy-support .col-left {
    flex: 1.3;
    text-align: left;
    max-width: 650px;
}

/* IMAGE RIGHT */
.page-id-11 .energy-support .col-right {
    flex: 1.1;
    text-align: right;
}

.page-id-11 .energy-support .col-right img {
    width: 100%;
    max-width: 600px; /* premium size */
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Midnight text color fix */
.page-id-11 .energy-support,
.page-id-11 .energy-support * {
    color: #FAF8F4 !important;
}

/* Mobile layout */
@media (max-width: 768px) {
    .page-id-11 .energy-support .two-col {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .page-id-11 .energy-support .col-right {
        text-align: center;
    }
}


/* ENERGY PAGE — text column should be left-aligned */
.page-id-11 .energy-support .col-right {
    flex: 1.3;
    text-align: left !important;   /* FIX: text aligns naturally */
    max-width: 620px;              /* FIX: prevents hard right wall */
}


/* ENERGY PAGE — remove golden divider under bottom CTA */
.page-id-11 .zg-cta,
.page-id-11 .zg-cta:after,
.page-id-11 .zg-cta:before,
.page-id-11 .energy-cta,
.page-id-11 .energy-cta:after,
.page-id-11 .energy-cta:before {
    border: none !important;
    box-shadow: none !important;
}


/* ENERGY PAGE — center CTA content */
.page-id-11 .zg-cta,
.page-id-11 .energy-cta {
    text-align: center !important;
}

.page-id-11 .zg-cta .wp-block-group__inner-container,
.page-id-11 .energy-cta .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


/* AGRICULTURE PAGE — section color rhythm */
.page-id-8 .agri-overview {
    background-color: #FAF8F4;
}


/* AGRICULTURE PAGE — two-column layout for Sector Overview */
.page-id-8 .agri-overview .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding-top: 40px;
    padding-bottom: 40px;
}

/* TEXT COLUMN */
.page-id-8 .agri-overview .col-left {
    flex: 1.3;
    text-align: left !important;
    max-width: 620px; /* editorial width */
}

/* IMAGE COLUMN */
.page-id-8 .agri-overview .col-right {
    flex: 1.1;
    text-align: right;
}

.page-id-8 .agri-overview .col-right img {
    width: 100%;
    max-width: 600px;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Mobile */
@media (max-width: 768px) {
    .page-id-8 .agri-overview .two-col {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .page-id-8 .agri-overview .col-right {
        text-align: center;
    }
}


/* AGRICULTURE PAGE — section color rhythm */
.page-id-8 .agri-overview { background-color: #FAF8F4; }
.page-id-8 .agri-why { background-color: #FFFFFF; }
.page-id-8 .agri-opportunities { background-color: #F1F0EC; }
.page-id-8 .agri-risks { background-color: #FFFFFF; }
.page-id-8 .agri-support { background-color: #0A0A0C; color: #FAF8F4 !important; }


/* AGRICULTURE PAGE — Why Invest icons */
.page-id-8 .agri-why-icons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.page-id-8 .agri-why-icons .icon-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.page-id-8 .agri-why-icons img {
    width: 36px;
    height: 36px;
}


/* AGRICULTURE PAGE — horizontal image strip */
.page-id-8 .agri-strip {
    display: flex;
    gap: 12px;
    margin-bottom: 40px;
}

.page-id-8 .agri-strip img {
    width: 33.33%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
}


/* AGRICULTURE PAGE — Risks two-column layout */
.page-id-8 .agri-risks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
    margin-top: 30px;
}

.page-id-8 .agri-risks-grid h3 {
    margin-bottom: 8px;
}


/* AGRICULTURE PAGE — Support section layout */
.page-id-8 .agri-support .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.page-id-8 .agri-support .col-left img {
    width: 100%;
    max-width: 600px;
    border-radius: 12px;
    object-fit: cover;
}

.page-id-8 .agri-support .col-right {
    flex: 1.3;
    text-align: left !important;
    max-width: 620px;
}

/* Midnight text fix */
.page-id-8 .agri-support,
.page-id-8 .agri-support * {
    color: #FAF8F4 !important;
}


/* TOURISM PAGE — center the entire CTA container */
.page-id-10 .zg-cta-boxed {
    display: flex;
    justify-content: center;
}

.page-id-10 .zg-cta-boxed .zg-container {
    text-align: center;
    max-width: 720px; /* premium editorial width */
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* TOURISM PAGE — center the entire CTA block */
.page-id-10 .zg-cta-boxed {
    display: flex;
    justify-content: center;   /* centers the container horizontally */
}

.page-id-10 .zg-cta-boxed .zg-container {
    max-width: 720px;          /* premium editorial width */
    margin: 0 auto;            /* ensures true centering */
    text-align: center;        /* centers text inside */
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* TOURISM PAGE — center the entire CTA block */
.page-id-6 .zg-cta-boxed {
    display: flex;
    justify-content: center;   /* centers the container horizontally */
}

.page-id-6 .zg-cta-boxed .zg-container {
    max-width: 720px;          /* premium editorial width */
    margin: 0 auto;            /* ensures true centering */
    text-align: center;        /* centers text inside */
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* TOURISM PAGE — center the entire CTA block */
.page-id-6 .zg-cta-boxed {
    display: flex;
    justify-content: center;   /* centers the container horizontally */
}

.page-id-6 .zg-cta-boxed .zg-container {
    max-width: 720px;          /* premium editorial width */
    margin: 0 auto;            /* ensures true centering */
    text-align: center;        /* centers text inside */
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* TOURISM PAGE — center CTA and give it proper body width */
.page-id-6 .zg-cta-boxed {
    display: flex;
    justify-content: center;      /* centers the container */
    padding-top: 60px;
    padding-bottom: 60px;
}

.page-id-6 .zg-cta-boxed .zg-container {
    width: 100%;
    max-width: 720px;             /* matches your body width */
    margin: 0 auto;               /* centers the container */
    text-align: center;           /* centers text */
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* TOURISM PAGE — clean centered CTA */
.page-id-6 .tourism-cta .zg-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}


.page-id-6 .tourism-cta {
    background-color: #FAF8F4;
}


.page-id-6 .tourism-cta {
    background-color: #0A0A0C;
}

.page-id-6 .tourism-cta * {
    color: #FAF8F4 !important;
}


.page-id-6 .tourism-cta * {
    color: #FAF8F4 !important;
}


/* MANUFACTURING — Why Invest icons */
.page-id-115 .manu-why-icons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.page-id-115 .manu-why-icons .icon-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.page-id-115 .manu-why-icons img {
    width: 36px;
    height: 36px;
}


.page-id-115 .manu-why {
    background-color: #FFFFFF;
}


/* MANUFACTURING — Opportunities section background */
.page-id-115 .manu-opportunities {
    background-color: #F1F0EC;
}

/* Horizontal image strip */
.page-id-115 .manu-strip {
    display: flex;
    gap: 12px;
    margin-bottom: 40px;
}

.page-id-115 .manu-strip img {
    width: 33.33%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
}

/* Opportunities grid */
.page-id-115 .manu-op-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 40px;
    margin-top: 20px;
}

.page-id-115 .manu-op-grid h3 {
    margin-bottom: 8px;
}


/* MANUFACTURING — Risks section background */
.page-id-115 .manu-risks {
    background-color: #FFFFFF;
}

/* Two-column grid */
.page-id-115 .manu-risks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
    margin-top: 30px;
}

.page-id-115 .manu-risks-grid h3 {
    margin-bottom: 8px;
}


/* MANUFACTURING — Support section background */
.page-id-115 .manu-support {
    background-color: #0A0A0C;
    color: #FAF8F4 !important;
    padding: 80px 0;
}

/* Two-column layout */
.page-id-115 .manu-support .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

/* Image column */
.page-id-115 .manu-support .col-left img {
    width: 100%;
    max-width: 600px;
    border-radius: 12px;
    object-fit: cover;
}

/* Text column */
.page-id-115 .manu-support .col-right {
    flex: 1.3;
    max-width: 620px;
}

/* Mobile */
@media (max-width: 768px) {
    .page-id-115 .manu-support .two-col {
        flex-direction: column;
        text-align: center;
    }
}


/* MANUFACTURING — enforce light text on midnight section */
.page-id-115 .manu-support,
.page-id-115 .manu-support * {
    color: #FAF8F4 !important;
}


.page-id-115 .manu-support h2,
.page-id-115 .manu-support h3 {
    color: #FFFFFF !important;
}


/* MANUFACTURING — Sector Overview two-column layout */
.page-id-115 .manu-overview .two-col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 60px 0;
}

.page-id-115 .manu-overview .col-left {
    flex: 1.3;
    max-width: 620px;
}

.page-id-115 .manu-overview .col-right img {
    width: 100%;
    max-width: 600px;
    border-radius: 12px;
    object-fit: cover;
}

/* Mobile */
@media (max-width: 768px) {
    .page-id-115 .manu-overview .two-col {
        flex-direction: column;
        text-align: center;
    }
}


.page-id-115 .manu-risks {
    background-color: #FAF8F4;
}


/* MANUFACTURING — slightly wider container for Opportunities */
.page-id-115 .manu-opportunities .zg-container {
    max-width: 1320px;
}


/* MANUFACTURING — adjust image height */
.page-id-115 .manu-strip img {
    height: 200px;
}


/* MANUFACTURING — Risk cards */
.page-id-115 .manu-risks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.page-id-115 .manu-risks-grid .risk-item {
    background: #FFFFFF;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    border: 1px solid #E8E6E2;
}

.page-id-115 .manu-risks-grid h3 {
    margin-bottom: 8px;
}


/* MANUFACTURING — Why Invest (premium list) */
.page-id-115 .manu-why-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 40px;
    margin-top: 30px;
}

.page-id-115 .manu-why-list .why-item h3 {
    font-size: 20px;
    margin-bottom: 8px;
    color: #1F2933;
}

.page-id-115 .manu-why-list .why-item p {
    margin: 0;
}


/* MANUFACTURING — Why Invest (card grid) */
.page-id-115 .manu-why {
    background-color: #FAF8F4; /* Ivory rhythm */
    padding: 80px 0;
}

.page-id-115 .manu-why-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.page-id-115 .manu-why-cards .why-card {
    background: #FFFFFF;
    padding: 24px;
    border-radius: 12px;
    border: 1px solid #E8E6E2;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

.page-id-115 .manu-why-cards .why-card h3 {
    margin-bottom: 8px;
    font-size: 20px;
    color: #1F2933;
}

.page-id-115 .manu-why-cards .why-card p {
    margin: 0;
}


/* MANUFACTURING — Why Invest (card grid) */
.page-id-115 .manu-why {
    background-color: #FAF8F4; /* Ivory rhythm */
    padding: 80px 0;
}

.page-id-115 .manu-why-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.page-id-115 .manu-why-cards .why-card {
    background: #FFFFFF;
    padding: 24px;
    border-radius: 12px;
    border: 1px solid #E8E6E2;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

.page-id-115 .manu-why-cards .why-card h3 {
    margin-bottom: 8px;
    font-size: 20px;
    color: #1F2933;
}

.page-id-115 .manu-why-cards .why-card p {
    margin: 0;
}


/* MANUFACTURING — Why Invest (premium gradient section) */
.page-id-115 .manu-why {
    background: linear-gradient(
        180deg,
        #FFFFFF 0%,
        #FAF8F4 100%
    );
    padding: 110px 0;
}

/* Wider, more premium grid */
.page-id-115 .manu-why-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 48px;
    margin-top: 48px;
}

/* Premium card styling */
.page-id-115 .manu-why-cards .why-card {
    background: #FFFFFF;
    padding: 36px;
    border-radius: 16px;
    border: 1px solid #E8E6E2;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Hover elevation */
.page-id-115 .manu-why-cards .why-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}

/* Typography */
.page-id-115 .manu-why-cards .why-card h3 {
    margin-bottom: 14px;
    font-size: 22px;
    font-weight: 600;
    color: #1F2933;
}

.page-id-115 .manu-why-cards .why-card p {
    margin: 0;
    line-height: 1.6;
    font-size: 17px;
}


/* Transparent header with subtle shade */
.zgfp-header {
    background: rgba(0, 0, 0, 0.06); /* barely visible */
    backdrop-filter: blur(8px) saturate(180%);
    -webkit-backdrop-filter: blur(8px) saturate(180%);
    transition: background 0.3s ease;
}

/* Optional: stronger shade on scroll */
.zgfp-header.scrolled {
    background: rgba(0, 0, 0, 0.12);
}


/* Transparent header with subtle shade */
.zgfp-header {
    background: rgba(0,0,0,0.06);
    backdrop-filter: blur(8px) saturate(180%);
    -webkit-backdrop-filter: blur(8px) saturate(180%);
    transition: background 0.3s ease;
}


/* HEADER — gold hover for nav links */
.zgfp-hdr-menu li a:hover {
    color: #C6A667;
}


/* HEADER — subtle glass effect */
.zgfp-header {
    background: rgba(0,0,0,0.06);
    backdrop-filter: blur(10px) saturate(180%);
    -webkit-backdrop-filter: blur(10px) saturate(180%);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    transition: background 0.3s ease, border-color 0.3s ease;
}

/* Stronger on scroll */
.zgfp-header.scrolled {
    background: rgba(0,0,0,0.12);
    border-color: rgba(255,255,255,0.15);
}


/* OPPORTUNITIES — heading left, text centered */
#opportunities h2.zgfp-heading-l {
    text-align: left !important;
}

#opportunities p.zgfp-body {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
}


/* OPPORTUNITIES — heading left, text centered */
.zgfp-section-light h2.zgfp-heading-l {
    text-align: center;
}

.zgfp-section-light p.zgfp-body {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}


/* ------------------------------------------------------ */
/* MINING — HIGH POTENTIAL SECTION (zgfp-header.css)      */
/* ------------------------------------------------------ */

#mining-high-potential {
    padding: 100px 0;
}

#mining-high-potential .zgfp-heading-l {
    text-align: center;
    margin-bottom: 20px;
}

#mining-high-potential .zgfp-body {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 40px auto;
}

/* Cards */
#mining-high-potential .zgfp-card {
    background: #FFFFFF;
    padding: 32px;
    border-radius: 14px;
    border: 1px solid #E8E6E2;
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#mining-high-potential .zgfp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}

/* Card titles */
#mining-high-potential .zgfp-card-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #1F2933;
}

/* Card text */
#mining-high-potential .zgfp-card-text {
    font-size: 17px;
    line-height: 1.55;
    color: #4A4F55;
    margin-bottom: 20px;
}

/* Gold ghost button */
#mining-high-potential .zgfp-btn-ghost-gold {
    display: inline-block;
    background: transparent;
    border: 1px solid #C6A667;
    color: #C6A667;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    transition: background 0.25s ease, border-color 0.25s ease;
}

#mining-high-potential .zgfp-btn-ghost-gold:hover {
    background: rgba(198,166,103,0.12);
    border-color: #C6A667;
    color: #C6A667;
}


/* ------------------------------------------------------ */
/* MINING — HIGH POTENTIAL SECTION (zgfp-header.css)      */
/* ------------------------------------------------------ */

#mining-high-potential {
    padding: 100px 0;
}

/* Ensure container centers content */
#mining-high-potential .zgfp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* 3‑column responsive grid */
#mining-high-potential .zgfp-grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
    margin-top: 40px;
}

/* Cards */
#mining-high-potential .zgfp-card {
    background: #FFFFFF;
    padding: 32px;
    border-radius: 14px;
    border: 1px solid #E8E6E2;
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#mining-high-potential .zgfp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}

/* Gold ghost button */
#mining-high-potential .zgfp-btn-ghost-gold {
    display: inline-block;
    background: transparent;
    border: 1px solid #C6A667;
    color: #C6A667;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    transition: background 0.25s ease, border-color 0.25s ease;
}

#mining-high-potential .zgfp-btn-ghost-gold:hover {
    background: rgba(198,166,103,0.12);
    border-color: #C6A667;
}


/* ------------------------------------------------------ */
/* MINING — RISK SECTION (zgfp-header.css)                */
/* ------------------------------------------------------ */

#mining-risk {
    padding: 120px 0;
    background: #1A1F24; /* sovereign dark */
    color: #FFFFFF;
}

/* Container */
#mining-risk .zgfp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Heading with gold accent */
#mining-risk .zgfp-heading-l {
    text-align: left;
    margin-bottom: 16px;
    position: relative;
}

#mining-risk .zgfp-heading-l::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 60px;
    height: 3px;
    background: #C6A667;
    border-radius: 2px;
}

/* Intro text */
#mining-risk .zgfp-body {
    max-width: 820px;
    margin: 0 0 50px 0;
    color: rgba(255,255,255,0.85);
}

/* Risk grid */
#mining-risk .zgfp-risk-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
}

/* Risk cards */
#mining-risk .zgfp-risk-card {
    background: #23282D;
    padding: 28px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#mining-risk .zgfp-risk-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.35);
}

/* Risk titles */
#mining-risk .zgfp-risk-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #C6A667; /* gold highlight */
}

/* Risk text */
#mining-risk .zgfp-risk-card p {
    color: rgba(255,255,255,0.85);
    line-height: 1.55;
}


/* ------------------------------------------------------ */
/* MINING — 3-STEP MITIGATION MODEL                       */
/* ------------------------------------------------------ */

#mining-mitigation {
    margin-top: 80px;
}

#mining-mitigation .zgfp-mitigation-heading {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 40px;
    color: #FFFFFF;
    position: relative;
}

#mining-mitigation .zgfp-mitigation-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 60px;
    height: 3px;
    background: #C6A667;
    border-radius: 2px;
}

.zgfp-mitigation-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 40px;
}

.zgfp-mitigation-step {
    background: #23282D;
    padding: 28px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.zgfp-mitigation-step:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.35);
}

.zgfp-step-number {
    font-size: 32px;
    font-weight: 700;
    color: #C6A667;
    display: block;
    margin-bottom: 12px;
}

.zgfp-mitigation-step h4 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #FFFFFF;
}

.zgfp-mitigation-step p {
    color: rgba(255,255,255,0.85);
    line-height: 1.55;
}

/* ------------------------------------------------------ */
/* MINING — RISK VS MITIGATION GRID                       */
/* ------------------------------------------------------ */

#mining-risk-grid {
    margin-top: 100px;
}

#mining-risk-grid .zgfp-risk-matrix-heading {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 40px;
    color: #FFFFFF;
    position: relative;
}

#mining-risk-grid .zgfp-risk-matrix-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 60px;
    height: 3px;
    background: #C6A667;
    border-radius: 2px;
}

.zgfp-risk-matrix-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
}

.zgfp-risk-col,
.zgfp-mitigation-col {
    background: #23282D;
    padding: 32px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

.zgfp-risk-col h4,
.zgfp-mitigation-col h4 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #C6A667;
}

.zgfp-risk-col ul,
.zgfp-mitigation-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.zgfp-risk-col li,
.zgfp-mitigation-col li {
    margin-bottom: 12px;
    color: rgba(255,255,255,0.85);
    line-height: 1.55;
}


/* Centered heading */
#mining-risk .zgfp-heading-l {
    text-align: center;
    margin-bottom: 20px;
    position: relative;
    color: #FFFFFF;
}

#mining-risk .zgfp-heading-l::after {
    content: none;
}


/* Centered intro text with brighter contrast */
#mining-risk .zgfp-body {
    max-width: 820px;
    margin: 0 auto 60px auto;
    text-align: center;
    color: rgba(255,255,255,0.92); /* brighter for readability */
}


/* Unify background tone for Support block */
#mining-support {
    background: #23282D; /* replaces blue-dark */
    padding: 100px 0;
    color: #FFFFFF;
}

/* Support cards */
#mining-support .zgfp-support-card {
    background: #1F2428; /* deeper sovereign tone */
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 32px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}


#mining-risk {
    background: linear-gradient(#1A1F24, #1A1F24);
}

.mining-support {
    background: #23282D; /* sovereign mid-dark */
    padding: 100px 0;
    color: #FFFFFF;
}


.mining-support .zg-heading-l {
    color: #FFFFFF;
    margin-bottom: 16px;
}

.mining-support .zg-body {
    color: rgba(255,255,255,0.9);
}


/* Icon wrapper */
.zg-icon-wrap {
    text-align: center;
    margin-bottom: 16px;
}

/* Icon styling */
.zg-icon {
    width: 48px;
    height: 48px;
    fill: #C6A667;
    opacity: 0.95;
}


.mining-support {
    background: #1F2428; /* sovereign mid-dark */
    padding: 120px 0;
    color: #FFFFFF;
}


.mining-support img {
    border-radius: 0; /* remove soft look */
}

.mining-support .col-left,
.mining-support .col-right {
    border-radius: 0;
}


.mining-support {
    position: relative;
}

.mining-support::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: #C6A667;
    opacity: 0.9;
    border-radius: 2px;
}


/* ------------------------------------------------------ */
/* ABOUT PAGE — FULL CSS                                  */
/* ------------------------------------------------------ */

/* ------------------------------ */
/* HERO SECTION                   */
/* ------------------------------ */

.zg-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 160px 0 140px 0;
}

.zg-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.40); /* stronger overlay for readability */
}

.zg-hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.zg-heading-xl {
  color: #FFFFFF;
  font-size: 54px;
  line-height: 1.15;
  margin-bottom: 20px;
}

.zg-body-l {
  color: rgba(255,255,255,0.92);
  font-size: 22px;
  line-height: 1.55;
  max-width: 760px;
  margin: 0 auto;
}

/* ------------------------------ */
/* SECTION SPACING                */
/* ------------------------------ */

.zg-section {
  padding: 100px 0;
}

.zg-section-dark {
  padding: 120px 0;
  background: #1A1F24;
  color: #FFFFFF;
}

/* ------------------------------ */
/* HEADINGS                       */
/* ------------------------------ */

.zg-heading-l {
  font-size: 34px;
  line-height: 1.25;
  margin-bottom: 24px;
  position: relative;
  color: #1A1F24;
}

.zg-section-dark .zg-heading-l {
  color: #FFFFFF;
}

.zg-heading-l::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 60px;
  height: 3px;
  background: #C6A667;
  border-radius: 2px;
}

/* ------------------------------ */
/* BODY TEXT                      */
/* ------------------------------ */

.zg-body,
.zg-body-s {
  color: #1A1F24;
  font-size: 18px;
  line-height: 1.65;
  margin-bottom: 20px;
}

.zg-section-dark .zg-body {
  color: rgba(255,255,255,0.92);
}

/* ------------------------------ */
/* LISTS                          */
/* ------------------------------ */

.zg-list {
  margin-top: 20px;
}

.zg-list li {
  margin-bottom: 14px;
  padding-left: 22px;
  position: relative;
  font-size: 18px;
  line-height: 1.6;
  color: #1A1F24;
}

.zg-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #C6A667;
  font-size: 22px;
  line-height: 1;
}

.zg-section-dark .zg-list li {
  color: rgba(255,255,255,0.92);
}

/* ------------------------------ */
/* CARDS (Our Approach)           */
/* ------------------------------ */

.zg-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 40px;
}

.zg-card {
  background: #FFFFFF;
  border: 1px solid #E8E6E2;
  border-radius: 14px;
  padding: 32px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.zg-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}

.zg-heading-m {
  font-size: 22px;
  margin-bottom: 12px;
  color: #1A1F24;
}

.zg-body-s {
  font-size: 17px;
  color: #1A1F24;
}

/* ------------------------------ */
/* BRIDGE SECTION BACKGROUND      */
/* ------------------------------ */

.zg-section-bridge {
  background: #F7F6F3;
  padding: 100px 0;
}

/* ------------------------------ */
/* CTA BUTTON                     */
/* ------------------------------ */

.zg-btn-primary {
  background: #C6A667;
  color: #1A1F24;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 600;
  display: inline-block;
  margin-top: 20px;
  transition: background 0.25s ease;
}

.zg-btn-primary:hover {
  background: #b59655;
}

/* ------------------------------ */
/* MOBILE OPTIMIZATION            */
/* ------------------------------ */

@media (max-width: 768px) {

  .zg-hero {
    padding: 120px 0 100px 0;
  }

  .zg-heading-xl {
    font-size: 34px;
  }

  .zg-body-l {
    font-size: 18px;
  }

  .zg-heading-l {
    font-size: 26px;
  }

  .zg-body,
  .zg-body-s {
    font-size: 17px;
    line-height: 1.6;
  }

  .zg-grid-2 {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .zg-section,
  .zg-section-bridge {
    padding: 70px 0;
  }

  .zg-section-dark {
    padding: 90px 0;
  }
}


/* ------------------------------------------------------ */
/* ABOUT PAGE — FULL CSS (CENTERED + NO DIVIDERS)         */
/* ------------------------------------------------------ */

/* ------------------------------ */
/* HERO SECTION                   */
/* ------------------------------ */

.zg-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 160px 0 140px 0;
  text-align: center;
}

.zg-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.40);
}

.zg-hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
}

.zg-heading-xl {
  color: #FFFFFF;
  font-size: 54px;
  line-height: 1.15;
  margin-bottom: 20px;
}

.zg-body-l {
  color: rgba(255,255,255,0.92);
  font-size: 22px;
  line-height: 1.55;
  max-width: 760px;
  margin: 0 auto;
}

/* ------------------------------ */
/* SECTION SPACING                */
/* ------------------------------ */

.zg-section {
  padding: 100px 0;
  text-align: center;
}

.zg-section-dark {
  padding: 120px 0;
  background: #1A1F24;
  color: #FFFFFF;
  text-align: center;
}

/* ------------------------------ */
/* HEADINGS (CENTERED, NO DIVIDER)*/
/* ------------------------------ */

.zg-heading-l {
  font-size: 34px;
  line-height: 1.25;
  margin-bottom: 24px;
  color: #1A1F24;
  text-align: center;
}

.zg-section-dark .zg-heading-l {
  color: #FFFFFF;
}

/* Remove underline/divider */
.zg-heading-l::after {
  content: none !important;
}

/* ------------------------------ */
/* BODY TEXT (CENTERED)           */
/* ------------------------------ */

.zg-body,
.zg-body-s {
  color: #1A1F24;
  font-size: 18px;
  line-height: 1.65;
  margin-bottom: 20px;
  text-align: center;
}

.zg-section-dark .zg-body {
  color: rgba(255,255,255,0.92);
}

/* ------------------------------ */
/* LISTS (CENTERED)               */
/* ------------------------------ */

.zg-list {
  margin-top: 20px;
  display: inline-block;
  text-align: left; /* keep bullets readable */
}

.zg-list li {
  margin-bottom: 14px;
  padding-left: 0;
  font-size: 18px;
  line-height: 1.6;
  color: #1A1F24;
  list-style: disc;
}

.zg-section-dark .zg-list li {
  color: rgba(255,255,255,0.92);
}

/* ------------------------------ */
/* CARDS (Our Approach)           */
/* ------------------------------ */

.zg-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 40px;
  text-align: center;
}

.zg-card {
  background: #FFFFFF;
  border: 1px solid #E8E6E2;
  border-radius: 14px;
  padding: 32px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  text-align: center;
}

.zg-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}

.zg-heading-m {
  font-size: 22px;
  margin-bottom: 12px;
  color: #1A1F24;
}

.zg-body-s {
  font-size: 17px;
  color: #1A1F24;
}

/* ------------------------------ */
/* BRIDGE SECTION BACKGROUND      */
/* ------------------------------ */

.zg-section-bridge {
  background: #F7F6F3;
  padding: 100px 0;
  text-align: center;
}

/* ------------------------------ */
/* CTA BUTTON                     */
/* ------------------------------ */

.zg-btn-primary {
  background: #C6A667;
  color: #1A1F24;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 600;
  display: inline-block;
  margin-top: 20px;
  transition: background 0.25s ease;
}

.zg-btn-primary:hover {
  background: #b59655;
}

/* ------------------------------ */
/* MOBILE OPTIMIZATION            */
/* ------------------------------ */

@media (max-width: 768px) {

  .zg-hero {
    padding: 120px 0 100px 0;
  }

  .zg-heading-xl {
    font-size: 34px;
  }

  .zg-body-l {
    font-size: 18px;
  }

  .zg-heading-l {
    font-size: 26px;
  }

  .zg-body,
  .zg-body-s {
    font-size: 17px;
    line-height: 1.6;
  }

  .zg-grid-2 {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .zg-section,
  .zg-section-bridge {
    padding: 70px 0;
  }

  .zg-section-dark {
    padding: 90px 0;
  }
}


/* Deep gold bullets for About page lists */
.zg-list {
  list-style: none;
  padding: 0;
  margin: 20px auto;
  display: inline-block;
  text-align: left;
}

.zg-list li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.6;
  color: #1A1F24;
}

.zg-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 26px;
  line-height: 1;
  color: #C6A667; /* deep sovereign gold */
}

.zg-section-dark .zg-list li {
  color: rgba(255,255,255,0.92);
}

.zg-section-dark .zg-list li::before {
  color: #C6A667; /* keep gold on dark too */
}


/* FINAL — Deep gold bullets, no duplicates */
.zg-list {
  list-style: none !important;   /* disable browser bullets */
  padding: 0;
  margin: 20px auto;
  display: inline-block;
  text-align: left;
}

.zg-list li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.6;
  color: #1A1F24;
}

.zg-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 26px;
  line-height: 1;
  color: #C6A667; /* deep sovereign gold */
}

/* Dark section variant */
.zg-section-dark .zg-list li {
  color: rgba(255,255,255,0.92);
}

.zg-section-dark .zg-list li::before {
  color: #C6A667;
}


/* ------------------------------------------------------ */
/* ABOUT PAGE — FINAL LIST + SECTION RHYTHM FIX           */
/* ------------------------------------------------------ */

/* 1) Remove ALL default bullets globally inside About page */
.about-page .zg-list,
.about-page ul,
.about-page ol {
  list-style: none !important;
  margin: 0 auto;
  padding: 0;
}

/* 2) Gold bullets — the ONLY bullets rendered */
.about-page .zg-list li,
.about-page ul li,
.about-page ol li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.6;
  color: #1A1F24;
}

.about-page .zg-list li::before,
.about-page ul li::before,
.about-page ol li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 26px;
  line-height: 1;
  color: #C6A667; /* deep sovereign gold */
}

/* Dark section variant */
.about-page .zg-section-dark .zg-list li,
.about-page .zg-section-dark ul li {
  color: rgba(255,255,255,0.92);
}

.about-page .zg-section-dark .zg-list li::before,
.about-page .zg-section-dark ul li::before {
  color: #C6A667;
}

/* 3) Strong sovereign rhythm between sections */
.about-page .zg-section:nth-of-type(odd) {
  background: #FFFFFF;
}

.about-page .zg-section:nth-of-type(even) {
  background: #F7F6F3; /* soft sovereign neutral */
}

.about-page .zg-section-dark {
  background: #1A1F24 !important;
  color: #FFFFFF;
}

/* 4) Center all headings + text */
.about-page .zg-heading-l,
.about-page .zg-heading-xl,
.about-page .zg-body,
.about-page .zg-body-l,
.about-page .zg-body-s {
  text-align: center;
}

/* 5) Remove all heading dividers */
.about-page .zg-heading-l::after {
  content: none !important;
}


/* REMOVE ALL BULLETS COMPLETELY — including theme ::marker */
.about-page ul,
.about-page ol,
.about-page .zg-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.about-page ul li::marker,
.about-page ol li::marker {
  content: "" !important; /* kills theme bullets */
}

.about-page ul li,
.about-page ol li,
.about-page .zg-list li {
  position: relative;
  padding-left: 0 !important; /* no indent */
}


/* ABOUT PAGE — REMOVE ALL BULLETS COMPLETELY */
.about-page ul,
.about-page ol,
.about-page .zg-list {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

/* Kill theme bullets injected via ::marker */
.about-page ul li::marker,
.about-page ol li::marker {
  content: "" !important;
}

/* Kill bullets injected via background images */
.about-page ul li,
.about-page ol li,
.about-page .zg-list li {
  background: none !important;
  background-image: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Kill any pseudo-element bullets */
.about-page ul li::before,
.about-page ol li::before,
.about-page .zg-list li::before {
  content: "" !important;
}


/* REMOVE ALL BULLETS ON ABOUT PAGE */
.zg-list li {
    list-style: none !important;
    background: none !important;          /* kills SVG bullets */
    background-image: none !important;    /* kills SVG bullets */
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.zg-list li::marker {
    content: "" !important;               /* kills native bullets */
}

.zg-list li::before {
    content: "" !important;               /* kills custom bullets */
}


/* --------------------------------------------- */
/* FINAL GOLD BULLETS FOR ABOUT PAGE LISTS       */
/* --------------------------------------------- */

/* Ensure no native bullets return */
.zg-list {
  list-style: none !important;
  padding: 0;
  margin: 20px auto;
  display: inline-block;
  text-align: left;
}

.zg-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.6;
  color: #1A1F24;
  background: none !important;
  background-image: none !important;
  list-style-type: none !important;
}

.zg-list li::marker {
  content: "" !important;
}

.zg-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 26px;
  line-height: 1;
  color: #C6A667; /* sovereign deep gold */
}

/* Dark section variant */
.zg-section-dark .zg-list li {
  color: rgba(255,255,255,0.92);
}

.zg-section-dark .zg-list li::before {
  color: #C6A667;
}


/* FORCE-ENABLE ::before ON LIST ITEMS */
.zg-list li::before {
  display: inline-block !important;
  content: "•" !important;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 26px;
  line-height: 1;
  color: #C6A667; /* sovereign gold */
  width: 20px;
}

/* ENSURE NO OTHER BULLETS RETURN */
.zg-list,
.zg-list li {
  list-style: none !important;
  background: none !important;
  background-image: none !important;
  padding-left: 28px !important;
  margin-left: 0 !important;
}

.zg-list li::marker {
  content: "" !important;
}


/* ------------------------------------------------------ */
/* ABOUT PAGE — SECTION RHYTHM + SPACING                 */
/* ------------------------------------------------------ */

/* Base section spacing (reduced from 100–120px) */
.zg-section,
.zg-section-bridge {
  padding: 70px 0;
}

.zg-section-dark {
  padding: 90px 0;
}

/* Alternating sovereign rhythm */
.zg-section:nth-of-type(odd) {
  background: #FFFFFF; /* clean white */
}

.zg-section:nth-of-type(even) {
  background: #F4F3EF; /* sovereign soft neutral */
}

/* Bridge section gets its own tone */
.zg-section-bridge {
  background: #F1EFEA !important;
}

/* Dark CTA stays sovereign */
.zg-section-dark {
  background: #1A1F24 !important;
  color: #FFFFFF;
}

/* Center all text + headings */
.zg-heading-l,
.zg-heading-xl,
.zg-body,
.zg-body-l,
.zg-body-s {
  text-align: center;
}

/* Remove heading dividers */
.zg-heading-l::after {
  content: none !important;
}

/* ------------------------------------------------------ */
/* GOLD BULLETS (FINAL, THEME-PROOF)                      */
/* ------------------------------------------------------ */

.zg-list {
  list-style: none !important;
  padding: 0;
  margin: 20px auto;
  display: inline-block;
  text-align: left;
}

.zg-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.6;
  color: #1A1F24;
  background: none !important;
  background-image: none !important;
  list-style-type: none !important;
}

.zg-list li::marker {
  content: "" !important;
}

.zg-list li::before {
  display: inline-block !important;
  content: "•" !important;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 26px;
  line-height: 1;
  color: #C6A667; /* sovereign gold */
}

/* Dark section variant */
.zg-section-dark .zg-list li {
  color: rgba(255,255,255,0.92);
}

.zg-section-dark .zg-list li::before {
  color: #C6A667;
}


/* ------------------------------------------------------ */
/* Zimgerm Impact Section — Soft Emerald Gradient         */
/* Applies to "Our Approach" (3rd section on About page)  */
/* ------------------------------------------------------ */

.zg-section:nth-of-type(3) {
  background: linear-gradient(135deg, #3A8F72 0%, #2F6F5A 100%);
  padding: 90px 0;
  color: #FFFFFF;
}

/* Headings inside impact section */
.zg-section:nth-of-type(3) .zg-heading-l,
.zg-section:nth-of-type(3) .zg-heading-m {
  color: #FFFFFF;
}

/* Body text inside impact section */
.zg-section:nth-of-type(3) .zg-body,
.zg-section:nth-of-type(3) .zg-body-s {
  color: rgba(255,255,255,0.92);
}

/* Cards floating on emerald */
.zg-section:nth-of-type(3) .zg-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12); /* soft shadow */
  border: 1px solid rgba(255,255,255,0.08);
}

/* Card headings */
.zg-section:nth-of-type(3) .zg-card .zg-heading-m {
  color: #1A1F24;
}

/* Card text */
.zg-section:nth-of-type(3) .zg-card .zg-body-s {
  color: #1A1F24;
}

/* Gold micro-accent for cards */
.zg-section:nth-of-type(3) .zg-card::before {
  content: "";
  width: 36px;
  height: 3px;
  background: #C6A667;
  display: block;
  margin-bottom: 16px;
  border-radius: 2px;
}


/* ------------------------------------------------------ */
/* Zimgerm Impact Section — Soft Emerald Gradient         */
/* Applies to "Our Approach" (3rd section on About page)  */
/* ------------------------------------------------------ */

.zg-section:nth-of-type(3) {
  background: linear-gradient(135deg, #3A8F72 0%, #2F6F5A 100%);
  padding: 90px 0;
  color: #FFFFFF;
}

/* Headings inside impact section */
.zg-section:nth-of-type(3) .zg-heading-l,
.zg-section:nth-of-type(3) .zg-heading-m {
  color: #FFFFFF;
}

/* Body text inside impact section */
.zg-section:nth-of-type(3) .zg-body,
.zg-section:nth-of-type(3) .zg-body-s {
  color: rgba(255,255,255,0.92);
}

/* Cards floating on emerald */
.zg-section:nth-of-type(3) .zg-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12); /* soft shadow */
  border: 1px solid rgba(255,255,255,0.08);
}

/* Card headings */
.zg-section:nth-of-type(3) .zg-card .zg-heading-m {
  color: #1A1F24;
}

/* Card text */
.zg-section:nth-of-type(3) .zg-card .zg-body-s {
  color: #1A1F24;
}

/* Gold micro-accent for cards */
.zg-section:nth-of-type(3) .zg-card::before {
  content: "";
  width: 36px;
  height: 3px;
  background: #C6A667;
  display: block;
  margin-bottom: 16px;
  border-radius: 2px;
}

/* ------------------------------------------------------ */
/* 1. WHY ZIMGerm EXISTS — Deep Clay Satin + Top Shadow   */
/* ------------------------------------------------------ */

.zg-section:nth-of-type(3) {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.08) 0%,   /* faint top shadow */
    #C7BEB3 12%,          /* satin clay neutral */
    #C7BEB3 100%
  );
  padding: 90px 0;
  color: #1A1F24;
}

.zg-section:nth-of-type(3) .zg-heading-l {
  color: #1A1F24;
  margin-bottom: 24px;
}

.zg-section:nth-of-type(3) .zg-body {
  color: #2A2F33;
  line-height: 1.65;
}

/* ------------------------------------------------------ */
/* 2. OUR APPROACH — Sovereign Emerald Gradient           */
/* ------------------------------------------------------ */


/* ------------------------------------------------------ */
/* 4. WHAT WE BELIEVE — Gold-Tinted Neutral               */
/* ------------------------------------------------------ */

.zg-section:nth-of-type(5) {
  background: #F6F2E8;
  padding: 90px 0;
  color: #1A1F24;
}

.zg-section:nth-of-type(5) .zg-heading-l {
  margin-bottom: 24px;
}

/* ------------------------------------------------------ */
/* 5. BRIDGE SECTION — Deep Neutral                       */
/* ------------------------------------------------------ */

.zg-section:nth-of-type(6) {
  background: #ECEAE5;
  padding: 90px 0;
  color: #1A1F24;
}

.zg-section:nth-of-type(6) .zg-heading-l {
  margin-bottom: 24px;
}


/* REMOVE ALL DIVIDERS IN OUR APPROACH SECTION */




/* HERO */
.zg-hero.has-image {
  position: relative;
  background: var(--hero-image) center/cover no-repeat;
}

.zg-hero.has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(26, 31, 36, 0.65); /* sovereign dark overlay */
}

.zg-hero-content {
  position: relative;
  z-index: 2;
  color: #FFFFFF;
}


/* BLOCK 1 — White Identity Section */
.zg-section:nth-of-type(1) {
  background: #FFFFFF;
  color: #1A1F24;
  padding: 90px 0;
}


/* BLOCK 2 — Deep Midnight Blue-Grey Capability Section */
.zg-section:nth-of-type(2) {
  background: #2A3A45; /* sovereign blue-grey */
  color: #FFFFFF;
  padding: 100px 0;
}

/* Headings */
.zg-section:nth-of-type(2) .zg-heading-l {
  color: #FFFFFF;
  margin-bottom: 40px;
}

/* Body text */
.zg-section:nth-of-type(2) .zg-body,
.zg-section:nth-of-type(2) .zg-body-s {
  color: rgba(255,255,255,0.92);
}

/* Cards */
.zg-section:nth-of-type(2) .zg-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

/* Remove dividers */
.zg-section:nth-of-type(2) .zg-card::before,
.zg-section:nth-of-type(2) .zg-heading-l::after {
  display: none !important;
}

/* Card text */
.zg-section:nth-of-type(2) .zg-card .zg-heading-m {
  color: #1A1F24;
}

.zg-section:nth-of-type(2) .zg-card .zg-body-s {
  color: #1A1F24;
}


/* BLOCK 3 — Warm Clay Identity Section */
.zg-section:nth-of-type(3),
.zg-section:nth-of-type(4),
.zg-section:nth-of-type(5) {
  background: #C7BEB3; /* warm clay */
  color: #1A1F24;
  padding: 90px 0;
}

/* Headings */
.zg-section:nth-of-type(3) .zg-heading-l,
.zg-section:nth-of-type(4) .zg-heading-l,
.zg-section:nth-of-type(5) .zg-heading-l {
  margin-bottom: 24px;
}

/* Lists */
.zg-section:nth-of-type(3) .zg-list li,
.zg-section:nth-of-type(4) .zg-list li,
.zg-section:nth-of-type(5) .zg-list li {
  color: #1A1F24;
  line-height: 1.65;
}

/* Steps */
.zg-section:nth-of-type(4) .zg-steps li {
  color: #1A1F24;
  line-height: 1.65;
}


/* BLOCK 4 — CTA */
.zg-section-dark {
  background: #1A1F24;
  color: #FFFFFF;
  padding: 100px 0;
}

.zg-section-dark .zg-heading-l {
  color: #FFFFFF;
}

.zg-section-dark .zg-body {
  color: rgba(255,255,255,0.92);
}

/* HOW ZIMGerm SUPPORTS YOU — Sovereign Impact Block */
.zg-supports {
  background: #2A3A45; /* deep midnight blue-grey */
  color: #FFFFFF;
  padding: 100px 0;
}

/* Heading */
.zg-supports .zg-heading-l {
  color: #FFFFFF;
  margin-bottom: 40px;
}

/* Body text */
.zg-supports .zg-body,
.zg-supports .zg-body-s {
  color: rgba(255,255,255,0.92);
}

/* Cards */
.zg-supports .zg-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

/* Card headings */
.zg-supports .zg-card .zg-heading-m {
  color: #1A1F24;
}

/* Card text */
.zg-supports .zg-card .zg-body-s {
  color: #1A1F24;
}

/* Remove any dividers */
.zg-supports .zg-card::before,
.zg-supports .zg-heading-l::after {
  display: none !important;
}


/* HOW ZIMGerm SUPPORTS YOU — Sovereign Impact Block */
.zg-supports {
  background: #2A3A45; /* deep midnight blue-grey */
  color: #FFFFFF;
  padding: 100px 0;
}

/* Heading */
.zg-supports .zg-heading-l {
  color: #FFFFFF;
  margin-bottom: 40px;
}

/* Body text */
.zg-supports .zg-body,
.zg-supports .zg-body-s {
  color: rgba(255,255,255,0.92);
}

/* Cards */
.zg-supports .zg-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

/* Card headings */
.zg-supports .zg-card .zg-heading-m {
  color: #1A1F24;
}

/* Card text */
.zg-supports .zg-card .zg-body-s {
  color: #1A1F24;
}

/* Remove any dividers */
.zg-supports .zg-card::before,
.zg-supports .zg-heading-l::after {
  display: none !important;
}


/* HOW ZIMGerm SUPPORTS YOU — Sovereign Impact Block */
.zg-supports {
  background: #2A3A45;
  color: #FFFFFF;
  padding: 100px 0;
}

.zg-supports .zg-heading-l {
  color: #FFFFFF;
  margin-bottom: 40px;
}

.zg-supports .zg-body,
.zg-supports .zg-body-s {
  color: rgba(255,255,255,0.92);
}

.zg-supports .zg-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.zg-supports .zg-card .zg-heading-m {
  color: #1A1F24;
}

.zg-supports .zg-card .zg-body-s {
  color: #1A1F24;
}

.zg-supports .zg-card::before,
.zg-supports .zg-heading-l::after {
  display: none !important;
}


/* HOW ZIMGerm SUPPORTS YOU — Sovereign Impact Block */
.zg-supports {
  background: #2A3A45;
  color: #FFFFFF;
  padding: 100px 0;
}

.zg-supports .zg-heading-l {
  color: #FFFFFF;
  margin-bottom: 40px;
}

.zg-supports .zg-body,
.zg-supports .zg-body-s {
  color: rgba(255,255,255,0.92);
}

.zg-supports .zg-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.zg-supports .zg-card .zg-heading-m {
  color: #1A1F24;
}

.zg-supports .zg-card .zg-body-s {
  color: #1A1F24;
}

.zg-supports .zg-card::before,
.zg-supports .zg-heading-l::after {
  display: none !important;
}


/* WHAT INVESTORS LOOK FOR — FORCE WHITE TEXT */
.zg-investors-lookfor {
  background: #2A3A45 !important; /* if you want it blue */
  color: #FFFFFF !important;
}

.zg-investors-lookfor h2,
.zg-investors-lookfor p,
.zg-investors-lookfor li,
.zg-investors-lookfor strong,
.zg-investors-lookfor .zg-body,
.zg-investors-lookfor .zg-body-s {
  color: #FFFFFF !important;
}


/* HOW ZIMGerm SUPPORTS YOU — Deep Blue-Grey Impact Block */
.zg-supports {
  background: #2A3A45 !important; /* sovereign deep blue-grey */
  color: #FFFFFF !important;
  padding: 100px 0;
}

/* Headings */
.zg-supports h2,
.zg-supports h3 {
  color: #FFFFFF !important;
}

/* Body text */
.zg-supports p,
.zg-supports li,
.zg-supports strong,
.zg-supports .zg-body,
.zg-supports .zg-body-s {
  color: #FFFFFF !important;
}

/* Cards inside the section */
.zg-supports .zg-card {
  background: #FFFFFF !important;
  border-radius: 14px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

/* Card headings */
.zg-supports .zg-card .zg-heading-m {
  color: #1A1F24 !important;
}

/* Card text */
.zg-supports .zg-card .zg-body-s {
  color: #1A1F24 !important;
}


/* WHO SHOULD SUBMIT — Warm Neutral Section */
.zg-submit-who {
  background: #E7E1D9 !important; /* soft warm neutral */
  color: #1A1F24 !important;
  padding: 90px 0;
}

.zg-submit-who h2 {
  color: #1A1F24 !important;
}

.zg-submit-who p,
.zg-submit-who li,
.zg-submit-who strong {
  color: #1A1F24 !important;
}


/* WHAT YOU NEED BEFORE SUBMITTING — Soft Clean Section */
.zg-submit-requirements {
  background: #F7F5F2 !important; /* soft clean warm white */
  color: #1A1F24 !important;
  padding: 90px 0;
}

.zg-submit-requirements h2 {
  color: #1A1F24 !important;
}

.zg-submit-requirements p,
.zg-submit-requirements li,
.zg-submit-requirements strong {
  color: #1A1F24 !important;
}


/* SUBMIT YOUR PROJECT DETAILS — Clean Form Section */
.zg-submit-form {
  background: #FFFFFF !important; /* clean institutional white */
  color: #1A1F24 !important;
  padding: 100px 0;
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

/* Headings */
.zg-submit-form h2 {
  color: #1A1F24 !important;
  margin-bottom: 24px;
}

/* Body text */
.zg-submit-form p,
.zg-submit-form li,
.zg-submit-form strong {
  color: #1A1F24 !important;
}

/* Form container */
.zg-submit-form .zg-form-placeholder {
  background: #F7F5F2; /* soft warm neutral to match previous section */
  padding: 40px;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.05);
}


/* FORM FIELDS — Zimgerm Institutional Style */
.zg-submit-form input[type="text"],
.zg-submit-form input[type="email"],
.zg-submit-form input[type="tel"],
.zg-submit-form input[type="number"],
.zg-submit-form select,
.zg-submit-form textarea {
  width: 100%;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.15);
  background: #FFFFFF;
  font-size: 16px;
  color: #1A1F24;
  margin-bottom: 18px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.04);
  transition: all 0.2s ease;
}

.zg-submit-form input:focus,
.zg-submit-form select:focus,
.zg-submit-form textarea:focus {
  border-color: #2A3A45;
  box-shadow: 0 0 0 3px rgba(42,58,69,0.15);
  outline: none;
}

/* FORM BUTTON — Zimgerm Primary */
.zg-submit-form button,
.zg-submit-form input[type="submit"] {
  background: #2A3A45; /* deep blue-grey */
  color: #FFFFFF;
  padding: 14px 28px;
  border-radius: 12px;
  border: none;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-block;
  margin-top: 10px;
}

.zg-submit-form button:hover,
.zg-submit-form input[type="submit"]:hover {
  background: #1F2C33;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}

/* FORM BLOCK CONTAINER */
.zg-submit-form .zg-form-placeholder {
  background: #F7F5F2;
  padding: 40px;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.05);
}


/* Zimgerm Form Styling */
.zg-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.zg-form-row label {
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
  color: #1A1F24;
}

.zg-form input[type="text"],
.zg-form input[type="email"],
.zg-form input[type="tel"],
.zg-form input[type="number"],
.zg-form input[type="file"],
.zg-form select,
.zg-form textarea {
  width: 100%;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.15);
  background: #FFFFFF;
  font-size: 16px;
  color: #1A1F24;
  box-shadow: 0 4px 10px rgba(0,0,0,0.04);
  transition: all 0.2s ease;
}

.zg-form input:focus,
.zg-form select:focus,
.zg-form textarea:focus {
  border-color: #2A3A45;
  box-shadow: 0 0 0 3px rgba(42,58,69,0.15);
  outline: none;
}

.zg-form button,
.zg-form .zg-btn-primary {
  background: #2A3A45;
  color: #FFFFFF;
  padding: 14px 28px;
  border-radius: 12px;
  border: none;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-block;
}

.zg-form button:hover {
  background: #1F2C33;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
}

.zg-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(42,58,69,0.40); /* deep blue-grey, but lighter */
  z-index: 1;
}


/* FINAL HERO HEIGHT OVERRIDE */
.zg-hero {
  min-height: 80vh !important;
}


/* WHAT INVESTORS LOOK FOR — Soft Stone + Dark Text */
.zg-investors-lookfor {
  background: #F2F0EC !important;
  padding: 90px 0;
}

.zg-investors-lookfor h2,
.zg-investors-lookfor p,
.zg-investors-lookfor li {
  color: #1A1F24 !important;
}

.zg-investors-lookfor ul {
  list-style-type: disc;
  padding-left: 20px;
}


/* WHAT INVESTORS LOOK FOR — unify text color */
.zg-investors-lookfor,
.zg-investors-lookfor * {
  color: #1A1F24 !important;
}


/* FORCE UNIFIED TEXT COLOR INSIDE WHAT INVESTORS LOOK FOR */
.zg-investors-lookfor,
.zg-investors-lookfor *,
.zg-investors-lookfor strong,
.zg-investors-lookfor em,
.zg-investors-lookfor span {
  color: #1A1F24 !important;
}


/* FORCE DARK TEXT FOR THE INTRO PARAGRAPH INSIDE THIS SECTION */
.zg-investors-lookfor .zg-body {
  color: #1A1F24 !important;
}


.zg-investors-lookfor {
  background: #FFFFFF !important;
  color: #1A1F24 !important;
}


.zg-submit-who {
  background: #FFFFFF !important;
  color: #1A1F24 !important;
}


.zg-process li {
  text-align: left !important;
}


.zg-process strong {
  color: #1A1F24 !important;
}


.zg-process .zg-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.zg-process ol {
  text-align: left;
  margin: 0 auto;
  display: inline-block;
}


.zg-process {
  background: linear-gradient(
    to bottom,
    #E8E1D8 0%,
    #E3D9CF 100%
  ) !important;
  border-radius: 12px;
  padding: 90px 0;
}


.zg-process {
  box-shadow: inset 0 0 40px rgba(0,0,0,0.05);
}


.zg-process {
  border-top: 4px solid #2A3A45; /* deep Zimgerm blue-grey */
}

.zg-supports {
  border-radius: 12px;
  overflow: hidden; /* prevents child backgrounds from leaking past the curve */
}


.zg-process p,
.zg-process li,
.zg-process ol,
.zg-process strong {
  line-height: 1.6 !important;
}


/* SUBMIT REQUIREMENTS — unify list width with paragraph */
.zg-submit-requirements ul {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
  width: 100%;
}


/* FORM — center and constrain width */
.zg-form {
  max-width: 700px;
  margin: 0 auto;
}

/* FORM ROW — spacing and alignment */
.zg-form-row {
  margin-bottom: 24px;
  text-align: left;
}

/* LABELS — clean and consistent */
.zg-form-row label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: #1A1F24;
}

/* INPUTS — proper width and styling */
.zg-form-row input,
.zg-form-row textarea,
.zg-form-row select {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #D0D0D0;
  border-radius: 8px;
  font-size: 16px;
  box-sizing: border-box;
}


/* NEW SUBMIT NEED SECTION */
.zg-submit-need .zg-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

/* Subheading text */
.zg-submit-need .zg-subtext {
  margin: 0 auto 24px;
  max-width: 700px;
  text-align: center;
  line-height: 1.55;
  color: #1A1F24;
}

/* List block */
.zg-submit-need .zg-need-list {
  list-style: disc;
  margin: 0 auto 32px;
  padding: 0;
  max-width: 700px;
  text-align: left;
}

/* List items */
.zg-submit-need .zg-need-list li {
  margin-bottom: 12px;
  line-height: 1.55;
  color: #1A1F24;
}

.zg-submit-need .zg-need-list strong {
  color: #1A1F24;
}

/* NEW SUBMIT NEED SECTION */
.zg-submit-need .zg-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

/* Subheading text */
.zg-submit-need .zg-subtext {
  margin: 0 auto 24px;
  max-width: 700px;
  text-align: center;
  line-height: 1.55;
  color: #1A1F24;
}

/* List block */
.zg-submit-need .zg-need-list {
  list-style: disc;
  margin: 0 auto 32px;
  padding: 0;
  max-width: 700px;
  text-align: left;
}

/* List items */
.zg-submit-need .zg-need-list li {
  margin-bottom: 12px;
  line-height: 1.55;
  color: #1A1F24;
}

.zg-submit-need .zg-need-list strong {
  color: #1A1F24;
}


/* NEW SUBMIT NEED SECTION */
.zg-submit-need .zg-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

/* Subheading + closing text */
.zg-submit-need .zg-subtext {
  margin: 0 auto 24px;
  max-width: 700px;
  text-align: center;
  line-height: 1.55;
  color: #1A1F24;
}

/* List block */
.zg-submit-need .zg-need-list {
  list-style: disc;
  margin: 0 auto 32px;
  padding: 0;
  max-width: 700px;
  text-align: left;
}

/* List items */
.zg-submit-need .zg-need-list li {
  margin-bottom: 12px;
  line-height: 1.55;
  color: #1A1F24;
}

.zg-submit-need .zg-need-list strong {
  color: #1A1F24;
}


/* GLOBAL */
.inv-section {
  padding: 120px 0;
}

.inv-container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 32px;
  text-align: center;
}

/* HERO */
.inv-hero {
  background: #0F1A2C;
  background-size: cover;
  background-position: center;
  padding: 200px 0 180px;
  position: relative;
}

.inv-hero-overlay {
  background: rgba(0,0,0,0.15); /* much lighter */
  padding: 100px 0;
}

.inv-hero-inner {
  max-width: 1000px;
}

.inv-hero .inv-heading-xl {
  font-size: 56px;
  line-height: 1.15;
  margin-bottom: 28px;
  color: #FFFFFF;
}

.inv-hero .inv-body-l {
  font-size: 22px;
  line-height: 1.75;
  max-width: 900px;
  margin: 0 auto;
  color: #F5F7FA;
}

/* WHY ZIMBABWE */
.inv-whyzim {
  background: #FFFFFF;
}

/* CALLOUT */
.inv-callout {
  max-width: 1000px;
  margin: 48px auto;
  padding: 36px 40px;
  background: #F7F9FC;
  border: 1px solid rgba(0,0,0,0.12);
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  border-radius: 14px;
  text-align: left;
}

/* WHAT YOU GAIN */
.inv-gain {
  background: #0F1A2C;
  color: #FFFFFF;
  padding-top: 160px;
  padding-bottom: 160px;
}

.inv-gain-intro {
  max-width: 1000px;
  margin: 0 auto 28px;
  font-size: 18px;
  line-height: 1.75;
  color: #E6ECF5;
}

/* GRID */
.inv-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
  max-width: 1100px;
  margin: 70px auto 0;
}

/* CARDS */
.inv-card {
  background: #FFFFFF;
  padding: 48px;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.12);
  text-align: left;
}

.inv-card h3,
.inv-card p {
  color: #1A1F24 !important;
}

/* PROCESS */
.inv-process {
  background: #FFFFFF;
}

.inv-steps {
  max-width: 1100px;
  margin: 32px auto 0;
  padding-left: 0px;
  text-align: left;
  font-size: 18px;
  line-height: 1.75;
}

/* WHO WE WORK WITH */
.inv-who {
  background: #F3EEE7;
}

/* WHY DIFFERENT */
.inv-different {
  background: #FFFFFF; /* restore white */
  padding-top: 0; /* remove gap */
}

/* EXPLORE PROJECTS */
.inv-explore {
  background: #F7F9FC;
}

/* CTA */
.inv-cta {
  background: #1A1F24;
  color: #FFFFFF;
  padding: 160px 0;
}

.inv-cta * {
  color: #FFFFFF !important;
}

.inv-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 32px;
}

.inv-btn-primary,
.inv-btn-secondary {
  padding: 16px 32px;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  font-size: 18px;
}

.inv-btn-primary {
  background: #FFFFFF;
  color: #1A1F24 !important;
}

.inv-btn-secondary {
  background: #0F1A2C;
  color: #FFFFFF !important;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .inv-heading-xl { font-size: 34px; }
  .inv-heading-l { font-size: 26px; }
  .inv-body-l { font-size: 18px; }
  .inv-body { font-size: 16px; }

  .inv-grid-2 {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .inv-card {
    padding: 32px;
  }

  .inv-callout {
    padding: 28px;
  }

  .inv-cta-buttons {
    flex-direction: column;
  }
}


.inv-hero .inv-body-l {
  max-width: 1200px !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}


.inv-hero .inv-body-l {
  max-width: 1200px !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important; /* replaces text-wrap */
  hyphens: auto !important;            /* improves natural wrapping */
  text-align: center !important;
}


.inv-hero .inv-body-l {
  max-width: 1200px !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important; /* replaces text-wrap */
  hyphens: auto !important;            /* improves natural wrapping */
  text-align: center !important;
}



.inv-hero.inv-section p.inv-body-l {
  max-width: 1400px !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important; /* replaces text-wrap */
  hyphens: auto !important;            /* improves natural wrapping */
  line-height: 1.8 !important;
  text-align: center !important;
}


section.inv-hero.inv-section p.inv-body-l {
  max-width: 1400px !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important; /* replaces text-wrap */
  hyphens: auto !important;            /* improves natural wrapping */
  line-height: 1.8 !important;
  text-align: center !important;
}


.inv-hero {
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}


.inv-verification {
  background: #EDE9E3 ; /* light institutional grey */
  padding: 80px 0;
}

.inv-verification .inv-heading-l {
  color: #0F1A2C;
}

.inv-verification .inv-body {
  max-width: 760px;
  margin: 0 auto 24px;
  color: #1A1F24;
  line-height: 1.6;
}


.zg-gain .zg-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 1000px;
  margin: 40px auto;
}

.zg-gain .zg-card {
  background: #FFFFFF !important;
  border-radius: 12px;
  padding: 24px 28px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  min-height: 120px; /* keeps them wide, not tall */
}

.zg-gain .zg-card h3,
.zg-gain .zg-card p {
  text-align: left;
  color: #0F1A2C;
}


/* WHAT YOU GAIN — FIX HEADING, TEXT, PADDING, CARDS */
.inv-gain {
  background: #0F1A2C; /* deep blue */
  padding: 60px 0 50px; /* reduced padding */
}

.inv-gain .inv-heading-l {
  color: #FFFFFF !important; /* override inherited dark color */
}

.inv-gain .inv-gain-intro {
  color: #FFFFFF !important;
  max-width: 760px;
  margin: 0 auto 20px;
  text-align: center;
  line-height: 1.6;
}

/* Horizontal premium cards */
.inv-gain .inv-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 1000px;
  margin: 40px auto;
}

.inv-gain .inv-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 24px 28px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  min-height: 120px; /* wide, not tall */
}

.inv-gain .inv-card h3 {
  color: #0F1A2C !important;
  margin-bottom: 8px;
}

.inv-gain .inv-card p {
  color: #1A1F24 !important;
  line-height: 1.55;
}


/* ============================
   WHAT YOU GAIN (inv-gain)
   Fully isolated, no inheritance
   ============================ */

.inv-gain {
  background: #0F1A2C !important;
  padding: 60px 0 50px !important;
  position: relative;
  z-index: 1;
}

.inv-gain .inv-heading-l {
  color: #FFFFFF !important;
  text-align: center;
  margin-bottom: 24px;
}

.inv-gain .inv-gain-intro {
  color: #FFFFFF !important;
  max-width: 760px;
  margin: 0 auto 20px;
  text-align: center;
  line-height: 1.6;
}

/* GRID */
.inv-gain .inv-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 28px !important;
  margin: 40px auto;
}

/* CARD */
.inv-gain .inv-card {
  background: #FFFFFF !important;
  border-radius: 12px;
  padding: 24px 28px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  gap: 12px;
  min-height: 120px;
}

/* CARD TEXT */
.inv-gain .inv-card h3 {
  color: #0F1A2C !important;
  margin: 0 0 4px 0;
}

.inv-gain .inv-card p {
  color: #1A1F24 !important;
  line-height: 1.55;
}



/* Match Project Owners container width */
.inv-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}


/* Match Project Owners vertical rhythm */
.inv-section {
  padding: 100px 0 !important;
}


.inv-gain {
  padding: 60px 0 50px !important;
}


/* Match Project Owners card layout */
.inv-gain .inv-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  gap: 12px;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}


.inv-gain .inv-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 32px !important;
  max-width: 1000px !important;
  margin: 40px auto !important;
}


.inv-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}


.inv-gain .inv-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 40px !important;
  margin-top: 40px !important;
  text-align: center; /* matches PO */
}


.inv-gain .inv-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  gap: 16px;
}


.inv-gain .inv-card h3 {
  color: #0F1A2C !important;
  margin-bottom: 8px;
}

.inv-gain .inv-card p {
  color: #1A1F24 !important;
  line-height: 1.6;
}


.inv-gain {
  padding: 80px 0 !important;
}


/* Match Project Owners container width */
.inv-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}


/* MATCH PROJECT OWNERS GRID */
.inv-gain .inv-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 40px !important;
  margin-top: 40px !important;
  text-align: center;
  width: 100% !important;        /* full width */
  max-width: none !important;    /* remove the 1000px choke */
}


/* New intro section below cards */
.inv-gain-intro-block {
  background: #F5F7FA; /* soft institutional grey */
  padding: 70px 0;
}

.inv-gain-intro-block .inv-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

.inv-gain-intro-block p {
  color: #0F1A2C !important; /* reset from white */
  font-size: 18px;
  line-height: 1.65;
  max-width: 1100px;
  margin: 0 auto 20px;
  text-align: center;
}


/* Match Project Owners container width */
.inv-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}


/* Fix Investor Portal container width */
.inv-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}


.inv-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}


/* FORCE full-width container for Investor Portal */
.inv-container {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}


/* FORCE full-width layout for Investor Portal */
.page-id-487 .site-content,
.page-id-487 .entry-content,
.page-id-487 .container,
.page-id-487 .wp-block-group {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}


/* FORCE full-width layout for Investor Portal */
.page-id-487 .site-content,
.page-id-487 .entry-content,
.page-id-487 .wp-block-group,
.page-id-487 .container,
.page-id-487 .content-area,
.page-id-487 .wrap {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}


.inv-verification .inv-body {
  max-width: 1100px !important;
  margin: 0 auto;
}


.inv-steps {
  max-width: 1100px;
  margin: 32px auto 0;
  padding-left: 0;
  text-align: left;
  list-style-position: inside;
}


.inv-steps {
  max-width: 900px; /* or 1000px depending on your rhythm */
  margin: 32px auto 0;
}


.inv-steps {
  list-style: none !important;
  padding: 0;
  margin: 20px auto;
  display: inline-block;
  text-align: left;
  padding-left: 28px !important;
}
.inv-steps li {
  list-style: none !important;
  margin-left: 0 !important;
}



.inv-steps {
  list-style: none !important;
  padding: 0;
  margin: 24px auto 0;
  display: inline-block;
  text-align: left;
  padding-left: 28px !important;
  max-width: 900px; /* optional: matches your paragraph width */
}

.inv-steps li {
  margin-bottom: 14px;
}


section.inv-hero.inv-section p.inv-body-l {
  max-width: 900px !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  line-height: 1.55 !important;
  text-align: center !important;
  font-weight: 300 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


.inv-hero .inv-container {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}


/* SECTION BACKGROUND — light deep earth */
.inv-process {
  background: #F4F1EC; /* same tone as Project Owners */
  padding: 80px 0;
}

/* CENTER THE LIST BLOCK */
.inv-steps {
  margin: 32px auto 0;
  padding: 0;
  display: inline-block;
  text-align: left;
  max-width: 900px;
  line-height: 1.6 !important;
}

/* RESTORE NUMBERED BULLETS */
.inv-steps {
  list-style: decimal !important;
  list-style-position: outside !important;
  padding-left: 32px !important;
}

/* LIST ITEM SPACING */
.inv-steps li {
  margin-bottom: 16px;
}

/* RESET GLOBAL THEME OVERRIDES */
.inv-steps, 
.inv-steps li {
  background: none !important;
  background-image: none !important;
}


.inv-verification {
  padding-bottom: 40px !important;
}

.inv-process {
  padding-top: 40px !important;
}

.inv-process .inv-steps {
  list-style: decimal !important;
  list-style-position: outside !important;
  padding-left: 32px !important;
  margin: 32px auto 0;
  display: inline-block;
  text-align: left;
  line-height: 1.6 !important;
}


/* -----------------------------------------------------------
   GLOBAL SECTION RHYTHM
----------------------------------------------------------- */
.inv-section {
  padding: 80px 0;
  text-align: center;
}

/* Remove accidental white gap between sections */
.inv-verification {
  padding-bottom: 40px !important;
}

.inv-process {
  padding-top: 40px !important;
}

/* -----------------------------------------------------------
   BOXED ZIMGERM POSITIONING SECTIONS
   (Why Investors Choose Zimgerm, Our Process, Why Zimgerm Is Different)
----------------------------------------------------------- */
.inv-boxed {
  background: #F5F7FA; /* slightly darker deep-earth */
  border-radius: 16px;
  padding: 60px 48px;
  max-width: 1100px;
  margin: 0 auto 80px;
}

/* Ensure boxed sections don’t collapse spacing */
.inv-boxed .inv-container {
  max-width: 900px;
  margin: 0 auto;
}

/* -----------------------------------------------------------
   OUR PROCESS — LIST STYLING
----------------------------------------------------------- */
.inv-process {
  background: #F5F7FA; /* light deep-earth like Project Owners */
}

/* Center the list block */
.inv-steps {
  margin: 32px auto 0;
  padding: 0;
  display: inline-block;
  text-align: left;
  max-width: 900px;
  line-height: 1.6 !important;
}

/* Restore numbered bullets */
.inv-steps {
  list-style: decimal !important;
  list-style-position: outside !important;
  padding-left: 32px !important;
}

/* List item spacing */
.inv-steps li {
  margin-bottom: 16px;
}

/* Reset theme overrides */
.inv-steps,
.inv-steps li {
  background: none !important;
  background-image: none !important;
}

/* -----------------------------------------------------------
   HERO PARAGRAPH IMPROVEMENTS
----------------------------------------------------------- */
section.inv-hero.inv-section p.inv-body-l {
  max-width: 900px !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  line-height: 1.55 !important;
  text-align: center !important;
  font-weight: 300 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hero spacing */
.inv-hero .inv-container {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}

/* -----------------------------------------------------------
   WHO WE WORK WITH — LIGHT SUPPORTING SECTION
----------------------------------------------------------- */
.inv-partners {
  background: #Ffff; /* light earth */
}

.inv-partners .inv-list {
  max-width: 700px;
  margin: 24px auto 0;
  text-align: left;
  padding-left: 24px;
  line-height: 1.6;
}

/* -----------------------------------------------------------
   CTA SECTION
----------------------------------------------------------- */
.inv-cta .inv-container {
  max-width: 900px;
  margin: 0 auto;
}

.inv-cta .inv-button {
  margin-top: 24px;
}


/* HERO PARAGRAPH FIX */
section.inv-hero.inv-section p.inv-body-l {
  max-width: 900px !important;        /* tighter, premium width */
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;       /* clean, true centering */
  line-height: 1.55 !important;        /* no more robotic spacing */
  font-weight: 300 !important;         /* elegant, institutional */
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}


.inv-hero .inv-container {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}


/* HERO PARAGRAPH FIX — CORRECT SELECTOR */
section.inv-hero.inv-section p.inv-body-l {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  line-height: 1.55 !important;
  font-weight: 300 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}


section.inv-hero.inv-section p.inv-body-l {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  line-height: 1.55 !important;
  font-weight: 300 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
}


/* HERO OVERLAY — premium cinematic layer */
.inv-hero-overlay {
  position: relative;
  width: 100%;
  height: 100%;
}

.inv-hero-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.45); /* dark, warm, transparent */
  backdrop-filter: blur(2px);         /* softens the AI image subtly */
  z-index: 1;
}

/* Ensure text sits ABOVE the overlay */
.inv-hero-inner {
  position: relative;
  z-index: 2;
}




/* STRATEGIC CALLOUT — centered, premium, intentional */
.inv-callout {
  text-align: center;
  margin: 40px auto;
  padding: 32px 24px;
  background: #F5F7FA; /* light deep-earth tone */
  border-radius: 12px;
  max-width: 900px;
}

.inv-callout .inv-heading-s {
  text-align: center;
  margin: 0;
  line-height: 1.3;
}


/* OUR APPROACH */
.zg-section.zg-approach {
  background: #F4F1EC; /* light earth */
}

/* WHY ZIMGERM EXISTS */
.zg-section.zg-exists {
  background: #EDE9E3; /* slightly deeper earth */
}

/* OUR VISION */
.zg-section.zg-vision {
  background: #FFFFFF;
  color: #1A1F24; /* deep charcoal text */
}


/* WHAT WE BELIEVE */
.zg-section.zg-beliefs {
  background: #F7F7F7; /* soft neutral */
}

/* GERMANY × ZIMBABWE BRIDGE */
.zg-section.zg-bridge {
  background: #1A1F24; /* deep charcoal */
  color: #FFFFFF;
}


.zg-section.zg-vision h1,
.zg-section.zg-vision h2,
.zg-section.zg-vision h3,
.zg-section.zg-vision h4 {
  color: #1A1F24;
}


/* FIX WHITE TEXT ON WHITE BACKGROUND FOR VISION SECTION */
.zg-section.zg-vision {
  background: #FFFFFF;
  color: #1A1F24 !important;
}

.zg-section.zg-vision .zg-heading-l {
  color: #1A1F24 !important;
}


/* FIX WHITE TEXT ON WHITE BACKGROUND FOR VISION SECTION */
.zg-section.zg-vision {
  background: #FFFFFF;
  color: #1A1F24 !important;
}

.zg-section.zg-vision .zg-heading-l {
  color: #1A1F24 !important;
}


/* Fix white text on white for VISION section */
.zg-section.zg-vision .zg-body,
.zg-section.zg-vision .zg-body-s {
  color: #1A1F24 !important;
}


.zg-section.zg-vision .zg-heading-l,
.zg-section.zg-vision .zg-heading-xl {
  color: #1A1F24 !important;
}


.zg-section.zg-vision .zg-body,
.zg-section.zg-vision .zg-body-l,
.zg-section.zg-vision .zg-body-s {
  color: #1A1F24 !important;
}


/* FIX DARK TEXT ON DARK BACKGROUND FOR BRIDGE SECTION */
.zg-section.zg-bridge {
  background: #1A1F24; /* deep charcoal */
  color: #FFFFFF !important;
}



/* CTA WRAPPER */
.zg-cta {
  text-align: center;
  margin-top: 40px;
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

/* BASE BUTTON STYLE */
.zg-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

/* PRIMARY BUTTON */
.zg-btn-primary {
  background: #1A1F24;
  color: #FFFFFF;
}

.zg-btn-primary:hover {
  background: #1A1F24;
}

/* SECONDARY BUTTON */
.zg-btn-secondary {
  background: transparent;
  color: #1A1F24;
  border: 2px solid #1A1F24;
}

.zg-btn-secondary:hover {
  background: #1A1F24;
  color: #FFFFFF;
}


/* CTA WRAPPER */
.zg-cta {
  text-align: center;
  margin-top: 40px;
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

/* BASE BUTTON STYLE */
.zg-btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

/* PRIMARY BUTTON — Zimgerm Deep Charcoal */
.zg-btn-primary {
  background: #1A1F24;
  color: #FFFFFF;
}

.zg-btn-primary:hover {
  background: #000000;
}

/* SECONDARY BUTTON — Earth-tone outline */
.zg-btn-secondary {
  background: transparent;
  color: #1A1F24;
  border: 2px solid #1A1F24;
}

.zg-btn-secondary:hover {
  background: #1A1F24;
  color: #FFFFFF;
}


.zg-section.zg-bridge .zg-btn-secondary {
  border-color: #FFFFFF;
  color: #FFFFFF;
}

.zg-section.zg-bridge .zg-btn-secondary:hover {
  background: #FFFFFF;
  color: #1A1F24;
}


/* OVERRIDE WORDPRESS DEFAULT BUTTON COLORS */
.wp-block-button__link.zg-btn-primary {
  background: #1A1F24 !important;
  color: #FFFFFF !important;
}

.wp-block-button__link.zg-btn-secondary {
  background: transparent !important;
  border: 2px solid #1A1F24 !important;
  color: #1A1F24 !important;
}


.wp-block-button__link {
  background-color: inherit !important;
  color: inherit !important;
  border: none !important;
}


.zg-cta {
    background: #EDE9E3; /* Warm Earth Neutral */
    color: #1A1F24;
    border-radius: 16px;
}


/*.zg-cta {
    background: #C8A96A;  Zimgerm Gold Accent 
    color: #1A1F24;
    border-radius: 16px;
}*/


/* Zimgerm Boxed CTA */
.zg-cta {
    max-width: 1100px;
    margin: 60px auto;
    padding: 60px 48px;
    background: #FAF8F4; /* Deep Charcoal – Zimgerm Core */
    color: #FFFFFF;
    text-align: center;
    border-radius: 16px; /* Rounded corners */
    box-shadow: 0 8px 24px rgba(0,0,0,0.08); /* Premium lift */
}


/* Zimgerm Boxed Section */
.zg-section.zg-exists .zg-box {
    background: #FFFFFF; /* clean white card */
    border-radius: 16px; /* premium rounded corners */
    padding: 60px 48px;
    max-width: 1100px;
    margin: 0 auto;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06); /* subtle institutional lift */
}


/* Remove extra space before footer */
.zg-section:last-of-type {
    padding-bottom: 40px !important;
    margin-bottom: 0 !important;
}


/* Remove gap before footer on ABOUT page */
.zgfp-section {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.zgfp-body {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


/* CTA Buttons inside the boxed CTA */
.zg-cta .zg-btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
    margin: 10px;
}

/* Primary Button */
.zg-cta .zg-btn-primary {
    background: #FFFFFF;
    color: #1A1F24;
}

.zg-cta .zg-btn-primary:hover {
    background: #F4F1EC;
}

/* Secondary Button */
.zg-cta .zg-btn-secondary {
    background: transparent;
    border: 2px solid #FFFFFF;
    color: #FFFFFF;
}

.zg-cta .zg-btn-secondary:hover {
    background: #FFFFFF;
    color: #1A1F24;
}


.zgfp-section {
    padding-bottom: 40px !important;
}


/* MICRO-HEADER LABEL ABOVE SECTION TITLES */
.zg-micro {
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #7A7F87; /* soft institutional grey */
  margin-bottom: 8px;
  display: block;
}


/* Zimgerm Highlight Block */
.zg-highlight {
  background: #F4F1EC; /* warm neutral */
  border-left: 4px solid #C8A96A; /* subtle gold accent */
  padding: 24px 28px;
  margin: 40px 0;
  border-radius: 8px;
  font-size: 18px;
  line-height: 1.55;
  color: #1A1F24;
  font-weight: 500;
}


/* Zimgerm Vertical Accent Line */
.zg-accent {
  border-left: 3px solid #C8A96A; /* Zimgerm gold */
  padding-left: 20px;
  margin: 32px 0;
}


/* Zimgerm Sector Icons Row */
.zg-sectors {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  margin: 48px 0;
  flex-wrap: wrap;
}

.zg-sector {
  text-align: center;
  flex: 1 1 120px;
}

.zg-sector img {
  width: 48px;
  height: 48px;
  opacity: 0.85;
}

.zg-sector span {
  display: block;
  margin-top: 12px;
  font-size: 14px;
  color: #1A1F24;
  letter-spacing: 0.02em;
}


/* CTA Button Group */
.inv-cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 32px;
  flex-wrap: wrap;
}

.inv-button,
.inv-btn-secondary {
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

/* Primary CTA */
.inv-button {
  background: #1A1F24;
  color: #FFFFFF;
}

.inv-button:hover {
  background: #000000;
}

/* Secondary CTA */
.inv-btn-secondary {
  background: transparent;
  border: 2px solid #1A1F24;
  color: #1A1F24;
}

.inv-btn-secondary:hover {
  background: #1A1F24;
  color: #FFFFFF;
}


.inv-cta {
  background: #0A1A2F; /* Deep institutional blue */
  color: #FFFFFF;
  padding: 80px 40px;
  border-radius: 16px;
  text-align: center;
  margin-top: 60px;
}


.inv-cta .inv-button {
  background: #FFFFFF;
  color: #0A1A2F;
}

.inv-cta .inv-button:hover {
  background: #F4F1EC;
}

.inv-cta .inv-btn-secondary {
  border: 2px solid #FFFFFF;
  color: #FFFFFF;
}

.inv-cta .inv-btn-secondary:hover {
  background: #FFFFFF;
  color: #0A1A2F;
}


/* CTA Button Group */
.inv-cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 32px;
  flex-wrap: wrap;
}

.inv-button,
.inv-btn-secondary {
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

/* Primary CTA */
.inv-button {
  background: #FFFFFF;
  color: #0A1A2F; /* deep blue text */
}

.inv-button:hover {
  background: #F4F1EC;
}

/* Secondary CTA */
.inv-btn-secondary {
  background: transparent;
  border: 2px solid #FFFFFF;
  color: #FFFFFF;
}

.inv-btn-secondary:hover {
  background: #FFFFFF;
  color: #0A1A2F;
}


.inv-cta {
  background: #0A1A2F; /* deep institutional blue */
  color: #FFFFFF;
  padding: 80px 40px;
  border-radius: 16px;
  text-align: center;
  margin-top: 60px;
}

/* CTA Button Group */
.inv-cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 32px;
  flex-wrap: wrap;
}

/* Primary Button */
.inv-button {
  background: #FFFFFF;
  color: #0A1A2F;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.inv-button:hover {
  background: #F4F1EC;
}

/* Secondary Button */
.inv-btn-secondary {
  background: transparent !important;
  border: 2px solid #FFFFFF !important;
  color: #FFFFFF !important;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
  display: inline-block;
}

.inv-btn-secondary:hover {
  background: #FFFFFF !important;
  color: #0A1A2F !important;
}

/* Primary Button – Gold */
.inv-button {
  background: #C8A96A; /* Zimgerm gold */
  color: #0A1A2F;      /* deep blue text */
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.inv-button:hover {
  background: #B89255; /* slightly darker gold */
  color: #FFFFFF;
}

/* Secondary Button – White */
.inv-btn-secondary {
  background: #FFFFFF; /* solid white */
  color: #0A1A2F;      /* deep blue text */
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.inv-btn-secondary:hover {
  background: #F4F1EC; /* warm neutral */
  color: #0A1A2F;
}


/* ============================
   INVESTOR PORTAL CTA BLOCK
   ============================ */

/* CTA Background */
.inv-cta {
  background: #0A1A2F; /* deep institutional blue */
  color: #FFFFFF;
  padding: 80px 40px;
  border-radius: 16px;
  text-align: center;
  margin-top: 60px;
}

/* CTA Button Group */
.inv-cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 32px;
  flex-wrap: wrap;
}

/* PRIMARY BUTTON – GOLD */
.inv-button {
  background: #C8A96A; /* Zimgerm gold */
  color: #0A1A2F;      /* deep blue text */
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
  display: inline-block;
}

.inv-button:hover {
  background: #B89255; /* darker gold */
  color: #FFFFFF;
}

/* SECONDARY BUTTON – WHITE */
.inv-btn-secondary {
  background: #FFFFFF;
  color: #0A1A2F;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
  display: inline-block;
}

.inv-btn-secondary:hover {
  background: #F4F1EC; /* warm neutral */
  color: #0A1A2F;
}


/* CTA Button Group */
.inv-cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 32px;
  flex-wrap: wrap;
}

/* PRIMARY BUTTON – GOLD */
.inv-button {
  background: #C8A96A;
  color: #0A1A2F;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.inv-button:hover {
  background: #B89255;
  color: #FFFFFF;
}

/* SECONDARY BUTTON – WHITE */
.inv-btn-secondary {
  background: #FFFFFF;
  color: #0A1A2F;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.inv-btn-secondary:hover {
  background: #F4F1EC;
  color: #0A1A2F;
}


/* ============================
   FIXED CTA BUTTON COLORS
   ============================ */

/* PRIMARY BUTTON */
.inv-button {
  background: #C8A96A !important; /* Gold */
  color: #0A1A2F !important;      /* Deep blue text */
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-block !important;
}

.inv-button:hover {
  background: #B89255 !important; /* Darker gold */
  color: #FFFFFF !important;
}

/* SECONDARY BUTTON */
.inv-btn-secondary {
  background: #FFFFFF !important; /* Solid white */
  color: #0A1A2F !important;      /* Deep blue text */
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-block !important;
}

.inv-btn-secondary:hover {
  background: #F4F1EC !important; /* Warm neutral */
  color: #0A1A2F !important;
}


/* FIX CTA BUTTON ALIGNMENT */
.inv-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  flex-wrap: wrap;
}

.inv-button,
.inv-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* FIX CTA BUTTON ALIGNMENT */
.inv-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  flex-wrap: wrap;
}

/* PRIMARY BUTTON */
.inv-button {
  background: #C8A96A !important;
  color: #0A1A2F !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.inv-button:hover {
  background: #B89255 !important;
  color: #FFFFFF !important;
}

/* SECONDARY BUTTON */
.inv-btn-secondary {
  background: #FFFFFF !important;
  color: #0A1A2F !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.inv-btn-secondary:hover {
  background: #F4F1EC !important;
  color: #0A1A2F !important;
}


/* FIX CTA BUTTON ALIGNMENT */
.inv-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  flex-wrap: wrap;
}

/* PRIMARY BUTTON */
.inv-button {
  background: #C8A96A !important;
  color: #0A1A2F !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.inv-button:hover {
  background: #B89255 !important;
  color: #FFFFFF !important;
}

/* SECONDARY BUTTON */
.inv-btn-secondary {
  background: #FFFFFF !important;
  color: #0A1A2F !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.inv-btn-secondary:hover {
  background: #F4F1EC !important;
  color: #0A1A2F !important;
}
/* FIX CTA BUTTON ALIGNMENT */
.inv-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  flex-wrap: wrap;
}

/* PRIMARY BUTTON */
.inv-button {
  background: #C8A96A !important;
  color: #0A1A2F !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.inv-button:hover {
  background: #B89255 !important;
  color: #FFFFFF !important;
}

/* SECONDARY BUTTON */
.inv-btn-secondary {
  background: #FFFFFF !important;
  color: #0A1A2F !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}


.inv-btn-secondary:hover {
  background: #F4F1EC !important;
  color: #0A1A2F !important;
}


/* UNIVERSAL CTA BUTTON RESET */
.inv-cta-buttons a {
  all: unset;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  cursor: pointer !important;

  /* SHARED SPACING */
  padding: 14px 28px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  height: auto !important;
}

/* PRIMARY BUTTON */
.inv-button {
  background: #fff !important;
  color: #0A1A2F !important;
  border: none !important;
}

/* SECONDARY BUTTON */
.inv-btn-secondary {
  background: #FFFFFF !important;
  color: #0A1A2F !important;
  border: none !important;
}

/* HOVER STATES */
.inv-button:hover {
  background: #B89255 !important;
  color: #FFFFFF !important;
}

.inv-btn-secondary:hover {
  background: #F4F1EC !important;
  color: #0A1A2F !important;
}

/* ALIGNMENT OF THE BUTTON GROUP */
.inv-cta-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}


/* ============================
   DATA SNAPSHOT BAR
   ============================ */

.inv-data-bar {
  background: #F4F1EC;
  padding: 60px 0;
}

.inv-data-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  text-align: center;
}

.inv-data-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.inv-data-value {
  font-size: 42px;
  font-weight: 700;
  color: #0A1A2F;
  margin-bottom: 8px;
}

.inv-data-label {
  font-size: 16px;
  font-weight: 500;
  color: #1A1F24;
  opacity: 0.8;
}

/* Responsive */
@media (max-width: 900px) {
  .inv-data-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}

@media (max-width: 600px) {
  .inv-data-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================
   INVESTOR ONBOARDING PATH
   ============================ */

.inv-onboarding {
  background: #FFFFFF;
  padding: 80px 0;
}

.inv-onboarding-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  margin-top: 40px;
}

.inv-step {
  text-align: center;
  padding: 20px;
}

.inv-step-number {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #0A1A2F;
  color: #FFFFFF;
  font-size: 24px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px auto;
}

.inv-step-title {
  font-size: 20px;
  font-weight: 700;
  color: #0A1A2F;
  margin-bottom: 8px;
}

.inv-step-text {
  font-size: 16px;
  color: #1A1F24;
  opacity: 0.85;
}

/* Responsive */
@media (max-width: 900px) {
  .inv-onboarding-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .inv-onboarding-steps {
    grid-template-columns: 1fr;
  }
}


/* ============================
   FEATURED PROJECTS
   ============================ */

.inv-featured-projects {
  background: #FFFFFF;
  padding: 80px 0;
}

.inv-project-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 40px;
}

.inv-project-card {
  background: #F4F1EC;
  padding: 32px;
  border-radius: 16px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.inv-project-title {
  font-size: 20px;
  font-weight: 700;
  color: #0A1A2F;
}

.inv-project-text {
  font-size: 16px;
  color: #1A1F24;
  opacity: 0.85;
}

.inv-project-card .inv-button {
  margin-top: auto;
}

/* Responsive */
@media (max-width: 900px) {
  .inv-project-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .inv-project-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================
   FEATURED PROJECTS CAROUSEL
   ============================ */

.inv-featured-carousel {
  background: #FFFFFF;
  padding: 80px 0;
}

.inv-carousel {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 20px 0;
  scrollbar-width: none; /* Firefox */
}

.inv-carousel::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

.inv-project-card {
  min-width: 300px;
  max-width: 320px;
  background: #F4F1EC;
  padding: 32px;
  border-radius: 16px;
  scroll-snap-align: start;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.inv-project-title {
  font-size: 20px;
  font-weight: 700;
  color: #0A1A2F;
}

.inv-project-text {
  font-size: 16px;
  color: #1A1F24;
  opacity: 0.85;
}

.inv-project-card .inv-button {
  margin-top: auto;
}


/* ============================
   FEATURED PROJECTS CAROUSEL
   ============================ */

.inv-featured-carousel {
  background: #FFFFFF;
  padding: 80px 0;
  position: relative;
}

/* ARROWS */
.inv-carousel-arrows {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.inv-arrow {
  background: #0A1A2F;
  color: #FFFFFF;
  border: none;
  padding: 10px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 20px;
  font-weight: 700;
  transition: background 0.25s ease;
}

.inv-arrow:hover {
  background: #C8A96A;
  color: #0A1A2F;
}

/* CAROUSEL */
.inv-carousel {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 20px 0;
  scrollbar-width: none;
}

.inv-carousel::-webkit-scrollbar {
  display: none;
}

.inv-project-card {
  min-width: 300px;
  max-width: 320px;
  background: #F4F1EC;
  padding: 32px;
  border-radius: 16px;
  scroll-snap-align: start;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* TAGS */
.inv-tag {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  margin-bottom: 8px;
}

.inv-tag-energy { background: #0A7B83; }
.inv-tag-agriculture { background: #4C8C2B; }
.inv-tag-tourism { background: #C87F2A; }
.inv-tag-mining { background: #6A4E23; }
.inv-tag-manufacturing { background: #2A4C7B; }
.inv-tag-infrastructure { background: #7A2A8C; }

/* TEXT */
.inv-project-title {
  font-size: 20px;
  font-weight: 700;
  color: #0A1A2F;
}

.inv-project-text {
  font-size: 16px;
  color: #1A1F24;
  opacity: 0.85;
}

.inv-project-card .inv-button {
  margin-top: auto;
}


.zg-sectors {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px;
  text-align: center;
}

.zg-sector {
  display: flex;
  flex-direction: column;
  align-items: center;   /* centers icon + label horizontally */
  justify-content: center;
}

.zg-sector img {
  width: 64px;           /* adjust as needed */
  height: 64px;          /* keeps icons consistent */
  object-fit: contain;
  display: block;        /* removes inline baseline shift */
  margin-bottom: 12px;   /* clean spacing above label */
}

.zg-sector span {
  font-size: 16px;
  font-weight: 600;
  color: #0A1A2F;
}

/* ============================
   HERO — RESPONSIVE FULL BLEED
   ============================ */

.inv-hero {
  position: relative;
  width: 100%;
  min-height: 60vh; /* keeps hero tall and responsive */
  overflow: hidden;
}

.inv-hero img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;        /* prevents weird cropping */
  object-position: center;  /* keeps focus centered */
  z-index: 1;
}

.inv-hero-overlay {
  position: absolute;
  inset: 0;                 /* top:0; right:0; bottom:0; left:0; */
  z-index: 2;
  background: rgba(10, 26, 47, 0.45);
  display: flex;
  flex-direction: column;
  justify-content: center;  /* vertical centering */
  align-items: center;      /* horizontal centering */
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;
}


/* Increase hero height without breaking layout */
.inv-hero {
  min-height: 85vh; /* increase from whatever it was */
}

.inv-hero img {
  object-fit: cover;
  object-position: center;
}


.inv-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  /* Gradient overlay */
  background: linear-gradient(
    rgba(10, 26, 47, 0.65),   /* top darker */
    rgba(10, 26, 47, 0.35)    /* bottom lighter */
  );

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;

  /* Fade-in animation */
  animation: heroFade 1.2s ease-out forwards;
  opacity: 0;
}


@keyframes heroFade {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.inv-hero {
  position: relative;
  width: 100%;
  min-height: 75vh; /* adjust as needed */
  overflow: hidden;
}

.inv-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}


@media (max-width: 768px) {
  .inv-hero {
    min-height: 60vh;
  }

  .inv-hero-overlay {
    padding: 0 16px;
  }

  .inv-hero-overlay h1 {
    font-size: 28px;
    line-height: 1.2;
  }

  .inv-hero-overlay p {
    font-size: 16px;
  }
}


.inv-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  /* Lighter gradient overlay */
  background: linear-gradient(
    rgba(10, 26, 47, 0.45),   /* top */
    rgba(10, 26, 47, 0.20)    /* bottom */
  );

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;

  /* Fade-in animation */
  animation: heroFade 1.2s ease-out forwards;
  opacity: 0;
}


/* HERO — lighter gradient + taller height */
.inv-hero {
  position: relative;
  width: 100%;
  min-height: 88vh; /* slightly taller for a cinematic feel */
  overflow: hidden;
}

.inv-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

.inv-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  /* Lighter gradient overlay */
  background: linear-gradient(
    rgba(10, 26, 47, 0.35),   /* top — lighter */
    rgba(10, 26, 47, 0.15)    /* bottom — very light */
  );

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;

  /* Fade-in animation */
  animation: heroFade 1.2s ease-out forwards;
  opacity: 0;
}

/* Fade-in keyframes */
@keyframes heroFade {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile optimization */
@media (max-width: 768px) {
  .inv-hero {
    min-height: 65vh; /* taller than before, but still balanced */
  }

  .inv-hero-overlay {
    padding: 0 16px;
  }

  .inv-hero-overlay h1 {
    font-size: 28px;
    line-height: 1.2;
  }

  .inv-hero-overlay p {
    font-size: 16px;
  }
}


.inv-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  /* Lighter gradient with px control */
  background: linear-gradient(
    to bottom,
    rgba(10, 26, 47, 0.20) 0px,      /* very light at the top */
    rgba(10, 26, 47, 0.22) 120px,    /* slightly darker after 120px */
    rgba(10, 26, 47, 0.12) 400px,    /* fades more */
    rgba(10, 26, 47, 0.02) 100%      /* almost transparent at bottom */
  );

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;

  animation: heroFade 1.2s ease-out forwards;
  opacity: 0;
}


.inv-benefits {
  background:  #222C38; /* refined deep blue-grey */
  padding: 80px 0;
  color: #FFFFFF;
}



/* FINAL OVERRIDE — "What You Gain" section */
.inv-gain {
  background: #132033 !important; /* refined deep blue-grey */
  color: #FFFFFF !important;
  padding: 80px 0 !important; /* consistent spacing */
  position: relative;
  z-index: 1;
}


.zg-search-wrapper {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.zg-search-input {
  width: 360px;
  padding: 14px 18px;
  border-radius: 8px;
  border: 1px solid #D0D4DA;
  font-size: 16px;
}

.zg-search-btn {
  padding: 14px 24px;
  background: #0A1A2F;
  color: #fff;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-weight: 600;
}


/* ========================= */
/* HERO */
/* ========================= */
.zg-hero {
  position: relative;
  width: 100%;
  min-height: 70vh;
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  text-align: center;
  padding: 120px 20px;
}

.zg-hero-content {
  max-width: 760px;
  margin: 0 auto;
  color: #FFFFFF;
}

/* SEARCH BAR */
.zg-search-wrapper {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.zg-search-input {
  width: 360px;
  padding: 14px 18px;
  border-radius: 8px;
  border: 1px solid #D0D4DA;
  font-size: 16px;
}

.zg-search-btn {
  padding: 14px 24px;
  background: #0A1A2F;
  color: #fff;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-weight: 600;
}


/* ========================= */
/* SECTION SPACING */
/* ========================= */
.zg-section {
  padding: 100px 0;
}

.zg-section-dark {
  padding: 120px 0;
  background: #0A1A2F;
  color: #FFFFFF;
  text-align: center;
}


/* ========================= */
/* GRID */
/* ========================= */
.zg-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}


/* ========================= */
/* CARDS */
/* ========================= */
.zg-card {
  background: #FFFFFF;
  padding: 32px;
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  transition: all 0.25s ease;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}

.zg-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}


/* ========================= */
/* INSIGHT BLOCK */
/* ========================= */
.zg-insight-block {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}


/* ========================= */
/* RESPONSIVE */
/* ========================= */
@media (max-width: 768px) {
  .zg-grid-3 {
    grid-template-columns: 1fr;
  }

  .zg-search-input {
    width: 100%;
  }

  .zg-hero {
    min-height: 55vh;
    padding: 80px 20px;
  }
}


.zg-section {
  position: relative;
  z-index: 5;
  background: #FFFFFF !important;
  color: #0A1A2F !important;
}


.zg-section:nth-of-type(2) .zg-body,
.zg-section:nth-of-type(2) .zg-body-s {
  color: inherit !important;
}


/* ========================= */
/* SECTION RHYTHM */
/* ========================= */

/* INTRO — white */
.zg-section-intro {
  background: #FFFFFF !important;
  color: #0A1A2F !important;
}

/* GRID — light slate (Zimgerm institutional tone) */
.zg-section-grid {
  background: #F7F9FB !important; /* soft institutional off-white */
  color: #0A1A2F !important;
}

/* INSIGHT — deep blue-grey */
.zg-section-insight {
  background: #132033 !important; /* your signature deep blue-grey */
  color: #FFFFFF !important;
}

/* CTA — already dark, but ensure consistency */
.zg-section-cta {
  background: #0A1A2F !important;
  color: #FFFFFF !important;
}


.zg-section .zg-body,
.zg-section .zg-body-s,
.zg-section .zg-heading-m,
.zg-section .zg-heading-l {
  color: inherit !important;
}


/* ========================= */
/* SECTION RHYTHM — FINAL */
/* ========================= */

/* INTRO — white, dark text */
.zg-section-intro {
background: #FFFF !important;
  color: #0A1A2F !important;
}

/* GRID — deep blue-grey bg, dark text */
.zg-section-grid {
  background: #132033 !important; /* Zimgerm deep blue-grey */
  color: #E6ECF2 !important;       /* soft slate text for readability */
}

.zg-section-grid .zg-heading-m,
.zg-section-grid .zg-body-s,
.zg-section-grid .zg-body {
  color: #0A1A2F !important;
}

/* INSIGHT — light grey / light earth, dark text */
.zg-section-insight {
  background: #F4F5F2 !important; /* light earth-grey */
  color: #0A1A2F !important;
}

.zg-section-insight .zg-heading-l,
.zg-section-insight .zg-body {
  color: #0A1A2F !important;
}

/* CTA — dark section (already correct) */
.zg-section-cta {
  background: #0A1A2F !important;
  color: #FFFFFF !important;
}


/* Force card text to be dark on white card backgrounds */
.zg-card,
.zg-card h3,
.zg-card p {
  color: #0A1A2F !important;
}


.zg-section:nth-of-type(3) .zg-card {
  color: inherit !important;
}


/* Remove all card dividers globally */
.zg-card {
  border: none !important;
  box-shadow: 0 0 0 rgba(0,0,0,0) !important;
}


/* Kill old nth-of-type card styling completely */
.zg-section:nth-of-type(3) .zg-card,
.zg-section:nth-of-type(3) .zg-card::before,
.zg-section:nth-of-type(3) .zg-card::after {
  border: none !important;
  box-shadow: none !important;
}


/* Final card style */
.zg-card {
  background: #FFFFFF !important;
  border: none !important;
  border-radius: 16px;
  padding: 32px;
  text-decoration: none;
  color: #0A1A2F !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
  transition: all 0.25s ease;
}

.zg-card h3,
.zg-card p {
  color: #0A1A2F !important;
}

.zg-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
}


/* Kill the rogue divider pseudo-element */
.zg-card::before {
  content: none !important;
  display: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}


.zg-section-heading {
  background: #F4F5F2 !important; /* light institutional grey */
  color: #0A1A2F !important;
  padding: 80px 0 !important;
}


.zg-card-icon {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16px;
}


/* Test section background */
.zg-section-test {
  background: #F7F9FB;
  padding: 80px 0;
}

/* Test grid */
.zg-test-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* Test cards */
.zg-test-card {
  background: #FFFFFF;
  padding: 32px;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}

/* Test icons (centered, no constraints) */
.zg-test-icon {
  display: block;
  margin: 0 auto 16px auto;
  width: 48px;
  height: auto;
}


/* ============================================================
   ABOUT PAGE — FORCE OVERRIDE OF NTH-CHILD BACKGROUNDS
   ============================================================ */

/* VISION */
.zg-section.zg-vision {
  background: #EDE7DD !important;
}

/* EXISTS */
.zg-section.zg-exists {
  background: #FAF9F7 !important;
}

/* APPROACH */
.zg-section.zg-approach {
  background: #0A1A2F !important;
  color: #FFFFFF !important;
}

/* BELIEFS */
.zg-section.zg-beliefs {
  background: #EDE7DD !important;
}

/* BRIDGE */
.zg-section.zg-bridge {
  background: #FAF9F7 !important;
}


.zg-section.zg-bridge {
  background: #FAF9F7 !important; /* Off‑White */
  color: #0A1A2F !important;      /* Deep Blue text */
}


.section.zg-section.zg-approach {
  position: relative;
  background: #0A1A2F !important;
  color: #FFFFFF !important;
  overflow: hidden;
}

section.zg-section.zg-approach::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    url("https://design.zimgerm.de/wp-content/uploads/2026/01/berlin-2918330_1280.jpg") left center/50% auto no-repeat,
    url("https://design.zimgerm.de/wp-content/uploads/2026/01/hamburg-3821926_1280.jpg") right center/50% auto no-repeat;
  opacity: 0.18;
  pointer-events: none;
  z-index: 0;
}

section.zg-section.zg-approach > * {
  position: relative;
  z-index: 1;
}
