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:  #8e278f;
    --brand-blue:    #006db7;
    --brand-teal:    #007979;
    --brand-cyan:    #0fb8cc;
    --brand-green:   #00a58f;
}

.header-fixed {
    position: fixed;
    top: 20px;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: transform .4s ease;
}
/* 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);
    transition: box-shadow .35s ease;
}
.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: 3px; }
.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;
    width: 620px;
    max-width: 100%;
    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: #007979;
    border: 2px solid #007979;
    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: #007979; color: #fff; }
.cta-read-more:hover .cta-arrow { transform: translateX(4px); }

/* Sector icons strip */
.brp-icons-bottom {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    margin-top: 40px;
    padding-bottom: 32px;
}
.brp-icons-bottom .swiper-wrapper { align-items: stretch; }
.brp-icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    height: auto;
    border-right: .5px solid #00000020;
}
/* Swiper sets a per-slide height; force all slides to match the tallest so the
   vertical dividers are equal height regardless of 1- vs 2-line labels */
.brp-icons-bottom .swiper-slide.brp-icon-item { height: auto; }
.brp-icons-bottom .swiper-slide:last-child
{
border-right: none;
}
/* pagination dots — bottom left */
.brp-pagination.swiper-pagination-bullets {
    left: 0; right: auto; bottom: 0;
    width: auto;
    text-align: left;
}
.brp-pagination .swiper-pagination-bullet {
    width: 8px; height: 8px;
    background: #1a1a1a; opacity: .25;
    transition: opacity .25s ease, background .25s ease;
}
.brp-pagination .swiper-pagination-bullet-active {
    background: var(--brand-purple); opacity: 1;
}
.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;
}

/* ============================================================
   MESSAGE FROM THE CHAIRMAN
   ============================================================ */
.chairman-section {
    position: relative;
    background: url('../images/bg.webp') center center / cover no-repeat;
    overflow: hidden;
    height: 100vh;
    display: flex;
    align-items: flex-end;
}
.md-section
{
     background: url('../images/bg02.webp') 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: #007979;
    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: #007979;
    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;
}

/* ============================================================
   ADANI PORTFOLIO OF COMPANIES — scroll-driven slideshow
   ============================================================ */
.pf-scroll {
    position: relative;
    height: 100vh;
    background: #e9f6fc;
}
.pf-stage {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

/* Background — base image + sliced "shatter" layer.
   Base and slices use identical sizing so the assembled slices match the
   base pixel-for-pixel (no jump when the transition completes). */
.pf-bgbase {
    position: absolute; inset: 0; z-index: 1;
    background-size: 100% 100%; background-position: 0 0;
}
.pf-bgslices { position: absolute; inset: 0; z-index: 2; overflow: hidden; }
.pf-slice {
    position: absolute; left: 0; width: 100%;
    background-repeat: no-repeat;
    visibility: hidden;
    will-change: transform;
}
.pf-scrim {
    position: absolute; inset: 0; z-index: 3;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: none;
}

/* UI rail — centered to the same container as the header */
.pf-ui { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.pf-ui-inner {
    position: relative; height: 100%;
    padding-left: 0; padding-right: 0;
}

/* Left title — aligned to header content (16px inside the container) */
.pf-titlebar {
    position: absolute; left: 15px; top: 50%; transform: translateY(-50%);
    width: 330px; max-width: 40%;
    pointer-events: auto;
}
.pf-eyebrow {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    color: #fff; margin-bottom: 14px;
}
.pf-gradient {
    font-family: 'Playfair Display', serif;
    font-size:40px;
    font-weight: 700; line-height: 1.15;
   color: #ffffff;
}
.pf-title-cta
{
    margin-top: 28px;
    color: #fff;
    border-color: #fff;
}
.pf-title-cta:hover { background: #fff; color: #006db7; }
/* Right-side figures (per slide) */
.pf-figs {
    position: absolute; right: 16px; top: 50%; z-index: 5;
    transform: translateY(-50%);
    pointer-events: auto;
    display: flex; flex-direction: column;
    min-width: 240px;
}
.pf-figs-fy {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700; color: #fff;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.7);
    margin-bottom: 4px;
}
.pf-fig {
    display: flex; flex-direction: column; gap: 4px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.pf-fig-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: rgba(255, 255, 255, 0.85);
}
.pf-fig-val {
    font-family: 'Noto Sans', sans-serif;
    font-size: 42px; font-weight: 800; color: #fff; line-height: 1;
}
.pf-figs-unit {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: rgba(255, 255, 255, 0.7);
    margin-top: 10px;
}

/* Prev / next arrows */
.pf-nav {
    position: absolute; right: 16px; bottom: 40px; z-index: 6;
    display: flex; gap: 14px;
    pointer-events: auto;
}
.pf-arrow {
    width: 48px; height: 48px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: transparent; cursor: pointer;
    border: 1.5px solid rgba(255, 255, 255, 0.7); color: #fff;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.pf-arrow:hover { background: #fff; color: #1a1a1a; border-color: #fff; }

/* Fixed beige card */
.pf-cardframe {
    position: absolute; top: 0; left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    width: min(430px, 86vw);
    height: 100vh;
    background: #e9f6fc;
}
.pf-card-inner {
    height: 100%;
    padding: 40px 38px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
}
.pf-counter {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; letter-spacing: 3px; font-weight: 600;
    color: #7a7464; margin-bottom: 0px;
}
.pf-head { margin-bottom: 10px; }
.pf-company {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px; font-weight: 700;
    color: #2b2b2b; margin-bottom: 0px;
}
.pf-largest {
    display: block;;
    font-size: clamp(22px, 2vw, 30px); font-weight: 400;
    color: #2b2b2b; line-height: 1.1;
}
.pf-largest strong { font-weight: 700; font-size:72px; display:block; }

/* Image box — images slide vertically (one over another) */
.pf-imagebox {
    position: relative;
    width: 100%; height: 230px;
    overflow: hidden;
}
.pf-imagebox img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transform: translateY(100%);
    transition: transform 0.85s cubic-bezier(0.76, 0, 0.24, 1);
    will-change: transform;
}

.pf-foot { margin-top: 24px; display: flex; flex-direction: column; align-items: center; gap: 0px; }
.pf-sub {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px; color: #4a4a4a; line-height: 1.45;
    max-width: 320px;
}
.pf-fade { will-change: opacity; }
.pf-discover {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 22px; border-radius: 50px; cursor: pointer;
    background: transparent;
    border: 1.5px solid #3a3a3a;
    font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 500;
    color: #2b2b2b;
    transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}
.pf-discover:hover { background: #2b2b2b; color: #fff; transform: translateY(-2px); }
.pf-arrow { font-style: normal; font-size: 16px; }

/* ============================================================
   STABLE, PREDICTABLE GROWTH — tabs
   ============================================================ */
.growth-section { background: #fff; padding: 80px 0px; }
.industry-section { background: #fff; padding: 20px 0 80px; }
.growth-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-weight: 700; line-height: 1.15;
    color: #007979;
    text-align: center;
    margin-bottom: 44px;
}

/* Stacked blocks (headings one below another, separated by a line) */
.growth-blocks { display: flex; flex-direction: column; }
.growth-block { padding: 40px 0; border-bottom: 1px solid #e2e2e2; }
.growth-block:last-child { border-bottom: none; }
.growth-block:first-child { padding-top: 0; }
.growth-block-title {
    font-family: 'Playfair Display', serif;
    font-size: 28px; font-weight: 700; line-height: 1.2;
    margin-bottom: 26px;
}
.growth-block-sub {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px; font-weight: 700; line-height: 1.25;
    color: #111111; margin-bottom: 22px;
}
.growth-block-intro {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #444; line-height: 1.4;
    margin-bottom: 22px;
}
.growth-block-title1 {
    margin-bottom: 10px;
}
/* Heading accent per block */
.growth-block[data-block="0"] .growth-block-title { color: #1b8fc4; }
.growth-block[data-block="1"] .growth-block-title { color: #8e44ad; }
.growth-block[data-block="2"] .growth-block-title { color: #3a9d5d; }

/* Stat grid */
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.stat { padding: 22px 34px; border-left: 1px solid #e6e6e6; }
.stat:nth-child(3n+1) { border-left: none; padding-left: 0; }
.stat:nth-child(n+4) { border-top: 1px solid #e6e6e6; padding-top: 30px; }
/* Block 2 (5 stats): full-width divider under the first row (incl. 3.32x) */
.growth-block[data-block="1"] .stat:nth-child(-n+3) { border-bottom: 1px solid #e6e6e6; padding-bottom: 30px; }
.growth-block[data-block="1"] .stat:nth-child(n+4) { border-top: none; padding-top: 30px; }
.growth-block[data-block="1"] .stat:nth-child(5) { border-right: 1px solid #e6e6e6; }
.stat-num {
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(30px, 3.4vw, 46px); font-weight: 800;
    color: #3a3a3a; line-height: 1.05; margin-bottom: 12px;
}
.stat-num .cur { font-size: 0.55em; font-weight: 600; vertical-align: 0.18em; }
.stat-num .unit { font-size: 0.42em; font-weight: 500; color: #777; }
.stat-num .unit-lead { font-size: 0.55em; font-weight: 700; }
.stat-purple .stat-num { color: var(--brand-purple); }
.stat-purple .stat-num .unit,
.stat-purple .stat-num .cur { color: var(--brand-purple); opacity: .85; }
.stat-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #444; line-height: 1.4;
}
.stat-note { font-size: 12.5px; color: #9a9a9a; margin-top: 6px; }
.stat-cagr {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; color: #555; margin-top: 14px;
}
.stat-cagr .tri { color: #5fb1a1; font-style: normal; font-size: 12px; margin-right: 4px; }
.stat-cagr b { color: var(--brand-blue); font-weight: 700; }

/* Graph slider (tab 4) — two graphs per slide */
.graph-swiper { width: 100%; }
.graph-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:200px;
    align-items: start;
}
.graph-cell img { width: 100%; height: auto; display: block; }
.graph-swiper-footer {
    display: flex; align-items: center; justify-content: space-between;
    margin-top:30px;
}
.graph-swiper .swiper-pagination {
    position: static; display: flex; gap: 10px; width: auto;
}
.graph-swiper .swiper-pagination-bullet {
    width: 9px; height: 9px; background: #c9c2d6; opacity: 1;
}
.graph-swiper .swiper-pagination-bullet-active { background: var(--brand-purple); }
.graph-nav { display: flex; gap: 12px; }
.graph-arrow {
    width: 42px; height: 42px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: transparent; cursor: pointer;
    border: 1.5px solid #c9c2d6; color: #8e278f;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.graph-arrow:hover { background: #8e278f; border-color: #8e278f; color: #fff; }
.graph-arrow.swiper-button-disabled { opacity: .35; cursor: default; }
.graph-arrow.swiper-button-disabled:hover { background: transparent; color: #8e278f; border-color: #c9c2d6; }

/* ============================================================
   AFTERMARKET / INDUSTRY-LEADING — card slider
   ============================================================ */
.aft-section { position: relative; overflow: hidden; }
.aft-bgs { position: absolute; inset: 0; z-index: 0; }
.aft-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0; transition: opacity .8s ease;
}
.aft-bg.is-active { opacity: 1; }
.aft-overlay { position: absolute; inset: 0; z-index: 1; background: rgba(0, 0, 0, 0.5); }

.aft-inner {
    position: relative; z-index: 2;
    display: flex; align-items: center; gap: 40px;
    min-height: 100vh;
}

/* Left column — heading only */
.aft-left { flex: 1; max-width: 480px; }
.aft-head {
    font-family: 'Playfair Display', serif;
    font-size:40px; font-weight: 700;
    line-height: 1.15; color: #fff;
}

/* Right column — card slider */
.aft-right {
    flex: 1; position: relative;
    display: flex; align-items: center; justify-content: center;
    padding: 0 56px;
}
.aft-swiper { width: 100%; max-width: 440px; overflow: hidden; }
.aft-card {
    background: #fff; border-radius: 14px;
    padding: 16px 16px 26px;
}
.aft-card-img { border-radius: 10px; overflow: hidden; }
.aft-card-img img { width: 100%; height: 250px; object-fit: cover; display: block; }
.aft-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 24px; font-weight: 600; color: #1f1f1f;
    margin: 20px 4px 8px;
}
.aft-card-sub {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; color: #666; margin: 0 4px;
}
/* Graph-only card */
.aft-card-graph { padding: 24px 22px; }
.aft-card-graph img { width: 100%; height: auto; display: block; }

/* Pagination bars (hidden) */
.aft-pagination { display: none; }
.aft-pagination .swiper-pagination-bullet {
    width: 28px; height: 4px; border-radius: 2px;
    background: #cfcabf; opacity: 1; transition: background .2s, width .2s;
}
.aft-pagination .swiper-pagination-bullet-active { background: #e8862e; width: 40px; }

/* Arrows flanking the card */
.aft-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
    width: 46px; height: 46px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, 0.65); cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.15); color: #555;
    transition: background .2s ease, color .2s ease;
}
.aft-arrow:hover { background: #fff; color: #1f1f1f; }
.aft-prev { left: 0; }
.aft-next { right: 0; }

/* ============================================================
   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: #007979;
    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: 18px; 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:#007979;
    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 SEGMENT PERFORMANCE REVIEW  (expanding card slider)
   Active card grows (350 -> 730px); the inner image stays a fixed
   730px so narrow cards show a cropped centre that "opens up".
   Driven by Swiper (virtualTranslate) + manual step — see custom.js.
   ============================================================ */
.bsp-section {
    position: relative;
    background: #fff;                     /* white */
    padding: 80px 0;
    overflow: hidden;
    --bsp-card:    350px;                 /* normal card width  */
    --bsp-active:  730px;                 /* active card width   */
    --bsp-h:       490px;                 /* card height         */
    --bsp-radius:  15px;
}
.bsp-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px; font-weight: 700; line-height: 1.15;
    color: #007979;
    text-align: center;
    margin-bottom: 44px;
}
/* Left edge aligned to the header container (logo). Track bleeds off right.
   .bsp-nav shares the same padding so the arrows line up under the card. */
.bsp-colwrap, .bsp-nav { padding-left: 16px; }
@media (min-width: 992px)  { .bsp-colwrap, .bsp-nav { padding-left: calc((100% - 960px)  / 2 + 16px); } }
@media (min-width: 1200px) { .bsp-colwrap, .bsp-nav { padding-left: calc((100% - 1140px) / 2 + 16px); } }
@media (min-width: 1400px) { .bsp-colwrap, .bsp-nav { padding-left: calc((100% - 1320px) / 2 + 16px); } }

/* margin:0 overrides Swiper's default margin:auto (which centred the card) */
.bsp-swiper { position: relative; margin-left: 0; margin-right: 0; max-width: var(--bsp-active); overflow: visible; cursor: grab; }
.bsp-swiper.is-grabbing { cursor: grabbing; }
.bsp-swiper .swiper-slide {
    max-width: var(--bsp-card);
    overflow: hidden;
    transition: max-width 1s ease;       /* matches Swiper speed (1000ms) */
}
.bsp-swiper .swiper-slide.swiper-slide-active { max-width: var(--bsp-active); }

/* Image frame */
.bsp-slide-div {
    position: relative;
    height: var(--bsp-h);
    border-radius: var(--bsp-radius);
    overflow: hidden;
}
.bsp-pic {
    position: absolute; top: 0; bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: var(--bsp-active); height: 100%;
    overflow: hidden;
    border-radius: var(--bsp-radius);
    transition: all .5s ease;
}
.bsp-pic img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    border-radius: var(--bsp-radius);
    transition: transform .8s ease-in-out;
}
.bsp-slide-div:hover .bsp-pic img { transform: scale(1.12); }
/* bottom scrim so the caption stays legible */
.bsp-slide-div::after {
    content: ""; position: absolute; inset: 0;
    border-radius: var(--bsp-radius);
    background: linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0) 42%);
    pointer-events: none;
}

/* Caption overlay (bottom-left, italic serif w/ underline) */
.bsp-caption {
    position: absolute; left: 40px; bottom: 46px; width: 80%; z-index: 2;
    pointer-events: none;
}
.bsp-caption h5 {
    color: #fff;
 font-weight: 500;
    font-size: 20px; line-height: 28px;
    margin: 0;
}
.bsp-cap-desc {
    color: rgba(255, 255, 255, .9);
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; line-height: 1.5;
    margin: 8px 0 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Footer row: arrows pinned left (aligned with the card), Read More centred */
.bsp-footer { position: relative; margin-top: 36px; min-height: 46px; }
.bsp-nav { display: flex; gap: 12px; align-items: center; }
.bsp-more {
    position: absolute; top: 0; bottom: 0; left: 0; right: 0;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none;                /* let arrow clicks through the centred overlay */
}
.bsp-more .cta-read-more { pointer-events: auto; }
.bsp-arrow {
    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;
}
.bsp-arrow:hover { background: var(--brand-purple); border-color: var(--brand-purple); color: #fff; }
.bsp-arrow.swiper-button-disabled { opacity: .35; cursor: default; }
.bsp-arrow.swiper-button-disabled:hover { background: transparent; color: var(--brand-purple); border-color: #c9c2d6; }

/* Side arrows — prev on the left, next on the right, vertically centred on the cards */
.bsp-colwrap { position: relative; }
.bsp-nav { position: static; padding: 0; }
.bsp-prev, .bsp-next {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 6;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 5px 16px rgba(0, 0, 0, .14);
}
/* left arrow sits ON the first card (container offset + 16px inset) */
.bsp-prev { left: 32px; }
@media (min-width: 992px)  { .bsp-prev { left: calc((100% - 960px)  / 2 + 32px); } }
@media (min-width: 1200px) { .bsp-prev { left: calc((100% - 1140px) / 2 + 32px); } }
@media (min-width: 1400px) { .bsp-prev { left: calc((100% - 1320px) / 2 + 32px); } }
.bsp-next { right: 16px; }
.bsp-prev:hover, .bsp-next:hover { background: var(--brand-purple); }

/* ============================================================
   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 capital colour (set by JS on the section) */
.bm-section { background: #f4f6f8; padding: 80px 0; --cap-bg: #8e278f; }
.bm-eyebrow {
    display: block; text-align: center;
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    color: #1a1a1a; margin-bottom: 12px;
}
.bm-title {
    font-family: 'Playfair Display', serif;
    font-size: 40px; font-weight: 700; color:#007979;
    text-align: center; margin-bottom: 36px;
}

/* 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: space-between; gap: 0; 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[data-tab="5"] { padding-right: 14px; }
.bm-tab:not(.is-active):hover { color: #000; }
.bm-tab.is-active { color: #fff; }

.bm-indicator {
    position: absolute; top: 0; left: 0; height: 100%; z-index: 0;
    background: #007979;
    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: #007979; 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; }
.bm-indicator.is-last { border-top-right-radius: 14px; }
.bm-indicator.is-last .bm-ind-r { display: none; }

/* Coloured body block (background follows the active capital) */
.bm-body {
    background: #007979;
    border-radius: 20px;
    padding: 30px 40px 30px;
    color: #fff;
    position: relative; z-index: 1;
    transition: background .3s ease;
}
/* square the corner that connects to the first / last tab */
.bm-section.cap-first .bm-body { border-top-left-radius: 0; }
.bm-section.cap-last  .bm-body { border-top-right-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;
    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: 16px; 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;
}
/* Nested sub-bullets (e.g. under "Robust asset infrastructure") */
.bm-io-col .bm-subul { margin: 8px 0 0; padding: 0; }
.bm-io-col .bm-subul li { margin-bottom: 8px; }
.bm-io-col .bm-subul li:last-child { margin-bottom: 0; }
.bm-io-col .bm-subul li::before {
    top: 9px; width: 5px; height: 5px; border-radius: 0;
    background: rgba(255,255,255,.85);
}
.bm-out-m
{
    margin-top: 20px;
}
/* Scrollable capital column content (Input / Outputs / Outcomes) */
.scroll-text-new { overflow-y:auto; overflow-x:hidden; padding-right:10px !important; max-height:105px; }
.scroll-text-new::-webkit-scrollbar { width:3px; }
.scroll-text-new::-webkit-scrollbar-track { border-radius:0; background-color:rgba(255,255,255,.2); }
.scroll-text-new::-webkit-scrollbar-thumb { border-radius:0; background-color:rgba(255,255,255,.85); }
/* 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: 1fr;
    gap: 32px; align-items: start; margin-bottom: 30px;
}
/* Strategic Priorities — numbered pentagon items across 4 columns */
.bm-ksp-list {
    list-style: none; margin: 0; padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px 24px;
}
.bm-ksp-list li {
    display: flex; align-items: center; gap: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,.22);
}
.bm-ksp-num {
    flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 40px;
    background: #ffffff;
    border-right: 4px solid #00bbce;
    border-bottom: 4px solid #00bbce;
    
}
.bm-ksp-num i {
    font-family: 'Noto Sans', sans-serif;
    font-size: 15px; font-weight: 700; font-style: normal;
    color: #00bbce;
}
.bm-ksp-text {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px; font-weight: 500; line-height: 1.35; color: #fff;
}
/* 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: 16px; color: rgba(255,255,255,.88); margin-top: 4px; }

/* Key Enabler icons (white), across a grid */
.bm-model {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 26px 20px;
    align-items: start;
}
.bm-model-item {
    display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
    text-align: left; 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: 14px; color: #fff; line-height: 1.3; }
@media (max-width: 991px) {
    .bm-ksp-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bm-model { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .bm-ksp-list { grid-template-columns: 1fr; }
    .bm-model { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 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); }

/* ============================================================
   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: 18px; 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: 16px; 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;
    }
}
/* ============================================================
   ESG — full-screen background image with left heading
   ============================================================ */
.esg-section {
    position: relative;
    min-height: 100vh;
    background: url('../images/esg-img.webp') 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-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-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(24px, 3vw, 40px); font-weight: 700; line-height: 1.2;
    color: #007979; margin-bottom: 18px; opacity: 1;
}
.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: 18px; 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: 16px; color: rgba(43, 45, 66, .6); }
.upk-button-prev, .upk-button-next { cursor: pointer; }

@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: 18px; 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
   ============================================================ */
/* ===== Prev/Next page navigation (auto-injected before the footer) ===== */
.pn-nav { background: #fff; border-top: 1px solid #e4e7ea; padding: 26px 0; }
.pn-nav-row { display: flex; align-items: stretch; justify-content: space-between; gap: 20px; }
.pn-link { display: flex; align-items: center; gap: 10px; max-width: 46%; text-decoration: none !important; border-radius: 10px; padding: 16px 24px; background: #fff; border: 1px solid #e4e7ea; box-shadow: 0 1px 3px rgba(0,0,0,.04); transition: background .2s, border-color .2s, transform .15s, box-shadow .2s; }
.pn-link--next { margin-left: auto; text-align: right; flex-direction: row-reverse; }
.pn-link:hover { background: linear-gradient(90deg, #1565C0 0%, #7B2FA8 50%, #C01535 100%); border-color: transparent; transform: scale(1.01); box-shadow: 0 4px 10px rgba(0,0,0,.1); }
.pn-arrow { flex: none; font-size: 18px; color: var(--brand-purple, #8e278f); transition: transform .2s, color .2s; }
.pn-link:hover .pn-arrow { color: #fff; }
.pn-link--prev:hover .pn-arrow { transform: translateX(-4px); }
.pn-link--next:hover .pn-arrow { transform: translateX(4px); }
.pn-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; justify-content: center; }
.pn-title { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #1a1a1a; transition: color .2s; }
.pn-link:hover .pn-title { color: #fff; }
@media (max-width: 640px) {
    .pn-nav-row { gap: 10px; }
    .pn-link { max-width: 48%; }
    .pn-title { white-space: normal; }
}

/* ===== Mega-menu "coming soon" items (not yet published pages) ===== */
.mega-soon { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; color: #5b6770; line-height: 1.35; cursor: default; }
a.mega-soon { color: #1a1a1a; cursor: pointer; text-decoration: none; transition: color .2s; }
a.mega-soon:hover { color: var(--brand-teal, #007979); }
.mega-soon-ico { flex: none; color: var(--brand-purple, #8e278f); }

.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-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: 18px; 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: 16px; 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 top;
    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: clamp(34px, 4vw, 54px);
    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;
    margin-bottom: 60px;
}
/* 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-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: 18px; 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: 16px; color: #555; margin-top: 2px; }
.pf-node-pct  { font-family: 'Noto Sans', sans-serif; font-size: 16px; 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: 16px; 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.webp') 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: 18px; 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 { background: #eef6fb; 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(34px, 4vw, 54px);
    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;
}
.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: 16px; 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: 18px; 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: 18px; 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: 18px; color: #444; margin: 12px 0 0; }
.spg-cagr .spg-tri { color: #2bb3a3; font-size: 11px; }
.spg-cagr b { color: #009fc7; font-size: 18px; }

/* 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: 18px; 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: 16px; 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: 16px; 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: 16px; 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: 16px; 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: 16px; 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; }
.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: center; margin: 0; padding: 0; }
.mega-subs.two { columns: 2; }
.mega-subs li { break-inside: avoid; margin-bottom: 11px; }
.mega-subs li a { font-size: 16px; 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; }
.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;
}
.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: minmax(0, 1fr) 748px;
    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: #0979b7;
    margin: 0 0 20px;
    border-bottom: 2px solid #0979b7;
    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: 748 / 480;
    background: #eef0f3;
    border: 1px dashed #c4cad2;
    border-radius: 14px;
    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: 18px; line-height: 1.7; color: #444;
    margin: 0;
}

/* ============================================================
   ACCELERATING CLEAN ENERGY REACH, POWERED BY INTELLIGENCE
   ============================================================ */
.ace-page { background: linear-gradient(to top, #b7f1ff 0%, #ffffff 65%); }
.ace-hero, .ace-content { background: transparent; }
.ace-hero { padding: 130px 0 40px; }

/* Two-column: eyebrow + heading + lead (left) | image (right) */
.ace-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 748px;
    gap: 56px;
    align-items: center;
}
.ace-eyebrow {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700;
    letter-spacing: 1.5px; text-transform: uppercase;
    color: var(--brand-purple);
    margin-bottom: 16px;
}
.ace-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 700;
    line-height: 1.12;
    color: #046b64;
    margin: 0 0 20px;
}
.ace-lead {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 600;
    color: #046b64;
    margin: 0 0 14px;
}
.ace-lead:last-child { margin-bottom: 0; }
.ace-hero-media { border-radius: 14px; overflow: hidden; }
.ace-img-placeholder {
    width: 100%;
    aspect-ratio: 748 / 480;
    background: #eef0f3;
    border: 1px dashed #c4cad2;
    border-radius: 14px;
    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;
}
.ace-img-caption {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #6b7681;
    margin-top: 10px;
}

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

/* Focus / closing statement card */
.ace-focus {
    border: 1px solid #8e278f;
    border-left: 6px solid var(--brand-purple);
    border-radius: 14px;
    padding: 30px 34px;
    margin-top: 20px;
    background: rgba(255, 255, 255, 0.45);
}
.ace-focus-intro {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    color: var(--brand-teal);
    margin: 0 0 16px;
}
.ace-focus-list {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
}
.ace-focus-list li {
    position: relative;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; font-weight: 700;
    color: var(--brand-teal);
    padding: 0 0 12px 26px;
}
.ace-focus-list li:last-child { padding-bottom: 0; }
.ace-focus-list li::before {
    content: "";
    position: absolute;
    left: 0; top: 10px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--brand-teal);
}
.ace-focus-close {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    line-height: 1.5;
    color: var(--brand-teal);
    margin: 0;
    padding-top: 18px;
    border-top: 1px solid rgba(0, 139, 130, 0.25);
}

/* ============================================================
   PERFORMANCE HIGHLIGHTS FY 2025-26
   ============================================================ */
.pfh-page { background: linear-gradient(to top, #eaf7f5 0%, #ffffff 60%); }
.pfh-hero, .pfh-metrics { background: transparent; }
.pfh-hero { padding: 130px 0 40px; }

/* Hero — heading + intro (left) | image (right) */
.pfh-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 748px;
    gap: 56px;
    align-items: center;
}
.pfh-eyebrow {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 16px;
}
.pfh-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    line-height: 1.14;
    color: #046b64;
    margin: 0 0 22px;
}
.pfh-intro {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin: 0;
}
.pfh-hero-media { border-radius: 14px; overflow: hidden; }
.pfh-img-placeholder {
    width: 100%;
    aspect-ratio: 748 / 480;
    background: #eef0f3;
    border: 1px dashed #c4cad2;
    border-radius: 14px;
    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;
}

/* Metric groups — stacked single column (one below the other) */
.pfh-metrics { padding: 30px 0 90px; }
.pfh-groups {
    display: block;
}
.pfh-group {
    padding: 30px 0 34px;
    border-top: 1px solid rgba(0, 121, 121, 0.18);
}
.pfh-group-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px; font-weight: 700;
    line-height: 1.25;
    color: var(--brand-teal);
    margin: 0 0 24px;
}

/* Stat cards — 3-up grid */
.pfh-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.pfh-stat {
    padding: 0 18px 0 0;
}
.pfh-num {
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.05;
    color: var(--brand-green);
    letter-spacing: .3px;
    margin-bottom: 12px;
}
.pfh-cur { font-size: .82em; font-weight: 700; margin-right: 4px; }
.pfh-unit { font-size: .5em; font-weight: 700; }
.pfh-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.5; color: #000000;
}
.pfh-label::before {
    content: "";
    display: inline-block;
    width: 18px; height: 3px;
    border-radius: 2px;
    background: var(--brand-cyan);
    vertical-align: middle;
    margin-right: 8px;
}
.pfh-note {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.6; color: #555;
    margin: 18px 0 0;
}

/* Awards — same 3-up card grid */
.pfh-awards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.pfh-award {
    padding: 0 18px 0 0;
}
.pfh-award-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700;
    line-height: 1.3;
    color: var(--brand-teal);
    margin: 0 0 12px;
}
.pfh-award-desc {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.5; color: #000000;
    margin: 0;
}
.pfh-award-desc::before {
    content: "";
    display: inline-block;
    width: 18px; height: 3px;
    border-radius: 2px;
    background: var(--brand-cyan);
    vertical-align: middle;
    margin-right: 8px;
}

/* ============================================================
   MESSAGE FROM THE CHAIRMAN
   ============================================================ */
.cm-page { background: #ffffff; }
.cm-hero, .cm-content { background: transparent; }
.cm-hero { padding: 130px 0 30px; }

/* Hero — title + author (left) | portrait (right) */
.cm-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 748px;
    gap: 56px;
    align-items: center;
}
.cm-eyebrow {
    display: block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 16px;
}
.cm-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 700;
    line-height: 1.12;
    color: #046b64;
    margin: 0 0 26px;
}
.cm-author { display: flex; flex-direction: column; }
.cm-author-name {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-weight: 700; color: #1a1a1a;
}
.cm-author-role {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; color: #555; margin-top: 4px;
}
.cm-hero-media { border-radius: 14px; overflow: hidden; }
/* Real hero banner image (748x480) — replaces the dashed placeholder once an asset is supplied */
.hero-banner-img { width: 100%; height: auto; aspect-ratio: 748 / 480; object-fit: cover; border-radius: 14px; display: block; }
.cd-banner-img { background: #0a7ab8; }
.ohs-banner-img { background: #097ab8; }
.csr-banner-img { background: #097ab8; }

/* ===== ESG banner heroes — reference (Green Energy) style: light-tint bg, plain full-width GIF, cyan title ===== */
.cm-hero.esgb-hero { background: #e3f1fa; padding: 130px 0 0; }
.cm-hero.esgb-hero .cm-hero-grid { grid-template-columns: 1fr 1.3fr; gap: 40px; align-items: end; }
.cm-hero.esgb-hero .cm-hero-text { align-self: center; padding: 4px 0 46px; }
.cm-hero.esgb-hero .cm-hero-media { align-self: end; border-radius: 0; overflow: visible; background: none; }
.cm-hero.esgb-hero .cm-hero-media img { width: 100%; height: auto; display: block; aspect-ratio: auto; object-fit: contain; border-radius: 0; background: none; }
.cm-hero.esgb-hero .cm-eyebrow { color: #1a1a1a; }
.cm-hero.esgb-hero .cm-title { color: #097ab8; }
#esgHero .cm-title, #envHero .cm-title { color: #046b64; }
.cm-hero.esgb-hero--gov { background: #fdeee1; }
.cm-hero.esgb-hero--gov .cm-title { color: #d2691e; }
@media (max-width: 900px) { .cm-hero.esgb-hero .cm-hero-grid { grid-template-columns: 1fr; gap: 16px; } .cm-hero.esgb-hero .cm-hero-text { padding: 0 0 20px; } }
.rs-banner-img { background: #097ab8; }
.csr-sdg-img { display: block; width: 100%; height: auto; max-width: 220px; }
.cm-body a.txtlink { color: #097ab8; font-weight: 400; text-decoration: underline !important; transition: color .2s; }
.cm-body a.txtlink:hover { color: var(--brand-teal); }
#govContent a.txtlink { color: #097ab8; font-weight: 400; text-decoration: underline !important; transition: color .2s; }
#govContent a.txtlink:hover { color: var(--brand-teal); }
/* CSR case-study card — thin teal border, tight heading gap */
.cm-body .csr-casebox { border: 1px solid #2b9a9a; border-radius: 10px; padding: 22px 30px 24px; margin: 26px 0; background: #f6fcfc; }
.cm-body .csr-casebox .csr-casestudy { margin: 0 0 4px; }
.cm-body .csr-casebox .emp-hd { margin: 2px 0 12px; }
.cm-body .csr-casebox p:last-child { margin-bottom: 0; }
.cm-body .rs-keyicon:has(img) { border: none; background: none; }
.cm-body .rs-keyicon img { width: 30px; height: 30px; object-fit: contain; display: block; }
/* Real content image (photo / diagram) that replaces a dashed content placeholder */
.content-img { width: 100%; height: auto; display: block; border-radius: 10px; }
/* Square/tall diagrams: cap size and centre so they don't dominate the flow */
.content-img--center { max-width: 620px; margin-left: auto; margin-right: auto; }
.cm-img-placeholder {
    width: 100%;
    height: auto;
    aspect-ratio: 748 / 480;
    background: #eef0f3;
    border: 1px dashed #c4cad2;
    border-radius: 14px;
    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;
}

/* Letter body — full width, left aligned (same format as other pages) */
.cm-content { padding: 20px 0 90px; }
.cm-body { max-width: 100%; margin: 0; }
.cm-body > p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #000000;
    margin: 0 0 20px;
}
/* Heading-tier paragraphs must keep their brand colour even as direct children of .cm-body */
.cm-body > .emp-eyebrow { color: #000000; }
.cm-body > .emp-grn { color: #00a58f; }
/* doc 111: solid blue section band/pill — white bold (e.g. Safety Training Footprint) */
.cm-body .ohs-band { display: inline-block; background: #0979b7; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.3; padding: 9px 24px; border-radius: 4px; margin: 38px 0 18px; }
/* doc 114: CSR focus-areas table — centred headings, left-aligned content */
.cm-body .csr-focustable thead th { text-align: center; vertical-align: middle; }
.cm-body .csr-focustable tbody td { text-align: left; vertical-align: top; }
/* doc 115: Stakeholder table — all cells left-aligned (matches PDF) */
.cm-body .csr-lefttable th, .cm-body .csr-lefttable td { text-align: left; vertical-align: top; }
/* doc 114: SDG icon placeholders inside the CSR focus-areas table (user swaps for real icons) */
.cm-body .csr-sdg { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-start; }
.cm-body .csr-sdg .csr-sdg-ico { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: #eef2f4; border: 1px dashed #b3c2c8; border-radius: 5px; font-family: 'Noto Sans', sans-serif; font-size: 11px; font-weight: 700; color: #5a6b72; }
/* RS: Supplier Classification — bordered box, centred tab header, 3 divided columns */
.cm-body .rs-classbox { position: relative; border: 1.5px solid #17b3d1; border-radius: 8px; padding: 40px 20px 24px; margin: 34px 0 24px; }
.cm-body .rs-classbox > .ohs-band { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); margin: 0; }
.cm-body .rs-classgrid { display: grid; grid-template-columns: repeat(3, 1fr); }
.cm-body .rs-classcol { padding: 4px 26px; border-left: 1px solid #d6e4e9; }
.cm-body .rs-classcol:first-child { border-left: none; }
.cm-body .rs-classhd { font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; color: #00a58f; margin: 0 0 10px; }
.cm-body .rs-classcol .emp-bullets { margin: 0; }
/* RS: Onboarding Process Flow — stepped cards with green L-accent */
.cm-body .rs-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin: 18px 0 6px; }
.cm-body .rs-flowitem { background: #fff; border: 1px solid #ececec; border-left: 3px solid #91b481; border-bottom: 3px solid #91b481; box-shadow: 2px 3px 7px rgba(0,0,0,0.05); padding: 20px 14px; display: flex; align-items: center; justify-content: center; text-align: center; }
.cm-body .rs-flowitem p { font-family: 'Noto Sans', sans-serif; font-weight: 600; font-size: 14px; color: #1a1a1a; margin: 0; line-height: 1.4; }
/* RS: New Supplier Screening Parameters — light-teal cards, teal bottom border, 3x2 */
.cm-body .rs-paramgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 18px 0 6px; }
.cm-body .rs-paramcard { background: #eaf6fb; border-bottom: 3px solid #17b3d1; padding: 22px 16px; display: flex; align-items: center; justify-content: center; text-align: center; }
.cm-body .rs-paramcard p { font-family: 'Noto Sans', sans-serif; font-weight: 600; font-size: 15px; color: #1a1a1a; margin: 0; line-height: 1.4; }
@media (max-width: 991px) { .cm-body .rs-classgrid, .cm-body .rs-paramgrid { grid-template-columns: 1fr 1fr; } .cm-body .rs-flow { grid-template-columns: repeat(2, 1fr); } .cm-body .rs-classcol { border-left: none; } }
@media (max-width: 575px) { .cm-body .rs-classgrid, .cm-body .rs-paramgrid, .cm-body .rs-flow { grid-template-columns: 1fr; } }
/* RS: Key Elements box — bordered box, blue tab header, 3x2 label+icon grid */
.cm-body .rs-keybox { position: relative; border: 1px solid #d3dbdf; border-radius: 8px; padding: 36px 28px 22px; margin: 34px 0 24px; }
.cm-body .rs-keybox > .ohs-band { position: absolute; top: -18px; left: 18px; margin: 0; }
.cm-body .rs-keygrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 44px; }
.cm-body .rs-keyitem { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid #17b3d1; padding: 16px 2px; }
.cm-body .rs-keylabel { font-family: 'Noto Sans', sans-serif; font-weight: 600; font-size: 15px; color: #1a1a1a; line-height: 1.35; }
.cm-body .rs-keyicon { flex: none; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; background: #eef7fb; border: 1px dashed #a9c7d4; border-radius: 6px; font-family: 'Noto Sans', sans-serif; font-size: 9px; font-weight: 600; color: #7d97a3; }
@media (max-width: 767px) { .cm-body .rs-keygrid { grid-template-columns: 1fr; } }
/* RS: image + pull-quote side by side (smaller image on the left, quote beside it) */
#rsContent .rs-imgquote { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 38px; align-items: center; margin: 24px 0; }
#rsContent .rs-imgquote .emp-photo { margin: 0; }
#rsContent .rs-imgquote .glance-img-placeholder { height: 300px; }
#rsContent .rs-imgquote .ohs-pullquote { margin: 0; }
@media (max-width: 767px) { #rsContent .rs-imgquote { grid-template-columns: 1fr; } }
/* Framework cards laid out as a single horizontal row (Responsible Sourcing focus areas) */
.cm-body .ohs-fw--row { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 991px) { .cm-body .ohs-fw--row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { .cm-body .ohs-fw--row { grid-template-columns: 1fr; } }
/* Long meta lists (e.g. Governance M1-M19 / R1-R11) in two columns */
.cm-body .env-list--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 22px; align-content: start; }
/* Governance page: orange pillar theme (title, main headings, band, stat numbers, pull-quote) */
#govHero .cm-title { color: #f47724; }
#bmHero .cm-title { color: #007979; } /* match Business Model PDF hero teal */
#govContent .emp-hd { color: #f47721; }
#govContent .env-hl-num { color: #f47721; }
#govContent .ohs-band { background: #f47721; }
#govContent .ohs-pullquote { color: #f47721; }
#govContent .ohs-pullquote::before { color: #f47721; }
#govContent figure.emp-photo { margin: 20px 0 6px; }
#govContent figure.emp-photo .glance-img-placeholder { height: 380px; min-height: 0; aspect-ratio: auto; }
#govContent .ohs-band { margin: 26px 0 14px; }
#govContent .csr-casestudy { margin: 24px 0 12px; }
/* CSR / Responsible Sourcing pages: tighten vertical gaps — smaller full-width placeholders + trimmer label/figure margins */
#csrContent figure.emp-photo, #rsContent figure.emp-photo { margin: 20px 0 6px; }
#csrContent figure.emp-photo .glance-img-placeholder { height: 380px; min-height: 0; aspect-ratio: auto; }
/* RS: full-width photo placeholders at 1296x600, side-by-side image kept small */
#rsContent figure.emp-photo .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 600; }
#rsContent .rs-imgquote figure.emp-photo .glance-img-placeholder { aspect-ratio: auto; height: 340px; }
#csrContent .ohs-band, #rsContent .ohs-band { margin: 26px 0 14px; }
#csrContent .csr-casestudy { margin: 24px 0 12px; }
#rsContent .csr-casestudy { margin: 22px 0 4px; }
#rsContent .csr-casestudy + h2 { margin-top: 2px; }
/* doc 117-118: bordered callout box (Notable Recognitions, Story of Change) */
.cm-body .csr-notebox { background: #e9f6fb; border: 1.5px solid #12b6d4; border-radius: 8px; padding: 20px 26px; margin: 28px 0; }
.cm-body .csr-notebox > :first-child { margin-top: 0; }
.cm-body .csr-notebox > :last-child { margin-bottom: 0; }
/* doc 120: Case Study label — teal two-line with left accent bar */
.cm-body .csr-casestudy { position: relative; padding-left: 15px; margin: 32px 0 14px; }
.cm-body .csr-casestudy::before { content: ''; position: absolute; left: 0; top: 2px; bottom: 2px; width: 5px; background: #007979; }
.cm-body .csr-casestudy span { display: block; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; line-height: 1.08; letter-spacing: .06em; color: #007979; text-transform: uppercase; }
/* Key Highlights stat cards (multi-stat blocks fill the row) */
.cm-body .csr-statcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(158px, 1fr)); gap: 14px; margin: 16px 0 10px; }
.cm-body .csr-statcard { background: #f1f8fb; border-top: 3px solid #0093c4; border-radius: 7px; padding: 15px 18px; }
.cm-body .csr-statcard .csr-statnum { display: block; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 26px; color: #0093c4; line-height: 1.1; }
.cm-body .csr-statcard .csr-statlbl { display: block; margin-top: 7px; font-size: 13px; color: #333333; line-height: 1.42; }
/* Our CSR Impact — two tables side by side + highlighted delta */
.cm-body .csr-impactcols { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: start; margin: 6px 0 4px; }
.cm-body .csr-impactcols > div { min-width: 0; }
.cm-body .csr-impact-highlight { display: inline-flex; align-items: center; gap: 16px; background: #eaf6f4; border-left: 5px solid #007979; border-radius: 7px; padding: 15px 24px; margin: 30px 0 8px; }
.cm-body .csr-impact-highlight .csr-ih-num { font-family: 'Noto Sans', sans-serif; font-weight: 800; font-size: 30px; color: #007979; line-height: 1; }
.cm-body .csr-impact-highlight .csr-ih-lbl { font-size: 14px; color: #333333; max-width: 300px; line-height: 1.4; }
@media (max-width: 640px) { .cm-body .csr-impactcols { grid-template-columns: 1fr; } }
/* doc 118: Story of Change / Action on Ground — two-tone label with left accent bar */
.cm-body .csr-soc { position: relative; padding-left: 16px; margin: 34px 0 16px; }
.cm-body .csr-soc::before { content: ''; position: absolute; left: 0; top: 3px; bottom: 3px; width: 5px; background: #00b4d8; }
.cm-body .csr-soc span { display: block; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 20px; line-height: 1.15; letter-spacing: .02em; }
.cm-body .csr-soc .csr-soc-1 { color: #097ab8; }
.cm-body .csr-soc .csr-soc-2 { color: #00b4d8; }
.cm-salute {
    font-weight: 700 !important;
    color: var(--brand-teal) !important;
    font-size: 18px !important;
}

/* Emphasis line groups — plain body text (as in the PDF) */
.cm-emph {
    margin: 0 0 20px;
}
.cm-emph p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #000000;
    margin: 0 0 20px;
}
.cm-emph p:last-child { margin-bottom: 0; }

/* Pull quotes — grey with a short teal underline (as in the PDF) */
.cm-quote {
    margin: 34px 0;
    padding: 0;
    border: none;
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 700;
    font-style: normal;
    line-height: 1.4;
    color: #808285;
}
.cm-quote::after {
    content: "";
    display: block;
    width: 64px; height: 3px;
    background: var(--brand-teal);
    margin-top: 18px;
}
.cm-quote--cyan { color: var(--brand-cyan); }
.cm-quote--cyan::after { display: none; }
.cm-quotefig { margin: 34px 0; }
.cm-quotefig .cm-quote { margin: 0; }
.cm-quote-icon { display: block; margin-bottom: 14px; }
.cm-quote-icon svg { display: block; }
.cm-quote-icon img { display: block; height: 36px; width: auto; }

/* Section sub-headings (teal) */
.cm-subhead {
    font-family: 'Noto Sans', sans-serif;
    font-size: 22px; font-weight: 700;
    line-height: 1.25;
    color: var(--brand-teal);
    margin: 40px 0 18px;
}
/* ATGL at a Glance: section subheadings in black (per reference) */
#glanceContent .cm-subhead { color: #000000; }
/* Strategic pillar headings (black, as in the PDF) */
.cm-pillar {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    line-height: 1.3;
    color: #000000;
    margin: 26px 0 10px;
}
/* Single centred-left callout */
.cm-stats--single { grid-template-columns: auto; }

/* SOUL digital platform diagram */
.ceo-soul {
    position: relative;
    width: 300px; height: 250px;
    margin: 24px 0 32px;
}
.ceo-soul-node {
    position: absolute;
    width: 88px; height: 88px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 700; font-size: 15px;
    letter-spacing: .5px;
}
.ceo-soul-top {
    top: 0; left: 50%; transform: translateX(-50%);
    background: #e9edf0; color: #4a4a4a;
}
.ceo-soul-center {
    top: 80px; left: 50%; transform: translateX(-50%);
    width: 104px; height: 104px;
    background: var(--brand-teal); color: #ffffff;
    font-size: 22px; z-index: 2;
    box-shadow: 0 8px 20px rgba(0, 121, 121, 0.25);
}
.ceo-soul-left {
    bottom: 0; left: 20px;
    background: #eafaf8; color: var(--brand-teal);
    border: 2px solid var(--brand-cyan);
}
.ceo-soul-right {
    bottom: 0; right: 20px;
    background: #eef6ea; color: #5a8a4a;
    border: 2px solid #91b481;
}
.cm-quote-by {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #000000;
    margin: 14px 0 0;
}

/* Stat callouts — teal text (as in the PDF) */
.cm-stats {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    column-gap: 70px;
    row-gap: 24px;
    margin: 34px 0;
}
.cm-stat {
    background: transparent;
    border: none;
    padding: 0;
}
.cm-stat-num {
    font-family: 'Noto Sans', sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.05;
    color: var(--brand-green);
    margin-bottom: 12px;
}
.cm-stat-cur { font-size: .82em; font-weight: 700; margin-right: 4px; }
.cm-stat-unit { font-size: .5em; font-weight: 700; }
.cm-stat-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.5; color: #000000;
    max-width: 250px;
}
.cm-stat-label::before {
    content: "";
    display: inline-block;
    width: 18px; height: 3px;
    border-radius: 2px;
    background: var(--brand-cyan);
    vertical-align: middle;
    margin-right: 8px;
}

/* Gratitude list */
.cm-gratitude {
    list-style: none;
    margin: 4px 0 26px;
    padding: 0;
}
.cm-gratitude li {
    position: relative;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; color: #000000;
    padding: 0 0 16px 26px;
}
.cm-gratitude li:last-child { padding-bottom: 0; }
.cm-gratitude li::before {
    content: "";
    position: absolute;
    left: 0; top: 11px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--brand-teal);
}
.cm-gratitude strong { color: #000000; font-weight: 400; }

/* Sign off */
.cm-signoff {
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}
.cm-thanks, .cm-jaihind {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 400; color: #000000;
    margin: 0 0 4px;
}
.cm-jaihind { margin-bottom: 20px; }
.cm-sign { display: flex; flex-direction: column; }
.cm-sign-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: var(--brand-teal);
    margin-bottom: 2px;
}
.cm-sign-role {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; color: #000000; margin-top: 2px;
}

/* ============================================================
   ATGL AT A GLANCE
   ============================================================ */
.glance-lead {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    line-height: 1.5;
    color: var(--brand-cyan);
    margin: 0 0 18px;
}
.glance-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-bottom: 30px;
}
.glance-intro-left p:not(.glance-lead),
.glance-intro-right p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.8; color: #000000;
    margin: 0 0 20px;
}
.glance-intro-right p:last-child { margin-bottom: 0; }

/* Figures / captions */
.glance-figure { margin: 20px 0 10px; }
.glance-img-placeholder {
    width: 100%;
    height: 420px;
    background: #eef0f3;
    border: 1px dashed #c4cad2;
    border-radius: 14px;
    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;
}
.glance-img-placeholder--diagram { height: 340px; }
/* One placeholder box split into two equal halves (e.g. two charts side by side) */
.te-split-ph { display: flex; align-items: center; padding: 0; overflow: hidden; background: #eef0f3; border-radius: 14px; }
.te-split-half { flex: 1 1 50%; display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px; }
.te-split-half .content-img { max-height: 360px; object-fit: contain; }
@media (max-width: 767px) {
	.te-split-ph { flex-direction: column; height: auto; aspect-ratio: auto; }
	.te-split-half { flex: 1 1 auto; width: 100%; padding: 24px 16px; }
}
.glance-caption {
    display: flex; align-items: center;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #000000;
    margin-top: 12px;
}
.glance-cap-dash {
    display: inline-block;
    width: 22px; height: 4px; border-radius: 2px;
    background: var(--brand-teal);
    margin-right: 10px;
}

/* Shareholding row (3 callouts) */
.glance-share {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    column-gap: 64px; row-gap: 24px;
    margin: 22px 0 10px;
}

/* Business structure groups */
.glance-struct {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 48px;
    margin: 28px 0 10px;
}
.glance-struct-cat {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700;
    color: var(--brand-teal);
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0, 121, 121, 0.18);
}
.glance-ent {
    display: flex; align-items: center; gap: 16px;
    margin-bottom: 14px;
}
.glance-ent:last-child { margin-bottom: 0; }
.glance-ent-badge {
    flex-shrink: 0;
    width: 52px; height: 52px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--brand-teal); color: #ffffff;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700;
}
.glance-ent-badge--empty {
    background: transparent;
    border: 2px dashed rgba(0, 121, 121, 0.35);
}
.glance-ent-txt { display: flex; flex-direction: column; }
.glance-ent-name {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; color: #000000;
}
.glance-ent-desc {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #444; margin-top: 2px;
}

/* City Gas Distribution grid */
.glance-cgd-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 48px;
    margin-top: 24px;
}
.glance-item-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; font-weight: 700;
    color: var(--brand-teal);
    margin: 0 0 10px;
}
.glance-cgd-item p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; line-height: 1.75; color: #000000;
    margin: 0;
}

/* ATGL hero — allow caption below the banner image */
#glanceHero .cm-hero-media { overflow: visible; }

/* ============================================================
   GEOGRAPHICAL PRESENCE
   ============================================================ */
.geo-intro {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; line-height: 1.7; font-weight: 600;
    color: #000000;
    margin: 18px 0 0;
}
#geoHero .cm-hero-media { overflow: visible; }
.geo-legend {
    display: flex; flex-wrap: wrap; gap: 10px 22px;
    margin-top: 16px;
}
.geo-legend-item {
    display: inline-flex; align-items: center;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #000000;
}
.geo-legend-dot {
    width: 11px; height: 11px; border-radius: 50%;
    margin-right: 8px;
}
.geo-note {
    font-family: 'Noto Sans', sans-serif;
    font-size: 12px; color: #6b7681;
    margin: 10px 0 0;
}

/* Metrics band (CGD / BIO / EV) */
.geo-metrics {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    align-items: start;
    background: linear-gradient(180deg, #f2faf9 0%, #eaf5f4 100%);
    border: 1px solid rgba(0, 121, 121, 0.12);
    border-radius: 16px;
    padding: 36px 24px;
    margin: 30px 0;
}
.geo-metric-group {
    padding: 0 34px;
    border-left: 1px solid rgba(0, 121, 121, 0.16);
}
.geo-metric-group:first-child { border-left: none; }
.geo-cat {
    display: inline-block;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; font-weight: 700; letter-spacing: 1.5px;
    color: var(--brand-teal);
    padding-bottom: 8px; margin-bottom: 22px;
    border-bottom: 2px solid var(--brand-teal);
}
.geo-stats { grid-template-columns: 1fr 1fr; column-gap: 28px; row-gap: 26px; }

/* Tables */
.geo-table-wrap { overflow-x: auto; margin: 6px 0 20px; }
.geo-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Noto Sans', sans-serif;
}
.geo-table thead th {
    font-size: 18px; font-weight: 700;
    color: var(--brand-teal);
    text-align: left;
    padding: 13px 18px;
    border-bottom: 2px solid var(--brand-teal);
    white-space: nowrap;
}
/* Table header colour — cyan for both tables */
.geo-table--cyan thead th,
.geo-table--green thead th { color: var(--brand-cyan); border-bottom-color: var(--brand-cyan); }
.geo-table tbody td {
    font-size: 18px; line-height: 1.55; color: #000000;
    padding: 12px 18px;
    border-bottom: 1px solid #e4e7ea;
    vertical-align: top;
}
.geo-table tbody tr:hover { background: rgba(0, 121, 121, 0.04); }
.geo-table tbody td.geo-sno { color: var(--brand-cyan); font-weight: 700; }
.geo-table .geo-sno { width: 66px; white-space: nowrap; }
.geo-table th:last-child, .geo-table td:last-child { white-space: nowrap; }
.geo-foot {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px; color: #6b7681;
    margin: 6px 0 0;
}

/* Geographical Presence — map (left) with stat numbers stacked vertically (right) */
.geo-map-title { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--brand-teal); text-align: left; margin: 22px 0 6px; }
.geo-map-row { display: flex; align-items: flex-start; justify-content: center; gap: 90px; margin: 0 0 34px; }
.geo-map { margin: 0; flex: 0 1 auto; min-width: 0; }
.geo-map .content-img { display: block; height: 720px; width: auto; max-width: 100%; margin: 0 auto; }

/* Right-side metrics: stacked vertically, compact, no box */
.geo-map-row .geo-metrics { flex: 0 0 250px; max-width: 250px; display: block; background: none; border: none; border-radius: 0; padding: 0; margin: 0; align-self: center; }
.geo-map-row .geo-metric-group { padding: 0; border-left: none; margin-bottom: 24px; }
.geo-map-row .geo-metric-group:last-child { margin-bottom: 0; }
.geo-map-row .cm-stats { margin: 0; }
.geo-map-row .geo-stats { grid-template-columns: 1fr; column-gap: 0; row-gap: 16px; }
.geo-map-row .geo-cat { margin-bottom: 14px; }
.geo-map-row .cm-stat-num { font-size: 26px; margin-bottom: 5px; }
.geo-map-row .cm-stat-label { font-size: 15px; }

@media (max-width: 860px) {
    .geo-map-row { flex-direction: column; gap: 26px; align-items: stretch; }
    .geo-map-row .geo-metrics { flex: 1 1 auto; max-width: 100%; align-self: stretch; }
    .geo-map .content-img { display: block; height: auto; width: 100%; max-width: 480px; margin: 0 auto; }
}
.geo-map-placeholder {
    width: 100%;
    height: 560px;
    background: #eef0f3;
    border: 1px dashed #c4cad2;
    border-radius: 14px;
    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;
}

/* ============================================================
   INVESTMENT CASE
   ============================================================ */
/* Key Transition Milestone */
.inv-milestone {
    border: 1px solid rgba(0, 121, 121, 0.16);
    border-radius: 14px; overflow: hidden;
    margin: 6px 0 36px;
}
.inv-milestone-tag {
    display: block; background: var(--brand-teal); color: #fff;
    font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px;
    padding: 13px 24px;
}
.inv-milestone-body { padding: 22px 24px; }
.inv-milestone-num {
    font-family: 'Noto Sans', sans-serif; font-size: 42px; font-weight: 800;
    color: var(--brand-green); line-height: 1; margin-bottom: 12px;
}
.inv-milestone-desc { font-family: 'Noto Sans', sans-serif; font-size: 18px; line-height: 1.65; color: #000; margin: 0; }

/* Quantifying the Opportunity */
.inv-qo-title { margin: 14px 0 26px; }
.inv-qo-title span {
    display: inline-block; background: var(--brand-green); color: #fff;
    font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px;
    padding: 11px 22px; border-radius: 4px;
}
.inv-qo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, auto);
    column-gap: 44px; row-gap: 24px;
    margin-bottom: 18px;
}
.inv-qo-col {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    row-gap: 24px;
}
.inv-col-title {
    font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700;
    color: var(--brand-teal); margin: 0;
}
.inv-qo-col .cm-stat { margin-bottom: 0; }
.inv-qo-col .cm-stat-num sup { font-size: .55em; }

/* L-CNG image + ATGL callout */
.inv-hero-media-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 30px; align-items: stretch; margin: 30px 0 40px; }
.inv-atgl-callout {
    background: #eafaf8; border: 1px solid var(--brand-cyan);
    border-radius: 12px; padding: 26px 28px;
}
.inv-atgl-callout p {
    font-family: 'Noto Sans', sans-serif; font-size: 18px; line-height: 1.7;
    font-weight: 600; color: var(--brand-cyan); margin: 0;
}

/* Investment Case blocks */
.inv-case {
    border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 14px;
    padding: 0 32px 32px; margin: 34px 0;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.inv-case-head {
    display: flex; align-items: stretch;
    margin: 0 -32px 26px; border-bottom: 3px solid var(--brand-green);
}
.inv-case-tag {
    background: var(--brand-green); color: #fff;
    font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px;
    padding: 15px 24px; display: flex; align-items: center; white-space: nowrap;
}
.inv-case-title {
    font-family: 'Noto Sans', sans-serif; font-size: clamp(18px, 2.1vw, 22px);
    font-weight: 700; color: var(--brand-teal); line-height: 1.25;
    margin: 0; padding: 15px 24px; display: flex; align-items: center;
}
.inv-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.7; color: #000; margin: 0 0 20px; }
.inv-subhead { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-teal); margin: 28px 0 14px; }
.inv-subhead-sm { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-green); margin: 0 0 16px; }
.inv-subhead--dark { color: #000000; }

/* Bullet lists */
.inv-list { list-style: none; margin: 0 0 20px; padding: 0; }
.inv-list li {
    position: relative; font-family: 'Noto Sans', sans-serif;
    font-size: 18px; line-height: 1.7; color: #000; padding: 0 0 12px 24px;
}
.inv-list li:last-child { padding-bottom: 0; }
.inv-list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; background: var(--brand-teal); }
.inv-list strong { color: #000000; font-weight: 700; }

/* Focus areas — bar charts */
.inv-focus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 44px; margin-bottom: 10px; }
.inv-metric { margin-bottom: 8px; }
.inv-metric-cat { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000; margin: 0 0 6px; min-height: 20px; }
.inv-metric-name { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000; margin: 0; }
.inv-metric-unit { font-weight: 400; color: #666; font-size: 16px; }
.inv-bars { margin: 14px 0 12px; }
.inv-bar-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.inv-bar-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000; width: 40px; flex-shrink: 0; }
.inv-bar-track { flex: 1; height: 22px; background: #f0f2f4; border-radius: 2px; overflow: hidden; }
.inv-bar-fill { display: block; height: 100%; border-radius: 2px; }
.inv-bar-fill--cur { background: var(--brand-cyan); }
.inv-bar-fill--prev { background: #cfe8d5; }
.inv-bar-val { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000; width: 58px; text-align: right; flex-shrink: 0; }
.inv-target { margin-top: 12px; }
.inv-target-num { font-family: 'Noto Sans', sans-serif; font-size: 30px; font-weight: 800; color: var(--brand-green); line-height: 1; margin-bottom: 10px; }
.inv-target-num .cm-stat-unit { font-size: .5em; font-weight: 700; }

/* Outcome stats — flexible left-aligned row */
.inv-outcome { display: flex; flex-wrap: wrap; gap: 26px 48px; margin-top: 4px; }
.inv-outcome .cm-stat { flex: 0 0 auto; min-width: 190px; max-width: 280px; }

/* IC4 image pair */
.inv-media-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 26px; }

/* Investment Case — banner caption */
#invHero .cm-hero-media { overflow: visible; }

/* ============================================================
   BUSINESS ENABLERS (tabbed)
   ============================================================ */
.be-nav { background: #fff; border-bottom: 1px solid #e2e8f0; position: sticky; top: 0; z-index: 40; }
.be-nav-scroll { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0; scrollbar-width: thin; }
.be-tab {
    flex: 0 0 auto; border: none; background: transparent;
    padding: 9px 18px; border-radius: 40px;
    font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 600;
    color: #33403b; white-space: nowrap; cursor: pointer;
    transition: background .2s, color .2s;
}
.be-tab:hover { background: #eef5fb; color: #2f6fb0; }
.be-tab.is-active { background: #424089; color: #fff; }

.be-panel { display: none; }
.be-panel.is-active { display: block; animation: beFade .3s ease; }
@keyframes beFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.be-panel-head { display: flex; align-items: center; gap: 16px; margin: 0 0 26px; padding-bottom: 18px; border-bottom: 3px solid var(--brand-teal); }
.be-panel-num { flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--brand-teal); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans', sans-serif; font-weight: 800; font-size: 20px; }
.be-panel-title { font-family: 'Noto Sans', sans-serif; font-size: clamp(21px, 2.6vw, 30px); font-weight: 700; color: var(--brand-teal); margin: 0; line-height: 1.2; }
.be-panel > p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.8; color: #000; margin: 0 0 18px; }
/* content sub-headings — black (matches the PDF majority) */
#beContent .inv-subhead { font-size: 18px; margin: 26px 0 12px; }
.be-subhead-b { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 22px 0 10px; }
/* Pillar main headings (Customer Delight) — larger, teal, underlined to stand apart from sub-headings */
.be-pillar-head { font-family: 'Noto Sans', sans-serif; font-size: 20px; font-weight: 700; color: var(--brand-teal); margin: 40px 0 16px; padding-bottom: 9px; border-bottom: 2px solid rgba(15, 184, 204, 0.4); }
.be-subhead-s { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 20px 0 8px; }
.be-listhead { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 8px 0 8px; }
/* Delivering Consistent Customer Value — icon infographic box */
.be-cvalue { position: relative; margin: 34px 0 30px; border: 1.5px solid var(--brand-cyan); border-radius: 16px; padding: 46px 16px 18px; }
.be-cvalue-tab { position: absolute; top: -16px; left: 18px; background: #ffffff; padding: 6px 30px 6px 8px; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-green); line-height: 1.2; white-space: nowrap; }
.be-cvalue-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5px; background: var(--brand-cyan); border-radius: 6px; overflow: hidden; }
.be-cvalue-item { background: #ffffff; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 15px; padding: 26px 12px 30px; }
.be-cvalue-ico { width: 60px; height: 60px; border-radius: 12px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); position: relative; flex: none; }
.be-cvalue-ico::after { content: 'icon'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans', sans-serif; font-size: 10px; letter-spacing: 0.5px; text-transform: uppercase; color: rgba(0, 121, 121, 0.6); }
/* Real icon supplied inside the chip: drop the dashed 'icon' placeholder styling */
.be-cvalue-ico:has(img) { border-color: transparent; }
.be-cvalue-ico:has(img)::after { content: none; }
.be-cvalue-ico img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 11px; }
.be-cvalue-label { font-family: 'Noto Sans', sans-serif; font-size: 18px; line-height: 1.34; color: #000000; max-width: 16ch; }
/* This Four Pillar Guide — flow diagram */
.be-pillars { display: flex; align-items: stretch; flex-wrap: nowrap; margin: 22px 0 20px; }
.be-pillar { flex: 1 1 0; min-width: 0; background: #ffffff; border-left: 2px solid var(--brand-cyan); border-bottom: 4px solid var(--brand-cyan); padding: 8px 16px 18px; min-height: 92px; display: flex; align-items: flex-start; }
.be-pillar-txt { font-family: 'Noto Sans', sans-serif; font-size: 18px; line-height: 1.34; color: #000000; }
.be-pillar-arrow { flex: 0 0 auto; align-self: center; color: #91b481; font-size: 20px; line-height: 1; padding: 0 12px; }
/* metrics band */
.be-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 40px; margin: 12px 0 24px; }
/* Digital Adoption: 2-column stats beside the vertical Mitra kiosk image */
.be-metrics-row { display: flex; gap: 48px; align-items: center; margin: 12px 0 24px; }
.be-metrics-row .be-metrics { flex: 1 1 auto; grid-template-columns: repeat(2, 1fr); gap: 30px 40px; margin: 0; }
.be-metrics-fig { flex: 0 0 340px; margin: 0; }
.be-metrics-fig .content-img { width: 100%; max-width: 340px; border-radius: 10px; }
.be-metrics-fig .glance-caption { margin-top: 10px; }
@media (max-width: 900px) {
	.be-metrics-row { flex-direction: column; align-items: flex-start; gap: 22px; }
	.be-metrics-row .be-metrics { width: 100%; }
	.be-metrics-fig { flex-basis: auto; }
	.be-metrics-fig .content-img { max-width: 420px; }
}
/* executive attribution */
.be-by { border-top: 1px solid rgba(0, 0, 0, 0.12); margin-top: 24px; padding-top: 16px; display: flex; flex-direction: column; }
.be-by-name { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); }
.be-by-role { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000; margin-top: 2px; }

/* Business Enablers — per-heading colours (matched to the PDF) */
.be-h--teal { color: var(--brand-teal); }
.be-h--green { color: var(--brand-green); }
.be-h--black { color: #000000; }
/* Teal utility must beat the generic ".be-panel > p" black */
.be-panel > p.be-h--teal { color: var(--brand-teal); }

/* Business Enablers — leader-note box (matches the PDF tinted callout) */
.be-note {
    background: linear-gradient(155deg, #eef7f6 0%, #d9edeb 100%);
    border: 1px solid rgba(0, 121, 121, 0.14);
    border-radius: 14px;
    padding: 30px 34px;
    margin: 30px 0 8px;
    box-shadow: 0 10px 30px rgba(0, 121, 121, 0.10);
}
.be-note-icon { display: block; margin-bottom: 18px; }
.be-note-icon svg { display: block; }
.be-note-icon img { display: block; height: 36px; width: auto; }
.be-note p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px; line-height: 1.75; color: #626366;
    margin: 0 0 16px;
}
.be-note p:last-of-type { margin-bottom: 22px; }
.be-note-by {
    padding-left: 16px; border-left: 3px solid var(--brand-teal);
    display: flex; flex-direction: column;
}
.be-note-by-name { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; }
.be-note-by-role { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #626366; margin-top: 2px; }


/* ================= Business Model ================= */
.bm-hero { padding-bottom: 10px; }
.bm-band { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: var(--brand-teal); color: #fff; padding: 13px 24px; border-radius: 6px; margin: 40px 0 26px; }
.bm-band-a { font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; }
.bm-band-b { font-family: 'Noto Sans', sans-serif; font-weight: 600; font-size: 16px; opacity: 0.95; }
.bm-band-arrow { color: #9ad8e3; font-size: 18px; }
.bm-cap-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-bottom: 12px; }
.bm-cap { border: 1px solid rgba(0, 121, 121, 0.14); border-left: 4px solid var(--brand-teal); border-radius: 12px; padding: 22px 26px; background: #fbfdfd; }
.bm-cap-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.bm-cap-ico { width: 44px; height: 44px; border-radius: 10px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); flex: none; position: relative; }
.bm-cap-ico:has(img) { border-color: transparent; background: transparent; }
.bm-cap-ico img { width: 100%; height: 100%; object-fit: contain; }
.bm-cap-name { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-teal); margin: 0; }
.bm-cap-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 36px; }
.bm-cap-col { min-width: 0; }
.bm-sublabel { display: inline-block; font-family: 'Noto Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; color: #797a7d; margin-bottom: 10px; padding-bottom: 5px; border-bottom: 2px solid rgba(15, 184, 204, 0.4); }
.bm-list { list-style: none; margin: 0; padding: 0; }
.bm-list > li { position: relative; padding: 0 0 9px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.46; color: #000000; }
.bm-list > li:last-child { padding-bottom: 0; }
.bm-list > li::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: var(--brand-cyan); }
.bm-sublist { list-style: none; margin: 9px 0 2px; padding: 0; }
.bm-sublist > li { position: relative; padding: 0 0 6px 16px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.42; color: #000000; }
.bm-sublist > li::before { content: ""; position: absolute; left: 0; top: 6px; width: 6px; height: 6px; border-radius: 50%; background: #91b481; }
.bm-cv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 6px 0 30px; }
.bm-cv-grid .content-img { max-width: 420px; margin: 0 auto; }
.bm-cv { display: flex; align-items: center; gap: 22px; border: 1px solid rgba(0, 121, 121, 0.14); border-radius: 14px; padding: 22px 28px; background: #fbfdfd; }
.bm-cv-ring { width: 96px; height: 96px; border-radius: 50%; border: 3px solid var(--brand-cyan); display: flex; align-items: center; justify-content: center; flex: none; }
.bm-cv-ico { width: 46px; height: 46px; border-radius: 8px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); }
.bm-cv-title { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 8px; }
.bm-cv .bm-list > li { display: inline-block; padding: 0 18px 0 16px; }
.bm-subhead { font-family: 'Noto Sans', sans-serif; font-size: 20px; font-weight: 700; color: var(--brand-teal); margin: 34px 0 6px; }
.bm-subhead--black { color: #000000; }
.bm-tagline { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 22px; }
.bm-act-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 6px; }
.bm-act { border: 1px solid rgba(0, 165, 143, 0.18); border-top: 3px solid var(--brand-green); border-radius: 12px; padding: 20px 24px; background: #fbfefd; }
.bm-act-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.bm-act-ico { width: 40px; height: 40px; border-radius: 9px; background: #e9f7f3; border: 1px dashed rgba(0, 165, 143, 0.5); flex: none; }
.bm-act-ico:has(img) { border-color: transparent; background: transparent; }
.bm-act-ico img { width: 100%; height: 100%; object-fit: contain; }
.bm-act-name { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 0; }
.bm-sp-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin: 34px 0 10px; }
.bm-sp-list { display: flex; flex-direction: column; gap: 12px; }
.bm-sp { display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #e8e8e8; padding-bottom: 12px; }
.bm-sp-badge { flex: none; width: 40px; height: 40px; border-radius: 6px; background: #e7f7fa; color: var(--brand-cyan); font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.bm-sp-txt { font-family: 'Noto Sans', sans-serif; font-size: 18px; color: #000000; }
.bm-enablers { display: flex; flex-direction: column; gap: 12px; }
.bm-enabler { display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #e8e8e8; padding-bottom: 12px; }
.bm-enabler-ico { flex: none; width: 40px; height: 40px; border-radius: 8px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); }
.bm-enabler-ico:has(img) { border-color: transparent; background: transparent; }
.bm-enabler-ico img { width: 100%; height: 100%; object-fit: contain; }
.bm-enabler-txt { font-family: 'Noto Sans', sans-serif; font-size: 18px; color: #000000; }
.bm-readmore { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #4d4d4f; margin: 16px 0 0; }
.bm-readmore a { color: var(--brand-cyan); text-decoration: underline !important; text-underline-offset: 2px; font-weight: 400; transition: color .2s; }
.bm-readmore a:hover { color: var(--brand-teal); }


/* ================= Stakeholder Engagement ================= */
.se-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 6px; }
.se-sectitle { font-family: 'Noto Sans', sans-serif; font-size: 19px; font-weight: 700; color: var(--brand-teal); margin: 38px 0 16px; }
.se-gov-title { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 28px 0 12px; }
.se-gov { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(0, 121, 121, 0.3); border-radius: 10px; overflow: hidden; margin-bottom: 30px; }
.se-gov-cell { padding: 20px 22px; border-left: 1px solid rgba(0, 121, 121, 0.16); font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; line-height: 1.42; color: #000000; }
.se-gov-cell:first-child { border-left: 0; }
.se-block { border: 1px solid rgba(0, 121, 121, 0.14); border-radius: 12px; margin-bottom: 18px; overflow: hidden; }
.se-block-tab { background: var(--brand-teal); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px; padding: 12px 24px; }
.se-block-body { display: grid; grid-template-columns: 0.9fr 1fr 1fr; gap: 20px 32px; padding: 22px 26px; }
.se-block-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
.se-ghead { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 0 0 8px; }
.se-mtopics { columns: 3; column-gap: 36px; margin: 4px 0 10px; }
.se-mtopic { break-inside: avoid; display: flex; gap: 10px; padding: 5px 0; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; }
.se-mtopic-code { color: var(--brand-teal); font-weight: 700; flex: none; min-width: 34px; }
.se-caps-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin: 4px 0 8px; }
.se-cap { text-align: center; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.35; color: #000000; }
.se-cap-ico { width: 46px; height: 46px; border-radius: 10px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); margin: 0 auto 8px; position: relative; }
.se-cap-ico:has(img) { border-color: transparent; background: transparent; }
.se-cap-ico img { width: 100%; height: 100%; object-fit: contain; }
.se-card { position: relative; border: 1px solid var(--brand-teal); border-radius: 14px; padding: 26px 30px 22px; margin-bottom: 24px; }
.se-card-head { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.se-card-ico { width: 52px; height: 52px; border-radius: 12px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); flex: none; position: relative; }
.se-card-ico:has(img) { border-color: transparent; background: transparent; }
.se-card-ico img { width: 100%; height: 100%; object-fit: contain; }
.se-card-name { font-family: 'Noto Sans', sans-serif; font-size: 19px; font-weight: 700; color: var(--brand-teal); margin: 0; }
.se-label { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 18px 0 8px; }
.se-subhead { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 12px 0 6px; }
.se-freq { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000000; margin: 0 0 6px; }
.se-card-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 40px; }
.se-card-col { min-width: 0; }
.se-card-col > .se-label:first-child { margin-top: 0; }
.se-card-foot { display: grid; grid-template-columns: 1.5fr 1fr; gap: 30px; border-top: 1px solid #e8e8e8; margin-top: 16px; padding-top: 16px; }
.se-foot-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 10px; }
.se-mbadges { display: flex; flex-wrap: wrap; gap: 8px; }
.se-mbadge { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; padding: 5px 9px; border: 1px solid rgba(0, 121, 121, 0.4); border-radius: 5px; background: #f2faf9; color: var(--brand-teal); font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 12.5px; }
.se-caps-icons { display: flex; flex-wrap: wrap; gap: 12px; }
.se-caps-icons .se-cap-ico { width: 40px; height: 40px; margin: 0; }
.se-caps-icons .se-caps-strip-img { height: 40px; width: auto; max-width: 100%; display: block; }


/* Business Model — Culture/Values image placeholders + Contd. two-column layout */
.bm-cv-fig { margin: 0; }
.bm-cv-fig .glance-img-placeholder { min-height: 230px; height: 100%; }
.bm-contd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: stretch; margin: 0 0 12px; }
.bm-contd-left { min-width: 0; }
.bm-contd-right { display: flex; min-width: 0; }
.bm-contd-fig { margin: 0; width: 100%; display: flex; flex-direction: column; }
.bm-contd-fig .glance-img-placeholder { flex: 1 1 auto; min-height: 560px; }


/* ===== Stakeholder Engagement — refinements (icons, governance tab, spacing) ===== */
/* Capitals: span must be block for width/height to apply (was collapsing to ~2px) */
.se-cap-ico { display: block; width: 56px; height: 56px; }
.se-caps-strip { gap: 22px; margin: 14px 0 18px; }
.se-cap { font-size: 16px; }
/* Governance box: teal tab header + white box + cyan dividers */
.se-gov-wrap { margin: 30px 0 36px; }
.se-gov-tab { display: inline-block; background: var(--brand-teal); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px; padding: 11px 24px; border-radius: 8px 8px 0 0; }
.se-gov { border: 1px solid rgba(0, 121, 121, 0.16); border-radius: 0 12px 12px 12px; margin: 0; background: #ffffff; box-shadow: 0 8px 22px rgba(0, 121, 121, 0.08); }
.se-gov-cell { border-left: 1px solid var(--brand-cyan); padding: 22px 26px; }
.se-gov-cell:first-child { border-left: 0; }
/* Material Topics: even rows, aligned codes */
.se-mtopics { column-gap: 46px; margin: 12px 0 18px; }
.se-mtopic { padding: 8px 0; align-items: baseline; }
.se-mtopic-code { min-width: 42px; }
/* De-congest stakeholder cards */
.se-card { padding: 30px 34px 26px; margin-bottom: 30px; }
.se-card-name { font-size: 20px; }
.se-card .se-label { margin: 26px 0 12px; font-size: 18px; }
.se-card-head + .se-label { margin-top: 8px; }
.se-card .se-subhead { margin: 18px 0 9px; }
.se-card-cols { gap: 12px 54px; }
.se-card .bm-list { margin-bottom: 6px; }
.se-card .bm-list > li { padding-bottom: 11px; line-height: 1.5; }
.se-card-col > .se-label:first-child { margin-top: 0; }
.se-card-foot { margin-top: 24px; padding-top: 20px; }


/* Capitals: left-align so first icon meets the left edge (no big gap) + more space before Material Topics */
.se-caps-strip { margin: 16px 0 48px; }
.se-cap { text-align: left; }
.se-caps-strip .se-cap-ico { margin: 0 0 10px; }


/* ===== Placeholder size badge ===== */
.ph-size { position: absolute; right: 8px; bottom: 8px; background: rgba(28, 28, 30, 0.62); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.2px; line-height: 1.4; padding: 2px 8px; border-radius: 4px; pointer-events: none; z-index: 3; white-space: nowrap; }


/* ===== Subtle banner gradient (reference style) + intro moved below banner ===== */
.cm-hero, .pfh-hero, .ace-hero { background: linear-gradient(115deg, #efeaf5 0%, #f4f2f8 52%, #f9fafb 100%); }
.pfh-intro-section { padding: 4px 0 0; }
.hero-intro-below { margin: 8px 0 34px; }


/* ================= Materiality Assessment ================= */
.ma-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 14px; }
.ma-sectitle { font-family: 'Noto Sans', sans-serif; font-size: 19px; font-weight: 700; color: var(--brand-teal); margin: 42px 0 18px; }
/* Double Materiality */
.ma-dm-tab { display: table; margin: 0 auto; background: var(--brand-teal); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px; padding: 10px 30px; border-radius: 8px; }
.ma-dm-lines { width: 100%; height: 34px; }
.ma-dm-lines svg { display: block; width: 100%; height: 100%; }
.ma-dm-grid { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 0; }
.ma-dm-box { border: 1px solid rgba(0, 121, 121, 0.2); border-top: 3px solid var(--brand-green); border-radius: 10px; padding: 22px 26px; }
.ma-dm-box-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 10px; }
.ma-dm-box-desc { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
.ma-dm-center { position: relative; z-index: 2; background: #e7f7fa; color: var(--brand-teal); font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px; text-align: center; line-height: 1.3; padding: 16px 14px; margin: 0 -12px; border-radius: 8px; box-shadow: 0 4px 14px rgba(0,121,121,0.12); }
/* Materiality Process */
.ma-proc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; margin: 6px 0 10px; }
.ma-proc-box { position: relative; border: 1px solid rgba(0, 121, 121, 0.15); border-radius: 10px; padding: 20px 24px; }
.ma-proc-title { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 2px solid var(--brand-green); }
/* Process-flow arrows (Review -> Sector -> Value Chain -> Materiality Assessment) */
.ma-proc-box::after { position: absolute; z-index: 3; font-family: 'Noto Sans', sans-serif; font-size: 26px; line-height: 1; color: var(--brand-green); pointer-events: none; }
.ma-proc-box:nth-child(1)::after { content: "\2192"; right: -23px; top: 50%; transform: translate(50%, -50%); }
.ma-proc-box:nth-child(2)::after { content: "\2193"; left: 50%; bottom: -23px; transform: translate(-50%, 50%); }
.ma-proc-box:nth-child(4)::after { content: "\2190"; left: -23px; top: 50%; transform: translate(-50%, -50%); }
/* ESG priorities approach */
.ma-approach-title { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-teal); margin: 38px 0 16px; }
.ma-grouplabel { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 20px 0 14px; padding-bottom: 7px; border-bottom: 1px solid #dddddd; }
.ma-icons-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px 16px; margin-bottom: 6px; }
.ma-iconitem { display: flex; align-items: center; gap: 10px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.3; color: #000000; }
.ma-iconitem .se-cap-ico { width: 38px; height: 38px; flex: none; margin: 0; }
.ma-refs { display: grid; grid-template-columns: 1.6fr 1fr; gap: 34px; margin-top: 14px; }
.ma-ref-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 30px; align-content: start; }
.ma-ref-item { display: flex; gap: 10px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; padding: 4px 0; min-width: 0; }
.ma-ref-code { color: var(--brand-teal); font-weight: 700; flex: none; min-width: 62px; }
.ma-ref-note { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #4d4d4f; }
.ma-ref-note a { color: var(--brand-cyan); text-decoration: underline !important; text-underline-offset: 2px; font-weight: 400; transition: color .2s; }
.ma-ref-note a:hover { color: var(--brand-teal); }
/* Material topic cards */
.ma-cat { font-family: 'Noto Sans', sans-serif; font-size: 21px; font-weight: 700; margin: 44px 0 14px; }
.ma-cat--env { color: #00b16b; } .ma-cat--soc { color: #097ab8; } .ma-cat--gov { color: #f47721; }
.ma-card { border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 14px; margin-bottom: 26px; overflow: hidden; }
.ma-card-tab { display: inline-block; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #006a64; padding: 15px 26px 13px; border-bottom: 3px solid #ccc; }
.ma-card--env .ma-card-tab { border-color: #00b16b; } .ma-card--soc .ma-card-tab { border-color: #097ab8; } .ma-card--gov .ma-card-tab { border-color: #f47721; }
.ma-card-inner { padding: 4px 28px 26px; }
.ma-align { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px 22px; padding: 8px 0 20px; border-bottom: 1px solid #eeeeee; margin-bottom: 20px; }
.ma-align-label { font-family: 'Noto Sans', sans-serif; font-size: 12.5px; font-weight: 700; color: #000000; margin: 0 0 9px; }
.ma-align-val { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; }
.ma-sbadges, .ma-icoboxes { display: flex; flex-wrap: wrap; gap: 6px; }
.ma-sbadge { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; padding: 4px 7px; border: 1px solid rgba(0, 121, 121, 0.3); border-radius: 4px; background: #f2faf9; color: var(--brand-cyan); font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 12px; }
.ma-icobox { width: 34px; height: 34px; border-radius: 6px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); }
/* combined icon images inside the material-topic cards */
.ma-icoboxes--img { display: block; }
.ma-sdg-img { display: block; width: 130px; height: auto; max-width: 100%; }
.ma-stake-img { display: block; height: 46px; width: auto; }
.ma-ro-head .ma-ro-icos { display: inline-flex; vertical-align: middle; }
.ma-ro-head .ma-ro-img { display: inline-block; height: 40px; width: auto; vertical-align: middle; }
.ma-impact-label { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 4px 0 14px; }
.ma-impact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 44px; }
.ma-ro-head { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 0 0 8px; }
.ma-ro-head .ma-tri { font-size: 10px; margin-left: 4px; }
.ma-label { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 20px 0 9px; }
.ma-ro-text { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000000; margin: 0 0 4px; }


/* Materiality Matrix — narrower + taller (roughly square scatter chart) */
.ma-matrix-fig { max-width: 680px; }
.ma-matrix-fig .glance-img-placeholder { min-height: 600px; }


/* ===== Materiality ESG-priorities — spacing, tiles, bigger icons ===== */
.ma-approach-title { margin: 44px 0 18px; }
.ma-grouplabel { margin: 34px 0 18px; padding-bottom: 8px; }
.ma-icons-row { grid-template-columns: repeat(3, 1fr); gap: 16px 18px; margin-bottom: 8px; }
.ma-iconitem { background: #fbfdfd; border: 1px solid rgba(0, 121, 121, 0.12); border-radius: 12px; padding: 16px 18px; gap: 16px; font-size: 16px; line-height: 1.35; }
.ma-iconitem .se-cap-ico { width: 54px; height: 54px; }
.ma-iconitem .ma-sbadge { min-width: 46px; height: 46px; font-size: 18px; border-radius: 8px; }
.ma-refs { margin-top: 24px; }
.ma-ref-item { padding: 6px 0; }
/* material topic card alignment placeholder icons — larger */
.ma-icobox { width: 40px; height: 40px; }
.ma-align { gap: 20px 22px; }


/* Materiality Matrix — set to 680 x 700 */
.ma-matrix-fig { max-width: 680px; }
.ma-matrix-fig .glance-img-placeholder { min-height: 700px; }


/* ===== Materiality card — Risk/Opportunity icons, triangles, rebalanced body ===== */
.ma-ro-head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ma-ro-icos { display: inline-flex; gap: 5px; margin: 0 4px; }
.ma-ro-ico { width: 22px; height: 22px; border-radius: 5px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); }
.ma-tri { font-size: 11px; line-height: 1; }
.ma-tri--down { color: #f37720; }
.ma-tri--up { color: #00a862; }
.ma-impact-col { min-width: 0; }
.ma-ro-band { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; background: #f4f9f9; border-left: 3px solid var(--brand-teal); border-radius: 6px; padding: 12px 18px; margin: 20px 0; }
.ma-ro-band-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; }
.ma-ro-band-val { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000000; }
.ma-label--tight { margin-top: 4px; }


/* Materiality Matrix -> 700 x 600 ; CNG Station image -> 1200 x 500 */
.ma-matrix-fig { max-width: 700px; }
.ma-matrix-fig .glance-img-placeholder { min-height: 600px; }
.ma-close-fig { max-width: 1200px; }
.ma-close-fig .glance-img-placeholder { min-height: 500px; }


/* Larger Risk/Opportunity icon placeholders */
.ma-ro-ico { width: 32px; height: 32px; border-radius: 7px; }
.ma-ro-icos { gap: 7px; margin: 0 6px; }


/* ================= Risk and Opportunities ================= */
.ro-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 14px; }
.ro-sectitle { font-family: 'Noto Sans', sans-serif; font-size: 19px; font-weight: 700; color: var(--brand-teal); margin: 44px 0 18px; }
.ro-subtitle { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 26px 0 8px; }
.ro-subnote { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #4d4d4f; margin: 0 0 8px; }
.ro-ref { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #4d4d4f; margin: 6px 0 0; }
.ro-ref a { color: var(--brand-cyan); text-decoration: underline !important; text-underline-offset: 2px; font-weight: 400; transition: color .2s; }
.ro-ref a:hover { color: var(--brand-teal); }
/* Risk Governance flow */
.ro-gov-flow { display: flex; flex-direction: column; gap: 12px; margin: 12px 0 6px; }
.ro-gov-box { border: 1px solid rgba(0, 121, 121, 0.15); border-top: 3px solid var(--brand-teal); border-radius: 10px; padding: 18px 26px; text-align: center; }
.ro-gov-box-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 8px; }
.ro-gov-box-desc { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
.ro-gov-arrow { text-align: center; font-size: 0; line-height: 0; height: 30px; margin: 2px 0; background: center center / 22px 30px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='30' viewBox='0 0 22 30'%3E%3Cg fill='none' stroke='%23007979' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='11' y1='3' x2='11' y2='23'/%3E%3Cpolyline points='5,17 11,24 17,17'/%3E%3C/g%3E%3C/svg%3E"); }
.ro-cat-title { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-green); text-align: center; margin: 8px 0 16px; }
.ro-cat-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-bottom: 12px; }
.ro-cat-item { text-align: center; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.35; color: #000000; }
.ro-cat-ico { width: 50px; height: 50px; border-radius: 12px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); margin: 0 auto 8px; }
/* ERM 6-step */
.ro-erm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 6px 0 10px; }
.ro-erm-box { border: 1px solid rgba(0, 121, 121, 0.15); border-radius: 10px; padding: 18px 22px; }
.ro-erm-num { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 7px; background: var(--brand-teal); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; margin-bottom: 12px; }
.ro-erm-title { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 8px; }
.ro-erm-desc { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
/* Top Risks table */
.ro-table-wrap { overflow-x: auto; margin: 6px 0 10px; }
.ro-table { width: 100%; border-collapse: collapse; font-family: 'Noto Sans', sans-serif; min-width: 640px; }
.ro-table th { text-align: left; font-size: 16px; font-weight: 700; color: #000000; padding: 12px 16px; border-bottom: 2px solid var(--brand-teal); }
.ro-table td { font-size: 16px; color: #000000; padding: 12px 16px; border-bottom: 1px solid #eeeeee; line-height: 1.45; vertical-align: middle; }
.ro-rbadge { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 26px; padding: 0 9px; border-radius: 5px; background: #91b481; color: #ffffff; font-weight: 700; font-size: 16px; }
/* Legend */
.ro-legend-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 24px 0 14px; padding-bottom: 8px; border-bottom: 1px solid #dddddd; }
/* Risk cards */
.ro-card { border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 14px; margin-bottom: 26px; overflow: hidden; }
.ma-icons-row + .ro-card { margin-top: 34px; }
.ro-card-head { display: flex; align-items: center; gap: 14px; padding: 16px 28px 14px; border-bottom: 3px solid var(--brand-teal); }
.ro-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 30px; padding: 0 10px; border-radius: 6px; background: #91b481; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 18px; }
.ro-card-name { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-teal); margin: 0; }
.ro-card-grid { display: grid; grid-template-columns: 1fr 1fr 0.78fr; gap: 32px; padding: 24px 28px 26px; }
.ro-label { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 10px; }
.ro-label--mt { margin-top: 20px; }
.ro-para { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0 0 10px; }
.ro-para:last-child { margin-bottom: 0; }
.ro-mit-head { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 14px 0 8px; }
.ro-mit-head:first-child { margin-top: 0; }
.ro-side-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 10px; }
.ro-side-label--mt { margin-top: 24px; }
.ro-icoboxes { display: flex; flex-wrap: wrap; gap: 8px; }
.ro-icobox { width: 38px; height: 38px; border-radius: 8px; background: #eaf6f5; border: 1px dashed rgba(0, 121, 121, 0.5); }
/* wired-in image icons */
.ro-cat-ico:has(img) { background: transparent; border-color: transparent; }
.ro-cat-ico img { width: 100%; height: 100%; object-fit: contain; }
.ro-icoboxes--img { display: block; }
.ro-cap-strip { display: block; height: 40px; width: auto; }
.ro-sbadges { display: flex; flex-wrap: wrap; gap: 7px; }
.ro-sbadge { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; padding: 5px 8px; border: 1px solid rgba(0, 121, 121, 0.3); border-radius: 4px; background: #f2faf9; color: var(--brand-cyan); font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 12.5px; }
.ro-mbadge { color: var(--brand-teal); }


/* Risk cards — 3-col areas, emerging cards, heat map */
.ro-card-main, .ro-card-mit, .ro-card-side { min-width: 0; }
.ro-ecard { border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 14px; margin-bottom: 22px; padding: 0 0 22px; overflow: hidden; }
.ro-ecard-tab { display: inline-block; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); padding: 15px 28px 13px; border-bottom: 3px solid #91b481; }
.ro-ecard-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; padding: 20px 28px 0; }
.ro-ecard-grid .bm-list > li { margin-bottom: 4px; }
.ro-heat { display: grid; grid-template-columns: 1fr 250px; gap: 30px; align-items: start; margin-bottom: 8px; }
.ro-heat-fig { margin: 0; }
.ro-heat-fig .glance-img-placeholder { min-height: 440px; }
.ro-heat-legend { display: flex; flex-direction: column; gap: 20px; padding-top: 14px; }
.ro-heat-legend-item { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.45; color: #000000; }
.ro-heat-swatch { display: block; width: 92px; height: 12px; border-radius: 3px; margin-bottom: 7px; }
.ro-heat--low { background: #a9d18e; }
.ro-heat--medium { background: #ffd54a; }
.ro-heat--high { background: #e06666; }


/* Fix Risk Categorisation icons (span needs display:block so width/height apply) */
.ro-cat-ico { display: block; }
.ro-cat-row { gap: 14px 18px; align-items: start; }
.ro-cat-item { display: flex; flex-direction: column; align-items: center; }


/* Risk Governance boxes — soft teal-mint background (as per PDF) */
.ro-gov-box { background: #e8f5f7; border-color: rgba(0, 121, 121, 0.22); box-shadow: 0 5px 15px rgba(0, 121, 121, 0.10); }


/* ===== Heading colours corrected to match PDF exactly ===== */
.ro-subtitle { color: var(--brand-teal); font-size: 19px; margin: 42px 0 10px; }
.ro-card-name { color: #91b481; }
.ro-ecard-tab { color: #91b481; }
.ro-gov-flow > .ro-gov-box:last-child .ro-gov-box-title { color: var(--brand-green); }


/* Revert ro-subtitle font-size (keep teal colour only) */
.ro-subtitle { color: var(--brand-teal); font-size: 16px; margin: 26px 0 8px; }

/* ERM diagram placeholder size */
.ro-erm-fig { margin: 6px 0 10px; }
.ro-erm-fig .glance-img-placeholder { min-height: 500px; }
/* ===== ERM Risk Management Lifecycle diagram ===== */
.ro-erm-diagram { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-template-areas: "s1 c c s6" "s2 s3 s4 s5"; gap: 34px 30px; align-items: stretch; margin: 20px 0 12px; }
.ro-s1 { grid-area: s1; } .ro-s2 { grid-area: s2; } .ro-s3 { grid-area: s3; } .ro-s4 { grid-area: s4; } .ro-s5 { grid-area: s5; } .ro-s6 { grid-area: s6; }
.ro-erm-center { grid-area: c; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: linear-gradient(135deg, #e6f5f0, #ecfaf6); border-radius: 14px; padding: 28px 24px; box-shadow: 0 3px 12px rgba(0,121,121,.08); }
.ro-erm-center .ro-erm-ico { width: 66px; height: 66px; display: block; margin-bottom: 14px; }
.ro-erm-center .ro-erm-ico img { width: 100%; height: 100%; object-fit: contain; }
.ro-erm-center-t { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0; }
.ro-erm-step { position: relative; background: #e9f5fb; border-radius: 12px; padding: 24px 18px 16px; box-shadow: 0 2px 8px rgba(0,121,121,.07); }
.ro-erm-num { position: absolute; top: -13px; left: 16px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; background: #ffffff; border: 1.5px solid var(--brand-cyan); border-radius: 6px; color: var(--brand-cyan); font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 15px; }
.ro-erm-h { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 2px 0 8px; }
.ro-erm-p { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #000000; margin: 0 0 8px; }
.ro-erm-p:last-child { margin-bottom: 0; }
.ro-erm-ul { list-style: none; margin: 0 0 8px; padding: 0; }
.ro-erm-ul li { position: relative; padding: 0 0 4px 15px; font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #000000; }
.ro-erm-ul li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; background: var(--brand-cyan); }
/* flow arrows: 1 -> 2 -> 3 -> 4 -> 5 -> 6 */
.ro-erm-step::after { position: absolute; color: var(--brand-green); font-size: 24px; line-height: 1; font-weight: 400; }
.ro-s1::after { content: "\2193"; bottom: -30px; left: 50%; transform: translateX(-50%); }
.ro-s2::after { content: "\2192"; top: 50%; right: -27px; transform: translateY(-50%); }
.ro-s3::after { content: "\2192"; top: 50%; right: -27px; transform: translateY(-50%); }
.ro-s4::after { content: "\2192"; top: 50%; right: -27px; transform: translateY(-50%); }
.ro-s6::after { content: "\2191"; bottom: -30px; left: 50%; transform: translateX(-50%); }
@media (max-width: 900px) {
	.ro-erm-diagram { grid-template-columns: 1fr; grid-template-areas: "c" "s1" "s2" "s3" "s4" "s5" "s6"; gap: 18px; }
	.ro-erm-step::after { display: none; }
}

/* Risk Heat Map — full image placeholder (chart + legend) */
.ro-heatmap-fig { margin: 6px 0 10px; }
.ro-heatmap-fig .glance-img-placeholder { min-height: 440px; }
.ro-heatmap-fig img { display: block; width: 100%; max-width: 820px; margin: 0 auto; }


/* ===== Banner background — exact match to Adani Ports reference (.abt-hero) ===== */
.cm-hero, .pfh-hero, .ace-hero { background: linear-gradient(135deg, #eef5fb 0%, #f7f0f8 100%); }


/* ================= Strategic Priorities (sp-) ================= */
/* Type scale matches the sibling pages: intro 16px (.ro-intro), body/bullets 14px
   (.ro-para/.bm-list), bold labels 15px (.ro-label), card title 19px (.ro-sectitle),
   legend header 14px (.ro-legend-label), code badges 13px (.ro-rbadge). */
.sp-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 14px; }
.sp-intro strong, .sp-intro u { text-decoration-color: var(--brand-teal); }

/* Legend / key */
.sp-legend { display: flex; flex-direction: column; gap: 30px; margin: 30px 0 46px; padding: 30px 34px; background: #f6fbfb; border: 1px solid #dceceb; border-radius: 10px; }
.sp-legend-col { width: 100%; }
/* Section heading: bold sans-serif teal with a rule running to the right (per PDF) */
.sp-legend-title { display: flex; align-items: center; gap: 16px; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 18px; }
.sp-legend-title::after { content: ""; flex: 1 1 auto; height: 1px; background: #cfe3e2; }
/* Capitals: single horizontal row of 6, icon on top, label below (per PDF) */
.sp-cap-legend { display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; align-items: start; }
.sp-cap-item { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.sp-cap-ico { display: block; border: 0; background: none; }
.sp-cap-ico img { display: block; height: 46px; width: auto; }
.sp-cap-label { font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.35; color: #1f2a2a; }
/* Material Topics & Risks: 3-column badge + text lists */
.sp-ref-list { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 40px; row-gap: 13px; align-items: start; }
.sp-ref-item { display: flex; gap: 12px; font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.35; color: #1f2a2a; }
.sp-ref-badge { flex: 0 0 auto; min-width: 30px; font-weight: 700; color: var(--brand-teal); }
.sp-ref-badge--risk { color: var(--brand-teal); }
.sp-ref-txt { flex: 1 1 auto; }
@media (max-width: 900px) {
  .sp-cap-legend { grid-template-columns: repeat(3, 1fr); }
  .sp-ref-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .sp-cap-legend { grid-template-columns: repeat(2, 1fr); }
  .sp-ref-list { grid-template-columns: 1fr; }
}

/* Priority card */
.sp-card { position: relative; border: 1.5px solid var(--brand-teal); border-radius: 6px; padding: 30px 34px 34px; margin-bottom: 40px; background: #fff; box-shadow: 9px 9px 0 rgba(15,184,204,.45); }
.sp-card-head { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; }
.sp-tag { flex: 0 0 auto; display: flex; flex-direction: column; line-height: 1.15; font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000000; font-weight: 600; padding-right: 20px; border-right: 2px solid #d9e6e5; }
.sp-tag-num { font-size: 18px; font-weight: 700; }
.sp-card-title { font-family: 'Noto Sans', sans-serif; font-size: 19px; font-weight: 700; color: var(--brand-teal); margin: 0; }
.sp-card-badge { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; line-height: 1.15; font-family: 'Noto Sans', sans-serif; padding-right: 20px; border-right: 2px solid #d9e6e5; }
.sp-card-badge-txt { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #6d6e71; white-space: nowrap; }
.sp-card-badge-num { font-size: 22px; font-weight: 800; color: var(--brand-teal); }
.sp-card-grid { display: grid; grid-template-columns: 1.25fr 1fr 0.9fr; gap: 34px; }
.sp-col { min-width: 0; }
.sp-desc { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 10px; }
.sp-subhead { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 20px 0 10px; }
.sp-col--desc .sp-subhead:first-of-type, .sp-col--fwd .sp-subhead:first-of-type { margin-top: 0; }
.sp-year { margin: 0 0 14px; }
.sp-year-label { display: block; font-family: 'Noto Sans', sans-serif; font-size: 13px; font-weight: 700; color: var(--brand-green); margin: 0 0 4px; }
.sp-year-txt { display: block; font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.5; color: #000000; }
.sp-meta-title { font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: #6d6e71; margin: 22px 0 12px; padding-bottom: 6px; border-bottom: 1px solid #e4e7ea; }
.sp-col--meta .sp-meta-title:first-child { margin-top: 0; }
.sp-dep-row { display: flex; flex-wrap: wrap; gap: 10px; }
.sp-dep-ico { position: relative; width: 32px; height: 32px; border-radius: 7px; background: #eef6f6; border: 1px dashed #9fc6c4; display: inline-block; flex: none; }
.sp-dep-ico:has(img) { border-color: transparent; background: transparent; }
.sp-dep-ico img { width: 100%; height: 100%; object-fit: contain; }
.sp-badge-wrap { display: flex; flex-wrap: wrap; gap: 6px; }
.sp-mbadge, .sp-rbadge { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; padding: 3px 6px; font-family: 'Noto Sans', sans-serif; font-size: 12px; font-weight: 700; border-radius: 3px; cursor: default; }
.sp-mbadge { background: #fdece0; color: #ef8b22; }
.sp-rbadge { background: #e8f7f7; color: #3cb1b6; }
.sp-para { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0 0 10px; }
.sp-subhd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 20px 0 10px; }
.sp-col-main .sp-subhd:first-of-type, .sp-col-way .sp-subhd:first-child { margin-top: 0; }
.sp-list { list-style: none; margin: 0; padding: 0; }
.sp-list li { position: relative; padding: 0 0 9px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.46; color: #000000; }
.sp-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; border-radius: 50%; background: #00bace; }
.sp-fy { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 0 0 5px; }
.sp-fytext { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0 0 16px; }
.sp-col-side { background: #f6fbfb; border-radius: 8px; padding: 20px 22px; }
.sp-side-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 12px; }
.sp-side-hd + .sp-side-hd { margin-top: 22px; }
.sp-caps { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 4px; }
.sp-cap-chip { width: 38px; height: 38px; border: 1px dashed #9fc6c4; border-radius: 8px; background: #eef6f6; display: block; }
.sp-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 26px; padding: 0 9px; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; border-radius: 5px; }
.sp-badge--m { color: var(--brand-teal); border: 1px solid var(--brand-teal); background: rgba(0,121,121,.05); }
.sp-badge--r { color: #91b481; border: 1px solid #91b481; background: rgba(145,180,129,.08); }


/* ================= Key Performance Indicators (kpi-) ================= */
/* Chart cards follow the Adani Ports reference: title + unit span on one line,
   then the chart image capped at max-width 420px (~420x162). */
.kpi-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 8px; }
.kpi-sectitle { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-teal); margin: 42px 0 22px; }
.kpi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 54px; align-items: start; }
.kpi-chart-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0 0 2px; line-height: 1.25; }
.kpi-chart-title span { font-weight: 400; font-size: 16px; color: #666; }
.kpi-chart-fig { margin: 10px 0 12px; }
.kpi-chart-fig .content-img { width: 100%; max-width: 420px; }
.kpi-chart-fig .glance-img-placeholder { width: 100%; max-width: 420px; height: auto; min-height: 162px; border-radius: 10px; padding: 14px 16px; }
.kpi-chart-fig .glance-img-placeholder span { font-size: 11px; line-height: 1.45; }
.kpi-comment { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0; max-width: 420px; }
.kpi-comment strong { font-weight: 700; }


/* ================= Business Segment Review (bsr-) ================= */
.cm-body .bsr-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #42c3d4; margin: 0 0 40px; }
.bsr-seg { margin: 8px 0 0; }
.bsr-seg + .bsr-seg { border-top: 1px solid #e7eeee; margin-top: 48px; padding-top: 44px; }
.bsr-seg-titlebox { display: inline-block; background: #f4fbfb; border: 1px solid #cfe9e8; box-shadow: 6px 6px 0 rgba(15,184,204,.40); border-radius: 4px; padding: 15px 26px; margin-bottom: 30px; }
.bsr-seg-title { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--brand-teal); margin: 0; line-height: 1.2; }
.bsr-h { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 30px 0 12px; }
.bsr-seg > .bsr-h:first-of-type { margin-top: 4px; }
.bsr-para { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 12px; }
.bsr-list { list-style: none; margin: 0 0 6px; padding: 0; }
.bsr-list li { position: relative; padding: 0 0 11px 20px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; }
.bsr-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: #00bace; }
/* Highlights as full-width single-column rows */
.bsr-list--2col { columns: 1; }
/* Key Statistics — full-width band of stat cells with dividers */
.bsr-stats-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); background: #f5fbfb; border: 1px solid #e0efee; border-radius: 12px; padding: 26px 10px; margin: 2px 0 4px; }
.bsr-stats-strip .bsr-stat { padding: 2px 30px; border-left: 1px solid #dbeceb; }
.bsr-stats-strip .bsr-stat:first-child { border-left: none; }
.bsr-stat-num { font-family: 'Noto Sans', sans-serif; font-size: 32px; font-weight: 700; color: var(--brand-green); line-height: 1; display: block; }
.bsr-stat-num em { font-style: normal; font-size: 16px; font-weight: 700; }
.bsr-stat-label { display: flex; gap: 9px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; margin-top: 10px; }
.bsr-stat-label::before { content: ""; flex: 0 0 auto; width: 15px; height: 2px; background: var(--brand-green); margin-top: 6px; }
/* Outlook — full-width single-column paragraphs */
.bsr-outlook { columns: 1; }
.bsr-outlook .bsr-para:last-child { margin-bottom: 0; }
.bsr-seg-fig { margin: 30px 0 0; }
.bsr-seg-fig .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 600; }
/* Commercial Bifurcation — full chart (donut + legend) as one image placeholder */
.bsr-bifur-fig { max-width: 620px; margin: 4px 0 12px; }
.bsr-bifur-fig .glance-img-placeholder { height: auto; min-height: 380px; }


/* ===== Business Segment Review - Subsidiaries (green title variant, reuses bsr-) ===== */
.bsr-seg--sub .bsr-seg-titlebox { background: #f1faf6; border-color: #c3e7d9; }
.bsr-seg--sub .bsr-seg-title { color: var(--brand-green); }


/* ================= Our ESG Approach (esg-) ================= */
.esg-turtle { width: 360px; max-width: 78%; opacity: .6; margin: 30px 0 0; display: block; }
.cm-body .esg-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.7; color: #42c3d4; margin: 0 0 16px; }
.cm-body .esg-p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.7; color: #000000; margin: 0 0 14px; }
.esg-mission-row { display: grid; grid-template-columns: 1fr; gap: 28px; margin: 6px 0 24px; }
.esg-mission { background: #eefbfc; border: 1px solid #bfe9ee; box-shadow: 7px 7px 0 rgba(15,184,204,.35); border-radius: 6px; padding: 24px 26px; }
.esg-mission-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #00bbce; margin: 0 0 12px; }
.esg-mission p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.65; color: #007979; margin: 0; }
.esg-cso { border-left: 3px solid var(--brand-cyan); padding: 4px 0 4px 22px; }
.esg-quote-ico { width: 46px; height: auto; display: block; margin: 0 0 16px; }
.esg-cso p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.7; color: #000000; margin: 0 0 14px; }
.esg-cso-name { font-family: 'Noto Sans', sans-serif; font-weight: 700; color: #000000; }
.esg-cso-role { font-family: 'Noto Sans', sans-serif; color: #444444; }

.esg-sectitle { font-family: 'Noto Sans', sans-serif; font-size: 20px; font-weight: 700; color: var(--brand-teal); margin: 50px 0 20px; }
.esg-sectitle--sub { font-size: 18px; margin: 40px 0 16px; }
.esg-sectitle.esg-sectitle--black { color: #000000; }
.esg-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.7; color: #000000; margin: 0 0 22px; max-width: 1100px; }

/* Our Approach — E/S/G responsibility blocks (bordered card + overlapping tab) */
.esg-resp { position: relative; border: 1px solid #7fd0da; border-radius: 5px; box-shadow: 8px 8px 0 rgba(15,184,204,.22); padding: 44px 32px 30px; margin: 36px 0 46px; }
.esg-resp-tab { position: absolute; top: -17px; left: 22px; display: inline-block; background: #eafafc; border: 1px solid #cbeaef; box-shadow: 4px 4px 0 rgba(15,184,204,.16); border-radius: 3px; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #1a1a1a; padding: 9px 20px; }
.esg-resp-grid { display: grid; grid-template-columns: 250px 1fr; gap: 36px; align-items: start; }
.esg-sdg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; max-width: 232px; }
.esg-sdg-ico { aspect-ratio: 1; border: 1px dashed #9fc6c4; border-radius: 6px; background: #eef6f6; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans', sans-serif; font-size: 12px; font-weight: 700; color: #5a8f8c; }
.esg-sdg-fig { margin: 0; }
.esg-sdg-img { display: block; width: 100%; max-width: 232px; height: auto; }
.esg-resp-grid .esg-p { margin: 0; }
.esg-orgs { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 30px; }
.esg-org { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: start; }
.esg-org-logo { margin: 0; }
.esg-org-logo .glance-img-placeholder { height: 80px; min-height: 0; border-radius: 8px; }
.esg-org-logo img.content-img { height: 80px; width: auto; max-width: 100%; object-fit: contain; border-radius: 0; }
.esg-org-name { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 0 0 8px; }
.esg-org-text { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0; }

/* Big diagram placeholders */
.esg-fig { margin: 6px 0 10px; }
/* Value-creation framework + pillars: 20% smaller, left-aligned so the inner
   boxes line up. Pillars is drawn in a wider viewBox (extra right-side space for
   the "Risks and Opportunities" label), so it needs a proportionally larger
   width for its frames to match the framework's boxes. */
.esg-fig--framework .content-img { width: 80%; margin-left: 0; margin-right: auto; }
.esg-fig--pillars .content-img { width: 94.5%; margin-left: 0; margin-right: auto; }
.esg-fig--pillars { margin-top: 0; }
/* Governance-structure diagram: 20% smaller, centred */
.esg-fig--wide .content-img { width: 80%; margin-left: auto; margin-right: auto; }
/* "Read further — Board and Committees Charter" link below governance diagram */
.esg-charter { display: inline-flex; align-items: flex-start; gap: 8px; text-decoration: none; margin: 4px 0 32px; }
.esg-charter-ico { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; color: var(--brand-cyan); }
.esg-charter-txt { display: flex; flex-direction: column; line-height: 1.3; font-family: 'Noto Sans', sans-serif; }
.esg-charter-sub { font-size: 13px; color: var(--brand-cyan); }
.esg-charter-main { font-size: 15px; color: var(--brand-cyan); text-decoration: underline; }
.esg-charter:hover .esg-charter-main,
.esg-charter:hover .esg-charter-ico { color: var(--brand-teal); }
/* Read-more reference link (cyan, unbold, underlined, teal on hover) */
.esg-readmore { margin-top: 6px; }
.esg-readmore a { color: var(--brand-cyan); font-weight: 400; text-decoration: underline !important; text-underline-offset: 2px; transition: color .2s; }
.esg-readmore a:hover { color: var(--brand-teal); }
.esg-fig .glance-img-placeholder { min-height: 460px; }
.esg-fig--wide .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 600; }
/* ESG-page photo placeholders sized 1296x600 (scoped so it does not affect other pages' bsr-seg-fig) */
#esgContent .bsr-seg-fig .glance-img-placeholder { aspect-ratio: 1296 / 600; }

/* Governance responsibilities */
.esg-band { display: block; background: var(--brand-teal); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; text-align: center; padding: 10px 16px; border-radius: 3px; margin: 26px 0 4px; }
.cm-body .esg-freq { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); text-align: center; margin: 0 0 18px; }
.esg-cols { display: grid; gap: 30px; align-items: start; }
.esg-cols--3 { grid-template-columns: repeat(3, 1fr); }
.esg-cols--4 { grid-template-columns: repeat(4, 1fr); }
.esg-col-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 12px; }
.esg-col ul { list-style: none; margin: 0; padding: 0; }
.esg-col li { position: relative; padding: 0 0 10px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; }
.esg-col li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; background: #00bace; }

/* Standards grid */
.esg-std-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px 20px; margin-bottom: 8px; }
.esg-std { text-align: left; }
.esg-std .glance-img-placeholder { width: 120px; height: 72px; min-height: 0; border-radius: 8px; margin-bottom: 10px; }
.esg-std img.content-img { width: 120px; height: 72px; object-fit: contain; border-radius: 0; margin-bottom: 10px; }
.esg-std span { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; }
.esg-cert { list-style: none; margin: 8px 0 0; padding: 0; }
.esg-cert li { position: relative; padding: 0 0 9px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; }
.esg-cert li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; background: #00bace; }

/* Sustainability-linked performance boxes */
.esg-perf-boxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin: 8px 0 6px; }
.esg-perf-box { border: 1px solid #e2eeee; border-radius: 4px; overflow: hidden; box-shadow: 6px 6px 0 rgba(15,184,204,.30); }
.esg-perf-tab { background: #91b481; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 12px 18px; }
.esg-perf-box p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0; padding: 16px 18px; }
.esg-perf-box .esg-ref { padding-top: 0; color: #4d4d4f; }

/* Ratings table */
.esg-table-wrap { overflow-x: auto; margin: 4px 0 8px; }
.esg-ratings { width: 100%; border-collapse: collapse; font-family: 'Noto Sans', sans-serif; }
.esg-ratings th, .esg-ratings td { border: 1px solid #dbe7e7; padding: 12px 16px; font-size: 16px; color: #000000; text-align: center; vertical-align: middle; }
.esg-ratings thead th { background: #eefbfc; font-weight: 700; }
.esg-ratings tbody td:first-child { text-align: left; font-weight: 700; }
.esg-ratings tbody tr:nth-child(even) { background: #f8fcfc; }
.esg-rate-name { display: block; margin-bottom: 9px; }
.esg-rate-logo { display: inline-flex; align-items: center; justify-content: center; width: 108px; height: 40px; border: 1px dashed #9fc6c4; border-radius: 6px; background: #eef6f6; font-family: 'Noto Sans', sans-serif; font-size: 11px; font-weight: 600; color: #7a9d9a; }
.esg-rate-logo:has(img) { border-color: transparent; background: transparent; }
.esg-rate-logo img { width: 100%; height: 100%; object-fit: contain; }

/* Awards */
.esg-awards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 6px 0; }
.esg-award { display: grid; grid-template-columns: 60px 1fr; gap: 16px; align-items: start; background: #f6fbfc; border-bottom: 3px solid var(--brand-cyan); border-radius: 4px; padding: 18px 18px 16px; }
.esg-award-ico { width: 58px; height: 58px; border: 1px dashed #9fc6c4; border-radius: 8px; background: #eef6f6; position: relative; }
.esg-award-ico:has(img) { border-color: transparent; background: transparent; }
.esg-award-ico img { width: 100%; height: 100%; object-fit: contain; }
.esg-award p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
.esg-award strong { font-weight: 700; }

/* Target tables */
.esg-target { margin-bottom: 30px; }
.esg-target-tab { display: inline-block; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 8px 22px; border-radius: 3px; margin-bottom: 2px; }
.esg-target-tab--env { background: #00b06a; }
.esg-target-tab--soc { background: #0979b7; }
.esg-target-tab--gov { background: #b35223; }
.esg-ttable { width: 100%; border-collapse: collapse; font-family: 'Noto Sans', sans-serif; }
.esg-ttable th, .esg-ttable td { border: 1px solid #e4ecec; padding: 11px 14px; font-size: 16px; line-height: 1.5; color: #000000; text-align: left; vertical-align: top; }
.esg-ttable thead th { font-weight: 700; background: #f4faf9; }
.esg-target--env .esg-ttable thead th { background: #eaf6ef; }
.esg-target--soc .esg-ttable thead th { background: #eaf3fa; }
.esg-target--gov .esg-ttable thead th { background: #fbeee7; }
.esg-ttable td:first-child { font-weight: 400; }
/* Biodiversity impact table: keep FY column headers on one line */
#tab-biodiversity .esg-ttable th { white-space: nowrap; }


/* ================= Environmental (env-) ================= */
.env-hero { background: linear-gradient(135deg, #eef5fb 0%, #f7f0f8 100%); }
.env-hero .cm-hero-grid { grid-template-columns: minmax(0, 1fr) 748px; align-items: center; gap: 56px; }
.env-birds { width: 100%; height: auto; aspect-ratio: 748 / 480; object-fit: cover; object-position: center; background: #29716c; border-radius: 14px; display: block; }
.cm-body .env-intro { font-family: 'Noto Sans', sans-serif; font-size: 18px; line-height: 1.7; color: #000000; font-weight: 700; margin: 0 0 30px; }

/* Landing meta — material topics / priorities / risks / capitals / SDGs */
.env-meta { display: grid; grid-template-columns: 1.15fr 2fr; gap: 30px 48px; margin: 32px 0; padding: 36px 42px; background: #f6fbfb; border: 1px solid #e0efee; border-radius: 14px; align-items: start; }
.env-meta-sub { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 48px; align-content: start; }
.env-meta-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 16px; padding-bottom: 9px; border-bottom: 1px solid #d6e8e7; }
.env-list { display: grid; gap: 12px; }
.env-list-item { display: flex; gap: 11px; align-items: center; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; }
.env-code { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 26px; padding: 0 8px; border: 1px solid var(--brand-teal); border-radius: 5px; color: var(--brand-teal); font-weight: 700; font-size: 12.5px; }
.env-code--s { border-color: var(--brand-cyan); color: var(--brand-cyan); }
.env-code--r { border-color: #91b481; color: #91b481; }
.env-caps { display: grid; gap: 14px; }
.env-cap { display: flex; align-items: center; gap: 14px; font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000000; }
.env-cap-ico { flex: 0 0 auto; width: 52px; height: 52px; border: 1px dashed #9fc6c4; border-radius: 10px; background: #eef6f6; position: relative; }
.env-cap-ico:has(img) { border-color: transparent; background: transparent; }
.env-cap-ico img { width: 100%; height: 100%; object-fit: contain; }
.env-sdg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 300px; }
.env-sdg-ico { aspect-ratio: 1; border: 1px dashed #9fc6c4; border-radius: 8px; background: #eef6f6; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #5a8f8c; }
.env-sdg-fig { margin: 0; }
.env-sdg-img { display: block; width: 100%; max-width: 300px; height: auto; }

/* Pull quote (net-zero) — full-width teal banner with green quote icon */
.env-quote { background: #006a64; color: #ffffff; border-radius: 14px; padding: 40px 48px; font-family: 'Noto Sans', sans-serif; font-size: 24px; font-weight: 700; line-height: 1.5; margin: 40px 0; }
.env-quote-ico { display: block; width: 48px; height: auto; margin: 0 0 18px; }


/* ===== Environmental tabs ===== */
.env-tabbar { position: sticky; top: 92px; z-index: 900; background: #ffffff; transition: top .35s ease; margin: 0 0 24px; padding-top: 10px; display: flex; align-items: center; gap: 8px; }
/* when the site header auto-hides on scroll-down, let the tab bar rise flush to the top
   (top:0 leaves no gap for scrolling content to peek through above it) */
body.env-hdr-hidden .env-tabbar { top: 0; }
.env-tabs { display: flex; gap: 6px; overflow-x: auto; scroll-behavior: smooth; flex: 1 1 auto; padding: 4px 2px 14px; scrollbar-width: thin; scrollbar-color: #b9b9c4 #e8e8ee; }
.env-tabs::-webkit-scrollbar { height: 8px; }
.env-tabs::-webkit-scrollbar-track { background: #e8e8ee; border-radius: 6px; }
.env-tabs::-webkit-scrollbar-thumb { background: #b9b9c4; border-radius: 6px; }
.env-tab { flex: 0 0 auto; border: none; background: transparent; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #1a1a2e; padding: 11px 26px; border-radius: 999px; cursor: pointer; white-space: nowrap; transition: background .2s, color .2s; }
.env-tab.is-active { background: #4b3f9a; color: #ffffff; }
.env-tab:hover:not(.is-active) { color: #8e278f; }
.env-tabs-arrow { flex: 0 0 auto; width: 30px; height: 30px; border: none; background: #dcdce4; color: #4a4a5a; border-radius: 50%; cursor: pointer; font-size: 16px; line-height: 1; display: flex; align-items: center; justify-content: center; align-self: flex-start; margin-top: 8px; }
.env-tabs-arrow:hover { background: #cbcbd6; }
.env-panel { display: none; }
.env-panel.is-active { display: block; animation: fadeIn .3s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.env-tab-title { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--brand-teal); margin: 4px 0 18px; }


/* ===== Environmental Overview — Key Highlights + Approach ===== */
.env-band { display: inline-block; background: var(--brand-teal); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 9px 22px; border-radius: 3px; margin: 48px 0 26px; }
.env-hl-grid { display: grid; grid-template-columns: 1fr 1fr 0.85fr; gap: 44px; align-items: start; }
.env-hl-cat + .env-hl-cat { margin-top: 30px; }
.env-hl-cat-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-teal); margin: 0 0 16px; line-height: 1.25; }
.env-hl-stat { margin-bottom: 22px; }
.env-hl-num { font-family: 'Noto Sans', sans-serif; font-size: 30px; font-weight: 700; color: var(--brand-green); line-height: 1; display: block; }
.env-hl-num em { font-style: normal; font-size: 16px; font-weight: 700; }
.env-hl-label { display: flex; gap: 9px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; margin-top: 8px; }
.env-hl-label::before { content: ""; flex: 0 0 auto; width: 15px; height: 2px; background: var(--brand-green); margin-top: 6px; }
.env-focus-fig { margin: 0; max-width: 400px; }
.env-focus-fig .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 400 / 400; }
.env-carport-fig { margin: 26px 0 0; }
.env-carport-fig .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 520; }

.env-gov-sub { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 8px; }
.env-approach-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 22px; }
.env-gcol .env-gov-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 0 0 10px; }
.env-gcol p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 10px; }
.env-gcol .env-ref { color: #4d4d4f; }
.env-gcol .env-hl-num { margin-top: 6px; }
.env-box { background: #eefbfc; border: 1px solid #cfe9e8; box-shadow: 6px 6px 0 rgba(15,184,204,.35); border-radius: 4px; padding: 22px 26px; margin: 26px 0 0; }
.env-box-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 0 0 10px; }
.env-box p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #007979; margin: 0; }
/* Approach — clean top-aligned 3-column governance with vertical dividers (matches PDF) */
#tab-overview .esg-cols--3 { gap: 0; }
/* Teal differentiation line below the governance columns (per PDF) */
#tab-overview .env-govdivide { align-items: stretch; }
#tab-overview .env-govdivide .env-gcol { border-bottom: 2px solid var(--brand-teal); padding-bottom: 20px; }
#tab-overview .env-gcol { padding: 0 30px; border-left: 1px solid #e2edec; }
#tab-overview .esg-cols--3 > .env-gcol:first-child { border-left: none; padding-left: 0; }
#tab-overview .esg-cols--3 > .env-gcol:last-child { padding-right: 0; }
#tab-overview .env-gcol .env-gov-hd + p + .env-gov-hd { margin-top: 22px; }
#tab-overview .env-gcol .env-hl-num { margin: 14px 0 0; }

/* ===== Environmental — Climate Action & shared tab content ===== */
.env-sub { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 26px 0 10px; }
.env-body p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.65; color: #000000; margin: 0 0 12px; }
.env-body--2col { columns: 1; }
.env-ref2 { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #4d4d4f; margin: 0 0 12px; }
.env-pullquote { font-family: 'Noto Sans', sans-serif; font-size: 20px; font-weight: 700; color: #00a58f; line-height: 1.5; margin: 34px 0; padding-left: 22px; border-left: 4px solid #00b16b; }
.env-diagram { margin: 18px 0; width: 100%; }
/* Circular waste 5R diagram: 10% smaller, centred */
#tab-waste .env-diagram .content-img { width: 90%; margin-left: auto; margin-right: auto; }
.env-diagram .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 400; }
/* Climate tab roadmap + emission-intensity step chart are taller (1296x600) */
#tab-climate .env-diagram .glance-img-placeholder { aspect-ratio: 1296 / 600; }
/* Climate diagrams (Net Zero Transition Plan + Scope 1&2 chart): 30% smaller, centred */
#tab-climate .env-diagram .content-img { width: 70%; margin-left: auto; margin-right: auto; }
.env-note { font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #4d4d4f; margin: 8px 0 0; }
/* Methodology "Note" text: lighter + smaller than body copy */
.env-notetext p, .env-notetext.env-mini-list li { font-size: 13px; line-height: 1.5; color: #6a6a6c; }
.env-notetext.env-mini-list li::before { top: 6px; width: 5px; height: 5px; }
.env-riskbox { border: 1px solid #cfe9e8; border-radius: 6px; padding: 0 0 22px; margin: 20px 0; box-shadow: 6px 6px 0 rgba(15,184,204,.28); }
.env-riskbox-tab { display: block; background: var(--brand-teal); color: #fff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 10px 22px; }
.env-riskbox-body { padding: 20px 24px 0; }
.env-riskbox-body > p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0 0 16px; }
.env-riskbox-cols { display: grid; grid-template-columns: 1.4fr 1fr; gap: 30px; }
.env-riskbox-cols .env-gov-hd { color: var(--brand-green); }
.env-mini-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-green); margin: 0 0 10px; }
.env-mini-list { list-style: none; margin: 0; padding: 0; }
.env-mini-list li { position: relative; padding: 0 0 8px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; }
.env-mini-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; background: #00bace; }

.esg-cols--2env { grid-template-columns: 1fr 1fr; }
#tab-climate .esg-ttable td { vertical-align: top; }
/* ===== Climate-tab financial tables — PDF cyan-header style ===== */
#tab-climate .esg-ttable th, #tab-climate .esg-ttable td { border: 1px solid #dceaea; padding: 12px 16px; }
#tab-climate .esg-ttable thead th { background: #00bace; color: #ffffff; font-weight: 700; border-color: #00bace; letter-spacing: .2px; }
#tab-climate .esg-ttable tbody td { background: #ffffff; color: #000000; }
#tab-climate .esg-ttable td:first-child { font-weight: 400; }
#tab-climate .esg-ttable .env-tgroup td { background: #d5eef1; color: #000000; font-weight: 700; text-align: center; letter-spacing: .2px; }
#tab-climate .esg-ttable tbody tr:last-child td { border-bottom: 2px solid #00bace; }
#tab-climate .esg-ttable .env-mini-list { margin: 0; }
#tab-climate .esg-ttable .env-mini-list li { padding: 0 0 7px 18px; font-size: 16px; color: #000000; }
#tab-climate .esg-ttable .env-mini-list li:last-child { padding-bottom: 0; }
#tab-climate .esg-ttable .env-mini-list li::before { background: #00bace; }

.env-gcol .env-gov-hd.blk { color: #000000; }

/* Climate photo (Water body at Greenmosphere Park) sized 1296x600 */
#tab-climate .bsr-seg-fig .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 600; }

/* Cross-reference "Read more/further" links with a plus icon */
.env-reflink { display: inline-flex; align-items: center; gap: 9px; color: var(--brand-teal); text-decoration: none; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 600; }
.env-reflink:hover { text-decoration: underline; }
.env-reflink-plus { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%; background: var(--brand-green); color: #ffffff; font-size: 16px; font-weight: 700; line-height: 1; }

/* Accountability green box (Driving Accountability through Performance-Linked Remuneration) */
.env-accbox { background: #eef7f0; border: 1px solid #cfe6d5; box-shadow: 6px 6px 0 rgba(0,177,107,.16); border-radius: 4px; padding: 26px 30px; margin: 34px 0; }
.env-accbox-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 0 0 12px; }
.env-accbox-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: var(--brand-teal); margin: 0 0 24px; }
.env-accbox-cols { gap: 0; }
.env-accbox-cols .env-gcol { padding: 0 26px; border-left: 1px solid #cfe6d5; }
.env-accbox-cols .esg-col:first-child { border-left: none; padding-left: 0; }
.env-accbox-cols .esg-col:last-child { padding-right: 0; }
.env-accbox-cols .env-gcol p { color: #007979; }
.env-accbox-cols .env-gcol .env-gov-hd { color: #000000; }

/* ===== Section band-with-flag + boxed content (Implications / Strategic Focus Areas) ===== */
.env-secblock { margin: 34px 0 26px; }
.env-secband { position: relative; display: inline-block; background: var(--brand-teal); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; line-height: 1.3; padding: 12px 26px; z-index: 2; }
.env-secband::before { content: ""; position: absolute; left: 6px; top: -6px; width: 42px; height: 6px; background: #0a5c5c; }
/* Implications — light-green filled box, 3 columns with vertical dividers */
.env-implbox { background: #eef7f0; border: 1px solid #d3e8d8; box-shadow: 6px 6px 0 rgba(0,177,107,.14); padding: 28px 30px 30px; margin-top: -1px; }
.env-implbox .esg-cols--3 { gap: 0; }
.env-implbox .env-gcol { padding: 0 26px; border-left: 1px solid #d3e8d8; }
.env-implbox .esg-col:first-child { border-left: none; padding-left: 0; }
.env-implbox .esg-col:last-child { padding-right: 0; }
.env-implbox .env-gcol p { color: #000000; }
.env-implbox .env-gcol .env-gov-hd { color: var(--brand-green); margin-bottom: 12px; }
/* Strategic Focus Areas — cyan-bordered box (stacked rows) beside an image */
.env-focusgrid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 34px; align-items: stretch; margin-top: -1px; }
.env-focusbox { border: 1px solid #93d3dd; border-radius: 4px; padding: 4px 26px; }
.env-focusrow { padding: 20px 0; border-bottom: 1px solid #e0eeef; }
.env-focusrow:last-child { border-bottom: none; }
.env-focusbox .env-gov-hd { color: var(--brand-green); margin: 0 0 12px; }
.env-focusbox .env-mini-list { margin: 0; }
.env-focusimg { margin: 0; display: flex; flex-direction: column; }
#tab-climate .env-focusimg .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: auto; flex: 1 1 auto; }
@media (max-width: 767px) {
    .env-focusgrid { grid-template-columns: 1fr; align-items: start; }
    #tab-climate .env-focusimg .glance-img-placeholder { flex: none; aspect-ratio: 1296 / 720; }
}

/* ===== Water tab — A Clear Vision + Stewardship Approach + Roadmap (doc 84 right) ===== */
.env-wvision { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin: 6px 0 10px; }
.env-body .env-water-goal { color: #00bbce; font-size: 18px; font-weight: 700; line-height: 1.3; margin: 0 0 14px; }
.env-wapproach .env-gov-hd { color: #006a64; }
.env-wroadmap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: end; margin: 16px 0 0; }
.env-wr-col { display: flex; flex-direction: column; }
.env-wr-col .env-mini-list { flex: 1 1 auto; margin: 0 0 18px; }
.env-wr-arrow { position: relative; background: #91b381; color: #ffffff; padding: 16px 34px 16px 22px; clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 24px) 100%, 0 100%); }
.env-wr-arrow--amb { background: #00b06a; }
.env-wr-year { display: block; font-family: 'Noto Sans', sans-serif; font-size: 20px; font-weight: 700; line-height: 1.1; }
.env-wr-phase { display: block; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; line-height: 1.25; margin-top: 3px; }
.env-wr-legend { display: grid; grid-template-columns: 2fr 1fr 1fr; margin-top: 12px; }
.env-wr-legend span { text-align: center; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; padding: 8px 0; border-left: 1px solid #bfe0e3; }
.env-wr-legend span:first-child { border-left: none; }
@media (max-width: 767px) { .env-wvision { grid-template-columns: 1fr; gap: 18px; } .env-wroadmap { grid-template-columns: 1fr 1fr; } .env-wr-legend { grid-template-columns: 1fr 1fr; } }

/* Water tab — Goal box + A Clear Vision (matches PDF pg 165) */
.env-wvision { align-items: start; gap: 46px; }
.env-wvision-col > .esg-sectitle--sub:first-child { margin-top: 0; }
.env-goalbox { display: flex; align-items: center; gap: 20px; border: 1.5px solid #00bace; box-shadow: 5px 6px 0 rgba(15,184,204,.16); border-radius: 6px; padding: 20px 26px; margin: 2px 0 20px; }
.env-goalbox-ico { flex: 0 0 auto; width: 74px; height: 60px; }
.env-goalbox-ico svg { width: 100%; height: 100%; display: block; }
.env-goalbox-txt { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: #00bace; line-height: 1.2; margin: 0; }
.env-clearvision { display: flex; gap: 18px; align-items: flex-start; margin: 2px 0 6px; }
.env-sdg6 { flex: 0 0 auto; width: 88px; height: 88px; background: #26bde2; color: #ffffff; padding: 8px 9px 7px; display: flex; flex-direction: column; }
.env-sdg6-num { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 800; line-height: 1; }
.env-sdg6-label { font-family: 'Noto Sans', sans-serif; font-size: 7px; font-weight: 800; line-height: 1.15; letter-spacing: .2px; margin-top: 3px; }
.env-sdg6-glass { width: 30px; height: 32px; margin: auto auto 0; display: block; }
.env-wapproach .env-gcol { border-top: 2px solid #00b06a; border-left: 1px solid #bfe0d4; padding: 16px 20px 6px; }
@media (max-width: 767px) { .env-clearvision { flex-direction: row; } .env-wapproach .env-gcol { border-left: none; } }

/* Water tab — bordered callout boxes (Decisive Actions, Zero Industry Effluent) */
.env-wbox { border: 1px solid #8fd3dd; border-radius: 4px; box-shadow: 5px 7px 16px -8px rgba(15,184,204,.45); padding: 28px 32px; margin: 8px 0 26px; }
.env-wbox .env-gcol p { color: #000000; }
.env-wbox .env-gcol .env-gov-hd { color: #000000; }
.env-wbox .env-hl-label { color: #000000; }
.env-wbox .env-hl-num { margin-top: 16px; }
.env-wbox-hd { margin-top: 0; }
.env-wbox-cols { gap: 0; }
.env-wbox-cols .env-gcol { padding: 0 28px; border-left: 1px solid #dbeaea; }
.env-wbox-cols .esg-col:first-child { border-left: none; padding-left: 0; }
.env-wbox-cols .esg-col:last-child { padding-right: 0; }
@media (max-width: 767px) { .env-wbox-cols { gap: 20px; } .env-wbox-cols .env-gcol { padding: 0; border-left: none; } }

/* Water tab — SDG icon placeholder, KPI combo chart, tighten Case Study gap */
.env-sdgfig { flex: 0 0 auto; margin: 0; }
.env-sdgfig .content-img { width: 92px; height: 92px; }
.env-sdgfig .glance-img-placeholder { width: 88px; height: 88px; min-height: 0; border-radius: 4px; }
.env-sdgfig .glance-img-placeholder span { font-size: 12px; }
.env-kpi { margin: 10px 0 24px; max-width: 540px; }
.env-kpi-sub { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 2px; }
.env-kpi-sub span { font-weight: 400; color: #4d4d4f; }
.env-kpi-fig { margin: 12px 0 0; }
.env-kpi-fig svg { width: 100%; height: auto; display: block; }
#tab-water .env-band { margin: 34px 0 10px; }
#tab-water .env-band + .esg-sectitle--sub { margin-top: 2px; }
.env-kpichart-ph { max-width: 540px; margin: 12px 0 24px; }
.env-kpichart-ph .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 540 / 250; }
#tab-water .bsr-seg-fig .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 600; }

/* Waste tab — Performance Highlights band + spacing between stacked stats */
#tab-waste .env-secband { margin: 18px 0 16px; }
#tab-waste .env-hl-label + .env-hl-num { margin-top: 24px; }

/* Waste KPI table — green-ruled, light-green group rows, bold totals (doc 86) */
#tab-waste .esg-ttable--wkpi th, #tab-waste .esg-ttable--wkpi td { border: none; border-left: 1px solid #d9dede; border-top: 1px solid #e9ebeb; padding: 11px 16px; background: #ffffff; color: #000000; }
#tab-waste .esg-ttable--wkpi th:first-child, #tab-waste .esg-ttable--wkpi td:first-child { border-left: none; }
#tab-waste .esg-ttable--wkpi thead th { background: #ffffff; color: #000000; font-weight: 700; border-top: 2px solid #00b06a; border-bottom: 2px solid #00b06a; }
#tab-waste .esg-ttable--wkpi tbody tr:last-child td { border-bottom: 2px solid #00b06a; }
#tab-waste .esg-ttable--wkpi td:not(:first-child), #tab-waste .esg-ttable--wkpi th:not(:first-child) { text-align: right; }
#tab-waste .esg-ttable--wkpi .wkpi-group td { background: #d4ebdb; color: #000000; font-weight: 700; text-align: left; border-left: none; }
#tab-waste .esg-ttable--wkpi .wkpi-total td { font-weight: 700; }

/* Strategic Initiatives box (sage-green border) + separate Zero Waste box (cyan) */
#tab-waste .env-secblock .env-secband { margin: 0; }
.env-stratbox { border: 1px solid #b1c9a5; box-shadow: 6px 7px 0 rgba(177,201,165,.3); padding: 24px 30px 22px; margin-top: -1px; }
.env-stratcols { gap: 0; }
.env-stratcols .env-gcol { padding: 0 28px; border-left: 1px solid #e2eae0; }
.env-stratcols .esg-col:first-child { border-left: none; padding-left: 0; }
.env-stratcols .esg-col:last-child { padding-right: 0; }
.env-stratrow { margin-top: 22px; padding-top: 20px; border-top: 1px solid #e2eae0; }
.env-stratbox .env-hl-num { margin-top: 8px; }
.env-zwlbox { border-color: #98e3ec; margin-bottom: 18px; }
.env-zwl-body p { color: #007979; margin: 0; }
.env-zwl-stats { margin: 0 0 22px; }

/* ===== Biodiversity tab — boxes (matches PDF pg 170-171) ===== */
.env-biotop { display: grid; grid-template-columns: 1fr 1.35fr; gap: 30px; align-items: stretch; margin: 4px 0 14px; }
.env-biotop .env-goalbox { margin: 0; }
.env-biocyan { border: 1px solid #8fd3dd; border-radius: 6px; box-shadow: 5px 6px 0 rgba(15,184,204,.16); padding: 20px 26px; display: flex; align-items: center; }
.env-biocyan p { color: #007979; margin: 0; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; }
/* Avoid – Reduce – Restore */
.env-arr-grid { display: grid; grid-template-columns: 1.02fr 1fr; gap: 34px; align-items: start; margin-top: -1px; }
.env-arr-box { border: 1px solid #9bd8e0; border-radius: 4px; padding: 15px 20px; margin-bottom: 18px; }
.env-arr-box:last-child { margin-bottom: 0; }
.env-arr-box .env-gov-hd { color: #006a64; margin: 0 0 10px; }
.env-arr-box .env-mini-list li { color: #000000; }
.env-arr-img { margin: 0; display: flex; flex-direction: column; }
#tab-biodiversity .env-arr-img .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: auto; flex: 1 1 auto; }
/* Managing Biodiversity Risks — sage box, 3 cols */
.env-mbrbox { border: 1px solid #b1c9a5; box-shadow: 6px 7px 0 rgba(177,201,165,.3); padding: 24px 28px; margin: 8px 0 20px; }
.env-mbrbox .esg-cols { gap: 0; }
.env-mbrbox .env-gcol { padding: 0 26px; border-left: 1px solid #e2eae0; }
.env-mbrbox .esg-col:first-child { border-left: none; padding-left: 0; }
.env-mbrbox .esg-col:last-child { padding-right: 0; }
.env-mbrbox .env-gov-hd { color: var(--brand-green); }
/* Tree Plantation Pledge box */
.env-pledgebox { border: 1px solid #8fd3dd; border-radius: 6px; box-shadow: 5px 6px 0 rgba(15,184,204,.16); padding: 20px 26px; margin: 6px 0 22px; }
.env-pledgebox .env-gov-hd { color: var(--brand-cyan); margin-bottom: 10px; }
.env-pledgebox p { color: #007979; }
/* Sites table — right-align all FY columns */
#tab-biodiversity .esg-ttable--hl td:not(:first-child), #tab-biodiversity .esg-ttable--hl th:not(:first-child) { text-align: right; }
@media (max-width: 767px) { .env-biotop, .env-arr-grid { grid-template-columns: 1fr; } .env-mbrbox .esg-cols { gap: 20px; } .env-mbrbox .env-gcol { padding: 0; border-left: none; } }

/* ===== Rooftop Solar Capacity — ascending bracket chart (doc 82) ===== */
.env-solar-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-green); margin: 28px 0 6px; }
.env-solar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 20px 30px; margin: 26px 0 10px; }
.env-solar-bar { position: relative; flex: 0 0 auto; width: 150px; height: 96px; }
.env-solar-bar::before { content: ""; position: absolute; inset: 0; border-top: 3px solid #0fb8cc; border-right: 3px solid #0fb8cc; filter: drop-shadow(2px 4px 3px rgba(15,184,204,.32)); }
.env-solar-bar--2 { margin-bottom: 40px; }
.env-solar-bar--3 { margin-bottom: 80px; }
.env-solar-val { position: absolute; left: 6px; bottom: 6px; }
.env-solar-fy { display: block; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; line-height: 1; }
.env-solar-num { display: block; font-family: 'Noto Sans', sans-serif; font-size: 27px; font-weight: 700; color: #009889; line-height: 1.1; }
.env-solar-target { position: relative; flex: 0 0 auto; width: 196px; height: 176px; border: 3px solid #0fb8cc; box-shadow: 4px 6px 10px -4px rgba(15,184,204,.32); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 12px; }
.env-solar-tyr { font-family: 'Noto Sans', sans-serif; font-size: 20px; font-weight: 700; color: #097ab8; line-height: 1.1; }
.env-solar-tnum { font-family: 'Noto Sans', sans-serif; font-size: 46px; font-weight: 700; color: #00bace; line-height: 1.05; margin: 2px 0; }
.env-solar-tmw { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; }
@media (max-width: 560px) { .env-solar { align-items: flex-start; } .env-solar-bar--2, .env-solar-bar--3 { margin-bottom: 0; } }

/* ===== ICP table — minimal green-ruled style (doc 82) ===== */
#tab-climate .esg-ttable--icp th, #tab-climate .esg-ttable--icp td { border: none; border-left: 1px solid #d5dcdc; background: transparent; color: #000000; padding: 12px 18px; }
#tab-climate .esg-ttable--icp th:first-child, #tab-climate .esg-ttable--icp td:first-child { border-left: none; }
#tab-climate .esg-ttable--icp thead th { background: transparent; color: #000000; border-top: 2px solid #00b06a; border-bottom: 2px solid #00b06a; border-left: 1px solid #d5dcdc; }
#tab-climate .esg-ttable--icp thead th:first-child { border-left: none; }
#tab-climate .esg-ttable--icp tbody tr:last-child td { border-bottom: 2px solid #00b06a; }

/* Cross-reference "Read more / Read further" lines — blue hyperlinks with spacing above */
.env-ref2 { margin: 18px 0 12px; }
.env-ref2 a { color: #097ab8; transition: color .2s; }
.env-ref2 a:not(.env-reflink) { text-decoration: underline !important; }
.env-ref a { color: #097ab8; text-decoration: underline !important; transition: color .2s; }
.env-ref a:hover, .env-ref2 a:hover, .env-reflink:hover { color: var(--brand-teal); }
.env-reflink { color: #097ab8; }
.env-reflink-plus { background: #097ab8; }

/* ===== Energy tab — Our Approach numbered pillars (boxed) ===== */
.env-approachbox { background: #f1f8f3; border: 1px solid #d3e8d8; box-shadow: 6px 6px 0 rgba(0,177,107,.12); padding: 24px 30px 28px; margin-top: -1px; }
.env-approachbox > .env-body p { color: #000000; margin-bottom: 6px; }
.env-approachbox > .env-body a { color: #097ab8; }
.env-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 12px; }
.env-pillar { display: flex; gap: 14px; align-items: flex-start; }
.env-pillar-num { font-family: 'Noto Sans', sans-serif; font-size: 50px; font-weight: 700; line-height: .8; flex: 0 0 auto; }
.env-pillar-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; margin: 0 0 8px; line-height: 1.2; }
.env-pillar-bd { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0; }
.env-pillar-num--1, .env-pillar-hd--1 { color: #007979; }
.env-pillar-num--2, .env-pillar-hd--2 { color: #097ab8; }
.env-pillar-num--3, .env-pillar-hd--3 { color: #00a58f; }

/* Key Enablers box — 3x2 grid of teal enablers with dividers */
.env-enablerbox { border: 1px solid #cfe6e8; box-shadow: 6px 6px 0 rgba(15,184,204,.14); margin-top: -1px; }
.env-enabler-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.env-enabler { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #007979; padding: 20px 22px; border-left: 1px solid #e0eeef; border-top: 1px solid #e0eeef; }
.env-enabler-grid > .env-enabler:nth-child(3n+1) { border-left: none; }
.env-enabler-grid > .env-enabler:nth-child(-n+3) { border-top: none; }

/* ===== Horizontal bar charts (FY26 highlighted) ===== */
.env-charts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 48px; margin: 14px 0 8px; }
.env-bars { margin: 6px 0 16px; }
.env-bars--sm { max-width: 470px; }
.env-bars-sub { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 12px; }
.env-bars-sub span { font-weight: 400; color: #4d4d4f; }
.env-bar-row { display: flex; align-items: center; gap: 12px; height: 40px; border-top: 1px solid #e4ecec; }
.env-bars .env-bar-row:last-child { border-bottom: 1px solid #e4ecec; }
.env-bar-fy { flex: 0 0 46px; font-family: 'Noto Sans', sans-serif; font-size: 14px; color: #000000; }
.env-bar-row--hl .env-bar-fy { font-weight: 700; }
.env-bar-track { flex: 1 1 auto; min-width: 0; }
.env-bar-fill { display: block; height: 22px; background: #e8ede4; min-width: 2px; }
.env-bar-row--hl .env-bar-fill { background: #00bace; }
.env-bar-val { flex: 0 0 auto; min-width: 78px; text-align: right; font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000000; }
.env-bar-row--hl .env-bar-val { font-weight: 700; }
@media (max-width: 760px) { .env-pillars, .env-enabler-grid, .env-charts { grid-template-columns: 1fr; } .env-enabler-grid > .env-enabler { border-left: none; border-top: 1px solid #e0eeef; } .env-enabler-grid > .env-enabler:first-child { border-top: none; } }

/* ===== Highlighted current-year-column table (Air Emissions / Scope 3) ===== */
.env-panel .esg-ttable--hl th, .env-panel .esg-ttable--hl td { border: none; border-left: 1px solid #d5dcdc; border-top: 1px solid #eceeee; padding: 12px 16px; background: #ffffff; color: #000000; }
.env-panel .esg-ttable--hl th:first-child, .env-panel .esg-ttable--hl td:first-child { border-left: none; }
.env-panel .esg-ttable--hl thead th { background: #ffffff; color: #000000; font-weight: 700; border-top: 2px solid #65cea4; border-bottom: 2px solid #00b06a; }
.env-panel .esg-ttable--hl thead th:last-child { background: #00b06a; color: #ffffff; border-bottom-color: #00b06a; }
.env-panel .esg-ttable--hl tbody td:last-child { background: #e8f4eb; }
.env-panel .esg-ttable--hl tbody tr:last-child td { border-bottom: 2px solid #00b06a; }
.env-panel .esg-ttable--hl td:nth-last-child(-n+2), .env-panel .esg-ttable--hl th:nth-last-child(2) { text-align: right; }

/* GHG section unit subtitle + CNG Cascade image size */
.env-chartunit { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 400; color: #4d4d4f; margin: -6px 0 12px; }
#tab-energy .bsr-seg-fig .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 600; }

/* ==================================================================
   Social: Employees (emp-)  — "Empowering an Agile Workforce"
   Section accent blue #0979b7 ; sub-headings teal #007979
   ================================================================== */
.emp-hero { background: linear-gradient(135deg, #eaf4fb 0%, #f3f6fb 100%); }
.emp-hero .cm-hero-grid { grid-template-columns: minmax(0, 1fr) 748px; align-items: center; gap: 56px; }
.emp-hero .cm-title { color: #046b64; margin-bottom: 0; }
.emp-hero .cm-img-placeholder { background: #dcecf8; border-color: #b4d4ea; color: #5a86a6; }
.emp-banner-img { width: 100%; height: auto; aspect-ratio: 748 / 480; display: block; border-radius: 14px; background: #0a7ab8; }
/* Full-width intro lead below the hero banner */
.emp-intro-lead { font-family: 'Noto Sans', sans-serif; font-size: 18px; line-height: 1.75; color: #1a1a1a; margin: 4px 0 36px; }

/* Section-blue overrides for the shared env components on this page */
.emp-page .env-quote { background: #0979b7; }
.emp-page .env-quote-ico path:first-child { fill: #7ec6ec; }
.emp-page .env-quote-ico path:last-child { fill: #b9e0f6; }
.emp-page .env-band { background: #0979b7; }
.emp-page .env-hl-num { color: #0979b7; }
.emp-page .env-hl-num.blk { color: #1a1a1a; }
.emp-page .env-hl-label::before { background: #0979b7; }

/* Key-highlights stat row on the hero/overview */
.emp-statrow { display: flex; flex-wrap: wrap; gap: 26px 54px; margin: 6px 0 8px; }
.emp-statrow .env-hl-stat { flex: 0 0 auto; margin-bottom: 0; max-width: 210px; }

/* Sub-section heading (teal) + green/blue accent helpers reused across the page */
.emp-hd { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--brand-teal); margin: 44px 0 8px; }
.emp-hd--sm { font-size: 18px; margin: 26px 0 8px; }
.emp-hd--blk { color: #000000; }
#cdContent .cd-app-fit { width: 100%; aspect-ratio: 1296 / 600; object-fit: contain; object-position: center; display: block; background: #8f1a5f; }
.emp-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.7; color: #000000; margin: 0 0 18px; }
.emp-eyebrow { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 10px; }

/* ---- doc 89: People Philosophy / People Strategy / EVP ---- */
/* People Vision / Mission — cyan ribbon tab + soft-shadow body */
.emp-vmgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; margin: 20px 0 8px; align-items: stretch; }
.emp-vmbox { display: flex; flex-direction: column; }
.emp-vmbox-hd { display: inline-block; background: linear-gradient(90deg, #12b5cb, #0a9fc0); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 12px 34px; border-radius: 3px 3px 0 0; }
.emp-vmbox-body { flex: 1 1 auto; background: #f4fbfc; border: 1px solid #e0f1f3; box-shadow: 8px 8px 16px rgba(10,120,160,.07); padding: 24px 26px; }
.emp-vmbox-body p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.65; color: #000000; margin: 0; }

/* Key Pillars — 8 tinted-header boxes */
.emp-strat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 60px; margin: 26px 0 8px; }
.emp-strat-hd { display: block; background: #e3f4f7; color: var(--brand-teal); font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 11px 18px; border-radius: 4px; box-shadow: 5px 5px 0 rgba(15,184,204,.13); margin: 0 0 14px; }
.emp-strat p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0; padding: 0 2px; }

/* Centered blue banner (standalone, or straddling a bordered card) */
.emp-banner { display: flex; align-items: center; gap: 18px; margin: 42px 0 22px; }
.emp-banner::before, .emp-banner::after { content: ""; height: 1px; background: #7cc9d6; flex: 1 1 auto; }
.emp-banner > span { flex: 0 0 auto; background: #0979b7; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; padding: 11px 30px; border-radius: 3px; text-align: center; }
.emp-cardwrap { position: relative; margin: 44px 0 0; }
.emp-cardwrap > .emp-banner { position: absolute; top: 0; left: 0; right: 0; margin: 0; transform: translateY(-50%); }
.emp-card { border: 1px solid #9bd5e0; border-radius: 6px; padding: 42px 30px 28px; }

/* EVP 6-column strip with cyan dividers */
.emp-evpsub { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; text-align: center; margin: 0 0 22px; }
.emp-evpgrid { display: grid; grid-template-columns: repeat(6, 1fr); }
.emp-evpcol { padding: 0 16px; text-align: center; border-left: 1px solid #bfe6ec; }
.emp-evpgrid > .emp-evpcol:first-child { border-left: none; }
.emp-evpcol-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 8px; }
.emp-evpcol p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }

/* Numbered grid — What Sets Us Apart */
.emp-numgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 56px; }
.emp-num { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; }
.emp-num-n { font-family: 'Noto Sans', sans-serif; font-size: 46px; font-weight: 700; color: #5ec6dd; line-height: .9; }
.emp-num-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 5px; }
.emp-num p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0; }

/* 3-col capability blocks — black bold heading + cyan-square bullets */
.emp-capcol-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 8px; line-height: 1.35; }
.emp-capcol > p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0 0 10px; }
.emp-bullets { list-style: none; margin: 0; padding: 0; }
.emp-bullets li { position: relative; padding: 0 0 9px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; }
.emp-bullets li::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: #00bace; }
.emp-bullets.rs-caplist li { padding-left: 0; }
.emp-bullets.rs-caplist li::before { content: none; }

/* ---- doc 90: Leadership & Culture / Change Management — labeled-row panel ---- */
.emp-lcpanel { background: #e4f5f8; border-radius: 4px; padding: 30px 34px 34px; margin: 26px 0 0; }
.emp-lchead { text-align: center; margin: 0 0 26px; }
.emp-lchead span { display: inline-block; background: #0979b7; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; padding: 13px 34px; border-radius: 3px; box-shadow: 4px 4px 0 rgba(9,121,183,.18); }
.emp-lcrow { display: grid; grid-template-columns: 210px 1fr; gap: 26px; align-items: stretch; margin-bottom: 24px; }
.emp-lcrow:last-child { margin-bottom: 0; }
.emp-lclabel { display: flex; align-items: center; background: #ffffff; box-shadow: 5px 5px 9px rgba(15,184,204,.22); padding: 20px 22px; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; line-height: 1.35; }
.emp-lccell { padding: 4px 4px 16px; border-bottom: 1px solid #7cc4d0; }
.emp-lclist { list-style: none; margin: 0; padding: 0; }
.emp-lclist li { position: relative; padding: 0 0 9px 20px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; }
.emp-lclist li:last-child { padding-bottom: 0; }
.emp-lclist li::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: #00bace; }

/* ---- doc 91: Preparing for the Future ---- */
.emp-prep-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 50px; align-items: center; margin: 26px 0 0; }
.emp-qgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; margin: 14px 0 0; }
.emp-hrquote { font-family: 'Noto Sans', sans-serif; font-size: 24px; font-weight: 700; line-height: 1.34; color: #00b4d8; margin: 0; position: relative; padding-left: 26px; }
.emp-hrquote::before { content: "\2014"; position: absolute; left: 0; top: 0; color: #00b4d8; }
/* Key Enablers box */
.emp-enablers { border: 1px solid #d7dfe3; box-shadow: 5px 5px 10px rgba(0,0,0,.05); }
.emp-enablers-hd { display: inline-block; background: #0979b7; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 11px 22px; margin: 0; }
.emp-enablers-grid { display: grid; grid-template-columns: 1fr 1fr; padding: 6px 22px 22px; }
.emp-enablers-item { padding: 20px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; border-top: 1px solid #d6e6ec; }
.emp-enablers-item:nth-child(odd) { border-right: 1px solid #d6e6ec; }
.emp-enablers-item:nth-child(-n+2) { border-top: none; }
/* Photo figure (full width) */
.emp-photo { margin: 30px 0 0; }
.emp-photo .glance-img-placeholder { height: auto; min-height: 0; aspect-ratio: 1296 / 600; }
/* HR Governance flow */
.emp-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 16px; align-items: start; margin: 26px 0 0; }
.emp-flow-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 2px solid #0979b7; }
.emp-flow-step > p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
.emp-flow-arrow { color: #0979b7; font-size: 15px; align-self: start; margin-top: 8px; }
.emp-flow-step--out { border: 1px solid #bfe0d5; border-radius: 4px; padding: 28px 20px 16px; position: relative; }
.emp-flow-out-tab { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: #00a58f; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 6px 22px; border-radius: 3px; white-space: nowrap; }
.emp-flow-out-list { list-style: none; margin: 0; padding: 0; }
.emp-flow-out-list li { position: relative; padding: 0 0 9px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; }
.emp-flow-out-list li:last-child { padding-bottom: 0; }
.emp-flow-out-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: #00a58f; }

/* ---- doc 92: Workforce Planning & Talent Acquisition ---- */
.emp-hd--grn { color: #00a58f; }
.emp-grn { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #00a58f; margin: 0 0 8px; }
.emp-statline { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #00b4d8; line-height: 1.4; margin: 18px 0 0; padding-left: 24px; position: relative; }
.emp-statline::before { content: "\2014"; position: absolute; left: 0; top: 0; color: #00b4d8; }
.emp-hrquote--blue { color: #00b4d8; }
.emp-hrquote--blue::before { color: #00b4d8; }
.emp-hrquote--full { margin: 40px 0 0; max-width: none; }
/* Strategic Highlights box */
.emp-sh-box { border: 1px solid #bfe6ec; border-radius: 4px; box-shadow: 8px 8px 0 rgba(15,184,204,.16); padding: 26px 30px 30px; margin: 34px 0 0; }
.emp-sh-title { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 20px; }
.emp-sh-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 26px; }
.emp-sh-item { position: relative; padding-left: 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #097ab8; }
.emp-sh-item::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: #097ab8; }
.emp-sh-item b { font-weight: 700; }
/* Employee Turnover table (grouped headers, highlighted FY column) */
/* PDF-accurate (matched to doc[92] line vectors):
   - blue #0979b7 rule under year-headers (data cols only, white inside cyan block),
     under the Male/Female/Total header, and at the table bottom
   - gray #b1b4b6 vertical rules between columns AND gray rules between data rows
   - cyan #00bace FY2025-26 block; full blue outer border enclosing the table */
.emp-turntable { width: 100%; border-collapse: collapse; font-family: 'Noto Sans', sans-serif; font-size: 16px; border: 1px solid #0979b7; }
.emp-turntable th, .emp-turntable td { padding: 14px 14px; text-align: center; color: #000000; vertical-align: middle; border-left: 1px solid #000000; }
.emp-turntable th:first-child, .emp-turntable td:first-child { border-left: none; text-align: left; }
.emp-turntable thead tr:first-child th { border-bottom: 1px solid #0979b7; }
.emp-turntable thead tr:first-child th.emp-tt-hl { border-bottom-color: #ffffff; }
.emp-turntable thead tr:last-child th { border-bottom: 1px solid #0979b7; }
.emp-turntable thead th { font-weight: 700; background: #ffffff; }
.emp-turntable tbody td { border-bottom: 1px solid #000000; }
.emp-turntable tbody td:first-child { font-weight: 700; }
.emp-turntable tbody td.emp-tt-lbl { text-align: left; font-weight: 400; }
.emp-turntable tbody tr:last-child td { border-bottom: 1px solid #0979b7; }
.emp-turntable tbody td.emp-tt-catlast { border-bottom: 1px solid #0979b7; }
.emp-turntable .emp-tt-hl { background: #00bace; color: #ffffff; border-color: #ffffff; }
.emp-turntable td.emp-tt-hlcol { background: #eef7f9; }

/* ---- doc 93: Learning & Development / ASE / e-Vidyalaya ---- */
/* Strategic Capability-Building — 3 light-cyan boxes */
.emp-capbox { background: #e4f4f7; box-shadow: 7px 7px 0 rgba(15,184,204,.26); padding: 22px 26px; }
.emp-capbox-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 12px; line-height: 1.3; }
/* Training-highlights label without dash */
.emp-numlabel { display: block; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; margin: 6px 0 0; }
.emp-note-sm { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; margin: 4px 0 0; }
/* Transition Support two-box */
.emp-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; margin: 34px 0 0; }
.emp-transbox { background: #eef9fb; box-shadow: 7px 7px 0 rgba(15,184,204,.20); border: 1px solid #d6eef1; padding: 26px 28px; }
.emp-transbox-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #0aa0c4; margin: 0 0 14px; line-height: 1.3; }
.emp-transbox p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #12a3c4; margin: 0 0 12px; }
.emp-transbox p:last-child { margin-bottom: 0; }
.emp-transbox2 { border: 1px solid #e2e6e8; box-shadow: 8px 8px 0 rgba(0,0,0,.06); align-self: stretch; }
.emp-transbox2-hd { display: block; background: linear-gradient(90deg, #0b8ec4, #0979b7); color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; padding: 22px 26px; }
.emp-transbox2-body { padding: 22px 26px; }
.emp-transbox2-body p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0; }
/* Teal corner-bracket frame (ASE / e-Vidyalaya) */
.emp-bracket { position: relative; padding: 10px 6px 26px 30px; margin: 34px 0 0; border-left: 1px solid #c9ced1; border-bottom: 1px solid #c9ced1; }
.emp-bracket::before { content: ""; position: absolute; left: -1px; top: 0; width: 34px; height: 3px; background: #0a8f9a; }
.emp-bracket::after { content: ""; position: absolute; left: -1px; top: 0; width: 3px; height: 46px; background: #0a8f9a; }
.emp-bracket-hd { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--brand-teal); margin: 0 0 12px; line-height: 1.25; }
/* Stat blurbs — blue lead phrase + black continuation */
.emp-statblurb { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0 0 20px; }
.emp-statblurb:last-child { margin-bottom: 0; }
.emp-bl { color: #097ab8; font-weight: 700; }
.emp-substrong { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 12px; line-height: 1.3; }
.emp-hrule { border: none; border-top: 1px solid #d4d9dc; margin: 26px 0; }

/* ---- doc 94: Performance Management / DEI / Wellbeing ---- */
.emp-tab { display: inline-block; background: #0979b7; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; padding: 12px 28px; border-radius: 2px; }
.emp-cbracket { border: 1px solid #bfe6ec; border-radius: 4px; box-shadow: 6px 6px 0 rgba(15,184,204,.15); padding: 22px 26px; }
.emp-cbracket p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0; }
.emp-cbracket b { font-weight: 700; }
/* DEI panel */
.emp-deipanel { background: #dff0f6; align-self: stretch; }
.emp-deihead { display: block; background: #0979b7; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; padding: 12px 26px; }
.emp-deibody { padding: 24px 28px; }
.emp-deibody p { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; line-height: 1.6; color: #000000; margin: 0; }
.emp-deifig { margin: 0; }
.emp-deifig .glance-img-placeholder { height: 100%; min-height: 320px; aspect-ratio: auto; }
/* Integrated Wellbeing Ecosystem — 2x2 box */
.emp-wellbox { border: 1px solid #bfe0e6; border-radius: 4px; padding: 48px 30px 30px; margin: 30px 0 0; position: relative; }
.emp-wellhead { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); background: #0979b7; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; padding: 14px 32px; text-align: center; line-height: 1.3; border-radius: 2px; }
.emp-wellgrid { display: grid; grid-template-columns: 1fr 1fr; }
.emp-wellcell { padding: 22px 30px; }
.emp-wellcell:nth-child(2n+1) { border-right: 1px solid #cfe3e6; padding-left: 0; }
.emp-wellcell:nth-child(2n) { padding-right: 0; }
.emp-wellcell:nth-child(n+3) { border-top: 1px solid #cfe3e6; }
.emp-wellcell-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #00a58f; margin: 0 0 14px; }

/* ---- doc 95: Workmen Welfare / Engagement / Survey / Way Forward ---- */
/* Worker Welfare Infrastructure — bordered box + centered banner tab + divided cells (Core Pillars style) */
.emp-wwibox { border: 1px solid #bfe0e6; border-radius: 4px; padding: 48px 34px 34px; margin: 30px 0 0; position: relative; }
.emp-wwibanner { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); margin: 0; text-align: center; }
.emp-wwibanner span { display: inline-block; background: #057bb9; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; padding: 14px 32px; border-radius: 2px; }
.emp-wwigrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.emp-wwicell { padding: 22px 34px; }
.emp-wwicell:nth-child(2n+1) { border-right: 1px solid #cfe3e6; padding-left: 0; }
.emp-wwicell:nth-child(2n) { padding-right: 0; }
.emp-wwicell:nth-child(n+3) { border-top: 1px solid #cfe3e6; }
.emp-wwi-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); border-bottom: 1px solid #cfd6da; padding-bottom: 10px; margin: 0 0 16px; }
.emp-wwi-sub { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.emp-wwicell p:not(.emp-wwi-hd) { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 400; line-height: 1.5; color: #1a1a1a; margin: 0; }
/* Adani Group Engagement Survey box */
.emp-survey { border: 1px solid #9fd8e0; border-radius: 4px; box-shadow: 8px 8px 0 rgba(15,184,204,.15); padding: 30px 34px; margin: 34px 0 0; }
.emp-survey-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: var(--brand-teal); margin: 0 0 12px; }
.emp-survey-intro { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #0f9cb8; margin: 0 0 24px; }
.emp-survey-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 48px; }
.emp-survey-sub { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 4px 0 12px; }
.emp-survey .emp-bullets li { color: #0f9cb8; }
.emp-survey .emp-bullets li::before { background: #0fb8cc; }
/* Way Forward panel */
.emp-wayfwd { background: #e9f4f8; padding: 34px; margin: 30px 0 0; display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; }
.emp-wf-t { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--brand-teal); margin: 0 0 4px; }
.emp-wf-s { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0; }

/* ---- doc 96-97: AI in Talent Mgmt / Human Rights / Labour Relations ---- */
/* The Data-Driven Foundation box */
.emp-ddf { border: 1px solid #a7dbe2; border-radius: 4px; box-shadow: 6px 6px 0 rgba(15,184,204,.14); padding: 28px 32px; margin: 4px 0 0; }
.emp-ddf-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 22px; }
.emp-ddf-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #00a58f; margin: 0 0 10px; }
#empContent .emp-ddf .esg-cols--3 { gap: 0; }
.emp-ddf .esg-cols--3 > .esg-col { padding: 0 26px; border-left: 1px solid #d6e6ec; }
.emp-ddf .esg-cols--3 > .esg-col:first-child { border-left: none; padding-left: 0; }
.emp-ddf .esg-cols--3 > .esg-col:last-child { padding-right: 0; }
.emp-ddf .esg-col p:last-child { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
/* Employee-Driven Career Ownership panel */
.emp-co { background: #e9f5f8; padding: 30px 34px; margin: 30px 0 0; }
.emp-co-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #000000; margin: 0 0 24px; }
.emp-corow { display: grid; grid-template-columns: 210px 24px 1fr; gap: 24px; align-items: center; margin-bottom: 22px; }
.emp-corow:last-child { margin-bottom: 0; }
.emp-colabel { display: flex; align-items: center; justify-content: center; text-align: center; background: #ffffff; box-shadow: 5px 5px 9px rgba(15,184,204,.22); padding: 24px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; min-height: 96px; line-height: 1.35; }
.emp-coarrow { color: #0979b7; font-size: 15px; text-align: center; }
.emp-cocell { padding: 4px 0 20px; border-bottom: 1px solid #b9c4c9; }
.emp-cocell p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
/* Core Pillars of Human Rights — 3-col grid inside emp-wellbox */
.emp-hrgrid { display: grid; grid-template-columns: repeat(3, 1fr); }
.emp-hrcell { padding: 22px 28px; }
.emp-hrcell:nth-child(3n+1), .emp-hrcell:nth-child(3n+2) { border-right: 1px solid #cfe3e6; }
.emp-hrcell:nth-child(3n+1) { padding-left: 0; }
.emp-hrcell:nth-child(3n) { padding-right: 0; }
.emp-hrcell:nth-child(n+4) { border-top: 1px solid #cfe3e6; }
.emp-hrcell-hd { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #00a58f; margin: 0 0 12px; }
.emp-hrcell p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 0; }
/* 2x2 stat grid */
.emp-stat2x2 { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 40px; align-content: start; }

/* ---- doc 97-98: HR Metrics annexure tables ---- */
.emp-anntable { width: 100%; border-collapse: collapse; font-family: 'Noto Sans', sans-serif; font-size: 16px; color: #000000; }
.emp-anntable th, .emp-anntable td { border: 1px solid #e6ebec; padding: 11px 12px; text-align: center; vertical-align: middle; }
.emp-anntable thead { border-top: 2px solid #0e8ea3; }
.emp-anntable thead th { font-weight: 700; background: #ffffff; }
.emp-anntable thead tr:last-child th { border-bottom: 2px solid #0e8ea3; }
.emp-anntable tbody td:first-child, .emp-anntable th:first-child { text-align: left; }
.emp-anntable tr.emp-ann-b td { font-weight: 700; background: #f4f8f9; }
.emp-anntable tbody tr:last-child td { border-bottom: 2px solid #0979b7; }
.emp-anntable .emp-tt-hl { background: #00bace; color: #ffffff; border-color: #00bace; }
.emp-anntable td.emp-tt-hlcol { background: #eaf6f8; }
/* two-column simple annexure tables (hiring cost, gender pay) — value cols right-aligned */
.emp-anntable--r td:not(:first-child), .emp-anntable--r th:not(:first-child) { text-align: right; }
.emp-annnote { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #000000; margin: 10px 0 0; }
.emp-annnote b { font-weight: 700; }

/* ---- Revision: full-width HR Governance flow (polished cards) ---- */
.emp-hrgov { display: grid; grid-template-columns: 1fr auto 1fr auto 1.05fr; align-items: stretch; gap: 0; margin: 26px 0 0; }
.emp-hrgov-step { background: #ffffff; border: 1px solid #e0eaee; border-top: 3px solid #0979b7; border-radius: 6px; box-shadow: 0 8px 20px rgba(9,121,183,.07); padding: 26px 28px; display: flex; flex-direction: column; }
.emp-hrgov-step-hd { font-family: 'Noto Sans', sans-serif; font-size: 17px; font-weight: 700; color: #0979b7; margin: 0 0 12px; line-height: 1.3; }
.emp-hrgov-step > p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.55; color: #000000; margin: 0; }
.emp-hrgov-arrow { align-self: center; color: #0979b7; font-size: 22px; padding: 0 16px; }
.emp-hrgov-step--out { border-top-color: #00a58f; background: #f4fbf9; }
.emp-hrgov-out-tab { display: inline-block; background: #00a58f; color: #ffffff; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 7px 20px; border-radius: 3px; margin: 0 0 16px; }
.emp-hrgov-out-list { list-style: none; margin: 0; padding: 0; }
.emp-hrgov-out-list li { position: relative; padding: 0 0 10px 18px; font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; }
.emp-hrgov-out-list li:last-child { padding-bottom: 0; }
.emp-hrgov-out-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: #00a58f; }

/* ---- Revision: two-column paragraph block (full-width readable) ---- */
.emp-2col-p { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 48px; margin: 0 0 6px; }
.emp-2col-p > p { margin: 0; }
/* Full-width cyan pull-quote block */
.emp-hrquote--band { margin: 30px 0 8px; max-width: none; }

/* ---- Revision 2: equal-height capability boxes + Training Highlights redesign ---- */
.emp-capgrid { align-items: stretch; }
/* Training Highlights — full-width 4-stat row + callout note */
.emp-trstats { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 40px; align-items: start; margin: 10px 0 0; }
.emp-trnote { display: flex; align-items: center; gap: 24px; background: #eef7f9; border-left: 4px solid #00b4d8; border-radius: 0 4px 4px 0; padding: 20px 30px; margin: 30px 0 0; }
.emp-trnote-num { flex: 0 0 auto; font-family: 'Noto Sans', sans-serif; font-size: 40px; font-weight: 700; color: #0979b7; line-height: 1; }
.emp-trnote-txt { font-family: 'Noto Sans', sans-serif; font-size: 17px; line-height: 1.5; color: #000000; }
.emp-trnote-txt b { color: #0979b7; font-weight: 700; }

/* ================= Customer Delight (cd-) ================= */
/* Case study box */
.cd-case { position: relative; background: #f2f8fb; border: 1px solid #cfe3ef; border-left: 4px solid #0979b7; border-radius: 0 6px 6px 0; padding: 26px 30px 28px; margin: 30px 0 0; }
.cd-case-tag { display: inline-block; background: #0089a8; color: #fff; font-family: 'Noto Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 8px 15px; border-radius: 5px; margin: 0 0 16px; }
.cd-case-title { font-family: 'Noto Sans', sans-serif; font-size: 19px; font-weight: 700; color: var(--brand-teal); margin: 0 0 14px; line-height: 1.3; }
.cd-case h4 { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #00a58f; margin: 16px 0 6px; }
.cd-case p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #1a1a1a; margin: 0 0 10px; }
.cd-case p:last-child { margin-bottom: 0; }
/* Digital metrics grid */
.cd-digrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 20px 0 0; }
.cd-digcard { background: #ffffff; border: 1px solid #d6e6ec; border-radius: 6px; padding: 24px 26px; }
.cd-digcard .cd-dig-cat { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 0 0 4px; }
.cd-digcard .cd-dig-desc { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #555; margin: 0 0 16px; }
.cd-dig-stat { display: flex; align-items: baseline; gap: 12px; margin: 10px 0 0; }
.cd-dig-num { font-family: 'Noto Sans', sans-serif; font-size: 30px; font-weight: 700; color: #0979b7; line-height: 1; flex: none; }
.cd-dig-lbl { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.4; color: #1a1a1a; }
@media (max-width: 767px) { .cd-digrid { grid-template-columns: 1fr; } }
/* Pillar feature cards (e.g. How We Ensure Service Reliability and Quality) */
.cd-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 24px 0 0; align-items: stretch; }
.cd-pillar { background: #fff; border: 1px solid #dce8ee; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 22px rgba(0, 105, 100, .07); display: flex; flex-direction: column; }
.cd-pillar-head { display: flex; align-items: center; gap: 14px; padding: 18px 22px; background: linear-gradient(180deg, #eef7f8, #e2f0f1); border-bottom: 2px solid var(--brand-teal); }
.cd-pillar-num { flex: none; width: 38px; height: 38px; border-radius: 9px; background: var(--brand-teal); color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.cd-pillar-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 0; line-height: 1.25; }
.cd-pillar-body { padding: 20px 22px 24px; }
.cd-pillar-list { list-style: none; margin: 0; padding: 0; }
.cd-pillar-list li { position: relative; padding-left: 20px; margin-bottom: 13px; font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.55; color: #333; }
.cd-pillar-list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 2px; background: #0fb8cc; }
.cd-pillar-list li:last-child { margin-bottom: 0; }
@media (max-width: 991px) { .cd-pillars { grid-template-columns: 1fr; } }
.cm-body .cd-footnote { font-family: 'Noto Sans', sans-serif; font-size: 13px; line-height: 1.6; color: #6b6b6b; margin: 12px 0 0; }

/* ================= Occupational Health & Safety (ohs-) ================= */
/* Key Highlights highlighted box */
.ohs-highlights { background: linear-gradient(135deg, #eef6fb 0%, #f5f0f8 100%); border: 1px solid #dbe7f1; border-radius: 12px; padding: 28px 32px 30px; margin: 34px 0 0; }
.ohs-highlights .env-gov-sub { margin-top: 0; }
.ohs-highlights .emp-statrow { margin-top: 18px; }
.ohs-highlights .cd-footnote { margin-bottom: 0; }
/* Strategic Focus Areas — cyan bracket diagram (matches report) */
.ohs-focus { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 18px; margin: 26px 0 8px; }
.ohs-focus-item { display: flex; align-items: center; justify-content: center; gap: 2px; min-height: 132px; }
.ohs-br { width: 42px; height: 122px; flex: none; }
.ohs-br--r { transform: scaleX(-1); }
.ohs-focus-txt { flex: 0 1 auto; text-align: center; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 600; line-height: 1.4; color: #1a1a1a; max-width: 175px; }
@media (max-width: 767px) { .ohs-focus { grid-template-columns: 1fr; } }
/* HSE Landscape — lined 4-column grid (matches report) */
.ohs-hse { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 30px; margin: 24px 0 0; border-top: 2px solid #bfe0e6; }
.ohs-hse-item { padding: 18px 0 16px; border-bottom: 1px solid #dbe7ea; }
.ohs-hse-item p { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: #1a1a1a; line-height: 1.45; margin: 0; }
@media (max-width: 991px) { .ohs-hse { grid-template-columns: repeat(2, 1fr); column-gap: 24px; } }
@media (max-width: 560px) { .ohs-hse { grid-template-columns: 1fr; } }
/* QHSE Policy download link */
.ohs-qhse-link { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 0; font-family: 'Noto Sans', sans-serif; font-size: 15px; color: #00a58f; text-decoration: none; }
.ohs-qhse-link:hover { text-decoration: underline; }
.ohs-qhse-link b { font-weight: 700; }
.ohs-qhse-link svg { flex: none; }
/* Blue pull-quote (report style: em-dash prefix, blue, semibold) */
.cm-body .ohs-pullquote { font-family: 'Noto Sans', sans-serif; font-size: 19px; line-height: 1.45; font-weight: 600; color: #0093c4; margin: 24px 0; padding-left: 26px; position: relative; }
.ohs-pullquote::before { content: "—"; position: absolute; left: 0; top: 0; color: #0093c4; font-weight: 700; }
.cm-body .ohs-pullquote--sm { font-size: 16px; line-height: 1.5; }
/* OH&S sub-headings in black */
#ohsContent .emp-hd--sm { color: #000000; }
/* Safety-Linked Performance boxed callout (report design) */
#ohsContent .ohs-notes-hd { font-family: 'Noto Sans', sans-serif; font-size: 13px; font-weight: 700; color: #4a4a4a; margin: 16px 0 2px; }
#ohsContent .ohs-notes { margin-top: 2px; }
#ohsContent .ohs-notes li { font-size: 13px; line-height: 1.6; color: #6b6b6b; margin: 0; }
.ohs-box { position: relative; border: 1px solid #bfe0e6; border-radius: 8px; padding: 32px 30px 28px; margin: 34px 0 0; }
.ohs-box-tab { position: absolute; top: -15px; left: 22px; background: #d7ebef; color: #1a1a1a; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; padding: 8px 18px; border-radius: 4px; }
.ohs-box-lead { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.6; color: #1a1a1a; margin: 4px 0 22px; }
.ohs-perf-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 44px; align-items: start; }
.ohs-perf-hd { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #00a58f; margin: 0 0 8px; }
.ohs-perf-num { font-family: 'Noto Sans', sans-serif; font-size: 34px; font-weight: 700; color: #0093c4; line-height: 1; margin: 2px 0 6px; }
.ohs-perf-sub { font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.45; color: #0093c4; margin: 0 0 12px; padding-left: 20px; position: relative; }
.ohs-perf-sub::before { content: "—"; position: absolute; left: 0; color: #0093c4; }
.ohs-perf-note { font-family: 'Noto Sans', sans-serif; font-size: 12px; line-height: 1.5; color: #666; margin: 0; }
@media (max-width: 767px) { .ohs-perf-grid { grid-template-columns: 1fr; gap: 22px; } }
.ohs-readmore { display: inline-flex; align-items: flex-start; gap: 8px; margin: 8px 0 0 26px; font-family: 'Noto Sans', sans-serif; font-size: 13px; line-height: 1.45; color: #555; text-decoration: none; }
.ohs-readmore svg { color: #00a58f; flex: none; margin-top: 1px; }
.ohs-readmore b { color: #1a1a1a; font-weight: 700; }
.ohs-readmore:hover { text-decoration: underline; }
/* Framework boxes: teal top-border, teal centred text (report design) */
.ohs-fw { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 22px 0 0; align-items: stretch; }
.ohs-fw-item { background: #eef7f8; border-top: 3px solid var(--brand-teal); padding: 18px 20px; display: flex; align-items: center; justify-content: center; }
.ohs-fw-item p { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: var(--brand-teal); line-height: 1.4; margin: 0; text-align: center; }
/* Framework flow with arrows (report design) */
.ohs-flow { display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; margin: 22px 0 0; }
.ohs-flow-item { flex: 1 1 0; min-width: 150px; background: #eef7f8; border-bottom: 3px solid var(--brand-teal); padding: 18px 14px; display: flex; align-items: center; justify-content: center; text-align: center; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: var(--brand-teal); line-height: 1.35; }
.ohs-flow-arrow { flex: 0 0 auto; display: flex; align-items: center; color: #7ec6ec; font-size: 18px; }
@media (max-width: 767px) { .ohs-fw { grid-template-columns: 1fr; } .ohs-flow { flex-direction: column; } .ohs-flow-arrow { transform: rotate(90deg); justify-content: center; } }
/* Topic identifier ribbon tab (report style) */
.ohs-topic { position: relative; display: inline-block; max-width: 340px; background: #cfe9ef; color: #000000; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.3; padding: 13px 26px 13px 44px; margin: 32px 0 10px; box-shadow: 3px 4px 0 rgba(0, 0, 0, 0.05); }
.ohs-topic::before { content: ''; position: absolute; left: 0; top: 0; height: 100%; width: 30px; background: #17b3d1; clip-path: polygon(0 0, 100% 0, 55% 100%, 0 100%); }


/* ===== Ported Governance gov-* design system (from AES reference, rdxuat) ===== */
/* ============================================================
   GOVERNANCE  (namespace "gov-")  — orange-forward palette
   Hero layout follows the Social (CSR) pattern; colours from
   governance.pdf (Adani orange #f47721 / deep #b35223 / peach #feeddf)
   ============================================================ */
.gov-page {
    background: #ffffff;
    --gov-orange: #f47724;   /* signature orange — H1, tags, dashes */
    --gov-deep:   #b35223;   /* deep orange-brown — quote band */
    --gov-peach:  #feeddf;   /* hero background */
    --gov-body:   #1a1a1a;
    --ail-body:   #1a1a1a;   /* prev/next labels */
    --soc-body:   #1a1a1a;   /* reused .soc-* linkage classes */
}
/* Hero — full banner, art bottom-right (CSR layout, governance colours) */
.gov-hero { position: relative; background: var(--gov-peach); min-height: 78vh; padding: 150px 0 70px; display: flex; align-items: center; overflow: hidden; }
.gov-hero-art { position: absolute; right: -2%; bottom: 0; width: 58%; max-width: 1120px; height: auto; opacity: .95; pointer-events: none; }
.gov-hero .container { position: relative; z-index: 1; }
.gov-eyebrow { display: block; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .3px; color: #4d4d4f; margin: 0 0 22px; }
.gov-title { font-family: 'Playfair Display', serif; font-size: clamp(34px, 5vw, 58px); font-weight: 800; line-height: 1.08; color: #046b64; margin: 0; max-width: 16ch; }
/* Sections */
.gov-section { padding: 20px 0; }
.gov-section--tint { background: #fbf3ec; }
/* Tighten the gap above the Governance Snapshot band */
.gov-section--snap { padding-top: 14px; }
.gov-section:has(+ .gov-section--snap) { padding-bottom: 16px; }
.gov-section > .container > :first-child { margin-top: 0; }
.gov-lead-p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.75; color: var(--gov-body); margin: 0; }
/* Key Highlights */
.gov-tag { display: inline-block; background: var(--gov-orange); color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; padding: 9px 22px; border-radius: 2px; margin: 0 0 34px; }
.gov-highlights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px; align-items: start; }
.gov-hl-num { display: inline-block; font-family: 'Noto Sans', sans-serif; font-size: clamp(32px, 3.2vw, 42px); font-weight: 800; line-height: 1; margin: 0 0 10px; background: linear-gradient(180deg, #f9a970 0%, #f47721 50%, #d4692a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.gov-hl-num small { font-size: .48em; font-weight: 800; }
.gov-hl-num--sm { font-size: 34px !important; }
/* Governance Snapshot: shrink all stat numbers to 32px */
.gov-section--snap .gov-hl-num { font-size: 32px !important; }
.gov-hl-desc { position: relative; font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--gov-body); padding-left: 24px; max-width: 300px; }
.gov-hl-desc::before { content: ""; position: absolute; left: 0; top: .55em; width: 15px; height: 3px; background: var(--gov-orange); }
/* Linkages sub-headings (reuses .soc-linkages / .soc-tags / .soc-code / .soc-caps / .soc-sdgs) */
.gov-link-block + .gov-link-block { margin-top: 34px; }
.gov-link-h { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0 0 18px; }
/* Quote callout — no background, left-aligned, full width, orange (Playfair) */
.gov-quote-sec { background: none; padding: 20px 0 56px; }
.gov-quote { position: relative; max-width: none; margin: 0; }
.gov-quote-ico { display: block; width: 34px; height: auto; margin: 0 0 22px; }
.gov-quote p { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 400; line-height: 1.75; color: var(--gov-orange); margin: 0; }
/* Gradient text-callout highlight (matches .env-grad-stat, orange gradient) */
.gov-grad-stat { position: relative; font-family: 'Noto Sans', sans-serif; font-size: clamp(19px, 1.9vw, 24px); font-weight: 700; line-height: 1.45; margin: 0; padding-left: 30px; background: linear-gradient(90deg, #f9a970 0%, #f47721 45%, #d4692a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.gov-grad-stat::before { content: ""; position: absolute; left: 0; top: .55em; width: 18px; height: 4px; border-radius: 2px; background: #f47721; -webkit-text-fill-color: initial; }
.gov-grad-stat.is-teal { background: linear-gradient(90deg, #00a0a0 0%, #007979 60%, #005555 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.gov-grad-stat.is-teal::before { background: #007979; }
/* Solid match to .gov-h-black.is-orange heading color */
.gov-grad-stat.is-heading-orange { background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: var(--gov-orange); color: var(--gov-orange); }
.gov-grad-stat.is-heading-orange::before { background: var(--gov-orange); }
/* --- Section headings --- */
.gov-h-black { font-family: 'Noto Sans', sans-serif; font-size: 16px !important; font-weight: 700; color: #1a1a1a; margin: 0 0 12px; }
/* h2 (Noto), black (Body-Head-02), 16px */
.gov-h-blue { font-family: 'Noto Sans', sans-serif; font-weight: 700; color: #007979; margin: 0 0 12px; }
.gov-h-cyan { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #007979; margin: 0 0 12px; }
/* subtitle (cyan) hugs its section title (blue) */
.gov-h-blue + .gov-h-cyan { margin-top: -12px; }
/* Date/caption line hugs its cyan heading (e.g. "Governance Snapshot" → "(as of …)") */
.gov-h-cyan + .gov-body-p { margin-top: -8px; }
.gov-h-blue + .gov-tag { margin-top: 18px; }
/* --- Practices-in-Action (peach box, 3-col bullets) --- */
.gov-actions { background: var(--gov-peach); border-radius: 8px; padding: 34px 36px 16px; }
.gov-actions ul { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: 46px; }
.gov-actions li { break-inside: avoid; position: relative; padding-left: 20px; margin: 0 0 20px; font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.55; color: #1a1a1a; }
.gov-actions li::before { content: ""; position: absolute; left: 0; top: .45em; width: 7px; height: 7px; background: #975ea7; }
.gov-actions a { color: #8e278f; font-weight: 600; }
/* --- Current vs Target table --- */
.gov-tablewrap { overflow-x: auto; margin-top: 6px; }
.gov-table { width: 100%; border-collapse: collapse; font-family: 'Noto Sans', sans-serif; border-bottom: 2px solid var(--gov-orange); }
.gov-table thead th { background: var(--gov-orange); color: #fff; font-size: 14px; font-weight: 700; text-align: left; padding: 12px 16px; white-space: nowrap; }
.gov-table td { padding: 12px 16px; font-size: 14px; line-height: 1.5; color: #1a1a1a; vertical-align: top; background: #ffffff; border-bottom: 1px solid #f3d9c5; }
.gov-table td:first-child { font-weight: 700; white-space: nowrap; background: var(--gov-peach); }
/* --- Strategic Focus Areas (bracketed items) --- */
.gov-focus { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 6px; }
.gov-focus-item { position: relative; display: flex; align-items: center; justify-content: center; min-height: 118px; }
.gov-focus-brk { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 185px; height: auto; pointer-events: none; }
.gov-focus-item p { position: relative; z-index: 1; font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.35; color: #1a1a1a; margin: 0; text-align: center; max-width: 128px; }
/* --- Governance Snapshot --- */
.gov-snap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 40px; margin-top: 6px; }
.gov-snap-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--gov-orange); margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid #dcdcdc; }
.gov-snap-val { font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.5; color: #1a1a1a; margin: 0; }
/* --- Framework read-more + org chart --- */
.gov-readmore { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.5; color: #4d4d4f; margin: 10px 0 14px; }
.gov-readmore a { color: inherit; }
.gov-readmore .oplus { color: var(--gov-orange); font-weight: 700; margin-right: 6px; }
.gov-orgchart { margin-top: 30px; }
.gov-orgchart img { display: block; width: 100%; max-width: 1100px; height: auto; margin: 0 auto; }
/* --- Governance Framework org chart (built in HTML/CSS) --- */
.gov-oc { max-width: 1000px; margin: 0 auto; font-family: 'Noto Sans', sans-serif; }
.gov-oc-tab { display: inline-block; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 14px; line-height: 1.3; text-align: center; padding: 9px 26px; border-radius: 2px; }
.gov-oc-tab--orange { background: linear-gradient(90deg, #f47721 0%, #d4692a 100%); color: #fff; }
.gov-oc-tab--peach { display: block; background: var(--gov-peach); color: #1a1a1a; }
/* Top */
.gov-oc-top { text-align: center; }
/* Connector: vertical stub under Board of Directors + horizontal bar + two down-arrows */
.gov-oc-branch { position: relative; height: 30px; }
.gov-oc-branch::before { content: ""; position: absolute; left: 50%; top: 0; width: 2px; height: 12px; background: var(--gov-orange); transform: translateX(-50%); }
.gov-oc-branch::after { content: ""; position: absolute; left: 25%; right: 25%; top: 12px; height: 2px; background: var(--gov-orange); }
.gov-oc-pillars { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
/* down ticks + arrowheads into each column header */
.gov-oc-col { position: relative; }
.gov-oc-col::before { content: ""; position: absolute; left: 50%; top: -18px; width: 2px; height: 12px; background: var(--gov-orange); transform: translateX(-50%); }
.gov-oc-col::after { content: ""; position: absolute; left: 50%; top: -8px; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 7px solid var(--gov-orange); transform: translateX(-50%); }
.gov-oc-items { display: flex; flex-direction: column; gap: 20px; margin-top: 22px; }
/* Individual committee block */
.gov-oc-item { text-align: center; }
.gov-oc-name { font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--gov-orange); margin: 0 0 6px; }
.gov-oc-chair { font-family: 'Noto Sans', sans-serif; font-size: 13px; line-height: 1.35; color: #1a1a1a; margin: 0 0 8px; }
.gov-oc-pct { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-family: 'Noto Sans', sans-serif; }
.gov-oc-num { font-size: 19px; font-weight: 800; color: var(--gov-orange); }
.gov-oc-ind { position: relative; padding-left: 16px; font-size: 13px; font-weight: 600; color: #6d6e71; }
.gov-oc-ind::before { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 2px; background: var(--gov-orange); transform: translateY(-50%); }
/* Boxed Risk Management Committee (left) — with arrow toward sub-committees */
.gov-oc-item--boxed { position: relative; border: 1px solid #f3d0b6; border-radius: 4px; padding: 16px 14px; }
.gov-oc-item--boxed::after { content: ""; position: absolute; left: 100%; top: 50%; margin-left: 6px; width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 12px solid var(--gov-orange); transform: translateY(-50%); }
/* Sub-committees box (right) */
.gov-oc-subbox { border: 1px solid #f3d0b6; border-radius: 4px; padding: 0 18px 22px; margin-top: 4px; }
.gov-oc-subtab { display: block; width: max-content; max-width: 96%; margin: -18px auto 22px; font-size: 13px; padding: 8px 20px; }
.gov-oc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 18px; }
.gov-oc-item--sub .gov-oc-name { font-size: 13px; }
.gov-oc-item--sub .gov-oc-num { font-size: 17px; }
/* Governance Objectives band */
.gov-oc-obj { text-align: center; margin-top: 34px; }
.gov-oc-objlist { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 34px; text-align: left; }
.gov-oc-objlist li { position: relative; padding-left: 18px; font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 600; line-height: 1.45; color: #12556a; }
.gov-oc-objlist li::before { content: ""; position: absolute; left: 0; top: .5em; width: 10px; height: 2px; background: var(--gov-orange); }
/* --- Corporate Governance & ESG Policies matrix --- */
.gov-poltable-wrap { margin-top: 10px; border: 1px solid #e4e7ea; border-radius: 4px; overflow-x: auto; }
.gov-poltable { width: 100%; min-width: 640px; border-collapse: collapse; font-family: 'Noto Sans', sans-serif; }
.gov-poltable thead th { background: var(--gov-peach); color: #1a1a1a; font-size: 13px; font-weight: 700; text-align: left; padding: 14px 16px; vertical-align: top; border-bottom: 1px solid #f0d8c4; }
.gov-poltable thead th + th { border-left: 1px solid #f0d8c4; }
.gov-poltable-policy { width: 34%; }
.gov-poltable-cov { width: 24%; }
.gov-poltable-cmt { width: 42%; }
.gov-poltable td { padding: 11px 16px; font-size: 13.5px; line-height: 1.4; color: #1a1a1a; vertical-align: middle; border-bottom: 1px solid #d0d3d6; }
.gov-poltable tbody tr:last-child td { border-bottom: 0; }
.gov-pol-name { font-weight: 600; }
.gov-pol-cov, .gov-pol-cmt { border-left: 1px solid #eef0f2; }
.gov-cmt { display: inline-block; color: var(--gov-orange); font-weight: 700; font-size: 13px; margin: 2px 12px 2px 0; }
/* icon placeholder */
.gov-ph-ico { display: inline-block; width: 92px; height: 26px; border: 1px dashed #c9ccd1; border-radius: 3px; background: #f2f4f6; vertical-align: middle; }
.gov-ph-ico--sm { width: 30px; height: 30px; margin-right: 8px; border: 0; background: none; border-radius: 0; }
.gov-ph-ico--sm img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Policy-table coverage icons: fit to cell, drop the dashed placeholder box */
.gov-poltable .gov-pol-cov .gov-ph-ico { display: inline-block; width: auto; height: auto; min-height: 0; border: 0; background: none; border-radius: 0; padding: 0; vertical-align: middle; }
.gov-poltable .gov-pol-cov .gov-ph-ico img { display: block; height: 28px; width: auto; max-width: 100%; }
/* legend */
.gov-pol-legend { padding: 20px 16px 8px; border-top: 1px solid #e4e7ea; background: #fbfcfd; }
.gov-pol-legstake { display: flex; flex-wrap: wrap; gap: 14px 28px; }
.gov-leg-item { display: inline-flex; align-items: center; font-family: 'Noto Sans', sans-serif; font-size: 13px; color: #1a1a1a; }
.gov-pol-legtitle { font-family: 'Noto Sans', sans-serif; font-size: 13px; font-weight: 700; color: #6d6e71; margin: 20px 0 12px; }
.gov-pol-legcmt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 26px; }
.gov-leg-cmt { font-family: 'Noto Sans', sans-serif; font-size: 12.5px; line-height: 1.4; color: #1a1a1a; }
.gov-leg-cmt .gov-cmt { margin-right: 8px; }
/* --- Board composition charts (pages 5-6) --- */
.gov-charts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; align-items: start; margin-top: 6px; }
/* Average-Age / Average-tenure stat blocks: middle-align to the chart placeholders in their row */
.gov-charts > .gov-hl { align-self: center; }
.gov-chart .gov-tag { margin-bottom: 22px; }
.gov-chart-img { display: block; width: 100%; max-width: 272px; height: auto; }
.gov-highlights--4 { grid-template-columns: repeat(4, 1fr); }
.gov-highlights--1 { grid-template-columns: 1fr; }
.gov-highlights--2 { grid-template-columns: repeat(2, 1fr); }
/* Governance Snapshot: tag-badge section headers + side-by-side stat groups */
.gov-highlights + .gov-tag, .gov-highlights + .gov-snaprow, .gov-charts + .gov-tag { margin-top: 24px; }
.gov-snaprow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px; align-items: start; }
.gov-snapcol .gov-tag { width: 100%; box-sizing: border-box; text-align: center; }
.gov-snapcol .gov-highlights { margin-top: 22px; }
.gov-note { font-family: 'Noto Sans', sans-serif; font-size: 13.5px; line-height: 1.5; color: #4d4d4f; margin: 16px 0 0; }
.gov-footnote { font-family: 'Noto Sans', sans-serif; font-size: 13px; line-height: 1.5; color: #4d4d4f; margin: 22px 0 0; }
.gov-diagram { margin-top: 6px; }
.gov-diagram img { display: block; width: 100%; max-width: 620px; height: auto; margin: 0 auto; }
.gov-body-p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.75; color: var(--gov-body); margin: 0 0 18px; }
/* Inline document links in body/lead copy — on-brand, underlined */
.gov-body-p a, .gov-lead-p a { color: #00729c; text-decoration: underline !important; text-underline-offset: 2px; }
.gov-body-p a:hover, .gov-lead-p a:hover { color: var(--gov-orange); }
.gov-body-p:last-child { margin-bottom: 0; }
/* House rule: consistent 34px gap before ANY heading that follows flow content in the same section */
:is(.gov-lead-p, .gov-body-p, .gov-footnote, .gov-readmore, .gov-grad-stat, .gov-callout, .gov-fig, .gov-bullets, .gov-photo, .gov-highlights, .gov-committees, .gov-charts) + :is(.gov-h-blue, .gov-h-black, .gov-h-cyan, .gov-subh-grey) { margin-top: 20px; }
/* ...and before a highlight callout that follows flow content */
:is(.gov-body-p, .gov-footnote, .gov-readmore, .gov-fig, .gov-bullets, .gov-highlights, .gov-committees, .gov-photo) + :is(.gov-grad-stat, .gov-callout) { margin-top: 34px; }
/* --- Two-up highlight callouts (black label + orange dash + orange gradient body) --- */
.gov-callouts { display: grid; grid-template-columns: 1fr; gap: 30px; margin-top: 8px; }
.gov-callout-h { position: relative; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; margin: 0 0 12px; padding-left: 30px; background: linear-gradient(90deg, #f9a970 0%, #f47721 45%, #d4692a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.gov-callout-h::before { content: ""; position: absolute; left: 0; top: .55em; width: 18px; height: 4px; border-radius: 2px; background: var(--gov-orange); -webkit-text-fill-color: initial; }
.gov-callout-p { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 600; line-height: 1.55; margin: 0; padding-left: 30px; background: linear-gradient(90deg, #f9a970 0%, #f47721 45%, #d4692a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
/* Single callout — proper peach panel with orange accent bar + quote mark (readable) */
.gov-callout { position: relative; background: var(--gov-peach); border-left: 4px solid var(--gov-orange); border-radius: 0 8px 8px 0; padding: 24px 30px 24px 30px; margin-top: 8px; }
.gov-callout::before { content: "\201C"; position: absolute; top: 6px; left: 18px; font-family: 'Playfair Display', serif; font-size: 46px; line-height: 1; color: var(--gov-orange); opacity: .35; pointer-events: none; }
.gov-callout > .gov-callout-p { position: relative; padding-left: 0; font-size: 16px; font-weight: 600; line-height: 1.65; background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #1a1a1a; color: #1a1a1a; }
/* --- Grey subheading + bullet list --- */
.gov-subh-grey { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: #6d6e71; margin: 0 0 14px; }
.gov-bullets { list-style: none; margin: 0 0 16px; padding: 0; }
.gov-bullets li { position: relative; padding-left: 20px; margin: 0 0 12px; font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.6; color: #1a1a1a; }
.gov-bullets li::before { content: ""; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; background: #975ea7; }
/* Orange-accent heading + bullets (e.g. Board's Oversight on ESG Matters) */
.gov-h-black.is-orange { color: var(--gov-orange); position: relative; padding-left: 30px; }
.gov-h-black.is-orange::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 18px; height: 4px; border-radius: 2px; background: var(--gov-orange); }
.gov-h-black.is-teal { color: #007979; }
.gov-h-cyan.is-teal { color: #007979; }
/* Space above a grey sub-heading / callout that follows a cyber-box block */
.gov-cyber-boxes + .gov-subh-grey,
.gov-cyber-boxes + .gov-grad-stat, .gov-lead-p + .gov-grad-stat { margin-top: 24px; }
.gov-bullets.is-orange li { color: var(--gov-orange); }
.gov-bullets.is-orange li::before { background: var(--gov-orange); }
/* --- Board Committee Composition Snapshot --- */
.gov-committees-title { text-align: center; }
.gov-committees { border: 1px solid #e4e7ea; border-radius: 4px; padding: 0 30px 34px; margin-top: 40px; }
.gov-committees-tab { display: block; width: max-content; max-width: 90%; margin: -22px auto 30px; background: linear-gradient(90deg, #f47721 0%, #d4692a 100%); color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; text-align: center; padding: 12px 44px; border-radius: 2px; }
.gov-committees-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.gov-committees-col { padding: 0 34px; }
.gov-committees-col + .gov-committees-col { border-left: 1px solid #e4e7ea; }
.gov-committees-colh { position: relative; background: var(--gov-peach); color: #1a1a1a; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 15px; text-align: center; padding: 10px; border-radius: 2px; margin: 0 0 28px; }
.gov-committees-colh::before { content: ""; position: absolute; left: 50%; top: -17px; transform: translateX(-50%); width: 0; height: 0; border-left: 11px solid transparent; border-right: 11px solid transparent; border-top: 13px solid #d4692a; }
.gov-committees-list { display: flex; flex-direction: column; gap: 28px; }
.gov-comm-stat { text-align: center; }
.gov-comm-num { display: inline-block; font-family: 'Noto Sans', sans-serif; font-size: 26px; font-weight: 800; line-height: 1; margin: 0; background: linear-gradient(180deg, #f9a970 0%, #d4692a 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.gov-comm-dash { display: block; width: 22px; height: 3px; background: var(--gov-orange); margin: 9px auto 10px; }
.gov-comm-lbl { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.4; color: #1a1a1a; margin: 0; }
.gov-subcomm-h { font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 14px; color: #1a1a1a; text-align: center; margin: 8px 0 22px; }
.gov-subcomm { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.gov-committees-note { font-family: 'Noto Sans', sans-serif; font-size: 13px; color: #4d4d4f; text-align: center; margin: 28px 0 0; }
.gov-committees-note b { color: var(--gov-orange); font-weight: 700; }
/* --- Full-width centred figure (baked-in-text SVGs) --- */
.gov-fig { margin: 10px 0 34px; }
.gov-fig img { display: block; width: 100%; max-width: 1100px; height: auto; margin: 0 auto; }
.gov-fig--sm img { max-width: 680px; }
.gov-fig--xs img { max-width: 500px; }
.gov-bullets--3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; align-items: start; }
/* --- Full-width photo --- */
.gov-photo { margin: 34px 0 0; }
.gov-photo img { display: block; width: 100%; max-width: 1296px; height: auto; margin: 0 auto; border-radius: 4px; }
/* --- Our Policy Advocacy Approach (bordered box, 2x2 numbered quadrants) --- */
.gov-approach { border: 1px solid #e4e7ea; border-radius: 4px; padding: 0 0 6px; margin-top: 40px; }
.gov-approach-tab { display: block; width: max-content; max-width: 90%; margin: -22px auto 20px; background: var(--gov-peach); color: #1a1a1a; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; text-align: center; padding: 12px 44px; border-radius: 2px; box-shadow: 0 2px 10px rgba(180,83,35,.12); }
.gov-approach-grid { display: grid; grid-template-columns: 1fr 1fr; }
.gov-approach-item { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; padding: 26px 34px; }
.gov-approach-item:nth-child(1), .gov-approach-item:nth-child(3) { border-right: 1px solid #e4e7ea; }
.gov-approach-item:nth-child(1), .gov-approach-item:nth-child(2) { border-bottom: 1px solid #e4e7ea; }
.gov-approach-num { display: inline-block; font-family: 'Noto Sans', sans-serif; font-size: 26px; font-weight: 800; color: var(--gov-orange); line-height: 1; padding: 3px 10px 9px 11px; border-left: 2px solid var(--gov-orange); border-bottom: 2px solid var(--gov-orange); }
.gov-approach-h { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: #b45323; margin: 4px 0 10px; }
.gov-approach-body p { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.6; color: #1a1a1a; margin: 0 0 10px; }
.gov-approach-body .gov-bullets { margin: 0; }
.gov-approach-body .gov-bullets li { font-size: 14px; line-height: 1.55; margin: 0 0 10px; }
.gov-approach-body .gov-bullets li:last-child { margin-bottom: 0; }
/* --- Policy Influence Areas (Focus Area -> Description) --- */
.gov-influence { margin-top: 8px; }
.gov-influence-head { display: grid; grid-template-columns: 1fr 44px 1.4fr; gap: 16px; margin-bottom: 16px; }
.gov-influence-head .ic { display: block; width: 40px; height: 40px; margin: 0 0 12px; }
.gov-influence-head .lbl { display: block; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 16px; color: #1a1a1a; padding-bottom: 12px; border-bottom: 1px solid #d9dde3; }
.gov-influence-row { display: grid; grid-template-columns: 1fr 44px 1.4fr; gap: 16px; align-items: center; margin-bottom: 14px; }
.gov-influence-fa { background: #c15a24; color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 15px; line-height: 1.35; padding: 18px 22px; border-radius: 6px; }
.gov-influence-arrow { width: 0; height: 0; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 13px solid var(--gov-orange); margin: 0 auto; }
.gov-influence-desc { background: var(--gov-peach); color: #1a1a1a; font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; padding: 18px 22px; border-radius: 6px; }
/* Prominent orange chapter heading (e.g. Cybersecurity and Data Privacy) */
.gov-h-orange { font-size: 24px !important; font-family: 'Noto Sans', sans-serif; font-weight: 800; color: var(--gov-orange); margin: 0 0 4px; }
.gov-h-orange + .gov-body-p { margin-top: 16px; }
/* --- Cybersecurity governance framework diagram --- */
.gov-cyber { margin-top: 30px; }
.gov-cyber-tab { display: flex; align-items: center; justify-content: center; gap: 12px; width: max-content; max-width: 92%; margin: 0 auto; background: linear-gradient(90deg, #f47721 0%, #d4692a 100%); color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 15px; letter-spacing: .4px; padding: 14px 40px; border-radius: 6px; position: relative; z-index: 1; }
.gov-cyber-tab img { width: 26px; height: 26px; }
.gov-cyber-boxes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.gov-cyber-box { background: var(--gov-peach); border-radius: 8px; padding: 24px 26px; }
/* Solid (no gradient) grad-stat */
.gov-grad-stat.is-solid { background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: var(--gov-orange); color: var(--gov-orange); }
/* "How We Protect" rust header bar + 3-column boxes (matches PDF) */
.gov-protect-bar { display: block; background: #b45323; color: #fff; text-align: center; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; padding: 12px 24px; border-radius: 6px; margin: 28px auto 0; max-width: 560px; }
.gov-protect-bar + .gov-cyber-boxes { grid-template-columns: 1fr 1fr 1fr; margin-top: 14px; }
@media (max-width: 767px) { .gov-protect-bar + .gov-cyber-boxes { grid-template-columns: 1fr; } }
.gov-cyber-box--white { background: #fff; border: 1px solid #f2ded0; }
.gov-cyber-box .gov-subh-grey { margin: 0 0 12px; }
#govContent .gov-cyber-box .gov-subh-grey { color: #b45323; }
.gov-cyber-box > p { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.55; color: #1a1a1a; margin: 0; }
.gov-cyber-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 20px; }
.gov-cyber-3col p { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #1a1a1a; margin: 0; border-left: 1px solid #e6c9b3; padding-left: 14px; }
.gov-cyber-3col p:first-child { border-left: 0; padding-left: 0; }
.gov-cyber-down { width: 0; height: 0; border-left: 14px solid transparent; border-right: 14px solid transparent; border-top: 16px solid #d4692a; margin: 18px auto; }
.gov-cyber-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }
.gov-cyber-col { display: flex; flex-direction: column; background: var(--gov-peach); border-radius: 8px; padding: 0 20px 20px; }
.gov-cyber-col .gov-cyber-box--white:last-child { flex: 1 1 auto; }
.gov-cyber-subtab { display: block; width: max-content; margin: 0 auto; transform: translateY(-14px); background: linear-gradient(90deg, #f47721 0%, #d4692a 100%); color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 14px; padding: 9px 26px; border-radius: 5px; }
.gov-cyber-col .gov-cyber-box--white { margin-bottom: 16px; }
.gov-cyber-col .gov-cyber-box--white:last-child { margin-bottom: 0; }
.gov-cyber-box .stmt { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.55; color: #1a1a1a; margin: 0; padding: 14px 0; border-top: 1px solid #ecdccf; }
.gov-cyber-box .gov-subh-grey + .stmt { border-top: 0; padding-top: 0; }
/* --- Peach-header panels (page 23) --- */
.gov-panels2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 8px; }
.gov-panel { background: #fff; border: 1px solid #f2ded0; border-radius: 8px; box-shadow: 6px 8px 0 rgba(193,90,36,.05); padding: 0 0 10px; }
.gov-panel-full { grid-column: 1 / -1; }
.gov-panel-h { display: block; background: #fbe4d5; color: #c15a24; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 15px; padding: 12px 22px; border-radius: 6px; margin: 10px 10px 4px; }
.gov-panel-body { padding: 16px 24px 6px; }
.gov-panel-body > p { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.6; color: #1a1a1a; margin: 0 0 14px; }
.gov-panel-body .gov-bullets li { font-size: 14px; }
/* --- Numbered cards (page 24 core implementation) --- */
.gov-numcards { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 22px; }
.gov-numcard { background: var(--gov-peach); border-radius: 8px; padding: 42px 18px 22px; position: relative; }
.gov-numcard-n { position: absolute; top: -16px; left: 18px; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(180deg, #f7a24f 0%, #e0672a 100%); color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 800; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.gov-numcard p { font-family: 'Noto Sans', sans-serif; font-size: 13.5px; line-height: 1.5; color: #1a1a1a; margin: 0; }
/* --- Info cards (orange title + description + underline) --- */
.gov-band { background: var(--gov-peach); border-radius: 8px; padding: 34px 34px 10px; }
.gov-icards-box { border: 1px solid #e4e7ea; border-radius: 8px; padding: 34px; }
.gov-icards { display: grid; gap: 28px 30px; }
.gov-icards--4 { grid-template-columns: repeat(4, 1fr); }
.gov-icards--3 { grid-template-columns: repeat(3, 1fr); }
.gov-icard { padding-bottom: 18px; border-bottom: 1px solid #e9c9b4; }
.gov-icard-h { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: #b45323; line-height: 1.3; margin: 0 0 10px; }
.gov-icard p { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #1a1a1a; margin: 0; }
/* --- Complaints table (page 23) --- */
.gov-ctable { width: 100%; border-collapse: collapse; border-bottom: 2px solid var(--gov-orange); margin-top: 10px; }
.gov-ctable th { background: var(--gov-orange); color: #fff; text-align: left; font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 700; padding: 12px 16px; }
.gov-ctable th:last-child, .gov-ctable td:last-child { text-align: center; }
.gov-ctable td { padding: 14px 16px; font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; border-bottom: 1px solid #f3d9c5; color: #1a1a1a; }
/* --- 2-column bullet grid --- */
.gov-bullets--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; align-items: start; }
/* --- Third-party disclosure cards (page 26) --- */
.gov-disclose { margin-top: 8px; }
.gov-disclose-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gov-disclose-card { border: 1px solid #f0d8c8; border-radius: 8px; padding: 24px 26px; text-align: center; }
.gov-disclose-card h4 { font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; color: #b45323; margin: 0 0 10px; }
.gov-disclose-card p { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #1a1a1a; margin: 0; }
.gov-disclose-band { display: block; width: max-content; max-width: 86%; margin: 16px auto; background: linear-gradient(90deg, #f47721 0%, #d4692a 100%); color: #fff; font-family: 'Noto Sans', sans-serif; font-weight: 700; font-size: 15px; padding: 13px 30px; border-radius: 6px; text-align: center; }
/* --- Contact list --- */
.gov-contact { list-style: none; margin: 6px 0 0; padding: 0; }
.gov-contact li { position: relative; padding-left: 20px; margin: 0 0 14px; font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #1a1a1a; }
.gov-contact li::before { content: ""; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; background: #975ea7; }
.gov-contact strong { color: #1a1a1a; }
.gov-contact a { color: var(--brand-blue); }


/* ===== Ported soc-* linkage classes (from AES reference) ===== */
/* ---- Key Linkages (reuses env-glance component vocabulary) ---- */
.soc-linkages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; align-items: start; }
.soc-tags { list-style: none; margin: 0; padding: 0; }
.soc-tags li { position: relative; font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.4; color: #1a1a1a; margin: 0 0 16px; padding-left: 60px; min-height: 26px; display: flex; align-items: center; }
.soc-code { position: absolute; left: 0; top: -1px; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; padding: 4px 7px; border: 1.5px solid currentColor; border-right: 0; font-size: 13px; font-weight: 700; }
/* risks — teal */
.soc-caps { display: flex; flex-direction: column; gap: 14px; }
.soc-cap { display: inline-flex; align-items: center; gap: 12px; font-family: 'Noto Sans', sans-serif; font-size: 14px; color: var(--soc-body); }
.soc-cap img { width: 30px; height: 30px; flex: 0 0 auto; }
.soc-sdgs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; max-width: 300px; }
.soc-sdgs img { width: 100%; height: auto; display: block; }
/* Linkages sub-headings (reuses .soc-linkages / .soc-tags / .soc-code / .soc-caps / .soc-sdgs) */
.gov-link-block + .gov-link-block { margin-top: 34px; }

.soc-code--m { color: #ef8b22; }
.soc-code--s { color: #975ea7; }
.soc-code--r { color: #3cb1b6; }

@media (max-width: 900px){ .soc-linkages { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px){ .soc-linkages { grid-template-columns: 1fr; } }


/* ===== Governance: align typography to ATGL house style (emp and cm classes) ===== */
#govHero .gov-title { font-size: clamp(30px, 4vw, 50px); line-height: 1.12; font-weight: 700; }
@media (max-width: 900px){ #govHero .gov-title { font-size: 40px !important; } }
@media (max-width: 575px){ #govHero .gov-title { font-size: 32px !important; } }
#govHero .gov-eyebrow { font-size: 16px; }
#govContent .gov-lead-p { font-size: 16px; line-height: 1.75; }
#govContent .gov-body-p { font-size: 16px; line-height: 1.7; }
#govContent .gov-h-blue { font-size: 22px; }
#govContent .gov-h-black { font-size: 18px !important; }
#govContent .gov-h-cyan { font-size: 18px; }
#govContent .gov-h-orange { font-size: 22px !important; }
#govContent .gov-bullets li { font-size: 16px; line-height: 1.5; }
#govContent .gov-actions li { font-size: 15px; }
#govContent .gov-subh-grey { font-size: 16px; }
#govContent .gov-callout-p, #govContent .gov-cyber-box > p, #govContent .gov-cyber-box li { font-size: 15px; }
#govContent .gov-snap-val, #govContent .gov-comm-lbl { font-size: 15px; }

/* ============================================================
   ABOUT TOTALENERGIES  (namespace "te-") — teal/blue house palette
   Reuses the same fonts/scale/colours as other cm-/pfh- pages:
   Playfair Display for hero + emphasis, Noto Sans everywhere else,
   var(--brand-teal)/var(--brand-green)/var(--brand-cyan) accents.
   ============================================================ */
.te-page { background: #ffffff; }

/* Hero — eyebrow + title (left) | banner photo (right), tinted band */
.te-hero { position: relative; background: linear-gradient(135deg, #eaf7f5 0%, #eef5fb 100%); padding: 130px 0 50px; }
.te-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 748px; gap: 56px; align-items: center; }
.te-eyebrow { display: block; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--text-primary); margin: 0 0 16px; }
.te-title { font-family: 'Playfair Display', serif; font-size: clamp(30px, 4vw, 48px); font-weight: 700; line-height: 1.15; color: #046b64; margin: 0; max-width: 20ch; }
.te-hero-media { border-radius: 14px; overflow: hidden; }
.te-img-placeholder { width: 100%; aspect-ratio: 748 / 480; background: #eef0f3; border: 1px dashed #c4cad2; border-radius: 14px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px; color: #97a1ac; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: .3px; }

/* Sections */
.te-section { padding: 34px 0; }
.te-section--tint { background: #f4faf9; }
.te-section > .container > :first-child { margin-top: 0; }

/* Headings & body copy */
.te-h2 { font-family: 'Noto Sans', sans-serif; font-size: 22px; font-weight: 700; color: var(--brand-teal); margin: 0 0 16px; }
.te-h3 { font-family: 'Noto Sans', sans-serif; font-size: 18px; font-weight: 700; color: #000000; margin: 0 0 12px; }
.te-h3.is-teal { color: var(--brand-teal); }
.te-h4 { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: #000000; margin: 0 0 10px; }
.te-p { font-family: 'Noto Sans', sans-serif; font-size: 16px; line-height: 1.75; color: #1a1a1a; margin: 0 0 18px; }
.te-p:last-child { margin-bottom: 0; }
:is(.te-p, .te-bullets, .te-stats3, .te-purpose, .te-cvals, .te-groups, .te-pillars, .te-levers, .te-mixlist, .te-footnotes, .te-portfolio-box, .te-hlbox, .glance-img-placeholder, .content-img, .te-split-ph, .be-cvalue-grid) + :is(.te-h2, .te-h3, .te-h4) { margin-top: 30px; }

/* Two-column layout (used for Transition Strategy / paired paragraphs) */
.te-cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }

/* Purpose callout (Playfair emphasis box) */
.te-purpose { background: #ffffff; border: 1.5px solid var(--brand-cyan); border-radius: 8px; padding: 22px 26px; margin: 20px 0 0; max-width: 420px; }
.te-purpose-label { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-cyan); margin: 0 0 8px; }
.te-purpose-text { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--brand-cyan); margin: 0; }

/* Stat trio (workforce / countries / years) */
.te-stats3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 22px 0 0; }
.te-stat3-num { font-family: 'Noto Sans', sans-serif; font-size: clamp(24px, 2.6vw, 32px); font-weight: 800; color: var(--brand-green); line-height: 1.15; margin: 0 0 8px; }
.te-stat3-num .te-unit { display: block; font-size: .68em; font-weight: 800; }
.te-stat3-label { position: relative; font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 600; color: var(--text-primary); padding-left: 22px; }
.te-stat3-label::before { content: ""; position: absolute; left: 0; top: .55em; width: 14px; height: 3px; background: var(--brand-cyan); }

/* Portfolio-mix chart chips (legend for a donut/portfolio placeholder) */
/* Energy-portfolio mix box — cyan-bordered card, heading + icon row */
.te-portfolio-box { border: 1.5px solid var(--brand-cyan); border-radius: 8px; padding: 22px 26px 26px; margin: 20px 0 0; }
.te-portfolio-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-cyan); text-align: center; margin: 0 0 22px; }
.te-portfolio-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px 22px; }
.te-portfolio-item { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 90px; }
.te-portfolio-ico { width: 44px; height: 44px; border-radius: 50%; background: #f2fafa; border: 1px dashed rgba(15, 184, 204, 0.5); position: relative; flex: none; }
.te-portfolio-ico::after { content: 'icon'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans', sans-serif; font-size: 8px; letter-spacing: .4px; text-transform: uppercase; color: rgba(15, 184, 204, 0.7); }
.te-portfolio-ico:has(img) { border-color: transparent; background: transparent; }
.te-portfolio-ico:has(img)::after { content: none; }
.te-portfolio-ico img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.te-portfolio-label { font-family: 'Noto Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: #1a1a1a; text-align: center; }

/* "Our Key Figures" highlight strip — cyan-bordered box, 5 icon columns */
.te-hlbox { border: 1.5px solid var(--brand-cyan); border-radius: 8px; padding: 20px 24px 24px; margin: 20px 0 0; }
.te-hlbox-title { font-family: 'Noto Sans', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--brand-cyan); margin: 0 0 18px; }
.te-hlbox--img { padding: 0; border: none; }
.te-hlbox--img img { display: block; width: 100%; height: auto; }
.te-hl-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 18px; align-items: start; }
.te-hl-item { padding-left: 18px; border-left: 1px solid rgba(15, 184, 204, 0.25); }
.te-hl-item:first-child { padding-left: 0; border-left: 0; }
.te-hl-ico { display: block; width: 30px; height: 30px; border-radius: 6px; background: #f2fafa; border: 1px dashed rgba(15, 184, 204, 0.5); position: relative; margin: 0 0 10px; }
.te-hl-ico::after { content: 'icon'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans', sans-serif; font-size: 6px; letter-spacing: .3px; text-transform: uppercase; color: rgba(15, 184, 204, 0.7); }
.te-hl-ico:has(img) { border-color: transparent; background: transparent; }
.te-hl-ico:has(img)::after { content: none; }
.te-hl-ico img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.te-hl-text { font-family: 'Noto Sans', sans-serif; font-size: 12px; line-height: 1.4; color: #444; margin: 0; }
.te-hl-text b { display: block; font-size: 15px; font-weight: 800; color: #1a1a1a; margin-bottom: 2px; }

/* Financial / operational stat groups (mirrors the site's pfh-stat pattern) */
.te-groups { display: block; }
.te-group { padding: 26px 0 30px; border-top: 1px solid rgba(0, 121, 121, 0.18); }
.te-group:first-child { padding-top: 0; border-top: 0; }
.te-group-title { display: inline-block; font-family: 'Noto Sans', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.3; color: #fff; background: var(--brand-teal); padding: 8px 18px; border-radius: 4px; margin: 0 0 20px; }
.te-group-title sup { color: #fff; }
.te-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.te-stat { padding: 0 18px 0 0; }
.te-num { font-family: 'Noto Sans', sans-serif; font-size: clamp(24px, 2.8vw, 30px); font-weight: 800; line-height: 1.1; color: var(--brand-green); letter-spacing: .2px; margin-bottom: 10px; }
.te-cur { font-size: .82em; font-weight: 700; margin-right: 3px; }
.te-unit { font-size: .5em; font-weight: 700; }
.te-label { font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.5; color: #000000; position: relative; padding-left: 24px; }
.te-label::before { content: ""; position: absolute; left: 0; top: .5em; width: 16px; height: 3px; border-radius: 2px; background: var(--brand-cyan); }
.te-footnotes { font-family: 'Noto Sans', sans-serif; font-size: 13px; line-height: 1.6; color: #555; margin: 20px 0 0; }
.te-footnotes p { font-size: 13px; margin: 0 0 4px; }
.te-footnotes p:last-child { margin-bottom: 0; }
.te-footnotes .te-notes-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #888; margin-bottom: 6px; }

/* Core values grid (reuses the site's be-cvalue component, no restyle needed) */

/* Four pillars / five levers card grids */
.te-pillars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin: 20px 0 0; }
.te-pillar { background: #f4faf9; border-radius: 8px; padding: 26px 28px; }
.te-pillar-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 0 0 10px; }
.te-pillar-desc { font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.6; color: #1a1a1a; margin: 0; }

.te-levers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 40px; margin: 22px 0 0; }
.te-lever { display: flex; align-items: flex-start; gap: 14px; }
.te-lever-ico { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #f2fafa; border: 1px dashed rgba(15, 184, 204, 0.5); position: relative; margin-top: 2px; }
.te-lever-ico::after { content: 'icon'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'Noto Sans', sans-serif; font-size: 7px; letter-spacing: .3px; text-transform: uppercase; color: rgba(15, 184, 204, 0.7); }
.te-lever-ico:has(img) { border-color: transparent; background: transparent; }
.te-lever-ico:has(img)::after { content: none; }
.te-lever-ico img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.te-lever-title { font-family: 'Noto Sans', sans-serif; font-size: 16px; font-weight: 700; color: var(--brand-teal); margin: 0 0 6px; }
.te-lever-desc { font-family: 'Noto Sans', sans-serif; font-size: 14px; line-height: 1.5; color: #333; margin: 0; }

/* Energy-mix bullet list (2050 mix breakdown) */
.te-mixlist { list-style: none; margin: 20px 0 0; padding: 0; }
.te-mixlist li { position: relative; padding-left: 22px; margin: 0 0 16px; font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.6; color: #1a1a1a; }
.te-mixlist li:last-child { margin-bottom: 0; }
.te-mixlist li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 3px; border-radius: 2px; background: var(--brand-teal); }
.te-mixlist b { color: var(--brand-teal); }

/* Generic bullets (Delivering Energy Responsibly intro lists, etc.) */
.te-bullets { list-style: none; margin: 0 0 16px; padding: 0; }
.te-bullets li { position: relative; padding-left: 20px; margin: 0 0 12px; font-family: 'Noto Sans', sans-serif; font-size: 15px; line-height: 1.6; color: #1a1a1a; }
.te-bullets li::before { content: ""; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; background: var(--brand-cyan); }

@media (max-width: 991px) {
	.te-hero { padding: 120px 0 40px; }
	.te-hero-grid { grid-template-columns: 1fr; gap: 28px; }
	.te-cols2 { grid-template-columns: 1fr; gap: 24px; }
	.te-stats3 { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.te-stat-grid { grid-template-columns: repeat(2, 1fr); }
	.te-pillars { grid-template-columns: 1fr; }
	.te-levers { grid-template-columns: repeat(2, 1fr); }
	.te-hl-row { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.te-hl-item { border-left: 0; padding-left: 0; }
}
@media (max-width: 767px) {
	.te-title { font-size: 32px; }
	.te-stats3 { grid-template-columns: 1fr; gap: 18px; }
	.te-stat-grid { grid-template-columns: 1fr; }
	.te-levers { grid-template-columns: 1fr; }
	.te-hl-row { grid-template-columns: 1fr 1fr; }
}
