.cp-conferences { --ch-blue:#0a3c7d; --ch-ink:#17324d; --ch-muted:#52667c; --ch-line:#dce5ef; box-sizing:border-box; max-width:1200px; margin:32px auto 64px; padding:0 24px; color:var(--ch-ink); font-family:inherit; line-height:1.55; }
.cp-conferences *, .cp-conferences *::before, .cp-conferences *::after { box-sizing:border-box; }
.cp-conferences a { color:var(--ch-blue); overflow-wrap:anywhere; }
.cp-conferences :focus-visible { outline:3px solid #ffdd00; outline-offset:4px; }
.cp-conferences .cp-conferences__crumbs { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; font-size:16px; }
.cp-conferences .cp-conferences__hero { display:flex; align-items:center; justify-content:space-between; gap:32px; overflow:hidden; padding:44px 48px; border-radius:16px; color:white; background:linear-gradient(120deg,#082e62,#0a3c7d 58%,#006b88); }
.cp-conferences .cp-conferences__hero-copy { max-width:760px; min-width:0; }
.cp-conferences .cp-conferences__hero h1 { color:white; margin:4px 0 18px; font-size:clamp(32px,4vw,52px); line-height:1.12; letter-spacing:-.025em; }
.cp-conferences .cp-conferences__eyebrow { margin:0 0 8px; color:var(--ch-blue); font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.cp-conferences .cp-conferences__hero .cp-conferences__eyebrow { color:#b1e7f4; }
.cp-conferences .cp-conferences__lead { margin:0; color:white; font-size:19px; line-height:1.6; }
.cp-conferences .cp-conferences__lead p:last-child { margin-bottom:0; }
.cp-conferences .cp-conferences__lead a { color:white; }
.cp-conferences .cp-conferences__hero-art { flex:0 0 220px; color:#6dd6ec; }
.cp-conferences .cp-conferences__hero-art svg { display:block; width:100%; }
.cp-conferences .cp-conferences__section { margin-top:44px; }
.cp-conferences .cp-conferences__section-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
.cp-conferences .cp-conferences__section-head h2 { margin:0; color:var(--ch-blue); font-size:30px; line-height:1.2; }
.cp-conferences .cp-conferences__section-head > p { margin:0; color:var(--ch-muted); font-size:16px; }
.cp-conferences .cp-conferences__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cp-conferences .cp-conferences__card { min-width:0; display:flex; flex-direction:column; overflow:hidden; background:white; border:1px solid var(--ch-line); border-radius:12px; box-shadow:0 4px 16px #17324d0a; transition:transform .18s ease,box-shadow .18s ease; }
.cp-conferences .cp-conferences__card:hover { transform:translateY(-3px); box-shadow:0 12px 28px #17324d18; }
.cp-conferences .cp-conferences__media { position:relative; aspect-ratio:2/1; overflow:hidden; background:#e8f0f8; }
.cp-conferences .cp-conferences__media img { display:block; width:100%; height:100%; object-fit:cover; }
.cp-conferences .cp-conferences__media--placeholder, .cp-conferences .cp-conferences__media--compact { display:flex; align-items:center; padding:28px; color:white; background:linear-gradient(125deg,#0a3c7d,#08788d); font-size:27px; font-weight:700; }
.cp-conferences .cp-conferences__media--placeholder span { position:relative; z-index:1; max-width:80%; overflow-wrap:anywhere; }
.cp-conferences .cp-conferences__media--placeholder svg { position:absolute; right:-25px; bottom:-10px; width:210px; opacity:.25; }
.cp-conferences .cp-conferences__card:nth-child(3n+2) .cp-conferences__media--placeholder { background:linear-gradient(125deg,#183861,#526e9c); }
.cp-conferences .cp-conferences__card-body { display:flex; flex:1; flex-direction:column; align-items:start; padding:24px; }
.cp-conferences .cp-conferences__badge { display:inline-block; padding:5px 10px; border-radius:5px; background:#eef2f6; color:#384c61; font-size:13px; font-weight:700; }
.cp-conferences .cp-conferences__badge--open { background:#e0f3e9; color:#165c39; }
.cp-conferences .cp-conferences__badge--full { background:#fff0cf; color:#704b00; }
.cp-conferences .cp-conferences__card h3 { margin:16px 0 10px; color:var(--ch-blue); font-size:25px; line-height:1.22; }
.cp-conferences .cp-conferences__card h3 a { text-decoration:none; }
.cp-conferences .cp-conferences__card h3 a:hover { text-decoration:underline; }
.cp-conferences .cp-conferences__description { margin:0 0 22px; color:var(--ch-muted); font-size:17px; overflow-wrap:anywhere; }
.cp-conferences .cp-conferences__next { width:100%; display:flex; flex-direction:column; gap:3px; padding:15px 0; margin-bottom:20px; border-top:1px solid var(--ch-line); font-size:16px; }
.cp-conferences .cp-conferences__next span { font-size:13px; color:var(--ch-muted); }
.cp-conferences .cp-conferences__note { margin:0 0 24px; color:var(--ch-muted); font-size:16px; }
.cp-conferences a.cp-conferences__button { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:46px; padding:11px 15px; margin-top:auto; border:2px solid var(--ch-blue); border-radius:5px; color:white; background:var(--ch-blue); text-decoration:none; font-weight:700; font-size:16px; }
.cp-conferences a.cp-conferences__button:hover { background:#062b5c; color:white; }
.cp-conferences .cp-conferences__all { font-weight:700; white-space:nowrap; }
.cp-conferences .cp-conferences__empty { grid-column:1/-1; padding:40px 24px; border:1px dashed #9bb1c9; border-radius:12px; text-align:center; background:#f5f8fb; }
.cp-conferences .cp-conferences__empty h3 { margin-top:0; color:var(--ch-blue); }
.cp-conferences .cp-conferences__pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; margin-top:32px; }
.cp-conferences .cp-conferences__sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cp-conferences--home { margin-top:48px; }
@media(max-width:1000px) { .cp-conferences .cp-conferences__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cp-conferences .cp-conferences__hero-art { flex-basis:160px; } }
@media(max-width:640px) { .cp-conferences { margin-top:24px; padding:0 16px; } .cp-conferences .cp-conferences__hero { padding:30px 24px; } .cp-conferences .cp-conferences__hero-art { display:none; } .cp-conferences .cp-conferences__grid { grid-template-columns:minmax(0,1fr); gap:20px; } .cp-conferences .cp-conferences__section-head { align-items:start; flex-direction:column; gap:12px; } .cp-conferences .cp-conferences__section-head h2 { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { .cp-conferences .cp-conferences__card { transition:none; } .cp-conferences .cp-conferences__card:hover { transform:none; } }
