html { overflow-x: clip; }            /* kill horizontal scrollbar from full-bleed sliders */
/* The web Noto Sans does not bold the Indian Rupee sign (U+20B9). Wrap each
   rupee glyph in <span class="rs"> so it uses a local font that bolds it,
   inheriting the surrounding weight. */
.rs { font-family: Arial, 'Segoe UI', sans-serif; }
body {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-size: 16px;
    font-family: 'Noto Sans', sans-serif;
    color: #222;
    overflow-x: clip;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0px;
    padding: 0px;
    font-family: 'Playfair Display', serif;
}
p {
    margin: 0px;
    padding: 0px;
}

a {
    text-decoration: none !important;
    font-size: 16px;
}

a:hover {
    text-decoration: none !important;
}

p {
    font-size: 16px;
    line-height: 24px;
}

.my-sidenav {
    display: none;
}

img { display: block; max-width: 100%; }

/* ============================================================
   PRELOADER — centred logo + horizontal progress bar + counter
   ============================================================ */
.preloader {
    position: fixed; inset: 0; z-index: 100000;
    display: flex; align-items: center; justify-content: center;
    background: #ffffff;
    transition: opacity .6s ease, visibility .6s ease;
}
.preloader.is-done { opacity: 0; visibility: hidden; }
.preloader-inner { display: flex; flex-direction: column; align-items: center; }
.preloader-logo { width: 130px; height: auto; display: block; }
.preloader-bar {
    position: relative; overflow: hidden;
    width: 220px; height: 2px; margin-top: 30px;
    background: #e6e6e6; border-radius: 2px;
}
.preloader-fill {
    position: absolute; top: 0; left: 0; height: 100%; width: 0;
    border-radius: 2px;
    background: linear-gradient(90deg, #1565C0 0%, #7B2FA8 50%, #C01535 100%);
    transition: width .25s ease;
}
.preloader-num {
    margin-top: 16px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 13px; font-weight: 600; letter-spacing: .5px;
    color: #8a8a8a;
}

/* ============================================================
   HEADER
   ============================================================ */
:root {
    --header-bg:     rgba(255, 255, 255, 0.6);
    --header-border: rgba(0, 0, 0, 0.06);
    --header-shadow: 0 5px 18px rgba(0, 0, 0, 0.10);
    --text-primary:  #1a1a1a;
    --text-secondary:#555555;
    --divider:       rgba(0, 0, 0, 0.18);
    --hover-bg:      rgba(0, 0, 0, 0.06);
    --brand-purple:  #9c8dc3;
    --brand-blue:    #006db7;
}

.header-fixed {
    position: fixed;
    top: 20px;
    left: 0;
    width: 100%;
    z-index: 1000;
}
/* hidden when scrolling down, slides back in on scroll up */
.header-fixed.header-hidden {
    transform: translateY(-160%);
}

.site-header {
    background: var(--header-bg);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid var(--header-border);
    box-shadow: var(--header-shadow);
}
.header-fixed.sticky .site-header {
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
}
.header-left { display: flex; align-items: center; gap: 18px; }

.header-logo { display: flex; align-items: center; flex-shrink: 0; }
.header-logo img { height: 46px; width: auto; }

.header-divider { width: 1px; height: 46px; background: var(--divider); flex-shrink: 0; }
.header-title { display: flex; flex-direction: column; gap: 4px; }
.header-ndtv-logo { height: 26px; width: auto; display: block; }
.company-name {
    font-size: 15px; font-weight: 600; color: var(--text-primary);
    line-height: 1.3; white-space: nowrap;
}
.report-subtitle {
    font-size: 12.5px; font-weight: 400; color: var(--text-secondary);
    line-height: 1.3; white-space: nowrap;
}

.header-right { display: flex; align-items: center; gap: 10px; }
.search-btn {
    background: none; border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: 50%;
    color: var(--text-primary);
    transition: background .2s;
}
.search-btn:hover { background: var(--hover-bg); }
.search-btn svg { width: 22px; height: 22px; }

.menu-btn {
    display: flex; align-items: center; gap: 9px;
    padding: 9px 20px; cursor: pointer;
    background: linear-gradient(90deg, #1565C0 0%, #7B2FA8 50%, #C01535 100%);
    border: none; color: #fff;
    font-size: 14.5px; font-weight: 500; letter-spacing: .2px;
    transition: opacity .2s, transform .15s;
}
.menu-btn:hover { opacity: .9; transform: scale(1.02); }
.hamburger { display: flex; flex-direction: column; gap: 4px; justify-content: center; }
.hamburger span { display: block; width: 16px; height: 1.8px; background: #fff; border-radius: 2px; }

/* ============================================================
   HERO / BANNER
   ============================================================ */
.hero-section {
    position: relative;
    height: 100vh;
    min-height: 640px;
    overflow: hidden;
    background: #f0ebe3;
}
.hero-video-wrap { position: absolute; inset: 0; z-index: 1; transition: opacity 1s ease; }
.hero-video-wrap.is-hidden { opacity: 0; }
.hero-video {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
}

/* Banner content container */
.hero-container {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    pointer-events: none;
}

/* Right-side heading + CTA + icons */
.banner-right-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    pointer-events: auto;
    opacity: 0;                       /* JS sets opacity to 1 when the video completes */
    transition: opacity 0.8s ease;    /* smooth 0 -> 100% fade-in on completion */
}
.banner-right-panel.is-visible {
    opacity: 1;
}
.brp-heading {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28.6px, 3.3vw, 46.2px);
    font-weight: 700;
    line-height: 1.12;
    color: #8e278f;
    margin: 0 0 28px;
}

/* Read More button (outlined blue) */
.cta-read-more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 22px;
    border-radius: 50px;
    cursor: pointer;
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .3px;
    background: transparent;
    color: var(--brand-blue);
    border: 2px solid var(--brand-blue);
    transition: background .25s ease, color .25s ease;
}
.cta-read-more .cta-arrow { display: flex; align-items: center; transition: transform .25s ease; }
.cta-read-more:hover { background: var(--brand-blue); color: #fff; }
.cta-read-more:hover .cta-arrow { transform: translateX(4px); }

/* Sector icons strip */
.brp-icons-bottom {
    display: flex;
    gap: 36px;
    margin-top: 40px;
}
.brp-icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    border-right: .5px solid #00000020;
    padding-right: 40px;
}
.brp-icons-bottom .brp-icon-item:last-child
{
border-right: none;
}
.brp-icon-circle {
    display: flex; align-items: center; justify-content: center;
}
.brp-icon-circle img { width: 66px; height: 66px; object-fit: contain; }
.brp-icon-item span {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #1a1a1a;
    text-align: center;
    line-height: 1.3;
    white-space: nowrap;
}

/* ============================================================
   KEY HIGHLIGHTS — Milestones that Mattered (3-row table)
   ============================================================ */
/* NOTE: scoped to #keyHighlights so these rules never leak onto the
   key-highlights.html page (which reuses the .kh-row class differently) */
#keyHighlights.kh-section { background: #fff; padding: 80px 0; --kh-teal: #12a3a1; --kh-teal-dark: #0e807c; }
#keyHighlights .kh-eyebrow {
    display: block; font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #1a1a1a; margin-bottom: 10px;
}
#keyHighlights .kh-title {
    font-family: 'Playfair Display', serif; font-size: 40px; font-weight: 700;
    color: var(--brand-purple); margin-bottom: 30px;
}
#keyHighlights .kh-table { border-top: 1px solid #e2e2e2; }
#keyHighlights .kh-row {
    display: grid; grid-template-columns: 150px 1fr 1fr; gap: 30px;
    padding: 28px 0; border-bottom: 1px solid #e2e2e2; align-items: start;
}
/* Category badge (teal pill) */
#keyHighlights .kh-cat span {
    text-align: center;
    display: inline-block; background:#00bbce;
    color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 15px;
    padding: 8px 18px; white-space: nowrap;min-width: 128px;
}
/* Financial stat cells */
#keyHighlights .kh-cell--stat .kh-num {
     font-size: 30px; font-weight: 700;
    color: var(--kh-teal); line-height: 1.1;
}
#keyHighlights .kh-num .kh-unit { font-size: 0.5em; font-weight: 700; }
#keyHighlights .kh-stat-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #555; margin-top: 4px; }
#keyHighlights .kh-delta {display: flex;align-items: center; gap: 5px; font-family: 'Noto Sans', sans-serif; font-size: 13px; font-weight: 600; margin-top: 10px; }
/* Text cells (Operational / ESG) */
#keyHighlights .kh-cell ul { list-style: none; margin: 0; padding: 0; }
#keyHighlights .kh-cell li {
    font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55;
    color: #4a4a4a; margin-bottom: 12px;
}
#keyHighlights .kh-cell li:last-child { margin-bottom: 0; }
#keyHighlights .kh-cell li strong { color: #333; font-weight: 700; }
@media (max-width: 767px) {
    #keyHighlights .kh-title { font-size: 24px; }
    #keyHighlights .kh-row { grid-template-columns: 1fr; gap: 14px; }
    #keyHighlights .kh-cat span { font-size: 14px; padding: 6px 14px; }

}

/* ============================================================
   MESSAGE FROM THE CHAIRMAN
   ============================================================ */
.chairman-section {
    position: relative;
    background: url('../images/bg.jpeg') center center / cover no-repeat;
    overflow: hidden;
    height: 100vh;
    display: flex;
    align-items: flex-end;
}
.md-section
{
     background: url('../images/bg02.jpeg') center center / cover no-repeat;
}
.chairman-row {
    display: flex;
    align-items: flex-end;
    min-height: 88vh;
}
.chairman-img-col {
    flex: 0 0 44%;
    max-width: 44%;
    display: flex;
    align-items: flex-end;
}
.chairman-img-col img {
    width: 100%;
    height: auto;
    display: block;
}
.chairman-content-col {
    flex: 1;
    align-self: center;
    padding: 0 0 0 50px;
    max-width: 620px;
}
.chairman-label {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 18px;
}
.chairman-title {
    font-family: 'Playfair Display', serif;
    font-size:40px;
    font-weight: 700;
    line-height: 1.12;
    color: var(--brand-purple);
    margin-bottom: 22px;
}
.chairman-body {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: #333;
    margin-bottom:30px;
}
.chairman-name {
    font-family: 'Playfair Display', serif;
    font-size: 30px;
    font-weight: 700;
    color: var(--brand-purple);
    letter-spacing: 1px;
    margin-bottom:40px;
}

/* Managing Director — same layout mirrored: image right, content left */
.md-section .chairman-row { flex-direction: row-reverse; }
.md-section .chairman-content-col {
    padding: 0 50px 0 0;
    margin-left: auto;
}

/* ============================================================
   PERFORMANCE HIGHLIGHTS  (scroll-driven split + image reveal)
   Base = mobile/static layout. Desktop animation is in the
   @media (min-width:1026px) block (and driven by js/app.js).
   ============================================================ */
.ph-section { position: relative; background: #fff; padding: 70px 0; overflow: hidden; }

/* Heading words */
.ph-headwrap {
    display: flex; align-items: center; justify-content: center;
    gap: 14px; flex-wrap: wrap; text-align: center;
}
.ph-t1, .ph-t2 {
    font-family: 'Playfair Display', serif;
    font-weight: 700; line-height: 1.1;
    font-size:40px;
    color: var(--brand-purple);
    margin: 0;
}

/* Mobile-only header (above the image) — hidden on tablet/desktop */
.ph-mobile-head { display: none; }

/* Reveal image */
.ph-img { margin: 36px auto 0; max-width: 980px; position: relative; }
.ph-img img { width: 100%; height: auto; display: block; border-radius: 16px; }
/* Dark overlay — fades in (via JS) only after the image is full.
   Sits at section level, above the image (z2) but below the numbers (z6). */
.ph-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); opacity: 0; z-index: 5; pointer-events: none; }

/* Frosted data box */
.ph-databox-wrap { margin: 40px auto 0; }
.ph-databox {
    background: transparent;
    padding: 40px 48px;
}
.ph-eyebrow {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; letter-spacing: .3px;
    color: #2a2a2a;
    text-align: center; margin-bottom: 8px;
}
.ph-box-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px; font-weight: 700; color: var(--brand-purple);
    text-align: center; margin-bottom: 34px;
}
.ph-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.ph-cell { padding: 18px 30px; border-left: 1px solid #e6e6e6; }
.ph-cell:nth-child(3n+1) { border-left: none; padding-left: 0; }
.ph-cell:nth-child(n+4) { border-top: 1px solid #e6e6e6; padding-top: 26px; }
.ph-num {
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(28px, 3vw, 40px); font-weight: 800;
    color: var(--brand-purple); line-height: 1.05; margin-bottom: 10px;
}
.ph-num .cur { font-size: 0.6em; font-weight: 600; vertical-align: 0.12em; margin-right: 2px; }
.ph-num .unit { font-size: 0.4em; font-weight: 500; color: #777; }
.ph-label { font-family: 'Noto Sans', sans-serif; font-size: 15px; color: #444; line-height: 1.4; }
.ph-box-cta { text-align: center; margin-top: 34px; }

/* ---- Desktop scroll animation states ---- */
@media (min-width: 1026px) {
    .ph-section { padding: 0; }
    .ph-headwrap { height: 100vh; flex-wrap: nowrap; gap: 0; position: relative; z-index: 4; }
    /* Each word fills half the width and hugs the centre with a small equal
       gap — words sit together at the start, then split symmetrically and the
       reveal image grows from the exact centre with equal space on both sides. */
    .ph-t1 { flex: 1; text-align: right; padding-right: 10px; white-space: nowrap; }
    .ph-t2 { flex: 1; text-align: left;  padding-left: 10px;  white-space: nowrap; }
    .ph-img {
        position: absolute; inset: 0; margin: 0; max-width: none;
        height: 100vh; width: 100%; z-index: 2;
        transform: scale(0); opacity: 0;
    }
    .ph-img img { height: 100%; object-fit: cover; object-position: center; border-radius: 0; }
    .ph-databox-wrap {
        position: absolute; left: 50%; transform: translateX(-50%);
        bottom: 40px; width: 100%; margin: 0; z-index: 6; opacity: 0;
    }
    .ph-databox { padding: 36px 90px; }
    /* white text over the darkened image */
    .ph-eyebrow { color: rgba(255, 255, 255, 0.9); }
    .ph-box-title { color: #fff; }
    .ph-num { color: #fff; }
    .ph-num .cur { color: #fff; }
    .ph-num .unit { color: rgba(255, 255, 255, 0.8); }
    .ph-label { color: rgba(255, 255, 255, 0.9); }
    .ph-cell { border-left-color: rgba(255, 255, 255, 0.28); }
    .ph-cell:nth-child(n+4) { border-top-color: rgba(255, 255, 255, 0.28); }
    .ph-box-cta .cta-read-more { color: #fff; border-color: #fff; }
    .ph-box-cta .cta-read-more:hover { background: #fff; color: var(--brand-blue); }
}

/* ============================================================
   ABOUT AEL  (scroll-driven: text rises, image grows fullscreen)
   Base = mobile/static. Desktop animation in @media + js/app.js.
   ============================================================ */
.about-section {
    position: relative;
    background: rgb(239, 234, 225);
    overflow: hidden;
    min-height: 100vh;
}
.about-section > .container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 100vh;
}
.about-content {
    width: 50%;
    display: flex; flex-direction: column; align-items: flex-start;
    padding: 70px 50px 70px 0;
}
.about-label {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #2a2a2a;
    margin-bottom: 16px;
}
.about-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 4.2vw, 40px);
    font-weight: 700; line-height: 1.12; color: var(--brand-purple);
    margin: 0 0 20px;
}
.about-body {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; line-height: 1.6; color: #444;
    margin: 0 0 28px; max-width: 560px;
}
.about-media { position: absolute; top: 0; right: 0; width: 50%; height: 100%; z-index: 1; overflow: hidden; }
.about-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; will-change: transform; }

/* ============================================================
   BUSINESS MODEL — EMPOWERED TO DELIVER VALUE  (capital tabs)
   Each panel sets --cap (its accent). The shared bottom block's
   --cap is updated by JS to follow the active tab.
   ============================================================ */
/* --cap-bg = active-tab / body colour (white so the active tab merges into the white body) */
.bm-section { background: #f4f6f8; padding: 80px 0; --cap-bg: #fff; }
.bm-eyebrow {
    display: block; text-align: center;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    color: #1a1a1a; margin-bottom: 5px;
}
.bm-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px; font-weight: 700; color: var(--brand-purple);
    text-align: center; margin-bottom: 36px;
}
/* optional intro paragraph under the title (used on business-model.html) */
.bm-section .bm-intro {
    text-align: center; max-width: 880px; margin: -18px auto 34px;
    font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.65; color: #555;
}
/* business-model.html: left-aligned heading block (matches the page's original hero) */
.bm-page .bm-section .bm-eyebrow { text-align: left; margin-bottom: 10px; }
.bm-page .bm-section .bm-title { text-align: left; margin-bottom: 20px; }
.bm-page .bm-section .bm-intro {
    text-align: left; max-width: none; margin: 0 0 32px; color: #111;
}

/* Tabs — a coloured indicator slides behind the active tab and, via the two
   curved SVGs, merges smoothly into the coloured body (notched-tab effect). */
.bm-tabs { display: flex; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; gap: 66px; position: relative; z-index: 2; }
.bm-select { display: none; }   /* shown only on mobile (replaces the tab row) */
.bm-tab {
    position: relative; z-index: 1;
    background: none; border: none; cursor: pointer;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 600; color: #2b2b2b;
    padding: 16px 4px; white-space: nowrap;
    transition: color .25s ease;
    letter-spacing: -0.8px;
}
.bm-tab[data-tab="0"] { padding-left: 14px; }
.bm-tab:last-of-type { padding-right: 14px; }
.bm-tab:not(.is-active):hover { color: #000; }
.bm-tab.is-active { color: var(--brand-purple); }

.bm-indicator {
    position: absolute; top: 0; left: 0; height: 100%; z-index: 0;
    background: var(--cap-bg);
    transition: transform .55s cubic-bezier(.77, 0, .18, 1),
                width .55s cubic-bezier(.77, 0, .18, 1),
                background .3s ease;
}
.bm-indicator svg { position: absolute; bottom: 0; height: 100%; width: auto; }
.bm-indicator svg path { fill: var(--cap-bg); transition: fill .3s ease; }
.bm-ind-l { right: 98%; }
.bm-ind-r { left: 98%; }
.bm-indicator.is-first { border-top-left-radius: 14px; }
.bm-indicator.is-first .bm-ind-l { display: none; }

/* Content body block — white card; the purple tab indicator sits on top of it */
.bm-body {
    background: #fff;
    border-radius: 20px;
    padding: 30px 40px 30px;
    color: #2b2d42;
    position: relative; z-index: 1;
    box-shadow: 0 6px 24px rgba(43, 45, 66, .06);
    transition: background .3s ease;
}
/* square the top-left corner so the first (left-most) tab connects flush to the body */
.bm-section.cap-first .bm-body { border-top-left-radius: 0; }

.bm-panel { display: none; }
.bm-panel.is-active { display: block; }

.bm-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.bm-head-left { display: flex; align-items: center; gap: 16px; }
.bm-icon { width: 52px; height: 52px; object-fit: contain; filter: brightness(0) invert(1); }
.bm-cap-title {
    font-family: 'Playfair Display', serif;
    font-size: 30px; font-weight: 700; color: #fff;
    text-transform: uppercase; letter-spacing: .5px;
}
.bm-sdg { height: 54px; width: auto; object-fit: contain; flex-shrink: 0; display:none; }

/* Input / Outcomes boxes (translucent on the coloured block) */
.bm-io {
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    border: 1px solid rgba(255,255,255,.4); border-radius: 10px; overflow: hidden;
    margin-bottom: 34px;
}
/* Outcomes column — stats stacked one below another */
.bm-out { display: inline-block; vertical-align: top; margin: 0 24px 0 0; }
.bm-out:last-child { margin-right: 0; }
.bm-out-num { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 800; color: #fff; line-height: 1.1; }
.bm-out-lbl { font-size: 14px; color: rgba(255,255,255,.88); margin-top: 3px; }
.bm-io-col { padding: 22px 22px; }
.bm-io-col + .bm-io-col { border-left: 1px solid rgba(255,255,255,.4); }
.bm-io-label {
    display: block; font-family: 'Noto Sans', sans-serif;
    font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(255,255,255,.75); margin-bottom: 16px;
}
.bm-io-col ul { list-style: none; margin: 0; padding: 0; }
.bm-io-col li {
    position: relative; padding-left: 18px; margin-bottom: 10px;
    font-size: 15px; line-height: 1.5; color: #fff;
}
.bm-io-col li:last-child { margin-bottom: 0; }
.bm-io-col li::before {
    content: ""; position: absolute; left: 0; top: 8px;
    width: 6px; height: 6px; border-radius: 50%; background: #fff;
}
.bm-out-m
{
    margin-top: 20px;
}
/* Shared bottom block — outcomes (left) + business model (right) */
.bm-block-label { margin-bottom: 16px; color: rgba(255,255,255,.78); }
.bm-bottom-grid {
    display: grid; grid-template-columns: minmax(300px, 360px) 1fr;
    gap: 25px; align-items: start; margin-bottom: 30px;
}
/* When the active capital has no SDG, the business model takes the full row */
#businessModel.bm-no-sdg .bm-bottom-grid { grid-template-columns: 1fr; }
/* SDG Alignment block (replaces outcomes in the shared bottom) */

.bm-sdg-box img { max-width: 100%; height: auto; display: block; }

/* Both outcome numbers in ONE box, split by a divider */
.bm-stats {
    display: flex;
    background: rgba(255,255,255,.14);
    border-left: 4px solid #fff;
    border-radius: 10px;
    overflow: hidden;
}
.bm-stat { flex: 1; padding: 22px 20px; }
.bm-stat + .bm-stat { border-left: 1px solid rgba(255,255,255,.28); }
.bm-stat-num { font-family: 'Noto Sans', sans-serif; font-size: 28px; font-weight: 800; color: #fff; line-height: 1.1; }
.bm-stat-label { font-size: 14px; color: rgba(255,255,255,.88); margin-top: 4px; }

/* Business & operating model icons (white), to the right of outcomes */
.bm-model { display: flex; flex-wrap: wrap; gap: 22px 5px; align-items: flex-start; }
.bm-model-item {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    width: 100px; text-align: center; text-decoration: none; transition: transform .2s;
}
.bm-model-item:hover { transform: translateY(-3px); }
.bm-model-item img { width: 46px; height: 46px; object-fit: contain; filter: brightness(0) invert(1); }
.bm-model-item span { font-size: 13px; color: #fff; line-height: 1.3; }

/* Read More on the coloured block → white outline */
.bm-cta { text-align: left; }
.bm-body .cta-read-more { color: #fff; border-color: #fff; background: transparent; }
.bm-body .cta-read-more:hover { background: #fff; color: var(--cap-bg); }

/* ---- NDTV panels: Key Strengths / Business Model / Outcomes (white cards on the coloured body) ---- */
/* Key Strengths — icon + text cards */
.bm-ks-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bm-ks-card {
    display: flex; align-items: center; gap: 16px;
    background: #9ddcf9; padding: 18px 20px;
}
.bm-ks-card img { width: 52px; height: 52px; flex-shrink: 0; object-fit: contain; }
.bm-ks-card span {
    font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 600;
    color: #2b2d42; line-height: 1.4;
}

/* NDTV Business Model — intro text + strategic priority cards */
.bm-nt { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 34px; align-items: start; }
.bm-nt-title {
    font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 700;
    color: #46c3d4; margin-bottom: 16px;
}
.bm-nt-desc { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.65; color: #4a4a5a; }
.bm-nt-sub {
    display: block;  font-size: 20px; font-weight: 700;
    color: #9c8dc3; margin-bottom: 16px;
}
.bm-nt-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
/* Directional arrow icon centred over the 4 priority cards */
.bm-nt-arrow {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    z-index: 3; pointer-events: none;
    width: 72px; height: 72px;
    display: flex; align-items: center; justify-content: center;
}
.bm-nt-arrow img { width: 100%; height: 100%; object-fit: contain; }
.bm-nt-card {
    display: flex; flex-direction: column; gap: 12px;
    background: #5e74b0; border-radius: 12px; padding: 20px;
}
.bm-nt-card img { width: 44px; height: 44px; object-fit: contain; filter: brightness(0) invert(1); }
.bm-nt-card span {
    font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 600;
    color: #fff; line-height: 1.4;
}

/* Outcomes — no card background; icon + heading sits on a light-blue band */
.bm-oc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px 16px; }
.bm-oc-card { background: none; border: none; border-radius: 0; padding: 0; }
.bm-oc-head {
    display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
    background: linear-gradient(90deg, #d5eef2 0%, #ffffff 100%);
    padding: 12px 16px; border-radius: 8px;
}
.bm-oc-head img { width: 42px; height: 42px; object-fit: contain; flex-shrink: 0; }
.bm-oc-head h4 {
    font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700;
    color: #2b2d42; line-height: 1.25;
}
.bm-oc-intro { font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 600; color: #2b2d42; margin: 0 0 8px; padding-left: 4px; }
.bm-oc-card ul { list-style: none; margin: 0; padding: 0; }
.bm-oc-card li {
    position: relative; padding-left: 16px; margin-bottom: 8px;
    font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #4a4a5a;
}
.bm-oc-card li:last-child { margin-bottom: 0; }
.bm-oc-card li::before {
    content: ""; position: absolute; left: 0; top: 8px;
    width: 5px; height: 5px; border-radius: 50%; background: var(--brand-purple);
}
.bm-oc-card li strong { color: #2b2d42; font-weight: 800; }
/* NDTV image fills the empty cells in the last row */
.bm-oc-img { grid-column: span 2; display: flex; align-items: center; justify-content: center; }
.bm-oc-img img { max-width: 100%; height: auto; object-fit: contain; }

@media (max-width: 991px) {
    .bm-ks-grid, .bm-oc-grid { grid-template-columns: repeat(2, 1fr); }
    .bm-nt { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 600px) {
    .bm-ks-grid, .bm-oc-grid, .bm-nt-grid { grid-template-columns: 1fr; }
    .bm-oc-img { grid-column: auto; }
}

/* Gradient footer banner — two segments with a centred arrow on top */
.bm-footer { position: relative; display: flex; align-items: stretch; margin-top: 26px; }
.bm-footer-seg {
    flex: 1; display: flex; align-items: center; justify-content: center;
    min-height: 64px; padding: 16px 46px;
}
.bm-footer-seg span {
    font-family: 'Noto Sans', sans-serif; font-weight: 700;
    font-size: 16px; letter-spacing: .06em; text-transform: uppercase;
    color: #fff; text-align: center; line-height: 1.3;
}
.bm-footer-left {
    background: linear-gradient(90deg, #9ddaf7 0%, #9c93c7 100%);
    border-radius: 12px 0 0 12px;
}
.bm-footer-right {
    background: linear-gradient(90deg, #9dd7f5 0%, #9c93c7 100%);
    border-radius: 0 12px 12px 0;
}
/* Centred right-pointing arrow (its own element, positioned over the seam) */
.bm-footer-arrow {
    position: absolute;
    left: 0;
    top: 0;
    background: #8f86c0;
    width: 25px;
    height: 25px;
    transform: rotate(45deg);
    right: 0;
    bottom: 0;
    margin: auto;
}
@media (max-width: 600px) {
    .bm-footer { flex-direction: column; gap: 8px; }
    .bm-footer-seg { padding: 14px 20px; min-height: 54px; }
    .bm-footer-left, .bm-footer-right { border-radius: 12px; }
    .bm-footer-arrow { display: none; }
}

/* ============================================================
   OUR STRATEGY — animated image-stack slider (Yes Bank style)
   ============================================================ */
.yb-slider {
    --font-body: 'Noto Sans', sans-serif;
    --font-heading: 'Playfair Display', serif;
    --yb-white: #fff;
    --yb-gold: #c79a4b;
    position: relative; width: 100%; height: 100vh; overflow: hidden;
    display: flex; flex-direction: column; z-index: 2;
    background-color: #1a3a6b;
    transition: background-color 1.2s ease;
}
/* Wrap = Bootstrap container (aligns content with the header), 16px gutter */
.yb-slider__wrap { flex: 1; display: flex; flex-direction: column; min-height: 0; width: 100%; padding-top: 90px; padding-bottom: 36px; padding-left: 16px; padding-right: 16px; }
.yb-slider__body { flex: 1; display: flex; flex-direction: column; padding: 0; min-height: 0; position: relative; }

/* LEFT */
.yb-slider__left { display: flex; flex-direction: column; flex: 1; min-height: 0; position: relative; z-index: 4; justify-content: center; }
.yb-slider__label { font-family: var(--font-body); font-size: 18px; font-weight: 700; color: rgba(255,255,255,.85); margin-bottom: 16px; }
.yb-slider__title { font-family: var(--font-heading); font-size: clamp(30px, 4vw, 40px); font-weight: 800; color: var(--yb-white); line-height: 1.15; overflow: hidden; position: relative; margin-bottom: 24px; }
.yb-slider__title span { display: inline-block; will-change: transform; }
.yb-slider__footer { flex-shrink: 0; }
.yb-slider__desc { font-family: var(--font-body); font-size: 15px; color: rgba(255,255,255,.7); line-height: 1.7; max-width: 440px; margin-bottom: 24px; }
/* Read More button (matches other sections), white variant for the dark bg */
.yb-slider .cta-read-more { color: #fff; border-color: #fff; background: transparent; }
.yb-slider .cta-read-more:hover { background: #fff; color: #1a3a6b; }

/* RIGHT (image stack) */
.yb-slider__right { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.yb-slider__images { width: 100%; height: 100%; position: relative; }
.yb-slider__slide { position: absolute; top: 50%; right: 0; left: auto; width: 55%; aspect-ratio: 1.4; overflow: hidden; border-radius: 12px; will-change: transform, filter, opacity; }
.yb-slider__slide img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.9); }

/* NAV */
.yb-slider__nav { align-self: flex-end; margin-top: 20px; display: flex; align-items: center; gap: 16px; z-index: 5; }
.yb-slider__arrow { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: none; color: var(--yb-white); font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .3s ease, border-color .3s ease; }
.yb-slider__arrow:hover { background: var(--yb-gold); border-color: var(--yb-gold); }
.yb-slider__counter-display { font-family: var(--font-body); font-size: 13px; font-weight: 500; color: rgba(255,255,255,.6); letter-spacing: .1em; }

/* Desktop: title left, images right */
@media (min-width: 1024px) {
    .yb-slider__body { flex-direction: row; padding: 0; }
    .yb-slider__left { width: 50%; flex-shrink: 0; }
    .yb-slider__right { position: static; flex: 1; display: flex; align-items: center; justify-content: flex-end; min-height: 0; pointer-events: auto; }
    .yb-slider__images { display: flex; align-items: center; justify-content: flex-end; }
    .yb-slider__slide { width: 80%; right: 0; left: auto; }
}
@media (max-width: 767.98px) {
    .yb-slider__wrap { padding-top: 40px; }
    .yb-slider__title { font-size: clamp(24px, 9vw, 40px); }
    .yb-slider__slide { width: 90%; left: 0; margin: auto; }
    .yb-slider__desc { display: none; }
    .yb-slider__title
    {
        margin-bottom: 15px;
    }
}
/* ============================================================
   STACKED SCROLL (Marquee Events) — sticky full-screen panels.
   Each panel pins (position:sticky); the next slides up over it while
   JS scales + blurs + dims the one below. No GSAP needed.
   ============================================================ */
.stack { position: relative; }
.stack-panel {
    position: sticky; top: 0; height: 100vh;
    overflow: visible;                     /* don't clip the scaling card */
}
/* the card JS scales + blurs — rounded on all corners so it never looks cut */
.sp-scale {
    position: absolute; inset: 0;
    transform-origin: center;
 overflow: hidden;
    will-change: transform, filter, opacity;
}
.sp-bg {
    position: absolute; inset: 0;
    background: #2b0f3a center / cover no-repeat;
}
#stack-momentum  .sp-bg { background-image: url("../images/one-year.png"); }
#stack-platforms .sp-bg { background-image: url("../images/platforms.png"); }
#stack-reality   .sp-bg { background-image: url("../images/navigating.png"); }
#stack-purpose   .sp-bg { background-image: url("../images/purpose.png"); }
/* dark wash at the bottom for text legibility (top of the photo stays clear) */
.sp-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top,
        rgba(0,0,0,.9) 0%, rgba(0,0,0,.7) 30%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 80%);
}
.sp-content {
    position: absolute; inset: 0; z-index: 2;
    display: flex; align-items: flex-end;
    padding: clamp(40px, 7vh, 80px) 0; color: #fff;
}
.sp-content > .container { width: 100%; }
.sp-eyebrow {
    display: block; font-family: 'Noto Sans', sans-serif;
    text-transform: uppercase; font-weight: 700; font-size: 13px;
    letter-spacing: .14em; color: #d3a4e6; margin-bottom: 12px;
}
.sp-title {
    font-family: 'Playfair Display', serif; font-weight: 700;
    color: #fff; font-size: clamp(28px, 4vw, 42px); line-height: 1.15; margin-bottom: 14px;
}
.sp-intro {
    max-width: 720px; color: rgba(255,255,255,.9);
    font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 26px; margin-bottom: 24px;
}
/* Read More on the dark photo → white outline */
.sp-cta.cta-read-more { color: #fff; border-color: #fff; background: transparent; }
.sp-cta.cta-read-more:hover { background: #fff; color: var(--brand-purple); }
@media (max-width: 767px) {
    .sp-scale { border-radius: 18px; }
    .sp-title { font-size: 26px; }
    .sp-intro { font-size: 15px; line-height: 24px; }
}

/* ============================================================
   ESG — full-screen background image with left heading
   ============================================================ */
.esg-section {
    position: relative;
    min-height: 100vh;
    background: url('../images/esg-img.png') center center / cover no-repeat;
    display: flex;
    align-items: center;
}
.esg-section .container { width: 100%; }
.esg-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
    margin: 0;
}
@media (max-width: 767.98px) {
    .esg-section { min-height: 80vh; }
    .esg-title { font-size: clamp(28px, 8vw, 42px); }
}

/* ============================================================
   ESG FOCUS AREAS — vertical parallax slider (Swiper 11)
   ============================================================ */
.esg-slider-section { background: #fff; padding: 70px 0; }
.upk-salf-slider-wrapper {
    display: flex; flex-direction: row; position: relative;
    background: #fff; box-shadow: 0 5px 24px rgba(0,0,0,.08);
    border-radius: 10px; overflow: hidden;
    height: 400px; padding: 30px 0 30px 30px;
}
.upk-salf-slider-wrapper .swiper { flex: 1 1 auto; width: 100%; min-width: 0; height: 100%; }
.upk-salf-item { position: relative; display: flex; flex-direction: row-reverse; }
.upk-salf-item.swiper-slide-active .upk-salf-eyebrow,
.upk-salf-item.swiper-slide-active .upk-salf-title,
.upk-salf-item.swiper-slide-active .upk-salf-desc,
.upk-salf-item.swiper-slide-active .upk-salf-button { opacity: 1; }
.upk-salf-image-wrap { height: 100%; width: 100%; }
.upk-xanc-img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
.upk-salf-content-wrap {
    position: absolute; left: 0; bottom: 0; top: unset; max-width: 460px;
    overflow: hidden; background: rgba(255,255,255,.55);
    backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);
    transition: backdrop-filter .9s; padding: 20px; border-radius: 8px;
}
.upk-salf-eyebrow {
    display: block; font-family: 'Noto Sans', sans-serif;
    font-size: 14px; font-weight: 700; letter-spacing: .04em;
    color: #2b2d42; margin-bottom: 10px; opacity: 1;
}
.upk-salf-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(24px, 3vw, 40px); font-weight: 700; line-height: 1.2;
    color: var(--brand-purple); margin-bottom: 18px; opacity: 1;
}
.esg-slider-section .upk-salf-title
{
    color: #8e278f;
}
.upk-salf-desc {
    font-family: 'Noto Sans', sans-serif;
    color: #656565; font-size: 14px; line-height: 1.6; margin-bottom: 20px; opacity: 1;
}
.upk-salf-button { opacity: 1; }
.upk-salf-button .link {
    font-family: 'Noto Sans', sans-serif;
    color: #2b2d42; cursor: pointer; font-weight: 500; text-decoration: none;
    font-size: 14px; transition: color .3s ease;
}
.upk-salf-button .link:hover { color: var(--brand-purple); }
.link--arrowed { display: inline-flex; align-items: center; gap: 8px; }
.link--arrowed .arrow-icon { transition: transform .3s ease; }
.link--arrowed .arrow-icon--circle { transition: stroke-dashoffset .3s ease; stroke-dasharray: 95; stroke-dashoffset: 95; }
.link--arrowed g { stroke: currentColor; color: #2b2d42; }
.link--arrowed:hover .arrow-icon { transform: translate3d(5px, 0, 0); }
.link--arrowed:hover .arrow-icon--circle { stroke-dashoffset: 0; }
.link--arrowed:hover g { color: var(--brand-purple); }

/* Right-side rail: circular up/down arrows (same style as other sections) */
.upk-salf-nav-pag-wrap { position: absolute; top: 0; right: 0; height: 100%; width: 76px; display: flex; align-items: center; justify-content: center; }
.upk-salf-navigation { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.esg-counter {
    display: flex; flex-direction: column; align-items: center; gap: 2px; line-height: 1.1;
    font-family: 'Noto Sans', sans-serif; color: #2b2d42;
}
.esg-counter .esg-cur { font-size: 15px; font-weight: 700; }
.esg-counter .esg-sep {
    font-size: 0;                                  /* hide the dash glyph */
    width: 18px; height: 1px; margin: 3px 0;
    background: rgba(43, 45, 66, .4);
}
.esg-counter .esg-total { font-size: 13px; color: rgba(43, 45, 66, .6); }
.upk-button-prev, .upk-button-next {
    width: 50px; height: 50px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: transparent; cursor: pointer;
    border: 1.5px solid #c9c2d6; color: var(--brand-purple);
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.upk-button-prev:hover, .upk-button-next:hover { background: var(--brand-purple); border-color: var(--brand-purple); color: #fff; }
.upk-button-prev.swiper-button-disabled, .upk-button-next.swiper-button-disabled { opacity: .35; cursor: default; }
.upk-button-prev.swiper-button-disabled:hover, .upk-button-next.swiper-button-disabled:hover { background: transparent; color: var(--brand-purple); border-color: #c9c2d6; }

@media (min-width: 768px) {
    .upk-salf-slider-wrapper { height: 550px; padding: 60px 0 60px 60px; }
    .upk-salf-title { font-size: 36px; }
    .upk-salf-content-wrap { max-width: 400px; padding: 40px; padding-left: 0; top: 50%; transform: translateY(-50%); bottom: unset; background: rgba(255,255,255,.55); }
    .upk-salf-image-wrap { width: 86%; }
}
@media (min-width: 1024px) {
    .upk-salf-slider-wrapper { height: 600px; padding: 70px; }
    .upk-salf-title { font-size: 40px; }
    .upk-salf-content-wrap { max-width: 460px; padding: 50px; padding-left: 0; }
    .upk-salf-desc { font-size: 16px; }
    .upk-salf-button .link { font-size: 16px; }
    .upk-salf-image-wrap { width: 84%; }
}
/* ============================================================
   DOWNLOAD CENTRE
   ============================================================ */
.dc-section {
    background: linear-gradient(90deg, #1565C0 0%, #7B2FA8 50%, #C01535 100%);
    padding: 70px 0 64px;
}
.dc-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px; font-weight: 700; color: #fff;
    text-align: center; margin-bottom: 44px;
}
.dc-grid {
    display: grid;
    grid-template-columns: 1fr 240px 1fr;
    border: 1px solid rgba(255, 255, 255, .35);
}
.dc-col-left, .dc-center { border-right: 1px solid rgba(255, 255, 255, .35); }

.dc-item {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 30px 30px; min-height: 100px;
    color: #fff; text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
    transition: background .25s ease;
}
.dc-col-left .dc-item:last-child, .dc-col-right .dc-item:last-child { border-bottom: none; }
.dc-item span { font-family: 'Noto Sans', sans-serif; font-size: 17px; font-weight: 600; }
.dc-item svg { width: 24px; height: 24px; flex-shrink: 0; opacity: .9; transition: transform .25s ease; }
.dc-item:hover { background: rgba(255, 255, 255, .08); }
.dc-item:hover svg { transform: translateY(3px); }

.dc-center {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 30px 18px;
}
.dc-center img { width: 168px; height: auto; display: block; box-shadow: 0 8px 22px rgba(0, 0, 0, .3); }
.dc-caption { color: #fff; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 600; line-height: 1.45; margin-top: 18px; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
    background-image: linear-gradient(rgba(0,0,0,.28), rgba(0,0,0,.28)),
                      linear-gradient(90deg, #1565C0 0%, #7B2FA8 50%, #C01535 100%);
    padding: 26px 0;
}
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.footer-copy, .footer-credit { color: rgba(255, 255, 255, .9); font-family: 'Noto Sans', sans-serif; font-size: 14px; margin: 0; }
.footer-social { display: flex; align-items: center; gap: 16px; }
.footer-social-label { color: #fff; font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 600; margin-right: 6px; }
.footer-social a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 6px;
    background: rgba(255, 255, 255, .12); color: #fff; font-size: 15px;
    transition: background .25s ease;
}
.footer-credit a
{
    color: #fff;
}
.footer-social a:hover { background: rgba(255, 255, 255, .28); }
/* ============================================================
   INFRASTRUCTURE PLATFORM CONTRIBUTION — auto tab slider
   ============================================================ */
.ipc-section {
    background: linear-gradient(90deg, #1565C0 0%, #7B2FA8 50%, #C01535 100%);
    padding: 70px 0 52px;
}
.ipc-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 3.4vw, 40px); font-weight: 700;
    color: #fff; text-align: center; line-height: 1.2; margin-bottom: 36px;
}
.ipc-card {
    max-width: 820px; margin: 0 auto;
    background: #fff; border-radius: 16px;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .22);
    padding: 26px 34px 24px;
}
.ipc-card-head { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #e3e3e3; }
.ipc-fy { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: #222; }
.ipc-unit { font-family: 'Noto Sans', sans-serif; font-size: 12px; color: #9a9a9a; }
.ipc-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #ececec; }
.ipc-row-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #333; }
.ipc-row-val { font-family: 'Noto Sans', sans-serif; font-size: clamp(26px, 3vw, 34px); font-weight: 800; color: var(--brand-purple); letter-spacing: .5px; }
.ipc-note { font-family: 'Noto Sans', sans-serif; font-size: 11.5px; line-height: 1.55; color: rgba(142, 39, 143, .7); margin-top: 16px; }

/* Tabs with progress bars */
.ipc-tabs { display: flex; gap: 8px; margin-top: 34px; }
.ipc-tab {
    flex: 1; min-width: 0; background: none; border: none; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    padding: 6px 4px 0;
    font-family: 'Noto Sans', sans-serif; font-size: 13px; font-weight: 600;
    letter-spacing: .5px; text-transform: uppercase;
    color: rgba(255, 255, 255, .7); transition: color .25s ease;
}
.ipc-tab:hover { color: #fff; }
.ipc-tab.is-active { color: #fff; }
.ipc-tab-label { white-space: nowrap; }
.ipc-tab-bar { width: 100%; height: 3px; background: rgba(255, 255, 255, .3); border-radius: 2px; overflow: hidden; }
.ipc-tab-fill { display: block; height: 100%; width: 0; background: #fff; border-radius: 2px; }
/*-----------Header Css End-------------*/

/* ============================================================
   ACCELERATING INFRASTRUCTURE POPUP
   ============================================================ */
.ai-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.72);
    display: flex;
    align-items: stretch;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}
.ai-popup-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
/* Full-screen panel with the PDF's soft blue gradient */
.ai-popup-panel {
    position: relative;
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    background: linear-gradient(135deg, #ffffff 0%, #eaf6fc 45%, #d6eefa 100%);
    border-radius: 0;
    overflow: hidden;
    transform: translateY(100%);
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    display: flex;
    flex-direction: column;
}
.ai-popup-overlay.is-open .ai-popup-panel {
    transform: translateY(0);
}

/* Close button */
.ai-close {
    position: absolute;
    top: 22px;
    right: 26px;
    z-index: 10;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1.5px solid rgba(0,0,0,0.18);
    background: rgba(255,255,255,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #333;
    transition: background 0.2s, color 0.2s;
}
.ai-close:hover { background: var(--brand-purple); color: #fff; border-color: var(--brand-purple); }

/* Scroll container */
.ai-popup-inner {
    overflow-y: auto;
    overflow-x: hidden;
    height: 100vh;
    max-height: 100vh;
    padding: 36px 60px 40px;
    -webkit-overflow-scrolling: touch;
}

/* Two-column grid: media+person box (left) | all text (right) */
.ai-grid {
    display: grid;
    grid-template-columns: 0.85fr 1fr;
    gap: 50px;
    align-items: start;
}

/* Title column — dark charcoal title with purple underline (as per PDF) */
.ai-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 3.2vw, 46px);
    font-weight: 700;
    line-height: 1.1;
    color: #2b2b2b;
    margin-bottom: 22px;
    padding-bottom: 22px;
    position: relative;
}
.ai-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 70px;
    height: 2px;
    background: var(--brand-purple);
}
/* Subhead — same grey body style, NOT highlighted (as per PDF) */
.ai-subhead {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #555;
    line-height: 1.7;
    margin-bottom: 16px;
}
.ai-body {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin-bottom: 16px;
}
.ai-body:last-child { margin-bottom: 0; }

/* Left media column */
.ai-col-media { position: relative; }
.ai-visual {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    height: 330px;
}
.ai-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    display: block;
    filter: grayscale(30%);
}
.ai-visual-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(142,39,143,0.18) 0%, rgba(0,109,183,0.12) 100%);
    pointer-events: none;
}
.ai-grid-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    mix-blend-mode: screen;
}

/* Person card — clean white box with purple border (as per PDF) */
.ai-person-card {
    margin-top: 22px;
    border: 1.5px solid var(--brand-purple);
    border-radius: 10px;
    padding: 22px 24px;
    background: rgba(255, 255, 255, 0.55);
}
.ai-person-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(142,39,143,0.2);
    margin-bottom: 14px;
}
.ai-person-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #2b2b2b;
}
.ai-person-role {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    color: #555;
    line-height: 1.5;
}
.ai-person-bio {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    line-height: 1.65;
    color: #333;
    margin: 0;
}

/* ============================================================
   PORTFOLIO PAGE — A LEGACY OF VISION, LEADERSHIP & NATIONHOOD
   ============================================================ */
.pl-section {
    background: #fff;
    padding: 130px 0 80px;
}
.pl-label {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 14px;
}
.pl-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.12;
    color: var(--brand-purple);
    margin-bottom: 44px;
}

/* Intro lead paragraph (no background, aligned to the heading) */
.pl-intro-box {
    padding: 0;
    margin-bottom: 50px;
}
.pl-intro-box p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 600;
    color: var(--brand-blue);
    margin: 0;
}

/* Guided-by paragraphs (left) + bird image (right) */
.pl-guided-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    margin-bottom: 60px;
}
.pl-guided-text p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.75;
    color: #444;
    margin: 0 0 18px;
}
.pl-guided-text p:last-child { margin-bottom: 0; }
.pl-guided-media {
    border-radius: 14px;
    overflow: hidden;
}
.pl-guided-media img {
    width: 100%;
    height: auto;
    display: block;
}

/* Pedigree, Vision + Values, Culture — stacked one below the other */
.pl-pvc-row {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
/* Vision+Values and Culture side by side */
.pl-pvc-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 44px;
    align-items: start;
}
.pl-col img{
    margin-bottom: 30px;
}
.pl-col-title {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 16px;
}
.pl-col-title + .pl-list,
.pl-col-body + .pl-col-title { margin-top: 26px; }
.pl-title-purple { color: var(--brand-purple); }
.pl-title-blue { color: #00aeef; }
.pl-col-body {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.75;
    color: #444;
    margin: 0;
}
.pl-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.pl-list li {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 14px;
}
.pl-list li:last-child { margin-bottom: 0; }
.pl-list li strong { color: #1a1a1a; font-weight: 700; }

/* ---- A portfolio invested in India's tomorrow (text left, image right) ---- */
.pf-tomorrow { background: #eef6fb; overflow: hidden; }
.pf-tomorrow-grid {
    display: grid;
    grid-template-columns: 2fr 3fr;   /* image gets the larger share */
    align-items: stretch;
    gap: 50px;
    min-height: 88vh;
}
.pf-tomorrow-text {
    display: flex; flex-direction: column; justify-content: center;
    padding: 70px 0;
}
.pf-tomorrow-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 3.6vw, 50px);
    font-weight: 700; line-height: 1.12; color: var(--brand-purple);
    margin-bottom: 34px;
}
.pf-tomorrow-pillars {
    display: flex; flex-direction: column;
    gap: 22px;
}
.pf-pillar span {
    display: inline-block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 19px; font-weight: 600; color: #1a1a1a; line-height: 1.4;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--brand-blue);
}
.pf-tomorrow-media {
    position: relative;   /* aligns to the container (menu) right edge */
}
.pf-tomorrow-media img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
}

/* ---- Built Around Core Infrastructure chart ---- */
.pf-chart-section { background: #fff; padding: 80px 0; }
.pf-sec-title {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    font-weight: 700; color: var(--brand-purple);
    margin-bottom: 16px;
}
.pf-sec-intro {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444;
    max-width: 880px; margin-bottom: 40px;
}
.pf-chart-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
.pf-chart { min-width: 980px; }
/* Company-structure chart as a single SVG */
.pf-chart-img { margin: 8px 0 24px; }
.pf-chart-img img { width: 100%; max-width: 1040px; height: auto; display: block; }

/* adani logo centred over a thin rule */
.pf-chart-logo {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
}
.pf-chart-logo::before {
    content: ""; position: absolute; left: 16%; right: 16%; top: 50%;
    height: 1px; background: #d6d6d6;
}
.pf-chart-logo img { height: 38px; position: relative; background: #fff; padding: 0 24px; }

/* Group banners aligned to the 5-column grid */
.pf-chart-banners {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.pf-banner {
    position: relative;
    background: var(--brand-purple);
    color: #fff;
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; font-weight: 700;
    text-align: center;
    padding: 12px 10px;
    border-radius: 3px;
}
.pf-banner-flagship { grid-column: 1; }
.pf-banner-core     { grid-column: 2 / 4; }
.pf-banner-primary  { grid-column: 4; }
.pf-banner-other    { grid-column: 5; }
/* blue right-pointing arrow sitting in the gap after the banner */
.pf-banner-arrow {
    position: absolute; right: -13px; top: 50%; transform: translateY(-50%);
    width: 0; height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 12px solid var(--brand-blue);
}

/* Column heads + top tier (5-column grid) */
.pf-chart-cols {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    align-items: start;
}
.pf-chart-heads { margin-bottom: 16px; }
/* stretch top columns to equal height so the AEL connector can run full length */
.pf-chart-top { align-items: stretch; }
.pf-chart-top .pf-chart-col:first-child { position: relative; }
.pf-chart-top .pf-chart-col:first-child::after {
    content: ""; position: absolute;
    left: 50%; top: 82px; bottom: -16px;
    border-left: 2px solid var(--brand-blue);
}
.pf-col-head {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: var(--brand-blue);
    text-align: center; line-height: 1.25;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--brand-blue);
}
.pf-node {
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    border-radius: 6px;
    padding: 12px 10px;
    margin-bottom: 14px;
}
.pf-node:last-child { margin-bottom: 0; }
.pf-listed   { background: #dceefb; border: 1.5px solid #2aa6e0; }
.pf-unlisted { background: #ececec; border: 1.5px solid transparent; }
.pf-direct   { background: #fff;    border: 1.5px solid #2aa6e0; }
.pf-node-name { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #1a1a1a; }
.pf-node-sub  { font-family: 'Noto Sans', sans-serif; font-size: 14px; color: #555; margin-top: 2px; }
.pf-node-pct  { font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 600; margin-top: 8px; }
.pf-pct-family { color: var(--brand-purple); }
.pf-pct-ael    { color: #0093d0; }
.pf-pct-ambuja { color: #3a9d3a; }

/* Materials sub-group (ACC + Orient under Ambuja) */
.pf-down-arrow {
    display: block; margin: 0 auto 12px;
    width: 0; height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 9px solid var(--brand-blue);
}
.pf-subgroup {
    border: 1px solid #cfcfcf;
    border-radius: 6px;
    padding: 14px 14px 0;
}

/* Bottom band — bordered box fed by the AEL connector */
.pf-chart-lower {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-top: 16px;
}
.pf-lower-connector { position: relative; }
.pf-lower-connector::before {
    content: ""; position: absolute;
    left: 50%; top: 0; bottom: 50%; width: 50%;
    border-left: 2px solid var(--brand-blue);
    border-bottom: 2px solid var(--brand-blue);
}
.pf-lower-connector::after {
    content: ""; position: absolute;
    right: -2px; bottom: calc(50% - 7px);
    width: 0; height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid var(--brand-blue);
}
.pf-band {
    grid-column: 2 / 6;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #c9c9c9;
    border-radius: 6px;
    padding: 18px 6px;
}
.pf-band-col { padding: 0 12px; }
.pf-band-col + .pf-band-col { border-left: 1px dashed #c2c2c2; }

/* Legend */
.pf-legend {
    display: flex; flex-wrap: wrap; gap: 12px 26px;
    margin: 34px 0 24px;
    font-family: 'Noto Sans', sans-serif; font-size: 14px; color: #444;
}
.pf-legend-item { display: inline-flex; align-items: center; gap: 8px; }
.pf-swatch { width: 26px; height: 16px; border-radius: 3px; display: inline-block; }
.pf-sw-listed { background: #dceefb; }
.pf-sw-unlisted { background: #ececec; }
.pf-sw-direct { background: #fff; border: 1.5px solid #2aa6e0; }

/* Footnotes + abbreviations */
.pf-notes {
    margin: 0 0 18px; padding-left: 20px;
    font-family: 'Noto Sans', sans-serif; font-size: 12.5px; line-height: 1.6; color: #333;
}
.pf-notes li { margin-bottom: 6px; }
.pf-abbr {
    font-family: 'Noto Sans', sans-serif; font-size: 12.5px; line-height: 1.7; color: #333;
}

/* ---- Empowering India's Critical Sectors ---- */
.pf-critical { background: #eef7f3; padding: 80px 0; }
.pf-critical-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700; color: var(--brand-purple); line-height: 1.1;
    white-space: nowrap;
    margin-bottom: 34px;
}
.pf-critical-intro {
    max-width: 620px;
    margin-bottom: 50px;
}
/* Page-10 block: stacked text cards + flamingo image */
.pf-uns-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: stretch;
    margin-bottom: 54px;
}
.pf-uns-textcol { display: flex; flex-direction: column; gap: 24px; }
.pf-uns-media { border-radius: 12px; overflow: hidden; min-height: 320px; }
.pf-uns-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Empowering Critical Sectors — sectors + factory image (image matches sector height) */
.pf-sectors-row {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
    align-items: start;
}
.pf-sectors-media {
    border-radius: 12px;
    background: url('../images/portfolio-critical-plant.jpeg') center center / cover no-repeat;
    height: 300px;
}

/* Enabling India's Rise — plain, left-aligned (no background) */
.pf-enabling {
    padding: 0;
    margin-bottom: 54px;
}
.pf-enabling-title {
    font-family: 'Playfair Display', serif;
    font-size: 28px; font-weight: 700; color: #484848;
    line-height: 1.2; margin-bottom: 12px;
}
.pf-enabling p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0;
}
.pf-sectors-block { margin-bottom: 56px; }
.pf-card-soft {
    background: rgba(255,255,255,0.6);
    border-radius: 12px; padding: 28px 30px;
}
.pf-card-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 22px; font-weight: 700; color: #333; line-height: 1.25;
    margin-bottom: 14px;
}
.pf-card-soft p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0;
}
.pf-critical-grid {
    display: grid; grid-template-columns: 1fr 1.2fr; gap: 44px;
    align-items: start; margin-bottom: 56px;
}
.pf-tick-list { list-style: none; margin: 18px 0 0; padding: 0; }
.pf-tick-list li {
    position: relative; padding-left: 22px; margin-bottom: 12px;
    font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #444;
}
.pf-tick-list li::before {
    content: ""; position: absolute; left: 0; top: 7px;
    width: 8px; height: 8px; border-radius: 50%; background: var(--brand-purple);
}
.pf-card-foot {
    font-family: 'Noto Sans', sans-serif; font-size: 12px; line-height: 1.55;
    color: #888; margin: 18px 0 0;
}
.pf-critical-media { margin-top: 24px; border-radius: 12px; overflow: hidden; }
.pf-critical-media img { width: 100%; height: auto; display: block; }

.pf-block-title {
    font-family: 'Playfair Display', serif;
    font-size: 28px; font-weight: 700;
    color: var(--brand-purple); margin-bottom: 10px;
}
.pf-block-title.pf-title-dark { color: #484848; font-size: 22px; }
.pf-block-sub {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #444; margin-bottom: 26px;
}
.pf-sectors {
    display: grid; grid-template-columns: 1fr 1fr; gap: 26px 34px;
    margin-bottom: 34px;
}
.pf-sector h5 {
    font-family: 'Noto Sans', sans-serif;
    font-size: 17px; font-weight: 700; color: #1a1a1a; margin-bottom: 8px;
}
.pf-sector p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.6; color: #555; margin: 0;
}
.pf-intel { border-top: 1px solid #d6e3dd; padding-top: 24px; }
.pf-intel-title {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 700; color: var(--brand-purple); line-height: 1.25;
    margin-bottom: 12px;
}
.pf-intel p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0;
}

/* Purpose-driven ESG */
.pf-purpose { border-top: 1px solid #d6e3dd; padding-top: 44px; }
.pf-esg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pf-esg { border-radius: 10px; padding: 26px 26px; color: #fff; }
.pf-esg h5 {
    font-family: 'Noto Sans', sans-serif;
    font-size: 19px; font-weight: 700; color: #fff; margin-bottom: 16px;
}
.pf-esg ul { list-style: none; margin: 0; padding: 0; }
.pf-esg li {
    position: relative; padding-left: 18px; margin-bottom: 12px;
    font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.95);
}
.pf-esg li:last-child { margin-bottom: 0; }
.pf-esg li::before {
    content: ""; position: absolute; left: 0; top: 8px;
    width: 6px; height: 6px; border-radius: 50%; background: #fff;
}
.pf-esg li strong { font-weight: 700; color: #fff; }
.pf-esg-env { background: #0b6e6a; }
.pf-esg-soc { background: #1a7fc0; }
.pf-esg-gov { background: #b85a28; }

/* ---- Growing with the Nation (text left, image right) ---- */
.pf-growing-hero { background: #eef6fb; overflow: hidden; }
.pf-growing-grid {
    display: grid;
    grid-template-columns: 2fr 3fr;   /* image gets the larger share */
    align-items: stretch;
    gap: 50px;
    min-height: 88vh;
}
.pf-growing-text {
    display: flex; flex-direction: column; justify-content: center;
    padding: 70px 0;
}
.pf-growing-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 3.6vw, 50px);
    font-weight: 700; line-height: 1.12; color: var(--brand-purple);
    margin: 0;
}
.pf-growing-media {
    position: relative;   /* aligns to the container (menu) right edge */
}
.pf-growing-media img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
}

/* ---- Growing with Impact (metrics) ---- */
.pf-impact { background: #fff; padding: 80px 0; }
.pf-impact-group { padding: 34px 0; border-bottom: 1px solid #e6e6e6; }
.pf-impact-group:first-child { padding-top: 0; }
.pf-impact-head {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 700; color: #1a1a1a; margin-bottom: 26px;
    display: flex; align-items: center; gap: 12px;
}
/* Placeholder icon (design team to replace the SVGs) */
.pf-impact-icon { display: inline-flex; flex-shrink: 0; }
.pf-impact-icon img { height: 40px; width: auto; display: block; }
.pf-impact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px 50px; }
.pf-metric { }
.pf-metric-val {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(26px, 3vw, 36px); font-weight: 800;
    color: var(--brand-purple); line-height: 1.1; margin-bottom: 10px;
}
.pf-metric-val sup { font-size: 0.5em; vertical-align: super; font-weight: 600; }
.pf-metric p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.6; color: #555; margin: 0;
}
.pf-notes-impact { margin-top: 30px; }
.pf-notes-impact p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 12.5px; line-height: 1.6; color: #333; margin: 0 0 6px;
}
.pf-notes-impact p:last-child { margin-bottom: 0; }
.pf-notes-impact sup { font-size: 0.75em; }

/* ============================================================
   DRIVEN BY SYNERGIES, SIGNIFICANCE AND SUSTAINABILITY
   ============================================================ */
/* Hero — text left, larger image bleeding to the right edge */
.syn-hero {  overflow: hidden; padding-top: 110px; }
.syn-eyebrow {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #1a1a1a;
    margin-bottom: 14px;
}
.syn-hero-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 700; line-height: 1.12; color: var(--brand-purple);
    margin: 0 0 24px;
}
.syn-hero-row {
    display: grid; grid-template-columns: 2fr 3fr;   /* image gets the larger share */
    gap: 50px; align-items: stretch; min-height: 480px;
}
.messagebanner .syn-hero-row
{
    grid-template-columns: 1fr 1fr;
}

.messagebanner .syn-hero-row .mfc-quote-card  span
{
    position: relative;
margin-top: 15px;
    display: block;
    padding-top: 10px;
}
.messagebanner .syn-hero-row .mfc-quote-card  span:before
{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 90px;
    height: 3px;
    background: #00aeef;
}
.syn-hero-text { display: flex; flex-direction: column; justify-content: center; padding: 20px 0 40px; }
.syn-hero-img {
    position: relative;   /* aligns to the container (menu) right edge */
}
.syn-hero-img img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover; object-position: center;
    display: block;
}
/* Intro copy below the banner */
.syn-intro { background: #fff; padding: 50px 0 0; }
.syn-intro-copy {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0;
}

/* Company blocks */
.syn-companies { background: #fff; padding: 70px 0 60px; }
/* Per-company colour coding (bar = header colour, accent = metric line/bullet) */
.syn-company { --syn-bar: #8e278f; --syn-accent: #00aeef; }
.syn-company--ael    { --syn-bar: #8e278f; --syn-accent: #00aeef; }
.syn-company--apsez  { --syn-bar: #42408e; --syn-accent: #42408e; }
.syn-company--agel   { --syn-bar: #2f9c6a; --syn-accent: #2f9c6a; }
.syn-company--aesl   { --syn-bar: #107aa1; --syn-accent: #107aa1; }
.syn-company--atgl   { --syn-bar: #007978; --syn-accent: #007978; }
.syn-company--apl    { --syn-bar: #2f2e82; --syn-accent: #2f2e82; }
.syn-company--ambuja { --syn-bar: #7c1f25; --syn-accent: #7c1f25; }
.syn-company--ndtv   { --syn-bar: #3d306d; --syn-accent: #3d306d; }
.syn-company { padding: 44px 0; border-bottom: 1px solid #e6e6e6; }
.syn-company:last-of-type { border-bottom: none; }
.syn-company:first-child { padding-top: 0; }

.syn-company-name {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 700; color: var(--syn-bar);
    margin: 0 0 4px;
}
.syn-company-tag {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 600; color: #333; margin: 0;
}
.syn-company-tag sup { font-size: 0.7em; }

/* Image (left, full height) | heading + metrics (right) */
.syn-company-top {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 40px;
    align-items: stretch; margin-bottom: 34px;
}
.syn-company-media { position: relative; border-radius: 12px; overflow: hidden; min-height: 240px; }
.syn-company-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.syn-company-right { display: flex; flex-direction: column; justify-content: center; }
.syn-company-head { margin-bottom: 24px; }
.syn-metrics {
    display: grid; grid-template-columns: 1fr 1fr; gap: 26px 30px;
}
.syn-metric-foot { grid-column: 1 / -1; }
.syn-metric-num {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 30px; font-weight: 800; color: #3a3a3a; line-height: 1.05;
    margin-bottom: 6px;
}
.syn-metric-num .syn-metric-unit { font-size: 0.5em; font-weight: 700; color: #777; }
.syn-metric-num.syn-metric-text { font-size: 20px; font-weight: 700; }
.syn-metric-logos { display: flex; align-items: center; gap: 18px; margin-top: 12px; }
.syn-metric-logos img { height: 42px; width: auto; display: block; }
.syn-metric p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; line-height: 1.45; color: #555; margin: 0;
    position: relative; padding-top: 8px;
}
.syn-metric p::before {
    content: ""; position: absolute; top: 0; left: 0;
    width: 22px; height: 2px; background: #00aeef;
}
.syn-metric-foot {
    grid-column: 1 / -1;
    font-family: 'Noto Sans', sans-serif;
    font-size: 12px; color: #888; margin: 18px 0 0;
}

/* Contribution columns */
.syn-contrib {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
    border: 1px solid #e2e2e2; border-radius: 8px; overflow: hidden;
}
.syn-contrib-2 { grid-template-columns: repeat(2, 1fr); }
.syn-contrib-col { border-left: 1px solid #e2e2e2; }
.syn-contrib-col:first-child { border-left: none; }
.syn-contrib-head {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; font-weight: 700; color: #fff;
    background: var(--syn-bar);
    padding: 12px 18px; margin: 0;
}
.syn-contrib-col ul { list-style: none; margin: 0; padding: 18px 18px; }
.syn-contrib-col li {
    position: relative; padding-left: 16px; margin-bottom: 12px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; line-height: 1.5; color: #444;
}
.syn-contrib-col li:last-child { margin-bottom: 0; }
.syn-contrib-col li::before {
    content: ""; position: absolute; left: 0; top: 7px;
    width: 7px; height: 7px; background: #00aeef;
}
.syn-note {
    font-family: 'Noto Sans', sans-serif;
    font-size: 12.5px; line-height: 1.6; color: #333; margin: 40px 0 0;
}

/* ============================================================
   STABLE, PREDICTABLE INFRASTRUCTURE-LED GROWTH
   ============================================================ */
.spg-hero { background: #fff; padding: 130px 0 0; }
.spg-eyebrow {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #1a1a1a; margin-bottom: 14px;
}
.spg-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 700; line-height: 1.12; color: var(--brand-purple); margin: 0;
}

/* Section headings */
.spg-sec-title {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 700; color: #2b2b2b; margin: 0;
}

/* Performance section */
.spg-perf { background: #fff; padding: 28px 0 60px; }
.spg-perf-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.spg-unit { font-family: 'Noto Sans', sans-serif; font-size: 14px; color: #888; }

/* Table */
.spg-table-wrap { overflow-x: auto; margin-bottom: 44px; }
.spg-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.spg-table thead th {
    background: #1976b5; color: #fff;
    font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700;
    text-align: right; padding: 14px 18px; line-height: 1.3; vertical-align: bottom;
}
.spg-table thead th:first-child { text-align: left; }
.spg-table tbody td {
    font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #333;
    text-align: right; padding: 13px 18px; border-bottom: 1px solid #e6e6e6;
}
.spg-table tbody td:first-child { text-align: left; color: #1a1a1a; }
.spg-table tbody td + td { border-left: 1px solid #e6e6e6; }
.spg-table tbody tr:last-child td { border-bottom: 2px solid #1976b5; }

/* Totals */
.spg-totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 50px; }
.spg-total-val {
    display: block;
    font-family: 'Noto Sans', sans-serif; font-size: clamp(26px, 2.6vw, 34px); font-weight: 800;
    color: var(--brand-purple); line-height: 1.05;
}
.spg-total-val small { font-size: 0.6em; font-weight: 700; }
.spg-total-label {
    font-family: 'Noto Sans', sans-serif; font-size: 15px; color: #444;
    position: relative; padding-left: 26px; margin: 12px 0 0;
}
.spg-total-label::before { content: ""; position: absolute; top: 0.95em; left: 0; width: 18px; height: 3px; background: var(--brand-purple); }
.spg-cagr { font-family: 'Noto Sans', sans-serif; font-size: 15px; color: #444; margin: 12px 0 0; }
.spg-cagr .spg-tri { color: #2bb3a3; font-size: 11px; }
.spg-cagr b { color: #009fc7; font-size: 17px; }

/* Split label + body (Growth with Prudence / Solid Fundamentals) */
.spg-split { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: stretch; padding: 36px 0; border-top: 1px solid #e6e6e6; }
.spg-card { background: #eef6f3; border-radius: 12px; padding: 30px 32px; display: flex; flex-direction: column; justify-content: center; }
.spg-card-title { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; color: var(--brand-purple); line-height: 1.25; margin: 0; }
.spg-card-sub { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 14px 0 0; }
.spg-split-body { display: flex; flex-direction: column; justify-content: center; }
.spg-split-eyebrow { font-family: 'Noto Sans', sans-serif; font-size: 17px; color: #333; margin: 0 0 22px; }
.spg-mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.spg-fund-row2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px 30px; margin-bottom: 30px; }
.spg-fund-row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 30px; }
.spg-mini-num {
    display: block;
    font-family: 'Noto Sans', sans-serif; font-size: clamp(24px, 2.4vw, 32px); font-weight: 800;
    color: #3a3a3a; line-height: 1.05;
}
.spg-mini p {
    font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.45; color: #555;
    position: relative; padding-left: 24px; margin: 8px 0 0;
}
.spg-mini p::before { content: ""; position: absolute; top: 0.9em; left: 0; width: 16px; height: 2px; background: var(--brand-purple); }
.spg-foot { font-family: 'Noto Sans', sans-serif; font-size: 12.5px; line-height: 1.6; color: #555; margin: 30px 0 0; }

/* Industry-Leading by Design — charts */
.spg-ilg { background: #fff; padding: 0 0 70px; }
.spg-ilg-title { margin-bottom: 36px; }
.ilg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 70px; }
.ilg-chart img { display: block; width: 100%; height: auto; }
.ilg-chart-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0 0 2px; }
.ilg-chart-title .ilg-unit { font-size: 13px; font-weight: 400; color: #888; }
.ilg-tag {
    display: inline-block; background: var(--brand-purple); color: #fff;
    font-family: 'Noto Sans', sans-serif; font-size: 12px; font-weight: 700;
    padding: 4px 12px; border-radius: 3px; margin: 9px 0 10px;
}
.ilg-bars { border-top: 1px solid #e0e0e0; }
.ilg-bar-row { display: grid; grid-template-columns: 78px 1fr auto; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px solid #e0e0e0; }
.ilg-bar-label { font-family: 'Noto Sans', sans-serif; font-size: 13px; color: #333; }
.ilg-bar-track { display: block; height: 18px; }
.ilg-bar-fill { display: block; height: 100%; }
.ilg-ind { background: #5bc2e7; }
.ilg-comp { background: #a3d6bb; }
.ilg-bar-val { font-family: 'Noto Sans', sans-serif; font-size: 13px; color: #333; text-align: right; min-width: 46px; }
.ilg-data { width: 100%; border-collapse: collapse; margin-top: 12px; }
.ilg-data td { font-family: 'Noto Sans', sans-serif; font-size: 14px; padding: 6px 6px; border-bottom: 1px solid #e6e6e6; }
.ilg-data td:first-child { font-weight: 700; color: #1a1a1a; width: 33%; }
.ilg-data .ilg-c-ind { color: #009fc7; font-weight: 600; }
.ilg-data .ilg-c-comp { color: #5bab86; font-weight: 600; }
/* ============================================================
   FULLSCREEN MEGA MENU (copied from DAR reference)
   Opens from the existing Menu button; hamburger -> cross.
   ============================================================ */
.menu {
    position: fixed; inset: 0; z-index: 900; background: #fbfafc;
    clip-path: circle(0% at calc(100% - 48px) 42px);
    transition: clip-path .65s cubic-bezier(.22,.61,.36,1);
    display: flex; flex-direction: column; justify-content: flex-start;
    padding: 140px 0 clamp(28px,5vh,56px); overflow-y: auto;
}
/* Inner container aligns the menu's left/right edges with the header */
.menu > .container { width: 100%; }
.menu.open { clip-path: circle(150% at calc(100% - 48px) 42px); }
.menu-search { max-width: 520px; margin-bottom: clamp(18px,2.6vh,32px); display:none; }
.menu-search form { display: flex; align-items: center; gap: 10px; border-bottom: 2px solid #012a3f; padding-bottom: 10px; }
.menu-search input { flex: 1; border: none; outline: none; background: transparent; font-family: 'Noto Sans', sans-serif; font-size: 18px; color: #1b2127; }
.menu-search button { background: none; border: none; cursor: pointer; color: #012a3f; display: flex; }
.menu-search button svg { width: 20px; height: 20px; }

/* Search page input */
.yb-search-input {
    display: block;
    width: min(720px, calc(100vw - 32px));
    min-height: 58px;
    margin: clamp(120px, 18vh, 180px) auto 48px;
    padding: 16px 24px;
    border: 1px solid rgba(1, 42, 63, 0.14);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(1, 42, 63, 0.1);
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(16px, 2vw, 20px);
    color: #1b2127;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.yb-search-input::placeholder {
    color: #6d7b87;
}
.yb-search-input:focus {
    border-color: rgba(0, 109, 183, 0.45);
    box-shadow: 0 18px 44px rgba(0, 109, 183, 0.16);
}

/* Search page layout */
body.search-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #f6f8fc 0%, #ffffff 42%, #ffffff 100%);
}
body.search-page .search {
    flex: 1;
    padding: 150px 20px 56px;
}
body.search-page .yb-search-box {
    width: min(880px, 100%);
    margin: 0 auto;
    position: relative;
}
body.search-page .yb-search-input {
    width: 100%;
    margin: 0;
}
body.search-page .search-widget-results {
    position: static;
    margin-top: 18px;
    border: 1px solid rgba(1, 42, 63, 0.1);
    border-radius: 24px;
    box-shadow: 0 18px 44px rgba(1, 42, 63, 0.1);
    overflow: hidden;
    max-height: none;
}
body.search-page .search-widget-list li {
    border-bottom: 1px solid rgba(1, 42, 63, 0.08);
}
body.search-page .search-widget-link {
    padding: 18px 22px;
}
body.search-page .search-widget-link:hover,
body.search-page .search-widget-link:focus {
    background: #f7faff;
}
body.search-page .search-widget-title {
    color: #012a3f;
    font-size: 18px;
    font-weight: 700;
}
body.search-page .search-widget-snippet,
body.search-page .search-widget-no-results,
body.search-page .search-widget-autocorrect-header {
    font-size: 15px;
    line-height: 1.6;
}
body.search-page .search-widget-autocorrect-header,
body.search-page .search-widget-no-results {
    padding: 18px 22px;
    background: #fff9e8;
    color: #4b5560;
}
body.search-page .search-widget-pdf-item {
    padding: 18px 22px;
}
body.search-page .site-footer {
    margin-top: auto;
}
@media (max-width: 767px) {
    body.search-page .search {
        padding: 128px 16px 40px;
    }
    body.search-page .yb-search-input {
        min-height: 54px;
        padding: 14px 18px;
        font-size: 16px;
    }
    body.search-page .search-widget-results {
        margin-top: 14px;
        border-radius: 18px;
    }
    body.search-page .search-widget-link,
    body.search-page .search-widget-pdf-item,
    body.search-page .search-widget-autocorrect-header,
    body.search-page .search-widget-no-results {
        padding: 16px;
    }
    body.search-page .search-widget-title {
        font-size: 16px;
    }
}
.menu-inner { width: 100%; max-width: 1340px; }
.mega {
    display: grid; grid-template-columns: 0.8fr 1.5fr; gap: clamp(28px,4vw,60px); align-items: stretch;
    opacity: 0; transform: translateY(18px);
}
.menu.open .mega { opacity: 1; transform: translateY(0); transition: opacity .55s cubic-bezier(.22,.61,.36,1) .14s, transform .55s cubic-bezier(.22,.61,.36,1) .14s; }
.mega-nav { display: flex; flex-direction: column; gap: 2px; border-right: 1px solid #e4e7ea; padding-right: clamp(14px,2vw,30px); }
.mega-tab {
    text-align: left; background: none; border: none; cursor: pointer; font-family: 'Playfair Display', serif;
    font-size: clamp(19px,1.9vw,28px); font-weight: 400; color: #1b2127; letter-spacing: -.01em; line-height: 1.18;
    padding: 10px 0; display: flex; align-items: baseline; gap: 13px; transition: color .25s, padding-left .25s;
}
.mega-tab .ix { font-family: 'Noto Sans', sans-serif; font-size: 12px; color: #5b6770; font-weight: 700; transition: color .25s; }
.mega-tab:hover, .mega-tab.active { color: var(--brand-purple); padding-left: 8px; }
.mega-tab:hover .ix, .mega-tab.active .ix { color: var(--brand-purple); }
.mega-panels { position: relative; min-height: 340px; }
.mega-panel {
    position: absolute; inset: 0; display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(22px,2.6vw,42px);
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: opacity .45s cubic-bezier(.22,.61,.36,1), transform .45s cubic-bezier(.22,.61,.36,1), visibility .45s;
}
.mega-panel.active { position: relative; opacity: 1; visibility: visible; transform: translateY(0); }
.mega-subs { list-style: none; columns: 1; column-gap: 30px; align-self: start; margin: 0; padding: 0; }
.mega-subs.two { columns: 2; }
.mega-subs li { break-inside: avoid; margin-bottom: 11px; }
.mega-subs li a { font-size: 13.5px; color: #5b6770; line-height: 1.35; transition: color .2s, padding-left .2s; display: inline-block; }
.mega-subs li a:hover { color: var(--brand-purple); padding-left: 5px; }
/* external-link icon shown after links that open a PDF in a new tab */
.dl-ico { display: inline-flex; align-items: center; margin-left: 6px; vertical-align: -3px; }
.dl-ico svg { display: block; }
.mega-figure {
    border-radius: 8px; overflow: hidden; min-height: 320px; position: relative;
    background-size: cover; background-position: center;
    background-image: linear-gradient(150deg, rgba(1,42,63,.55), rgba(138,43,140,.5)), var(--img, none);
    background-color: #0a2335;
}
/* Panel images. Declared here (not via an inline --img custom property) because a
   relative url() inside a custom property resolves against css/, not the page. */
#m-corporate .mega-figure {
    background-image: linear-gradient(150deg, rgba(1,42,63,.55), rgba(138,43,140,.5)), url("../images/menu/menu-img1.png");
}
#m-statutory .mega-figure,
#m-financial .mega-figure,
#m-notice .mega-figure {
    background-image: linear-gradient(150deg, rgba(1,42,63,.55), rgba(138,43,140,.5)), url("../images/menu/menu-img2.png");
}
.mega-figure .cap {
    position: absolute; left: 20px; bottom: 18px; right: 20px; color: #fff; font-family: 'Playfair Display', serif;
    font-size: clamp(17px,1.4vw,21px); line-height: 1.2; text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
@media (max-width: 860px) {
    .menu { padding-top: 96px; }
    /* Accordion: JS moves each panel directly under its tab inside .mega-nav */
    .mega { display: block; }
    .mega-nav { border-right: none; padding-right: 0; gap: 0; }
    .mega-panels { display: none; }                 /* emptied on mobile */
    .mega-tab { border-bottom: 1px solid #e4e7ea; width: 100%; padding: 15px 0; display: flex; align-items: center; }
    .mega-tab::after { content: '+'; margin-left: auto; font-size: 24px; font-weight: 400; line-height: 1; color: var(--brand-purple); }
    .mega-tab.active::after { content: '\2212'; }   /* minus when open */
    /* smooth expand/collapse */
    .mega-panel {
        position: relative; display: block; visibility: visible; transform: none;
        max-height: 0; overflow: hidden; opacity: 0; padding: 0;
        transition: max-height .4s ease, opacity .35s ease, padding .4s ease;
    }
    .mega-panel.active { max-height: 1000px; opacity: 1; padding: 2px 0 16px; }
    .mega-figure { display: none; }                 /* remove image on mobile */
    .mega-subs, .mega-subs.two { columns: 1; }
    .mega-subs li { margin-bottom: 13px; }
}
/* hamburger -> cross on the existing Menu button */
.menu-btn .hamburger span { transition: transform .3s cubic-bezier(.22,.61,.36,1), opacity .2s; }
.menu-btn.is-open .hamburger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-btn.is-open .hamburger span:nth-child(2) { opacity: 0; }
.menu-btn.is-open .hamburger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ============================================================
   INNER PAGE — Accelerating Infrastructure, Leveraging Intelligence
   ============================================================ */
/* Page-wide gradient background (bottom #b7f1ff -> top #fff) */
.ail-page { background: linear-gradient(to top, #b7f1ff 0%, #ffffff 65%); }
.ail-hero, .ail-content { background: transparent; }
.ail-hero { padding: 130px 0 40px; }
.ail-label {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 22px;
}
/* Two-column: heading + lead (left) | image placeholder (right) */
.ail-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}
.ail-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 700;
    line-height: 1.12;
    color: var(--brand-purple);
    margin: 0 0 20px;
    border-bottom: 2px solid #8e278f;
    padding-bottom: 20px;
}
.ail-hero-grid p 
{
    padding-bottom: 20px;
}
.ail-lead {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 600;
    color: var(--brand-blue);
    margin: 0;
}
.ail-hero-media { border-radius: 14px; overflow: hidden; }
.ail-img-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: flex; align-items: center; justify-content: center;
    color: #97a1ac;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 600; letter-spacing: .3px;
}

/* Body content — single column */
.ail-content { background: transparent; padding: 10px 0 90px; }
.ail-body { max-width: 100%; }
.ail-body > p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin: 0 0 22px;
}

/* Profile / caption card */
.ail-profile {
    border: 1px solid #8e278f;
    border-radius: 14px;
    padding: 26px 30px;
    margin-top: 14px;
}
.ail-profile-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700;
    color: #444;
    margin: 0 0 8px;
}
.ail-profile-role {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.6; color: #444;
    margin: 0 0 14px; padding-bottom: 14px;
    border-bottom: 1px solid #444;
}
.ail-profile-bio {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.7; color: #444;
    margin: 0;
}

/* ============================================================
   NDTV — Stories, Screens and the Year That Was
   ============================================================ */

/* Reusable image / icon placeholders (ndtv-ph* — kept OUT of the ph- namespace
   used by Performance Highlights, which scales .ph-img to 0 on desktop) */
.ndtv-ph, .ndtv-ph-logo, .ndtv-ph-fill {
    display: flex; align-items: center; justify-content: center;
    background: repeating-linear-gradient(45deg, #eef1f5, #eef1f5 12px, #e6eaf0 12px, #e6eaf0 24px);
    border: 1px dashed #b9c2cf; border-radius: 10px;
    color: #7a8695; font-family: 'Noto Sans', sans-serif;
    font-size: 13px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; text-align: center;
}
/*.ndtv-ph { width: 100%; aspect-ratio: 16 / 9; }*/

/* Real image inside any placeholder → drop the dashed border + striped background
   automatically (works on every page, no extra class needed) */
.ndtv-ph:has(img), .ndtv-ph-logo:has(img), .ndtv-ph-fill:has(img) {
    border: none; background: none; overflow: hidden;
}
.ndtv-ph, .ndtv-ph-fill { position: relative; }
.ndtv-ph:has(img) img, .ndtv-ph-fill:has(img) img {
    position: relative; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
}
.forobject img
{
    object-position: left;
}
.ndtv-ph-logo:has(img) { justify-content: flex-start; }
.ndtv-ph-logo:has(img) img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }

/* Right banner image — fills the column exactly like .syn-hero-img img */
.ndtv-hero-media .ndtv-ph-fill {
    position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0;
}

/* ---- Banner brand card (logo + trusted-leader text), left column ---- */
.ndtv-brand-card {
    display: inline-flex; flex-direction: column; align-items: flex-start; gap: 14px;
    margin-top: 26px;
}
.ndtv-brand-logo { width: 150px; height: 66px; }
.ndtv-brand-text {
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(18px, 1.9vw, 18px); font-weight: 700; line-height: 1.25;
    color:#5e76c1; margin: 0; text-align: left;
}

/* ---- Intro copy ---- */
.ndtv-intro { background: #fff; padding: 54px 0 10px; }

.ndtv-body {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.8; color: #444; margin: 0 0 22px;
}
.ndtv-feature-img { margin-top: 20px; }
.ndtv-feature-img .ndtv-ph { aspect-ratio: 21 / 9; }

/* ---- Section headings ---- */
.ndtv-sec-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(18px, 2.6vw, 18px); font-weight: 700;
    color:#9c8dc3; margin: 10px 0 14px;
}
.ndtv-sec-intro {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0 0 34px;
}

/* ---- Programming cards ---- */
.ndtv-prog-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px 40px;
}
/* featured layout: first card full-width on top (text left, image right);
   the next two cards sit side-by-side in the row below */
.ndtv-prog-grid--featured .ndtv-prog-card:first-child {
    grid-column: 1 / -1;
    display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; align-items: center;
}
.ndtv-prog-grid--featured .ndtv-prog-card:first-child .ndtv-ph {
    margin: 0; aspect-ratio: 16 / 9;
}
/* bottom two cards: equal-height text so their images top-align */
.ndtv-prog-grid--featured .ndtv-prog-card:not(:first-child) .ndtv-prog-desc { min-height: 50px; }
@media (max-width: 767px) {
    .ndtv-prog-grid--featured .ndtv-prog-card:not(:first-child) .ndtv-prog-desc { min-height: 0; }
    .ndtv-prog-grid--featured .ndtv-prog-card:first-child { grid-template-columns: 1fr; row-gap: 18px; }
}
.ndtv-prog-card { display: flex; flex-direction: column; }
.ndtv-prog-card .ndtv-ph { margin-bottom: 18px; }
.ndtv-prog-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: #444; margin: 0 0 8px;
}
.ndtv-prog-desc {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.65; color: #444; margin: 0;
}
/* NDTV India programming — image sits below the text, so give it a gap on top */
#ndtvIndiaProgramming .ndtv-prog-card .ndtv-ph { margin-top: 16px; }

/* NDTV Profit programming — image below text; keep a gap so text never touches it,
   and pin the image to the bottom so images align across a row (descriptions vary
   in length: 1 line vs 2 lines would otherwise start the images at different heights) */
#ndtvProfitProgramming .ndtv-prog-desc { margin-bottom: 16px; }
#ndtvProfitProgramming .ndtv-prog-card .ndtv-ph { margin-top: auto; }

/* ============================================================
   BROADCAST PERFORMANCE HIGHLIGHTS — dark 3-column card grid
   ============================================================ */
.bph-section {
    background: none;
    padding: 72px 0 20px;
}
.bph-title {
    font-family: 'Playfair Display', serif; font-weight: 700;
    font-size: 30px; color: #16224a; margin-bottom: 34px;
}
.bph-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bph-card {
    background: #f6f8fc;
    border: 1px solid #e6eaf2;
    border-radius: 12px; padding: 22px 22px 24px;
}
.bph-brand {
    display: inline-flex; align-items: center;
    font-family: 'Noto Sans', sans-serif; font-weight: 800; font-size: 15px;
    color: #fff; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 12px;
    background: #5e74b0; padding: 7px 16px;
}
.bph-lead {
    font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700;
    line-height: 1.4; color: #07b1cd; margin: 0;
}
.bph-list { list-style: none; margin: 12px 0 0; padding: 0; }
.bph-list li {
    position: relative; padding-left: 16px; margin-bottom: 8px;
    font-family: 'Noto Sans', sans-serif; font-size: 13.5px; line-height: 1.55;
    color: #555;
}
.bph-list li:last-child { margin-bottom: 0; }
.bph-list li::before {
    content: ""; position: absolute; left: 0; top: 8px;
    width: 5px; height: 5px; border-radius: 50%; background: #5e74b0;
}
.navginsection
{
    padding: 40px 0px 0px;
}
.navginsection p
{
    padding-top: 15px;
}
.infrmainsec .syn-hero-row,.environmentalmainsec .syn-hero-row,.ndtv24sec .syn-hero-row
{
grid-template-columns: 1fr 1fr;
gap: 15px;

}
.ndtv24sec .syn-hero-text
{
    background-color: #e9f6f7;
    padding: 0px 15px;
}
.infrmainsec,.environmentalmainsec,.ndtv24sec
{
    padding-top: 50px;
}
.infrmainsec .syn-hero-text
{
    background: #9c8dc3;
    padding: 0px 15px;
}
.environmentalmainsec .syn-hero-text
{
     background: #d4ebdb;
    padding: 0px 15px;
}
.infrmainsec .syn-hero-text .syn-eyebrow,.infrmainsec .ndtv-hero-row .syn-hero-title,.infrmainsec .ndtv-hero-row p 
{
    color: #fff;
}
.infrmainsec .ndtv-hero-row,.ft500
{
    font-weight: 500;
}
.environmentalmainsec p
{
    color: #848394;
    font-weight: 500;
}
.environmentalmainsec h1,.infrmainsec h1
{
    font-size: 30px;
}
@media (max-width: 991px) { .bph-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bph-grid { grid-template-columns: 1fr; } }

/* ============================================================
   ESG PRIORITIES — three key areas (dark, 3-column)
   ============================================================ */
.esg-areas-section {
    background: none;
    padding: 64px 0;
}
.esg-areas-intro {
    font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.7;
    color: #444; max-width: 1000px; margin: 0 0 18px;
}
.esg-areas-intro:last-of-type { margin-bottom: 34px; }
.esg-areas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.esg-area-head {
    font-family: 'Noto Sans', sans-serif; font-weight: 800; font-size: 18px; color: #fff;
    padding: 12px 18px; margin-bottom: 16px;
}
.esg-area-env    { background: #66b046; }
.esg-area-social { background: #3f82c2; }
.esg-area-gov    { background: #e8862e; }
.esg-area-desc {
    font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.6;
    color: #444; margin: 0; padding: 0 4px;
}
@media (max-width: 767px) {
    .esg-areas-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ============================================================
   PREV / NEXT PAGE NAVIGATION (bottom of each page)
   ============================================================ */
.page-nav { border-top: 1px solid #e6e6e6; padding: 28px 0; background: #fff; }
.page-nav-inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.page-nav-link { display: flex; align-items: flex-start; gap: 12px; text-decoration: none; color: #1a1a1a; max-width: 48%; transition: color .2s; }
.page-nav-prev { margin-right: auto; }
.page-nav-next { margin-left: auto; text-align: right; }
.page-nav-link:hover { color: var(--brand-blue); }
.page-nav-arrow { font-size: 20px; line-height: 1; color: var(--brand-blue); flex-shrink: 0; }
.page-nav-txt { display: flex; flex-direction: column; gap: 3px; }
.page-nav-txt > span { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.3; }
@media (max-width: 600px) {
    .page-nav-txt > span { font-size: 13.5px; }
    .page-nav-link { gap: 8px; }
}

/* ---- Impactful reportage + digital reach ---- */
.ndtv-reportage { background: #fff; padding: 34px 0 0px; }

/* Southern View + Chai Stop — above the heading (image on top, text below) */
.ndtv-top-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px 34px;
    margin-bottom: 44px;
}
.ndtv-topcard .ndtv-ph { margin-bottom: 16px; }

.ndtv-report-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px 34px;
}
.ndtv-report-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: #444; margin: 0 0 6px;
}
.ndtv-report-desc {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; line-height: 1.6; color: #444; margin: 0 0 12px;
}
.ndtv-report-card { display: flex; flex-direction: column; }
.ndtv-report-card .ndtv-ph { margin-top: auto; }
/* Israel-Iran War — full-width card; each image = one column, exactly like the
   boxes above (same 34px column gap as the report grid) */
.ndtv-report-card--wide { grid-column: 1 / -1; }
.ndtv-report-imgs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; margin-top: auto; }

/* Full-width feature images (Market @12, GST Conclave) — span the container */
.ndtv-fullimg { margin: 0; }
.ndtv-market12 { margin-bottom: 54px; }
.ndtv-gst-full { margin-top: 40px; }

/* Digital reach — full-width block at the bottom, 3 stats per row */
.ndtv-digital {
    background:#5e74b0; border-radius: 14px; padding: 42px 46px; margin-top: 56px;
}
.ndtv-digital-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #fff; margin: 0 0 30px;
}
.ndtv-stat-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 46px;
}
.ndtv-stat { padding-top: 18px; border-bottom: 1px solid #0ab3ca; }
.ndtv-stat-num {
    display: block; font-family: 'Noto Sans', sans-serif;
    font-size: 42px; font-weight: 700; color: #fff; line-height: 1;
}
.ndtv-stat-unit { font-size: 18px; font-weight: 600; }
.ndtv-stat-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.5; color: #ffffff; margin: 10px 0 0; padding-bottom: 15px;
    position: relative;
    padding-left: 25px;
}
.ndtv-stat-label:before,.rnc-stat-label es:before
{
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    background-color: #0ab3ca;
    width: 20px;
    height: 3px;

}
.rnc-stat-label es
{
    position: relative;
    padding-left: 25px;
}
.ndtv-foot {
    font-family: 'Noto Sans', sans-serif;
    font-size: 12px; color: #888; margin: 34px 0 0;
}
.ndtv-hero-row .syn-hero-title
{
    color: #9c8dc3;
    font-size: 30px;
}
.marquee-eventsbanner .ndtv-hero-row .syn-hero-title,.infrbnaaer .ndtv-hero-row .syn-hero-title,.entbanner .ndtv-hero-row .syn-hero-title,.bannerhridng.ndtv-plainhero .syn-hero-title,.bannerhridng.ndtv-hero .syn-hero-title
{
    font-size: 40px;
}

/* ============================================================
   REGIONAL NEWS CHANNELS  (rnc-)
   ============================================================ */

/* Plain hero — no banner: eyebrow -> heading -> text */

.ndtv-plainhero {padding: 0px 0 0px; }
.social-communityabnner
{
    padding: 130px 0px 0px;
}
.ndtv-plainhero .syn-hero-title { color: #9c8dc3; margin: 8px 0 20px;font-size:30px; }
.ndtv-plainhero .ndtv-body { max-width: 100%; margin: 0; }
.ndtv-plainhero.social-communityabnner .syn-hero-title{
    color: #00b4d8;
}
.oneyearbanner .ndtv-hero-row .syn-hero-title
{
    font-size: 40px;
}
/* Channel blocks */
.rnc-channels { background: #fff; padding: 20px 0 30px; }
.rnc-channel { padding: 46px 0; border-bottom: 1px solid #e6e6e6; }
.rnc-channel:last-of-type { border-bottom: none; }
.rnc-logo { width: 150px; height: 60px; margin-bottom: 26px; }

.rnc-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 40px; }
.rnc-cols-2 { grid-template-columns: repeat(2, 1fr); max-width: 760px; }
.rnc-col-head {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #9c8dc3; margin: 0 0 10px;
}
.rnc-sub-head {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: #444; margin: 0 0 8px;
}
.rnc-col p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.6; color: #444; margin: 0 0 10px;
}
.rnc-list { list-style: none; margin: 0; padding: 0; }
.rnc-list li {
    position: relative; padding-left: 18px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.6; color: #444; margin-bottom: 6px;
}
.rnc-list li::before {
    content: ''; position: absolute; left: 0; top: 9px;
    width: 6px; height: 6px; border-radius: 50%; background: #9c8dc3;
}

/* Channel image rows */
.rnc-imgs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 26px 0; }
.rnc-imgs.one { grid-template-columns: 1fr; max-width: 520px; }

/* Text-left / image-right split rows */
.rnc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; margin-bottom: 34px; }
.rnc-split:last-of-type { margin-bottom: 0; }
.rnc-mt { margin-top: 22px; }

/* Paired image + text columns (image on top, text below — kept aligned per column) */
.rnc-imgtext-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 34px; }
.rnc-imgtext .ndtv-ph { margin-bottom: 18px; }

/* Digital Growth Snapshot (blue box) */
.rnc-snapshot { background: #5e74b0; border-radius: 14px; padding: 32px 34px; margin-top: 26px; }
.rnc-snapshot-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #fff; margin: 0 0 22px;
}
.rnc-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 34px; }
.rnc-stat-num {
    display: block; font-family: 'Noto Sans', sans-serif;
    font-size: 32px; font-weight: 700; color: #fff; line-height: 1.05;
}
.rnc-stat-num--sm { font-size: 20px; }
.rnc-stat-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; line-height: 1.45; color: #eef1f8; margin: 8px 0 0;
}

/* The Changing Patterns of Media Consumption */
.rnc-consume-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 44px; margin-top: 22px; }
.rnc-consume-item p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.65; color: #444; margin: 0;
}
.wheremag
{
    padding-top: 40px;
}

/* Responding to a Changing Media Landscape */
.rnc-respond { background: #f5f8fb; padding: 60px 0; margin-top:60px; }
.rnc-respond-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 40px; margin-top: 22px; }
.rnc-respond-card p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.65; color: #444; margin: 0 0 12px;
}
.rnc-respond-card p:last-child { margin-bottom: 0; }
.rnc-respond-card .rnc-col-head { margin-top: 4px; font-size:16px; color:#5e76c1; }
/* Boxed "tab" heading — gradient box behind, white box on top shifted up-left so
   the white overhangs at the top-left and the gradient shows at the bottom-right */
.rnc-respond-card .rnc-tab {
    background: linear-gradient(to right, #5e74b0, #bdc4de);
    border-radius: 4px;
    margin: 9px 0 26px 9px;      /* room for the white box to overhang top-left */
}
.rnc-respond-card .rnc-sub-head {
    position: relative; top: -9px; left: -9px;
    display: flex; align-items: center; min-height: 58px;
    background: #fff; border-radius: 4px; padding: 12px 18px; margin: 0;
    color: #1a1a1a;
}

/* The Digital Architecture — background-image placeholder + circle-SVG placeholder + bottom text */
.rnc-arch { position: relative; overflow: hidden; padding: 70px 0; background: #12245a; }
.rnc-arch-bg {
    position: absolute; inset: 0; z-index: 0;
    display: flex; align-items: center; justify-content: center;
    background: repeating-linear-gradient(45deg, #16295f, #16295f 14px, #1b3170 14px, #1b3170 28px);
    color: rgba(255, 255, 255, .45); font-family: 'Noto Sans', sans-serif;
    font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}
.rnc-arch .container { position: relative; z-index: 1; }
.rnc-arch-circle {
    width: min(520px, 82vw); aspect-ratio: 1 / 1; margin: 0 auto 40px;
    display: flex; align-items: center; justify-content: center;
    border: 1px dashed rgba(255, 255, 255, .6); border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .75); font-family: 'Noto Sans', sans-serif;
    font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}
/* Real images inside the architecture background / circle placeholders */
.rnc-arch-bg:has(img), .rnc-arch-circle:has(img) { border: none; background: none; }
.rnc-arch-bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rnc-arch-circle img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rnc-arch-note {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.6; color: #dbe3f5;
    max-width: 100%; text-align: left;
    border:1px solid #5e74b0;
    padding: 20px;
}

/* ============================================================
   NDTV GOOD TIMES  (gt-)
   ============================================================ */
.gt-logo { width: 96px; height: 64px; margin: 22px 0 18px; }
#gtHero .ndtv-body { margin: 0 0 18px; }

/* Living India's Culture — 3 capabilities with a coloured top rule */
.gt-capabilities {padding: 30px 0px 60px 0px; }
.gt-cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; margin-top: 26px; }
.gt-cap {
    border-bottom: 3px solid #9ddcf9; padding-bottom: 18px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 600; line-height: 1.5; color: #444;
}

/* Concerts / live experiences — 4-up cards, image pinned to the bottom */
.gt-events { background: #fff; padding:00px 0 60px; }
.gt-events-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 44px; }
.gt-event { display: flex; flex-direction: column; }
.gt-event-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; font-weight: 700; line-height: 1.4; color: #1a1a1a; margin: 0 0 10px;
}
.gt-event p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; line-height: 1.6; color: #444; margin: 0 0 12px;
}
.gt-event .ndtv-ph { margin-top: auto; }

/* ============================================================
   MARQUEE EVENTS  (mq-)  — stacked full-width blocks, each with its
   own row of image placeholders (2 or 3 per event)
   ============================================================ */
.mq-events { background: #fff; padding: 30px 0 70px; }
.mq-event { padding: 40px 0; border-bottom: 1px solid #e6e6e6; }
.mq-event:first-child { padding-top: 10px; }
.mq-event:last-child { border-bottom: none; }
.mq-event-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #9c8dc3; margin: 0 0 12px;
}
.mq-event p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0 0 14px; max-width: 1040px;
}
.mq-imgs { display: grid; gap: 22px; margin-top: 22px; }
.mq-imgs-2 { grid-template-columns: repeat(2, 1fr); }
.mq-imgs-3 { grid-template-columns: repeat(3, 1fr); }
/* Text + first image side by side (2 columns) */
.mq-split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items:center; }
/* Full-width feature image within an event, with spacing between stacked blocks */
.mq-full { margin-top: 24px; }
.mq-event > .mq-full:first-child { margin-top: 0; }
.mq-event > .mq-split:not(:first-child) { margin-top: 24px; }

/* ============================================================
   INFRASTRUCTURE AND TECHNOLOGY  (it-)
   ============================================================ */
/* Intro paragraph as a contained coloured box (inside the container) with top space */
.it-intro { background: #fff; }
.it-intro .ndtv-body {
    background: #9c8dc3; color: #fff;
    padding: 30px 34px !important;
    margin: 0px;
}

.it-section { background: #fff; padding: 40px 0; }
.it-block { margin-bottom: 46px; }
.it-block:last-child { margin-bottom: 0; }
.it-block > p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.7; color: #444; margin: 0; max-width: 1040px;
}
.it-block .ndtv-sec-title { margin-bottom: 16px; }

/* Key Features grid */
.it-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 40px; }
.it-feature h3 {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0 0 6px;
}
.it-feature p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.6; color: #444; margin: 0;
}

/* Studio Network / Studio Technology diagrams over a full background image.
   Swap the background-image below for the real asset: background-image: url('images/...'); */
.it-diagrams {
    min-height: 100vh; display: flex; align-items: center; padding: 70px 0;
    background-color: #12245a;
    background-image: url('../images/infrastructure-and-technology/pg-58-59-img.jpeg');
    background-size: cover; background-position: center; background-repeat: no-repeat;
}
.it-diagrams > .container { width: 100%; }
/* Studio Network / Studio Technology diagram SVGs */
.it-diagram-img img { width: 100%; height: auto; display: block; }
/* Two diagrams side by side (2 columns) */
.it-diagram-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: 30px; align-items: stretch; }

/* Studio Network diagram — centre box + four labelled boxes around it (fits its column) */
.it-network {
    display: grid; grid-template-columns: 1fr auto 1fr; gap: 0px; align-items: center;
}
.it-net-col { display: grid; gap: 14px; }
.it-net-box {
    display: flex; align-items: center; min-height: 70px;
    background:#5467a3;
    padding: 12px 14px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 13px; font-weight: 600; line-height: 1.35; color: #e7ebf8;
}
.it-net-center {
    display: flex; align-items: center; justify-content: center; text-align: center;
    width: 150px; height: 170px; background: #9ddcf9;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; line-height: 1.2; color: #16295f;
    padding: 0px 20px;
}

/* Studio Technology diagram (placeholder) — fills its column */
.it-tech-ph {
    height: 100%; min-height: 220px; aspect-ratio: auto;
    background: repeating-linear-gradient(45deg, rgba(255,255,255,.10), rgba(255,255,255,.10) 12px, rgba(255,255,255,.16) 12px, rgba(255,255,255,.16) 24px);
    border-color: rgba(255, 255, 255, .55); color: rgba(255, 255, 255, .8);
}

/* Integrated Broadcast Hub */
.it-hub { background: #fff; padding-bottom:70px; }

/* ============================================================
   ENVIRONMENT  (env-)
   ============================================================ */
#envHero .syn-hero-title { color: #00b16b; }

.env-content { background: #fff; padding: 30px 0 20px; }
.env-block { margin-bottom: 34px; }
.env-sec-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #9c8dc3; margin: 22px 0 14px;
}
.env-block > p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0 0 16px; max-width: 1040px;
}

/* Green stat card */
.env-stat {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 6px 26px; margin: 28px 0; max-width: 900px;
}
.env-main { grid-column: 1; grid-row: 2; }
.env-credit { grid-row: 2; }
.env-stat-num {
    display: block; font-family: 'Noto Sans', sans-serif;
    font-size: 28px; font-weight: 700; color: #9c8dc3; line-height: 1.1;
}
.env-stat-num.sm { font-size: 21px; }
.env-stat-unit { font-size: 15px; font-weight: 600; }
.env-stat-label {
    font-family: 'Noto Sans', sans-serif;
    position: relative;
    padding-left: 20px;
    font-size: 16px; line-height: 1.4; color: #555; margin: 4px 0 0;
}
.env-stat-label:before
{
    content: '';
    position: absolute;
    left: 0px;
    top:11px;
    background-color: #00bbce;
    width: 12px;
    height: 3px;
}
.env-credits-head {
    grid-column: 2 / 4; grid-row: 1; align-self: end; margin: 0;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; font-weight: 700; color: #1a1a1a;
}
.env-credits-row { display: contents; }

/* Environmental Stewardship */
.env-steward-sec { padding-bottom:60px; }
.env-steward-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px 44px; margin-top: 20px; }
.env-steward h3 {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0 0 6px;
}
.env-steward p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.6; color: #444; margin: 0;
}
.env-steward-sec .env-sec-title
{
    margin-top: 0px;
}
.ndtv-intro .ndtv-body
{
    padding-bottom: 0px;
    margin-bottom: 0px;
}
.env-intro
{
    padding-bottom: 0px;
}
.ndtv-intro p.ndtv-body
{
    padding-bottom: 15px;
}
.ndtv-intro p.ndtv-body:last-child
{
    padding-bottom: 0;
}
/* ============================================================
   SOCIAL - PEOPLE  (sp-)
   ============================================================ */
.sp-initiatives { background: #fff; padding: 20px 0 70px; }
.sp-grid { display: grid; grid-template-columns: 1fr; gap: 34px; margin-top: 28px; max-width: 1000px; }
.sp-item-rule { display: block; width: 42px; height: 3px; background: #9c8dc3; margin-bottom: 14px; }
.sp-item-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0 0 10px;
}
.sp-item p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0 0 12px;
}
.sp-item p:last-child { margin-bottom: 0; }

#spHero .syn-hero-title, .sp-initiatives .ndtv-sec-title
{
    color: #0ea8d6;
}
.sp-item-rule
{
  background: #0ea8d6;  
}
/* ============================================================
   SOCIAL - COMMUNITY WELFARE  (sc-)
   ============================================================ */
.sc-section { background: #fff; padding: 46px 0; }

/* Text + image side by side */
.sc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.sc-split-text .ndtv-sec-title { margin: 0 0 14px; }
.sc-split-text p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #444; margin: 0 0 14px;
}
.sc-split-text p:last-child { margin-bottom: 0; }
.sc-lead { color: #1a1a1a; font-weight: 700; }

/* Full-width image inside the container with overlay text */
.sc-overlay-box { position: relative; }
.sc-overlay-img { aspect-ratio: 21 / 9; }
.sc-overlay-text {
    position: absolute; left: 0; top: 0; bottom: 0; width: min(46%, 460px);
    display: flex; align-items: flex-start; padding: 34px 38px;
}
.sc-overlay-text p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; line-height: 1.65; font-weight: 600; color: #444; margin: 0;
}

/* Full-bleed image (outside container), 100vh, with overlay text */
.sc-hero-full { position: relative; overflow: hidden; min-height: 100vh; display: flex; align-items:flex-start; }
.sc-hero-full-img {
    position: absolute; inset: 0; z-index: 0;
    display: flex; align-items: center; justify-content: center;
    background: repeating-linear-gradient(45deg, #1b2b4a, #1b2b4a 14px, #223460 14px, #223460 28px);
    color: rgba(255,255,255,.45); font-family: 'Noto Sans', sans-serif;
    font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}
.sc-hero-full-img:has(img) { background: none; }
.sc-hero-full-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
/*.sc-hero-full::after { content: ''; position: absolute; inset: 0; z-index: 0; background: rgba(0,0,0,.4); }*/
.sc-hero-full .container { position: relative; z-index: 1; }
.sc-hero-full-text { max-width: 920px; margin:auto; padding-top:40px; }
.sc-hero-full-text p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; font-weight: 400; color: #fff; margin: 0; text-align: center;
}
.ndtv-intro.ndtv-india p, .ndtv-intro.ndtv-profit p
{
    padding-bottom: 20px;
}
.colorgry
{
    font-weight: 600;
    color: #848394;
}
.it-diagram-img
{
    max-width: 850px;
    width: 100%;
    margin: auto;
}
.regionsnew
{
    padding-top: 60px;
}
  .regionsnew.ndtv-plainhero .syn-hero-title
  {
    color: #5e74b0;
        font-family: 'Noto Sans', sans-serif;
        font-size: 30px;
  }
  /* ============================================================ */
.gp-highlights {
    margin-bottom: 30px;
}
.gp-highlights-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #8e278f;
    margin: 0 0 20px;
}
.gp-highlights-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.gp-highlights-item {
    width: min(100%, 300px);
    aspect-ratio: 199 / 160;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    background-image: url('../images/geographical-presence/global-expansion-highlights1.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-bottom: 20px;
}
.gp-highlights-item p {
    width: 70%;
    margin: 0;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.45;
    color: #2a2a2a;
    text-align: center;
}

/* ============================================================
   Corporate Information
   ============================================================ */
.ci-block {
    margin-bottom: 20px;
}
/* Paired info blocks (Auditors, Registered Office, Committees, Registrar)
   render as aligned cards so the two columns read as tidy panels */
.ci-wrap .row { margin-bottom: 12px; }
.ci-wrap .row > [class*="col-"] { display: flex; }
/* Full-width people blocks (Board of Directors, KMP) flow into columns */
.ci-people {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 40px;
}
/* Committees flow into columns (full-width block) */
.ci-committees {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 40px;
}
.ci-heading {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
    color: #8e278f;
    margin: 0 0 16px;
}
/* Board of Directors */
.ci-person { margin-bottom: 14px; }
.ci-person-name {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--brand-blue);
    line-height: 1.4;
}
.ci-person-role {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px;
    color: #444;
    line-height: 1.4;
}
/* Address blocks */
.ci-org-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 4px;
    line-height: 1.5;
}
.ci-org-line {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px;
    color: #444;
    margin: 0 0 4px;
    line-height: 1.6;
}
.ci-link { color:#8e278f; text-decoration: none; }
.ci-link:hover { text-decoration: underline; }
/* Committees */
.ci-committee { margin-bottom: 22px; }
.ci-committee-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 8px;
    line-height: 1.4;
}
.ci-member {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px;
    color: #1a1a1a;
    margin: 0 0 4px;
    line-height: 1.5;
}
.ci-member-name { color: var(--brand-blue); font-weight: 600; }


/* messgage chairperson */

.mfc-content {
    padding: 50px 0 70px;
}
.mfc-section-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    color: #6d72c4;
    margin: 0 0 15px;
}
.mfc-theme-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.08;
    color: var(--brand-purple);
    margin: 6px 0 24px;
}
.mfc-content p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #1d1d1d;
    margin: 0 0 15px;
}
.mfc-content ul {
    list-style: none;
    margin: 0 0 15px;
    padding: 0;
}
.mfc-content li {
    position: relative;
    padding-left: 16px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #1d1d1d;
    margin-bottom: 12px;
}
.mfc-content li:last-child {
    margin-bottom: 0;
}
.mfc-content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 5px;
    height: 5px;
    background: #00aeef;
}
.mfc-content .mfc-quote-card {
    background: transparent;
    padding: 0;
    margin-bottom: 20px;
}
.mfc-content .mfc-quote-card p {
    font-size: 18px;
    line-height: 1.45;
    color: #444;
    margin-bottom: 16px;
}
.cardtopdarkp{
    font-weight: 600;
}
.mfc-content .mfc-quote-card span {
    display: inline-block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #444;
}
.chairpersonbanner h1.syn-hero-title{
    color: #9c8dc3;
}
.messagecontent .mfc-section-title
{
   color: #9c8dc3; 
}
.chairpersonbanner .mfc-quote-card p
{
    color: #848394;
}
/* Top pull-quote: dark body text with a cyan line above the name */
.mfc-content .cardtopdarkp p {
    color: #333;
}
.mfc-content .cardtopdarkp span {
    position: relative;
    padding-top: 16px;
}
.mfc-content .cardtopdarkp span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 90px;
    height: 3px;
    background: #00aeef;
}
.mfc-content .mfc-highlight-card {
    background: transparent;
    margin: 20px 0 ;
}
.mfc-content .mfc-highlight-card p {
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    color: #12b5ef;
    margin-bottom: 0;
}
.mfc-icon-placeholder {
    width: 58px;
    height: 58px;
    margin-bottom: 5px;
}
/* Black bold sub-heading under a section title */
.mfc-subhead {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #1a1a1a;
    margin: 0 0 16px;
}
/* Circular chairperson photo above the pull-quote */
.mfc-quote-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 22px;
}
.mfc-quote-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Signature block */
.mfc-signature strong {
    color: #111111;
    font-weight: 700;
}
.mfc-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
}
.mfc-stats--duo {
    max-width: 820px;
}
.mfc-stat-card {
    padding: 0 28px 0 0;
}
.mfc-stat-card--left {
    text-align: left;
    border-right: 1px solid #d9dde3;
    padding-right: 32px;
    margin-bottom: 20px;
}
.mfc-stat-card--right {
    text-align: left;
    padding-left: 32px;
}
.mfc-stat-card h3 {
    font-family: 'Noto Sans', sans-serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.05;
    color: #2c66bc;
    background: linear-gradient(90deg, #1565C0 0%, #7B2FA8 50%, #C01535 100%);;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 0 8px;
}
.mfc-stat-card .rs {
    font-size: 0.9em;
}
.mfc-stat-card p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.45;
    color: #1a1a1a;
    margin: 0;
    padding-left: 14px;
    position: relative;
}
.mfc-stat-card p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 8px;
    height: 3px;
    background: #00aeef;
}
/* chairperson css end */
/* ============================================================
   Governance page — heading/intro text colors
   ============================================================ */
.gov-label { color: #2b2b2b; }
.gov-title { color: #17a95c; }
.gov-intro p { color: #555; }

/* ============================================================
   Governance page — framework blocks (single column flow)
   ============================================================ */
.gov-framework-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #6d72c4;
    margin: 0px 0 22px;
}
.gov-block { margin-bottom: 24px; }
.gov-block-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 8px;
    line-height: 1.4;
}
.gov-block-text {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #6d5f7d;
    margin: 0;
}
.gov-banner-img {
    margin-top: 34px;
    border-radius: 12px;
    overflow: hidden;
}
.gov-banner-img img {
    width: 100%;
    height: auto;
    display: block;
}

/* ============================================================
   Governance page — Board of Directors profile
   ============================================================ */
.gov-directors {
    padding: 0 0 70px;
}
.dir-profile {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    align-items: start;
    border-top: 4px solid #f5821f;
    padding: 20px 0px;
}
/* Identity card */
.dir-card { text-align: left;
padding: 10px ;
    box-shadow: 2px 2px 2px #f5821f; }
.dir-photo {
    border-radius: 12px;
    overflow: hidden;
    background: #f3f0f7;
    margin-bottom: 14px;
}
.dir-photo img {
    width: 100%;
    height: auto;
    display: block;
}
.dir-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 10px;
    line-height: 1.3;
}
.dir-age {
    display: inline-block;
    background: #f5821f;
    color: #fff;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}
.dir-nationality {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}
/* Details — single column, full-width stacked */
.dir-details {
    display: block;
}
.dir-group { margin-bottom: 22px; }
.dir-group:last-child { margin-bottom: 0; }
.dir-group-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #6d72c4;
    margin: 15px 0 12px;
}
.dir-item {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #4d4d4d;
    margin: 0 0 12px;
}
.dir-item:last-child { margin-bottom: 0; }
.dir-label {
    font-weight: 600;
    color: #1a1a1a;
}
.goverbanner{
    padding-bottom: 30px;
}
/* Governance — Other Directorships table + disclosure blocks */
.dir-table-wrap { overflow-x: auto; }
.dir-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Noto Sans', sans-serif;
}
.dir-table th {
    background: #c15a2b;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    padding: 12px 16px;
    vertical-align: top;
    border-right: 1px solid #d17a4f;
}
.dir-table th:last-child { border-right: none; }
.dir-table td {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    padding: 14px 16px;
    vertical-align: top;
    border-right: 1px solid #ece2da;
    border-bottom: 2px solid #c15a2b;
}
.dir-table td:last-child { border-right: none; }
.dir-td-links { color: #3f6ea5; }
/* Disclosure groups reuse the profile group styling */
.gov-directors .row .dir-group { margin-top: 30px; }

/* Separator between director entries */
.dir-entry {
    padding-top: 30px;
}

/* Blue pull-quote: photo left, icon + text stacked on the right */
.mfc-quote-blue {
    display: flex;
    align-items: flex-start;
    gap: 28px;
}
.mfc-quote-blue .mfc-quote-photo {
    flex: 0 0 auto;
    margin-bottom: 0;
}
.mfc-quote-blue .mfc-quote-body {
    flex: 1;
}
body.kh-page {
    background: #fff;
    font-family: 'Noto Sans', sans-serif;
    color: #222;
    overflow-x: hidden;
}

.kh-page h2
 {
    font-family: 'Playfair Display', serif;
    margin-bottom: 0;
}
.kh-page h1{
        font-family: 'Noto Sans', sans-serif;
        margin-bottom: 0;
}
.kh-shell { padding-top: 118px; padding-bottom: 40px; }
.kh-hero { padding: 18px 0 24px; }
.kh-kicker { font-size: 18px; font-weight: 700; color: #000; margin-bottom: 10px; }
.kh-main-title { font-size: 40px; font-weight: 800; color: #b39ddb; line-height: 1.2; padding: 7px 0; }
.kh-intro { font-size: 16px; line-height: 1.7; color: #222; max-width: 860px; margin-top: 14px; }
.kh-grid { margin-top: 22px; }
.kh-row { padding: 24px 0; border-top: 1px solid #a9e1eb; padding-bottom: 30px; }
.kh-row:first-child { border-top: 0; }
.kh-pill {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 150px; padding: 10px 22px; border-radius: 0;
    background: #0db9cf; color: #fff; font-size: 18px; font-weight: 800;
    line-height: 1; letter-spacing: .2px;
}
.kh-number {
    font-size: 40px; font-weight: 800; line-height: 1.05;
    color: #6f7fc2; letter-spacing: .02em; margin-bottom: 4px;
}
.kh-number .currency { font-size: .9em; margin-right: 4px; }
.kh-number .unit { font-size: .78em; font-weight: 700; }
.kh-metric-label { font-size: 16px; line-height: 1.4; color: #111; margin-top: 2px; }
.kh-yoy { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; color: #111; margin-top: 10px; }
.kh-yoy .icon {
    width: 22px; height: 22px; border-radius: 50%;
    background: #19b5d2; color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 12px; flex: 0 0 22px;
}
.kh-copy-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.kh-copy-list li { font-size: 16px; line-height: 1.55; color: #111; }
.kh-copy-list strong { font-weight: 800; }
.kh-divider { height: 1px; background: #a9e1eb; margin-top: 24px; }

/* ============================================================
   COMPANY OVERVIEW PAGE
   ============================================================ */
body.co-page {
    background: transparent;
    font-family: 'Noto Sans', sans-serif;
    color: #555;
    overflow-x: hidden;
}
.co-page h1,
.co-page h2,
.co-page h3,
.co-page h4,
.co-page h5,
.co-page h6 {
    font-family: 'Noto Sans', sans-serif;
    margin-bottom: 8px;
}
.co-page h2{
    font-family: 'Playfair Display', serif;
}
.co-shell { padding-top: 118px; padding-bottom: 48px; }
.co-hero { padding: 12px 0 28px; }
.co-kicker {
    font-size: 18px; font-weight: 700; color: #000; margin-bottom: 12px;
}
.co-title {
    font-size: 40px; font-weight: 800; line-height: 1.05;
    color: #9c8fd7; max-width: 760px; margin-bottom: 28px;
    padding: 10px 0;
}
.co-intro {
    font-size: 16px; line-height: 1.55; font-weight: 600;
    color: #4b6fb8; margin-bottom: 10px;
}
.co-vision-section {
    background: #6679b7;
    padding: 52px 0 64px;
}
.co-vision-intro {
    font-size: 18px;
    line-height: 1.45;
    color: #fff;
    margin: 0 0 14px;
}
.co-vision-grid {
    margin-top: 26px;
}
.co-vision-card {
    max-width: 360px;
}
.co-vision-title {
    font-size: 22px;
    font-weight: 800;
    color: #13d0ee;
    line-height: 1.1;
    margin-bottom: 10px;
}
.co-vision-copy {
    font-size: 16px;
    line-height: 1.42;
    color: #fff;
    margin: 0;
}
.co-offerings-section {
    background: #fff;
    padding: 44px 0 56px;
}
.co-section-label {
    font-size: 18px;
    font-weight: 800;
    color: #9c8fd7;
    margin-bottom: 22px;
}
.co-offerings-row {
    padding: 8px 0 18px;
}
.co-offering-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-height: 104px;
    padding-right: 18px;
}
.co-logo-placeholder {
    width: 126px;
    height: 82px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    color: #222;
    padding: 8px;
    overflow: hidden;
}

.co-logo-placeholder.wide { width: 170px; }
.co-logo-placeholder.small { width: 112px; }

.co-logo-placeholder.world { width: 126px; height: 82px; background: #fff; color: #222;}
.co-logo-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.co-offering-copy {
    font-size: 16px;
    line-height: 1.35;
    color: #111;
}
.co-divider-line {
    height: 1px;
    background: #c9c9d4;
    margin: 14px 0 26px;
}
.co-dsuite-caption {
    display: flex;
    gap: 6px;
}
@media (min-width: 768px) {
    .co-tv-offerings-row > [class*="col-"] {
        position: relative;
    }

    .co-tv-offerings-row > [class*="col-"]:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 84px;
        width: 1px;
        height: 82px;
        background: #d6d6e0;
        transform: translateY(-50%);
    }

    .co-regional-offerings-row > [class*="col-"] {
        position: relative;
    }

    .co-regional-offerings-row > [class*="col-"]:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 1px;
        height: 82px;
        background: #d6d6e0;
        transform: translateY(-50%);
    }
}
@media (max-width: 767.98px) {
    .co-tv-offerings-row > [class*="col-"]::after,
    .co-regional-offerings-row > [class*="col-"]::after {
        display: none;
    }
}
.co-digital-grid {
    row-gap: 28px;
    margin-top: 6px;
    margin-bottom: 26px;
}
.co-digital-card {
    min-height: 88px;
    padding-bottom: 16px;
    border-bottom: 1px solid #44c7dd;
}
.co-digital-card h4, .co-digital-card h4 a{
    font-size: 22px;
    font-weight: 800;
    color: #17b8d8;
    margin-bottom: 2px;
}
.co-digital-card p,.co-digital-card p a {
    font-size: 16px;
    line-height: 1.3;
    color: #111;
    margin: 0;
}
.co-digital-card p
{
    display: flex;
    align-items: flex-start;
}
.co-digital-card p img
{
    width: 20px;
    margin-right: 10px;
    margin-top: 5px;
}
.co-vision-section 
{
    padding-bottom: 0;
}
.overimg
{
    margin-top: 40px;
}
.keymibanner
{
    padding-top: 0;
}
.keymibanner .syn-hero-row
{
    grid-template-columns: 1fr 1fr;
}
 .kh-page .keymibanner h1
{
    font-family: 'Playfair Display', serif;
}
.keymibanner .mfc-quote-card
{
    margin-top: 15px;
}
.alognside
{
    padding: 30px 0px;
}
.alognside h4
{
    padding-bottom: 20px;
    color: #0db9cf;
    font-weight: 700;
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
}

.co-image-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.co-dsuite-section {
    background: #6679b7;
    padding: 34px 0 46px;
    color: #fff;
}
.co-dsuite-label {
    font-size: 18px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 24px;
}
.co-dsuite-row {
    margin-bottom: 24px;
}
.co-dsuite-row-bottom { margin-top: 8px; }
.co-dsuite-stat {
    max-width: 360px;
    margin-bottom: 18px;
}
.co-dsuite-num {
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    color: #fff;
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.co-dsuite-num .count-value { line-height: 1; }
.co-dsuite-suffix {
    font-size: .66em;
    font-weight: 700;
}
.co-dsuite-line {
    width: 14px;
    height: 3px;
    background: #1fd2e6;
    margin: 8px 0 6px;
}
.co-dsuite-copy {
    font-size: 16px;
    line-height: 1.4;
    color: #fff;
    max-width: 300px;
}
.co-social-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    flex-wrap: wrap;
}
.co-social-row span {
    width: 30px;
    height: 30px;
    background: rgba(255,255,255,.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
}

/* ============================================================
   BUSINESS MODEL PAGE
   ============================================================ */
body.bm-page {
    background: transparent;
    font-family: 'Noto Sans', sans-serif;
    color: #222;
    overflow-x: hidden;
}
.bm-page h1,
.bm-page h2,
.bm-page h3,
.bm-page h4,
.bm-page h5,
.bm-page h6 {
    font-family: 'Noto Sans', sans-serif;
    margin-bottom: 0;
}
.bm-page h2{
       font-family: 'Playfair Display', serif;
}
.bm-shell { padding-top: 118px; padding-bottom: 40px; }
.bm-hero { padding: 18px 0 24px; }
.bm-kicker {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin-bottom: 10px;
}
.bm-title {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.06;
    color: #9c8fd7;
    margin-bottom: 20px;
    text-align: center;
    padding: 6px 0;
}
.bm-intro {
    font-size: 16px;
    line-height: 1.55;
    color: #111;
    margin: 0;
}
.bm-business-tabs {
    padding: 10px 0 6px;
}
.bm-business-select-wrap { display: none; }
.bm-business-select {
    display: block;
    width: 100%;
    min-height: 52px;
    border: 1px solid rgba(107,127,190,.35);
    border-radius: 14px;
    background-color: #fff;
    color: #1b2127;
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 44px 12px 16px;
    box-shadow: 0 10px 24px rgba(42, 58, 109, .10);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #6679b7 50%),
        linear-gradient(135deg, #6679b7 50%, transparent 50%),
        linear-gradient(to right, rgba(102,121,183,.16), rgba(102,121,183,.16));
    background-position:
        calc(100% - 22px) calc(50% - 3px),
        calc(100% - 16px) calc(50% - 3px),
        calc(100% - 44px) 50%;
    background-size: 6px 6px, 6px 6px, 1px 28px;
    background-repeat: no-repeat;
}
.bm-business-tabstrip {
    position: relative;
    background: linear-gradient(90deg, #6b7fbe 0%, #6679b7 46%, #7587c5 100%);
    border-radius: 0;
    overflow: hidden;
    isolation: isolate;
}

.bm-business-tabstrip::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, #f7f8ff 0%, #f7f8ff 50%, rgba(255,255,255,.35) 100%);
    opacity: .8;
}
.bm-business-tabrail {
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 10px 18px;
    position: relative;
    z-index: 1;
    gap: 40px;
    background: #fff;
    box-shadow: none;
    border: none;
}
.bm-business-tabrail.nav-tabs {
    border-bottom: 0;
}
.bm-business-tabrail .nav-link {
    flex: 0 0 auto;
    border: 1px solid transparent;
    background: #fff;
    color: #111;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
    padding: 12px 22px;
    cursor: pointer;
    white-space: nowrap;
    letter-spacing: .1px;
    text-shadow: 0 1px 0 rgba(0,0,0,.05);
    margin-bottom: 0;
    border: 1px solid #111;
    border-radius: 999px;
    position: relative;
    overflow: hidden;
    box-shadow: none;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}
.bm-business-tabrail .nav-link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255,255,255,0) 10%, rgba(255,255,255,.16) 50%, rgba(255,255,255,0) 90%);
    transform: translateX(-120%);
    transition: transform .6s ease;
    pointer-events: none;
}
.bm-business-tabrail .nav-link:hover,
.bm-business-tabrail .nav-link:focus {
    color: #111;
    border-color: #111;
    background: #fff;
    transform: translateY(-1px);
    isolation: isolate;
}
.bm-business-tabrail .nav-link.active {
    background: linear-gradient(180deg, #7da1cf 0%, #6f8fc3 100%);
    color: #fff;
    border-color: #6f8fc3;
    box-shadow: none;
    transform: translateY(-1px);
}
.bm-business-tabrail .nav-link.active::before {
    transform: translateX(120%);
}

.bm-business-tab-arrow {
    flex: 0 0 40px;
    width: 40px;
    height: 2px;
    margin: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.78) 18%, rgba(255,255,255,.88) 50%, rgba(255,255,255,.78) 82%, rgba(255,255,255,.05) 100%);
    position: relative;
    overflow: hidden;
    border-radius: 999px;
    opacity: .95;
}
.bm-business-tab-arrow::after {
    content: "";
    position: absolute;
    right: -1px;
    top: -4px;
    width: 10px;
    height: 10px;
    border-top: 2px solid rgba(255,255,255,.92);
    border-right: 2px solid rgba(255,255,255,.92);
    transform: rotate(45deg);
    filter: drop-shadow(0 0 4px rgba(255,255,255,.45));
}
.bm-business-tab-arrow::before {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 35%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.95) 50%, rgba(255,255,255,0) 100%);
    animation: bm-line-sweep 2.8s ease-in-out infinite;
}
.bm-business-tabrail .nav-link:hover::before {
    transform: translateX(120%);
}

@keyframes bm-tab-glow {
    0%, 100% { opacity: .5; transform: scaleX(.92); }
    50% { opacity: 1; transform: scaleX(1); }
}

@keyframes bm-line-sweep {
    0% { transform: translateX(0); opacity: .15; }
    45% { opacity: 1; }
    100% { transform: translateX(390%); opacity: .15; }
}
.bm-strengths-section {
    position: relative;
    background: transparent;
    padding: 22px 0 28px;
    overflow: hidden;
}
.bm-strengths-grid {
    margin: 0;
}
.bm-strength-card {
    min-height: 170px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 28px 26px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.52);
    background: linear-gradient(180deg, rgba(160, 212, 239, .94) 0%, rgba(145, 200, 232, .94) 100%);
    box-shadow: 0 18px 32px rgba(70, 119, 165, .10);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.bm-strength-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 38px rgba(70, 119, 165, .16);
    background: linear-gradient(180deg, rgba(166, 218, 243, .98) 0%, rgba(148, 205, 235, .98) 100%);
}
.bm-strength-icon {
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: #fff;
    color: #6778b6;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 82px;
    box-shadow: 0 8px 18px rgba(49, 70, 141, .10);
}
.bm-strength-icon img {
    width: 300px;
}
.bm-strength-text {
    margin: 0;
    font-size: 20px;
    line-height: 1.15;
    color: #111;
    max-width: 305px;
    font-weight: 500;
    letter-spacing: -.2px;
}
.bm-panel-section {
    padding: 18px 0 28px;
}
.bm-panel-business {
    padding-top: 22px;
}
.bm-business-intro {
    font-size: 28px;
    font-weight: 800;
    color: #43bdd7;
    letter-spacing: .4px;
    margin-bottom: 12px;
}
.bm-business-copy {
    font-size: 18px;
    line-height: 1.25;
    color: #111;
    max-width: 940px;
    margin: 0 0 34px;
}
.bm-priority-title {
    font-size: 22px;
    font-weight: 800;
    color: #9c8fd7;
    text-align: center;
    margin: 24px 0 26px;
}
.bm-priority-grid {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 38px;
    padding-top: 18px;
}
.bm-priority-row {
    position: relative;
}
.bm-priority-card {
    position: relative;
    min-height: 220px;
    background: linear-gradient(180deg, #6679b7 0%, #6679b7 100%);
    border-radius: 14px;
    padding: 26px 22px 22px;
    color: #fff;
    box-shadow: 0 14px 28px rgba(72, 88, 145, .14);
    max-width: 400px;
        margin-bottom: 40px;
}
.bm-priority-card p {
    margin: 0;
    font-size: 18px;
    line-height: 1.1;
}
.bm-priority-connector {
    position: absolute;
        top: -10%;
    left: 46%;
    transform: translate(-50%, -50%);
    width: 172px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 2;
}
.bm-priority-connector img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.bm-priority-icon {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    color: #6679b7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 18px;
    box-shadow: 0 10px 20px rgba(0,0,0,.08);
}
.bm-priority-icon img {
    object-fit: contain;
    display: block;
}
@media (max-width: 767.98px) {
    .bm-business-tabs { display: block; }
    .bm-priority-connector {
        display: none;
    }
    .bm-business-select-wrap { display: block; margin-bottom: 14px; }
    .bm-business-tabstrip { display: none; }
}
.bm-business-tab-content {
    padding-top: 18px;
}
.bm-outcomes-grid {
    align-items: start;
}
.bm-outcome-card {
    margin-bottom: 28px;
}
.bm-outcome-card-top {
    min-height: 0;
}
.bm-outcome-card-mid {
    min-height: 0;
}
.bm-outcome-head {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 10px 14px;
    margin-bottom: 16px;
    background: linear-gradient(180deg, #f4fbfd 0%, #edf6fb 100%);
}
.bm-outcome-icon {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: #fff;
    color: #6679b7;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 74px;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(49, 70, 141, .10);
}
.bm-outcome-icon img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    display: block;
}
.bm-outcome-head h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.08;
    font-weight: 500;
    color: #111;
    letter-spacing: -.2px;
}
.bm-outcome-list,
.bm-outcome-bullets {
    margin: 0;
    padding-left: 0;
    color: #111;
        list-style: none;
}
.bm-outcome-list li,
.bm-outcome-bullets li {
    position: relative;
    font-size: 16px;
    line-height: 1.42;
    margin-bottom: 14px;
    padding-left: 16px;
}
.bm-outcome-list li:last-child,
.bm-outcome-bullets li:last-child {
    margin-bottom: 0;
}
.bm-outcome-list li::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 0;
}
.bm-outcome-list li span{
    display: block;
}
.bm-outcome-list li strong {
    font-size: 18px;
    line-height: .95;
    margin-bottom: 4px;
    font-weight: 800;
}
.bm-outcome-subtitle {
    font-size: 16px;
    font-weight: 800;
    color: #111;
    margin: 4px 0 6px;
}
.bm-outcome-image-wrap {
    display: flex;
    justify-content: flex-end;
    padding: 18px 0 0;
}
.bm-outcome-image-placeholder {
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #dff7fb 0%, #c7eef5 52%, #bde7f0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), 0 18px 34px rgba(72, 88, 145, .10);
    margin: 10px auto 0;
}
.bm-outcome-image-placeholder span {
    font-size: 16px;
    font-weight: 800;
    color: #6679b7;
    letter-spacing: .2px;
}

/* The Journey page */
.tj-page {
    background: linear-gradient(180deg, #6f80bc 0%, #697cba 100%);
}
.tj-shell {
    background: transparent;
    padding-bottom: 0;
}
.tj-hero-section {
    padding: 140px 0 0;
}
.tj-hero-card,
.tj-story-card {
    background: transparent;
    color: #fff;
    padding: 0;
    box-shadow: none;
    position: relative;
    overflow: hidden;
}
.tj-hero-card::before,
.tj-story-card::before {
    content: none;
}
.tj-hero-card {
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.tj-kicker {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
    margin: 0;
    color: #fff;
    letter-spacing: .1px;
    font-family: 'Noto Sans', sans-serif;
}
.tj-section-tag {
    display: block;
    width: 100%;
    padding: 0;
    margin: 18px 0 0;
    background: transparent;
    color: #a9dff1;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.2px;
}
.tj-title {
    font-size: 40px;
    line-height: 44px;
    font-weight: 800;
    margin: 0;
    max-width: 560px;
    color: #fff;
    letter-spacing: -.9px;
}
.tj-story-section {
    padding: 0 0 24px;
}
.tj-story-card p {
    color: #fff;
}
.tj-story-lead {
    font-size: 18px;
    line-height: 1.35;
    margin: 0 0 14px;
    color: #fff;
}
.tj-story-lead strong {
    font-weight: 800;
}
.tj-story-copy {
    font-size: 16px;
    line-height: 1.45;
    margin: 0 0 12px;
    color: #fff;
}
.tj-story-copy:last-child {
    margin-bottom: 0;
}
.tj-intro-section {
    padding: 0 0 18px;
}
.tj-intro-copy {
    max-width: 900px;
}
.tj-timeline-section {
    position: relative;
    overflow: hidden;
    padding: 16px 0 0;
}
.tj-timeline-shell {
    position: relative;
}
.tj-timeline-stage {
    position: relative;
    padding: 34px 0 28px;
}
.tj-timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: rgba(255,255,255,.22);
    overflow: hidden;
    z-index: 1;
    transform: translateX(-1px);
}
.tj-timeline-line-fill {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #8fdef4 0%, #9fe5f8 100%);
    transform: scaleY(0);
}
.tj-timeline-track {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 34px;
    padding: 0 0 20px;
}
.tj-timeline-card {
    width: calc(50% - 72px);
    min-height: 0;
    padding: 18px 18px 20px;
    background: rgba(109, 122, 185, .92);
    color: #fff;
    box-shadow: 0 16px 34px rgba(36, 50, 92, .14);
}
.tj-timeline-card-alt {
    background: rgba(126, 118, 194, .92);
}
.tj-timeline-left {
    margin-right: auto;
    margin-left: 0;
}
.tj-timeline-right {
    margin-left: auto;
    margin-right: 0;
}
.tj-year-bar {
    width: 48px;
    height: 8px;
    background: #8ed9ef;
    margin-bottom: 18px;
}
.tj-year {
    color: #9fe5f8;
    font-size: 40px;
    line-height: .95;
    font-weight: 800;
    letter-spacing: -.8px;
    margin-bottom: 10px;
}
.tj-timeline-card h3 {
    color: #fff;
    font-size: 20px;
    line-height: 1.06;
    font-weight: 800;
    margin: 0 0 14px;
}
.tj-timeline-card ul {
    margin: 0;
    padding-left: 20px;
}
.tj-timeline-card li {
    font-size: 17px;
    line-height: 1.32;
    margin-bottom: 12px;
}
.tj-timeline-card li:last-child {
    margin-bottom: 0;
}
.tj-subitem {
    list-style: square;
    margin-left: 18px;
}

