/*
 * wpn-pages.css
 * Shared page-component styles for Workplace Ninjas US.
 *
 * These rules previously lived in duplicated inline <style> blocks on
 * index / why-attend / sponsors / registration. They were merged here so the
 * browser downloads them once and caches them across the whole site, which
 * keeps each HTML document small and cuts repeat-view bytes.
 *
 * Load order matters: base rules first, media queries last.
 */

/* ---- page components: index.html ---- */
.menuLink {
    position: relative;
    overflow: hidden;
  }
.pageHero .heroTitle {
    max-width: 920px;
  }
.heroTitle--mixed {
    font-size: clamp(2.8rem, 9vw, 5rem);
  }
.heroTitle--mixed small {
    display: block;
    margin-bottom: 8px;
    color: var(--muted-strong);
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    line-height:  1.15;
    font-weight:  700;
    letter-spacing: 0.02em;
    text-transform: none;
  }
.pageMediaFrame {
    overflow: hidden;
    border-radius: var(--radius-xl);
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(9, 22, 54, 0.96) 0%, rgba(10, 26, 62, 0.66) 100%);
    box-shadow: var(--shadow-soft);
  }
.pageMediaFrame img,
  .pageMediaFrame video,
  .pageMediaFrame iframe {
    display: block;
    width: 100%;
    border: 0;
  }
.pageMediaFrame img {
    height: 100%;
    object-fit: cover;
  }
.pageMediaFrame--venue {
    height: min(46vw, 520px);
    min-height: 280px;
  }
.pageMediaFrame--iframe iframe {
    min-height: 720px;
    background: #0a1a3e;
  }
.resourceGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
.resourceCard {
    display: flex;
    flex-direction: column;
    min-height: 180px;
    padding: 24px 24px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(9, 22, 54, 0.96) 0%, rgba(10, 26, 62, 0.66) 100%);
    box-shadow: var(--shadow-soft);
    transition: transform 0.2s ease, border-color 0.2s ease;
  }
.resourceCard:hover,
  .resourceCard:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(237, 140, 95, 0.34);
  }
.resourceCard strong {
    display: block;
    margin-bottom: 8px;
    color: var(--text);
    font-size: 1.25rem;
    line-height:  1.3;
  }
.resourceCard span {
    color: var(--muted-strong);
    line-height:  1.5;
    font-size: 0.9rem;
  }
.miniStatGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }
.tagList {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
  }
.tagList span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: var(--muted-strong);
    font-size: 0.82rem;
    font-weight: 600;
  }
.newsletterEmbed {
    max-width: 880px;
    margin: 24px auto 0;
  }
.newsletterEmbed .quick_form_5_css {
    width: 100% !important;
    max-width: 820px !important;
    border-radius: var(--radius-lg) !important;
    font-family: "Montserrat", sans-serif !important;
  }
.newsletterEmbed input[type="text"] {
    font-family: "Montserrat", sans-serif !important;
  }
.sponsorLevelGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
.sponsorLevelCard,
  .sponsorPackageCard {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(9, 22, 54, 0.96) 0%, rgba(10, 26, 62, 0.66) 100%);
    box-shadow: var(--shadow-soft);
  }
.sponsorLevelCard::before {
    content: "";
    position: absolute;
    inset: -80px -80px auto auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(237, 140, 95, 0.22), rgba(237, 140, 95, 0));
    pointer-events: none;
  }
.sponsorLevelTop {
    position: relative;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
.sponsorLevelTop h3 {
    margin: 0;
    font-size: 1.7rem;
    line-height:  1.15;
  }
.priceText {
    white-space: nowrap;
    font-size: 1.7rem;
    font-weight: 900;
    letter-spacing: -0.03em;
    background: linear-gradient(17deg, rgb(166, 23, 87) 0, rgb(237, 140, 95) 58.99%) padding-box text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
.sponsorList {
    position: relative;
    margin: 0;
    padding-left: 16px;
    color: var(--muted-strong);
    line-height: 1.5;
    font-size: 0.9rem;
  }
.sponsorList li + li {
    margin-top: 8px;
  }
.levelNoteCard {
    margin-top: 16px;
    padding: 16px 20px;
    border-radius: var(--radius-md);
    border: 1px dashed rgba(237, 140, 95, 0.42);
    background: rgba(255, 255, 255, 0.04);
    color: var(--muted-strong);
    line-height:  1.5;
    text-align: center;
  }
.alacarteGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }
.sponsorPackageCard h3 {
    margin: 0 0 16px;
    font-size: 1.45rem;
    line-height: 1.15;
  }
.pricePill {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    margin-top: 8px;
    border-radius: 999px;
    color: var(--muted-strong);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
.sponsorAccordion {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
  }
.sponsorAccordion details {
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    padding: 16px 16px;
  }
.sponsorAccordion summary {
    cursor: pointer;
    color: var(--text);
    font-weight: 700;
    line-height:  1.3;
  }
.sponsorAccordion p {
    margin: 8px 0 0;
    color: var(--muted-strong);
    font-size: 0.9rem;
    line-height:  1.5;
  }
.imageCardGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }
.imageFeatureCard {
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(9, 22, 54, 0.96) 0%, rgba(10, 26, 62, 0.66) 100%);
  }
.imageFeatureCard__media {
    height: 165px;
    overflow: hidden;
  }
.imageFeatureCard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
.imageFeatureCard__body {
    padding: 16px;
  }
.imageFeatureCard h3 {
    margin: 0;
    font-size: 1.1rem;
    line-height:  1.15;
  }
.imageFeatureCard p {
    margin: 8px 0 0;
    color: var(--muted-strong);
    font-size: 0.9rem;
    line-height:  1.5;
  }
.galleryShell {
    padding: 28px;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
      radial-gradient(circle at 86% 12%, rgba(87, 125, 255, 0.16), transparent 24%),
      linear-gradient(180deg, rgba(10, 26, 62, 0.96) 0%, rgba(8, 20, 50, 0.78) 100%);
    box-shadow: var(--shadow-soft);
  }
.ctaCard .newsletterEmbed p {
    max-width: none;
  }
.logoWall {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
.sponsorTierStack {
    display: grid;
    gap: 24px;
    margin-top: 28px;
  }
.sponsorTier {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: var(--radius-xl);
    border: 1px solid var(--line);
    background:
      radial-gradient(circle at 88% 10%, rgba(237, 140, 95, 0.16), transparent 28%),
      linear-gradient(180deg, rgba(9, 22, 54, 0.96) 0%, rgba(10, 26, 62, 0.7) 100%);
    box-shadow: var(--shadow-soft);
  }
.sponsorTier::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, rgba(237, 140, 95, 0.95), rgba(166, 23, 87, 0.82));
  }
.sponsorTier--platinum {
    padding: 32px;
    border-color: rgba(255, 255, 255, 0.18);
    background:
      radial-gradient(circle at 84% 8%, rgba(224, 237, 255, 0.28), transparent 30%),
      linear-gradient(180deg, rgba(12, 29, 70, 0.98) 0%, rgba(8, 20, 50, 0.88) 100%);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
  }
.sponsorTier--gold {
    background:
      radial-gradient(circle at 84% 8%, rgba(237, 140, 95, 0.2), transparent 30%),
      linear-gradient(180deg, rgba(12, 29, 70, 0.98) 0%, rgba(8, 20, 50, 0.78) 100%);
  }
.sponsorTier--gold::before {
    display: none;
  }
.sponsorTier--silver {
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible !important;
  }
.sponsorTier--silver::before {
    display: none;
  }
.sponsorTier__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
  }
.sponsorTier__titleGroup {
    display: flex;
    align-items: center;
    gap: 16px;
  }
.sponsorTier__mark {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: var(--radius-md);
    color: #fff;
    background: linear-gradient(17deg, rgb(166, 23, 87) 0, rgb(237, 140, 95) 58.99%);
    box-shadow: 0 16px 36px rgba(166, 23, 87, 0.2);
  }
.sponsorTier__mark svg {
    display: block;
    width: 25px;
    height: 25px;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
  }
.sponsorTier--platinum .sponsorTier__mark {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    border-radius: var(--radius-lg);
  }
.sponsorTier--platinum .sponsorTier__mark svg {
    width: 31px;
    height: 31px;
  }
.sponsorTier--platinum .sponsorTier__mark {
    color: #091636;
    background: linear-gradient(135deg, #ffffff 0%, #c7d5ee 100%);
  }
.sponsorTier--silver .sponsorTier__mark {
    color: #091636;
    background: linear-gradient(135deg, #eef4ff 0%, #9fb0ca 100%);
  }
.sponsorTier__kicker {
    margin: 0 0 4px;
    color: var(--muted-strong);
    font-size: 0.75rem;
    font-weight:  800;
    letter-spacing:  0.16em;
    text-transform: uppercase;
    display: none;
  }
.sponsorTier__title {
    margin: 0;
    color: var(--text);
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height:  1;
    letter-spacing: -0.04em;
  }
.sponsorTier--platinum .sponsorTier__title {
    font-size: clamp(1.7rem, 4vw, 2.8rem);
  }
.sponsorTier--silver .sponsorTier__title {
    color: var(--muted-strong);
    font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  }
.sponsorTier__count {
    display: none;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
    color: var(--muted-strong);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
  }
.sponsorLogoGrid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
.sponsorLogoGrid--gold {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
.sponsorTier--platinum .sponsorLogoGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
.sponsorTier--silver .sponsorLogoGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
.sponsorLogoCard {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 104px;
    padding: 16px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.045);
    color: var(--text);
    text-align: center;
    font-weight:  800;
    line-height:  1.15;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  }
.sponsorLogoCard:hover,
  .sponsorLogoCard:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(237, 140, 95, 0.34);
    background: rgba(255, 255, 255, 0.07);
  }
.sponsorLogoCard img {
    display: block;
    max-width: 190px;
    max-height: 54px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: brightness(0) invert(1) grayscale(1);
  }
.sponsorLogoCard span {
    display: block;
  }
.sponsorTier--platinum .sponsorLogoCard {
    min-height: 138px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.13);
  }
.sponsorTier--platinum .sponsorLogoCard img {
    max-width: 235px;
    max-height: 70px;
  }
.sponsorTier--silver .sponsorLogoCard:hover,
  .sponsorTier--silver .sponsorLogoCard:focus-visible {
    transform: none;
    border-color: transparent;
    background: transparent;
  }
.sponsorTier--silver .sponsorLogoCard img {
    max-width: 170px;
    max-height: 48px;
    opacity: 0.86;
  }
.sponsorLogoCard img + span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
.heroMiniStats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

/* ---- page components: why-attend/index.html ---- */
.heroTitle--mixed small {
    display: block;
    margin-bottom: 8px;
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    line-height:  1.15;
    font-weight:  700;
    letter-spacing: 0.02em;
    text-transform: none;
  }

/* ---- page components: sponsors/index.html ---- */
.heroTitle--mixed small {
    display: block;
    margin-bottom: 4px;
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    line-height:  1.15;
    font-weight:  700;
    letter-spacing: 0.02em;
    text-transform: none;
  }
.newsletterEmbed .quick_form_5_css {
    width: 100% !important;
    max-width: 820px !important;
    border-radius: var(--radius-lg) !important;
    background: rgba(10, 26, 62, 0.72) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    font-family: "Montserrat", sans-serif !important;
  }
.sponsorLevelCard::before {
    content: "";
    position: absolute;
    inset: -80px -80px auto auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(237, 140, 95, 0.22), rgba(237, 140, 95, 0) 65%);
    pointer-events: none;
  }
.levelNoteCard {
    margin-top: 16px;
    padding: 16px 20px;
    border-radius: var(--radius-md);
    border: 1px dashed rgba(237, 140, 95, 0.42);
    color: var(--muted-strong);
    line-height:  1.5;
    text-align: center;
  }
.sponsorAccordion details {
    border-radius: var(--radius-md);
    padding: 16px 16px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(9, 22, 54, 0.96) 0%, rgba(10, 26, 62, 0.66) 100%);
    box-shadow: var(--shadow-soft);
  }
.sponsorAccordion summary {
    cursor: pointer;
    color: var(--text);
    font-weight: 600;
    line-height:  1.3;
  }

/* ---- page components: registration/index.html ---- */
.registrationHero {
      position: relative;
      overflow: hidden;
      padding: 148px 0 52px;
      isolation: isolate;
    }
.registrationHero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 14% 14%, rgba(237, 140, 95, 0.14), transparent 32%),
        radial-gradient(circle at 84% 10%, rgba(87, 125, 255, 0.14), transparent 28%),
        linear-gradient(180deg, rgba(2, 10, 33, 0.72) 0%, rgba(3, 13, 42, 0.32) 44%, rgba(3, 13, 42, 0) 100%);
      z-index: -2;
    }
.registrationHero::after {
      content: "";
      position: absolute;
      inset: 0;
      background: url('/assets/images/PNG/eagle_1.png') no-repeat right -5vw bottom 0;
      background-size: min(66vw, 1680px) auto;
      opacity: 0.16;
      z-index: -1;
      pointer-events: none;
    }
.registrationHero__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
      gap: 28px;
      align-items: start;
    }
.registrationHero__content {
      max-width: 760px;
    }
.registrationHero__panel {
      position: relative;
      padding: 24px;
      border-radius: var(--radius-xl);
      background: linear-gradient(180deg, rgba(7, 18, 45, 0.96) 0%, rgba(8, 20, 51, 0.6) 100%);
      border: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: var(--shadow);
    }
.registrationHero__panelTitle {
      margin: 0 0 16px;
      font-size: 1.1rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
.registrationHero__list {
      display: grid;
      gap: 16px;
    }
.registrationHero__item {
      display: grid;
      grid-template-columns: 110px minmax(0, 1fr);
      gap: 12px;
      padding-top: 16px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
.registrationHero__item:first-child {
      padding-top: 0;
      border-top: 0;
    }
.registrationHero__label {
      color: var(--muted-strong);
      opacity: .45;
      font-size: 0.68rem;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }
.registrationHero__value {
      color: var(--muted-strong);
      line-height:  1.5;
      font-size: 0.9rem;
    }
.registrationEmbedSection {
      padding: 24px 0 88px;
    }
.registrationEmbedShell {
      padding: 16px;
      border-radius: var(--radius-xl);
      border: 1px solid rgba(255, 255, 255, 0.1);
      background:
        radial-gradient(circle at 86% 12%, rgba(87, 125, 255, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(10, 26, 62, 0.96) 0%, rgba(8, 20, 50, 0.78) 100%);
      box-shadow: var(--shadow-soft);
    }
.registrationEmbedFrame {
      min-height: 960px;
      overflow: hidden;
      border-radius: var(--radius-xl);
      border: 1px solid rgba(255, 255, 255, 0.08);
      background: rgba(255, 255, 255, 0.03);
    }
.registrationEmbedFrame [data-cvt-embed] {
      min-height: 960px;
    }
.registrationNote {
      margin: 16px auto 0;
      max-width: 840px;
      text-align: center;
      color: rgba(196, 210, 242, 0.74);
      font-size: 0.9rem;
      line-height: 1.5;
    }
.registrationHero__item--options {
      grid-template-columns: 1fr;
      gap: 8px;
    }
.registrationHero__item--options .registrationHero__label {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
.registrationTicketIntro {
      margin: 0;
      color: rgba(196, 210, 242, 0.74);
      font-size: 0.82rem;
      line-height:  1.5;
    }
.registrationTicketList {
      display: grid;
      gap: 8px;
      margin: 12px 0 0;
    }
.registrationTicket {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      padding: 8px 16px 16px 16px;
      border-radius: var(--radius-md);
      border: 1px solid rgba(255, 255, 255, 0.08);
      background:
        radial-gradient(circle at 0% 0%, rgba(237, 140, 95, 0.12), transparent 38%),
        rgba(255, 255, 255, 0.04);
      overflow: hidden;
    }
.registrationTicket::before {
      content: "";
      position: absolute;
      inset: 0;
      width: 3px;
      border-radius: 999px;
      background: linear-gradient(180deg, var(--accent), var(--accent-2));
    }
.registrationTicket__content,
    .registrationTicket__priceBlock {
      position: relative;
    }
.registrationTicket__eyebrow {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      min-height: 24px;
      margin-bottom: 8px;
      margin-left: -2px;
      padding: 0 8px;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, 0.08);
      background: rgba(255, 255, 255, 0.05);
      color: rgba(196, 210, 242, 0.78);
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      line-height: 1;
      text-transform: uppercase;
    }
.registrationTicket__title {
      margin: 0;
      color: var(--text);
      font-size: 0.9rem;
      font-weight: 800;
      line-height:  1.15;
    }
.registrationTicket__meta {
      margin: 4px 0 0;
      color: rgba(196, 210, 242, 0.68);
      font-size: 0.75rem;
      line-height:  1.3;
    }
.registrationTicket__priceBlock {
      min-width: 86px;
      text-align: right;
    }
.registrationTicket__price {
      display: block;
      color: transparent;
      background: linear-gradient(17deg, rgb(166, 23, 87) 0, rgb(237, 140, 95) 58.99%) padding-box text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      filter: contrast(110%) brightness(112%) saturate(112%);
      font-size: clamp(1.25rem, 2.6vw, 1.7rem);
      font-weight: 800;
      letter-spacing: -0.04em;
      line-height: 1;
      white-space: nowrap;
    }
.registrationTicket__priceNote {
      display: block;
      margin-top: 4px;
      color: rgba(196, 210, 242, 0.54);
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      white-space: nowrap;
    }
.registrationTicketFootnote {
      margin: 12px 0 0;
      color: rgba(196, 210, 242, 0.58);
      font-size: 0.75rem;
      line-height:  1.5;
    }

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

/* ---- responsive: index.html ---- */
@media (max-width: 1080px) {
    .resourceGrid,
    .sponsorLevelGrid,
    .alacarteGrid,
    .imageCardGrid,
    .miniStatGrid,
    .sponsorLogoGrid,
    .sponsorLogoGrid--gold {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sponsorTier--platinum .sponsorLogoGrid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sponsorTier--platinum .sponsorLogoCard {
      min-height: 122px;
      padding: 24px;
    }

    .sponsorTier--platinum .sponsorLogoCard img {
      max-width: 210px;
      max-height: 62px;
    }

    .pageMediaFrame--venue {
      height: 420px;
    }
  }
@media (max-width: 700px) {
    .resourceGrid,
    .sponsorLevelGrid,
    .alacarteGrid,
    .imageCardGrid,
    .sponsorAccordion,
    .miniStatGrid,
    .sponsorLogoGrid,
    .sponsorLogoGrid--gold {
      grid-template-columns: 1fr;
    }

    .pageMediaFrame--venue {
      height: 300px;
      min-height: 260px;
    }

    .sponsorLevelTop {
      flex-direction: column;
      align-items: flex-start;
    }

    .priceText {
      font-size: 1.45rem;
    }

    .sponsorTier {
      padding: 24px 16px;
    }

    .sponsorTier--platinum {
      padding: 24px 20px;
    }

    /* Added for platinum logo grid on mobile */

    .sponsorTier--platinum .sponsorLogoGrid {
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .sponsorTier--platinum .sponsorLogoCard {
      min-height: 104px;
      padding: 20px;
    }

    .sponsorTier--platinum .sponsorLogoCard img {
      max-width: min(220px, 82vw);
      max-height: 58px;
    }

    .sponsorTier--silver {
      padding: 16px 0 0;
    }

    .sponsorTier__header {
      align-items: flex-start;
      flex-direction: column;
    }

    .sponsorLogoCard {
      min-height: 92px;
    }
  }

/* ---- responsive: why-attend/index.html ---- */
@media (max-width: 1080px) {
    .resourceGrid,
    .sponsorLevelGrid,
    .alacarteGrid,
    .imageCardGrid,
    .miniStatGrid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pageMediaFrame--venue {
      height: 420px;
    }
  }
@media (max-width: 700px) {
    .resourceGrid,
    .sponsorLevelGrid,
    .alacarteGrid,
    .imageCardGrid,
    .sponsorAccordion,
    .miniStatGrid {
      grid-template-columns: 1fr;
    }

    .pageMediaFrame--venue {
      height: 300px;
      min-height: 260px;
    }

    .sponsorLevelTop {
      flex-direction: column;
      align-items: flex-start;
    }

    .priceText {
      font-size: 1.45rem;
    }
  }

/* ---- responsive: sponsors/index.html ---- */

/* ---- responsive: registration/index.html ---- */
@media (max-width: 1080px) {
      .registrationHero__grid {
        grid-template-columns: 1fr;
      }

      .registrationHero::after {
        background-size: min(1200px, 1700px) auto;
        opacity: 0.1;
        background-position: center top;
      }
    }
@media (max-width: 860px) {
      .registrationHero {
        padding-top: 128px;
        padding-bottom: 40px;
      }

      .registrationEmbedSection {
        padding-bottom: 72px;
      }
    }
@media (max-width: 640px) {
      .registrationHero__panel,
      .registrationEmbedShell {
        padding: 24px;
        border-radius: var(--radius-xl);
      }

      .registrationHero__item {
        grid-template-columns: 1fr;
      }

      .registrationEmbedShell {
        padding: 12px;
      }

      .registrationEmbedFrame {
        min-height: 820px;
        border-radius: var(--radius-lg);
      }

      .registrationEmbedFrame [data-cvt-embed] {
        min-height: 820px;
      }
    }

/* =====================================================================
   Refinement pass
   Same brand, same layout, less noise. The accent gradient was doing
   fourteen jobs and had stopped signalling anything; the coloured glows and
   the saturated background blooms were the loudest thing on a page that is
   trying to be taken seriously by IT professionals.
   ===================================================================== */

/* --- Background: blooms drop to a whisper ----------------------------- */

body {
  background:
    radial-gradient(circle at 12% 8%, rgba(166, 23, 87, 0.07), transparent 32%),
    radial-gradient(circle at 88% 0%, rgba(87, 125, 255, 0.06), transparent 28%),
    linear-gradient(180deg, #020a21 0%, #030d2a 24%, #05112d 100%);
}

/* --- Shadows: depth, not glow ----------------------------------------- */

:root {
  --shadow: 0 1px 2px rgba(2, 6, 20, 0.4), 0 16px 40px rgba(2, 6, 20, 0.34);
  --shadow-soft: 0 1px 2px rgba(2, 6, 20, 0.32), 0 10px 24px rgba(2, 6, 20, 0.24);
}

.button--primary {
  box-shadow: 0 1px 2px rgba(2, 6, 20, 0.4), 0 8px 20px rgba(2, 6, 20, 0.28);
}

.siteHeader__link:hover,
.siteHeader__link:focus-visible {
  box-shadow: 0 1px 2px rgba(2, 6, 20, 0.35);
}

/* --- The gradient earns its place in two places only ------------------ */
/* It stays on the hero's year and on the primary action. Everywhere else it
   becomes a flat accent, which reads as deliberate rather than decorative. */

.sectionEyebrow {
  display: block;
  width: auto;
  background: none;
  -webkit-text-fill-color: currentColor;
  background-clip: border-box;
  filter: none;
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.sectionHeader--left .sectionEyebrow {
  margin-left: 0;
}

.heroPanel__badge,
.priceText,
.registrationTicket__price {
  background: none;
  -webkit-text-fill-color: currentColor;
  background-clip: border-box;
  filter: none;
  color: var(--accent);
  box-shadow: none;
}

.initiativeNumber,
.sponsorTier__mark {
  background: rgba(237, 140, 95, 0.11);
  color: var(--accent);
  box-shadow: none;
}

.sponsorTier--platinum .sponsorTier__mark,
.sponsorTier--silver .sponsorTier__mark {
  background: rgba(224, 237, 255, 0.12);
  color: #dfe8f8;
}

.sponsorTier::before,
.sponsorLevelCard::before {
  display: none;
}

/* --- Surfaces: one tint and one hairline ------------------------------ */
/* A gradient fill, a border and a shadow were all doing the same job, which
   left every card edge slightly mushy. */

.statCard,
.storyCard,
.featureCard,
.initiativeCard,
.quoteCard,
.keynoteCard,
.impactMetric,
.mentorCard,
.inclusionCard,
.inclusionPanel,
.resourceCard,
.imageFeatureCard,
.sponsorPackageCard,
.sponsorLevelCard,
.sponsorTier,
.pageMediaFrame,
.proseShell,
.registrationTicket,
.galleryShell,
.heroPanel,
.registrationHero__panel,
.ctaCard {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--line);
  box-shadow: none;
}

.sponsorTier--platinum {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
}

.sponsorTier--silver {
  background: transparent;
  border: 0;
}

/* These two sit directly over the hero illustration, so they need a solid
   ground rather than a translucent tint - otherwise the eagle reads through
   the text. */
.heroPanel,
.registrationHero__panel {
  background: rgba(7, 18, 44, 0.95);
  box-shadow: var(--shadow-soft);
}

.quickFact,
.logoTile,
.sponsorLogoCard,
.momentPill {
  background: rgba(255, 255, 255, 0.035);
  border-color: var(--line);
}

/* --- Headings: a touch more air --------------------------------------- */

.sectionTitle {
  line-height: 1.15;
}

/* --- The eagle: a signature once, wallpaper eleven times --------------- */
/* Kept at full strength on the homepage hero. On the interior pages the same
   illustration behind every headline is what makes the site read as cartoony,
   so there it drops to texture. */

.yrHero::after,
.legalHero::after {
  opacity: 0.06;
}

/* The homepage keeps the eagle, but the hero now carries a partner strip and an
   icon-led panel, so it is shifted clear of the copy and taken down enough that
   the sponsor logos read cleanly. Raise this one number to bring it back. */
body[data-page="home"] .yrHero::after {
  opacity: 0.12;
  background-position: right -8vw bottom -2vw;
  background-size: min(56vw, 1200px) auto;
}

/* --- Scroll rail: a position indicator, not a graphic ----------------- */

.wpnSectionNav {
  opacity: 0.6;
  transition: opacity 0.2s ease;
}

.wpnSectionNav:hover,
.wpnSectionNav:focus-within {
  opacity: 1;
}

/* --- Gradient text on card titles and labels reads as decoration ------- */

.storyCard__title,
.momentPill__label,
.keynoteTag,
.featureCard__kicker,
.initiativeMeta,
.statCard__label {
  background: none;
  -webkit-text-fill-color: currentColor;
  background-clip: border-box;
  filter: none;
}

.storyCard__title,
.momentPill__label {
  color: var(--text);
}

.keynoteTag,
.featureCard__kicker,
.initiativeMeta {
  color: var(--accent);
}

/* The tier marks kept a magenta halo from the page sheet. */
.sponsorTier__mark {
  box-shadow: none;
}

/* =====================================================================
   Panel rows, quick facts and the hero partner strip
   Structure borrowed from the reference: an icon column, a coloured label,
   then the value. Brand colours and logo unchanged.
   ===================================================================== */

/* --- Icon-led panel rows ---------------------------------------------- */
/* The disc and the glyph are one element. They were two - an absolutely
   positioned disc plus a masked pseudo-element - and because the row carries a
   top padding and border, the two boxes started at different origins and the
   glyph sat low and left inside its circle. Drawing both on ::before removes
   the whole class of bug: the icon is centred in its own box by definition. */

.heroPanel__item,
.registrationHero__item {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  column-gap: 16px;
  row-gap: 4px;
}

.heroPanel__item::before,
.registrationHero__item::before {
  content: "";
  grid-row: 1 / span 2;
  align-self: start;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background-color: rgba(237, 140, 95, 0.13);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px 20px;
  border: 1px solid rgba(237, 140, 95, 0.32);
}

.heroPanel__label,
.registrationHero__label {
  grid-column: 2;
  color: var(--accent);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.heroPanel__value,
.registrationHero__value {
  grid-column: 2;
}

.heroPanel__item[data-icon="calendar"]::before,
.registrationHero__item[data-icon="calendar"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M8%203v4M16%203v4%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="location"]::before,
.registrationHero__item[data-icon="location"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-5.4%207-11a7%207%200%201%200-14%200c0%205.6%207%2011%207%2011z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.6%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="people"]::before,
.registrationHero__item[data-icon="people"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223.2%22%2F%3E%3Cpath%20d%3D%22M2.5%2020a6.5%206.5%200%200%201%2013%200%22%2F%3E%3Cpath%20d%3D%22M16.5%205.4a3.2%203.2%200%200%201%200%205.2M18%2014.6a6.5%206.5%200%200%201%203.5%205.4%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="ticket"]::before,
.registrationHero__item[data-icon="ticket"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%209.5V7a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202v2.5a2.5%202.5%200%200%200%200%205V17a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-2.5a2.5%202.5%200%200%200%200-5z%22%2F%3E%3Cpath%20d%3D%22M14%205v14%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="mail"]::before,
.registrationHero__item[data-icon="mail"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3.6%206.5%208.4%206%208.4-6%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="link"]::before,
.registrationHero__item[data-icon="link"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.5%2013.5a4%204%200%200%200%205.7%200l2.6-2.6a4%204%200%200%200-5.7-5.7l-1.5%201.5%22%2F%3E%3Cpath%20d%3D%22M13.5%2010.5a4%204%200%200%200-5.7%200l-2.6%202.6a4%204%200%201%200%205.7%205.7l1.5-1.5%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="building"]::before,
.registrationHero__item[data-icon="building"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2021V6a2%202%200%200%201%202-2h7a2%202%200%200%201%202%202v15%22%2F%3E%3Cpath%20d%3D%22M15%2010h3a2%202%200%200%201%202%202v9M2%2021h20M8%208h3M8%2012h3M8%2016h3%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="shield"]::before,
.registrationHero__item[data-icon="shield"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.5%2019%206v5.4c0%204.2-2.8%207.5-7%208.8-4.2-1.3-7-4.6-7-8.8V6z%22%2F%3E%3Cpath%20d%3D%22m9%2012.2%202.1%202.1%204.3-4.6%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="docs"]::before,
.registrationHero__item[data-icon="docs"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203v5h5%22%2F%3E%3Cpath%20d%3D%22M19%208v11a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h7z%22%2F%3E%3Cpath%20d%3D%22M9%2013h6M9%2017h4%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="chart"]::before,
.registrationHero__item[data-icon="chart"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020V10M10%2020V4M16%2020v-7M22%2020H2%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="heart"]::before,
.registrationHero__item[data-icon="heart"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020s-7-4.6-7-9.5A3.9%203.9%200%200%201%2012%208a3.9%203.9%200%200%201%207%202.5C19%2015.4%2012%2020%2012%2020z%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="spark"]::before,
.registrationHero__item[data-icon="spark"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v4M12%2017v4M3%2012h4M17%2012h4M5.6%205.6l2.8%202.8M15.6%2015.6l2.8%202.8M18.4%205.6l-2.8%202.8M8.4%2015.6l-2.8%202.8%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="mic"]::before,
.registrationHero__item[data-icon="mic"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%226%22%20height%3D%2211%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M5.5%2011.5a6.5%206.5%200%200%200%2013%200M12%2018v3%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="award"]::before,
.registrationHero__item[data-icon="award"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229%22%20r%3D%225.5%22%2F%3E%3Cpath%20d%3D%22m8.5%2014%201%206%202.5-1.7L14.5%2020l1-6%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="arrow"]::before,
.registrationHero__item[data-icon="arrow"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E"); }
.heroPanel__item[data-icon="dot"]::before,
.registrationHero__item[data-icon="dot"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ed8c5f%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E"); }

@media (max-width: 480px) {
  .heroPanel__item,
  .registrationHero__item {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 12px;
  }

  .heroPanel__item::before,
  .registrationHero__item::before {
    width: 32px;
    height: 32px;
    background-size: 17px 17px;
  }
}

/* --- Quick facts: plain inline items, not chips ------------------------ */

.quickFact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 0;
  padding: 0;
  border-radius: 999px;
  border: 0;
  color: var(--muted-strong);
  box-shadow: none;
  background: none !important;
}

.quickFacts {
  gap: 20px 32px;
  margin-top: 28px;
}

.quickFact:hover {
  color: var(--text);
}

.quickFact:focus-visible {
  outline: 2px solid rgba(237, 140, 95, 0.95);
  outline-offset: 4px;
  border-radius: var(--radius-xs);
}

.quickFact span {
  font-size: 0.9rem;
  line-height: 1.3;
}

/* --- Partner strip in the hero ---------------------------------------- */

.heroPartners {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.heroPartners__label {
  margin: 0 0 20px;
  color: rgba(196, 210, 242, 0.6);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.heroPartners__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px 44px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.heroPartners__row li {
  display: flex;
  align-items: center;
}

.heroPartners__row a {
  display: inline-flex;
  align-items: center;
  opacity: 1;
  transition: opacity 0.18s ease;
}

.heroPartners__row a:hover,
.heroPartners__row a:focus-visible {
  opacity: 1;
}

.heroPartners__row a:focus-visible {
  outline: 2px solid rgba(237, 140, 95, 0.95);
  outline-offset: 6px;
  border-radius: var(--radius-xs);
}

.heroPartners__row img {
  width: auto;
  height: 26px;
  max-width: 120px;
  object-fit: contain;
  filter: brightness(0) invert(1) grayscale(1);
}

/* Robopack's lockup stacks a wordmark over a strapline, so it needs more
   vertical room than the single-line marks beside it to read at the same size. */
.heroPartners__row img.is-tall {
  height: 60px;
  max-width: 150px;
}

@media (max-width: 640px) {
  .heroPartners__row {
    gap: 24px 32px;
  }

  .heroPartners__row img {
    height: 22px;
    max-width: 104px;
  }

  .heroPartners__row img.is-tall {
    height: 48px;
    max-width: 128px;
  }
}

/* --- Hero headline and lead ------------------------------------------- */
/* The organisation name reads as a headline in its own right rather than as a
   faint superscript, matching the reference's two-line lockup. */

.heroTitle--mixed small {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
  font-size: clamp(1.45rem, 2vw, 2.4rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.heroLead--intro {
  margin-bottom: 0;
  color: var(--text);
  font-size: 1.1rem;
  font-weight: 600;
}

.heroLead--intro + .heroLead {
  margin-top: 12px;
}

.heroPartners__more {
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.heroPartners__more:hover {
  color: #f6ab82;
}

.heroPartners__more:focus-visible {
  outline: 2px solid rgba(237, 140, 95, 0.95);
  outline-offset: 4px;
  border-radius: var(--radius-xs);
}
