/* Extend the delivered desktop system to event discovery and exhibition details. */
[data-page="events"] main,
[data-page="calendar"] main { color:#0d0d0d; }
:is([data-page="events"],[data-page="calendar"]) main h1 { font-size:clamp(2rem,1.5rem + 1.6vw,2.5rem); font-weight:600; line-height:1.2; letter-spacing:-.035em; text-wrap:pretty; }
:is([data-page="events"],[data-page="calendar"]) main h2 { font-weight:600; letter-spacing:-.025em; line-height:1.25; }
:is([data-page="events"],[data-page="calendar"]) main .eyebrow { color:#666; font-size:12px; font-weight:500; letter-spacing:.06em; margin-block-end:16px; }
:is([data-page="events"],[data-page="calendar"]) main .btn { min-block-size:48px; }

/* Our events: real event photography, with captions outside the image. */
[data-page="events"] .events-hero { padding-block:56px; background:#0d0d0d; color:#fff; border:0; }
.events-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center; gap:64px; }
[data-page="events"] .events-hero .eyebrow { color:#b8b8b8; }
[data-page="events"] .events-hero h1 { color:#fff; max-inline-size:20ch; }
[data-page="events"] .events-hero .dek { color:#d8d8d8; font-size:18px; max-inline-size:50ch; margin-block:24px 32px; }
.events-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.events-hero-photo { margin:0; }
.events-hero-photo img { display:block; inline-size:100%; block-size:auto; aspect-ratio:1.5; object-fit:cover; border-radius:4px; }
.events-hero-photo figcaption { color:#b8b8b8; font-size:12px; margin-block-start:12px; }
.events-page-nav { border-block-end:1px solid #d8d8d8; background:#fff; }
.events-page-nav .wrap { display:flex; gap:32px; overflow-x:auto; }
.events-page-nav a { display:flex; align-items:center; min-block-size:64px; text-decoration:none; white-space:nowrap; color:#666; font-size:14px; border-block-end:2px solid transparent; }
.events-page-nav a:hover,.events-page-nav a:focus-visible { color:#0d0d0d; border-color:#e60015; }
[data-page="events"] .section-head { margin-block-end:32px; }
[data-page="events"] .section-head h2 { font-size:clamp(1.75rem,1.25rem + 1.2vw,2.5rem); }
[data-page="events"] .section-head p { color:#666; margin-block-start:16px; }
[data-page="events"] .event-grid { gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-page="events"] .event-card { display:block; aspect-ratio:auto; border:0; background:#f3f3f5; border-radius:4px; }
[data-page="events"] .event-card img { position:static; display:block; inline-size:100%; block-size:auto; aspect-ratio:1.5; object-fit:cover; transition:none; }
[data-page="events"] .event-card:hover img { transform:none; }
[data-page="events"] .event-card .event-body { background:none; color:#0d0d0d; padding:24px; gap:12px; }
[data-page="events"] .event-card .tag { color:#666; font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; }
[data-page="events"] .event-card h3 { color:#0d0d0d; font-size:22px; font-weight:500; line-height:1.35; }
[data-page="events"] .timeline { grid-template-columns:repeat(4,minmax(0,1fr)); margin:24px 0 0; padding:0; border:0; gap:0; }
[data-page="events"] .timeline-item { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; border-block-start:1px solid #d8d8d8; padding:20px 16px 20px 0; font-size:14px; }
[data-page="events"] .timeline-item::before { display:none; }
[data-page="events"] .timeline-item .year { font:500 24px/1.2 var(--font-sans); color:#0d0d0d; }
[data-page="events"] .timeline-item .meta { margin:0; }
[data-page="events"] #c300-global { padding-block:0 64px; }
[data-page="events"] .global-soon-card { grid-template-columns:minmax(0,1fr) auto; text-align:start; justify-items:start; align-items:center; padding:40px; background:#f3f3f5; border:0; gap:12px 40px; }
[data-page="events"] .global-soon-card .eyebrow { grid-column:1; margin:0; }
[data-page="events"] .global-soon-card h2 { grid-column:1; }
[data-page="events"] .global-soon-card .dek { grid-column:1; font-size:16px; max-inline-size:70ch; }
[data-page="events"] .global-soon-card .btn { grid-column:2; grid-row:1/4; }
[data-page="events"] #global-footprint { background:#0d0d0d; }
[data-page="events"] #global-footprint .event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
[data-page="events"] #global-footprint .section-head .eyebrow { color:#b8b8b8 !important; }
[data-page="events"] .delegation-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:0 20px; margin-block-start:24px; }
[data-page="events"] .delegation-card { background:none; border:0; border-block-start:1px solid #454545; border-radius:0; padding:20px 0; }
[data-page="events"] .delegation-card .year { font:400 14px/1.5 var(--font-sans); color:#b8b8b8; }
[data-page="events"] .delegation-card h4 { font-size:18px; font-weight:500; margin-block:12px 0; }
.events-closing { padding-block:72px; text-align:center; }
.events-closing h2 { font-size:clamp(1.75rem,1.3rem + 1.5vw,2.5rem); }
.events-closing p { color:#666; margin:20px auto 24px; max-inline-size:60ch; }
.events-closing .events-hero-actions { justify-content:center; }

/* Calendar: the directory's filter-and-row language, with an archive below. */
[data-page="calendar"] .calendar-hero { padding-block:64px; border:0; background:#f3f3f5; }
[data-page="calendar"] .calendar-hero h1 { max-inline-size:27ch; }
[data-page="calendar"] .calendar-hero .dek { margin-block:20px 0; font-size:18px; color:#666; }
[data-page="calendar"] .expo-spotlight-section { padding:0 0 56px; margin-block:0 56px; border:0; border-block-end:1px solid #d8d8d8; background:none; }
[data-page="calendar"] .expo-spotlight-head { border:0; margin-block-end:28px; padding:0; }
[data-page="calendar"] .expo-spotlight-head h2 { font-size:clamp(1.65rem,1.2rem + 1vw,2.25rem); }
[data-page="calendar"] .expo-spotlight-head p { font-size:16px; margin-block-start:16px; }
[data-page="calendar"] .expo-spotlight-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
[data-page="calendar"] .expo-spotlight-card { padding:28px; background:#f3f3f5; border:1px solid transparent; border-radius:4px; gap:20px; transition:none; }
[data-page="calendar"] .expo-spotlight-card:hover { transform:none; box-shadow:none; border-color:#d8d8d8; }
[data-page="calendar"] .expo-spotlight-title { font-size:22px; font-weight:500; line-height:1.35; }
[data-page="calendar"] .expo-spotlight-meta { font-size:14px; color:#666; gap:8px; }
[data-page="calendar"] .expo-spotlight-card .expo-link { color:#0d0d0d; font-size:14px; text-decoration:none; margin-block-start:8px; }
[data-page="calendar"] .expo-spotlight-card .expo-link:hover { text-decoration:underline; }
[data-page="calendar"] #full-calendar { font-size:32px; }
[data-page="calendar"] .calendar-controls-bar { display:block; margin-block:24px; padding:24px; background:#f3f3f5; border:0; border-radius:4px; }
[data-page="calendar"] .calendar-filters-form { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:20px; inline-size:100%; }
[data-page="calendar"] .calendar-filters-form .filter-select { background:#fff; border:1px solid #b8b8b8; padding:12px; inline-size:100%; min-inline-size:0; min-block-size:48px; color:#0d0d0d; font-size:16px; }
[data-page="calendar"] .filter-label { font-size:12px; line-height:1.5; font-weight:400; text-transform:none; letter-spacing:0; color:#666; margin-block-end:6px; }
[data-page="calendar"] .calendar-counter { display:block; font-size:14px; margin-block-start:20px; }
[data-page="calendar"] .calendar-count-breakdown { display:inline-block; margin-inline-start:20px; color:#666; font-size:12px; }
[data-page="calendar"] #filter-reset-btn { grid-column:1/-1; justify-self:start; }
[data-page="calendar"] .calendar-table th { background:#fff; color:#666; font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; border-width:1px; padding:16px 24px; }
[data-page="calendar"] .calendar-table td { padding:24px; vertical-align:top; font-size:14px; line-height:1.6; }
[data-page="calendar"] .expo-name-title { color:#0d0d0d; font-size:18px; line-height:1.4; font-weight:500; }
[data-page="calendar"] .expo-topics { color:#666; font-size:12px; margin-block-start:8px; }
[data-page="calendar"] .calendar-past-summary { padding:24px 0; border-block:1px solid #d8d8d8; font-size:18px; color:#0d0d0d; }
[data-page="calendar"] .calendar-empty-state { padding:56px 24px; background:#f3f3f5; border:0; border-radius:4px; }
[data-page="calendar"] .calendar-empty-state h3 { font-size:24px; margin-block-end:16px; }
[data-page="calendar"] .delegation-panel { background:#0d0d0d; padding:40px; border-radius:4px; margin-block-start:64px; }
[data-page="calendar"] .delegation-panel .eyebrow { color:#b8b8b8 !important; }
[data-page="calendar"] .delegation-panel h3 { font-size:28px; font-weight:500; }
[data-page="calendar"] .delegation-panel .btn--secondary { background:#fff; color:#0d0d0d; border-color:#fff; }

/* Exhibition detail: facts and sources remain separate from service claims. */
[data-template="expo"] .expo-detail-hero { padding-block:32px 0; background:#f3f3f5; border:0; }
[data-template="expo"] .expo-breadcrumbs { margin-block-end:40px; flex-wrap:wrap; gap:8px; font-size:12px; color:#666; }
[data-template="expo"] .expo-breadcrumbs [aria-current] { max-inline-size:100%; overflow-wrap:anywhere; }
.expo-eyebrow { display:block; margin-block:16px; color:#666; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
[data-template="expo"] .expo-detail-hero h1 { max-inline-size:34ch; padding-block-end:12px; overflow-wrap:anywhere; }
[data-template="expo"] .expo-detail-hero p { max-inline-size:80ch; font-size:18px; color:#666; line-height:1.65; }
.expo-section-nav { display:flex; gap:32px; margin-block-start:32px; overflow-x:auto; }
.expo-section-nav a { display:flex; align-items:center; min-block-size:64px; border-block-end:2px solid transparent; white-space:nowrap; font-size:14px; color:#666; text-decoration:none; }
.expo-section-nav a:hover,.expo-section-nav a:focus-visible { border-color:#e60015; color:#0d0d0d; }
[data-template="expo"] .expo-grid { grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:40px; margin-block:48px 72px; align-items:start; }
.expo-main-column,.expo-side-column { display:grid; gap:32px; min-inline-size:0; }
[data-template="expo"] .fact-card { padding:32px; gap:24px; background:#fff; border:1px solid #d8d8d8; border-radius:4px; min-inline-size:0; }
[data-template="expo"] .fact-card h2 { font-size:24px !important; line-height:1.3; font-weight:500; }
[data-template="expo"] .fact-row { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,2fr); gap:24px; font-size:16px; padding-block:0 20px; align-items:start; }
[data-template="expo"] .fact-label { font-size:14px; font-weight:400; color:#666; }
[data-template="expo"] .fact-val { text-align:start; font-weight:500; }
[data-template="expo"] .expo-ical-bar { font-size:12px; color:#666; gap:12px 24px; }
[data-template="expo"] .expo-ical-bar>div { gap:20px !important; }
[data-template="expo"] .expo-calendar-link { color:#0d0d0d; min-block-size:44px; display:inline-flex; align-items:center; }
[data-template="expo"] .expo-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
[data-template="expo"] .expo-resource-link { padding:16px; min-block-size:48px; background:#f3f3f5; border-radius:4px; font-size:14px; color:#0d0d0d; text-decoration:none; line-height:1.5; }
[data-template="expo"] .expo-resource-link:hover { background:#eee; text-decoration:underline; }
[data-template="expo"] #exhibitor-directory-section { margin-block-start:8px !important; padding-block-start:32px !important; }
[data-template="expo"] #exhibitor-public-preview { display:grid; gap:16px; font-size:14px; line-height:1.7; color:#666; }
[data-template="expo"] #exhibitor-public-preview p { margin:0; }
[data-template="expo"] #exhibitor-public-preview a { color:#0d0d0d; text-underline-offset:3px; }
[data-template="expo"] #exhibitor-filter-form { background:#f3f3f5 !important; padding:20px !important; }
[data-template="expo"] #exhibitor-filter-form input { min-inline-size:0; font-size:16px; background:#fff; }
[data-template="expo"] .expo-side-column .fact-card { background:#f3f3f5; border-color:transparent; }
[data-template="expo"] .expo-side-column p { font-size:14px; color:#666; line-height:1.7; margin:0; }
[data-template="expo"] .expo-side-column a { font-size:14px; color:#0d0d0d; text-underline-offset:4px; }
[data-template="expo"] .expo-side-column .btn--primary { color:#fff; }
[data-template="expo"] .expo-discovery-card { background:#f3f3f5; border-color:transparent; }

@media (min-width:1100px) { .expo-side-column { position:sticky; inset-block-start:168px; } }
@media (max-width:1100px) {
  .events-hero-grid { gap:32px; }
  [data-page="events"] .delegation-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  [data-page="calendar"] .calendar-filters-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-template="expo"] .expo-grid { grid-template-columns:1fr; }
  .expo-side-column { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
}
@media (max-width:768px) {
  [data-page="events"] .events-hero,[data-page="calendar"] .calendar-hero { padding-block:40px; }
  .events-hero-grid { grid-template-columns:1fr; gap:32px; }
  [data-page="events"] .events-hero h1 { max-inline-size:24ch; }
  [data-page="events"] .events-hero .dek,[data-page="calendar"] .calendar-hero .dek { font-size:16px; }
  .events-page-nav .wrap,.expo-section-nav { gap:24px; }
  [data-page="events"] .event-grid,[data-page="events"] #global-footprint .event-grid { grid-template-columns:1fr; }
  [data-page="events"] .event-card .event-body { padding:20px; }
  [data-page="events"] .timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-page="events"] .global-soon-card { grid-template-columns:1fr; padding:24px; gap:16px; }
  [data-page="events"] .global-soon-card .btn { grid-row:auto; grid-column:1; }
  [data-page="events"] #c300-global { padding-block-end:40px; }
  [data-page="events"] .delegation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .events-closing { padding-block:48px; }
  [data-page="calendar"] .expo-spotlight-section { margin-block-end:40px; padding-block-end:40px; }
  [data-page="calendar"] .expo-spotlight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  [data-page="calendar"] .expo-spotlight-card { padding:20px; }
  [data-page="calendar"] .expo-spotlight-title { font-size:20px; }
  [data-page="calendar"] .calendar-controls-bar { padding:20px; }
  [data-page="calendar"] .calendar-filters-form { gap:16px; }
  [data-page="calendar"] .calendar-count-breakdown { display:block; margin:8px 0 0; }
  [data-page="calendar"] .calendar-table td { padding:12px 20px; font-size:14px; }
  [data-page="calendar"] .calendar-table tbody tr.calendar-row { margin-block-end:16px; padding-block:8px; box-shadow:none; border-radius:4px; }
  [data-page="calendar"] .calendar-table td.primary-cell { inline-size:auto; padding-block:16px; }
  [data-page="calendar"] .calendar-table td::before { flex:0 0 72px; font-size:12px; text-transform:none; letter-spacing:0; font-weight:400; }
  [data-page="calendar"] .delegation-panel { padding:24px; margin-block-start:40px; }
  [data-template="expo"] .expo-detail-hero { padding-block-start:24px; }
  [data-template="expo"] .expo-breadcrumbs { margin-block-end:24px; }
  [data-template="expo"] .expo-detail-hero p { font-size:16px; }
  [data-template="expo"] .expo-grid { margin-block:32px 48px; gap:24px; }
  .expo-main-column { gap:24px; }
  [data-template="expo"] .fact-card { padding:24px; gap:20px; }
  [data-template="expo"] .fact-card h2 { font-size:22px !important; }
  [data-template="expo"] .fact-row { grid-template-columns:1fr; gap:8px; padding-block-end:16px; }
  [data-template="expo"] .expo-resources { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  [data-page="calendar"] .expo-spotlight-grid,[data-page="calendar"] .calendar-filters-form { grid-template-columns:1fr; }
  [data-template="expo"] .fact-card { padding:20px; }
  .events-hero-actions .btn { flex:1 1 auto; justify-content:center; }
}
