/* Owned by T8/T24b — front page. */

/* Categories teaser */
.fc-cats-teaser { padding:4rem 1.5rem; max-width:1280px; margin:0 auto; }
.fc-cats-teaser h2 { font-family: Manrope, system-ui, sans-serif; text-align:center; font-size:clamp(1.75rem,4vw,2.5rem); margin:0 0 2rem; }
.fc-cats-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:1.5rem; }
.fc-cat-card { display:block; background:#fff; border-radius:10px; overflow:hidden; text-decoration:none; color:var(--fc-dark,#0E0E10); box-shadow:0 1px 3px rgba(0,0,0,.06); transition: transform .2s ease, box-shadow .2s ease; }
.fc-cat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.fc-cat-card__media { aspect-ratio: 4/3; background: var(--fc-surface,#F4F4F5); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.fc-cat-card__media img { width:100%; height:100%; object-fit:cover; transition: transform .35s ease; }
.fc-cat-card:hover .fc-cat-card__media img { transform: scale(1.04); }
.fc-cat-card__placeholder { font-size:3rem; color: var(--fc-yellow,#FFC72C); opacity:.5; }
.fc-cat-card h3 { font-family: Manrope, system-ui, sans-serif; font-size:1.125rem; margin:0; padding:1rem 1.25rem; border-top: 3px solid var(--fc-red,#E30613); }
@media (max-width:900px) { .fc-cats-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width:600px) { .fc-cats-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .fc-cat-card:hover { transform:none; }
  .fc-cat-card:hover .fc-cat-card__media img { transform:none; }
}

/* Services teaser */
.fc-svc-teaser-wrap { padding: 0; }
.fc-svc-teaser { padding: 4.5rem 1.5rem; max-width:1280px; margin:0 auto; }
.fc-svc-teaser__head { text-align:center; max-width: 720px; margin: 0 auto 3rem; }
.fc-svc-teaser__head h2 { font-family: Manrope, system-ui, sans-serif; font-size: clamp(1.75rem, 4vw, 2.5rem); margin: 0 0 .75rem; }
.fc-svc-teaser__head p { color: var(--fc-muted,#5A5A5F); font-size: 1.125rem; line-height: 1.5; margin: 0; }
.fc-svc-teaser__grid { display:grid; grid-template-columns: repeat(5, 1fr); gap: 1.25rem; margin-bottom: 2.5rem; }
.fc-svc-card { background:#fff; border-radius:10px; padding: 1.75rem 1.25rem 1.5rem; text-align:center; border-top: 3px solid transparent; box-shadow: 0 1px 3px rgba(0,0,0,.05); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.fc-svc-card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0,0,0,.08); border-top-color: var(--fc-red,#E30613); }
.fc-svc-card__icon { color: var(--fc-red,#E30613); margin-bottom: 1rem; display:inline-flex; }
.fc-svc-card h3 { font-family: Manrope, system-ui, sans-serif; font-size: 1rem; margin: 0 0 .5rem; color: var(--fc-dark,#0E0E10); }
.fc-svc-card p { font-size: .875rem; color: var(--fc-muted,#5A5A5F); line-height: 1.45; margin: 0; }
.fc-svc-teaser__cta { text-align:center; }

@media (max-width: 1100px) { .fc-svc-teaser__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .fc-svc-teaser__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .fc-svc-teaser__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .fc-svc-card:hover { transform: none; } }
