:root {
    --zi-navy: #0e6c74;
    --zi-navy-dark: #075159;
    --zi-burgundy: #901a42;
    --zi-teal: #0e6c74;
    --zi-gold: #bb8f24;
    --zi-ink: #24363a;
    --zi-muted: #5e687c;
    --zi-surface: #faf9fc;
    --zi-line: #dfe3ea;
    --zi-white: #fff;
    --zi-container: 1200px;
    --zi-section: clamp(4.5rem, 8vw, 8rem);
}

html { scroll-behavior: smooth; }
body {
    font-family: "Manrope", sans-serif !important;
    color: var(--zi-ink);
    background: var(--zi-white);
    font-size: 16px;
    line-height: 1.7;
    overflow-x: hidden;
}
body, p, a, button, input, textarea, select { font-family: "Manrope", sans-serif !important; }
h1, h2, h3, h4, h5, h6 {
    color: var(--zi-navy);
    font-weight: 700 !important;
    letter-spacing: -0.035em;
    line-height: 1.12;
}
p { color: var(--zi-muted); }
img { max-width: 100%; height: auto; }
.container { max-width: var(--zi-container); }

/* Header */
.top-utility-bar { display: none !important; }
.zihi-header {
    background: rgba(255,255,255,.98) !important;
    border-top: 3px solid var(--zi-navy-dark);
    border-bottom: 1px solid rgba(14,108,116,.14);
    box-shadow: 0 10px 30px rgba(14,81,89,.07) !important;
    backdrop-filter: blur(16px);
}
.header-container {
    max-width: 1440px;
    height: 82px;
    min-height: 82px;
    margin: 0 auto;
    padding: 0 40px;
    gap: clamp(24px, 4vw, 64px);
}
.header-brand { padding-right: clamp(20px, 3vw, 42px); border-right: 1px solid var(--zi-line); }
.brand-logo { width: auto !important; height: 52px !important; object-fit: contain; }
.header-nav { gap: 6px !important; justify-content: flex-start; }
.header-nav .nav-link {
    color: #314a4e !important;
    font-size: .925rem !important;
    font-weight: 650 !important;
    padding: 12px 15px !important;
    border-radius: 6px !important;
    border: 0 !important;
    background: transparent !important;
    letter-spacing: -.01em;
}
.header-nav .nav-link > i:first-child { display: none !important; }
.header-nav .nav-link .fa-chevron-down { font-size: .68rem; margin-left: 4px !important; transition: transform .2s ease; }
.header-nav .nav-link:hover { color: var(--zi-navy-dark) !important; background: rgba(14,108,116,.065) !important; }
.header-nav .nav-link.active {
    color: var(--zi-burgundy) !important;
    background: rgba(144,26,66,.065) !important;
}
.header-nav .nav-link.active::after {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 5px;
    height: 2px;
    border-radius: 2px;
    background: var(--zi-burgundy);
}
.nav-dropdown { padding-bottom: 0; }
.nav-dropdown:hover .fa-chevron-down { transform: rotate(180deg); }
.header-nav .dropdown-menu {
    top: calc(100% + 16px) !important;
    min-width: 250px;
    background: #fff !important;
    border: 1px solid var(--zi-line) !important;
    border-top: 3px solid var(--zi-burgundy) !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 45px rgba(14,81,89,.16) !important;
    padding: 8px !important;
}
.dropdown-item { color: #314a4e !important; border-radius: 5px !important; font-size: .875rem; font-weight: 550; padding: 11px 13px !important; }
.dropdown-item:hover { background: rgba(14,108,116,.065) !important; color: var(--zi-burgundy) !important; }
.dropdown-submenu-menu { border-left-color: rgba(14,108,116,.2); }
.primary-btn, .btn {
    border-radius: 0 !important;
    font-weight: 700 !important;
    letter-spacing: -.01em;
    box-shadow: none !important;
}
.primary-btn, .btn-primary {
    background: var(--zi-navy) !important;
    border: 1px solid var(--zi-navy) !important;
    color: white !important;
}
.primary-btn:hover, .btn-primary:hover { background: var(--zi-burgundy) !important; border-color: var(--zi-burgundy) !important; transform: none !important; }
.btn-secondary { background: var(--zi-burgundy) !important; border-color: var(--zi-burgundy) !important; }
.btn-outline-light:hover { color: var(--zi-navy) !important; }
.header-actions .primary-btn {
    min-height: 46px;
    padding: 12px 22px !important;
    background: var(--zi-burgundy) !important;
    border-color: var(--zi-burgundy) !important;
    border-radius: 6px !important;
    letter-spacing: 0;
}
.header-actions .primary-btn:hover { background: #751535 !important; border-color: #751535 !important; transform: translateY(-1px) !important; }
.header-actions .primary-btn i { display: none; }
.mobile-menu-toggle {
    background: transparent !important;
    border: 1px solid rgba(14,108,116,.35) !important;
}
.mobile-menu-toggle span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    min-height: 2px;
    background: var(--zi-teal) !important;
    opacity: 1 !important;
}
.mobile-menu-toggle.active span:nth-child(2) { opacity: 0 !important; }

/* Shared public-page treatment */
main > section { position: relative; }
main > section.py-5 { padding-top: var(--zi-section) !important; padding-bottom: var(--zi-section) !important; }
.bg-light, .bg-light-primary, .bg-light-secondary { background: var(--zi-surface) !important; }
.text-primary { color: var(--zi-navy) !important; }
.text-secondary { color: var(--zi-teal) !important; }
.text-muted { color: var(--zi-muted) !important; }
.text-white { color: #fff !important; }
.text-white-90 { color: rgba(255,255,255,.9) !important; }
section.text-white h1,
section.text-white h2,
section.text-white h3,
section.text-white h4,
section.text-white h5,
section.text-white h6,
section.text-white p,
.hero-section h1,
.hero-section h2,
.hero-section h3,
.hero-section p,
.hero-three-prong h1,
.hero-three-prong h2,
.hero-three-prong p,
.blog-hero h1,
.blog-hero h2,
.blog-hero p,
.approach-band > .container > .row > div:first-child h2,
.approach-band > .container > .row > div:first-child p,
.community-section h1,
.community-section h2,
.community-section h3,
.community-section p,
.stats-hero h1,
.stats-hero h2,
.stats-hero h3,
.stats-hero p {
    color: #fff !important;
}
section.text-white .text-accent,
.hero-three-prong .text-accent,
.blog-hero .text-accent,
.approach-band .text-accent { color: var(--zi-gold) !important; }
section.text-white .card h1,
section.text-white .card h2,
section.text-white .card h3,
section.text-white .card h4,
section.text-white .card h5,
section.text-white .card h6 { color: var(--zi-navy) !important; }
section.text-white .card p { color: var(--zi-muted) !important; }
.card {
    border: 1px solid var(--zi-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: white;
}
.card:hover { transform: none !important; box-shadow: 0 12px 32px rgba(11,27,69,.08) !important; }

/* Explicit contrast surfaces. These override global heading/paragraph colors. */
.zi-surface { border-color: transparent !important; }
.zi-surface--teal { background: var(--zi-teal) !important; color: #fff !important; }
.zi-surface--burgundy { background: var(--zi-burgundy) !important; color: #fff !important; }
.zi-surface--gold { background: var(--zi-gold) !important; color: #172124 !important; }
.zi-surface--white { background: #fff !important; color: var(--zi-ink) !important; }
.zi-surface--overlay { color: #fff !important; }
.zi-surface--teal :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a),
.zi-surface--burgundy :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a),
.zi-surface--overlay :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a) {
    color: #fff !important;
}
.zi-surface--gold :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a) {
    color: #172124 !important;
}
.zi-surface--white :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a) {
    color: var(--zi-ink) !important;
}
.bg-primary.text-white :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a),
.bg-secondary.text-white :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a),
.bg-dark.text-white :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a),
.card.text-white:not(.bg-accent) :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a) {
    color: #fff !important;
}
.bg-accent.text-white,
.bg-accent.text-white :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,span,i,a) {
    color: #172124 !important;
}
.zi-surface ul,
.zi-surface ol { margin-bottom: 0; }

/* Operational-model media uses native responsive images instead of CSS backgrounds. */
.stage-media-column { min-height: 400px; }
.stage-media {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 400px;
    overflow: hidden;
    background: #e8eaf0;
}
.stage-media__image {
    display: block;
    width: 100%;
    height: 100% !important;
    min-height: 400px;
    object-fit: cover;
}

/* Active stage controls use foreground colors tested against each brand surface. */
.stage-step.active .stage-step-title,
.stage-step.active .stage-step-num,
.stage-step.active .stage-step-caption { color: rgba(255,255,255,.92) !important; }
.stage-step[data-stage="scaleup"].active {
    background: var(--zi-gold) !important;
    color: #172124 !important;
}
.stage-step[data-stage="scaleup"].active .stage-step-title,
.stage-step[data-stage="scaleup"].active .stage-step-num,
.stage-step[data-stage="scaleup"].active .stage-step-caption { color: #172124 !important; }
.process-step.stage-scaleup { color: #755607 !important; }
.btn-accent { background: var(--zi-gold) !important; border-color: var(--zi-gold) !important; color: #172124 !important; }
.btn-accent :is(i,span) { color: #172124 !important; }
.rounded, .rounded-3, .rounded-4, .rounded-5 { border-radius: 0 !important; }
.badge, .rounded-pill { border-radius: 2px !important; }
.form-control, .form-select {
    min-height: 50px;
    border: 1px solid #cfd5df;
    border-radius: 0 !important;
    color: var(--zi-ink);
}
.form-control:focus, .form-select:focus {
    border-color: var(--zi-navy);
    box-shadow: 0 0 0 3px rgba(19,41,100,.12) !important;
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 3px solid #d09a2d !important;
    outline-offset: 3px;
}

/* Corporate homepage */
.zi-hero { min-height: 680px; display: grid; align-items: center; background: var(--zi-surface); overflow: hidden; }
.zi-hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 680px; }
.zi-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 80px 70px 80px 0; }
.zi-eyebrow, .zi-section-label {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--zi-burgundy);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .76rem;
    font-weight: 800;
    margin-bottom: 24px;
}
.zi-eyebrow::before, .zi-section-label::before { content: ""; width: 34px; height: 2px; background: var(--zi-gold); }
.zi-hero h1 { font-size: clamp(3.25rem, 6.5vw, 5.9rem); max-width: 780px; margin-bottom: 28px; }
.zi-hero-copy > p { font-size: clamp(1.05rem, 1.6vw, 1.25rem); max-width: 680px; margin-bottom: 34px; }
.zi-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.zi-actions .btn { padding: 14px 24px; }
.zi-btn-outline { background: transparent !important; color: var(--zi-navy) !important; border: 1px solid var(--zi-navy) !important; }
.zi-btn-outline:hover { background: var(--zi-navy) !important; color: #fff !important; }
.zi-hero-media { min-height: 680px; position: relative; }
.zi-hero-media picture,
.zi-image picture,
.img-zoom-container picture,
.headshot-frame picture { display: block; width: 100%; height: 100%; }
.zi-hero-media img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.zi-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(11,27,69,.28)); }
.zi-section { padding: var(--zi-section) 0; }
.zi-section--soft { background: var(--zi-surface); }
.zi-section--navy { background: var(--zi-navy); color: white; }
.zi-section--navy h2, .zi-section--navy h3, .zi-section--navy p { color: white; }
.zi-section-head { display: grid; grid-template-columns: 180px 1fr; gap: 40px; margin-bottom: 62px; }
.zi-section-head h2 { font-size: clamp(2.25rem, 4vw, 3.5rem); max-width: 850px; }
.zi-section-number { color: var(--zi-gold); font-weight: 800; font-size: .82rem; letter-spacing: .13em; }
.zi-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 110px); align-items: center; }
.zi-split h2 { font-size: clamp(2.2rem, 4vw, 3.45rem); margin-bottom: 28px; }
.zi-split p { font-size: 1.08rem; }
.zi-image { aspect-ratio: 4/3; overflow: hidden; background: #e8eaf0; }
.zi-image img { width: 100%; height: 100%; object-fit: cover; }
.zi-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.35); border-left: 1px solid rgba(255,255,255,.35); }
.zi-stat { padding: 38px 28px; border-right: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); }
.zi-stat strong { display: block; font-size: clamp(2.7rem, 5vw, 4.7rem); color: white; line-height: 1; margin-bottom: 16px; letter-spacing: -.05em; }
.zi-stat span { color: rgba(255,255,255,.78); }

/* Homepage challenge: restrained editorial statistic cards. */
.zi-challenge {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, var(--zi-navy-dark) 0%, var(--zi-teal) 58%, #0a626a 100%) !important;
}
.zi-challenge::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 420px;
    height: 420px;
    right: -210px;
    top: -250px;
    border: 1px solid rgba(187,143,36,.2);
    transform: rotate(28deg);
    pointer-events: none;
}
.zi-challenge .zi-section-head { margin-bottom: clamp(42px, 5vw, 64px); }
.zi-challenge .zi-section-number { display: block; margin-bottom: 10px; color: var(--zi-gold); }
.zi-challenge .zi-section-label { color: #fff; }
.zi-challenge .zi-section-head h2 { max-width: 930px; color: #fff; }
.zi-challenge .zi-section-head .lead { max-width: 790px; color: rgba(255,255,255,.82); }
.zi-challenge .zi-stat-grid {
    gap: 18px;
    border: 0;
}
.zi-challenge-stat {
    position: relative;
    min-width: 0;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    padding: clamp(26px, 2.5vw, 38px);
    background: rgba(7,81,89,.68);
    border: 1px solid rgba(255,255,255,.18);
    border-top: 3px solid var(--zi-gold);
    box-shadow: 0 22px 45px rgba(3,40,44,.17);
}
.zi-challenge-stat::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 38px;
    height: 38px;
    border-right: 1px solid rgba(187,143,36,.56);
    border-bottom: 1px solid rgba(187,143,36,.56);
    pointer-events: none;
}
.zi-stat-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    margin-bottom: 42px;
    background: rgba(187,143,36,.13);
    border: 1px solid rgba(214,175,74,.62);
    color: #f3ce70;
    font-size: 1.35rem;
}
.zi-challenge-stat .zi-stat-content { margin-top: 0; }
.zi-challenge-stat strong {
    margin-bottom: 18px;
    color: #fff;
    font-size: clamp(3.5rem, 5vw, 5rem);
}
.zi-challenge-stat span {
    display: block;
    max-width: 260px;
    color: rgba(255,255,255,.84);
    font-size: 1rem;
    line-height: 1.65;
}
.zi-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--zi-line); border-left: 1px solid var(--zi-line); }
.zi-feature { padding: 42px 34px; border-right: 1px solid var(--zi-line); border-bottom: 1px solid var(--zi-line); }
.zi-feature-index { color: var(--zi-burgundy); font-weight: 800; font-size: .78rem; letter-spacing: .12em; }
.zi-feature h3 { font-size: 1.5rem; margin: 42px 0 16px; }
.zi-feature a { color: var(--zi-navy); font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
.zi-cta { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.zi-cta h2 { font-size: clamp(2.25rem, 4.5vw, 4rem); max-width: 750px; margin: 0; }

/* Newsletter and footer */
.newsletter-section, .site-footer-main, .site-footer-bottom { background: var(--zi-navy-dark) !important; }
.newsletter-section {
    padding: 76px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.15);
    overflow: hidden;
}
.newsletter-shell {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
    gap: clamp(48px, 7vw, 96px);
    align-items: center;
    position: relative;
}
.newsletter-shell::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -180px;
    top: -190px;
    border: 1px solid rgba(187,143,36,.28);
    border-radius: 50%;
    pointer-events: none;
}
.newsletter-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--zi-gold);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.newsletter-eyebrow::before { content: ""; width: 30px; height: 2px; background: var(--zi-gold); }
.newsletter-intro h2 {
    color: #fff;
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    max-width: 540px;
    margin: 0 0 18px;
}
.newsletter-intro > p { color: rgba(255,255,255,.78); max-width: 520px; font-size: 1.04rem; margin-bottom: 24px; }
.newsletter-promise { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.68); font-size: .82rem; }
.newsletter-promise i { color: var(--zi-gold); }
.newsletter-card {
    position: relative;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-top: 3px solid var(--zi-gold) !important;
    border-radius: 0 !important;
    padding: 30px !important;
    box-shadow: none !important;
    backdrop-filter: blur(8px);
}
.newsletter-name-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.newsletter-submit-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: end; }
.newsletter-field label {
    display: block;
    color: rgba(255,255,255,.86);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .035em;
    margin-bottom: 7px;
}
.newsletter-input {
    min-height: 54px !important;
    width: 100%;
    background: #fff !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    padding: 13px 15px !important;
    color: var(--zi-ink) !important;
    font-size: .94rem;
    box-shadow: none !important;
}
.newsletter-input::placeholder { color: #89929f !important; opacity: 1 !important; }
.newsletter-input:focus { border-color: var(--zi-gold) !important; outline: 3px solid rgba(187,143,36,.24) !important; outline-offset: 0; }
.newsletter-btn {
    min-height: 54px !important;
    min-width: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 13px 20px !important;
    background: var(--zi-burgundy) !important;
    border: 1px solid var(--zi-burgundy) !important;
    border-radius: 0 !important;
    color: #fff !important;
}
.newsletter-btn:hover { background: #741334 !important; border-color: #741334 !important; transform: none !important; }
.newsletter-btn i { font-size: .78rem; transition: transform .2s ease; }
.newsletter-btn:hover i { transform: translateX(3px); }
.newsletter-message { min-height: 0; margin-top: 12px; font-size: .85rem; color: #fff; }
.newsletter-message:empty { display: none; }
.newsletter-message .alert { border-radius: 0 !important; margin: 0; }
.site-footer-main { padding-block: 72px !important; }
.site-footer h3, .site-footer h5 { letter-spacing: -.02em; }
.footer-links a, .site-footer a { color: rgba(255,255,255,.78) !important; }
.footer-links a:hover, .site-footer a:hover { color: white !important; }
.social-icon { border-radius: 0 !important; border: 1px solid rgba(255,255,255,.3) !important; background: transparent !important; }
#scroll-to-top { border-radius: 0 !important; }
.cookie-banner { border-radius: 0 !important; }

@media (max-width: 991.98px) {
    .header-container { height: 74px; min-height: 74px; padding: 0 20px; }
    .header-brand { padding-right: 22px; }
    .brand-logo { height: 46px !important; }
    .mobile-menu-toggle { display: flex !important; }
    .mobile-nav {
        top: 74px;
        max-height: calc(100vh - 77px);
        overflow-y: auto;
        border-radius: 0 !important;
        background: white !important;
        padding: 12px 20px 30px !important;
    }
    .mobile-nav-main,
    .mobile-nav-toggle,
    .mobile-subnav-link {
        width: 100%;
        min-height: 54px;
        display: flex;
        align-items: center;
        color: var(--zi-navy) !important;
        font-size: 1rem;
        font-weight: 650;
        line-height: 1.35;
        text-align: left;
        text-decoration: none;
        background: transparent;
        border: 0;
        border-bottom: 1px solid var(--zi-line);
        border-radius: 0 !important;
        padding: 14px 12px;
    }
    .mobile-nav-main:hover,
    .mobile-nav-main.active,
    .mobile-nav-toggle:hover,
    .mobile-nav-toggle.active,
    .mobile-subnav-link:hover,
    .mobile-subnav-link.active { color: var(--zi-burgundy) !important; background: rgba(144,26,66,.055); }
    .mobile-nav-toggle { justify-content: space-between; cursor: pointer; }
    .mobile-nav-toggle i { display: block !important; font-size: .72rem; transition: transform .2s ease; }
    .mobile-nav-group.is-open > .mobile-nav-toggle i { transform: rotate(180deg); }
    .mobile-subnav { background: var(--zi-surface); border-left: 2px solid var(--zi-gold); }
    .mobile-subnav[hidden] { display: none !important; }
    .mobile-subnav-link { min-height: 48px; padding-left: 26px; font-size: .92rem; font-weight: 550; }
    .mobile-nav-group--nested { margin: 0; }
    .mobile-nav-toggle--nested { min-height: 48px; padding-left: 26px; font-size: .92rem; font-weight: 650; }
    .mobile-subnav--nested { border-left: 0; margin-left: 18px; background: #fff; }
    .mobile-subnav--nested .mobile-subnav-link { padding-left: 28px; font-size: .88rem; }
    .mobile-nav-toggle--cta { margin-top: 12px; background: var(--zi-teal) !important; color: #fff !important; border-bottom: 0; padding-inline: 18px; }
    .mobile-nav-toggle--cta:hover,
    .mobile-nav-toggle--cta.active { background: var(--zi-burgundy) !important; color: #fff !important; }
    .newsletter-shell { grid-template-columns: 1fr; gap: 38px; }
    .newsletter-intro { max-width: 680px; }
    .zi-hero-grid { grid-template-columns: 1fr; }
    .zi-hero-copy { padding: 72px 0 60px; }
    .zi-hero-media { min-height: 430px; }
    .zi-section-head { grid-template-columns: 1fr; gap: 16px; }
    .zi-split { gap: 46px; }
    .zi-stat-grid { grid-template-columns: repeat(2,1fr); }
    .zi-challenge-stat { min-height: 285px; }
    .zi-grid-3 { grid-template-columns: 1fr; }
    .zi-feature h3 { margin-top: 22px; }
}

@media (max-width: 767.98px) {
    :root { --zi-section: 4.5rem; }
    body { font-size: 15px; }
    .header-actions > .primary-btn { display: none !important; }
    .zi-hero { min-height: auto; }
    .zi-hero-grid { min-height: auto; }
    .zi-hero-copy { padding: 58px 0 48px; }
    .zi-hero h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
    .zi-hero-media { min-height: 330px; }
    .zi-split { grid-template-columns: 1fr; }
    .zi-split .zi-image { order: -1; }
    .zi-stat-grid { grid-template-columns: 1fr; }
    .zi-stat { padding: 30px 24px; }
    .zi-challenge .zi-stat-grid { gap: 14px; }
    .zi-challenge-stat {
        min-height: 0;
        display: grid;
        grid-template-columns: 54px minmax(0,1fr);
        column-gap: 20px;
        align-items: start;
        padding: 26px 24px;
    }
    .zi-stat-icon { width: 54px; height: 54px; margin: 2px 0 0; font-size: 1.2rem; }
    .zi-challenge-stat .zi-stat-content { margin-top: 0; }
    .zi-challenge-stat strong { font-size: clamp(3.25rem, 17vw, 4.25rem); margin-bottom: 12px; }
    .zi-challenge-stat span { max-width: none; font-size: .96rem; line-height: 1.55; }
    .zi-cta { grid-template-columns: 1fr; }
    .zi-actions { flex-direction: column; align-items: stretch; }
    .zi-actions .btn { width: 100%; }
    .newsletter-section { padding: 54px 0 !important; }
    .newsletter-shell { gap: 30px; }
    .newsletter-shell::before { display: none; }
    .newsletter-intro h2 { font-size: clamp(2.15rem, 10vw, 2.75rem); }
    .newsletter-intro > p { font-size: .98rem; margin-bottom: 18px; }
    .newsletter-card { padding: 22px !important; }
    .newsletter-name-grid, .newsletter-submit-row { grid-template-columns: 1fr; gap: 13px; }
    .newsletter-name-grid { margin-bottom: 13px; }
    .newsletter-btn { width: 100%; min-height: 54px; }
    #scroll-to-top { display: none !important; }
    main > section.py-5 { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
    table { min-width: 680px; }
    .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .stage-media-column,
    .stage-media,
    .stage-media__image { min-height: 300px; }
}

@media (max-width: 575.98px) {
    .header-container { padding: 0 16px; }
    .header-brand { padding-right: 18px; }
    .brand-logo { height: 40px !important; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
    .reveal { opacity: 1 !important; transform: none !important; }
}
