/* =========================================================================
   Cedar-IBSi — GLOBAL STYLESHEET
   Loaded via <link rel="stylesheet" href="/global.css"> at the END of each
   page's <head>, so these rules override the pages' inline <style> for equal
   specificity. Single source of truth for shared components.
   ========================================================================= */

/* =========================================================================
   DESIGN TOKENS  — the single source of truth for fonts, colours, spacing
   and sizes. Reference these everywhere (var(--…)) instead of hard-coding.

   BRAND COLOURS
     • Cedar-IBSi / Cedar / IBSi  → BLUE   (main events — the default)
     • Cedar Hill Capital (CHC)    → VIOLET
     • Cedar-IBSi FinTech Lab (CIFL) → TEAL
   Switch a page's brand by adding class="brand-chc" (or brand-cifl) to <body>;
   Cedar-IBSi blue is the default and needs no class.
   ========================================================================= */
:root {
  /* --- Brand palettes --- */
  --ci-navy:#0d2d52;  --ci-blue:#1a4d8c;  --ci-royal:#2680c2;  --ci-cyan:#5fc8e8;  --ci-cyan2:#3eb1d8;   /* Cedar-IBSi blue */
  --chc-violet:#4A2767; --chc-violet2:#964FB5; --chc-deep:#2D1640;                                        /* CHC violet */
  --cifl-teal:#0f766e;  --cifl-teal2:#14b8a6;  --cifl-deep:#134e4a;                                       /* CIFL teal */

  /* --- Active brand (default: Cedar-IBSi blue). Overridden by .brand-* below --- */
  --brand:        var(--ci-blue);
  --brand-deep:   var(--ci-navy);
  --brand-accent: var(--ci-cyan);
  --brand-2:      var(--ci-royal);

  /* --- Neutrals --- */
  --ink:#0d2d52;  --body:#333;  --muted:#333;  --line:#e7ebf2;  --bg:#fff;  --bg-soft:#f6f8fc;

  /* --- Typography --- */
  --font-sans:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  /* --font-script:'Dancing Script', cursive */ --font-script:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;
  --font-serif:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;
  --font-mono:'JetBrains Mono', monospace;

  /* --- Spacing scale --- */
  --sp-1:6px; --sp-2:12px; --sp-3:18px; --sp-4:24px; --sp-5:34px; --sp-6:50px; --sp-7:80px;
  --section-x:60px;

  /* --- Radii --- */
  --r-sm:6px; --r-md:12px; --r-lg:18px; --r-pill:50px;

  /* --- Type sizes --- */
  --fs-eyebrow:12px; --fs-body:15px; --fs-h3:24px; --fs-h2:42px; --fs-h1:54px; --fs-script:52px;
}

/* Brand theming — one class on <body> flips every var(--brand*) reference. */
body.brand-cedar, body.brand-ibsi, [data-brand="cedar"], [data-brand="ibsi"] {
  --brand: var(--ci-blue);  --brand-deep: var(--ci-navy);  --brand-accent: var(--ci-cyan);  --brand-2: var(--ci-royal);
}
body.brand-chc, [data-brand="chc"] {
  --brand: var(--chc-violet);  --brand-deep: var(--chc-deep);  --brand-accent: var(--chc-violet2);  --brand-2: var(--chc-violet2);
}
body.brand-cifl, [data-brand="cifl"] {
  --brand: var(--cifl-teal);  --brand-deep: var(--cifl-deep);  --brand-accent: var(--cifl-teal2);  --brand-2: var(--cifl-teal2);
}

/* ============================================================
   SPEAKERS  — one unified card layout (from speakers/2023_Bahrain.html)
   Replaces the old flip-card variant everywhere.
   ============================================================ */
.speakers-bg {
  padding: 80px 60px;
  background: linear-gradient(135deg, #eaf6fb 0%, #f8f4ff 100%);
  position: relative; overflow: hidden;
}
.speakers-bg::before {
  content: ""; position: absolute; top: 80px; left: 5%; width: 100px; height: 100px;
  background: #5fc8e8; transform: rotate(45deg); opacity: 0.18; border-radius: 10px;
}
.speakers-bg::after {
  content: ""; position: absolute; bottom: 60px; right: 6%; width: 130px; height: 130px;
  background: #1a4d8c; transform: rotate(45deg); opacity: 0.10; border-radius: 12px;
}
.speakers-bg .section-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; }
.speakers-bg .sec-head { text-align: center; margin-bottom: 50px; }
.speakers-bg .sec-head .sub {
  color: #1a4d8c; letter-spacing: 3px; font-size: 13px; font-weight: 600;
  text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
}
.speakers-bg .sec-head .sub::before, .speakers-bg .sec-head .sub::after {
  content: ""; width: 28px; height: 2px; background: linear-gradient(90deg, transparent, #1a4d8c);
}
.speakers-bg .sec-head .sub::after { background: linear-gradient(90deg, #1a4d8c, transparent); }
.speakers-bg .sec-head h2 { font-size: 42px; font-weight: 700; color: #0d2d52; margin-top: 12px; line-height: 1.2; font-family: 'Poppins', sans-serif; }
.speakers-bg .sec-head h2 span { color: #1a4d8c; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 52px */; }

/* Section-heading accent consistency (2026-07-14): the partners heading
   (.partners-head, e.g. "The Names Behind Every Summit") must use the SAME
   script accent as every other .sec-head heading. Generic + font-only, so the
   per-page colour rules (.partners-head h2 span{color:…}) still win on colour. */
.partners-head h2 span { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 52px */; }
@media (max-width: 768px){ .partners-head h2 span { font-size: 34px; } }

/* Flexbox (not grid) so an incomplete last row is CENTERED, e.g. 9 speakers => last one centred.
   4 per row on desktop; card width = (100% - 3*24px gap)/4 = 25% - 18px. */
.speakers-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.speakers-grid > .speaker-card { flex: 0 0 calc(25% - 18px); max-width: calc(25% - 18px); box-sizing: border-box; }

.speaker-card {
  /* simple card + hard resets that neutralise the old flip-card rules */
  background: #fff; border-radius: 10px; text-align: center;
  padding: 32px 22px 26px; position: relative; overflow: hidden;
  box-shadow: 0 6px 18px rgba(13,45,82,0.07);
  height: auto; min-height: 0; cursor: default;
  transform: none; transform-style: flat; perspective: none;
  transition: transform 0.3s, box-shadow 0.3s;
}
.speaker-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #0d2d52, #1a4d8c);
}
.speaker-card:nth-child(4n+2)::before,
.speaker-card:nth-child(4n+3)::before { background: linear-gradient(90deg, #3eb1d8, #5fc8e8); }
.speaker-card:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(13,45,82,0.15); }
/* neutralise any leftover flip-state classes toggled by old inline JS */
.speaker-card.is-open, .speaker-card.is-closing, .speaker-card.is-resetting { transform: none; }

.speaker-card .speaker-photo {
  width: 150px; height: 150px; margin: 0 auto 18px;
  border-radius: 50%; padding: 3px 0 0 3px;
  background: linear-gradient(135deg, #1a4d8c, #5fc8e8);
  position: relative;
}
.speaker-photo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: #fff; border: 2px solid #fff; }
.speaker-overlay {
  position: absolute; bottom: 0; right: 0; width: 35px; height: 35px; border-radius: 50%;
  background: #fff; color: #1a4d8c; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px; box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  transition: background 0.25s, color 0.25s, transform 0.2s; text-decoration: none;
}
.speaker-overlay:hover { background: #1a4d8c; color: #fff; transform: scale(1.08); }
.speaker-body h4 { font-size: 16px; color: #0d2d52; margin-bottom: 6px; font-weight: 700; }
.speaker-role {
  font-size: 11.5px; color: #333; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.8px; margin-bottom: 8px; min-height: 30px; line-height: 1.5;
}
.speaker-org { font-size: 13px; color: #1a4d8c; font-weight: 800; line-height: 1.5; }

/* Spacing armor (2026-07-14): pages with an aggressive scoped reset
   `body.ev-summit *{margin:0;padding:0}` / `body.pg-speakers3 *{…}` (specificity 0,1,1)
   out-rank the 0,1,0 speaker-card component rules and flatten the card (padding/margins → 0,
   org text jams the bottom edge). Restore ONLY the zeroed spacing at .speakers-grid specificity
   (0,2,x) so it survives the reset on every page. All speaker cards live in .speakers-grid.
   (Photo margin/padding is already armored via `.speaker-card .speaker-photo`.) */
.speakers-grid .speaker-card { padding: 32px 22px 26px; }
.speakers-grid .speaker-body h4 { margin-bottom: 6px; }
.speakers-grid .speaker-role { margin-bottom: 8px; }

/* Card columns step down with width: 4 (desktop) -> 3 (iPad landscape) -> 2 (iPad portrait / large phone) -> 1 (phone) */
@media (max-width: 1024px) { .speakers-grid > .speaker-card { flex-basis: calc(33.333% - 16px); max-width: calc(33.333% - 16px); } }
@media (max-width: 768px)  { .speakers-bg { padding: 50px 24px; } .speakers-grid > .speaker-card { flex-basis: calc(50% - 12px); max-width: calc(50% - 12px); } }
@media (max-width: 480px)  { .speakers-grid > .speaker-card { flex-basis: 100%; max-width: 100%; } }

/* ============================================================
   PAGE BANNER — canonical layout (was duplicated inline on 49 pages)
   Each page keeps only its own .page-banner { background: ... }.
   ============================================================ */
.page-banner { position: relative; color:#fff; padding:50px 60px 0; overflow:hidden; }
#sec2.page-banner { padding:50px 60px 0; }
  .page-banner::before {
    content: ""; position: absolute; bottom: 40px; left: -30px; width: 120px; height: 120px;
    background: var(--brand); transform: rotate(45deg); opacity: 0.45; border-radius: 12px;
    z-index: 1;
  }
  .page-banner::after {
    content: ""; position: absolute; top: 50%; right: -30px; width: 130px; height: 130px;
    margin-top: -65px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.28; border-radius: 12px;
    z-index: 1;
  }
  /* Symmetric top corners — Cedar (left) + Forbes (right), same size */
  .banner-corner {
    position: absolute; top: 28px; z-index: 3;
    display: inline-flex; flex-direction: column; gap: 8px;
    transition: transform 0.25s ease;
  }
  .banner-corner:hover { transform: translateY(-3px); }
  .banner-forbes { right: 60px; align-items: flex-end; }

  .banner-corner-label {
    font-size: 10px; font-weight: 700; letter-spacing: 3px;
    text-transform: uppercase; color: #5fc8e8;
    display: inline-flex; align-items: center; gap: 8px;
  }
  .banner-forbes .banner-corner-label::before {
    content: ""; width: 18px; height: 1px;
    background: linear-gradient(90deg, transparent, #5fc8e8);
  }

  .banner-corner img {
    max-width: 110px; max-height: 110px; width: auto; display: block;
    transition: opacity 0.25s ease, filter 0.25s ease;
  }

  /* Forbes: full-colour image, white panel inside dissolves via screen-blend */
  .banner-forbes img {
    mix-blend-mode: screen;
    filter: brightness(1.1) contrast(1.05);
    opacity: 0.92;
  }
  .banner-forbes:hover img {
    opacity: 1;
    filter: brightness(1.15) contrast(1.1) drop-shadow(0 0 12px rgba(95, 200, 232, 0.5));
  }

  /* Main banner content */
  .banner-wrap {
    max-width: 1300px; margin: 0 auto;
    position: relative; z-index: 2;
    text-align: center;
    padding-bottom: 70px;
  }
  .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }
  .banner-wrap .sub::before, .banner-wrap .sub::after {
    content: ""; width: 28px; height: 2px;
    background: linear-gradient(90deg, transparent, #5fc8e8);
  }
  .banner-wrap .sub::after { background: linear-gradient(90deg, #5fc8e8, transparent); }
  .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }
  .banner-wrap h1 span { color: #5fc8e8; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 60px */; }
  .breadcrumb { font-size: 14px; color: rgba(255,255,255,0.85); }
  .breadcrumb a { color: #5fc8e8; transition: color 0.2s; }
  .breadcrumb a:hover { color: #fff; }
  .breadcrumb .sep { margin: 0 10px; opacity: 0.6; }

  /* ============ GROUP LOGO STRIP (index-banner rail layout) ============ */
  .page-banner .rail{position:relative; z-index:2; flex-shrink:0;
    display:flex; align-items:center; gap:clamp(18px,2.5vw,34px);
    margin:0 -60px; padding:0 clamp(28px,4vw,80px);
    height:clamp(116px,13.5vh,152px);
    background:rgba(7,24,46,.4);
    border-top:1px solid rgba(95,200,232,.16);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
  .page-banner .rail .label{flex-shrink:0; display:flex; flex-direction:column; gap:3px;
    color:#5fc8e8; font-size:clamp(12px,1.1vw,14px); font-weight:600; letter-spacing:.26em;
    text-transform:uppercase; line-height:1.25; white-space:nowrap;}
  .page-banner .rail .label small{color:#cfe2f3; font-weight:400; letter-spacing:.16em; opacity:.75;}
  .page-banner .rail .rule{flex-shrink:0; width:2px; height:clamp(52px,7vh,70px);
    background:linear-gradient(180deg,transparent,rgba(95,200,232,.9),transparent);}
  .page-banner .logos{display:flex; align-items:center; flex:1; min-width:0; gap:0; flex-wrap:nowrap;}
  .page-banner .logos a{flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:center;
    height:clamp(116px,13.5vh,152px); opacity:.84; transition:opacity .25s, transform .25s; position:relative;}
  .page-banner .logos a.ibs::after{content:""; position:absolute; right:0; top:50%;
    transform:translateY(-50%); width:2px; height:clamp(52px,7vh,70px); background:rgba(95,200,232,.7);}
  .page-banner .logos a:hover{opacity:1; transform:translateY(-3px);}
  .page-banner .logos img{height:auto; max-width:100%; max-height:100%; transition:filter .25s;}
  .page-banner .logos a:hover img{filter:drop-shadow(0 0 9px rgba(95,200,232,.5));}
  .page-banner .logos img{width:clamp(101px,10.8vw,168px);}
  @media (max-width:768px){
    .page-banner .rail{margin:0 -24px; gap:14px; padding:0 18px; height:112px;}
    .page-banner .rail .label,.page-banner .rail .rule{display:none;}
    .page-banner .logos a{height:112px;}
    .page-banner .logos img{width:clamp(72px,18vw,115px);}
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 900px) {
    .group-strip-label {
      border-right: none; padding-right: 0;
      width: 100%; text-align: center;
    }
    .banner-corner { top: 18px; }
    .banner-forbes { right: 20px; }
    .banner-corner img { max-width: 80px; max-height: 80px; }
    .banner-corner-label { font-size: 9px; letter-spacing: 2px; }
    .banner-wrap { padding-top: 56px; }
  }
  @media (max-width: 768px) {
    .page-banner { padding: 60px 24px 0; }
    .banner-wrap { padding-bottom: 50px; }
    .banner-wrap h1 { font-size: 34px; }
    .banner-wrap h1 span { font-size: 38px; }
    .group-strip { margin: 0 -24px; padding: 16px 24px; }
    .group-strip-wrap { gap: 18px; }
    .group-logo { height: 44px; }
    .banner-corner img { max-width: 64px; max-height: 64px; }
    .banner-corner-label { font-size: 8px; }
  }

  .page-banner{ padding-top:44px; }
  .page-banner .banner-wrap{ text-align:center; padding-bottom:54px; }
  .banner-wrap .sub{ margin-bottom:16px; justify-content:center; }
  .banner-wrap h1{ font-size:56px; line-height:1.12; margin-bottom:14px; }
  .banner-wrap h1 .accent{ /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight:700; /* font-size:66px */;
    background:linear-gradient(100deg,#964FB5,#5fc8e8); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .banner-wrap .banner-lede{ max-width:720px; margin:6px auto 0; color:rgba(255,255,255,.9); font-size:16px; line-height:1.6; }
  .banner-wrap .meta-row{ display:inline-flex; gap:18px; align-items:center; justify-content:center; margin:22px auto 0; color:rgba(255,255,255,.92); font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:1px; }
  .banner-wrap .meta-row span{ display:inline-flex; align-items:center; }
  .banner-wrap .meta-row span + span::before{ content:"|"; margin-right:18px; color:#5fc8e8; opacity:1; font-weight:500; }
  @media (max-width:768px){
    .banner-wrap h1{ font-size:34px; } .banner-wrap h1 .accent{ font-size:40px; }
    .banner-wrap .meta-row{ flex-direction:column; gap:8px; }
    .banner-wrap .meta-row span + span::before{ display:none; }
    .host-box{ gap:16px; padding:12px 16px; }
  }

/* ============ 16:9 MEDIA — no side-cropping of gallery thumbnails ============ */
/* Gallery thumbnails are 16:9; match the tile box to the image ratio so
   object-fit:cover fills without cutting the sides. (Overrides inline .tile 3/2.) */
.tile { aspect-ratio: 16 / 9; }
.tile img { object-position: center; }

/* ===== Event "Shape the Conversation" engagement panel (centralised from event pages) ===== */
.engagement-panel{padding:50px 60px;background:#f4f6fa;position:relative;overflow:hidden}
.engagement-panel::before{display:none}
.engagement-panel::after{display:none}
.engagement-wrap{max-width:1100px;margin:0 auto;position:relative;z-index:2}
.engagement-wrap .eyebrow{font-size:11px;color:#1a4d8c;letter-spacing:3px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:12px;text-align:center}
.engagement-wrap h2{font-size:28px;font-weight:700;color:#0d2d52;margin-bottom:10px;text-align:center;font-family:'Poppins',sans-serif}
.engagement-wrap .sub-text{font-size:14px;color:#333;text-align:center;margin-bottom:24px}
.engagement-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.engage-card{background:#fff;border:1px solid #dce8f5;border-radius:12px;padding:22px 24px;display:flex;flex-direction:column;align-items:flex-start;backdrop-filter:blur(6px);transition:background .3s,transform .25s,box-shadow .25s}
.engage-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 12px 28px rgba(13,45,82,.12)}
.engage-card .card-icon{width:40px;height:40px;border-radius:8px;background:#e8f1f8;display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0}
.engage-card .card-icon svg{width:24px;height:24px;stroke:#1a4d8c;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.engage-card h3{font-size:17px;font-weight:700;color:#0d2d52;margin-bottom:8px;font-family:'Poppins',sans-serif}
.engage-card p{font-size:13px;color:#333;line-height:1.6;margin-bottom:16px;flex:1}
.engage-btn{display:inline-flex;align-items:center;gap:8px;background:#1a4d8c;color:#fff;padding:10px 18px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:background .2s,color .2s,transform .2s,box-shadow .2s;white-space:nowrap;text-decoration:none}
.engage-btn:hover{background:#0d2d52;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(13,45,82,.28)}
.engage-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.engage-btn:hover svg{transform:translateX(4px)}
@media (max-width:1024px){ .engagement-cards{grid-template-columns:1fr} }
@media (max-width:768px){ .engagement-panel{padding:40px 24px} .engagement-wrap h2{font-size:26px} }

/* =========================================================================
   GALLERY / LIGHTBOX  — centralised from gallery/*.html (batch 1)
   Scoped to body.gallery-page so generic names (.grid/.tile/.container/.lb)
   never collide with other pages. Accent = var(--brand); add class
   "brand-chc"/"brand-cifl" on <body> for violet/teal galleries.
   ========================================================================= */
body.gallery-page { font-family: system-ui, -apple-system, sans-serif; background:#fff; color:#0a1f44; -webkit-font-smoothing:antialiased; }
/* LOW-SPEC reset (0,0,0) via :where() — same fix as the event templates. The old
   high-spec `body.gallery-page *` reset (0,1,1) beat the injected header/footer/banner
   partial padding rules (0,1,0), zeroing them (broken header, footer, banner & spacing).
   At :where() 0-specificity every real component rule wins, so padding is preserved. */
:where(body.gallery-page) *, :where(body.gallery-page) *::before, :where(body.gallery-page) *::after { margin:0; padding:0; box-sizing:border-box; }
body.gallery-page .gallery-section { padding:32px 60px 60px; }
body.gallery-page .container { max-width:1300px; margin:0 auto; }
body.gallery-page .gallery-head { text-align:center; margin-bottom:8px; }
body.gallery-page .gallery-title { font-size:42px; font-weight:800; line-height:1.1; color:#0a1f44; letter-spacing:-.02em; }
body.gallery-page .gallery-title span { color:var(--brand); font-style:normal; font-family:var(--font-script); font-weight:700; /* font-size:60px */ }
body.gallery-page .gallery-event { display:inline-block; margin-top:6px; font-size:.95rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--brand); text-decoration:none; position:relative; padding-bottom:3px; }
body.gallery-page .gallery-event::after { content:""; position:absolute; left:0; bottom:0; width:100%; height:1px; background:var(--brand); transform:scaleX(.35); transform-origin:center; transition:transform .3s ease; }
body.gallery-page .gallery-event:hover { color:var(--ci-navy); }
body.gallery-page .gallery-event:hover::after { transform:scaleX(1); background:var(--ci-navy); }
body.gallery-page .grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:#fff; margin:0 auto; }
body.gallery-page .tile { border:none; padding:0; cursor:pointer; background:#dfe5ef; overflow:hidden; aspect-ratio:16/9; position:relative; display:block; }
body.gallery-page .tile img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .45s ease; }
body.gallery-page .tile::after { content:""; position:absolute; inset:0; background:rgba(8,26,58,0); transition:background .2s ease; }
body.gallery-page .tile:hover img { transform:scale(1.05); }
body.gallery-page .tile:hover::after { background:rgba(8,26,58,.18); }
body.gallery-page .tile:focus-visible { outline:3px solid var(--brand-accent); outline-offset:-3px; }
body.gallery-page .lb { position:fixed; inset:0; z-index:100; background:rgba(6,16,38,.94); display:none; align-items:center; justify-content:center; backdrop-filter:blur(4px); touch-action:pan-y; overscroll-behavior:contain; }
body.gallery-page .lb.open { display:flex; }
body.gallery-page .lb-stage { position:relative; width:min(1100px,94vw); height:84vh; overflow:hidden; }
body.gallery-page .lb-layer { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; will-change:transform,opacity; }
body.gallery-page .lb-layer img { max-width:100%; max-height:84vh; object-fit:contain; box-shadow:0 20px 60px rgba(0,0,0,.5); user-select:none; -webkit-user-drag:none; }
body.gallery-page .lb-btn { position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:1px solid rgba(126,200,238,.45); background:rgba(8,26,58,.55); color:#fff; font-size:1.5rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease,transform .2s ease; z-index:3; }
body.gallery-page .lb-btn:hover { background:#5e93c9; transform:translateY(-50%) scale(1.07); }
body.gallery-page .lb-btn:active { transform:translateY(-50%) scale(.96); }
body.gallery-page .lb-prev { left:20px; } body.gallery-page .lb-next { right:20px; }
body.gallery-page .lb-close { position:absolute; top:22px; right:26px; z-index:3; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:rgba(8,26,58,.5); color:#fff; font-size:1.5rem; cursor:pointer; line-height:1; display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
body.gallery-page .lb-close:hover { background:#b3422f; }
body.gallery-page .lb-counter { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.85); font-weight:600; font-size:.95rem; letter-spacing:.04em; z-index:3; }
body.gallery-page .lb-btn:focus-visible, body.gallery-page .lb-close:focus-visible { outline:3px solid var(--brand-accent); outline-offset:2px; }
@media(max-width:1000px){ body.gallery-page .grid { grid-template-columns:repeat(3,1fr); } }
@media(max-width:640px){ body.gallery-page .grid { grid-template-columns:repeat(2,1fr); } body.gallery-page .gallery-section { padding:56px 24px; } }
@media(prefers-reduced-motion:reduce){ body.gallery-page .lb-layer { transition:none!important; } }

/* =========================================================================
   EVENT — SUMMIT template (batch 2)  centralised from 29 events/*.html
   Scoped to body.ev-summit. Per-page banner image via --banner-img.
   ========================================================================= */

  /* --- self-contained base so the header looks identical on any page, even on its own ---
     Everything is scoped to the header so it never disturbs the rest of the page.
     (body margin reset is the one global rule, so the bar sits flush to the top.) */
  body.ev-summit { margin: 0; }
  body.ev-summit header { font-family: 'Poppins', sans-serif; box-sizing: border-box; line-height: 1.2; }
  body.ev-summit header *, body.ev-summit .nav-toggle, body.ev-summit .nav-toggle * { box-sizing: border-box; margin: 0; padding: 0; }
  body.ev-summit header ul, body.ev-summit header li { list-style: none; }
  body.ev-summit header a { text-decoration: none; color: inherit; }
  body.ev-summit header img { display: block; max-width: 100%; }

  /* force the glass recipe so a host/theme can't repaint the menus with a solid fill
     (desktop only — the mobile accordion intentionally uses flat panels, no blur) */
  @media (min-width: 901px) {
    body.ev-summit header .dropdown { background: transparent !important; background-image: none !important;
      -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
    body.ev-summit header .dropdown::after {
      background: rgba(13,45,82,0.22) !important;
      -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
              backdrop-filter: blur(24px) saturate(160%) !important;
    }
    body.ev-summit header .sub-dropdown {
      background: rgba(13,45,82,0.22) !important; background-image: none !important;
      -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
              backdrop-filter: blur(24px) saturate(160%) !important;
    }
  }

  /* ============ HEADER (glass-on-scroll) ============ */
  /* The header surface lives on header::before so the header element itself is
     NOT a backdrop-filter root — that keeps the dropdown/sub-dropdown glass
     working independently and stops the bar from ever resizing on scroll. */
  body.ev-summit header {
    background: transparent; padding: 18px 60px; position: sticky; top: 0; z-index: 1000;
  }
  body.ev-summit header::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    transition: background 0.35s ease, box-shadow 0.35s ease,
                -webkit-backdrop-filter 0.35s ease, backdrop-filter 0.35s ease;
  }
  body.ev-summit header.scrolled::before {
    background: rgba(13, 45, 82, 0.22);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    backdrop-filter: blur(24px) saturate(160%);
    box-shadow: 0 8px 30px rgba(13, 45, 82, 0.28);
  }
  body.ev-summit .header-wrap { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto; }
  body.ev-summit .logo { height: 38px; transition: filter 0.35s ease; }
  body.ev-summit header.scrolled .logo { filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0,0,0,0.4)); }

  body.ev-summit nav > ul { list-style: none; display: flex; gap: 30px; align-items: center; }
  body.ev-summit nav > ul .dropdown { list-style: none; display: flex; gap: 0px; align-items: center; }
  body.ev-summit nav > ul .sub-dropdown { list-style: none; display: flex; gap: 0px; align-items: center; }
  body.ev-summit nav > ul > li { position: relative; }
  /* invisible bridge so the cursor can cross the gap into the dropdown without it closing */
  body.ev-summit nav > ul > li:hover::after, body.ev-summit nav > ul > li:focus-within::after {
    content: ""; position: absolute; left: -20px; right: -20px; top: 100%; height: 22px; z-index: 1090;
  }
  body.ev-summit nav a { font-size: 14px; font-weight: 500; color: #333; transition: color 0.2s; display: inline-flex; align-items: center; gap: 6px; padding: 8px 0; }
  body.ev-summit nav a:hover { color: #1a4d8c; }
  body.ev-summit header.scrolled nav > ul > li > a { color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,0.45); }
  body.ev-summit header.scrolled nav > ul > li > a:hover { color: #5fc8e8; }
  body.ev-summit header.scrolled .nav-toggle span { box-shadow: 0 1px 3px rgba(0,0,0,0.4); }
  body.ev-summit nav .caret {
    width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px); transition: transform 0.25s ease;
  }
  body.ev-summit nav > ul > li:hover > a .caret { transform: rotate(-135deg) translateY(0); }

  /* ============ DROPDOWN — translucent glass (preserved) ============ */
  /* Glass sits on ::after (z-index:-1) so .dropdown is not a backdrop root for
     the nested sub-dropdown, and the effect never fades when the page scrolls. */
  body.ev-summit .dropdown {
    position: absolute; top: calc(100% + 20px); left: -20px;
    min-width: 260px; display: flex; flex-direction: column;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18); border-top: 2px solid #3eb1d8; border-radius: 4px;
    box-shadow: 0 18px 50px rgba(13, 45, 82, 0.25); padding: 6px 0; list-style: none;
    opacity: 0; visibility: hidden;
    transition: opacity 0.25s ease, top 0.25s ease, visibility 0.25s; z-index: 1100;
  }
  body.ev-summit .dropdown::after {
    content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 4px;
    background: rgba(13, 45, 82, 0.22);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    backdrop-filter: blur(24px) saturate(160%);
  }
  body.ev-summit nav > ul > li:hover > .dropdown, body.ev-summit nav > ul > li:focus-within > .dropdown { opacity: 1; visibility: visible; top: calc(100% + 14px); }
  body.ev-summit .dropdown::before {
    content: ""; position: absolute; top: -8px; left: 32px; width: 12px; height: 12px;
    background: rgba(13, 45, 82, 0.22);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    backdrop-filter: blur(24px) saturate(160%);
    border-left: 1px solid rgba(255,255,255,0.18); border-top: 2px solid #3eb1d8;
    transform: rotate(45deg); border-top-left-radius: 2px;
  }
  body.ev-summit .dropdown > li { display: block; width: 100%; position: relative; }
  /* invisible bridge across the gap between a dropdown row and its fly-out sub-dropdown */
  body.ev-summit .dropdown > li:hover::after, body.ev-summit .dropdown > li:focus-within::after {
    content: ""; position: absolute; top: 0; bottom: 0; left: 100%; width: 14px; z-index: 1190;
  }
  body.ev-summit .dropdown > li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
  body.ev-summit .dropdown a {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 22px; font-size: 14px; font-weight: 500; color: #ffffff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.45);
    transition: background 0.2s, color 0.2s, padding-left 0.2s; white-space: nowrap;
  }
  body.ev-summit .dropdown a:hover { color: #3eb1d8; background: rgba(255, 255, 255, 0.08); padding-left: 26px; }
  body.ev-summit .dropdown .sub-caret {
    width: 7px; height: 7px; border-right: 2px solid rgba(255,255,255,0.7);
    border-bottom: 2px solid rgba(255,255,255,0.7);
    transform: rotate(-45deg); transition: border-color 0.2s, transform 0.25s ease; margin-left: 12px;
  }
  body.ev-summit .dropdown a:hover .sub-caret { border-color: #3eb1d8; }

  /* ============ SUB-DROPDOWN — own glass (preserved) ============ */
  body.ev-summit .dropdown .sub-dropdown {
    position: absolute; top: -8px; left: calc(100% + 8px);
    min-width: 280px; display: flex; flex-direction: column;
    background: rgba(13, 45, 82, 0.22);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.18); border-top: 2px solid #3eb1d8; border-radius: 4px;
    box-shadow: 0 18px 50px rgba(13, 45, 82, 0.25); padding: 6px 0; list-style: none;
    opacity: 0; visibility: hidden; transform: translateX(-6px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s; z-index: 1200;
  }
  body.ev-summit .dropdown > li:hover > .sub-dropdown, body.ev-summit .dropdown > li:focus-within > .sub-dropdown { opacity: 1; visibility: visible; transform: translateX(0); }
  body.ev-summit .sub-dropdown > li { display: block; width: 100%; }
  body.ev-summit .sub-dropdown > li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }

  body.ev-summit .ticket-btn {
    background: linear-gradient(90deg, #1a4d8c, #2680c2);
    color: #fff !important; padding: 12px 26px; border-radius: 4px;
    font-size: 13px; font-weight: 600; text-transform: uppercase;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  body.ev-summit .ticket-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(26,77,140,0.35); }

  /* ============ HAMBURGER (mobile only) ============ */
  body.ev-summit header .nav-toggle {
    display: none; width: 44px; height: 44px; border: none; background: transparent;
    cursor: pointer; padding: 0; position: relative; z-index: 1300; margin-left: 14px;
    flex-direction: column; justify-content: center; align-items: center; gap: 6px;
  }
  body.ev-summit .nav-toggle span {
    display: block; width: 26px; height: 2px; border-radius: 2px;
    background: #0d2d52; transition: transform 0.3s ease, opacity 0.3s ease, background 0.3s ease;
  }
  body.ev-summit header.scrolled .nav-toggle span { background: #fff; }
  body.ev-summit .nav-toggle.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  body.ev-summit .nav-toggle.open span:nth-child(2) { opacity: 0; }
  body.ev-summit .nav-toggle.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  body.ev-summit .mobile-only { display: none; }

  /* ============ MOBILE NAV (<= 900px) ============ */
  @media (max-width: 900px) {
    body.ev-summit header { padding: 14px 22px; }
    body.ev-summit header .nav-toggle { display: flex !important; }
    body.ev-summit .header-wrap > .ticket-btn { display: none; }   /* moved into the panel */

    body.ev-summit nav {
      position: absolute; top: 100%; left: 0; right: 0;
      background: rgba(13, 45, 82, 0.92);
      -webkit-backdrop-filter: blur(24px) saturate(160%);
      backdrop-filter: blur(24px) saturate(160%);
      border-top: 2px solid #3eb1d8;
      box-shadow: 0 18px 50px rgba(13, 45, 82, 0.40);
      max-height: 0; overflow: hidden; overflow-y: auto;
      transition: max-height 0.4s ease;
    }
    body.ev-summit nav.open { max-height: calc(100vh - 70px); }
    body.ev-summit #primary-nav > ul { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 4px 0; }
    body.ev-summit nav > ul > li { position: static; border-top: 1px solid rgba(255,255,255,0.08); }
    body.ev-summit nav > ul > li:first-child { border-top: none; }
    body.ev-summit nav > ul > li > a, body.ev-summit header.scrolled nav > ul > li > a { color: #fff; padding: 17px 24px; font-size: 15px; justify-content: space-between; }
    body.ev-summit nav a:hover { color: #5fc8e8; }

    /* Dropdowns + sub-dropdowns become tap accordions, kept on the glass panel */
    body.ev-summit .dropdown, body.ev-summit .dropdown .sub-dropdown {
      position: static; opacity: 1; visibility: visible; transform: none;
      top: auto; left: auto; min-width: 0; width: 100%;
      border: none; border-radius: 0; box-shadow: none; padding: 0; background: transparent;
      max-height: 0; overflow: hidden; transition: max-height 0.35s ease;
    }
    body.ev-summit .dropdown::after, body.ev-summit .dropdown::before { display: none; }
    body.ev-summit nav > ul > li:hover::after, body.ev-summit nav > ul > li:focus-within::after, body.ev-summit .dropdown > li:hover::after, body.ev-summit .dropdown > li:focus-within::after { display: none; }
    body.ev-summit .dropdown .sub-dropdown { -webkit-backdrop-filter: none; backdrop-filter: none; }
    body.ev-summit .dropdown { background: rgba(0,0,0,0.16); }
    body.ev-summit .dropdown .sub-dropdown { background: rgba(0,0,0,0.26); }

    body.ev-summit nav li.open > .dropdown, body.ev-summit nav li.open > .sub-dropdown { max-height: 720px; }

    body.ev-summit .dropdown > li { border-top: 1px solid rgba(255,255,255,0.06); }
    body.ev-summit .dropdown a { padding: 14px 24px 14px 38px; text-shadow: none; }
    body.ev-summit .dropdown .sub-dropdown a { padding: 13px 24px 13px 54px; font-size: 13px; }
    body.ev-summit .dropdown a:hover { padding-left: 38px; background: rgba(255,255,255,0.06); }
    body.ev-summit .dropdown .sub-dropdown a:hover { padding-left: 54px; }

    body.ev-summit nav li.open > a .caret { transform: rotate(-135deg) translateY(2px); }
    body.ev-summit nav li.open > a .sub-caret { transform: rotate(45deg); border-color: #5fc8e8; }

    body.ev-summit .mobile-only { display: block; }
    body.ev-summit li.mobile-brochure { padding: 18px 24px; }
    body.ev-summit li.mobile-brochure .ticket-btn { display: inline-block; }
  }

  @media (prefers-reduced-motion: reduce) {
    body.ev-summit header::before, body.ev-summit .logo, body.ev-summit .dropdown, body.ev-summit .sub-dropdown, body.ev-summit nav, body.ev-summit .nav-toggle span, body.ev-summit .caret, body.ev-summit .sub-caret {
      transition-duration: 0.01ms !important;
    }
  }

  /* ===== HEADER CONFLICT GUARD (baked in) =====
     Enforces the intended dropdown geometry + glass even when this header is dropped onto a
     page that still has older/conflicting header CSS (a stray transform that kills the
     sub-dropdown glass, a flex-gap that inflates the menu, a theme repaint, etc.).
     Desktop only; the mobile accordion is left untouched. */
  @media (min-width: 901px) {
    body.ev-summit header .dropdown { transform: none !important; gap: 0 !important; row-gap: 0 !important;
      background: transparent !important; background-image: none !important;
      -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
    body.ev-summit header .dropdown::after { background: rgba(13,45,82,0.22) !important;
      -webkit-backdrop-filter: blur(24px) saturate(160%) !important; backdrop-filter: blur(24px) saturate(160%) !important; }
    body.ev-summit header .sub-dropdown { gap: 0 !important; row-gap: 0 !important;
      background: rgba(13,45,82,0.22) !important; background-image: none !important;
      -webkit-backdrop-filter: blur(24px) saturate(160%) !important; backdrop-filter: blur(24px) saturate(160%) !important; }
    body.ev-summit header .dropdown a, body.ev-summit header .sub-dropdown a { padding: 14px 22px !important; font-size: 14px !important; }
    body.ev-summit header #primary-nav > ul { gap: 30px !important; }
    body.ev-summit header #primary-nav > ul > li > a { font-size: 14px !important; padding: 8px 0 !important; }
  }

/* ====== BASE RESET ====== */
body.ev-summit *:not(header):not(footer):not(header *):not(footer *) {margin:0;box-sizing:border-box}
body.ev-summit {font-family:'Poppins',sans-serif;color:#333;background:#fff;overflow-x:hidden}
body.ev-summit a {text-decoration:none;color:inherit}
body.ev-summit img {max-width:100%;display:block}

/* ====== BANNER CSS (from Banner_Option_1) ====== */
body.ev-summit .page-banner {
  position:relative;color:#fff;padding:50px 60px 0;overflow:hidden;
  background:linear-gradient(135deg,rgba(13,45,82,0.92) 0%,rgba(26,77,140,0.82) 50%,rgba(13,45,82,0.92) 100%),
    var(--banner-img) center/cover no-repeat;
}
body.ev-summit .page-banner::before {content:"";position:absolute;bottom:40px;left:-30px;width:120px;height:120px;background:#1a4d8c;transform:rotate(45deg);opacity:0.4;border-radius:12px;z-index:1}
body.ev-summit .page-banner::after {content:"";position:absolute;top:50%;right:-30px;width:130px;height:130px;margin-top:-65px;background:#5fc8e8;transform:rotate(45deg);opacity:0.22;border-radius:12px;z-index:1}
body.ev-summit .banner-corner {position:absolute;top:28px;z-index:3;display:inline-flex;flex-direction:column;gap:8px;transition:transform 0.25s ease}
body.ev-summit .banner-corner:hover {transform:translateY(-3px)}
body.ev-summit .banner-cedar {left:60px;align-items:flex-start}
body.ev-summit .banner-forbes {right:60px;align-items:flex-end}
body.ev-summit .banner-corner-label {font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#5fc8e8;display:inline-flex;align-items:center;gap:8px}
body.ev-summit .banner-cedar .banner-corner-label::after {content:"";width:18px;height:1px;background:linear-gradient(90deg,#5fc8e8,transparent)}
body.ev-summit .banner-forbes .banner-corner-label::before {content:"";width:18px;height:1px;background:linear-gradient(90deg,transparent,#5fc8e8)}
body.ev-summit .banner-corner img {max-width:110px;max-height:110px;width:auto;display:block;transition:opacity 0.25s ease,filter 0.25s ease}
body.ev-summit .banner-cedar img {opacity:0.95}
body.ev-summit .banner-cedar:hover img {opacity:1;filter:drop-shadow(0 0 12px rgba(95,200,232,0.6))}
body.ev-summit .banner-forbes img {mix-blend-mode:screen;filter:brightness(1.1) contrast(1.05);opacity:0.92}
body.ev-summit .banner-forbes:hover img {opacity:1;filter:brightness(1.15) contrast(1.1) drop-shadow(0 0 12px rgba(95,200,232,0.5))}
body.ev-summit .banner-wrap {max-width:1300px;margin:0 auto;position:relative;z-index:2;text-align:center;padding-bottom:70px}
body.ev-summit .banner-wrap .sub {color:#5fc8e8;letter-spacing:4px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;margin-bottom:18px}
body.ev-summit .banner-wrap .sub::before, body.ev-summit .banner-wrap .sub::after {content:"";width:28px;height:2px;background:linear-gradient(90deg,transparent,#5fc8e8)}
body.ev-summit .banner-wrap .sub::after {background:linear-gradient(90deg,#5fc8e8,transparent)}
/* Requirement 3: Poppins for h1 span - no Dancing Script */
body.ev-summit .banner-wrap h1 {font-size:56px;line-height:1.15;font-weight:700;margin-bottom:16px;font-family:'Poppins',sans-serif}
body.ev-summit .banner-wrap h1 span {color:#5fc8e8;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;font-weight:700;/* font-size:60px */}
body.ev-summit .breadcrumb {font-size:14px;color:rgba(255,255,255,0.85)}
body.ev-summit .breadcrumb a {color:#5fc8e8;transition:color 0.2s}
body.ev-summit .breadcrumb a:hover {color:#fff}
body.ev-summit .breadcrumb .sep {margin:0 10px;opacity:0.6}
body.ev-summit .group-strip {position:relative;z-index:2;background:rgba(13,45,82,0.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,0.10);margin:0 -60px;padding:22px 60px}
body.ev-summit .group-strip-wrap {max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
body.ev-summit .group-strip-label {font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#5fc8e8;padding-right:22px;border-right:1px solid rgba(95,200,232,0.3);white-space:nowrap}
body.ev-summit .group-logo {display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 4px;opacity:0.88;transition:opacity 0.25s ease,transform 0.25s ease,filter 0.25s ease}
body.ev-summit .group-logo:hover {opacity:1;filter:drop-shadow(0 0 8px rgba(95,200,232,0.6));transform:translateY(-2px)}
body.ev-summit .group-logo img {max-height:100%;max-width:150px;width:auto;object-fit:contain}
body.ev-summit .group-logo-lg {height:72px}
body.ev-summit .group-logo-lg img {max-width:180px}
body.ev-summit .group-logo-cifl {height:110px}
body.ev-summit .group-logo-cifl img {max-width:165px;max-height:100%}

/* ====== EVENT DETAILS (london-pre2 layout) ====== */
/* Two columns with gradient divider */
body.ev-summit .event-shell {max-width:1320px;margin:0 auto;padding:80px 60px;display:grid;grid-template-columns:1fr 1px 380px;gap:50px;position:relative}
body.ev-summit .event-shell::before {content:"";grid-column:2;grid-row:1;background:linear-gradient(180deg,transparent 0%,#5fc8e8 8%,#1a4d8c 40%,#0d2d52 70%,#5fc8e8 92%,transparent 100%);width:1px;justify-self:center;opacity:.65}

/* Requirement 7: All sections stacked one below other */
body.ev-summit .event-main {display:flex;flex-direction:column;gap:0}

body.ev-summit .event-image {border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(13,45,82,.18);margin-bottom:50px;position:relative}
body.ev-summit .event-image img {width:100%;height:480px;object-fit:cover}
body.ev-summit .event-image::after {content:"";position:absolute;bottom:-12px;right:-12px;width:90px;height:90px;background:#1a4d8c;transform:rotate(45deg);opacity:.65;border-radius:10px;z-index:-1}

body.ev-summit .block {margin-bottom:60px}
body.ev-summit .block .sub {color:#1a4d8c;letter-spacing:3px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}
body.ev-summit .block .sub::before, body.ev-summit .block .sub::after {content:"";width:22px;height:2px;background:linear-gradient(90deg,transparent,#1a4d8c)}
body.ev-summit .block .sub::after {background:linear-gradient(90deg,#1a4d8c,transparent)}
/* Requirement 3: Poppins only */
body.ev-summit .block h2 {font-size:42px;font-weight:700;color:#0d2d52;margin-bottom:22px;line-height:1.2;font-family:'Poppins',sans-serif}
body.ev-summit .block h2 span {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;font-weight:700;/* font-size:42px */}
body.ev-summit .block p {color:#333;font-size:15.5px;line-height:1.85;margin-bottom:14px}

/* Why attend grid — from london-pre2 */
body.ev-summit .why-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:18px;border-top:1px solid #e8f1f8}
body.ev-summit .why-card {position:relative;padding:26px 24px 26px 0;background:none;border-radius:0;border:none;border-bottom:1px solid #e8f1f8;transition:padding-left .3s cubic-bezier(.4,.2,.2,1);display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
body.ev-summit .why-card:nth-child(odd) {padding-right:30px;border-right:1px solid #e8f1f8}
body.ev-summit .why-card:nth-child(even) {padding-left:24px}
body.ev-summit .why-card:hover .icon {transform:translateX(-2px);color:#1a4d8c}
body.ev-summit .why-card .icon {font-family:'Poppins',sans-serif;font-weight:800;font-size:42px;line-height:.9;background:none;color:#5fc8e8;width:auto;height:auto;border-radius:0;display:block;margin-bottom:0;letter-spacing:-2px;transition:transform .3s cubic-bezier(.4,.2,.2,1),color .3s}
body.ev-summit .why-card .content h4 {font-size:16px;color:#0d2d52;margin-bottom:8px;font-weight:700;line-height:1.3}
body.ev-summit .why-card .content p {font-size:14px;line-height:1.7;color:#333;margin:0}

/* Theme pills */
body.ev-summit .themes {display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
body.ev-summit .theme-pill {background:#e8f1f8;color:#1a4d8c;padding:10px 20px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid rgba(26,77,140,.18);transition:background .2s,color .2s,transform .2s}
body.ev-summit .theme-pill:hover {background:#1a4d8c;color:#fff;transform:translateY(-2px)}

/* Agenda section */
body.ev-summit .agenda-block {margin-bottom:60px}
body.ev-summit .agenda-block .sub {color:#1a4d8c;letter-spacing:3px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}
body.ev-summit .agenda-block .sub::before, body.ev-summit .agenda-block .sub::after {content:"";width:22px;height:2px;background:linear-gradient(90deg,transparent,#1a4d8c)}
body.ev-summit .agenda-block .sub::after {background:linear-gradient(90deg,#1a4d8c,transparent)}
body.ev-summit .agenda-block h2 {font-size:42px;font-weight:700;color:#0d2d52;margin-bottom:22px;line-height:1.2;font-family:'Poppins',sans-serif}
body.ev-summit .agenda-block h2 span {color:#1a4d8c;font-family:'Poppins',sans-serif;font-weight:800}
body.ev-summit .agenda-cta {display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0d2d52,#1a4d8c);color:#fff;padding:14px 28px;border-radius:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 18px rgba(13,45,82,.22)}
body.ev-summit .agenda-cta:hover {transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,45,82,.35)}
body.ev-summit .agenda-cta svg {width:14px;height:14px;transition:transform .2s}
body.ev-summit .agenda-cta:hover svg {transform:translateX(4px)}

/* Share row */
body.ev-summit .share-row {display:flex;align-items:center;gap:14px;padding:22px 0;border-top:1px solid #e8f1f8;border-bottom:1px solid #e8f1f8;margin:40px 0}
body.ev-summit .share-row .label {font-size:13px;font-weight:600;color:#0d2d52;text-transform:uppercase;letter-spacing:1.5px}
body.ev-summit .share-row a {width:36px;height:36px;border-radius:50%;background:#f4f6fa;color:#1a4d8c;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:background .25s,color .25s,transform .2s}
body.ev-summit .share-row a:hover {background:linear-gradient(135deg,#1a4d8c,#5fc8e8);color:#fff;transform:translateY(-2px)}

/* ====== SIDEBAR (editorial style from london-pre2) ====== */
body.ev-summit .sidebar {grid-column:3;position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:0}

/* Countdown */
body.ev-summit .hero-count {padding-bottom:32px;border-bottom:1px solid #e8f1f8;margin-bottom:32px}
body.ev-summit .hero-count .eyebrow {font-size:11px;color:#1a4d8c;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:10px}
body.ev-summit .hero-count h3 {font-size:22px;color:#0d2d52;font-weight:700;line-height:1.2;margin-bottom:22px;font-family:'Poppins',sans-serif}
body.ev-summit .hero-count h3 .accent {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;/* font-size:30px */}
body.ev-summit .countdown {display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:22px}
body.ev-summit .cd-box {text-align:center;padding:14px 0;position:relative}
body.ev-summit .cd-box+.cd-box::before {content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:#e8f1f8}
body.ev-summit .cd-box .num {font-size:34px;font-weight:800;color:#0d2d52;line-height:1;letter-spacing:-1.2px}
body.ev-summit .cd-box .lbl {font-size:9.5px;color:#1a4d8c;text-transform:uppercase;letter-spacing:2px;margin-top:6px;font-weight:700}

body.ev-summit .register-btn {display:flex;align-items:center;justify-content:space-between;width:100%;background:linear-gradient(135deg,#0d2d52,#1a4d8c);color:#fff;padding:15px 22px;border-radius:8px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;box-shadow:0 8px 22px rgba(13,45,82,.24);transition:transform .25s,box-shadow .25s,background .25s;margin-bottom:12px}
body.ev-summit .register-btn svg {width:14px;height:14px;transition:transform .25s}
body.ev-summit .register-btn-outline {background:#fff;color:#0d2d52;border:2px solid #0d2d52;box-shadow:none;margin-top:0}
body.ev-summit .register-btn-outline:hover {background:linear-gradient(135deg,#1a4d8c,#2680c2);color:#fff;border-color:transparent;box-shadow:0 14px 30px rgba(13,45,82,.34)}
body.ev-summit .register-btn-outline:hover svg {transform:translateX(4px)}
body.ev-summit .register-btn:hover {transform:translateY(-2px);box-shadow:0 14px 30px rgba(13,45,82,.34);background:linear-gradient(135deg,#1a4d8c,#2680c2)}
body.ev-summit .register-btn:hover svg {transform:translateX(4px)}

/* Details block */
body.ev-summit .details-block {padding-bottom:32px;border-bottom:1px solid #e8f1f8;margin-bottom:32px}
body.ev-summit .details-block .eyebrow {font-size:11px;color:#1a4d8c;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:10px}
body.ev-summit .details-block h3 {font-size:22px;color:#0d2d52;font-weight:700;line-height:1.2;margin-bottom:22px;font-family:'Poppins',sans-serif}
body.ev-summit .details-block h3 .accent {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;/* font-size:30px */}
body.ev-summit .detail-grid {display:grid;grid-template-columns:1fr;gap:14px}
body.ev-summit .detail-cell {display:flex;flex-direction:column;gap:4px}
body.ev-summit .detail-cell.full {grid-column:span 1}
body.ev-summit .detail-cell .label {font-size:10px;color:#88c8df;text-transform:uppercase;letter-spacing:2px;font-weight:700}
body.ev-summit .detail-cell .value {font-size:14px;color:#0d2d52;font-weight:500;line-height:1.45}
body.ev-summit .detail-cell .value a {color:#1a4d8c;transition:color .2s}
body.ev-summit .detail-cell .value a:hover {color:#5fc8e8}
body.ev-summit .net-row {display:flex;gap:8px;margin-top:6px}
body.ev-summit .net-icon {width:32px;height:32px;border-radius:50%;background:#f4f6fa;border:1px solid rgba(26,77,140,.16);color:#1a4d8c;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:color .3s,transform .25s,box-shadow .3s,border-color .3s}
body.ev-summit .net-icon::before {content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1a4d8c,#5fc8e8);opacity:0;transition:opacity .3s}
body.ev-summit .net-icon svg {width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:2;transition:transform .3s}
body.ev-summit .net-icon.x-icon svg {stroke:none;fill:currentColor}
body.ev-summit .net-icon:hover {color:#fff;transform:translateY(-2px);box-shadow:0 6px 14px rgba(26,77,140,.32);border-color:transparent}
body.ev-summit .net-icon:hover::before {opacity:1}
body.ev-summit .net-icon:hover svg {transform:scale(1.1)}

/* CTA / Plan block */
body.ev-summit .cta-block .eyebrow {font-size:11px;color:#1a4d8c;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:10px}
body.ev-summit .cta-block h3 {font-size:22px;color:#0d2d52;font-weight:700;line-height:1.2;margin-bottom:22px;font-family:'Poppins',sans-serif}
body.ev-summit .cta-block h3 .accent {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;/* font-size:30px */}
body.ev-summit .cta-stack {display:flex;flex-direction:column;gap:0}
body.ev-summit .plan-block {padding-top:0}
body.ev-summit .plan-block .eyebrow {font-size:11px;color:#1a4d8c;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:10px}
body.ev-summit .cta-link {display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid #e8f1f8;font-size:13.5px;font-weight:600;color:#0d2d52;transition:color .25s,padding-left .25s}
body.ev-summit .cta-link:first-child {border-top:1px solid #e8f1f8}
body.ev-summit .cta-link::after {content:"→";color:#1a4d8c;font-size:18px;transition:transform .25s,color .25s}
body.ev-summit .cta-link:hover {color:#1a4d8c;padding-left:6px}
body.ev-summit .cta-link:hover::after {transform:translateX(4px);color:#5fc8e8}

/* ====== PARTNERS SLIDER ====== */
body.ev-summit .partners-section {padding:32px 0 36px;background:#edf2f9;overflow:hidden;border-top:1px solid #dce8f5}
body.ev-summit .partners-head {text-align:center;margin-bottom:18px;padding:0 60px}
body.ev-summit .partners-head .eyebrow {font-size:12px;color:#1a4d8c;letter-spacing:4px;text-transform:uppercase;font-weight:700;display:inline-flex;align-items:center;gap:20px}
body.ev-summit .partners-head .eyebrow::before, body.ev-summit .partners-head .eyebrow::after {content:"";width:48px;height:1px;background:linear-gradient(90deg,transparent,#1a4d8c)}
body.ev-summit .partners-head .eyebrow::after {background:linear-gradient(90deg,#1a4d8c,transparent)}
body.ev-summit .partners-track-wrap {position:relative;overflow:hidden;width:100%;padding:8px 0 12px}
/* Fade edges */
body.ev-summit .partners-track-wrap::before, body.ev-summit .partners-track-wrap::after {content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
body.ev-summit .partners-track-wrap::before {left:0;background:linear-gradient(90deg,#edf2f9 0%,transparent 100%)}
body.ev-summit .partners-track-wrap::after {right:0;background:linear-gradient(90deg,transparent 0%,#edf2f9 100%)}
body.ev-summit .partners-track {display:flex;align-items:center;gap:0;width:max-content;animation:partnerScroll 32s linear infinite}
body.ev-summit .partners-track:hover {animation-play-state:paused}
@keyframes partnerScroll {
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
body.ev-summit .partner-item {display:flex;align-items:center;justify-content:center;padding:14px 28px;flex-shrink:0;height:auto;background:#fff;border:1px solid #d4e4f0;border-radius:12px;margin:0 10px;box-shadow:0 2px 10px rgba(13,45,82,.10);transition:box-shadow .3s,transform .3s}
body.ev-summit .partner-item img {height:38px;width:auto;max-width:130px;object-fit:contain;filter:none}
body.ev-summit .partner-item:hover {box-shadow:0 6px 18px rgba(13,45,82,.14);transform:translateY(-2px)}

/* ====== KEYNOTE (from london-pre) ====== */
body.ev-summit .keynote-section {background:linear-gradient(180deg,#f4f6fa 0%,#ffffff 100%);padding:55px 60px 60px;position:relative;overflow:hidden}
body.ev-summit .keynote-section::before {content:"";position:absolute;top:50px;right:6%;width:110px;height:110px;background:#1a4d8c;transform:rotate(45deg);opacity:0.05;border-radius:12px}
body.ev-summit .sec-head {text-align:center;margin-bottom:35px}
body.ev-summit .sec-head .sub {color:#1a4d8c;letter-spacing:3px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px}
body.ev-summit .sec-head .sub::before, body.ev-summit .sec-head .sub::after {content:"";width:28px;height:2px;background:linear-gradient(90deg,transparent,#1a4d8c)}
body.ev-summit .sec-head .sub::after {background:linear-gradient(90deg,#1a4d8c,transparent)}
/* Requirement 3: no Dancing Script */
body.ev-summit .sec-head h2 {font-size:42px;font-weight:700;color:#0d2d52;margin-top:12px;line-height:1.2;font-family:'Poppins',sans-serif}
body.ev-summit .sec-head h2 span {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;font-weight:700;/* font-size:52px */}
body.ev-summit .keynote-row {max-width:980px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:48px;position:relative;z-index:2}
body.ev-summit .keynote-photo {flex-shrink:0;width:150px;height:150px;border-radius:50%;padding: 3px 0 0 3px;background:linear-gradient(135deg,#1a4d8c,#5fc8e8); position: relative}
body.ev-summit .keynote-photo img {width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff;border: 2px solid #fff}
body.ev-summit .keynote-text {flex:1}
body.ev-summit .keynote-text .quote {font-style:italic;font-size:16.5px;color:#333;line-height:1.75;margin-bottom:20px;max-width:640px}
body.ev-summit .keynote-text h3 {font-size:23px;color:#0d2d52;margin-bottom:6px;font-weight:700;font-family:'Poppins',sans-serif}
body.ev-summit .keynote-text .role {font-size:14.5px;color:#1a4d8c;font-weight:600;margin-bottom:4px}
body.ev-summit .keynote-text .org {font-size:13.5px;color:#333;line-height:1.6}

/* ====== SPEAKERS (from london-pre) ====== */
/* ====== VENUE (from london-pre) ====== */
body.ev-summit .venue-section {padding:80px 60px;background:#fff}
body.ev-summit .venue-wrap {max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
body.ev-summit .venue-text .sub {color:#1a4d8c;letter-spacing:3px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}
body.ev-summit .venue-text .sub::before, body.ev-summit .venue-text .sub::after {content:"";width:22px;height:2px;background:linear-gradient(90deg,transparent,#1a4d8c)}
body.ev-summit .venue-text .sub::after {background:linear-gradient(90deg,#1a4d8c,transparent)}
/* Requirement 3: no Dancing Script */
body.ev-summit .venue-text h2 {font-size:42px;color:#0d2d52;margin-bottom:18px;line-height:1.2;font-weight:700;font-family:'Poppins',sans-serif}
body.ev-summit .venue-text h2 span {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;font-weight:700;/* font-size:46px */}
body.ev-summit .venue-text p {color:#333;font-size:15px;line-height:1.85;margin-bottom:14px}
body.ev-summit .venue-meta {display:flex;gap:20px;margin-top:24px}
body.ev-summit .venue-meta .item {background:#f4f6fa;padding:14px 18px;border-radius:8px;border-left:3px solid #1a4d8c;flex:1}
body.ev-summit .venue-meta .item .l {font-size:11px;color:#88c8df;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}
body.ev-summit .venue-meta .item .v {font-size:14px;color:#0d2d52;font-weight:600;margin-top:4px}
body.ev-summit .venue-img {border-radius:12px;overflow:hidden;position:relative;box-shadow:0 20px 50px rgba(13,45,82,.18)}
body.ev-summit .venue-img img {width:100%;height:420px;object-fit:cover}
body.ev-summit .venue-img::after {content:"";position:absolute;bottom:-12px;left:-12px;width:80px;height:80px;background:#5fc8e8;transform:rotate(45deg);opacity:.65;border-radius:10px;z-index:-1}

/* ====== BECOME A PARTNER / SPEAKER PANEL (Requirement 5) ====== */

/* ====== CTA (from london-pre) ====== */
body.ev-summit .register-banner {background:linear-gradient(135deg,#0d2d52 0%,#1a4d8c 50%,#2680c2 100%);padding:70px 60px;position:relative;overflow:hidden}
body.ev-summit .register-banner::before {content:"";position:absolute;top:-40px;right:8%;width:160px;height:160px;background:#5fc8e8;transform:rotate(45deg);opacity:.16;border-radius:14px}
body.ev-summit .register-banner::after {content:"";position:absolute;bottom:-40px;left:6%;width:130px;height:130px;background:#88c8df;transform:rotate(45deg);opacity:.14;border-radius:12px}
body.ev-summit .rb-wrap {max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:2;color:#fff}
body.ev-summit .rb-wrap .sub {color:#5fc8e8;letter-spacing:3px;font-size:12px;font-weight:600;text-transform:uppercase;margin-bottom:8px;display:block}
/* Requirement 3: no Dancing Script */
body.ev-summit .rb-wrap h2 {font-size:42px;font-weight:700;line-height:1.25;font-family:'Poppins',sans-serif}
body.ev-summit .rb-wrap h2 span {color:#5fc8e8;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;/* font-size:42px */}
body.ev-summit .rb-cta {background:#fff;color:#1a4d8c;padding:16px 38px;border-radius:6px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:transform .2s,box-shadow .2s;white-space:nowrap;text-decoration:none}
body.ev-summit .rb-cta:hover {transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.25)}

/* ====== RESPONSIVE ====== */
@media (max-width:900px) {
  body.ev-summit .group-strip-label {border-right:none;padding-right:0;width:100%;text-align:center}
  body.ev-summit .banner-corner {top:18px}
  body.ev-summit .banner-cedar {left:20px}
  body.ev-summit .banner-forbes {right:20px}
  body.ev-summit .banner-corner img {max-width:80px;max-height:80px}
  body.ev-summit .banner-corner-label {font-size:9px;letter-spacing:2px}
  body.ev-summit .banner-wrap {padding-top: 56px}
}
@media (max-width:1024px) {
  body.ev-summit .event-shell {grid-template-columns:1fr;gap:30px}
  body.ev-summit .event-shell::before {display:none}
  body.ev-summit .sidebar {grid-column:1;position:static}
  body.ev-summit .venue-wrap {grid-template-columns:1fr}
}
@media (max-width:768px) {
  body.ev-summit .page-banner {padding:60px 24px 0}
  body.ev-summit .banner-wrap {padding-bottom:50px}
  body.ev-summit .banner-wrap h1 {font-size:34px}
  body.ev-summit .banner-wrap h1 span {font-size:36px}
  body.ev-summit .group-strip {margin:0 -24px;padding:16px 24px}
  body.ev-summit .group-strip-wrap {gap:18px}
  body.ev-summit .group-logo {height:44px}
  body.ev-summit .banner-corner img {max-width:64px;max-height:64px}
  body.ev-summit .banner-corner-label {font-size:8px}
  body.ev-summit .event-shell {padding:50px 24px;gap:30px}
  body.ev-summit .event-image img {height:260px}
  body.ev-summit .block h2 {font-size:28px}
  body.ev-summit .why-grid {grid-template-columns:1fr}
  body.ev-summit .detail-grid {grid-template-columns:1fr}
  body.ev-summit .detail-cell.full {grid-column:span 1}
  body.ev-summit .keynote-section {padding:50px 24px}
  body.ev-summit .sec-head h2 {font-size:28px}
  body.ev-summit .sec-head h2 span {font-size:32px}
  body.ev-summit .keynote-row {flex-direction:column;text-align:center;gap:26px;padding:0}
  body.ev-summit .keynote-photo {width:130px;height:130px}
  body.ev-summit .venue-section {padding:50px 24px}
  body.ev-summit .venue-text h2 {font-size:28px}
  body.ev-summit .venue-img img {height:280px}
  body.ev-summit .venue-meta {flex-direction:column}
  body.ev-summit .register-banner {padding:50px 24px}
  body.ev-summit .rb-wrap {flex-direction:column;text-align:center}
  body.ev-summit .rb-wrap h2 {font-size:28px}
}

/* ====== POST EVENT SIDEBAR ====== */
body.ev-summit .countdown-card {background:linear-gradient(135deg,#0d2d52 0%,#1a4d8c 100%);border-radius:14px;padding:28px 24px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(13,45,82,.22);margin-bottom:20px}
body.ev-summit .countdown-card::before {content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:#5fc8e8;transform:rotate(45deg);opacity:.12;border-radius:12px}
body.ev-summit .countdown-card .sub {color:#5fc8e8;letter-spacing:2.5px;font-size:11px;font-weight:600;text-transform:uppercase;margin-bottom:12px;display:block}
body.ev-summit .countdown-card h3 {font-size:18px;margin-bottom:18px;font-weight:600}
body.ev-summit .action-buttons {display:flex;flex-direction:column;gap:10px;position:relative;z-index:2}
body.ev-summit .action-btn {display:flex;align-items:center;justify-content:flex-start;gap:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);color:#fff;padding:13px 20px;border-radius:8px;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;backdrop-filter:blur(6px);transition:background .28s,border-color .28s,color .28s,transform .2s,box-shadow .28s;text-decoration:none}
body.ev-summit .action-btn .ico-wrap {width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
body.ev-summit .action-btn svg {width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ev-summit .action-btn.agenda:hover {background:#5fc8e8;border-color:#5fc8e8;color:#0d2d52;transform:translateY(-2px);box-shadow:0 8px 22px rgba(95,200,232,.35)}
body.ev-summit .action-btn.gallery:hover {background:#88c8df;border-color:#88c8df;color:#0d2d52;transform:translateY(-2px);box-shadow:0 8px 22px rgba(136,200,223,.35)}
body.ev-summit .action-btn.video:hover {background:#3eb1d8;border-color:#3eb1d8;color:#0d2d52;transform:translateY(-2px);box-shadow:0 8px 22px rgba(62,177,216,.35)}
body.ev-summit .info-card {background:#fff;border:1px solid #e8f1f8;border-radius:14px;padding:28px 26px;box-shadow:0 10px 28px rgba(13,45,82,.06);margin-bottom:20px}
body.ev-summit .info-card h3 {font-size:16px;color:#0d2d52;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid #1a4d8c;display:inline-block}
body.ev-summit .info-row {display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px dashed #e8f1f8}
body.ev-summit .info-row:last-child {border-bottom:none}
body.ev-summit .info-row .ico {width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,#e8f1f8,#eaf6fb);color:#1a4d8c;flex-shrink:0;display:flex;align-items:center;justify-content:center}
body.ev-summit .info-row .ico svg {width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ev-summit .info-row .info-content {flex:1}
body.ev-summit .info-row .info-label {font-size:11px;color:#88c8df;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}
body.ev-summit .info-row .info-value {font-size:14.5px;color:#0d2d52;font-weight:500;margin-top:3px;line-height:1.5}
body.ev-summit .info-row .info-value a {color:#1a4d8c;transition:color .2s}
body.ev-summit .info-row .info-value a:hover {color:#5fc8e8}

/* ====== POST EVENT PHOTO SLIDER (CINEMATIC) ====== */
body.ev-summit .event-image {height:520px;position:relative;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(13,45,82,.22)}
/* Gradient overlay for cinematic depth */
body.ev-summit .event-image::before {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,45,82,.08) 0%,rgba(13,45,82,.0) 40%,rgba(13,45,82,.55) 100%);z-index:2;pointer-events:none;border-radius:14px}
body.ev-summit .event-image .ps-slide {position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.4s cubic-bezier(.4,.0,.2,1),transform 7s cubic-bezier(.4,.0,.2,1)}
body.ev-summit .event-image .ps-slide.active {opacity:1;transform:scale(1)}
/* Slim side arrows */
body.ev-summit .event-image .ps-nav {position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(13,45,82,.35);backdrop-filter:blur(8px);color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .25s}
body.ev-summit .event-image .ps-nav:hover {background:rgba(26,77,140,.75);border-color:#5fc8e8;transform:translateY(-50%) scale(1.08)}
body.ev-summit .event-image .ps-prev {left:18px}
body.ev-summit .event-image .ps-next {right:18px}
/* Slim bar dots at bottom */
body.ev-summit .event-image .ps-dots {position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:4;align-items:center}
body.ev-summit .event-image .ps-dots button {width:24px;height:3px;border-radius:2px;border:none;padding:0;background:rgba(255,255,255,.38);cursor:pointer;transition:background .3s,width .3s,transform .2s}
body.ev-summit .event-image .ps-dots button.active {width:40px;background:#5fc8e8}
/* Slide counter badge */
body.ev-summit .ps-counter {position:absolute;bottom:16px;right:20px;z-index:4;font-size:12px;font-weight:700;color:rgba(255,255,255,.85);letter-spacing:1px;font-family:'Poppins',sans-serif;text-shadow:0 1px 4px rgba(0,0,0,.4)}
@media(max-width:768px) {body.ev-summit .event-image {height:300px}}

/* Post event: event-shell uses 2 cols (no gradient divider) since sidebar is a card, not editorial */
/* post-shell uses event-shell class directly */
body.ev-summit *:not(header):not(footer):not(header *):not(footer *) { margin: 0; box-sizing: border-box; }
  body.ev-summit { font-family: 'Poppins', sans-serif; color: #333; background: #fff; overflow-x: hidden; }
  body.ev-summit a { text-decoration: none; color: inherit; }
  body.ev-summit img { max-width: 100%; display: block; }

  /* ============ SECTION HEADER ============ */
  body.ev-summit .sec-head { text-align: center; margin-bottom: 35px; }
  body.ev-summit .sec-head .sub {
    color: #1a4d8c; letter-spacing: 3px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
  }
  body.ev-summit .sec-head .sub::before, body.ev-summit .sec-head .sub::after {
    content: ""; width: 28px; height: 2px;
    background: linear-gradient(90deg, transparent, #1a4d8c);
  }
  body.ev-summit .sec-head .sub::after { background: linear-gradient(90deg, #1a4d8c, transparent); }
  body.ev-summit .sec-head h2 { font-size: 42px; font-weight: 700; color: #0d2d52; margin-top: 12px; line-height: 1.2; }
  body.ev-summit .sec-head h2 span { color: #1a4d8c; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 52px */; }

  /* ============ KEYNOTE ============ */
  body.ev-summit .keynote-section {
    background: linear-gradient(180deg, #f4f6fa 0%, #ffffff 100%);
    padding: 55px 60px 60px; position: relative; overflow: hidden;
  }
  body.ev-summit .keynote-section::before {
    content: ""; position: absolute; top: 50px; right: 6%; width: 110px; height: 110px;
    background: #1a4d8c; transform: rotate(45deg); opacity: 0.05; border-radius: 12px;
  }
  body.ev-summit .keynote-row {
    max-width: 980px; margin: 0 auto; padding: 0 20px;
    display: flex; align-items: center; gap: 48px;
    position: relative; z-index: 2;
  }
  body.ev-summit .keynote-photo {
    flex-shrink: 0;
    width: 150px; height: 150px;
    border-radius: 50%; padding: 3px 0 0 3px;
    background: linear-gradient(135deg, #1a4d8c, #5fc8e8); position: relative
  }
  body.ev-summit .keynote-photo img {
    width: 100%; height: 100%;
    border-radius: 50%;
    object-fit: cover; background: #fff;
    border: 2px solid #fff;
  }
  body.ev-summit .keynote-text { flex: 1; }
  body.ev-summit .keynote-text .quote {
    font-style: italic; font-size: 16.5px; color: #333; line-height: 1.75;
    margin-bottom: 20px; max-width: 640px;
  }
  body.ev-summit .keynote-text h3 { font-size: 23px; color: #0d2d52; margin-bottom: 6px; font-weight: 700; }
  body.ev-summit .keynote-text .role { font-size: 14.5px; color: #1a4d8c; font-weight: 600; margin-bottom: 4px; }
  body.ev-summit .keynote-text .org { font-size: 13.5px; color: #333; line-height: 1.6; }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 768px) {
    body.ev-summit .keynote-section { padding: 50px 24px; }
    body.ev-summit .sec-head h2 { font-size: 28px; }
    body.ev-summit .sec-head h2 span { font-size: 36px; }
    body.ev-summit .keynote-row { flex-direction: column; text-align: center; gap: 26px; padding: 0; }
    body.ev-summit .keynote-photo { width: 130px; height: 130px; }
  }
body.ev-summit *:not(header):not(footer):not(header *):not(footer *) { margin: 0; box-sizing: border-box; }
  body.ev-summit { font-family: 'Poppins', sans-serif; color: #333; background: #fff; overflow-x: hidden; }
  body.ev-summit a { text-decoration: none; color: inherit; }
  body.ev-summit img { max-width: 100%; display: block; }

  /* ============ VENUE ============ */
  body.ev-summit .venue-section {
    padding: 80px 60px; background: #fff;
  }
  body.ev-summit .venue-wrap {
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center;
  }
  body.ev-summit .venue-text .sub {
    color: #1a4d8c; letter-spacing: 3px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 14px;
  }
  body.ev-summit .venue-text .sub::before, body.ev-summit .venue-text .sub::after {
    content: ""; width: 22px; height: 2px;
    background: linear-gradient(90deg, transparent, #1a4d8c);
  }
  body.ev-summit .venue-text .sub::after { background: linear-gradient(90deg, #1a4d8c, transparent); }
  body.ev-summit .venue-text h2 { font-size: 42px; color: #0d2d52; margin-bottom: 18px; line-height: 1.2; font-weight: 700; }
  body.ev-summit .venue-text h2 span { color: #1a4d8c; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 46px */; }
  body.ev-summit .venue-text p { color: #333; font-size: 15px; line-height: 1.85; margin-bottom: 14px; }
  body.ev-summit .venue-meta { display: flex; gap: 20px; margin-top: 24px; }
  body.ev-summit .venue-meta .item {
    background: #f4f6fa; padding: 14px 18px; border-radius: 8px;
    border-left: 3px solid #1a4d8c; flex: 1;
  }
  body.ev-summit .venue-meta .item .l { font-size: 11px; color: #88c8df; text-transform: uppercase; letter-spacing: 1.5px; font-weight: 600; }
  body.ev-summit .venue-meta .item .v { font-size: 14px; color: #0d2d52; font-weight: 600; margin-top: 4px; }
  body.ev-summit .venue-img {
    border-radius: 12px; overflow: hidden; position: relative;
    box-shadow: 0 20px 50px rgba(13,45,82,0.18);
  }
  body.ev-summit .venue-img img { width: 100%; height: 420px; object-fit: cover; }
  body.ev-summit .venue-img::after {
    content: ""; position: absolute; bottom: -12px; left: -12px; width: 80px; height: 80px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.65; border-radius: 10px; z-index: -1;
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 1024px) {
    body.ev-summit .venue-wrap { grid-template-columns: 1fr; }
  }
  @media (max-width: 768px) {
    body.ev-summit .venue-section { padding: 50px 24px; }
    body.ev-summit .venue-text h2 { font-size: 28px; }
    body.ev-summit .venue-text h2 span { font-size: 34px; }
    body.ev-summit .venue-img img { height: 280px; }
  }
/* ====== SPEAKERS — 3D flip ====== */
body.ev-summit .sec-head {text-align:center;margin-bottom:50px}
  body.ev-summit .sec-head .sub {color:#1a4d8c;letter-spacing:3px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px}
  body.ev-summit .sec-head .sub::before, body.ev-summit .sec-head .sub::after {content:"";width:28px;height:2px;background:linear-gradient(90deg,transparent,#1a4d8c)}
  body.ev-summit .sec-head .sub::after {background:linear-gradient(90deg,#1a4d8c,transparent)}
  body.ev-summit .sec-head h2 {font-size:42px;font-weight:700;color:#0d2d52;margin-top:12px;line-height:1.2}
  body.ev-summit .sec-head h2 span {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;font-weight:700;/* font-size:52px */}
  body.ev-summit .section-wrap {max-width:1300px;margin:0 auto;position:relative;z-index:2}

/* =========================================================================
   EVENT — CHC template (batch 3)  centralised from 9 events/*.html (violet)
   Scoped to body.ev-chc; colour brand via body.brand-chc.
   ========================================================================= */

  body.ev-chc *:not(header):not(footer):not(header *):not(footer *) { margin: 0; box-sizing: border-box; }
  body.ev-chc { font-family: 'Poppins', sans-serif; color: #333; background: #fff; overflow-x: hidden; }
  body.ev-chc a { text-decoration: none; color: inherit; }
  body.ev-chc img { max-width: 100%; display: block; }

  /* ============================================================
     CEDAR-IBSi HEADER  (verbatim from provided file)
     ============================================================ */
  body.ev-chc header {
    background: #fff; padding: 18px 60px; position: sticky; top: 0; z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  }
  body.ev-chc .header-wrap { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto; }
  body.ev-chc .logo { height: 38px; }
  body.ev-chc nav > ul { list-style: none; display: flex; gap: 30px; align-items: center; }
  body.ev-chc nav > ul > li { position: relative; }
  body.ev-chc nav a { font-size: 14px; font-weight: 500; color: #333; transition: color 0.2s; display: inline-flex; align-items: center; gap: 6px; padding: 8px 0; }
  body.ev-chc nav a:hover { color: #1a4d8c; }
  body.ev-chc nav .caret {
    width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px); transition: transform 0.25s ease;
  }
  body.ev-chc nav > ul > li:hover > a .caret { transform: rotate(-135deg) translateY(0); }

  body.ev-chc .dropdown {
    position: absolute; top: calc(100% + 14px); left: -20px;
    min-width: 260px; display: flex; flex-direction: column;
    background: rgba(13, 45, 82, 0.22);
    backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.18); border-top: 2px solid #3eb1d8; border-radius: 4px;
    box-shadow: 0 18px 50px rgba(13, 45, 82, 0.25); padding: 6px 0; list-style: none;
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s; z-index: 1100;
  }
  body.ev-chc nav > ul > li:hover > .dropdown, body.ev-chc nav > ul > li:focus-within > .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
  body.ev-chc .dropdown::before {
    content: ""; position: absolute; top: -8px; left: 32px; width: 12px; height: 12px;
    background: rgba(13, 45, 82, 0.22); backdrop-filter: blur(24px) saturate(160%);
    border-left: 1px solid rgba(255,255,255,0.18); border-top: 2px solid #3eb1d8;
    transform: rotate(45deg); border-top-left-radius: 2px;
  }
  body.ev-chc .dropdown > li { display: block; width: 100%; position: relative; }
  body.ev-chc .dropdown > li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
  body.ev-chc .dropdown a {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 22px; font-size: 14px; font-weight: 500; color: #ffffff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.45);
    transition: background 0.2s, color 0.2s, padding-left 0.2s; white-space: nowrap;
  }
  body.ev-chc .dropdown a:hover { color: #3eb1d8; background: rgba(255, 255, 255, 0.08); padding-left: 26px; }
  body.ev-chc .dropdown .sub-caret {
    width: 7px; height: 7px; border-right: 2px solid rgba(255,255,255,0.7);
    border-bottom: 2px solid rgba(255,255,255,0.7);
    transform: rotate(-45deg); transition: border-color 0.2s; margin-left: 12px;
  }
  body.ev-chc .dropdown a:hover .sub-caret { border-color: #3eb1d8; }
  body.ev-chc .dropdown .sub-dropdown {
    position: absolute; top: -8px; left: calc(100% + 8px);
    min-width: 280px; display: flex; flex-direction: column;
    background: rgba(13, 45, 82, 0.22); backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.18); border-top: 2px solid #3eb1d8; border-radius: 4px;
    box-shadow: 0 18px 50px rgba(13, 45, 82, 0.25); padding: 6px 0; list-style: none;
    opacity: 0; visibility: hidden; transform: translateX(-6px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s; z-index: 1200;
  }
  body.ev-chc .dropdown > li:hover > .sub-dropdown, body.ev-chc .dropdown > li:focus-within > .sub-dropdown { opacity: 1; visibility: visible; transform: translateX(0); }
  body.ev-chc .sub-dropdown > li { display: block; width: 100%; }
  body.ev-chc .sub-dropdown > li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
  body.ev-chc .ticket-btn {
    background: linear-gradient(90deg, #1a4d8c, #2680c2);
    color: #fff !important; padding: 12px 26px; border-radius: 4px;
    font-size: 13px; font-weight: 600; text-transform: uppercase;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  body.ev-chc .ticket-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(26,77,140,0.35); }

  /* ============================================================
     PAGE BANNER — gradient tinted with CHC violet essence
     ============================================================ */
  body.ev-chc .page-banner {
    position: relative; color: #fff; padding: 70px 60px 90px; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.93) 0%, rgba(74, 39, 103, 0.82) 50%, rgba(13, 45, 82, 0.93) 100%),
      var(--banner-img, url('/images/banner/16-scaled.jpg')) center/cover no-repeat;
  }
  body.ev-chc .page-banner::before {
    content: ""; position: absolute; top: 30px; left: 40px; width: 110px; height: 110px;
    background: var(--brand); transform: rotate(45deg); opacity: 0.45; border-radius: 12px;
  }
  body.ev-chc .page-banner::after {
    content: ""; position: absolute; bottom: 40px; right: 60px; width: 140px; height: 140px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.28; border-radius: 12px;
  }
  /* lede paragraph under H1 in banner */
  body.ev-chc .banner-wrap .banner-lede {
    max-width: 720px; margin: 6px auto 0; color: rgba(255,255,255,.88);
    font-size: 16px; line-height: 1.6; font-weight: 400;
  }

  body.ev-chc .banner-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; text-align: center; }
  body.ev-chc .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }
  body.ev-chc .banner-wrap .sub::before, body.ev-chc .banner-wrap .sub::after {
    content: ""; width: 28px; height: 2px;
    background: linear-gradient(90deg, transparent, #5fc8e8);
  }
  body.ev-chc .banner-wrap .sub::after { background: linear-gradient(90deg, #5fc8e8, transparent); }
  body.ev-chc .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }
  body.ev-chc .banner-wrap h1 .accent { color: #964FB5; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 68px */; }
  body.ev-chc .banner-wrap .meta-row {
    display: inline-flex; gap: 18px; align-items: center; justify-content: center; margin: 18px 0 22px;
    color: rgba(255,255,255,.9); font-size: 14px; font-weight: 500;
  }
  body.ev-chc .banner-wrap .meta-row span { display: inline-flex; align-items: center; }
  body.ev-chc .banner-wrap .meta-row span + span::before {
    content: "|"; margin-right: 18px; color: #5fc8e8; opacity:1; font-weight:500;
  }

  /* ============================================================
     SECTION COMMONS
     ============================================================ */
  body.ev-chc section { padding: 80px 60px; }
  body.ev-chc .wrap { max-width: 1300px; margin: 0 auto; }
  body.ev-chc .eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    color: #1a4d8c; letter-spacing: 3px; font-size: 12px; font-weight: 600;
    text-transform: uppercase; margin-bottom: 14px;
  }
  body.ev-chc .eyebrow::before { content:""; width: 24px; height: 2px; background: linear-gradient(90deg, #4A2767, #5fc8e8); }
  body.ev-chc .sec-title {
    font-size: 42px; line-height: 1.15; font-weight: 700; color: #0d2d52; margin-bottom: 16px; letter-spacing: -0.5px;
  }
  body.ev-chc .sec-title .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; color: #4A2767; /* font-size: 50px */; }
  body.ev-chc .sec-lede { font-size: 15px; color: #333; line-height: 1.75; max-width: 720px; }
  body.ev-chc .sec-lede strong { color: #0d2d52; font-weight: 600; }

  /* ============================================================
     INTRO  ("The Room") — editorial, with stat strip
     ============================================================ */
  body.ev-chc .intro {
    position: relative;
    background: linear-gradient(180deg, #fff 0%, #faf8fc 100%);
    overflow: hidden;
    padding: 50px 60px;
  }
  body.ev-chc .intro::before {
    /* decorative CHC purple rhombus mark behind the stats */
    content: ""; position: absolute; top: 50%; left: -60px;
    width: 160px; height: 160px; transform: translateY(-50%) rotate(45deg);
    background: #4A2767; opacity: 0.04;
    border-radius: 20px; pointer-events: none;
  }
  body.ev-chc .intro .wrap { position: relative; z-index: 2; }

  body.ev-chc .stats-strip {
    margin-top: 0; padding: 0;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  }
  body.ev-chc .stat { text-align: center; position: relative; padding: 0 16px; }
  body.ev-chc .stat + .stat::before {
    content: ""; position: absolute; left: 0; top:0; bottom:0; width:2px; background:rgba(95,200,232,.7);
  }
  body.ev-chc .stat .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight: 400;
    font-size: 44px; line-height: 1; color: #4A2767; letter-spacing: -1px;
    margin-bottom: 8px;
  }
  body.ev-chc .stat .num .plus { color: #964FB5; }
  body.ev-chc .stat .lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase;
    color: #333;
  }

  /* ============================================================
     VENUE / EVENT DETAILS  (moved above Why Attend)
     ============================================================ */
  body.ev-chc .venue { background: #f6f8fc; position: relative; overflow: hidden; }
  body.ev-chc .venue::before {
    content:""; position: absolute; top: -40px; right: -40px; width: 200px; height: 200px;
    background: #4A2767; transform: rotate(45deg); opacity: .06; border-radius: 18px;
  }
  body.ev-chc .venue::after {
    content:""; position: absolute; bottom: -40px; left: -40px; width: 200px; height: 200px;
    background: #5fc8e8; transform: rotate(45deg); opacity: .07; border-radius: 18px;
  }
  body.ev-chc .venue .wrap { position: relative; z-index: 2; }
  body.ev-chc .venue-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 40px; }
  body.ev-chc .venue-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
  }
  body.ev-chc .v-card {
    background: #fff; border-radius: 14px; padding: 28px 24px; position: relative;
    box-shadow: 0 6px 24px rgba(13,45,82,.06);
    border-top: 3px solid #1a4d8c;
    transition: transform .3s ease, box-shadow .3s ease;
  }
  body.ev-chc .v-card:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(13,45,82,.12); }
  body.ev-chc .v-card.violet { border-top-color: #4A2767; }
  body.ev-chc .v-card.cyan { border-top-color: #5fc8e8; }
  body.ev-chc .v-card.navy { border-top-color: #0d2d52; }
  body.ev-chc .v-card .icon {
    width: 44px; height: 44px; border-radius: 10px; margin-bottom: 14px;
    background: linear-gradient(135deg, #1a4d8c, #2680c2);
    display: flex; align-items: center; justify-content: center; color: #fff;
  }
  body.ev-chc .v-card.violet .icon { background: linear-gradient(135deg, #4A2767, #2D1640); }
  body.ev-chc .v-card.cyan .icon { background: linear-gradient(135deg, #5fc8e8, #2680c2); }
  body.ev-chc .v-card.navy .icon { background: linear-gradient(135deg, #0d2d52, #1a4d8c); }
  body.ev-chc .v-card .icon svg { width: 22px; height: 22px; }
  body.ev-chc .v-card .k { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #333; font-weight: 600; margin-bottom: 6px; }
  body.ev-chc .v-card .v { font-size: 18px; font-weight: 600; color: #0d2d52; line-height: 1.35; }
  body.ev-chc .v-card .v small { display: block; font-size: 13px; color: #333; font-weight: 400; margin-top: 4px; }

  body.ev-chc .rsvp-bar {
    margin-top: 32px; background: linear-gradient(135deg, #0d2d52 0%, #4A2767 60%, #4A2767 100%);
    border-radius: 16px; padding: 32px 40px; color: #fff;
    display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;
    position: relative; overflow: hidden;
  }
  body.ev-chc .rsvp-bar::before {
    content:""; position: absolute; top:-30px; right:-30px; width:140px; height:140px;
    background: #5fc8e8; transform: rotate(45deg); opacity:.18; border-radius: 14px;
  }
  body.ev-chc .rsvp-bar .l { position: relative; z-index: 2; }
  body.ev-chc .rsvp-bar .l h3 { font-size: 24px; font-weight: 600; margin-bottom: 6px; }
  body.ev-chc .rsvp-bar .l p { font-size: 14px; opacity: .85; }
  body.ev-chc .rsvp-btn {
    background: #fff; color: #0d2d52; padding: 16px 34px; border-radius: 50px;
    font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: 1px;
    transition: transform .2s, box-shadow .2s; display: inline-flex; align-items: center; gap: 10px;
    position: relative; z-index: 2;
  }
  body.ev-chc .rsvp-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.25); background: #5fc8e8; color: #0d2d52; }
  body.ev-chc .rsvp-btn .arr { font-size: 18px; }

  /* ============================================================
     WHY ATTEND — rebuilt: bold numerals, gradient surfaces, photo card
     ============================================================ */
  body.ev-chc .why { background: #fff; }
  body.ev-chc .why .head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 44px; }
  body.ev-chc .why-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
  body.ev-chc .why-card {
    border-radius: 16px; padding: 32px 28px; position: relative; overflow: hidden;
    min-height: 260px; display: flex; flex-direction: column; justify-content: space-between;
    transition: transform .35s ease, box-shadow .35s ease;
  }
  body.ev-chc .why-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(13,45,82,.18); }
  body.ev-chc .why-card .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 96px; line-height: .8; font-weight: 300;
    opacity: .85; letter-spacing: -2px; margin-bottom: 8px;
  }
  body.ev-chc .why-card h3 {
    font-size: 22px; font-weight: 600; line-height: 1.3; margin-bottom: 10px; letter-spacing: -0.2px;
  }
  body.ev-chc .why-card p { font-size: 13.5px; line-height: 1.6; }
  body.ev-chc .why-card .tag {
    position: absolute; top: 22px; right: 22px;
    font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    padding: 4px 10px; border-radius: 99px;
  }

  /* card variants */
  body.ev-chc .why-c1 { grid-column: span 5; background: linear-gradient(160deg, #0d2d52 0%, #1a4d8c 100%); color: #fff; }
  body.ev-chc .why-c1 .num { color: #5fc8e8; }
  body.ev-chc .why-c1 .tag { background: rgba(95,200,232,.18); color: #5fc8e8; }
  body.ev-chc .why-c1 p { color: rgba(255,255,255,.78); }

  body.ev-chc .why-c2 {
    grid-column: span 4;
    background:
      linear-gradient(160deg, rgba(13,45,82,.86), rgba(74,47,140,.82)),
      url('/images/banner/13-1130x650.jpg') center/cover no-repeat;
    color: #fff;
  }
  body.ev-chc .why-c2 .num { color: #964FB5; }
  body.ev-chc .why-c2 .tag { background: rgba(150,79,181,.2); color: #E5D0EE; }
  body.ev-chc .why-c2 p { color: rgba(255,255,255,.85); }

  body.ev-chc .why-c3 { grid-column: span 3; background: linear-gradient(160deg, #4A2767 0%, #2D1640 100%); color: #fff; }
  body.ev-chc .why-c3 .num { color: #F5EBFA; }
  body.ev-chc .why-c3 .tag { background: rgba(255,255,255,.18); color: #fff; }
  body.ev-chc .why-c3 p { color: rgba(255,255,255,.85); }

  body.ev-chc .why-c4 { grid-column: span 4; background: #f6f8fc; border: 1px solid #e7ebf2; color: #0d2d52; }
  body.ev-chc .why-c4 .num { color: #4A2767; }
  body.ev-chc .why-c4 .tag { background: #F5EBFA; color: #2D1640; }
  body.ev-chc .why-c4 p { color: #333; }

  body.ev-chc .why-c5 {
    grid-column: span 8;
    background: linear-gradient(110deg, #5fc8e8 0%, #2680c2 60%, #1a4d8c 100%);
    color: #fff;
    display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center;
  }
  body.ev-chc .why-c5 .num { font-size: 130px; }
  body.ev-chc .why-c5 h3 { font-size: 26px; max-width: 22ch; }
  body.ev-chc .why-c5 .tag { background: rgba(13,45,82,.35); color: #fff; }
  body.ev-chc .why-c5 p { color: rgba(255,255,255,.88); font-size: 14.5px; max-width: 56ch; }
  body.ev-chc .why-c5 .right > * + * { margin-top: 8px; }

  @media (max-width: 1024px) {
    body.ev-chc .why-grid > * { grid-column: span 6 !important; }
    body.ev-chc .why-c5 { grid-template-columns: 1fr; }
    body.ev-chc .why-c5 .num { font-size: 96px; }
  }
  @media (max-width: 640px) {
    body.ev-chc .why-grid > * { grid-column: 1 / -1 !important; }
  }

  /* ============================================================
     GLIMPSE / GALLERY  (preserved — the part the user loved)
     ============================================================ */
  body.ev-chc .glimpse { background: #f6f8fc; padding: 80px 0; overflow: hidden; }
  body.ev-chc .glimpse .head { padding: 0 60px; max-width: 1300px; margin: 0 auto 36px;
    display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; }
  body.ev-chc .glimpse h2 { font-size: 42px; line-height: 1.1; color: #0d2d52; font-weight: 700; letter-spacing: -0.5px; max-width: 14ch; }
  body.ev-chc .glimpse h2 .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color: #4A2767; /* font-size: 52px */; font-weight: 700; }
  body.ev-chc .glimpse .head .right { font-size: 14px; color: #333; max-width: 360px; line-height: 1.7; }

  body.ev-chc .gtrack { display: flex; gap: 18px; animation: gscroll 90s linear infinite; width: max-content; padding: 0 18px; }
  body.ev-chc .gtrack .frame {
    width: 340px; height: 220px; border-radius: 14px; overflow: hidden; flex-shrink: 0; position: relative;
    box-shadow: 0 18px 40px rgba(13,45,82,.18); border: 1px solid #e7ebf2;
  }
  body.ev-chc .gtrack .frame:nth-child(odd) { transform: translateY(20px); }
  body.ev-chc .gtrack .frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
  body.ev-chc .gtrack .frame:hover img { transform: scale(1.06); }
  body.ev-chc .gtrack:hover { animation-play-state: paused; }
  @keyframes gscroll { from { transform: translateX(0);} to { transform: translateX(-50%);} }

  /* ============================================================
     PARTNERS
     ============================================================ */
  body.ev-chc .partners .head { margin-bottom: 36px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 50px; align-items: end; }
  body.ev-chc .partners .sec-lede { font-size: 14.5px; }
  body.ev-chc .partner-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  body.ev-chc .partner {
    --accent: #888;
    position: relative; overflow: hidden;
    background: #fff;
    border: 1px solid #e7ebf2;
    border-radius: 8px;
    padding: 28px 24px 28px 30px;
    display: flex; flex-direction: column; gap: 14px;
    min-height: 150px; justify-content: space-between;
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
    text-decoration: none;
  }
  body.ev-chc .partner::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0;
    width: 6px; background: var(--accent);
    transition: width .35s cubic-bezier(.4,0,.2,1);
  }
  body.ev-chc .partner:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(13,45,82,.08);
  }
  body.ev-chc .partner:hover::before { width: 10px; }
  body.ev-chc .partner .role {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
    color: var(--accent); align-self: flex-start;
  }
  body.ev-chc .partner .name {
    font-size: 20px; font-weight: 600; color: #0d2d52;
    line-height: 1.2; letter-spacing: -0.2px;
  }
  body.ev-chc .partner .arr {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 20px; color: var(--accent);
    opacity: .5; transition: opacity .25s, transform .25s;
  }
  body.ev-chc .partner:hover .arr { opacity: 1; transform: translateX(3px); }
  body.ev-chc .partner .bottom { display: flex; justify-content: space-between; align-items: flex-end; }

  /* per-card accent color (drives left rail + role + arrow) */
  body.ev-chc .p-host { --accent: #4A2767; }
  body.ev-chc .p-cohost { --accent: #964FB5; }
  body.ev-chc .p-fi1 { --accent: #1a4d8c; }
  body.ev-chc .p-fi2 { --accent: #2680c2; }
  body.ev-chc .p-net1 { --accent: #2680c2; }
  body.ev-chc .p-net1::before { background: #5fc8e8; }
  body.ev-chc .p-net2 { --accent: #0d2d52; }

  @media (max-width: 1024px) {
    body.ev-chc .partners .head { grid-template-columns: 1fr; }
    body.ev-chc .partner-row { grid-template-columns: 1fr 1fr; }
  }

  /* ============================================================
     FOOTER  (kept identical to provided file)
     ============================================================ */
  body.ev-chc footer {
    background: linear-gradient(135deg, #0d2d52 0%, #0d2d52 50%, #2680c2 100%);
    color: #fff; padding: 70px 60px 24px;
    position: relative; overflow: hidden;
  }
  body.ev-chc footer::before {
    content: ""; position: absolute; top: -60px; right: 10%; width: 180px; height: 180px;
    background: #4A2767; transform: rotate(45deg); opacity: 0.18; border-radius: 16px;
  }
  body.ev-chc footer::after {
    content: ""; position: absolute; bottom: 20px; left: 5%; width: 120px; height: 120px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.12; border-radius: 12px;
  }
  body.ev-chc .footer-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; }
  body.ev-chc .footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.18); }
  body.ev-chc .footer-top h4 {
    font-size: 14px; text-transform: uppercase; margin-bottom: 20px;
    letter-spacing: 2px; color: #5fc8e8; font-weight: 600;
  }
  body.ev-chc .footer-top p, body.ev-chc .footer-top a, body.ev-chc .footer-top li { font-size: 14px; color: #ffffff; line-height: 1.9; }
  body.ev-chc .footer-top ul { list-style: none; }
  body.ev-chc .footer-top a { transition: color 0.2s, padding 0.2s; }
  body.ev-chc .footer-top a:hover { color: #5fc8e8; padding-left: 4px; }
  body.ev-chc .footer-logo {
    height: 60px; margin-bottom: 18px; display: inline-block;
  }
  body.ev-chc .footer-bottom {
    text-align: center; padding-top: 26px; font-size: 13px; color: rgba(255,255,255,0.7);
  }

  /* ============================================================
     RESPONSIVE
     ============================================================ */
  @media (max-width: 1024px) {
    body.ev-chc section { padding: 60px 30px; }
    body.ev-chc .venue-grid { grid-template-columns: repeat(2, 1fr); }
    body.ev-chc .stats-strip { grid-template-columns: repeat(2, 1fr); gap: 32px 16px; }
    body.ev-chc .stat + .stat::before { display: none; }
    body.ev-chc .footer-top { grid-template-columns: 1fr 1fr; }
    body.ev-chc .page-banner { padding: 90px 30px 110px; }
    body.ev-chc .banner-wrap h1 { font-size: 44px; }
    body.ev-chc .banner-wrap h1 .accent { font-size: 50px; }
  }
  @media (max-width: 768px) {
    body.ev-chc header { padding: 14px 24px; }
    body.ev-chc nav > ul { display: none; }
    body.ev-chc section { padding: 50px 24px; }
    body.ev-chc .page-banner { padding: 70px 24px 90px; }
    body.ev-chc .banner-wrap h1 { font-size: 34px; }
    body.ev-chc .banner-wrap h1 .accent { font-size: 38px; }
    body.ev-chc .sec-title { font-size: 30px; }
    body.ev-chc .sec-title .script { font-size: 36px; }
    body.ev-chc .venue-grid { grid-template-columns: 1fr; }
    body.ev-chc .rsvp-bar { padding: 24px 22px; }
    body.ev-chc .partner-row { grid-template-columns: 1fr; }
    body.ev-chc .footer-top { grid-template-columns: 1fr; }
    body.ev-chc .stats-strip { grid-template-columns: 1fr; }
    body.ev-chc .stat .num { font-size: 36px; }
  }

  /* ============================================================
     FADE-IN ON SCROLL
     ============================================================ */
  body.ev-chc .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
  body.ev-chc .reveal.in { opacity: 1; transform: translateY(0); }

  /* ==================== NEW HEADER / FOOTER (injected, overrides earlier rules) ==================== */
/* ============ HEADER ============ */
  body.ev-chc header {
    background: #fff; padding: 18px 60px; position: sticky; top: 0; z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  }
  body.ev-chc .header-wrap { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto; }
  body.ev-chc .logo { height: 38px; }
  body.ev-chc nav > ul { list-style: none; display: flex; gap: 30px; align-items: center; }
  body.ev-chc nav > ul > li { position: relative; }
  body.ev-chc nav a { font-size: 14px; font-weight: 500; color: #333; transition: color 0.2s; display: inline-flex; align-items: center; gap: 6px; padding: 8px 0; }
  body.ev-chc nav a:hover { color: #1a4d8c; }
  body.ev-chc nav .caret {
    width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px); transition: transform 0.25s ease;
  }
  body.ev-chc nav > ul > li:hover > a .caret { transform: rotate(-135deg) translateY(0); }

  /* ============ DROPDOWN — truly translucent ============ */
  body.ev-chc .dropdown {
    position: absolute; top: calc(100% + 14px); left: -20px;
    min-width: 260px;
    display: flex; flex-direction: column;
    background: rgba(13, 45, 82, 0.22);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-top: 2px solid #3eb1d8;
    border-radius: 4px;
    box-shadow: 0 18px 50px rgba(13, 45, 82, 0.25);
    padding: 6px 0;
    list-style: none;
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    z-index: 1100;
  }
  body.ev-chc nav > ul > li:hover > .dropdown, body.ev-chc nav > ul > li:focus-within > .dropdown {
    opacity: 1; visibility: visible; transform: translateY(0);
  }
  body.ev-chc .dropdown::before {
    content: ""; position: absolute; top: -8px; left: 32px;
    width: 12px; height: 12px;
    background: rgba(13, 45, 82, 0.22);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border-left: 1px solid rgba(255,255,255,0.18);
    border-top: 2px solid #3eb1d8;
    transform: rotate(45deg);
    border-top-left-radius: 2px;
  }
  body.ev-chc .dropdown > li { display: block; width: 100%; position: relative; }
  body.ev-chc .dropdown > li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
  body.ev-chc .dropdown a {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 22px; font-size: 14px; font-weight: 500; color: #ffffff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.45);
    transition: background 0.2s, color 0.2s, padding-left 0.2s;
    white-space: nowrap;
  }
  body.ev-chc .dropdown a:hover {
    color: #3eb1d8;
    background: rgba(255, 255, 255, 0.08);
    padding-left: 26px;
  }
  body.ev-chc .dropdown .sub-caret {
    width: 7px; height: 7px; border-right: 2px solid rgba(255,255,255,0.7);
    border-bottom: 2px solid rgba(255,255,255,0.7);
    transform: rotate(-45deg); transition: border-color 0.2s;
    margin-left: 12px;
  }
  body.ev-chc .dropdown a:hover .sub-caret { border-color: #3eb1d8; }

  /* ============ NESTED SUB-DROPDOWN (fly-out right) ============ */
  body.ev-chc .dropdown .sub-dropdown {
    position: absolute; top: -8px; left: calc(100% + 8px);
    min-width: 280px;
    display: flex; flex-direction: column;
    background: rgba(13, 45, 82, 0.22);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-top: 2px solid #3eb1d8;
    border-radius: 4px;
    box-shadow: 0 18px 50px rgba(13, 45, 82, 0.25);
    padding: 6px 0;
    list-style: none;
    opacity: 0; visibility: hidden; transform: translateX(-6px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    z-index: 1200;
  }
  body.ev-chc .dropdown > li:hover > .sub-dropdown, body.ev-chc .dropdown > li:focus-within > .sub-dropdown {
    opacity: 1; visibility: visible; transform: translateX(0);
  }
  body.ev-chc .sub-dropdown > li { display: block; width: 100%; }
  body.ev-chc .sub-dropdown > li + li { border-top: 1px solid rgba(255, 255, 255, 0.1); }
  body.ev-chc .ticket-btn {
    background: linear-gradient(90deg, #1a4d8c, #2680c2);
    color: #fff !important; padding: 12px 26px; border-radius: 4px;
    font-size: 13px; font-weight: 600; text-transform: uppercase;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  body.ev-chc .ticket-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(26,77,140,0.35); }

/* ============ FOOTER ============ */
  body.ev-chc footer {
    background: linear-gradient(135deg, #0d2d52 0%, #0d2d52 50%, #2680c2 100%);
    color: #fff; padding: 70px 60px 24px;
    position: relative; overflow: hidden;
  }
  body.ev-chc footer::before {
    content: ""; position: absolute; top: -60px; right: 10%; width: 180px; height: 180px;
    background: #1a4d8c; transform: rotate(45deg); opacity: 0.18; border-radius: 16px;
  }
  body.ev-chc footer::after {
    content: ""; position: absolute; bottom: 20px; left: 5%; width: 120px; height: 120px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.12; border-radius: 12px;
  }
  body.ev-chc .footer-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; }
  body.ev-chc .footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.18); }
  body.ev-chc .footer-top h4 {
    font-size: 14px; text-transform: uppercase; margin-bottom: 20px;
    letter-spacing: 2px; color: #5fc8e8; font-weight: 600;
  }
  body.ev-chc .footer-top p, body.ev-chc .footer-top a, body.ev-chc .footer-top li { font-size: 14px; color: #ffffff; line-height: 1.9; }
  body.ev-chc .footer-top ul { list-style: none; }
  body.ev-chc .footer-top a { transition: color 0.2s, padding 0.2s; }
  body.ev-chc .footer-top a:hover { color: #fff; padding-left: 4px; }
  body.ev-chc .footer-logo {
    height: 65px; margin-bottom: 5px; display: inline-block;
  }
  body.ev-chc .social { display: flex; gap: 12px; margin-top: 16px; }
  body.ev-chc .social a {
    width: 40px; height: 40px;
    background: rgba(255,255,255,0.12);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 700;
    transition: background 0.3s, transform 0.2s;
  }
  body.ev-chc .social a:hover {
    background: linear-gradient(135deg, #1a4d8c, #5fc8e8);
    transform: translateY(-3px);
  }
  body.ev-chc .footer-bottom {
    text-align: center; padding-top: 26px; font-size: 13px; color: rgba(255,255,255,0.7);
  }

  /* ===== injected responsive (header/footer) ===== */
  @media (max-width: 1024px) { body.ev-chc .footer-top { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 768px) {
    body.ev-chc header { padding: 14px 24px; }
    body.ev-chc nav > ul { display: none; }
    body.ev-chc footer { padding: 50px 24px 24px; }
    body.ev-chc .footer-top { grid-template-columns: 1fr; }
  }

/* =========================================================================
   EVENT — CIFL template (batch 3b)  centralised from the Lab Roundtable (teal)
   Scoped to body.ev-cifl; colour brand via body.brand-cifl.
   ========================================================================= */

  body.ev-cifl *:not(header):not(footer):not(header *):not(footer *) { margin: 0; box-sizing: border-box; }
  body.ev-cifl { font-family: 'Poppins', sans-serif; color: #333; background: #fff; overflow-x: hidden; }
  body.ev-cifl a { text-decoration: none; color: inherit; }
  body.ev-cifl img { max-width: 100%; display: block; }

  /* ============================================================
     PAGE BANNER — gradient tinted with CHC violet essence
     ============================================================ */
  body.ev-cifl .page-banner {
    position: relative; color: #fff; padding: 70px 60px 90px; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.93) 0%, rgba(15, 118, 110, 0.82) 50%, rgba(13, 45, 82, 0.93) 100%),
      var(--banner-img, url('/images/banner/16-scaled.jpg')) center/cover no-repeat;
  }
  body.ev-cifl .page-banner::before {
    content: ""; position: absolute; top: 30px; left: 40px; width: 110px; height: 110px;
    background: var(--brand); transform: rotate(45deg); opacity: 0.45; border-radius: 12px;
  }
  body.ev-cifl .page-banner::after {
    content: ""; position: absolute; bottom: 40px; right: 60px; width: 140px; height: 140px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.28; border-radius: 12px;
  }
  body.ev-cifl .banner-wrap .banner-lede {
    max-width: 760px; margin: 6px auto 0; color: rgba(255,255,255,.88);
    font-size: 16px; line-height: 1.6; font-weight: 400;
  }
  body.ev-cifl .banner-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; text-align: center; }
  body.ev-cifl .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }
  body.ev-cifl .banner-wrap .sub::before, body.ev-cifl .banner-wrap .sub::after {
    content: ""; width: 28px; height: 2px;
    background: linear-gradient(90deg, transparent, #5fc8e8);
  }
  body.ev-cifl .banner-wrap .sub::after { background: linear-gradient(90deg, #5fc8e8, transparent); }
  body.ev-cifl .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }
  body.ev-cifl .banner-wrap h1 .accent { color: #14b8a6; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 60px */; }
  body.ev-cifl .banner-wrap .meta-row {
    display: inline-flex; gap: 18px; align-items: center; justify-content: center; margin: 18px 0 22px;
    color: rgba(255,255,255,.9); font-size: 14px; font-weight: 500; flex-wrap: wrap;
  }
  body.ev-cifl .banner-wrap .meta-row span { display: inline-flex; align-items: center; }
  body.ev-cifl .banner-wrap .meta-row span + span::before {
    content: "|"; margin-right: 18px; color: #5fc8e8; opacity:1; font-weight:500;
  }

  /* ============================================================
     SECTION COMMONS
     ============================================================ */
  body.ev-cifl section { padding: 80px 60px; }
  body.ev-cifl .wrap { max-width: 1300px; margin: 0 auto; }
  body.ev-cifl .eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    color: #1a4d8c; letter-spacing: 3px; font-size: 12px; font-weight: 600;
    text-transform: uppercase; margin-bottom: 14px;
  }
  body.ev-cifl .eyebrow::before { content:""; width: 24px; height: 2px; background: linear-gradient(90deg, #0f766e, #5fc8e8); }
  body.ev-cifl .sec-title {
    font-size: 42px; line-height: 1.15; font-weight: 700; color: #0d2d52; margin-bottom: 16px; letter-spacing: -0.5px;
  }
  body.ev-cifl .sec-title .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; color: #0f766e; /* font-size: 50px */; }
  body.ev-cifl .sec-lede { font-size: 15px; color: #333; line-height: 1.75; max-width: 720px; }
  body.ev-cifl .sec-lede strong { color: #0d2d52; font-weight: 600; }

  /* ============================================================
     INTRO  — stat strip
     ============================================================ */
  body.ev-cifl .intro {
    position: relative;
    background: linear-gradient(180deg, #fff 0%, #faf8fc 100%);
    overflow: hidden;
    padding: 50px 60px;
  }
  body.ev-cifl .intro::before {
    content: ""; position: absolute; top: 50%; left: -60px;
    width: 160px; height: 160px; transform: translateY(-50%) rotate(45deg);
    background: #0f766e; opacity: 0.04;
    border-radius: 20px; pointer-events: none;
  }
  body.ev-cifl .intro .wrap { position: relative; z-index: 2; }
  body.ev-cifl .stats-strip {
    margin-top: 0; padding: 0;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  }
  body.ev-cifl .stat { text-align: center; position: relative; padding: 0 16px; }
  body.ev-cifl .stat + .stat::before {
    content: ""; position: absolute; left: 0; top:0; bottom:0; width:2px; background:rgba(95,200,232,.7);
  }
  body.ev-cifl .stat .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight: 400;
    font-size: 44px; line-height: 1; color: #0f766e; letter-spacing: -1px;
    margin-bottom: 8px;
  }
  body.ev-cifl .stat .num .plus { color: #14b8a6; }
  body.ev-cifl .stat .lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase;
    color: #333;
  }

  /* ============================================================
     EVENT DETAILS  (date / time / venue / format)
     ============================================================ */
  body.ev-cifl .venue { background: #f6f8fc; position: relative; overflow: hidden; }
  body.ev-cifl .venue::before {
    content:""; position: absolute; top: -40px; right: -40px; width: 200px; height: 200px;
    background: #0f766e; transform: rotate(45deg); opacity: .06; border-radius: 18px;
  }
  body.ev-cifl .venue::after {
    content:""; position: absolute; bottom: -40px; left: -40px; width: 200px; height: 200px;
    background: #5fc8e8; transform: rotate(45deg); opacity: .07; border-radius: 18px;
  }
  body.ev-cifl .venue .wrap { position: relative; z-index: 2; }
  body.ev-cifl .venue-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 40px; }
  body.ev-cifl .venue-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
  }
  body.ev-cifl .v-card {
    background: #fff; border-radius: 14px; padding: 28px 24px; position: relative;
    box-shadow: 0 6px 24px rgba(13,45,82,.06);
    border-top: 3px solid #1a4d8c;
    transition: transform .3s ease, box-shadow .3s ease;
  }
  body.ev-cifl .v-card:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(13,45,82,.12); }
  body.ev-cifl .v-card.violet { border-top-color: #0f766e; }
  body.ev-cifl .v-card.cyan { border-top-color: #5fc8e8; }
  body.ev-cifl .v-card.navy { border-top-color: #0d2d52; }
  body.ev-cifl .v-card .icon {
    width: 44px; height: 44px; border-radius: 10px; margin-bottom: 14px;
    background: linear-gradient(135deg, #1a4d8c, #2680c2);
    display: flex; align-items: center; justify-content: center; color: #fff;
  }
  body.ev-cifl .v-card.violet .icon { background: linear-gradient(135deg, #0f766e, #134e4a); }
  body.ev-cifl .v-card.cyan .icon { background: linear-gradient(135deg, #5fc8e8, #2680c2); }
  body.ev-cifl .v-card.navy .icon { background: linear-gradient(135deg, #0d2d52, #1a4d8c); }
  body.ev-cifl .v-card .icon svg { width: 22px; height: 22px; }
  body.ev-cifl .v-card .k { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #333; font-weight: 600; margin-bottom: 6px; }
  body.ev-cifl .v-card .v { font-size: 18px; font-weight: 600; color: #0d2d52; line-height: 1.35; }
  body.ev-cifl .v-card .v small { display: block; font-size: 13px; color: #333; font-weight: 400; margin-top: 4px; }

  /* ============================================================
     WHY / HIGHLIGHTS
     ============================================================ */
  body.ev-cifl .why { background: #fff; }
  body.ev-cifl .why .head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 44px; }
  body.ev-cifl .why-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
  body.ev-cifl .why-card {
    border-radius: 16px; padding: 32px 28px; position: relative; overflow: hidden;
    min-height: 260px; display: flex; flex-direction: column; justify-content: space-between;
    transition: transform .35s ease, box-shadow .35s ease;
  }
  body.ev-cifl .why-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(13,45,82,.18); }
  body.ev-cifl .why-card .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 96px; line-height: .8; font-weight: 300;
    opacity: .85; letter-spacing: -2px; margin-bottom: 8px;
  }
  body.ev-cifl .why-card h3 {
    font-size: 22px; font-weight: 600; line-height: 1.3; margin-bottom: 10px; letter-spacing: -0.2px;
  }
  body.ev-cifl .why-card p { font-size: 13.5px; line-height: 1.6; }
  body.ev-cifl .why-card .tag {
    position: absolute; top: 22px; right: 22px;
    font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    padding: 4px 10px; border-radius: 99px;
  }
  body.ev-cifl .why-c1 { grid-column: span 5; background: linear-gradient(160deg, #0d2d52 0%, #1a4d8c 100%); color: #fff; }
  body.ev-cifl .why-c1 .num { color: #5fc8e8; }
  body.ev-cifl .why-c1 .tag { background: rgba(95,200,232,.18); color: #5fc8e8; }
  body.ev-cifl .why-c1 p { color: rgba(255,255,255,.78); }
  body.ev-cifl .why-c2 {
    grid-column: span 4;
    background:
      linear-gradient(160deg, rgba(13,45,82,.86), rgba(74,47,140,.82)),
      url('/images/banner/13-1130x650.jpg') center/cover no-repeat;
    color: #fff;
  }
  body.ev-cifl .why-c2 .num { color: #14b8a6; }
  body.ev-cifl .why-c2 .tag { background: rgba(150,79,181,.2); color: #E5D0EE; }
  body.ev-cifl .why-c2 p { color: rgba(255,255,255,.85); }
  body.ev-cifl .why-c3 { grid-column: span 3; background: linear-gradient(160deg, #0f766e 0%, #134e4a 100%); color: #fff; }
  body.ev-cifl .why-c3 .num { color: #F5EBFA; }
  body.ev-cifl .why-c3 .tag { background: rgba(255,255,255,.18); color: #fff; }
  body.ev-cifl .why-c3 p { color: rgba(255,255,255,.85); }
  body.ev-cifl .why-c4 { grid-column: span 4; background: #f6f8fc; border: 1px solid #e7ebf2; color: #0d2d52; }
  body.ev-cifl .why-c4 .num { color: #0f766e; }
  body.ev-cifl .why-c4 .tag { background: #F5EBFA; color: #134e4a; }
  body.ev-cifl .why-c4 p { color: #333; }
  body.ev-cifl .why-c5 {
    grid-column: span 8;
    background: linear-gradient(110deg, #5fc8e8 0%, #2680c2 60%, #1a4d8c 100%);
    color: #fff;
    display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center;
  }
  body.ev-cifl .why-c5 .num { font-size: 130px; }
  body.ev-cifl .why-c5 h3 { font-size: 26px; max-width: 22ch; }
  body.ev-cifl .why-c5 .tag { background: rgba(13,45,82,.35); color: #fff; }
  body.ev-cifl .why-c5 p { color: rgba(255,255,255,.88); font-size: 14.5px; max-width: 56ch; }
  body.ev-cifl .why-c5 .right > * + * { margin-top: 8px; }
  @media (max-width: 1024px) {
    body.ev-cifl .why-grid > * { grid-column: span 6 !important; }
    body.ev-cifl .why-c5 { grid-template-columns: 1fr; }
    body.ev-cifl .why-c5 .num { font-size: 96px; }
  }
  @media (max-width: 640px) {
    body.ev-cifl .why-grid > * { grid-column: 1 / -1 !important; }
  }

  /* ============================================================
     GLIMPSE / GALLERY
     ============================================================ */
  body.ev-cifl .glimpse { background: #f6f8fc; padding: 80px 0; overflow: hidden; }
  body.ev-cifl .glimpse .head { padding: 0 60px; max-width: 1300px; margin: 0 auto 36px;
    display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; }
  body.ev-cifl .glimpse h2 { font-size: 42px; line-height: 1.1; color: #0d2d52; font-weight: 700; letter-spacing: -0.5px; max-width: 14ch; }
  body.ev-cifl .glimpse h2 .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color: #0f766e; /* font-size: 52px */; font-weight: 700; }
  body.ev-cifl .glimpse .head .right { font-size: 14px; color: #333; max-width: 360px; line-height: 1.7; }
  body.ev-cifl .gtrack { display: flex; gap: 18px; animation: gscroll 80s linear infinite; width: max-content; padding: 0 18px; }
  body.ev-cifl .gtrack .frame {
    width: 340px; height: 220px; border-radius: 14px; overflow: hidden; flex-shrink: 0; position: relative;
    box-shadow: 0 18px 40px rgba(13,45,82,.18); border: 1px solid #e7ebf2;
  }
  body.ev-cifl .gtrack .frame:nth-child(odd) { transform: translateY(20px); }
  body.ev-cifl .gtrack .frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
  body.ev-cifl .gtrack .frame:hover img { transform: scale(1.06); }
  body.ev-cifl .gtrack:hover { animation-play-state: paused; }
  @keyframes gscroll { from { transform: translateX(0);} to { transform: translateX(-50%);} }

  /* ============================================================
     PARTNERS
     ============================================================ */
  body.ev-cifl .partners .head { margin-bottom: 36px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 50px; align-items: end; }
  body.ev-cifl .partners .sec-lede { font-size: 14.5px; }
  body.ev-cifl .partner-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
  body.ev-cifl .partner {
    --accent: #888;
    position: relative; overflow: hidden;
    background: #fff;
    border: 1px solid #e7ebf2;
    border-radius: 8px;
    padding: 28px 24px 28px 30px;
    display: flex; flex-direction: column; gap: 14px;
    min-height: 150px; justify-content: space-between;
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
    text-decoration: none;
  }
  body.ev-cifl .partner::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0;
    width: 6px; background: var(--accent);
    transition: width .35s cubic-bezier(.4,0,.2,1);
  }
  body.ev-cifl .partner:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(13,45,82,.08);
  }
  body.ev-cifl .partner:hover::before { width: 10px; }
  body.ev-cifl .partner .role {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
    color: var(--accent); align-self: flex-start;
  }
  body.ev-cifl .partner .name {
    font-size: 20px; font-weight: 600; color: #0d2d52;
    line-height: 1.2; letter-spacing: -0.2px;
  }
  body.ev-cifl .partner .arr {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 20px; color: var(--accent);
    opacity: .5; transition: opacity .25s, transform .25s;
  }
  body.ev-cifl .partner:hover .arr { opacity: 1; transform: translateX(3px); }
  body.ev-cifl .partner .bottom { display: flex; justify-content: space-between; align-items: flex-end; }
  body.ev-cifl .p-host { --accent: #0f766e; }
  body.ev-cifl .p-cohost { --accent: #14b8a6; }
  body.ev-cifl .p-net1 { --accent: #2680c2; }
  body.ev-cifl .p-net1::before { background: #5fc8e8; }
  body.ev-cifl .p-net2 { --accent: #0d2d52; }
  @media (max-width: 1024px) {
    body.ev-cifl .partners .head { grid-template-columns: 1fr; }
    body.ev-cifl .partner-row { grid-template-columns: 1fr 1fr; }
  }

  /* ============================================================
     RESPONSIVE
     ============================================================ */
  @media (max-width: 1024px) {
    body.ev-cifl section { padding: 60px 30px; }
    body.ev-cifl .venue-grid { grid-template-columns: repeat(2, 1fr); }
    body.ev-cifl .stats-strip { grid-template-columns: repeat(2, 1fr); gap: 32px 16px; }
    body.ev-cifl .stat + .stat::before { display: none; }
    body.ev-cifl .page-banner { padding: 90px 30px 110px; }
    body.ev-cifl .banner-wrap h1 { font-size: 44px; }
    body.ev-cifl .banner-wrap h1 .accent { font-size: 50px; }
  }
  @media (max-width: 768px) {
    body.ev-cifl section { padding: 50px 24px; }
    body.ev-cifl .page-banner { padding: 70px 24px 90px; }
    body.ev-cifl .banner-wrap h1 { font-size: 34px; }
    body.ev-cifl .banner-wrap h1 .accent { font-size: 38px; }
    body.ev-cifl .sec-title { font-size: 30px; }
    body.ev-cifl .sec-title .script { font-size: 36px; }
    body.ev-cifl .venue-grid { grid-template-columns: 1fr; }
    body.ev-cifl .partner-row { grid-template-columns: 1fr; }
    body.ev-cifl .stats-strip { grid-template-columns: 1fr; }
    body.ev-cifl .stat .num { font-size: 36px; }
  }

  /* FADE-IN ON SCROLL */
  body.ev-cifl .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
  body.ev-cifl .reveal.in { opacity: 1; transform: translateY(0); }

/* =========================================================================
   EVENT — UPCOMING template (batch 3c)  centralised from the 4 2026 upcoming
   'Building a Future-Ready Bank' pages (Cedar-IBSi blue).
   Scoped to body.ev-upcoming. Per-page banner image via --banner-img.
   ========================================================================= */

  body.ev-upcoming *:not(header):not(footer):not(header *):not(footer *) {margin:0;box-sizing:border-box}
  body.ev-upcoming {font-family:'Poppins',sans-serif;color:#333;background:#fff;overflow-x:hidden}
  body.ev-upcoming a {text-decoration:none;color:inherit}
  body.ev-upcoming img {max-width:100%;display:block}

  /* TWO COLUMNS sharing a vertical gradient divider between them */
  body.ev-upcoming .event-shell {
    max-width:1320px;margin:0 auto;padding:80px 60px;
    display:grid;grid-template-columns:1fr 1px 380px;gap:50px;
    position:relative
  }
  body.ev-upcoming .event-shell::before {
    content:"";grid-column:2;grid-row:1;
    background:linear-gradient(180deg,transparent 0%,#5fc8e8 8%,#1a4d8c 40%,#0d2d52 70%,#5fc8e8 92%,transparent 100%);
    width:1px;justify-self:center;
    opacity:.65
  }

  /* ============ MAIN ============ */
  body.ev-upcoming .event-image {border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(13,45,82,.18);margin-bottom:50px;position:relative}
  body.ev-upcoming .event-image img {width:100%;height:480px;object-fit:cover}
  body.ev-upcoming .event-image::after {content:"";position:absolute;bottom:-12px;right:-12px;width:90px;height:90px;background:#1a4d8c;transform:rotate(45deg);opacity:.65;border-radius:10px;z-index:-1}

  body.ev-upcoming .block {margin-bottom:60px}
  body.ev-upcoming .block .sub {color:#1a4d8c;letter-spacing:3px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}
  body.ev-upcoming .block .sub::before, body.ev-upcoming .block .sub::after {content:"";width:22px;height:2px;background:linear-gradient(90deg,transparent,#1a4d8c)}
  body.ev-upcoming .block .sub::after {background:linear-gradient(90deg,#1a4d8c,transparent)}
  body.ev-upcoming .block h2 {font-size:42px;font-weight:700;color:#0d2d52;margin-bottom:22px;line-height:1.2}
  body.ev-upcoming .block h2 span {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;font-weight:700;/* font-size:42px */}
  body.ev-upcoming .block p {color:#333;font-size:15.5px;line-height:1.85;margin-bottom:14px}

  body.ev-upcoming .why-grid {
    display:grid;grid-template-columns:repeat(2,1fr);
    gap:0;margin-top:18px;
    border-top:1px solid #e8f1f8
  }
  body.ev-upcoming .why-card {
    position:relative;padding:26px 24px 26px 0;
    background:none;border-radius:0;border:none;border-bottom:1px solid #e8f1f8;
    transition:padding-left .3s cubic-bezier(.4,.2,.2,1);
    display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start
  }
  body.ev-upcoming .why-card:nth-child(odd) {padding-right:30px;border-right:1px solid #e8f1f8}
  body.ev-upcoming .why-card:nth-child(even) {padding-left:24px}
  body.ev-upcoming .why-card:hover .icon {transform:translateX(-2px);color:#1a4d8c}
  body.ev-upcoming .why-card .icon {
    font-family:'Poppins',sans-serif;font-weight:800;font-size:42px;line-height:.9;
    background:none;color:#5fc8e8;
    width:auto;height:auto;border-radius:0;display:block;
    margin-bottom:0;letter-spacing:-2px;
    transition:transform .3s cubic-bezier(.4,.2,.2,1),color .3s
  }
  body.ev-upcoming .why-card .content h4 {font-size:16px;color:#0d2d52;margin-bottom:8px;font-weight:700;line-height:1.3}
  body.ev-upcoming .why-card .content p {font-size:14px;line-height:1.7;color:#333;margin:0}

  body.ev-upcoming .themes {display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
  body.ev-upcoming .theme-pill {background:#e8f1f8;color:#1a4d8c;padding:10px 20px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid rgba(26,77,140,.18);transition:background .2s,color .2s,transform .2s}
  body.ev-upcoming .theme-pill:hover {background:#1a4d8c;color:#fff;transform:translateY(-2px)}

  body.ev-upcoming .share-row {display:flex;align-items:center;gap:14px;padding:22px 0;border-top:1px solid #e8f1f8;border-bottom:1px solid #e8f1f8;margin:40px 0}
  body.ev-upcoming .share-row .label {font-size:13px;font-weight:600;color:#0d2d52;text-transform:uppercase;letter-spacing:1.5px}
  body.ev-upcoming .share-row a {width:36px;height:36px;border-radius:50%;background:#f4f6fa;color:#1a4d8c;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:background .25s,color .25s,transform .2s}
  body.ev-upcoming .share-row a:hover {background:linear-gradient(135deg,#1a4d8c,#5fc8e8);color:#fff;transform:translateY(-2px)}

  /* ============ SIDEBAR · EDITORIAL ============ */
  body.ev-upcoming .sidebar {
    grid-column:3;
    position:sticky;top:100px;align-self:start;
    display:flex;flex-direction:column;gap:0
  }

  /* HERO COUNTDOWN — biggest visual element, no box just typography */
  body.ev-upcoming .hero-count {padding-bottom:32px;border-bottom:1px solid #e8f1f8;margin-bottom:32px}
  body.ev-upcoming .hero-count .eyebrow {
    font-size:11px;color:#1a4d8c;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:10px
  }
  body.ev-upcoming .hero-count h3 {
    font-size:24px;color:#0d2d52;font-weight:700;line-height:1.2;margin-bottom:22px
  }
  body.ev-upcoming .hero-count h3 .accent {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;/* font-size:30px */;font-weight:700}
  body.ev-upcoming .countdown {display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:22px}
  body.ev-upcoming .cd-box {
    text-align:center;padding:14px 0;position:relative
  }
  body.ev-upcoming .cd-box+.cd-box::before {
    content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:#e8f1f8
  }
  body.ev-upcoming .cd-box .num {font-size:34px;font-weight:800;color:#0d2d52;line-height:1;letter-spacing:-1.2px}
  body.ev-upcoming .cd-box .lbl {font-size:9.5px;color:#1a4d8c;text-transform:uppercase;letter-spacing:2px;margin-top:6px;font-weight:700}

  body.ev-upcoming .register-btn {
    display:flex;align-items:center;justify-content:space-between;width:100%;
    background:linear-gradient(135deg,#0d2d52,#1a4d8c);color:#fff;
    padding:15px 22px;border-radius:8px;
    font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
    box-shadow:0 8px 22px rgba(13,45,82,.24);
    transition:transform .25s,box-shadow .25s,background .25s
  }
  body.ev-upcoming .register-btn svg {width:14px;height:14px;transition:transform .25s}
  body.ev-upcoming .register-btn:hover {transform:translateY(-2px);box-shadow:0 14px 30px rgba(13,45,82,.34);background:linear-gradient(135deg,#1a4d8c,#2680c2)}
  body.ev-upcoming .register-btn:hover svg {transform:translateX(4px)}

  /* DETAILS — 2-col inline text grid, hairline rules */
  body.ev-upcoming .details-block {padding-bottom:32px;border-bottom:1px solid #e8f1f8;margin-bottom:32px}
  body.ev-upcoming .details-block .eyebrow {
    font-size:11px;color:#1a4d8c;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:10px
  }
  body.ev-upcoming .details-block h3 {
    font-size:24px;color:#0d2d52;font-weight:700;line-height:1.2;margin-bottom:22px
  }
  body.ev-upcoming .details-block h3 .accent {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;/* font-size:30px */;font-weight:700}

  body.ev-upcoming .detail-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}
  body.ev-upcoming .detail-cell {display:flex;flex-direction:column;gap:4px}
  body.ev-upcoming .detail-cell.full {grid-column:span 2}
  body.ev-upcoming .detail-cell .label {
    font-size:10px;color:#88c8df;text-transform:uppercase;letter-spacing:2px;font-weight:700
  }
  body.ev-upcoming .detail-cell .value {font-size:14px;color:#0d2d52;font-weight:500;line-height:1.45}
  body.ev-upcoming .detail-cell .value a {color:#1a4d8c;transition:color .2s}
  body.ev-upcoming .detail-cell .value a:hover {color:#5fc8e8}

  body.ev-upcoming .net-row {display:flex;gap:8px;margin-top:6px}
  body.ev-upcoming .net-icon {
    width:32px;height:32px;border-radius:50%;background:#f4f6fa;border:1px solid rgba(26,77,140,.16);color:#1a4d8c;
    display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
    transition:color .3s,transform .25s,box-shadow .3s,border-color .3s
  }
  body.ev-upcoming .net-icon::before {content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1a4d8c,#5fc8e8);opacity:0;transition:opacity .3s}
  body.ev-upcoming .net-icon svg {width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:2;transition:transform .3s}
  body.ev-upcoming .net-icon.x-icon svg {stroke:none;fill:currentColor}
  body.ev-upcoming .net-icon:hover {color:#fff;transform:translateY(-2px);box-shadow:0 6px 14px rgba(26,77,140,.32);border-color:transparent}
  body.ev-upcoming .net-icon:hover::before {opacity:1}
  body.ev-upcoming .net-icon:hover svg {transform:scale(1.1)}

  /* CTA — text-link style with arrow */
  body.ev-upcoming .cta-block .eyebrow {
    font-size:11px;color:#1a4d8c;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;display:block;margin-bottom:10px
  }
  body.ev-upcoming .cta-block h3 {
    font-size:24px;color:#0d2d52;font-weight:700;line-height:1.2;margin-bottom:22px
  }
  body.ev-upcoming .cta-block h3 .accent {color:#1a4d8c;/* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;/* font-size:30px */;font-weight:700}
  body.ev-upcoming .cta-stack {display:flex;flex-direction:column;gap:0}
  body.ev-upcoming .cta-link {
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 0;border-bottom:1px solid #e8f1f8;
    font-size:13.5px;font-weight:600;color:#0d2d52;
    transition:color .25s,padding-left .25s
  }
  body.ev-upcoming .cta-link:first-child {border-top:1px solid #e8f1f8}
  body.ev-upcoming .cta-link::after {content:"→";color:#1a4d8c;font-size:18px;transition:transform .25s,color .25s}
  body.ev-upcoming .cta-link:hover {color:#1a4d8c;padding-left:6px}
  body.ev-upcoming .cta-link:hover::after {transform:translateX(4px);color:#5fc8e8}

  @media (max-width:1024px) {
    body.ev-upcoming .event-shell {grid-template-columns:1fr;gap:30px}
    body.ev-upcoming .event-shell::before {display:none}
    body.ev-upcoming .sidebar {grid-column:1;position:static}
  }
  @media (max-width:768px) {
    body.ev-upcoming .event-shell {padding:50px 24px}
    body.ev-upcoming .event-image img {height:260px}
    body.ev-upcoming .block h2 {font-size:28px}
    body.ev-upcoming .block h2 span {font-size:32px}
    body.ev-upcoming .why-grid {grid-template-columns:1fr}
    body.ev-upcoming .detail-grid {grid-template-columns:1fr}
    body.ev-upcoming .detail-cell.full {grid-column:span 1}
  }

  body.ev-upcoming .page-banner { position:relative; color:#fff; padding:50px 60px 0; overflow:hidden; background:linear-gradient(135deg, rgba(13,45,82,0.92) 0%, rgba(26,77,140,0.82) 50%, rgba(13,45,82,0.92) 100%), var(--banner-img) center/cover no-repeat; }
  body.ev-upcoming .page-banner::before {
    content: ""; position: absolute; bottom: 40px; left: -30px; width: 120px; height: 120px;
    background: var(--brand); transform: rotate(45deg); opacity: 0.45; border-radius: 12px;
    z-index: 1;
  }
  body.ev-upcoming .page-banner::after {
    content: ""; position: absolute; top: 50%; right: -30px; width: 130px; height: 130px;
    margin-top: -65px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.28; border-radius: 12px;
    z-index: 1;
  }
  /* Symmetric top corners — Cedar (left) + Forbes (right), same size */
  body.ev-upcoming .banner-corner {
    position: absolute; top: 28px; z-index: 3;
    display: inline-flex; flex-direction: column; gap: 8px;
    transition: transform 0.25s ease;
  }
  body.ev-upcoming .banner-corner:hover { transform: translateY(-3px); }
  body.ev-upcoming .banner-forbes { right: 60px; align-items: flex-end; }

  body.ev-upcoming .banner-corner-label {
    font-size: 10px; font-weight: 700; letter-spacing: 3px;
    text-transform: uppercase; color: #5fc8e8;
    display: inline-flex; align-items: center; gap: 8px;
  }
  body.ev-upcoming .banner-forbes .banner-corner-label::before {
    content: ""; width: 18px; height: 1px;
    background: linear-gradient(90deg, transparent, #5fc8e8);
  }

  body.ev-upcoming .banner-corner img {
    max-width: 110px; max-height: 110px; width: auto; display: block;
    transition: opacity 0.25s ease, filter 0.25s ease;
  }

  /* Forbes: full-colour image, white panel inside dissolves via screen-blend */
  body.ev-upcoming .banner-forbes img {
    mix-blend-mode: screen;
    filter: brightness(1.1) contrast(1.05);
    opacity: 0.92;
  }
  body.ev-upcoming .banner-forbes:hover img {
    opacity: 1;
    filter: brightness(1.15) contrast(1.1) drop-shadow(0 0 12px rgba(95, 200, 232, 0.5));
  }

  /* Main banner content */
  body.ev-upcoming .banner-wrap {
    max-width: 1300px; margin: 0 auto;
    position: relative; z-index: 2;
    text-align: center;
    padding-bottom: 70px;
  }
  body.ev-upcoming .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }
  body.ev-upcoming .banner-wrap .sub::before, body.ev-upcoming .banner-wrap .sub::after {
    content: ""; width: 28px; height: 2px;
    background: linear-gradient(90deg, transparent, #5fc8e8);
  }
  body.ev-upcoming .banner-wrap .sub::after { background: linear-gradient(90deg, #5fc8e8, transparent); }
  body.ev-upcoming .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }
  body.ev-upcoming .banner-wrap h1 span { color: #5fc8e8; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 60px */; }
  body.ev-upcoming .breadcrumb { font-size: 14px; color: rgba(255,255,255,0.85); }
  body.ev-upcoming .breadcrumb a { color: #5fc8e8; transition: color 0.2s; }
  body.ev-upcoming .breadcrumb a:hover { color: #fff; }
  body.ev-upcoming .breadcrumb .sep { margin: 0 10px; opacity: 0.6; }

  /* ============ GROUP LOGO STRIP (index-banner rail layout) ============ */
  body.ev-upcoming .page-banner .rail {position:relative; z-index:2; flex-shrink:0;
    display:flex; align-items:center; gap:clamp(18px,2.5vw,34px);
    margin:0 -60px; padding:0 clamp(28px,4vw,80px);
    height:clamp(116px,13.5vh,152px);
    background:rgba(7,24,46,.4);
    border-top:1px solid rgba(95,200,232,.16);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
  body.ev-upcoming .page-banner .rail .label {flex-shrink:0; display:flex; flex-direction:column; gap:3px;
    color:#5fc8e8; font-size:clamp(12px,1.1vw,14px); font-weight:600; letter-spacing:.26em;
    text-transform:uppercase; line-height:1.25; white-space:nowrap;}
  body.ev-upcoming .page-banner .rail .label small {color:#cfe2f3; font-weight:400; letter-spacing:.16em; opacity:.75;}
  body.ev-upcoming .page-banner .rail .rule {flex-shrink:0; width:2px; height:clamp(52px,7vh,70px);
    background:linear-gradient(180deg,transparent,rgba(95,200,232,.9),transparent);}
  body.ev-upcoming .page-banner .logos {display:flex; align-items:center; flex:1; min-width:0; gap:0; flex-wrap:nowrap;}
  body.ev-upcoming .page-banner .logos a {flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:center;
    height:clamp(116px,13.5vh,152px); opacity:.84; transition:opacity .25s, transform .25s; position:relative;}
  body.ev-upcoming .page-banner .logos a.ibs::after {content:""; position:absolute; right:0; top:50%;
    transform:translateY(-50%); width:2px; height:clamp(52px,7vh,70px); background:rgba(95,200,232,.7);}
  body.ev-upcoming .page-banner .logos a:hover {opacity:1; transform:translateY(-3px);}
  body.ev-upcoming .page-banner .logos img {height:auto; max-width:100%; max-height:100%; transition:filter .25s;}
  body.ev-upcoming .page-banner .logos a:hover img {filter:drop-shadow(0 0 9px rgba(95,200,232,.5));}
  body.ev-upcoming .page-banner .logos img {width:clamp(101px,10.8vw,168px);}
  @media (max-width:768px) {
    body.ev-upcoming .page-banner .rail {margin:0 -24px; gap:14px; padding:0 18px; height:112px;}
    body.ev-upcoming .page-banner .rail .label, body.ev-upcoming .page-banner .rail .rule {display:none;}
    body.ev-upcoming .page-banner .logos a {height:112px;}
    body.ev-upcoming .page-banner .logos img {width:clamp(72px,18vw,115px);}
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 900px) {
    body.ev-upcoming .group-strip-label {
      border-right: none; padding-right: 0;
      width: 100%; text-align: center;
    }
    body.ev-upcoming .banner-corner { top: 18px; }
    body.ev-upcoming .banner-forbes { right: 20px; }
    body.ev-upcoming .banner-corner img { max-width: 80px; max-height: 80px; }
    body.ev-upcoming .banner-corner-label { font-size: 9px; letter-spacing: 2px; }
    body.ev-upcoming .banner-wrap { padding-top: 56px; }
  }
  @media (max-width: 768px) {
    body.ev-upcoming .page-banner { padding: 60px 24px 0; }
    body.ev-upcoming .banner-wrap { padding-bottom: 50px; }
    body.ev-upcoming .banner-wrap h1 { font-size: 34px; }
    body.ev-upcoming .banner-wrap h1 span { font-size: 38px; }
    body.ev-upcoming .group-strip { margin: 0 -24px; padding: 16px 24px; }
    body.ev-upcoming .group-strip-wrap { gap: 18px; }
    body.ev-upcoming .group-logo { height: 44px; }
    body.ev-upcoming .banner-corner img { max-width: 64px; max-height: 64px; }
    body.ev-upcoming .banner-corner-label { font-size: 8px; }
  }

  body.ev-upcoming .page-banner { padding-top:44px; }
  body.ev-upcoming .page-banner .banner-wrap { text-align:center; padding-bottom:54px; }
  body.ev-upcoming .banner-wrap .sub { margin-bottom:16px; justify-content:center; }
  body.ev-upcoming .banner-wrap h1 { font-size:56px; line-height:1.12; margin-bottom:14px; }
  body.ev-upcoming .banner-wrap h1 .accent { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight:700; /* font-size:66px */;
    background:linear-gradient(100deg,#1a4d8c,#5fc8e8); -webkit-background-clip:text; background-clip:text; color:transparent; }
  body.ev-upcoming .banner-wrap .banner-lede { max-width:720px; margin:6px auto 0; color:rgba(255,255,255,.9); font-size:16px; line-height:1.6; }
  body.ev-upcoming .banner-wrap .meta-row { display:inline-flex; gap:18px; align-items:center; justify-content:center; margin:22px auto 0; color:rgba(255,255,255,.92); font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:1px; }
  body.ev-upcoming .banner-wrap .meta-row span { display:inline-flex; align-items:center; }
  body.ev-upcoming .banner-wrap .meta-row span + span::before { content:"|"; margin-right:18px; color:#5fc8e8; opacity:1; font-weight:500; }
  @media (max-width:768px) {
    body.ev-upcoming .banner-wrap h1 { font-size:34px; } body.ev-upcoming .banner-wrap h1 .accent { font-size:40px; }
    body.ev-upcoming .banner-wrap .meta-row { flex-direction:column; gap:8px; }
    body.ev-upcoming .banner-wrap .meta-row span + span::before { display:none; }
    body.ev-upcoming .host-box { gap:16px; padding:12px 16px; }
  }

/* =========================================================================
   ROOT PAGE — faq.html  (scoped body.pg-faq; 3 identical dups removed)
   ========================================================================= */
body.pg-faq .page-banner { position:relative; color:#fff; padding:90px 60px 110px; overflow:hidden;
    background:
      linear-gradient(135deg, rgba(13,45,82,0.93) 0%, rgba(26,77,140,0.86) 52%, rgba(13,45,82,0.94) 100%),
      url('/images/inline/6bb11b410a.jpg') center/cover no-repeat; }

body.pg-faq .page-banner::before { content:""; position:absolute; top:34px; left:46px; width:120px; height:120px; background:#1a4d8c; transform:rotate(45deg); opacity:0.5; border-radius:14px; }

body.pg-faq .page-banner::after { content:""; position:absolute; bottom:40px; right:64px; width:150px; height:150px; background:#5fc8e8; transform:rotate(45deg); opacity:0.22; border-radius:14px; }

body.pg-faq .banner-wrap { max-width:1300px; margin:0 auto; position:relative; z-index:2; text-align:center; }

body.pg-faq .banner-wrap .sub { color:#5fc8e8; letter-spacing:4px; font-size:13px; font-weight:600; text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; margin-bottom:18px; }

body.pg-faq .banner-wrap h1 { font-size:56px; line-height:1.12; font-weight:700; margin-bottom:14px; }

body.pg-faq .wrap { max-width:1200px; margin:0 auto; }

body.pg-faq .position h2 { font-size:28px; line-height:1.25; color:#0d2d52; font-weight:700; margin-bottom:18px; }

body.pg-faq .pos-card h3 { font-size:14px; letter-spacing:2px; text-transform:uppercase; color:#5fc8e8; margin-bottom:22px; font-weight:600; position:relative; z-index:2; }

body.pg-faq .pos-card li span { color:#cfe0f3; }

body.pg-faq .reach .sec-head h2 { color:#fff; }

body.pg-faq .reach .sec-head h2 span { color:#5fc8e8; }

body.pg-faq .reach .sec-head .sub { color:#5fc8e8; }

body.pg-faq .reach .sec-head .sub::before { background:linear-gradient(90deg,transparent,#5fc8e8); }

body.pg-faq .reach .sec-head .sub::after { background:linear-gradient(90deg,#5fc8e8,transparent); }

body.pg-faq .stat .num { font-size:33px; font-weight:800; line-height:1; background:linear-gradient(90deg,#5fc8e8,#fff); -webkit-background-clip:text; background-clip:text; color:transparent; }

body.pg-faq .reason h3 { font-size:17px; color:#0d2d52; font-weight:700; margin-bottom:8px; }

body.pg-faq .vis-card h3 { font-size:21px; font-weight:700; margin-bottom:16px; position:relative; z-index:2; }

body.pg-faq .cta h2 { font-size:26px; font-weight:700; margin-bottom:12px; position:relative; z-index:2; }

body.pg-faq .cta h2 span { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:#5fc8e8; /* font-size:33px */; }

body.pg-faq .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }

body.pg-faq .reveal.in { opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce) {
body.pg-faq .reveal {opacity:1;transform:none;}
}

@media (max-width:768px) {
body.pg-faq section { padding:54px 22px; }
body.pg-faq .page-banner { padding:66px 22px 74px; }
body.pg-faq .banner-wrap h1 { font-size:34px; }
body.pg-faq .banner-wrap h1 span { font-size:44px; }
body.pg-faq .position h2, body.pg-faq .sec-head h2 { font-size:28px; }
body.pg-faq .sec-head h2 span { font-size:36px; }
body.pg-faq .cta h2 { font-size:24px; }
}

body.pg-faq .faq-acc { background:linear-gradient(180deg,#f4f8fc,#eef4fa); }

body.pg-faq .acc-wrap { max-width:900px; margin:0 auto; }

body.pg-faq .acc-cat { margin-bottom:32px; }

body.pg-faq .acc-cat > h3 { font-size:13px; letter-spacing:2.5px; text-transform:uppercase; color:#1a4d8c; font-weight:700; margin-bottom:14px; display:flex; align-items:center; gap:11px; }

body.pg-faq .acc-cat > h3::before { content:""; width:26px; height:2px; background:linear-gradient(90deg,#1a4d8c,#3eb1d8); }

body.pg-faq .acc-item { background:#fff; border:1px solid #e8eff7; border-radius:14px; margin-bottom:10px; overflow:hidden; transition:box-shadow .25s, border-color .25s; }

body.pg-faq .acc-item.open { border-color:#2680c2; box-shadow:0 14px 32px rgba(13,45,82,0.13); }

body.pg-faq .acc-head { display:flex; align-items:center; gap:18px; padding:17px 22px; cursor:pointer; }

body.pg-faq .acc-num { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-size:30px; color:#cddcec; font-weight:700; line-height:1; width:40px; flex-shrink:0; transition:color .25s; }

body.pg-faq .acc-item.open .acc-num { color:#2680c2; }

body.pg-faq .acc-q { flex:1; font-size:15.5px; font-weight:600; color:#0d2d52; line-height:1.4; }

body.pg-faq .acc-ic { flex-shrink:0; width:30px; height:30px; border-radius:8px; background:#eef4fb; display:grid; place-items:center; transition:.3s; }

body.pg-faq .acc-item.open .acc-ic { background:linear-gradient(135deg,#1a4d8c,#2680c2); }

body.pg-faq .acc-ic span { position:relative; width:13px; height:13px; display:block; }

body.pg-faq .acc-ic span::before, body.pg-faq .acc-ic span::after { content:""; position:absolute; background:#1a4d8c; border-radius:2px; transition:.3s; }

body.pg-faq .acc-ic span::before { top:5px; left:0; width:13px; height:3px; }

body.pg-faq .acc-ic span::after { left:5px; top:0; width:3px; height:13px; }

body.pg-faq .acc-item.open .acc-ic span::before, body.pg-faq .acc-item.open .acc-ic span::after { background:#fff; }

body.pg-faq .acc-item.open .acc-ic span::after { transform:rotate(90deg); opacity:0; }

body.pg-faq .acc-body { max-height:0; overflow:hidden; transition:max-height .4s ease; }

body.pg-faq .acc-body .inner { padding:0 24px 20px 80px; font-size:14.3px; line-height:1.8; color:#4a5564; }

body.pg-faq .acc-body .inner a { color:#2680c2; font-weight:600; word-break:break-word; }

@media (max-width:768px) {
body.pg-faq .acc-body .inner { padding:0 20px 18px 22px; }
body.pg-faq .acc-num { font-size:24px; width:32px; }
}

/* =========================================================================
   ROOT PAGE — about.html  (scoped body.pg-about; 8 identical dups removed)
   ========================================================================= */
body.pg-about .page-banner {
    position: relative; color: #fff; padding: 50px 60px 0; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.92) 0%, rgba(26, 77, 140, 0.82) 50%, rgba(13, 45, 82, 0.92) 100%),
      url('/images/inline/240f0c695d.jpg') center/cover no-repeat;
  }

body.pg-about .page-banner::before {
    content: ""; position: absolute; bottom: 40px; left: -30px; width: 120px; height: 120px;
    background: #1a4d8c; transform: rotate(45deg); opacity: 0.4; border-radius: 12px; z-index: 1;
  }

body.pg-about .page-banner::after {
    content: ""; position: absolute; top: 50%; right: -30px; width: 130px; height: 130px; margin-top: -65px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.22; border-radius: 12px; z-index: 1;
  }

body.pg-about .banner-cedar { left: 60px; align-items: flex-start; }

body.pg-about .banner-cedar img { opacity: 0.95; }

body.pg-about .banner-cedar:hover img { opacity: 1; filter: drop-shadow(0 0 12px rgba(95, 200, 232, 0.6)); }

body.pg-about .banner-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; text-align: center; padding: 26px 0 70px; }

body.pg-about .banner-wrap .sub { color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600; text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; }

body.pg-about .banner-wrap h1 { font-size: 56px; line-height: 1.14; font-weight: 700; margin-bottom: 16px; }

body.pg-about .banner-wrap h1 span { color: #5fc8e8; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 64px */; }

body.pg-about .banner-lead { max-width: 760px; margin: 0 auto; font-size: 16.5px; line-height: 1.75; color: rgba(255,255,255,0.92); }

body.pg-about .group-strip {
    position: relative; z-index: 2; background: rgba(13, 45, 82, 0.55);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255, 255, 255, 0.10); margin: 0 -60px; padding: 22px 60px;
  }

body.pg-about .group-strip-wrap { max-width: 1300px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; }

body.pg-about .group-strip-label { font-size: 12px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: #5fc8e8; padding-right: 22px; border-right: 1px solid rgba(95, 200, 232, 0.3); white-space: nowrap; }

body.pg-about .group-logo { display: inline-flex; align-items: center; justify-content: center; height: 56px; padding: 0 4px; opacity: 0.88; transition: opacity 0.25s ease, transform 0.25s ease, filter 0.25s ease; }

body.pg-about .group-logo:hover { opacity: 1; filter: drop-shadow(0 0 8px rgba(95, 200, 232, 0.6)); transform: translateY(-2px); }

body.pg-about .group-logo img { max-height: 100%; max-width: 150px; width: auto; object-fit: contain; }

body.pg-about .group-logo-lg { height: 72px; }

body.pg-about .group-logo-lg img { max-width: 180px; }

body.pg-about .group-logo-cifl { height: 110px; }

body.pg-about .group-logo-cifl img { max-width: 165px; max-height: 100%; }

body.pg-about .wrap { max-width:1200px; margin:0 auto; }

body.pg-about .stat-band { background:linear-gradient(180deg,#eef4fa,#f6f9fc); color:#0d2d52; position:relative; overflow:hidden; padding:40px 60px; border-top:1px solid #e3ebf4; border-bottom:1px solid #e3ebf4; }

body.pg-about .stats { display:grid; grid-template-columns:repeat(6,1fr); gap:0; position:relative; z-index:2; max-width:1240px; margin:0 auto; }

body.pg-about .stat { text-align:center; padding:6px 16px; position:relative; }

body.pg-about .stat + .stat::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:rgba(95,200,232,.7); }

body.pg-about .stat .num { font-size:40px; font-weight:600; line-height:1; background:linear-gradient(90deg,#1a4d8c,#2680c2); -webkit-background-clip:text; background-clip:text; color:transparent; }

body.pg-about .stat .lbl { margin-top:10px; font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; color:#0d2d52; line-height:1.5; }

body.pg-about .intro { background:#fff; }

body.pg-about .intro-grid { display:grid; grid-template-columns:1.35fr 0.9fr; gap:54px; align-items:center; }

body.pg-about .intro-eyebrow { color:#1a4d8c; letter-spacing:3px; font-size:13px; font-weight:600; text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; margin-bottom:18px; }

body.pg-about .intro-eyebrow::before { content:""; width:34px; height:2px; background:#1a4d8c; }

body.pg-about .intro h2 { font-size:42px; line-height:1.25; color:#0d2d52; font-weight:700; margin-bottom:22px; }

body.pg-about .intro h2 em { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; /* font-style:normal */ color:#1a4d8c; /* font-size:46px */; }

body.pg-about .intro p { color:#333; font-size:15.5px; line-height:1.9; margin-bottom:16px; }

body.pg-about .intro p strong { color:#0d2d52; font-weight:600; }

body.pg-about .facts-card { background:linear-gradient(150deg,#0d2d52,#1a4d8c 60%,#2680c2); border-radius:18px; padding:38px 36px; color:#fff; position:relative; overflow:hidden; box-shadow:0 22px 50px rgba(13,45,82,0.28); }

body.pg-about .facts-card::after { content:""; position:absolute; top:-40px; right:-40px; width:150px; height:150px; background:#5fc8e8; opacity:0.14; transform:rotate(45deg); border-radius:18px; }

body.pg-about .facts-card h3 { font-size:14px; letter-spacing:2px; text-transform:uppercase; color:#5fc8e8; margin-bottom:22px; font-weight:600; position:relative; z-index:2; }

body.pg-about .facts-card ul { list-style:none; position:relative; z-index:2; }

body.pg-about .facts-card li { display:flex; gap:14px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,0.12); font-size:14.5px; line-height:1.5; }

body.pg-about .facts-card li:last-child { border-bottom:none; }

body.pg-about .facts-card li .k { flex-shrink:0; width:9px; height:9px; border-radius:50%; background:#3eb1d8; margin-top:6px; }

body.pg-about .facts-card li b { color:#fff; font-weight:600; }

body.pg-about .facts-card li span { color:#cfe0f3; }

body.pg-about .group { background:linear-gradient(180deg,#f4f8fc,#eef4fa); position:relative; padding:58px 60px 62px; }

body.pg-about .group .sec-head { margin-bottom:40px; }

body.pg-about .flip-row { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; max-width:1080px; margin:0 auto; }

body.pg-about .flip { perspective:1400px; height:340px; }

body.pg-about .flip-inner { position:relative; width:100%; height:100%; transition:transform .75s cubic-bezier(.22,1,.36,1); transform-style:preserve-3d; }

body.pg-about .flip:hover .flip-inner, body.pg-about .flip:focus-within .flip-inner { transform:rotateY(180deg); }

body.pg-about .flip-face { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; }

body.pg-about .flip-front { background:#fff; box-shadow:0 12px 36px rgba(13,45,82,0.10); align-items:center; justify-content:center; text-align:center; padding:34px 26px; border-top:4px solid #1a4d8c; }

body.pg-about .flip:nth-child(1) .flip-front { border-top-color:#0d2d52; }

body.pg-about .flip:nth-child(2) .flip-front { border-top-color:#1a4d8c; }

body.pg-about .flip:nth-child(3) .flip-front { border-top-color:#2680c2; }

body.pg-about .flip:nth-child(4) .flip-front { border-top-color:#3eb1d8; }

body.pg-about .flip-logo { height:90px; display:grid; place-items:center; margin-bottom:22px; }

body.pg-about .flip-logo img { max-height:78px; max-width:185px; object-fit:contain; }

body.pg-about .flip-front h3 { font-size:21px; color:#0d2d52; font-weight:700; margin-bottom:10px; }

body.pg-about .flip-front .role { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.6px; color:#1a4d8c; line-height:1.5; }

body.pg-about .flip:nth-child(2) .flip-front .role { color:#1a4d8c; }

body.pg-about .flip:nth-child(3) .flip-front .role { color:#2680c2; }

body.pg-about .flip:nth-child(4) .flip-front .role { color:#2f8fc0; }

body.pg-about .flip-back { transform:rotateY(180deg); background:linear-gradient(150deg,#0d2d52,#1a4d8c 65%,#2680c2); color:#fff; padding:30px 26px; justify-content:space-between; box-shadow:0 12px 36px rgba(13,45,82,0.18); }

body.pg-about .flip-back h4 { font-size:17px; font-weight:700; margin-bottom:12px; color:#fff; }

body.pg-about .flip-back p { font-size:13.5px; line-height:1.65; color:#dbe9f7; }

body.pg-about .flip-bottom { display:flex; flex-direction:column; gap:14px; }

body.pg-about .flip-back .chips { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }

body.pg-about .flip-back .chip { background:rgba(255,255,255,0.14); color:#fff; font-size:11px; font-weight:600; padding:6px 12px; border-radius:30px; }

body.pg-about .flip-back .ent-link { display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:#5fc8e8; transition:gap .2s; }

body.pg-about .flip-back .ent-link:hover { gap:13px; }

body.pg-about .flip-back .ent-link::after { content:"\2192"; }

body.pg-about .cta { background:linear-gradient(135deg, rgba(13,45,82,0.88), rgba(38,128,194,0.88)); color:#fff; text-align:center; position:relative; overflow:hidden; padding:38px 60px; }

body.pg-about .cta::before { content:""; position:absolute; top:-50px; left:8%; width:140px; height:140px; background:#5fc8e8; opacity:0.14; transform:rotate(45deg); border-radius:18px; }

body.pg-about .cta h2 { font-size:26px; font-weight:700; margin-bottom:10px; position:relative; z-index:2; }

body.pg-about .cta h2 span { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:#5fc8e8; /* font-size:32px */; }

body.pg-about .cta p { max-width:540px; margin:0 auto 18px; color:#dbe9f7; font-size:13.5px; line-height:1.6; position:relative; z-index:2; }

body.pg-about .cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; z-index:2; }

body.pg-about .btn { padding:11px 26px; border-radius:6px; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:1px; transition:transform .2s, box-shadow .2s; }

body.pg-about .btn-primary { background:#fff; color:#0d2d52; }

body.pg-about .btn-primary:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,0.25); }

body.pg-about .btn-ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.6); }

body.pg-about .btn-ghost:hover { background:rgba(255,255,255,0.12); transform:translateY(-3px); }

body.pg-about .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }

body.pg-about .reveal.in { opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce) {
body.pg-about .reveal {opacity:1;transform:none;}
}

@media (max-width:1024px) {
body.pg-about .intro-grid { grid-template-columns:1fr; gap:36px; }
body.pg-about .stats { grid-template-columns:repeat(3,1fr); }
body.pg-about .flip-row { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:900px) {
body.pg-about .group-strip-label { border-right:none; padding-right:0; width:100%; text-align:center; }
body.pg-about .banner-corner { top:18px; }
body.pg-about .banner-cedar { left:20px; }
body.pg-about .banner-forbes { right:20px; }
body.pg-about .banner-corner img { max-width:80px; max-height:80px; }
body.pg-about .banner-wrap { padding-top: 52px; }
}

@media (max-width:768px) {
body.pg-about section { padding:54px 22px; }
body.pg-about nav > ul { display:none; }
body.pg-about .page-banner { padding:60px 22px 0; }
body.pg-about .banner-wrap h1 { font-size:34px; }
body.pg-about .banner-wrap h1 span { font-size:40px; }
body.pg-about .group-strip { margin:0 -22px; padding:16px 22px; }
body.pg-about .group-strip-wrap { gap:18px; }
body.pg-about .stats { grid-template-columns:1fr 1fr; }
body.pg-about .stat-band { padding:40px 22px; }
body.pg-about .intro h2 { font-size:28px; }
body.pg-about .sec-head h2 { font-size:28px; }
body.pg-about .sec-head h2 span { font-size:36px; }
body.pg-about .flip-row { grid-template-columns:1fr; }
body.pg-about .flip { height:300px; }
body.pg-about .cta h2 { font-size:24px; }
}

/* =========================================================================
   ROOT PAGE — partners.html  (scoped body.pg-partners; 0 identical dups removed)
   ========================================================================= */
body.pg-partners .page-banner { position:relative; color:#fff; padding:72px 60px 78px; overflow:hidden; min-height:60vh; display:flex; flex-direction:column; justify-content:center; align-items:center;
    background:
      linear-gradient(135deg, rgba(13,45,82,0.88) 0%, rgba(26,77,140,0.78) 52%, rgba(13,45,82,0.90) 100%),
      url('/images/inline/9aeddecc59.jpg') center/cover no-repeat; }

body.pg-partners .page-banner::before { content:""; position:absolute; top:34px; left:46px; width:120px; height:120px; background:#1a4d8c; transform:rotate(45deg); opacity:0.5; border-radius:14px; }

body.pg-partners .page-banner::after { content:""; position:absolute; bottom:40px; right:64px; width:150px; height:150px; background:#5fc8e8; transform:rotate(45deg); opacity:0.22; border-radius:14px; }

body.pg-partners .banner-wrap { max-width:1300px; margin:0 auto; position:relative; z-index:2; text-align:center; }

body.pg-partners .banner-wrap h1 { font-size:56px; line-height:1.12; font-weight:700; margin-bottom:14px; }

body.pg-partners .banner-wrap h1 span { color:#5fc8e8; /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight:700; /* font-size:54px */; }

body.pg-partners .wrap { max-width:1200px; margin:0 auto; }

body.pg-partners .position h2 { font-size:28px; line-height:1.25; color:#0d2d52; font-weight:700; margin-bottom:18px; }

body.pg-partners .pos-card li span { color:#cfe0f3; }

body.pg-partners .reach .sec-head h2 { color:#fff; }

body.pg-partners .reach .sec-head h2 span { color:#5fc8e8; }

body.pg-partners .stat .num { font-size:33px; font-weight:800; line-height:1; background:linear-gradient(90deg,#5fc8e8,#fff); -webkit-background-clip:text; background-clip:text; color:transparent; }

body.pg-partners .cta h2 { font-size:26px; font-weight:700; margin-bottom:12px; position:relative; z-index:2; }

body.pg-partners .cta h2 span { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:#5fc8e8; /* font-size:33px */; }

body.pg-partners .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }

body.pg-partners .reveal.in { opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce) {
body.pg-partners .reveal {opacity:1;transform:none;}
}

@media (max-width:768px) {
body.pg-partners section { padding:54px 22px; }
body.pg-partners .page-banner { padding:66px 22px 74px; min-height:52vh; }
body.pg-partners .banner-wrap h1 { font-size:34px; }
body.pg-partners .banner-wrap h1 span { font-size:44px; }
body.pg-partners .position h2, body.pg-partners .sec-head h2 { font-size:28px; }
body.pg-partners .sec-head h2 span { font-size:36px; }
body.pg-partners .cta h2 { font-size:24px; }
}

body.pg-partners .partners-sec { padding:30px 60px 30px 60px; }

body.pg-partners .partners-sec.alt { background:linear-gradient(180deg,#f4f8fc,#eef4fa); }

body.pg-partners .cat-head { text-align:center; margin-bottom:22px; }

body.pg-partners .cat-head h2 { font-size:25px; font-weight:700; color:#0d2d52; line-height:1.2; }

body.pg-partners .cat-head h2 span { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:#1a4d8c; /* font-size:33px */; }

body.pg-partners .plogo-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; max-width:1180px; margin:0 auto; }

body.pg-partners .plogo { box-sizing:border-box; flex:0 0 calc((100% - 72px)/5); max-width:calc((100% - 72px)/5); background:#fff; border:1px solid #e8eff7; border-radius:12px; height:86px; display:grid; place-items:center; padding:12px 18px; box-shadow:0 6px 18px rgba(13,45,82,0.05); transition:transform .25s, box-shadow .25s; }

body.pg-partners .plogo:hover { transform:translateY(-5px); box-shadow:0 16px 30px rgba(13,45,82,0.12); }

body.pg-partners .plogo img { max-height:55px; max-width:100%; object-fit:contain; }

@media (max-width:768px) {
body.pg-partners .partners-sec { padding:18px 16px; }
body.pg-partners .plogo-grid { gap:12px; }
body.pg-partners .plogo { height:88px; padding:12px 16px; }
}

body.pg-partners .network-sec { padding:40px 60px 28px; background:#fff; font-family:'Poppins',sans-serif; }

body.pg-partners .net-wrap { max-width:1180px; margin:0 auto; text-align:center; }

body.pg-partners .net-eyebrow { display:flex; align-items:center; justify-content:center; gap:14px; letter-spacing:3px; font-size:12px; font-weight:600; color:#1a4d8c; text-transform:uppercase; margin-bottom:12px; }

body.pg-partners .net-eyebrow .eb-line { width:46px; height:2px; background:linear-gradient(90deg,transparent,#1a4d8c); }

body.pg-partners .net-eyebrow .eb-line:last-child { background:linear-gradient(90deg,#1a4d8c,transparent); }

body.pg-partners .net-title { font-size:42px; font-weight:700; color:#0d2d52; line-height:1.1; margin-bottom:12px; }

body.pg-partners .net-title span { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:#1a4d8c; font-weight:700; /* font-size:40px */; }

body.pg-partners .net-sub { max-width:680px; margin:0 auto 22px; font-size:15px; line-height:1.55; color:#5a6b7e; }

body.pg-partners .net-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin: 0 20px; }

body.pg-partners .fpill { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid #e8eff7; border-radius:40px; margin: 0px 10px; padding:8px 15px; font-family:'Poppins',sans-serif; font-size:13.5px; font-weight:600; color:#0d2d52; cursor:pointer; box-shadow:0 6px 16px rgba(13,45,82,0.06); transition:transform .2s, box-shadow .2s, background .25s, color .25s, border-color .25s; }

body.pg-partners .fpill:hover { transform:translateY(-3px); box-shadow:0 14px 26px rgba(13,45,82,0.12); }

body.pg-partners .fpill .dot { width:11px; height:11px; border-radius:50%; background:var(--d,#1a4d8c); flex:none; transition:box-shadow .25s; }

body.pg-partners .fpill.active { background:#0d2d52; color:#fff; border-color:#0d2d52; box-shadow:0 12px 26px rgba(13,45,82,0.22); }

body.pg-partners .fpill.active .dot { box-shadow:0 0 0 3px rgba(255,255,255,0.22); }

body.pg-partners .partners-sec { scroll-margin-top:84px; position:relative; }

body.pg-partners .partners-sec .wrap { border:1px solid transparent; border-radius:24px; transition:padding .4s ease; }

body.pg-partners .partners-sec.glass-active::before {
  content:""; position:absolute; inset:14px 3%; z-index:0; border-radius:32px;
  background:
    radial-gradient(60% 80% at 18% 0%, rgba(95,200,232,0.24), transparent 70%),
    radial-gradient(60% 80% at 86% 100%, rgba(26,77,140,0.22), transparent 70%);
  filter:blur(10px); opacity:0; animation:glassGlow .6s ease forwards;
}

body.pg-partners .partners-sec.glass-active .wrap {
  position:relative; z-index:1;
  background:rgba(255,255,255,0.55);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);
  backdrop-filter:blur(16px) saturate(1.5);
  border:1px solid rgba(255,255,255,0.85);
  border-radius:24px;
  box-shadow:0 24px 60px rgba(13,45,82,0.16), inset 0 1px 0 rgba(255,255,255,0.7);
  padding:24px 30px;
  animation:glassPop .65s cubic-bezier(.22,1,.36,1);
}

@keyframes glassGlow { from{opacity:0} to{opacity:1} }

@keyframes glassPop {
  0%   { transform:scale(.985); }
  55%  { box-shadow:0 28px 70px rgba(26,77,140,0.28), 0 0 0 4px rgba(95,200,232,0.30); }
  100% { transform:scale(1); }
}

@media (max-width:1024px) { body.pg-partners .plogo { flex:0 0 calc((100% - 54px)/4); max-width:calc((100% - 54px)/4); } }

@media (max-width:768px) {
  body.pg-partners .network-sec { padding:40px 20px 4px; }
  body.pg-partners .net-title { font-size:28px; }
  body.pg-partners .net-title span { font-size:38px; }
  body.pg-partners .net-sub { font-size:15px; }
  body.pg-partners .fpill { font-size:13px; padding:9px 14px; }
  body.pg-partners .plogo-grid { gap:12px; }
  body.pg-partners .plogo { flex:0 0 calc((100% - 24px)/3); max-width:calc((100% - 24px)/3); height:88px; padding:12px 16px; }
  body.pg-partners .plogo img { max-height:48px; }
}

@media (max-width:520px) { body.pg-partners .plogo { flex:0 0 calc((100% - 12px)/2); max-width:calc((100% - 12px)/2); } }

/* =========================================================================
   ROOT PAGE — why-partner.html  (scoped body.pg-why-partner; 6 identical dups removed)
   ========================================================================= */
body.pg-why-partner .page-banner { position: relative; color: #fff; padding: 50px 60px 0; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.92) 0%, rgba(26, 77, 140, 0.82) 50%, rgba(13, 45, 82, 0.92) 100%),
      url('/images/inline/d8d6674012.jpg') center/cover no-repeat; }

body.pg-why-partner .page-banner::before { content:""; position:absolute; bottom:40px; left:-30px; width:120px; height:120px; background:#1a4d8c; transform:rotate(45deg); opacity:0.4; border-radius:12px; z-index:1; }

body.pg-why-partner .page-banner::after { content:""; position:absolute; top:50%; right:-30px; width:130px; height:130px; margin-top:-65px; background:#5fc8e8; transform:rotate(45deg); opacity:0.22; border-radius:12px; z-index:1; }

body.pg-why-partner .banner-corner { position:absolute; top:28px; z-index:3; display:inline-flex; flex-direction:column; gap:8px; transition:transform .25s ease; }

body.pg-why-partner .banner-cedar { left:60px; align-items:flex-start; }

body.pg-why-partner .banner-corner img { max-width:110px; max-height:110px; width:auto; display:block; transition:opacity .25s ease, filter .25s ease; }

body.pg-why-partner .banner-cedar img { opacity:0.95; }

body.pg-why-partner .banner-cedar:hover img { opacity:1; filter:drop-shadow(0 0 12px rgba(95,200,232,0.6)); }

body.pg-why-partner .banner-wrap { max-width:1300px; margin:0 auto; position:relative; z-index:2; text-align:center; padding:26px 0 70px; }

body.pg-why-partner .banner-wrap .sub { color:#5fc8e8; letter-spacing:4px; font-size:13px; font-weight:600; text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; margin-bottom:18px; }

body.pg-why-partner .banner-wrap h1 { font-size:56px; line-height:1.14; font-weight:700; margin-bottom:16px; }

body.pg-why-partner .banner-wrap h1 span { color:#5fc8e8; /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight:700; /* font-size:64px */; }

body.pg-why-partner .banner-lead { max-width:760px; margin:0 auto; font-size:16.5px; line-height:1.75; color:rgba(255,255,255,0.92); }

body.pg-why-partner .group-strip { position:relative; z-index:2; background:rgba(13,45,82,0.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    border-top:1px solid rgba(255,255,255,0.10); margin:0 -60px; padding:22px 60px; }

body.pg-why-partner .group-strip-wrap { max-width:1300px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap; }

body.pg-why-partner .group-strip-label { font-size:12px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:#5fc8e8; padding-right:22px; border-right:1px solid rgba(95,200,232,0.3); white-space:nowrap; }

body.pg-why-partner .group-logo { display:inline-flex; align-items:center; justify-content:center; height:56px; padding:0 4px; opacity:0.88; transition:opacity .25s ease, transform .25s ease, filter .25s ease; }

body.pg-why-partner .group-logo:hover { opacity:1; filter:drop-shadow(0 0 8px rgba(95,200,232,0.6)); transform:translateY(-2px); }

body.pg-why-partner .group-logo img { max-height:100%; max-width:150px; width:auto; object-fit:contain; }

body.pg-why-partner .group-logo-lg { height:72px; }

body.pg-why-partner .group-logo-lg img { max-width:180px; }

body.pg-why-partner .group-logo-cifl { height:110px; }

body.pg-why-partner .group-logo-cifl img { max-width:165px; max-height:100%; }

body.pg-why-partner .stat-band { background:linear-gradient(180deg,#eef4fa,#f6f9fc); color:#0d2d52; position:relative; overflow:hidden; padding:40px 60px; border-top:1px solid #e3ebf4; border-bottom:1px solid #e3ebf4; }

body.pg-why-partner .stats { display:grid; grid-template-columns:repeat(6,1fr); gap:0; position:relative; z-index:2; max-width:1240px; margin:0 auto; }

body.pg-why-partner .stat { text-align:center; padding:6px 16px; position:relative; }

body.pg-why-partner .stat + .stat::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:rgba(95,200,232,.7); }

body.pg-why-partner .stat .num { font-size:40px; font-weight:600; line-height:1; background:linear-gradient(90deg,#1a4d8c,#2680c2); -webkit-background-clip:text; background-clip:text; color:transparent; }

body.pg-why-partner .stat .lbl { margin-top:10px; font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; color:#0d2d52; line-height:1.5; }

body.pg-why-partner .wrap { max-width:1200px; margin:0 auto; }

body.pg-why-partner .sec-head p { max-width:660px; margin:12px auto 0; color:#333; font-size:14.3px; line-height:1.7; }

body.pg-why-partner .position { background:#fff; }

body.pg-why-partner .pos-grid { display:grid; grid-template-columns:1.25fr 0.95fr; gap:40px; align-items:center; }

body.pg-why-partner .pos-eyebrow { color:#1a4d8c; letter-spacing:3px; font-size:13px; font-weight:600; text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; margin-bottom:18px; }

body.pg-why-partner .pos-eyebrow::before { content:""; width:34px; height:2px; background:#1a4d8c; }

body.pg-why-partner .position h2 { font-size:28px; line-height:1.25; color:#0d2d52; font-weight:700; margin-bottom:18px; }

body.pg-why-partner .position h2 em { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; /* font-style:normal */ color:#1a4d8c; /* font-size:36px */; }

body.pg-why-partner .position p { color:#333; font-size:14.3px; line-height:1.8; margin-bottom:13px; }

body.pg-why-partner .position p strong { color:#0d2d52; font-weight:600; }

body.pg-why-partner .pos-card { background:linear-gradient(150deg,#0d2d52,#1a4d8c 60%,#2680c2); border-radius:18px; padding:28px 30px; color:#fff; position:relative; overflow:hidden; box-shadow:0 22px 50px rgba(13,45,82,0.28); }

body.pg-why-partner .pos-card::after { content:""; position:absolute; top:-40px; right:-40px; width:150px; height:150px; background:#5fc8e8; opacity:0.14; transform:rotate(45deg); border-radius:18px; }

body.pg-why-partner .pos-card h3 { font-size:14px; letter-spacing:2px; text-transform:uppercase; color:#5fc8e8; margin-bottom:22px; font-weight:600; position:relative; z-index:2; }

body.pg-why-partner .pos-card ul { list-style:none; position:relative; z-index:2; }

body.pg-why-partner .pos-card li { display:flex; gap:14px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.12); font-size:14.5px; line-height:1.5; }

body.pg-why-partner .pos-card li:last-child { border-bottom:none; }

body.pg-why-partner .pos-card li .k { flex-shrink:0; width:9px; height:9px; border-radius:50%; background:#3eb1d8; margin-top:6px; }

body.pg-why-partner .pos-card li b { color:#fff; font-weight:600; }

body.pg-why-partner .pos-card li span { color:#cfe0f3; }

body.pg-why-partner .vis { background:linear-gradient(180deg,#f4f8fc,#eef4fa); }

body.pg-why-partner .vis-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }

body.pg-why-partner .vis-card { border-radius:18px; padding:30px 30px; position:relative; overflow:hidden; color:#fff; }

body.pg-why-partner .vis-card.v1 { background:linear-gradient(145deg, rgba(13,45,82,0.82), rgba(26,77,140,0.76) 70%, rgba(38,128,194,0.72)); }

body.pg-why-partner .vis-card.v2 { background:linear-gradient(145deg, rgba(26,77,140,0.78), rgba(38,128,194,0.72) 70%, rgba(62,177,216,0.66)); }

body.pg-why-partner .vis-card::after { content:""; position:absolute; bottom:-34px; right:-34px; width:140px; height:140px; background:#fff; opacity:0.07; transform:rotate(45deg); border-radius:18px; }

body.pg-why-partner .vis-card .vtag { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#bfe3ee; font-weight:600; margin-bottom:8px; }

body.pg-why-partner .vis-card h3 { font-size:21px; font-weight:700; margin-bottom:16px; position:relative; z-index:2; }

body.pg-why-partner .vis-card ul { list-style:none; position:relative; z-index:2; }

body.pg-why-partner .vis-card li { display:flex; gap:13px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.14); font-size:14.5px; line-height:1.5; align-items:flex-start; }

body.pg-why-partner .vis-card li:last-child { border-bottom:none; }

body.pg-why-partner .vis-card li svg { width:18px; height:18px; flex-shrink:0; margin-top:2px; stroke:#5fc8e8; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }

body.pg-why-partner .vis-card.v2 li svg { stroke:#d6ecfb; }

body.pg-why-partner .reasons { background:#fff; }

body.pg-why-partner .reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1080px; margin:0 auto; }

body.pg-why-partner .reason { display:flex; align-items:center; gap:16px; padding:22px 22px; border:2px solid #1a4d8c; border-radius:14px; background:#fff; }

body.pg-why-partner .reason:nth-child(3n+1) { border-color:#1a4d8c; }

body.pg-why-partner .reason:nth-child(3n+2) { border-color:#2680c2; }

body.pg-why-partner .reason:nth-child(3n) { border-color:#3eb1d8; }

body.pg-why-partner .r-ico { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; flex-shrink:0; background:linear-gradient(150deg,#1a4d8c,#2680c2); }

body.pg-why-partner .reason:nth-child(3n+2) .r-ico { background:linear-gradient(150deg,#2680c2,#2680c2); }

body.pg-why-partner .reason:nth-child(3n) .r-ico { background:linear-gradient(150deg,#2680c2,#3eb1d8); }

body.pg-why-partner .r-ico svg { width:24px; height:24px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

body.pg-why-partner .reason h3 { font-size:15.5px; color:#0d2d52; font-weight:700; margin-bottom:4px; line-height:1.25; }

body.pg-why-partner .reason p { color:#333; font-size:12.8px; line-height:1.5; }

body.pg-why-partner .tiers { background:linear-gradient(180deg,#eef4fa,#f4f8fc); }

body.pg-why-partner .tier-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }

body.pg-why-partner .tier { background:#fff; border-radius:18px; padding:28px 26px; box-shadow:0 14px 38px rgba(13,45,82,0.09); display:flex; flex-direction:column; position:relative; transition:transform .3s, box-shadow .3s; border:1px solid #e9f0f8; }

body.pg-why-partner .tier:hover { transform:translateY(-8px); box-shadow:0 30px 60px rgba(13,45,82,0.18); }

body.pg-why-partner .tier.feat { background:linear-gradient(160deg,#0d2d52,#1a4d8c 70%,#2680c2); color:#fff; transform:scale(1.04); box-shadow:0 26px 60px rgba(13,45,82,0.32); }

body.pg-why-partner .tier.feat:hover { transform:scale(1.04) translateY(-8px); }

body.pg-why-partner .tier-badge { position:absolute; top:18px; right:18px; background:#5fc8e8; color:#0d2d52; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:5px 12px; border-radius:30px; }

body.pg-why-partner .tier .tname { font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:600; color:#1a4d8c; margin-bottom:10px; }

body.pg-why-partner .tier.feat .tname { color:#5fc8e8; }

body.pg-why-partner .tier .tprice { font-size:25px; font-weight:800; color:#0d2d52; margin-bottom:4px; }

body.pg-why-partner .tier.feat .tprice { color:#fff; }

body.pg-why-partner .tier .tprice small { font-size:14px; font-weight:500; color:#8a98ac; }

body.pg-why-partner .tier.feat .tprice small { color:#bcd3ec; }

body.pg-why-partner .tier .tdesc { font-size:13.5px; color:#333; margin-bottom:22px; line-height:1.6; }

body.pg-why-partner .tier.feat .tdesc { color:#cfe0f3; }

body.pg-why-partner .tier ul { list-style:none; margin-bottom:20px; flex:1; }

body.pg-why-partner .tier li { display:flex; gap:11px; padding:7px 0; font-size:14px; color:#333; line-height:1.5; align-items:flex-start; border-bottom:1px solid #eef3f8; }

body.pg-why-partner .tier.feat li { color:#e3eef7; border-bottom-color:rgba(255,255,255,0.12); }

body.pg-why-partner .tier li svg { width:17px; height:17px; flex-shrink:0; margin-top:2px; stroke:#2680c2; fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }

body.pg-why-partner .tier.feat li svg { stroke:#5fc8e8; }

body.pg-why-partner .tier .tbtn { text-align:center; padding:13px; border-radius:8px; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:1px; background:linear-gradient(90deg,#1a4d8c,#2680c2); color:#fff; transition:transform .2s, box-shadow .2s; }

body.pg-why-partner .tier.feat .tbtn { background:#fff; color:#0d2d52; }

body.pg-why-partner .tier .tbtn:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(26,77,140,0.3); }

body.pg-why-partner .cta { background:linear-gradient(135deg, rgba(13,45,82,0.88), rgba(38,128,194,0.88)); color:#fff; text-align:center; position:relative; overflow:hidden; padding:38px 60px; }

body.pg-why-partner .cta::before { content:""; position:absolute; top:-50px; left:8%; width:140px; height:140px; background:#5fc8e8; opacity:0.14; transform:rotate(45deg); border-radius:18px; }

body.pg-why-partner .cta h2 { font-size:26px; font-weight:700; margin-bottom:10px; position:relative; z-index:2; }

body.pg-why-partner .cta h2 span { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:#5fc8e8; /* font-size:32px */; }

body.pg-why-partner .cta p { max-width:540px; margin:0 auto 18px; color:#dbe9f7; font-size:13.5px; line-height:1.6; position:relative; z-index:2; }

body.pg-why-partner .cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; z-index:2; }

body.pg-why-partner .btn { padding:12px 30px; border-radius:6px; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:1px; transition:transform .2s, box-shadow .2s; }

body.pg-why-partner .btn-primary { background:#fff; color:#0d2d52; }

body.pg-why-partner .btn-primary:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,0.25); }

body.pg-why-partner .btn-ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.6); }

body.pg-why-partner .btn-ghost:hover { background:rgba(255,255,255,0.12); transform:translateY(-3px); }

body.pg-why-partner .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }

body.pg-why-partner .reveal.in { opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce) {
body.pg-why-partner .reveal {opacity:1;transform:none;}
}

@media (max-width:1024px) {
body.pg-why-partner .pos-grid { grid-template-columns:1fr; gap:36px; }
body.pg-why-partner .reason-grid, body.pg-why-partner .tier-grid { grid-template-columns:repeat(2,1fr); }
body.pg-why-partner .vis-grid { grid-template-columns:1fr; }
body.pg-why-partner .stats { grid-template-columns:repeat(3,1fr); }
body.pg-why-partner .stat:nth-child(4)::before, body.pg-why-partner .stat:nth-child(4) { }
body.pg-why-partner .tier.feat { transform:none; }
body.pg-why-partner .tier.feat:hover { transform:translateY(-8px); }
}

@media (max-width:900px) {
body.pg-why-partner .group-strip-label { border-right:none; padding-right:0; width:100%; text-align:center; }
body.pg-why-partner .banner-corner { top:18px; }
body.pg-why-partner .banner-cedar { left:20px; }
body.pg-why-partner .banner-forbes { right:20px; }
body.pg-why-partner .banner-corner img { max-width:80px; max-height:80px; }
body.pg-why-partner .banner-wrap { padding-top: 52px; }
}

@media (max-width:768px) {
body.pg-why-partner section { padding:48px 22px; }
body.pg-why-partner nav > ul { display:none; }
body.pg-why-partner .page-banner { padding:60px 22px 0; }
body.pg-why-partner .banner-wrap h1 { font-size:34px; }
body.pg-why-partner .banner-wrap h1 span { font-size:40px; }
body.pg-why-partner .group-strip { margin:0 -22px; padding:16px 22px; }
body.pg-why-partner .group-strip-wrap { gap:18px; }
body.pg-why-partner .stats { grid-template-columns:1fr 1fr; }
body.pg-why-partner .stat + .stat::before { display:none; }
body.pg-why-partner .position h2, body.pg-why-partner .sec-head h2 { font-size:28px; }
body.pg-why-partner .sec-head h2 span { font-size:34px; }
body.pg-why-partner .reason-grid, body.pg-why-partner .tier-grid { grid-template-columns:1fr; }
body.pg-why-partner .cta h2 { font-size:24px; }
}

/* =========================================================================
   ROOT PAGE — calendar.html  (scoped body.pg-calendar; 3 identical dups removed)
   ========================================================================= */
body.pg-calendar .page-banner {
    position: relative; color: #fff; padding: 90px 60px 110px; overflow: hidden;
    background:
      linear-gradient(rgba(13,45,82,0.12), rgba(13,45,82,0.24)),
      url('/images/inline/fb63d9ea4b.png') center/cover no-repeat;
  }

body.pg-calendar .banner-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; text-align: center; }

body.pg-calendar .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }

body.pg-calendar .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }

body.pg-calendar .banner-lead { max-width: 760px; margin: 0 auto; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.92); }

body.pg-calendar .cal-stat .ico svg { width: 24px; height: 24px; }

body.pg-calendar .cal-stat:nth-child(1) .ico svg { fill: #1a4d8c; }

body.pg-calendar .cal-stat:nth-child(2) .ico svg { fill: #0f8a8f; }

body.pg-calendar .cal-stat:nth-child(3) .ico svg { fill: #2680c2; }

body.pg-calendar .cal-stat:nth-child(4) .ico svg { fill: #3eb1d8; }

body.pg-calendar .chip {
    border: 1.5px solid #cdd9e6; background: #fff; color: #0d2d52;
    padding: 10px 24px; border-radius: 30px; font-size: 13px; font-weight: 600;
    cursor: pointer; transition: all 0.22s; display: inline-flex; align-items: center; gap: 9px;
    font-family: 'Poppins', sans-serif;
  }

body.pg-calendar .chip:hover { border-color: #1a4d8c; transform: translateY(-2px); }

body.pg-calendar .chip.active { background: linear-gradient(90deg,#1a4d8c,#2680c2); color: #fff; border-color: transparent; box-shadow: 0 8px 20px rgba(26,77,140,0.3); }

body.pg-calendar .tl-month { display: grid; grid-template-columns: 120px 1fr; gap: 40px; margin-bottom: 14px; align-items: start; }

body.pg-calendar .tl-month.hide { display: none; }

body.pg-calendar .ev {
    position: relative; background: #fff; border-radius: 12px; padding: 24px 28px 24px 30px;
    box-shadow: 0 6px 22px rgba(13,45,82,0.07);
    display: grid; grid-template-columns: 86px 1fr auto; gap: 24px; align-items: center;
    transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s;
    border-left: 5px solid #1a4d8c;
  }

body.pg-calendar .ev::before {
    content: ""; position: absolute; left: -29px; top: 50%; transform: translateY(-50%);
    width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid #1a4d8c; z-index: 3;
  }

body.pg-calendar .ev:hover { transform: translateX(6px); box-shadow: 0 18px 40px rgba(13,45,82,0.16); }

body.pg-calendar .ev.hide { display: none; }

body.pg-calendar .ev.t-award { border-left-color: #0f8a8f; }

body.pg-calendar .ev.t-award::before { border-color: #0f8a8f; }

body.pg-calendar .ev.t-round { border-left-color: #3eb1d8; }

body.pg-calendar .ev.t-round::before { border-color: #3eb1d8; }

body.pg-calendar .ev-meta span { display: inline-flex; align-items: center; gap: 7px; }

body.pg-calendar .ev-meta span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #2680c2; }

body.pg-calendar .awards-bg .sec-head h2 { color: #fff; }

body.pg-calendar .awards-bg .sec-head h2 span { color: #5fc8e8; }

body.pg-calendar .awards-bg .sec-head .sub { color: #5fc8e8; }

body.pg-calendar .awards-bg .sec-head .sub::before { background: linear-gradient(90deg, transparent, #5fc8e8); }

body.pg-calendar .awards-bg .sec-head .sub::after { background: linear-gradient(90deg, #5fc8e8, transparent); }

body.pg-calendar .award-ico svg { width: 28px; height: 28px; fill: #5fc8e8; }

body.pg-calendar .award-card p { font-size: 13px; color: #cfe3ee; line-height: 1.6; }

@media (max-width: 768px) {
body.pg-calendar .page-banner { padding: 60px 24px 80px; }
body.pg-calendar .banner-wrap h1 { font-size: 34px; }
body.pg-calendar .banner-wrap h1 span { font-size: 38px; }
body.pg-calendar .tl-month { grid-template-columns: 1fr; gap: 10px; }
body.pg-calendar .ev { grid-template-columns: 70px 1fr; gap: 16px; padding: 20px; }
body.pg-calendar .ev::before { display: none; }
}

body.pg-calendar .events-map-sec { background: linear-gradient(180deg,#f3f8fc,#eef4fa); padding: 64px 60px; }

body.pg-calendar .events-map-sec .section-wrap { /* max-width: 1180px; */ }

body.pg-calendar .events-map-sec .sec-head { text-align: center; }

body.pg-calendar .map-shell { border-radius: 20px; overflow: hidden; box-shadow: 0 24px 64px rgba(13,45,82,0.16), 0 4px 16px rgba(13,45,82,0.08); border: 1px solid rgba(255,255,255,0.7); }

body.pg-calendar .events-map-svg { width: 100%; height: auto; display: block; }

body.pg-calendar .card { transition: filter 0.25s ease, transform 0.25s ease; transform-box: fill-box; transform-origin: center; }

body.pg-calendar a:hover .card rect { filter: brightness(1.12) drop-shadow(0 0 12px rgba(38,128,194,0.55)); }

body.pg-calendar .events-map-sec { background: linear-gradient(160deg,#eef5fb 0%,#e6f0f8 50%,#dceef6 100%); padding: 72px 60px 80px; }

body.pg-calendar .events-map-sec .sec-head { margin-bottom: 36px; }

body.pg-calendar .events-map-sec .sec-head .sub { font-size: 13px; letter-spacing: 1.6px; }

body.pg-calendar .events-map-sec .sec-head h2 { font-size: 42px; margin-top: 8px; }

@media (max-width: 768px) {
body.pg-calendar .events-map-sec { padding: 40px 14px; }
body.pg-calendar .events-map-sec .sec-head h2 { font-size: 28px; }
}

body.pg-calendar .lands {opacity:0;animation:fadein 1s ease .1s forwards}

@keyframes fadein {to{opacity:1}}

body.pg-calendar .conn {stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s ease var(--d) forwards}

@keyframes draw {to{stroke-dashoffset:0}}

body.pg-calendar .cdot {opacity:0;animation:fade .4s ease var(--d) forwards}

@keyframes fade {to{opacity:1}}

body.pg-calendar .pin .ring {transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out var(--d) infinite}

body.pg-calendar .pin .ring2 {animation-delay:calc(var(--d) + 1.2s)}

@keyframes pulse {0%{transform:scale(.7);opacity:.5}70%{opacity:0}100%{transform:scale(3.4);opacity:0}}

body.pg-calendar .card, body.pg-calendar .legend {opacity:0;animation:up .6s cubic-bezier(.34,1.4,.64,1) var(--d,1.4s) forwards}

@keyframes up {from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

body.pg-calendar .card {transform-box:fill-box;transform-origin:center;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.5,.64,1)}

body.pg-calendar .card:hover {transform:translateY(-6px) scale(1.035)}

body.pg-calendar .pin {transform-box:fill-box;transform-origin:center;transition:transform .25s}

body.pg-calendar .pin:hover {transform:scale(1.18)}

@media (prefers-reduced-motion:reduce) {
body.pg-calendar * {animation:none!important;opacity:1!important;stroke-dashoffset:0!important}
}

/* =========================================================================
   ROOT PAGE — speakers.html  (scoped body.pg-speakers; 12 identical dups removed)
   ========================================================================= */
body.pg-speakers .keynote-section {
    background: linear-gradient(180deg, #f4f6fa 0%, #ffffff 100%);
    padding: 55px 60px 60px; position: relative; overflow: hidden;
  }

body.pg-speakers .keynote-section::before {
    content: ""; position: absolute; top: 50px; right: 6%; width: 110px; height: 110px;
    background: #1a4d8c; transform: rotate(45deg); opacity: 0.05; border-radius: 12px;
  }

body.pg-speakers .keynote-row {
    max-width: 980px; margin: 0 auto; padding: 0 20px;
    display: flex; align-items: center; gap: 48px;
    position: relative; z-index: 2;
  }

body.pg-speakers .keynote-photo {
    flex-shrink: 0;
    width: 150px; height: 150px;
    border-radius: 50%; padding: 3px 0 0 3px;
    background: linear-gradient(135deg, #1a4d8c, #5fc8e8); position: relative
  }

body.pg-speakers .keynote-photo img {
    width: 100%; height: 100%;
    border-radius: 50%;
    object-fit: cover; background: #fff;
    border: 2px solid #fff;
  }

body.pg-speakers .keynote-text { flex: 1; }

body.pg-speakers .keynote-text .quote {
    font-style: italic; font-size: 16.5px; color: #333; line-height: 1.75;
    margin-bottom: 20px; max-width: 640px;
  }

body.pg-speakers .keynote-text h3 { font-size: 23px; color: #0d2d52; margin-bottom: 6px; font-weight: 700; }

body.pg-speakers .keynote-text .role { font-size: 14.5px; color: #1a4d8c; font-weight: 600; margin-bottom: 4px; }

body.pg-speakers .keynote-text .org { font-size: 13.5px; color: #333; line-height: 1.6; }

@media (max-width: 768px) {
body.pg-speakers .keynote-section { padding: 50px 24px; }
body.pg-speakers .keynote-row { flex-direction: column; text-align: center; gap: 26px; padding: 0; }
body.pg-speakers .keynote-photo { width: 130px; height: 130px; }
}

@media (max-width: 768px) {
body.pg-speakers .speakers-bg { padding: 50px 24px; }
}

body.pg-speakers .page-banner {
    position: relative; color: #fff; padding: 90px 60px 110px; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.92) 0%, rgba(26, 77, 140, 0.78) 50%, rgba(13, 45, 82, 0.92) 100%),
      url('/images/inline/078c79d52f.png') center 30% / cover no-repeat;
  }

body.pg-speakers .page-banner::before {
    content: ""; position: absolute; top: 40px; left: 50px; width: 130px; height: 130px;
    background: #1a4d8c; transform: rotate(45deg); opacity: 0.5; border-radius: 12px;
  }

body.pg-speakers .page-banner::after {
    content: ""; position: absolute; bottom: 50px; right: 70px; width: 160px; height: 160px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.25; border-radius: 12px;
  }

body.pg-speakers .banner-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; text-align: center; }

body.pg-speakers .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }

body.pg-speakers .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }

body.pg-speakers .filter-bar {
    background: #fff;
    padding: 14px 60px;
    position: sticky;
    top: 71px;
    z-index: 900;
    box-shadow: 0 2px 12px rgba(13,45,82,0.06);
    border-bottom: 1px solid #e6ebf2;
  }

body.pg-speakers .filter-wrap {
    max-width: 1300px; margin: 0 auto;
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    justify-content: center;
  }

/* 3-line filter: 1) "Filter Speakers By"  2) Year & City  3) Showing … events.
   Label matches the past-events filter label styling. */
body.pg-speakers .filter-label {
    font-size: 14px; color: #1a4d8c; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.5px;
  }
body.pg-speakers .filter-controls {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    justify-content: center;
  }

/* Compact dropdown filter (Year + City + count on one line, no labels) */
body.pg-speakers .filter-select {
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
    font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600; color: #0d2d52;
    padding: 9px 40px 9px 18px; border: 1px solid #d5deea; border-radius: 22px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231a4d8c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 15px center; background-size: 12px;
    cursor: pointer; transition: border-color .2s, box-shadow .2s;
  }
body.pg-speakers .filter-select:hover { border-color: #1a4d8c; }
body.pg-speakers .filter-select:focus { outline: none; border-color: #1a4d8c; box-shadow: 0 0 0 3px rgba(26,77,140,.12); }

body.pg-speakers .filter-title {
    display: none;
  }

body.pg-speakers .filter-title .eyebrow, body.pg-speakers .filter-title h3, body.pg-speakers .filter-title h3 .accent { display: none; }

body.pg-speakers .filter-pills {
    display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; align-items: center;
  }

body.pg-speakers .filter-group {
    display: flex; flex-direction: row; align-items: center; gap: 10px; margin: 0 5rem;
  }

body.pg-speakers .filter-group > label {
    font-size: 10.5px; color: #1a4d8c; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.5px;
  }

body.pg-speakers .pill-row {
    display: flex; gap: 6px; flex-wrap: wrap;
  }

body.pg-speakers .pill {
    background: #f4f6fa; border: 1.5px solid transparent;
    color: #0d2d52; font-family: 'Poppins', sans-serif;
    font-size: 12px; font-weight: 600;
    padding: 6px 14px; border-radius: 18px;
    cursor: pointer;
    transition: all 0.22s ease;
    user-select: none;
  }

body.pg-speakers .pill:hover {
    background: #eaf4fa; border-color: #88c8df;
  }

body.pg-speakers .pill.active {
    background: rgba(95, 200, 232, 0.22);
    color: #0d2d52;
    border-color: #5fc8e8;
    box-shadow: 0 2px 8px rgba(95,200,232,0.25);
  }

body.pg-speakers .filter-meta {
    display: flex; align-items: center; gap: 14px;
    flex-wrap: wrap;
  }

body.pg-speakers .filter-count {
    font-size: 12.5px; color: #333; font-weight: 500;
  }

body.pg-speakers .filter-reset {
    background: transparent; border: 1.5px solid #d6dde6; color: #1a4d8c;
    font-family: 'Poppins', sans-serif; font-size: 10.5px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.2px;
    cursor: pointer; padding: 6px 14px;
    border-radius: 16px;
    transition: all 0.2s;
  }

body.pg-speakers .filter-reset:hover { background: #1a4d8c; color: #fff; border-color: #1a4d8c; }

body.pg-speakers .active-chips {
    display: inline-flex; gap: 6px; flex-wrap: wrap;
  }

body.pg-speakers .chip {
    background: rgba(26,77,140,0.08);
    color: #1a4d8c;
    font-size: 12px; font-weight: 600;
    padding: 5px 12px;
    border-radius: 14px;
    display: inline-flex; align-items: center; gap: 6px;
  }

body.pg-speakers .chip .x {
    width: 14px; height: 14px; border-radius: 50%;
    background: rgba(26,77,140,0.18); color: #1a4d8c;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 13px; line-height: 1; cursor: pointer;
    transition: background 0.2s, color 0.2s;
  }

body.pg-speakers .chip .x:hover { background: #1a4d8c; color: #fff; }

body.pg-speakers .event-block { position: relative; }

body.pg-speakers .event-block.hidden { display: none; }

body.pg-speakers .event-keynote, body.pg-speakers .event-speakers {  }

body.pg-speakers .event-divider {
    background: linear-gradient(135deg, rgba(13,45,82,0.82) 0%, rgba(26,77,140,0.78) 100%);
    color: #fff;
    padding: 56px 60px;
    position: relative; overflow: hidden;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }

body.pg-speakers .event-divider[data-divider-city="London"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1513635269975-59663e0ac1ad.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Mumbai"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1753806389001-80e994bfbf04.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Muscat"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1621680696874-edd80ce57b72.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Bahrain"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1611331225468-4d1055df92de.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Dubai"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1748373448914-1d7f882700e2.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Singapore"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1747583179410-348f4762c650.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Kuwait"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1578783951217-ca527085dc12.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Riyadh"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1694018359679-49465b4c0d61.jpg') center/cover no-repeat fixed;
  }

body.pg-speakers .event-divider[data-divider-city="Bengaluru"] {
    background:
      linear-gradient(135deg, rgba(13,45,82,0.78) 0%, rgba(26,77,140,0.72) 100%),
      url('/images/banner/photo-1576595877976-62a0b964c3af.jpg') center/cover no-repeat fixed;
  }

@media (max-width: 768px) {
body.pg-speakers .event-divider, body.pg-speakers .event-divider[data-divider-city] {
      background-attachment: scroll !important;
    }
}

body.pg-speakers .event-divider::before, body.pg-speakers .event-divider::after {
    display: none;
  }

body.pg-speakers .event-divider-wrap {
    max-width: 1300px; margin: 0 auto;
    position: relative; z-index: 2;
    display: flex; align-items: center; gap: 32px; flex-wrap: wrap;
    justify-content: space-between;
  }

body.pg-speakers .event-divider .ed-left { flex: 1; min-width: 260px; }

body.pg-speakers .event-divider .ed-eyebrow {
    color: #5fc8e8; letter-spacing: 3px; font-size: 11.5px; font-weight: 600;
    text-transform: uppercase; margin-bottom: 8px;
  }

body.pg-speakers .event-divider h3 {
    font-size: 26px; font-weight: 700; line-height: 1.25; margin-bottom: 4px;
  }

body.pg-speakers .event-divider .ed-city {
    color: #88c8df; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;
    font-weight: 700; font-size: 28px; line-height: 1;
  }

body.pg-speakers .event-divider .ed-right {
    display: flex; align-items: center; gap: 14px;
    background: rgba(95, 200, 232, 0.12);
    border: 1px solid rgba(95, 200, 232, 0.3);
    border-radius: 10px; padding: 14px 22px;
  }

body.pg-speakers .event-divider .ed-date-icon {
    display: none;
  }

body.pg-speakers .event-divider .ed-date-text {
    display: flex; flex-direction: column; gap: 2px;
  }

body.pg-speakers .event-divider .ed-date-label {
    font-size: 10.5px; color: #88c8df; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1.5px;
  }

body.pg-speakers .event-divider .ed-date-value {
    font-size: 15px; color: #fff; font-weight: 600;
  }

body.pg-speakers .no-results {
    text-align: center; padding: 100px 40px;
    color: #333; font-size: 16px;
  }

body.pg-speakers .no-results.hidden { display: none; }

body.pg-speakers .no-results .dancing {
    /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700;
    font-size: 42px; color: #1a4d8c;
    margin-bottom: 8px;
  }

@media (max-width: 768px) {
body.pg-speakers .page-banner { padding: 70px 24px 90px; }
body.pg-speakers .banner-wrap h1 { font-size: 34px; }
body.pg-speakers .banner-wrap h1 span { font-size: 42px; }
body.pg-speakers .filter-bar { padding: 22px 20px 18px; position: sticky; top: 59px; }
body.pg-speakers .filter-pills { gap: 18px; }
body.pg-speakers .pill { font-size: 12px; padding: 8px 14px; }
body.pg-speakers .event-divider { padding: 28px 24px; }
body.pg-speakers .event-divider-wrap { gap: 18px; }
body.pg-speakers .event-divider h3 { font-size: 20px; }
body.pg-speakers .event-divider .ed-city { font-size: 22px; }
body.pg-speakers .event-divider .ed-right { padding: 10px 16px; gap: 10px; }
}

/* =========================================================================
   ROOT PAGE — past-events.html  (scoped body.pg-past-events; 10 identical dups removed)
   ========================================================================= */
body.pg-past-events .page-banner {
    position: relative; color: #fff; padding: 90px 60px 0; overflow: hidden;
    min-height: 0; height: auto;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.92) 0%, rgba(26, 77, 140, 0.82) 50%, rgba(13, 45, 82, 0.92) 100%),
      url('/images/inline/eb88ee4705.webp') center/cover no-repeat;
  }

body.pg-past-events .page-banner::before {
    content: ""; position: absolute; bottom: 120px; left: -30px; width: 120px; height: 120px;
    background: #1a4d8c; transform: rotate(45deg); opacity: 0.4; border-radius: 12px; z-index: 1;
  }

body.pg-past-events .page-banner::after {
    content: ""; position: absolute; top: 50%; right: -30px; width: 130px; height: 130px;
    margin-top: -65px; background: #5fc8e8; transform: rotate(45deg); opacity: 0.22; border-radius: 12px; z-index: 1;
  }

body.pg-past-events .banner-corner {
    position: absolute; top: 30px; z-index: 3;
    display: inline-flex; flex-direction: column; gap: 8px; transition: transform 0.25s ease;
  }

body.pg-past-events .banner-cedar { left: 60px; align-items: flex-start; }

body.pg-past-events .banner-corner img { max-width: 100px; max-height: 100px; width: auto; display: block; transition: opacity 0.25s ease, filter 0.25s ease; }

body.pg-past-events .banner-cedar img { opacity: 0.95; }

body.pg-past-events .banner-cedar:hover img { opacity: 1; filter: drop-shadow(0 0 12px rgba(95, 200, 232, 0.6)); }

body.pg-past-events .banner-wrap {
    max-width: 1300px; margin: 0 auto; position: relative; z-index: 2;
    text-align: center; flex: 1;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
  }

body.pg-past-events .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px;
  }

body.pg-past-events .banner-wrap h1 { font-size: 56px; line-height: 1.12; font-weight: 700; margin-bottom: 16px; }

body.pg-past-events .banner-wrap h1 span { color: #5fc8e8; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 64px */; }

body.pg-past-events .banner-wrap .banner-desc { max-width: 660px; margin: 0 auto 26px; color: rgba(255,255,255,0.9); font-size: 16px; line-height: 1.7; }

body.pg-past-events .group-strip {
    position: relative; z-index: 2; background: rgba(13, 45, 82, 0.55);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255, 255, 255, 0.10); margin: 0 -60px; padding: 20px 60px;
  }

body.pg-past-events .group-strip-wrap { max-width: 1300px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; }

body.pg-past-events .group-strip-label { font-size: 12px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: #5fc8e8; padding-right: 22px; border-right: 1px solid rgba(95, 200, 232, 0.3); white-space: nowrap; }

body.pg-past-events .group-logo { display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 4px; opacity: 0.88; transition: opacity 0.25s ease, transform 0.25s ease, filter 0.25s ease; }

body.pg-past-events .group-logo:hover { opacity: 1; filter: drop-shadow(0 0 8px rgba(95, 200, 232, 0.6)); transform: translateY(-2px); }

body.pg-past-events .group-logo img { max-height: 100%; max-width: 150px; width: auto; object-fit: contain; }

body.pg-past-events .group-logo-lg { height: 66px; }

body.pg-past-events .group-logo-lg img { max-width: 175px; }

body.pg-past-events .group-logo-cifl { height: 100px; }

body.pg-past-events .group-logo-cifl img { max-width: 160px; max-height: 100%; }

body.pg-past-events .year-band { display: flex; align-items: center; gap: 22px; margin: 56px 0 34px; }

body.pg-past-events .year-band:first-of-type { margin-top: 0; }

body.pg-past-events .year-band h3 { font-size: 40px; font-weight: 800; color: #0d2d52; line-height: 1; letter-spacing: 1px; }

body.pg-past-events .year-band h3 span { color: #1a4d8c; }

body.pg-past-events .year-band .year-line { flex: 1; height: 2px; background: linear-gradient(90deg, #1a4d8c, rgba(95,200,232,0.15)); border-radius: 2px; }

body.pg-past-events .year-band .year-count { font-size: 13px; font-weight: 600; letter-spacing: 1px; color: #1a4d8c; text-transform: uppercase; white-space: nowrap; }

@media (max-width: 900px) {
body.pg-past-events .banner-corner { top: 18px; }
body.pg-past-events .banner-cedar { left: 20px; }
body.pg-past-events .banner-forbes { right: 20px; }
body.pg-past-events .banner-corner img { max-width: 74px; max-height: 74px; }
body.pg-past-events .group-strip-label { border-right: none; padding-right: 0; width: 100%; text-align: center; }
}

@media (max-width: 768px) {
body.pg-past-events .page-banner { padding: 0 24px; height: auto; min-height: 0; }
body.pg-past-events .banner-wrap { padding: 110px 0 30px; }
body.pg-past-events .banner-wrap h1 { font-size: 34px; }
body.pg-past-events .banner-wrap h1 span { font-size: 40px; }
body.pg-past-events .group-strip { margin: 0 -24px; padding: 16px 24px; }
body.pg-past-events .group-strip-wrap { gap: 18px; }
body.pg-past-events .group-logo { height: 42px; }
body.pg-past-events .banner-corner img { max-width: 60px; max-height: 60px; }
body.pg-past-events .year-band h3 { font-size: 30px; }
}

body.pg-past-events .filter-bar {
  background: #fff; padding: 14px 60px; position: sticky; top: 71px; z-index: 900;
  box-shadow: 0 2px 12px rgba(13,45,82,0.06); border-bottom: 1px solid #e6ebf2;
}

body.pg-past-events .filter-wrap { max-width: 1300px; margin: 0 auto; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; justify-content: center; }

body.pg-past-events .filter-pills { display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; align-items: center; }

body.pg-past-events .filter-group { display: flex; flex-direction: row; align-items: center; gap: 12px; }

body.pg-past-events .filter-group > label { font-size: 14px; color: #1a4d8c; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; white-space: nowrap; }

body.pg-past-events .pill-row { display: flex; gap: 6px; flex-wrap: wrap; }

body.pg-past-events .pill {
  background: #f4f6fa; border: 1.5px solid transparent; color: #0d2d52;
  font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600;
  padding: 6px 15px; border-radius: 18px; cursor: pointer;
  transition: all 0.22s ease; user-select: none;
}

body.pg-past-events .pill:hover { background: #eaf4fa; border-color: #88c8df; }

body.pg-past-events .pill.active { background: rgba(95,200,232,0.22); color: #0d2d52; border-color: #5fc8e8; box-shadow: 0 2px 8px rgba(95,200,232,0.25); }

body.pg-past-events .year-band { scroll-margin-top: 150px; }

@media (max-width: 768px) {
  body.pg-past-events .filter-bar { padding: 12px 20px; top: 59px; }
  body.pg-past-events .filter-group { gap: 8px; }
  body.pg-past-events .pill { font-size: 11.5px; padding: 6px 12px; }
  body.pg-past-events .year-band { scroll-margin-top: 128px; }
}

body.pg-past-events .event-img { aspect-ratio: 952 / 579 !important; }

/* =========================================================================
   ROOT PAGE — chc-homepage.html  (scoped body.pg-chc-homepage; 8 identical dups removed)
   ========================================================================= */
body.pg-chc-homepage .banner-cedar img {
    opacity: 0.95;
  }

body.pg-chc-homepage .banner-cedar:hover img {
    opacity: 1;
    filter: drop-shadow(0 0 12px rgba(95, 200, 232, 0.6));
  }

body.pg-chc-homepage .group-logo img {
    max-height: 100%; max-width: 150px;
    width: auto; object-fit: contain;
  }

body.pg-chc-homepage .group-logo-lg img { max-width: 180px; }

body.pg-chc-homepage .group-logo-cifl img { max-width: 165px; max-height: 100%; }

@media (max-width: 900px) {
body.pg-chc-homepage .banner-corner img { max-width: 80px; max-height: 80px; }
}

@media (max-width: 768px) {
body.pg-chc-homepage .banner-wrap h1 span { font-size: 38px; }
body.pg-chc-homepage .banner-corner img { max-width: 64px; max-height: 64px; }
}

@media (max-width:768px) {
body.pg-chc-homepage .banner-wrap .meta-row span + span::before { display:none; }
}

:root {
    --navy:#0d2d52; --blue:#1a4d8c; --royal:#2680c2; --cyan:#5fc8e8; --cyan2:#3eb1d8;
    --violet:#4A2767; --violet2:#964FB5; --gold:#E7C27D; --muted:#333; --line:#e7ebf2;
  }

body.pg-chc-homepage .nights { padding:48px 60px 80px; position:relative; overflow:hidden;
    background:
      radial-gradient(680px 420px at 88% 4%, rgba(150,79,181,.10), transparent 60%),
      radial-gradient(620px 420px at 6% 96%, rgba(38,128,194,.10), transparent 60%),
      linear-gradient(180deg,#fbf9fd 0%, #f3f0fa 50%, #eef3fb 100%); }

body.pg-chc-homepage .nights::before { content:""; position:absolute; top:70px; left:-60px; width:220px; height:220px; background:var(--violet); transform:rotate(45deg); opacity:.06; border-radius:24px; }

body.pg-chc-homepage .nights::after { content:""; position:absolute; bottom:120px; right:-60px; width:240px; height:240px; background:var(--cyan); transform:rotate(45deg); opacity:.10; border-radius:24px; }

body.pg-chc-homepage .nights .wrap { max-width:1300px; margin:0 auto; position:relative; z-index:2; }

body.pg-chc-homepage .n-head { text-align:center; margin-bottom:34px; }

body.pg-chc-homepage .n-head .eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--violet); letter-spacing:3px; font-size:12px; font-weight:600; text-transform:uppercase; margin-bottom:14px; }

body.pg-chc-homepage .n-head .eyebrow::before, body.pg-chc-homepage .n-head .eyebrow::after { content:""; width:26px; height:2px; background:linear-gradient(90deg,transparent,var(--violet2)); }

body.pg-chc-homepage .n-head .eyebrow::after { background:linear-gradient(90deg,var(--violet2),transparent); }

body.pg-chc-homepage .n-head h2 { font-size:42px; line-height:1.1; font-weight:700; color:var(--navy); letter-spacing:-.6px; }

body.pg-chc-homepage .n-head h2 .script { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight:700; color:var(--violet); /* font-size:56px */; }

body.pg-chc-homepage .n-head p { max-width:560px; margin:14px auto 0; color:var(--muted); font-size:15px; line-height:1.7; }

body.pg-chc-homepage .stats { display:flex; justify-content:center; gap:0; flex-wrap:wrap; margin:30px auto 36px; max-width:840px;
    background:linear-gradient(120deg,#fff,#fbf9fe); border:1px solid #ece6f5; border-radius:16px;
    box-shadow:0 14px 40px -22px rgba(74,39,103,.5); overflow:hidden; }

body.pg-chc-homepage .stat { flex:1 1 0; min-width:140px; text-align:center; padding:24px 14px; position:relative; }

body.pg-chc-homepage .stat + .stat::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:rgba(95,200,232,.7); }

body.pg-chc-homepage .stat .num { font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight:400; font-size:38px; line-height:1; color:var(--violet); letter-spacing:-1px; }

body.pg-chc-homepage .stat .num .p { color:var(--violet2); }

body.pg-chc-homepage .stat .lbl { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:#0d2d52; margin-top:8px; }

body.pg-chc-homepage .filters { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin:40px 0px 20px 0; }

body.pg-chc-homepage .filter { font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:1px; text-transform:uppercase; padding:11px 20px; border-radius:50px; border:1px solid #d9d2e6; background:#fff; color:var(--violet); cursor:pointer; transition:.2s; }

body.pg-chc-homepage .filter:hover { border-color:var(--violet2); color:var(--violet2); transform:translateY(-1px); }

body.pg-chc-homepage .filter.active { background:linear-gradient(135deg,var(--violet),var(--violet2)); color:#fff; border-color:transparent; box-shadow:0 10px 24px rgba(74,39,103,.32); }

body.pg-chc-homepage .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }

body.pg-chc-homepage .card { display:block; background:#fff; border-radius:16px; overflow:hidden; position:relative;
    box-shadow:0 10px 30px -14px rgba(13,45,82,.25);
    transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s; }

body.pg-chc-homepage .card:hover { transform:translateY(-10px); }

body.pg-chc-homepage .card-img { position:relative; height:218px; overflow:hidden; background:#0c1326; }

body.pg-chc-homepage .card-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }

body.pg-chc-homepage .card:hover .card-img img { transform:scale(1.08); }

body.pg-chc-homepage .card-img::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(13,45,82,0) 40%,rgba(13,45,82,.5) 100%); }

body.pg-chc-homepage .stripe { position:absolute; top:0; left:0; right:0; height:6px; z-index:3; }

body.pg-chc-homepage .fallback { position:absolute; inset:0; z-index:0; display:none; align-items:center; justify-content:center; text-align:center; padding:0 22px; font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-style:normal; font-size:20px; color:#fff; }

body.pg-chc-homepage .card-img.noimg .fallback { display:flex; }

body.pg-chc-homepage .tag { position:absolute; top:16px; left:16px; z-index:4; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; padding:6px 13px; border-radius:50px; color:#fff; }

body.pg-chc-homepage .city-badge { position:absolute; bottom:14px; right:14px; z-index:4; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:#fff; padding:5px 11px; border-radius:50px; background:rgba(13,45,82,.42); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(6px); }

body.pg-chc-homepage .card-body { padding:22px 24px 26px; }

body.pg-chc-homepage .date { display:flex; align-items:center; gap:9px; font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:1px; color:var(--violet2); margin-bottom:12px; }

body.pg-chc-homepage .date .dt { width:7px; height:7px; border-radius:50%; }

body.pg-chc-homepage .card-body h3 { font-size:18px; font-weight:600; color:var(--navy); line-height:1.36; margin-bottom:18px; min-height:52px; letter-spacing:-.2px; }

body.pg-chc-homepage .card:hover h3 { color:var(--violet); }

body.pg-chc-homepage .go { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--violet); }

body.pg-chc-homepage .go .arr { font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size:18px; transition:transform .2s; }

body.pg-chc-homepage .card:hover .go { color:var(--violet2); }

body.pg-chc-homepage .card:hover .go .arr { transform:translateX(4px); }

body.pg-chc-homepage .card.hide { display:none; }

body.pg-chc-homepage .c-mum .stripe { background:linear-gradient(90deg,var(--violet),var(--violet2)); }

body.pg-chc-homepage .c-mum .tag { background:linear-gradient(135deg,var(--violet),var(--violet2)); }

body.pg-chc-homepage .c-mum .date .dt { background:var(--violet2); }

body.pg-chc-homepage .c-mum .card-img.noimg { background:linear-gradient(140deg,var(--violet),#23123a); }

body.pg-chc-homepage .card.c-mum:hover { box-shadow:0 28px 56px -22px rgba(74,39,103,.6); }

body.pg-chc-homepage .c-blr .stripe { background:linear-gradient(90deg,var(--blue),var(--royal)); }

body.pg-chc-homepage .c-blr .tag { background:linear-gradient(135deg,var(--blue),var(--royal)); }

body.pg-chc-homepage .c-blr .date { color:var(--royal); }

body.pg-chc-homepage .c-blr .date .dt { background:var(--royal); }

body.pg-chc-homepage .c-blr .card-img.noimg { background:linear-gradient(140deg,var(--navy),var(--royal)); }

body.pg-chc-homepage .card.c-blr:hover { box-shadow:0 28px 56px -22px rgba(26,77,140,.55); }

body.pg-chc-homepage .c-blr .go, body.pg-chc-homepage .c-blr h3:hover, body.pg-chc-homepage .c-blr:hover h3 { }

body.pg-chc-homepage .c-dxb .stripe { background:linear-gradient(90deg,var(--cyan2),var(--cyan)); }

body.pg-chc-homepage .c-dxb .tag { background:linear-gradient(135deg,var(--cyan2),var(--cyan)); color:#0d2d52; }

body.pg-chc-homepage .c-dxb .date { color:var(--cyan2); }

body.pg-chc-homepage .c-dxb .date .dt { background:var(--cyan2); }

body.pg-chc-homepage .c-dxb .card-img.noimg { background:linear-gradient(140deg,var(--royal),#0c5a86); }

body.pg-chc-homepage .card.c-dxb:hover { box-shadow:0 28px 56px -22px rgba(62,177,216,.55); }

body.pg-chc-homepage .invite .l h3 { font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight:400; font-size:28px; line-height:1.15; }

body.pg-chc-homepage .invite a { position:relative; z-index:2; display:inline-flex; align-items:center; gap:10px; padding:15px 32px; border-radius:50px; background:var(--gold); color:#1a1004; font-weight:700; text-transform:uppercase; font-size:12.5px; letter-spacing:1px; transition:transform .2s, box-shadow .2s, background .2s; }

body.pg-chc-homepage .invite a:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(231,194,125,.45); background:#f2d49a; }

body.pg-chc-homepage .invite a .arr { font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size:18px; }

body.pg-chc-homepage .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }

body.pg-chc-homepage .reveal.in { opacity:1; transform:translateY(0); }

@media (max-width:1024px) {
body.pg-chc-homepage .nights { padding:64px 30px 80px; }
body.pg-chc-homepage .n-head h2 { font-size:28px; }
body.pg-chc-homepage .n-head h2 .script { font-size:42px; }
body.pg-chc-homepage .grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
body.pg-chc-homepage .nights { padding:50px 20px 64px; }
body.pg-chc-homepage .n-head h2 { font-size:28px; }
body.pg-chc-homepage .n-head h2 .script { font-size:34px; }
body.pg-chc-homepage .grid { grid-template-columns:1fr; }
body.pg-chc-homepage .stat { flex:1 1 45%; }
body.pg-chc-homepage .stat:nth-child(2)::before, body.pg-chc-homepage .stat:nth-child(4)::before { display:none; }
}

body.pg-chc-homepage .up-box { position:relative; margin:6px 0 18px; border-radius:22px; padding:34px 32px 32px;
    background:linear-gradient(135deg, rgba(150,79,181,.055), rgba(95,200,232,.04));
    border:1px solid rgba(150,79,181,.18);
    box-shadow:0 16px 40px -28px rgba(74,39,103,.35); }

body.pg-chc-homepage .up-label { position:absolute; top:-13px; left:30px; background:linear-gradient(135deg,var(--violet),var(--violet2)); color:#fff;
    font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:2px; text-transform:uppercase;
    padding:7px 16px; border-radius:50px; box-shadow:0 8px 20px rgba(74,39,103,.4); }

body.pg-chc-homepage .up-inner { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:30px; align-items:start; }

body.pg-chc-homepage .up-summary { align-self:center; }

body.pg-chc-homepage .up-summary h3 { font-size:26px; line-height:1.2; font-weight:700; color:var(--navy); letter-spacing:-.4px; margin-bottom:12px; }

body.pg-chc-homepage .up-summary h3 .script { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:var(--violet); /* font-size:31px */; font-weight:700; }

body.pg-chc-homepage .up-summary p { color:var(--muted); font-size:14px; line-height:1.7; margin-bottom:20px; }

body.pg-chc-homepage .up-readmore .arr { font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size:16px; }

body.pg-chc-homepage .up-ev { display:block; }

body.pg-chc-homepage .up-ev .uimg { position:relative; aspect-ratio:16/10; border-radius:14px; overflow:hidden; background:linear-gradient(140deg,var(--violet),#23123a); box-shadow:0 8px 20px -14px rgba(13,45,82,.28); }

body.pg-chc-homepage .up-ev .uimg img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }

body.pg-chc-homepage .up-ev:hover .uimg img { transform:scale(1.06); }

body.pg-chc-homepage .up-ev .uimg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(13,45,82,.05),rgba(13,45,82,.3)); }

body.pg-chc-homepage .up-ev .ufallback { position:absolute; inset:0; z-index:1; display:none; align-items:center; justify-content:center; text-align:center; padding:0 14px; font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-style:normal; font-size:16px; color:#fff; }

body.pg-chc-homepage .up-ev .uimg.noimg .ufallback { display:flex; }

body.pg-chc-homepage .up-ev .uformat { display:block; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--violet2); margin:14px 0 5px; }

body.pg-chc-homepage .up-ev h4 { font-size:17px; font-weight:600; color:var(--navy); line-height:1.32; letter-spacing:-.2px; margin-bottom:8px; }

body.pg-chc-homepage .up-ev:hover h4 { color:var(--violet); }

body.pg-chc-homepage .up-ev .umeta { display:flex; align-items:center; gap:9px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.5px; }

body.pg-chc-homepage .up-ev .umeta .ud { color:var(--violet2); }

body.pg-chc-homepage .up-ev .umeta .uc { color:var(--cyan2); text-transform:uppercase; }

body.pg-chc-homepage .up-ev .umeta .dot { width:4px; height:4px; border-radius:50%; background:#c7cfde; }

body.pg-chc-homepage .past-label { text-align:center; margin:30px 0 18px; }

body.pg-chc-homepage .past-label .eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--violet); letter-spacing:3px; font-size:12px; font-weight:600; text-transform:uppercase; }

body.pg-chc-homepage .past-label .eyebrow::before, body.pg-chc-homepage .past-label .eyebrow::after { content:""; width:26px; height:2px; background:linear-gradient(90deg,transparent,var(--violet2)); }

body.pg-chc-homepage .past-label .eyebrow::after { background:linear-gradient(90deg,var(--violet2),transparent); }

@media (max-width:1024px) {
body.pg-chc-homepage .up-inner { grid-template-columns:1fr 1fr; }
body.pg-chc-homepage .up-summary { grid-column:1 / -1; }
}

@media (max-width:768px) {
body.pg-chc-homepage .up-box { padding:30px 20px 24px; }
body.pg-chc-homepage .up-inner { grid-template-columns:1fr; gap:22px; }
body.pg-chc-homepage .up-summary h3 { font-size:22px; }
}

body.pg-chc-homepage .glimpse { background:#f6f8fc; padding:74px 0 80px; overflow:hidden; }

body.pg-chc-homepage .glimpse .head { padding:0 60px; max-width:1300px; margin:0 auto 34px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; }

body.pg-chc-homepage .glimpse .eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--violet); letter-spacing:3px; font-size:12px; font-weight:600; text-transform:uppercase; margin-bottom:12px; }

body.pg-chc-homepage .glimpse .eyebrow::before { content:""; width:24px; height:2px; background:linear-gradient(90deg,var(--violet),var(--cyan)); }

body.pg-chc-homepage .glimpse h2 { font-size:42px; line-height:1.1; color:var(--navy); font-weight:700; letter-spacing:-.5px; max-width:16ch; }

body.pg-chc-homepage .glimpse h2 .script { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:var(--violet); /* font-size:52px */; font-weight:700; }

body.pg-chc-homepage .glimpse .head .right { font-size:14px; color:#333; max-width:380px; line-height:1.7; }

body.pg-chc-homepage .glimpse .head .right a { color:var(--violet); font-weight:600; }

body.pg-chc-homepage .gtrack { display:flex; gap:18px; animation:gscroll 80s linear infinite; width:max-content; padding:0 18px; }

body.pg-chc-homepage .gtrack .frame { width:340px; height:220px; border-radius:14px; overflow:hidden; flex-shrink:0; position:relative; box-shadow:0 18px 40px rgba(13,45,82,.18); border:1px solid var(--line); background:linear-gradient(140deg,var(--violet),#23123a); }

body.pg-chc-homepage .gtrack .frame:nth-child(odd) { transform:translateY(20px); }

body.pg-chc-homepage .gtrack .frame img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }

body.pg-chc-homepage .gtrack .frame:hover img { transform:scale(1.06); }

body.pg-chc-homepage .gtrack:hover { animation-play-state:paused; }

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

body.pg-chc-homepage .recordings { position:relative; overflow:hidden; padding:80px 60px 88px; color:var(--navy);
    background:
      radial-gradient(620px 360px at 88% 0%, rgba(150,79,181,.10), transparent 60%),
      radial-gradient(560px 360px at 8% 100%, rgba(38,128,194,.09), transparent 60%),
      linear-gradient(180deg,#ffffff 0%, #f4f1fa 100%); }

body.pg-chc-homepage .recordings::before { content:""; position:absolute; top:46px; left:54px; width:120px; height:120px; background:#964FB5; transform:rotate(45deg); opacity:.07; border-radius:14px; }

body.pg-chc-homepage .recordings::after { content:""; position:absolute; bottom:46px; right:64px; width:140px; height:140px; background:#5fc8e8; transform:rotate(45deg); opacity:.10; border-radius:14px; }

body.pg-chc-homepage .recordings .wrap { max-width:1000px; margin:0 auto; position:relative; z-index:2; text-align:center; }

body.pg-chc-homepage .recordings .eyebrow { display:inline-flex; align-items:center; gap:10px; justify-content:center; color:var(--violet); letter-spacing:3px; font-size:12px; font-weight:600; text-transform:uppercase; margin-bottom:14px; }

body.pg-chc-homepage .recordings .eyebrow::before, body.pg-chc-homepage .recordings .eyebrow::after { content:""; width:24px; height:2px; background:linear-gradient(90deg,transparent,var(--violet2)); }

body.pg-chc-homepage .recordings .eyebrow::after { background:linear-gradient(90deg,var(--violet2),transparent); }

body.pg-chc-homepage .recordings h2 { font-size:42px; line-height:1.12; font-weight:700; letter-spacing:-.5px; color:var(--navy); margin-bottom:14px; }

body.pg-chc-homepage .recordings h2 .script { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:var(--violet); /* font-size:50px */; }

body.pg-chc-homepage .recordings p { color:var(--muted); font-size:15px; line-height:1.7; margin:0 auto 24px; max-width:520px; }

body.pg-chc-homepage .rec-btn { display:inline-flex; align-items:center; gap:10px; padding:15px 30px; border-radius:50px; background:linear-gradient(135deg,var(--violet),var(--violet2)); color:#fff; font-weight:700; text-transform:uppercase; font-size:12.5px; letter-spacing:1px; transition:transform .2s, box-shadow .2s; box-shadow:0 10px 26px rgba(74,39,103,.28); }

body.pg-chc-homepage .rec-btn:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(74,39,103,.36); }

body.pg-chc-homepage .rec-btn .arr { font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size:18px; }

body.pg-chc-homepage .rec-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1040px; margin:38px auto 0; }

body.pg-chc-homepage .vid { display:block; text-align:left; }

body.pg-chc-homepage .vthumb { position:relative; border-radius:14px; overflow:hidden; aspect-ratio:16/9; box-shadow:0 22px 48px -22px rgba(13,45,82,.42); border:1px solid #e7ebf2; background:linear-gradient(140deg,var(--violet),#23123a); }

body.pg-chc-homepage .vthumb img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }

body.pg-chc-homepage .vid:hover .vthumb img { transform:scale(1.06); }

body.pg-chc-homepage .vthumb::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(13,45,82,.10),rgba(13,45,82,.45)); }

body.pg-chc-homepage .play { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; }

body.pg-chc-homepage .play span { width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.24); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.75); display:flex; align-items:center; justify-content:center; position:relative; transition:transform .25s, background .25s; }

body.pg-chc-homepage .vid:hover .play span { transform:scale(1.1); background:rgba(255,255,255,.4); }

body.pg-chc-homepage .play span::before { content:""; border-style:solid; border-width:9px 0 9px 15px; border-color:transparent transparent transparent #fff; margin-left:4px; }

body.pg-chc-homepage .play span::after { content:""; position:absolute; inset:-8px; border-radius:50%; border:1px solid rgba(255,255,255,.5); animation:pulse 2.4s ease-out infinite; }

body.pg-chc-homepage .vmeta { padding:13px 4px 0; }

body.pg-chc-homepage .vtitle { display:block; font-size:15px; font-weight:600; color:var(--navy); line-height:1.35; }

body.pg-chc-homepage .vid:hover .vtitle { color:var(--violet); }

body.pg-chc-homepage .vdate { display:block; margin-top:5px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:1px; color:var(--violet2); }

@keyframes pulse { 0%{ transform:scale(.9); opacity:.7;} 100%{ transform:scale(1.5); opacity:0;} }

@media (max-width:768px) {
body.pg-chc-homepage .rec-grid { grid-template-columns:1fr; max-width:420px; }
}

@media (max-width:1024px) {
body.pg-chc-homepage .glimpse .head { padding:0 30px; }
body.pg-chc-homepage .glimpse h2 { font-size:32px; }
body.pg-chc-homepage .glimpse h2 .script { font-size:40px; }
body.pg-chc-homepage .recordings { padding:60px 30px; }
body.pg-chc-homepage .recordings .wrap { grid-template-columns:1fr; gap:34px; }
body.pg-chc-homepage .recordings h2 { font-size:32px; }
body.pg-chc-homepage .recordings h2 .script { font-size:40px; }
}

@media (max-width:768px) {
body.pg-chc-homepage .gtrack .frame { width:260px; height:172px; }
body.pg-chc-homepage .recordings h2 { font-size:26px; }
body.pg-chc-homepage .recordings h2 .script { font-size:32px; }
}

/* =========================================================================
   ROOT PAGE — chc-post-event.html  (scoped body.pg-chc-post-event; 4 identical dups removed)
   ========================================================================= */
body.pg-chc-post-event .page-banner {
    position: relative; color: #fff; padding: 70px 60px 90px; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.93) 0%, rgba(74, 39, 103, 0.82) 50%, rgba(13, 45, 82, 0.93) 100%),
      url('/images/banner/16-scaled.jpg') center/cover no-repeat;
  }

body.pg-chc-post-event .page-banner::before {
    content: ""; position: absolute; top: 30px; left: 40px; width: 110px; height: 110px;
    background: #964FB5; transform: rotate(45deg); opacity: 0.45; border-radius: 12px;
  }

body.pg-chc-post-event .page-banner::after {
    content: ""; position: absolute; bottom: 40px; right: 60px; width: 140px; height: 140px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.28; border-radius: 12px;
  }

body.pg-chc-post-event .banner-wrap .banner-lede {
    max-width: 720px; margin: 6px auto 0; color: rgba(255,255,255,.88);
    font-size: 16px; line-height: 1.6; font-weight: 400;
  }

body.pg-chc-post-event .banner-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; text-align: center; }

body.pg-chc-post-event .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }

body.pg-chc-post-event .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }

body.pg-chc-post-event .banner-wrap h1 .accent { color: #964FB5; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 68px */; }

body.pg-chc-post-event .banner-wrap .meta-row {
    display: inline-flex; gap: 18px; align-items: center; justify-content: center; margin: 18px 0 22px;
    color: rgba(255,255,255,.9); font-size: 14px; font-weight: 500;
  }

body.pg-chc-post-event .wrap { max-width: 1300px; margin: 0 auto; }

body.pg-chc-post-event .eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    color: #1a4d8c; letter-spacing: 3px; font-size: 12px; font-weight: 600;
    text-transform: uppercase; margin-bottom: 14px;
  }

body.pg-chc-post-event .eyebrow::before { content:""; width: 24px; height: 2px; background: linear-gradient(90deg, #4A2767, #5fc8e8); }

body.pg-chc-post-event .sec-title {
    font-size: 42px; line-height: 1.15; font-weight: 700; color: #0d2d52; margin-bottom: 16px; letter-spacing: -0.5px;
  }

body.pg-chc-post-event .sec-title .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; color: #4A2767; /* font-size: 50px */; }

body.pg-chc-post-event .sec-lede { font-size: 15px; color: #333; line-height: 1.75; max-width: 720px; }

body.pg-chc-post-event .intro {
    position: relative;
    background: linear-gradient(180deg, #fff 0%, #faf8fc 100%);
    overflow: hidden;
    padding: 50px 60px;
  }

body.pg-chc-post-event .intro::before {
    
    content: ""; position: absolute; top: 50%; left: -60px;
    width: 160px; height: 160px; transform: translateY(-50%) rotate(45deg);
    background: #4A2767; opacity: 0.04;
    border-radius: 20px; pointer-events: none;
  }

body.pg-chc-post-event .intro .wrap { position: relative; z-index: 2; }

body.pg-chc-post-event .stats-strip {
    margin-top: 0; padding: 0;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  }

body.pg-chc-post-event .stat { text-align: center; position: relative; padding: 0 16px; }

body.pg-chc-post-event .stat + .stat::before {
    content: ""; position: absolute; left: 0; top:0; bottom:0; width:2px; background:rgba(95,200,232,.7);
  }

body.pg-chc-post-event .stat .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight: 400;
    font-size: 44px; line-height: 1; color: #4A2767; letter-spacing: -1px;
    margin-bottom: 8px;
  }

body.pg-chc-post-event .stat .num .plus { color: #964FB5; }

body.pg-chc-post-event .stat .lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase;
    color: #333;
  }

body.pg-chc-post-event .venue .wrap { position: relative; z-index: 2; }

body.pg-chc-post-event .rsvp-bar .l h3 { font-size: 24px; font-weight: 600; margin-bottom: 6px; }

body.pg-chc-post-event .rsvp-bar .l p { font-size: 14px; opacity: .85; }

body.pg-chc-post-event .rsvp-btn .arr { font-size: 18px; }

body.pg-chc-post-event .why { background: #fff; }

body.pg-chc-post-event .why .head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 44px; }

body.pg-chc-post-event .why-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }

body.pg-chc-post-event .why-card {
    border-radius: 16px; padding: 32px 28px; position: relative; overflow: hidden;
    min-height: 260px; display: flex; flex-direction: column; justify-content: space-between;
    transition: transform .35s ease, box-shadow .35s ease;
  }

body.pg-chc-post-event .why-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(13,45,82,.18); }

body.pg-chc-post-event .why-card .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 96px; line-height: .8; font-weight: 300;
    opacity: .85; letter-spacing: -2px; margin-bottom: 8px;
  }

body.pg-chc-post-event .why-card h3 {
    font-size: 22px; font-weight: 600; line-height: 1.3; margin-bottom: 10px; letter-spacing: -0.2px;
  }

body.pg-chc-post-event .why-card p { font-size: 13.5px; line-height: 1.6; }

body.pg-chc-post-event .why-card .tag {
    position: absolute; top: 22px; right: 22px;
    font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    padding: 4px 10px; border-radius: 99px;
  }

body.pg-chc-post-event .why-c1 { grid-column: span 5; background: linear-gradient(160deg, #0d2d52 0%, #1a4d8c 100%); color: #fff; }

body.pg-chc-post-event .why-c1 .num { color: #5fc8e8; }

body.pg-chc-post-event .why-c1 .tag { background: rgba(95,200,232,.18); color: #5fc8e8; }

body.pg-chc-post-event .why-c1 p { color: rgba(255,255,255,.78); }

body.pg-chc-post-event .why-c2 {
    grid-column: span 4;
    background:
      linear-gradient(160deg, rgba(13,45,82,.86), rgba(74,47,140,.82)),
      url('/images/banner/13-1130x650.jpg') center/cover no-repeat;
    color: #fff;
  }

body.pg-chc-post-event .why-c2 .num { color: #964FB5; }

body.pg-chc-post-event .why-c2 .tag { background: rgba(150,79,181,.2); color: #E5D0EE; }

body.pg-chc-post-event .why-c2 p { color: rgba(255,255,255,.85); }

body.pg-chc-post-event .why-c3 { grid-column: span 3; background: linear-gradient(160deg, #4A2767 0%, #2D1640 100%); color: #fff; }

body.pg-chc-post-event .why-c3 .num { color: #F5EBFA; }

body.pg-chc-post-event .why-c3 .tag { background: rgba(255,255,255,.18); color: #fff; }

body.pg-chc-post-event .why-c3 p { color: rgba(255,255,255,.85); }

body.pg-chc-post-event .why-c4 { grid-column: span 4; background: #f6f8fc; border: 1px solid #e7ebf2; color: #0d2d52; }

body.pg-chc-post-event .why-c4 .num { color: #4A2767; }

body.pg-chc-post-event .why-c4 .tag { background: #F5EBFA; color: #2D1640; }

body.pg-chc-post-event .why-c4 p { color: #333; }

body.pg-chc-post-event .why-c5 {
    grid-column: span 8;
    background: linear-gradient(110deg, #5fc8e8 0%, #2680c2 60%, #1a4d8c 100%);
    color: #fff;
    display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center;
  }

body.pg-chc-post-event .why-c5 .num { font-size: 130px; }

body.pg-chc-post-event .why-c5 h3 { font-size: 26px; max-width: 22ch; }

body.pg-chc-post-event .why-c5 .tag { background: rgba(13,45,82,.35); color: #fff; }

body.pg-chc-post-event .why-c5 p { color: rgba(255,255,255,.88); font-size: 14.5px; max-width: 56ch; }

body.pg-chc-post-event .why-c5 .right > * + * { margin-top: 8px; }

@media (max-width: 1024px) {
body.pg-chc-post-event .why-grid > * { grid-column: span 6 !important; }
body.pg-chc-post-event .why-c5 { grid-template-columns: 1fr; }
body.pg-chc-post-event .why-c5 .num { font-size: 96px; }
}

@media (max-width: 640px) {
body.pg-chc-post-event .why-grid > * { grid-column: 1 / -1 !important; }
}

body.pg-chc-post-event .glimpse { background: #f6f8fc; padding: 80px 0; overflow: hidden; }

body.pg-chc-post-event .glimpse .head { padding: 0 60px; max-width: 1300px; margin: 0 auto 36px;
    display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; }

body.pg-chc-post-event .glimpse h2 { font-size: 42px; line-height: 1.1; color: #0d2d52; font-weight: 700; letter-spacing: -0.5px; max-width: 14ch; }

body.pg-chc-post-event .glimpse h2 .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color: #4A2767; /* font-size: 52px */; font-weight: 700; }

body.pg-chc-post-event .glimpse .head .right { font-size: 14px; color: #333; max-width: 360px; line-height: 1.7; }

body.pg-chc-post-event .gtrack { display: flex; gap: 18px; animation: gscroll 90s linear infinite; width: max-content; padding: 0 18px; }

body.pg-chc-post-event .gtrack .frame {
    width: 340px; height: 220px; border-radius: 14px; overflow: hidden; flex-shrink: 0; position: relative;
    box-shadow: 0 18px 40px rgba(13,45,82,.18); border: 1px solid #e7ebf2;
  }

body.pg-chc-post-event .gtrack .frame:nth-child(odd) { transform: translateY(20px); }

body.pg-chc-post-event .gtrack .frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }

body.pg-chc-post-event .gtrack .frame:hover img { transform: scale(1.06); }

body.pg-chc-post-event .gtrack:hover { animation-play-state: paused; }

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

body.pg-chc-post-event .partners .head { margin-bottom: 36px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 50px; align-items: end; }

body.pg-chc-post-event .partners .sec-lede { font-size: 14.5px; }

body.pg-chc-post-event .partner-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

body.pg-chc-post-event .partner {
    --accent: #888;
    position: relative; overflow: hidden;
    background: #fff;
    border: 1px solid #e7ebf2;
    border-radius: 8px;
    padding: 28px 24px 28px 30px;
    display: flex; flex-direction: column; gap: 14px;
    min-height: 150px; justify-content: space-between;
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
    text-decoration: none;
  }

body.pg-chc-post-event .partner::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0;
    width: 6px; background: var(--accent);
    transition: width .35s cubic-bezier(.4,0,.2,1);
  }

body.pg-chc-post-event .partner:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(13,45,82,.08);
  }

body.pg-chc-post-event .partner:hover::before { width: 10px; }

body.pg-chc-post-event .partner .role {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
    color: var(--accent); align-self: flex-start;
  }

body.pg-chc-post-event .partner .name {
    font-size: 20px; font-weight: 600; color: #0d2d52;
    line-height: 1.2; letter-spacing: -0.2px;
  }

body.pg-chc-post-event .partner .arr {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 20px; color: var(--accent);
    opacity: .5; transition: opacity .25s, transform .25s;
  }

body.pg-chc-post-event .partner:hover .arr { opacity: 1; transform: translateX(3px); }

body.pg-chc-post-event .partner .bottom { display: flex; justify-content: space-between; align-items: flex-end; }

body.pg-chc-post-event .p-host { --accent: #4A2767; }

body.pg-chc-post-event .p-cohost { --accent: #964FB5; }

body.pg-chc-post-event .p-fi1 { --accent: #1a4d8c; }

body.pg-chc-post-event .p-fi2 { --accent: #2680c2; }

body.pg-chc-post-event .p-net1 { --accent: #2680c2; }

body.pg-chc-post-event .p-net1::before { background: #5fc8e8; }

body.pg-chc-post-event .p-net2 { --accent: #0d2d52; }

@media (max-width: 1024px) {
body.pg-chc-post-event .partners .head { grid-template-columns: 1fr; }
body.pg-chc-post-event .partner-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1024px) {
body.pg-chc-post-event section { padding: 60px 30px; }
body.pg-chc-post-event .stats-strip { grid-template-columns: repeat(2, 1fr); gap: 32px 16px; }
body.pg-chc-post-event .stat + .stat::before { display: none; }
body.pg-chc-post-event .page-banner { padding: 90px 30px 110px; }
body.pg-chc-post-event .banner-wrap h1 { font-size: 44px; }
body.pg-chc-post-event .banner-wrap h1 .accent { font-size: 50px; }
}

@media (max-width: 768px) {
body.pg-chc-post-event .page-banner { padding: 70px 24px 90px; }
body.pg-chc-post-event .banner-wrap h1 { font-size: 34px; }
body.pg-chc-post-event .banner-wrap h1 .accent { font-size: 38px; }
body.pg-chc-post-event .sec-title { font-size: 30px; }
body.pg-chc-post-event .sec-title .script { font-size: 36px; }
body.pg-chc-post-event .partner-row { grid-template-columns: 1fr; }
body.pg-chc-post-event .stats-strip { grid-template-columns: 1fr; }
body.pg-chc-post-event .stat .num { font-size: 36px; }
}

body.pg-chc-post-event .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }

body.pg-chc-post-event .reveal.in { opacity: 1; transform: translateY(0); }

/* =========================================================================
   ROOT PAGE — chc-pre-event.html  (scoped body.pg-chc-pre-event; 4 identical dups removed)
   ========================================================================= */
body.pg-chc-pre-event .page-banner {
    position: relative; color: #fff; padding: 70px 60px 90px; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.93) 0%, rgba(74, 39, 103, 0.82) 50%, rgba(13, 45, 82, 0.93) 100%),
      url('/images/banner/16-scaled.jpg') center/cover no-repeat;
  }

body.pg-chc-pre-event .page-banner::before {
    content: ""; position: absolute; top: 30px; left: 40px; width: 110px; height: 110px;
    background: #964FB5; transform: rotate(45deg); opacity: 0.45; border-radius: 12px;
  }

body.pg-chc-pre-event .page-banner::after {
    content: ""; position: absolute; bottom: 40px; right: 60px; width: 140px; height: 140px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.28; border-radius: 12px;
  }

body.pg-chc-pre-event .banner-strip {
    position: absolute; bottom: 0; left: 0; right: 0; height: 90px; overflow: hidden;
    z-index: 1; pointer-events: none; opacity: .28;
    mask-image: linear-gradient(to top, #000 30%, transparent 100%);
    -webkit-mask-image: linear-gradient(to top, #000 30%, transparent 100%);
  }

body.pg-chc-pre-event .banner-strip-track { display: flex; gap: 8px; animation: bstrip 60s linear infinite; width: max-content; }

body.pg-chc-pre-event .banner-strip img { width: 200px; height: 90px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }

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

body.pg-chc-pre-event .banner-wrap { max-width: 1300px; margin: 0 auto; position: relative; z-index: 2; text-align: center; }

body.pg-chc-pre-event .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }

body.pg-chc-pre-event .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }

body.pg-chc-pre-event .banner-wrap h1 .accent { color: #964FB5; /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; /* font-size: 68px */; }

body.pg-chc-pre-event .banner-wrap .meta-row {
    display: inline-flex; gap: 18px; align-items: center; justify-content: center; margin: 18px 0 22px;
    color: rgba(255,255,255,.9); font-size: 14px; font-weight: 500;
  }

body.pg-chc-pre-event .banner-wrap .rsvp-wrap { margin-top: 14px; }

body.pg-chc-pre-event .banner-wrap .banner-rsvp {
    display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin-top: 18px;
    padding: 14px 36px; border-radius: 50px;
    background: #fff; color: #0d2d52; font-weight: 700; text-transform: uppercase;
    font-size: 13px; letter-spacing: 1px;
    line-height: 1;
    transition: transform .2s, box-shadow .2s, background .2s, color .2s;
  }

body.pg-chc-pre-event .banner-wrap .banner-rsvp:hover {
    transform: translateY(-2px); box-shadow: 0 12px 28px rgba(74,39,103,.45);
    background: #964FB5; color: #fff;
  }

body.pg-chc-pre-event .banner-wrap .banner-rsvp .arr {
    font-size: 18px; line-height: 1;
    display: inline-flex; align-items: center;
    transition: transform .2s;
  }

body.pg-chc-pre-event .banner-wrap .banner-rsvp:hover .arr { transform: translateX(3px); }

body.pg-chc-pre-event .wrap { max-width: 1300px; margin: 0 auto; }

body.pg-chc-pre-event .eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    color: #1a4d8c; letter-spacing: 3px; font-size: 12px; font-weight: 600;
    text-transform: uppercase; margin-bottom: 14px;
  }

body.pg-chc-pre-event .eyebrow::before { content:""; width: 24px; height: 2px; background: linear-gradient(90deg, #4A2767, #5fc8e8); }

body.pg-chc-pre-event .sec-title {
    font-size: 42px; line-height: 1.15; font-weight: 700; color: #0d2d52; margin-bottom: 16px; letter-spacing: -0.5px;
  }

body.pg-chc-pre-event .sec-title .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; font-weight: 700; color: #4A2767; /* font-size: 50px */; }

body.pg-chc-pre-event .sec-lede { font-size: 15px; color: #333; line-height: 1.75; max-width: 720px; }

body.pg-chc-pre-event .sec-lede strong { color: #0d2d52; font-weight: 600; }

body.pg-chc-pre-event .intro {
    position: relative;
    background: linear-gradient(180deg, #fff 0%, #faf8fc 100%);
    overflow: hidden;
  }

body.pg-chc-pre-event .intro::before {
    
    content: ""; position: absolute; top: 60px; left: -40px;
    width: 180px; height: 180px;
    background: #4A2767; transform: rotate(45deg); opacity: 0.04;
    border-radius: 20px; pointer-events: none;
  }

body.pg-chc-pre-event .intro .wrap { position: relative; z-index: 2; }

body.pg-chc-pre-event .intro .head { margin-bottom: 36px; }

body.pg-chc-pre-event .intro .grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: start; }

body.pg-chc-pre-event .intro .col-l { position: relative; }

body.pg-chc-pre-event .intro .col-l .qmark {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-style: normal;
    font-size: 120px; line-height: 0.7; color: #4A2767;
    opacity: .9; display: block; margin-bottom: -10px;
    letter-spacing: -8px;
  }

body.pg-chc-pre-event .intro .quote {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight: 400;
    font-size: 30px; line-height: 1.25; color: #0d2d52;
    letter-spacing: -0.4px; font-style: italic;
  }

body.pg-chc-pre-event .intro .quote em {
    color: #4A2767; font-style: italic; font-weight: 500;
    background: linear-gradient(180deg, transparent 70%, rgba(150,79,181,0.18) 70%);
    padding: 0 2px;
  }

body.pg-chc-pre-event .intro .quote .amp { font-style: italic; color: #964FB5; padding: 0 2px; }

body.pg-chc-pre-event .intro p { font-size: 14.5px; color: #333; line-height: 1.85; margin-bottom: 16px; }

body.pg-chc-pre-event .intro p strong { color: #0d2d52; font-weight: 600; }

body.pg-chc-pre-event .stats-strip {
    margin-top: 56px; padding: 32px 0; border-top: 1px solid #e7ebf2; border-bottom: 1px solid #e7ebf2;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  }

body.pg-chc-pre-event .stat { text-align: center; position: relative; padding: 0 16px; }

body.pg-chc-pre-event .stat + .stat::before {
    content: ""; position: absolute; left: 0; top:0; bottom:0; width:2px; background:rgba(95,200,232,.7);
  }

body.pg-chc-pre-event .stat .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight: 400;
    font-size: 44px; line-height: 1; color: #4A2767; letter-spacing: -1px;
    margin-bottom: 8px;
  }

body.pg-chc-pre-event .stat .num .plus { color: #964FB5; }

body.pg-chc-pre-event .stat .lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase;
    color: #333;
  }

body.pg-chc-pre-event .venue .wrap { position: relative; z-index: 2; }

body.pg-chc-pre-event .rsvp-bar .l h3 { font-size: 24px; font-weight: 600; margin-bottom: 6px; }

body.pg-chc-pre-event .rsvp-bar .l p { font-size: 14px; opacity: .85; }

body.pg-chc-pre-event .rsvp-btn .arr { font-size: 18px; }

body.pg-chc-pre-event .why { background: #fff; }

body.pg-chc-pre-event .why .head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 44px; }

body.pg-chc-pre-event .why-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }

body.pg-chc-pre-event .why-card {
    border-radius: 16px; padding: 32px 28px; position: relative; overflow: hidden;
    min-height: 260px; display: flex; flex-direction: column; justify-content: space-between;
    transition: transform .35s ease, box-shadow .35s ease;
  }

body.pg-chc-pre-event .why-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(13,45,82,.18); }

body.pg-chc-pre-event .why-card .num {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 96px; line-height: .8; font-weight: 300;
    opacity: .85; letter-spacing: -2px; margin-bottom: 8px;
  }

body.pg-chc-pre-event .why-card h3 {
    font-size: 22px; font-weight: 600; line-height: 1.3; margin-bottom: 10px; letter-spacing: -0.2px;
  }

body.pg-chc-pre-event .why-card p { font-size: 13.5px; line-height: 1.6; }

body.pg-chc-pre-event .why-card .tag {
    position: absolute; top: 22px; right: 22px;
    font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    padding: 4px 10px; border-radius: 99px;
  }

body.pg-chc-pre-event .why-c1 { grid-column: span 5; background: linear-gradient(160deg, #0d2d52 0%, #1a4d8c 100%); color: #fff; }

body.pg-chc-pre-event .why-c1 .num { color: #5fc8e8; }

body.pg-chc-pre-event .why-c1 .tag { background: rgba(95,200,232,.18); color: #5fc8e8; }

body.pg-chc-pre-event .why-c1 p { color: rgba(255,255,255,.78); }

body.pg-chc-pre-event .why-c2 {
    grid-column: span 4;
    background:
      linear-gradient(160deg, rgba(13,45,82,.86), rgba(74,47,140,.82)),
      url('/images/banner/13-1130x650.jpg') center/cover no-repeat;
    color: #fff;
  }

body.pg-chc-pre-event .why-c2 .num { color: #964FB5; }

body.pg-chc-pre-event .why-c2 .tag { background: rgba(150,79,181,.2); color: #E5D0EE; }

body.pg-chc-pre-event .why-c2 p { color: rgba(255,255,255,.85); }

body.pg-chc-pre-event .why-c3 { grid-column: span 3; background: linear-gradient(160deg, #4A2767 0%, #2D1640 100%); color: #fff; }

body.pg-chc-pre-event .why-c3 .num { color: #F5EBFA; }

body.pg-chc-pre-event .why-c3 .tag { background: rgba(255,255,255,.18); color: #fff; }

body.pg-chc-pre-event .why-c3 p { color: rgba(255,255,255,.85); }

body.pg-chc-pre-event .why-c4 { grid-column: span 4; background: #f6f8fc; border: 1px solid #e7ebf2; color: #0d2d52; }

body.pg-chc-pre-event .why-c4 .num { color: #4A2767; }

body.pg-chc-pre-event .why-c4 .tag { background: #F5EBFA; color: #2D1640; }

body.pg-chc-pre-event .why-c4 p { color: #333; }

body.pg-chc-pre-event .why-c5 {
    grid-column: span 8;
    background: linear-gradient(110deg, #5fc8e8 0%, #2680c2 60%, #1a4d8c 100%);
    color: #fff;
    display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center;
  }

body.pg-chc-pre-event .why-c5 .num { font-size: 130px; }

body.pg-chc-pre-event .why-c5 h3 { font-size: 26px; max-width: 22ch; }

body.pg-chc-pre-event .why-c5 .tag { background: rgba(13,45,82,.35); color: #fff; }

body.pg-chc-pre-event .why-c5 p { color: rgba(255,255,255,.88); font-size: 14.5px; max-width: 56ch; }

body.pg-chc-pre-event .why-c5 .right > * + * { margin-top: 8px; }

@media (max-width: 1024px) {
body.pg-chc-pre-event .why-grid > * { grid-column: span 6 !important; }
body.pg-chc-pre-event .why-c5 { grid-template-columns: 1fr; }
body.pg-chc-pre-event .why-c5 .num { font-size: 96px; }
}

@media (max-width: 640px) {
body.pg-chc-pre-event .why-grid > * { grid-column: 1 / -1 !important; }
}

body.pg-chc-pre-event .glimpse { background: #f6f8fc; padding: 80px 0; overflow: hidden; }

body.pg-chc-pre-event .glimpse .head { padding: 0 60px; max-width: 1300px; margin: 0 auto 36px;
    display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; }

body.pg-chc-pre-event .glimpse h2 { font-size: 42px; line-height: 1.1; color: #0d2d52; font-weight: 700; letter-spacing: -0.5px; max-width: 14ch; }

body.pg-chc-pre-event .glimpse h2 .script { /* font-family: 'Dancing Script', cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color: #4A2767; /* font-size: 52px */; font-weight: 700; }

body.pg-chc-pre-event .glimpse .head .right { font-size: 14px; color: #333; max-width: 360px; line-height: 1.7; }

body.pg-chc-pre-event .gtrack { display: flex; gap: 18px; animation: gscroll 90s linear infinite; width: max-content; padding: 0 18px; }

body.pg-chc-pre-event .gtrack .frame {
    width: 340px; height: 220px; border-radius: 14px; overflow: hidden; flex-shrink: 0; position: relative;
    box-shadow: 0 18px 40px rgba(13,45,82,.18); border: 1px solid #e7ebf2;
  }

body.pg-chc-pre-event .gtrack .frame:nth-child(odd) { transform: translateY(20px); }

body.pg-chc-pre-event .gtrack .frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }

body.pg-chc-pre-event .gtrack .frame:hover img { transform: scale(1.06); }

body.pg-chc-pre-event .gtrack:hover { animation-play-state: paused; }

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

body.pg-chc-pre-event .partners .head { margin-bottom: 36px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 50px; align-items: end; }

body.pg-chc-pre-event .partners .sec-lede { font-size: 14.5px; }

body.pg-chc-pre-event .partner-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

body.pg-chc-pre-event .partner {
    --accent: #888;
    position: relative; overflow: hidden;
    background: #fff;
    border: 1px solid #e7ebf2;
    border-radius: 8px;
    padding: 28px 24px 28px 30px;
    display: flex; flex-direction: column; gap: 14px;
    min-height: 150px; justify-content: space-between;
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
    text-decoration: none;
  }

body.pg-chc-pre-event .partner::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0;
    width: 6px; background: var(--accent);
    transition: width .35s cubic-bezier(.4,0,.2,1);
  }

body.pg-chc-pre-event .partner:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(13,45,82,.08);
  }

body.pg-chc-pre-event .partner:hover::before { width: 10px; }

body.pg-chc-pre-event .partner .role {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
    color: var(--accent); align-self: flex-start;
  }

body.pg-chc-pre-event .partner .name {
    font-size: 20px; font-weight: 600; color: #0d2d52;
    line-height: 1.2; letter-spacing: -0.2px;
  }

body.pg-chc-pre-event .partner .arr {
    font-family: 'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size: 20px; color: var(--accent);
    opacity: .5; transition: opacity .25s, transform .25s;
  }

body.pg-chc-pre-event .partner:hover .arr { opacity: 1; transform: translateX(3px); }

body.pg-chc-pre-event .partner .bottom { display: flex; justify-content: space-between; align-items: flex-end; }

body.pg-chc-pre-event .p-host { --accent: #4A2767; }

body.pg-chc-pre-event .p-cohost { --accent: #964FB5; }

body.pg-chc-pre-event .p-fi1 { --accent: #1a4d8c; }

body.pg-chc-pre-event .p-fi2 { --accent: #2680c2; }

body.pg-chc-pre-event .p-net1 { --accent: #2680c2; }

body.pg-chc-pre-event .p-net1::before { background: #5fc8e8; }

body.pg-chc-pre-event .p-net2 { --accent: #0d2d52; }

@media (max-width: 1024px) {
body.pg-chc-pre-event .partners .head { grid-template-columns: 1fr; }
body.pg-chc-pre-event .partner-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1024px) {
body.pg-chc-pre-event section { padding: 60px 30px; }
body.pg-chc-pre-event .intro .grid { grid-template-columns: 1fr; gap: 40px; }
body.pg-chc-pre-event .intro .col-l .qmark { font-size: 90px; }
body.pg-chc-pre-event .intro .quote { font-size: 24px; }
body.pg-chc-pre-event .stats-strip { grid-template-columns: repeat(2, 1fr); gap: 32px 16px; }
body.pg-chc-pre-event .stat + .stat::before { display: none; }
body.pg-chc-pre-event .page-banner { padding: 90px 30px 110px; }
body.pg-chc-pre-event .banner-wrap h1 { font-size: 44px; }
body.pg-chc-pre-event .banner-wrap h1 .accent { font-size: 50px; }
}

@media (max-width: 768px) {
body.pg-chc-pre-event .page-banner { padding: 70px 24px 90px; }
body.pg-chc-pre-event .banner-wrap h1 { font-size: 34px; }
body.pg-chc-pre-event .banner-wrap h1 .accent { font-size: 38px; }
body.pg-chc-pre-event .sec-title { font-size: 30px; }
body.pg-chc-pre-event .sec-title .script { font-size: 36px; }
body.pg-chc-pre-event .partner-row { grid-template-columns: 1fr; }
body.pg-chc-pre-event .stats-strip { grid-template-columns: 1fr; }
body.pg-chc-pre-event .stat .num { font-size: 36px; }
}

body.pg-chc-pre-event .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }

body.pg-chc-pre-event .reveal.in { opacity: 1; transform: translateY(0); }

/* =========================================================================
   ROOT PAGE — index.html  (scoped body.pg-index; 17 identical dups removed)
   ========================================================================= */
body.pg-index .home-banner {
    position: relative; color: #fff; padding: 50px 60px 0; overflow: hidden;
    background:
      linear-gradient(135deg, rgba(13, 45, 82, 0.92) 0%, rgba(26, 77, 140, 0.82) 50%, rgba(13, 45, 82, 0.92) 100%),
      url('/images/inline/6d8268f910.jpg') center/cover no-repeat;
  }

body.pg-index .home-banner::before {
    content: ""; position: absolute; bottom: 40px; left: -30px; width: 120px; height: 120px;
    background: #1a4d8c; transform: rotate(45deg); opacity: 0.4; border-radius: 12px;
    z-index: 1;
  }

body.pg-index .home-banner::after {
    content: ""; position: absolute; top: 50%; right: -30px; width: 130px; height: 130px;
    margin-top: -65px;
    background: #5fc8e8; transform: rotate(45deg); opacity: 0.22; border-radius: 12px;
    z-index: 1;
  }

body.pg-index .banner-cedar { left: 60px; align-items: flex-start; }

body.pg-index .banner-cedar img {
    opacity: 0.95;
  }

body.pg-index .banner-cedar:hover img {
    opacity: 1;
    filter: drop-shadow(0 0 12px rgba(95, 200, 232, 0.6));
  }

body.pg-index .banner-wrap .sub {
    color: #5fc8e8; letter-spacing: 4px; font-size: 13px; font-weight: 600;
    text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
  }

body.pg-index .banner-wrap h1 { font-size: 56px; line-height: 1.15; font-weight: 700; margin-bottom: 16px; }

body.pg-index .group-strip {
    position: relative; z-index: 2;
    background: rgba(13, 45, 82, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    margin: 0 -60px;
    padding: 0px 60px;
  }

body.pg-index .group-strip-wrap {
    max-width: 1300px; margin: 0 auto;
    display: flex; align-items: center; justify-content: center;
    gap: 35px; flex-wrap: wrap;
  }

body.pg-index .group-strip-label {
    font-size: 12px; font-weight: 600; letter-spacing: 3px;
    text-transform: uppercase; color: #5fc8e8;
    padding-right: 22px;
    border-right: 1px solid rgba(95, 200, 232, 0.3);
    white-space: nowrap;
  }

body.pg-index .group-logo {
    display: inline-flex; align-items: center; justify-content: center;
    height: 56px; padding: 0 4px;
    opacity: 0.88;
    transition: opacity 0.25s ease, transform 0.25s ease, filter 0.25s ease;
  }

body.pg-index .group-logo:hover {
    opacity: 1;
    filter: drop-shadow(0 0 8px rgba(95, 200, 232, 0.6));
    transform: translateY(-2px);
  }

body.pg-index .group-logo img {
    max-height: 110%; max-width: 180px;
    width: auto; object-fit: contain;
  }

body.pg-index .group-logo-lg { height: 72px; }

body.pg-index .group-logo-lg img { max-width: 180px; }

body.pg-index .group-logo-cifl { height: 110px; }

body.pg-index .group-logo-cifl img { max-width: 170px; max-height: 100%; }

@media (max-width: 900px) {
body.pg-index .group-strip-label {
      border-right: none; padding-right: 0;
      width: 100%; text-align: center;
    }
body.pg-index .banner-corner { top: 18px; }
body.pg-index .banner-cedar { left: 20px; }
body.pg-index .banner-forbes { right: 20px; }
body.pg-index .banner-corner img { max-width: 80px; max-height: 80px; }
body.pg-index .banner-wrap { padding-top: 56px; }
}

@media (max-width: 768px) {
body.pg-index .home-banner { padding: 60px 24px 0; }
body.pg-index .banner-wrap { padding-bottom: 50px; }
body.pg-index .banner-wrap h1 { font-size: 34px; }
body.pg-index .banner-wrap h1 span { font-size: 38px; }
body.pg-index .group-strip { margin: 0 -24px; padding: 16px 24px; }
body.pg-index .group-strip-wrap { gap: 18px; }
body.pg-index .group-logo { height: 44px; }
body.pg-index .banner-corner img { max-width: 64px; max-height: 64px; }
}

body.pg-index .home-banner .banner-wrap h1 { font-size: clamp(36px,5.6vw,62px); }

body.pg-index .home-banner .banner-wrap h1 span { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700 !important; font-weight:700 !important; /* font-size:1.18em !important */; color:#5fc8e8 !important; line-height:1; }

body.pg-index .banner-focus { margin-top:6px; display:inline-flex; align-items:center; gap:26px; background:rgba(255,255,255,.10); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.22); border-radius:14px; padding:18px 26px; }

body.pg-index .banner-focus .fsub { font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:#5fc8e8; border-right:1px solid rgba(95,200,232,.4); padding-right:24px; }

body.pg-index .banner-focus .finfo { text-align:left; line-height:1.3; }

body.pg-index .banner-focus .finfo strong { display:block; font-size:19px; font-weight:700; color:#fff; }

body.pg-index .banner-focus .finfo span { font-size:13px; color:#cfe2f3; }

body.pg-index .banner-focus .fcta { background:linear-gradient(90deg,#1a4d8c,#3eb1d8); color:#fff; padding:13px 28px; border-radius:8px; font-weight:700; text-transform:uppercase; font-size:12px; letter-spacing:1px; white-space:nowrap; transition:transform .2s, box-shadow .2s; }

body.pg-index .banner-focus .fcta:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(26,77,140,.45); }

@media (max-width:700px) {
body.pg-index .banner-focus { flex-direction:column; gap:12px; text-align:center; }
body.pg-index .banner-focus .fsub { border-right:none; padding-right:0; }
body.pg-index .banner-focus .finfo { text-align:center; }
}

@media (max-width:768px) {
body.pg-index nav > ul { display:none; }
}

body.pg-index .reveal-up { opacity:0; transform:translateY(34px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }

body.pg-index .reveal-up.in { opacity:1; transform:none; }

body.pg-index .reveal-left, body.pg-index .reveal-right { opacity:0; transition:opacity .9s ease, transform .9s cubic-bezier(.22,1,.36,1); }

body.pg-index .reveal-left { transform:translateX(-70px); }

body.pg-index .reveal-right { transform:translateX(70px); }

body.pg-index .reveal-left.in, body.pg-index .reveal-right.in { opacity:1; transform:translateX(0); }

body.pg-index .about-grid { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }

body.pg-index .about-text .a-sub { color:#1a4d8c; letter-spacing:3px; font-size:13px; font-weight:600; text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; }

body.pg-index .about-text .a-sub::after { content:""; width:28px; height:2px; background:linear-gradient(90deg,#1a4d8c,transparent); }

body.pg-index .about-text h2 { font-size:42px; font-weight:700; color:#0d2d52; line-height:1.2; margin:12px 0 16px; }

body.pg-index .about-text h2 span { color:#1a4d8c; /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; /* font-size:42px */; }

body.pg-index .about-text p { color:#333; font-size:15px; line-height:1.8; margin-bottom:14px; }

body.pg-index .about-list { list-style:none; padding:0; margin:6px 0 0; }

body.pg-index .about-list li { position:relative; padding-left:26px; margin-bottom:11px; color:#333; font-size:14.5px; line-height:1.5; }

body.pg-index .about-list li::before { content:""; position:absolute; left:0; top:6px; width:12px; height:12px; background:#1a4d8c; border-radius:3px; transform:rotate(45deg); }

body.pg-index .about-media img { width:100%; height:400px; object-fit:cover; border-radius:12px; box-shadow:0 20px 50px rgba(13,45,82,.18); }

body.pg-index .focus-bar { max-width:1100px; margin:0 auto 38px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; background:linear-gradient(120deg,#0d2d52,#1a4d8c 60%,#2f6fb0); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:20px 28px; box-shadow:0 14px 34px rgba(13,45,82,.26); }

body.pg-index .focus-bar .fb-left { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }

body.pg-index .focus-bar .fb-label { font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:#5fc8e8; border-right:1px solid rgba(95,200,232,.4); padding-right:22px; }

body.pg-index .focus-bar .fb-info strong { display:block; color:#fff; font-size:20px; font-weight:700; }

body.pg-index .focus-bar .fb-info span { color:#cfe2f3; font-size:14px; }

body.pg-index .focus-bar .fb-cta { background:linear-gradient(90deg,#3eb1d8,#5fc8e8); color:#0d2d52; font-weight:700; text-transform:uppercase; letter-spacing:1px; font-size:13px; padding:14px 30px; border-radius:8px; white-space:nowrap; transition:transform .2s, box-shadow .2s; }

body.pg-index .focus-bar .fb-cta:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(62,177,216,.45); }

@media (max-width:700px) {
body.pg-index .focus-bar { flex-direction:column; text-align:center; }
body.pg-index .focus-bar .fb-label { border-right:none; padding-right:0; }
}

body.pg-index .ent-row { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:20px; position:relative; z-index:2; }

body.pg-index .ent-card { background:#fff; border-radius:12px; padding:20px 26px; flex:1 1 200px; max-width:260px; min-height:96px; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.28); transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s; }

body.pg-index .ent-card:hover { transform:translateY(-7px) scale(1.03); box-shadow:0 16px 34px rgba(38,128,194,.4); }

body.pg-index .ent-card img { max-height:64px; max-width:175px; width:auto; object-fit:contain; }

body.pg-index .ent-divider { text-align:center; font-size:12px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:#5fc8e8; margin:24px 0 16px; display:flex; align-items:center; justify-content:center; gap:14px; position:relative; z-index:2; }

body.pg-index .ent-divider::before, body.pg-index .ent-divider::after { content:""; width:40px; height:1px; background:linear-gradient(90deg,transparent,#5fc8e8); }

body.pg-index .ent-divider::after { background:linear-gradient(90deg,#5fc8e8,transparent); }

body.pg-index .ent-featured { display:flex; justify-content:center; position:relative; z-index:2; }

body.pg-index .ent-featured .ent-card { flex:0 0 auto; min-height:0; padding:14px 22px; }

body.pg-index .ent-featured .ent-card img { max-height:72px; max-width:140px; border-radius:4px; }

body.pg-index .posts-bg { padding:42px 60px !important; }

body.pg-index .posts-bg .sec-head { margin-bottom:30px; }

body.pg-index .post-img { height:172px !important; }

body.pg-index .post-body { padding:20px !important; }

body.pg-index .post-body h3 { font-size:18px !important; margin-bottom:14px !important; }

@media (max-width:768px) {
body.pg-index .about-grid { grid-template-columns:1fr; gap:30px; }
body.pg-index .reveal-left, body.pg-index .reveal-right { transform:translateY(40px); }
body.pg-index .ent-card { max-width:100%; }
}

:root {
    --navy-deep:#0d2d52; --navy:#1a4d8c; --cyan:#5fc8e8;
    --cyan-bright:#3eb1d8; --ice:#cfe2f3; --white:#ffffff;
    --bgpos:82% center;   /* SUBJECT crop. lower %=left, higher=right; 2nd value = vertical. keep face in frame */
  }

body.pg-index .home-banner { position:relative; padding:0; overflow:hidden; background:var(--navy-deep); }

body.pg-index .home-banner .stage {
    position:relative; min-height:calc(100vh - 78px);
    display:flex; flex-direction:column;
    background:
      radial-gradient(60% 80% at 78% 48%, rgba(95,200,232,.10) 0%, transparent 60%),
      linear-gradient(100deg, rgba(8,26,48,.97) 0%, rgba(11,38,68,.93) 30%, rgba(12,40,72,.55) 48%, rgba(12,40,72,.18) 64%, rgba(8,26,48,.06) 100%),
      url('/images/banner/GFIA7-scaled.jpg') var(--bgpos)/cover no-repeat;
    overflow:hidden;
  }

body.pg-index .home-banner .stage::before {
    content:""; position:absolute; inset:0; z-index:0;
    background-image:
      linear-gradient(rgba(95,200,232,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(95,200,232,.05) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(120% 120% at 16% 38%, #000 22%, transparent 78%);
    animation:bnDrift 34s linear infinite;
  }

@keyframes bnDrift {to{background-position:64px 64px;}}

body.pg-index .home-banner .fx {position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;}

body.pg-index .home-banner .beam {position:absolute; top:-40%; width:36vmax; height:200%;
    background:linear-gradient(90deg, transparent, rgba(95,200,232,.10), transparent);
    transform:rotate(14deg); filter:blur(6px); mix-blend-mode:screen;}

body.pg-index .home-banner .beam.b1 {left:-30%; animation:bnBeam1 17s ease-in-out infinite;}

body.pg-index .home-banner .beam.b2 {left:10%; opacity:.6; animation:bnBeam2 23s ease-in-out 3s infinite;}

@keyframes bnBeam1 {0%,100%{left:-30%;}50%{left:60%;}}

@keyframes bnBeam2 {0%,100%{left:0%;}50%{left:85%;}}

body.pg-index .home-banner .ring {position:absolute; top:46%; right:-6%; width:62vh; height:62vh;
    transform:translateY(-50%) rotate(0deg);
    border:1px solid rgba(95,200,232,.20); border-radius:60px;
    box-shadow:0 0 60px rgba(95,200,232,.06) inset;
    animation:bnRingspin 40s linear infinite; z-index:1;}

body.pg-index .home-banner .ring.r2 {width:46vh;height:46vh;right:2%;border-color:rgba(95,200,232,.10);animation-duration:55s;animation-direction:reverse;}

@keyframes bnRingspin {to{transform:translateY(-50%) rotate(360deg);}}

body.pg-index .home-banner .net {position:absolute; top:6%; left:4%; width:340px; height:200px; opacity:.5; z-index:1;}

body.pg-index .home-banner .net line {stroke:rgba(95,200,232,.25); stroke-width:1;}

body.pg-index .home-banner .net circle {fill:var(--cyan); animation:bnTwinkle 4s ease-in-out infinite;}

@keyframes bnTwinkle {0%,100%{opacity:.3;}50%{opacity:1;}}

body.pg-index .home-banner .bn-hero {flex:1; position:relative; z-index:3;
    display:flex; align-items:center; justify-content:flex-start;
    padding:clamp(40px,5vh,80px) clamp(40px,5.2vw,96px) clamp(28px,3.5vh,52px);}

body.pg-index .home-banner .copy {display:flex; flex-direction:column; gap:clamp(16px,1.8vw,24px); max-width:min(650px,46vw);}

body.pg-index .home-banner .kicker {display:inline-flex; align-items:center; gap:14px;
    font-size:clamp(11px,1vw,12px); font-weight:600; letter-spacing:.42em;
    text-transform:uppercase; color:var(--cyan); opacity:0; animation:bnRise .8s .1s forwards;}

body.pg-index .home-banner .kicker .dot {width:9px;height:9px;border-radius:50%;background:var(--cyan);
    box-shadow:0 0 0 4px rgba(95,200,232,.18); animation:bnBeat 2s ease-in-out infinite;}

@keyframes bnBeat {0%,100%{box-shadow:0 0 0 4px rgba(95,200,232,.18);}50%{box-shadow:0 0 0 9px rgba(95,200,232,0);}}

body.pg-index .home-banner .kicker .line {width:54px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);}

body.pg-index .home-banner .headline {font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-weight:400;line-height:1;letter-spacing:-.02em;
    font-size:clamp(34px,4.4vw,62px);}

body.pg-index .home-banner .headline .l1 {display:block;white-space:nowrap;opacity:0;animation:bnRise .9s .2s forwards;}

body.pg-index .home-banner .headline .l2 {font-style:normal;font-weight:800;
    background:linear-gradient(100deg,var(--cyan) 0%, var(--white) 45%, var(--cyan-bright) 70%, var(--white) 100%);
    background-size:240% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:bnShimmer 6s ease-in-out 1.2s infinite;}

@keyframes bnShimmer {0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}

body.pg-index .home-banner .welcome {font-size:clamp(13px,1.1vw,15px);color:var(--ice);letter-spacing:.04em;
    max-width:420px;line-height:1.65;opacity:0;animation:bnRise .9s .65s forwards;}

body.pg-index .home-banner .welcome b {color:var(--white);font-weight:600;}

@keyframes bnRise {from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}

body.pg-index .home-banner .rail {position:relative; z-index:4; flex-shrink:0;
    display:flex; align-items:center; gap:clamp(18px,2.5vw,34px);
    padding:0 clamp(28px,4vw,80px);
    height:clamp(116px,13.5vh,152px);
    background:linear-gradient(0deg, rgba(7,24,46,.92) 0%, rgba(7,24,46,.55) 60%, transparent 100%);
    border-top:1px solid rgba(95,200,232,.16);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}

body.pg-index .home-banner .rail .label {flex-shrink:0; display:flex; flex-direction:column; gap:3px;
    color:var(--cyan); font-size:clamp(12px,1.1vw,14px); font-weight:600; letter-spacing:.26em;
    text-transform:uppercase; line-height:1.25; white-space:nowrap;}

body.pg-index .home-banner .rail .label small {color:var(--ice); font-weight:400; letter-spacing:.16em; opacity:.75;}

body.pg-index .home-banner .rail .rule {flex-shrink:0; width:2px; height:clamp(52px,7vh,70px);
    background:linear-gradient(180deg,transparent,rgba(95,200,232,.9),transparent);}

body.pg-index .home-banner .logos {display:flex; align-items:center; flex:1; min-width:0; gap:0; flex-wrap:nowrap;}

body.pg-index .home-banner .logos a {flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:center;
    height:clamp(116px,13.5vh,152px); opacity:.84; transition:opacity .25s, transform .25s; position:relative;}

body.pg-index .home-banner .logos a.ibs::after {content:""; position:absolute; right:0; top:50%;
    transform:translateY(-50%); width:2px; height:clamp(52px,7vh,70px); background:rgba(95,200,232,.7);}

body.pg-index .home-banner .logos a:hover {opacity:1; transform:translateY(-3px);}

body.pg-index .home-banner .logos img {width:auto; max-width:100%; transition:filter .25s;}

body.pg-index .home-banner .logos a:hover img {filter:drop-shadow(0 0 9px rgba(95,200,232,.5));}

body.pg-index .home-banner .logos .cedar img {height:clamp(55px,5.52vw,96px);}

body.pg-index .home-banner .logos .ibs   img {height:clamp(41px,4.08vw,67px);}

body.pg-index .home-banner .logos .chc   img {height:clamp(53px,5.76vw,62px);}

body.pg-index .home-banner .logos .cifl  img {height:clamp(84px,8.4vw,115px);}

body.pg-index .home-banner .forbes-corner {position:absolute; top:clamp(16px,2vh,30px); right:clamp(20px,3vw,60px); z-index:6; display:block; transition:transform .25s ease;}

body.pg-index .home-banner .forbes-corner img {height:clamp(82px,8.5vw,140px); width:auto; border-radius:8px; mix-blend-mode:screen; filter:brightness(1.1) contrast(1.05); opacity:.95;}

body.pg-index .home-banner .forbes-corner:hover {transform:translateY(-3px);}

body.pg-index .home-banner .forbes-corner:hover img {opacity:1; filter:brightness(1.15) contrast(1.1) drop-shadow(0 0 12px rgba(95,200,232,.5));}

@media(max-width:760px) {
    body.pg-index .home-banner .stage {background:linear-gradient(180deg, rgba(8,26,48,.92) 0%, rgba(10,33,60,.55) 45%, rgba(8,26,48,.85) 100%), url('/images/banner/GFIA7-scaled.jpg') 72% center/cover no-repeat;}
    body.pg-index .home-banner .bn-hero {justify-content:flex-start; padding-top:80px;}
    body.pg-index .home-banner .copy {align-items:flex-start; text-align:left; max-width:none;}
    body.pg-index .home-banner .ring, body.pg-index .home-banner .ring.r2 {right:-30%;opacity:.6;}
    body.pg-index .home-banner .rail {gap:14px; padding:0 18px; height:112px;}
    body.pg-index .home-banner .rail .label, body.pg-index .home-banner .rail .rule {display:none;}
    body.pg-index .home-banner .net {display:none;}
    body.pg-index .home-banner .logos a {height:112px;}
    body.pg-index .home-banner .logos .cedar img {height:clamp(46px,11.4vw,67px);}
    body.pg-index .home-banner .logos .ibs   img {height:clamp(34px,8.4vw,50px);}
    body.pg-index .home-banner .logos .chc   img {height:clamp(43px,10.8vw,65px);}
    body.pg-index .home-banner .logos .cifl  img {height:clamp(74px,18vw,113px);}
    body.pg-index .home-banner .forbes-corner img {height:clamp(58px,13vw,92px);}
  }

body.pg-index .home-banner {--rail-h:clamp(116px,13.5vh,152px);}

body.pg-index .home-banner .stage {display:block !important; min-height:calc(100vh - 78px);
    position:relative; overflow:hidden; background:var(--navy-deep);}

body.pg-index .home-banner .stage::before {display:none;}

body.pg-index .home-banner .bg-track, body.pg-index .home-banner .text-track {
    position:absolute; top:0; left:0; height:100%; width:100%; display:flex;
    will-change:transform; transition:transform 1.4s cubic-bezier(.83,0,.17,1);}

body.pg-index .home-banner .bg-track {z-index:0;}

body.pg-index .home-banner .fx {z-index:1;}

body.pg-index .home-banner .text-track {z-index:3; height:calc(100% - var(--rail-h));}

body.pg-index .home-banner .bg-slide {flex:0 0 100%; height:100%;}

body.pg-index .home-banner .bg-summits {
    background:
      radial-gradient(60% 80% at 78% 48%, rgba(95,200,232,.10) 0%, transparent 60%),
      linear-gradient(100deg, rgba(8,26,48,.97) 0%, rgba(11,38,68,.93) 30%, rgba(12,40,72,.55) 48%, rgba(12,40,72,.18) 64%, rgba(8,26,48,.06) 100%),
      url('/images/banner/GFIA7-scaled.jpg') var(--bgpos)/cover no-repeat;}

body.pg-index .home-banner .bg-singapore {
    background:
      linear-gradient(100deg, rgba(8,26,48,.97) 0%, rgba(10,34,62,.95) 30%, rgba(12,40,72,.78) 48%, rgba(12,40,72,.42) 62%, rgba(8,26,48,.12) 100%),
      url('/images/gallery/2026-9-IBSi-Singapore/2026IBSi9Singapore.png') center/cover no-repeat;}

body.pg-index .home-banner .bg-kuwait {
    background:
      linear-gradient(100deg, rgba(8,26,48,.97) 0%, rgba(10,34,62,.95) 30%, rgba(12,40,72,.78) 48%, rgba(12,40,72,.42) 62%, rgba(8,26,48,.12) 100%),
      url('/images/gallery/2026-10-IBSi-Kuwait/2026IBSi10Kuwait.png') center/cover no-repeat;}

body.pg-index .home-banner .bg-muscat {
    background:
      linear-gradient(100deg, rgba(8,26,48,.97) 0%, rgba(10,34,62,.95) 30%, rgba(12,40,72,.78) 48%, rgba(12,40,72,.42) 62%, rgba(8,26,48,.12) 100%),
      url('/images/gallery/2026-11-IBSi-Muscat/2026IBSi11Muscat.png') center/cover no-repeat;}

body.pg-index .home-banner .bg-mumbai {
    background:
      linear-gradient(100deg, rgba(8,26,48,.97) 0%, rgba(10,34,62,.95) 30%, rgba(12,40,72,.78) 48%, rgba(12,40,72,.42) 62%, rgba(8,26,48,.12) 100%),
      url('/images/gallery/2026-12-IBSi-Mumbai/2026IBSi12Mumbai.png') center/cover no-repeat;}

body.pg-index .home-banner .text-slide {flex:0 0 100%; height:100%; display:flex; align-items:center;
    padding:clamp(40px,5vh,80px) clamp(40px,5.2vw,96px) clamp(28px,3.5vh,52px);}

body.pg-index .home-banner .text-slide .bn-hero {display:block; padding:0; flex:none; width:100%; max-width:none;}

body.pg-index .home-banner .headline.ev {font-size:clamp(28px,3.6vw,50px); line-height:1.05;}

body.pg-index .home-banner .headline.ev .l1 {white-space:normal;}

body.pg-index .home-banner .ev-cta {margin-top:12px; align-self:flex-start; display:inline-flex; align-items:center; gap:10px;
    padding:14px 26px; border-radius:10px; text-decoration:none; letter-spacing:.02em;
    font:600 14px/1 'Poppins',system-ui,sans-serif; color:#fff;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.35);
    -webkit-backdrop-filter:blur(12px) saturate(150%); backdrop-filter:blur(12px) saturate(150%);
    box-shadow:0 8px 30px rgba(8,26,48,.28), inset 0 1px 0 rgba(255,255,255,.28);
    transition:transform .25s, background .25s, border-color .25s, box-shadow .25s;}

body.pg-index .home-banner .ev-cta:hover {transform:translateY(-2px); background:rgba(255,255,255,.2);
    border-color:rgba(255,255,255,.6); box-shadow:0 14px 40px rgba(8,26,48,.36), inset 0 1px 0 rgba(255,255,255,.4);}

body.pg-index .home-banner .ev-cta span {transition:transform .25s;}

body.pg-index .home-banner .ev-cta:hover span {transform:translateX(3px);}

body.pg-index .home-banner .rail {position:absolute; left:0; right:0; bottom:0; height:var(--rail-h); z-index:4;}

body.pg-index .home-banner .forbes-corner {z-index:6;}

body.pg-index .home-banner .slide-dots {position:absolute; z-index:5; right:clamp(40px,5.2vw,96px);
    bottom:calc(var(--rail-h) + 22px); display:flex; gap:10px;}

body.pg-index .home-banner .slide-dots button {width:9px; height:9px; padding:0; border:none; cursor:pointer; border-radius:50%;
    background:rgba(255,255,255,.32); transition:width .35s, background .35s, border-radius .35s;}

body.pg-index .home-banner .slide-dots button.on {width:26px; border-radius:5px; background:var(--cyan);}

@media(max-width:760px) {
    body.pg-index .home-banner .slide-dots {right:22px;}
    body.pg-index .home-banner .headline.ev {font-size:clamp(26px,7.5vw,40px);}
  }

body.pg-index .stat-band {background:linear-gradient(180deg,#eef4fa,#f6f9fc);color:#0d2d52;position:relative;overflow:hidden;
    padding:44px 60px;border-bottom:1px solid #e3ebf4;}

body.pg-index .stat-band .stats {display:grid;grid-template-columns:repeat(7,1fr);gap:0;max-width:1240px;margin:0 auto;}

body.pg-index .stat-band .stat {text-align:center;padding:6px 16px;position:relative;}
body.pg-index .stat-band .stat + .stat::before {content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:rgba(95,200,232,.7);}

body.pg-index .stat-band .num {font-family:'Poppins',sans-serif;font-size:clamp(30px,3.4vw,44px);font-weight:600;line-height:1;
    background:linear-gradient(90deg,#1a4d8c,#2680c2);-webkit-background-clip:text;background-clip:text;color:transparent;}

body.pg-index .stat-band .lbl {margin-top:10px;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:#0d2d52;line-height:1.5;}

body.pg-index .stat-band .sb-reveal {opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease;}

body.pg-index .stat-band .sb-reveal.in {opacity:1;transform:none;}

@media(max-width:900px) { body.pg-index .stat-band .stats {grid-template-columns:repeat(3,1fr);row-gap:30px;}
    body.pg-index .stat-band .stat:nth-child(3n+1)::before {display:none;} }

@media(max-width:560px) { body.pg-index .stat-band {padding:34px 22px;} body.pg-index .stat-band .stats {grid-template-columns:1fr 1fr;}
    body.pg-index .stat-band .stat::before {display:none;} }

body.pg-index .home-banner .headline .l1 {color:#fff; text-shadow:0 2px 22px rgba(8,26,48,.5);}

body.pg-index #group .partners-head { text-align:center; margin-bottom:26px; padding:0 60px; }

body.pg-index #group .partners-head .eyebrow { font-size:13px; color:#fff; letter-spacing:4px; text-transform:uppercase; font-weight:700; display:inline-flex; align-items:center; gap:20px; }

body.pg-index #group .partners-head .eyebrow::before, body.pg-index #group .partners-head .eyebrow::after { content:""; width:48px; height:1px; background:linear-gradient(90deg,transparent,#5fc8e8); }

body.pg-index #group .partners-head .eyebrow::after { background:linear-gradient(90deg,#5fc8e8,transparent); }

body.pg-index #group .partners-head h2 { font-size:42px; font-weight:800; color:#fff; line-height:1.12; margin:14px 0 12px; letter-spacing:-0.5px; }

body.pg-index #group .partners-head h2 span { color:#5fc8e8; }

body.pg-index #group .partners-head p { max-width:660px; margin:0 auto; color:rgba(255,255,255,0.82); font-size:15px; line-height:1.62; }

@media (max-width:768px) { body.pg-index #group .partners-head h2 { font-size:28px; } body.pg-index #group .partners-head { padding:0 24px; } }

body.pg-index #group .partners-track-wrap { position:relative; overflow:hidden; width:100%; padding:8px 0 4px; }

body.pg-index #group .partners-track-wrap::before, body.pg-index #group .partners-track-wrap::after { content:""; position:absolute; top:0; bottom:0; width:140px; z-index:2; pointer-events:none; }

body.pg-index #group .partners-track-wrap::before { left:0; background:linear-gradient(90deg,#0d2d52 0%,transparent 100%); }

body.pg-index #group .partners-track-wrap::after { right:0; background:linear-gradient(90deg,transparent 0%,#0d2d52 100%); }

body.pg-index #group .partners-track { display:flex; align-items:center; width:max-content; animation:partnerScroll 60s linear infinite; }

body.pg-index #group .partners-track:hover { animation-play-state:paused; }

@keyframes partnerScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

body.pg-index #group .partner-item { display:flex; align-items:center; justify-content:center; padding:16px 26px; flex-shrink:0; background:#fff; border-radius:12px; margin:0 10px; box-shadow:0 4px 14px rgba(0,0,0,.22); transition:box-shadow .3s, transform .3s; }

body.pg-index #group .partner-item img { height:50px; width:auto; max-width:140px; object-fit:contain; }

body.pg-index #group .partner-item:hover { box-shadow:0 8px 22px rgba(0,0,0,.32); transform:translateY(-3px); }

body.pg-index .recordings { position:relative; overflow:hidden; padding:80px 60px 88px; color:#0d2d52;
    background:
      radial-gradient(620px 360px at 88% 0%, rgba(95,200,232,.12), transparent 60%),
      radial-gradient(560px 360px at 8% 100%, rgba(38,128,194,.09), transparent 60%),
      linear-gradient(180deg,#ffffff 0%, #f4f8fc 100%); }

body.pg-index .recordings::before { content:""; position:absolute; top:46px; left:54px; width:120px; height:120px; background:#5fc8e8; transform:rotate(45deg); opacity:.07; border-radius:14px; }

body.pg-index .recordings::after { content:""; position:absolute; bottom:46px; right:64px; width:140px; height:140px; background:#5fc8e8; transform:rotate(45deg); opacity:.10; border-radius:14px; }

body.pg-index .recordings .wrap { max-width:1000px; margin:0 auto; position:relative; z-index:2; text-align:center; }

body.pg-index .recordings .eyebrow { display:inline-flex; align-items:center; gap:10px; justify-content:center; color:#1a4d8c; letter-spacing:3px; font-size:12px; font-weight:600; text-transform:uppercase; margin-bottom:14px; }

body.pg-index .recordings .eyebrow::before, body.pg-index .recordings .eyebrow::after { content:""; width:24px; height:2px; background:linear-gradient(90deg,transparent,#5fc8e8); }

body.pg-index .recordings .eyebrow::after { background:linear-gradient(90deg,#5fc8e8,transparent); }

body.pg-index .recordings h2 { font-size:42px; line-height:1.12; font-weight:700; letter-spacing:-.5px; color:#0d2d52; margin-bottom:14px; }

body.pg-index .recordings h2 .script { /* font-family:'Dancing Script',cursive */ font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif;font-style:normal;font-weight:700; color:#1a4d8c; /* font-size:50px */; }

body.pg-index .recordings p { color:#586079; font-size:15px; line-height:1.7; margin:0 auto 24px; max-width:520px; }

body.pg-index .rec-btn { display:inline-flex; align-items:center; gap:10px; padding:15px 30px; border-radius:50px; background:linear-gradient(135deg,#1a4d8c,#5fc8e8); color:#fff; font-weight:700; text-transform:uppercase; font-size:12.5px; letter-spacing:1px; transition:transform .2s, box-shadow .2s; box-shadow:0 10px 26px rgba(26,77,140,.28); }

body.pg-index .rec-btn:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(26,77,140,.36); }

body.pg-index .rec-btn .arr { font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-size:18px; }

body.pg-index .rec-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:24px; max-width:1040px; margin:38px auto 0; }
body.pg-index .rec-grid .vid:first-child { grid-column:1; grid-row:1 / span 2; display:flex; }
body.pg-index .rec-grid .vid:first-child .vthumb { aspect-ratio:auto; flex:1; }

body.pg-index .vid { display:block; text-align:left; }

body.pg-index .vthumb { position:relative; border-radius:14px; overflow:hidden; aspect-ratio:16/9; box-shadow:0 22px 48px -22px rgba(13,45,82,.42); border:1px solid #e7ebf2; background:linear-gradient(140deg,#1a4d8c,#0d2d52); }

body.pg-index .vthumb img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }

body.pg-index .vid:hover .vthumb img { transform:scale(1.06); }

body.pg-index .vthumb::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(13,45,82,.10),rgba(13,45,82,.45)); }

body.pg-index .play { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; }

body.pg-index .play span { width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.24); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.75); display:flex; align-items:center; justify-content:center; position:relative; transition:transform .25s, background .25s; }

body.pg-index .vid:hover .play span { transform:scale(1.1); background:rgba(255,255,255,.4); }

body.pg-index .play span::before { content:""; border-style:solid; border-width:9px 0 9px 15px; border-color:transparent transparent transparent #fff; margin-left:4px; }

body.pg-index .play span::after { content:""; position:absolute; inset:-8px; border-radius:50%; border:1px solid rgba(255,255,255,.5); animation:recpulse 2.4s ease-out infinite; }

body.pg-index .vmeta { padding:13px 4px 0; }

body.pg-index .vtitle { display:block; font-size:15px; font-weight:600; color:#0d2d52; line-height:1.35; }

body.pg-index .vid:hover .vtitle { color:#1a4d8c; }

body.pg-index .vdate { display:block; margin-top:5px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:1px; color:#5fc8e8; }

@keyframes recpulse { 0%{ transform:scale(.9); opacity:.7;} 100%{ transform:scale(1.5); opacity:0;} }

@media (max-width:1024px) { body.pg-index .recordings { padding:60px 30px; } body.pg-index .recordings h2 { font-size:32px; } body.pg-index .recordings h2 .script { font-size:40px; } }

@media (max-width:768px) { body.pg-index .rec-grid { grid-template-columns:1fr; max-width:420px; } body.pg-index .rec-grid .vid:first-child { grid-column:auto; grid-row:auto; display:block; } body.pg-index .rec-grid .vid:first-child .vthumb { aspect-ratio:16/9; flex:none; } body.pg-index .recordings h2 { font-size:26px; } body.pg-index .recordings h2 .script { font-size:32px; } }

/* =========================================================================
   BANNER RAIL — flush at bottom (consolidated 2026-07-14)
   The "GROUP ECOSYSTEM" logo rail is the last child of .page-banner and is
   meant to sit flush at the banner's bottom edge (as event pages do). Several
   root pages (speakers/calendar/faq/london/chc-*) kept a legacy 90–110px
   bottom padding from before the rail existed, leaving a dark empty gap below
   it. One generic rule zeros that padding wherever a rail is the last child.
   Specificity 0,3,0 (:has arg = .rail:last-child) beats body.pg-* .page-banner (0,2,1).
   ========================================================================= */
.page-banner:has(> .rail:last-child) { padding-bottom: 0; }

/* ============================================================================
   MOBILE side-padding fix (2026-07-14): several full-width content sections kept
   their desktop 60px horizontal padding on phones, cramping content / leaving big
   side gaps. Trim to 22px on <=768px. Appended last = equal specificity to the base
   body.X .class rules (0,2,1), wins by source order. Banners keep their own padding.
   ============================================================================ */
@media (max-width: 768px){
  body.pg-index .voices-bg, body.pg-index .stat-band,
  body.pg-about .group, body.pg-about .cta, body.pg-about .stat-band,
  body.pg-why-partner .stat-band, body.pg-why-partner .cta,
  body.pg-chc-post-event .intro,
  body.pg-chc-pre-event .glimpse .head,
  body.ev-chc .intro, body.ev-chc .glimpse .head,
  body.ev-cifl .intro, body.ev-cifl .glimpse .head,
  body.ev-summit .partners-head {
    padding-left: 22px;
    padding-right: 22px;
  }
}

/* Generic keynote photo (2026-07-14): the horizontal keynote layout (circular photo +
   name/role beside it, per the London keynote) was only scoped to ev-summit/pg-* — add a
   generic rule so it also works on ev-upcoming (2026 Singapore) and any future page. */
.keynote-photo { flex-shrink:0; width:150px; height:150px; border-radius:50%; padding: 3px 0 0 3px; background:linear-gradient(135deg,#1a4d8c,#5fc8e8); position: relative }
.keynote-photo img { width:100%; height:100%; border-radius:50%; object-fit:cover; background:#fff; border: 2px solid #fff; }

/* ============================================================================
   ev-upcoming header + section fixes (2026-07-14): the upcoming template had NO
   scoped header rules (ev-summit has 46), so on the Singapore page (a) the header
   never switched to the navy-glass + white-nav state on scroll (nav stayed #333),
   and (b) the generic .speakers-bg padding was zeroed by body.ev-upcoming *{padding:0}.
   Mirror the ev-summit behaviour.
   ============================================================================ */
body.ev-upcoming header::before { content:""; position:absolute; inset:0; z-index:-1; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.05); transition:background 0.35s ease, box-shadow 0.35s ease, backdrop-filter 0.35s ease; }
body.ev-upcoming header.scrolled::before { background:rgba(13,45,82,0.22); -webkit-backdrop-filter:blur(24px) saturate(160%); backdrop-filter:blur(24px) saturate(160%); box-shadow:0 8px 30px rgba(13,45,82,0.28); }
body.ev-upcoming header.scrolled .logo { filter:brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0,0,0,0.4)); }
body.ev-upcoming header.scrolled nav > ul > li > a { color:#fff; text-shadow:0 1px 4px rgba(0,0,0,0.45); }
body.ev-upcoming header.scrolled nav > ul > li > a:hover { color:#5fc8e8; }

body.ev-upcoming .speakers-bg { padding: 80px 60px; }
@media (max-width: 768px){ body.ev-upcoming .speakers-bg { padding: 50px 24px; } }

/* ev-upcoming keynote photo padding (2026-07-14): generic .keynote-photo padding (0,1,0)
   is zeroed by body.ev-upcoming *{padding:0}; restore the speaker-photo gradient-ring padding. */
body.ev-upcoming .keynote-photo { padding: 3px 0 0 3px; }

/* ============================================================================
   Event-page shared sections (2026-07-14): .speakers-bg and .engagement-panel only
   have GENERIC padding (0,1,0), which the body.ev-* *{padding:0} reset zeros — so the
   speaker/keynote section and the "Get Involved / Shape the Conversation" panel render
   with no padding (content jammed, decorative shape mispositioned). Restore per event
   scope (spec 0,2,1 beats the reset). ev-upcoming .speakers-bg already handled above.
   ============================================================================ */
body.ev-summit .speakers-bg, body.ev-chc .speakers-bg, body.ev-cifl .speakers-bg { padding: 80px 60px; }
body.ev-summit .engagement-panel, body.ev-chc .engagement-panel, body.ev-cifl .engagement-panel, body.ev-upcoming .engagement-panel { padding: 50px 60px; }
@media (max-width: 768px){
  body.ev-summit .speakers-bg, body.ev-chc .speakers-bg, body.ev-cifl .speakers-bg { padding: 50px 24px; }
  body.ev-summit .engagement-panel, body.ev-chc .engagement-panel, body.ev-cifl .engagement-panel, body.ev-upcoming .engagement-panel { padding: 40px 24px; }
}

/* Engagement panel inner components zeroed by the event *{padding:0} reset too */
body.ev-summit .engage-card, body.ev-chc .engage-card, body.ev-cifl .engage-card, body.ev-upcoming .engage-card { padding: 22px 24px; }
/* .engagement-wrap centering: its `margin:0 auto` (0,1,0) is zeroed by the event `*{margin:0}`
   reset (~0,1,7), which left-shifts the whole "Shape the Conversation" panel and leaves a big
   empty gap on the right. Restore auto side-margins at (0,2,1) so it centres on the page. */
body.ev-summit .engagement-wrap, body.ev-chc .engagement-wrap, body.ev-cifl .engagement-wrap, body.ev-upcoming .engagement-wrap { margin-left: auto; margin-right: auto; }
body.ev-summit .engage-btn, body.ev-chc .engage-btn, body.ev-cifl .engage-btn, body.ev-upcoming .engage-btn { padding: 10px 18px; }
/* engage-btn text color: .engage-btn{color:#fff} (0,1,0) loses to body.ev-* a{color:inherit} (0,1,2),
   so the button text was inheriting body #333 (dark-on-blue "broken" look). Restore white at (0,2,1). */
body.ev-summit .engage-btn, body.ev-chc .engage-btn, body.ev-cifl .engage-btn, body.ev-upcoming .engage-btn { color: #fff; }

/* "Get Involved / Shape the Conversation" engagement panel is shown on all event pages
   (2026-07-16: previously hidden, re-enabled per user request). The engage-btn white-text
   fix above keeps its CTA buttons legible. */


/* LOW-SPEC event padding reset */ (2026-07-14): padding-only reset at 0 specificity so shared/generic
/* section & component padding (.speakers-bg, .partners, .why, .engage-card, …) is no longer
   zeroed on event pages. margin/box-sizing stay on the high-spec reset (unchanged). */
:where(body.ev-summit, body.ev-chc, body.ev-cifl, body.ev-upcoming) * { padding: 0; }

/* ===== CHC / CIFL event social strip (added 2026-07-15) ===== */
body.ev-chc .follow-strip, body.ev-cifl .follow-strip { text-align:center; padding:6px 24px 60px; }
body.ev-chc .follow-strip .follow-label, body.ev-cifl .follow-strip .follow-label {
  display:block; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--brand); margin-bottom:14px; }
body.ev-chc .net-row, body.ev-cifl .net-row { display:inline-flex; gap:10px; justify-content:center; flex-wrap:wrap; }
body.ev-chc .net-icon, body.ev-cifl .net-icon {
  width:36px; height:36px; border-radius:50%; background:#f4f6fa; border:1px solid rgba(13,45,82,.14);
  color:var(--brand); display:flex; align-items:center; justify-content:center; position:relative;
  overflow:hidden; transition:color .3s,transform .25s,box-shadow .3s,border-color .3s; }
body.ev-chc .net-icon::before, body.ev-cifl .net-icon::before {
  content:""; position:absolute; inset:0; background:linear-gradient(135deg,var(--brand-deep),var(--brand-accent)); opacity:0; transition:opacity .3s; }
body.ev-chc .net-icon svg, body.ev-cifl .net-icon svg {
  width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; position:relative; z-index:2; transition:transform .3s; }
body.ev-chc .net-icon.x-icon svg, body.ev-cifl .net-icon.x-icon svg { stroke:none; fill:currentColor; }
body.ev-chc .net-icon:hover, body.ev-cifl .net-icon:hover {
  color:#fff; transform:translateY(-2px); box-shadow:0 6px 14px rgba(13,45,82,.28); border-color:transparent; }
body.ev-chc .net-icon:hover::before, body.ev-cifl .net-icon:hover::before { opacity:1; }
body.ev-chc .net-icon:hover svg, body.ev-cifl .net-icon:hover svg { transform:scale(1.1); }

/* ===== Smooth scroll for all pages (added 2026-07-15) ===== */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }


/* ===== Partnership comparison table — why-partner "Choose your level" (2026-07-16) ===== */
body.pg-why-partner .pkg-table-wrap { overflow-x:auto; margin-top:10px; border-radius:14px; border:1px solid #e3e9f0; box-shadow:0 6px 24px rgba(13,45,82,.08); -webkit-overflow-scrolling:touch; }
body.pg-why-partner .pkg-table { width:100%; min-width:640px; border-collapse:collapse; background:#fff; }
body.pg-why-partner .pkg-table thead th { background:#0d2d52; color:#fff; font-weight:700; font-size:15px; letter-spacing:.02em; padding:16px 20px; text-align:center; white-space:nowrap; }
body.pg-why-partner .pkg-table thead th.pt-name { text-align:left; }
body.pg-why-partner .pkg-table thead th.th-num { width:64px; }
body.pg-why-partner .pkg-table tbody td { padding:16px 20px; border:1px solid #e6ecf3; text-align:center; vertical-align:middle; font-size:14.5px; color:#0d2d52; }
body.pg-why-partner .pkg-table tbody td.num { font-weight:700; color:#0d2d52; width:64px; }
body.pg-why-partner .pkg-table tbody td.pt-name { text-align:left; color:#1a4d8c; font-weight:600; line-height:1.45; }
body.pg-why-partner .pkg-table tbody tr:nth-child(even) { background:#f5f8fc; }
body.pg-why-partner .pkg-table tbody tr:hover { background:#eef4fb; }
body.pg-why-partner .pkg-table .chk { width:22px; height:22px; color:#2e9e2e; display:inline-block; vertical-align:middle; }
@media (max-width:600px){ body.pg-why-partner .pkg-table thead th, body.pg-why-partner .pkg-table tbody td { padding:12px 12px; font-size:13px; } }

/* ══ HEADING SCALE — FINAL NORMALISATION ═══════════════════════════════════
   Appended last on purpose. Several per-page section-title rules earlier in
   this file are re-declared AFTER their own @media block (e.g.
   `body.ev-summit .sec-head h2` at ~955, its mobile override at ~996, then the
   same selector again at ~1059), so the later duplicate silently defeated the
   mobile size. The `body[class]` prefix matches the (0,2,1) specificity of
   those `body.<page> .<class> h2` rules; being last in the file wins the tie.
   Section titles: 42px desktop / 28px mobile.                              */
@media (max-width: 768px) {
  body[class] .sec-head h2,
  body[class] .sec-title,
  body[class] .glimpse h2,
  body[class] .n-head h2,
  body[class] .about-text h2,
  body[class] .intro h2,
  body[class] .venue-text h2,
  body[class] .block h2,
  body[class] .agenda-block h2,
  body[class] .rb-wrap h2,
  body[class] .net-title,
  body[class] .gallery-title,
  body[class] .events-map-sec .sec-head h2 { font-size: 28px; }
}

/* Hide the banner Group Ecosystem strip on pages tagged `no-group-strip`
   (e.g. the chc-homepage duplicate). (0,2,0) beats the partial's `.group-strip`
   (0,1,0), so it wins regardless of stylesheet order. */
body.no-group-strip .group-strip { display: none; }

/* ══ CHC / CIFL events on the ev-summit layout ═══════════════════════════════
   These events reuse the full Cedar/IBSi (ev-summit) layout; the ONLY brand
   difference kept is the banner gradient — purple for CHC, teal for CIFL.
   `body.ev-summit.brand-chc .page-banner` = (0,3,1) beats the base
   `body.ev-summit .page-banner` = (0,2,1), so it wins regardless of order. */
body.ev-summit.brand-chc .page-banner {
  background: linear-gradient(135deg, rgba(13,45,82,0.92) 0%, rgba(74,39,103,0.82) 50%, rgba(13,45,82,0.92) 100%),
    var(--banner-img) center/cover no-repeat;
}
body.ev-summit.brand-cifl .page-banner {
  background: linear-gradient(135deg, rgba(13,45,82,0.92) 0%, rgba(15,118,110,0.82) 50%, rgba(13,45,82,0.92) 100%),
    var(--banner-img) center/cover no-repeat;
}

/* Popular Series — 4-card layout on the homepage (was 3). Scoped to index;
   (0,2,0) beats the shared .services-grid rule. Degrades 4 -> 2 -> 1. */
body.pg-index .services-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { body.pg-index .services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px)  { body.pg-index .services-grid { grid-template-columns: 1fr; } }

/* Card / testimonial meta (date · location · role) is defined in the shared footer
   partial, which is fetched WITHOUT cache-busting — so colour changes there don't
   reach a browser holding a cached copy of the partial. Enforce the dark colour
   from the cache-busted global.css at winning specificity (0,2,x > 0,1,x) so it
   always applies on the light cards. */
.event-card .event-meta, .event-card .event-meta span,
.post-card .post-meta, .post-card .post-meta span,
.testimonial-slide .ts-role { color: #333; }

/* ══ RAIL SEPARATORS — cache-proof enforcement ═══════════════════════════════
   The banner partials (banner.html / gallery-banner.html) carry their own copy
   of the rail CSS and are fetched WITHOUT cache-busting, so a stale cached partial
   can show old separator heights on root/gallery pages while index (from this
   cache-busted global.css) shows the new one. These `html`-prefixed rules are a
   higher specificity than the partial copies, so global.css always wins and every
   page's rail matches the index rail — even with a cached partial. */
html .page-banner .rail .rule { height: clamp(52px,7vh,70px); width:2px; }
html .page-banner .logos a.ibs::after { height: clamp(52px,7vh,70px); width:2px; background:rgba(95,200,232,.7); }
html .page-banner .logos a:not(.ibs)::after { content:none; }
html .page-banner .rail .label { font-size: clamp(12px,1.1vw,14px); }

/* about intro — the 4 group-entity links in the paragraph render as brand-blue links */
body.pg-about .intro p a, body.pg-about .intro p a strong { color:#1a4d8c; text-decoration:none; transition:color .2s; }
body.pg-about .intro p a:hover, body.pg-about .intro p a:hover strong { color:#2680c2; text-decoration:underline; }

/* Hide the "Shape the Conversation" engagement panel on all EVENT pages.
   Root pages (about, why-partner, faq …) keep their own CTA sections. */
body.ev-summit .engagement-panel,
body.ev-upcoming .engagement-panel,
body.ev-chc .engagement-panel,
body.ev-cifl .engagement-panel { display: none; }

/* ══ CHC / CIFL rail order ════════════════════════════════════════════════════
   These pages list the rail as CHC · CIFL | Cedar · IBSi (own brands first).
   IBSi is now last, so the single group separator moves from after IBSi to
   after CIFL — keeping the same "two brand groups" reading. (0,4,3) beats the
   generic (0,3,3) rail rules above. */
body.brand-chc      .page-banner .logos a.ibs::after,
body.brand-cifl     .page-banner .logos a.ibs::after,
body.pg-chc-homepage  .page-banner .logos a.ibs::after,
body.pg-chc-pre-event .page-banner .logos a.ibs::after { content: none; }

body.brand-chc      .page-banner .logos a.cifl::after,
body.brand-cifl     .page-banner .logos a.cifl::after,
body.pg-chc-homepage  .page-banner .logos a.cifl::after,
body.pg-chc-pre-event .page-banner .logos a.cifl::after {
  content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 2px; height: clamp(52px,7vh,70px); background: rgba(95,200,232,.7);
}

/* ══ CHC / CIFL rail ORDER — enforced from cache-busted global.css ═══════════
   The banner partial is fetched without a version, so a browser holding a stale
   copy still renders the old DOM order (Cedar, IBSi, CHC, CIFL). `.logos` is a
   flex row, so `order` fixes the VISUAL sequence to CHC · CIFL | Cedar · IBSi
   regardless of markup order — and the after-CIFL separator lands correctly. */
body.brand-chc .page-banner .logos a.chc,  body.brand-cifl .page-banner .logos a.chc,
body.pg-chc-homepage .page-banner .logos a.chc,  body.pg-chc-pre-event .page-banner .logos a.chc { order: 1; }
body.brand-chc .page-banner .logos a.cifl, body.brand-cifl .page-banner .logos a.cifl,
body.pg-chc-homepage .page-banner .logos a.cifl, body.pg-chc-pre-event .page-banner .logos a.cifl { order: 2; }
body.brand-chc .page-banner .logos a.cedar, body.brand-cifl .page-banner .logos a.cedar,
body.pg-chc-homepage .page-banner .logos a.cedar, body.pg-chc-pre-event .page-banner .logos a.cedar { order: 3; }
body.brand-chc .page-banner .logos a.ibs,  body.brand-cifl .page-banner .logos a.ibs,
body.pg-chc-homepage .page-banner .logos a.ibs,  body.pg-chc-pre-event .page-banner .logos a.ibs { order: 4; }

/* ══ RAIL LOGOS +20% — cache-proof ═══════════════════════════════════════════
   The banner partials carry their own copy of the logo sizing and are fetched
   without a version, so a stale cached partial would keep the old size.
   `html`-prefixed = (0,2,2), beating the partial's (0,2,1). */
html .page-banner .logos img { width: clamp(101px,10.8vw,168px); }
@media (max-width:768px) { html .page-banner .logos img { width: clamp(72px,18vw,115px); } }

/* ══ RESPONSIVE FIXES — rail separators + filters ════════════════════════════
   1) Rail separators were sized on viewport HEIGHT (7vh), so they stayed ~63px
      while the logos shrink to ~36px on phones — a line almost 2x the logo.
      Scale them down with the logos at tablet/mobile. `html` prefix keeps these
      above the cache-proof + CHC-scoped separator rules. */
@media (max-width: 1024px) {
  html .page-banner .rail .rule,
  html .page-banner .logos a.ibs::after,
  html body.brand-chc .page-banner .logos a.cifl::after,
  html body.brand-cifl .page-banner .logos a.cifl::after,
  html body.pg-chc-homepage .page-banner .logos a.cifl::after,
  html body.pg-chc-pre-event .page-banner .logos a.cifl::after,
  html body.ev-upcoming .page-banner .rail .rule,
  html body.ev-upcoming .page-banner .logos a.ibs::after,
  html body.pg-index .home-banner .rail .rule,
  html body.pg-index .home-banner .logos a.ibs::after { height: 48px; }
}
@media (max-width: 599px) {
  html .page-banner .rail .rule,
  html .page-banner .logos a.ibs::after,
  html body.brand-chc .page-banner .logos a.cifl::after,
  html body.brand-cifl .page-banner .logos a.cifl::after,
  html body.pg-chc-homepage .page-banner .logos a.cifl::after,
  html body.pg-chc-pre-event .page-banner .logos a.cifl::after,
  html body.ev-upcoming .page-banner .rail .rule,
  html body.ev-upcoming .page-banner .logos a.ibs::after,
  html body.pg-index .home-banner .rail .rule,
  html body.pg-index .home-banner .logos a.ibs::after { height: 32px; }
}

/* 1b) "Group Ecosystem" label was hidden at <=768 on every page but <=760 on the
   homepage — so iPad portrait (exactly 768px) showed it on index and nowhere
   else. Unify: label + rule show on tablet, hide only on phones (<600px). */
@media (min-width: 600px) and (max-width: 768px) {
  html .page-banner .rail .label,
  html body.ev-upcoming .page-banner .rail .label,
  html body.pg-index .home-banner .rail .label { display: flex; }
  html .page-banner .rail .rule,
  html body.ev-upcoming .page-banner .rail .rule,
  html body.pg-index .home-banner .rail .rule { display: block; }
}

/* 2) Speakers 3-line filter was a 134px sticky bar on phones — tighten it. */
@media (max-width: 768px) {
  body.pg-speakers .filter-bar { padding: 12px 16px; }
  body.pg-speakers .filter-wrap { gap: 7px; }
  body.pg-speakers .filter-controls { gap: 8px; }
}
/* Phones only: let the two selects split the row so they stay tappable.
   Above 600px they size to content — full-width looks stretched on iPad. */
@media (max-width: 599px) {
  body.pg-speakers .filter-controls { width: 100%; }
  body.pg-speakers .filter-select { flex: 1 1 0; min-width: 0; padding: 8px 34px 8px 14px; }
}
/* 3) Past-events pills: tighter bar + let them wrap cleanly on phones. */
@media (max-width: 768px) {
  body.pg-past-events .filter-bar { padding: 10px 16px; }
  body.pg-past-events .filter-group { flex-wrap: wrap; justify-content: center; gap: 8px; }
  body.pg-past-events .pill-row { justify-content: center; }
}

/* ══ EVENT PARTNERS — CTA section on event pages ═════════════════════════════
   Mirrors the homepage "Event Partners" block (dark-blue band, eyebrow with
   side-lines, "The Names Behind Every Summit"), but replaces the logo strip
   with a CTA that sends visitors to the full partners page. Unscoped so it
   works on ev-summit + ev-upcoming; uses its own .epc-head so it never
   collides with the .partners-head rules used elsewhere. */
.event-partners-cta {
  background: linear-gradient(135deg,#0d2d52 0%,#123a68 55%,#0d2d52 100%);
  padding: 64px 60px; text-align: center; position: relative; overflow: hidden;
}
.event-partners-cta .epc-wrap { max-width: 760px; margin: 0 auto; position: relative; z-index: 2; }
.event-partners-cta .epc-head { text-align: center; margin-bottom: 14px; }
.event-partners-cta .eyebrow {
  font-size: 13px; color: #fff; letter-spacing: 4px; text-transform: uppercase; font-weight: 700;
  display: inline-flex; align-items: center; gap: 20px;
}
.event-partners-cta .eyebrow::before,
.event-partners-cta .eyebrow::after { content: ""; width: 48px; height: 1px; background: linear-gradient(90deg,transparent,#5fc8e8); }
.event-partners-cta .eyebrow::after { background: linear-gradient(90deg,#5fc8e8,transparent); }
.event-partners-cta h2 {
  font-size: 40px; font-weight: 800; color: #fff; line-height: 1.12; margin: 14px 0 0; letter-spacing: -0.5px;
}
.event-partners-cta h2 span { color: #5fc8e8; font-family:'Century Schoolbook','New Century Schoolbook','Century Schoolbook L',Georgia,serif; font-weight: 700; }
.event-partners-cta .epc-sub {
  max-width: 620px; margin: 0 auto 26px; color: rgba(255,255,255,0.82); font-size: 15px; line-height: 1.62;
}
.event-partners-cta .epc-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: #5fc8e8; color: #0d2d52; font-weight: 700; font-size: 14px; letter-spacing: .3px;
  padding: 14px 30px; border-radius: 40px;
  box-shadow: 0 8px 24px rgba(95,200,232,.22); transition: background .25s, transform .25s, box-shadow .25s;
}
.event-partners-cta .epc-btn span { transition: transform .25s; }
.event-partners-cta .epc-btn:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(95,200,232,.34); }
.event-partners-cta .epc-btn:hover span { transform: translateX(4px); }
@media (max-width: 768px) {
  .event-partners-cta { padding: 46px 24px; }
  .event-partners-cta h2 { font-size: 27px; }
  .event-partners-cta .eyebrow::before,
  .event-partners-cta .eyebrow::after { width: 28px; }
}
/* Hide the old per-event "Our Partners" logo strip (kept in markup, reversible)
   — replaced by the CTA above. Only the 22 summit pages use .partners-section. */
.partners-section { display: none !important; }
