.info-public-body { margin:0; background:#f6f3ef; color:#292329; font-family:Arial,Helvetica,sans-serif; }
.event-info { max-width:1120px; margin:auto; padding:0 28px; color:#292329; font:16px/1.6 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }
.event-info *, .event-info-editor * { box-sizing:border-box; min-width:0; }
.event-info h1,.event-info h2,.event-info h3,.event-info p { margin:0; }
.event-info h1 { font:500 clamp(34px,5.2vw,62px)/1.08 Georgia,serif; letter-spacing:-1.6px; color:inherit; }
.event-info h2 { font:500 29px/1.2 Georgia,serif; letter-spacing:-.5px; color:inherit; margin:0 0 18px; }
.event-info h3 { font:700 14px/1.5 Arial,sans-serif; margin:18px 0 5px; }
.event-info a { color:#651a3f; text-underline-offset:4px; }
.event-info a:focus-visible,.event-info-editor button:focus-visible { outline:3px solid #bc954c; outline-offset:4px; }
.event-info .info-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; }
.event-info .info-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:14px; font-weight:700; letter-spacing:1px; }
.event-info .info-brand img { width:48px; height:48px; border-radius:9px; object-fit:contain; background:white; }
.event-info .info-brand small { display:block; color:#736870; font-size:11px; font-weight:400; letter-spacing:.3px; }
.event-info .info-updated { font-size:12px; color:#766b71; text-align:right; }
.event-info .info-hero { background:linear-gradient(115deg,#391024,#6b2348); color:#fff8ee; border-radius:24px; padding:48px; display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:32px; align-items:center; }
.event-info .info-hero p:not(.info-eyebrow) { color:#efdae4; max-width:610px; margin:20px 0; }
.event-info .info-eyebrow { color:#8d6333; font:700 11px/1.6 Arial,sans-serif; letter-spacing:2px; margin:0 0 12px; }
.event-info .info-hero .info-eyebrow,.event-info .info-masterclass .info-eyebrow { color:#ecd0a2; }
.event-info .info-hero>img { width:160px; border-radius:50%; padding:14px; background:#fff; }
.event-info .info-hero-facts { display:flex; flex-wrap:wrap; gap:10px 22px; font-size:14px; font-weight:700; }
.event-info .info-nav { display:flex; gap:4px 20px; flex-wrap:wrap; padding:18px 2px; margin:0 0 12px; border-bottom:1px solid #e2d9d5; }
.event-info .info-nav a { font-size:13px; text-decoration:none; display:inline-flex; align-items:center; min-height:44px; font-weight:700; }
.event-info .info-entry { background:#eee3d5; border:1px solid #ddc7aa; padding:30px; border-radius:16px; margin:24px 0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; align-items:center; }
.event-info .info-entry h2 { font-size:25px; margin-bottom:10px; }
.event-info .info-one-time-registration { display:block; margin:11px 0; color:#8b1748; font-weight:900; }
.event-info .info-parking-highlight { font-weight:900; color:inherit; }
.event-info .info-prose { white-space:pre-line; font-size:15px; line-height:1.7; }
.event-info .info-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:48px; padding:12px 20px; background:#5b1738; color:white; text-decoration:none; border-radius:9px; font-size:14px; font-weight:700; text-align:center; }
.event-info .info-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.event-info .info-card { background:white; border:1px solid #e5deda; border-radius:16px; padding:30px; margin-bottom:24px; }
.event-info .info-details { margin:0; }
.event-info .info-details dt { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#786e73; margin-top:15px; }
.event-info .info-details dd { margin:3px 0 0; font-size:15px; }
.event-info .info-link { display:inline-block; margin-top:16px; font-size:14px; font-weight:700; }
.event-info .info-arrivals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0; }
.event-info .info-arrivals>div { padding:18px; border-radius:10px; background:#f8f4f6; border-left:3px solid #a87591; }
.event-info .info-arrivals span,.event-info .info-arrivals small { display:block; font-size:12px; }
.event-info .info-arrivals strong { display:block; font-size:24px; color:#5b1738; margin:3px 0; }
.event-info .info-arrivals small { color:#756a70; }
.event-info .info-reporting-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:14px; }
.event-info .info-reporting-table th { text-align:left; background:#f3ecef; font-size:11px; text-transform:uppercase; letter-spacing:.6px; }
.event-info .info-reporting-table th,.event-info .info-reporting-table td { padding:14px 12px; border-bottom:1px solid #e9e2e5; vertical-align:top; white-space:normal; }
.event-info .info-reporting-table th:nth-child(1) { width:25%; }
.event-info .info-reporting-table th:nth-child(2) { width:43%; }
.event-info .info-reporting-table th:nth-child(3) { width:32%; }
.event-info .info-training-notice { margin-top:18px; padding:14px 18px; background:#f8f4f6; border-left:3px solid #a87591; border-radius:8px; font-size:14px; white-space:pre-line; }
.event-info .info-pending { display:block; color:#786a58; font-size:14px; }
.event-info .info-masterclass { border-radius:16px; background:#47162e; color:white; padding:34px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; margin-bottom:28px; }
.event-info .info-media-section { grid-column:1/-1; }
.event-info .info-program-booklet { border:1px solid #dec9a2; border-radius:16px; background:linear-gradient(135deg,#fffaf0,#f7ead4); padding:30px 34px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; margin-bottom:28px; }
.event-info .info-program-booklet h2 { margin-bottom:8px; color:#47162e; }
.event-info .info-program-booklet .info-eyebrow { color:#8d6333; }
.event-info .info-class-time { font-size:20px; margin-bottom:14px; }
.event-info .info-button-light { background:#f5e6d0; color:#47162e; }
.event-info .info-full-notice { min-width:190px; padding:16px 20px; border:1px solid #efd0dc; border-radius:12px; background:#fff5f8; color:#721f49; text-align:center; }
.event-info .info-full-notice strong,.event-info .info-full-notice span { display:block; }
.event-info .info-full-notice strong { font-size:15px; letter-spacing:.12em; }
.event-info .info-full-notice span { margin-top:4px; color:#7d5265; font-size:13px; }
.event-info .info-section-label { margin:30px 0 16px; }
.event-info .info-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:10px 0 32px; font-size:12px; color:#776c73; }
.event-info section[id],.event-info div[id] { scroll-margin-top:20px; }
.info-message { max-width:650px; margin:15vh auto; padding:30px; font:16px/1.7 Arial,sans-serif; }
.info-message h1 { font:36px Georgia,serif; color:#5b1738; }
.info-message button { padding:12px 24px; cursor:pointer; }
#info-error:not([hidden]) { background:#fff1d9; padding:16px; text-align:center; font:14px/1.5 Arial,sans-serif; }
.event-info-editor { max-width:1100px; margin:auto; }
.event-info-editor .info-edit-card { background:white; border:1px solid #e4dce0; padding:24px; border-radius:14px; margin:18px 0; }
.event-info-editor h2 { font-size:22px; margin:0 0 10px; }
.event-info-editor .info-edit-help { color:#736872; margin:0 0 18px; font-size:14px; }
.event-info-editor .info-edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.event-info-editor label { display:block; font-size:14px; font-weight:600; }
.event-info-editor input,.event-info-editor textarea { width:100%; max-width:100%; display:block; margin-top:6px; font:inherit; padding:11px; border:1px solid #d8ced4; border-radius:8px; background:white; color:#292329; }
.event-info-editor .info-check { display:flex; align-items:center; gap:10px; align-self:end; min-height:46px; }
.event-info-editor .info-check input { width:20px; height:20px; margin:0; padding:0; }
.event-info-editor textarea { resize:vertical; min-height:92px; }
.event-info-editor .info-full { grid-column:1/-1; }
.event-info-editor .info-edit-row { padding:18px; border:1px solid #e8dfe4; border-radius:10px; margin:12px 0; background:#faf8f9; }
.event-info-editor .info-row-actions,.event-info-editor .info-editor-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:16px; }
.event-info-editor .info-row-actions button { padding:8px 12px; min-height:40px; }
.event-info-editor .info-editor-status { font-size:13px; color:#6e6068; margin:10px 0; }
.event-info-editor .info-editor-actions button { min-height:44px; }
.event-info-editor .info-preview { background:#f6f3ef; border:1px solid #ddd; border-radius:16px; margin-top:24px; }
.event-info-editor [hidden] { display:none!important; }
@media(max-width:800px) {
  .event-info .info-hero { padding:30px; grid-template-columns:minmax(0,1fr) 100px; gap:20px; }
  .event-info .info-hero>img { width:100px; padding:8px; }
  .event-info .info-entry,.event-info .info-masterclass,.event-info .info-program-booklet { grid-template-columns:1fr; gap:20px; }
  .event-info .info-two-col { gap:16px; }
  .event-info .info-card { padding:22px; }
}
@media(max-width:600px) {
  .event-info { padding:0 16px; font-size:15px; }
  .event-info .info-top { align-items:flex-start; gap:12px; }
  .event-info .info-updated { max-width:130px; font-size:11px; }
  .event-info .info-brand { font-size:12px; gap:8px; }
  .event-info .info-brand img { width:40px; height:40px; }
  .event-info .info-hero { grid-template-columns:1fr; padding:28px 24px; border-radius:18px; }
  .event-info .info-hero>img { display:none; }
  .event-info .info-hero h1 { font-size:38px; }
  .event-info .info-nav { gap:0 18px; }
  .event-info .info-entry { padding:24px; }
  .event-info .info-two-col { grid-template-columns:1fr; gap:0; }
  .event-info .info-arrivals { grid-template-columns:1fr; }
  .event-info .info-arrivals>div { padding:12px 16px; display:grid; grid-template-columns:1fr auto; align-items:center; }
  .event-info .info-arrivals strong { grid-row:1/3; grid-column:2; font-size:22px; }
  .event-info .info-reporting-table,.event-info .info-reporting-table tbody,.event-info .info-reporting-table tr,.event-info .info-reporting-table td { display:block; width:100%; }
  .event-info .info-reporting-table thead { display:none; }
  .event-info .info-reporting-table tr { margin:12px 0; padding:12px; background:#faf7f9; border:1px solid #e8dfe4; border-radius:10px; }
  .event-info .info-reporting-table td { display:grid; grid-template-columns:85px minmax(0,1fr); gap:10px; padding:6px 0; border:0; }
  .event-info .info-reporting-table td:before { content:attr(data-label); font-size:11px; font-weight:700; color:#776673; text-transform:uppercase; }
  .event-info .info-masterclass { padding:26px; }
  .event-info .info-program-booklet { padding:24px; }
  .event-info-editor .info-edit-grid { grid-template-columns:1fr; }
  .event-info-editor .info-edit-card { padding:18px; }
  .event-info-editor .info-edit-row { padding:12px; }
}
.event-info .info-schedule { margin:0 0 28px; padding:30px; border:1px solid #dec9d3; border-radius:18px; background:linear-gradient(145deg,#fff 0,#fcf6f9 100%); box-shadow:0 16px 42px rgba(71,22,46,.08); }
.event-info .info-schedule-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.event-info .info-schedule-heading h2 { margin:3px 0 0; font-size:30px; color:#47162e; }
.event-info .info-schedule-heading>strong { padding:7px 11px; border-radius:999px; background:#f1e1e9; color:#721f49; font-size:12px; white-space:nowrap; }
.event-info .info-schedule-days { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.event-info .info-schedule-day { overflow:hidden; border:1px solid #e5d6dd; border-radius:14px; background:#fff; }
.event-info .info-schedule-day h3 { margin:0; padding:12px 14px; background:#47162e; color:#fff; font-size:16px; }
.event-info .info-schedule-day h3 span { display:block; margin-top:2px; color:#e8c7d7; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.event-info .info-schedule-day table { width:100%; border-collapse:collapse; }
.event-info .info-schedule-day td { padding:9px 10px; border-bottom:1px solid #eee4e9; vertical-align:top; font-size:12px; }
.event-info .info-schedule-day tr:last-child td { border-bottom:0; }
.event-info .info-schedule-day td:first-child { width:40%; color:#6f5b65; font-weight:800; white-space:nowrap; }
.event-info .info-schedule-day tr.award td:last-child { color:#9b6510; font-weight:850; }
.event-info .info-session-details { margin-top:22px; }
.event-info .info-session-details>h3 { margin:0 0 12px; color:#47162e; font-size:20px; }
.event-info .info-session-details>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.event-info .info-session-details article { padding:12px 14px; border-radius:12px; background:#f6ebf0; }
.event-info .info-session-details strong,.event-info .info-session-details span { display:block; }
.event-info .info-session-details strong { color:#721f49; }
.event-info .info-session-details span { margin:2px 0 5px; color:#8d6377; font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.event-info .info-session-details p { margin:0; color:#59464f; font-size:13px; }
.event-info .info-schedule-note { margin:18px 0 0; padding:11px 13px; border-left:4px solid #d3a11d; background:#fff8df; color:#6e5310; font-weight:800; }

@media(max-width:900px){
  .event-info .info-schedule-days { grid-template-columns:1fr; }
}

@media(max-width:620px){
  .event-info .info-schedule { padding:20px 16px; }
  .event-info .info-schedule-heading { display:block; }
  .event-info .info-schedule-heading>strong { display:inline-block; margin-top:10px; white-space:normal; }
  .event-info .info-session-details>div { grid-template-columns:1fr; }
}
