/**
 * CommHIT26 sponsors (template-parts/sponsors.php): thank-you section before the Sponsorship band.
 * Mock: mocks/sponsors-2026-10-26.
 */
.ch-c26-spons{background:#fff;padding:clamp(80px,9vw,128px) 0}
.ch-c26-spons .ch-split{margin-bottom:clamp(40px,5vw,64px)}
.ch-spons-tier{margin-top:clamp(40px,4.4vw,60px)}
.ch-spons-tier__k{display:flex;margin-top:0;align-items:center;gap:14px;margin:0 0 20px;font:600 11.5px/1.2 var(--ch-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ch-teal)}
.ch-spons-tier__k::after{content:"";flex:1;height:1px;background:var(--ch-rule)}
.ch-spons-tier__k b{font-weight:600;color:var(--ch-ink-2);letter-spacing:.1em}
/* logo tile (real logo, or the name as a wordmark until the logo arrives) */
.ch-spons-logo{display:grid;place-items:center;background:#fff;border:1px solid var(--ch-rule);border-radius:16px;padding:22px;transition:border-color .4s,box-shadow .4s var(--ch-ease),transform .4s var(--ch-ease)}
.ch-spons-logo img{max-width:100%;max-height:100%;object-fit:contain}
.ch-spons-logo__word{font:400 clamp(18px,1.6vw,22px)/1.15 var(--ch-display);color:var(--ch-ink);text-align:center;letter-spacing:-.01em;text-wrap:balance}
/* peak performance partner: one wide card */
.ch-spons-peak{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(22px,2.6vw,32px);border-radius:24px;background:linear-gradient(135deg,#fffdf4,#fff 55%);border:1px solid rgba(209,156,40,.45);box-shadow:0 30px 70px -45px rgba(160,110,10,.45)}
.ch-spons-peak .ch-spons-logo{aspect-ratio:16/9;border-color:rgba(209,156,40,.3);padding:40px}
.ch-spons-peak .ch-spons-logo__word{font-size:clamp(34px,4vw,52px)}
.ch-spons-peak h4{margin:0 0 10px;font:400 clamp(26px,2.4vw,34px)/1.15 var(--ch-display);color:var(--ch-ink)}
.ch-spons-peak .ch-spons-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:7px 14px;border-radius:999px;background:rgba(209,156,40,.12);color:#8a6410;font:600 10.5px/1 var(--ch-mono);letter-spacing:.14em;text-transform:uppercase}
.ch-spons-peak .ch-spons-badge svg{width:13px;height:13px}
/* community wellness: cards */
.ch-spons-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ch-spons-card{display:flex;flex-direction:column;padding:16px 16px 20px;border-radius:20px;background:var(--ch-mist);border:1px solid transparent;transition:border-color .4s,transform .4s var(--ch-ease),box-shadow .4s var(--ch-ease)}
.ch-spons-card:hover{transform:translateY(-3px);border-color:var(--ch-rule);box-shadow:0 24px 50px -32px rgba(20,32,58,.35)}
.ch-spons-card .ch-spons-logo{aspect-ratio:2/1}
.ch-spons-card h4{margin:18px 4px 6px;font:400 19px/1.25 var(--ch-display);color:var(--ch-ink)}
.ch-spons-desc{margin:0 4px;font-size:15px;line-height:1.6;color:var(--ch-ink-2)}
.ch-spons-desc.is-empty{color:#9aa6b2;font-style:italic}
.ch-spons-link{display:inline-flex;align-items:center;gap:6px;margin:14px 4px 0;font:600 14px/1 var(--ch-body);color:var(--ch-petrol);text-decoration:none}
.ch-spons-link svg{width:14px;height:14px;transition:transform .35s var(--ch-ease)}
.ch-spons-link:hover svg{transform:translate(2px,-2px)}
/* innovation & integration: logo row */
.ch-spons-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.ch-spons-row .ch-spons-logo{aspect-ratio:3/2;padding:18px}
.ch-spons-row .ch-spons-logo__word{font-size:16.5px}
.ch-spons-row a{text-decoration:none}
.ch-spons-row a:hover .ch-spons-logo{border-color:var(--ch-teal);box-shadow:0 18px 40px -28px rgba(20,32,58,.4);transform:translateY(-2px)}
.ch-spons-row p{margin:10px 2px 0;font-size:13px;line-height:1.4;color:var(--ch-ink-2)}
.ch-spons-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(40px,4.4vw,60px);padding-top:28px;border-top:1px solid var(--ch-rule)}
.ch-spons-cta p{margin:0;color:var(--ch-ink-2)}
@media (max-width:980px){.ch-spons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-spons-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.ch-spons-peak{grid-template-columns:minmax(0,1fr)}.ch-spons-grid{grid-template-columns:minmax(0,1fr)}.ch-spons-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* the logo sits inside the tile's fixed shape, whatever the image's own proportions */
.ch-spons-logo{position:relative;overflow:hidden;min-height:0}
.ch-spons-logo img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:calc(100% - 44px);max-height:calc(100% - 44px)}
.ch-spons-peak .ch-spons-logo img{max-width:calc(100% - 64px);max-height:calc(100% - 48px)}
.ch-spons-row .ch-spons-logo img{max-width:calc(100% - 32px);max-height:calc(100% - 28px)}
.ch-spons-peak > div > :last-child{margin-bottom:0}
.ch-c26-spons .ch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* preview-only notes */
.ch-spons-status{margin:0 0 8px;padding:14px 18px;border-radius:14px;background:#fff8e6;border:1px solid rgba(209,156,40,.4);color:#5c4410;font-size:15px;line-height:1.55}
.ch-spons-status a{color:#8a6410;font-weight:600}
.ch-spons-need{display:inline-block;margin:12px 4px 0;padding:4px 10px;border-radius:999px;background:#fff1d6;color:#8a5a00;font:600 10.5px/1.4 var(--ch-mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.ch-spons-need.is-ready{background:#e3f4ea;color:#1d6b3e}
.ch-spons-row .ch-spons-need{margin:8px 0 0}
/* optical sizing: wide marks get less height, square ones more, so every logo carries about the same
   weight (--lh and --ar come from inc/sponsors.php, measured from the file) */
.ch-spons-logo{container-type:size}
.ch-spons-logo img[style*="--lh"]{max-width:none;max-height:none;width:auto;height:min(calc(var(--lh) * 100cqh), calc(100cqw / var(--ar)))}
/* peak partner: the logo fills more of its tile (about 20% larger than with the 40px padding) */
.ch-spons-peak .ch-spons-logo{padding:24px}
/* exhibitors band (template-parts/exhibitors.php): between the Sponsorship band and Plan your visit.
   Mock: mocks/exhibitors-2026-10-26 */
.ch-band.ch-c26-exhib{background:var(--ch-mist);padding:clamp(72px,8vw,112px) 0}
.ch-c26-exhib .ch-split{margin-bottom:clamp(32px,4vw,48px);align-items:center}
.ch-c26-exhib .ch-h2{margin:0}
.ch-exhib-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:20px}
.ch-exhib-row .ch-spons-logo{aspect-ratio:5/2;border-color:transparent;box-shadow:0 18px 40px -30px rgba(20,32,58,.35)}
.ch-exhib-row a{text-decoration:none}
.ch-exhib-row a:hover .ch-spons-logo{box-shadow:0 22px 46px -28px rgba(20,32,58,.45);transform:translateY(-2px)}
.ch-exhib-row .ch-spons-need{margin:10px 0 0}
/* closing statement under the sponsor logos ("And many more"). Mock: mocks/sponsors-more-2026-10-27, option A */
.ch-spons-more{margin:clamp(48px,5vw,72px) auto 0;max-width:820px;text-align:center}
.ch-spons-more__k{display:flex;align-items:center;gap:16px;margin:0 0 18px;font:600 11.5px/1.2 var(--ch-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ch-teal)}
.ch-spons-more__k::before,.ch-spons-more__k::after{content:"";flex:1;height:1px;background:var(--ch-rule)}
.ch-spons-more__text{margin:0;font:400 clamp(20px,1.9vw,26px)/1.45 var(--ch-display);color:var(--ch-ink);letter-spacing:-.005em;text-wrap:balance}
.ch-c26-exhib .ch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:720px){.ch-exhib-row{grid-template-columns:minmax(0,1fr)}}
/* co-hosts as cards (mock: mocks/cohost-cards-2026-10-27): the sponsor card, white on the band's mist background */
.ch-cohost-card{background:#fff;border-color:transparent;box-shadow:0 22px 50px -38px rgba(20,32,58,.45)}
.ch-cohost-card:hover{border-color:var(--ch-rule)}
.ch-cohost-card .ch-spons-logo{border-color:var(--ch-rule)}
.ch-cohost-card .ch-spons-link{margin-top:auto;padding-top:14px}
.ch-cohost-card .ch-spons-need{align-self:flex-start}
