/* CommHIT25 recap page (page-commhit25-2.php). Builds on commhit.css (people grid, bio panel, film, facts) and gallery.css (gallery cards). */

/* the poster of the second film carries its own caption at the bottom: lift ours to the top */
.ch-c25-film:nth-child(2) .ch-film__copy{top:clamp(20px,2.4vw,32px);bottom:auto}
.ch-c25-film:nth-child(2) .ch-film__shade{background:linear-gradient(180deg,rgba(8,14,34,.72),rgba(8,14,34,.1) 55%)}

.ch-c25 .ch-band--white{padding-block:clamp(64px,7vw,104px)}
.ch-c25-intro{padding-top:clamp(110px,11vw,160px) !important}
.ch-c25-intro__btns{margin-top:28px;flex-wrap:wrap}
.ch-c25-textbtn{color:var(--ch-ink);padding-inline:4px}
.ch-c25-textbtn:hover{color:var(--ch-petrol)}

/* small mono label */
.ch-c25-k{margin:0;font-family:var(--ch-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-teal)}
.ch-c25-k--sub{margin-top:clamp(56px,6vw,80px)}

/* two films side by side */
.ch-c25-watch{padding-top:0 !important}
.ch-c25-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.ch-c25-film{margin-top:0;aspect-ratio:16/10}
.ch-c25-film .ch-film__title{font-size:clamp(21px,2.2vw,30px)}
@media (max-width:760px){.ch-c25-films{grid-template-columns:minmax(0,1fr)}}

/* main event */
.ch-c25-event{background:var(--ch-mist) !important}
.ch-c25-event__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px);align-items:start}
.ch-c25-event__text{display:grid;gap:16px}
.ch-c25-event__text p{margin:0}
@media (max-width:900px){.ch-c25-event__grid{grid-template-columns:minmax(0,1fr)}}
.ch-c25-room{margin-top:clamp(48px,6vw,72px);padding-top:28px;border-top:1px solid var(--ch-rule);display:grid;gap:18px}
.ch-c25-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ch-c25-chips li{padding:10px 16px;border-radius:999px;background:#fff;border:1px solid var(--ch-rule);font:500 15px/1.3 var(--ch-body);color:var(--ch-ink)}

/* read more */
.ch-c25-more{display:grid;gap:14px}
.ch-c25-more>summary{cursor:pointer;width:max-content;list-style:none;font-family:var(--ch-mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ch-teal)}
.ch-c25-more>summary::-webkit-details-marker{display:none}
.ch-c25-more>summary::after{content:" +"}
.ch-c25-more[open]>summary::after{content:" \2013"}
.ch-c25-more>summary:hover{color:var(--ch-petrol)}
.ch-c25-more p{margin:0}

/* keynote */
.ch-c25-keynote{padding-block:clamp(90px,10vw,140px)}
.ch-c25-keynote__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
.ch-c25-keynote__photo{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -40px rgba(5,10,30,.6)}
.ch-c25-keynote__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.ch-c25-keynote__role{margin:10px 0 22px;font-family:var(--ch-mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ch-yellow)}
.ch-c25-keynote .ch-body{color:rgba(255,255,255,.88);margin:0 0 14px}
.ch-c25-keynote .ch-h2{color:#fff}
.ch-c25-keynote .ch-eyebrow{color:var(--ch-yellow)}
.ch-c25-strip{list-style:none;margin:clamp(48px,6vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.ch-c25-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;display:block}
@media (max-width:820px){.ch-c25-keynote__grid{grid-template-columns:minmax(0,1fr)}.ch-c25-keynote__photo{max-width:420px}}
@media (max-width:560px){.ch-c25-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-c25-strip li:nth-child(3){display:none}}

/* speakers: smaller second row */
.ch-team__grid--sub{margin-top:24px}

/* program */
.ch-c25-program{background:var(--ch-mist) !important}
.ch-c25-days{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.ch-c25-day{display:grid;gap:14px;align-content:start;padding:clamp(24px,3vw,36px);border-radius:22px;background:#fff;color:var(--ch-ink);text-decoration:none;box-shadow:0 0 0 1px var(--ch-rule);transition:transform .5s var(--ch-ease),box-shadow .5s}
.ch-c25-day:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(20,32,58,.4),0 0 0 1px var(--ch-rule)}
.ch-c25-day__title{font:400 clamp(22px,2vw,28px)/1.2 var(--ch-display);color:var(--ch-ink)}
.ch-c25-day .ch-body{margin:0}
.ch-c25-day__thumb{display:block;max-height:260px;overflow:hidden;border-radius:12px;box-shadow:0 0 0 1px var(--ch-rule)}
.ch-c25-day__thumb img{width:100%;display:block}
.ch-c25-day__go{font-family:var(--ch-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ch-teal)}
.ch-c25-day:hover .ch-c25-day__go{color:var(--ch-gold)}
@media (max-width:760px){.ch-c25-days{grid-template-columns:minmax(0,1fr)}}

/* partners */
.ch-c25-partner-grid{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.ch-c25-partner{display:grid;grid-template-rows:auto 1fr;border-radius:22px;overflow:hidden;background:var(--ch-mist)}
.ch-c25-partner__media{height:220px;background:#fff;display:grid;place-items:center;padding:24px;border-bottom:1px solid var(--ch-rule)}
.ch-c25-partner__media img{max-height:172px;width:auto;max-width:100%;object-fit:contain;border-radius:8px}
.ch-c25-partner__body{padding:clamp(22px,2.6vw,32px);display:grid;gap:14px;align-content:start}
.ch-c25-partner__body>.ch-body{margin:0}
.ch-c25-thumbs{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ch-c25-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
@media (max-width:760px){.ch-c25-partner-grid{grid-template-columns:minmax(0,1fr)}}

/* galleries */
.ch-c25-galleries{margin-top:clamp(40px,5vw,64px)}

/* next */
.ch-c25-next{padding-block:clamp(90px,10vw,130px)}
.ch-c25-next .ch-h2{color:#fff}
.ch-c25-next .ch-eyebrow{color:var(--ch-yellow)}
.ch-c25-next .ch-body{color:rgba(255,255,255,.88)}

/* speaker cards: name on the photo button, credentials and roles fold to three lines */
.ch-c25 .ch-person{display:grid;align-content:start;gap:6px}
.ch-c25 .ch-person__name{display:block}
.ch-person__info{display:grid;gap:4px;max-height:calc(3 * 1.45em);overflow:hidden;font-size:14px;line-height:1.45;color:var(--ch-ink-2);position:relative;transition:max-height .5s var(--ch-ease)}
.ch-person__info.is-open{max-height:40em}
.ch-person__info:not(.is-open):has(+ .ch-person__toggle:not([hidden]))::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.45em;background:linear-gradient(rgba(255,255,255,0),#fff)}
.ch-person__creds{font-family:var(--ch-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ch-teal);line-height:1.6}
.ch-c25 .ch-person__role{font-size:14px}
.ch-person__toggle{justify-self:start;padding:0;border:0;background:none;cursor:pointer;font:600 13px/1.4 var(--ch-body);color:var(--ch-petrol);display:inline-flex;align-items:center;gap:6px}
.ch-person__toggle::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ch-ease)}
.ch-person__toggle[aria-expanded="true"]::after{transform:translateY(1px) rotate(225deg)}
.ch-person__toggle:hover{color:var(--ch-teal)}
.ch-c25 button.ch-person__more{justify-self:start;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.ch-bio__creds{margin:8px 0 0;font-family:var(--ch-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ch-ink-2);line-height:1.6}
.ch-c25 button.ch-person__more:hover{color:var(--ch-gold)}
