/* news-card + event-item
   Ported verbatim from css/components.css in the static handoff. */
.jcao-news { max-width: var(--max); margin-inline: auto; padding: clamp(52px, 6.4vw, 92px) var(--gutter); }
.jcao-news__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: clamp(18px, 2vw, 24px); margin-top: clamp(28px, 3vw, 38px); }
/* See the matching comment in division-cards.css. */
.jcao-news__grid > .view, .jcao-events__grid > .view { display: contents; }
.jcao-newscard { display: flex; flex-direction: column; gap: 12px; background: var(--surface); border-radius: var(--r-xl); padding: clamp(20px, 2.2vw, 26px); text-decoration: none; color: var(--navy); box-shadow: 0 1px 2px rgba(28,35,51,.05), 0 8px 22px rgba(28,35,51,.07); transition: box-shadow .2s ease, transform .2s ease; }
.jcao-newscard:hover { color: var(--navy); box-shadow: var(--e-hover); transform: translateY(-3px); }
.jcao-newscard__meta { display: flex; align-items: center; gap: 10px; }
.jcao-tag { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 6px; background: var(--steel-tint); color: var(--steel-dark); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.jcao-tag--sand { background: var(--sand-tint); color: var(--sand); }
.jcao-tag--green { background: var(--green-tint); color: var(--green); }
.jcao-newscard__date { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-6); }
.jcao-newscard__title { display: block; font-family: var(--font-heading); font-weight: 600; font-size: 22px; line-height: 1.22; margin-top: 2px; }
.jcao-newscard__teaser { display: block; font-size: 14px; line-height: 1.6; color: var(--ink-4); }
.jcao-newscard__cta { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 14px; font-family: var(--font-heading); font-weight: 600; font-size: 14.5px; color: var(--steel-dark); }
.jcao-empty { font-size: 15px; color: var(--ink-5); margin: clamp(24px,3vw,34px) 0 0; }

.jcao-events { margin-top: clamp(24px, 2.8vw, 36px); border-top: 1px solid var(--rule-strong); padding-top: clamp(22px, 2.4vw, 30px); }
.jcao-events__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(266px, 1fr)); gap: clamp(14px, 1.6vw, 18px); margin-top: clamp(18px, 2vw, 24px); }
.jcao-event { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; background: var(--surface); border-radius: var(--r-lg); padding: 16px; text-decoration: none; color: var(--navy); box-shadow: 0 1px 2px rgba(28,35,51,.05); border-top: 2px solid var(--steel); transition: box-shadow .2s ease, transform .2s ease; }
.jcao-event:hover { color: var(--navy); box-shadow: 0 2px 6px rgba(28,35,51,.09), 0 12px 26px rgba(28,35,51,.11); transform: translateY(-2px); }
.jcao-event--green { border-top-color: var(--green); }
.jcao-event--sand { border-top-color: #a97a3f; }
.jcao-event__date { text-align: center; border-radius: 6px; background: var(--steel-tint); padding: 8px 11px; line-height: 1; }
.jcao-event--green .jcao-event__date { background: var(--green-tint); }
.jcao-event--sand .jcao-event__date { background: var(--sand-tint); }
.jcao-event__day { display: block; font-family: var(--font-heading); font-weight: 600; font-size: 22px; color: var(--steel); }
.jcao-event--green .jcao-event__day { color: var(--green); }
.jcao-event--sand .jcao-event__day { color: #a97a3f; }
.jcao-event__mon { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-5); margin-top: 3px; }
.jcao-event__title { display: block; font-family: var(--font-heading); font-weight: 600; font-size: 18.5px; line-height: 1.25; }
.jcao-event__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 7px; font-size: 13px; color: var(--ink-5); }
.jcao-event__meta span { display: inline-flex; align-items: center; gap: 6px; }
.jcao-event--past { opacity: .6; }
