/* division-card + task-tile grid shell
   Ported verbatim from css/components.css in the static handoff. */
.jcao-section { max-width: var(--max); margin-inline: auto; padding: clamp(52px, 6.4vw, 92px) var(--gutter) clamp(28px, 3vw, 40px); }
.jcao-grid-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(302px, 1fr)); gap: clamp(22px, 2.4vw, 30px); margin-top: clamp(34px, 3.6vw, 48px); }
/* The division_cards View block still wraps its rows in one outer
   <div class="view">; display:contents drops it from the render tree
   so the .jcao-divcard teasers become direct grid children. See
   templates/views/views-view-unformatted--division-cards.html.twig
   for the row-level wrapper strip. */
.jcao-grid-cards > .view { display: contents; }
.jcao-divcard { background: var(--surface); border-radius: 9px; overflow: hidden; box-shadow: var(--e-2); display: flex; flex-direction: column; transition: box-shadow .2s ease, transform .2s ease; }
.jcao-divcard:hover { box-shadow: var(--e-hover); transform: translateY(-3px); }
.jcao-divcard__rule { display: block; height: 4px; background: linear-gradient(90deg, var(--steel), var(--steel-light)); }
.jcao-divcard--sand .jcao-divcard__rule { background: linear-gradient(90deg, var(--sand), var(--sand-mid)); }
.jcao-divcard--green .jcao-divcard__rule { background: linear-gradient(90deg, var(--green), var(--green-light)); }
.jcao-divcard__body { padding: clamp(24px, 2.4vw, 30px); display: flex; flex-direction: column; gap: 16px; flex: 1; }
.jcao-divcard__icon { width: 52px; height: 52px; border-radius: 7px; background: var(--steel-tint); color: var(--steel-dark); }
.jcao-divcard--sand .jcao-divcard__icon { background: var(--sand-tint); color: var(--sand); }
.jcao-divcard--green .jcao-divcard__icon { background: var(--green-tint); color: var(--green); }
.jcao-divcard h3 { font-size: 26px; line-height: 1.15; }
.jcao-divcard p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ink-4); }
.jcao-linklist { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; }
.jcao-linklist li { border-top: 1px solid var(--rule-soft); }
.jcao-linklist li:last-child { border-bottom: 1px solid var(--rule-soft); }
.jcao-linklist a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 11px 8px; margin: 0 -8px; border-radius: var(--r-sm); text-decoration: none; font-size: 14.5px; color: var(--ink-2); }
.jcao-linklist a:hover { background: #f4f7fb; color: var(--steel-dark); }
.jcao-linklist span[aria-hidden] { color: var(--ink-7); }
.jcao-divcard .jcao-btn { margin-top: auto; }
