.cards { color: var(--pine); }
.cards--white { background: #fff; }
.cards--warm { background: #fbfaf6; }
.cards--cream { background: var(--cream); }
.cards--sage { background: #e9ede3; }
.cards--pine { background: var(--pine); color: #fff; }
.cards__inner { width: 100%; max-width: 1280px !important; }
.cards__grid { display: grid; grid-auto-rows: 1fr; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 20px; }
.cards--card-layout-together .cards__grid { gap: 0; }
.cards--card-layout-together .cards__card + .cards__card { border-left-width: 0; }
.cards--count-1 .cards__grid { grid-template-columns: 1fr; }
.cards--count-2 .cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards--count-4 .cards__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards--count-5 .cards__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cards--count-6 .cards__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cards--per-row-1 .cards__grid { grid-template-columns: 1fr; }
.cards--per-row-2 .cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards--per-row-3 .cards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cards--per-row-4 .cards__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards--per-row-5 .cards__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cards--per-row-6 .cards__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cards__card { display: flex; height: 100%; min-width: 0; flex-direction: column; }
.cards--card-hover-lift .cards__card { transition: transform .2s ease, box-shadow .2s ease; }
.cards--card-hover-lift .cards__card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(7, 63, 59, .16); }
.cards--card-hover-accent .cards__card { transition: background .2s ease, color .2s ease; }
.cards--card-hover-accent .cards__card:hover { background: var(--pine) !important; color: #fff; }
.cards--card-hover-accent .cards__card:hover .cards__text { color: rgba(255, 255, 255, .72); }
.cards--card-background-transparent .cards__card { background: transparent; }
.cards--card-background-white .cards__card { background: #fff; }
.cards--card-background-warm .cards__card { background: #fbfaf6; }
.cards--card-background-cream .cards__card { background: var(--cream); }
.cards--card-background-sage .cards__card { background: #e9ede3; }
.cards--card-background-pine .cards__card { background: var(--pine); color: #fff; }
.cards__card--background-transparent { background: transparent !important; }
.cards__card--background-white { background: #fff !important; }
.cards__card--background-warm { background: #fbfaf6 !important; }
.cards__card--background-cream { background: var(--cream) !important; }
.cards__card--background-sage { background: #e9ede3 !important; }
.cards__card--background-pine { background: var(--pine) !important; color: #fff; }
.cards--card-border-line .cards__card { border: 1px solid rgba(7, 63, 59, .12); }
.cards--card-radius-12 .cards__card { overflow: hidden; border-radius: 12px; }
.cards--card-radius-24 .cards__card { overflow: hidden; border-radius: 24px; }
.cards--card-shadow-soft .cards__card { box-shadow: 0 16px 38px rgba(7, 63, 59, .11); }
.cards__image { display: block; width: 100%; aspect-ratio: 1.42 / 1; object-fit: cover; object-position: center; }
.cards__body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 28px; }
.cards__label { margin: 0; color: var(--gold); font: 700 var(--cms-card_label_size, 10px) / 1.35 var(--site-font); letter-spacing: .24em; }
.cards__title { margin: 20px 0 0; font-size: var(--cms-card_title_size, 25px); line-height: 1.12; }
.cards__text { margin: 15px 0 0; color: #62807c; font: 400 var(--cms-card_text_size, 15px) / 1.58 var(--site-font); }
.cards__link { display: inline-block; margin-top: auto; padding-top: 24px; color: inherit; font: 700 var(--cms-card_link_size, 13px) / 1.25 var(--site-font); text-decoration: underline; text-underline-offset: 5px; }
.cards--pine .cards__text { color: rgba(255, 255, 255, .72); }
.cards--card-background-pine .cards__text { color: rgba(255, 255, 255, .72); }
.cards__card--background-pine .cards__text { color: rgba(255, 255, 255, .72); }
@media (min-width: 768px) { .cards__inner { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } }
@media (max-width: 900px) { .cards--per-row-3 .cards__grid, .cards--per-row-4 .cards__grid, .cards--per-row-5 .cards__grid, .cards--per-row-6 .cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cards__grid { grid-auto-rows: auto; grid-template-columns: 1fr; } .cards__card { height: auto; } .cards__body { min-height: 0; padding: 24px; } }
