/* Optional homepage finishing layer. Remove its header link to restore the
   approved October 15 version. Typography, buttons and gentle interactions. */
html body.home #BodyContainer .hp-table .header-title,
html body.home #BodyContainer .hp-table .widget_header h5 {
  font-family: Montserrat, sans-serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  text-transform: uppercase !important;
}
html body.home #BodyContainer #injected-upcoming-events-section h2 {
  font-family: Montserrat, sans-serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  text-transform: uppercase !important;
}
html body.home #BodyContainer .hp_content_wrapper .widget_header h5 {
  font-size: 18px !important;
  letter-spacing: 0 !important;
}
html body.home #BodyContainer .sneak_peek h6 a {
  font-family: Montserrat, sans-serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

/* Secondary actions are outlines; event registration remains solid green. */
html body.home #BodyContainer .hp-table a.readMore,
html body.home #BodyContainer .hp-table a.readMore > span,
html body.home #BodyContainer .injected-event-card .event-card-button {
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body.home #BodyContainer .hp-table a.readMore {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px !important;
  padding: 11px 22px !important;
  border-width: 1.5px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: #0e6e7b !important;
  -webkit-text-fill-color: #0e6e7b !important;
  border-color: #0e6e7b !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
html body.home #BodyContainer .hp-table a.readMore > span {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
html body.home #BodyContainer .hp-table a.readMore:hover {
  background: #0e6e7b !important;
  border-color: #0e6e7b !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body.home #BodyContainer .injected-event-card .event-card-button {
  background: #4f7f3e !important;
  border-color: #4f7f3e !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  min-height: 46px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}
html body.home #BodyContainer .injected-event-card .event-card-button:hover {
  background: #426d34 !important;
  border-color: #426d34 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body.home #BodyContainer .hp-row-first .promo_slider .cycle-caption a.readMore {
  background: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body.home #BodyContainer .hp-row-first .promo_slider .cycle-caption a.readMore:hover {
  background: #ffffff18 !important;
  border-color: #fff !important;
}
html body.home #BodyContainer .hp-row:not(.hp-row-first) .promo_slider .cycle-caption a.readMore {
  color: #b5edf0 !important;
  -webkit-text-fill-color: #b5edf0 !important;
  border-color: #8ed2d9 !important;
}
html body.home #BodyContainer .hp-row:not(.hp-row-first) .promo_slider .cycle-caption a.readMore:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #ffffff18 !important;
  border-color: #fff !important;
}
html body.home #BodyContainer .hp-table a.readMore:focus-visible,
html body.home #BodyContainer .injected-event-card .event-card-button:focus-visible {
  outline: 3px solid #0e6e7b !important;
  outline-offset: 4px !important;
}
html body.home #BodyContainer .promo_slider a.readMore:focus-visible { outline-color: #fff !important; }

/* Only hover-capable devices receive movement; touch cards remain stationary. */
@media (hover: hover) and (pointer: fine) {
  html body.home #BodyContainer .sneak_peek .widget_content,
  html body.home #BodyContainer .latest_photos .widget_content li {
    transition: transform .2s ease, box-shadow .2s ease;
  }
  html body.home #BodyContainer .sneak_peek .thumbnail img,
  html body.home #BodyContainer .latest_photos .widget_content li img {
    transition: transform .3s ease;
  }
  html body.home #BodyContainer .sneak_peek .widget_content:hover,
  html body.home #BodyContainer .latest_photos .widget_content li:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px #0e6e7b20;
  }
  html body.home #BodyContainer .sneak_peek .widget_content:hover .thumbnail img,
  html body.home #BodyContainer .latest_photos .widget_content li:hover img {
    transform: scale(1.025);
  }
}

/* Existing form fields and submission behavior stay native. */
html body.home.cco_body #BodyContainer .hp-table > .hp-row.hp_subscribe {
  background: linear-gradient(135deg, #4cbece 0%, #2bafbe 38%, #178f9f 72%, #137c8b 100%) !important;
}
html body.home #BodyContainer .hp_subscribe .widget_header { margin-bottom: 28px !important; }
html body.home #BodyContainer .hp_subscribe fieldset {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1.5fr auto;
  gap: 12px;
  width: 100% !important;
  max-width: 1080px;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
}
html body.home #BodyContainer .hp_subscribe input:not([type="hidden"]) {
  width: 100% !important;
  min-width: 0 !important;
  height: 52px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}
html body.home #BodyContainer .hp_subscribe #formContainer fieldset input[type="submit"] {
  background: #4f7f3e !important;
  border-color: #4f7f3e !important;
  color: #fff !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body.home #BodyContainer .hp_subscribe #formContainer fieldset input[type="submit"]:hover {
  background: #426d34 !important;
  border-color: #426d34 !important;
}
html body.home #BodyContainer .hp_subscribe #formContainer fieldset > small:not(#response) {
  display: block !important;
  grid-column: 1 / -1;
  margin: 4px 0 0 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: center;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
html body.home #BodyContainer .hp_subscribe input:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px #0e6e7b !important;
}

/* Readable contact text and larger, consistent social targets. Homepage only. */
html body.home #footer .footer_inner_container,
html body.home #footer .footer_inner_container > a {
  font-size: 12px !important;
  line-height: 1.7 !important;
}
html body.home #footer .footer3 {
  max-width: 760px !important;
  margin: 0 auto 14px !important;
  text-wrap: balance;
}
html body.home #footer .footer3,
html body.home #footer .footer3 b {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  letter-spacing: 0 !important;
}
html body.home #footer .cs-f-social-icons { gap: 16px !important; margin-top: 24px !important; }
html body.home #footer .cs-f-social-icons a {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border: 1px solid #ffffff38 !important;
  border-radius: 50% !important;
  background: #ffffff08 !important;
  color: #ffffffd9 !important;
}
html body.home #footer .cs-f-social-icons a::before {
  color: #ffffffd9 !important;
  font-size: 18px !important;
}
html body.home #footer .cs-f-social-icons a:hover,
html body.home #footer .cs-f-social-icons a:focus-visible {
  background: #ffffff20 !important;
  border-color: #ffffffa0 !important;
  outline-color: #fff !important;
}
html body.home #footer .cs-f-social-icons a:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 4px !important;
}

@media (max-width: 800px) {
  html body.home #BodyContainer .hp-table .header-title,
  html body.home #BodyContainer .hp-table .widget_header h5,
  html body.home #BodyContainer #injected-upcoming-events-section h2 { font-size: 28px !important; }
  html body.home #BodyContainer .hp_content_wrapper .widget_header h5 { font-size: 18px !important; }
  html body.home #BodyContainer .sneak_peek h6 a { font-size: 16px !important; }
  html body.home #BodyContainer .hp_subscribe fieldset { grid-template-columns: 1fr 1fr; }
  html body.home #BodyContainer .hp_subscribe input[type="email"],
  html body.home #BodyContainer .hp_subscribe input[type="submit"] { grid-column: 1 / -1; }
}
@media (max-width: 360px) {
  html body.home #BodyContainer .hp_subscribe fieldset { grid-template-columns: minmax(0, 1fr); }
  html body.home #BodyContainer .hp-table a.readMore { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body.home #BodyContainer .sneak_peek .widget_content,
  html body.home #BodyContainer .sneak_peek .thumbnail img,
  html body.home #BodyContainer .latest_photos .widget_content li,
  html body.home #BodyContainer .latest_photos .widget_content li img,
  html body.home #BodyContainer .hp-table a.readMore,
  html body.home #footer .cs-f-social-icons a {
    transition: none !important;
    transform: none !important;
  }
}
