/* =========================
   Base + Navbar (unchanged)
   ========================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --ink  : #10343c;
  --muted: #4c6a72;

  --tealBg : #8fb7bb;
  /* main poster teal */
  --tealBg2: #86b0b4;
  --paper  : #f6f7f7;
  --white  : #ffffff;

  --deep  : #0b2a52;
  --shadow: 0 16px 34px rgba(0, 0, 0, .14);

  --radius: 18px;
  --ease  : cubic-bezier(.2, .8, .2, 1);
  --h1-size: clamp(32px, 6vw, 56px);
  --h2-size: clamp(26px, 4.5vw, 40px);
  --h3-size: clamp(18px, 3vw, 26px);
  --gap: 26px;
  --inner-radius: 18px;
  --card-shadow: 0 18px 50px rgba(15, 30, 55, 0.12);
}

html,
body {
  height: 100%;
}

body {
  margin         : 0;
  font-family    : "Helvetica", sans-serif;
  background     : #e6eef0;
  color          : var(--ink);
  line-height    : 1.6;
  scroll-behavior: smooth !important;
}

h1,
h3 {
  font-family   : "Helvetica", sans-serif;
  font-weight   : bold;
  letter-spacing: .6px;
  margin        : 0;
  color         : var(--ink);
}

h2{
  font-weight: 400;
}
h1 {
  font-size: var(--h1-size);
  line-height: 1;
}

h2 {
  font-size: var(--h2-size);
  line-height: 1;
}

h3 {
  font-size: var(--h3-size);
  line-height: 1;
}

.sectionHeading--primary {
  font-size: var(--h2-size);
  font-weight: 600;
  line-height: 1;
}

p {
  margin: 0;
}

img {
  max-width: 100%;
  display  : block;
}

a {
  text-decoration: none;
}

.wrap {
  width    : 100%;
  max-width: 1200px;
  padding  : 0 clamp(16px, 4vw, 40px);
  margin   : 0 auto;
}

.cardGrid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap);
}

.card{
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--card-shadow);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
}

.card__imgWrap, .card__img{
  margin: 16px;
  border-radius: var(--inner-radius);
  overflow: hidden;
  background: #ffffff;
}

.card__imgEl{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.card__img{
  background-size: cover;
  background-position: center;
  aspect-ratio: 4 / 3;
}

.card__body{
  padding: 0 16px 18px;
  color: #2f525b;
}

.card__body--top{
  padding: 16px;
  padding-bottom: 8px;
}

.card__body h3{
  margin: 0;
  font-size: clamp(16px, 0.6vw + 14px, 20px);
  font-weight: 800;
  line-height: 1.15;
  color: #0f2f20;
}

.card__body p{
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.3;
  color: #5c6b73;
}

@media (max-width: 1024px){
  .cardGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px){
  .cardGrid{ grid-template-columns: 1fr; }
}
.wrap_pointers {
  width    : 100%;
  max-width: 1600px;
  padding  : 0 clamp(16px, 4vw, 40px);
  margin   : 0 auto;
}
.wrap_speaker {
  width    : 100%;
  max-width: 1400px;
  padding  : 0 clamp(16px, 4vw, 40px);
  margin   : 0 auto;
}

/* Navbar from your current file */
.nav-bar {
  position       : fixed;
  width          : 100%;
  top            : 0;
  z-index        : 50;
  backdrop-filter: blur(10px);
  background     : rgba(241, 250, 251, 0.82);
  border-bottom  : 1px solid rgba(65, 118, 131, 0.15);

  scroll-behavior: smooth !important;
}

.nav-inner {
  max-width            : 1400px;
  margin               : 0 auto;
  padding              : 14px 10px;
  display              : grid;
  grid-template-columns: auto 1fr auto;
  align-items          : center;
  gap                  : 16px;
  position             : relative;
}

.brand {
  display              : inline-grid;
  grid-template-columns: auto 1fr;
  gap                  : 10px;
  align-items          : center;
  text-decoration      : none;
  color                : var(--ink);
}

.brand img {
  width     : clamp(96px, 22vw, 120px);
  height    : auto;
  object-fit: contain;
}

.brand-mark {
  width        : 40px;
  height       : 40px;
  border-radius: 12px;
  display      : grid;
  place-items  : center;
  background   : linear-gradient(135deg, #5ea3ad, #39717d);
  color        : #f8fbfb;
  font-weight  : 700;
  box-shadow   : 0 10px 20px rgba(0, 0, 0, 0.12);
}

.brand-title {
  display       : block;
  font-weight   : 700;
  letter-spacing: .3px;
}

.eyebrow {
  font-size     : 13px;
  letter-spacing: .4px;
  text-transform: uppercase;
  color         : #2b5a64;
  margin        : 0 0 4px;
}

.nav-links {
  justify-self: end;
  display     : flex;
  align-items : center;
  gap         : 14px;
  z-index     : 2;
}

.nav-links a {
  text-decoration: none;
  color          : var(--ink);
  font-weight    : 400;
  letter-spacing : .2px;
  padding        : 6px 8px;
  border-radius  : 10px;
  transition     : background .2s ease, color .2s ease, transform .2s ease;
}

.nav-links a:hover {
  background: rgba(73, 128, 137, 0.12);
  color     : #0c3a43;
  transform : translateY(-1px);
}

.nav-links a.is-active {
  background: rgba(73, 128, 137, 0.16);
  color     : #0c3a43;
}

.pill {
  background   : linear-gradient(135deg, #4e8f99, #2e6a76);
  color        : #f8fbfb !important;
  padding      : 6px 10px;
  border-radius: 14px;
  box-shadow   : 0 10px 18px rgba(0, 0, 0, .12);
  border       : 1px solid rgba(255, 255, 255, .35);
}

.nav-toggle {
  display        : none;
  width          : 44px;
  height         : 44px;
  border-radius  : 12px;
  border         : 1px solid rgba(73, 128, 137, .25);
  background     : #f6fbfc;
  padding        : 10px;
  flex-direction : column;
  justify-content: center;
  gap            : 6px;
  cursor         : pointer;
}

.nav-cta {
  display: none;
}

.nav-toggle span {
  display      : block;
  height       : 2px;
  background   : #0f3d45;
  border-radius: 99px;
}

.page {
  display       : flex;
  flex-direction: column;
}

/* =========================
   Reveal animations
   ========================= */
.reveal {
  opacity   : 0;
  transform : translateY(14px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}

.reveal.is-in {
  opacity  : 1;
  transform: translateY(0);
}

/* =========================
   HERO (Poster-like)
   ========================= */
.hero2 {
  position  : relative;
  min-height: 760px;
  background: linear-gradient(to top,
      rgba(230, 255, 227, 1),
      rgba(13, 83, 99, 1),
    );

  overflow: hidden;
}

.hero2__bg {
  position: absolute;
  inset   : 0;
  background:
    linear-gradient(180deg, rgba(143, 183, 187, .55), rgba(143, 183, 187, .55)),
    url("./imgs/bannertop.png") center/cover no-repeat;
  filter : grayscale(1) contrast(1.05);
  opacity: .65;
}

.hero2__overlay {
  position  : absolute;
  inset     : 0;
  background: linear-gradient(180deg, rgba(143, 183, 187, .05) 0%, rgba(143, 183, 187, .85) 55%, rgba(143, 183, 187, 1) 100%);
}

.metrics__bg {
  position: absolute;
  inset   : 0;
  background:
    linear-gradient(180deg, rgba(134, 173, 177, .55), rgba(134, 173, 177, .55)),
    url("https://images.unsplash.com/photo-1559757148-5c350d0d3c56?auto=format&fit=crop&w=1400&q=80") center/cover no-repeat;
  filter      : grayscale(1) contrast(1.05);
  opacity     : .65;
}

.metrics__overlay {
  position  : absolute;
  inset     : 0;
  background: linear-gradient(180deg, rgba(134, 173, 177, .05) 0%, rgba(134, 173, 177, .4) 55%, rgba(134, 173, 177, .6) 100%);
}

#metrics .wrap {
  position: relative;
  z-index : 2;
}

.panel2--metrics {
  position  : relative;
  overflow  : hidden;
  background: rgba(143, 183, 187, 1);
}

.panel2--metrics::before,
.panel2--metrics::after {
  content: none;
}

.panel2--metrics::before {
  top : auto;
  left: auto;
}

.panel2--metrics::after {
  bottom: auto;
  right : auto;
}

.panel2--metrics .sectionTitle {
  text-align: center;
}

.panel2--metrics .sectionTitle h2 {
  color: #f6fbfb !important;
  font-size: var(--h2-size);
}

.panel2--metrics .sectionRule {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(246, 251, 251, 0.75), rgba(246, 251, 251, 0));
}

.metricsCarousel {
  margin-top   : 20px;
  overflow     : hidden;
  width        : 100vw;
  margin-left  : calc(50% - 50vw);
  border-radius: 0;
  border       : 1px solid rgba(15, 47, 32, 0.15);
  border-left  : none;
  border-right : none;
  background   : #eaf3f5;
  box-shadow   : 0 18px 28px rgba(0, 0, 0, 0.12);
}

.metricsCarousel--alt {
  margin-top: 14px;
}

.metricsTrack {
  display    : flex;
  align-items: stretch;
  width      : max-content;
  animation  : metrics-loop 22s linear infinite;
  will-change: transform;
}

.metricsTrack[data-marquee-direction="right"] {
  animation-direction: reverse;
}

@keyframes metrics-loop {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

.metricTile {
  width       : clamp(300px, 32vw, 420px);
  aspect-ratio: 16 / 9;
  display     : grid;
  place-items : center;
  text-align  : left;
  border-right: 1px solid rgba(15, 47, 32, 0.12);
  background  : #0f5a66;
  color       : #f6fbfb;
  overflow    : hidden;
}

.metricTile:last-child {
  border-right: none;
}

.metricTile--image {
  background: #dbe8eb;
  padding   : 0;
  height    : 100%;
}

.metricTile--image img {
  width     : 100%;
  height    : 100%;
  object-fit: cover;
  display   : block;
  filter    : grayscale(0.3) contrast(1.05);
}

.metricTile--stat {
  display        : flex;
  flex-direction : column;
  align-items    : flex-end;
  justify-content: center;
  padding        : 18px 22px;
  text-align     : right;
}

.metricTile__value {
  font-family   : "Helvetica", sans-serif;
  font-weight   : 800;
  font-size     : clamp(26px, 3vw, 34px);
  letter-spacing: .6px;
}

.metricTile__label {
  font-weight   : 700;
  letter-spacing: .3px;
  font-size     : 18px;
}

.hero2__inner {
  position  : relative;
  z-index   : 2;
  padding   : clamp(28px, 6vw, 44px) 0 clamp(64px, 12vw, 140px);
  display   : grid;
  gap       : clamp(18px, 4vw, 28px);
  margin-top: clamp(150px, 24vw, 220px);
}

/* LOGO  */
/* LOGO WRAPPER */
.hero2__brand {
  margin-top     : 200px;
  display        : flex;
  justify-content: center;
}

.hero2__logo {
  display    : flex;
  align-items: center;
  gap        : 14px;

}

.hero2__brandImg {
  flex     : 1;
  /* take remaining space */
  width    : 100%;
  max-width: 760px;
  /* bigger cap */
  margin   : 0 auto;
}

/* IMPORTANT: logo image should NOT be constrained by .hero2__image */
.hero2__brandImg img {
  display      : block;
  width        : 100%;
  height       : auto;
  object-fit   : contain;
  border-radius: 12px;


  /* This is the key: allow it to be tall enough */
  max-height: clamp(90px, 14vw, 220px);
}

/* If .hero2__image is used for hero banner backgrounds etc keep it,
   but don't let it shrink the logo */
.hero2__image {
  width     : 100%;
  height    : auto;
  object-fit: cover;
}

/* Logo-specific: override any global height cap */
.hero2__logoImage {
  object-fit: contain !important;
  max-height: none !important;
  /* remove 160px/220px caps from other rules */
}

/* Desktop */
@media (min-width: 960px) {
  .hero2__brandImg {
    max-width: 720px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .panel2--metrics .sectionTitle h2 {
  font-size: var(--h2-size);
}
  .metricTile__label {
    font-size: 13px;
  }

  .hero2__logo {
    gap: 10px;
  }

  .hero2__brand {
    margin-top     : 10px;
    display        : flex;
    justify-content: center;
  }

  .hero2__brandImg {
    max-width: 92vw;
    /* near full width */
  }

  .hero2__brandImg img {
    max-height   : 140px;
    /* safe for phones */
    border-radius: 10px;
  }
}

.hero2__title {
  margin-top    : 2px;
  font-family   : "Helvetica", sans-serif;
  font-weight   : bold;
  font-size     : 34px;
  line-height   : .95;
  letter-spacing: 1px;
  text-transform: uppercase;
  color         : #0a3a4a;
  text-shadow   : 0 2px 0 rgba(255, 255, 255, .25);
}

.hero2__title span {
  font-size: 42px;
  color    : #0a3a4a;
}

.hero2__sub {
  font-weight   : 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color         : rgba(255, 255, 255, .9);
  font-size     : 13px;
  margin-top    : 4px;
}

/* HERO HEADLINE CONTAINER - FLEX */
.hero2__headline {
  display        : flex;
  justify-content: center;
  /* center the column on the page */
  align-items    : center;
  /* BUT keep content left-aligned */
  width          : 100%;
  padding        : 0 40px;
}

.hero2__eyebrow {
  font-weight   : 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  color         : rgba(255, 255, 255, .92);
  font-size     : clamp(16px, 1.6vw, 20px);
  text-align    : center;
  margin: 0 10px;
}

.hero2__meta {
  display        : flex;
  flex-wrap      : wrap;
  justify-content: center;
  gap            : 10px;
  color          : rgba(255, 255, 255, .95);
  font-weight    : 700;
  letter-spacing : .1px;
}

.hero2__metaItem {
  padding        : 8px 12px;
  border-radius  : 999px;
  border         : 1px solid rgba(255, 255, 255, .25);
  background     : rgba(15, 74, 82, .55);
  backdrop-filter: blur(4px);
  box-shadow     : 0 12px 20px rgba(0, 0, 0, .14);
}

/* TEXT BLOCK */
.heroH1 {
 text-align: center;
  padding-left : 20px;
  padding-right: 20px;
  text-transform: uppercase;
  color         : #fff;
  font-size     : clamp(25px, 5vw, 70px);
  line-height   : 1.5;
  letter-spacing: 0.6px;
}

/* FORCE EXACTLY 2 LINES */
@media (max-width: 1024px) {
  .attendeeGrid {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }
}

@media (max-width: 900px) {

  .heroH1__line1,
  .heroH1__line2 {
    margin-left: 0;
  }
}

.hero2__tag {
  text-align    : center;
  color         : rgba(255, 255, 255, .92);
  font-weight   : 300;
  letter-spacing: .2px;
  margin    : 10px;
  font-size     : 27px;
}
.hero2__tag_innercontent {
  display       : block;
  font-size     : 20px;
  margin-top    : 6px;
  font-weight   : 400;
  letter-spacing: .1px;
}

/* Stats strip like reference */
.hero2__stats {
  width    : 100%;
  max-width: none;
  margin   : 8px 0 0;
  padding  : 0;
  display  : block;
  overflow : hidden;
}

.hstat {
  width          : clamp(180px, 22vw, 240px);
  height         : 110px;
  border-radius  : 6px;
  overflow       : hidden;
  box-shadow     : 0 12px 22px rgba(0, 0, 0, .12);
  background     : #0f5560;
  color          : #f7fbfb;
  display        : flex;
  align-items    : center;
  justify-content: flex-start;
  padding        : 12px 14px;
}

.hstat--photo {
  padding   : 0;
  background: #d6e5e8;
  display   : block;
}

.hstat--photo img {
  width     : 100%;
  height    : 100%;
  object-fit: cover;
  filter    : grayscale(1) contrast(1.05);
}

.hstat--metric {
  flex-direction : column;
  align-items    : flex-start;
  justify-content: center;
  gap            : 4px;
}

.hstat__big {
  font-family   : "Helvetica", sans-serif;
  font-weight   : bold;
  font-size     : 30px;
  letter-spacing: 1px;
  line-height   : 1;
}

.hstat__label {
  font-weight   : 700;
  letter-spacing: .2px;
  font-size     : 13px;
  line-height   : 1.2;
  text-transform: none;
  opacity       : .98;
}

/* =========================
   Panels
   ========================= */
.panel2 {
  padding: 56px 0;
}

.panel2--teal {
  background: #8bb3b7;
}

.panel2--tealDeep {
  background: #86adb1;
}

.panel2--partners {
  background: #7ca4a9;
  padding   : 26px 0;
}

.panel2--speakers {
  background: #f0f7f8;
  padding   : 0 0 56px;
}

.panel2--discussion {
  background: #f3f7f8;
}

.panel2--why {
  background:
    linear-gradient(180deg, rgba(10, 52, 60, 0.55), rgba(10, 52, 60, 0.65)),
    url("topbanner.webp") center/cover no-repeat;
}

.panel2--glimpses {
  background: #f2f5f7;
}

.panel2--awards {
  background: #f5f9fa;
}

.panel2--summary {
  background: transparent;
  padding   : 70px 0;
}

.panel2--summary .sectionTitle h2,
.panel2--summary .sectionRule {
  color: #f7fbfb;
}

.summaryGrid {
  margin-top           : 18px;
  display              : grid;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  gap                  : 16px;
  justify-content      : center;
}

.summaryCard {
  background   : #0c3a43;
  color        : #f7fbfb;
  border-radius: 18px;
  padding      : 16px 18px;
  display      : grid;
  grid-template-columns: 16px 1fr;
  gap          : 12px;
  align-items  : start;
  border       : 1px solid rgba(255, 255, 255, 0.18);
  box-shadow   : 0 12px 22px rgba(0, 0, 0, 0.18);
  transition   : transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  min-height   : 180px;
}

.summaryCard__dot {
  width        : 12px;
  height       : 12px;
  border-radius: 999px;
  background   : #f7fbfb;
  margin-top   : 6px;
}

.summaryCard__body h3 {
  line-height: 1.4;
  margin     : 0 0 6px;
  font-size  : clamp(15px, 1.6vw, 18px);
  color      : inherit;
}

.summaryCard__body p {
  margin     : 10px 0;
  font-size  : 15px;
  line-height: 1.6;
  color      : rgba(247, 251, 251, 0.92);
}

.summaryCard:hover {
  transform  : translateY(-10px);
  background : #ffffff;
  color      : #0f2f20;
  box-shadow : 0 18px 30px rgba(0, 0, 0, 0.22);
}

.summaryCard:hover .summaryCard__body p {
  color: rgba(15, 47, 32, 0.85);
}

@media (max-width: 900px) {
  .summaryGrid {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    justify-content      : center;
  }
}

@media (max-width: 600px) {
  .summaryGrid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1400px) {
  .summaryGrid {
    grid-template-columns: repeat(5, minmax(230px, 1fr));
  }

  .summaryCard {
    grid-column: auto;
    min-height: 180px;
    padding: 18px 20px;
  }
}

@media (min-width: 901px) and (max-width: 1399px) {
  .summaryGrid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .summaryCard {
    grid-column: span 2;
  }

  .summaryGrid .summaryCard:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .summaryGrid .summaryCard:nth-child(5) {
    grid-column: 4 / span 2;
  }
}
.panel2--awardsTracks {
  background: #eaf3f4;
  padding   : 64px 0;
}

.awardsTracks {
  display   : grid;
  gap       : 22px;
  text-align: center;
  transform : translateY(-10px);
}

.awardsTracks__intro p {
  margin     : 0 auto;
  max-width  : 900px;
  line-height: 1.7;
  color      : #2e575f;
}

.awardsTracks__cards {
  display              : grid;
  gap                  : 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.awardsTracks__card {
  background   : #2f6f74;
  color        : #ffffff;
  border-radius: 26px;
  padding      : 28px 26px;
  min-height   : 240px;
  box-shadow   : 0 18px 30px rgba(0, 0, 0, 0.14);
  display      : grid;
  gap          : 12px;
  align-content: center;
  position     : relative;
  overflow     : hidden;
  transform    : translateY(16px) scale(0.98);
  opacity      : 0;
  animation    : awards-card-in .7s ease-out both;
}

.awardsTracks__card h3 {
  margin     : 0;
  font-size  : clamp(18px, 2vw, 22px);
  line-height: 1.3;
}

.awardsTracks__card p {
  margin     : 0;
  font-size  : 14px;
  line-height: 1.6;
  color      : rgba(255, 255, 255, 0.92);
}

.awardsTracks__card::after {
  content       : "";
  position      : absolute;
  inset         : -40% -60%;
  background    : linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .25) 48%, transparent 62%);
  transform     : translateX(-40%) rotate(8deg);
  opacity       : 0;
  pointer-events: none;
}

.awardsTracks__card:hover {
  transform : translateY(-6px) scale(1.01);
  box-shadow: 0 22px 36px rgba(0, 0, 0, 0.2);
}

.awardsTracks__card:hover::after {
  opacity  : 1;
  animation: awards-sweep .9s ease both;
}

.awardsTracks__card:active {
  transform: translateY(-2px) scale(0.99);
}

.awardsTracks__cards .awardsTracks__card:nth-child(1) { animation-delay: .06s; }
.awardsTracks__cards .awardsTracks__card:nth-child(2) { animation-delay: .14s; }

.awardsTracks__cta {
  justify-self  : center;
  display       : inline-flex;
  align-items   : center;
  gap           : 8px;
  padding       : 10px 28px;
  border-radius : 6px;
  background    : #2f6f74;
  color         : #ffffff;
  text-transform: uppercase;
  font-weight   : 700;
  letter-spacing: .4px;
  transition    : transform .3s ease, box-shadow .3s ease, background .3s ease;
  opacity       : 0;
  transform     : translateY(12px);
  animation     : awards-cta-in .6s ease-out .22s both;
}

.awardsTracks__cta:hover {
  transform : translateY(-2px);
  box-shadow: 0 12px 18px rgba(0, 0, 0, 0.18);
}

.awardsTracks__cta:active {
  transform: translateY(0) scale(0.98);
}

@keyframes awards-card-in {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes awards-cta-in {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes awards-sweep {
  to { transform: translateX(40%) rotate(8deg); }
}

.panel2--awardsHero {
  position: relative;
  background: url("./imgs/awardsbanner.jpeg") center / cover no-repeat;
  padding-top: 306px;
  padding-bottom: 172px;
  overflow: hidden;
}

/* Dark overlay */
.panel2--awardsHero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);   /* darkness level */
  mix-blend-mode: multiply;         /* gives cinematic darkening */
  z-index: 1;
}

/* Keep your content above the overlay */
.panel2--awardsHero > * {
  position: relative;
  z-index: 2;
}
.awardsHero__cta,
.awardsCTA {
  margin-top     : 12px;
  display        : flex;
  flex-wrap      : wrap;
  gap            : 12px;
  justify-content: center;
  flex-direction : row;
  align-items    : center;
}

.awardsHero__link {
  color          : #000000;
  text-decoration: none;
  font-weight    : 700;
  letter-spacing : .2px;
  transition     : all .4s ease-in-out;
}

.awardsHero__link:hover {
  color        : #ffffff;
  background   : var(--deep);
  padding      : 10px;
  border-radius: 10px;
  transform    : translateY(-1px);
}

.awardsGrid--full {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.awardsSteps {
  display              : grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap                  : 14px;
}

.awardsStep {
  background   : #ffffff;
  border-radius: 16px;
  padding      : 16px;
  box-shadow   : 0 12px 20px rgba(0, 0, 0, 0.1);
  border       : 1px solid #dbe6ea;
  display      : grid;
  gap          : 8px;
}

.awardsStep__num {
  font-weight   : 900;
  font-size     : 20px;
  letter-spacing: .6px;
  color         : #1d4c55;
}

.awardsStep__text {
  margin     : 0;
  color      : #2f525b;
  font-weight: 600;
  font-size  : 14px;
}

.panel2--awardsHero .sectionTitle h2,
.panel2--awardsHero .panel2__copy {
  color: #f6fbfb;
}

.panel2--awardsHero .sectionRule {
  background: linear-gradient(90deg, rgba(246, 251, 251, 0), rgba(246, 251, 251, 0.75), rgba(246, 251, 251, 0));
}

.awardsCTA__wrap {
  text-align: center;
}

.awardsCTA__wrap .sectionTitle {
  margin-bottom: 8px;
}

.awardsCTA__wrap .panel2__copy {
  margin-bottom: 14px;
}

.awardsCTA__wrap .awardsCTA {
  margin-top: 6px;
}

.panel2--contact {
  background: #f0f6f7;
}

.panel2__inner {
  display      : grid;
  gap          : 18px;
  justify-items: center;
  text-align   : center;
  max-width    : 1200px;
  margin       : 0 auto;
}

.sectionText {
  width     : 100%;
  margin    : 0 auto;
  text-align: center;
  display   : grid;
  gap       : 12px;

}

.sectionText p {
  text-align : center;
  line-height: 1.7;
  color      : rgba(255, 255, 255, 0.9);
}

.aboutGallery {
  margin-top           : 20px;
  width                : 100%;
  display              : grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap                  : 14px;
}

.aboutGallery__item {
  border-radius: 18px;
  overflow     : hidden;
  box-shadow   : 0 12px 20px rgba(0, 0, 0, 0.12);
  border       : 1px solid rgba(255, 255, 255, 0.5);
  background   : #eef3f4;
  aspect-ratio : 3 / 4;
}

.aboutGallery__item img {
  width     : 100%;
  height    : 100%;
  object-fit: cover;
}

.aboutMatters {
  margin-top   : 20px;
  width        : 100%;
  padding      : 22px;
  border-radius: 22px;
  display      : grid;
  gap          : 16px;
  color        : #f7fbfb;
}

.aboutMatters__title {
  margin        : 0;
  font-size     : clamp(24px, 3.2vw, 32px);
  letter-spacing: .4px;
  text-transform: uppercase;
}

.aboutMatters__copy {
  margin     : 0;
  line-height: 1.7;
  color      : rgba(247, 251, 251, 0.92);
  font-size  : 15px;
}

.aboutMatters__cards {
  display              : grid;
  gap                  : 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* About Matters: 3 + 2 centered cards */
.grid.aboutMatters__grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  gap: 18px;
  justify-items: stretch;
}

.grid.aboutMatters__grid > .card {
  grid-column: span 1;
  width: 100%;
  background-size: cover;
  background-position: center;
  border-radius: 22px;
  overflow: hidden;
}

@media (min-width: 901px) {
  .grid.aboutMatters__grid > .card {
    min-height: auto;
  }
}

.grid.aboutMatters__grid .aboutMatters__copy {
  grid-column: 1 / -1;
  margin-top: 6px;
}

.aboutMatters__card {
  position     : relative;
  min-height   : 150px;
  border-radius: 16px;
  overflow     : hidden;
  background   : center/cover no-repeat;
  box-shadow   : 0 12px 20px rgba(0, 0, 0, 0.16);
  border       : 1px solid rgba(255, 255, 255, 0.18);
  display      : flex;
  align-items  : flex-end;
}

.aboutMatters__card::before {
  content   : "";
  position  : absolute;
  inset     : 0;
  background: linear-gradient(180deg, rgba(11, 35, 41, 0.05), rgba(11, 35, 41, 0.78));
}

.aboutMatters__cardInner {
  position: relative;
  padding : 14px 16px;
}

.aboutMatters__cardInner h4 {
  margin     : 0 0 6px 0;
  font-size  : 15px;
  font-weight: 800;
}

.aboutMatters__cardInner p {
  margin     : 0;
  font-size  : 12px;
  color      : rgba(247, 251, 251, 0.88);
}

/* About Matters (renamed classes) */
.mattersGrid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  gap: 18px;
  justify-items: center;
}

.mattersCard {
  width: 100%;
  max-width: 420px;
  background-size: cover;
  background-position: center;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  min-height: 280px;
  display: grid;
  align-items: end;
  box-shadow: 0 14px 26px rgba(0, 0, 0, 0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.mattersCard:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 22px 36px rgba(0, 0, 0, 0.25);
}

@media (min-width: 901px) {
  .mattersGrid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .mattersCard {
    grid-column: span 2;
  }

  .mattersGrid .mattersCard:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .mattersGrid .mattersCard:nth-child(5) {
    grid-column: 4 / span 2;
  }
}

.mattersCard::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 12, 16, 0.1) 0%, rgba(6, 12, 16, 0.7) 70%);
}

.mattersCard__content {
  position: relative;
  z-index: 1;
  padding: 16px 18px;
  color: #ffffff;
  text-align: center;
}

.mattersCard__content h3 {
  margin-bottom: 12px;  color: #ffffff;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.3;
}

.mattersCard__content p {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.9);
}

.mattersCopy {
  grid-column: 1 / -1;
  margin-top: 6px;
  line-height: 1.7;
  color: rgba(247, 251, 251, 0.92);
  font-size: 15px;
}

.sectionTitle h2 {
  font-size     : var(--h2-size);
  text-transform: uppercase;
  color         : rgba(255, 255, 255, .95);
}

.sectionRule {
  width        : 140px;
  height       : 3px;
  margin       : 5px auto 0;
  border-radius: 99px;
  background   : linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .75), rgba(255, 255, 255, 0));
}

#about .sectionTitle {
  text-align: center;
}

#about .sectionRule {
  margin: 5px auto 0;
}

.panel2__copy {
  text-align    : center;
  color         : rgba(255, 255, 255, .92);
  font-size     : 16px;
  letter-spacing: .15px;
}

.panel2__copy--dark {
  color: #1c3f46;
}

/* Form pages (register/nominate) */
.formPage {
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: stretch;
}
.bg_teal{
  background: url("./aboutImages/about-1.webp") center cover no-repeat;
}

.formPage .wrap {
  
  width: 100%;
}

.formPage .sectionTitle h2 {
  font-size: var(--h2-size);
}

.formFrame {
  width: 100%;
  border: none;
  display: block;
  min-height: 1400px;
  height: calc(100vh - 220px);
}

@media (max-width: 900px) {
  .formFrame {
    min-height: 1600px;
    height: auto;
  }
}

@media (max-width: 640px) {
  .formPage .wrap {
    padding-top: 24px;
  }
}

/* =========================
   Gallery page (2025 Glimpses)
   ========================= */
.galleryHero {
  position      : relative;
  margin-top: 70px;
  padding       : 190px 0 90px;
  background    : linear-gradient(180deg, rgba(16, 52, 60, 0.92), rgba(16, 52, 60, 0.6)),
    url("aboutImages/about-2.webp") center/cover no-repeat;
  color         : #f7fbfb;
  text-align    : center;
  overflow      : hidden;
}

.galleryHero__title {
  font-size     : var(--h1-size);
  letter-spacing: .6px;
  text-transform: uppercase;
  color         : #f7fbfb;
}

.galleryHero__sub {
  max-width  : 720px;
  margin     : 10px auto 0;
  font-weight: 600;
  color      : rgba(247, 251, 251, 0.9);
}

.glimpsesIntro {
  max-width  : 780px;
  margin     : 10px auto 0;
  text-align : center;
  font-weight: 600;
  color      : #2a4c54;
}

.glimpsesVideo {
  margin-top           : 18px;
  display              : grid;
  grid-template-columns: 1fr;
  gap                  : 12px;
}

.glimpsesVideo__frame {
  position     : relative;
  border-radius: 18px;
  overflow     : hidden;
  box-shadow   : 0 18px 30px rgba(0, 0, 0, 0.14);
  border       : 1px solid rgba(16, 52, 60, 0.2);
  background   : #0d2630;
  aspect-ratio : 16 / 8.5;
  min-height   : clamp(220px, 38vw, 520px);
}

.glimpsesVideo__frame iframe {
  position: absolute;
  inset   : 0;
  width   : 100%;
  height  : 100%;
  border  : 0;
}

.glimpsesRows {
  margin-top: 18px;
  display   : grid;
  gap       : 14px;
}

.glimpsesRow__title {
  font-weight   : 800;
  margin-bottom : 6px;
  color         : #102f36;
  text-transform: uppercase;
  font-size     : 18px;
  display       : inline-flex;
  align-items   : center;
  gap           : 10px;
}

.glimpsesRow__title::before {
  content      : "";
  width        : 28px;
  height       : 2px;
  border-radius: 99px;
  background   : #102f36;
}

.glimpsesRow__grid {
  display              : grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap                  : 16px;
}

.glimpsesCard {
  border-radius: 16px;
  overflow     : hidden;
  background   : #eef2f3;
  box-shadow   : 0 12px 20px rgba(0, 0, 0, 0.12);
  border       : 1px solid rgba(16, 52, 60, 0.12);
  cursor       : pointer;
  transition   : transform .35s var(--ease), box-shadow .35s var(--ease);
}

.glimpsesCard img {
  width     : 100%;
  height    : 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  filter    : grayscale(0.25) contrast(1.05);
  transition: transform .35s var(--ease), filter .35s var(--ease);
}

.glimpsesCard:hover {
  transform : translateY(-6px);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.18);
}

.glimpsesCard:hover img {
  transform: scale(1.06);
  filter   : grayscale(0) contrast(1.08);
}

.lightbox {
  position       : fixed;
  inset          : 0;
  background     : rgba(8, 16, 20, 0.88);
  display        : flex;
  align-items    : center;
  justify-content: center;
  opacity        : 0;
  visibility     : hidden;
  transition     : opacity .2s ease, visibility .2s ease;
  z-index        : 200;
  padding        : clamp(16px, 4vw, 32px);
}

.lightbox.is-open {
  opacity   : 1;
  visibility: visible;
}

.lightbox__img {
  max-width : min(1100px, 92vw);
  max-height: 86vh;
  width     : auto;
  height    : auto;
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  object-fit: contain;
}

.lightbox__close {
  position     : absolute;
  top          : 18px;
  right        : 18px;
  width        : 40px;
  height       : 40px;
  border-radius: 999px;
  border       : 1px solid rgba(255, 255, 255, 0.35);
  background   : rgba(255, 255, 255, 0.12);
  color        : #ffffff;
  font-size    : 26px;
  line-height  : 1;
  display      : grid;
  place-items  : center;
  cursor       : pointer;
  transition   : transform .2s ease, background .2s ease, border .2s ease;
}

.lightbox__close:hover {
  transform : translateY(-2px);
  background: rgba(255, 255, 255, 0.22);
  border    : 1px solid rgba(255, 255, 255, 0.55);
}

/* Objective cards */
.objectiveRow {
  overflow             : hidden;
  width                : 100%;
  display              : grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap                  : 18px;
  margin-top           : 14px;
}

.objectiveCard {
  height       : 170px;
  border-radius: 26px;
  background   : #f0e8e5;
  box-shadow   : inset 0 1px 0 rgba(255, 255, 255, .65), 0 14px 22px rgba(0, 0, 0, .10);
  transition   : transform .35s var(--ease), box-shadow .35s var(--ease);
}

.objectiveCard:hover {
  transform : translateY(-6px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65), 0 22px 32px rgba(0, 0, 0, .14);
}

.wrap {
  max-width: 1100px;
  margin   : auto;
  padding  : 20px;
}

.grid {
  display              : grid;
  gap                  : 18px;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  grid-template-areas  :
    "hero hero a tall"
    "hero hero b tall"
    "c c d e"
    "f f g g";
}

.card {
  border-radius      : 24px;
  overflow           : hidden;
  position           : relative;
  background-size    : cover;
  background-position: center;
  color              : #ffffff;
  min-height         : 170px;
  transition:  all .4s ease-in-out;
}


.card:hover{
  transform : translateY(-6px);
  box-shadow: 0 22px 32px rgba(0, 0, 0, .14);
}
.card::before {
  content : "";
  position: absolute;
  inset   : 0;
  background:
    linear-gradient(180deg, rgba(5, 8, 10, 0.05) 0%, rgba(5, 8, 10, 0.65) 70%, rgba(5, 8, 10, 0.88) 100%),
    radial-gradient(circle at 20% 80%, rgba(68, 192, 181, 0.45) 0%, rgba(68, 192, 181, 0.0) 55%);
}

.content {
  position: absolute;
  bottom  : 20px;
  left    : 20px;
  right   : 20px;
}

.content h3 {
  margin-bottom: 8px;
  font-size    : clamp(18px, 1.6vw, 22px);
  color        : #ffffff;
  line-height  : 1.2;
}

.card:not(.hero) .content h3 {
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 1.2;
}

.content__titleSm {
  font-size  : clamp(12px, 1vw, 16px);
  line-height: 1.2;
  display    : inline-block;
}

.content p {
  color      : rgba(255, 255, 255, 0.86);
  font-size  : 13px;
  line-height: 1.4;
}

.grid.aboutMatters__grid .card:not(.hero) {
  min-height: 200px;
}

.hero {
  grid-area : hero;
  min-height: 320px;
}

.a {
  grid-area: a;
}

.b {
  grid-area: b;
}

.tall {
  grid-area : tall;
  min-height: 320px;
}

.c {
  grid-area: c;
}

.d {
  grid-area: d;
}

.e {
  grid-area: e;
}

.f {
  grid-area : f;
  min-height: 220px;
}

.g {
  grid-area : g;
  min-height: 220px;
}

@media (max-width: 900px) {
  .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas  :
      "hero hero"
      "tall tall"
      "a b"
      "c c"
      "d e"
      "f g";
  }

  .grid.aboutMatters__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid.aboutMatters__grid > .card {
    grid-column: auto;
    min-height: 220px;
  }

  .mattersGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mattersCard {
    min-height: 220px;
  }
}

@media (max-width: 600px) {
  .grid {
    display: grid;
    grid-template-columns: 1fr;      /* single column */
    grid-auto-rows: 1fr;             /* every row equal height */
    grid-template-areas: none;       /* disable desktop layout */
    gap: 12px;
  }

  /* Kill all spanning */
  .grid > * {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .grid.aboutMatters__grid {
    grid-template-columns: 1fr;
  }

  .grid.aboutMatters__grid > .card {
    grid-column: auto;
    min-height: 200px;
  }

  .mattersGrid {
    grid-template-columns: 1fr;
  }

  .mattersCard {
    min-height: 200px;
  }
}

@media (max-width: 720px) {
  .grid.aboutMatters__grid {
    grid-template-columns: 1fr;
  }

  .grid.aboutMatters__grid .card {
    min-height: 220px;
  }

  .mattersGrid {
    grid-template-columns: 1fr;
  }
}

/* Partners row */
.partnersRow {
  display              : grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap                  : 14px;
  align-items          : center;
}

.partnerLogo {
  height        : 54px;
  border-radius : 12px;
  background    : rgba(255, 255, 255, .18);
  border        : 1px solid rgba(255, 255, 255, .22);
  color         : rgba(10, 45, 60, .9);
  display       : grid;
  place-items   : center;
  font-weight   : 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  box-shadow    : 0 10px 18px rgba(0, 0, 0, .10);
}

.partnerGrid {
  display              : grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap                  : 14px;
  align-items          : stretch;
}

.partnerMarquee {
  margin-bottom: 12px;
}

.partnerLogosMarquee {
  overflow     : hidden;
  padding      : 10px 10px 12px;
  /* background   : #e1eff1; */
  /* border-top   : 1px solid rgba(255, 255, 255, 0.35); */
  /* border-bottom: 1px solid rgba(0, 0, 0, 0.04); */
}

.partnerLogoTrack {
  display    : flex;
  gap        : 18px;
  align-items: center;
  width      : max-content;
  padding    : 6px 10px;
  animation  : partner-loop 24s linear infinite;
  will-change: transform;
}

.partnerLogoTrack[data-marquee-direction="right"] {
  animation-direction: reverse;
}

@keyframes partner-loop {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

.partnerLogoItem {
  min-width    : 140px;
  padding      : 10px 12px;
  border-radius: 12px;
  background   : #f9fbfc;
  border       : 1px solid rgba(255, 255, 255, 0.4);
  box-shadow   : 0 10px 18px rgba(0, 0, 0, 0.08);
  display      : grid;
  place-items  : center;
}

.partnerLogoItem img {
  max-height: 100px;
  width     : auto;
  object-fit: contain;
  display   : block;
}
.partnerLogoItem__label{
  color: #000;
}

.partnerCard {
  background        : #f9fbfc;
  border-radius     : 14px;
  padding           : 12px;
  box-shadow        : 0 12px 22px rgba(0, 0, 0, .1);
  border            : 1px solid rgba(255, 255, 255, .25);
  display           : grid;
  grid-template-rows: auto 1fr;
  gap               : 8px;
  height            : 100%;
}

.partnerCard--wide {
  grid-column: span 2;
}

.partnerTag {
  font-weight   : 800;
  letter-spacing: .2px;
  color         : #0f2f20;
  text-align    : center;
}

.partnerImg {
  background   : #e7f0f2;
  border-radius: 10px;
  padding      : 10px;
  display      : grid;
  place-items  : center;
  height       : 120px;
}

.partnerImg img {
  max-height: 60px;
  width     : auto;
  object-fit: contain;
  display   : block;
}

.partnerImgRow {
  background       : #e7f0f2;
  border-radius    : 10px;
  padding          : 10px;
  display          : grid;
  grid-auto-flow   : column;
  grid-auto-columns: 1fr;
  gap              : 10px;
  justify-items    : center;
  align-items      : center;
  height           : 120px;
}

.partnerImgRow--wrap {
  grid-auto-flow       : row;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  height               : 150px;
  align-content        : center;
}

.partnerImgRow img {
  max-height: 60px;
  width     : auto;
  object-fit: contain;
  display   : block;
}

/* =========================
   Speaker marquee heading
   ========================= */
.speakerHeading {
  margin-bottom: 16px;
}

.marquee-heading {
  width                 : 100%;
  overflow              : hidden;
  user-select           : none;
  -webkit-user-select   : none;
  background            : #0a2d3ce6;
  /* background         : linear-gradient(180deg, #d6e7ea, #c7dee2); */
  border                : 1px solid rgba(64, 115, 125, 0.2);
  color                 : #fff;
}

.marquee-heading__inner {
  color      : white;
  display    : flex;
  width      : max-content;
  will-change: transform;
  transform  : translate3d(0, 0, 0);
  animation  : speakers-marquee 18s linear infinite;
}

@media (hover:hover) {
  .marquee-heading:hover .marquee-heading__inner {
    animation-play-state: paused;
  }
}

.marquee-heading__group {
  display    : flex;
  align-items: center;
  padding    : 10px 0;
}

.marquee-heading__group span {
  font-family   : "Helvetica", sans-serif;
  font-weight   : bold;
  font-size     : clamp(28px, 5vw, 44px);
  letter-spacing: 2px;
  text-transform: uppercase;
  color         : #fff;
  white-space   : nowrap;
  padding-right : 18px;
}

.marquee-heading__group .dot {
  opacity: .75;
}

@keyframes speakers-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.speakerNotes {
  display              : grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap                  : 16px;
}

.speakerNote {
  background   : #0f2f20;
  color        : #f7fbfb;
  border-radius: 12px;
  padding      : 16px;
  box-shadow   : 0 12px 22px rgba(0, 0, 0, .16);
  border       : 1px solid rgba(255, 255, 255, .08);
}

.speakerNote h3 {
  margin        : 0 0 6px;
  color         : #f7fbfb;
  font-size     : 18px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.speakerNote p {
  margin     : 0;
  color      : #d7e7e9;
  font-size  : 14px;
  line-height: 1.5;
}

.speakerGroup {
  display: grid;
  gap    : 12px;
  margin : 18px 0;
}

.speakerGroup__title {
  font-weight   : 900;
  letter-spacing: .5px;
  text-transform: uppercase;
  color         : #0f2f20;
  background    : #e1eff1;
  border        : 1px solid #c8dde1;
  border-radius : 12px;
  padding       : 10px 12px;
  box-shadow    : 0 8px 14px rgba(0, 0, 0, .08);
  text-align    : center;
}

.speakerGrid {
  display              : grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap                  : 16px;
}

.speakerGrid--featured {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.speakerCard {
  background        : linear-gradient(180deg, #eef6ef 0%, #e1efe3 35%, #c2e0c8 100%);
  border-radius     : 12px;
  box-shadow        : 0 16px 26px rgba(0, 0, 0, .14);
  border            : 1px solid rgba(0, 0, 0, 0.05);
  overflow          : hidden;
  display           : grid;
  grid-template-rows: auto 1fr;
  transform-origin  : center;
}

.speakerCard__photo {
  width       : 100%;
  aspect-ratio: 3 / 4;
  max-height  : 320px;
  overflow    : hidden;
  background  : #d0e4e1;
  position    : relative;
  clip-path   : polygon(0 0, 100% 0, 100% 86%, 0 100%);
}

.speakerCard__photo img {
  width     : 100%;
  height    : 100%;
  object-fit: cover;
  display   : block;
  filter    : grayscale(1) contrast(1.05);
}

.speakerCard__photo--placeholder {
  display      : grid;
  place-items  : center;
  background   : linear-gradient(140deg, #e9f4f2 0%, #cfe6dc 45%, #a9cfc0 100%);
  text-align   : center;
}

.speakerCard__photo--placeholder::after {
  background: linear-gradient(180deg, rgba(15, 47, 32, 0.08) 0%, rgba(15, 47, 32, 0.22) 100%);
}

.speakerCard__photo--placeholder::before {
  opacity: 0.55;
}

.speakerCard__initials {
  position     : relative;
  z-index      : 2;
  font-size    : 34px;
  font-weight  : 900;
  letter-spacing: 2px;
  color        : #0f2f20;
  text-transform: uppercase;
}

.speakerCard__photo::after {
  content   : "";
  position  : absolute;
  inset     : 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.25) 100%);
}

.speakerCard__photo::before {
  content       : "";
  position      : absolute;
  left          : -10%;
  right         : -10%;
  bottom        : -8%;
  height        : 45%;
  background    : radial-gradient(ellipse at bottom, rgba(0, 255, 136, 0.55), rgba(0, 255, 136, 0));
  filter        : blur(6px);
  opacity       : 0.85;
  pointer-events: none;
}

.speakerCard__body {
  padding   : 14px;
  display   : grid;
  gap       : 6px;
  text-align: center;
}

.speakerCard__body h3 {
  margin        : 0;
  font-size     : 18px;
  font-weight   : 900;
  letter-spacing: .15px;
  line-height   : 1.2;
  color         : #0f2f20;
  text-transform: uppercase;
}

.speakerCard__body p {
  margin     : 0;
  color      : #3a545b;
  font-weight: 700;
  font-size  : 13px;
  line-height: 1.5;
}

.speakerCard__link {
  margin         : 6px auto 0;
  display        : inline-flex;
  align-items    : center;
  gap            : 6px;
  text-decoration: none;
  color          : #0d5363;
  font-weight    : 800;
  font-size      : 12px;
  letter-spacing : .4px;
  text-transform : uppercase;
}

.speakerCard__link:hover {
  color: #0f2f20;
}

/* =========================
   Speaker posters (reference)
   ========================= */
.refGrid {
  display              : grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap                  : 28px;
  align-items          : start;
}

.refposter {
  transform-origin: center bottom;
  transition      : transform .35s var(--ease), box-shadow .35s var(--ease), filter .35s var(--ease);
  will-change     : transform;
  padding: 10px;
  border-radius: 10px;
}

.refposter--a {
  transform: rotate(0deg);
}

.refposter--a:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 22px 36px rgba(13, 83, 99, 0.22);
  filter    : saturate(1.08);
}

.refposter--b {
  transform: rotate(0deg);
}

.refposter--b:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 22px 36px rgba(13, 83, 99, 0.22);
  filter    : saturate(1.08);
}

.refposter--c {
  transform: rotate(0deg);
}

.refposter--c:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 22px 36px rgba(13, 83, 99, 0.22);
  filter    : saturate(1.08);
}

.refposter__meta {
  font-weight   : 900;
  letter-spacing: .6px;
  color         : rgba(14, 40, 30, 0.88);
  font-size     : 16px;
  margin        : 0 0 12px;
  text-transform: uppercase;
}

.refposter__pipe {
  opacity: .65;
  padding: 0 10px;
}

.refposter__sheet {
  position     : relative;
  height       : 420px;
  overflow     : hidden;
  border-radius: 6px;
  background   : linear-gradient(180deg, #eef6ef 0%, #e7f1e8 45%, #84c094 100%);
  box-shadow   : var(--shadow);
}

.refposter__sheet::after {
  content   : "";
  position  : absolute;
  left      : 0;
  right     : 0;
  bottom    : -1px;
  height    : 70px;
  background: #ffffff;
  clip-path : polygon(0 55%, 100% 0, 100% 100%, 0 100%);
  z-index   : 4;
}

.refposter__linkedin {
  position     : absolute;
  right        : 14px;
  bottom       : 12px;
  width        : 32px;
  height       : 32px;
  border-radius: 999px;
  display      : flex;
  align-items  : center;
  justify-content: center;
  color        : #0d5363;
  background   : rgba(255, 255, 255, 0.92);
  border       : 1px solid rgba(13, 83, 99, 0.18);
  box-shadow   : 0 8px 14px rgba(0, 0, 0, 0.12);
  z-index      : 6;
  transition   : transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  text-decoration: none;
}

.refposter__linkedin i {
  font-size  : 14px;
  line-height: 1;
}

.refposter__linkedin:hover {
  transform  : translateY(-3px);
  background : linear-gradient(120deg, #0d5363, #1f7f7f);
  color      : #ffffff;
  box-shadow : 0 12px 20px rgba(13, 83, 99, 0.28);
}

.refposter__topic {
  position: absolute;
  top     : 14px;
  left    : 14px;
  right   : 14px;
  z-index : 5;
  color   : rgba(16, 55, 38, .9);
}

.refposter__topicLabel {
  font-size     : 11px;
  font-weight   : 900;
  letter-spacing: .9px;
  opacity       : .8;
  margin-bottom : 6px;
}

.refposter__tags {
  font-size  : 12px;
  font-weight: 700;
  line-height: 1.25;
  opacity    : .85;
}

.refposter__img {
  position       : absolute;
  left           : 0;
  right          : 0;
  bottom         : 0;
  top            : 54px;
  width          : 100%;
  height         : calc(100% - 54px);
  object-fit     : cover;
  object-position: center;
  filter         : grayscale(1) contrast(1.05);
  z-index        : 1;
}

#speakers .refposter__img {
  filter: none;
}

#speakers-previous .refposter:hover .refposter__img {
  filter: grayscale(0) contrast(1.05);
}

.refGrid--sponsor {
  grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
  justify-content      : center;
}

.refposter--logo .refposter__sheet {
  background: linear-gradient(180deg, #f7fbfc 0%, #e7f1f2 55%, #b9d8dc 100%);
}

.refposter__img--logo {
  object-fit: contain;
  padding   : 42px 34px;
  filter    : none;
}

.refposter__img--placeholder {
  display      : grid;
  place-items  : center;
  background   : linear-gradient(160deg, #e8f4f0 0%, #cfe6dc 45%, #9cc4b5 100%);
  filter       : none;
}

.refposter__img--placeholder::after {
  content      : attr(data-initials);
  font-size    : 36px;
  font-weight  : 900;
  letter-spacing: 3px;
  color        : #0f2f20;
  text-transform: uppercase;
}

.refposter__sheet::before {
  content       : "";
  position      : absolute;
  inset         : 0;
  z-index       : 3;
  pointer-events: none;
  background    : linear-gradient(to top,
      rgba(38, 130, 82, .55) 0%,
      rgba(38, 130, 82, .22) 30%,
      rgba(38, 130, 82, 0) 60%);
}

.refposter__bottom {
  margin-top: 12px;
}

.refposter__name {
  margin        : 0 0 6px;
  font-weight   : 900;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-size     : 16px;
  color         : #0f2f20;
}

.refposter__desc {
  margin     : 0;
  font-size  : 12px;
  line-height: 1.35;
  color      : rgba(15, 47, 32, .75);
}

/* =========================
   Key discussion points
   ========================= */
.kdpTitle {
  display      : grid;
  gap          : 8px;
  text-align   : left;
  margin-bottom: 16px;
}

.kdpTitle h2 {
  font-size     : clamp(20px, 3vw, 25px);
  text-transform: uppercase;
  color         : #1d4c55;
  text-align    : center;
}

.insightSub {
  color         : #2e575f;
  font-weight   : 700;
  letter-spacing: .2px;
  margin        : 0;
  text-align    : center;
}

.insightPanels {
  display    : grid;
  gap        : 24px;
  width      : 100%;
  margin-left: 0;
  padding    : 0;
}

.insightPanel__title {
  font-family   : "Helvetica", sans-serif;
  font-weight   : bold;
  font-size     : clamp(18px, 3vw, 24px);
  letter-spacing: 1px;
  text-transform: uppercase;
  color         : #1d4c55;
  margin        : 4px 0 12px;
  text-align    : center;
}

.insightTiles {
  --insight-accent     : #6c1dff;
  display              : grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-flow       : dense;
  gap                  : 12px;
  align-items          : stretch;
}

.insightTile {
  background   : #f8fbfc;
  color        : #12353d;
  border-radius: 28px;
  padding      : 14px 16px;
  border       : 1px solid rgba(15, 47, 32, 0.12);
  box-shadow   : 0 12px 20px rgba(0, 0, 0, 0.08);
  display      : flex;
  align-items  : center;
  min-height   : 96px;
  grid-column  : span 2;
}

.insightTile__text {
  margin     : 0;
  font-size  : 20px;
  line-height: 1.35;
  font-weight: 600;
}

.insightTile__stat {
  font-weight: 800;
  color      : #0f2f20;
}

.insightTile--wide {
  grid-column: span 3;
}

.insightTile--accent {
  padding   : 0;
  display   : block;
  border    : none;
  min-height: 84px;
  background: var(--insight-accent);
  overflow  : hidden;
}

.insightTile--photo {
  padding     : 0;
  display     : block;
  overflow    : hidden;
  min-height  : 84px;
  grid-column : span 1;
  grid-row    : span 1;
  aspect-ratio: 1 / 1;
}

.insightTile--photo img {
  width     : 100%;
  height    : 100%;
  object-fit: cover;
  filter    : grayscale(0.85) contrast(1.1);
}

.insightTile--accent img {
  display   : block;
  width     : 100%;
  height    : 100%;
  object-fit: cover;
  filter    : grayscale(0.85) contrast(1.1);
}

.insightTile--photoWide {
  grid-column : span 2;
  grid-row    : span 1;
  aspect-ratio: 4 / 3;
}

.insightTiles--challenges .insightTile {
  background  : #fdf7f5;
  border-color: rgba(112, 70, 60, 0.2);
}

.insightTiles--challenges .insightTile__stat {
  color: #6c4c4c;
}

.insightTiles--challenges .insightTile--accent {
  background: #6c1dff;
}

.section {
  max-width    : 1480px;
  margin       : 24px auto;
  padding      : 22px;
  background   : #eef2f4;
  border-radius: 22px;
}

.continuedgrid_persistent {
  width: 100vw;
  /* max-width: 100vw; */
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  border-radius: 0;
  padding-left: clamp(16px, 4vw, 36px);
  padding-right: clamp(16px, 4vw, 36px);
}

.continuedgrid_persistent .stats {
  max-width: 1580px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.section .stats {
  display              : grid;
  gap                  : 20px;
  grid-template-rows   : 1fr 1fr;
  align-items          : stretch;
}

.section .left {
  grid-column: 1;
  grid-row   : 1 / span 2;
  display    : grid;
  gap        : 18px;
}

.section .midA {
  grid-column: 2;
  grid-row   : 1 / span 2;
}

.section .midB {
  grid-column: 3;
  grid-row   : 1 / span 2;
}

.section .right {
  grid-column: 4;
  grid-row   : 1 / span 2;
  display    : grid;
  gap        : 18px;
}

.section.continuedgrid_persistent .left {
  grid-column: 1 / span 2;
}

.section.continuedgrid_persistent .midA {
  grid-column: 3;
}

.section.continuedgrid_persistent .midB {
  grid-column: 4;
}

.section .pill {
  background   : #ffffff;
  border-radius: 30px;
  box-shadow   : 0 10px 22px rgba(0, 0, 0, .08);
  border       : 1px solid rgba(17, 24, 39, .06);
  overflow     : hidden;
  display      : flex;
  align-items  : center;
  min-height   : 112px;
}

.pill_center {
  display        : flex;
  justify-content: center;
  align-items    : center;
  flex-direction : column;
  width          : 100%;
}

.section .pill__pad {
  padding: 16px 8px;
}

.section .pill__kpi {
  margin     : 0;
  font-weight: 800;
  font-size  : 15px;
  line-height: 1.15;
  color      : #111111;
}

.section .pill__desc {
  margin     : 6px 0 0 0;
  font-size  : 13px;
  line-height: 1.25;
  color      : #6b7280;
}

.section .pill--img {
  justify-content: space-between;
}

.section .pill--img .pill__pad {
  padding-right: 15px;
  flex         : 1;
}

.section .media {
  width        : 56%;
  aspect-ratio : 4 / 3;
  align-self   : center;
  margin       : 10px;
  border-radius: 24px;
  overflow     : hidden;
  box-shadow   : 0 10px 18px rgba(0, 0, 0, .18);
}

.section .media img {
  width          : 100%;
  height         : 100%;
  object-fit     : cover;
  object-position: center;
  display        : block;
  filter         : none;
}

.section .kpiBig {
  font-size     : 24px;
  font-weight   : 900;
  letter-spacing: -0.02em;
  line-height   : 1;
}

.section .sq {
  background         : #2e6a76;
  border-radius      : 28px;
  box-shadow         : 0 14px 26px rgba(46, 106, 118, .24);
  min-height         : 172px;
  background-size    : cover;
  background-position: center;
  background-repeat  : no-repeat;
  filter             : grayscale(100%);
}

.section .block {
  background   : rgba(255, 255, 255, .65);
  border       : 1px solid rgba(17, 24, 39, .10);
  box-shadow   : 0 10px 22px rgba(0, 0, 0, .08);
  border-radius: 34px;
  padding      : 10px;
  overflow     : hidden;
  display      : grid;
  gap          : 10px;
}

.section .block__text {
  background   : rgba(255, 255, 255, .98);
  border-radius: 26px;
  padding      : 14px 16px;
}

.section .block__kpi {
  margin     : 0;
  font-weight: 900;
  font-size  : 15px;
  line-height: 1.15;
}

.section .block__desc {
  margin     : 6px 0 0 0;
  font-size  : 12px;
  line-height: 1.25;
  color      : #6b7280;
}

.section .block--topSq {
  grid-template-rows: 1fr auto;
}

.section .block--botSq {
  grid-template-rows: auto 1fr;
}

.section .block--botSq .block__text {
  order: -1;
}

.section .pill--sq {
  gap: 14px;
}

.section .pill--sq .pill__pad {
  display       : flex;
  flex-direction: column;
}

.section .sqInPill {
  width              : 100%;
  height             : 174px;
  border-radius      : 24px;
  background         : #2e6a76;
  flex               : 0 0 auto;
  box-shadow         : 0 10px 20px rgba(46, 106, 118, .25);
  background-size    : cover;
  background-position: top;
  background-repeat  : no-repeat;
  filter             : grayscale(100%);
}

.section .pill--sq .pill__pad {
  padding-left: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .section .reveal {
    opacity  : 0;
    transform: translateY(14px) scale(.985);
  }

  .section .reveal.is-in {
    opacity   : 1;
    transform : translateY(0) scale(1);
    transition: opacity .55s ease, transform .55s cubic-bezier(.2, .9, .2, 1);
  }

  .section .reveal.reveal--soft {
    transition-delay: var(--d, 0ms);
  }

  .section .pill,
  .section .block {
    transition : transform .22s ease, box-shadow .22s ease, filter .22s ease;
    will-change: transform;
  }

  .section .pill:hover,
  .section .block:hover {
    box-shadow: 0 18px 34px rgba(0, 0, 0, .14);
  }

  .section .sq,
  .section .sqInPill {
    transition: transform .22s ease, filter .22s ease;
  }

  .section .sq,
  .section .sqInPill {
    animation: stats-glow 2.4s ease-in-out infinite, stats-floaty 3.2s ease-in-out infinite;
  }

  .section .block .sq {
    animation-delay: 0ms, 120ms;
  }

  .section .right .sqInPill {
    animation-delay: 0ms, 260ms;
  }

  @keyframes stats-glow {

    0%,
    100% {
      filter: drop-shadow(0 10px 18px rgba(46, 106, 118, .22));
    }

    50% {
      filter: drop-shadow(0 16px 26px rgba(46, 106, 118, .38));
    }
  }

  @keyframes stats-floaty {

    0%,
    100% {
      transform: translateY(0) scale(1);
    }

    50% {
      transform: translateY(-4px) scale(1.01);
    }
  }

  .section .media img {
    transform-origin: 60% 40%;
    animation       : stats-kenburns 7.5s ease-in-out infinite;
  }

  .section .left article:nth-child(2) .media img {
    animation-duration: 9s;
    transform-origin  : 45% 55%;
  }

  @keyframes stats-kenburns {

    0%,
    100% {
      transform: scale(1) translate(0, 0);
    }

    50% {
      transform: scale(1.08) translate(-2%, -1%);
    }
  }

  .section .pill::after,
  .section .block::after {
    content       : "";
    position      : absolute;
    inset         : -40% -60%;
    background    : linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .28) 48%, transparent 62%);
    transform     : translateX(-40%) rotate(8deg);
    opacity       : 0;
    pointer-events: none;
  }

  .section .pill:hover::after,
  .section .block:hover::after {
    opacity  : 1;
    animation: stats-sweep .9s ease both;
  }

  @keyframes stats-sweep {
    to {
      transform: translateX(40%) rotate(8deg);
    }
  }

  .section .pill,
  .section .block {
    position: relative;
  }

  .section .ripple {
    position      : absolute;
    border-radius : 999px;
    transform     : translate(-50%, -50%);
    background    : rgba(46, 106, 118, .22);
    pointer-events: none;
    width         : 12px;
    height        : 12px;
    animation     : stats-ripple .7s ease-out forwards;
  }

  @keyframes stats-ripple {
    to {
      opacity: 0;
      width  : 280px;
      height : 280px;
    }
  }

  .section .pill.is-in,
  .section .block.is-in {
    animation: stats-breathe 6s ease-in-out infinite;
  }

  @keyframes stats-breathe {

    0%,
    100% {
      filter: saturate(1)
    }

    50% {
      filter: saturate(1.05)
    }
  }

  @media (hover: none) {

    .section .pill:hover::after,
    .section .block:hover::after {
      opacity  : 0;
      animation: none;
    }
  }
}

@media (prefers-reduced-motion: reduce) {

  .section .pill,
  .section .block,
  .section .sq,
  .section .sqInPill {
    animation : none !important;
    transition: none !important;
  }

  .section .reveal {
    opacity  : 1 !important;
    transform: none !important;
  }
}

@media (max-width: 980px) {
  .insightTiles {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .insightTile--wide,
  .insightTile--photoWide {
    grid-column: span 4;
  }

  .insightTile--photo {
    grid-column: span 1;
  }

  .section .stats {
    grid-template-columns: 1fr 1fr;
    grid-template-rows   : auto;
  }

  .section .left {
    grid-column: 1 / -1;
    grid-row   : auto;
  }

  .section .midA {
    grid-column: 1;
    grid-row   : auto;
  }

  .section .midB {
    grid-column: 2;
    grid-row   : auto;
  }

  .section .right {
    grid-column: 1 / -1;
    grid-row   : auto;
  }

  .aboutMatters__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .awardsTracks__cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .section .stats {
    grid-template-columns: 1fr;
  }

  .section .left,
  .section .midA,
  .section .midB,
  .section .right {
    grid-column: 1;
  }

  .section .media {
    width        : 60%;
    aspect-ratio : 3 / 2;
    border-radius: 20px;
    margin       : 8px;
  }

  .section .kpiBig {
    font-size: 22px;
  }

  .aboutMatters {
    padding: 18px;
  }

  .aboutMatters__cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .panel2 {
  padding: 26px 0;
}
  .hero2__tag {
    text-align    : center;
    color         : rgba(255, 255, 255, .92);
    font-weight   : 300;
    letter-spacing: .2px;
    margin-top    : 10px;
    font-size     : 18px;
  }
  .hero2__tag_innercontent {
  display       : block;
  font-size     : 14px;
  margin-top    : 6px;
  font-weight   : 400;
  letter-spacing: .1px;
}

  .insightTiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .insightTile,
  .insightTile--wide,
  .insightTile--photo,
  .insightTile--photoWide,
  .insightTile--accent {
    grid-column: span 2;
  }
}

.insightNote {
  margin-top    : 16px;
  background    : #eaf1f3;
  color         : #12353d;
  border-radius : 14px;
  padding       : 16px;
  font-weight   : 700;
  letter-spacing: .1px;
  box-shadow    : 0 12px 20px rgba(0, 0, 0, .12);
  max-width     : 1100px;
  margin-left   : auto;
  margin-right  : auto;
  text-align    : center;
}

.kdpGrid {
  display              : grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  grid-auto-rows       : 190px;
  gap                  : 14px;
  align-items          : stretch;
}

.kdpCard {
  border-radius: 16px;
  background   : #0d0f10;
  box-shadow   : 0 14px 24px rgba(0, 0, 0, .16);
  overflow     : hidden;
  transition   : transform .35s var(--ease), filter .35s var(--ease);
}

.kdpCard:hover {
  transform: translateY(-6px);
}

.kdpCard--feature {
  position: relative;
  grid-row: span 2;
}

.kdpCard--feature img {
  width     : 100%;
  height    : 100%;
  object-fit: cover;
  filter    : grayscale(.15) contrast(1.05);
}

.kdpBody {
  position  : absolute;
  left      : 0;
  right     : 0;
  bottom    : 0;
  padding   : 14px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .72));
  color     : #f7f9fa;
}

.kdpBody h3 {
  color        : #f4f7f7;
  margin-bottom: 6px;
  font-size    : 26px;
}

.kdpBody p {
  color      : #dce4e6;
  font-size  : 14px;
  font-family: "Helvetica", sans-serif;
}

/* =========================
   Why attend
   ========================= */
.whyHeader {
  display      : grid;
  justify-items: center;
  gap          : 12px;
  margin-bottom: 18px;
}

.miniTop {
  border        : 1px solid #c0cbd3;
  background    : #f9fbfc;
  color         : #264d55;
  border-radius : 999px;
  padding       : 8px 16px;
  cursor        : pointer;
  letter-spacing: 0.3px;
  box-shadow    : 0 6px 12px rgba(0, 0, 0, 0.08);
  transition    : transform .25s var(--ease);
}

.miniTop:hover {
  transform: translateY(-2px);
}

.whyGrid {
  position      : relative;
  display       : flex;
  flex-direction: column;
  align-items   : center;
}

.panel2--why .whyGrid {
  width        : min(92%, 980px);
  margin       : 0 auto;
  padding      : 28px;
  border-radius: 18px;
  text-align   : center;
}

.whyCard {
  position     : sticky;
  min-height: 140px;
  top          : 120px;
  background   : #f9fbfc;
  border-radius: 14px;
  padding      : 18px;
  text-align   : center;
  box-shadow   : 0 14px 24px rgba(0, 0, 0, 0.12);
  color        : var(--muted);
  transition   : transform .35s var(--ease);
  margin       : 0 auto 40px;
  width        : min(92%, 760px);
  display      : flex;
  flex-direction: column;
  align-items  : center;
  justify-content: center;
}

.whyCard+.whyCard {
  margin-top: -24px;
}

.whyCard:hover {
  transform: translateY(-6px);
}

.whyCard h3 {
  font-family   : "Helvetica", sans-serif;
  font-size     : 16px;
  font-weight   : 800;
  text-transform: none;
  color         : #1d3f46;
  margin-bottom : 6px;
  letter-spacing: .1px;
}

.whyCard p {
  font-size: 14px;
}

.keyThemesCentered .stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  grid-template-rows: auto;
  grid-auto-rows: auto;
  height: auto;
}

.keyThemesCentered .block {
  min-height: 420px;
}

.keyThemesCentered .sq {
  min-height: 200px;
}

@media (max-width: 1024px) {
  .keyThemesCentered .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .keyThemesCentered .stats {
    grid-template-columns: 1fr;
  }

  .keyThemesCentered .block {
    min-height: 320px;
  }
}

.attendeeGrid {
  display              : grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap                  : 14px;
  margin-top           : 10px;
  margin-left          : auto;
  margin-right         : auto;
  justify-items        : center;
}

.attendeeGrid > .attendeeCard {
  grid-column: span 2;
}

.attendeeGrid > .attendeeCard:nth-last-child(2) {
  grid-column: 2 / span 2;
}

.attendeeGrid > .attendeeCard:last-child {
  grid-column: 4 / span 2;
}

.attendeeCard {
  background     : #f9fbfc;
  border-radius  : 14px;
  padding        : 18px;
  font-weight    : 700;
  color          : #0f2f20;
  box-shadow     : 0 10px 18px rgba(0, 0, 0, 0.08);
  letter-spacing : .1px;
  text-align     : center;
  display        : flex;
  flex-direction : column;
  align-items    : center;
  justify-content: center;
  gap            : 8px;
  transition     : transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.attendeeCard_title {
  display       : block;
  font-size     : 15px;
  font-weight   : 800;
  line-height   : 1.3;
  letter-spacing: .2px;
}

.attendeeCard_innercontent {
  display    : block;
  font-size  : 14px;
  font-weight: 500;
  line-height: 1.5;
  color      : #2f525b;
}

.attendeeCard:hover {
  transform   : translateY(-4px);
  box-shadow  : 0 18px 30px rgba(0, 0, 0, 0.16);
  border-color: #c2d9df;
}

@media (max-width: 1024px) {
  .attendeeGrid {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }

  .attendeeGrid > .attendeeCard {
    grid-column: auto;
  }

  .attendeeGrid > .attendeeCard:nth-last-child(2),
  .attendeeGrid > .attendeeCard:last-child {
    grid-column: auto;
  }
}

.awardsGrid {
  display              : grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap                  : 18px;
  margin-top           : 12px;
  max-width            : 1200px;
  margin-left          : auto;
  margin-right         : auto;
}

.awardColumn {
  background   : #ffffff;
  border-radius: 14px;
  padding      : 16px;
  box-shadow   : 0 12px 22px rgba(0, 0, 0, .12);
  border       : 1px solid #dce6ea;
}

.awardColumn h3 {
  margin        : 0 0 10px;
  font-size     : 18px;
  letter-spacing: .2px;
  color         : #0f2f20;
}

.awardColumn ol {
  margin        : 0;
  padding-left  : 18px;
  display       : grid;
  gap           : 8px;
  color         : #2f525b;
  font-weight   : 700;
  letter-spacing: .1px;
}

.contactGrid {
  display              : grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap                  : 14px;
  margin-top           : 12px;
}

.contactCard {
  background   : #ffffff;
  border-radius: 14px;
  padding      : 14px;
  box-shadow   : 0 12px 22px rgba(0, 0, 0, .12);
  border       : 1px solid #d8e5e9;
  transition   : transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.contactCard:hover {
  transform   : translateY(-4px);
  box-shadow  : 0 18px 30px rgba(0, 0, 0, 0.16);
  border-color: #c2d9df;
}

.contactName {
  font-weight   : 800;
  color         : #0f2f20;
  letter-spacing: .2px;
}

.contactRole {
  margin-top : 4px;
  color      : #2e575f;
  font-weight: 700;
}

.contactRow {
  margin-top : 6px;
  color      : #3b4f54;
  font-weight: 700;
  font-size  : 14px;
}

.engageGrid {
  display              : grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap                  : 14px;
  margin-top           : 12px;
  text-align           : center;
}

.engagePanel {
  position: relative;
  padding: clamp(24px, 4vw, 40px);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(245, 252, 255, 0.9)),
    url("aboutImages/about-2.webp") center/cover no-repeat;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  border: 1px solid rgba(14, 72, 84, 0.12);
  animation: engage-panel-in .7s ease-out both;
  transform: translateY(-10px);
}

.engagePanel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(91, 163, 174, 0.25), transparent 55%),
    radial-gradient(circle at 80% 0%, rgba(47, 111, 116, 0.2), transparent 50%);
  pointer-events: none;
}

.engagePanel .sectionTitle,
.engagePanel .engageGrid {
  position: relative;
  z-index: 1;
}

.engageCard {
  background   : #ffffff;
  border-radius: 14px;
  padding      : 18px;
  box-shadow   : 0 12px 22px rgba(0, 0, 0, .12);
  border       : 1px solid #d8e5e9;
  transition   : transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  display      : flex;
  flex-direction: column;
  align-items  : center;
  justify-content: space-between;
  gap          : 10px;
  min-height   : 170px;
  opacity: 0;
  transform: translateY(16px) scale(0.98);
  animation: engage-card-in .6s ease-out both;
}

.engageCard:hover {
  transform   : translateY(-6px) scale(1.01);
  box-shadow  : 0 20px 34px rgba(0, 0, 0, 0.18);
  border-color: #b7d7de;
}

.engageGrid .engageCard:nth-child(1) { animation-delay: .05s; }
.engageGrid .engageCard:nth-child(2) { animation-delay: .12s; }
.engageGrid .engageCard:nth-child(3) { animation-delay: .19s; }
.engageGrid .engageCard:nth-child(4) { animation-delay: .26s; }

@keyframes engage-panel-in {
  from { opacity: 0; transform: translateY(18px) scale(0.98); }
  to { opacity: 1; transform: translateY(-10px) scale(1); }
}

@keyframes engage-card-in {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.engageName {
  font-weight   : 800;
  color         : #0f2f20;
  letter-spacing: .2px;
  text-align    : center;
}

.engageCta {
  grid-column : 1 / -1;
  justify-self: center;
}

.engageCta--sm {
  align-self   : center;
  justify-self : center;
  padding      : 6px 18px;
  font-size    : 12px;
  letter-spacing: .2px;
  border-radius: 6px;
  background   : #2f6f74;
  color        : #ffffff;
  text-transform: uppercase;
  font-weight  : 700;
}

@media (max-width: 900px) {
  .engageGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .engagePanel {
    padding: 20px;
  }

  .engageGrid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .engagePanel,
  .engageCard {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .awardsTracks__card,
  .awardsTracks__cta {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* =========================
   Grievance form
   ========================= */
.grievanceHeader {
  display   : grid;
  gap       : 6px;
  text-align: left;
  max-width : 760px;
  margin    : 0 auto 12px;
  color     : #f7fbfb;
}

.grievanceHeader h2 {
  font-size     : clamp(30px, 5.5vw, 44px);
  text-transform: uppercase;
  color         : #fdfefe;
}

.grievanceHeader p {
  color      : rgba(255, 255, 255, .9);
  font-weight: 600;
}

.grievanceForm {
  background   : #f9fbfc;
  border-radius: 16px;
  box-shadow   : 0 12px 22px rgba(0, 0, 0, 0.14);
  padding      : 18px;
  display      : grid;
  gap          : 12px;
  max-width    : 760px;
  margin       : 0 auto;
}

.grievanceForm__row {
  display   : grid;
  gap       : 6px;
  text-align: left;
}

.grievanceForm label {
  font-weight   : 800;
  letter-spacing: .2px;
  color         : #11343c;
}

.grievanceForm select {
  width        : 100%;
  padding      : 10px 12px;
  border-radius: 12px;
  border       : 1px solid #c8d6da;
  background   : #ffffff;
  font-size    : 14px;
  color        : #0f2f20;
  outline      : none;
  transition   : border-color .2s var(--ease), box-shadow .2s var(--ease);
}

.grievanceForm select:focus {
  border-color: #2b6871;
  box-shadow  : 0 0 0 3px rgba(43, 104, 113, 0.12);
}

.grievanceForm select:disabled {
  background: #f1f4f5;
  color     : #7a8b90;
}

.grievanceForm__status {
  font-size     : 13px;
  background    : #eaf4f6;
  border        : 1px dashed #c0d9df;
  color         : #0f2f20;
  border-radius : 12px;
  padding       : 10px 12px;
  letter-spacing: .1px;
}

.grievanceForm__status[data-state="error"] {
  background  : #fdecea;
  border-color: #f5c2c0;
  color       : #8b1a1a;
}

/* =========================
   Footer
   ========================= */
.footer2 {
  background: #2029a1;
  color     : #f4f7ff;
  padding   : 44px 0 52px;
}

.footer2__inner {
  display              : grid;
  grid-template-columns: 2.2fr 1fr;
  gap                  : 28px;
  align-items          : start;
}

.footer2__heading {
  margin        : 0 0 14px 0;
  font-size     : clamp(20px, 3vw, 26px);
  font-weight   : 800;
  letter-spacing: .2px;
}

.footer2__heading--sm {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .6px;
}

.footer2__left {
  display: grid;
  gap    : 18px;
}

.footer2__subscribe {
  display        : flex;
  align-items    : center;
  gap            : 10px;
  background     : #ffffff;
  border-radius  : 999px;
  padding        : 6px;
  max-width      : 520px;
}

.footer2__subscribe input {
  flex        : 1;
  border      : none;
  outline     : none;
  background  : transparent;
  padding     : 10px 14px;
  font-size   : 14px;
  color       : #1a1f2f;
}

.footer2__subscribe button {
  border        : none;
  cursor        : pointer;
  background    : #d9f6ff;
  color         : #315c86;
  font-weight   : 700;
  padding       : 10px 20px;
  border-radius : 999px;
  letter-spacing: .2px;
}

.footer2__label {
  font-weight   : 700;
  letter-spacing: .2px;
  margin-bottom : 8px;
}

.footer2__socials {
  display: flex;
  gap    : 10px;
  margin-top: 6px;
}

.footer2__contacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.footer2__contact {
  display: grid;
  gap    : 6px;
}

.footer2__contactName {
  font-weight: 700;
}

.footer2__contact a {
  color          : #f4f7ff;
  text-decoration: none;
  font-weight    : 600;
}

.footer2__right {
  display: grid;
  gap    : 12px;
  justify-items: end;
}

.footer2__links {
  display: grid;
  gap    : 8px;
  text-align: right;
}

.footer2__links a {
  color          : #f4f7ff;
  text-decoration: none;
  font-weight    : 600;
}

.footer2__links a:hover {
  color: #ffffff;
}

.footer2__fine {
  font-size  : 12px;
  color      : rgba(255, 255, 255, 0.75);
  border-top : 1px solid rgba(255, 255, 255, 0.25);
  padding-top: 16px;
  grid-column: 1 / -1;
  margin-top : 8px;
}

@media (max-width: 900px) {
  .footer2__inner {
    grid-template-columns: 1fr;
  }

  .footer2__right {
    justify-items: start;
  }

  .footer2__links {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .footer2 {
    padding-top: 54px;
  }

  .footer2__subscribe {
    flex-direction: column;
    align-items   : stretch;
  }

  .footer2__contacts {
    grid-template-columns: 1fr;
  }

  .footer2__right {
    display: none;
  }
}

/* =========================
   Floating scroll-to-top FAB
   ========================= */
.fabTop {
  position      : fixed;
  right         : 18px;
  bottom        : 18px;
  width         : 48px;
  height        : 48px;
  border-radius : 999px;
  border        : 1px solid rgba(255, 255, 255, .3);
  background    : rgba(14, 62, 72, .9);
  color         : #f7fbfb;
  display       : grid;
  place-items   : center;
  cursor        : pointer;
  box-shadow    : 0 14px 24px rgba(0, 0, 0, .18);
  opacity       : 0;
  transform     : translateY(10px);
  pointer-events: none;
  transition    : opacity .25s var(--ease), transform .25s var(--ease), background .25s var(--ease);
}

.fabTop.is-show {
  opacity       : 1;
  transform     : translateY(0);
  pointer-events: auto;
}

.fabTop:hover {
  background: rgba(14, 62, 72, 1);
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 1360px) {
   .nav-links{
font-size: 14px;
   }
}
@media (max-width: 1200px) {
   .nav-links{
font-size: 12px;
text-align: center;
   }
     .refGrid {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
  }

}
@media (max-width: 960px) {
  .nav-inner {
    grid-template-columns: auto 1fr auto auto;
  }

  .nav-links {
    position      : absolute;
    top           : 68px;
    left          : 16px;
    right         : 16px;
    flex-direction: column;
    background    : rgba(241, 250, 251, 0.95);
    padding       : 12px;
    border-radius : 16px;
    box-shadow    : 0 12px 26px rgba(0, 0, 0, 0.15);
    border        : 1px solid rgba(65, 118, 131, 0.15);
    opacity       : 0;
    pointer-events: none;
    transform     : translateY(-8px);
    transition    : opacity .2s ease, transform .2s ease;
  }

  .nav-links.open {
    opacity       : 1;
    pointer-events: auto;
    transform     : translateY(0);
  }

  .nav-toggle {
    display     : inline-flex;
    justify-self: end;
  }

  .nav-cta {
    display: inline-flex;
    justify-self: end;
  }

  .nav-links a {
    width: 100%;
  }

  .nav-links .pill {
    display: none;
  }

  .hero2 {
    min-height: 720px;
  }

  .objectiveRow {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .partnersRow {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .refGrid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .kdpGrid {
    grid-template-columns: 1fr 1fr;
  }

  .kdpCard--feature {
    grid-column: 1 / -1;
    grid-row   : span 1;
  }

  .whyGrid {
    display: block;
  }

  .hstat {
    width : clamp(160px, 32vw, 200px);
    height: 96px;
  }

  .aboutGallery {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .glimpsesVideo {
    grid-template-columns: 1fr;
  }

  .glimpsesRow__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer2__columns {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 640px) {

  .spacing_phn{
    margin-top: 50px;
  }
  .awardsHero__link {
    color        : #ffffff;
    background   : var(--deep);
    padding      : 10px;
    border-radius: 10px;
  }

  .awardsHero__cta,
  .awardsCTA {

    flex-direction: column;
  }

  .hero2 {
    min-height: 640px;
  }

  .kdpGrid {
    grid-template-columns: 1fr;
    grid-auto-rows       : 170px;
  }

  .hero2__inner {
    padding   : 20px 0 56px;
    margin-top: clamp(140px, 32vw, 200px);
  }

  .hero2__title {
    font-size: 30px;
  }

  .hero2__headline {
    padding: 0 20px;
  }

  .hero2__headline h1 {
    font-size : clamp(36px, 11vw, 56px);
    text-align: center;
  }

  .heroH1__line1,
  .heroH1__line2 {
    margin-left: 0;
    white-space: normal;
  }

  .heroH1__spacer {
    display: none;
  }

  .refGrid {
    grid-template-columns: 1fr;
  }

  .refposter {
    padding: 8px;
  }

  .refposter__sheet {
    border-radius: 12px;
  }

  .refposter__bottom {
    padding: 0 6px;
  }

  .refposter__linkedin {
    right : 18px;
    bottom: 16px;
  }

  .whyGrid {
    display: block;
  }

  .hstat {
    width : clamp(150px, 70vw, 190px);
    height: 92px;
  }

  .hstat__big {
    font-size: 30px;
  }

  .hstat__label {
    font-size: 12px;
  }

  .objectiveRow {
    grid-template-columns: repeat(1, minmax(160px, 1fr));
  }

  .partnersRow {
    grid-template-columns: repeat(1, minmax(160px, 1fr));
  }

  .metricTile {
    width       : clamp(240px, 78vw, 320px);
    aspect-ratio: 16 / 10;
  }

  .focusGrid {
    grid-template-columns: 1fr;
    grid-auto-rows       : 140px;
  }

  .focusTile {
    grid-column: span 1;
    grid-row   : span 1;
  }

  .aboutGallery {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }

  .galleryHero {
    padding: 120px 0 56px;
  }

  .glimpsesRow__grid {
    grid-template-columns: 1fr;
  }

  .attendeeGrid {
    grid-template-columns: 1fr;
  }

  .attendeeGrid > .attendeeCard {
    grid-column: auto;
  }


}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .marquee-heading__inner {
    animation: none;
    transform: none;
  }

  .hero2__stats {
    overflow: visible;
  }

  .reveal {
    opacity   : 1;
    transform : none;
    transition: none;
  }

  .objectiveCard,
  .whyCard,
  .kdpCard,
  .refposter {
    transition: none;
  }

}

/* Show more functionality */
.hidden {
  display: none !important;
}

.showMoreBtn {
  display       : inline-flex;
  align-items   : center;
  justify-content: center;
  margin        : 20px auto 0;
  padding       : 8px 18px;
  min-width     : 120px;
  background    : #2b6f7a;
  color         : #ffffff;
  border        : none;
  border-radius : 999px;
  cursor        : pointer;
  font-size     : 14px;
  font-weight   : 700;
  letter-spacing: .3px;
  transition    : transform 0.2s ease, background 0.2s ease;
}

.showMoreWrap {
  text-align: center;
}

.showMoreBtn:hover {
  background: #245c65;
  transform : translateY(-1px);
}

/* Centered section titles */
.sectionTitle--centered h2 {
  text-align: center;
  color     : #333;
}

.sectionTitle--centered .sectionRule {

  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(9, 10, 10, 0.75), rgba(246, 251, 251, 0));
}

/* Make sure hero content sits above the overlay */
.hero2__headline {
  position: relative;
  z-index : 2;
}

.metrics__bg {
  z-index: 0;
}

.metrics__overlay {
  z-index: 1;
}

.hero2__bg {
  z-index: 0;
}

.hero2__overlay {
  z-index: 1;
}

.hero2 {
  background: linear-gradient(to top,
      rgba(230, 255, 227, 1),
      rgba(13, 83, 99, 1));
}

.hero2__socials {
  display        : flex;
  gap            : 18px;
  justify-content: left;
  align-items    : center;
  margin-top     : 10px;
}

.hero2__socials a {
  width          : 42px;
  height         : 42px;
  border-radius  : 50%;
  display        : flex;
  align-items    : center;
  justify-content: center;
  color          : #ffffff;
  font-size      : 18px;
  transition     : 0.3s ease;
  text-decoration: none;
}

.hero2__socials a:hover {
  background: linear-gradient(90deg, #0d5363, var(--deep));
  color     : white;
  transform : translateY(-4px);
}


.wrap_gallery {
  width    : 100%;
  max-width: 1800px;
  padding  : 0 clamp(16px, 4vw, 40px);
  margin   : 0 auto;
}
