/* ==========================================================================
   Manual static CSS extracted from index.php <style> block (one-time move)
   ========================================================================== */
/* ── Reset & Base ──────────────────────────────────────────── */
        *, *::before, *::after { box-sizing: border-box; }
        body {
            margin: 0; padding: 0;
            font-family: 'Inter', sans-serif;
            color: #000001;
            background: #ffffff;
        }


#menu-office-video, #wa-card-video, #offices-card-video{
    display: none !important;

}
.ct-contact-value {
    font: 300 0.96rem / 1.5 'Inter', sans-serif !important;
    color: #0f172a;
}
        /* ── Typography – Inter for all weights (Inter-Regular.woff2 only) ── */
        h1, h2, h3, h4, h5, h6,
        strong, b, .fw-bold {
            font-family: 'Inter', sans-serif;
        }

        /* ── Brand colour variables ───────────────────────────────── */
        :root {
            --green: #ba0c2f;
            --black:  #000001;
            --dark:   #2d3c58;
            --body:   #4C5671;
            --white:  #ffffff;
            --gray:   #f4f4f6;
            --mop-accent: #1f2b3e;
            --mop-accent-dark: #2d3c58;
            --mop-accent-soft: rgba(31, 43, 62, 0.12);
            --ssm-shadow: 0 2px 12px rgba(15,23,42,0.08);
            --cg-shadow: 0 2px 12px rgba(15,23,42,0.08);
        }

        /* ── Spacing – max top/bottom padding 25px, margin 30px ─────── */
        section { padding-top: 20px; padding-bottom: 20px; }
        @media(min-width:768px){ section { padding-top: 25px; padding-bottom: 25px; } }

        /* ── Border-radius cap: 0.5rem everywhere ──────────────────── */
        .rounded, .rounded-sm, .rounded-md, .rounded-lg,
        .rounded-xl, .rounded-2xl, .rounded-3xl,
        [class*="rounded-"]:not(.rounded-full) { border-radius: 0.5rem !important; }
        .rounded-full { border-radius: 9999px !important; }

        /* ── Buttons ──────────────────────────────────────────────── */
        .btn-primary {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: var(--green);
            color: #fff;
            padding: 7px 12px;
            border-radius: 5px;
            font-family: 'inter', sans-serif;
            font-size: 14px;
            text-decoration: none;
            border: none;
            cursor: pointer;
            transition: background .2s;
            letter-spacing: 0;
            /* line-height: normal; */
            max-height: 39px;
            font-weight: 500;
        }
        .btn-primary:hover { background: #000001; }

        .btn-outline {
            display: inline-flex;
            align-items: center;
            gap: 1px;
            background: transparent;
            color: #000001;
            padding: 1px 8px;
            border-radius: 0.5rem;
            border: 2px solid var(--green);
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            text-decoration: none;
            cursor: pointer;
            transition: background .2s, color .2s, border-color .2s;
            font-weight: 500;
        }
        .btn-outline:hover { background: #000001; color: #fff; border-color: #000001; }

        .btn-outline-white {
            display: inline-flex; align-items: center; gap: 6px;
            background: transparent; color: #fff;
            padding: 10px 22px; border-radius: 0.5rem;
            border: 1.5px solid rgba(255,255,255,0.35);
            font-family: 'Inter', sans-serif;
            font-size: 14px; text-decoration: none;
            cursor: pointer; transition: background .2s, border-color .2s;
        }
        .btn-outline-white:hover { background: var(--green); border-color: var(--green); }

        /* ── CTA Footer Buttons ─────────────────────────────────── */
        .cta-btn-primary {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: #ba0c2f;
            color: #ffffff;
            padding: 12px 24px;
            border-radius: 0.5rem;
            border: 1.5px solid #ba0c2f;
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 600;
            text-decoration: none;
            cursor: pointer;
            transition: background .3s ease, border-color .3s ease, color .3s ease, transform .2s ease;
        }
        .cta-btn-primary:hover {
            background: #0f172a;
            border-color: #0f172a;
            color: #ffffff;
            transform: translateY(-2px);
        }

        .cta-btn-outline {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: transparent;
            color: #0f172a;
            padding: 12px 24px;
            border-radius: 0.5rem;
            border: 1.5px solid rgba(15,23,42,.2);
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 600;
            text-decoration: none;
            cursor: pointer;
            transition: background .3s ease, border-color .3s ease, color .3s ease, transform .2s ease;
        }
        .cta-btn-outline:hover {
            background: #0f172a;
            border-color: #0f172a;
            color: #ffffff;
            transform: translateY(-2px);
        }

        /* ── Alternating section backgrounds ─────────────────────── */
        .sec-white { background: #ffffff; }
        .sec-alt   { background: #f4f4f6; }

        /* ── Marquee (static – no animation) ──────────────────────── */
        .marquee-wrap { }
        .marquee-track { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 32px; white-space: normal; }

        /* ── Cards ────────────────────────────────────────────────── */
        .project-card {
            background: #fff;
            border: 1px solid var(--green);
            border-radius: 0.5rem;
            overflow: hidden;
            transition: transform .2s, box-shadow .2s;
            display: flex;
            flex-direction: column;
            /* box-shadow: 0 8px 24px rgb(180 75 75 / 15%); */
        }
        .project-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(82,180,75,0.15); }
        .project-card .top-bar {/* height: 3px; */background: var(--green);}

        .bento-card {
            background: #fff;
            /* border: 1px solid #ba0c2f; */
            border-radius: 0.5rem;
            padding: 20px;
            transition: box-shadow .2s, transform .2s;
        }
        .bento-card:hover {box-shadow: 0 6px 20px rgba(82,180,75,0.12);transform: translateY(-2px);border: 1px solid #ba0c2f;box-shadow: 0 8px 24px rgb(180 75 75 / 15%);}

        .sector-card {
            background: #fff;
            border: 1px solid #ba0c2f;
            border-radius: 0.5rem;
            padding: 10px 20px;
            text-decoration: none;
            display: flex;
            flex-direction: column;
            transition: box-shadow .2s, transform .2s, border-color .2s;
            min-height: 140px;
            box-shadow: 0 8px 24px rgb(180 75 75 / 15%);
        }
        .sector-card:hover {box-shadow: unset;transform: translateY(-2px);border-color: #ba0c2f;}
        .sector-icon {
            width: 38px;
            height: 38px;
            border-radius: 5px;
            background: rgb(180 75 75 / 10%);
            color: var(--green);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.3rem;
            margin-bottom: 10px;
            transition: background .2s, color .2s;
        }
        .sector-card:hover .sector-icon { background: var(--green); color: #fff; }

        .step-card {
            background: #fff;
            border: 1px solid #ba0c2f;
            border-radius: 0.5rem;
            padding: 24px;
            transition: box-shadow .2s, transform .2s;
            position: relative;
            overflow: hidden;
        }
        .step-card:hover { box-shadow: 0 8px 24px rgba(82,180,75,0.12); transform: translateY(-3px); }
        .step-num {
            font-family: 'Inter', sans-serif;
            font-size: 4rem; color: #f0f4f6;
            position: absolute; top: 10px; right: 14px;
            line-height: 1; user-select: none; pointer-events: none;
        }

        /* ── Badges ───────────────────────────────────────────────── */
        .badge-full    {background: #ffeaee;color: #ba0c2f;border: 1px solid #ba0c2f;padding: 2px 8px;border-radius: 5px;font-size: 11px;}
        .badge-partial {background: #fff8e1;color: #e65100;border: 1px solid #ffcc80;padding: 1px 8px;border-radius: 1px;font-size: 11px;}
        .badge-seeking {background: #fce4ec;color: #b71c1c;border: 1px solid #ef9a9a;padding: 2px 8px;border-radius: 5px;font-size: 11px;}

        /* ── FAQ ──────────────────────────────────────────────────── */
        details summary { cursor: pointer; list-style: none; }
        details summary::-webkit-details-marker { display: none; }
        details[open] .faq-chevron { transform: rotate(180deg); }
        .faq-chevron { transition: transform .25s; display: inline-block; }

        /* ── Scroll reveal ────────────────────────────────────────── */
        .anim {opacity: 0;transform: translateY(16px);/* transition: opacity .5s ease, transform .5s ease; */}
        .anim.in {opacity: 1;transform: none;}

        /* ── Mega-menu panel ─────────────────────────────────────────────
           Fixed under the 72px header · Inter-Regular.woff2 only
           ─────────────────────────────────────────────────────────────── */
        .mega-panel {
            position: fixed;
            width: 100%;
            top: 65px;
            left: 0;
            background: #fff;
            border-top: 2px solid var(--green);
            box-shadow: 0 12px 30px rgba(0,0,0,0.08);
            opacity: 0;
            visibility: hidden;
            transition: opacity .2s, visibility .2s;
            z-index: 99;
        }
        .nav-group:hover .mega-panel { opacity: 1; visibility: visible; }

        /* ── Divider ──────────────────────────────────────────────── */
        .section-divider {width: 48px;height: 3px;background: var(--green);border-radius: 9999px;margin: 10px 0 16px;display: none;}
        .section-label {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgb(180 75 75 / 10%);
            color: #000001;
            border: 1px solid rgba(82,180,75,0.25);
            padding: 4px 12px;
            border-radius: 9999px;
            font-size: 10px;
            font-family: 'Inter', sans-serif;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            margin-bottom: 12px;
            display: inline-block;
        }

        /* ── Hero section ─────────────────────────────────────────── */
        #hero { background: #ffffff; }

        /* ── Impact/secondary hero ────────────────────────────────── */
        .impact-section { background: #ffffff; border-top: 1px solid #eee; }

        /* ── Blinking green dot ───────────────────────────────────── */
        @keyframes blink-dot { 0%,100%{opacity:1} 50%{opacity:0.2} }
        .blink-dot {
            display: inline-block; width: 8px; height: 8px;
            background: var(--green); border-radius: 50%;
            animation: blink-dot 1.4s ease-in-out infinite;
            vertical-align: middle; margin-right: 2px;
        }

        /* ── Section label fix: no bottom margin ─────────────────── */
        .section-label {margin-bottom: 0 !important;display: none;}

        /* ── Section divider: very close to label ────────────────── */
        .section-divider { margin: 6px 0 14px; }

        /* ── Mega-menu: wider columns ────────────────────────────── */
        .mega-panel .max-w-\[1440px\] > div > div {
            min-width: 0;
        }
        .mega-panel {
            min-width: 100vw;
        }
        .mega-panel .grid {
            column-gap: 2rem;
        }
        .mega-panel .grid > div {
            min-width: 180px;
        }

        /* ── Bento card: reduced padding ────────────────────────── */
        .bento-card {padding: 4px 16px 12px;border: 1px solid #ba0c2f;/* box-shadow: 0 8px 24px rgb(180 75 75 / 15%); */}

        /* ── Step card: reduced padding ────────────────────────── */
        .step-card { padding: 16px 20px; }

        /* ── Step number: green colour ──────────────────────────── */
        .step-num {color: #ba0c2f;opacity: 0.4;}

        /* ── Card-style button link ─────────────────────────────── */
        .btn-card-link {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 15px;
            font-family: 'Inter', sans-serif;
            color: #000001;
            text-decoration: none;
            border: 2px solid #ba0c2f;
            padding: 2px 10px 4px;
            border-radius: 5px;
            transition: background .2s, color .2s;
            letter-spacing: 0.5px;
            text-transform: capitalize;
            font-weight: 500;
            font-size: 14px !important;
            max-height: 39px;
        }
        .btn-card-link:hover { background: var(--green); color: #fff; }

        /* ── FAQ border green ───────────────────────────────────── */
        details {border-color: #ba0c2f;}
        details summary { font-family: 'Inter', sans-serif !important; }

        /* ── Mobile drawer: 100% full screen slide ─────────────────────── */
        #mobile-drawer {
            /* left:        0    !important; */
            right: 15px    !important;
            width:       100% !important;
            /* min-width:   100%; */
            box-shadow:  none;
            padding-bottom: 80px;
            max-width: 345px;
            top: 10px;
            top: 63px;
        }
        #mobile-drawer { width: clamp(280px, 80vw, 360px); }

        .mobile-nav-panel {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #fff;
            transition: transform 0.3s ease;
            z-index: 10;
            display: flex;
            flex-direction: column;
            overflow-y: hidden;
        }
        .mobile-nav-panel.is-hidden {
            transform: translateX(100%);
        }
        .mobile-nav-panel.is-active {
            transform: translateX(0);
        }
        
        /* Submenu Headers */
        .mobile-submenu-header {
            display: flex;
            align-items: center;
            padding: 3px 20px;
            background: #f8fafc;
            border-bottom: 1px solid #e2e8f0;
            cursor: pointer;
            font-weight: 600;
            font-size: 14px;
            color: var(--black);
            flex-shrink: 0;
        }
        .mobile-submenu-header i {
            margin-right: 10px;
            font-size: 16px;
            color: var(--green);
        }

        /* ── Close-menu bar (top strip inside drawer) ───────────── */
        #close-menu-bar {
            display: flex;
            align-items: center;
            padding: 4px 20px;
            background: #f8fafc;
            border-bottom: 1px solid #e2e8f0;
            cursor: pointer;
            font-weight: 600;
            font-size: 14px;
            color: var(--black);
            user-select: none;
            flex-shrink: 0;
        }
        #close-menu-bar:hover { background: #eef2f7; }
        #close-menu-bar i {
            margin-right: 10px;
            font-size: 16px;
            color: var(--green);
        }

        /* ── Hero image overlay ─────────────────────────────────── */
        #hero-mobile-img {
            display: none;
        }
        @media(max-width:767px){
            #hero-mobile-img {display: block;width: 100%;/* max-height: 200px; */object-fit: cover;border-radius: 0.5rem;margin-bottom: 16px;height: 450px;}
        }

        /* ── Hero Visual Cards Panel ──────────────────────────────────────────
           Base styles: green icon on white card (hero-s001 white-bg hero).
           hero-img-section overrides icon colours separately below.
           Font: Inter-Regular.woff2 only  ·  Icons: bootstrap-icons.woff2
           ───────────────────────────────────────────────────────────────── */
        .hero-visual {display: flex;flex-direction: column;gap: 14px;background: transparent;/* display: none; */}
        .hero-card-float {background: #fff;border: 1px solid #ba0c2f;border-radius: 12px;padding: 8px;box-shadow: 0 2px 10px rgba(0,0,0,0.05);}
        .hero-project-card {display: flex;align-items: center;gap: 10px;padding: 3px 0;border-bottom: 1px solid #f0f0f0;}
        .hero-project-card:last-child { border-bottom: none; padding-bottom: 0; }

        /* Icon circle — green tint bg + green icon; visible on white card */
        .hero-project-icon {
            width: 34px;
            height: 34px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            background: rgba(186, 12, 47, 0.12);
            flex-shrink: 0;
        }
        .hero-project-icon i { font-size: 1rem; color: #ba0c2f; }

        .hero-project-name { font-family: 'Inter', sans-serif; font-size: 0.9375rem; font-weight: 600; line-height: 1.3; color: #000001; }
        .hero-project-meta { font-family: 'Inter', sans-serif; font-size: 0.8125rem; font-weight: 500; line-height: 1.5; color: #6d7887; margin-top: 2px; }
        .hero-project-value { font-family: 'Inter', sans-serif; font-size: 0.9375rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1; color: #000001; margin-left: auto; flex-shrink: 0; }
        .hero-funder-wrap { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
        .hero-funder-tag { background: #fff; border: 1px solid rgb(180 75 75 / 28%); color: #344256; border-radius: 5px; padding: 3px 11px; font-size: 11px; font-family: 'Inter', sans-serif; font-weight: 600; }

        /* ── Funding Stats Cards ───────────────────────────────────── */
        .stat-card {background: #fff;border: 1px solid #ba0c2f;border-radius: 0.75rem;padding: 11px 16px;text-align: center;border-top: 3px solid #ba0c2f;border: 1px solid #ba0c2f;box-shadow: 0 8px 24px rgb(180 75 75 / 15%);border-top: 3px solid #ba0c2f;}
        .stat-card-value {font-family: 'Inter', sans-serif;font-size: 28px;font-weight: 600;letter-spacing: 0.5px;color: #000001;line-height: 1.1;}
        .stat-card-label {font-size: 14px;color: #000001;text-transform: uppercase;letter-spacing: 0.08em;margin-top: 5px;line-height: normal;}

        /* ── Procurement Roadmap (desktop horizontal track) ────────── */
        .roadmap-track { display: flex; align-items: flex-start; position: relative; gap: 0; }
        .roadmap-step { flex: 1; text-align: center; position: relative; padding: 0 10px; }
        .roadmap-step:not(:last-child)::after { content: ''; position: absolute; top: 16px; left: calc(50% + 18px); right: calc(-50% + 18px); height: 2px; background: #e5e7eb; z-index: 0; }
        .roadmap-dot { width: 34px; height: 34px; border-radius: 50%; background: #ba0c2f; color: #fff; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; position: relative; z-index: 1; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #ba0c2f; }
        .roadmap-dot.alt { background: #2d3c58; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #2d3c58; }
        .roadmap-step h4 { font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 600; color: #000001; margin: 0 0 6px; line-height: 1.3; }
        .roadmap-step p {font-size: 13.5px;color: #666;line-height: 1.55;margin: 0;}

        /* ── Btn outline white (footer CTA) ──────────────────────── */
        .btn-outline-white {display: inline-flex;align-items: center;gap: 6px;padding: 9px 18px;border: 1.5px solid rgba(255,255,255);border-radius: 0.5rem;color: #fff;font-size: 14px;font-family: 'Inter', sans-serif;font-weight: 600;text-decoration: none;transition: background .2s, border-color .2s;}
        .btn-outline-white:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.85); }

        /* ── Top Notch unified page utilities ─────────────────────── */
        .cg-section { padding: 24px 0; }
        @media (min-width: 768px) { .cg-section {padding: 32px 0;/* background: #fff; *//* background: #fff; *//* background: #fff; */} }
        .cg-container {width: min(100%, 1400px);margin: 0 auto;padding: 0 10px;}
        .cg-grid-2 { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
        .cg-grid-3 { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
        .cg-card {
            background: #fff;
            border: 1px solid #b44c4c;
            border-radius: 8px;
            /* box-shadow: var(--ssm-shadow); */
            padding: 15px;
        }
        .cg-card--soft { background: #f8fafc; }
        .cg-card--dark {
            background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
            color: #fff;
            border: 1px solid rgba(255,255,255,0.15);
            font: 300 15px / 1.7 'Inter', sans-serif !important;
            background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
        }
        .cg-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font: 600 11px/1 'Inter', sans-serif;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: #ba0c2f;
        }
        .cg-title-xl { font: 700 clamp(2rem, 3.2vw, 2.8rem)/1.1 'Inter', sans-serif; color: #0f172a; letter-spacing: -0.02em; }
        .cg-title-lg {font: 600 clamp(1.6rem, 2.6vw, 25PX)/1.15 'Inter', sans-serif;color: #0f172a;letter-spacing: -0.02em;line-height: 32px;}
        .cg-title-md { font: 600 1.25rem/1.3 'Inter', sans-serif; color: #0f172a; }
        .cg-text {font: 300 15px/1.7 'Inter', sans-serif !important;!i;!;color: #475569;}
        .cg-text-light { font: 400 0.95rem/1.7 'Inter', sans-serif; color: rgba(255,255,255,0.72); }
        .cg-muted { color: #64748b; font: 500 0.85rem/1.4 'Inter', sans-serif; }
        .cg-pill {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            border-radius: 999px;
            font: 600 11px/1 'Inter', sans-serif;
            letter-spacing: .08em;
            text-transform: uppercase;
            background: rgba(82,180,75,.12);
            color: #2d7a2a;
            border: 1px solid rgba(82,180,75,.25);
        }
        .cg-divider { height: 1px; background: rgba(15,23,42,.08); margin: 12px 0; }
        .cg-list { list-style: none; display: grid; gap: 10px; padding: 0; margin: 0; }
        .cg-list li { display: flex; gap: 10px; align-items: flex-start; font: 400 0.95rem/1.6 'Inter', sans-serif; color: #475569; }
        .cg-list i { color: #ba0c2f; margin-top: 3px; }
        .cg-form-card { background: #fff; border-radius: 8px; border: 1px solid #b44c4c; box-shadow: var(--ssm-shadow); padding: 20px; }
        .cg-label {display: block;margin-bottom: 6px;font: 600 14px/1 'Inter', sans-serif;color: #374151;letter-spacing: .02em;}
        .cg-input, .cg-select, .cg-textarea {
            width: 100%;
            padding: 8px 14px;
            border: 1px solid rgba(15,23,42,.15);
            border-radius: 4px;
            font: 400 14px/1.4 'Inter', sans-serif;
            background: #fff;
            color: #0f172a;
        }
        .cg-textarea { resize: vertical; min-height: 120px; }
        .cg-field { display: grid; gap: 6px; }
		
		
		
		
		
		
		
		
		
		
		*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb;/* font-weight: 300; */letter-spacing: 0.3px;}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:#fff0}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#fff0;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.z-50{z-index:50}.z-40{z-index:40}.col-span-1{grid-column:span 1 / span 1}.mx-auto{margin-left:auto;margin-right:auto}.mb-8{margin-bottom:2rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[1440px\]{max-width:1440px}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.translate-x-full{--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-2{gap:.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.overflow-y-auto{overflow-y:auto}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity,1))}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.duration-300{transition-duration:300ms}@media (min-width:375px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}};*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:#fff0}body{margin:0;line-height:inherit;/* zoom: 95%; */}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight: 600;}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;/* border-color: #ffffff61 !important; */bor;/* border: 1px solid #ffffffb8 !important; */!;}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#fff0;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.z-50{z-index:50}.z-40{z-index:40}.col-span-1{grid-column:span 1 / span 1}.mx-auto{margin-left:auto;margin-right:auto}.mb-8{margin-bottom: 15px;}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[1440px\]{max-width: 1440px;}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.translate-x-full{--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-2{gap:.5rem}.gap-8{gap:2rem}.gap-10{gap: 25px;}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.overflow-y-auto{overflow-y:auto}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity,1))}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-7{padding-top: 15px;padding-bottom: 12px;}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom: 14px;}.py-10{padding-top: 2.5rem;padding-bottom:2.5rem}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.duration-300{transition-duration:300ms}@media (min-width:375px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-left: 20px;padding-right: 20px;}}@media (min-width:768px){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}.lg\:px-8{padding-left: 16px;padding-right: 16px;}}

/* ==========================================================================
   Manual static CSS extracted from inline style attributes (one-time move)
   ========================================================================== */

/* ──────────────────────────────────────────────────────────────────────────
   HEADER SECTION  ·  idx-s001 → idx-s046
   Font: Inter-Regular.woff2 only  ·  Icons: bootstrap-icons.woff2
   No InterDisplay anywhere in this block
   ────────────────────────────────────────────────────────────────────────── */
.ninjavalue {    width: 104px;}
/* ── Header shell — fixed 72px white bar with subtle bottom border ───────── */
.idx-s001 {
    background:    #fff;
    border-bottom: 1px solid #e5e7eb;
    height: 63px;
}

/* ── Logo anchor — suppress default link styling ────────────────────────── */
.idx-s002 {
    text-decoration: none;
}

/* ── Logo icon circle — green 36×36 rounded container ───────────────────── */
.idx-s003 {
    width:           36px;
    height:          36px;
    background:      var(--green);
    border-radius:   0.5rem;
    display:         flex;
    align-items:     center;
    justify-content: center;
}

/* ── Lightning bolt icon inside logo circle ──────────────────────────────── */
.idx-s004 {
    color:     #fff;
    font-size: 1.1rem;
}
.apply-proc-header h2 {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #000001 !important;
    margin: 0 0 3px !important;
    line-height: 1.3 !important;
}
/* ── "Top Notch" wordmark — Inter 700 · 15px · lh 1.1 ───────────────────── */
.idx-s005 {
    font-family: 'Inter', sans-serif;
    font-size:   15px;
    font-weight: 600;
    color:       #000001;
    line-height: 1.1;
}

#nwaGeneralChat span {font-size: 12px;line-height: 17px;font-weight: 600;}

.nwa-online span {font-size: 13px;}


/* ── "Consulting Group" tagline — eyebrow scale: Inter 700 · 10px ─────────── */
.idx-s006 {
    font-family:    'Inter', sans-serif;
    font-size:      10px;
    font-weight:    600;
    color:          var(--green);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height:    1;
}

/* ── Desktop nav plain link — Inter 500 · 14px · full header height ─────── */
.idx-s007 {
    font-family:     'Inter', sans-serif;
    font-size: 15px;
    font-weight:     500;
    color:           #000001;
    text-decoration: none;
    padding:         0 13px;
    height:          72px;
    display:         flex;
    align-items:     center;
    letter-spacing:  0.3px;
    transition:      color .15s;
    font-weight: 500;
}
.idx-s007:hover { color: var(--green); }


/* ── Desktop nav dropdown trigger button — Inter 500 · 14px ─────────────── */
.idx-s008 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color:          #000001;
    background:     none;
    border:         none;
    cursor:         pointer;
    padding: 0 18px;
    height:         72px;
    display:        flex;
    align-items:    center;
    gap: 4px;
    letter-spacing: 0.3px;
    transition:     color .15s;
    /* font-size: clamp(10px, 100%, 15px); */
}
.idx-s008:hover { color: var(--green); }
.apply-sidebar-cta-btn {

    line-height: normal;
}
.idx-s007 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color:          #000001;
    text-decoration: none;
    padding: 0 18px;
    height:         72px;
    display:        flex;
    align-items:    center;
    gap:            8px;
    transition:      color .15s;
}

@media (max-width:1207px){.idx-s008 {padding: 0 7px !important;}}

@media (max-width: 1152px) {
    .idx-s008,.idx-s026,.idx-s007 {
        font-size: 14px;
		padding: 0 5px !important;
    }
}

@media (max-width: 1090px) {
    .idx-s008,.idx-s026,.idx-s007 {
        font-size: 12px !important;!im;!i;!;
        padding: 0 4px !important;
        font-weight: 400 !important;!i;!;!u;!un;!u;!;
    }
}

.idx-s026,.idx-s007
media (max-width: 1025px) {
    .idx-s008,.idx-s026,.idx-s007 {
        font-size: 12px;
        padding: 0 1px !important;
    }


.idx-s007:hover { color: var(--green); }

/* ── Chevron-down icon in nav dropdown buttons ───────────────────────────── */
.idx-s013 {
    font-size: 14px;
    opacity: 0.7;
    color: var(--black);
}

/* ── Chevron-down icon in nav dropdown buttons ───────────────────────────── */
.idx-s009, .idx-s019 {
    font-size: 10px;
    margin-left: 2px;
    opacity: 0.5;
    transition: transform 0.2s;
}
.nav-group:hover .idx-s009, 
.nav-group:hover .idx-s019 { transform: rotate(180deg); }
    font-size: 13px;
}

/* ── Mega-menu column heading — small caps · green accent ──────────────── */
.idx-s010 {
    font-family:    'Inter', sans-serif;
    font-size: 12.5px;
    font-weight:    600;
    color:          var(--green);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 5px;
    padding-bottom: 0px;
    border-bottom:  1px solid rgba(82, 180, 75, 0.18);
    display:        flex;
    align-items:    center;
    gap:            5px;
}

/* ── Mega-menu column list — no bullets, tight stack ────────────────────── */
.idx-s011 {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap:        2px;
}

/* ── Mega-menu sub-link ──────────────────────────────────────────────────── */
.idx-s012 {
    font-family:     'Inter', sans-serif;
    font-size: 14px;
    font-weight:     500;
    color:           var(--body);
    text-decoration: none;
    display:         flex;
    align-items:     center;
    gap:             8px;
    padding: 5px 8px 5px 0px;
    border-radius: 0px;
    transition:      background 0.15s, color 0.15s;
    line-height:     1.35;
    border-bottom: 1px solid #d2d2d2;
    border-color: #d2d2d2;
}
.idx-s012:hover {
    color:      var(--green);
    background: rgb(180 75 75 / 7%);
}

/* ── Sub-link icon — green tint, full opacity on hover ──────────────────── */
.idx-s012 .idx-s013 {
    font-size: 14px;
    color:       var(--green);
    opacity: 1;
    flex-shrink: 0;
    transition:  opacity 0.15s;
}
.idx-s012:hover .idx-s013 {
    opacity: 1;
}

/* ── Mega-menu featured card container ──────────────────────────────────── */
.idx-s014 {
    background:    #f4f4f6;
    border-radius: 0.5rem;
    padding: 7px 15px;
}

/* ── Featured card icon — large green bootstrap icon ────────────────────── */
.idx-s015 {
    font-size: 24px;
    color:         var(--green);
    margin-bottom: 8px;
    display:       block;
    line-height: normal;
}

/* ── Featured card title — Inter 700 · 13px · lh 1.32 ──────────────────── */
.idx-s016 {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color:       #000001;
    margin:      0 0 6px;
    line-height: 1.32;
}

/* ── Featured card body text — Inter 400 · 12px · lh 1.5 ───────────────── */
.idx-s017 {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color:       var(--body);
    margin:      0 0 12px;
    line-height: 1.5;
}

/* ── Featured card inline link — Inter 600 · 12px · green ──────────────── */
.idx-s018 {
    font-family:     'Inter', sans-serif;
    font-size: 15px;
    font-weight:     600;
    color:           var(--green);
    text-decoration: none;
}
.idx-s018:hover { text-decoration: underline; }

/* ── Chevron icon (static, no rotation) ─────────────────────────────────── */
.idx-s019 {
    font-size: 10px;
}

/* ── Pipeline / "what's new" bar at foot of mega-menu ───────────────────── */
.idx-s020 {
    margin-top: 10px;
    padding-top: 8px;
    border-top:      1px solid #f0f0f0;
    display:         flex;
    justify-content: space-between;
    align-items:     center;
}

/* ── Pipeline bar title — Inter 700 · 13px ──────────────────────────────── */
.idx-s021 {
    font-family: 'Inter', sans-serif;
    font-size:   13px;
    font-weight: 600;
    color:       #000001;
    margin:      0 0 2px;
}

/* ── Pipeline bar description — Inter 400 · 12px ───────────────────────── */
.idx-s022 {
    font-family: 'Inter', sans-serif;
    font-size:   12px;
    font-weight: 500;
    color:       var(--body);
    margin:      0;
}

/* ── Small button size modifier for pipeline bar CTA ────────────────────── */
.idx-s023 {
    font-size: 14px;
    font-weight: 600;
}

/* ── Inline icon spacer (label icon before text) ────────────────────────── */
.idx-s024 {
    margin-right: 5px;
}

/* ── Knowledge / secondary sub-link — Inter 400 · 13px ─────────────────── */
.idx-s025 {
    font-family:     'Inter', sans-serif;
    font-size:       13px;
    font-weight:     500;
    color:           var(--body);
    text-decoration: none;
    transition:      color .15s;
}
.idx-s025:hover { color: var(--green); }

/* ── "Contact Us" nav link (with phone icon) — Inter 500 · 14px ─────────── */
.idx-s026 {
    font-family:     'Inter', sans-serif;
    font-size: 14px;
    font-weight:     500;
    color:           #000001;
    text-decoration: none;
    padding:         0 13px;
    height:          72px;
    display:         flex;
    align-items:     center;
    gap:             5px;
    letter-spacing: 0.3x;
    transition:      color .15s;
    font-weight: 600;
}
.idx-s026:hover { color: var(--green); }

/* ── Phone icon accent colour ────────────────────────────────────────────── */
.idx-s027 {
    color: var(--green);
}

/* ── Mobile "Apply Now" button — compact size modifier ──────────────────── */
.idx-s028 {
    font-size:      13px;
    padding: 7px 13px;
    text-transform: none;
}

/* ── Mobile "Apply Now" icon size ────────────────────────────────────────── */
.idx-s029 {
    font-size: 11px;
}

/* ── Mobile menu toggle button — Inter 600 · 13px · green border ────────── */
.idx-s030 {
    display:        flex;
    align-items:    center;
    gap:            5px;
    background:     #fff;
    border:         1.5px solid var(--green);
    border-radius:  0.5rem;
    cursor:         pointer;
    color:          #000001;
    padding:        6px 11px;
    font-family:    'Inter', sans-serif;
    font-size:      13px;
    font-weight:    600;
    letter-spacing: 0.3px;
    transition:     background .15s, color .15s;
    text-transform: none;
}
.idx-s030:hover { background: var(--green); color: #fff; }

/* ── Hamburger / menu icon ───────────────────────────────────────────────── */
.idx-s031 {
    font-size: 1.1rem;
}

/* ── Mobile drawer shell — offset by header height ──────────────────────── */
.idx-s032 {
    padding-top: 72px;
}

/* ── Close (×) icon inside drawer ───────────────────────────────────────── */
.idx-s033 {
    font-size: 1.2rem;
    color:     var(--green);
}

/* ── Hero image wrapper at top of drawer ─────────────────────────────────── */
.idx-s034 {
    padding: 10px 12px 0;
}

/* ── Mobile drawer top-level nav link — Inter 600 · 17px ─────────────────── */
.idx-s035 {
    font-family:     'Inter', sans-serif;
    font-size: 13px;
    font-weight:     600;
    color:           #000001;
    text-decoration: none;
    padding: 3px 0;
    border-bottom:   1px solid #f0f0f0;
    display:         flex;
    justify-content: space-between;
    align-items:     center;
}
.idx-s035:hover { color: var(--green); }

/* ── Mobile nav icon accent (left of link label) ─────────────────────────── */
.idx-s036 {
    margin-right: 8px;
    color:        var(--green);
}

/* ── Mobile nav chevron-right indicator ─────────────────────────────────── */
.idx-s037 {
    font-size: 12px;
    color:     #aaa;
}

/* ── Mobile nav group / section container ───────────────────────────────── */
.idx-s038 {
    padding:       12px 0;
    border-bottom: 1px solid #f0f0f0;
}

/* ── Mobile nav group heading — Inter 600 · 17px · accordion trigger ─────── */
.idx-s039 {
    font-family:     'Inter', sans-serif;
    font-size:       17px;
    font-weight:     600;
    color:           #000001;
    margin-bottom:   10px;
    border-bottom:   1px solid #333;
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    cursor:          pointer;
    user-select:     none;
    padding-bottom:  6px;
}
.idx-mobile-submenu-arrow {
    font-size:  12px;
    color:      #9ca3af;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

/* ── Mobile nav sub-items column — hidden until accordion opened ──────────── */
.idx-s040 {
    padding-left:   16px;
    display:        none;
    flex-direction: column;
    gap:            7px;
    margin-top:     4px;
    padding-bottom: 4px;
}
.idx-s040.is-open { display: flex; }

/* ── Mobile nav eyebrow label — Inter 700 · 10px · uppercase ─────────────── */
.idx-s041 {
    font-family:    'Inter', sans-serif;
    font-size:      10px;
    font-weight:    600;
    color:          var(--green);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 10px;
}

/* ── Mobile nav sub-link — Inter 400 · 14px · body colour ───────────────── */
.idx-s042 {
    font-family:     'Inter', sans-serif;
    font-size:       14px;
    font-weight:     500;
    color:           var(--body);
    text-decoration: none;
    transition:      color .15s;
    border-bottom: 1px solid #333;
}
.idx-s042:hover { color: var(--green); }

/* ── Mobile nav second eyebrow label — same as 041 with top margin ────────── */
.idx-s043 {
    font-family:    'Inter', sans-serif;
    font-size:      10px;
    font-weight:    600;
    color:          var(--green);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top:     4px;
}

/* ── Mobile nav green featured link — Inter 600 · 14px · green ──────────── */
.idx-s044 {
    font-family:     'Inter', sans-serif;
    font-size:       14px;
    font-weight:     600;
    color:           var(--green);
    text-decoration: none;
    transition:      opacity .15s;
}
.idx-s044:hover { opacity: 0.75; }

/* ── Mobile drawer CTA panel ─────────────────────────────────────────────── */
.idx-s045 {
    padding:        12px 16px 20px;
    display:        flex;
    flex-direction: column;
    gap:            8px;
}

/* ── Mobile CTA button — full width, centred text ───────────────────────── */
.idx-s046 {
    width:           100%;
    justify-content: center;
    font-size:       14px;
    padding: 5px 0px;
    height: 37px;
}

/* ── Mobile drawer contact footer ───────────────────────────────────────── */
#mobile-menu-contact-footer {
    padding:     14px 24px 22px;
    border-top:  1px solid #e5e7eb;
    background:  #f9fafb;
    font-family: 'Inter', sans-serif;
    font-size:   12px;
    color:       #4C5671;
    line-height: 1.6;
}
#mobile-menu-contact-footer .mob-footer-heading {
    font-size:      10px;
    font-weight:    600;
    color:          var(--green);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom:  10px;
}
#mobile-menu-contact-footer .mob-footer-row {
    display:     flex;
    align-items: flex-start;
    gap:         8px;
    margin-bottom: 6px;
}
#mobile-menu-contact-footer .mob-footer-row i {
    color:       var(--green);
    flex-shrink: 0;
    font-size:   12px;
    margin-top:  2px;
}
#mobile-menu-contact-footer a {
    color:           #374151;
    text-decoration: none;
}
#mobile-menu-contact-footer a:hover { color: var(--green); }

/* ── Nav links scrollable area inside drawer panels ─────────────────────── */
.mob-nav-scroll {
    /* flex:       1; */
    overflow-y: auto;
    min-height: 0;
    max-height: 459px;
    padding-top: 0px;
    padding-bottom: 0;
}
.mobile-nav-panel .px-6.py-4.flex.flex-col.gap-1.mob-nav-scroll{padding-top: 0px;}


/* ── Mobile menu action block (bottom of ALL drawer panels) ─────────────── */
.mob-action-block {
    padding:     12px 16px 8px;
    border-top:  1px solid #e5e7eb;
    flex-shrink: 0;
}
.mob-action-row2btn {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   8px;
    margin-bottom:         8px;
}
.mob-action-btn {
    width:           100%;
    justify-content: left;
    font-size: 12px;
    padding: 6px 9px;
    text-align: left;
    text-transform:  none;
}
.mob-action-whatsapp {
    display:         flex;
    align-items:     center;
    justify-content: left;
    gap:             7px;
    width:           100%;
    background:      #ba0c2f;
    color:           #fff;
    font-family:     'Inter', sans-serif;
    font-size:       13px;
    font-weight:     600;
    padding: 5px 12px;
    border-radius:   6px;
    text-decoration: none;
    box-sizing:      border-box;
    margin-top: 7px;
}
.mob-action-whatsapp:hover { background: #229e3f; color: #fff; }

/* ── Mobile menu contact block (bottom of ALL drawer panels) ────────────── */
.mob-contact-block {
    padding:     10px 16px 16px;
    background:  #f9fafb;
    border-top:  1px solid #e5e7eb;
    flex-shrink: 0;
}
.mob-contact-row {
    display:       flex;
    align-items:   flex-start;
    gap:           8px;
    font-family:   'Inter', sans-serif;
    font-size:     12px;
    color:         #6b7280;
    line-height:   1.5;
    margin-bottom: 1px;
}
.mob-contact-row i {font-size: 12px;color: #9ca3af;margin-top: 0px;flex-shrink: 0;}
.mob-contact-row a { color: #6b7280; text-decoration: none; }
.mob-contact-row a:hover { color: #ba0c2f; }

/* ── Office video label (primary drawer only) ───────────────────────────── */
.menu-office-label {
    font-size:      11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color:          #9ca3af;
    margin-bottom:  6px;
    margin-top: 2px;
    padding:        0 16px;
}




/* ──────────────────────────────────────────────────────────────────────────
   HOW IT WORKS  ·  home page process strip  ·  hiw-*
   Desktop: horizontal 5-step strip.  Mobile (≤768px): vertical stacked cards.
   ────────────────────────────────────────────────────────────────────────── */
.hiw-section {
    background: #f8fafc;
    border-top:    1px solid rgba(15,23,42,.06);
    border-bottom: 1px solid rgba(15,23,42,.06);
    padding: 60px 0;
}
.hiw-inner {
    max-width:  1440px;
    margin:     0 auto;
    padding:    0 24px;
}
.hiw-header {
    text-align:    center;
    margin-bottom: 40px;
}
.hiw-label {
    display:       inline-block;
    margin-bottom: 8px;
}
.hiw-title {
    font-family:   'Inter', sans-serif;
    font-size:     28px;
    font-weight:   600;
    color:         #000001;
    margin:        0 0 10px;
}
.hiw-subtitle {
    font-family: 'Inter', sans-serif;
    font-size:   15px;
    font-weight: 500;
    color:       #6b7280;
    max-width:   620px;
    margin:      0 auto;
    line-height: 1.6;
}

/* Desktop: flex row */
.hiw-steps {
    display:     flex;
    align-items: flex-start;
    gap:         0;
}
.hiw-step {
    flex:       1;
    text-align: center;
    padding:    0 16px;
}
.hiw-step-num {
    font-family:   'Inter', sans-serif;
    font-size:     11px;
    font-weight:   600;
    color:         #ba0c2f;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.hiw-step-icon {
    width:           44px;
    height:          44px;
    background:      rgba(44,179,74,.12);
    border-radius:   50%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    margin:          0 auto 10px;
}
.hiw-step-icon i {
    font-size: 18px;
    color:     #ba0c2f;
}
.hiw-step-title {
    font-family: 'Inter', sans-serif;
    font-size:   14px;
    font-weight: 600;
    color:       #000001;
    margin-bottom: 6px;
}
.hiw-step-desc {
    font-family: 'Inter', sans-serif;
    font-size:   13px;
    font-weight: 500;
    color:       #6b7280;
    line-height: 1.55;
}
.hiw-connector {
    display:     flex;
    align-items: center;
    padding-top: 22px;
    color:       #d1d5db;
    font-size:   18px;
    flex-shrink: 0;
}
.hiw-cta {
    display:         flex;
    gap:             12px;
    justify-content: center;
    margin-top:      40px;
    flex-wrap:       wrap;
}

/* Mobile: vertical stacked cards (≤768px) */
@media (max-width: 768px) {
    .hiw-section { padding: 40px 0; }
    .hiw-title   { font-size: 22px; }
    .hiw-steps   { flex-direction: column; gap: 0; }
    .hiw-step {
        display:       flex;
        align-items:   flex-start;
        gap:           14px;
        text-align:    left;
        padding:       16px 0;
        border-bottom: 1px solid #e5e7eb;
    }
    .hiw-step:last-child { border-bottom: none; }
    .hiw-step-icon  { flex-shrink: 0; margin: 0; }
    .hiw-step-num   { margin-bottom: 4px; }
    .hiw-connector  { display: none; }
    .hiw-cta        { flex-direction: column; align-items: stretch; }
    .hiw-cta a      { text-align: center; justify-content: center; }
}


/* ──────────────────────────────────────────────────────────────────────────
   FOOTER BODY  ·  idx-s047 → idx-s085  +  idx-footer-contact-link
   Font: Inter-Regular.woff2 only  ·  Icons: bootstrap-icons.woff2
   No InterDisplay anywhere in this block
   ────────────────────────────────────────────────────────────────────────── */

/* ── Footer outer wrapper — deep dark-green gradient ────────────────────── */
.idx-s047 {
    /* background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark)); */
    color:      #fff;
    position:   relative;
    overflow:   hidden;
}
/* ── Grid-dot texture overlay ────────────────────────────────────────────── */
.idx-s048 {
    position:        absolute;
    inset:           0;
    background:      linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px),
                     linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events:  none;
}

/* ── CTA banner strip inside footer ─────────────────────────────────────── */
.idx-s049 {
    position:   relative;
    z-index:    10;
    background: linear-gradient(135deg, #0f172a 0%, #1a2844 100%);
    border-top: 3px solid #ba0c2f;
    overflow:   hidden;
    /* background: linear-gradient(to bottom, rgba(8, 14, 28, 0.42) 0%, rgba(8, 14, 28, 0.72) 55%, rgba(4, 9, 20, 0.90) 100%); */
}
.idx-s049::after {
    content:        '';
    position:       absolute;
    inset:          0;
    background:     radial-gradient(ellipse 55% 80% at 10% 50%, rgba(82,180,75,0.14), transparent);
    pointer-events: none;
}

/* ── CTA content centred ─────────────────────────────────────────────────── */
.idx-s050 {
    text-align: center;
}

/* ── CTA eyebrow pill badge ──────────────────────────────────────────────── */
.idx-s051 {
    display:        inline-flex;
    align-items:    center;
    gap:            6px;
    background:     1px solid rgb(180 75 75 / 45%);
    border:         rgb(180 75 75 / 18%);
    border-radius:  9999px;
    padding:        4px 14px;
    font-family:    'Inter', sans-serif;
    font-size:      10px;
    font-weight:    600;
    color: #e5e5e5;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom:  16px;
}

/* ── CTA heading ─────────────────────────────────────────────────────────── */
.idx-s052 {
    font-family:    'Inter', sans-serif;
    font-size: clamp(30px, 3vw, 1.875rem);
    font-weight: 600;
    letter-spacing: 0;
    color:          #fff;
    margin:         0 0 12px;
    line-height:    1.18;
}

/* ── CTA sub-copy ────────────────────────────────────────────────────────── */
.idx-s053 {
    font-family: 'Inter', sans-serif;
    font-size:   15px;
    font-weight: 500;
    color: #fff;
    max-width:   520px;
    margin: 0 0px 26px;
    line-height: 1.8;
}

/* ── CTA button row ──────────────────────────────────────────────────────── */
.idx-s054 {
    display:         flex;
    flex-wrap:       wrap;
    gap:             12px;
    justify-content: center;
}

/* ── CTA button size modifier ────────────────────────────────────────────── */
.idx-s055 {
    font-size: 14px;
    padding: 11px 22px;
}

/* ── Footer columns container — above the gradient ──────────────────────── */
.idx-s056 {
    position: relative;
    z-index:  10;
    background-color: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
    background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
    background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
}

/* ── Branding row (logo circle + wordmark) ───────────────────────────────── */
.idx-s057 {
    display:       flex;
    align-items:   center;
    gap: 3px;
    margin-bottom: 11px;
    border-bottom: 1px solid #ffffff5e;
    padding-bottom: 5px;
    margin-top: 3px;
}

/* ── Logo icon circle — 36×36 matching header ────────────────────────────── */
.idx-s058 {
    width:           36px;
    /* height:          36px; */
    background:      var(--green);
    border-radius:   0.5rem;
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
}

/* ── Lightning icon inside footer logo ───────────────────────────────────── */
.idx-s059 {
    color:     #fff;
    font-size: 1.1rem;
}

/* ── Footer wordmark — Inter 700 · 15px matching header ─────────────────── */
.idx-s060 {
    font-family:    'Inter', sans-serif;
    font-size: 12px;
    font-weight:    600;
    color:          #fff;
    letter-spacing: 0.7px;
    line-height:    1.1;
    text-transform: uppercase;
}

/* ── Branding tagline / descriptor ───────────────────────────────────────── */
.idx-s061 {
    font-family:   'Inter', sans-serif;
    font-size:     13px;
    font-weight:   500;
    color: #fff;
    line-height:   1.75;
    margin-bottom: 18px;
}

/* ── Social icon row ─────────────────────────────────────────────────────── */
.idx-s062 {
    display:    flex;
    flex-wrap:  wrap;
    gap:        8px;
    margin-top: 2px;
}

/* ── Social icon button — circular, CSS hover replaces inline JS ─────────── */
.idx-s063 {
    width:           32px;
    height:          32px;
    border-radius:   9999px;
    background:      rgba(255,255,255,0.1);
    border:          1px solid rgba(255,255,255,0.08);
    display:         flex;
    align-items:     center;
    justify-content: center;
    color:           rgba(255,255,255,0.75);
    text-decoration: none;
    transition:      background .2s, color .2s, transform .2s, border-color .2s;
}
.idx-s063:hover {
    background:   var(--green);
    color:        #fff;
    border-color: var(--green);
    transform:    scale(1.1);
}

/* ── Social icon size ─────────────────────────────────────────────────────── */
.idx-s064 {
    font-size: 13px;
}

/* ── Column heading — Inter 700 · 11px · uppercase with green underline ──── */
.idx-s065 {
    font-family:    'Inter', sans-serif;
    font-size:      11px;
    font-weight:    600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 10px;
    padding-bottom: 4px;
    border-bottom: 1px solid #ffffff5e;
    display:        flex;
    align-items:    center;
    gap:            6px;
}

/* ── Footer nav link list ─────────────────────────────────────────────────── */
.idx-s066 {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap: 1px;
}

/* ── Footer nav link — Inter 400 · 13px · CSS hover ─────────────────────── */
.idx-s067 {
    font-family:     'Inter', sans-serif;
    font-size:       12px;
    font-weight:     500;
    color: #fff;
    text-decoration: none;
    transition:      color .15s;
}
.idx-s067:hover {color: #ffffff96;}

/* ── Special list item separator (before featured link) ─────────────────── */
.idx-s068 {
    padding-top: 8px;
    margin-top:  2px;
}

/* ── Featured / highlight footer link — Inter 500 · 13px · white ────────── */
.idx-s069 {
    font-family:     'Inter', sans-serif;
    font-size:       12px;
    font-weight:     500;
    color:           rgba(255,255,255,0.85);
    text-decoration: none;
    display:         inline-flex;
    align-items:     center;
    gap:             5px;
    transition:      color .15s;
}
.idx-s069:hover { color: #ba0c2f; }

/* ── Sector divider row ───────────────────────────────────────────────────── */
.idx-s070 {
    padding-top:  10px;
    border-top:   1px solid rgba(255,255,255,0.13);
    margin-top:   6px;
}

/* ── Sector label — Inter 700 · 10px · white eyebrow ────────────────────── */
.idx-s071 {
    display:        block;
    font-family:    'Inter', sans-serif;
    font-size:      10px;
    font-weight:    600;
    color:          rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom:  7px;
}

/* ── Sector tag links — Inter 400 · 12px · dimmed with hover ────────────── */
.idx-s072 {
    font-family:     'Inter', sans-serif;
    font-size:       12px;
    font-weight:     500;
    color:           rgba(255,255,255,0.45);
    text-decoration: none;
    display:         flex;
    align-items:     center;
    gap:             5px;
    transition:      color .15s;
}
.idx-s072:hover { color: #ba0c2f; }

/* ── Contact list ─────────────────────────────────────────────────────────── */
.idx-s073 {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap:        13px;
}

/* ── Contact address item ─────────────────────────────────────────────────── */
.idx-s074 {
    display:     flex;
    align-items: flex-start;
    gap:         10px;
}

/* ── Contact icon accent colour ───────────────────────────────────────────── */
.idx-s075 {
    color: #fff;
    margin-top:  3px;
    flex-shrink: 0;
    font-size:   14px;
}

/* ── Contact location name — Inter 600 · 13px ────────────────────────────── */
.idx-s076 {
    display:     block;
    font-family: 'Inter', sans-serif;
    font-size:   13px;
    font-weight: 600;
    color:       #fff;
    line-height: 1.3;
}

/* ── Contact location sub-line ───────────────────────────────────────────── */
.idx-s077 {
    display:    block;
    font-size:  12px;
    color:      rgba(255,255,255,0.42);
    margin-top: 2px;
    color: #fff;
}

/* ── Contact email / phone row ────────────────────────────────────────────── */
.idx-s078 {
    display:     flex;
    align-items: center;
    gap:         10px;
    color: #fff;
}

/* ── Contact row icon ─────────────────────────────────────────────────────── */
.idx-s079 {
    color:       var(--green);
    flex-shrink: 0;
    font-size:   14px;
    color: #fff;
}

/* ── Bottom bar — separator + copyright row ──────────────────────────────── */
.idx-s080 {
    border-top:      1px solid rgba(255,255,255,0.12);
    padding-top:     22px;
    margin-top:      8px;
    display:         flex;
    flex-wrap:       wrap;
    gap:             12px;
    justify-content: space-between;
    align-items:     flex-start;
}

/* ── Copyright line — Inter 500 · 12px ───────────────────────────────────── */
.idx-s081 {
    font-family: 'Inter', sans-serif;
    font-size:   12px;
    font-weight: 500;
    color:       rgba(255,255,255,0.4);
    line-height: 1.4;
    color: #fff;
}

/* ── Disclaimer text ─────────────────────────────────────────────────────── */
.idx-s082 {
    font-family: 'Inter', sans-serif;
    font-size:   11px;
    font-weight: 500;
    color:       rgba(255,255,255,0.28);
    max-width:   600px;
    line-height: 1.65;
    margin-top:  4px;
    color: #fff;
}

/* ── Bottom-right link / meta row ─────────────────────────────────────────── */
.idx-s083 {
    display:     flex;
    flex-wrap:   wrap;
    gap:         14px;
    align-items: center;
    color: #fff;
}

/* ── Policy links ─────────────────────────────────────────────────────────── */
.idx-s084 {
    font-family:     'Inter', sans-serif;
    font-size:       12px;
    font-weight:     500;
    color:           rgba(255,255,255,0.38);
    text-decoration: none;
    transition:      color .15s;
    color: #fff;
}
.idx-s084:hover { color: #ba0c2f; }

/* ── Meta / separator labels ──────────────────────────────────────────────── */
.idx-s085 {
    font-family: 'Inter', sans-serif;
    font-size:   11px;
    color:       rgba(255,255,255,0.22);
    color: #fff;
}

/* ── data/content_home.txt — hero-s001 white-background hero ────────────────
   Typography rebuilt from fonts-final.html  ·  Inter-Regular.woff2 only
   Icons: bootstrap-icons.woff2  ·  No InterDisplay anywhere in this section
   ──────────────────────────────────────────────────────────────────────── */

/* — Section shell — */
.hero-s001 {
    background: #ffffff;
    padding-top: 61px;
    padding-bottom: 30px;
    position: relative;
    overflow: hidden;
}

/* — Subtle dot-grid background texture — */
.hero-s002 {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to right, rgba(82,180,75,0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(82,180,75,0.03) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
}

/* — Constrained inner wrapper — */
.hero-s003 {
    max-width: 1390px;
    margin: 0 auto;
    padding: 0 24px;
    /* background: radial-gradient(80% 50% at 50% 80%, #ba0c2f33, #0000); */
    border: 1px solid #ba0c2f;
    /* box-shadow: 0 8px 24px rgb(180 75 75 / 15%); */
    padding: 20px;
    border-radius: 8px;
}

/* ── Eyebrow label (hero-s004) ───────────────────────────────────────────
   fonts-final.html → "Eyebrow / label": 700 · 11px · uppercase · 0.14em  */
.hero-s004 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(186, 12, 47, 0.08);
    border: 1.5px solid #ba0c2f;
    border-radius: 999px;
    padding: 5px 14px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #000001;
    margin-bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 1px 14px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.10);
    /* border: 1px solid rgba(255, 255, 255, 0.35); */
    font-family: 'Inter', sans-serif;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    /* color: #fff; */
    margin-bottom: 14px !important;
    line-height: 16px;
}

/* ── Hero headline (hero-s005) ───────────────────────────────────────────
   fonts-final.html → "H1 / Section title": 700 · 30–38px · -0.03em      */
.hero-s005 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(30px, 3vw, 32px);
    line-height: 34px;
    letter-spacing: 0px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 5px;
}

/* ── Lead paragraph (hero-s006) ──────────────────────────────────────────
   fonts-final.html → "Body large": 400 · 1.0625rem · 1.82                */
.hero-s006 {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 27px;
    font-weight: 500;
    color: #526071;
    max-width: 56ch;
    margin: 0 0 24px;
}

/* — CTA button group — */
.hero-s007 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 11px;
}

/* — Trust-badge row — */
.hero-s008 {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    font-size: 16px;
}

/* ── Trust badge item (hero-s009) ────────────────────────────────────────
   fonts-final.html → "Body small": 500 · 0.9375rem · 1.5                 */
.hero-s009 {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: #344256;
}

/* ── Check icon (hero-s010) — bootstrap-icons ────────────────────────────
   Green on white hero; .hero-img-section overrides this to white          */
.hero-s010 {
    color: #ba0c2f;
    font-size: 0.9rem;
    flex-shrink: 0;
}

/* — Card-link row wrapper — */
.hero-s011 {
    margin-top: 18px;
}

/* ── Card-link font modifier (hero-s012) ─────────────────────────────────
   fonts-final.html → secondary action: 600 · 14px                        */
.hero-s012 {
    font-size: 14px;
    font-weight: 600;
    padding: 8px 18px;
}

/* ── Floating card section label (hero-s013) ─────────────────────────────
   fonts-final.html → "Meta / chip": 700 · 11px · uppercase · 0.12em      */
.hero-s013 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #95a1af;
    margin: 0 0 12px;
}
/* ── Funding Partners Marquee (hero-s014 → hero-s020) ───────────────────────
   Typography rebuilt from fonts-final.html · Inter-Regular.woff2 only
   Icons: bootstrap-icons.woff2 · No InterDisplay anywhere in this section
   ─────────────────────────────────────────────────────────────────────────── */

/* — Section shell: dark-to-green gradient band — */
.hero-s014 {
    background: #ba0c2f;
    padding: 22px 0;
    overflow: hidden;
}

/* — Centred header above the scroll track — */
.hero-s015 {
    text-align: center;
    margin-bottom: 14px;
}

/* ── Eyebrow label (hero-s016) ───────────────────────────────────────────
   fonts-final.html → "Eyebrow / label": 700 · 11px · uppercase · 0.14em  */
.hero-s016 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.80);
    margin: 0;
}

/* ── Separator dot (hero-s017) ───────────────────────────────────────────
   Was background:#ba0c2f — green on dark-green = invisible. Fixed white.  */
.hero-s017 {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: rgba(255, 255, 255, 0.50);
    border-radius: 50%;
    flex-shrink: 0;
}

/* — Marquee item row — */
.hero-s018 {
    display: flex;
    gap: 14px 40px;
    align-items: center;
    padding: 6px 16px;
    flex-wrap: wrap;
    justify-content: center;
    white-space: normal;
}

/* ── Partner name (hero-s019) ────────────────────────────────────────────
   fonts-final.html → "Button text" / utility label: 600 · 15px · 1.2     */
.hero-s019 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.88);
}

/* ── Bullet separator between partner names (hero-s020) ─────────────────
   Mid-dot; dimmed so names visually read first                            */
.hero-s020 {
    color: rgba(255, 255, 255, 0.35);
    font-size: 8px;
    line-height: 1;
}
/* ── Funding Framework Stats (hero-s021→030) ─────────────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* — Section shell: white with top rule — */
.hero-s021 { background: #ffffff; padding-top: 30px; padding-bottom: 30px; border-top: 1px solid #f0f0f0; }

/* — Centred header block — */
.hero-s022 { text-align: center; margin-bottom: 24px; }

/* — Section label modifier: soft bg — */
.hero-s023 { background: #f4f4f6; border: 1.5px solid rgba(82,180,75,0.4); border-radius: 5px; }

/* — Section divider spacer — */
.hero-s024 { margin: 6px auto 12px; }

/* ── Section heading (hero-s025)
   fonts-final.html → "H1/Section title": 700 · clamp(21px,2.8vw,28px) · -0.03em */
.hero-s025 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(28px, 2.8vw, 1.75rem);
    line-height: 1.18;
    letter-spacing: 0.4px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 8px;
}

/* ── Section intro (hero-s026)
   fonts-final.html → "Body base": 400 · 1rem · 1.75 */
.hero-s026 {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 24px;
    font-weight: 500;
    color: #526071;
    max-width: 560px;
    margin: 0 auto;
}

/* — Stat card icon: green, large bootstrap icon — */
.hero-s027 {font-size: 1.75rem;margin-bottom: -1px;color: #ba0c2f;}

/* — Stat card accent top-border modifier — */
.hero-s028 { border-top-color: #ba0c2f; }

/* — Stat card alternate icon — */
.hero-s029 { font-size: 1.75rem; margin-bottom: 8px; color: #ba0c2f; }

/* ── Stat value accent colour modifier (hero-s030)
   fonts-final.html → "Stat figure": 800 · tight tracking → applied via stat-card-value */
.hero-s030 { color: #000001; }

/* ── 12 Sectors Grid + How It Works section (hero-s031)
   Alternating grey background section */
.hero-s031 {/* background: #f5f5f5; */padding-top: 20px;padding-bottom: 20px;/* background: #fff; */}

/* — Centred header block — */
.hero-s032 { text-align: center; margin-bottom: 22px; }

/* — Section label modifier: white bg — */
.hero-s033 { background: #fff; border: 1.5px solid rgba(82,180,75,0.4); border-radius: 5px; }

/* ── Sector / pipeline heading (hero-s034)
   fonts-final.html → "H1/Section title": 700 · clamp(22px,3vw,32px) · -0.03em */
.hero-s034 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.15;
    letter-spacing: -0.03em;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 4px;
    font-family: 'Inter', sans-serif;
    font-size: clamp(28px, 2.8vw, 1.75rem);
    line-height: 1.18;
    letter-spacing: 0.4px;
    font-weight: 600;
    color: #0f172a;
}

/* ── Sector card title / mobile step heading (hero-s035)
   fonts-final.html → "H4/Card title": 600 · 15px · 1.3 */
.hero-s035 {
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    color: #000001;
    margin: 0 0 2px;
}

/* ── Sector project count (hero-s036)
   fonts-final.html → accent label: 600 · 13px · green */
.hero-s036 {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #ba0c2f;
}

/* ── Sector description (hero-s037)
   fonts-final.html → "Body small": 400 · 11px · 1.5 */
.hero-s037 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.5;
    color: #526071;
    margin: 3px 0 0;
}

/* ── Featured Projects / CTA / Roadmap sections (hero-s038)
   White background section */
.hero-s038 {background: #ffffff;padding-top: 25px;padding-bottom: 25px;/* background: radial-gradient(80% 50% at 50% 80%, #ba0c2f33, #0000); */}

/* — Section heading row with inline button — */
.hero-s039 { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: flex-end; margin-bottom: 18px; }

/* ── Featured Projects heading (hero-s040)
   fonts-final.html → "H1/Section title": 700 · clamp(20px,2.8vw,30px) */
.hero-s040 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(24px, 2.8vw, 1.75rem);
    line-height: 1.15;
    letter-spacing: 0.2px;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    text-transform: capitalize;
}

/* — Inline button wrapper: no grow — */
.hero-s041 { flex-shrink: 0; }

/* — Filter bar container — */
.hero-s042 { background: #f4f4f6; border: 1px solid #e5e7eb; border-radius: 0.5rem; padding: 12px 16px; display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-bottom: 20px; }

/* — Filter field wrapper — */
.hero-s043 { flex: 1; min-width: 160px; }

/* ── Filter field label (hero-s044)
   fonts-final.html → "Eyebrow/label": 700 · 10px · uppercase · 0.08em */
.hero-s044 {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #344256;
    margin-bottom: 4px;
}

/* — Filter text input — */
.hero-s045 {width: 100%;border: 1px solid #e5e7eb;border-radius: 0.5rem;padding: 5px 10px;font-family: 'Inter', sans-serif;font-size: 13px;color: #000001;background: #fff;outline: none;border: 2px solid #ba0c2f;border-color: #ba0c2f !important;}

/* — Filter select wrapper — */
.hero-s046 { flex: 1; min-width: 140px; }

/* — Filter select — */
.hero-s047 {width: 100%;border: 1px solid #e5e7eb;border-radius: 0.5rem;padding: 7px 10px;font-family: 'Inter', sans-serif;font-size: 13px;color: #000001;background: #fff;cursor: pointer;outline: none;border: 2px solid #ba0c2f;border-color: #ba0c2f !important;}

/* ── Filter button (hero-s048)
   fonts-final.html → "Button text": 600 · 13px */
.hero-s048 {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ba0c2f;
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 7px 18px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}

/* — Project card inner padding — */
.hero-s049 {padding: 8px 10px 10px;}

/* — Card top bar (badge row) — */
.hero-s050 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }

/* ── Project number chip (hero-s051)
   fonts-final.html → chip: 600 · 11px · green tint */
.hero-s051 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #ba0c2f;
    background: rgb(180 75 79 / 8%);
    border: 1px solid #ba0c2f;
    padding: 0px 5px;
    border-radius: 2px;
}

/* ── Project category tag (hero-s052)
   fonts-final.html → "Meta/chip": 700 · 10px · uppercase · 0.08em */
.hero-s052 {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #95a1af;
    margin-bottom: 5px;
}

/* — Icon accent colour — */
.hero-s053 { color: #ba0c2f; margin-right: 4px; }

/* ── Project card title (hero-s054)
   fonts-final.html → "H4/Card title": 600 · 17px · 1.3 */
.hero-s054 {
    font-family: 'Inter', sans-serif;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.3;
    color: #000001;
    margin: 0 0 2px;
    letter-spacing: 0.2px;
}

/* — Project meta grid — */
.hero-s055 {display: grid;grid-template-columns: 1fr 1fr;gap: 7px;margin-bottom: 2px;}

/* ── Project meta item (hero-s056)
   fonts-final.html → "Body small": 400 · 14px */
.hero-s056 {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #526071;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* — Card footer row — */
.hero-s057 {border-top: 1px solid #f0f0f0;padding-top: 5px;display: flex;justify-content: space-between;align-items: center;}

/* ── Est. value label (hero-s058)
   fonts-final.html → "Eyebrow/label": 700 · 10px · uppercase */
.hero-s058 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #95a1af;
}

/* ── Project value figure (hero-s059)
   fonts-final.html → "Stat figure": 800 · tight tracking · green */
.hero-s059 {
    font-family: 'Inter', sans-serif;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
    color: #ba0c2f;
}

/* — Apply button size modifier — */
.hero-s060 {font-size: 14px;padding: 7px 10px;border-radius: 5px;font-weight: 500;line-height: 18px;letter-spacing: -0.1px;border: 2px solid var(--green);/* min-width: 154px; */}

/* — Post-grid button row — */
.hero-s061 { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 22px; padding-top: 18px; border-top: 1px solid #f0f0f0; }

/* — Dark navy CTA button modifier — */
.hero-s062 { background: #2d3c58; }

/* ── How It Works lead paragraph (hero-s063)
   fonts-final.html → "Body base": 400 · 1rem · 1.75 */
.hero-s063 {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75;
    color: #526071;
    max-width: 480px;
    margin: 0 auto;
}
/* ── How It Works Steps (hero-s064→069) ─────────────────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* — Step icon: large green bootstrap icon — */
.hero-s064 {
    font-size: 1.8rem;
    color: #ba0c2f;
    display: block;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

/* ── Step title (hero-s065)
   fonts-final.html → "H3/Card lead": 700 · 1.1rem · 1.22 */
.hero-s065 {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.22;
    color: #0f172a;
    margin: 0 0 8px;
    position: relative;
    z-index: 1;
}

/* ── Step description (hero-s066)
   fonts-final.html → "Body base": 400 · 0.9375rem · 1.6 */
.hero-s066 {
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.6;
    color: #526071;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
}

/* — Step content wrapper: z-index above decorative elements — */
.hero-s067 { position: relative; z-index: 1; }

/* — Step bottom CTA row — */
.hero-s068 { text-align: center; margin-top: 18px; }

/* — Step inline button size modifier — */
.hero-s069 {font-size: 14px;padding: 5px 18px;}

/* ── CTA Section / Split Panel (hero-s070→083) ──────────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* — CTA panel card — */
.hero-s070 {background: #ffffff;/* border: 1px solid rgba(82,180,75,0.25); */border-radius: 0.5rem;overflow: hidden;}

/* — CTA card body with decorative blob room — */
.hero-s071 { padding: 20px 19px; position: relative; }

/* — Decorative circle blob — */
.hero-s072 { position: absolute; top: -60px; right: -60px; width: 200px; height: 200px; border-radius: 50%; background: rgba(82,180,75,0.05); pointer-events: none; }

/* ── CTA main heading (hero-s073)
   fonts-final.html → "H1/Section title": 700 · clamp(26px,2.8vw,30px) · -0.03em */
.hero-s073 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.625rem, 2.8vw, 1.875rem);
    font-weight: 600;
    line-height: 1.14;
    letter-spacing: 0.2px;
    color: #0f172a;
    margin: 0 0 6px;
}

/* ── CTA sub-heading (hero-s074)
   fonts-final.html → "H3/Card lead": 700 · clamp(15px,2vw,22px) */
.hero-s074 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(0.9375rem, 2vw, 1.375rem);
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: 0.2px;
    color: #172033;
    margin: 0 0 12px;
}

/* ── CTA body copy (hero-s075)
   fonts-final.html → "Body base": 400 · 15px · 1.5 */
.hero-s075 {
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.5;
    color: #526071;
    max-width: 580px;
    margin: 0 0 16px;
}

/* — CTA bullet list row — */
.hero-s076 { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }

/* ── CTA bullet item (hero-s077)
   fonts-final.html → "Body small": 400 · 14px */
.hero-s077 {
    font-family: 'Inter', sans-serif;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #4C5671;
    line-height: 1.5;
}

/* — Bullet icon accent — */
.hero-s078 { color: #ba0c2f; font-size: 13px; }

/* — CTA button row — */
.hero-s079 { display: flex; flex-wrap: wrap; gap: 10px; }

/* — CTA media panel min-height — */
.hero-s080 { min-height: 280px; overflow: hidden; }

/* — CTA placeholder visual gradient — */
.hero-s081 { width: 100%; height: 100%; background: linear-gradient(135deg, rgba(82,180,75,0.133), rgba(45,60,88,0.267)); display: flex; align-items: center; justify-content: center; }

/* — CTA placeholder icon — */
.hero-s082 { font-size: 4rem; color: #ba0c2f; opacity: 0.3; }

/* ── Supplemental caption (hero-s083)
   fonts-final.html → "Body small": 400 · 14px */
.hero-s083 {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.5;
    color: #4C5671;
    max-width: 800px;
    margin: 0 auto;
}

/* ── Value Proposition Bento Grid (hero-s084→086) ───────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* — Bento card icon — */
.hero-s084 { font-size: 1.5rem; color: #ba0c2f; display: block; margin-bottom: 10px; }

/* ── Bento card title (hero-s085)
   fonts-final.html → "H4/Card title": 700 · 1.05rem · 1.32 */
.hero-s085 {
    font-family: 'Inter', sans-serif;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.32;
    color: #0f172a;
    margin: 0 0 6px;
}

/* ── Bento card description (hero-s086)
   fonts-final.html → "Body small": 400 · 13px · 1.7 */
.hero-s086 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.6;
    color: #4C5671;
    margin: 0 0 12px;
}

/* ── Procurement Roadmap Timeline (hero-s087→101) ───────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* — Roadmap section header row — */
.hero-s087 { text-align: center; margin-bottom: 30px; }

/* — Roadmap phase container card — */
.hero-s088 {margin-bottom: 26px;padding: 28px 20px;background: #fff;/* border: 2px solid #ba0c2f; */border-radius: 0.75rem;/* box-shadow: 0 8px 24px rgb(180 75 75 / 15%); */border: 1px solid #ba0c2f;}

/* — Roadmap step list column — */
.hero-s089 { display: flex; flex-direction: column; gap: 12px; position: relative; }

/* — Vertical timeline connector line — */
.hero-s090 { position: absolute; left: 16px; top: 0; bottom: 0; width: 2px; background: #f0f0f0; z-index: 0; }

/* — Roadmap step row — */
.hero-s091 { display: flex; align-items: flex-start; gap: 14px; position: relative; z-index: 1; }

/* ── Roadmap step dot – green (hero-s092)
   fonts-final.html → "Meta/chip": 700 · 13px — step number inside dot */
.hero-s092 {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ba0c2f;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #ba0c2f;
}

/* — Step content card — */
.hero-s093 { flex: 1; border: 1.5px solid #ba0c2f; border-radius: 0.5rem; padding: 13px 17px; }

/* ── Step body text (hero-s094)
   fonts-final.html → "Body small": 400 · 13px · 1.65 */
.hero-s094 {
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.65;
    color: #4C5671;
    margin: 0;
}

/* — Step connector arrow icon (green) — */
.hero-s095 { margin-left: 16px; color: #ba0c2f; font-size: 18px; line-height: 1; padding: 0 0 0 1px; }

/* — Centred block wrapper for middle connector — */
.hero-s096 { display: block; text-align: center; margin-left: 0; }

/* ── Roadmap step dot – dark navy (hero-s097)
   fonts-final.html → "Meta/chip": 700 · 13px */
.hero-s097 {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #2d3c58;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #2d3c58;
}

/* — Step content card (navy border) — */
.hero-s098 { flex: 1; border: 1.5px solid #2d3c58; border-radius: 0.5rem; padding: 13px 17px; }

/* — Connector arrow icon (navy) — */
.hero-s099 { margin-left: 16px; color: #2d3c58; font-size: 18px; line-height: 1; }

/* — Connector arrow icon (green alt) — */
.hero-s100 { margin-left: 16px; color: #ba0c2f; font-size: 18px; line-height: 1; }

/* — Roadmap post-steps CTA row — */
.hero-s101 { text-align: center; margin-top: 22px; }

/* ── Minimum Eligibility Section (hero-s102→109) ────────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* ── Eligibility intro paragraph (hero-s102)
   fonts-final.html → "Body small": 400 · 13px · line-height 22px */
.hero-s102 {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    color: #4C5671;
    margin: 0 0 20px;
}

/* — Eligibility criteria list — */
.hero-s103 { display: flex; flex-direction: column; gap: 9px; margin-bottom: 22px; }

/* — Eligibility criterion row card — */
.hero-s104 {display: flex;align-items: flex-start;gap: 12px;background: #fff;border: 1px solid #ba0c2f;border-left: 3px solid #ba0c2f;border-radius: 0.5rem;padding: 7px 15px;border: 1px solid #ba0c2f;box-shadow: 0 8px 24px rgb(180 75 75 / 15%);}

/* — Criterion check icon — */
.hero-s105 { color: #ba0c2f; font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; }

/* ── Criterion heading (hero-s106)
   fonts-final.html → "H4/Card title": 700 · 1rem · 1.32 */
.hero-s106 {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.32;
    color: #0f172a;
    margin-bottom: 0;
}

/* ── Criterion description (hero-s107)
   fonts-final.html → "Body small": 400 · 13px · 1.6 */
.hero-s107 {
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.6;
    color: #4C5671;
}

/* — Eligibility page media placeholder — */
.hero-s108 { width: 100%; height: 460px; background: linear-gradient(135deg, #f4f4f6, #ffeaee); border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; border: 1px solid #e5e7eb; }

/* — Placeholder icon — */
.hero-s109 { font-size: 5rem; color: #ba0c2f; opacity: 0.25; }

/* ── FAQ + Quick Reference Sidebar (hero-s110→129) ──────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* — FAQ section header block — */
.hero-s110 { margin-bottom: 18px; }

/* ── FAQ section heading (hero-s111)
   fonts-final.html → "H1/Section title": 700 · clamp(20px,2.8vw,34px) · -0.03em */
.hero-s111 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(25px, 2.8vw, 1.75rem);
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: 0.2px;
    color: #0f172a;
    margin: 0 0 6px;
    line-height: 1.18;
    font-weight: 600;
}

/* ── FAQ section intro (hero-s112)
   fonts-final.html → "Body base": 400 · 1rem · 1.75 */
.hero-s112 {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75;
    color: #4C5671;
    max-width: 620px;
}

/* — FAQ accordion list container — */
.hero-s113 { display: flex; flex-direction: column; gap: 8px; }

/* — FAQ accordion item — */
.hero-s114 {background: #fff;border: 1.5px solid #ba0c2f;border-radius: 0.5rem;overflow: hidden;border: 1px solid #ba0c2f;/* box-shadow: 0 8px 24px rgb(180 75 75 / 15%); */}

/* ── FAQ accordion trigger (hero-s115)
   fonts-final.html → "Body base": 400 · 15px · 1.5 */
.hero-s115 {
    padding: 8px 13px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    color: #4C5671;
    line-height: normal;
}

/* — FAQ chevron icon — */
.hero-s116 { color: #ba0c2f; flex-shrink: 0; margin-left: 8px; }

/* ── FAQ answer body (hero-s117)
   fonts-final.html → "Body small": 400 · 14px · 1.75 */
.hero-s117 {
    padding: 0 16px 14px;
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.75;
    color: #4C5671;
    border-top: 1px solid rgba(82,180,75,0.15);
}

/* — Quick Ref sidebar top margin — */
.hero-s118 { margin-top: 14px; }

/* — Quick Ref sidebar card — */
.hero-s119 {background: #ffffff;border: 1.5px solid rgba(82,180,75,0.3);border-radius: 0.5rem;padding: 20px;border-top: 3px solid #ba0c2f;border: 1px solid #ba0c2f;box-shadow: 0 8px 24px rgb(180 75 75 / 15%);border-top: 3px solid #ba0c2f;}

/* ── Quick Ref card heading (hero-s120)
   fonts-final.html → "H4/Card title": 700 · 1rem · 1.32 */
.hero-s120 {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: #0f172a;
    margin: 0 0 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* ── Quick Ref sub-intro (hero-s121)
   fonts-final.html → "Body small": 400 · 13px · 1.6 */
.hero-s121 {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    color: #4C5671;
    margin: 0 0 16px;
}

/* — Quick Ref checklist — */
.hero-s122 { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }

/* — Checklist item row — */
.hero-s123 { display: flex; align-items: flex-start; gap: 10px; }

/* — Checklist check icon — */
.hero-s124 {color: #ba0c2f;font-size: 14px;margin-top: 7px;flex-shrink: 0;}

/* ── Checklist item label (hero-s125)
   fonts-final.html → "Body small": 600 · 0.9375rem · 1.4 */
.hero-s125 {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    /* line-height: 1.4; */
    color: #0f172a;
    margin-bottom: 0;
}

/* ── Checklist item detail (hero-s126)
   fonts-final.html → "Body small": 400 · 14px · 1.5 */
.hero-s126 {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    color: #4C5671;
}

/* — Quick Ref sidebar CTA block — */
.hero-s127 { margin-top: 8px; padding-top: 14px; border-top: 1px solid #e5e7eb; display: flex; flex-direction: column; gap: 8px; }

/* — Sidebar CTA button modifier: full-width, larger — */
.hero-s128 { width: 100%; justify-content: center; font-size: 0.9375rem; }

/* — Sidebar link modifier: justify centre — */
.hero-s129 { justify-content: center; }

/* ── Projects Pipeline Grid (proj-s001→045) ─────────────────────────────────
   fonts-final.html · Inter-Regular.woff2 only · No InterDisplay
   ─────────────────────────────────────────────────────────────────────────── */

/* — Section shell — */
.proj-s001 {/* background: #f9f9f9; */padding-top: 25px;padding-bottom: 30px;background-image: radial-gradient(80% 50% at 50% 80%, #ba0c2f33, #0000);background: unset;}

/* — Container — */
.proj-s002 { max-width: 1440px; margin: 0 auto; padding: 0 24px; }

/* — Header block above filter bar — */
.proj-s003 { margin-bottom: 20px; }

/* — Section label modifier — */
.proj-s004 { background: #f4f4f6; border: 1.5px solid rgba(82,180,75,0.4); border-radius: 5px; }

/* — Title + button row — */
.proj-s005 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; }

/* ── Projects grid heading (proj-s006)
   fonts-final.html → "H1/Section title": 700 · clamp(22px,3vw,27px) · -0.03em */
.proj-s006 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.375rem, 3vw, 1.6875rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0.3px;
    color: #0f172a;
    margin: 0;
}

/* ── Projects grid sub-caption (proj-s007)
   fonts-final.html → "Body small": 400 · 14px */
.proj-s007 {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #526071;
    margin: 0;
    max-width: 400px;
}

/* — Filter bar — */
.proj-s008 {background: #f4f4f6;border: 1px solid #e5e7eb;border-radius: 0.5rem;padding: 14px 16px;display: flex;flex-wrap: wrap;gap: 10px;align-items: flex-end;margin-bottom: 8px;background: #fff;}

/* — Filter field wrapper — */
.proj-s009 { flex: 1; min-width: 180px; }

/* ── Filter field label (proj-s010)
   fonts-final.html → "Eyebrow/label": 700 · 10px · uppercase · 0.08em */
.proj-s010 {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #344256;
    margin-bottom: 4px;
}

/* — Filter select wrapper — */
.proj-s011 { flex: 1; min-width: 160px; }

/* — Filter select — */
.proj-s012 {width: 100%;border: 1px solid #e5e7eb;border-radius: 0.5rem;padding: 8px 12px;font-family: 'Inter', sans-serif;font-size: 13px;color: #000001;background: #fff;outline: none;cursor: pointer;border: 2px solid #ba0c2f;border-color: #ba0c2f !important;}

/* ── Filter submit button (proj-s013)
   fonts-final.html → "Button text": 600 · 13px */
.proj-s013 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #ba0c2f;
    color: #fff;
    border: none;
    border-radius: 0.5rem;
    padding: 8px 12px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}

/* — Ghost link button modifier — */
.proj-s014 { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; font-family: 'Inter', sans-serif; font-size: 13px; color: #000001; text-decoration: none; border: 1px solid #e5e7eb; border-radius: 0.5rem; padding: 8px 14px; background: #fff; }

/* — Active filter count row — */
.proj-s015 { margin-bottom: 4px; font-family: 'Inter', sans-serif; font-size: 13px; color: #000001; }

/* — Filter count plain text — */
.proj-s016 { color: #000001; }

/* — Filter count accent — */
.proj-s017 { color: #ba0c2f; }

/* — Project entry header bar — */
.proj-s018 {display: flex;align-items: center;gap: 12px;margin-bottom: 10px;margin-top: 10px;padding: 6px 16px 3px;/* background: #f4f4f6; */border-left: 0px solid #ba0c2f;border-radius: 0 0.5rem 0.5rem 0;/* background: #fff; */border-bottom: 4px solid #ba0c2f;background: #f7f7f7;}

/* ── Project entry title (proj-s019)
   fonts-final.html → "H3/Card lead": 700 · 1.125rem · 1.22 */
.proj-s019 {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.22;
    color: #0f172a;
    margin: 0;
    flex: 1;
}

/* ── Project status badge (proj-s020)
   fonts-final.html → chip: 600 · 12px */
.proj-s020 {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    background: rgba(82,180,75,0.12);
    color: #ba0c2f;
    border: 1px solid rgba(82,180,75,0.25);
    border-radius: 5px;
    padding: 2px 10px;
    line-height: normal;
}

/* — Project entry body margin — */
.proj-s021 {margin-bottom: 35px;}

/* — Project card inner padding — */
.proj-s022 {padding: 9px 16px 9px;/* background: radial-gradient(80% 50% at 50% 80%, #ba0c2f33, #0000); *//* background: #fff; *//* background: radial-gradient(60% 60% at 50% 72%, #92929226, #0000); */}

/* — Card top row: badge + category — */
.proj-s023 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }

/* ── Project number chip (proj-s024)
   fonts-final.html → chip: 600 · 11px · green tint */
.proj-s024 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #ba0c2f;
    background: rgb(180 75 79 / 8%);
    border: 1px solid #ba0c2f;
    padding: 2px 8px;
    border-radius: 4px;
}

/* ── Project category tag (proj-s025)
   fonts-final.html → "Meta/chip": 700 · 10px · uppercase */
.proj-s025 {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #95a1af;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ── Project card title (proj-s026)
   fonts-final.html → "H4/Card title": 700 · 1.0625rem · 1.35 */
.proj-s026 {
    font-family: 'Inter', sans-serif;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.35;
    color: #0f172a;
    margin: 0 0 4px;
}

/* — Project meta grid — */
.proj-s027 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 4px; }

/* ── Project meta item (proj-s028)
   fonts-final.html → "Body small": 400 · 14px */
.proj-s028 {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #526071;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* — Meta icon accent — */
.proj-s029 { color: #ba0c2f; font-size: 11px; margin-right: 4px; }

/* — Card footer row — */
.proj-s030 { border-top: 1px solid #f0f0f0; padding-top: 5px; display: flex; justify-content: space-between; align-items: center; }

/* ── Est. value label (proj-s031)
   fonts-final.html → "Eyebrow/label": 700 · 10px · uppercase */
.proj-s031 {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #95a1af;
}

/* ── Project value figure (proj-s032)
   fonts-final.html → "Stat figure": 800 · 19px · tight tracking · green */
.proj-s032 {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: #000001;
    line-height: normal;
}

/* — Apply button size modifier — */
.proj-s033 {font-size: clamp(10px, 2.2vw, 13px);padding: 9px 14px;border-radius: 6px;font-weight: 600;letter-spacing: 0.2px;line-height: normal;white-space: nowrap;}
/* Project card btn-card-link: match clamp size, no wrap */
.project-card .btn-card-link {
    font-size:   clamp(10px, 2.2vw, 13px) !important;
    white-space: nowrap;
}
/* Button row: prevent wrapping */
.project-card .proj-s030 > div { flex-wrap: nowrap !important; }

/* — Empty / no results state container — */
.proj-s034 { text-align: center; padding: 48px 24px; }

/* — Empty state icon — */
.proj-s035 { font-size: 2.5rem; color: #c8d0dc; display: block; margin-bottom: 12px; }

/* ── Empty state heading (proj-s036)
   fonts-final.html → "H3/Card lead": 700 · 1.25rem */
.proj-s036 {
    font-family: 'Inter', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 8px;
}

/* ── Empty state body (proj-s037)
   fonts-final.html → "Body base": 400 · 14px */
.proj-s037 {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #526071;
    margin: 0 0 16px;
}

/* — Loading spinner icon — */
.proj-s038 { font-size: 2rem; color: #c8d0dc; display: block; margin-bottom: 10px; }

/* ── Loading / searching text (proj-s039)
   fonts-final.html → "Body small": 400 · 14px */
.proj-s039 {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #526071;
    margin: 0;
}

/* --- final manual cleanup classes --- */
.idx-contact-link {font-size: 13px;color:var(--body);text-decoration:none;display:flex;align-items:center;gap:4px;font-weight: 600;display: none;}
.idx-mobile-hero-img {width:100%;height:120px;object-fit:cover;border-radius:0.5rem;}
/* ── Footer contact email / phone links ─────────────────────────────────── */
.idx-footer-contact-link {
    font-family:     'Inter', sans-serif;
    font-size:       13px;
    font-weight:     500;
    color:           rgba(255,255,255,0.52);
    text-decoration: none;
    transition:      color .15s;
    color: #fff;
}
.idx-footer-contact-link:hover {color: #ba0c2f;color: #fff;}
.hero-visual-fill-img {width:100%;height:100%;object-fit:cover;display:block;}
.hero-eligibility-img {width:100%;height: 580px;object-fit:cover;border-radius:0.5rem;border:1px solid #e5e7eb;}
.proj-filter-input {width:100%;border: 2px solid #ba0c2f;border-radius:0.5rem;padding: 5px 12px;font-size:13px;color:#000001;background:#fff;outline:none;border-color: #ba0c2f !important;!i;!;}
.proj-cat-icon-lg {font-size: 18px;color:#ba0c2f;}
.proj-cat-icon-sm {color:#ba0c2f;font-size:10px;}

/* --- dynamic projects mega-menu classes --- */
.idx-proj-menu-heading {font-size: 12px;font-family: 'Inter', sans-serif;font-weight: 600;color: var(--green);text-transform: uppercase;letter-spacing: 0.1em;margin: 0 0 7px;margin: 0 0 5px;padding-bottom: 0px;border-bottom: 1px solid #f0f0f0;}
.idx-proj-menu-heading-icon {margin-right:5px;}
.idx-proj-menu-list {list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap: 3px;}
.idx-proj-menu-item {display:block;font-size: 14px;color:var(--body);text-decoration:none;}
.idx-proj-menu-item-title {display: block;font-family: 'Inter', sans-serif;font-weight: 600;color: #4C5671;font-size: 13px;line-height: normal;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;}
.idx-proj-menu-item-meta {display:block;font-size:11px;color:#94a3b8;margin-top:1px;}
.idx-proj-menu-viewall {display: inline-flex;align-items: center;gap: 4px;font-size: 14px;font-family: 'Inter', sans-serif;font-weight: 600;color: var(--green);text-decoration: none;margin-top: 4px;}
.idx-proj-menu-list li {    border-bottom: 1px solid #e4e4e4;
    padding-bottom: 4px;}
/* ── Image Background Hero Section ──────────────────────────────────────────
   Typography fully rebuilt from fonts-final.html system.
   Font: Inter-Regular.woff2 only (single weight — browser synthesises bold)
   Icons: bootstrap-icons.woff2  ·  Accent: #ba0c2f  ·  No InterDisplay used
   ──────────────────────────────────────────────────────────────────────── */

/* — Section shell — */
.hero-img-section {
    position: relative;
    padding-top: 170px;
    padding-bottom: 30px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    /* max-width: 1400px; */
    /* margin: auto; */
    /* max-width: 1380px; */
    margin: auto;
}

/* — Hero visibility controls: Desktop/tablet shows hero-img-section, Mobile JS picks randomly — */
@media (min-width: 1024px) {
    .hero-img-section {
        display: block !important;
    }
    .hero-s001 {
        display: none !important;
    }
}

/* — Gradient overlay: dark-to-green for legibility on any photo — */
.hero-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgb(0 0 0 / 60%) 100%,
        rgb(0 0 0 / 60%) 100%,
        rgb(0 0 0 / 60%) 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* — Stacking context for inner content — */
.hero-img-inner {
    position: relative;
    z-index: 2;
}

/* ── Eyebrow / section label (hero-s004) ──────────────────────────────────
   fonts-final.html rule → "Eyebrow / label": 700 · 12px · uppercase · 0.14em
   Rendered slightly smaller (11px) to stay subtle on a busy background.      */
.hero-img-section .hero-s004 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 3px 5px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.35);
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 14px !important;!i;!;
}

/* Blink dot — white on dark background */
.hero-img-section .blink-dot { background: #fff; }

/* ── Hero headline (hero-s005) ────────────────────────────────────────────
   fonts-final.html rule → "H1 / Section title": 700 · 30–38px · -0.03em
   Uses clamp to keep it responsive without going full "Display" scale.       */
.hero-img-section .hero-s005 {
    font-size: clamp(1.85rem, 4vw, 2.55rem);
    line-height: normal;
    letter-spacing: -0.0px;
    font-weight: 300;
    color: #fff;
    margin: 0 0 18px;
    /* font-size: clamp(18px, 3vw, 27px); */
    /* line-height: 47px; */
    letter-spacing: 0.3px;
    font-weight: 600;
}

/* ── Lead paragraph (hero-s006) ───────────────────────────────────────────
   fonts-final.html rule → "Body large": 400 · 1.0625rem (17px) · 1.82      */
.hero-img-section .hero-s006 {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    line-height: 27px;
    font-weight: 300;
    color: #fff;
    max-width: 60ch;
    margin: 0 0 24px;
    letter-spacing: 0.2px;
}

/* ── Trust-badge items (hero-s009) ────────────────────────────────────────
   fonts-final.html rule → "Body small": 400 · 0.9375rem (15px) · 1.7       */
.hero-img-section .hero-s009 {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.92);
    margin-left: 15px;
}

/* Check icon — white on dark photo background (base .hero-s010 is green) */
.hero-img-section .hero-s010 {
    color: rgba(255, 255, 255, 0.85);
}

/* ── Primary CTA button ────────────────────────────────────────────────────
   fonts-final.html rule → "Button text": 600 · 15px · line-height 1.2       */
.hero-img-section .btn-primary {
    font-size: 14px;
    font-weight: 600;
    /* letter-spacing: 0.01em; */
    line-height: 1.2;
    background: #ba0c2f;
    padding: 11px 13px;
    border-radius: 5px;
}
.hero-img-section .btn-primary:hover { background: #97001e; }

/* ── Outline CTA button ─────────────────────────────────────────────────── */
.hero-img-section .btn-outline {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff;
    padding: 3px 9px;
    border-radius: 6px;
}
.hero-img-section .btn-outline:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: #fff;
    color: #fff;
}

/* ── Card-link button (hero-s012) ──────────────────────────────────────────
   fonts-final.html rule → inline-link / secondary action: 600 · 14px        */
.hero-img-section .btn-card-link {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.4px;
    line-height: 1.2;
    color: #fff;
    /* border-color: rgba(255, 255, 255, 0.40); */
    border-radius: 6px;
    padding: 10px 18px;
    background-color: #ba0c2f;
    text-align: left;
    align-items: unset;
    display: math;
}
.hero-img-section .btn-card-link:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.75);
    color: #fff;
}

/* ── Frosted-glass floating cards (hero-card-float) ───────────────────────
   Mirrors the .hero-card style from fonts-final.html:
   glass background · blur · subtle border · rounded-xl (24px → 16px here)   */
.hero-img-section .hero-card-float {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 16px;
    padding: 11px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

/* ── Card section label (hero-s013) ───────────────────────────────────────
   fonts-final.html rule → .hero-card__label: 700 · 12px · uppercase · 0.14em
   Slightly smaller and more transparent on a glass card.                     */
.hero-img-section .hero-s013 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: rgba(255, 255, 255, 0.70);
    margin: 0 0 12px;
}

/* ── Project card row separator ─────────────────────────────────────────── */
.hero-img-section .hero-project-card { border-bottom-color: rgba(255, 255, 255, 0.10); }

/* ── Icon circle override for dark photo background ───────────────────────
   Base icon is green on green-tint bg (white hero). Here: white icon on
   a semi-transparent white glass container — fully separate from hero-s001. */
.hero-img-section .hero-project-icon {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.20);
}
.hero-img-section .hero-project-icon i { color: #fff; }

/* Project name: card-title scale – 600 · 1rem · line-height 1.3
   fonts-final.html rule → "H4 / Card title": 600 · 17–18px
   (stepped down one notch to fit the compact card)                          */
.hero-img-section .hero-project-name {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
    letter-spacing: 0.4px;
}

/* Project meta: body-small scale – 400 · 0.875rem · 1.5
   fonts-final.html rule → "Body small": 400 · 15px · muted color           */
.hero-img-section .hero-project-meta {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 2px;
}

/* Project value: metric/stat scale – 800 · tight tracking
   fonts-final.html rule → "Stat figure": 800 · 2rem · -0.04em
   (stepped down to 1rem to fit inside a card row)                           */
.hero-img-section .hero-project-value {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
    color: #fff;
}

/* ── Funder tags (chip style) ──────────────────────────────────────────────
   fonts-final.html rule → .chip: 700 · 12px · uppercase · 0.08em tracking  */
.hero-img-section .hero-funder-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 12px;
    border-radius: 999px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.20);
    color: #fff;
}

/* ================================================================
   PAGE HERO  ·  includes/page_hero.php
   Types: pg-hero--plain | pg-hero--dark | pg-hero--image
================================================================ */
.pg-hero {
    position: relative;
    max-width: 1390px;
    background: #fff;
    background-size: cover;
    background-position: center;
    margin: auto;
    border-radius: 0px;
    padding-bottom: 6px;
}
.pg-hero--dark,
.pg-hero--image {
    background-color: #fff;
    color: #fff;
    height: 680px;
}
.pg-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
}
.pg-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 1440px;
    /* margin: 0 auto; */
    padding: 2px 40px 10px;
}
.pg-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    font-size: 0.8rem;
    font-family: 'Inter', sans-serif;
    margin-top: 10px;
}
.pg-hero__bc-link {
    color: rgba(255,255,255,0.62);
    text-decoration: none;
    transition: color 0.2s;
}
.pg-hero--plain .pg-hero__bc-link   { color: #ba0c2f; }
.pg-hero__bc-link:hover             { color: #fff; }
.pg-hero--plain .pg-hero__bc-link:hover { color: #8f0924; }
.pg-hero__bc-sep  { color: rgba(255,255,255,0.35); font-size: 0.62rem; }
.pg-hero--plain .pg-hero__bc-sep   { color: #b0b0b0; }
.pg-hero__bc-cur  { color: rgba(255,255,255,0.9); font-weight: 600; }
.pg-hero--plain .pg-hero__bc-cur   { color: #1f2937; font-weight: 600; }
.pg-hero__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 4px 14px 1px 10px;
    border-radius: 5px;
    background: rgb(180 75 75 / 16%);
    border: 1px solid rgb(180 75 75 / 92%);
    color: #ff0033;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-family: 'Inter', sans-serif;
    width: max-content;
}
.pg-hero--plain .pg-hero__label {
    color: #ba0c2f;
    background: rgb(180 75 75 / 10%);
    border-color: rgba(82,180,75,0.30);
}
.blink-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ba0c2f;
    animation: pg-pulse 1.8s ease-in-out infinite;
}
@keyframes pg-pulse {
    0%, 100% { opacity: 1;   transform: scale(1);   }
    50%       { opacity: 0.4; transform: scale(0.65); }
}
.pg-hero__title {
    margin: 0 0 10px;
    font-family: 'Inter', sans-serif;
    font-size: clamp(24px, 2vw, 32px);
    font-weight: 600;
    line-height: 1.14;
    letter-spacing: 0.5px;
    color: #ffffff;
    margin-top: 00px;
}
.pg-hero--plain .pg-hero__title { color: #1f2937; }
.pg-hero__sub {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 23px;
    color: #fff;
    max-width: 660px;
}
.pg-hero--plain .pg-hero__sub { color: #526071; }

/* ── Hero CTA action buttons (dark/image hero only) ─────────────────── */
.pg-hero__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: 24px;
    padding-bottom: 32px;
    max-width: 502px;
    position: absolute;
    bottom: -18px;
    right: 30px;
}
.pg-hero__actions .btn-primary {
    background: #ba0c2f;
    color: #fff;
    border-color: #ba0c2f;
    font-size: 13px;
    padding: 0 20px;
    height: 39px;
    white-space: nowrap;
    font-weight: 600;
}
.pg-hero__actions .btn-primary:hover { background: #8f0924; border-color: #8f0924; }
.pg-hero__actions .btn-outline-white {
    font-size: 13px;
    padding: 0 20px;
    white-space: nowrap;
    font-weight: 600;
    background-color: #0000000f;
    line-height: normal;
    height: 39px;
    border: 1px solid #ba0c2f;
}
@media (max-width: 768px) {
    .pg-hero__inner    { padding: 38px 20px 42px; }
    .pg-hero__title    { font-size: 1.5rem; }
    .pg-hero__actions  { justify-content: flex-start; padding-bottom: 20px; }
}
@media (max-width: 480px) {
    .pg-hero__inner    { padding: 30px 16px 34px; }
    .pg-hero__title    {font-size: 1.35rem;}
}

/* ── Item 2: Hide breadcrumb on mobile ──────────────────────────────── */
@media (max-width: 767px) {
    .pg-hero__breadcrumb { display: none !important; }
}

/* ── Item 1: 2-column button grid on dark/image hero (mobile/tablet) ───
   Overrides the old flex-direction:column approach. clamp() prevents text
   wrapping at any viewport width — white-space:nowrap is the hard guard.  */
@media (max-width: 767px) {
    .pg-hero--dark .pg-hero__actions,
    .pg-hero--image .pg-hero__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .pg-hero--dark .pg-hero__actions > a,
    .pg-hero--image .pg-hero__actions > a {
        width: 100%;
        justify-content: center;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        min-width: 0;
        font-size: clamp(11px, 3vw, 13px);
        padding-left: clamp(8px, 2.5vw, 20px);
        padding-right: clamp(8px, 2.5vw, 20px);
    }
}

/* ════════════════════════════════════════════════════════════════════════
   PATCH v2  —  pg-hero bottom-anchoring · missing classes · responsiveness
════════════════════════════════════════════════════════════════════════ */

/* ── PG-HERO: anchor content to bottom of hero area ─────────────────── */
.pg-hero--dark,
.pg-hero--image {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.pg-hero--dark .pg-hero__inner,
.pg-hero--image .pg-hero__inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: 60px;
    padding-bottom: 44px;
}

/* Fix previously invisible overlay (was rgba(0,0,0,0)) */
.pg-hero--dark .pg-hero__overlay,
.pg-hero--image .pg-hero__overlay {
    background: linear-gradient(
        to bottom,
        rgba(8, 14, 28, 0.1) 0%,
        rgba(8, 14, 28, 0.22) 55%,
        rgba(4, 9, 20, 0.60) 100%
    );
    background: linear-gradient(to bottom, rgba(8, 14, 28, 0.22) 0%, rgba(8, 14, 28, 0.52) 55%, rgb(124 0 16 / 80%) 100%);
    /* background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark)); */
}

/* Remove absolute positioning on actions — let them flow at bottom */
.pg-hero--dark .pg-hero__actions,
.pg-hero--image .pg-hero__actions {
    position: static;
    bottom: auto;
    right: auto;
    justify-content: flex-start;
    margin-top: 20px;
    padding-bottom: 0;
    max-width: none;
}

/* ── CONTRACTOR ELIGIBILITY — elig-* classes ────────────────────────── */
.elig-crit-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid 1px solid rgb(180 75 75 / 45%);
    border-radius: 8px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.elig-crit-card:hover {
    border-color: rgba(82,180,75,0.45);
    box-shadow: 0 4px 16px rgb(180 75 75 / 10%);
}
.elig-crit-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgb(180 75 75 / 10%);
    color: #ba0c2f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s;
}
.elig-crit-card:hover .elig-crit-icon {
    background: #ba0c2f;
    color: #fff;
}
.elig-crit-title {
    font: 600 17px/1.6 'Inter', sans-serif;
    color: #0f172a;
    margin-bottom: 1px;
}
.elig-crit-text {
    font: 300 15px/1.7 'Inter', sans-serif;
    color: #475569;
    margin: 0;
}
.elig-road-step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(15,23,42,0.06);
}
.elig-road-step:last-child { border-bottom: none; }
.elig-road-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ba0c2f;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 700 0.85rem/1 'Inter', sans-serif;
    flex-shrink: 0;
}
.elig-road-title {
    font: 700 0.9rem/1.2 'Inter', sans-serif;
    color: #0f172a;
    margin-bottom: 3px;
}
.elig-road-text {
    font: 400 0.84rem/1.6 'Inter', sans-serif;
    color: #475569;
    margin: 0;
    font: 300 15px / 1.7 'Inter', sans-serif !important;
}
.elig-local-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid rgba(15,23,42,0.06);
    font: 300 15px / 1.7 'Inter', sans-serif !important;
}
.elig-local-item:last-child { border-bottom: none; }
.elig-local-item > i { color: #ba0c2f; margin-top: 3px; flex-shrink: 0; }

/* ── PROJECT DETAILS — pd-* classes ────────────────────────────────── */
.pd-stat-card {
    background: #fff;
    border: 1px solid rgba(82,180,75,0.20);
    border-radius: 8px;
    padding: 16px 18px;
    box-shadow: 0 2px 10px rgba(15,23,42,0.05);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.pd-stat-card:hover {
    border-color: rgba(82,180,75,0.40);
    box-shadow: 0 4px 16px rgba(82,180,75,0.12);
    transform: translateY(-2px);
}
.pd-stat-label {
    font: 600 0.72rem/1 'Inter', sans-serif;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 5px;
}
.pd-stat-value {
    font: 700 0.95rem/1.3 'Inter', sans-serif;
    color: #0f172a;
}
.pd-review-card {
    background: #fff;
    border: 1px solid 1px solid rgb(180 75 75 / 45%);
    border-radius: 8px;
    padding: 18px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.pd-review-card:hover {
    border-color: rgba(82,180,75,0.40);
    box-shadow: 0 4px 14px rgb(180 75 75 / 10%);
}
.pd-review-num {
    font: 800 2.5rem/1 'Inter', sans-serif;
    color: rgba(82,180,75,0.20);
    margin-bottom: 8px;
}
.pd-review-title {
    font: 700 0.9rem/1.2 'Inter', sans-serif;
    color: #0f172a;
    margin-bottom: 6px;
}
.pd-review-text {
    font: 400 0.84rem/1.6 'Inter', sans-serif;
    color: #475569;
    margin: 0;
}
.pd-detail-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 9px 0;
    border-bottom: 1px solid rgba(15,23,42,0.06);
}
.pd-detail-row:last-child { border-bottom: none; }
.pd-detail-key {
    font: 500 0.78rem/1 'Inter', sans-serif;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
    min-width: 72px;
}
.pd-detail-val {
    font: 600 0.88rem/1.3 'Inter', sans-serif;
    color: #0f172a;
}
.pd-related-card {
    background: #fff;
    border: 1px solid rgba(82,180,75,0.25);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, box-shadow 0.2s;
    position: relative;
}
.pd-related-card::before {
    content: '';
    display: block;
    height: 3px;
    background: var(--green, #ba0c2f);
    flex-shrink: 0;
}
.pd-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(82,180,75,0.15);
}
.pd-related-card__body {
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}
.pd-related-card__footer {
    padding: 10px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(82,180,75,0.12);
    background: rgba(82,180,75,0.02);
}

/* ── PRE-FOOTER CTA — background image + overlay ───────────────────── */
.idx-s049 {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.idx-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(8,15,32,0.91) 0%, rgba(15,30,56,0.86) 100%);
    pointer-events: none;
    z-index: 0;
    /* background: linear-gradient(to bottom, rgba(8, 14, 28, 0.22) 0%, rgba(8, 14, 28, 0.52) 55%, rgba(4, 9, 20, 0.80) 100%); */
}
/* Make sure content stays above overlay */
.idx-s049 > div { position: relative; z-index: 1; }

/* ── MODALITY CARDS (model-dfbom comparison strip) ──────────────────── */
.modality-card {
    padding: 22px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid rgba(82,180,75,0.20);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.modality-card:hover {
    border-color: rgba(82,180,75,0.45);
    box-shadow: 0 6px 20px rgba(82,180,75,0.12);
}
.modality-card--dark {
    background: linear-gradient(135deg, var(--mop-accent, #1f2b3e), var(--mop-accent-dark, #2d3c58));
    color: #fff;
    border-color: transparent;
}
.modality-card__label {
    display: block;
    font: 700 0.72rem/1 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #ba0c2f;
    margin-bottom: 8px;
}
.modality-card--dark .modality-card__label { color: #8ce48a; }
.modality-card__title {
    font: 700 1.15rem/1.2 'Inter', sans-serif;
    color: #0f172a;
    margin: 0 0 8px;
}
.modality-card--dark .modality-card__title { color: #fff; }
.modality-card__text {
    font: 400 0.88rem/1.65 'Inter', sans-serif;
    color: #475569;
    margin: 0;
}
.modality-card--dark .modality-card__text { color: rgba(255,255,255,0.80); }

/* ── MEDIA CALENDAR — inner-section + editorial-card ───────────────── */
.inner-section { padding-top: 10px; padding-bottom: 20px; }
.editorial-card {
    background: #fff;
    border: 1px solid rgba(15,23,42,0.08);
    border-radius: 8px;
    padding: 22px;
    box-shadow: 0 4px 16px rgba(15,23,42,0.05);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.editorial-card:hover {
    border-color: rgba(82,180,75,0.35);
    box-shadow: 0 8px 24px rgb(180 75 75 / 10%);
    transform: translateY(-2px);
}

/* ── RESPONSIVE OVERRIDES ────────────────────────────────────────────── */

/* 900 px — collapse apply form two-column row grids */
@media (max-width: 900px) {
    .apply-step-body [style*="grid-template-columns:1fr 1fr"],
    .apply-step-body [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    .apply-step-body [style*="grid-template-columns:1fr 1fr 1fr"],
    .apply-step-body [style*="grid-template-columns: 1fr 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* 767 px — collapse all key two-column + multi-column layouts */
@media (max-width: 767px) {
    /* pg-hero inner more compact */
    .pg-hero--dark .pg-hero__inner,
    .pg-hero--image .pg-hero__inner {
        padding-top: 40px;
        padding-bottom: 32px;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Contact page: main layout (1.35fr sidebar) */
    .cg-section > .cg-container > [style*="grid-template-columns:minmax(0,1.35fr)"],
    .cg-section > .cg-container > [style*="grid-template-columns: minmax(0,1.35fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Apply page: main layout (1.4fr + 440px) */
    .cg-section > .cg-container > [style*="grid-template-columns:minmax(0,1.4fr)"],
    .cg-section > .cg-container > [style*="grid-template-columns: minmax(0,1.4fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Project details: main layout (1.5fr + sidebar) */
    .cg-section > .cg-container > [style*="grid-template-columns:minmax(0,1.5fr)"],
    .cg-section > .cg-container > [style*="grid-template-columns: minmax(0,1.5fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Contractor eligibility: main layout (1fr 400px) */
    .cg-section > .cg-container > [style*="grid-template-columns:1fr 400px"],
    .cg-section > .cg-container > [style*="grid-template-columns: 1fr 400px"] {
        grid-template-columns: 1fr !important;
    }

    /* Contact info grid */
    .ct-info-grid { grid-template-columns: 1fr !important; }

    /* Sticky sidebar — disable on mobile */
    [style*="position:sticky"],
    [style*="position: sticky"] { position: static !important; }

    /* Review lanes — 3-col */
    [style*="grid-template-columns:1fr 1fr 1fr"],
    [style*="grid-template-columns: 1fr 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* Generic 1fr 1fr grids inside cg-section */
    .cg-section [style*="grid-template-columns:1fr 1fr"],
    .cg-section [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* pd-related-card auto-fit grid */
    [style*="grid-template-columns:repeat(auto-fit,minmax(260px,1fr))"],
    [style*="grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))"] {
        grid-template-columns: 1fr !important;
    }

    /* 4-col → 2-col */
    [style*="grid-template-columns:repeat(4,minmax(0,1fr))"],
    [style*="grid-template-columns: repeat(4,minmax(0,1fr))"],
    [style*="grid-template-columns:repeat(4, minmax(0, 1fr))"] {
        grid-template-columns: repeat(2,1fr) !important;
    }

    /* 3-col → 2-col */
    [style*="grid-template-columns:repeat(3,minmax(0,1fr))"],
    [style*="grid-template-columns: repeat(3,minmax(0,1fr))"],
    [style*="grid-template-columns:repeat(3, 1fr)"],
    [style*="grid-template-columns: repeat(3, 1fr)"] {
        grid-template-columns: repeat(2,1fr) !important;
    }

    /* Stat strip auto-fit */
    [style*="grid-template-columns:repeat(auto-fit,minmax(160px,1fr))"] {
        grid-template-columns: repeat(2,1fr) !important;
    }

    /* Pre-footer CTA flex row → column */
    .idx-s049 [style*="display:flex"][style*="gap:40px"],
    .idx-s049 [style*="display: flex"][style*="gap: 40px"] {
        flex-direction: column !important;
        gap: 24px !important;
    }

    /* pd-stat-card compact */
    .pd-stat-card { padding: 12px 14px; }
}

/* 480 px — collapse everything to single column */
@media (max-width: 480px) {
    [style*="grid-template-columns:repeat(4,minmax(0,1fr))"],
    [style*="grid-template-columns:repeat(3,minmax(0,1fr))"],
    [style*="grid-template-columns:repeat(2,minmax(0,1fr))"],
    [style*="grid-template-columns:repeat(3, 1fr)"],
    [style*="grid-template-columns:repeat(2, 1fr)"],
    [style*="grid-template-columns:repeat(auto-fit,minmax(160px,1fr))"] {
        grid-template-columns: 1fr !important;
    }
}

/* ======================================================================
   ABOUT PAGE  ·  /includes/pages/about.php
   Mobile-first responsive. All classes prefixed `about-` or extend `cg-`.
   ====================================================================== */

/* ── Two-column grid (stacks to 1-col on mobile) ───────────────────── */
.about-2col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: center;
}
@media (min-width: 768px) {
    .about-2col { grid-template-columns: 1fr 1fr; gap: 40px; }
}
.about-2col--start { align-items: start; }

/* ── Stats: 3 equal columns ────────────────────────────────────────── */
.about-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
@media (max-width: 480px) {
    .about-stats-grid { gap: 8px; }
}

/* ── Mini 2-col card pair (stacks on small phones) ─────────────────── */
.about-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 480px) {
    .about-mini-grid { grid-template-columns: 1fr; }
}

/* ── Right-side flex column ─────────────────────────────────────────── */
.about-right-stack { display: flex; flex-direction: column; gap: 12px; }

/* ── Stat card ──────────────────────────────────────────────────────── */
.about-stat {
    text-align: center;
    padding: 20px 16px;
    border: 1px solid rgba(82,180,75,0.25);
    border-radius: 8px;
    background: #fff;
}
.about-stat-val {
    font: 700 2.4rem/1 'Inter', sans-serif;
    color: #ba0c2f;
    letter-spacing: -0.03em;
    font-size: 26px;
}
.about-stat-lbl {
    font: 500 0.8rem/1.3 'Inter', sans-serif;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 6px;
}
@media (max-width: 480px) {
    .about-stat { padding: 14px 8px; }
    .about-stat-val { font-size: 1.6rem; }
}

/* ── Feature card — dark gradient hero panel ────────────────────────── */
.about-feature-card {
    background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
    border-radius: 8px;
    padding: 28px;
    color: #fff;
}
@media (max-width: 480px) {
    .about-feature-card { padding: 20px; }
}
.about-feature-card__icon {
    font-size: 2rem;
    color: rgba(255,255,255,0.8);
    display: block;
    margin-bottom: 14px;
}
.about-feature-card__title {
    font: 700 1.35rem/1.2 'Inter', sans-serif;
    margin: 0 0 8px;
    color: #fff;
}
.about-feature-card__text {
    font: 400 0.9rem/1.6 'Inter', sans-serif;
    color: rgba(255,255,255,0.75);
    margin: 0 0 16px;
}

/* ── Mini card icon / title / text ─────────────────────────────────── */
.about-card-icon {
    font-size: 1.3rem;
    color: #ba0c2f;
    display: block;
    margin-bottom: 8px;
}
.about-card-title {
    font: 700 0.85rem/1.3 'Inter', sans-serif;
    color: #0f172a;
    margin-bottom: 4px;
}
.about-card-text {
    font: 400 0.8rem/1.4 'Inter', sans-serif;
    color: #64748b;
}

/* ── Value card (Core Values section) ──────────────────────────────── */
.about-value-card {
    padding: 22px 20px;
    background: #fff;
    border: 1px solid #b44c4c;
    border-radius: 8px;
    box-shadow: var(--ssm-shadow);
}
.about-value-icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: rgb(180 75 75 / 10%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.about-value-icon i { font-size: 1.3rem; color: #ba0c2f; }

/* ── Values grid ────────────────────────────────────────────────────── */
.about-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
@media (max-width: 600px) {
    .about-values-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 400px) {
    .about-values-grid { grid-template-columns: 1fr; }
}

/* ── Section heading block (centered) ──────────────────────────────── */
.about-section-head {
    text-align: center;
    margin-bottom: 24px;
}
.about-section-head .cg-eyebrow--block { margin-bottom: 8px; }
.about-intro-text { max-width: 540px; margin: 0 auto; }
.about-center { text-align: center; }

/* ── Service card: icon + text inline inside cg-card ───────────────── */
.cg-card--row { display: flex; gap: 14px; align-items: flex-start; }
.about-svc-icon { font-size: 1.4rem; color: #ba0c2f; flex-shrink: 0; margin-top: 2px; }

/* ── Button row ─────────────────────────────────────────────────────── */
.about-btn-row { display: flex; gap: 10px; flex-wrap: wrap; }

/* ── Team card ──────────────────────────────────────────────────────── */
.about-team-card {
    padding: 22px 18px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 8px;
    text-align: center;
    transition: box-shadow .2s, transform .2s;
}
.about-team-card:hover { box-shadow: 0 6px 20px rgba(82,180,75,0.12); transform: translateY(-2px); }
.about-team-avatar {
    width: 72px;
    height: 72px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.about-team-avatar i { font-size: 2rem; color: rgba(255,255,255,0.6); }
.about-team-name { font: 700 1rem/1.2 'Inter', sans-serif; color: #0f172a; margin-bottom: 4px; }
.about-team-role { font: 500 0.8rem/1 'Inter', sans-serif; color: #ba0c2f; margin-bottom: 10px; }
.about-team-desc { font-size: 0.85rem; margin: 0; }

/* ── Team grid ──────────────────────────────────────────────────────── */
.about-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}
@media (max-width: 480px) {
    .about-team-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Milestone timeline ─────────────────────────────────────────────── */
.about-milestones { display: flex; flex-direction: column; }
.about-milestone {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(15,23,42,.06);
}
.about-milestone:last-child { border-bottom: none; }
.about-milestone-year {
    font: 700 0.8rem/1 'Inter', sans-serif;
    color: #ba0c2f;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    min-width: 44px;
    padding-top: 3px;
    flex-shrink: 0;
}
.about-milestone-text { font: 400 0.88rem/1.6 'Inter', sans-serif; color: #475569; }

/* ── Partner tags row ───────────────────────────────────────────────── */
.about-partners-wrap { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.about-partner-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px;
    background: #fff;
    border: 1px solid rgba(82,180,75,0.3);
    border-radius: 6px;
    font: 600 0.82rem/1 'Inter', sans-serif;
    color: #1f2b3e;
    white-space: nowrap;
}
.about-partner-tag i { color: #ba0c2f; }

/* ── Due diligence note title (inside dark card) ────────────────────── */
.about-due-title {
    font: 700 0.95rem/1.2 'Inter', sans-serif;
    color: #fff;
    margin-bottom: 8px;
}

/* ── CTA banner section ─────────────────────────────────────────────── */
.about-cta-section { background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark)); }
.about-cta-inner { text-align: center; }
.about-cta-title {
    font: 700 clamp(1.6rem, 3vw, 2.2rem)/1.2 'Inter', sans-serif;
    color: #fff;
    margin: 0 0 12px;
}
.about-cta-text {
    font: 400 1rem/1.7 'Inter', sans-serif;
    color: rgba(255,255,255,0.75);
    max-width: 540px;
    margin: 0 auto 24px;
}
.about-cta-btn-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Section background variants ────────────────────────────────────── */
.about-section--accent {
    background: #f8fafc;
    border-top: 1px solid rgba(15,23,42,.06);
    border-bottom: 1px solid rgba(15,23,42,.06);
}

/* ── Eyebrow modifiers ──────────────────────────────────────────────── */
.cg-eyebrow--block { display: flex; align-items: center; margin-bottom: 12px; }
.cg-eyebrow--light { color: rgba(255,255,255,0.7); }

/* ── Card modifiers ─────────────────────────────────────────────────── */
.cg-card--sm  { padding: 14px; }
.cg-card--dark { padding: 20px; }

/* ── Text size helper ───────────────────────────────────────────────── */
.cg-text--sm { font-size: 0.85rem; margin: 0; }

/* ── Spacing helpers ────────────────────────────────────────────────── */
.about-mb-sm { margin-bottom: 12px; }
.about-mb-md { margin-bottom: 16px; }
.about-mb-lg { margin-bottom: 20px; }
.about-mb-xl { margin-bottom: 24px; }

/* ── Mobile: stack .about-2col even at 640px ────────────────────────── */
@media (max-width: 767px) {
    .about-2col { grid-template-columns: 1fr; gap: 20px; }
    .about-feature-card { order: -1; }
    .about-cta-btn-row { flex-direction: column; align-items: center; }
    .about-cta-btn-row .btn-primary,
    .about-cta-btn-row .btn-outline-white { width: 100%; max-width: 320px; justify-content: center; }
    .about-btn-row { flex-direction: column; }
    .about-btn-row .btn-primary,
    .about-btn-row .btn-card-link { width: 100%; justify-content: center; text-align: center; }
    .about-partners-wrap .about-partner-tag { font-size: 0.78rem; padding: 7px 10px; }
}

/* ======================================================================
   APPLY PAGE  ·  /includes/pages/apply.php
   Mobile-first responsive. Prefixed apply- / sector- / cert-.
   ====================================================================== */

/* ── Process strip section wrapper ──────────────────────────────────── */
.apply-process-section {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f7f2 100%);
    padding: 7px 0 !important;
    border-bottom: 1px solid rgba(15,23,42,0.07);
}
.apply-proc-header {
    text-align: center;
    margin-bottom: 20px;
}
.apply-proc-header .cg-eyebrow { display: block; margin-bottom: 4px; }
.apply-proc-subtitle { font-size: clamp(0.98rem, 0.18vw + 0.94rem, 1.08rem); color: #475569; margin: 0; }

/* ── Process visualizer: 5-step horizontal flow ─────────────────────── */
.apply-process-vis {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}
.apply-proc-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 18px 14px;
    position: relative;
    border: 1px solid rgba(15,23,42,0.08);
    border-radius: 8px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.apply-proc-step:not(:last-child)::after {
    content: none;
}
.apply-proc-step:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(15,23,42,0.08);
    border-color: rgba(82,180,75,0.35);
}
.apply-proc-icon {
    width: 54px;
    height: 54px;
    background: linear-gradient(135deg, #ba0c2f, #3d9a38);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    font-size: 1.25rem;
    color: #fff;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(82,180,75,0.25);
}
.apply-proc-num {
    font: 700 0.78rem/1 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #ba0c2f;
    margin-bottom: 5px;
}
.apply-proc-label {
    font: 700 clamp(1rem, 0.16vw + 0.96rem, 1.08rem)/1.2 'Inter', sans-serif;
    color: #0f172a;
    margin-bottom: 6px;
}
.apply-proc-desc {
    font: 400 clamp(0.92rem, 0.14vw + 0.89rem, 0.98rem)/1.6 'Inter', sans-serif;
    color: #64748b;
    max-width: 220px;
    margin: 0 auto;
}

/* ── Main page section top padding ──────────────────────────────────── */
.apply-main-section {
    padding: 11px 0 12px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
}

/* ── Two-column layout: form + sidebar ──────────────────────────────── */
.apply-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) 420px;
    gap: 32px;
    align-items: start;
}

/* ── Sticky sidebar ─────────────────────────────────────────────────── */
.apply-sidebar {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.apply-sidebar .cg-card {
    border-color: rgba(15,23,42,0.08);
    box-shadow: 0 8px 22px rgba(15,23,42,0.06);
}

/* ── Form step header (dark gradient bar + step number badge) ────────── */
.apply-step-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 9px 18px;
    background: linear-gradient(135deg, var(--mop-accent, #1f2b3e), var(--mop-accent-dark, #2d3c58));
    border-radius: 8px 8px 0 0;
}
.apply-step-body + .apply-step-header { margin-top: 20px; }
.apply-step-num {
    width: 30px;
    height: 30px;
    background: rgba(255,255,255,0.18);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 700 15px/1 'Inter', sans-serif;
    color: #fff;
    flex-shrink: 0;
}
.apply-step-title {
    font: 650 clamp(1.05rem, 0.2vw + 1.01rem, 1.16rem)/1.2 'Inter', sans-serif;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
}
.apply-step-title-opt {
    font: 400 0.9rem/1 'Inter', sans-serif;
    color: rgba(255,255,255,0.55);
    margin-left: 10px;
}

/* ── Form step body ──────────────────────────────────────────────────── */
.apply-step-body {
    border: 1px solid rgba(15,23,42,0.10);
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15,23,42,0.04);
}
.apply-field-group { margin-bottom: 16px; }
.apply-field-group:last-child { margin-bottom: 0; }

/* ── Two-column form grid ────────────────────────────────────────────── */
.apply-form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.apply-form-grid-2:last-child { margin-bottom: 0; }

/* ── Apply form controls refinement ─────────────────────────────────── */
.apply-main-section .cg-label {
    font: 600 0.96rem/1.2 'Arial', sans-serif;
    color: #273549;
    margin-bottom: 8px;
}
.apply-main-section .cg-text {
    font: 400 1.02rem/1.72 'Inter', sans-serif;
}
.apply-main-section .cg-input,
.apply-main-section .cg-select,
.apply-main-section .cg-textarea {
    font: 400 0.98rem/1.45 'Inter', sans-serif;
    padding: 11px 14px;
    border-color: rgba(15,23,42,0.12);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    border: 2px solid #333;
}
.apply-main-section .cg-textarea {
    min-height: 140px;
}
.apply-main-section .cg-input:focus,
.apply-main-section .cg-select:focus,
.apply-main-section .cg-textarea:focus {
    border-color: rgba(82,180,75,0.8);
    box-shadow: 0 0 0 4px rgba(82,180,75,0.14);
    background-color: #fff;
    outline: none;
}

/* ── Sector checkboxes ───────────────────────────────────────────────── */
.sector-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 8px;
}
.sector-checkbox-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(15,23,42,0.10);
    border-radius: 6px;
    font: 500 0.9rem/1.25 'Inter', sans-serif;
    color: #374151;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    user-select: none;
}
.sector-checkbox-item:hover {
    border-color: rgba(82,180,75,0.4);
    background: rgba(82,180,75,0.04);
}
.sector-checkbox-item input[type="checkbox"] {
    accent-color: #ba0c2f;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin: 0;
}
.sector-checkbox-item:has(input[type="checkbox"]:checked) {
    border-color: rgba(82,180,75,0.55);
    background: rgba(82,180,75,0.09);
    color: #14532d;
}

/* ── Contract model checkboxes ───────────────────────────────────────── */
.apply-contract-models {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.apply-contract-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,0.10);
    border-radius: 6px;
    font: 500 0.9rem/1.2 'Inter', sans-serif;
    color: #374151;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    user-select: none;
}
.apply-contract-item:hover {
    border-color: rgba(82,180,75,0.35);
    background: rgba(82,180,75,0.04);
}
.apply-contract-item input[type="checkbox"] {
    accent-color: #ba0c2f;
    margin: 0;
}
.apply-contract-item:has(input[type="checkbox"]:checked) {
    border-color: rgba(82,180,75,0.5);
    background: #fdf0f0;
    color: #14532d;
}

/* ── Certification field rows ────────────────────────────────────────── */
.cert-field-row {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}
.cert-field-row:last-child { margin-bottom: 0; }
.cert-input { flex: 1; }
.cert-remove-btn {
    padding: 8px 10px;
    background: #f1f5f9;
    border: 1px solid rgba(15,23,42,0.10);
    border-radius: 6px;
    cursor: pointer;
    color: #64748b;
    font-size: 1rem;
    line-height: 1;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}
.cert-remove-btn:hover { background: #e2e8f0; color: #0f172a; }

/* ── Document note info box ──────────────────────────────────────────── */
.apply-doc-note-box {
    padding: 14px 16px;
    border-radius: 8px;
    background: rgba(82,180,75,0.04);
    border: 1px solid 1px solid rgb(180 75 75 / 45%);
    margin-bottom: 16px;
}
.apply-doc-note-box-title {
    font: 700 0.98rem/1.3 'Inter', sans-serif;
    color: #ba0c2f;
    margin-bottom: 4px;
}
.apply-doc-note-box p {
    font: 400 0.95rem/1.65 'Inter', sans-serif;
    color: #475569;
    margin: 0;
}
.apply-doc-note-box a { color: #ba0c2f; font-weight: 500; text-decoration: none; }

/* ── Docs section subtitle ───────────────────────────────────────────── */
.apply-docs-subtitle {
    font: 700 0.88rem/1 'Inter', sans-serif;
    color: #475569;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ── Document grid ───────────────────────────────────────────────────── */
.apply-doc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.apply-doc-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(15,23,42,0.10);
    border-radius: 6px;
    background: #f8fafc;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.apply-doc-item:hover {
    border-color: rgba(82,180,75,0.3);
    box-shadow: 0 6px 16px rgba(15,23,42,0.06);
    transform: translateY(-1px);
}
.apply-doc-item > i {
    color: #ba0c2f;
    font-size: 1.05rem;
    margin-top: 2px;
    flex-shrink: 0;
}
.apply-doc-label {
    font: 600 0.93rem/1.3 'Inter', sans-serif;
    color: #0f172a;
    margin-bottom: 2px;
}
.apply-doc-note {
    font: 400 0.86rem/1.55 'Inter', sans-serif;
    color: #64748b;
}

/* ── Field hint text (below selects / inputs) ────────────────────────── */
.apply-field-hint {
    font: 400 0.9rem/1.5 'Inter', sans-serif;
    color: #64748b;
    margin-top: 4px;
}

/* ── Form error banner ───────────────────────────────────────────────── */
.apply-error {
    padding: 12px 16px;
    border-radius: 8px;
    background: rgba(239,68,68,0.08);
    border: 1px solid rgba(239,68,68,0.2);
    color: #dc2626;
    margin-bottom: 16px;
    font: 500 0.95rem/1.45 'Inter', sans-serif;
}

/* ── Declaration card ────────────────────────────────────────────────── */
.apply-declaration {
    padding: 20px;
    border: 1px solid rgba(82,180,75,0.3);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--ssm-shadow);
    margin-top: 4px;
}
.apply-declaration-check {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    cursor: pointer;
}
.apply-declaration-check input[type="checkbox"] {
    accent-color: #ba0c2f;
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}
.apply-declaration-text {
    font: 400 0.98rem/1.7 'Inter', sans-serif;
    color: #374151;
}
.apply-declaration-text a { color: #ba0c2f; }

/* ── Submit button row ───────────────────────────────────────────────── */
.apply-submit-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    flex-wrap: wrap;
}
.apply-submit-btn { padding: 14px 30px; font-size: 1rem; }
.apply-main-section .btn-primary {
    font-family: 'Inter', sans-serif;
    letter-spacing: .01em;
}
.apply-main-section .btn-card-link {
    font-size: 0.98rem;
}

/* ── Thank-you confirmation screen ──────────────────────────────────── */
.apply-thankyou {
    text-align: center;
    padding: 40px 24px;
    border: 1px solid rgba(82,180,75,0.25);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fffa 100%);
    box-shadow: var(--ssm-shadow);
}
.apply-thankyou-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #ba0c2f, #3d9a38);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 1.8rem;
    color: #fff;
    box-shadow: 0 6px 20px rgba(82,180,75,0.3);
}
.apply-thankyou-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    text-align: left;
    margin: 24px 0;
}
.apply-ty-step {
    padding: 14px;
    border: 1px solid 1px solid rgb(180 75 75 / 45%);
    border-radius: 8px;
    background: #fdf0f0;
}
.apply-ty-num {
    width: 24px;
    height: 24px;
    background: #ba0c2f;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 700 11px/1 'Inter', sans-serif;
    color: #fff;
    margin-bottom: 8px;
}
.apply-ty-title {
    font: 600 0.95rem/1.35 'Inter', sans-serif;
    color: #0f172a;
    margin-bottom: 4px;
}
.apply-ty-text {
    font: 400 0.9rem/1.6 'Inter', sans-serif;
    color: #475569;
}
.apply-thankyou-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 28px;
    flex-wrap: wrap;
}

/* ── Sidebar checklist ───────────────────────────────────────────────── */
.apply-eligibility-card {
    background: linear-gradient(180deg, #ffffff 0%, #f9fcfa 100%);
    border: 1px solid rgba(82,180,75,0.22) !important;
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.08), 0 1px 0 rgba(82,180,75,0.22) inset;
}
.apply-eligibility-card .cg-eyebrow {
    font-size: 0.8rem;
    letter-spacing: .08em;
    margin-bottom: 8px !important;
}
.apply-checklist-lead {
    margin: 0 0 12px;
    font: 400 0.92rem/1.55 'Inter', sans-serif;
    color: #526074;
}
.apply-sidebar-checklist {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 4px;
}
.apply-checklist-item {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    padding: 11px 12px;
    border: 1px solid rgba(15,23,42,0.09);
    border-radius: 4px;
    background: #ffffff;
    font: 400 0.95rem/1.6 'Inter', sans-serif;
    color: #334155;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.apply-checklist-item:hover {
    border-color: rgba(82,180,75,0.35);
    box-shadow: 0 8px 20px rgba(15,23,42,0.06);
    transform: translateY(-1px);
}
.apply-checklist-item i {
    color: #ffffff;
    width: 22px;
    height: 22px;
    min-width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: unset;
    font-size: 0.8rem;
    margin-top: 1px;
    flex-shrink: 0;
}
.apply-checklist-item em {
    color: #14532d;
    font-style: normal;
    font-weight: 600;
}

/* ── Sidebar "What Happens Next" steps ───────────────────────────────── */
.apply-process-step {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid rgba(15,23,42,0.06);
}
.apply-process-step:last-child { border-bottom: none; }
.apply-process-num {
    width: 26px;
    height: 26px;
    background: rgba(82,180,75,0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 700 12px/1 'Inter', sans-serif;
    color: #ba0c2f;
    flex-shrink: 0;
}
.apply-process-text {
    font: 400 15px/1.6 'Inter', sans-serif;
    color: #475569;
}

/* ── Dark CTA sidebar card ────────────────────────────────────────────── */
.apply-sidebar-dark-cta {padding: 18px;background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark)) !important;!i;!;}
.apply-sidebar-dark-icon {
    font-size: 1.4rem;
    color: rgba(255,255,255,0.7);
    display: block;
    margin-bottom: 10px;
}
.apply-sidebar-dark-title {
    font: 700 18px/1.25 'Inter', sans-serif;
    color: #fff;
    margin-bottom: 6px;
}
.apply-sidebar-dark-text {
    font: 400 15px/1.7 'Inter', sans-serif;
    color: rgba(255,255,255,0.75);
    margin: 0 0 12px;
}

/* ── Sidebar CTA button group ────────────────────────────────────────── */
.apply-sidebar-cta-btns {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.apply-sidebar-cta-btn {
    font-size: 14px;
    padding: 10px 14px;
    width: 100%;
    justify-content: center;
}
.apply-sidebar-cta-btn--sm {
    font-size: 13px;
    padding: 8px 14px;
}

/* ======================================================================
   APPLY PAGE — RESPONSIVE OVERRIDES
   ====================================================================== */

/* ≤ 960px: collapse layout */
@media (max-width: 960px) {
    .apply-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; }
}

/* ≤ 900px: collapse main layout, disable sticky, 1-col grids */
@media (max-width: 900px) {
    .apply-layout { grid-template-columns: 1fr; }
    .apply-sidebar { position: static; }
    .apply-form-grid-2 { grid-template-columns: 1fr; }
    .sector-checkbox-grid { grid-template-columns: repeat(3, 1fr); }
    .apply-doc-grid { grid-template-columns: 1fr; }
    .apply-thankyou-steps { grid-template-columns: 1fr 1fr; }
    .apply-step-body { padding: 20px; }
}

/* ≤ 640px: sector 2-col, process strip wraps into 2 columns */
@media (max-width: 640px) {
    .apply-process-vis {
        flex-wrap: wrap;
    }
    .apply-proc-step {
        flex: 0 0 calc(50% - 6px);
        padding: 10px 6px;
    }
    .apply-proc-step:not(:last-child)::after { display: none; }
    .sector-checkbox-grid { grid-template-columns: 1fr 1fr; }
    .apply-thankyou-steps { grid-template-columns: 1fr; }
    .apply-contract-models { gap: 4px; }
    .apply-checklist-item {
        padding: 10px 11px;
    }
}

/* ≤ 480px: single column everything */
@media (max-width: 480px) {
    .apply-proc-step {
        flex: 0 0 100%;
    }
    .apply-step-body { padding: 16px; }
    .apply-thankyou { padding: 28px 16px; }
    .apply-submit-row {
        flex-direction: column;
        align-items: stretch;
    }
    .apply-submit-row .btn-primary,
    .apply-submit-row .btn-card-link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .apply-thankyou-actions { flex-direction: column; align-items: center; }
    .apply-thankyou-actions .btn-primary,
    .apply-thankyou-actions .btn-card-link {
        width: 100%;
        max-width: 300px;
        justify-content: center;
        text-align: center;
    }
    .apply-contract-item { font-size: 0.86rem; padding: 8px 9px; }
    .apply-proc-desc { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .apply-proc-step,
    .apply-doc-item,
    .apply-main-section .cg-input,
    .apply-main-section .cg-select,
    .apply-main-section .cg-textarea {
        transition: none !important;
    }
}




.cg-input, .cg-select, .cg-textarea {
    border: 2px solid rgba(15, 23, 42, 1) !important;
    border-radius: 4px !important;

}

.apply-step-header {
    background: #fafafa !important;
    border-radius: 0.5rem 0.5rem 0 0 !important;
    padding: 6px 18px !important;
    border: 1px solid #e5e7eb !important;
    border-bottom: 1px solid #e5e7eb !important;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: none !important;
}


.apply-step-title span{
font-weight: 600 !important;
}

.idx-s049  .mx-auto.px-4{
    background: linear-gradient(to bottom, rgba(8, 14, 28, 0.22) 0%, rgba(8, 14, 28, 0.52) 55%, rgba(4, 9, 20, 0.80) 100%);
}


.apply-doc-item {

    padding: 3px 12px !important;

}


.apply-sidebar .cg-card {
    border: 1px solid #e5e7eb !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    background: #fff;
    padding: 16px 10px !important;
    position: relative;
    overflow: hidden;
    margin-bottom: 12px;
}


.apply-checklist-item {
    padding: 7px 7px !important;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    border-bottom: 1px solid #f3f4f6;
}


/* ============================================================
   MERGED FROM: section-design-layout/layered-engagement-showcase.css
   ============================================================ */

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

:root {
  --les-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --les-text: #4C5671;
  --les-heading: #4C5671;
  --les-muted: #4C5671;
  --les-accent: #c33948;
  --les-accent-dark: #a52d3a;
  --les-accent-soft: rgba(195, 57, 72, 0.1);
  --les-border: #e8edf2;
  --les-surface: #ffffff;
  --les-radius: 8px;
  --les-shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.05);
  --les-shadow-strong: 0 8px 28px rgba(0, 0, 0, 0.1);
}

.les {
  padding: 20px 0;
  font-family: var(--les-font);
  color: var(--les-text);
  background: #ffffff;
}

.les__container {
  width: min(100%, var(--les-max-width, 1440px));
  margin: 0 auto;
  padding: 0 14px;
}

.les__stack {
  display: grid;
  gap: 20px;
}

.les__intro,
.les__engagement-grid,
.les__activity-grid,
.les__facility-grid,
.les__support-grid,
.les__highlights {
  display: grid;
  gap: 16px;
}

.les__eyebrow,
.les__tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--les-accent);
}

.les__tag {
  padding: 6px 12px;
  background: var(--les-accent-soft);
  border-radius: 8px;
}

.les__title,
.les__section-title,
.les__card-title {
  margin: 0;
  color: var(--les-heading);
}

.les__title {
  font-size: 2rem;
  line-height: 1.14;
  margin-top: 10px;
  margin-bottom: 14px;
}

.les__section-title {
  font-size: 1.85rem;
  line-height: 1.18;
}

.les__card-title {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 0px;
  text-transform: capitalize;
  font-weight: 600;
  line-height: 1.6;
  font-weight: 600;
}

.les__card-title--light {
  color: #ffffff;
}

.les__text,
.les__card-text {
  margin: 0;
  font-size: 17px;
  line-height: 26px;
  color: var(--les-muted);
  font-weight: 300;
}

.les__text + .les__text {
  margin-top: 12px;
}

.les__card-text {
  font-size: 0.95rem;
}

.les__card-text--light {
  color: rgba(255, 255, 255, 0.86);
}

.les__intro {
  align-items: center;
}

.les__intro-copy {
  order: 2;
}

.les__intro-media {
  order: 1;
  position: relative;
}

.les__intro-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

.les__badge {
  position: absolute;
  left: -8px;
  bottom: -12px;
  display: grid;
  gap: 4px;
  padding: 14px 18px;
  background: var(--les-accent);
  color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(195, 57, 72, 0.34);
}

.les__badge strong {
  font-size: 2rem;
  line-height: 1;
}

.les__badge span {
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}

.les__highlights {
  margin-top: 14px;
  font-size: 16px;
  gap: 2px;
}

.les__highlight {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--les-muted);
  font-weight: 300;
}

.les__highlight i {
  margin-top: 0px;
  color: var(--les-accent);
  font-size: 1rem;
}

.les__inline-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 16px;
  padding: 10px 14px;
  border: 1px solid var(--les-accent);
  border-radius: 5px;
  color: var(--les-accent);
  text-decoration: none;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.les__inline-link:hover {
  transform: translateY(-1px);
  background: var(--les-accent-soft);
  color: var(--les-accent-dark);
}

.les__inline-link--small {
  margin-top: 14px;
  padding: 9px 12px;
}

.les__section-head {
  display: grid;
  gap: 10px;
}

.les__section-head--center {
  justify-items: center;
  text-align: center;
  margin-top: 18px !important;!i;!;
}

.les__section-head--spaced {
  margin-top: 2px;
}

.les__engagement-card {
  display: flex;
  gap: 16px;
  height: 100%;
  padding: 18px;
  background: var(--les-surface);
  border-radius: 8px;
  border-left: 4px solid var(--les-accent);
  /* box-shadow: var(--les-shadow-soft); */
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  border: 1px solid #ba0c2f;
}

.les__engagement-card:hover {
  transform: translateX(6px);
  box-shadow: var(--les-shadow-strong);
}

.les__engagement-icon,
.les__support-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--les-accent);
}

.les__engagement-icon {
  width: 56px;
  height: 56px;
  min-width: 56px;
  background: var(--les-accent-soft);
  border-radius: 8px;
  font-size: 1.45rem;
}

.les__engagement-body {
  display: grid;
  align-content: start;
}

.les__chip {
  display: inline-flex;
  width: fit-content;
  margin-top: 12px;
  padding: 5px 12px;
  border-radius: 8px;
  background: var(--les-accent-soft);
  color: var(--les-accent);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
}

.les__activity-card {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  min-height: 280px;
}

.les__activity-card img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.les__activity-card:hover img {
  transform: scale(1.05);
}

.les__activity-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.86), rgba(0, 0, 0, 0.08) 65%, transparent 100%);
}

.les__facility-card {
  display: grid;
  background: var(--les-surface);
  border-radius: 8px;
  overflow: hidden;
  /* box-shadow: var(--les-shadow-soft); */
  border: 1px solid #ba0c2f;
}

.les__facility-image img {
  width: 100%;
  min-height: 180px;
  height: 100%;
  object-fit: cover;
  display: block;
}

.les__facility-body {
  padding: 18px;
  display: grid;
  align-content: center;
}

.les__support-card {
  position: relative;
  padding: 20px 18px;
  background: var(--les-surface);
  border-radius: 8px;
  /* box-shadow: var(--les-shadow-soft); */
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  border-bottom: 3px solid transparent;
  border: 1px solid #ba0c2f;
}

.les__support-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--les-shadow-strong);
  border-bottom-color: var(--les-accent);
}

.les__support-number {
  position: absolute;
  top: 3px;
  right: 10px;
  font-size: 4.3rem;
  line-height: 1;
  font-weight: 600;
  color: rgba(24, 49, 82, 0.05);
  pointer-events: none;
}

.les__support-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: var(--les-accent-soft);
  font-size: 1.35rem;
}

@media (min-width: 480px) {
  .les__engagement-grid,
  .les__facility-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 576px) {
  .les__container {
    padding: 0 16px;
  }

  .les__support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .les__container {
    padding: 0 18px;
  }

  .les__intro {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 20px;
  }

  .les__intro-copy {
    order: 1;
  }

  .les__intro-media {
    order: 2;
  }

  .les__activity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .les__facility-card {
    grid-template-columns: minmax(160px, 30%) minmax(0, 1fr);
    min-height: 71px;
  }
}

@media (min-width: 992px) {
  .les__container {
    padding: 0 20px;
  }

  .les__title {
    font-size: 2.2rem;
  }

  .les__section-title {
    font-size: 2rem;
  }

  .les__activity-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .les__support-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .les__container {
    padding: 0 24px;
  }

  .les__intro {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  }

  .les__activity-card {
    min-height: 320px;
  }

  .les__activity-card img {
    min-height: 320px;
  }
}

@media (min-width: 1440px) {
  .les__title {
    font-size: 2.3rem;
    font-size: 25px;
    font-weight: 600;
    color: var(--ssm-heading);
    line-height: 1.22;
  700 1.4rem/1.2
    'Inter',font-family: sans-serif;
    line-height: 1.18;
    font-weight: 600;
    letter-spacing: 0;
  }

  .les__section-title {
    font-size: 2.05rem;
    font-size: 25px;
    font-weight: 600;
    color: var(--ssm-heading);
    letter-spacing: 0;
    line-height: 1.22;
  }
}

@media (max-width: 479.98px) {
  .les__badge {
    left: 8px;
    bottom: 8px;
  }

  .les__engagement-card {
    padding: 16px;
  }
}



/* ============================================================
   MERGED FROM: section-design-layout/metrics-overview.css
   ============================================================ */

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

:root {
  --mop-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mop-text: #4C5671;
  --mop-heading: #4C5671;
  --mop-muted: #4C5671;
  --mop-accent: #b93846;
  --mop-accent-dark: #962d39;
  --mop-accent-soft: rgba(185, 56, 70, 0.12);
  --mop-border: #d6dde6;
  --mop-surface: #ffffff;
  --mop-surface-alt: #ff;
  --mop-radius: 8px;
  --mop-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
}

.mop-block {
  padding: 25px 0;
  font-family: var(--mop-font);
  color: var(--mop-text);
  background: #ffffff;
}

.mop-container {
  width: min(100%, var(--mop-max-width, 1440px));
  margin: 0 auto;
  padding: 0 14px;
}

.mop-stack,
.mop-intro,
.mop-band__grid,
.mop-body,
.mop-features,
.mop-actions {
  display: grid;
  gap: 15px;
}

.mop-body {
  align-items: stretch;
}

.mop-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--mop-accent);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.18em;
  font-weight: 600;
  text-transform: uppercase;
}

.mop-eyebrow::before {
  content: '';
  width: 26px;
  height: 2px;
  background: var(--mop-accent);
  border-radius: 2px;
}

.mop-title,
.mop-detail__title,
.mop-metric__label,
.mop-feature__title {
  margin: 0;
  color: var(--mop-heading);
}

.mop-title {
  font-size: 1.8rem;
  line-height: 1.14;
  letter-spacing: -0.02em;
}

.mop-text,
.mop-detail__text,
.mop-metric__text,
.mop-feature__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: var(--mop-muted);
  font-weight: 300;
}

.mop-intro__copy {
  display: grid;
  gap: 12px;
  padding-left: 16px;
  border-left: 3px solid rgba(185, 56, 70, 0.26);
}

.mop-band {
  padding: 16px;
  border: 0;
  border-radius: var(--mop-radius);
  background: linear-gradient(135deg, var(--mop-accent), var(--mop-accent-dark));
  /* box-shadow: var(--mop-shadow); */
  margin: 20px 0px;
}

.mop-metric {
  position: relative;
  padding: 16px 14px;
  text-align: center;
  background: transparent;
  border: 0;
}

.mop-metric__icon {
  display: inline-flex;
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 1.1rem;
}

.mop-metric__value {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 25px;
  line-height: 1;
  font-weight: 600;
}

.mop-metric__value span {
  font-size: 0.85em;
}

.mop-metric__label {
  margin-bottom: 6px;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.3;
}

.mop-metric__text {
  color: rgba(255, 255, 255, 0.82);
}

.mop-visual {
  position: relative;
  overflow: hidden;
  height: 100%;
  min-height: 320px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.mop-visual__primary,
.mop-visual__secondary {
  overflow: hidden;
  border-radius: var(--mop-radius);
  background: #e5eaf0;
}

.mop-visual__primary {
  height: 100%;
  min-height: 320px;
}

.mop-visual__secondary {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46%;
  max-width: 220px;
  aspect-ratio: 1 / 1;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}

.mop-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.mop-visual__badge {
  position: absolute;
  top: 18px;
  left: -10px;
  z-index: 2;
  display: grid;
  gap: 4px;
  max-width: 180px;
  padding: 12px 14px;
  border-radius: var(--mop-radius);
  border-left: 4px solid rgba(255, 255, 255, 0.9);
  background: var(--mop-accent);
  color: #ffffff;
  box-shadow: 0 10px 18px rgba(185, 56, 70, 0.22);
}

.mop-visual__badge strong {
  font-size: 1.5rem;
  line-height: 1;
}

.mop-visual__badge span {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.mop-detail {
  height: 100%;
  padding-top: 16px;
  border: 0;
  border-top: 1px solid var(--mop-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mop-detail__title {
  margin-bottom: 12px;
  font-size: 1.5rem;
  line-height: 1.2;
}

.mop-detail__text + .mop-detail__text {
  margin-top: 12px;
}

.mop-features {
  margin-top: 16px;
}

.mop-feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border-radius: var(--mop-radius);
  background: var(--mop-surface-alt);
  border: 0;
  border: 1px solid #d9d9d9;
}

.mop-feature__number {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mop-accent-soft);
  color: var(--mop-accent);
  font-size: 0.85rem;
  font-weight: 600;
}

.mop-feature__body {
  display: grid;
  gap: 6px;
}

.mop-feature__title {
  font-size: 1rem;
  line-height: 1.35;
}

.mop-actions {
  margin-top: 16px;
}

.mop-btn,
.mop-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid var(--mop-accent);
  border-radius: 5px;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mop-btn:hover,
.mop-inline-link:hover {
  transform: translateY(-1px);
}

.mop-btn--solid {
  background: var(--mop-accent);
  color: #ffffff;
}

.mop-btn--solid:hover {
  background: var(--mop-accent-dark);
  border-color: var(--mop-accent-dark);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(185, 56, 70, 0.18);
}

.mop-inline-link {
  background: transparent;
  color: var(--mop-accent);
}

.mop-inline-link:hover {
  background: var(--mop-accent-soft);
  color: var(--mop-accent-dark);
}

@media (min-width: 360px) {
  .mop-title {
    font-size: 25px;
  }
}

@media (min-width: 480px) {
  .mop-band__grid,
  .mop-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mop-band__grid {
    gap: 0;
  }

  .mop-metric:nth-child(odd)::after {
    content: '';
    position: absolute;
    top: 18%;
    right: 0;
    width: 1px;
    height: 64%;
    background: rgba(255, 255, 255, 0.28);
  }

  .mop-metric:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}

@media (min-width: 576px) {
  .mop-container {
    padding: 0 16px;
  }

  .mop-band__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mop-visual {
    min-height: 360px;
  }
}

@media (min-width: 768px) {
  .mop-container {
    padding: 0 18px;
  }

  .mop-intro {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
  }

  .mop-band__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .mop-body {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: stretch;
  }

  .mop-detail {
    padding-top: 0;
    padding-left: 24px;
    border-top: 0;
    /* border-left: 1px solid var(--mop-border); */
    padding-left: 5px !important;!i;!;
  }

  .mop-actions {
    display: flex;
    flex-wrap: wrap;
  }

  .mop-btn,
  .mop-inline-link {
    width: auto;
  }

  .mop-metric {
    padding: 18px 16px;
  }

  .mop-metric::after {
    content: '';
    position: absolute;
    top: 18%;
    right: 0;
    width: 1px;
    height: 64%;
    background: rgba(255, 255, 255, 0.28);
  }

  .mop-metric:nth-child(-n+2) {
    border-bottom: 0;
  }

  .mop-metric:nth-child(odd)::after {
    content: '';
  }

  .mop-metric:last-child::after {
    content: none;
  }
}

@media (min-width: 992px) {
  .mop-container {
    padding: 0 20px;
  }

  .mop-title {
    font-size: 2.35rem;
  }

  .mop-detail__title {
    font-size: 2rem;
  }

  .mop-feature {
    padding: 16px;
  }
}

@media (min-width: 1200px) {
  .mop-container {
    padding: 0 24px;
  }

  .mop-visual {
    min-height: 400px;
  }

  .mop-visual__primary {
    min-height: 360px;
  }

  .mop-detail {
    padding-left: 28px;
  }
}

@media (min-width: 1440px) {
  .mop-title {
    font-size: 27px;
  }

  .mop-detail__title {
    font-size: 25px;
    line-height: 1.18;
    font-weight: 600;
  }
}



/* ============================================================
   MERGED FROM: section-design-layout/phased-process-overview.css
   ============================================================ */

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

:root {
  --ppo-font: 'Inter', sans-serif;
  --ppo-text: #4C5671;
  --ppo-heading: #4C5671;
  --ppo-muted: #4C5671;
  --ppo-accent: #c33948;
  --ppo-accent-dark: #183152;
  --ppo-accent-soft: rgba(195, 57, 72, 0.08);
  --ppo-accent-soft-strong: rgba(195, 57, 72, 0.14);
  --ppo-border: rgba(0, 0, 0, 0.08);
  --ppo-surface: #ffffff;
  --ppo-radius: 8px;
  --ppo-shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.05);
  --ppo-shadow-strong: 0 12px 30px rgba(0, 0, 0, 0.1);
}

.ppo {
  padding: 20px 0;
  background: #ffffff;
  color: var(--ppo-text);
  font-family: var(--ppo-font);
}

.ppo__container {
  width: min(100%, var(--ppo-max-width, 1440px));
  margin: 0 auto;
  padding: 0 14px;
}

.ppo__stack,
.ppo__timeline-grid,
.ppo__steps-grid,
.ppo__detail-grid,
.ppo__fee-grid,
.ppo__visit-grid,
.ppo__visit-highlights,
.ppo__visit-actions {
  display: grid;
  gap: 24px 16px;
}

.ppo__panel-heading,
.ppo__visit-title,
.ppo__timeline-title,
.ppo__card-title,
.ppo__aid-title {
  margin: 0;
  color: var(--ppo-heading);
}

.ppo__panel-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 600;
}

.ppo__panel-heading i {
  color: var(--ppo-accent);
  font-size: 1.2rem;
}

.ppo__timeline-banner {
  /* background: var(--ppo-accent-soft); */
  border: 1px solid rgba(195, 57, 72, 0.2);
  border-radius: var(--ppo-radius);
  overflow: hidden;
  border: 1px solid #ba0c2f;
}

.ppo__timeline-item {
  position: relative;
  height: 100%;
  padding: 20px 14px;
  text-align: center;
  transition: background-color 0.2s ease;
}

.ppo__timeline-item:hover {
  background: var(--ppo-accent-soft-strong);
}

.ppo__timeline-date {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  margin-bottom: 10px;
  border-radius: 999px;
  background: var(--ppo-accent);
  color: #ffffff;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
}

.ppo__timeline-date--dark {
  background: var(--ppo-accent-dark);
}

.ppo__timeline-title {
  margin-bottom: 6px;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600;
}

.ppo__timeline-text,
.ppo__card-text,
.ppo__notice-text,
.ppo__aid-text,
.ppo__visit-text {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ppo-muted);
  font-weight: 300;
}

.ppo__timeline-text,
.ppo__card-text {
  font-size: 0.9rem;
}

.ppo__steps-grid {
  grid-template-columns: 1fr;
  margin: 14px 0px;
}

.ppo__step-card {
  height: 100%;
  padding: 20px 16px;
  text-align: center;
  background: var(--ppo-surface);
  border: 1px solid var(--ppo-border);
  border-top: 4px solid var(--ppo-accent);
  border-radius: 0 0 8px 8px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ppo__step-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--ppo-shadow-strong);
}

.ppo__step-icon {
  display: grid;
  justify-items: center;
}

.ppo__step-icon i {
  font-size: 2.2rem;
  line-height: 1;
  color: var(--ppo-accent);
}

.ppo__step-label {
  display: inline-block;
  margin-top: 8px;
  color: #333;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ppo__card-title {
  margin-top: 12px;
  margin-bottom: 8px;
  font-size: 1.05rem;
  line-height: 1.3;
  font-weight: 600;
}

.ppo__checklist-panel {
  padding: 0px 16px;
  background: var(--ppo-surface);
  border-left: 5px solid var(--ppo-accent);
  border-radius: 8px;
  /* box-shadow: var(--ppo-shadow-soft); */
  border: 0px solid #ba0c2f;
}

.ppo__checklist-items {
  display: grid;
}

.ppo__checklist-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
  transition: padding-left 0.2s ease;
  font-weight: 300;
}

.ppo__checklist-item:hover {
  padding-left: 6px;
}

.ppo__checklist-item:last-child {
  border-bottom: 0;
}

.ppo__item-number {
  width: 32px;
  height: 32px;
  min-width: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgb(181 181 181 / 10%);
  color: var(--ppo-accent);
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
}

.ppo__notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  background: rgb(181 181 181 / 10%);
  border-radius: 8px;
}

.ppo__notice i {
  color: var(--ppo-accent);
  font-size: 1.15rem;
}

.ppo__cost-panel {
  padding: 0;
}

.ppo__fee-grid {
  grid-template-columns: 1fr;
}

.ppo__fee-card {
  padding: 12px 14px;
  text-align: center;
  background: var(--ppo-surface);
  border: 1px solid var(--ppo-border);
  border-radius: 8px;
  /* transition: border-color 0.2s ease, box-shadow 0.2s ease; */
  border: 1px solid #ba0c2f;
}

.ppo__fee-card:hover {
  border-color: unset;
  /* box-shadow: 0 8px 20px rgba(195, 57, 72, 0.1); */
  border: 1px solid #ba0c2f;
}

.ppo__fee-label {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(57, 71, 87, 0.62);
}

.ppo__fee-amount {
  display: block;
  margin: 2px 0;
  color: var(--ppo-heading);
  font-size: 15px;
  line-height: 1.1;
  font-weight: 600;
}

.ppo__fee-detail {
  display: block;
  color: rgba(57, 71, 87, 0.58);
  font-size: 12px;
  line-height: 1.45;
}

.ppo__aid-banner {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
  border-radius: 8px;
  background: var(--ppo-accent);
  color: #ffffff;
}

.ppo__aid-title {
  color: #ffffff;
  margin-bottom: 6px;
  font-size: 1.1rem;
  line-height: 1.3;
}

.ppo__aid-text {
  color: rgba(255, 255, 255, 0.88);
}

.ppo__aid-link,
.ppo__inline-link,
.ppo__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  width: fit-content;
  padding: 10px 14px;
  border-radius: 5px;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.ppo__aid-link:hover,
.ppo__inline-link:hover,
.ppo__btn:hover {
  transform: translateY(-1px);
}

.ppo__aid-link {
  background: #ffffff;
  border: 1px solid #ffffff;
  color: var(--ppo-accent);
}

.ppo__aid-link:hover {
  background: rgba(255, 255, 255, 0.92);
}

.ppo__visit-title {
  font-size: 1.8rem;
  line-height: 1.18;
  font-weight: 600;
  margin-bottom: 12px;
}

.ppo__visit-copy {
  display: grid;
  align-content: center;
}

.ppo__visit-text + .ppo__visit-text {
  margin-top: 12px;
}

.ppo__visit-highlights {
  margin-top: 16px;
}

.ppo__visit-highlight {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 2px 0;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 300;
}

.ppo__visit-highlight i {
  margin-top: 2px;
  color: var(--ppo-accent);
  font-size: 1rem;
}

.ppo__visit-actions {
  margin-top: 18px;
}

.ppo__btn--solid {
  background: var(--ppo-accent);
  border: 1px solid var(--ppo-accent);
  color: #ffffff;
}

.ppo__btn--solid:hover {
  background: #a52d3a;
  border-color: #a52d3a;
  box-shadow: 0 6px 20px rgba(195, 57, 72, 0.4);
}

.ppo__inline-link {
  border: 1px solid var(--ppo-accent);
  color: var(--ppo-accent);
  background: transparent;
}

.ppo__inline-link:hover {
  background: var(--ppo-accent-soft);
  color: var(--ppo-accent);
}

.ppo__visit-visual {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: var(--ppo-shadow-soft);
}

.ppo__visit-visual img {
  display: block;
  width: 100%;
  min-height: 280px;
  height: 100%;
  object-fit: cover;
}

.ppo__visual-overlay {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.72), transparent);
  text-align: center;
}

.ppo__visual-overlay span {
  color: #ffffff;
  font-size: 0.9rem;
  line-height: 1.4;
  font-style: italic;
}

@media (min-width: 576px) {
  .ppo__container {
    padding: 0 16px;
  }

  .ppo__timeline-grid,
  .ppo__steps-grid,
  .ppo__fee-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ppo__visit-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
  }

  .ppo__visit-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .ppo__container {
    padding: 0 18px;
  }

  .ppo__visit-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: center;
    gap: 20px;
  }

  .ppo__visit-copy {
    padding-right: 8px;
  }
}

@media (min-width: 992px) {
  .ppo__container {
    padding: 0 20px;
  }

  .ppo__timeline-grid,
  .ppo__steps-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
  }

  .ppo__timeline-item::after {
    content: '';
    position: absolute;
    top: 20%;
    right: 0;
    width: 1px;
    height: 60%;
    background: #ba0c2f;
    /* border: 1px solid #ba0c2f; */
  }

  .ppo__timeline-item:last-child::after {
    content: none;
  }

  .ppo__detail-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
  }

  .ppo__fee-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ppo__aid-banner {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .ppo__visit-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
    margin: 14px 0px;
  }

  .ppo__visit-copy {
    padding-right: 18px;
  }

  .ppo__visit-visual img {
    min-height: 320px;
  }
}

@media (min-width: 1200px) {
  .ppo__container {
    padding: 0 24px;
  }

  .ppo__visit-visual img {
    min-height: 120px;
    height: 389px;
  }
}

@media (min-width: 1440px) {
  .ppo__visit-title {
    font-size: 27px;
  }

  .ppo__panel-heading {
    font-size: 22px;
  }
}

@media (max-width: 575.98px) {
  .ppo__aid-link,
  .ppo__inline-link,
  .ppo__btn {
    width: 100%;
  }
}



/* ============================================================
   MERGED FROM: section-design-layout/policy-terms-panel.css
   ============================================================ */

/* ==========================================================
   Policy Terms Panel
========================================================== */

*, *::before, *::after {
  box-sizing: border-box;
}

:root {
  --ptp-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ptp-text: #4C5671;
  --ptp-muted: #4C5671;
  --ptp-border: #d9e2ec;
  --ptp-surface: #ffffff;
  --ptp-surface-alt: #fff;
  --ptp-accent: #1d4ed8;
  --ptp-accent-dark: #173ea5;
  --ptp-radius: 8px;
  --ptp-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  --ptp-shadow-strong: 0 14px 30px rgba(15, 23, 42, 0.10);
}

.ptp-block {
  background: transparent;
  padding: 20px 0;
  font-family: var(--ptp-font);
  color: var(--ptp-text);
}

.ptp-container {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 16px;
}

.ptp-layout {
  display: grid;
  gap: 16px;
}

.ptp-sidebar,
.ptp-banner,
.ptp-article,
.ptp-support,
.ptp-image {
  background: var(--ptp-surface);
  /* border: 1px solid var(--ptp-border); */
  border-radius: var(--ptp-radius);
  /* box-shadow: var(--ptp-shadow); */
  border: 1px solid #ba0c2f;
}

.ptp-sidebar {
  padding: 0;
  border: 0;
  border: 0;
}

.ptp-main {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.ptp-banner {
  padding: 16px;
  display: grid;
  gap: 10px;
}

.ptp-banner__text,
.ptp-article__text,
.ptp-callout__text,
.ptp-support__text,
.ptp-box__text,
.ptp-box li,
.ptp-note {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
  color: var(--ptp-muted);
  font: 400 0.9rem / 1.7 'Inter', sans-serif;
  font: 400 0.98rem / 1.7 'Inter', sans-serif;
  color: #475569;
  font-size: 16px;
  line-height: 1.75;
  color: var(--seh-muted);
  font-weight: 300;
}

.ptp-banner__meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ptp-accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ptp-banner__meta i {
  font-size: 1rem;
}

.ptp-sidebar__image {
  overflow: hidden;
  position: relative;
  min-height: 180px;
  margin-bottom: 12px;
}

.ptp-sidebar__image img {
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
  display: block;
}

.ptp-sidebar__chip {
  /* position: absolute; */
  left: 12px;
  bottom: 12px;
  padding: 8px 12px;
  border-radius: 5px;
  background: var(--ptp-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

.ptp-heading {
  margin: 0 0 12px;
  font-size: clamp(1.55rem, 2.5vw, 2.35rem);
  line-height: 1.18;
  letter-spacing: -0.02em;
}

.ptp-subheading {
  margin: 0 0 10px;
  font-size: 1.2rem;
  line-height: 1.25;
  color: var(--ptp-text);
}

.ptp-sidebar__title {
  margin: 0 0 5px;
  font-size: 1.05rem;
  font-weight: 600;
  padding-top: 8px;
  border-bottom: 2px solid #333;
}

.ptp-toc {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: grid;
  gap: 6px;
}

.ptp-toc a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 5px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--ptp-muted);
  border-bottom: 1px solid rgba(29, 78, 216, 0.10);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ptp-toc a:hover {
  background: rgba(29, 78, 216, 0.08);
  color: var(--ptp-accent);
  border-color: rgba(29, 78, 216, 0.12);
  transform: translateX(2px);
}

.ptp-toc__num {
  min-width: 24px;
  color: var(--ptp-accent);
  font-size: 12px;
  font-weight: 600;
}

.ptp-support {
  padding: 16px;
  background: linear-gradient(135deg, var(--ptp-accent) 0%, var(--ptp-accent-dark) 100%);
  color: #fff;
}

.ptp-support__title {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.25;
}

.ptp-support__text {
  color: rgba(255, 255, 255, 0.88);
}

.ptp-support .ptp-btn--solid {
  background: #fff;
  color: var(--ptp-accent);
  border-color: #fff;
}

.ptp-support .ptp-btn--solid:hover {
  background: rgba(255, 255, 255, 0.92);
  color: var(--ptp-accent-dark);
  border-color: rgba(255, 255, 255, 0.92);
}

.ptp-article {
  padding: 16px;
}

.ptp-article + .ptp-article {
  margin-top: 12px;
}

.ptp-article__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.ptp-article__num {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--ptp-accent);
  font-size: 0.85rem;
  font-weight: 600;
}

.ptp-article__head h3 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 300;
  line-height: 1.3;
}

.ptp-checklist,
.ptp-list,
.ptp-restrictions,
.ptp-warranty {
  margin-top: 12px;
  padding: 14px;
  border-radius: var(--ptp-radius);
  background: var(--ptp-surface-alt);
  border: 1px solid rgba(29, 78, 216, 0.10);
}

.ptp-checklist ul,
.ptp-warranty ul,
.ptp-restrictions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 3px;
  /* margin-top: 15px; */
  /* margin-bottom: 10px; */
  /* padding-bottom: 7px; */
  /* padding-top: 8px; */
}

.ptp-checklist li,
.ptp-warranty li,
.ptp-restrictions li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--ptp-muted);
  font-size: 16px;
  line-height: 1.6;
  font-size: 16px;
  line-height: 1.75;
  color: var(--seh-muted);
  font-weight: 300;
}

.ptp-checklist i,
.ptp-restrictions i,
.ptp-callout i,
.ptp-note i {
  color: var(--ptp-accent);
  font-size: 1rem;
  line-height: 1.2;
  flex: 0 0 auto;
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.75;
  /* color: var(--seh-muted); */
  font-weight: 300;
}

.ptp-callout {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 12px;
  padding: 14px;
  border-radius: var(--ptp-radius);
  border: 1px solid rgba(29, 78, 216, 0.12);
  background: #fff !important;!i;!;
  margin-bottom: 15px;
}

.ptp-callout__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  color: var(--ptp-accent);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ptp-callout__badge i {
  font-size: 0.95rem;
}

.ptp-box h6 {
  margin: 20px 0 10px;
  font-size: 0.95rem;
  line-height: 1.25;
  color: var(--ptp-text);
}

.ptp-btn,
.ptp-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 5px;
  border: 1px solid var(--ptp-accent);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.ptp-btn:hover,
.ptp-inline-link:hover {
  transform: translateY(-1px);
}

.ptp-btn--solid {
  background: var(--ptp-accent);
  color: #fff;
}

.ptp-btn--solid:hover {
  background: var(--ptp-accent-dark);
  border-color: var(--ptp-accent-dark);
  color: #fff;
  box-shadow: var(--ptp-shadow-strong);
}

.ptp-btn--outline,
.ptp-inline-link {
  background: transparent;
  color: var(--ptp-accent);
}

.ptp-btn--outline:hover,
.ptp-inline-link:hover {
  background: rgba(29, 78, 216, 0.08);
  color: var(--ptp-accent-dark);
}

@media (min-width: 576px) {
  .ptp-container {
    padding: 0 18px;
  }
}

@media (min-width: 992px) {
  .ptp-layout {
    grid-template-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
    align-items: start;
  }

  .ptp-sidebar {
    position: sticky;
    top: 20px;
  }
}

@media (max-width: 991.98px) {
  .ptp-sidebar {
    order: -1;
    position: static;
  }
}

@media (max-width: 767.98px) {
  .ptp-block {
    padding: 18px 0;
  }

  .ptp-support {
    padding: 16px;
  }

  .ptp-btn,
  .ptp-inline-link {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .ptp-container {
    padding: 0 14px;
  }

  .ptp-callout {
    flex-direction: column;
  }
}



/* ============================================================
   MERGED FROM: section-design-layout/privacy-compliance-panel.css
   ============================================================ */

/* ==========================================================
   Privacy Compliance Panel
========================================================== */

*, *::before, *::after {
  box-sizing: border-box;
  /* font-size: 16px; */
  /* line-height: 1.75; */
  /* font-weight: 300; */
}

:root {
  --ppc-font: Inter;
  --ppc-text: #1f2937;
  --ppc-muted: #5a6675;
  --ppc-border: #d9e2ec;
  --ppc-surface: #ffffff;
  --ppc-surface-alt: #f6f8fb;
  --ppc-accent: #1d4ed8;
  --ppc-accent-dark: #173ea5;
  --ppc-radius: 8px;
  --ppc-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  --ppc-shadow-strong: 0 14px 30px rgba(15, 23, 42, 0.10);
}

.ppc-block {
  background: transparent;
  padding: 20px 0;
  font-family: var(--ppc-font);
  color: var(--ppc-text);
}

.ppc-container {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 16px;
}

.ppc-layout {
  display: grid;
  gap: 16px;
}

.ppc-sidebar,
.ppc-main,
.ppc-hero,
.ppc-section,
.ppc-contact,
.ppc-image,
.ppc-card,
.ppc-box {
  background: var(--ppc-surface);
  border: 1px solid var(--ppc-border);
  border-radius: var(--ppc-radius);
  /* box-shadow: var(--ppc-shadow); */
}

.ppc-sidebar,
.ppc-main,
.ppc-hero,
.ppc-section,
.ppc-contact {
  padding: 16px;
}

.ppc-image {
  overflow: hidden;
  position: relative;
  min-height: 180px;
  margin-bottom: 12px;
}

.ppc-image img {
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
  display: block;
}

.ppc-image__chip {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 8px 12px;
  border-radius: 5px;
  background: var(--ppc-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

.ppc-sidebar__title {
  margin: 0 0 12px;
  font-size: 1.05rem;
  font-weight: 600;
  border-bottom: 1px solid #333;
}

.ppc-toc {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 6px;
}

.ppc-toc a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--ppc-muted);
  border-bottom: 1px solid rgba(29, 78, 216, 0.10);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ppc-toc a:hover {
  background: rgba(29, 78, 216, 0.08);
  color: var(--ppc-accent);
  border-color: rgba(29, 78, 216, 0.12);
  transform: translateX(2px);
}

.ppc-toc__num {
  min-width: 24px;
  color: var(--ppc-accent);
  font-size: 12px;
  font-weight: 600;
}

.ppc-hero {
  display: grid;
  gap: 10px;
}

.ppc-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ppc-accent);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.ppc-badge::before {
  content: '';
  width: 28px;
  height: 2px;
  border-radius: 2px;
  background: var(--ppc-accent);
}

.ppc-title {
  margin: 0;
  font-size: 25px;
  line-height: 1.18;
  letter-spacing: -0.02em;
}

.ppc-lead,
.ppc-text,
.ppc-card__text,
.ppc-box__text,
.ppc-contact__text,
.ppc-right__text,
.ppc-note {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
  color: var(--ppc-muted);
}

.ppc-section {
  margin-top: 12px;
}

.ppc-section__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.ppc-section__num {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--ppc-accent);
  font-size: 0.85rem;
  font-weight: 600;
}

.ppc-section__head h2,
.ppc-section__head h3 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.3;
}

.ppc-grid,
.ppc-feature-grid,
.ppc-rights-grid,
.ppc-contact-grid {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.ppc-card,
.ppc-box,
.ppc-right,
.ppc-contact-item {
  padding: 14px;
  border: 1px solid rgba(29, 78, 216, 0.10);
  background: var(--ppc-surface-alt);
}

.ppc-card__icon,
.ppc-box__icon,
.ppc-right__icon,
.ppc-contact-item i {
  color: var(--ppc-accent);
}

.ppc-card__icon,
.ppc-box__icon,
.ppc-right__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: rgba(29, 78, 216, 0.10);
}

.ppc-card h4,
.ppc-box h4,
.ppc-right h4,
.ppc-contact-item strong {
  margin: 0 0 6px;
  color: var(--ppc-text);
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 600;
}

.ppc-bullets,
.ppc-checks {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.ppc-bullets li,
.ppc-checks li,
.ppc-rights li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ppc-muted);
}

.ppc-bullets i,
.ppc-checks i,
.ppc-rights i,
.ppc-callout i {
  color: var(--ppc-accent);
  font-size: 1rem;
  flex: 0 0 auto;
  margin-top: 2px;
}

.ppc-boxes {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.ppc-callout {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 12px;
  padding: 14px;
  border-radius: var(--ppc-radius);
  border: 1px solid rgba(29, 78, 216, 0.12);
  background: rgba(29, 78, 216, 0.06);
}

.ppc-contact {
  margin-top: 12px;
  background: linear-gradient(135deg, var(--ppc-accent) 0%, var(--ppc-accent-dark) 100%);
  color: #fff;
}

.ppc-contact__title {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.08rem;
  line-height: 1.25;
}

.ppc-contact__text {
  color: rgba(255, 255, 255, 0.88);
}

.ppc-contact-grid {
  grid-template-columns: 1fr;
}

.ppc-contact-item {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.10);
}

.ppc-contact-item i,
.ppc-contact-item strong,
.ppc-contact-item span {
  color: #fff;
}

.ppc-contact-item span {
  display: block;
  font-size: 16px;
  line-height: 1.6;
}

.ppc-btn,
.ppc-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 5px;
  border: 1px solid var(--ppc-accent);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.ppc-btn:hover,
.ppc-inline-link:hover {
  transform: translateY(-1px);
}

.ppc-btn--solid {
  background: var(--ppc-accent);
  color: #fff;
}

.ppc-btn--solid:hover {
  background: var(--ppc-accent-dark);
  border-color: var(--ppc-accent-dark);
  color: #fff;
  box-shadow: var(--ppc-shadow-strong);
}

.ppc-btn--outline,
.ppc-inline-link {
  background: transparent;
  color: var(--ppc-accent);
}

.ppc-btn--outline:hover,
.ppc-inline-link:hover {
  background: rgba(29, 78, 216, 0.08);
  color: var(--ppc-accent-dark);
}
.ppc-main{
	    padding: 0px;
	border: 0px solid var(--ppc-border);     box-shadow: unset;
}
@media (min-width: 576px) {
  .ppc-container {
    padding: 0 18px;
  }

  .ppc-feature-grid,
  .ppc-rights-grid,
  .ppc-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .ppc-layout {
    grid-template-columns: minmax(0, 0.32fr) minmax(0, 0.68fr);
    align-items: start;
  }

  .ppc-sidebar {
    position: sticky;
    top: 20px;
    border: 0;
    padding: 0;
  }
}

@media (max-width: 991.98px) {
  .ppc-sidebar {
    order: -1;
    position: static;
  }
}

@media (max-width: 767.98px) {
  .ppc-block {
    padding: 18px 0;
  }

  .ppc-contact {
    padding: 16px;
  }

  .ppc-btn,
  .ppc-inline-link {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .ppc-container {
    padding: 0 14px;
  }

  .ppc-callout {
    flex-direction: column;
  }
}



/* ============================================================
   MERGED FROM: section-design-layout/reusable-showcase-block.css
   ============================================================ */

* { box-sizing: border-box; }

:root {
  --rsb-font: 'Inter', sans-serif;
  --rsb-bg: #f7f9fc;
  --rsb-surface: #ffffff;
  --rsb-heading: #1f2a44;
  --rsb-text: #4a5568;
  --rsb-muted: #6b7280;
  --rsb-accent: #2f6fd6;
  --rsb-accent-soft: rgba(47, 111, 214, 0.1);
  --rsb-border: #e6eaf0;
  --rsb-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
  --rsb-radius: 8px;
}

html, body { margin: 0; padding: 0; }
body {
  font-family: var(--rsb-font);
  color: var(--rsb-text);
  background: #fff;
  line-height: 1.55;
}

.rsb { padding: 20px 0; }
.rsb__container {
  width: min(100% - 24px, 1440px);
  margin: 0 auto;
  display: grid;
  gap: 30px;
}
.rsb__panel {
  background: var(--rsb-surface);
  border: 1px solid var(--rsb-border);
  border-radius: var(--rsb-radius);
  padding: 16px;
  box-shadow: var(--rsb-shadow);
}

.rsb__overview-grid,
.rsb__row,
.rsb__map-panel {display: grid;gap: 23px;}

.rsb__tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--rsb-accent);
  background: var(--rsb-accent-soft);
  border-radius: var(--rsb-radius);
  padding: 6px 10px;
  margin-bottom: 10px;
}

.rsb__title {
  margin: 0 0 10px;
  color: var(--rsb-heading);
  font-size: clamp(22px, 4vw, 34px);
  line-height: 1.15;
}

.rsb__text { margin: 0 0 10px; max-width: 64ch; font-size: 16px; }

.rsb__stats { display: grid; gap: 10px; }
.rsb__stat-item {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--rsb-border);
  border-radius: var(--rsb-radius);
  padding: 10px;
}
.rsb__stat-icon {
  width: 30px;
  height: 30px;
  border-radius: var(--rsb-radius);
  display: grid;
  place-items: center;
  background: var(--rsb-accent-soft);
  color: var(--rsb-accent);
  flex-shrink: 0;
  background: var(--rsb-accent);
  color: #fff !important;!i;!;
}
.rsb__stat-item i { color: inherit; font-size: 16px; line-height: 1; }
.rsb__stat-item strong {display: block;color: var(--rsb-heading);font-size: 18px;line-height: 0.8;}
.rsb__stat-item span {color: var(--rsb-muted);font-size: 13px;}

.rsb__overview-media { position: relative; }
.rsb__overview-media img,
.rsb__media img {
  width: 100%;
  display: block;
  object-fit: cover;
  border-radius: var(--rsb-radius);
}
.rsb__overview-media img { max-height: 420px; }
.rsb__media img { max-height: 320px; }

.rsb__media-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(31, 42, 68, 0.92);
  color: #fff;
  border-radius: var(--rsb-radius);
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 600;
}

.rsb__icon-chip {
  width: 36px;
  height: 36px;
  border-radius: var(--rsb-radius);
  display: grid;
  place-items: center;
  background: var(--rsb-accent);
  color: #fff;
  margin-bottom: 8px;
}
.rsb__icon-chip i {
  font-size: 18px;
  line-height: 1;
}
.rsb__copy h2 {margin: 0 0 0px;color: var(--rsb-heading);font-size: clamp(20px, 2.4vw, 28px);}
.rsb__copy p { margin: 0 0 10px; font-size: 16px; }
.rsb__copy ul {margin: 0 0 17px;padding: 0;list-style: none;display: grid;gap: 3px;}
.rsb__copy li {display: flex;gap: 8px;font-size: 16px;}
.rsb__copy li i { color: var(--rsb-accent); margin-top: 2px; }
.rsb__inline-link {
  color: var(--rsb-accent);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid var(--rsb-accent);
  border-radius: 5px;
  padding: 6px 19px;
  font-size: 15px;
}
    .rsb__panel.first{
        border-left: 5px solid var(--rsb-accent);
    }
.rsb__spotlight {
  position: relative;
  overflow: hidden;
  background-image: var(--spotlight-bg);
  background-size: cover;
  background-position: center;
}
.rsb__spotlight-overlay { position: absolute; inset: 0; background: rgba(17,24,39,.68); }
.rsb__spotlight-inner { position: relative; z-index: 1; color: #fff; }
.rsb__spotlight h2 {margin: 0 0 -2px;font-size: clamp(22px, 3.4vw, 32px);}
.rsb__spotlight p { margin: 0 0 12px; color: rgba(255,255,255,.9); font-size: 16px; }

.rsb__perk-grid { display: grid; gap: 8px; margin-bottom: 12px; }
.rsb__perk {
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--rsb-radius);
  background: rgba(255,255,255,.08);
  padding: 8px 10px;
}
.rsb__perk i { display: inline-block; font-size: 18px; line-height: 1; }
.rsb__perk strong { display: block; margin-top: 4px; font-size: 15px; }
.rsb__perk span { display: block; font-size: 14px; opacity: .92; }

.rsb__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rsb__btn {
  text-decoration: none;
  border-radius: var(--rsb-radius);
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid transparent;
}
.rsb__btn--primary { background: var(--rsb-accent); color: #fff; }
.rsb__btn--ghost { color: #fff; border-color: rgba(255,255,255,.55); }

.rsb__section-head { margin-bottom: 10px; }
.rsb__section-head h2 { margin: 0 0 6px; color: var(--rsb-heading); font-size: clamp(20px, 2.6vw, 28px); }
.rsb__section-head p { margin: 0 0 10px; font-size: 16px; }

.rsb__cards-grid { display: grid; gap: 12px; }
.rsb__card {
  border: 1px solid var(--rsb-border);
  border-radius: var(--rsb-radius);
  overflow: hidden;
  background: #fff;
}
.rsb__card-media { position: relative; }
.rsb__card-media img { width: 100%; height: 190px; object-fit: cover; display: block; }
.rsb__card-media span {
  position: absolute;
  left: 8px;
  bottom: 8px;
  background: var(--rsb-accent);
  color: #fff;
  border-radius: var(--rsb-radius);
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 600;
}
.rsb__card-body { padding: 10px; }
.rsb__card-body h3 { margin: 0 0 6px; color: var(--rsb-heading); font-size: 18px; }
.rsb__card-body p { margin: 0 0 8px; font-size: 16px; }
.rsb__meta-row { display: flex; flex-wrap: wrap; gap: 8px; }
.rsb__meta-row span { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--rsb-muted); }
.rsb__meta-row i { color: var(--rsb-accent); }

.rsb__map-wrap {
  border: 1px solid var(--rsb-border);
  border-radius: var(--rsb-radius);
  overflow: hidden;
  min-height: 295px;
}
.rsb__map-wrap iframe {
  width: 100%;
  min-height: 295px;
  height: 100%;
  border: 0;
  display: block;
}

.rsb__map-side h3 { margin: 0 0 6px; color: var(--rsb-heading); font-size: 22px; }
.rsb__map-side p { margin: 0 0 10px; font-size: 16px; }

.rsb__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.rsb__chips span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--rsb-accent-soft);
  color: var(--rsb-accent);
  border-radius: var(--rsb-radius);
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 600;
}

.rsb__links { display: grid; gap: 6px; margin-bottom: 10px; }
.rsb__links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--rsb-accent);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
}

.rsb__quick-info {
  border: 1px solid var(--rsb-border);
  border-radius: var(--rsb-radius);
  padding: 10px;
  background: #fff;
}
.rsb__quick-info h4 { margin: 0 0 4px; color: var(--rsb-heading); }
.rsb__quick-info p { margin: 0 0 6px; font-size: 14px; }
.rsb__quick-details { display: flex; flex-wrap: wrap; gap: 10px; }
.rsb__quick-details span { display: inline-flex; align-items: center; gap: 5px; color: var(--rsb-muted); font-size: 12px; }

@media (min-width: 768px) {
  .rsb__container { width: min(100% - 40px, 1440px); }
  .rsb__overview-grid { grid-template-columns: 1.1fr .9fr; align-items: center; }
  .rsb__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rsb__row,
  .rsb__map-panel { grid-template-columns: 1fr 1fr; align-items: start; }
  .rsb__row--reverse .rsb__media { order: 2; }
  .rsb__row--reverse .rsb__copy { order: 1; }
  .rsb__perk-grid,
  .rsb__cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .rsb__panel {padding: 20px;margin-bottom: 30px;}
  .rsb__cards-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rsb__perk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}



/* ============================================================
   MERGED FROM: section-design-layout/split-experience-highlights.css
   ============================================================ */

/* ==========================================================
   Split Experience Highlights
   Generic reusable block styles
========================================================== */

*, *::before, *::after {
  box-sizing: border-box;
}

:root {
  --seh-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --seh-bg: #f7f9fc;
  --seh-surface: #ffffff;
  --seh-surface-alt: #f0f5fb;
  --seh-text: #243041;
  --seh-muted: #5f6b7a;
  --seh-border: #d8e1eb;
  --seh-accent: #1d4ed8;
  --seh-accent-dark: #1742b6;
  --seh-radius: 8px;
  --seh-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  --seh-shadow-strong: 0 14px 30px rgba(15, 23, 42, 0.10);
}

.seh-block {
  padding: 20px 0;
  background: var(--seh-bg);
  color: var(--seh-text);
  font-family: var(--seh-font);
  background: #fff;
}

.seh-container {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 0 16px;
}

.seh-lead {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: stretch;
}

.seh-visual,
.seh-cards,
.seh-cta {
  background: var(--seh-surface);
  border: 1px solid var(--seh-border);
  border-radius: var(--seh-radius);
  box-shadow: var(--seh-shadow);
}

.seh-copy {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.seh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--seh-accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.seh-eyebrow::before {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--seh-accent);
  border-radius: 2px;
}

.seh-title {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 2.5vw, 2.35rem);
  line-height: 1.3;
  color: var(--seh-text);
  letter-spacing: 0.2px;
}

.seh-copy__text,
.seh-card__text,
.seh-cta__text,
.seh-highlight__text {
  font-size: 16px;
  line-height: 1.75;
  color: var(--seh-muted);
  margin: 0 0 12px;
  font-weight: 300;
}

.seh-copy__text:last-child {
  margin-bottom: 0;
}

.seh-highlights {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.seh-highlight {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: var(--seh-radius);
  background: #fff;
  border: 1px solid rgba(29, 78, 216, 0.10);
}

.seh-highlight i {
  flex: 0 0 auto;
  font-size: 1.1rem;
  color: var(--seh-accent);
  line-height: 1.2;
  margin-top: 1px;
}

.seh-highlight strong {
  display: block;
  margin-bottom: 4px;
  color: var(--seh-text);
  font-size: 0.98rem;
  font-weight: 500;
}

.seh-highlight p {
  margin: 0;
}

.seh-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.seh-btn,
.seh-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.seh-btn:hover,
.seh-inline-link:hover {
  transform: translateY(-1px);
}

.seh-btn--solid {
  background: var(--seh-accent);
  color: #fff;
  border: 1px solid var(--seh-accent);
}

.seh-btn--solid:hover {
  background: var(--seh-accent-dark);
  border-color: var(--seh-accent-dark);
  color: #fff;
  box-shadow: var(--seh-shadow-strong);
}

.seh-btn--outline,
.seh-inline-link {
  background: transparent;
  color: var(--seh-accent);
  border: 1px solid var(--seh-accent);
}

.seh-btn--outline:hover,
.seh-inline-link:hover {
  background: rgba(29, 78, 216, 0.08);
  color: var(--seh-accent-dark);
}

.seh-visual {
  overflow: hidden;
}

.seh-visual__image {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.seh-media {
  position: relative;
  min-height: 260px;
  height: 100%;
}

.seh-media img {
  display: block;
  width: 100%;
  height: 100%;
  /* max-height: 400px; */
  object-fit: cover;
}

.seh-media__chip {
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 24px);
  padding: 8px 12px;
  border-radius: 5px;
  background: var(--seh-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.seh-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
  display: none;
}

.seh-metric {
  padding: 14px 12px;
  border-radius: var(--seh-radius);
  background: #f7f7f7;
  border: 1px solid rgba(29, 78, 216, 0.10);
  text-align: center;
}

.seh-metric i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  color: var(--seh-accent);
  font-size: 1.1rem;
}

.seh-metric strong {
  display: block;
  color: var(--seh-text);
  font-size: 1.1rem;
  line-height: 1.2;
  margin-bottom: 5px;
}

.seh-metric span {
  display: block;
  color: var(--seh-muted);
  font-size: 14px;
  line-height: 1.45;
}

.seh-cards {
  padding: 16px;
  margin-top: 16px;
}

.seh-section-heading {
  margin-bottom: 14px;
}

.seh-section-heading h3 {
  margin: 0 0 6px;
  font-size: 1.2rem;
  line-height: 1.25;
  color: var(--seh-text);
}

.seh-section-heading p {
  margin: 0;
  color: var(--seh-muted);
  font-size: 16px;
  line-height: 1.6;
}

.seh-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.seh-card {
  padding: 16px;
  border-radius: var(--seh-radius);
  background: var(--seh-surface);
  border: 1px solid var(--seh-border);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.seh-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: rgba(29, 78, 216, 0.10);
  color: var(--seh-accent);
}

.seh-card__icon i {
  font-size: 1.15rem;
}

.seh-card h4 {
  margin: 0 0 8px;
  color: var(--seh-text);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.35;
}

.seh-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  color: var(--seh-accent);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.seh-card__link i {
  font-size: 1rem;
  transition: transform 0.2s ease;
}

.seh-card__link:hover i {
  transform: translateX(3px);
}

.seh-cta {
  padding: 16px;
  background: linear-gradient(135deg, var(--ptp-accent) 0%, var(--ptp-accent-dark) 100%);
  color: #fff;
  margin-top: 16px;
}

.seh-cta__wrap {
  display: grid;
  gap: 12px;
}

.seh-cta__title {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.25;
}

.seh-cta__text {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
}

.seh-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.seh-cta .seh-btn--solid {
  background: #fff;
  color: var(--seh-accent);
  border-color: #fff;
}

.seh-cta .seh-btn--solid:hover {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.92);
  color: var(--seh-accent-dark);
}

.seh-cta .seh-btn--outline,
.seh-cta .seh-inline-link {
  border-color: rgba(255, 255, 255, 0.95);
  color: #fff;
}

.seh-cta .seh-btn--outline:hover,
.seh-cta .seh-inline-link:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

@media (min-width: 576px) {
  .seh-container {
    padding: 0 18px;
  }

  .seh-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .seh-lead {
    gap: 18px;
  }

  .seh-copy,
  .seh-cards,
  .seh-cta {
    padding: 20px;
  }

  .seh-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .seh-lead {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }

  .seh-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .seh-visual {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
  }
}

@media (min-width: 1200px) {
  .seh-copy {
    padding: 20px;
  }

  .seh-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .seh-cta__wrap {
    grid-template-columns: minmax(0, 1.4fr) auto;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 1440px) {
  .seh-container {
    padding: 0 20px;
  }

  .seh-title {
    font-size: 25px;
    line-height: 1.18;
    font-weight: 600;
  }
}

@media (max-width: 991.98px) {
  .seh-visual {
    order: -1;
  }

  .seh-media {
    min-height: 240px;
  }

  .seh-media img {
    min-height: 240px;
  }
}

@media (max-width: 767.98px) {
  .seh-block {
    padding: 18px 0;
  }

  .seh-copy,
  .seh-cards,
  .seh-cta {
    padding: 16px;
  }

  .seh-title {
    font-size: 20px;
  }

  .seh-actions,
  .seh-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .seh-btn,
  .seh-inline-link {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .seh-container {
    padding: 0 14px;
  }

  .seh-copy__text,
  .seh-card__text,
  .seh-cta__text,
  .seh-highlight__text,
  .seh-section-heading p,
  .seh-metric span {
    font-size: 16px;
  }

  .seh-metrics,
  .seh-card-grid {
    grid-template-columns: 1fr;
  }

  .seh-media__chip {
    font-size: 11px;
  }
}



/* ============================================================
   MERGED FROM: section-design-layout/split-story-milestones.css
   ============================================================ */

/* ============================================================
   RESET & BASE
============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --ssm-font:        'Inter', sans-serif;
  --ssm-accent:      #4F46E5;
  --ssm-heading:     #22223B;
  --ssm-body:        #4A4E69;
  --ssm-muted:       #6B7280;
  --ssm-bg:          #F9FAFB;
  --ssm-surface:     #ffffff;
  --ssm-border:      #E5E7EB;
  --ssm-radius:      12px;
  --ssm-shadow:      0 4px 24px rgba(0, 0, 0, 0.07);
  --ssm-max-width:   1440px;
  --ssm-gutter:      40px;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--ssm-font);
  font-size: 16px;
  line-height: 1.7;
  color: var(--ssm-body);
  background: var(--ssm-bg);
}

img { display: block; max-width: 100%; }

/* ============================================================
   SECTION & CONTAINER
============================================================ */
.ssm-block {
  padding: 20px 0 8px;
  background: #fff;
}

.ssm-container {
  max-width: var(--ssm-max-width);
  margin: 0 auto;
  padding: 0 var(--ssm-gutter);
}

/* ============================================================
   ROW 1 — STORY
============================================================ */
.ssm-story-row {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 36px;
  align-items: stretch;
  margin-bottom: 80px;
}

/* Image column */
.ssm-image-wrap {
  position: relative;
  border-radius: var(--ssm-radius);
  overflow: hidden;
  height: 100%;
  min-height: 460px;
}

.ssm-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ssm-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  background: var(--ssm-accent);
  color: #fff;
  padding: 10px 17px;
  border-radius: 10px;
  text-align: center;
  line-height: 1.2;
  box-shadow: 0 8px 28px rgba(79, 70, 229, 0.42);
}

.ssm-badge__primary {
  display: block;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
}

.ssm-badge__secondary {
  display: block;
  font-size: 0.73rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 6px;
  opacity: 0.9;
}

/* Text column */
.ssm-text-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.ssm-subtitle {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--ssm-accent);
  margin-bottom: 10px;
  position: relative;
  padding-left: 38px;
}

.ssm-subtitle::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 2px;
  background: var(--ssm-accent);
}

.ssm-heading {
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--ssm-heading);
  line-height: 1.22;
  margin-bottom: 18px;
}

.ssm-body {
  font-size: 1rem;
  color: var(--ssm-body);
  line-height: 1.78;
  margin-bottom: 30px;
}

/* Feature cards */
.ssm-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.ssm-feature-card {
  background: var(--ssm-surface);
  border-radius: var(--ssm-radius);
  padding: 22px 20px;
  border-top: 3px solid var(--ssm-accent);
  box-shadow: var(--ssm-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ssm-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.ssm-feature-icon {
  color: var(--ssm-accent);
  margin-bottom: 12px;
}

.ssm-feature-icon svg {
  width: 26px;
  height: 26px;
}

.ssm-feature-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ssm-heading);
  margin-bottom: 7px;
}

.ssm-feature-text {
  font-size: 0.875rem;
  color: var(--ssm-muted);
  line-height: 1.65;
  margin: 0;
}

/* ============================================================
   ROW 2 — TIMELINE
============================================================ */
.ssm-timeline {
  margin-bottom: 72px;
}

.ssm-timeline__title {
  font-size: 23px;
  font-weight: 600;
  color: var(--ssm-heading);
  text-align: center;
  margin-bottom: 14px;
}

.ssm-timeline__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.ssm-timeline__track::before {
  content: '';
  position: absolute;
  top: 0;
  left: 40px;
  right: 40px;
  height: 3px;
  background: linear-gradient(
    to right,
    rgba(79, 70, 229, 0.18),
    var(--ssm-accent),
    rgba(79, 70, 229, 0.18)
  );
}

.ssm-timeline__card {
  text-align: center;
  padding: 36px 20px 22px;
  position: relative;
}

.ssm-timeline__marker {
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 14px;
  height: 14px;
  background: var(--ssm-accent);
  border-radius: 50%;
  border: 3px solid var(--ssm-bg);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.3);
}

.ssm-timeline__year {
  font-size: 25px;
  font-weight: 600;
  color: var(--ssm-accent);
  line-height: 1;
  margin-bottom: 10px;
}

.ssm-timeline__card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ssm-heading);
  margin-bottom: 8px;
}

.ssm-timeline__card-text {
  font-size: 0.85rem;
  color: var(--ssm-muted);
  line-height: 1.6;
  margin: 0;
}

/* ============================================================
   ROW 3 — PILLARS
============================================================ */
.ssm-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.ssm-pillar {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 22px 18px;
  background: var(--ssm-surface);
  border-radius: var(--ssm-radius);
  border-left: 4px solid rgba(79, 70, 229, 0.3);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.ssm-pillar:hover {
  border-left-color: var(--ssm-accent);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.09);
}

.ssm-pillar__num {
  font-size: 1.85rem;
  font-weight: 600;
  color: rgba(79, 70, 229, 0.4);
  line-height: 1;
  flex-shrink: 0;
  transition: color 0.25s ease;
}

.ssm-pillar:hover .ssm-pillar__num {
  color: var(--ssm-accent);
}

.ssm-pillar__title {
  font-size: 0.975rem;
  font-weight: 600;
  color: var(--ssm-heading);
  margin-bottom: 6px;
}

.ssm-pillar__text {
  font-size: 0.85rem;
  color: var(--ssm-muted);
  line-height: 1.6;
  margin: 0;
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1200px) {
  .ssm-story-row {
    gap: 36px;
  }
}

@media (max-width: 1024px) {
  .ssm-timeline__track {
    grid-template-columns: repeat(2, 1fr);
  }

  .ssm-timeline__track::before,
  .ssm-timeline__marker {
    display: none;
  }

  .ssm-timeline__card {
    padding-top: 20px;
  }

  .ssm-pillars {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .ssm-story-row {
    grid-template-columns: 1fr;
  }

  .ssm-image-wrap {
    min-height: 320px;
  }

  .ssm-heading {
    font-size: 1.7rem;
  }

  :root {
    --ssm-gutter: 20px;
  }
}

@media (max-width: 560px) {
  .ssm-feature-grid {
    grid-template-columns: 1fr;
  }

  .ssm-timeline__track {
    grid-template-columns: 1fr;
  }

  .ssm-pillars {
    grid-template-columns: 1fr;
  }

  .ssm-badge__primary {
    font-size: 19px;
  }
}


/* ============================================================
   MERGED FROM: assets/css/whatsapp-widget.css
   ============================================================ */

/* WhatsApp Widget Styles - Top Notch Consulting */
:root {
    --cg-green: #ba0c2f;
    --cg-green-dark: #a20a29;
    --wa-green: #25D366;
    --wa-green-dark: #128C7E;
    --shadow-pill: 0 6px 24px rgba(186, 12, 47, 0.40);
    --shadow-wa: 0 4px 18px rgba(37, 211, 102, 0.38);
    --shadow-card: 0 24px 64px rgba(186, 12, 47, 0.20), 0 4px 20px rgba(0, 0, 0, 0.10);
    --radius-card: 18px;
    --radius-btn: 8px;
}

.nwa-wrap {
    position: fixed;
    bottom: 4px;
    right: 3px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 5px;
    pointer-events: none;
}

.nwa-pill {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #ba0c2f 0%, #8f0924 100%);
    color: #fff;
    padding: 10px 20px;
    border-radius: 3px;
    cursor: pointer;
    border: none;
    font-family: 'Inter', sans-serif;
    white-space: nowrap;
    box-shadow: unset;
    transition: unset;
    user-select: none;
    outline: none;
    pointer-events: auto;
    bottom: -8px;
    right: 0px;
}

.nwa-pill:hover {
    transform: unset;
    box-shadow: unset;
}

.nwa-pill:active {
    transform: translateY(0);
}

.nwa-pill-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nwa-pill-icon i {
    font-size: 20px;
    color: #fff;
}

.nwa-pill-label {
    display: flex;
    flex-direction: column;
    gap: 1px;
    white-space: nowrap;
    text-align: left;
}

.nwa-pill-main {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
}

.nwa-pill-sub {
    font-size: 11px;
    color: rgba(255,255,255,0.8);
    font-weight: 400;
    line-height: 1.2;
}

/* Card Styles */
.nwa-card {
    background: #fff;
    border-radius: 0px;
    box-shadow: var(--shadow-card);
    width: 275px;
    overflow: hidden;
    margin-bottom: -13px;
    transform: scale(0.9) translateY(12px);
    transform-origin: bottom center;
    opacity: 0;
    pointer-events: none;
    transition: transform 0.30s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.22s ease;
}
.nwa-card.nwa-open {
    transform: scale(1) translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.nwa-card-header {
    background: #000;
    padding: 4px 8px 1px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.nwa-hdr-icon {
    width: 34px;
    height: 34px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nwa-hdr-icon i {
    font-size: 23px;
    color: #fff;
}

.nwa-hdr-text {
    flex: 1;
    min-width: 0;
    padding-right: 26px;
}

.nwa-hdr-title {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
}

.nwa-hdr-subtitle {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 0px;
}

.nwa-online {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 3px;
    padding: 2px 10px 1px 7px;
    font-size: 8.5px;
    color: #fff;
    font-weight: 500;
    margin-top: 3px;
    width: fit-content;
    letter-spacing: 5px;
    display: none;
}

.nwa-online-dot {
    width: 7px;
    height: 7px;
    background: #4cff91;
    border-radius: 4px;
    flex-shrink: 0;
    animation: nwaBlink 1.5s ease-in-out infinite;
}

@keyframes nwaBlink {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.3;
    }
}

.nwa-close {
    position: absolute;
    top: 11px;
    right: 13px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    line-height: 20px;
    transition: background 0.2s;
    outline: none;
}

.nwa-close:hover {
    background: rgba(255, 255, 255, 0.28);
}

.nwa-card-body {
    padding: 7px 9px 8px;
    right: 0px;
}

.nwa-intro {
    font-size: 12.5px;
    color: #5a5f75;
    line-height: normal;
    margin-bottom: 7px;
}

.nwa-intro strong {
    color: #1a1a2e;
    font-size: 14px;
    font-weight: 600;
}

.nwa-topics-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #9ba3bf;
    margin-bottom: 1px;
}

.nwa-topics {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 0px;
}

.nwa-topic {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 5px;
    border: 1.5px solid #e6e9f4;
    border-radius: 5px;
    background: #f8f9fd;
    cursor: pointer;
    text-decoration: none;
    color: #1a1a2e;
    transition: border-color 0.18s, background 0.18s, transform 0.16s;
    font-family: 'Inter', sans-serif;
}

.nwa-topic:hover {
    border-color: var(--cg-green);
    background: #edf2ff;
    transform: translateX(3px);
    text-decoration: none;
    color: #1a1a2e;
}

.nwa-topic-emoji {
    font-size: 17px;
    flex-shrink: 0;
    width: 26px;
    text-align: center;
    line-height: 1;
}

.nwa-topic-copy {
    flex: 1;
    min-width: 0;
}

.nwa-topic-name {
    font-size: 12.5px;
    font-weight: 600;
    display: block;
    line-height: 1.2;
}

.nwa-topic-desc {
    font-size: 9.5px;
    color: #7b82a0;
    display: block;
    /* margin-top: 2px; */
    line-height: normal;
}

.nwa-topic-arrow {
    font-size: 13px;
    color: #c5cbdf;
    transition: color 0.18s, transform 0.18s;
    flex-shrink: 0;
}

.nwa-topic:hover .nwa-topic-arrow {
    color: var(--cg-green);
    transform: translateX(2px);
}

.nwa-divider {
    height: 1px;
    background: #eff1f8;
    margin: 3px 0;
}

.wa-card-office-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #9ba3bf;
    margin: 0 0 6px;
}

#wa-card-video {
    border-radius: 8px;
    display: block;
    width: 100%;
    max-height: 250px;
    object-fit: cover;
}

.nwa-contact-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nwa-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 11px;
    color: #4a4f6a;
    font-family: 'Inter', sans-serif;
    line-height: 1.4;
}

.nwa-contact-row i {
    font-size: 13px;
    color: var(--green);
    flex-shrink: 0;
    margin-top: 1px;
}

.nwa-contact-row a {
    color: #4a4f6a;
    text-decoration: none;
}

.nwa-contact-row a:hover {
    color: var(--green);
    text-decoration: underline;
}

.nwa-wa-cta {
    display: flex;
    align-items: center;
    justify-content: left;
    gap: 9px;
    width: 100%;
    padding: 4px 9px;
    background: var(--wa-green);
    color: #fff;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: none;
    font-family: 'Inter', sans-serif;
    box-shadow: unset;
    transition: background 0.2s, transform 0.16s, box-shadow 0.2s;
    letter-spacing: 0.1px;
    outline: none;
    height: 35px;
}

.nwa-wa-cta:hover {
    background: var(--wa-green-dark);
    transform: translateY(-2px);
    box-shadow: unset;
    color: #fff;
    text-decoration: none;
}

.nwa-wa-cta:active {
    transform: translateY(0);
}

.nwa-wa-cta i {
    font-size: 18px;
    flex-shrink: 0;
}

/* Responsive */
@media (max-width: 640px) {
    .nwa-wrap {
        right: 10px;
        bottom: 10px;
    }
    
    .nwa-card {
        width: 276px;
    }
    
    .nwa-pill {
        padding: 8px 16px;
    }
}

@media (max-width: 380px) {
    .nwa-card {
        width: 255px;
    }
    
    .nwa-hdr-subtitle {
        display: none;
    }
}

@media (max-width: 480px) {
    .nwa-wrap {
        right: 8px;
        bottom: 8px;
    }
    
    .nwa-card {
        width: 260px;
    }
}

/* ═══════════════════════════════════════════════
   OFFICES BUTTON & CARD (bottom-left fixed)
═══════════════════════════════════════════════ */
#offices-btn {
    position: fixed;
    bottom: 0px;
    left: 0;
    z-index: 9990;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    background: linear-gradient(135deg, #ba0c2f 0%, #8f0924 100%);
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 10px 20px;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0,0,0,0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    max-height: 47px;
    white-space: nowrap;
}

.offices-btn-main {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
}

.offices-btn-sub {
    font-size: 11px;
    color: rgba(255,255,255,0.8);
    font-weight: 400;
    line-height: 1.2;
}

#offices-btn:hover {
    transform: unset;
    box-shadow: unset;
}

#offices-card {
    position: fixed;
    bottom: 48px;
    left: 2px;
    width: 300px;
    max-height: 520px;
    overflow-y: auto;
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    padding: 8px;
    z-index: 9989;
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

#offices-card.offices-card-show {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

#offices-card-close {
    position: absolute;
    top: 10px;
    right: 12px;
    background: none;
    border: none;
    font-size: 18px;
    color: #999;
    cursor: pointer;
    line-height: 1;
    padding: 2px 6px;
    font-family: 'Inter', sans-serif;
}

#offices-card-close:hover {
    color: #333;
}

.offices-card-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #9ba3bf;
    margin: 0 0 8px;
    padding-right: 24px;
}

#offices-card-video {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    margin-bottom: 12px;
}

.offices-card-contact {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 12px;
}

.offices-addr-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    color: #4a4f6a;
    font-family: 'Inter', sans-serif;
    line-height: 1.4;
}

.offices-addr-row i {
    font-size: 13px;
    color: var(--green);
    flex-shrink: 0;
    margin-top: 1px;
}

.offices-addr-row a {
    color: #4a4f6a;
    text-decoration: none;
}

.offices-addr-row a:hover {
    color: var(--green);
    text-decoration: underline;
}

.offices-card-cta {
    display: flex;
    align-items: center;
    justify-content: left;
    gap: 8px;
    width: 100%;
    padding: 7px 11px;
    background: #1a1a2e;
    color: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    transition: background 0.2s;
}

.offices-card-cta:hover {
    background: var(--green);
    color: #fff;
    text-decoration: none;
}

/* Hide offices button on mobile (drawer handles office view) */
@media (max-width: 1023px) {
    #offices-card { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   APPLY FORM — INLINE VALIDATION STATES & MOBILE IMPROVEMENTS
═══════════════════════════════════════════════════════════════════ */

/* Valid field */
.cg-input.is-valid,
.cg-select.is-valid,
.cg-textarea.is-valid {
    border-color: #ba0c2f !important;
    box-shadow: 0 0 0 3px rgba(44, 179, 74, 0.12) !important;
}

/* Invalid field */
.cg-input.is-invalid,
.cg-select.is-invalid,
.cg-textarea.is-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12) !important;
}

/* Helper / error text shown below invalid fields */
.cg-field-error {
    display: block;
    font-size: 12px;
    color: #dc2626;
    margin-top: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    line-height: 1.4;
    min-height: 0;
}

/* ── Mobile: prevent iOS Safari zoom on focus (font-size must be ≥ 16px) */
@media (max-width: 768px) {
    .cg-input,
    .cg-select,
    .cg-textarea,
    .apply-main-section .cg-input,
    .apply-main-section .cg-select,
    .apply-main-section .cg-textarea {
        font-size: 16px !important;
        min-height: 44px;
    }
    .cg-select {
        min-height: 44px;
    }
    .apply-declaration-check input[type="checkbox"],
    .sector-checkbox-item input[type="checkbox"],
    .apply-contract-item input[type="checkbox"] {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
    }
    .apply-submit-btn {
        min-height: 48px;
        font-size: 15px !important;
    }
}

/* ══════════════════════════════════════════════════════════════════════════
   Contact Page — Office Video Supplement (Task 24)
══════════════════════════════════════════════════════════════════════════ */
.ct-hero-supp {
    background: #000001;
    padding: 0 0 48px;
}
.ct-hero-supp__inner {
    display: flex;
    gap: 40px;
    align-items: stretch;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.ct-hero-supp__details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 18px;
    justify-content: center;
}
.ct-hero-supp__detail-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.ct-hero-supp__detail-icon {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(44,179,74,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ct-hero-supp__detail-icon i {
    color: #ba0c2f;
    font-size: 1rem;
}
.ct-hero-supp__detail-label {
    font: 600 0.72rem/1 'Inter', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    margin-bottom: 5px;
}
.ct-hero-supp__detail-value {
    font: 500 0.96rem/1.55 'Inter', sans-serif;
    color: #fff;
}
.ct-hero-supp__video-wrap {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
    min-height: 280px;
    display: flex;
    flex-direction: column;
}
.ct-hero-supp__caption {
    font: 400 12px/1.4 'Inter', sans-serif;
    text-align: center;
    color: rgba(255,255,255,.55);
    margin-top: 8px;
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .ct-hero-supp__inner {
        flex-direction: column-reverse;
        gap: 24px;
    }
    .ct-hero-supp__video-wrap {
        min-height: 210px;
    }
}

/* ══════════════════════════════════════════════════════════════════════════
   Projects Pipeline — Light Theme Modifiers (Task 25)
══════════════════════════════════════════════════════════════════════════ */
.ppl-intro--light {
    background: #f8fafc;
    color: #212529;
}
.ppl-intro--light::before { display: none; }
.ppl-intro--light .ppl-intro__eyebrow {
    color: #ba0c2f;
}
.ppl-intro--light .ppl-intro__h2 {
    color: #1a1a2e;
}
.ppl-intro--light .ppl-intro__p {
    color: #4b5563;
}
.ppl-intro--light .ppl-sector-pill {
    background: #fff;
    border-color: rgba(44,179,74,.3);
    color: #1a1a2e;
}
.ppl-intro--light .ppl-sector-pill i {
    color: #ba0c2f;
}
.ppl-cta--light {
    background: #ffffff;
    color: #212529;
}
.ppl-cta--light .ppl-cta__eyebrow {
    color: #ba0c2f;
}
.ppl-cta--light .ppl-cta__h2 {
    color: #1a1a2e;
}
.ppl-cta--light .ppl-cta__p {
    color: #4b5563;
}
.ppl-cta--light .ppl-cta__checklist-heading {
    color: #1a1a2e;
    border-bottom-color: #e5e7eb;
}
.ppl-cta--light .ppl-cta__list li {
    color: #374151;
}
.ppl-cta--light .ppl-cta__list li i {
    color: #ba0c2f;
}
.ppl-cta--light .btn-outline {
    color: #1a1a2e;
    border-color: #d1d5db;
}
.ppl-cta--light .btn-outline:hover {
    border-color: #ba0c2f;
    color: #1a4d17;
}


