/* Minimal utility classes */
.container { max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto; padding-inline: 1rem; }
.section { padding: 64px 0; }
.section--muted { background: var(--wp--preset--color--stone); }
.hero { position: relative; min-height: 72vh; display: grid; place-items: center; text-align: center; padding: 96px 1rem; }
.hero__bg { position:absolute; inset:0; background-size: cover; background-position:center; filter: contrast(1.05) saturate(1.05); }
.hero__overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.25)); }
.hero__inner { position:relative; z-index:2; color:#fff; }
.badges { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; }
.badge { border-radius:999px; padding:.375rem .75rem; background:rgba(255,255,255,.12); color:#fff; font-weight:600; font-size:.9rem; }
.grid { display:grid; gap:24px; }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; background:#fff; }
.card__media { aspect-ratio: 16/9; background:#f3f4f6; }
.card__body { padding:20px; }
.shadow-soft { box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.cta { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.cta__title { font-size: clamp(1.5rem, 1rem + 2vw, 2.25rem); font-weight:700; }
.footer { font-size:.95rem; color: var(--wp--preset--color--muted); }
@media (max-width: 900px){ .grid-3, .grid-4 { grid-template-columns: 1fr; } .cta{flex-direction:column; align-items:flex-start;} }