/*
 * rem-event.css — Real Estate Moguls Events
 * Phase B.10
 * Loaded on single event, event archive, and event host guide template.
 *
 * Sections:
 *   01 · Single Event Hero
 *   02 · Event Body Layout
 *   03 · Event Sections
 *   04 · Countdown Timer
 *   05 · Apply to Attend Form
 *   06 · Maps and ICS
 *   07 · More Events
 *   08 · Event Archive
 *   09 · City Filter
 *   10 · Archive Cards
 *   11 · Past Events List
 *   12 · Host Guide (screen + print)
 */


/* ── 01  SINGLE EVENT HERO ────────────────────────────────────────────────── */

.rem-ev-hero {
  position: relative;
  min-height: 68vh;
  background: var(--authority, #0D1B2A);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding-top: 72px;
}

.rem-ev-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.rem-ev-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.38;
  display: block;
}

.rem-ev-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to top,
    rgba(13, 27, 42, 0.97) 0%,
    rgba(13, 27, 42, 0.82) 40%,
    rgba(13, 27, 42, 0.35) 80%
  );
}

.rem-ev-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 56px;
}

.rem-ev-hero-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.rem-ev-back {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(242, 244, 247, 0.45);
  text-decoration: none;
  transition: color .2s;
}
.rem-ev-back:hover { color: rgba(242, 244, 247, 0.85); }

.rem-ev-badge {
  display: inline-block;
  background: rgba(201, 168, 76, 0.18);
  border: 1px solid rgba(201, 168, 76, 0.4);
  color: var(--accent, #C9A84C);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 4px 12px;
}

.rem-ev-hero-title {
  font-size: clamp(32px, 5vw, 60px);
  font-weight: 800;
  color: #fff;
  line-height: 1.08;
  margin-bottom: 24px;
  max-width: 760px;
}

.rem-ev-hero-details {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
}

.rem-ev-detail {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(242, 244, 247, 0.72);
}

.rem-ev-detail svg { flex-shrink: 0; opacity: 0.6; }


/* ── 02  EVENT BODY LAYOUT ────────────────────────────────────────────────── */

.rem-ev-body-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 56px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 56px 56px 80px;
  align-items: start;
}

.rem-ev-main { min-width: 0; }


/* ── 03  EVENT SECTIONS ───────────────────────────────────────────────────── */

.rem-ev-section {
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid #E2E5E9;
}

.rem-ev-section:last-child { border-bottom: none; }

.rem-ev-section-title {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--authority, #0D1B2A);
  margin-bottom: 20px;
}

.rem-ev-prose { font-size: 17px; line-height: 1.75; color: #4A5568; }
.rem-ev-prose p { margin-bottom: 20px; }
.rem-ev-prose h2 { font-size: 1.3rem; font-weight: 700; color: var(--authority,#0D1B2A); margin: 32px 0 12px; }

/* What to Expect */
.rem-ev-wte-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.rem-ev-wte-item { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; color: #4A5568; line-height: 1.6; }
.rem-ev-wte-dot  { width: 8px; height: 8px; background: var(--primary, #29ABE2); flex-shrink: 0; margin-top: 7px; }

/* Speakers */
.rem-ev-speakers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.rem-ev-speaker-card  { display: flex; gap: 12px; align-items: flex-start; padding: 16px; background: var(--background, #F2F4F7); }
.rem-ev-speaker-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--authority, #0D1B2A); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 800; color: rgba(255,255,255,0.2); flex-shrink: 0; }
.rem-ev-speaker-name    { font-size: 14px; font-weight: 700; color: var(--authority, #0D1B2A); margin-bottom: 2px; }
.rem-ev-speaker-title   { font-size: 12px; color: var(--primary, #29ABE2); }
.rem-ev-speaker-company { font-size: 12px; color: rgba(13,27,42,0.45); }

/* Host */
.rem-ev-host-card { display: flex; gap: 24px; align-items: flex-start; padding: 24px; background: var(--background, #F2F4F7); border-left: 4px solid var(--primary, #29ABE2); }
.rem-ev-host-photo img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; display: block; }
.rem-ev-host-name  { font-size: 1.1rem; font-weight: 700; color: var(--authority, #0D1B2A); margin-bottom: 4px; }
.rem-ev-host-title { font-size: 13px; color: var(--primary, #29ABE2); font-weight: 600; margin-bottom: 8px; }
.rem-ev-host-bio   { font-size: 14px; color: #4A5568; line-height: 1.65; margin-bottom: 12px; }
.rem-ev-host-card-link { font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--primary, #29ABE2); text-decoration: none; }
.rem-ev-host-card-link:hover { color: var(--authority, #0D1B2A); }

/* Apply sub */
.rem-ev-apply-sub { font-size: 15px; color: rgba(13,27,42,0.55); margin-bottom: 24px; }

/* Maps */
.rem-ev-map-embed  { overflow: hidden; border: 1px solid #E2E5E9; }
.rem-ev-maps-link  { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--primary,#29ABE2); text-decoration: none; font-weight: 600; }
.rem-ev-maps-note  { font-size: 12px; color: rgba(13,27,42,0.35); margin-top: 8px; }


/* ── 04  COUNTDOWN TIMER ──────────────────────────────────────────────────── */

.rem-ev-countdown {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 28px;
}

.rem-ev-countdown-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 64px;
}

.rem-ev-cd-num {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1;
  display: block;
}

.rem-ev-cd-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(242, 244, 247, 0.4);
  margin-top: 4px;
}

.rem-ev-countdown-sep {
  font-size: 32px;
  font-weight: 800;
  color: rgba(242,244,247,0.2);
  padding: 0 4px;
  margin-bottom: 16px;
}

.rem-ev-past-note {
  font-size: 13px;
  color: rgba(242,244,247,0.45);
  margin-bottom: 24px;
  letter-spacing: .04em;
}


/* ── 05  HERO CTA BUTTONS ─────────────────────────────────────────────────── */

.rem-ev-hero-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.rem-ev-apply-btn {
  display: inline-block;
  background: var(--primary, #29ABE2);
  color: #fff;
  padding: 14px 32px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s;
}
.rem-ev-apply-btn:hover { background: var(--accent, #C9A84C); color: var(--authority, #0D1B2A); }

.rem-ev-ics-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(242,244,247,0.55);
  text-decoration: none;
  text-transform: uppercase;
}
.rem-ev-ics-link:hover { color: rgba(242,244,247,0.9); }


/* ── 06  SIDEBAR ──────────────────────────────────────────────────────────── */

.rem-ev-sidebar { position: sticky; top: 96px; }

.rem-ev-sidebar-module {
  padding: 20px;
  background: var(--background, #F2F4F7);
  border: 1px solid #E2E5E9;
  margin-bottom: 16px;
}

.rem-ev-sidebar-label { font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(13,27,42,0.4); margin-bottom: 10px; }

.rem-ev-cal-block { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 12px; }
.rem-ev-cal-block .rem-ev-cal-month { background: var(--authority,#0D1B2A); padding: 6px 10px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--primary,#29ABE2); }
.rem-ev-cal-block .rem-ev-cal-day   { font-size: 2rem; font-weight: 800; color: #fff; }
.rem-ev-cal-date  { font-size: 13px; font-weight: 700; color: var(--authority,#0D1B2A); margin-bottom: 2px; }
.rem-ev-cal-time  { font-size: 12px; color: rgba(13,27,42,0.55); margin-bottom: 2px; }
.rem-ev-cal-venue { font-size: 12px; color: rgba(13,27,42,0.45); }

.rem-ev-ics-btn { display: flex; align-items: center; gap: 7px; margin-top: 12px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary,#29ABE2); text-decoration: none; }
.rem-ev-ics-btn:hover { color: var(--authority,#0D1B2A); }

.rem-ev-sponsor-name { font-size: 14px; font-weight: 700; color: var(--authority,#0D1B2A); text-decoration: none; display: block; }
.rem-ev-sidebar-invite-note { font-size: 11px; color: rgba(13,27,42,0.4); margin-top: 10px; line-height: 1.5; }

.rem-ev-sidebar-cta .rem-ev-apply-btn { background: var(--authority,#0D1B2A); }
.rem-ev-sidebar-cta .rem-ev-apply-btn:hover { background: var(--primary,#29ABE2); }


/* ── 07  MORE EVENTS ─────────────────────────────────────────────────────── */

.rem-ev-more { background: var(--authority,#0D1B2A); padding: 64px 0; }
.rem-ev-more-title { font-size: clamp(1.4rem,2.5vw,2rem); font-weight: 800; color: #fff; margin-bottom: 32px; }

.rem-ev-more-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }

.rem-ev-more-card { display: flex; gap: 16px; padding: 20px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); text-decoration: none; transition: border-color .2s; }
.rem-ev-more-card:hover { border-color: var(--primary,#29ABE2); }

.rem-ev-more-cal { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 6px 10px; background: rgba(255,255,255,0.08); flex-shrink: 0; min-width: 44px; }
.rem-ev-more-mon { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--primary,#29ABE2); }
.rem-ev-more-day { font-size: 20px; font-weight: 800; color: #fff; line-height: 1.1; }
.rem-ev-more-type   { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent,#C9A84C); display: block; margin-bottom: 4px; }
.rem-ev-more-name   { font-size: 14px; font-weight: 700; color: #fff; line-height: 1.25; margin-bottom: 4px; }
.rem-ev-more-venue  { font-size: 12px; color: rgba(242,244,247,0.45); }

.rem-ev-all-link { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary,#29ABE2); text-decoration: none; }
.rem-ev-all-link:hover { color: var(--accent,#C9A84C); }


/* ── 08  EVENT ARCHIVE ────────────────────────────────────────────────────── */

.rem-ev-arch-header {
  position: relative;
  background: var(--authority, #0D1B2A);
  padding: 120px 56px 72px;
}

.rem-ev-arch-eyebrow { display: block; margin-bottom: 12px; }
.rem-ev-arch-title   { font-size: clamp(48px,7vw,96px); font-weight: 800; color: #fff; line-height: 1; margin-bottom: 20px; }
.rem-ev-arch-intro   { font-size: clamp(15px,1.8vw,18px); color: rgba(242,244,247,0.65); max-width: 560px; line-height: 1.7; }

.rem-ev-arch-section { padding: 56px 0; }
.rem-ev-arch-section.rem-ev-arch-past { background: var(--background,#F2F4F7); }

.rem-ev-arch-section-header { display: flex; align-items: center; gap: 24px; margin-bottom: 36px; }
.rem-ev-arch-section-title  { font-size: clamp(1.4rem,2.5vw,2rem); font-weight: 800; color: var(--authority,#0D1B2A); white-space: nowrap; }
.rem-ev-arch-section-header--past .rem-ev-arch-section-title { color: rgba(13,27,42,0.45); }
.rem-ev-arch-rule { flex: 1; height: 1px; background: #E2E5E9; }

.rem-ev-arch-empty { padding: 48px 0; color: rgba(13,27,42,0.4); font-size: 16px; }


/* ── 09  CITY FILTER ──────────────────────────────────────────────────────── */

.rem-ev-city-filter { background: #fff; border-bottom: 1px solid #E2E5E9; }
.rem-ev-city-filter-inner { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; padding: 0 40px; }
.rem-ev-city-filter-inner::-webkit-scrollbar { display: none; }

.rem-ev-city-tab {
  display: inline-flex;
  align-items: center;
  padding: 14px 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(13,27,42,0.45);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: color .2s, border-color .2s;
}

.rem-ev-city-tab:hover { color: var(--authority,#0D1B2A); }
.rem-ev-city-tab--active { color: var(--primary,#29ABE2); border-bottom-color: var(--primary,#29ABE2); }


/* ── 10  ARCHIVE CARDS ────────────────────────────────────────────────────── */

.rem-ev-arch-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }

.rem-ev-arch-card { background: #fff; border: 1px solid #E2E5E9; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.rem-ev-arch-card:hover { border-color: var(--primary,#29ABE2); }

.rem-ev-arch-card-img img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.rem-ev-arch-card-img--placeholder { aspect-ratio: 16/9; background: var(--authority,#0D1B2A); display: flex; align-items: center; justify-content: center; }
.rem-ev-arch-placeholder-cal { text-align: center; }
.rem-ev-arch-ph-mon { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--primary,#29ABE2); }
.rem-ev-arch-ph-day { display: block; font-size: 40px; font-weight: 800; color: rgba(255,255,255,0.15); }

.rem-ev-arch-card-body { padding: 20px; }

.rem-ev-arch-card-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.rem-ev-badge--card   { font-size: 9px; }

.rem-ev-arch-status { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 3px 8px; }
.rem-ev-arch-status--open { background: rgba(41,171,226,0.1); color: var(--primary,#29ABE2); }
.rem-ev-arch-status--past { background: rgba(13,27,42,0.06); color: rgba(13,27,42,0.4); }

.rem-ev-arch-card-title { font-size: 1.05rem; font-weight: 700; color: var(--authority,#0D1B2A); margin-bottom: 10px; line-height: 1.25; }
.rem-ev-arch-card-title a { color: inherit; text-decoration: none; }
.rem-ev-arch-card-title a:hover { color: var(--primary,#29ABE2); }

.rem-ev-arch-card-meta { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.rem-ev-arch-meta-item { display: flex; align-items: flex-start; gap: 7px; font-size: 12px; color: rgba(13,27,42,0.55); }
.rem-ev-arch-meta-item svg { flex-shrink: 0; margin-top: 1px; opacity: 0.5; }

.rem-ev-arch-sponsor { padding: 8px 0; border-top: 1px solid #E2E5E9; margin-bottom: 12px; font-size: 11px; color: rgba(13,27,42,0.4); }
.rem-ev-arch-sponsor-label { margin-right: 6px; }
.rem-ev-arch-sponsor-name { color: var(--authority,#0D1B2A); font-weight: 600; text-decoration: none; }

.rem-ev-arch-card-cta { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary,#29ABE2); text-decoration: none; }
.rem-ev-arch-card-cta:hover { color: var(--authority,#0D1B2A); }


/* ── 11  PAST EVENTS LIST ─────────────────────────────────────────────────── */

.rem-ev-past-list { display: flex; flex-direction: column; }

.rem-ev-past-item { display: flex; align-items: flex-start; gap: 16px; padding: 20px 0; border-bottom: 1px solid #E2E5E9; }
.rem-ev-past-item:last-child { border-bottom: none; }

.rem-ev-past-thumb { width: 100px; flex-shrink: 0; overflow: hidden; background: var(--authority,#0D1B2A); }
.rem-ev-past-thumb img { width: 100px; height: 67px; object-fit: cover; display: block; }

.rem-ev-past-info { flex: 1; }
.rem-ev-past-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.rem-ev-past-type   { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent,#C9A84C); }
.rem-ev-past-date   { font-size: 12px; color: rgba(13,27,42,0.4); }
.rem-ev-past-venue  { font-size: 12px; color: rgba(13,27,42,0.4); }
.rem-ev-past-title  { font-size: 1rem; font-weight: 700; color: var(--authority,#0D1B2A); }
.rem-ev-past-title a { color: inherit; text-decoration: none; }
.rem-ev-past-title a:hover { color: var(--primary,#29ABE2); }

.rem-ev-past-tag { flex-shrink: 0; }


/* ── 12  HOST GUIDE ───────────────────────────────────────────────────────── */

.rem-host-guide-print-bar { background: #fff; border-bottom: 1px solid #E2E5E9; }

.rem-host-guide-doc {
  max-width: 740px;
  margin: 0 auto;
  padding: 56px 56px 80px;
}

/* Guide header */
.rem-hg-header { margin-bottom: 48px; padding-bottom: 24px; border-bottom: 3px solid var(--authority,#0D1B2A); }
.rem-hg-platform { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.rem-hg-platform-name { font-size: 1rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--authority,#0D1B2A); }
.rem-hg-doc-type { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(13,27,42,0.35); }
.rem-hg-accent { height: 4px; background: var(--primary,#29ABE2); margin-top: 16px; }

/* Event identity */
.rem-hg-event-id { margin-bottom: 48px; }
.rem-hg-event-type { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent,#C9A84C); margin-bottom: 8px; }
.rem-hg-event-title { font-size: clamp(1.8rem,4vw,3rem); font-weight: 800; color: var(--authority,#0D1B2A); margin-bottom: 24px; line-height: 1.1; }

.rem-hg-event-details { display: grid; grid-template-columns: auto 1fr; gap: 6px 24px; }
.rem-hg-detail { display: contents; }
.rem-hg-detail-label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(13,27,42,0.4); padding: 4px 0; }
.rem-hg-detail-value { font-size: 15px; color: var(--authority,#0D1B2A); font-weight: 500; padding: 4px 0; }

/* Guide sections */
.rem-hg-section { margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid #E2E5E9; }
.rem-hg-section:last-child { border-bottom: none; }
.rem-hg-section-title { font-size: 1.1rem; font-weight: 800; color: var(--authority,#0D1B2A); margin-bottom: 14px; }
.rem-hg-body { font-size: 15px; line-height: 1.75; color: #4A5568; margin-bottom: 12px; }

.rem-hg-wte-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.rem-hg-wte-item { font-size: 15px; color: #4A5568; padding-left: 20px; position: relative; }
.rem-hg-wte-item::before { content: ''; position: absolute; left: 0; top: 9px; width: 6px; height: 2px; background: var(--accent,#C9A84C); }

.rem-hg-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rem-hg-list li { font-size: 14px; color: #4A5568; padding-left: 16px; position: relative; line-height: 1.6; }
.rem-hg-list li::before { content: '—'; position: absolute; left: 0; color: rgba(13,27,42,0.3); }

.rem-hg-speakers-table, .rem-hg-ros-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rem-hg-speakers-table th { text-align: left; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(13,27,42,0.4); padding: 8px 12px; border-bottom: 2px solid var(--authority,#0D1B2A); }
.rem-hg-speakers-table td, .rem-hg-ros-table td { padding: 10px 12px; border-bottom: 1px solid #E2E5E9; color: #4A5568; vertical-align: top; }
.rem-hg-ros-time { font-weight: 700; color: var(--authority,#0D1B2A); white-space: nowrap; width: 80px; }

.rem-hg-contact-block { background: var(--background,#F2F4F7); padding: 20px; font-size: 14px; line-height: 1.7; color: #4A5568; margin-top: 12px; }
.rem-hg-contact-block p { margin-bottom: 8px; }

/* Guide footer */
.rem-hg-footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid #E2E5E9; font-size: 11px; color: rgba(13,27,42,0.35); }
.rem-hg-footer p { margin-bottom: 4px; }


/* ── RESPONSIVE ─────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  .rem-ev-body-layout    { grid-template-columns: 1fr; }
  .rem-ev-sidebar        { position: static; display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
  .rem-ev-arch-grid      { grid-template-columns: repeat(2,1fr); }
  .rem-ev-more-grid      { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 768px) {
  .rem-ev-hero-inner     { padding: 48px 24px; }
  .rem-ev-body-layout    { padding: 40px 24px 60px; }
  .rem-ev-arch-header    { padding: 96px 24px 56px; }
  .rem-ev-arch-grid      { grid-template-columns: 1fr; }
  .rem-ev-more-grid      { grid-template-columns: 1fr; }
  .rem-ev-sidebar        { grid-template-columns: 1fr; }
  .rem-host-guide-doc    { padding: 40px 24px 60px; }
  .rem-hg-event-details  { grid-template-columns: 1fr; }
}


/* ── PRINT STYLES (Host Guide only) ─────────────────────────────────────── */

@media print {
  .no-print, header.rem-nav, footer, .rem-ev-hero, .rem-ev-arch-header { display: none !important; }
  .rem-host-guide-doc { max-width: 100%; padding: 0; margin: 0; }
  .rem-hg-section { page-break-inside: avoid; }
  .rem-hg-section-title { page-break-after: avoid; }
  body { font-size: 11pt; color: #000; }
  a { color: #000; text-decoration: none; }
  .rem-hg-platform-name { font-size: 14pt; }
  .rem-hg-event-title   { font-size: 22pt; }
}
