/**
 * =========================================================
 * FELIX SYSTEMS — RESPONSIVE
 * =========================================================
 */

@media (max-width: 1180px) {
	.fc-header__inner { grid-template-columns: minmax(200px, 1fr) auto; }
	.fc-header__cta { display: none; }
	.fc-hero__grid { grid-template-columns: 1fr 1fr; }
	.fc-process__steps { grid-template-columns: repeat(4, 1fr); row-gap: 2rem; }
	.fc-proof__inner { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 980px) {
	.fc-header__inner { min-height: 72px; }
	.fc-nav-toggle { display: inline-flex; }
	.fc-nav { position: absolute; top: 100%; left: 0; width: 100%; border-bottom: 1px solid var(--fc-border); background: var(--fc-black-soft); padding: 1rem var(--fc-gutter) 1.5rem; }
	.fc-nav:not(.is-open) { display: none; }
	.fc-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
	.fc-nav a { display: block; padding: 0.85rem 0; font-size: 1rem; }
	.fc-nav a::after { display: none; }

	.fc-hero__grid { grid-template-columns: 1fr; }
	.fc-hero__content { max-width: 760px; }
	.fc-sigma { max-width: 820px; }
	.fc-problems__grid { grid-template-columns: repeat(2, 1fr); }
	.fc-services__grid,
	.fc-cases__grid { grid-template-columns: 1fr; }
	.fc-service-card { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; }
	.fc-service-card__icon { grid-row: 1 / span 4; margin: 0; }
	.fc-service-card ul,
	.fc-service-card__cta { grid-column: 2; }
	.fc-process__steps { grid-template-columns: repeat(2, 1fr); }
	.fc-pain-flow { grid-template-columns: 1fr; }
	.fc-pain-flow > span { transform: rotate(90deg); justify-self: center; }
	.fc-lab__grid { grid-template-columns: 1fr; }
	.fc-about__grid { grid-template-columns: 0.8fr 1.2fr; gap: 2.5rem; }
	.fc-final-cta__inner { grid-template-columns: 1fr; }
	.fc-footer__inner { grid-template-columns: 1fr; }
	.fc-footer__nav { flex-wrap: wrap; }
	.fc-footer__meta { text-align: left; }
}

@media (max-width: 700px) {
	:root { --fc-section: 4rem; }
	.fc-brand__tagline { display: none; }
	.fc-hero__grid { padding-block: 4.5rem; }
	.fc-hero__metrics { grid-template-columns: 1fr; gap: 1rem; }
	.fc-hero__metrics div { padding: 0; }
	.fc-hero__metrics div + div { border-left: 0; border-top: 1px solid var(--fc-border); padding: 1rem 0 0; }
	.fc-sigma__body { grid-template-columns: 1fr; min-height: 0; }
	.fc-sigma__rail { display: none; }
	.fc-sigma__panels { grid-template-columns: 1fr; }
	.fc-proof ul { grid-template-columns: 1fr 1fr; gap: 0.6rem; }
	.fc-proof li { min-height: 44px; border: 1px solid rgba(247,244,236,0.08); border-radius: 8px; }
	.fc-problems__grid { grid-template-columns: 1fr; }
	.fc-problem-card { min-height: 0; }
	.fc-section-heading--split { align-items: flex-start; flex-direction: column; }
	.fc-service-card { display: block; }
	.fc-service-card__icon { margin-bottom: 1.5rem; }
	.fc-service-card ul,
	.fc-service-card__cta { grid-column: auto; }
	.fc-case-card dl div { grid-template-columns: 1fr; gap: 0.25rem; }
	.fc-process__steps { grid-template-columns: 1fr; }
	.fc-process__steps li::after { display: none; }
	.fc-ai-grid { grid-template-columns: 1fr; }
	.fc-about__grid { grid-template-columns: 1fr; }
	.fc-about__portrait { min-height: 440px; }
	.fc-final-cta__inner .fc-actions { width: 100%; }
	.fc-final-cta__inner .fc-button { width: 100%; }
	.fc-footer__nav { align-items: flex-start; flex-direction: column; gap: 0.5rem; }
}

@media (max-width: 430px) {
	h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
	.fc-header__inner { min-height: 64px; }
	.fc-brand__mark { width: 34px; height: 34px; }
	.fc-nav-toggle__label { display: none; }
	.fc-actions { flex-direction: column; }
	.fc-actions .fc-button { width: 100%; }
	.fc-sigma__topbar { align-items: flex-start; }
	.fc-status { display: none; }
	.fc-proof ul { grid-template-columns: 1fr; }
	.fc-about__portrait { min-height: 390px; }
}


@media (max-width: 1180px) {
	.fc-header,
	.fc-main,
	.fc-footer {
		border-inline: 0;
		box-shadow: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

}

/* v0.3.0 — investment and Smart Portfolio contact refinements */
@media (max-width: 980px) {
	.fc-investment__grid { grid-template-columns: 1fr; }
	.fc-investment-card__value { min-height: 0; }
}

@media (max-width: 700px) {
	.fc-investment-card { padding: 1.25rem; }
	.fc-investment-card__price strong { font-size: 1.7rem; }
	.fc-investment__note { font-size: 0.80rem; }
	.fc-home .asp-v208-form { gap: 12px !important; }
	.fc-home .asp-v208-consent-row > label { font-size: 0.8rem !important; }
}

/* v0.4.4 — constrained shell + responsive tablet hardening */
@media (max-width: 1180px) {
	:root { --fc-gutter: clamp(1rem, 3vw, 2rem); }
}

@media (max-width: 820px) {
	.fc-about__grid { grid-template-columns: 1fr; }
	.fc-about__portrait { min-height: 420px; }
}

@media (max-width: 700px) {
	:root { --fc-gutter: clamp(1rem, 4.5vw, 1.4rem); }

	.fc-container {
		padding-inline: var(--fc-gutter);
	}

	.fc-hero__grid,
	.fc-section-heading,
	.fc-service-card,
	.fc-case-card,
	.fc-investment-card,
	.fc-lab-card,
	.fc-final-cta__inner {
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 430px) {
	:root { --fc-gutter: 1rem; }
}
