/* Owned by T7 — reusable patterns. */

/* Shared button system used by hero CTAs, CTA band, etc. */
.fc-btn { display:inline-block; padding:.85rem 1.75rem; border-radius:6px; font-weight:600; text-decoration:none; transition: background .15s ease, color .15s ease, border-color .15s ease; line-height:1; }
.fc-btn--primary { background:var(--fc-red,#E30613); color:#fff !important; }
.fc-btn--primary:hover { background:var(--fc-red-hover,#B5050F); color:#fff !important; }
.fc-btn--ghost { background:transparent; color:#fff !important; border:2px solid #fff; }
.fc-btn--ghost:hover { background:#fff; color:var(--fc-dark,#0E0E10) !important; }
.fc-btn--ghost-light { background:transparent; color:var(--fc-yellow,#FFC72C) !important; border:2px solid var(--fc-yellow,#FFC72C); }
.fc-btn--ghost-light:hover { background:var(--fc-yellow,#FFC72C); color:var(--fc-dark,#0E0E10) !important; }
.fc-btn--ghost-dark { background:transparent; color:var(--fc-dark,#0E0E10) !important; border:2px solid var(--fc-dark,#0E0E10); }
.fc-btn--ghost-dark:hover { background:var(--fc-dark,#0E0E10); color:#fff !important; }

/* Hero */
.fc-hero { position:relative; min-height:600px; padding:4rem 1.5rem; display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center; color:#fff; overflow:hidden; }
.fc-hero__overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,14,16,.45) 0%, rgba(14,14,16,.65) 100%); }
.fc-hero__inner { position:relative; z-index:1; max-width:900px; text-align:center; }
.fc-hero__title { font-family: Manrope, system-ui, sans-serif; font-weight:800; font-size:clamp(2rem,5vw,4rem); line-height:1.1; margin:0 0 1rem; }
.fc-hero__subtitle { font-size:1.125rem; line-height:1.5; margin:0 0 2rem; opacity:.95; }
.fc-hero__ctas { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* USP strip */
.fc-usp { background:var(--fc-surface,#F4F4F5); padding:3rem 1.5rem; }
.fc-usp__inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; align-items:center; }
.fc-usp__item { display:flex; gap:.85rem; align-items:center; font-weight:500; line-height:1.35; }
.fc-usp__icon { color: var(--fc-red, #E30613); flex: 0 0 auto; display: inline-flex; }
.fc-usp__icon svg { display: block; }
@media (max-width:900px) { .fc-usp__inner { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .fc-usp__inner { grid-template-columns:1fr; } }

/* CTA band */
.fc-cta-band { background:var(--fc-dark,#0E0E10); color:#fff; padding:4rem 1.5rem; text-align:center; }
.fc-cta-band__inner { max-width:800px; margin:0 auto; }
.fc-cta-band h2 { font-family: Manrope, system-ui, sans-serif; font-size:2rem; margin:0 0 1rem; }
.fc-cta-band__buttons { display:flex; gap:1rem; justify-content:center; margin-top:1.5rem; flex-wrap:wrap; }

/* Hero eyebrow */
.fc-hero__eyebrow { font-family: Manrope, system-ui, sans-serif; font-style: italic; color: var(--fc-yellow, #FFC72C); font-size: 1.125rem; letter-spacing: .02em; margin: 0 0 1rem; }

/* Hero: bigger min-height on desktop, subtle ken-burns */
.fc-hero { min-height: 640px; padding: 5rem 1.5rem; }
.fc-hero__inner { max-width: 960px; }
@keyframes fc-hero-zoom { from { transform: scale(1); } to { transform: scale(1.06); } }
.fc-hero::before { content: ""; position: absolute; inset: 0; background: inherit; background-size: cover; background-position: center; animation: fc-hero-zoom 18s ease-out forwards; z-index: 0; opacity: 0; }
@media (prefers-reduced-motion: reduce) { .fc-hero::before { animation: none; } }

/* Buttons — add a subtle elevation */
.fc-btn { box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.fc-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(227,6,19,.3); }
@media (prefers-reduced-motion: reduce) { .fc-btn--primary:hover { transform: none; box-shadow: 0 1px 2px rgba(0,0,0,.08); } }

/* Social strip */
.fc-social { background:var(--fc-yellow,#FFC72C); color:var(--fc-dark,#0E0E10); padding:1rem 1.5rem; }
.fc-social__inner { max-width:1280px; margin:0 auto; display:flex; gap:1.25rem; align-items:center; flex-wrap:wrap; justify-content:center; }
.fc-social__label { font-weight: 700; letter-spacing: .03em; }
.fc-social__inner a { color:var(--fc-dark,#0E0E10); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .75rem; border-radius:6px; transition: background .15s ease, color .15s ease; }
.fc-social__inner a:hover { background: var(--fc-dark,#0E0E10); color:#fff; }
@media (max-width:600px) { .fc-social__inner { gap:.5rem; } }
