/* SERVE-02: eight cards, 3:4 photo with a navy medallion hanging off the bottom-left, serif title, muted text, underlined link. */
.cc-p-serve-02 .cc-sv2__intro { display: flex; flex-direction: column; align-items: center; max-width: 48rem; margin: 0 auto 3rem !important; text-align: center; }
.cc-p-serve-02 .cc-sv2__intro > * { margin: 0; }
.cc-p-serve-02 .cc-sv2__ie { margin-bottom: .5rem !important; }
.cc-p-serve-02 .cc-sv2__ih { margin-bottom: 1rem !important; color: var(--wp--preset--color--navy); }
.cc-p-serve-02 .cc-sv2__irule { width: 3rem; height: 1px; margin-bottom: 1rem !important; background: var(--wp--preset--color--gold); }
.cc-p-serve-02 .cc-sv2__il { margin-bottom: .5rem !important; line-height: 1.5238; }
.cc-p-serve-02 .cc-sv2__ip { color: var(--wp--preset--color--muted); }
.cc-p-serve-02 .cc-sv2__eyebrow { margin-bottom: .25rem !important; font: 600 .75rem/1rem var(--wp--preset--font-family--label); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--gold-deep); }
.cc-p-serve-02 .cc-sv2__grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .cc-p-serve-02 .cc-sv2__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cc-p-serve-02 .cc-sv2__grid { grid-template-columns: repeat(4, 1fr); } }
.cc-p-serve-02 .cc-sv2__card { display: flex; flex-direction: column; justify-content: space-between; margin: 0; background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line); transition: border-color .2s; }
.cc-p-serve-02 .cc-sv2__card:hover { border-color: var(--wp--preset--color--gold); }
.cc-p-serve-02 .cc-sv2__card > *, .cc-p-serve-02 .cc-sv2__top > * { margin: 0; }
.cc-p-serve-02 .cc-sv2__media { position: relative; background: var(--wp--preset--color--parchment); }
.cc-p-serve-02 .cc-sv2__photo { margin: 0; overflow: hidden; }
.cc-p-serve-02 .cc-sv2__photo img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .5s; }
.cc-p-serve-02 .cc-sv2__card:hover .cc-sv2__photo img { transform: scale(1.05); }
.cc-p-serve-02 .cc-sv2__medal { --cc-icon-size: 24px; position: absolute; bottom: -1.5rem; left: 1.5rem; z-index: 10; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 52px; height: 52px; margin: 0; border-radius: 50%; background: var(--wp--preset--color--navy-deep); border: 1px solid var(--wp--preset--color--gold-deep); color: var(--wp--preset--color--gold-light); }
.cc-p-serve-02 .cc-sv2__medal::before { content: ""; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat; }
.cc-p-serve-02 .cc-sv2__copy { padding: 2.5rem 1.5rem 1rem; }
.cc-p-serve-02 .cc-sv2__copy > * { margin: 0; }
.cc-p-serve-02 .cc-sv2__title { margin-bottom: .5rem; font-size: 1.75rem; line-height: 1.375; font-weight: 600; color: var(--wp--preset--color--navy); }
.cc-p-serve-02 .cc-sv2__text { color: var(--wp--preset--color--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cc-p-serve-02 .cc-sv2__link { padding: .5rem 1.5rem 1.5rem; font: 600 .75rem/1rem var(--wp--preset--font-family--label); letter-spacing: .16em; text-transform: uppercase; }
.cc-p-serve-02 .cc-sv2__link a { display: inline-flex; padding-bottom: .125rem; border-bottom: 1px solid var(--wp--preset--color--gold-deep); color: var(--wp--preset--color--ink); text-decoration: none; transition: color .2s; }
.cc-p-serve-02 .cc-sv2__link a:hover { color: var(--wp--preset--color--gold-deep); }
