:root { --cc-transition: 180ms ease; }
html { scroll-behavior: smooth; }
body { margin: 0; text-rendering: optimizeLegibility; }
*:focus-visible { outline: 3px solid var(--wp--preset--color--coral); outline-offset: 3px; }
.wp-site-blocks { overflow: clip; }
.cc-topbar a { color: inherit; text-decoration: none; }
.cc-header { position: relative; z-index: 20; border-bottom: 1px solid rgba(7,86,127,.16); }
.cc-header .wp-block-site-logo img { max-height: 72px; width: auto; }
.cc-hero { min-height: clamp(480px,70vh,760px); }
.cc-hero .wp-block-cover__inner-container { width: 100%; }
.cc-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-weight: 700; font-size: .78rem; }
.cc-card { height: 100%; overflow: hidden; background: #fff; box-shadow: var(--wp--custom--shadow--card); transition: transform var(--cc-transition), box-shadow var(--cc-transition); }
.cc-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(7,86,127,.18); }
.cc-card img { aspect-ratio: 16 / 10; object-fit: cover; }
.cc-card-arrow a::after { content: " →"; }
.cc-section-title { position: relative; padding-top: 1rem; }
.cc-section-title::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 64px; height: 4px; background: var(--wp--preset--color--ocean); }
.cc-event-date { min-width: 5.5rem; text-align: center; }
.cc-event-row { border-top: 1px solid rgba(7,86,127,.2); }
.cc-footer a { color: inherit; }
@media (max-width: 781px) {
  .cc-desktop-only { display: none !important; }
  .cc-header .wp-block-site-title { font-size: 1.1rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

