/* Sponsor hierarchy and brand features. Original sponsor artwork stays intact. */
.sponsor-showcase { border-block: 1px solid #ffffff26; }
.sponsor-showcase-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-bottom: 36px; }
.sponsor-showcase-heading > div { min-width: 0; }
.sponsor-showcase-heading h2 { max-width: 850px; }
.sponsor-showcase-heading > .text-link { flex: none; }
.sponsor-showcase .eyebrow, .sponsors-hero .eyebrow, .sponsor-directory.dark .eyebrow, .sponsor-invitation .eyebrow { color: var(--volt); }
.sponsor-tier-label { display: flex; align-items: center; gap: 18px; margin: 0 0 16px; font-size: 14px; line-height: 1.3; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #d4d5cf; }
.sponsor-tier-label::after { content: ""; height: 1px; flex: 1; background: #ffffff26; }
.sponsor-title-grid, .sponsor-small-grid { display: grid; list-style: none; margin: 0; padding: 0; gap: 18px; }
.sponsor-title-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sponsor-title-grid > li, .sponsor-small-grid > li, .sponsor-supporting-grid > div { min-width: 0; }
.sponsor-title-card { display: block; height: 100%; border: 1px solid #ffffff40; background: #000; text-decoration: none; color: var(--paper); transition: border-color .18s ease; }
.sponsor-title-card:hover { border-color: var(--volt); }
.sponsor-title-art { display: flex; align-items: center; justify-content: center; position: relative; isolation: isolate; min-width: 0; height: clamp(230px, 21vw, 300px); overflow: hidden; background: #000; }
.sponsor-title-art img { width: 100%; height: 100%; object-fit: contain; padding: 14px 20px; }
.sponsor-brand--soundqubed { --sponsor-accent: #71e900; }
.sponsor-brand--skyhigh { --sponsor-accent: #dadada; }
.sponsor-title-art::before, .sponsor-feature-art::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 50% 110%, color-mix(in srgb, var(--sponsor-accent) 20%, transparent), transparent 68%); }
.sponsor-title-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-top: 1px solid #ffffff26; background: #17191b; font-size: 24px; font-weight: 600; line-height: 1.15; }
.sponsor-outbound { color: var(--volt); font-family: Arial, sans-serif; font-size: 24px; }
.sponsor-supporting-grid { display: grid; grid-template-columns: 3fr 2fr; gap: 28px; margin-top: 30px; }
.sponsor-small-grid--event { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sponsor-small-grid--co { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sponsor-small-grid { gap: 12px; }
.sponsor-small-card { display: flex; flex-direction: column; height: 100%; border: 1px solid #ffffff30; color: var(--paper); text-decoration: none; background: #17191b; }
a.sponsor-small-card:hover { border-color: var(--volt); }
.sponsor-small-art { display: flex; align-items: center; justify-content: center; height: 134px; background: #fff; }
.sponsor-small-art img { width: 100%; height: 100%; object-fit: contain; padding: 14px; }
.sponsor-brand--galeforce .sponsor-small-art, .sponsor-brand--galeforce .sponsor-profile-art { background: #000; }
.sponsor-small-name { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1; padding: 12px 14px; font-size: 17px; font-weight: 600; line-height: 1.2; }
.sponsor-small-name > span { flex: none; color: var(--volt); }
.sponsors-hero { position: relative; isolation: isolate; overflow: hidden; padding-top: 76px; border-bottom: 1px solid #ffffff26; background: #101113; }
.sponsors-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: repeating-linear-gradient(115deg, transparent 0 80px, #ffffff06 80px 81px), radial-gradient(ellipse at 100% 0, #dfff001c, transparent 65%); }
.sponsors-hero-grid { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 56px; padding-bottom: 64px; }
.sponsors-hero h1 { font-size: clamp(68px, 7.8vw, 112px); }
.sponsors-hero-copy { max-width: 420px; margin-left: auto; padding-left: 32px; border-left: 3px solid var(--volt); }
.sponsors-hero-statement { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.05; font-weight: 700; text-transform: uppercase; }
.sponsors-hero-copy > p:not(.sponsors-hero-statement) { margin-top: 20px; font-size: 21px; color: #d4d5cf; }
.sponsors-hero-copy > .text-link { margin-top: 8px; }
.sponsors-hero-foot { border-top: 1px solid #ffffff26; }
.sponsors-hero-foot > .shell { display: flex; justify-content: space-between; gap: 12px 30px; padding-block: 18px; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }
.sponsors-hero-foot span:first-child { color: var(--volt); }
.sponsor-page-heading { margin-bottom: 32px; }
.sponsor-page-heading .eyebrow { margin-bottom: 12px; }
.sponsor-feature { display: grid; grid-template-columns: 1.1fr 1fr; border: 1px solid var(--line); background: #fff; }
.sponsor-feature + .sponsor-feature { margin-top: 30px; }
.sponsor-feature-art { display: flex; flex-direction: column; position: relative; isolation: isolate; min-width: 0; min-height: 400px; padding: 24px; color: var(--paper); background: #000; text-decoration: none; }
.sponsor-feature-badge { align-self: flex-start; padding: 6px 10px; border: 1px solid #ffffff55; color: var(--paper); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.sponsor-feature-art > img { width: 100%; height: 292px; object-fit: contain; margin-block: auto; padding-block: 20px; }
.sponsor-feature-art-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 16px; font-size: 15px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sponsor-feature-art-foot > span { color: var(--volt); font: 25px/1 Arial, sans-serif; }
.sponsor-feature-art:hover .sponsor-feature-art-foot { color: var(--volt); }
.sponsor-feature-copy { align-self: center; min-width: 0; padding: clamp(28px, 4vw, 60px); }
.sponsor-feature-copy .eyebrow { font-size: 12px; letter-spacing: .16em; }
.sponsor-feature-copy h3 { margin-bottom: 22px; font-size: clamp(38px, 4vw, 54px); font-weight: 700; line-height: .98; text-transform: uppercase; }
.sponsor-feature-copy p:not(.eyebrow) { font-size: 21px; max-width: 490px; }
.sponsor-feature-copy .text-link { margin-top: 10px; }
.sponsor-feature--reverse { grid-template-columns: 1fr 1.1fr; }
.sponsor-feature--reverse .sponsor-feature-art { order: 2; }
.sponsor-feature--reverse .sponsor-feature-copy { order: 1; }
.sponsor-profile-grid { display: grid; gap: 24px; }
.sponsor-profile-grid--event { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sponsor-profile-grid--co { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sponsor-profile { display: flex; min-width: 0; flex-direction: column; border: 1px solid #ffffff35; background: #17191b; }
.sponsor-profile-art { display: flex; align-items: center; justify-content: center; min-width: 0; height: 230px; padding: 28px; background: #fff; }
.sponsor-profile-art img { width: 100%; height: 100%; object-fit: contain; }
.sponsor-profile-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 26px; }
.sponsor-profile-copy h3 { font-size: 30px; line-height: 1.05; }
.sponsor-profile-copy p { margin-top: 14px; margin-bottom: 22px; }
.sponsor-profile-copy > .text-link { margin-top: auto; font-size: 18px; }
.sponsor-directory--co .sponsor-profile { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); border-color: var(--line); color: var(--ink); background: #fff; }
.sponsor-directory--co .sponsor-profile-art { height: auto; min-height: 250px; padding: 20px; }
.sponsor-directory--co .sponsor-profile-art img { height: 210px; }
.sponsor-directory--co .sponsor-profile-copy { padding: 28px; }
.sponsor-invitation { padding-block: 48px; border-top: 6px solid var(--volt); }
.sponsor-invitation > .shell { display: flex; align-items: center; justify-content: space-between; gap: 32px 48px; }
.sponsor-invitation h2 { max-width: 850px; font-size: clamp(34px, 3.6vw, 50px); }
.sponsor-invitation h2 + p { margin-top: 16px; color: #d4d5cf; }
.sponsor-invitation .button { flex: none; }
@media (max-width: 1050px) {
  .sponsor-showcase-heading { align-items: flex-start; flex-direction: column; }
  .sponsor-supporting-grid { grid-template-columns: 1fr; gap: 28px; }
  .sponsor-small-grid--co { max-width: 66.666%; }
  .sponsor-small-art { height: 156px; }
  .sponsor-profile-grid--event { gap: 16px; }
  .sponsor-profile-art { height: 195px; padding: 22px; }
  .sponsor-profile-copy { padding: 22px; }
  .sponsor-directory--co .sponsor-profile { display: flex; }
  .sponsor-directory--co .sponsor-profile-art { height: 230px; min-height: 0; }
  .sponsor-directory--co .sponsor-profile-art img { height: 100%; }
  .sponsor-feature-copy { padding: 30px; }
  .sponsor-feature-art { min-height: 400px; padding: 20px; }
  .sponsor-feature-art > img { height: 260px; }
  .sponsor-invitation > .shell { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
  .sponsors-hero { padding-top: 48px; }
  .sponsors-hero-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
  .sponsors-hero h1 { font-size: clamp(64px, 13vw, 90px); }
  .sponsors-hero-copy { max-width: 520px; margin-left: 0; padding-left: 22px; }
  .sponsors-hero-statement { font-size: 32px; }
  .sponsors-hero-statement br { display: none; }
  .sponsors-hero-copy > p:not(.sponsors-hero-statement) { margin-top: 14px; font-size: 20px; }
  .sponsors-hero-foot > .shell { flex-wrap: wrap; font-size: 12px; letter-spacing: .08em; }
  .sponsor-title-art { height: 220px; }
  .sponsor-title-art img { padding: 12px; }
  .sponsor-title-caption { padding: 16px; font-size: 21px; }
  .sponsor-feature, .sponsor-feature--reverse { grid-template-columns: 1fr; }
  .sponsor-feature--reverse .sponsor-feature-art, .sponsor-feature--reverse .sponsor-feature-copy { order: initial; }
  .sponsor-feature-art { min-height: 330px; }
  .sponsor-feature-art > img { height: 240px; }
  .sponsor-feature-copy { padding: 30px 24px; }
  .sponsor-feature-copy h3 { font-size: 42px; }
  .sponsor-profile-grid--event { grid-template-columns: 1fr; gap: 22px; }
  .sponsor-profile-grid--event .sponsor-profile { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
  .sponsor-profile-grid--event .sponsor-profile-art { height: auto; min-height: 230px; padding: 22px; }
  .sponsor-profile-grid--event .sponsor-profile-art img { height: 180px; }
  .sponsor-profile-grid--co { gap: 18px; }
  .sponsor-directory--co .sponsor-profile-copy { padding: 22px; }
}
@media (max-width: 540px) {
  .sponsor-showcase { padding-block: 40px; }
  .sponsor-showcase-heading { gap: 20px; margin-bottom: 28px; }
  .sponsor-showcase-heading h2 { font-size: 36px; }
  .sponsor-title-grid { grid-template-columns: 1fr; gap: 16px; }
  .sponsor-title-art { height: 246px; }
  .sponsor-title-caption { padding: 16px 20px; font-size: 23px; }
  .sponsor-small-grid--event { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sponsor-small-grid--event > li:last-child { grid-column: 1 / -1; width: calc((100% - 12px) / 2); justify-self: center; }
  .sponsor-small-grid--co { max-width: none; }
  .sponsor-small-art { height: 124px; }
  .sponsor-small-art img { padding: 10px; }
  .sponsor-small-name { padding: 12px; font-size: 16px; }
  .sponsor-tier-label { font-size: 13px; letter-spacing: .16em; }
  .sponsors-hero .eyebrow { letter-spacing: .16em; }
  .sponsor-feature-art { min-height: 302px; padding: 18px; }
  .sponsor-feature-art > img { height: 215px; padding-block: 14px; }
  .sponsor-feature-copy { padding: 28px 22px; }
  .sponsor-feature-copy .eyebrow { font-size: 11px; letter-spacing: .13em; }
  .sponsor-feature-copy h3 { font-size: 38px; }
  .sponsor-feature-copy p:not(.eyebrow) { font-size: 20px; }
  .sponsor-profile-grid--event .sponsor-profile { display: flex; }
  .sponsor-profile-grid--event .sponsor-profile-art { height: 216px; min-height: 0; padding: 22px; }
  .sponsor-profile-grid--event .sponsor-profile-art img { height: 100%; }
  .sponsor-profile-grid--co { grid-template-columns: 1fr; gap: 22px; }
  .sponsor-profile-copy { padding: 26px 22px; }
  .sponsor-profile-copy h3 { font-size: 30px; }
  .sponsor-directory--co .sponsor-profile-art { height: 216px; }
  .sponsor-invitation .button { width: 100%; padding-inline: 18px; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .sponsor-title-card { transition: none; }
}
