/* IDB Conference 2026 revision layer */
.idb-revision-logo {
  width: 12rem !important;
  height: 3.8rem !important;
  max-height: none;
  object-fit: contain !important;
  object-position: left center;
}
.idb-revision-nav { background: #003B5D !important; border-color: rgba(255,255,255,.22) !important; }
.idb-revision-nav a:not([href="#top"]), .idb-revision-nav button { color: #F8F5EF !important; }
.idb-revision-nav a:not([href="#top"]):hover, .idb-revision-nav button:hover { color: #FFFFFF !important; }
.idb-revision-nav a[href="#register"], #top a[href="#register"] { background: #00A057 !important; border-color: #00A057 !important; color: #FFFFFF !important; }
.idb-revision-nav a[href="#register"]:hover, #top a[href="#register"]:hover { background: #008A4B !important; border-color: #008A4B !important; color: #FFFFFF !important; }
.hero-revised-title { position: relative; z-index: 1; }
#top { background-color: #0062AC !important; }
#top .bg-gradient-to-t { background-image: linear-gradient(to top, rgba(0,98,172,.82) 0%, rgba(0,98,172,.52) 54%, rgba(0,98,172,.14) 100%) !important; }
#top .bg-gradient-to-r { background-image: linear-gradient(to right, rgba(0,98,172,.68) 0%, rgba(0,98,172,.32) 52%, rgba(0,98,172,0) 100%) !important; }
.footer-revision-logo { width: min(20rem, 100%) !important; max-height: 4rem; }
.idb-hero-photo { opacity: .64 !important; }
.hero-revised-title { font-size: clamp(3.25rem, 7vw, 5.5rem) !important; }
.hero-revised-content { width: 100% !important; max-width: none !important; }
.conference-location-link { color: inherit; text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 3px; }
.conference-location-link:hover { color: #fff; text-decoration-color: #3B6E8F; }
.conference-time { color: rgba(255,255,255,.72); }
.agenda-revised-wrap, .speakers-revised-wrap, .registration-revised-wrap, .partners-revised-wrap { position: relative; z-index: 1; }
.agenda-revised-list { border-top: 1px solid #E2DDD4; }
.agenda-revised-item { border-bottom: 1px solid #E2DDD4; }
.agenda-revised-item summary { display: grid; grid-template-columns: minmax(8.5rem, 1.1fr) 4fr auto; align-items: center; gap: 1rem; padding: 1.25rem 0; list-style: none; cursor: pointer; }
.agenda-revised-item summary::-webkit-details-marker { display: none; }
.agenda-revised-time { color: #718096; font-size: .8rem; font-weight: 600; letter-spacing: .03em; }
.agenda-revised-type { color: #3B6E8F; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.agenda-revised-title { color: #1A1A1A; font-family: "Playfair Display", serif; font-size: clamp(1.05rem, 2vw, 1.35rem); font-weight: 700; }
.agenda-revised-chevron { color: #3B6E8F; font-size: 1.25rem; transition: transform .2s ease; }
.agenda-revised-item[open] .agenda-revised-chevron { transform: rotate(180deg); }
.agenda-revised-copy { margin: 0 2rem 1.25rem 0; padding: 0 0 0 calc(8.5rem + 1rem); color: #4A5568; font-size: .95rem; line-height: 1.7; }
.agenda-revised-details { margin-top: .65rem; border-left: 2px solid rgba(59,110,143,.3); padding-left: 1rem; }
.agenda-revised-details p { margin: .35rem 0; }
.agenda-keynote-item { margin: 1rem 0; border: 1px solid #D8D0C5; border-left: 4px solid #3B6E8F; background: #F8F5EF; }
.agenda-keynote-item summary { padding: 1.45rem 1.25rem; }
.agenda-keynote-item .agenda-revised-title { font-size: clamp(1.25rem, 2.3vw, 1.65rem); }
.agenda-keynote-item .agenda-revised-copy { margin-bottom: 1.35rem; }
.agenda-keynote-item .agenda-revised-details { border-left: 0; padding: .85rem 1rem; background: #E9EDCF; color: #1A1A1A; font-weight: 600; }
.speakers-revised-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.speaker-revised-card { display: flex; gap: 1rem; background: #fff; border: 1px solid #E2DDD4; padding: 1.35rem; transition: transform .2s ease, box-shadow .2s ease; }
.speaker-revised-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(26,26,26,.08); }
.speaker-revised-photo { flex: 0 0 5.25rem; width: 5.25rem; height: 6rem; border-radius: .2rem; object-fit: cover; object-position: center top; background: #E2DDD4; }
.speaker-revised-avatar { flex: 0 0 3.5rem; width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border-radius: 999px; background: #1A1A1A; color: #fff; font: 700 1rem/1 "Playfair Display", serif; }
.speaker-revised-role { color: #3B6E8F; font-size: .68rem; font-weight: 700; letter-spacing: .09em; line-height: 1.35; text-transform: uppercase; }
.speaker-revised-content h3 { margin-top: .3rem; color: #1A1A1A; font: 700 1.35rem/1.15 "Playfair Display", serif; }
.speaker-revised-content p { margin-top: .55rem; color: #4A5568; font-size: .88rem; line-height: 1.55; }
.speaker-revised-topic { margin-top: .7rem; padding-top: .65rem; border-top: 1px solid #E2DDD4; color: #1A1A1A; font-size: .78rem; font-weight: 600; }
.registration-anchor { display: block; position: relative; top: -7rem; visibility: hidden; }
.registration-revised-note { margin-top: 1.25rem; max-width: 36rem; padding: 1rem; background: #F3EFE8; color: #1A1A1A; font-size: .85rem; line-height: 1.35; }
.registration-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 2.5rem 0 4rem; }
.registration-choice { display: flex; min-height: 11rem; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.5rem 1.65rem; border: 1px solid #D8D0C5; border-top: 4px solid #0062AC; background: #FAF8F5; color: #1A1A1A; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.registration-choice:hover { color: #1A1A1A; border-color: #0062AC; box-shadow: 0 10px 25px rgba(0,98,172,.12); transform: translateY(-2px); }
.registration-choice-community { border-top-color: #00A057; }
.registration-choice-community:hover { border-color: #00A057; box-shadow: 0 10px 25px rgba(0,160,87,.12); }
.registration-choice-kicker { color: #0062AC; font-size: .7rem; font-weight: 700; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.registration-choice-community .registration-choice-kicker { color: #00A057; }
.registration-choice-title { display: block; color: #1A1A1A; font: 700 clamp(1.35rem, 2.4vw, 1.75rem)/1.12 "Playfair Display", serif; }
.registration-choice-cta { align-self: flex-start; color: #0062AC; font-size: .85rem; font-weight: 700; }
.registration-choice-community .registration-choice-cta { color: #00A057; }
.registration-revised-divider { height: 1px; margin-bottom: 2rem; background: rgba(255,255,255,.16); }
#registration { background: #F3EFE8 !important; color: #1A1A1A !important; }
#registration .registration-choice { color: #1A1A1A; }
#registration .registration-choice:hover { color: #3B6E8F; }
#registration .registration-revised-divider { background: #D8D0C5; }
.partners-logo-grid { display: flex; flex-wrap: wrap; align-items: stretch; gap: 1rem; }
.partner-logo-card { display: flex; min-width: 16rem; flex-direction: column; justify-content: center; align-items: center; gap: .35rem; padding: 1.5rem 2rem; background: #FAF8F5; border: 1px solid #E2DDD4; text-align: center; text-decoration: none; }
.partner-logo-card:hover { border-color: #3B6E8F; }
.rbc-wordmark { color: #E31B23; font: 800 2.25rem/1 Arial, sans-serif; letter-spacing: -.08em; }
.rbc-foundation-card { min-width: 20rem; }
.rbc-foundation-revision-logo { width: 17rem; height: 5.5rem; object-fit: contain; }
.partner-subtitle { color: #718096; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.cgi-logo-card { min-width: 19rem; }
.cgi-revision-logo { width: 12rem; height: 3.4rem; object-fit: contain; }
.rbc-trademark { max-width: 18rem; margin-top: .65rem; color: #718096; font-size: .58rem; line-height: 1.35; }
.partner-link { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.25rem; border: 1px solid #E2DDD4; background: #FAF8F5; color: #1A1A1A; font-size: .9rem; text-decoration: none; }
.partner-link:hover { border-color: #3B6E8F; color: #3B6E8F; }
.footer-link { display: block; color: rgba(255,255,255,.72); font-size: .85rem; text-decoration: none; }
.footer-link:hover { color: #fff; }
@media (max-width: 767px) {
  .idb-revision-logo { width: 10rem !important; }
  .agenda-revised-item summary { grid-template-columns: 1fr auto; gap: .4rem .8rem; }
  .agenda-revised-time { grid-column: 1; grid-row: 1; }
  .agenda-revised-title { grid-column: 1; grid-row: 2; }
  .agenda-revised-chevron { grid-column: 2; grid-row: 1 / span 2; }
  .agenda-revised-copy { margin-left: 0; padding-left: 0; }
  .speakers-revised-grid, .registration-choice-grid { grid-template-columns: 1fr; }
  .speaker-revised-photo { flex-basis: 4.5rem; width: 4.5rem; height: 5.25rem; }
  .registration-choice-grid { margin-bottom: 4rem; }
  .partner-logo-card, .cgi-logo-card, .rbc-foundation-card { width: 100%; min-width: 0; }
  .rbc-foundation-revision-logo { width: 12rem; }
}
@media print {
  .reveal, .reveal.visible { opacity: 1 !important; transform: none !important; transition: none !important; }
  .agenda-keynote-item { break-inside: avoid; page-break-inside: avoid; }
}
#partners > footer {
  background: #FAF8F5 !important;
  color: #1A1A1A !important;
  border-top: 1px solid #E2DDD4;
}
#partners > footer .text-white\/60,
#partners > footer .text-white\/50 {
  color: #4A5568 !important;
}
#partners > footer .text-white\/40 {
  color: #718096 !important;
}
#partners > footer .border-white\/10 {
  border-color: #E2DDD4 !important;
}
#partners > footer .footer-link {
  color: #4A5568 !important;
}
#partners > footer .footer-link:hover {
  color: #3B6E8F !important;
}
