
.event-article { overflow-wrap:anywhere; }
.event-update { font-size:14px!important; padding:14px 18px; border-left:3px solid #635279; background:#f4f1f7; }
.event-facts { margin:24px 0; border:1px solid #cbd7cf; border-radius:10px; overflow:hidden; }
.event-facts>div { display:grid; grid-template-columns:7em minmax(0,1fr); padding:13px 16px; gap:12px; border-bottom:1px solid #dce3db; }
.event-facts>div:last-child { border-bottom:0; }
.event-facts dt { font-weight:700; color:#294c63; }
.event-facts dd { margin:0; }
.event-toc { margin:28px 0; }
.event-toc li { margin:0; }
.event-toc a { display:flex; align-items:center; min-height:44px; padding:5px 0; line-height:1.6; }
.event-cover img { display:block; width:100%; height:auto; object-fit:contain; }
.event-cover figcaption { font-size:12px; color:#53645b; padding-top:8px; }
.event-section { padding:0; scroll-margin-top:110px; }
.event-section h2,.event-toc { scroll-margin-top:110px; }
.event-section table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:15px; line-height:1.75; margin:24px 0; }
.event-section td,.event-section th { padding:12px; border:1px solid #cad7cf; text-align:left; overflow-wrap:anywhere; vertical-align:top; }
.event-section th { background:#edf3ec; }
.event-section a,.event-sources a { overflow-wrap:anywhere; }
.event-section details { border-bottom:1px solid #cad7cf; padding:16px 0; }
.event-section summary { cursor:pointer; font-weight:700; min-height:44px; padding:10px 4px; }
.event-sources p,.event-editor-note { font-size:14px; }

.event-article .event-closing { display:grid; grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr); margin:56px 0; scroll-margin-top:110px; overflow:hidden; border:1px solid #b6c9bd; border-radius:16px; background:#f1f5ed; box-shadow:0 8px 24px rgba(31,66,53,.11); }
.event-stay-photo { position:relative; min-height:100%; background:#d6e2d8; }
.event-stay-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.event-stay-content { padding:30px; min-width:0; }
.event-stay-label { display:inline-block; color:#28563f; font-size:14px; font-weight:800; letter-spacing:.04em; }
.event-article .event-stay-content h2 { margin:10px 0 14px; color:#173e31; font-size:clamp(23px,2.5vw,29px); line-height:1.5; }
.event-article .event-stay-content p { margin:0 0 14px; font-size:16px; line-height:1.8; color:#213f34; word-break:auto-phrase; overflow-wrap:break-word; }
.event-article .event-stay-content .event-stay-facts { font-size:14px; font-weight:700; line-height:1.8; }
.event-stay-facts span { display:inline-block; margin-right:1em; }
.event-stay-actions { display:flex; flex-wrap:wrap; gap:10px; }
.guest-guide-page .article .event-stay-actions a { display:inline-flex; flex:1 1 180px; justify-content:center; align-items:center; gap:8px; min-height:52px; padding:10px 14px; border:2px solid #24553e; border-radius:6px; font-weight:800; font-size:16px; line-height:1.5; text-align:center; text-decoration:none; }
.guest-guide-page .article .event-stay-actions .event-stay-primary { background:#24553e; color:#fff; }
.guest-guide-page .article .event-stay-actions .event-stay-secondary { background:#fff; color:#24553e; }
.event-stay-actions a:hover { filter:brightness(.93); }
.event-stay-actions a:focus-visible { outline:3px solid #bc681e; outline-offset:3px; }
.event-article .event-stay-content .event-stay-note { margin:12px 0 0; font-size:13px; }
.event-actions { --event-actions-pad:8px; position:fixed; bottom:0; left:0; right:0; z-index:90; display:flex; justify-content:center; gap:1px; padding:var(--event-actions-pad) max(16px,env(safe-area-inset-right)) calc(var(--event-actions-pad) + env(safe-area-inset-bottom)); background:#f6f3eb; border-top:1px solid #cbd7cf; }
.event-actions a { display:flex; justify-content:center; align-items:center; flex:1; max-width:260px; min-height:44px; border:1px solid #335b4a; color:#244f46; background:#fffdf8; text-decoration:none; font-weight:700; font-size:14px; }
.event-actions a:focus-visible,.event-card:focus-visible { outline:3px solid #294c63; outline-offset:3px; }
.event-hub-section { padding-top:30px; padding-bottom:40px; scroll-margin-top:100px; }
.event-hub-section h2 { font-size:clamp(25px,3vw,34px); line-height:1.55; }
.event-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.event-card { display:flex; flex-direction:column; min-width:0; color:#203b38; background:#fffdf8; border:1px solid #cad7cf; border-radius:12px; overflow:hidden; text-decoration:none; }
.event-card img { display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:contain; }
.event-card-copy { display:flex; flex-direction:column; gap:14px; padding:22px; line-height:1.8; }
.event-card-copy h3 { font-size:23px; line-height:1.6; margin:0; }
.event-tag { color:#294c63; font-size:13px; font-weight:700; }
@media(max-width:640px) {
 .event-article .event-closing { grid-template-columns:1fr; margin:40px 0; }
 .event-stay-photo img { position:static; height:180px; }
 .event-stay-content { padding:22px 20px; }
 .event-stay-actions { flex-direction:column; }
 .guest-guide-page .article .event-stay-actions a { flex:auto; width:100%; }
 .event-card-grid { grid-template-columns:1fr; }
 .event-facts>div { grid-template-columns:5em minmax(0,1fr); padding:12px; gap:8px; font-size:14px; }
 .event-section table { font-size:14px; }
 .event-section td,.event-section th { padding:9px 7px; }
}
