/* GeoNext 1.4 — scoped additions; existing site styles stay intact. */
.rich-text {overflow-wrap:anywhere; font-family:Arial,sans-serif; line-height:1.6;}
.rich-text p {margin:0 0 .8em;}
.rich-text p:last-child {margin-bottom:0;}
.rich-text ul,.rich-text ol {margin:.7em 0; padding-left:1.4em; list-style:revert;}
.rich-text li {margin:.35em 0;}
.rich-text ul>li::marker {font-size:1.38em;}
.rich-text a {color:inherit; text-decoration:underline; text-underline-offset:3px;}
.speaker-role {font-size:14px; margin-top:12px; color:rgba(255,255,255,.72);}
.speaker-role * {color:inherit;}
.speakers:not(.archive-speakers) .speaker-card {min-width:0; grid-template-columns:minmax(0,1fr);}
.speakers:not(.archive-speakers) .speaker-card>div {min-width:0;}
.speakers:not(.archive-speakers) .speaker-card img {max-width:100%;}
.speaker-role p {font:inherit!important; margin:0 0 .6em!important;}
.program-description {margin-top:18px; color:inherit; opacity:.85;}
[data-events-list] {grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch;}
.event-card-grid-main .event-card-v14 {padding:28px; min-height:440px; gap:18px;}
.event-card-v14 .event-meta {margin:0; font-size:16px;}
.event-card-v14 h3 {font-size:clamp(26px,2.3vw,38px); line-height:1.15; max-width:none; letter-spacing:-.02em; overflow-wrap:anywhere;}
.event-title-button {text-align:left; padding:0; border:0; color:inherit; font:inherit; background:none; cursor:pointer;}
.event-card-v14 .event-preview {font:16px/1.55 Arial,sans-serif; opacity:.85; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden;}
.event-card-v14 .event-partner-logo {min-height:0; height:90px; margin:-28px -28px 0; padding:14px 28px;}
.event-card-v14 .event-partner-logo img {max-height:62px; width:auto; max-width:100%; object-fit:contain;}
.event-card-actions {display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:auto; padding-top:0; border:0;}
.event-open,.event-card-actions .event-register {min-height:48px; margin:0; padding:12px 18px; display:inline-flex; align-items:center; justify-content:center; border:1px solid currentColor; color:inherit; background:transparent; font:500 17px/1.3 var(--oswald); text-decoration:none; cursor:pointer; transition:color 150ms ease,background 150ms ease,border-color 150ms ease,transform 150ms ease;}
.event-open:hover,.event-open:focus-visible,.event-card-actions .event-register:hover,.event-card-actions .event-register:focus-visible {background:rgba(255,255,255,.16); transform:translateY(-2px); text-decoration:none;}
.event-title-button:hover {text-decoration:underline; text-underline-offset:4px;}
.event-modal-open {overflow:hidden;}
.event-full-dialog {width:min(940px,calc(100% - 32px)); max-width:none; max-height:90dvh; margin:auto; padding:0; border:1px solid #b9c8dc; background:#f7f9fc; color:#10113d; overflow:auto; overscroll-behavior:contain;}
.event-full-dialog::backdrop {background:rgba(6,10,35,.8);}
.event-dialog-bar {display:flex; justify-content:space-between; align-items:center; gap:12px; position:sticky; top:0; z-index:2; padding:16px 28px; background:#10113d; color:white; font:18px var(--oswald);}
.event-dialog-bar button {border:1px solid #99acc9; color:white; background:none; padding:9px 14px; font:inherit; cursor:pointer;}
.event-dialog-body {padding:32px;}
.event-dialog-date {font:18px var(--oswald); color:#1d4289; margin:0 0 14px;}
.event-dialog-body h2 {font:500 clamp(28px,3vw,44px)/1.15 var(--oswald); margin:0 0 28px; overflow-wrap:anywhere;}
.event-full-text {font-size:17px;}
.event-cover {width:100%; max-height:420px; object-fit:contain; margin-bottom:24px;}
.event-detail-section {margin-top:32px; padding-top:24px; border-top:1px solid #cbd4e0;}
.event-detail-section h3 {font:500 26px var(--oswald); margin:0 0 18px;}
.event-speaker-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.event-speaker-grid article {min-width:0;}
.event-speaker-grid img,.event-speaker-placeholder {width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top; background:#d9f1fb;}
.event-speaker-placeholder {display:grid; place-items:center; font:42px var(--oswald);}
.event-speaker-grid h4 {font:500 21px/1.2 var(--oswald); margin:14px 0 10px;}
.event-speaker-grid .rich-text {font-size:14px;}
.event-documents {list-style:none; padding:0; margin:0;}
.event-documents li {border:1px solid #cbd4e0; padding:16px; margin:10px 0; display:flex; flex-wrap:wrap; gap:10px 18px; overflow-wrap:anywhere;}
.event-documents li>a:first-child {flex:1 1 100%; font-weight:bold;}
.event-documents span {font-size:13px; flex:1;}
.event-dialog-actions {display:flex; flex-wrap:wrap; gap:14px; margin-top:32px;}
.event-dialog-actions a,.event-dialog-actions button {padding:14px 18px; border:1px solid #1d4289; background:none; color:#1d4289; font:500 17px var(--oswald); text-decoration:none; cursor:pointer;}
.event-dialog-actions .event-modal-register {color:white; background:#1d4289;}
[data-partners-list] {grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch;}
.partner-v14 {display:flex; flex-direction:column; background:var(--royal); border:0;}
.confirmed-partner.partner-v14>.partner-logo-area {height:210px; min-height:210px; padding:26px; display:flex; align-items:center; justify-content:center; background:#fff;}
.partner-logo-area>a {display:flex; width:100%; height:100%; align-items:center; justify-content:center;}
.partner-logo-area>a img {transition:transform 180ms ease;}
.partner-logo-area>a:hover img,.partner-logo-area>a:focus-visible img {transform:scale(1.035);}
.partner-logo-area img {width:auto; max-width:100%; height:auto; max-height:155px; object-fit:contain;}
.confirmed-partner.partner-v14>.partner-copy {min-height:0; flex:1; display:flex; flex-direction:column; align-items:stretch; padding:24px; color:#fff; background:var(--royal);}
.partner-copy h3 {margin:0 0 14px; font:500 clamp(22px,1.7vw,28px)/1.2 var(--oswald); overflow-wrap:anywhere;}
.partner-copy .rich-text {font:15px/1.6 Arial,sans-serif; opacity:.9;}
.partner-copy .rich-text p {padding:0; margin:0 0 .8em; background:none; color:inherit; font:inherit;}
.partner-description.is-short {max-height:9.6em; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6;}
.partner-more {align-self:flex-start; margin:14px 0; padding:0; border:0; background:none; color:inherit; font:500 16px var(--oswald); text-decoration:underline; text-underline-offset:4px; cursor:pointer;}
.speakers:not(.archive-speakers) .speaker-grid {grid-auto-rows:auto; align-items:stretch;}
.speakers:not(.archive-speakers) .speaker-card {height:100%; grid-template-rows:auto minmax(0,1fr);}
.event-full-dialog button:focus-visible,.event-card-v14 button:focus-visible,.partner-more:focus-visible {outline:3px solid #53bfe6; outline-offset:4px;}
@media(max-width:1199px) {[data-partners-list]{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px) {
  [data-events-list],[data-partners-list] {grid-template-columns:1fr;}
  .event-card-grid-main .event-card-v14 {min-height:360px; padding:24px;}
  .event-card-v14 h3 {font-size:28px;}
  .event-card-v14 .event-partner-logo {margin:-24px -24px 0;}
  .event-full-dialog {width:calc(100% - 16px); max-height:94dvh;}
  .event-dialog-body {padding:22px;}
  .event-dialog-bar {padding:12px 18px;}
  .event-speaker-grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
  .event-full-text {font-size:16px;}
}
@media(max-width:380px) {.event-speaker-grid {grid-template-columns:1fr;}}
