:root{
  --navy:#061A22; --teal-deep:#08383D; --blue:#0A5575; --teal:#159B9B;
  --cyan:#69D5D0; --paper:#F7F9F8; --white:#FFFFFF; --ink:#102027; --muted:#64747A;
  --gold:#B98A3E;   --forest:#063B2A;
    --jharkhand-green:#087A4B;
    --emerald:#0B9B68;
    --mint:#E9F6EF;
    --mint-pale:#F2FAF5;
    --bg:#F4F3EF;
    --text:#14211C;
    --muted:#5B6B62;
    --gold:#C9A45C;
      --ko-forest:#063B2A;
    --ko-green:#087A4B;
    --ko-emerald:#0B9B68;
    --ko-mint:#E8F5EF;
    --ko-bg:#F7FAF8;
    --ko-text:#10251D;
    --ko-gold:#C9A45C;
    --ko-muted:#5C7269;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper);font-family:var(--sans);color:var(--ink)}
h1, h2, h3, h4, h5, h6, p, a, span, div, li{
 font-family: "Comfortaa", sans-serif!important;
}
/* ============================================================
     NAVBAR
     ============================================================ */
  .nav{
    position:sticky;
    top:0;
    z-index:900;
    background:var(--forest);
    height:82px;
    transition:height 250ms ease, box-shadow 250ms ease;
    display:flex;
    align-items:center;
  }
  .nav.is-scrolled{
    height:70px;
    box-shadow:0 8px 24px -12px rgba(0,0,0,0.35);
  }

  .nav-circuit{
    position:absolute;
    inset:0;
    opacity:0.06;
    pointer-events:none;
  }

  .nav-inner{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }

  /* brand */
  .nav-brand{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
    color:var(--white);
    flex-shrink:0;
  }
  .nav-logo{
    font-weight:800;
    font-size:17px;
    letter-spacing:0.02em;
    white-space:nowrap;
  }
  .nav-divider{
    width:1px;
    height:22px;
    background:rgba(255,255,255,0.25);
  }
  .nav-event{
    font-size:10.5px;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.5;
    color:var(--mint);
    white-space:nowrap;
  }

  /* desktop menu */
  .nav-menu{
    display:flex;
    align-items:center;
    gap:30px;
    list-style:none;
    margin:0;
    padding:0;
  }
  .nav-menu > li{ position:relative; }
  .nav-menu > li > a,
  .nav-menu > li > button{
    background:none;
    border:none;
    font-family:inherit;
    display:flex;
    align-items:center;
    gap:5px;
    color:rgba(255,255,255,0.85);
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    letter-spacing:0.01em;
    cursor:pointer;
    padding:8px 0;
    white-space:nowrap;
    transition:color 200ms ease;
  }
  .nav-menu > li > a:hover,
  .nav-menu > li > button:hover,
  .nav-menu > li.is-open > button{ color:var(--white); }
  .nav-caret{ width:9px; height:9px; transition:transform 200ms ease; }
  .nav-menu > li.is-open .nav-caret{ transform:rotate(180deg); }

  .nav-dropdown{
    position:absolute;
    top:100%;
    left:0;
    margin-top:14px;
    background:var(--forest);
    border:1px solid rgba(255,255,255,0.14);
    min-width:230px;
    padding:10px;
    box-shadow:0 20px 40px -16px rgba(0,0,0,0.4);
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity 220ms ease, transform 220ms ease, visibility 220ms;
  }
  .nav-menu > li:hover .nav-dropdown,
  .nav-menu > li.is-open .nav-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .nav-dropdown a{
    display:block;
    padding:10px 12px;
    color:rgba(255,255,255,0.8);
    text-decoration:none;
    font-size:13.5px;
    font-weight:500;
    transition:background 200ms ease, color 200ms ease;
  }
  .nav-dropdown a:hover{ background:rgba(255,255,255,0.06); color:var(--mint); }

  /* register button (desktop) */
  .nav-register{
    background:var(--digital-green);
    color:var(--white);
    border:none;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.04em;
    padding:12px 22px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    text-decoration:none;
    white-space:nowrap;
    border-radius:4px;
    transition:background 200ms ease, transform 200ms ease;
  }
  .nav-register:hover{ background:#00c25f; transform:translateY(-1px); }
  .nav-register svg{ width:14px; height:14px; }

  .nav-right-desktop{ display:flex; align-items:center; gap:36px; }

  /* hamburger */
  .nav-hamburger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:38px;
    height:38px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
    flex-shrink:0;
  }
  .nav-hamburger span{
    display:block;
    width:22px;
    height:2px;
    background:var(--white);
    transition:transform 250ms ease, opacity 250ms ease, background 200ms ease;
  }
  .nav-hamburger:hover span{ background:var(--digital-green); }
  .nav-hamburger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-hamburger.is-open span:nth-child(2){ opacity:0; }
  .nav-hamburger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  /* ============================================================
     MOBILE / TABLET MENU PANEL
     ============================================================ */
  .nav-panel-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.35);
    z-index:950;
    opacity:0;
    visibility:hidden;
    transition:opacity 300ms ease, visibility 300ms;
  }
  .nav-panel-overlay.is-open{ opacity:1; visibility:visible; }

  .nav-panel{
    position:fixed;
    top:0; right:0;
    height:100%;
    width:min(420px, 100%);
    background:var(--forest);
    z-index:960;
    transform:translateX(100%);
    transition:transform 320ms cubic-bezier(.22,.68,0,1);
    overflow-y:auto;
    padding:24px 24px 32px;
  }
  .nav-panel-overlay.is-open .nav-panel{ transform:translateX(0); }

  .nav-panel-circuit{
    position:fixed;
    top:0; right:0;
    height:100%;
    width:min(420px, 100%);
    opacity:0.06;
    pointer-events:none;
    z-index:961;
  }

  .nav-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:28px;
  }
  .nav-panel-close{
    width:38px; height:38px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.3);
    background:none;
    color:var(--white);
    font-size:18px;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background 200ms ease;
  }
  .nav-panel-close:hover{ background:rgba(255,255,255,0.12); }

  .nav-panel-list{
    list-style:none;
    margin:0;
    padding:0;
  }
  .nav-panel-list > li{
    border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .nav-panel-list > li > a,
  .nav-panel-list > li > button{
    width:100%;
    background:none;
    border:none;
    font-family:inherit;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:var(--white);
    text-decoration:none;
    font-size:16.5px;
    font-weight:600;
    padding:18px 4px;
    cursor:pointer;
    text-align:left;
  }
  .nav-panel-toggle-icon{
    width:20px; height:20px;
    flex-shrink:0;
    position:relative;
  }
  .nav-panel-toggle-icon::before,
  .nav-panel-toggle-icon::after{
    content:"";
    position:absolute;
    background:var(--mint);
    transition:transform 250ms ease, opacity 250ms ease;
  }
  .nav-panel-toggle-icon::before{ top:50%; left:2px; right:2px; height:2px; transform:translateY(-1px); }
  .nav-panel-toggle-icon::after{ left:50%; top:2px; bottom:2px; width:2px; transform:translateX(-1px); }
  li.is-open .nav-panel-toggle-icon::after{ opacity:0; }

  .nav-panel-submenu{
    list-style:none;
    margin:0;
    padding:0 4px 14px 12px;
    max-height:0;
    overflow:hidden;
    transition:max-height 320ms ease;
  }
  li.is-open .nav-panel-submenu{ max-height:400px; }
  .nav-panel-submenu li a{
    display:block;
    padding:10px 0;
    color:rgba(255,255,255,0.75);
    text-decoration:none;
    font-size:14px;
    font-weight:500;
  }
  .nav-panel-submenu li a:hover{ color:var(--mint); }

  .nav-panel-register{
    width:100%;
    background:var(--digital-green);
    color:var(--white);
    border:none;
    font-family:inherit;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.04em;
    height:50px;
    border-radius:6px;
    margin-top:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    text-decoration:none;
  }
  .nav-panel-register svg{ width:15px; height:15px; }

  /* ============================================================
     RESPONSIVE BREAKPOINTS
     ============================================================ */

  /* below 1200px: switch to compact bar + hamburger (tablet + mobile) */
  @media (max-width:1199px){
    .nav-right-desktop{ display:none; }
    .nav-hamburger{ display:flex; }
    .nav-inner{ padding:0 24px; }
  }

  @media (min-width:1200px){
    .nav-hamburger{ display:none; }
  }

  /* tablet: 768–1199px */
  @media (max-width:1199px) and (min-width:768px){
    .nav{ height:76px; }
    .nav.is-scrolled{ height:66px; }
  }
#d-desk{display: block;}
#d-mob{display: none;}
  /* mobile: below 768px */
  @media (max-width:767px){
    .nav{ height:64px; }
    .nav.is-scrolled{ height:58px; }
    .nav-inner{ padding:0 16px; }
    .nav-logo{ font-size:15px; }
    .nav-event{ font-size:9.5px; }
    .nav-divider{ height:18px; }
    .nav-panel{ padding:20px 20px 28px; }
    #d-desk{display: none;}
#d-mob{display: block;}
  }

  @media (max-width:360px){
    .nav-event{ display:none; }
  }
/* ============ NAMESPACE: digimp-* (Digital Imperative / About section) ============ */
.digimp-section{
  position:relative;
  padding:80px;
  background:var(--paper);

  background-size:64px 64px;
  background-position:-1px -1px;
}

/* govt letterhead strip */
.digimp-letterhead{
  max-width:1480px;margin:0 auto 64px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(16,32,39,.15);padding-bottom:18px;flex-wrap:wrap;gap:14px;
}
.digimp-lh-left{display:flex;align-items:center;gap:14px}
.digimp-seal{width:34px;height:34px;flex:none}
.digimp-lh-text .l1{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:700}
.digimp-lh-text .l2{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.digimp-lh-ref{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-align:right}
.digimp-lh-ref span{display:block}
.digimp-lh-ref .tricolor{display:inline-flex;gap:3px;margin-top:6px;justify-content:flex-end;width:100%}
.digimp-lh-ref .tricolor i{width:14px;height:3px;display:block}
.digimp-lh-ref .tricolor i:nth-child(1){background:#C77A2A}
.digimp-lh-ref .tricolor i:nth-child(2){background:#ffffff;border:1px solid rgba(16,32,39,.15)}
.digimp-lh-ref .tricolor i:nth-child(3){background:var(--green,#315C4D)}

/* grid */
.digimp-grid{
  max-width:1480px;margin:0 auto;position:relative;
  display:grid;grid-template-columns:56% 38%;
}
.digimp-left{
  padding-right:60px;position:relative;
}

.digimp-eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);
  display:flex;align-items:center;gap:10px;
}
.digimp-eyebrow::before{content:'';width:8px;height:8px;border:1.4px solid var(--teal);transform:rotate(45deg);flex:none}
.digimp-statement{
  font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.5vw,34px);
  line-height:1.3;margin-top:22px;color:var(--navy);
}
.digimp-flow{
  margin-top:36px;display:flex;flex-wrap:wrap;gap:0;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.digimp-flow span{padding:0 12px 0 0;margin-right:12px;border-right:1px solid var(--muted)}
.digimp-flow span:last-child{border-right:none;margin-right:0;padding-right:0}

.digimp-tag{
  margin-top:44px;display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--blue);padding:8px 14px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);
}
.digimp-tag .dot{width:5px;height:5px;background:var(--teal);border-radius:50%}

.digimp-right{padding-left:60px}
.digimp-lead{font-size:15px;line-height:1.85;color:var(--muted);max-width:640px}
.digimp-lead p{margin-bottom:22px;color: black;font-weight: 500;text-align: justify;}
.digimp-lead strong{color:var(--navy);font-weight:700}

.digimp-notice{
  margin-top:38px;max-width:640px;
  border:1px solid rgba(10,85,117,.3);background:rgba(10,85,117,.04);
  padding:22px 26px;position:relative;
}
.digimp-notice::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);
}
.digimp-notice .nh{
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;
}
.digimp-notice p{font-size:13.5px;color:var(--navy);line-height:1.7}

/* corner brackets — stamped-document motif */
.digimp-grid .digimp-corner{position:absolute;width:16px;height:16px;border-color:var(--muted);opacity:.5}
.digimp-corner.tl{top:-20px;left:0;border-top:1px solid;border-left:1px solid}
.digimp-corner.br{bottom:-20px;right:0;border-bottom:1px solid;border-right:1px solid}

@media (max-width:900px){
  .digimp-grid{grid-template-columns:1fr}
  .digimp-left{padding-right:0;border-right:none;margin-bottom:40px;padding-bottom:36px}
  .digimp-left::after{top:auto;bottom:0;left:0;right:0;width:auto;height:1px;
    background:repeating-linear-gradient(to right,var(--muted) 0,var(--muted) 4px,transparent 4px,transparent 9px);}
  .digimp-right{padding-left:0}
}
.digimp-section{
  background: url(images/image-5.png);
  background-repeat: no-repeat;
  background-size: cover;
  /* background-attachment: fixed; */
}

.fa-section{ position:relative; overflow:hidden; padding: 70px 0 0; }
  .wrap{ max-width:1360px; margin:0 auto; padding:0 56px; }

  .layout{
    display:grid;
    grid-template-columns: 1.75fr 1fr;
    gap: 40px;
    align-items:start;
  }

  /* -------- left: heading + list -------- */
  .eyebrow-row{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
  .eyebrow{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--jharkhand-green); font-weight:700; }
  .eyebrow-line{ height:1px; width:52px; background:var(--jharkhand-green); }

  h2.main-heading{
    font-size: 26px;
    font-weight:600; color:var(--forest); line-height:1.14;
     margin-bottom: 46px;
     text-align: left;
  }

  .fa-list{
    display:grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 46px;
  }

  .fa-row{
    display:flex; gap:14px;
    padding: 20px 0;
    border-top: 1px dashed rgba(6,59,42,0.18);
  }
  .fa-row:nth-child(1), .fa-row:nth-child(2){ border-top:none; padding-top:0; }

  .fa-num{
    flex-shrink:0;
    width:40px; height:40px;
    display:flex; align-items:center; justify-content:center;
    background: var(--mint);
    border:1px solid rgba(8,122,75,0.25);
    border-radius:8px;
    font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; font-size:14px;
    color: var(--jharkhand-green);
  }

  .fa-icon{
    flex-shrink:0;
    width:40px; height:40px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid rgba(6,59,42,0.15);
    border-radius:8px;
    background:#fff;
  }
  .fa-icon svg{ width:20px; height:20px; stroke:var(--jharkhand-green); fill:none; stroke-width:1.5; }

  .fa-text h4{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:15px; font-weight:700; color:var(--forest); line-height:1.3; margin-bottom:6px;
  }
  .fa-text p{
    font-size:14px; line-height:18px; color:black;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  }

  /* -------- right: visual panel -------- */
  .visual-panel{
    position:relative;
    height: clamp(560px, 68vh, 760px);
    border-radius: 0 0 0 260px;
    overflow:hidden;
    background:
      radial-gradient(circle at 75% 30%, rgba(11,155,104,0.14), transparent 55%),
      linear-gradient(160deg, #EAF3EE 0%, #DCEDE3 45%, #CFE7DA 100%);
    border:1px solid rgba(6,59,42,0.08);
  }

  .visual-panel .map-outline{
    position:absolute; top:8%; left:6%; width:42%; opacity:.85;
  }

  .visual-panel .network-lines{ position:absolute; inset:0; opacity:.6; }

  .visual-panel .badge{
    position:absolute;
    width:46px; height:46px;
    border-radius:50%;
    background:#fff;
    border:1px solid rgba(6,59,42,0.15);
    display:flex; align-items:center; justify-content:center;
    box-shadow: 0 6px 18px rgba(6,59,42,0.08);
  }
  .visual-panel .badge svg{ width:20px; height:20px; stroke:var(--jharkhand-green); fill:none; stroke-width:1.5; }
  .badge.b1{ top:14%; right:32%; }
  .badge.b2{ top:26%; right:14%; }
  .badge.b3{ top:52%; left:8%; }
  .badge.b4{ top:66%; right:30%; }

  .visual-panel .photo-collage{
    position:absolute;
    right:-6%; bottom:-4%;
    width:78%; height:70%;
    border-radius: 50% 4% 4% 4%;
    overflow:hidden;
    background:
      linear-gradient(180deg, rgba(6,59,42,0.06), rgba(6,59,42,0.02)),
      linear-gradient(135deg, #B9D9C7 0%, #7FB89B 35%, #4C8E71 65%, #2E5C46 100%);
    border:1px solid rgba(6,59,42,0.1);
  }
  .photo-collage .grid-overlay{
    position:absolute; inset:0;
    background-image: repeating-linear-gradient(0deg, rgba(255,255,255,0.08) 0, transparent 1px, transparent 40px), repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0, transparent 1px, transparent 40px);
  }
  .photo-collage .band{
    position:absolute; left:0; right:0; height:33.33%;
  }
  .photo-collage .band1{ top:0; background:linear-gradient(160deg, rgba(255,255,255,0.12), transparent); }
  .photo-collage .band2{ top:33.33%; background:linear-gradient(160deg, transparent, rgba(6,59,42,0.1)); }
  .photo-collage .band3{ top:66.66%; background:linear-gradient(160deg, rgba(6,59,42,0.14), rgba(6,59,42,0.28)); }
  .photo-collage .tag{
    position:absolute; left:20px; bottom:18px; z-index:2;
  }
  .photo-collage .tag .label{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:13px; color:#fff; }
  .photo-collage .tag .ratio{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.65); display:block; margin-bottom:4px; }
  .photo-collage .corner{ position:absolute; top:16px; right:16px; width:20px; height:20px; border-top:1px solid rgba(255,255,255,.5); border-right:1px solid rgba(255,255,255,.5); z-index:2; }

  /* -------- bottom decorative pattern strip -------- */
  .pattern-strip{
    height: 42px;
    margin-top: 60px;
    background-image: repeating-linear-gradient(
      90deg,
      transparent 0px, transparent 18px,
      rgba(8,122,75,0.35) 18px, rgba(8,122,75,0.35) 19px,
      transparent 19px, transparent 37px
    );
    background-size: 37px 100%;
    position:relative;
  }
  .pattern-strip svg{ width:100%; height:100%; display:block; }

  @media (max-width: 1080px){
    .wrap{ padding:0 28px; }
    .layout{ grid-template-columns:1fr; }
    .visual-panel{ display:none; }
    .fa-list{ grid-template-columns:1fr; }
    .fa-row{ border-top:1px dashed rgba(6,59,42,0.18) !important; padding-top:18px !important; }
    .fa-row:first-child{ border-top:none !important; padding-top:0 !important; }
  }
  .fa-section{
        background: url(images/image-7.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;
    background-attachment: fixed;
  }
  :root{
    --idem-stats-bg: #F7F5F0;
    --idem-stats-panel: #FBFAF7;
    --idem-stats-line: #DCE2DE;
    --idem-stats-line-soft: rgba(31,41,55,0.08);
    --idem-stats-teal: #2A9D8F;
    --idem-stats-teal-soft: rgba(42,157,143,0.28);
    --idem-stats-teal-dot: #8FCFC6;
    --idem-stats-ink: #1F2B2A;
    --idem-stats-muted: #6B7573;
  }

  .idem-stats-wrap{
    background: #a3cb9824;
    font-family:'Space Grotesk', sans-serif;
    padding:48px 20px;
  }

  .idem-stats-strip{
    width:100%;
    /* max-width:1100px; */
    margin:0 auto;
    background: var(--idem-stats-panel);
    border:1px solid var(--idem-stats-line);
    border-radius:4px;
    position:relative;
    overflow:hidden;
    box-sizing:border-box;
  }
  .idem-stats-strip *{ box-sizing:border-box; }

  /* dotted map corner motif, echoing the hero */
  .idem-stats-dots{
    position:absolute;
    top:0; right:0;
    width:220px;
    height:100%;
    pointer-events:none;
    opacity:0.55;
  }
  .idem-stats-dots span{
    position:absolute;
    width:3px; height:3px;
    border-radius:50%;
    background: var(--idem-stats-teal-dot);
  }

  .idem-stats-strip::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:1px;
    background: linear-gradient(90deg, transparent, var(--idem-stats-teal-soft) 20%, var(--idem-stats-teal-soft) 80%, transparent);
  }

  .idem-stats-strip::after{
    content:"";
    position:absolute;
    bottom:0; left:0; right:0;
    height:1px;
    background: var(--idem-stats-line);
  }

  .idem-stats-eyebrow-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:22px 32px 0 32px;
    position:relative;
    z-index:1;
  }

  .idem-stats-eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:10.5px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color: var(--idem-stats-teal);
    opacity:0;
    transform: translateY(6px);
    transition: opacity .6s ease, transform .6s ease;
    margin:0;
  }
  .idem-stats-eyebrow.idem-stats-is-visible{opacity:1; transform:translateY(0);}

  .idem-stats-eyebrow-diamond{
    display:inline-block;
    width:7px; height:7px;
    border:1.4px solid var(--idem-stats-teal);
    transform: rotate(45deg);
    margin-right:9px;
    vertical-align:middle;
  }

  .idem-stats-manifest-id{
    font-family:'JetBrains Mono', monospace;
    font-size:10.5px;
    letter-spacing:0.1em;
    color: var(--idem-stats-muted);
    opacity:0;
    transition: opacity .6s ease .1s;
  }
  .idem-stats-manifest-id.idem-stats-is-visible{opacity:1;}

  .idem-stats-grid{
    display:grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 20px 8px 26px 8px;
    position:relative;
    z-index:1;
  }

  .idem-stats-item{
    position:relative;
    padding: 18px 24px;
    border-right:1px solid var(--idem-stats-line-soft);
    opacity:0;
    transform: translateY(10px);
    transition: opacity .55s ease, transform .55s ease;
  }
  .idem-stats-item:last-child{border-right:none;}
  .idem-stats-item.idem-stats-is-visible{opacity:1; transform:translateY(0);}

  .idem-stats-item-index{
    font-family:'JetBrains Mono', monospace;
    font-size:9.5px;
    color: var(--idem-stats-muted);
    letter-spacing:0.12em;
    display:block;
    margin-bottom:12px;
  }

  .idem-stats-item-number{
    font-family:'JetBrains Mono', monospace;
    font-weight:600;
    font-size:clamp(26px, 3.6vw, 38px);
    color: var(--idem-stats-ink);
    line-height:1;
    font-variant-numeric: tabular-nums;
    display:flex;
    align-items:baseline;
    gap:2px;
    white-space:nowrap;
  }

  .idem-stats-item-plus{
    font-size:0.5em;
    color: var(--idem-stats-teal);
    font-weight:600;
    margin-left:1px;
  }

  .idem-stats-item-label{
    margin-top:10px;
    font-size:11.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--idem-stats-muted);
    font-weight:500;
  }

  @media (max-width: 860px){
    .idem-stats-grid{ grid-template-columns: repeat(3, 1fr); }
    .idem-stats-item:nth-child(3){ border-right:none; }
    .idem-stats-item{ border-bottom:1px solid var(--idem-stats-line-soft); }
    .idem-stats-item:nth-child(4), .idem-stats-item:nth-child(5){ border-bottom:none; }
    .idem-stats-dots{ display:none; }
  }

  @media (max-width: 520px){
    .idem-stats-grid{ grid-template-columns: repeat(2, 1fr); }
    .idem-stats-item:nth-child(2n){ border-right:none; }
    .idem-stats-item{ border-bottom:1px solid var(--idem-stats-line-soft); padding:16px; }
    .idem-stats-item:nth-child(5){ grid-column: 1 / -1; border-bottom:none; }
    .idem-stats-item-number{ font-size:28px; }
    .idem-stats-eyebrow-row{ flex-direction:column; align-items:flex-start; gap:8px; }
  }

  @media (prefers-reduced-motion: reduce){
    .idem-stats-eyebrow, .idem-stats-manifest-id, .idem-stats-item{ transition:none; opacity:1; transform:none; }
  }
  :root{
    --oc-forest: #063B2A;
    --oc-green: #087A4B;
    --oc-emerald: #0B9B68;
    --oc-mint: #EAF7F0;
    --oc-bg: #F7FAF8;
    --oc-text: #10251D;
    --oc-gold: #C9A45C;
    --oc-muted: #5C7269;
    --oc-line: rgba(6,59,42,0.14);
  }

  .oc-reset, .oc-reset *{ box-sizing:border-box; margin:0; padding:0; }

  .oc-section{
    background: var(--oc-bg);
    font-family:'Manrope', sans-serif;
    color: var(--oc-text);
    position:relative;
    overflow:hidden;
    padding: 96px 24px 0 24px;
  }

  /* ---------- subtle Jharkhand-inspired background ---------- */
  .oc-bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:1;
  }
  .oc-bg svg{ width:100%; height:100%; }
  .oc-bg-grid{
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(var(--oc-line) 1px, transparent 1px),
      linear-gradient(90deg, var(--oc-line) 1px, transparent 1px);
    background-size: 64px 64px;
    opacity:0.35;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
  }

  /* ---------- intro ---------- */
  .oc-intro{
    position:relative;
    z-index:2;
    max-width:760px;
    margin:0 auto;
    text-align:center;
  }
  .oc-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color: var(--oc-emerald);
    margin-bottom:22px;
  }
  .oc-eyebrow::before, .oc-eyebrow::after{
    content:"";
    width:20px; height:1px;
    background: var(--oc-emerald);
  }

  .oc-headline{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:600;
    font-size: 26px;
    line-height:30px;
    color: var(--oc-forest);
    letter-spacing:-0.01em;
    margin-bottom:22px;
  }

  .oc-support{
    font-size: 14px;
    line-height:1.65;
    color: var(--oc-muted);
    max-width:600px;
    margin:0 auto;
  }

  /* ---------- radial composition ---------- */
  .oc-composition{
    position:relative;
    z-index:2;
    max-width:1300px;
    margin:8px auto 0 auto;
  }

  .oc-diagram{
    position:relative;
    display:grid;
    grid-template-columns: 1fr auto 1fr;
    align-items:center;
    min-height:560px;
    gap:0;
  }

  .oc-diagram-lines{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
  }
  .oc-diagram-lines path{
    fill:none;
    stroke: var(--oc-line);
    stroke-width:1.5;
    stroke-dasharray: 6 500;
    transition: stroke-dashoffset 1.1s ease, stroke 0.4s ease;
  }
  .oc-diagram-lines path.oc-line-active{
    stroke-dasharray: 500 0;
  }

  .oc-hub{
    position:relative;
    z-index:2;
    width:190px;
    height:190px;
    border-radius:50%;
    background: radial-gradient(circle at 35% 30%, var(--oc-green), var(--oc-forest) 75%);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    margin:0 auto;
    box-shadow: 0 24px 60px -18px rgba(6,59,42,0.55);
  }
  .oc-hub-inner{
    font-family:'Plus Jakarta Sans', sans-serif;
    color: var(--oc-mint);
  }
  .oc-hub-inner .oc-hub-top{
    font-size:13px;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
  }
  .oc-hub-inner .oc-hub-bottom{
    font-size:11px;
    font-weight:500;
    letter-spacing:0.1em;
    text-transform:uppercase;
    opacity:0.75;
    margin-top:4px;
  }

  .oc-col{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:56px;
  }
  .oc-col-left{ padding-right:36px; }
  .oc-col-right{ padding-left:36px; }
  .oc-col-left .oc-node{ margin-left:auto; text-align:right; }
  .oc-col-left .oc-node-icon{ margin-left:auto; }
  .oc-col-right .oc-node{ text-align:left; }

  .oc-node{
    max-width:320px;
    opacity:0;
    transform: translateY(14px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .oc-node.oc-node-visible{ opacity:1; transform:translateY(0); }

  .oc-node-number{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:600;
    font-size:44px;
    color: var(--oc-emerald);
    line-height:1;
    opacity:0.5;
    transition: transform .4s ease, opacity .4s ease;
    display: none;
  }
  .oc-node:hover .oc-node-number{ transform: translateX(4px); opacity:0.85; }
  .oc-col-left .oc-node:hover .oc-node-number{ transform: translateX(-4px); }

  .oc-node-icon{
    width:34px; height:34px;
    margin:10px 0 12px 0;
    color: var(--oc-green);
  }
  .oc-node-icon svg{ width:100%; height:100%; }

  .oc-node-category{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color: var(--oc-gold);
    margin-bottom:8px;
  }

  .oc-node-heading{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:700;
    font-size:19px;
    color: var(--oc-forest);
    margin-bottom:8px;
    line-height:1.25;
  }

  .oc-node-desc{
    font-size:15px;
    line-height:1.6;
    color: var(--oc-muted);
  }

  /* ---------- signature graphic panel (image placeholder, built abstractly) ---------- */
  .oc-panel{
    position:relative;
    z-index:2;
    max-width:1300px;
    margin:72px auto 0 auto;
    border-radius:18px;
    overflow:hidden;
    aspect-ratio: 21 / 8;
    background:
      radial-gradient(circle at 18% 30%, rgba(11,155,104,0.35), transparent 45%),
      radial-gradient(circle at 82% 70%, rgba(201,164,92,0.22), transparent 50%),
      linear-gradient(120deg, var(--oc-forest), var(--oc-green) 60%, var(--oc-emerald));
    display:flex;
    align-items:flex-end;
    padding:28px 32px;
  }
  .oc-panel-contour{ position:absolute; inset:0; opacity:0.35; }
  .oc-panel-caption{
    position:relative;
    z-index:1;
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--oc-mint);
    opacity:0.85;
  }

  /* ---------- closing strip ---------- */
  .oc-closing{
    position:relative;
    margin-top:80px;
    background: var(--oc-forest);
    padding: 64px 24px;
    text-align:center;
    overflow:hidden;
  }
  .oc-closing-pattern{
    position:absolute;
    inset:0;
    opacity:0.12;
    background-image: radial-gradient(circle, rgba(234,247,240,0.6) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: radial-gradient(ellipse 60% 100% at 50% 50%, #000 0%, transparent 80%);
  }
  .oc-closing-inner{ position:relative; z-index:1; max-width:720px; margin:0 auto; }
  .oc-closing-line1{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:700;
    font-size: clamp(18px, 2.4vw, 24px);
    color: var(--oc-mint);
    line-height:1.5;
  }
  .oc-closing-line2{
    margin-top:10px;
    font-size: clamp(14px, 1.6vw, 16px);
    color: rgba(234,247,240,0.7);
    line-height:1.5;
  }

  /* ---------- responsive ---------- */
  @media (max-width: 980px){
    .oc-diagram{ grid-template-columns:1fr; min-height:auto; gap:48px; }
    .oc-diagram-lines{ display:none; }
    .oc-col{ padding:0 !important; gap:40px; }
    .oc-col-left .oc-node, .oc-col-right .oc-node{ text-align:left; margin-left:0; max-width:520px; }
    .oc-col-left .oc-node-icon{ margin-left:0; }
    .oc-col-left .oc-node:hover .oc-node-number{ transform: translateX(4px); }
    .oc-hub{ order:-1; margin-bottom:8px; }
    .oc-panel{ aspect-ratio:16/10; }
  }

  @media (max-width: 520px){
    .oc-section{ padding:64px 18px 0 18px; }
    .oc-composition{ margin-top:56px; }
    .oc-node-number{ font-size:36px; }
    .oc-node-heading{ font-size:20px; }
  }

  @media (prefers-reduced-motion: reduce){
    .oc-node{ transition:none; opacity:1; transform:none; }
    .oc-diagram-lines path{ transition:none; }
  }

  :root{
    --wa3-forest: #063B2A;
    --wa3-green: #087A4B;
    --wa3-emerald: #0B9B68;
    --wa3-light: #E5F3EC;
    --wa3-bg: #F7FAF8;
    --wa3-text: #12241D;
    --wa3-gold: #C9A45C;
    --wa3-muted: #5C7269;
    --wa3-line: rgba(6,59,42,0.16);
  }

  .wa3-reset, .wa3-reset *{ box-sizing:border-box; margin:0; padding:0; }

  .wa3-section{
    background: var(--wa3-bg);
    font-family:'Manrope', sans-serif;
    color: var(--wa3-text);
    padding: 96px 24px;
  }

  .wa3-inner{ max-width:1180px; margin:0 auto; }

  /* ---------- intro ---------- */
  .wa3-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
    flex-wrap:wrap;
    padding-bottom:44px;
    border-bottom:1px solid var(--wa3-line);
  }

  .wa3-intro{ max-width:640px; }

  .wa3-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color: var(--wa3-emerald);
    margin-bottom:20px;
  }
  .wa3-eyebrow::before{ content:""; width:20px; height:1px; background: var(--wa3-emerald); }

  .wa3-heading{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:600;
    font-size:26px;
    line-height:1.15;
    color: var(--wa3-forest);
    letter-spacing:-0.01em;
    margin-bottom:16px;
  }

  .wa3-support{
    font-size:15px;
    line-height:1.65;
    color: black;
    font-weight: 500;
  }

  .wa3-hub-pill{
    display:inline-flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
    padding:10px 18px;
    border-radius:999px;
    background: var(--wa3-forest);
    color: var(--wa3-light);
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
  }
  .wa3-hub-pill span.wa3-hub-dot{ width:6px; height:6px; border-radius:50%; background: var(--wa3-emerald); }

  /* ---------- editorial list ---------- */
  .wa3-list{ margin-top:8px; }

  .wa3-row{
    display:grid;
    grid-template-columns:1fr;
    gap:32px;
    align-items:start;
    padding:10px 0;
    border-bottom:1px solid var(--wa3-line);
    position:relative;
    transition: background .3s ease;
    width: 50%;
  }
  .wa3-row::before{
    content:"";
    position:absolute;
    left:-24px; top:0; bottom:0;
    width:3px;
    background: var(--wa3-gold);
    opacity:0;
    transition: opacity .3s ease;
  }
  .wa3-row:hover{ background: rgba(11,155,104,0.035); }
  .wa3-row:hover::before{ opacity:1; }

  .wa3-row-number{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:600;
    font-size:56px;
    line-height:1;
    color: var(--wa3-emerald);
    opacity:0.45;
    transition: opacity .3s ease;
    display: none;
  }
  .wa3-row:hover .wa3-row-number{ opacity:0.9; }

  .wa3-row-main{ min-width:0; }

  .wa3-row-icon{
    width:26px; height:26px;
    color: var(--wa3-green);
    margin-bottom:10px;
  }
  .wa3-row-icon svg{ width:100%; height:100%; }

  .wa3-row-title{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:700;
    font-size: clamp(17px, 1.6vw, 20px);
    color: var(--wa3-forest);
    margin-bottom:8px;
    transition: color .3s ease;
  }
  .wa3-row:hover .wa3-row-title{ color: var(--wa3-green); }

  .wa3-row-desc{
    font-size:14.5px;
    line-height:1.65;
    color: black;
    font-weight: 500;
    max-width:560px;
  }

  .wa3-row-tags{
    display:flex;
    flex-wrap:wrap;
    align-content:flex-start;
    gap:7px 8px;
    justify-content:flex-end;
    padding-top:6px;
  }
  .wa3-row-tag{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:9.5px;
    letter-spacing:0.09em;
    text-transform:uppercase;
    color: var(--wa3-green);
    background: var(--wa3-light);
    padding:4px 8px;
    border-radius:3px;
    white-space:nowrap;
  }

  /* ---------- image placeholder ---------- */
  .wa3-image{
    position:relative;
    margin-top:56px;
    border-radius:16px;
    overflow:hidden;
    aspect-ratio: 16 / 9;
    background:
      radial-gradient(circle at 22% 28%, rgba(11,155,104,0.32), transparent 45%),
      radial-gradient(circle at 82% 72%, rgba(201,164,92,0.2), transparent 50%),
      linear-gradient(125deg, var(--wa3-forest), var(--wa3-green) 58%, var(--wa3-emerald));
    display:flex;
    align-items:flex-end;
    padding:26px 30px;
  }
  .wa3-image-contour{ position:absolute; inset:0; opacity:0.3; }
  .wa3-image-caption{
    position:relative; z-index:1;
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--wa3-light);
    opacity:0.85;
  }

  /* ---------- impact strip ---------- */
  .wa3-impact{
    margin-top:56px;
    padding:34px 0;
    border-top:1px solid var(--wa3-line);
    border-bottom:1px solid var(--wa3-line);
    text-align:center;
  }
  .wa3-impact-line{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:700;
    font-size: clamp(18px, 2.1vw, 24px);
    color: var(--wa3-forest);
  }
  .wa3-impact-words{
    margin-top:16px;
    display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap;
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
    color: var(--wa3-muted);
  }
  .wa3-impact-words .wa3-dot{ color: var(--wa3-gold); opacity:0.8; }

  /* ---------- closing message ---------- */
  .wa3-closing{ max-width:720px; margin:60px auto 0 auto; text-align:center; }
  .wa3-closing-main{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:600;
    font-size: clamp(20px, 2.6vw, 30px);
    color: var(--wa3-forest);
    line-height:1.3;
  }
  .wa3-closing-sub{
    margin-top:18px;
    display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap;
    font-family:'Plus Jakarta Sans', sans-serif;
    font-size:12.5px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase;
    color: var(--wa3-green);
  }
  .wa3-closing-sub .wa3-x{ color: var(--wa3-line); font-weight:400; }

  /* ---------- responsive ---------- */
  @media (max-width: 860px){
    .wa3-row{ grid-template-columns: 80px 1fr; }
    .wa3-row-tags{ grid-column: 1 / -1; justify-content:flex-start; padding-top:12px; }
    .wa3-row-number{ font-size:40px; }
    .wa3-top{ align-items:flex-start; }
  }

  @media (max-width: 560px){
    .wa3-section{ padding:64px 18px; }
    .wa3-row{ grid-template-columns: 56px 1fr; gap:18px; padding:28px 0; }
    .wa3-row-number{ font-size:30px; }
    .wa3-row::before{ left:-18px; }
  }
  .wa3-section{
    background: url(images/image-8.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size: cover;
    background-attachment: fixed;
  }
  .stage{ height:100vh; height:100svh; display:flex; flex-direction:column; padding: clamp(20px,3.4vh,44px) clamp(24px,4vw,56px); gap: clamp(14px,2.4vh,26px); }

  /* ---- intro ---- */
  .ko-intro{ display:flex; align-items:flex-end; justify-content:space-between; gap:32px; flex-wrap:wrap; border-bottom:1px solid rgba(6,59,42,0.12); padding-bottom: clamp(14px,2.2vh,22px); }
  .ko-eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px; font-weight:600; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--ko-emerald); margin-bottom:10px;
  }
  .ko-eyebrow::before{ content:""; width:18px; height:1px; background:var(--ko-emerald); }
  .ko-heading{ font-weight:600; font-size:26px; line-height:1.18; color:var(--ko-forest); max-width:520px; }
  .ko-support{ font-size:clamp(12.5px,1.15vw,14.5px); line-height:1.6; color:var(--ko-muted); max-width:340px; }

  /* ---- offerings row: 4 across, fills remaining space ---- */
  .ko-offerings{ flex:1; min-height:0; display:grid; grid-template-columns:repeat(4,1fr); gap: clamp(14px,1.6vw,22px); }

  .ko-card{
    position:relative;
    border:1px solid rgba(6,59,42,0.14);
    border-radius:12px;
    background:#fff;
    padding: clamp(16px,2.4vh,26px) clamp(14px,1.6vw,20px);
    display:flex; flex-direction:column;
    min-height:0;
    overflow:hidden;
  }
  .ko-card-media{
    position:relative;
    border-radius:8px;
    aspect-ratio: 16/10;
    background: linear-gradient(150deg, var(--ko-forest), var(--ko-green) 62%, var(--ko-emerald));
    margin-bottom: clamp(12px,1.8vh,18px);
    overflow:hidden;
    flex-shrink:0;
  }
  .ko-card-media svg{ position:absolute; inset:0; width:100%; height:100%; opacity:.55; }
  .ko-card-num{
    position:absolute; top:8px; left:10px; z-index:2;
    font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; font-size:11px; color:rgba(232,245,239,0.85);
  }
  .ko-category{
    font-family:'Plus Jakarta Sans', sans-serif; font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase;
    color: var(--ko-gold); margin-bottom: clamp(6px,1vh,10px);
  }
  .ko-title{
    font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:clamp(13.5px,1.2vw,16px); color:var(--ko-forest);
    line-height:1.28; margin-bottom: clamp(6px,1vh,10px);
  }
  .ko-desc{
    font-size:clamp(11px,0.9vw,12.5px); line-height:1.5; color:var(--ko-muted);
    display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
  }

  /* ---- CTA bar ---- */
  .ko-cta{
    flex-shrink:0;
    background: var(--ko-forest);
    border-radius:12px;
    padding: clamp(14px,2.2vh,22px) clamp(20px,2.6vw,32px);
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  }
  .ko-cta-text{ max-width:520px; }
  .ko-cta-eyebrow{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:clamp(11px,1vw,13px); color:var(--ko-emerald); margin-bottom:4px; }
  .ko-cta-heading{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; font-size:clamp(15px,1.5vw,20px); color:var(--ko-mint); line-height:1.3; }
  .ko-cta-buttons{ display:flex; gap:10px; flex-shrink:0; }
  .ko-btn{
    font-family:'Plus Jakarta Sans', sans-serif; font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    padding: clamp(9px,1.4vh,13px) clamp(14px,1.6vw,20px); border-radius:6px; text-decoration:none; display:inline-block; white-space:nowrap;
  }
  .ko-btn-primary{ background:var(--ko-gold); color:var(--ko-forest); }
  .ko-btn-secondary{ background:transparent; color:var(--ko-mint); border:1px solid rgba(232,245,239,0.4); }

  @media (max-width: 980px){
    body{ overflow:auto; }
    .stage{ height:auto; min-height:100svh; }
    .ko-offerings{ grid-template-columns:1fr 1fr; }
    .ko-desc{ -webkit-line-clamp:3; }
  }
  @media (max-width: 620px){
    .ko-offerings{ grid-template-columns:1fr; }
    .ko-intro{ flex-direction:column; align-items:flex-start; }
  }

  .pp-section{ padding: 100px 0; }
  .wrap{ max-width:1360px; margin:0 auto; padding:0 40px; text-align:center; }

  .eyebrow-row{ display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:22px; }
  .eyebrow{ font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--emerald); font-weight:700; }
  .eyebrow-line{ height:1px; width:36px; background:var(--emerald); }

  h2.pp-heading{
    font-weight:600; font-size: 26px; line-height:1.2; color:var(--forest);
    max-width:640px; margin:0 auto 16px;
  }
  .pp-support{ font-size:15px; line-height:1.7; color:var(--muted); max-width:560px; margin:0 auto 56px; }

  .logo-row{
    display:flex; flex-wrap:wrap; justify-content:center;
    gap: 18px;
    margin-bottom: 36px;
  }
  .logo-placeholder{
    width: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid rgba(6, 59, 42, 0.14);
    border-radius: 8px;
    background: #2d6a2b33;
    transition: all .3s ease;
    opacity:0;
    transform: translateY(10px);
    animation: ppFadeIn .5s ease forwards;
  }
  @keyframes ppFadeIn{ to{ opacity:1; transform:none; } }
  .logo-placeholder:hover{ border-color:var(--emerald); box-shadow:0 8px 20px rgba(6,59,42,0.08); transform: translateY(-2px); }
  .logo-placeholder img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: filter .3s ease, opacity .3s ease;
  }
  .logo-placeholder:hover img{ filter:grayscale(0%); opacity:1; }

  .pp-loadmore-wrap{ margin-bottom: 56px; }
  .pp-loadmore{
    font-family:'Plus Jakarta Sans', sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color: var(--forest); background:#fff; border:1px solid rgba(6,59,42,0.25);
    padding: 13px 26px; border-radius:6px; cursor:pointer; transition: all .25s ease;
  }
  .pp-loadmore:hover{ background:var(--forest); color:#fff; border-color:var(--forest); }
  .pp-loadmore[hidden]{ display:none; }

  .pp-cta{ display:inline-flex; flex-direction:column; align-items:center; gap:22px; }
  .pp-cta p{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:16px; color:var(--forest); }
  .pp-btn{
    font-family:'Plus Jakarta Sans', sans-serif; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    color:#fff; background:var(--forest); padding:15px 30px; border-radius:6px; text-decoration:none;
    transition: transform .25s ease;
  }
  .pp-btn:hover{ transform: translateY(-2px); }

  @media (max-width: 640px){
    .pp-section{ padding:72px 0; }
    .wrap{ padding:0 24px; }
    .logo-placeholder{ width:120px; height:64px; }
  }
  .fa-text{
    text-align: left;
  }


  .ps-section{
    font-family:'Inter',sans-serif;
    color:var(--text);
    background:var(--bg);
    position:relative;
    overflow:hidden;
    padding:36px 0 88px;
  }

  .ps-inner{
    max-width:1320px;
    margin:0 auto;
    padding:0 48px;
    position:relative;
    z-index:2;
  }

  /* ---------- background art ---------- */
  .ps-bgart{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
  }
  .ps-nodes{ opacity:0.07; }
  .ps-jharkhand{ opacity:0.09; }
  .ps-radial{
    position:absolute;
    top:6%;
    left:50%;
    width:720px;
    height:720px;
    transform:translateX(-50%);
    background:radial-gradient(circle, rgba(11,155,104,0.12) 0%, rgba(11,155,104,0) 70%);
    z-index:1;
    pointer-events:none;
  }

  /* ---------- header row ---------- */
  .ps-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
    margin-bottom:56px;
  }
  .ps-eyebrow{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--primary);
    margin:0 0 14px;
  }
  .ps-heading{
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.01em;
    color: var(--forest);
    margin: 0 0 16px;
    max-width: 620px;
  }
  .ps-sub{
    font-size:16px;
    line-height:1.6;
    color:#33473C;
    max-width:480px;
    margin:0;
  }
  .ps-editorial-label{
    font-family:'Plus Jakarta Sans',sans-serif;
    text-align:right;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.14em;
    line-height:1.8;
    color:var(--forest);
    white-space:nowrap;
    padding-left:20px;
    border-left:1px solid var(--line);
  }
  .ps-editorial-label span{
    display:block;
    color:var(--emerald);
  }

  /* ---------- grid ---------- */
  .ps-grid{
    display:grid;
    grid-template-columns: repeat(6, 1fr);
    gap:40px 32px;
    position:relative;
  }

  .ps-card{
    position:relative;
    opacity:0;
    transform:translateY(18px);
    animation:psReveal 600ms cubic-bezier(.22,.68,0,1) forwards;
  }
  @keyframes psReveal{
    to{ opacity:1; transform:translateY(0); }
  }

  .ps-photo-wrap{
    position:relative;
    /* aspect-ratio:4/5; */
    overflow:hidden;
  }

  .ps-number{
    position:absolute;
    bottom:-34px;
    right:-6px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:600;
    /* font-size:130px; */
    line-height:1;
    color:var(--forest);
    opacity:0.06;
    z-index:0;
    pointer-events:none;
    user-select:none;
  }

  .ps-photo{
    position:relative;
    z-index:1;
    width:100%;
    /* height:100%; */
    overflow:hidden;
    background:linear-gradient(155deg, #0B3B2A 0%, #0B9B68 55%, #E8F5EF 130%);
  }
  .ps-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform 500ms ease;
    border-radius: 50%;
  }
  .ps-card:hover .ps-photo img{
    transform:scale(1.03);
  }

  /* placeholder (no real photo supplied) */
  .ps-photo.is-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    background:
      repeating-linear-gradient(135deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 14px),
      linear-gradient(160deg, #0C4433 0%, #0B9B68 100%);
  }
  .ps-photo-initials{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:700;
    font-size:14px;
    letter-spacing:0.08em;
    color:rgba(255,255,255,0.85);
    text-transform:uppercase;
    text-align:center;
    border:1px solid rgba(255,255,255,0.35);
    padding:9px 15px;
    border-radius:2px;
  }

  .ps-viewprofile{
    position:absolute;
    top:16px;
    right:16px;
    z-index:2;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.06em;
    color:var(--white);
    background:rgba(6,59,42,0.55);
    padding:7px 12px;
    border-radius:20px;
    opacity:0;
    transform:translateY(-4px);
    transition:opacity 400ms ease, transform 400ms ease;
    white-space:nowrap;
  }
  .ps-card:hover .ps-viewprofile{
    opacity:1;
    transform:translateY(0);
  }

  .ps-info{
    position:relative;
    z-index:2;
    /* margin:0 14px; */
    /* margin-top:-42px; */
    background:var(--white);
    padding: 3px;
    box-shadow:0 12px 30px -14px rgba(6,59,42,0.28);
    transition:transform 400ms ease;
    text-align: center;
    height: 133px;
  }
  .ps-card:hover .ps-info{
    transform:translateY(-6px);
  }
  .ps-name{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size: 13px;
    font-weight:600;
    color:var(--forest);
    margin:0 0 4px;
    letter-spacing:-0.01em;
  }
  .ps-role{
    font-size: 11px;
    color:#3F5A4E;
    margin:0 0 2px;
    line-height:1.4;
  }
  .ps-org{
    font-size: 11px;
    font-weight:500;
    color:var(--primary);
    margin:0;
  }

  /* ---------- load more ---------- */
  .ps-loadmore-row{
    display:flex;
    justify-content:center;
    margin-top:56px;
  }
  .ps-loadmore{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--forest);
    background:var(--white);
    border:1px solid var(--line);
    padding:15px 34px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:background 250ms ease, color 250ms ease, border-color 250ms ease;
  }
  .ps-loadmore svg{
    width:14px; height:14px;
    transition:transform 250ms ease;
  }
  .ps-loadmore:hover{
    background:var(--forest);
    border-color:var(--forest);
    color:var(--white);
  }
  .ps-loadmore.is-hidden{ display:none; }

  .ps-count{
    text-align:center;
    font-size:12.5px;
    color:#5D7A6D;
    margin-top:14px;
  }

  /* ---------- bottom statement ---------- */
  .ps-bottom{
    text-align:center;
    margin-top:72px;
  }
  .ps-statement{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:19px;
    font-weight:500;
    font-style:italic;
    color:var(--forest);
    margin:0 0 18px;
  }
  .ps-viewall{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.05em;
    color:var(--primary);
    text-decoration:none;
    border-bottom:1px solid transparent;
    transition:border-color 250ms ease, color 250ms ease;
  }
  .ps-viewall:hover{
    color:var(--forest);
    border-color:var(--forest);
  }

  /* ---------- responsive ---------- */
  @media (max-width: 980px){
    .ps-grid{ grid-template-columns:repeat(2, 1fr); gap:32px 24px; }
  }

  @media (max-width: 640px){
    .ps-section{ padding:64px 0 56px; }
    .ps-inner{ padding:0 20px; }
    .ps-header{
      flex-direction:column;
      align-items:flex-start;
      gap:20px;
      margin-bottom:36px;
    }
    .ps-editorial-label{
      text-align:left;
      border-left:none;
      padding-left:0;
      border-top:1px solid var(--line);
      padding-top:12px;
    }
    .ps-grid{ grid-template-columns:1fr; gap:36px; }
    .ps-number{ font-size:110px; }
    .ps-viewprofile{ display:none; }
    .ps-bottom{ margin-top:56px; }
    .ps-statement{ font-size:17px; padding:0 8px; }
    .ps-loadmore{ width:100%; justify-content:center; padding:16px 24px; }
  }

   .eg-section{
    font-family:'Inter',sans-serif;
    color:var(--text);
    background:var(--bg);
    padding:88px 0;
    overflow:hidden;
  }
  .eg-inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 40px;
    text-align: center;
  }

  /* ---------- header ---------- */
  .eg-eyebrow{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--primary);
    margin:0 0 12px;
  }
  .eg-heading{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:36px;
    font-weight:600;
    line-height:1.1;
    color:var(--forest);
    margin:0 0 14px;
    /* max-width:600px; */
  }
  .eg-sub{
    font-size:16px;
    line-height:1.6;
    color:#33473C;
    /* max-width:520px; */
    margin:0 0 56px;
  }

  /* ---------- marquee ---------- */
  .eg-marquee-row{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .eg-marquee-track{
    display:flex;
    width:max-content;
    gap:20px;
    animation:eg-scroll 40s linear infinite;
  }
  .eg-marquee-row:hover .eg-marquee-track{
    animation-play-state:paused;
  }
  .eg-marquee-row.reverse .eg-marquee-track{
    animation-direction:reverse;
  }

  @keyframes eg-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }

  .eg-card{
        position: relative;
    flex: 0 0 auto;
    width: 474px;
    aspect-ratio: 8 / 5;
    overflow: hidden;
    background: linear-gradient(160deg, #0C4433 0%, #0B9B68 100%);
  }
  .eg-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* shown only when no image path has been added yet */
  .eg-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    background:
      repeating-linear-gradient(135deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 14px),
      linear-gradient(160deg, #0C4433 0%, #0B9B68 100%);
  }
  .eg-placeholder svg{ width:26px; height:26px; opacity:0.55; color:#fff; }
  .eg-placeholder span{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.7);
    text-align:center;
  }

  .eg-marquee-row + .eg-marquee-row{ margin-top:20px; }

  /* ---------- responsive ---------- */
  @media (max-width:700px){
    .eg-section{ padding:64px 0; }
    .eg-inner{ padding:0 20px; }
    .eg-sub{ margin-bottom:40px; }
    .eg-card{ width:230px; }
    .eg-marquee-track{ animation-duration:28s; }
  }
  .gpdf-section{ padding: 100px 0; }
  .wrap{ max-width:1360px; margin:0 auto; padding:0 48px; }

  .gpdf-header{ margin-bottom:36px; }
  .eyebrow-row{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
  .eyebrow{ font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--emerald); font-weight:700; }
  .eyebrow-line{ height:1px; width:44px; background:var(--emerald); }
  h2.gpdf-heading{ font-weight:600; font-size:clamp(26px,3.2vw,38px); color:var(--forest); margin-bottom:10px; }
  .gpdf-support{ font-size:14.5px; color:var(--muted); max-width:520px; line-height:1.65; }

  /* ---------- edition tab rail ---------- */
  .gpdf-tabs{
    display:flex; flex-direction:column;
    border-right:1px solid rgba(6,59,42,0.14);
  }
  .gpdf-tab{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding: 18px 22px;
    cursor:pointer;
    border-left:3px solid transparent;
    transition: all .25s ease;
  }
  .gpdf-tab .tnum{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; font-size:12px; color:rgba(6,59,42,0.35); margin-right:10px; }
  .gpdf-tab .tlabel{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; font-size:14px; color:var(--muted); flex:1; }
  .gpdf-tab .tarrow{ opacity:0; transform:translateX(-4px); transition: all .25s ease; color:var(--gold); font-weight:700; }
  .gpdf-tab:hover{ background:var(--mint); }
  .gpdf-tab.active{ border-left-color:var(--gold); background:var(--mint); }
  .gpdf-tab.active .tlabel{ color:var(--forest); }
  .gpdf-tab.active .tnum{ color:var(--gold); }
  .gpdf-tab.active .tarrow{ opacity:1; transform:none; }

  /* ---------- viewer layout ---------- */
  .gpdf-layout{ display:grid; grid-template-columns: 240px 1fr; gap:0; border:1px solid rgba(6,59,42,0.16); border-radius:12px; overflow:hidden; background:#fff; }

  .gpdf-viewer{ display:flex; flex-direction:column; }
  .gpdf-viewer-head{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding: 18px 26px;
    background: var(--forest);
  }
  .gpdf-viewer-head h3{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:16px; color:#fff; }
  .gpdf-open{
    display:inline-flex; align-items:center; gap:6px;
    font-family:'Plus Jakarta Sans', sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--forest); background:var(--gold);
    padding:9px 16px; border-radius:6px; text-decoration:none;
    transition: transform .2s ease;
  }
  .gpdf-open:hover{ transform: translateY(-1px); }

  .gpdf-frame-wrap{ position:relative; flex:1; min-height: 640px; background:var(--mint); }
  .gpdf-frame{ width:100%; height:100%; min-height:640px; border:none; display:block; }

  @media (max-width: 860px){
    .wrap{ padding:0 24px; }
    .gpdf-section{ padding:72px 0; }
    .gpdf-layout{ grid-template-columns:1fr; }
    .gpdf-tabs{ flex-direction:row; overflow-x:auto; border-right:none; border-bottom:1px solid rgba(6,59,42,0.14); }
    .gpdf-tab{ border-left:none; border-bottom:3px solid transparent; flex-shrink:0; }
    .gpdf-tab.active{ border-bottom-color:var(--gold); border-left-color:transparent; }
    .gpdf-frame-wrap, .gpdf-frame{ min-height:480px; }
  }
  .fa-section .eyebrow-row{
    align-items: flex-start;
    justify-content: flex-start;
  }

   .ct-section{
    font-family:'Inter',sans-serif;
    color:var(--text);
    position:relative;
    overflow:hidden;
    padding:10px 24px;
    background:
      radial-gradient(circle at 15% 10%, rgba(11,155,104,0.25) 0%, rgba(11,155,104,0) 45%),
      radial-gradient(circle at 90% 85%, rgba(6,59,42,0.35) 0%, rgba(6,59,42,0) 50%),
      linear-gradient(160deg, #063B2A 0%, #0B4A34 45%, #0B9B68 130%);
  }

  .ct-card-outer{
    max-width:1160px;
    margin:0 auto;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.14);
    backdrop-filter:blur(6px);
    padding:44px 44px 40px;
  }

  .ct-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:16px;
    margin-bottom:32px;
  }
  .ct-title{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:34px;
    font-weight:600;
    color:var(--white);
    margin:0;
  }
  .ct-head-note{
    font-size:14px;
    color:rgba(255,255,255,0.75);
    margin:0;
  }

  .ct-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }

  .ct-person-card{
    background:var(--white);
    padding:32px 32px 0;
    display:flex;
    flex-direction:column;
  }

  .ct-badge{
    display:inline-flex;
    align-self:flex-start;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:0.06em;
    color:var(--forest);
    background:var(--mint);
    padding:7px 16px;
    border-radius:20px;
    margin-bottom:20px;
  }
  .ct-person-card.speaking .ct-badge{
    background:#FBF4E8;
    color:#8A6D2E;
  }

  .ct-name{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:22px;
    font-weight:700;
    color:var(--forest);
    margin:0 0 10px;
  }
  .ct-detail{
    font-size:15px;
    color:var(--text);
    margin:0 0 6px;
  }
  .ct-detail a{
    color:inherit;
    text-decoration:none;
  }
  .ct-detail a:hover{ text-decoration:underline; }

  .ct-scope{
    font-size:12.5px;
    color:#5D7A6D;
    margin:14px 0 28px;
  }

  .ct-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid var(--line);
  }
  .ct-action{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.03em;
    text-align:center;
    padding:18px 10px;
    color:var(--forest);
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    transition:background 250ms ease, color 250ms ease;
  }
  .ct-action svg{ width:15px; height:15px; }
  .ct-action:first-child{ border-right:1px solid var(--line); }
  .ct-action:hover{ background:var(--forest); color:var(--white); }
  .ct-action.filled{
    background:var(--mint);
  }
  .ct-action.filled:hover{ background:var(--forest); color:var(--white); }

  /* ---------- responsive ---------- */
  @media (max-width:820px){
    .ct-grid{ grid-template-columns:1fr; }
    .ct-card-outer{ padding:32px 24px 28px; }
  }
  @media (max-width:480px){
    .ct-section{ padding:56px 16px; }
    .ct-title{ font-size:26px; }
  }
  .ct-section{
    background: url(images/10-1.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size:cover;
    /* background-attachment: fixed; */
  }

   .ft{
    font-family:'Inter',sans-serif;
    color:var(--white);
    position:relative;
    overflow:hidden;
    padding:64px 24px 0;
    background:#0d823f;
  }

  .ft-grid{
    max-width:1160px;
    margin:0 auto;
    display:grid;
    grid-template-columns:0.62fr 1fr;
    gap:24px;
  }

  .ft-card{
    background:rgba(255,255,255,0.07);
    border:1px solid rgba(255,255,255,0.14);
    backdrop-filter:blur(6px);
    padding:36px;
  }

  /* ---------- left card: logo / address / social ---------- */
  .ft-logo{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:30px;
    font-weight:800;
    letter-spacing:0.01em;
    line-height:1.05;
    margin:0 0 26px;
  }
  .ft-logo span{ display:block; }
  .ft-logo .sub{
    font-size:15px;
    font-weight:700;
    letter-spacing:0.28em;
    color:var(--mint);
    margin-top:2px;
  }

  .ft-address{
    font-size:15px;
    line-height:1.7;
    color:rgba(255,255,255,0.85);
    margin:0 0 32px;
  }

  .ft-follow-label{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.6);
    margin:0 0 16px;
  }
  .ft-social{
    display:flex;
    gap:12px;
  }
  .ft-social a{
    width:38px; height:38px;
    border-radius:50%;
    background:rgba(255,255,255,0.12);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    text-decoration:none;
    transition:background 250ms ease, transform 250ms ease;
  }
  .ft-social a:hover{ background:var(--emerald); transform:translateY(-2px); }
  .ft-social svg{ width:16px; height:16px; }

  /* ---------- right card: about us ---------- */
  .ft-about-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin:0 0 20px;
  }
  .ft-about-heading span{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--white);
    white-space:nowrap;
  }
  .ft-about-heading::after{
    content:"";
    flex:1;
    height:1px;
    background:rgba(255,255,255,0.25);
  }
  .ft-about-text{
    font-size:15px;
    line-height:1.8;
    color:rgba(255,255,255,0.82);
    margin:0;
  }

  /* ---------- copyright bar ---------- */
  .ft-copy{
    position:relative;
    z-index:2;
    margin-top:48px;
    padding:22px 24px;
    text-align:center;
    font-size:13.5px;
    color:rgba(255,255,255,0.75);
    background:rgba(0,0,0,0.12);
  }

  /* ---------- responsive ---------- */
  @media (max-width:820px){
    .ft-grid{ grid-template-columns:1fr; }
  }
  @media (max-width:480px){
    .ft{ padding:48px 16px 0; }
    .ft-card{ padding:28px 22px; }
  }

  @media (max-width:767px){
    .digimp-section{
        padding: 11px;
    }
    h2{
        font-size: 26px!important;
    }
    h2.main-heading{
        margin-bottom: 30px;
    }
    .digimp-left{
        padding-bottom: 0;
    }
    .fa-text h4{
        color: white;
    }
    .fa-text p{
        color: white;

    }
    #focus-area .wrap{
        background: #0d7b3fc2;
    }
    #focus-area h2{
        /* background: #0d7b3fc2; */
        color: white;
    }
    .wa3-row{
        display: block;
        width: 100%;
        /* padding: 10px; */
    }
    .wa3-inner{
        background: #0d7b3fc2;
        padding: 10px;
    }
    .wa3-inner p, .wa3-inner h2, .wa3-inner .wa3-row-title, .wa3-inner .wa3-row-icon{
        color: white;
    }
  }
  
  .idemjh-speaker-experience {
  --idemjh-green-deep: #063B2A;
  --idemjh-green: #075B3D;
  --idemjh-green-bright: #00A651;
  --idemjh-green-light: #BFE8D5;
  --idemjh-white: #FFFFFF;
  --idemjh-text: #082F24;
  --idemjh-border: rgba(6,59,42,0.15);

  --idemjh-font-display: 'Fraunces', serif;
  --idemjh-font-body: 'IBM Plex Sans', sans-serif;
  --idemjh-font-mono: 'IBM Plex Mono', monospace;

  position: relative;
  background: var(--idemjh-white);
  color: var(--idemjh-text);
  font-family: var(--idemjh-font-body);
  padding: 96px 24px 112px;
  overflow: hidden;
}

/* faint topographic contour backdrop */
.idemjh-speaker-experience::before {
  content: "";
  position: absolute;
  top: -160px;
  right: -160px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  border: 1px solid var(--idemjh-green-light);
  opacity: 0.5;
  pointer-events: none;
}
.idemjh-speaker-experience::after {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  border: 1px solid var(--idemjh-green-light);
  opacity: 0.5;
  pointer-events: none;
}

.idemjh-speaker-experience .idemjh-speaker-shell {
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
}

/* ---------- Intro ---------- */

.idemjh-speaker-experience .idemjh-speaker-intro {
  max-width: 620px;
  margin: 0 auto 72px;
  text-align: center;
}

.idemjh-speaker-experience .idemjh-speaker-eyebrow {
  font-family: var(--idemjh-font-mono);
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.24em;
  color: var(--idemjh-green);
  margin-bottom: 22px;
}

.idemjh-speaker-experience .idemjh-speaker-title {
  font-family: var(--idemjh-font-display);
  font-weight: 500;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.15;
  color: var(--idemjh-green-deep);
  margin: 0 0 22px;
}

.idemjh-speaker-experience .idemjh-speaker-rule {
  width: 64px;
  height: 2px;
  background: var(--idemjh-green-bright);
  margin: 0 auto 22px;
}

.idemjh-speaker-experience .idemjh-speaker-description {
  font-size: 16px;
  line-height: 1.7;
  color: var(--idemjh-text);
  opacity: 0.75;
  margin: 0;
}

/* ---------- Chief Guest: poster ---------- */

.idemjh-speaker-experience .idemjh-speaker-feature {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  min-height: 420px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.idemjh-speaker-experience .idemjh-speaker-feature.idemjh-is-visible {
  opacity: 1;
  transform: translateY(0);
}

.idemjh-speaker-experience .idemjh-speaker-feature-media {
  position: absolute;
  inset: 0;
}

.idemjh-speaker-experience .idemjh-speaker-feature-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: grayscale(20%);
  transition: transform 0.6s ease, filter 0.6s ease;
}

.idemjh-speaker-experience .idemjh-speaker-feature:hover .idemjh-speaker-feature-image {
  transform: scale(1.03);
  filter: grayscale(0%);
}

.idemjh-speaker-experience .idemjh-speaker-feature-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,59,42,0.05) 0%, rgba(6,59,42,0.15) 45%, rgba(6,59,42,0.92) 100%);
}

.idemjh-speaker-experience .idemjh-speaker-feature-label {
  position: absolute;
  top: 28px;
  left: 28px;
  font-family: var(--idemjh-font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--idemjh-white);
  z-index: 2;
}

.idemjh-speaker-experience .idemjh-speaker-feature-label::before {
  content: "[ ";
}
.idemjh-speaker-experience .idemjh-speaker-feature-label::after {
  content: " ]";
}

/* seal emblem, top-right of poster */
.idemjh-speaker-experience .idemjh-speaker-seal {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 78px;
  height: 78px;
  z-index: 2;
}
.idemjh-speaker-experience .idemjh-speaker-seal-ring {
  fill: none;
  stroke: rgba(255,255,255,0.75);
  stroke-width: 1;
}
.idemjh-speaker-experience .idemjh-speaker-seal-ring--inner {
  stroke: var(--idemjh-green-bright);
}
.idemjh-speaker-experience .idemjh-speaker-seal-dot {
  fill: var(--idemjh-green-bright);
}
.idemjh-speaker-experience .idemjh-speaker-seal-text {
  font-family: var(--idemjh-font-mono);
  font-size: 6.2px;
  letter-spacing: 0.09em;
  fill: rgba(255,255,255,0.85);
}

.idemjh-speaker-experience .idemjh-speaker-feature-content {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 2;
  color: var(--idemjh-white);
}

.idemjh-speaker-experience .idemjh-speaker-feature-name {
  font-size: 36px!important;
  font-weight: 600;
  font-size: clamp(30px, 4.4vw, 52px);
  line-height: 1.05;
  margin: 0 0 10px;
  color: var(--idemjh-white);
}

.idemjh-speaker-experience .idemjh-speaker-feature-role {
  font-size: 17px;
  color: var(--idemjh-green-light);
  margin: 0 0 2px;
}

.idemjh-speaker-experience .idemjh-speaker-feature-org {
  font-family: var(--idemjh-font-mono);
  font-size: 14px;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.6);
  margin: 0;
}

/* ---------- Programme chairs: ledger ---------- */

.idemjh-speaker-experience .idemjh-speaker-chairs {
  margin-top: 80px;
}

.idemjh-speaker-experience .idemjh-speaker-chairs-title {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  font-family: var(--idemjh-font-mono);
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: var(--idemjh-green);
  margin-bottom: 40px;
}

.idemjh-speaker-experience .idemjh-speaker-chairs-title::before,
.idemjh-speaker-experience .idemjh-speaker-chairs-title::after {
  content: "";
  width: 40px;
  height: 1px;
  background: var(--idemjh-border);
}

.idemjh-speaker-experience .idemjh-speaker-chair-grid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 44px;
  align-items: start;
}

.idemjh-speaker-experience .idemjh-speaker-divider {
  align-self: stretch;
  background: var(--idemjh-border);
}

.idemjh-speaker-experience .idemjh-speaker-chair {
  display: flex;
  align-items: center;
  gap: 20px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.idemjh-speaker-experience .idemjh-speaker-chair.idemjh-is-visible {
  opacity: 1;
  transform: translateY(0);
}
.idemjh-speaker-feature.idemjh-is-visible{
      margin: auto;
    justify-content: center;
    align-items: center;
    width: 60%;
}
.idemjh-speaker-experience .idemjh-speaker-chair-media {
 flex: none;
    /* width: 84px; */
    width: 50%;
    /* height: 84px; */
    border-radius: 2px;
    overflow: hidden;
    border: 2px solid green;
    /* padding: 10px; */
    border-radius: 60%;
}

.idemjh-speaker-experience .idemjh-speaker-chair-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(35%);
  transition: filter 0.3s ease;
}

.idemjh-speaker-experience .idemjh-speaker-chair:hover .idemjh-speaker-chair-image {
  filter: grayscale(0%);
}

.idemjh-speaker-experience .idemjh-speaker-chair-label {
  display: block;
  font-family: var(--idemjh-font-mono);
  font-size: 16px;
  letter-spacing: 0.14em;
  color: var(--idemjh-green-bright);
  margin-bottom: 42px;
}

.idemjh-speaker-experience .idemjh-speaker-chair-name {
  font-family: var(--idemjh-font-display);
  font-weight: 500;
  font-size: 19px;
  color: var(--idemjh-green-deep);
  margin: 0 0 4px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--idemjh-border);
  display: inline-block;
}

.idemjh-speaker-experience .idemjh-speaker-chair-role {
  font-size: 16px;
  color: var(--idemjh-text);
  opacity: 0.8;
  margin: 6px 0 2px;
}

.idemjh-speaker-experience .idemjh-speaker-chair-org {
  font-family: var(--idemjh-font-mono);
  font-size: 14px;
  color: var(--idemjh-text);
  opacity: 0.5;
  margin: 0;
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
  .idemjh-speaker-experience .idemjh-speaker-feature,
  .idemjh-speaker-experience .idemjh-speaker-chair {
    transition: none;
    opacity: 1;
    transform: none;
  }
  .idemjh-speaker-experience .idemjh-speaker-feature-image {
    transition: none;
  }
}

/* ---------- Responsive ---------- */

@media (max-width: 768px) {
  .idemjh-speaker-experience {
    padding: 64px 20px 80px;
  }
  .idemjh-speaker-experience .idemjh-speaker-intro {
    margin-bottom: 52px;
  }
  .idemjh-speaker-experience .idemjh-speaker-feature {
    aspect-ratio: 3 / 4;
    min-height: 360px;
  }
  .idemjh-speaker-experience .idemjh-speaker-seal {
    width: 58px;
    height: 58px;
  }
  .idemjh-speaker-experience .idemjh-speaker-chairs {
    margin-top: 56px;
  }
  .idemjh-speaker-experience .idemjh-speaker-chair-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .idemjh-speaker-experience .idemjh-speaker-divider {
    height: 1px;
    width: 100%;
  }
  .idemjh-speaker-experience .idemjh-speaker-chair-grid {
  display: flex;
  flex-direction: column;
}
}

@media (max-width: 480px) {
  .idemjh-speaker-experience .idemjh-speaker-chair {
    flex-direction: column;
    text-align: center;
  }
  .idemjh-speaker-experience .idemjh-speaker-chair-media {
    width: 100px;
    height: 100px;
  }
  .idemjh-speaker-experience .idemjh-speaker-chair-grid {
   display: flex;
  flex-direction: column;}
  .idemjh-speaker-feature.idemjh-is-visible {
    margin: auto;
    justify-content: center;
    align-items: center;
     width: 100%; 
}
.idemjh-speaker-experience .idemjh-speaker-feature-name {
    font-size: 24px !important;
    font-weight: 600;
    font-size: clamp(30px, 4.4vw, 52px);
    line-height: 1.05;
    margin: 0 0 10px;
    color: var(--idemjh-white);
}
.idemjh-speaker-experience .idemjh-speaker-feature-role {
    font-size: 14px;
    color: var(--idemjh-green-light);
    margin: 0 0 2px;
}
.idemjh-speaker-experience .idemjh-speaker-feature-org {
    font-family: var(--idemjh-font-mono);
    font-size: 12px;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}
.idemjh-speaker-experience::after {
    display:none;
}
.idemjh-speaker-experience::before {
    display:none;
}
}