:root {
	--fbd-magenta: #c1106f;
	--fbd-plum: #3d1f47;
	--fbd-teal: #00a9a6;
	--fbd-light: #fff7fb;
	--fbd-light-gray: #f5f5f5;
	--fbd-white: #ffffff;
	--fbd-ink: #251828;
	--fbd-muted: #6d5b68;
	--fbd-line: #f0c9da;
	--fbd-shadow: 0 20px 50px rgba(61, 31, 71, 0.12);
	--fbd-container: min(1160px, calc(100vw - 32px));
	--fbd-shadow-soft: 0 18px 45px rgba(61, 31, 71, 0.1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.fbd-theme {
	margin: 0;
	font-family: "Segoe UI", sans-serif;
	color: var(--fbd-ink);
	background: linear-gradient(180deg, #fff8fb 0%, #ffffff 36%, #fffafc 100%);
	border-top: 4px solid var(--fbd-magenta);
}

body.fbd-theme h1,
body.fbd-theme h2,
body.fbd-theme h3,
body.fbd-theme h4 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	line-height: 1.05;
}

body.fbd-theme p { margin: 0; }
body.fbd-theme a { color: inherit; text-decoration: none; }

.fbd-container { width: var(--fbd-container); margin: 0 auto; }
.fbd-main { display: block; }

.fbd-site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 248, 251, 0.94); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(193, 16, 111, 0.1); }

.fbd-header-inner,
.fbd-footer-inner {
	width: var(--fbd-container);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.fbd-header-inner { padding: 16px 0; }

.fbd-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.fbd-brand-mark {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: var(--fbd-magenta);
	color: var(--fbd-white);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.fbd-brand-text strong,
.fbd-brand-text span { display: block; }

.fbd-brand-text strong { font-size: 18px; color: var(--fbd-magenta); }
.fbd-brand-text span { font-size: 12px; color: var(--fbd-muted); }

.fbd-nav,
.fbd-menu-list,
.fbd-footer-menu,
.fbd-hero-actions,
.fbd-tag-list,
.fbd-cta-actions,
.fbd-social-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding-top:12px;
}

.fbd-menu-list,
.fbd-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fbd-menu-list a,
.fbd-footer-menu a { color: var(--fbd-plum); font-size: 13px; font-weight: 600; }

.fbd-header-cta,
.fbd-button,
.fbd-button-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fbd-header-cta,
.fbd-button {
	background: var(--fbd-magenta);
	color: var(--fbd-white) !important;
	box-shadow: 0 10px 25px rgba(193, 16, 111, 0.28);
}

.fbd-button-outline {
	border: 1px solid rgba(61, 31, 71, 0.18);
	color: var(--fbd-plum);
	background: var(--fbd-white);
}

.fbd-mobile-toggle {
	display: none;
	background: none;
	border: 0;
	padding: 0;
	color: var(--fbd-plum);
	font-size: 28px;
}

.fbd-section { padding: 72px 0; }
.fbd-hero { padding-top: 42px; }
.fbd-section-soft { background: linear-gradient(180deg, rgba(193, 16, 111, 0.04) 0%, rgba(193, 16, 111, 0.02) 100%); }

/* Elementor container layout helpers */
.fbd-section > .e-con-inner,
.fbd-section .e-con-inner {
	width: var(--fbd-container);
	margin: 0 auto;
}

.fbd-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	align-items: center;
	gap: 34px;
	padding: 26px 34px 10px;
	border-radius: 36px;
	background: linear-gradient(135deg, #feeaf3 0%, #fff4f8 55%, #f8f3fb 100%);
	box-shadow: var(--fbd-shadow-soft);
}

.fbd-hero-copy .elementor-widget:not(:first-child) { margin-top: 14px; }
.fbd-hero-copy .elementor-widget-heading + .elementor-widget-heading { margin-top: -10px; }
.fbd-hero-actions { gap: 14px; flex-wrap: wrap; margin-top: 18px; }

.fbd-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.fbd-pillar-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 22px;
}

.fbd-sisiago-boxes .fbd-sisiago-boxes { margin-top: 0; }

.fbd-section-intro { max-width: 720px; margin-bottom: 28px; }

.fbd-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	color: var(--fbd-magenta);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.fbd-eyebrow::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: currentColor;
}

.fbd-section-intro h2,
.fbd-page-hero h1,
.fbd-single-hero h1 {
	font-size: clamp(36px, 5vw, 60px);
	color: var(--fbd-plum);
}

.fbd-section-description,
.fbd-page-hero p,
.fbd-single-hero p {
	margin-top: 10px;
	color: var(--fbd-muted);
	font-size: 16px;
	line-height: 1.7;
}

.fbd-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	align-items: center;
	gap: 34px;
	padding: 26px 34px 10px;
	border-radius: 36px;
	background: linear-gradient(135deg, #feeaf3 0%, #fff4f8 55%, #f8f3fb 100%);
	box-shadow: var(--fbd-shadow-soft);
}

.fbd-breadcrumb {
	display: inline-flex;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(193, 16, 111, 0.08);
	color: var(--fbd-magenta);
	font-size: 12px;
	font-weight: 700;
}

.fbd-hero-copy h1 { margin-top: 18px; max-width: 620px; font-size: clamp(42px, 6vw, 64px); color: var(--fbd-magenta); }

.fbd-hero-copy p { margin-top: 18px; max-width: 430px; color: var(--fbd-muted); font-size: 15px; line-height: 1.7; }

.fbd-hero-art {
	position: relative;
	min-height: 320px;
	display: grid;
	place-items: center;
}

.fbd-art-card {
	width: min(100%, 310px);
	aspect-ratio: 1;
	border-radius: 30px;
	background: linear-gradient(135deg, var(--fbd-magenta) 0%, #d41b7a 100%);
	position: relative;
	box-shadow: 0 30px 60px rgba(193, 16, 111, 0.28);
}

.fbd-art-card::before,
.fbd-art-card::after,
.fbd-art-ring {
	content: "";
	position: absolute;
	inset: 50%;
	border-radius: 999px;
	border: 3px solid rgba(255, 255, 255, 0.88);
	transform: translate(-50%, -50%);
}

.fbd-art-card::before { width: 112px; height: 112px; }
.fbd-art-card::after { width: 72px; height: 72px; }
.fbd-art-ring { width: 26px; height: 26px; background: rgba(255, 255, 255, 0.12); }

.fbd-stats { padding: 0; background: var(--fbd-plum); }
.fbd-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }

.fbd-stat {
	padding: 22px 16px;
	text-align: center;
	color: var(--fbd-white);
	border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.fbd-stat:last-child { border-right: 0; }
.fbd-stat strong { display: block; font-size: clamp(34px, 4vw, 50px); }
.fbd-stat span { display: block; margin-top: 6px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.78; }

.fbd-pillar-grid,
.fbd-partners-grid,
.fbd-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.fbd-pillar,
.fbd-news-card,
.fbd-prose,
.fbd-contact-card {
	padding: 28px;
	border-radius: 10px;
	background: var(--fbd-white);
	border: 1px solid var(--fbd-line);
	box-shadow: var(--fbd-shadow-soft);
}

.fbd-pillar { border-top: 3px solid var(--fbd-magenta); box-shadow: none; background: #fafafa; }

.fbd-pillar h3,
.fbd-news-card h3,
.fbd-activity-card h3 {
	font-size: 24px;
	color: var(--fbd-magenta);
}

.fbd-pillar p,
.fbd-news-card p,
.fbd-news-card .fbd-news-excerpt,
.fbd-activity-card p,
.fbd-contact-card li,
.fbd-footer-col p {
	margin-top: 12px;
	color: var(--fbd-muted);
	line-height: 1.7;
}

.fbd-sisiago-wrap {
	position: relative;
	overflow: hidden;
	padding: 26px;
	border-radius: 12px;
	background: linear-gradient(135deg, #0f3f58 0%, #082d3f 100%);
	color: var(--fbd-white);
	box-shadow: var(--fbd-shadow-soft);
}

.fbd-sisiago-wrap::after,
.fbd-sisiago-wrap::before {
	content: "";
	position: absolute;
	border-radius: 999px;
	border: 2px solid rgba(74, 206, 213, 0.55);
}

.fbd-sisiago-wrap::after { width: 220px; height: 220px; right: -48px; top: 28px; }
.fbd-sisiago-wrap::before { width: 360px; height: 360px; right: -118px; top: -20px; }

.fbd-sisiago-grid,
.fbd-contact-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(290px, 0.95fr);
	gap: 28px;
}

.fbd-chip,
.fbd-partner-chip,
.fbd-tag {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 9px 16px;
	font-size: 12px;
	font-weight: 700;
}

.fbd-eyebrow-accent { margin-top: 18px; color: #8df4f2; }
.fbd-eyebrow-accent::before { background: #8df4f2; }

.fbd-chip,
.fbd-tag {
	border: 1px solid rgba(0, 169, 166, 0.55);
	color: #8df4f2;
}

.fbd-sisiago-copy h2 { font-size: clamp(42px, 6vw, 64px); color: var(--fbd-white); }
.fbd-sisiago-copy p { margin-top: 14px; max-width: 560px; color: rgba(255, 255, 255, 0.82); line-height: 1.8; }
.fbd-tag-list { flex-wrap: wrap; margin-top: 24px; }
.fbd-sisiago-boxes { display: grid; gap: 12px; align-content: start; }

.fbd-sisiago-box {
	padding: 12px 16px;
	border-radius: 12px;
	border: 1px solid rgba(74, 206, 213, 0.32);
	background: rgba(9, 47, 69, 0.68);
	font-size: 13px;
	font-weight: 700;
}

.fbd-activity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

.fbd-activity-card {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 14px;
	padding: 18px;
	border-radius: 8px;
	border: 1px solid var(--fbd-line);
	background: var(--fbd-white);
}

.fbd-activity-card strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 44px;
	border-radius: 10px;
	background: rgba(193, 16, 111, 0.08);
	color: var(--fbd-magenta);
	font-size: 16px;
}

.fbd-news-preview { background: linear-gradient(180deg, rgba(193, 16, 111, 0.04) 0%, rgba(193, 16, 111, 0) 100%); }
.fbd-news-grid { align-items: stretch; }
.fbd-news-meta { font-size: 12px; font-weight: 700; color: var(--fbd-magenta); text-transform: uppercase; letter-spacing: 0.06em; }
.fbd-link-arrow { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--fbd-magenta); font-weight: 700; }
.fbd-link-arrow::after { content: "\2192"; }

.fbd-partner-chip {
	justify-content: center;
	width: 100%;
	background: #f2f2f4;
	color: var(--fbd-plum);
	border: 1px solid rgba(61, 31, 71, 0.08);
}

.fbd-cta {
	padding: 34px 0;
	background: var(--fbd-magenta);
	color: var(--fbd-white);
	text-align: center;
}

.fbd-cta h2 { font-size: clamp(34px, 5vw, 56px); }
.fbd-cta p { margin-top: 12px !important; color: rgba(255, 255, 255, 0.82); }
.fbd-cta .fbd-button { background: var(--fbd-white); color: var(--fbd-magenta); box-shadow: none; }
.fbd-cta .fbd-button-outline { border-color: rgba(255, 255, 255, 0.35); background: transparent; color: var(--fbd-white); }

.fbd-page-hero,
.fbd-single-hero { padding: 56px 0 26px; }
.fbd-page-content,
.fbd-single-content { padding-bottom: 72px; }
.fbd-prose > * + * { margin-top: 16px; }
.fbd-prose h2,
.fbd-prose h3,
.fbd-contact-card strong,
.fbd-footer-col h3 { color: var(--fbd-plum); }

.fbd-contact-card ul,
.fbd-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 18px 0 0;
	display: grid;
	gap: 10px;
}

.wpcf7-form { display: grid; gap: 12px; }
.wpcf7-form p { margin: 0; }
.wpcf7-form label { display: block; color: var(--fbd-plum); font-weight: 600; }
.wpcf7-form-control-wrap { display: block; margin-top: 8px; }

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	width: 100%;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid rgba(61, 31, 71, 0.12);
	background: #fff;
}

.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 input[type="submit"] { border: 0; cursor: pointer; padding: 14px 22px; border-radius: 999px; background: var(--fbd-magenta); color: var(--fbd-white); font-weight: 700; }

.fbd-site-footer { background: var(--fbd-plum); color: var(--fbd-white); }
.fbd-footer-inner { padding: 22px 0; align-items: flex-start; }
.fbd-footer-brand { max-width: 320px; }
.fbd-footer-brand .fbd-brand-text strong { color: var(--fbd-white); }
.fbd-footer-brand .fbd-brand-text span,
.fbd-footer-copy,
.fbd-footer-col a { color: rgba(255, 255, 255, 0.76); }
.fbd-footer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; flex: 1; }
.fbd-footer-bottom {
	width: var(--fbd-container);
	margin: 0 auto;
	padding: 12px 0 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.fbd-elementor-home .elementor-section-wrap,
.fbd-elementor-home .elementor {
	width: 100%;
}

@media (max-width: 980px) {
	.fbd-mobile-toggle { display: inline-flex; }
	.fbd-nav {
		position: absolute;
		top: calc(100% + 10px);
		left: 16px;
		right: 16px;
		display: none;
		flex-direction: column;
		align-items: stretch;
		padding: 18px;
		border-radius: 20px;
		background: #fff;
		box-shadow: var(--fbd-shadow);
	}
	.fbd-nav.is-open { display: flex; }
	.fbd-menu-list,
	.fbd-footer-menu { flex-direction: column; align-items: flex-start; }
	.fbd-hero-grid,
	.fbd-sisiago-grid,
	.fbd-contact-grid,
	.fbd-footer-grid,
	.fbd-stats-grid,
	.fbd-pillar-grid,
	.fbd-news-grid,
	.fbd-partners-grid,
	.fbd-activity-grid { grid-template-columns: 1fr; }
	.fbd-footer-inner,
	.fbd-footer-bottom { flex-direction: column; align-items: flex-start; }
}
