/* Lively editorial accents — lightweight, no external GIFs */

@keyframes forumFloat {
  0%,100% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-7px) rotate(2deg); }
}
@keyframes forumPulse {
  0%,100% { transform:scale(1); opacity:.92; }
  50% { transform:scale(1.08); opacity:1; }
}

/* Contextual emoji badges: large enough to feel intentional, not tiny decorative noise. */
html body .benefit,
html body .outcome-item,
html body .ticket-card,
html body .location-card,
html body .final-cta,
html body .registration-form {
  position:relative !important;
}

html body .benefit::before,
html body .outcome-item::before {
  position:absolute !important;
  top:16px !important;
  right:17px !important;
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(238,245,241,.14) !important;
  background:rgba(255,255,255,.045) !important;
  border-radius:50% !important;
  font-size:21px !important;
  line-height:1 !important;
  box-shadow:0 10px 30px rgba(0,0,0,.12) !important;
  animation:forumFloat 4.8s ease-in-out infinite !important;
}

html body .benefit:nth-child(1)::before { content:"🛠️" !important; }
html body .benefit:nth-child(2)::before { content:"💡" !important; animation-delay:.35s !important; }
html body .benefit:nth-child(3)::before { content:"🤝" !important; animation-delay:.7s !important; }
html body .benefit:nth-child(4)::before { content:"🚀" !important; animation-delay:1.05s !important; }

html body .outcome-item:nth-child(1)::before { content:"📚" !important; }
html body .outcome-item:nth-child(2)::before { content:"🧭" !important; }
html body .outcome-item:nth-child(3)::before { content:"👥" !important; }
html body .outcome-item:nth-child(4)::before { content:"📈" !important; }
html body .outcome-item:nth-child(5)::before { content:"💬" !important; }
html body .outcome-item:nth-child(6)::before { content:"🤝" !important; }
html body .outcome-item:nth-child(7)::before { content:"✨" !important; }

html body .benefit h3,
html body .outcome-item strong {
  padding-right:46px !important;
}

/* Tickets: one strong icon per offer. */
html body .ticket-card::before {
  position:absolute !important;
  right:22px !important;
  bottom:22px !important;
  font-size:38px !important;
  line-height:1 !important;
  opacity:.23 !important;
  filter:grayscale(.08) !important;
  animation:forumPulse 5s ease-in-out infinite !important;
  pointer-events:none !important;
}
html body .ticket-card:nth-child(1)::before { content:"🏠" !important; }
html body .ticket-card:nth-child(2)::before { content:"🎟️" !important; animation-delay:.5s !important; }
html body .ticket-card:nth-child(3)::before { content:"👥" !important; animation-delay:1s !important; }

/* Location and final CTA get one readable contextual accent. */
html body .location-copy h2::before {
  content:"📍" !important;
  display:inline-block !important;
  margin-right:14px !important;
  font-family:Apple Color Emoji,"Segoe UI Emoji",sans-serif !important;
  font-size:.48em !important;
  vertical-align:.18em !important;
  animation:forumFloat 4.2s ease-in-out infinite !important;
}
html body .final-copy h2::before {
  content:"✨" !important;
  display:block !important;
  width:max-content !important;
  margin-bottom:16px !important;
  font-family:Apple Color Emoji,"Segoe UI Emoji",sans-serif !important;
  font-size:34px !important;
  animation:forumPulse 4s ease-in-out infinite !important;
}

/* Registration section: centered, cleaner and more premium. */
html body .participants-section {
  text-align:center !important;
}
html body .participants-head {
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  max-width:900px !important;
}
html body .participants-head .section-title {
  margin-left:auto !important;
  margin-right:auto !important;
}
html body .participants-head p {
  margin:22px auto 0 !important;
  max-width:620px !important;
  text-align:center !important;
}
html body .registration-layout {
  display:grid !important;
  grid-template-columns:minmax(0,720px) !important;
  justify-content:center !important;
  justify-items:center !important;
  width:100% !important;
  margin:0 auto !important;
}
html body .registration-form {
  width:100% !important;
  max-width:720px !important;
  margin:0 auto !important;
  text-align:left !important;
  padding:clamp(28px,4vw,48px) !important;
  border:1px solid rgba(212,232,224,.18) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(24,193,145,.10),transparent 34%),
    linear-gradient(145deg,#0b4939 0%,#0a3c31 52%,#082c26 100%) !important;
  box-shadow:0 34px 90px rgba(0,0,0,.22) !important;
}
html body .registration-form::before {
  content:"📝" !important;
  position:absolute !important;
  top:-27px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  border:1px solid rgba(230,240,235,.22) !important;
  background:#b98c52 !important;
  font-size:26px !important;
  box-shadow:0 14px 36px rgba(0,0,0,.22) !important;
  animation:forumFloat 4.5s ease-in-out infinite !important;
}
html body .registration-form h3 {
  text-align:center !important;
  margin-top:8px !important;
}
html body .registration-form > p:first-of-type {
  text-align:center !important;
}
html body .registration-form .button {
  margin-left:auto !important;
  margin-right:auto !important;
  min-width:min(100%,320px) !important;
}

/* Inputs get a subtle interactive lift rather than more decoration. */
html body .registration-form input:not([type="checkbox"]) {
  transition:border-color .2s ease,background .2s ease,transform .2s ease !important;
}
html body .registration-form input:not([type="checkbox"]):focus {
  transform:translateY(-1px) !important;
  border-color:rgba(39,214,161,.68) !important;
  background:rgba(255,255,255,.045) !important;
}

/* Date and time: deliberate, high-contrast event anchor. */
html body .hero .eyebrow {
  color:#fffaf2 !important;
  background:linear-gradient(90deg,rgba(185,140,82,.96),rgba(139,99,52,.90)) !important;
  border-color:rgba(255,240,217,.38) !important;
  padding:12px 16px !important;
  font-size:12px !important;
  font-weight:850 !important;
  letter-spacing:.13em !important;
  box-shadow:0 12px 38px rgba(0,0,0,.20),0 0 0 1px rgba(255,255,255,.04) inset !important;
}
html body .hero .eyebrow .live-dot {
  background:#28d6a2 !important;
  box-shadow:0 0 0 6px rgba(40,214,162,.16),0 0 18px rgba(40,214,162,.75) !important;
}

html body .countdown-section {
  background:linear-gradient(105deg,#071d19 0%,#0a332a 55%,#0a4334 100%) !important;
  border-top:1px solid rgba(185,140,82,.38) !important;
  border-bottom:1px solid rgba(185,140,82,.38) !important;
}
html body .countdown-wrap > div:first-child {
  position:relative !important;
  padding:28px 30px 30px !important;
  border:1px solid rgba(223,190,143,.34) !important;
  background:linear-gradient(145deg,rgba(185,140,82,.13),rgba(255,255,255,.018)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.20) !important;
}
html body .countdown-wrap > div:first-child::before {
  content:"📅" !important;
  display:block !important;
  width:max-content !important;
  margin-bottom:14px !important;
  font-size:30px !important;
  animation:forumFloat 4.6s ease-in-out infinite !important;
}
html body .countdown-wrap h2 {
  margin:0 !important;
  color:#d5a765 !important;
  font-size:clamp(50px,5.5vw,84px) !important;
  font-weight:700 !important;
  line-height:.92 !important;
  letter-spacing:-.055em !important;
  text-shadow:0 8px 30px rgba(0,0,0,.18) !important;
}
html body .countdown-wrap h2 span {
  display:inline-block !important;
  margin-top:12px !important;
  color:#ffffff !important;
  font-size:.68em !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}
html body .countdown-wrap h2 span::after {
  content:"  ⏰" !important;
  font-family:Apple Color Emoji,"Segoe UI Emoji",sans-serif !important;
  font-size:.58em !important;
  vertical-align:.10em !important;
}
html body .countdown {
  filter:drop-shadow(0 24px 52px rgba(0,0,0,.16)) !important;
}
html body .countdown strong {
  color:#32ddb0 !important;
  text-shadow:0 0 22px rgba(50,221,176,.16) !important;
}
html body .countdown span {
  color:#e9f4ef !important;
  opacity:.78 !important;
}

/* ===== Readability pass for a 40+ audience ===== */
/* Navigation and controls should never rely on tiny text. */
html body .desktop-nav a {
  font-size:15px !important;
  font-weight:700 !important;
  color:#dce9e4 !important;
}
html body .header-cta,
html body .button {
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.025em !important;
}
html body .brand-text small {
  font-size:10px !important;
  opacity:.82 !important;
}

/* Program hierarchy: TIME -> SPEAKER -> TOPIC -> DESCRIPTION. */
html body .schedule-row {
  min-height:118px !important;
  padding-top:24px !important;
  padding-bottom:24px !important;
  align-items:center !important;
}
html body .schedule-row time {
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  color:#e4c492 !important;
  letter-spacing:-.01em !important;
  opacity:1 !important;
}
html body .schedule-row .tag {
  display:block !important;
  margin-bottom:9px !important;
  color:#ffffff !important;
  font-size:clamp(18px,1.45vw,23px) !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}
html body .schedule-row h3 {
  max-width:1020px !important;
  margin:0 !important;
  color:#b9cbc5 !important;
  font-size:clamp(17px,1.35vw,21px) !important;
  font-weight:600 !important;
  line-height:1.38 !important;
  letter-spacing:-.015em !important;
}
html body .schedule-row p {
  max-width:900px !important;
  margin-top:9px !important;
  color:#91aaa1 !important;
  font-size:16px !important;
  line-height:1.52 !important;
}

/* Utility labels remain secondary, but still readable. */
html body .ticket-badge,
html body .ticket-type,
html body .featured-line,
html body .late-label,
html body .form-field > span,
html body .form-consent,
html body .partner-label span,
html body .partner-label small {
  font-size:12px !important;
  line-height:1.4 !important;
}
html body .ticket-card p,
html body .ticket-card li,
html body .about-copy p,
html body .benefit p,
html body .participants-head p,
html body .registration-form > p {
  font-size:16px !important;
  line-height:1.55 !important;
}
html body .benefit h3,
html body .ticket-type {
  font-weight:750 !important;
}

/* Inputs: comfortable target size and readable text. */
html body .registration-form input:not([type="checkbox"]) {
  min-height:58px !important;
  font-size:17px !important;
  line-height:1.35 !important;
}
html body .registration-form .form-field > span {
  color:#ecf4f0 !important;
  font-size:13px !important;
  font-weight:800 !important;
}
html body .registration-form .form-consent {
  font-size:14px !important;
  line-height:1.5 !important;
}

@media (max-width:760px) {
  html body .benefit::before,
  html body .outcome-item::before {
    width:36px !important;
    height:36px !important;
    top:12px !important;
    right:12px !important;
    font-size:18px !important;
  }
  html body .benefit h3,
  html body .outcome-item strong {
    padding-right:38px !important;
  }
  html body .ticket-card::before {
    right:16px !important;
    bottom:16px !important;
    font-size:30px !important;
  }
  html body .participants-section {
    padding-top:78px !important;
  }
  html body .participants-head {
    max-width:100% !important;
  }
  html body .registration-layout {
    grid-template-columns:1fr !important;
  }
  html body .registration-form {
    max-width:none !important;
    padding:34px 20px 24px !important;
  }
  html body .registration-form::before {
    top:-24px !important;
    width:48px !important;
    height:48px !important;
    font-size:23px !important;
  }
  html body .location-copy h2::before {
    margin-right:8px !important;
  }

  html body .hero .eyebrow {
    width:max-content !important;
    max-width:100% !important;
    padding:11px 13px !important;
    font-size:12px !important;
    letter-spacing:.07em !important;
  }
  html body .countdown-wrap > div:first-child {
    padding:22px 18px 24px !important;
    text-align:center !important;
  }
  html body .countdown-wrap > div:first-child::before {
    margin:0 auto 10px !important;
    font-size:25px !important;
  }
  html body .countdown-wrap h2 {
    font-size:clamp(39px,12.2vw,54px) !important;
    line-height:.94 !important;
  }
  html body .countdown-wrap h2 span {
    margin-top:9px !important;
    font-size:.66em !important;
  }
  html body .countdown strong {
    color:#38e5b7 !important;
  }
  html body .countdown span {
    font-size:8px !important;
    font-weight:800 !important;
    opacity:.92 !important;
  }

  html body .mobile-menu a {
    font-size:18px !important;
    line-height:1.3 !important;
  }
  html body .schedule-row {
    min-height:0 !important;
    padding:22px 0 !important;
    gap:10px !important;
  }
  html body .schedule-row time {
    font-size:16px !important;
    color:#e3bd80 !important;
  }
  html body .schedule-row .tag {
    margin-bottom:7px !important;
    font-size:19px !important;
    line-height:1.2 !important;
  }
  html body .schedule-row h3 {
    font-size:16px !important;
    line-height:1.42 !important;
  }
  html body .schedule-row p {
    font-size:15px !important;
    line-height:1.52 !important;
  }
  html body .ticket-card p,
  html body .ticket-card li,
  html body .about-copy p,
  html body .benefit p,
  html body .participants-head p,
  html body .registration-form > p {
    font-size:15px !important;
  }
  html body .registration-form input:not([type="checkbox"]) {
    min-height:56px !important;
    font-size:17px !important;
  }
  html body .registration-form .form-field > span {
    font-size:13px !important;
  }
  html body .button,
  html body .header-cta {
    min-height:50px !important;
    font-size:14px !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  html body .benefit::before,
  html body .outcome-item::before,
  html body .ticket-card::before,
  html body .location-copy h2::before,
  html body .final-copy h2::before,
  html body .registration-form::before,
  html body .countdown-wrap > div:first-child::before {
    animation:none !important;
  }
}
