:root {
  --sponsor-navy-950: #071f38;
  --sponsor-navy-900: #0a2b4c;
  --sponsor-navy-800: #10456f;
  --sponsor-blue-600: #1477aa;
  --sponsor-green-700: #087946;
  --sponsor-green-600: #0d9657;
  --sponsor-green-100: #eaf7ef;
  --sponsor-sky-100: #edf7fb;
  --sponsor-gold-500: #d4a62f;
  --sponsor-ink: #183148;
  --sponsor-muted: #5b6d7d;
  --sponsor-line: #dbe6ed;
  --sponsor-cream: #fbfaf5;
  --sponsor-white: #fff;
  --sponsor-shadow: 0 24px 65px rgba(7, 31, 56, 0.12);
  --sponsor-radius-lg: 30px;
  --sponsor-radius-md: 20px;
  --sponsor-radius-sm: 13px;
}

html {
  scroll-behavior: smooth;
}

body.sponsor-page-body {
  margin: 0;
  color: var(--sponsor-ink);
  background: var(--sponsor-white);
}

.sponsor-page,
.sponsor-page * {
  box-sizing: border-box;
}

.sponsor-container {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.sponsor-section {
  padding: clamp(68px, 8vw, 112px) 0;
}

#packages,
.sponsor-package,
#prospectus {
  scroll-margin-top: 150px;
}

.sponsor-section--soft {
  background: linear-gradient(180deg, #f6fafc 0%, #fff 100%);
}

.sponsor-section--cream {
  background: var(--sponsor-cream);
}

.sponsor-eyebrow {
  margin: 0 0 12px;
  color: var(--sponsor-green-700);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sponsor-heading {
  max-width: 760px;
  margin-bottom: 38px;
}

.sponsor-heading--centre {
  margin-inline: auto;
  text-align: center;
}

.sponsor-heading h2,
.sponsor-split h2,
.sponsor-prospectus h2,
.sponsor-final h2 {
  margin: 0 0 16px;
  color: var(--sponsor-navy-950);
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
}

.sponsor-heading p,
.sponsor-split > div > p,
.sponsor-prospectus p,
.sponsor-final p {
  margin: 0;
  color: var(--sponsor-muted);
  font-size: clamp(1rem, 1.7vw, 1.16rem);
  line-height: 1.75;
}

.sponsor-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 21px;
  border: 2px solid var(--sponsor-green-600);
  border-radius: 999px;
  background: var(--sponsor-green-600);
  color: #fff;
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.sponsor-button:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(13, 150, 87, 0.22);
}

.sponsor-button:focus-visible,
.sponsor-link:focus-visible,
.sponsor-faq summary:focus-visible {
  outline: 3px solid var(--sponsor-gold-500);
  outline-offset: 4px;
}

.sponsor-button--navy {
  border-color: var(--sponsor-navy-900);
  background: var(--sponsor-navy-900);
}

.sponsor-button--outline {
  border-color: rgba(255, 255, 255, 0.72);
  background: transparent;
  color: #fff;
}

.sponsor-button--light {
  border-color: var(--sponsor-line);
  background: #fff;
  color: var(--sponsor-navy-900);
}

.sponsor-button--light:hover {
  color: var(--sponsor-navy-900);
  box-shadow: 0 14px 30px rgba(7, 31, 56, 0.12);
}

.sponsor-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(58px, 8vw, 105px) 0 clamp(82px, 10vw, 132px);
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(36, 180, 105, 0.28), transparent 34%),
    radial-gradient(circle at 10% 92%, rgba(39, 139, 187, 0.3), transparent 35%),
    linear-gradient(135deg, var(--sponsor-navy-950), var(--sponsor-navy-800));
}

.sponsor-hero::after {
  position: absolute;
  z-index: -1;
  right: -120px;
  bottom: -170px;
  width: 480px;
  height: 480px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
  box-shadow: 0 0 0 58px rgba(255, 255, 255, 0.035), 0 0 0 116px rgba(255, 255, 255, 0.025);
  content: "";
}

.sponsor-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 36px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
}

.sponsor-breadcrumb a {
  color: #fff;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.sponsor-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, 0.65fr);
  gap: clamp(32px, 6vw, 82px);
  align-items: center;
}

.sponsor-hero__kicker {
  margin: 0 0 15px;
  color: #81e2ae;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sponsor-hero h1 {
  max-width: 820px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(2.65rem, 6.6vw, 5.9rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.sponsor-hero__lead {
  max-width: 780px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.08rem, 2vw, 1.32rem);
  line-height: 1.7;
}

.sponsor-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.sponsor-hero__facts li {
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 0.91rem;
  font-weight: 750;
}

.sponsor-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.sponsor-hero__delegate {
  margin-top: 20px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
}

.sponsor-hero__delegate a {
  color: #fff;
  font-weight: 800;
  text-underline-offset: 4px;
}

.sponsor-hero__card {
  padding: clamp(25px, 4vw, 38px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--sponsor-radius-lg);
  background: rgba(255, 255, 255, 0.09);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(12px);
}

.sponsor-hero__card-label {
  display: block;
  margin-bottom: 10px;
  color: #81e2ae;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sponsor-hero__card h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.45rem, 3vw, 2.05rem);
  line-height: 1.12;
}

.sponsor-hero__card p {
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.65;
}

.sponsor-hero__document-meta {
  display: flex;
  gap: 10px;
  margin-top: 13px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.82rem;
}

.sponsor-answer {
  position: relative;
  z-index: 2;
  margin-top: -44px;
}

.sponsor-answer__card {
  display: grid;
  grid-template-columns: 0.85fr 2.15fr;
  gap: 28px;
  padding: clamp(26px, 5vw, 46px);
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-lg);
  background: #fff;
  box-shadow: var(--sponsor-shadow);
}

.sponsor-answer__card h2 {
  margin: 0;
  color: var(--sponsor-navy-950);
  font-size: clamp(1.4rem, 2.7vw, 2.15rem);
  line-height: 1.15;
}

.sponsor-answer__card p {
  margin: 0;
  color: var(--sponsor-muted);
  font-size: 1.04rem;
  line-height: 1.75;
}

.sponsor-benefits,
.sponsor-audience-grid,
.sponsor-package-grid,
.sponsor-opportunity-grid {
  display: grid;
  gap: 18px;
}

.sponsor-benefits {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sponsor-benefit {
  min-height: 190px;
  padding: 25px;
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-md);
  background: #fff;
  box-shadow: 0 12px 35px rgba(7, 31, 56, 0.055);
}

.sponsor-benefit__number {
  display: inline-grid;
  width: 42px;
  height: 42px;
  margin-bottom: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--sponsor-green-100);
  color: var(--sponsor-green-700);
  font-size: 0.82rem;
  font-weight: 900;
}

.sponsor-benefit h3,
.sponsor-audience-card h3,
.sponsor-package h3,
.sponsor-opportunity h3,
.sponsor-experience h3 {
  margin: 0 0 10px;
  color: var(--sponsor-navy-950);
  font-size: 1.12rem;
  line-height: 1.25;
}

.sponsor-benefit p,
.sponsor-audience-card p,
.sponsor-package p,
.sponsor-opportunity p,
.sponsor-experience p {
  margin: 0;
  color: var(--sponsor-muted);
  line-height: 1.65;
}

.sponsor-split {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: clamp(36px, 7vw, 90px);
  align-items: start;
}

.sponsor-audience-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sponsor-audience-grid--wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sponsor-audience-card {
  padding: 21px;
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-sm);
  background: #fff;
}

.sponsor-sector-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.sponsor-sector-list li {
  padding: 10px 13px;
  border: 1px solid #bed9ce;
  border-radius: 999px;
  background: #fff;
  color: var(--sponsor-navy-900);
  font-size: 0.88rem;
  font-weight: 750;
}

.sponsor-who-sponsor .sponsor-sector-list {
  max-width: 1080px;
  justify-content: center;
  margin-inline: auto;
}

.sponsor-package-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.sponsor-package {
  display: flex;
  grid-column: span 2;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-md);
  background: #fff;
  box-shadow: 0 18px 45px rgba(7, 31, 56, 0.08);
}

.sponsor-package:nth-child(4),
.sponsor-package:nth-child(5) {
  grid-column: span 3;
}

.sponsor-package__top {
  padding: 26px 26px 20px;
  background: linear-gradient(145deg, #f7fbfd, var(--sponsor-green-100));
}

.sponsor-package__type,
.sponsor-package__status {
  display: inline-block;
  color: var(--sponsor-green-700);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sponsor-package__price {
  margin: 8px 0 0;
  color: var(--sponsor-navy-950);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -0.04em;
}

.sponsor-package__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px;
}

.sponsor-package__status {
  margin: 22px 0 14px;
  color: var(--sponsor-muted);
  letter-spacing: 0.05em;
}

.sponsor-package .sponsor-button {
  width: 100%;
  margin-top: auto;
}

.sponsor-note {
  margin: 24px auto 0;
  padding: 14px 18px;
  border-left: 4px solid var(--sponsor-gold-500);
  border-radius: 8px;
  background: #fff9e8;
  color: #5b4a1b;
  font-size: 0.92rem;
  line-height: 1.6;
}

.sponsor-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-md);
  background: #fff;
  box-shadow: 0 16px 42px rgba(7, 31, 56, 0.06);
}

.sponsor-table {
  width: 100%;
  min-width: 800px;
  border-collapse: collapse;
}

.sponsor-table caption {
  padding: 16px 22px;
  color: var(--sponsor-muted);
  font-size: 0.88rem;
  text-align: left;
}

.sponsor-table th,
.sponsor-table td {
  padding: 17px 20px;
  border-top: 1px solid var(--sponsor-line);
  text-align: left;
  vertical-align: top;
}

.sponsor-table thead th {
  border-top: 0;
  background: var(--sponsor-navy-900);
  color: #fff;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sponsor-table tbody th {
  color: var(--sponsor-navy-950);
}

.sponsor-table tbody tr:nth-child(even) {
  background: #f8fbfc;
}

.sponsor-prospectus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  padding: clamp(34px, 6vw, 66px);
  border-radius: var(--sponsor-radius-lg);
  background: linear-gradient(135deg, var(--sponsor-navy-950), var(--sponsor-navy-800));
  color: #fff;
  box-shadow: var(--sponsor-shadow);
}

.sponsor-prospectus h2,
.sponsor-prospectus p {
  color: #fff;
}

.sponsor-prospectus p {
  color: rgba(255, 255, 255, 0.77);
}

.sponsor-prospectus__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.86rem;
}

.sponsor-prospectus__actions {
  display: grid;
  gap: 11px;
  min-width: 270px;
}

.sponsor-experience-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
}

.sponsor-experience {
  margin: 0;
  overflow: hidden;
  border-radius: var(--sponsor-radius-md);
  background: var(--sponsor-navy-950);
  color: #fff;
}

.sponsor-experience img {
  display: block;
  width: 100%;
  height: clamp(260px, 32vw, 440px);
  object-fit: cover;
}

.sponsor-experience figcaption {
  padding: 20px 22px 23px;
}

.sponsor-experience h3 {
  color: #fff;
}

.sponsor-experience p {
  color: rgba(255, 255, 255, 0.7);
}

.sponsor-opportunity-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sponsor-opportunity {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  padding: 25px;
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-md);
  background: #fff;
}

.sponsor-opportunity__tag {
  display: inline-block;
  width: fit-content;
  margin-bottom: 28px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--sponsor-sky-100);
  color: var(--sponsor-blue-600);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sponsor-link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: 18px;
  color: var(--sponsor-green-700);
  font-weight: 850;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.sponsor-custom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
  padding: clamp(30px, 5vw, 52px);
  border: 1px solid #b9dfc9;
  border-radius: var(--sponsor-radius-lg);
  background: linear-gradient(135deg, #fff, var(--sponsor-green-100));
}

.sponsor-custom h2 {
  margin: 0 0 12px;
  color: var(--sponsor-navy-950);
  font-size: clamp(1.75rem, 3.5vw, 2.85rem);
  letter-spacing: -0.03em;
}

.sponsor-custom p {
  max-width: 780px;
  margin: 0;
  color: var(--sponsor-muted);
  line-height: 1.7;
}

.sponsor-faq {
  display: grid;
  max-width: 920px;
  gap: 12px;
  margin-inline: auto;
}

.sponsor-faq details {
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-sm);
  background: #fff;
}

.sponsor-faq summary {
  position: relative;
  padding: 20px 52px 20px 21px;
  color: var(--sponsor-navy-950);
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.sponsor-faq summary::-webkit-details-marker {
  display: none;
}

.sponsor-faq summary::after {
  position: absolute;
  top: 50%;
  right: 21px;
  color: var(--sponsor-green-700);
  content: "+";
  font-size: 1.35rem;
  transform: translateY(-50%);
}

.sponsor-faq details[open] summary::after {
  content: "−";
}

.sponsor-faq details p {
  margin: 0;
  padding: 0 21px 21px;
  color: var(--sponsor-muted);
  line-height: 1.7;
}

.sponsor-delegate {
  display: flex;
  gap: 28px;
  align-items: center;
  justify-content: space-between;
  padding: 26px 30px;
  border: 1px solid var(--sponsor-line);
  border-radius: var(--sponsor-radius-md);
  background: #fff;
}

.sponsor-delegate h2 {
  margin: 0 0 6px;
  color: var(--sponsor-navy-950);
  font-size: 1.35rem;
}

.sponsor-delegate p {
  margin: 0;
  color: var(--sponsor-muted);
}

.sponsor-final {
  padding: clamp(62px, 9vw, 110px) 0;
  background: linear-gradient(135deg, var(--sponsor-green-700), var(--sponsor-navy-900));
  color: #fff;
}

.sponsor-final__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: center;
}

.sponsor-final h2,
.sponsor-final p {
  color: #fff;
}

.sponsor-final p {
  color: rgba(255, 255, 255, 0.78);
}

.sponsor-final__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  justify-content: flex-end;
}

@media (max-width: 1024px) {
  .sponsor-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sponsor-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sponsor-package,
  .sponsor-package:nth-child(4),
  .sponsor-package:nth-child(5) {
    grid-column: auto;
  }

  .sponsor-package:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .sponsor-hero__grid,
  .sponsor-answer__card,
  .sponsor-split,
  .sponsor-prospectus,
  .sponsor-experience-grid,
  .sponsor-custom,
  .sponsor-final__inner {
    grid-template-columns: 1fr;
  }

  .sponsor-answer__card {
    gap: 12px;
  }

  .sponsor-prospectus__actions {
    min-width: 0;
  }

  .sponsor-opportunity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sponsor-audience-grid--wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sponsor-final__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  .sponsor-container {
    width: min(100% - 28px, 1180px);
  }

  .sponsor-section {
    padding: 58px 0;
  }

  .sponsor-hero {
    padding-top: 42px;
  }

  .sponsor-hero h1 {
    font-size: clamp(2.5rem, 13vw, 4rem);
  }

  .sponsor-hero__actions,
  .sponsor-final__actions {
    display: grid;
  }

  .sponsor-button {
    width: 100%;
  }

  .sponsor-benefits,
  .sponsor-audience-grid,
  .sponsor-package-grid,
  .sponsor-opportunity-grid {
    grid-template-columns: 1fr;
  }

  .sponsor-package:last-child {
    grid-column: auto;
  }

  .sponsor-experience img {
    height: 250px;
  }

  .sponsor-delegate {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .sponsor-button {
    transition: none;
  }
}
