/*
Theme Name: Freedom in Christ 2026
Description: Custom theme for freedom-christ.org, built from the approved 2026 prototype. No page builder.
Version: 0.1.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: fic-2026
*/

/* ==========================================================================
   Tokens. Design system (2026-10-28 design, Figma variables); the older names stay as aliases.
   ========================================================================== */
:root {
	/* Colours */
	--fic-black: #000000;
	--fic-black-gray: #161616;
	--fic-blue: #0000FF;
	--fic-low-yellow: #E8EDD7;
	--fic-light-gray: #F1F1F1;
	--fic-white: #FFFFFF;
	--fic-card-gray: #F0F0F0;       /* card / section fill */
	--fic-placeholder: #D9D9D9;     /* image placeholder, input border */
	--fic-ink-deep: #010010;        /* text on white cards and forms */
	--fic-sky: #79A9F1;             /* gradient stop */
	--fic-accent-on-dark: #8F8FFF;  /* serif accent titles on #161616 */
	--fic-text-on-dark-muted: rgba(255, 255, 255, 0.7);
	--fic-glass: rgba(163, 163, 163, 0.1);
	--fic-glass-stroke: rgba(255, 255, 255, 0.4);
	--fic-gradient-spectrum: linear-gradient(253.439deg, #F1F1F1 4.28%, #79A9F1 27.25%, #0000FF 53.5%, #161616 81.21%, #000000 106.26%);
	--fic-gradient-black-blue: linear-gradient(133.946deg, #000000 31.49%, #0000FF 103.59%);
	--fic-gradient-gray-dark: linear-gradient(134.662deg, #F1F1F1 31.64%, #161616 103.59%);
	--fic-gradient-dark-to-blue: linear-gradient(180deg, #161616 50%, #0000FF 214.93%);
	/* Older names (aliases; used across the page sections) */
	--fic-ink: var(--fic-black-gray);
	--fic-cream: var(--fic-low-yellow);
	--fic-light: var(--fic-light-gray);
	--fic-about-bg: var(--fic-light-gray); /* About / Privacy heroes are #F1F1F1 in the design */
	--fic-grey-text: #BDBDBD;       /* not in the design system; prefer --fic-text-on-dark-muted */
	--fic-accent-dark: #7B7BFF;     /* not in the design system; prefer --fic-accent-on-dark */
	--fic-rule-dark: rgba(255, 255, 255, 0.14);
	/* Type */
	--fic-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	--fic-serif: Spectral, Georgia, serif;
	--fic-font-nav: 700 16px/22.4px var(--fic-font);
	--fic-font-button: 500 18.38px/27.568px var(--fic-font);     /* ArrowLink md */
	--fic-font-button-sm: 700 16px/21.988px var(--fic-font);     /* ArrowLink sm */
	/* Radii, rings, blur */
	--fic-radius-card: 20px;
	--fic-radius-image: 6.13px;
	--fic-radius-pill: 999px;
	--fic-radius-nav: 58px;
	--fic-nav-stroke: inset 0 0 0 2px rgba(255, 255, 255, 0.4);
	--fic-ring-white: inset 0 0 0 1px #FFFFFF;
	--fic-ring-dark: inset 0 0 0 1.153px #161616;
	--fic-ring-glass: inset 0 0 0 1.149px rgba(255, 255, 255, 0.4);
	--fic-blur-glass: blur(17.23px);
	--fic-blur-nav: blur(15px);
	/* Motion */
	--fic-ease: cubic-bezier(.2, .7, .2, 1);
	--fic-dur-fast: 160ms;
	--fic-dur-base: 260ms;
	/* Height of the header strip (24px offset + 60px bar + 6px); the first section pulls itself up by this much. */
	--fic-header-h: 90px;
}

body { margin: 0; }
/* Same colour as the page wrapper, so short pages never show the old Elementor kit background. */
body.fic-header-dark { background: var(--fic-ink); }
body.fic-header-light { background: var(--fic-about-bg); }
a { color: inherit; transition: opacity 160ms; }
a:hover { opacity: .86; }

.fic-site {
	width: 100%;
	background: var(--fic-ink);
	color: var(--fic-ink);
	font-family: var(--fic-font);
	overflow-x: clip;
}
.fic-header-light .fic-site { background: var(--fic-about-bg); }

/* Keyboard users: first Tab stop jumps past the header to <main id="main">. Hidden until focused. */
.fic-skip {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 1000;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--fic-white);
	color: var(--fic-ink);
	font: 600 15px/1 var(--fic-font);
	text-decoration: none;
}
.fic-skip:focus { top: 16px; }
#main { scroll-margin-top: var(--fic-header-h); }

/* Sections that sit under the floating header use this. */
.fic-under-header { margin-top: calc(-1 * var(--fic-header-h)); }

/* ==========================================================================
   Header (design system SiteHeader). The bar sits 24px from the top over the first section, which pulls
   itself up by --fic-header-h (.fic-under-header). Client decision: it stays sticky (the design scrolls
   it away) and takes a solid fill once the page has scrolled (.is-scrolled, set in reveal.js).
   Two variants, named after the page background (the design system names them after the text colour):
   .fic-header (dark pages) = SiteHeader theme="light": white text, rgba(22,22,22,.18) glass;
   .fic-header--light (About, Privacy) = SiteHeader theme="dark": black text, rgba(163,163,163,.1) glass.
   ========================================================================== */
.fic-header-wrap {
	position: sticky;
	top: 0;
	z-index: 50;
	height: var(--fic-header-h);
	pointer-events: none;
}
.fic-header-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: 24px clamp(20px, 5vw, 72px) 0;
	box-sizing: border-box;
	color: #ffffff;
}
.fic-header {
	pointer-events: auto;
	min-height: 60px;
	box-sizing: border-box;
	border: 0;
	border-radius: var(--fic-radius-nav);
	padding: 8px 8px 8px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	flex-wrap: wrap;
	background: rgba(22, 22, 22, 0.18);
	-webkit-backdrop-filter: var(--fic-blur-nav);
	backdrop-filter: var(--fic-blur-nav);
	box-shadow: var(--fic-nav-stroke);
	transition: background-color var(--fic-dur-base) var(--fic-ease);
}
/* Once the page scrolls, the sticky bar passes over light sections: dark fill keeps the white text readable. */
.fic-header-wrap.is-scrolled .fic-header { background: rgba(22, 22, 22, 0.74); }
.fic-logo {
	display: flex;
	align-items: center;
	text-decoration: none;
}
.fic-logo-svg { display: block; width: 102.6px; height: 29px; }
.fic-nav {
	display: flex;
	gap: clamp(12px, 1.8vw, 44px);
	flex-wrap: wrap;
	font: var(--fic-font-nav);
}
.fic-nav a {
	display: inline-block;
	text-decoration: none;
	transition: color 200ms ease, transform 200ms var(--fic-ease);
}
.fic-nav a:hover { opacity: 1; color: #E8EDD7; transform: translateY(-2px); }
.fic-header-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
/* Language switcher: the design system's dropdown (LanguageSwitcher). On the dark header the button is
   white and the panel dark; on the light header the button is black and the panel white. */
.fic-langsw { position: relative; flex-shrink: 0; }
.fic-langsw-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 10px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font: var(--fic-font-nav);
	cursor: pointer;
	transition: background-color 0.25s ease;
}
.fic-langsw-btn:hover,
.fic-langsw.is-open .fic-langsw-btn { background: rgba(255, 255, 255, 0.1); }
.fic-langsw-btn svg { display: block; flex-shrink: 0; }
.fic-langsw-chev { transition: transform 0.25s ease; }
.fic-langsw.is-open .fic-langsw-chev { transform: rotate(180deg); }
.fic-langsw-short { display: none; }
.fic-langsw-list {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 60;
	min-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 6px;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-radius: 18px;
	background: #161616;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}
.fic-langsw.is-open .fic-langsw-list { opacity: 1; visibility: visible; transform: none; }
.fic-langsw-list a {
	display: block;
	padding: 10px 16px;
	border-radius: 12px;
	text-align: center;
	white-space: nowrap;
	color: #ffffff;
	font: 500 16px/22.4px var(--fic-font);
	text-decoration: none;
	transition: background-color 0.2s ease;
}
.fic-langsw-list a:hover,
.fic-langsw-list a:focus-visible { background: rgba(255, 255, 255, 0.1); opacity: 1; }
.fic-header--light .fic-langsw-btn:hover,
.fic-header--light .fic-langsw.is-open .fic-langsw-btn { background: #F1F1F1; }
.fic-header--light .fic-langsw-list { background: #ffffff; }
.fic-header--light .fic-langsw-list a { color: #000000; }
.fic-header--light .fic-langsw-list a:hover,
.fic-header--light .fic-langsw-list a:focus-visible { background: #F1F1F1; }
/* Below 1100px the button shows the short code (EN) (LanguageSwitcher compactBelow=1100). */
@media (max-width: 1100px) {
	.fic-header .fic-langsw-btn { gap: 6px; padding: 0 8px; }
	.fic-header .fic-langsw-full { display: none; }
	.fic-header .fic-langsw-short { display: inline; }
}
/* Donate = ArrowLink size "sm" without the arrow: white on the dark header, #161616 on the light one. */
.fic-header-donate {
	display: inline-flex;
	align-items: center;
	padding: 10.994px 18.324px;
	border-radius: 999px;
	background: #ffffff;
	color: #161616;
	font: var(--fic-font-button-sm);
	white-space: nowrap;
	text-decoration: none;
}
.fic-burger { display: none; }

/* Light header (About us, Privacy Policy): same geometry, black text, grey glass. */
.fic-header-light .fic-header-inner { color: #000000; }
.fic-header--light { background: var(--fic-glass); }
.fic-header-wrap.is-scrolled .fic-header--light { background: rgba(232, 232, 232, 0.82); }
.fic-header--light .fic-nav a:hover { color: #0000FF; }
.fic-header--light .fic-header-donate { background: #161616; color: #ffffff; }

/* Narrow desktops (901–1100px): the bar must stay on one row down to the 900px switch to the burger.
   Tighter gaps everywhere; the longer Russian menu also uses smaller type and a smaller Donate. */
@media (min-width: 901px) and (max-width: 1100px) {
	.fic-header { gap: 12px; padding-left: 20px; }
	.fic-nav { gap: 14px; flex-wrap: nowrap; white-space: nowrap; }
	html[lang|="ru"] .fic-nav,
	html[lang|="ru"] .fic-langsw-btn,
	html[lang|="ru"] .fic-header-donate { font-size: 15px; }
	html[lang|="ru"] .fic-header-donate { padding-left: 14px; padding-right: 14px; }
}
@media (min-width: 901px) and (max-width: 1000px) {
	.fic-nav { font-size: 15px; }
	html[lang|="ru"] .fic-header { gap: 8px; padding-left: 16px; }
	html[lang|="ru"] .fic-nav { gap: 10px; font-size: 14px; }
	html[lang|="ru"] .fic-header .fic-langsw-btn { gap: 4px; padding: 0 4px; font-size: 14px; }
	html[lang|="ru"] .fic-header-donate { font-size: 14px; padding-left: 10px; padding-right: 10px; }
}

/* ==========================================================================
   Header — mobile (below 900px, the site-wide mobile breakpoint): logo + a 44px solid round burger.
   ========================================================================== */
@media (max-width: 900px) {
	.fic-site { --fic-header-h: 80px; }
	.fic-header,
	.fic-header--light {
		min-height: 56px;
		padding: 6px 6px 6px 20px;
		flex-wrap: nowrap;
		gap: 16px;
	}
	.fic-logo-svg { width: 84.9px; height: 24px; }
	.fic-nav,
	.fic-header .fic-langsw,
	.fic-header-donate { display: none; }
	.fic-burger {
		position: relative;
		width: 44px;
		height: 44px;
		padding: 0;
		display: block;
		border: 0;
		border-radius: 999px;
		background: #ffffff;
		color: #161616;
		cursor: pointer;
	}
	.fic-header--light .fic-burger { background: #161616; color: #ffffff; }
}
.fic-burger-bar {
	position: absolute;
	left: 13px;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}
.fic-burger-bar:nth-child(1) { top: 16px; }
.fic-burger-bar:nth-child(2) { top: 21px; }
.fic-burger-bar:nth-child(3) { top: 26px; }

/* ==========================================================================
   Mobile menu (SiteHeader mobile dialog): fades in and slides down 12px; links, then language + Donate.
   ========================================================================== */
.fic-mmenu {
	position: fixed;
	inset: 0;
	z-index: 100;
	box-sizing: border-box;
	background: #161616;
	color: #ffffff;
	font-family: var(--fic-font);
	display: flex;
	flex-direction: column;
	padding: 30px 26px 32px;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}
.fic-mmenu.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s;
}
@media (min-width: 901px) { .fic-mmenu { display: none; } }
html.fic-menu-open { overflow: hidden; }
.fic-mmenu-header {
	flex: none;
	min-height: 56px;
	display: flex; /* logo flush left with the menu links (designer 2026-10-29) */
	align-items: center;
	justify-content: space-between;
}
.fic-mmenu-header .fic-logo-svg { width: 84.9px; height: 24px; }
.fic-mmenu-close {
	position: relative;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1.5px solid rgba(255, 255, 255, 0.4);
	border-radius: 999px;
	background: transparent;
	color: #ffffff;
	cursor: pointer;
}
.fic-mmenu-close .fic-burger-bar { left: 11.5px; top: 19.5px; }
.fic-mmenu-close .fic-burger-bar:nth-child(1) { transform: rotate(45deg); }
.fic-mmenu-close .fic-burger-bar:nth-child(2) { transform: rotate(-45deg); }
.fic-mmenu-nav {
	margin-top: 40px;
	display: flex;
	flex-direction: column;
}
.fic-mmenu-nav a {
	display: block;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	color: #ffffff;
	font-size: 30px;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-decoration: none;
	transition: color 200ms ease;
}
.fic-mmenu-nav a:hover { opacity: 1; color: #E8EDD7; }
.fic-mmenu-bottom {
	margin-top: auto;
	padding-top: 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.fic-mmenu-donate {
	margin-left: auto; /* stays on the right when there is no language switcher */
	display: inline-flex;
	align-items: center;
	padding: 10.994px 18.324px;
	border-radius: 999px;
	background: #ffffff;
	color: #161616;
	font: var(--fic-font-button-sm);
	white-space: nowrap;
	text-decoration: none;
}
/* Language: full names; the panel opens upwards, since the switcher sits at the bottom of the screen. */
.fic-mmenu-lang { color: #ffffff; }
.fic-mmenu-lang .fic-langsw-list { top: auto; bottom: calc(100% + 10px); right: auto; left: 0; transform: translateY(6px); }
.fic-mmenu-lang.is-open .fic-langsw-list { transform: none; }
@media (prefers-reduced-motion: reduce) {
	.fic-mmenu,
	.fic-mmenu.is-open { transform: none; transition: none; }
}

/* ==========================================================================
   Footer (design footer, identical on every page): logo mark | contacts | Donate, then legal text
   and the Privacy policy pill under a full-width rule.
   ========================================================================== */
.fic-footer-section {
	background: #161616;
	color: #ffffff;
}
.fic-footer { position: relative; }
.fic-footer-top {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	box-sizing: border-box;
	padding: clamp(64px, 7vw, 104px) clamp(20px, 5vw, 72px) clamp(48px, 5vw, 72px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px clamp(16px, 2.5vw, 40px);
}
.fic-mark { display: block; }
.fic-footer-logo { flex-shrink: 0; }
.fic-footer-contacts {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px clamp(14px, 2vw, 48px);
}
.fic-footer-contacts a {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #ffffff;
	font-size: clamp(13px, 1.15vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
}
/* The Russian address is longer: let it wrap instead of overflowing. */
html[lang|="ru"] .fic-footer-contacts a { white-space: normal; }
.fic-footer-contacts svg { display: block; flex: none; color: #E8EDD7; }
.fic-footer-actions { flex-shrink: 0; }
/* Donate = ArrowLink theme="light", size "md", without the arrow. */
.fic-footer-donate {
	display: inline-flex;
	align-items: center;
	padding: 13.784px 22.973px;
	border-radius: 999px;
	background: #ffffff;
	color: #161616;
	font: var(--fic-font-button);
	white-space: nowrap;
	text-decoration: none;
}
.fic-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.15); }
.fic-footer-bottom-in {
	max-width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 32px clamp(20px, 5vw, 72px) 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}
.fic-footer-legal {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--fic-text-on-dark-muted);
}

/* Footer — phones (design: 640px and below) */
@media (max-width: 640px) {
	.fic-footer-top {
		flex-direction: column;
		text-align: center;
		gap: 24px;
		padding: 64px 20px 44px;
	}
	.fic-footer-contacts {
		flex-direction: column;
		gap: 14px;
	}
	.fic-footer-contacts a {
		white-space: normal;
		justify-content: center;
		font-size: 15px;
	}
}

/* ==========================================================================
   Shared: reveal animation, brand zig-zag pattern, circled-arrow button part
   ========================================================================== */
.fic-js .rv { opacity: 0; transform: translateY(32px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.fic-js .rv.in { opacity: 1; transform: none; }
.fic-js .rvg > * { opacity: 0; transform: translateY(32px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.fic-js .rvg.in > * { opacity: 1; transform: none; }
.fic-js .rvg.in > *:nth-child(2) { transition-delay: .12s; }
.fic-js .rvg.in > *:nth-child(3) { transition-delay: .24s; }
.fic-js .rvg.in > *:nth-child(4) { transition-delay: .36s; }
@media (prefers-reduced-motion: reduce) {
	.fic-js .rv, .fic-js .rvg > * { opacity: 1; transform: none; transition: none; }
}

.fic-zig {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
/* Circled arrow of ArrowLink: 1.15px ring (#161616 on white buttons; on dark buttons the ring is
   rgba(255,255,255,.4) — add .fic-circle-arrow--glass or set border-color to var(--fic-glass-stroke)). */
.fic-circle-arrow {
	width: 27.57px;
	height: 27.57px;
	box-sizing: border-box;
	flex-shrink: 0;
	border-radius: 999px;
	border: 1.15px solid #161616;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-backdrop-filter: var(--fic-blur-glass);
	backdrop-filter: var(--fic-blur-glass);
	transition: transform var(--fic-dur-fast);
}
.fic-circle-arrow--glass { border-color: var(--fic-glass-stroke); }
a:hover .fic-circle-arrow,
button:hover .fic-circle-arrow { transform: translateX(2px); }

/* Outlined pill on dark backgrounds (footer and Donate popup "Privacy policy"). */
.fic-pill-ghost {
	height: 44px;
	box-sizing: border-box;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	border: 1.5px solid rgba(255, 255, 255, 0.5);
	color: #ffffff;
	font: 500 16px/1 var(--fic-font);
	white-space: nowrap;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.fic-pill-ghost:hover { opacity: 1; background: #ffffff; color: #161616; border-color: #ffffff; }

/* ==========================================================================
   Home — Hero (desktop-home.html)
   ========================================================================== */
.fic-hero {
	position: relative;
	/* Fills the whole first screen (designer 2026-10-29): no strip of the next section below it. */
	min-height: max(660px, 100vh);
	min-height: max(660px, 100svh);
	background: #161616;
	color: #ffffff;
	overflow: hidden;
	display: flex;
	align-items: center;
}
/* Design: left max(46%, 100% - 820px), size min(…, 62vw) — the globe shrinks with the window down to 641px. */
.fic-hero-globe {
	position: absolute;
	left: max(46%, calc(100% - 820px));
	top: 8px;
	width: min(904px, 62vw);
	height: min(904px, 62vw);
}
.fic-hero-globe canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.fic-hero-glow,
.fic-hero-shade { display: none; }
.fic-hero-content {
	width: 100%;
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: 180px clamp(20px, 5vw, 72px) 40px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 32px;
	/* The text block lies over the globe: clicks pass through to its country labels, the buttons still work. */
	pointer-events: none;
}
.fic-hero-content a,
.fic-hero-content button { pointer-events: auto; }
/* One h1, bold line + light line (design home page.html); the stored line breaks are not used. */
.fic-hero-title {
	margin: 0;
	max-width: 48%;
	min-width: 280px;
	display: flex;
	flex-direction: column;
	gap: 0.2em;
	font-size: clamp(38px, 4.6vw, 68px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
	text-wrap: balance;
}
.fic-hero-title br { display: none; }
.fic-hero-bold { font-weight: 700; }
.fic-hero-sub { font-weight: 200; }
.fic-hero-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
/* ArrowLink theme="light" / theme="ghost" arrow=false (design system metrics). */
.fic-hero-work {
	padding: 13.784px 16.081px 13.784px 22.973px;
	display: flex;
	align-items: center;
	gap: 11.49px;
	border-radius: 999px;
	background: #ffffff;
	color: #161616;
	font: var(--fic-font-button);
	white-space: nowrap;
	text-decoration: none;
}
.fic-hero-donate {
	padding: 13.784px 22.973px;
	display: flex;
	align-items: center;
	border-radius: 999px;
	border: 1px solid #ffffff;
	color: #ffffff;
	font: var(--fic-font-button);
	white-space: nowrap;
	text-decoration: none;
}

/* Home — Hero mobile (mobile-home.html; the header bar sits inside this section). Design: phones only (≤640px). */
@media (max-width: 640px) {
	/* Design (data-m="hero", "earth", "hero-in"): the globe on top under the header, the text below it. */
	.fic-hero {
		min-height: 0;
		align-items: flex-end;
	}
	.fic-hero-globe {
		left: auto;
		top: 88px;
		right: -22vw;
		bottom: auto;
		width: 116vw;
		height: 116vw;
	}
	.fic-hero-globe canvas { width: 100%; height: 100%; }
	.fic-hero-glow {
		display: block;
		position: absolute;
		inset: -50px;
		border-radius: 50%;
		background: radial-gradient(circle at 50% 50%, rgba(110,170,255,0.45) 0%, rgba(70,120,255,0.22) 40%, rgba(40,70,255,0.06) 58%, rgba(22,22,22,0) 70%);
		filter: blur(18px);
	}
	.fic-hero-content {
		max-width: none;
		margin: 0;
		padding: calc(88px + 104vw) 20px 56px;
		gap: 28px;
		z-index: auto;
	}
	.fic-hero-title {
		max-width: none;
		min-width: 0;
		font-size: 44px;
	}
	.fic-hero-actions {
		gap: 10px;
		flex-wrap: wrap; /* the Russian "Пожертвовать" does not fit beside "Наша работа" on small phones */
	}
}

/* ==========================================================================
   Home — Impact (desktop-home.html)
   ========================================================================== */
.fic-impact {
	background: #F1F1F1;
	padding: clamp(110px, 13vw, 200px) 0 clamp(160px, 19vw, 290px);
}
.fic-impact-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: 0 clamp(20px, 5vw, 72px);
	box-sizing: border-box;
}
.fic-impact-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px 48px;
	flex-wrap: wrap;
	margin-bottom: clamp(40px, 5vw, 72px);
}
.fic-impact-title {
	margin: 0;
	font-size: clamp(36px, 4.4vw, 64px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.fic-impact-text {
	margin: 0;
	max-width: 420px;
	font-size: clamp(18px, 1.7vw, 24px);
	line-height: 1.15;
	font-weight: 500;
	color: #161616;
}
.fic-impact-stats {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px 24px;
	flex-wrap: wrap;
	border-top: 1px solid #161616;
	padding-top: clamp(48px, 5vw, 72px);
}
.fic-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}
/* Room for the "+" that hangs to the right of the number. */
.fic-stat--suffix { padding-right: calc(clamp(68px, 7.4vw, 116px) * 0.467); }
.fic-stat-num {
	position: relative;
	font-size: clamp(68px, 7.4vw, 116px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 0.9;
}
.fic-stat-suffix {
	position: absolute;
	left: 100%;
	top: 0;
	font-family: var(--fic-serif);
	font-weight: 200;
	color: #0000FF;
}
.fic-stat-label {
	max-width: 220px;
	font-size: clamp(18px, 1.7vw, 24px);
	line-height: 1.15;
	font-weight: 500;
	text-wrap: balance;
}
.fic-stat-label br { display: none; }

/* Home — Impact mobile (design data-m="impact", "stats", "stat-n", "stat-pad", "lead") */
@media (max-width: 640px) {
	.fic-impact { padding: 72px 0 96px; }
	.fic-impact-text { line-height: 1.4; }
	.fic-impact-stats {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 48px 16px;
	}
	.fic-stat { justify-self: center; }
	.fic-stat--suffix { padding-right: 28px; }
	.fic-stat-num { font-size: 60px; }
}

/* ==========================================================================
   Home — About us (desktop-home.html)
   ========================================================================== */
.fic-about {
	background: #ffffff;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}
.fic-about-col {
	display: flex;
	align-items: center;
	padding: clamp(72px, 9vw, 140px) clamp(32px, 5vw, 80px) clamp(72px, 9vw, 140px) max(clamp(20px, 5vw, 72px), calc((100vw - 1120px) / 2));
}
.fic-about-text {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.fic-about-title {
	margin: 0;
	font-size: clamp(36px, 4.4vw, 64px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.fic-about-lead {
	margin: 0;
	font-size: clamp(22px, 2.2vw, 30px);
	line-height: 1.25;
	font-weight: 500;
}
.fic-about-lead br { display: none; }
.fic-about-p {
	margin: 0;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.5;
	color: #161616;
}
/* ArrowLink theme="dark" (same metrics as the hero "Our work"). */
.fic-about-more {
	align-self: flex-start;
	padding: 13.784px 16.081px 13.784px 22.973px;
	display: flex;
	align-items: center;
	gap: 11.49px;
	border-radius: 999px;
	background: #161616;
	color: #ffffff;
	font: var(--fic-font-button);
	white-space: nowrap;
	text-decoration: none;
}
.fic-about-more .fic-circle-arrow { border-color: var(--fic-glass-stroke); }
/* The photo fills the whole column; the blue band lies over its bottom edge (design). */
.fic-about-photo {
	position: relative;
	min-height: clamp(420px, 50vw, 760px);
	overflow: hidden;
	clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
}
.fic-about-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 55% 40%;
}
.fic-about-band {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: clamp(120px, 12vw, 184px);
	background: #0000FF;
	overflow: hidden;
}
.fic-about-band svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
/* Home — About us mobile: the grid drops to one column by itself (no extra rules in the design). */

/* ==========================================================================
   Home — Where we serve: the interactive map (pins, arcs, labels; desktop-home.html #where-d), then a
   sideways scroll-snap row of country photo cards and two round arrows (design home page.html,
   variant "Carousel"). Pins and cards stay in sync (assets/js/where.js).
   ========================================================================== */
@keyframes ficPulse { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }
.pulse { animation: ficPulse 2.2s ease-out infinite; }
.arc { stroke-dasharray: 5 6; animation: ficDash 4s linear infinite; will-change: stroke-dashoffset; }
@keyframes ficDash { to { stroke-dashoffset: -44; } }
@media (prefers-reduced-motion: reduce) { .pulse, .arc { animation: none; } }
.fic-where {
	background: #161616;
	color: #ffffff;
	padding: clamp(72px, 9vw, 140px) 0;
	/* clip, not hidden: hidden would make the section a scroll box and break the sticky carousel. */
	overflow-x: clip;
}
.fic-where-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: 0 clamp(20px, 5vw, 72px);
	box-sizing: border-box;
}
/* Map: full section width, whole map shown (nothing cut at the top or bottom, client request). */
.fic-map {
	position: relative;
	width: 100%;
	aspect-ratio: 2000 / 1300;
	margin: clamp(48px, 6vw, 96px) 0 clamp(32px, 4vw, 64px);
	overflow: hidden;
	isolation: isolate;
	background: #161616;
}
.fic-map-layer { position: absolute; inset: 0; }
.fic-map-layer > img,
.fic-map-layer > svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.fic-map-country {
	cursor: pointer;
	transition: fill 0.25s ease;
}
.fic-pin {
	position: absolute;
	width: 48px;
	height: 48px;
	margin: -24px 0 0 -24px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fic-pin-ring {
	position: absolute;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(60, 80, 255, 0.55);
}
.fic-pin-dot {
	position: relative;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	box-sizing: border-box;
	border: 2px solid #ffffff;
	background: #0000FF;
	box-shadow: 0 0 0 1.5px rgba(255, 255, 255, 0.55);
}
.fic-pin.is-on .fic-pin-ring { width: 48px; height: 48px; }
.fic-pin.is-on .fic-pin-dot { width: 16px; height: 16px; }
.fic-pin--hq .fic-pin-ring { background: rgba(255, 255, 255, 0.45); }
.fic-pin--hq .fic-pin-dot { background: #ffffff; }
.fic-pin-label {
	position: absolute;
	transform: translate(16px, -52px);
	height: 32px;
	padding: 0 14px;
	display: flex;
	align-items: center;
	border-radius: 999px;
	background: #ffffff;
	color: #161616;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
}
.fic-pin-label--left { transform: translate(calc(-100% - 16px), -52px); }
.fic-pin-label[hidden] { display: none; }
.fic-where-track {
	--fic-where-pad: max(clamp(20px, 5vw, 72px), calc((100% - 1120px) / 2));
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 40px var(--fic-where-pad) 0;
	scroll-padding: 0 var(--fic-where-pad);
	scrollbar-width: none;
}
.fic-where-track::-webkit-scrollbar { display: none; }
.fic-where-card {
	flex: 0 0 min(720px, 82vw);
	aspect-ratio: 3 / 2;
	position: relative;
	overflow: hidden;
	border-radius: 12.67px;
	background: #262626;
	scroll-snap-align: start;
}
.fic-where-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.55) 100%);
	pointer-events: none;
}
.fic-where-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fic-where-name {
	position: absolute;
	z-index: 1;
	left: clamp(20px, 3.5vw, 52px);
	bottom: clamp(20px, 3vw, 40px);
	display: flex;
	align-items: center;
	gap: 0.32em;
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1;
	color: #ffffff;
}
.fic-where-flag {
	flex: none;
	width: 0.62em;
	height: 0.62em;
	object-fit: cover;
	object-position: center;
	border-radius: 50%;
	box-shadow: 0 0 0 1.5px rgba(255, 255, 255, 0.55);
}
.fic-where-more {
	position: absolute;
	z-index: 1;
	right: clamp(20px, 3.5vw, 52px);
	bottom: clamp(22px, 3vw, 44px);
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding-bottom: 3px;
	font-size: clamp(16px, 1.6vw, 24px);
	color: #ffffff;
	text-decoration: none;
	background: linear-gradient(#ffffff, #ffffff) 0 100% / 0% 1px no-repeat;
	transition: background-size .3s ease, gap .3s ease;
}
.fic-where-more:hover,
.fic-where-more:focus-visible { color: #ffffff; background-size: 100% 1px; gap: 0.7em; }
.fic-where-arrows {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin-top: 48px;
}
/* Desktop scroll pinning (where.js adds .is-pinned above 900px, not with reduced motion): the wrapper
   is 100vh + 60vh per extra card; the inner view sticks and the page scroll moves the cards. */
.fic-where-pin.is-pinned { height: calc(100vh + (var(--fic-where-n, 5) - 1) * 60vh); }
.fic-where-pin.is-pinned .fic-where-sticky {
	position: sticky;
	top: 0;
	height: 100vh;
	box-sizing: border-box;
	padding-top: var(--fic-header-h);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.fic-where-pin.is-pinned .fic-where-track {
	overflow-x: hidden;
	scroll-snap-type: none;
	scroll-behavior: auto;
}
/* Cards shrink on short windows so the whole pinned view (cards + arrows) fits under the header. */
.fic-where-pin.is-pinned .fic-where-card { flex-basis: min(720px, 82vw, calc((100vh - var(--fic-header-h) - 220px) * 1.5)); }
.fic-round-arrow {
	width: 64px;
	height: 64px;
	border-radius: 999px;
	border: 1px solid #ffffff;
	background: transparent;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 220ms ease, color 220ms ease, transform 220ms cubic-bezier(.2, .7, .2, 1);
}
.fic-round-arrow svg { transition: transform 220ms cubic-bezier(.2, .7, .2, 1); }
.fic-round-arrow:hover { background: #ffffff; color: #161616; transform: scale(1.06); }
.fic-round-arrow:hover svg { transform: translateX(3px); }
.fic-round-arrow.js-prev:hover svg { transform: translateX(-3px); }
.fic-round-arrow:active { transform: scale(0.92); }

/* Home — Where we serve mobile (mobile-home.html #where): the map scaled to the width with smaller pins;
   the cards are 82vw wide by themselves. */
@media (max-width: 900px) {
	.arc { stroke-dasharray: 3 4; animation-duration: 3.5s; animation-name: ficDashM; }
	@keyframes ficDashM { to { stroke-dashoffset: -28; } }
	.fic-pin {
		width: 30px;
		height: 30px;
		margin: -15px 0 0 -15px;
	}
	.fic-pin-ring { width: 14px; height: 14px; }
	.fic-pin-dot { width: 8px; height: 8px; }
	.fic-pin.is-on .fic-pin-ring { width: 24px; height: 24px; }
	.fic-pin.is-on .fic-pin-dot { width: 11px; height: 11px; }
}
@media (max-width: 640px) {
	.fic-pin-label {
		height: 26px;
		padding: 0 10px;
		font-size: 12px;
		transform: translate(10px, -36px);
	}
	.fic-pin-label--left { transform: translate(calc(-100% - 10px), -36px); }
}

/* ==========================================================================
   Home — shared pieces of the lower sections
   ========================================================================== */
.fic-sec-title {
	margin: 0;
	font-size: clamp(36px, 4.4vw, 64px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
}
/* Section frame of the lower Home sections (design: 1120px content, fluid side padding). */
.fic-work-inner,
.fic-blog-inner,
.fic-needs-inner,
.fic-stories-inner,
.fic-trusted-inner,
.fic-home-partner .fic-partner-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: 0 clamp(20px, 5vw, 72px);
	box-sizing: border-box;
}
/* ArrowLink theme="dark" size="sm" (shared: Home sections, 404, Thank you, blog posts). */
.fic-pill-dark {
	padding: 10.994px 12.826px 10.994px 18.324px;
	display: flex;
	align-items: center;
	gap: 9.16px;
	border-radius: 999px;
	background: #161616;
	color: #ffffff;
	font: var(--fic-font-button-sm);
	white-space: nowrap;
	text-decoration: none;
}
.fic-pill-dark .fic-circle-arrow,
.fic-needs-donate .fic-circle-arrow { border-color: var(--fic-glass-stroke); }

/* Home — Our work */
.fic-work {
	background: #F1F1F1;
	padding: clamp(72px, 9vw, 140px) 0;
}
.fic-work-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(24px, 3vw, 48px);
	margin-top: clamp(36px, 5vw, 72px);
}
.fic-work-item {
	border-top: 1px solid #161616;
	padding-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.fic-work-num {
	font-family: var(--fic-serif);
	font-weight: 200;
	font-size: clamp(48px, 5vw, 72px);
	line-height: 1;
	letter-spacing: -0.05em;
	color: #0000FF;
}
.fic-work-h {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.fic-work-p {
	margin: 0;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.5;
	color: #161616;
}

/* Home — Blog: the image sits on top, the grey text block tucks 48px under it (design). */
.fic-blog {
	background: #ffffff;
	padding: clamp(72px, 9vw, 140px) 0;
}
.fic-blog-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 24px;
	margin-top: clamp(36px, 5vw, 72px);
}
.fic-blog-card {
	display: flex;
	flex-direction: column;
}
/* Phones: the three posts are a swipeable row instead of a tall column (designer 2026-10-29). */
@media (max-width: 700px) {
	.fic-blog-cards {
		display: flex;
		gap: 16px;
		margin-left: calc(-1 * clamp(20px, 5vw, 72px));
		margin-right: calc(-1 * clamp(20px, 5vw, 72px));
		padding: 0 clamp(20px, 5vw, 72px);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 clamp(20px, 5vw, 72px);
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.fic-blog-cards::-webkit-scrollbar { display: none; }
	.fic-blog-card {
		flex: 0 0 84%;
		scroll-snap-align: start;
	}
}
.fic-blog-card > img,
.fic-blog-noimg {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 20px;
	background: #D9D9D9;
}
.fic-blog-body {
	margin-top: -48px;
	padding: 72px 24px 24px;
	border-radius: 0 0 20px 20px;
	background: #F0F0F0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}
.fic-blog-h {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #010010;
}
.fic-blog-meta {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 14px;
}
.fic-blog-meta a {
	display: inline-flex;
	align-items: center;
	padding-bottom: 3px;
	font-weight: 700;
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0% 1.5px no-repeat;
	transition: background-size .3s ease;
}
.fic-blog-meta a:hover,
.fic-blog-meta a:focus-visible { background-size: 100% 1.5px; }
.fic-blog-meta span {
	line-height: 1;
	font-weight: 500;
	color: #6b6b6b;
	white-space: nowrap;
}
.fic-blog-foot {
	display: flex;
	justify-content: center;
	margin-top: clamp(40px, 5vw, 64px);
}
/* ArrowLink theme="dark" (same as "More about us"). */
.fic-blog-more {
	padding: 13.784px 16.081px 13.784px 22.973px;
	display: flex;
	align-items: center;
	gap: 11.49px;
	border-radius: 999px;
	background: #161616;
	color: #ffffff;
	font: var(--fic-font-button);
	white-space: nowrap;
	text-decoration: none;
}
.fic-blog-more:hover { color: #ffffff; }
.fic-blog-more .fic-circle-arrow { border-color: var(--fic-glass-stroke); }

/* Home — Current needs */
.fic-needs {
	background: #ffffff;
	padding: clamp(72px, 9vw, 140px) 0;
}
.fic-needs-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 32px;
}
/* Plain dark pill, no arrow (design). */
.fic-needs-donate {
	height: 44px;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	background: #161616;
	color: #ffffff;
	font: 500 16px/1 var(--fic-font);
	white-space: nowrap;
	text-decoration: none;
	transition: opacity .2s ease, transform .2s ease;
}
.fic-needs-donate:hover { color: #ffffff; opacity: 0.86; transform: translateY(-2px); }
.fic-needs-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: clamp(28px, 4vw, 48px);
}
.fic-tab {
	flex: 1 1 auto;
	height: 44px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	font: 500 16px/1 var(--fic-font);
	cursor: pointer;
	white-space: nowrap;
	background: #ffffff;
	color: #161616;
	box-shadow: inset 0 0 0 1px #161616;
}
.fic-tab.is-on {
	background: #0000FF;
	color: #ffffff;
	box-shadow: none;
}
.fic-needs-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 24px;
}
.fic-needs-grid[hidden] { display: none; }
.fic-need {
	background: #F0F0F0;
	border-radius: 20px;
	padding: clamp(24px, 2.4vw, 32px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.fic-need-num { font-family: var(--fic-serif); font-weight: 300; font-size: 22px; color: #0000FF; }
.fic-need-h {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #010010;
}
.fic-need-p { margin: 0; font-size: 16px; line-height: 1.5; color: #161616; }

/* Home — Stories of people */
.fic-stories {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, #0000FF 35%, #79A9F1 140%);
	color: #ffffff;
	padding: clamp(110px, 13vw, 200px) 0;
}
/* Zigzag line pattern over the blue, as in the hero and Become a partner (designer 2026-11-02). */
.fic-stories-inner { position: relative; z-index: 1; }
.fic-stories-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: clamp(24px, 4vw, 60px);
	margin-top: clamp(36px, 5vw, 72px);
}
.fic-story { display: flex; flex-direction: column; gap: 20px; }
.fic-story-photo {
	aspect-ratio: 16 / 9;
	border-radius: 6.13px;
	background: rgba(255, 255, 255, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}
img.fic-story-photo { width: 100%; height: auto; object-fit: cover; }
.fic-story-text {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
}
/* Video story: poster + round play button + length badge; native controls once playing (stories.js). */
.fic-story-video { position: relative; overflow: hidden; background: #000000; border-radius: 12.67px; }
.fic-story-video video { display: block; width: 100%; height: 100%; object-fit: cover; }
.fic-story-video.is-playing video { object-fit: contain; }
.fic-story-video::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.35) 100%);
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.fic-story-video.is-playing::after { opacity: 0; }
.fic-story-play,
.fic-story-watch { display: none; }
.fic-js .fic-story-play {
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 50%;
	width: 88px;
	height: 88px;
	margin: -44px 0 0 -44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: #ffffff;
	color: #0000FF;
	box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.22);
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.fic-js .fic-story-play svg { margin-left: 3px; }
.fic-js .fic-story-play:hover,
.fic-js .fic-story-play:focus-visible { transform: scale(1.06); box-shadow: 0 0 0 16px rgba(255, 255, 255, 0.18); }
.fic-story-length {
	position: absolute;
	z-index: 1;
	left: 16px;
	bottom: 16px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.55);
	color: #ffffff;
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.fic-story-video.is-playing .fic-story-play,
.fic-story-video.is-playing .fic-story-length { display: none; }

/* Story text: country tag, headline, person, Watch button. */
.fic-story-body { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.fic-story-country {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
}
.fic-story-country img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }
.fic-story-person { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.fic-story-name { font-size: 18px; line-height: 1.3; font-weight: 700; }
.fic-story-role { font-size: 16px; line-height: 1.4; color: rgba(255, 255, 255, 0.78); }
.fic-js .fic-story-watch {
	margin-top: 8px;
	padding: 8px 8px 8px 22px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	border: 0;
	border-radius: 999px;
	background: #ffffff;
	color: #161616;
	font: var(--fic-font-button);
	cursor: pointer;
	transition: background-color 0.3s ease, gap 0.3s ease;
}
.fic-js .fic-story-watch:hover,
.fic-js .fic-story-watch:focus-visible { background: #E8EDD7; gap: 16px; }
.fic-story-watch-icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #0000FF;
	color: #ffffff;
}
.fic-story-watch-icon svg { margin-left: 2px; }
.fic-story-watch-len { order: -1; color: #6b6b6b; font-weight: 500; font-variant-numeric: tabular-nums; }
.fic-story-watch-len::after { content: "·"; margin-left: 12px; color: #b0b0b0; }
.fic-story.is-playing .fic-story-watch { display: none; }

/* One story: wide video, the story text centred beside it (stacks on tablets and phones). */
.fic-stories-grid--single { display: block; }
.fic-stories-grid--single .fic-story {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: center;
	gap: clamp(32px, 5vw, 80px);
}
.fic-stories-grid--single .fic-story-text { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.08; letter-spacing: -0.03em; max-width: 460px; }
@media (max-width: 900px) {
	.fic-stories-grid--single .fic-story { grid-template-columns: 1fr; gap: 28px; }
	.fic-js .fic-story-play { width: 68px; height: 68px; margin: -34px 0 0 -34px; box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.22); }
	.fic-story-length { left: 12px; bottom: 12px; }
	.fic-story-body { gap: 16px; }
}

/* Contact form: spam trap, error line, thank-you state (contact.js). */
.fic-ct-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.fic-ct-error { margin: 0; color: #C62828; font-size: 15px; }
.fic-ct-error[hidden],
.fic-ct-thanks[hidden] { display: none; }
.fic-ct-thanks { display: flex; flex-direction: column; gap: 12px; }

/* Home — We are trusted */
.fic-trusted {
	background: #F1F1F1;
	padding: clamp(110px, 13vw, 200px) 0;
}
.fic-trusted-inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
}
.fic-trusted-text {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.fic-trusted-p {
	margin: 0;
	max-width: 520px;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.5;
	color: #161616;
}
.fic-trusted-logos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
/* Tile crops per logo, as in the design (the 4th tile is dark). */
.fic-logo-tile {
	aspect-ratio: 2 / 1;
	box-sizing: border-box;
	padding: 0 14%;
	background: #ffffff;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.fic-logo-tile img { display: block; width: 100%; height: auto; max-height: 60%; object-fit: contain; }
.fic-logo-tile:nth-child(1) { padding: 0; }
.fic-logo-tile:nth-child(1) img { width: auto; max-width: none; height: 130%; max-height: none; }
.fic-logo-tile:nth-child(2) img { max-height: 52%; }
.fic-logo-tile:nth-child(3) { padding: 0 16%; }
.fic-logo-tile:nth-child(3) img { max-height: 70%; }
.fic-logo-tile:nth-child(4) { padding: 0 9%; } /* wide Big Hills logo: less side padding to match the others */

/* Home — Become a partner */
.fic-partner { background: #161616; color: #ffffff; }
.fic-partner-inner {
	max-width: 1168px; /* one container width everywhere (prototype mixed 1168/1170) */
	margin: 0 auto;
	padding: 120px 24px 100px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.fic-partner-title {
	margin: 0;
	font-size: 48px;
	line-height: 1.05;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.fic-partner-lead { margin: 0; max-width: 900px; font-size: 20px; line-height: 1.4; font-weight: 500; }
.fic-partner-p { margin: 0; max-width: 900px; font-size: 15px; line-height: 1.55; color: #BDBDBD; }
.fic-partner-btn {
	align-self: flex-start;
	margin-top: 8px;
	height: 50px;
	padding: 0 26px;
	display: flex;
	align-items: center;
	border-radius: 999px;
	background: #0000FF;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

/* Home only (.fic-home-partner; the band above is shared with Contact and the page shell):
   big title, two text columns over a rule, white pill that opens the partnership form card. */
.fic-home-partner {
	position: relative;
	overflow: hidden;
	padding: clamp(80px, 10vw, 160px) 0;
}
.fic-home-partner .fic-partner-inner {
	position: relative;
	display: block;
}
.fic-home-partner .fic-partner-title {
	font-size: clamp(40px, 6vw, 92px);
	line-height: 0.98;
	letter-spacing: -0.04em;
	text-wrap: balance;
}
.fic-partner-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	gap: 28px clamp(40px, 6vw, 96px);
	margin-top: clamp(40px, 5vw, 72px);
}
.fic-home-partner .fic-partner-lead {
	max-width: none;
	font-size: clamp(21px, 1.9vw, 26px);
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #ffffff;
}
.fic-home-partner .fic-partner-p {
	max-width: none;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.75);
}
.fic-partner-cta {
	display: flex;
	justify-content: flex-start;
	margin-top: clamp(36px, 4vw, 56px);
}
.fic-partner-cta[hidden] { display: none; }
.fic-home-partner .fic-partner-btn {
	height: auto;
	margin: 0;
	padding: 13.784px 22.973px;
	display: inline-flex;
	gap: 10px;
	border: 0;
	background: #ffffff;
	color: #010010;
	font: var(--fic-font-button);
	cursor: pointer;
	transition: gap .3s ease, background .3s ease, transform .3s ease;
}
.fic-home-partner .fic-partner-btn:hover { gap: 16px; background: #E8EDD7; transform: translateY(-2px); }

/* Partnership form card (opens in place). */
.fic-pf-card {
	max-width: 860px;
	margin: clamp(40px, 5vw, 64px) auto 0;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .45s ease, transform .45s ease;
}
.fic-pf-card.is-in { opacity: 1; transform: none; }
.fic-pf-card[hidden] { display: none; }
.fic-pf-box {
	background: #ffffff;
	color: #010010;
	border-radius: 20px;
	padding: clamp(24px, 3vw, 44px);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}
.fic-pf-form { display: flex; flex-direction: column; gap: 24px; }
.fic-pf-form[hidden] { display: none; }
.fic-pf-step { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.fic-pf-label {
	padding: 0;
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 600;
	color: #010010;
}
.fic-pf-num {
	font-family: var(--fic-serif);
	font-weight: 200;
	font-size: 30px;
	line-height: 1;
	letter-spacing: -0.04em;
	color: #0000FF;
}
.fic-pf-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.fic-pf-pill { position: relative; cursor: pointer; }
.fic-pf-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fic-pf-pill span {
	height: 44px;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	border-radius: 999px;
	border: 1.5px solid #E2E2E2;
	background: #F6F6F6;
	color: #010010;
	font: 500 16px/1 var(--fic-font);
	transition: border-color .2s ease;
}
.fic-pf-pill:hover span { border-color: #0000FF; }
.fic-pf-pill input:checked + span { border-color: #0000FF; background: #0000FF; color: #ffffff; }
.fic-pf-pill input:focus-visible + span { outline: 2px solid #0000FF; outline-offset: 2px; }
.fic-pf-rule { height: 1px; background: #E5E5E5; }
.fic-pf-fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 16px;
}
.fic-pf-field { display: flex; flex-direction: column; gap: 8px; }
.fic-pf-field > span { font-size: 15px; line-height: 1.3; font-weight: 600; color: #010010; }
.fic-pf-field input {
	width: 100%;
	box-sizing: border-box;
	height: 52px;
	padding: 0 18px;
	border-radius: 12.67px;
	border: 1.5px solid #D9D9D9;
	background: #F6F6F6;
	font: 400 16px/1 var(--fic-font);
	color: #010010;
	outline: none;
	transition: border-color .2s ease;
}
.fic-pf-field input:focus { border-color: #0000FF; }
.fic-pf-note { margin: 0; font-size: 13px; line-height: 1.5; color: #6b6b6b; }
.fic-pf-error { margin: 0; font-size: 14px; color: #C62828; }
.fic-pf-error[hidden] { display: none; }
.fic-pf-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.fic-pf-send,
.fic-pf-again {
	padding: 13.784px 22.973px;
	border-radius: 999px;
	font: var(--fic-font-button);
	cursor: pointer;
}
.fic-pf-send {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 0;
	background: #0000FF;
	color: #ffffff;
	transition: gap .3s ease, background .3s ease;
}
.fic-pf-send:hover { gap: 14px; background: #0000CC; }
.fic-pf-send:disabled { opacity: 0.6; cursor: default; }
.fic-pf-again { border: 1.5px solid #010010; background: transparent; color: #010010; }
.fic-pf-thanks { display: flex; flex-direction: column; gap: 16px; padding: 24px 0; }
.fic-pf-thanks[hidden] { display: none; }
.fic-pf-thanks-h {
	font-family: var(--fic-serif);
	font-weight: 200;
	font-size: clamp(48px, 5vw, 72px);
	line-height: 1;
	color: #0000FF;
}
.fic-pf-thanks p { margin: 0; font-size: 17px; line-height: 1.5; color: #161616; }

/* Home — lower sections, mobile: the clamps and auto-fit grids do the work; these are the design's
   own phone rules (data-m="sec", "center-m"). */
@media (max-width: 640px) {
	.fic-stories,
	.fic-trusted { padding: 72px 0; }
	.fic-partner-cta { justify-content: center; }
}

/* Contact / page-shell band, mobile (mobile-home.html) */
@media (max-width: 900px) {
	.fic-partner-inner { max-width: none; padding: 64px 20px 48px; gap: 18px; }
	.fic-partner-title { font-size: 34px; line-height: 1.08; letter-spacing: -0.02em; }
	.fic-partner-lead { max-width: none; font-size: 18px; }
	.fic-partner-p { max-width: none; font-size: 14px; }
	.fic-partner-btn {
		align-self: stretch;
		margin-top: 6px;
		height: 52px;
		padding: 0;
		justify-content: center;
		gap: 8px;
	}
}

/* ==========================================================================
   About us page (desktop-about.html)
   ========================================================================== */
/* Shared container: 1120px content + fluid side gutters (design: about/page.html). */
.fic-ab {
	--fic-ab-gutter: clamp(20px, 5vw, 72px);
	--fic-ab-max: calc(1120px + 2 * var(--fic-ab-gutter));
}
/* Design hero fill is #F1F1F1; the shared light-header token keeps header and hero seamless. */
.fic-ab-hero { position: relative; overflow: hidden; background: var(--fic-about-bg); }
.fic-ab-hero-inner {
	max-width: var(--fic-ab-max);
	margin: 0 auto;
	padding: clamp(150px, 16vw, 220px) var(--fic-ab-gutter) clamp(72px, 8vw, 120px);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
}
.fic-ab-hero-text {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.fic-ab-title {
	margin: 0;
	/* "About us" on one line (designer 2026-10-29). */
	font-size: clamp(52px, 9vw, 124px);
	line-height: 0.94;
	white-space: nowrap;
	font-weight: 700;
	letter-spacing: -0.04em;
}
.fic-ab-title span { font-weight: 200; }
.fic-ab-lead { margin: 0; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.25; font-weight: 500; }
.fic-ab-p { margin: 0; max-width: 540px; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.5; color: #161616; text-wrap: pretty; }
/* Per-paragraph measures from the design (lead is the 1st <p>). */
.fic-ab-p:nth-of-type(2) { max-width: 494px; }
.fic-ab-p:nth-of-type(4) { max-width: 457px; }
.fic-ab-photo {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	max-height: 640px;
	overflow: hidden;
	clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
}
.fic-ab-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 55% 40%;
}
.fic-ab-band {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: clamp(120px, 12vw, 184px);
	background: #0000FF;
	overflow: hidden;
	pointer-events: none;
}
.fic-ab-band svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.9; }

.fic-ab-h2 {
	margin: 0;
	font-size: clamp(36px, 4.4vw, 64px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.fic-ab-team { background: #ffffff; }
.fic-ab-team-inner {
	max-width: var(--fic-ab-max);
	margin: 0 auto;
	padding: clamp(72px, 9vw, 140px) var(--fic-ab-gutter);
	box-sizing: border-box;
}
.fic-ab-team-grid {
	margin-top: clamp(40px, 5vw, 72px);
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: clamp(40px, 4vw, 56px) 24px;
}
.fic-ab-member { display: flex; flex-direction: column; gap: 16px; }
.fic-ab-member-photo {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 12.67px;
	overflow: hidden;
	background: #D9D9D9;
}
.fic-ab-member-photo > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 15%; /* overridden per member (ACF photo_pos) */
}
/* Optional per-member outline (ACF "outline"), for photos on a white background. */
.fic-ab-member-photo.is-outlined::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border: 1.5px solid #CFCFCF;
	border-radius: 12.67px;
	pointer-events: none;
}
.fic-ab-member-nophoto {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 13px;
	color: #6b6b6b;
}
.fic-ab-member-text { display: flex; flex-direction: column; gap: 6px; }
.fic-ab-member-name {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.fic-ab-member-role {
	margin: 0;
	max-width: 320px;
	font-size: clamp(15px, 1.15vw, 17px);
	line-height: 1.45;
	color: #161616;
	text-wrap: pretty;
}

/* The design sets each role's width by hand; the long co-founder role (second card) wraps to three lines. */
.fic-ab-member:nth-child(2) .fic-ab-member-role { max-width: 293px; }

.fic-ab-believe { background: #161616; color: #ffffff; }
.fic-ab-believe-inner {
	max-width: var(--fic-ab-max);
	margin: 0 auto;
	padding: clamp(72px, 9vw, 140px) var(--fic-ab-gutter);
	box-sizing: border-box;
}
.fic-ab-believe-list {
	margin-top: clamp(40px, 6vw, 96px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.fic-ab-belief {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 8px 24px;
	padding: 32px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.fic-ab-belief-num {
	font-family: var(--fic-serif);
	font-size: 24px;
	line-height: 1.2;
	font-weight: 300;
	color: #0000FF;
}
.fic-ab-belief-body { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.fic-ab-belief-h {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.fic-ab-belief-p {
	margin: 0;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.5;
	color: #E8EDD7;
}

/* About us — mobile (design @media max-width:640px; everything else is fluid via clamp()). */
@media (max-width: 640px) {
	/* Photo bleeds to the screen edges and down to the section bottom. */
	.fic-ab-photo {
		width: calc(100% + 2 * var(--fic-ab-gutter));
		max-width: none;
		margin: 0 calc(-1 * var(--fic-ab-gutter)) -72px;
	}
	.fic-ab-belief {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 8px 14px;
		padding: 28px 0;
	}
	.fic-ab-belief-p br { display: none; }
}

/* ==========================================================================
   Donate popup (design #donate modal): a centred white card over a blurred dark overlay; the overlay
   scrolls. Two columns (dark text column + form) that stack when there is no room for two 380px columns.
   The online payment block (Stripe) at the top of the form column is kept from the old site, styled
   with the form's own values.
   ========================================================================== */
html.fic-dn-open { overflow: hidden; }
.fic-dn {
	position: fixed;
	inset: 0;
	z-index: 200;
	box-sizing: border-box;
	overflow-y: auto;
	padding: clamp(16px, 4vw, 48px) 16px;
	font-family: var(--fic-font);
	color: var(--fic-ink-deep);
}
.fic-dn[hidden] { display: none; }
.fic-dn-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(22, 22, 22, 0.7);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.fic-dn-dialog {
	position: relative;
	margin: 0 auto;
	width: min(1080px, 100%);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	border-radius: var(--fic-radius-card);
	background: #ffffff;
	overflow: hidden;
}
.fic-dn h2,
.fic-dn p { margin: 0; }
.fic-dn-close {
	position: absolute;
	z-index: 2;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #F1F1F1;
	color: var(--fic-ink-deep);
	font: 400 24px/1 var(--fic-font);
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.fic-dn-close:hover { background: #E5E5E5; }

/* Left column */
.fic-dn-aside {
	background: #161616;
	color: #ffffff;
	padding: clamp(28px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.fic-dn-title {
	font-size: clamp(36px, 4.4vw, 56px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.fic-dn-lead {
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.35;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.fic-dn-text {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.75);
}
.fic-dn-policy {
	margin-top: auto;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.fic-dn-policy-title {
	font-family: var(--fic-serif);
	font-size: 30px;
	line-height: 1;
	font-weight: 200;
	letter-spacing: -0.04em;
	color: var(--fic-accent-on-dark);
}
.fic-dn-policy-text {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.75);
}

/* Right column */
.fic-dn-main {
	padding: clamp(28px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.fic-dn-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.fic-dn-form[hidden],
.fic-dn-thanks[hidden] { display: none; }
.fic-dn-step {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}
.fic-dn-step legend {
	float: left; /* a floated legend behaves like a normal block, so the margin below applies */
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
}
.fic-dn-step legend ~ * { clear: both; } /* "~": the hidden value input sits between the legend and the chips */
.fic-dn-q {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 600;
	color: var(--fic-ink-deep);
}
.fic-dn-num {
	font-family: var(--fic-serif);
	font-size: 30px;
	line-height: 1;
	font-weight: 200;
	letter-spacing: -0.04em;
	color: #0000FF;
}
.fic-dn-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.fic-dn-chip {
	height: 44px;
	box-sizing: border-box;
	padding: 0 20px;
	border: 1.5px solid #E2E2E2;
	border-radius: 999px;
	background: #F6F6F6;
	color: var(--fic-ink-deep);
	font: 500 16px/1 var(--fic-font);
	cursor: pointer;
	transition: border-color 0.2s ease;
}
.fic-dn-chip:hover { border-color: #0000FF; }
.fic-dn-chip.is-on {
	border-color: #0000FF;
	background: #0000FF;
	color: #ffffff;
}
.fic-dn-rule {
	height: 1px;
	background: #E5E5E5;
}
.fic-dn-fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 16px;
}
.fic-dn-label {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 600;
	color: var(--fic-ink-deep);
}
.fic-dn-input {
	width: 100%;
	min-width: 0;
	height: 52px;
	box-sizing: border-box;
	padding: 0 18px;
	border: 1.5px solid #D9D9D9;
	border-radius: 12.67px;
	background: #F6F6F6;
	font: 400 16px/1 var(--fic-font);
	color: var(--fic-ink-deep);
	outline: none;
	transition: border-color 0.2s ease;
}
.fic-dn-input::placeholder { color: #8a8a8a; }
.fic-dn-input:focus { border-color: #0000FF; }
.fic-dn-input[aria-invalid="true"] { border-color: #D93025; }
/* Spam trap: off screen, never filled in by people. */
.fic-dn-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fic-dn-error { font-size: 14px; line-height: 1.5; color: #D93025; }
.fic-dn-error[hidden] { display: none; }
/* Send / Donate / Send another = ArrowLink "md" metrics; Send and Donate are blue. */
.fic-dn-send,
.fic-dn-pay-btn,
.fic-dn-again {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13.784px 22.973px;
	border: 0;
	border-radius: 999px;
	background: #0000FF;
	color: #ffffff;
	font: var(--fic-font-button);
	white-space: nowrap;
	cursor: pointer;
	transition: gap 0.3s ease, background-color 0.3s ease, opacity 0.2s ease;
}
.fic-dn-send:hover,
.fic-dn-pay-btn:hover { gap: 14px; background: #0000CC; }
.fic-dn-send:disabled,
.fic-dn-pay-btn:disabled { opacity: 0.6; cursor: default; }
.fic-dn-again {
	padding: 12.284px 21.473px; /* 1.5px border included */
	border: 1.5px solid var(--fic-ink-deep);
	background: transparent;
	color: var(--fic-ink-deep);
}
.fic-dn-thanks {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding: 24px 0;
}
.fic-dn-thanks-title {
	font-family: var(--fic-serif);
	font-size: clamp(48px, 5vw, 72px);
	line-height: 1;
	font-weight: 200;
	color: #0000FF;
}
.fic-dn-thanks-text { font-size: 17px; line-height: 1.5; color: #161616; }

/* Online payment (Stripe Checkout): amount field + blue Donate, a note, then a rule before the form. */
.fic-dn-pay { display: flex; flex-direction: column; gap: 12px; }
.fic-dn-pay-row { display: flex; gap: 12px; padding-right: 52px; /* clear of the ✕ */ }
.fic-dn-amount {
	flex: 1 1 140px;
	min-width: 0;
	height: 55px;
	box-sizing: border-box;
	padding: 0 18px;
	border: 1.5px solid #D9D9D9;
	border-radius: 12.67px;
	background: #F6F6F6;
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: text;
	transition: border-color 0.2s ease;
}
.fic-dn-amount:focus-within { border-color: #0000FF; }
.fic-dn-amount:has(input[aria-invalid="true"]) { border-color: #D93025; }
.fic-dn-amount-cur { font-size: 18px; color: #8a8a8a; }
.fic-dn-amount input {
	flex: 1;
	width: 100%;
	min-width: 0;
	border: 0;
	padding: 0;
	background: transparent;
	font: 400 18px/1 var(--fic-font);
	color: var(--fic-ink-deep);
	-moz-appearance: textfield;
}
.fic-dn-amount input:focus { outline: none; }
.fic-dn-amount input::-webkit-outer-spin-button,
.fic-dn-amount input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fic-dn-pay-btn { flex: none; }
.fic-dn-pay-note { font-size: 13px; line-height: 1.5; color: #6b6b6b; }

@media (max-width: 640px) {
	.fic-dn { padding: 16px; }
	.fic-dn-pay-row { flex-wrap: wrap; padding-right: 0; }
	.fic-dn-pay-btn { flex: 1 1 auto; }
}

/* ==========================================================================
   Blog page + country archives (client's Blog design, design/blog/page.html, 2026-10-28).
   The design is fluid (clamp), so one set of rules serves desktop and mobile.
   The dark title block (.fic-bl-hero, .fic-bl-title) is also used by the Contact page.
   ========================================================================== */
.fic-bl-hero { background: #161616; color: #ffffff; }
.fic-bl-hero-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: clamp(140px, 14vw, 180px) clamp(20px, 5vw, 72px) clamp(48px, 5vw, 72px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.fic-bl-title {
	margin: 0;
	font-size: clamp(56px, 7.6vw, 120px);
	line-height: 0.94;
	font-weight: 700;
	letter-spacing: -0.04em;
	overflow-wrap: break-word;
}
/* Country filters inside the dark title block; the pills stretch to fill each row and wrap. */
.fic-bl-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.fic-bl-chip {
	flex: 1 1 auto;
	height: 44px;
	box-sizing: border-box;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: transparent;
	color: #ffffff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
}
.fic-bl-chip.is-on {
	background: #ffffff;
	color: #161616;
	box-shadow: none;
}
.fic-bl-list { background: #ffffff; }
.fic-bl-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: clamp(56px, 6vw, 96px) clamp(20px, 5vw, 72px) clamp(72px, 9vw, 140px);
	box-sizing: border-box;
}
.fic-bl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 40px 24px;
}
/* The whole card is one link: 4:3 photo, grey body tucked 48px under it. */
.fic-bl-card { display: flex; }
.fic-bl-link {
	flex: 1;
	display: flex;
	flex-direction: column;
	color: #010010;
	text-decoration: none;
}
.fic-bl-link:hover { opacity: 1; }
.fic-bl-img {
	position: relative;
	z-index: 1;
	aspect-ratio: 4 / 3;
	border-radius: 20px;
	overflow: hidden;
	background: #D9D9D9;
}
.fic-bl-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fic-bl-body {
	flex: 1;
	margin-top: -48px;
	padding: 72px 24px 24px;
	border-radius: 0 0 20px 20px;
	background: #F0F0F0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.fic-bl-h {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.fic-bl-excerpt { margin: 0; font-size: 16px; line-height: 22px; color: #161616; }
.fic-bl-meta {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}
.fic-bl-read {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding-bottom: 3px;
	font-size: 14px;
	font-weight: 700;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0% 1.5px no-repeat;
	transition: background-size .3s ease, gap .3s ease, color .3s ease;
}
.fic-bl-link:hover .fic-bl-read,
.fic-bl-link:focus-visible .fic-bl-read { background-size: 100% 1.5px; gap: 11px; color: #000000; }
.fic-bl-meta time { font-size: 14px; line-height: 1; font-weight: 500; color: #6b6b6b; white-space: nowrap; }
/* "Show more" = the design system's dark ArrowLink (md). */
.fic-bl-more-row { display: flex; justify-content: center; margin-top: clamp(40px, 5vw, 64px); }
.fic-bl-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11.49px;
	padding: 13.784px 16.081px 13.784px 22.973px;
	border: none;
	border-radius: 999px;
	background: #161616;
	color: #ffffff;
	font-family: inherit;
	font-size: 18.38px;
	line-height: 27.568px;
	font-weight: 500;
	white-space: nowrap;
	cursor: pointer;
	transition: opacity 160ms;
}
.fic-bl-more:hover { opacity: .86; }
.fic-bl-more .fic-circle-arrow { border-color: rgba(255, 255, 255, 0.4); }
.fic-bl-more:hover .fic-circle-arrow { transform: translateX(2px); }
.fic-bl-empty { margin: 0; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.5; color: #161616; }
.fic-bl-card[hidden],
.fic-bl-more-row[hidden],
.fic-bl-empty[hidden] { display: none; }
/* Before blog.js runs, only the first 3 cards show; without JS every card shows and the button is hidden. */
.fic-js .fic-bl-card.is-later { display: none; }
html:not(.fic-js) .fic-bl-more-row { display: none; }

/* ==========================================================================
   Country pages /projects/<slug>/ (design/serve/page.html, "Where we serve").
   Values from the design: fluid clamp() sizes, 1120px content plus a 20–72px gutter.
   ========================================================================== */
.fic-pj { --fic-pj-gut: clamp(20px, 5vw, 72px); }
.fic-pj-wrap {
	max-width: calc(1120px + 2 * var(--fic-pj-gut));
	margin: 0 auto;
	padding: 0 var(--fic-pj-gut);
	box-sizing: border-box;
}
.fic-pj-top {
	background: #161616;
	color: #ffffff;
	padding: clamp(140px, 14vw, 180px) 0 clamp(40px, 5vw, 64px);
}
.fic-pj-top-inner { display: flex; flex-direction: column; gap: 28px; }
.fic-pj-kicker {
	margin: 0;
	font-size: clamp(36px, 4.4vw, 64px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #ffffff;
}
/* Country tabs: they share the row and wrap at every width; the current country is filled white. */
.fic-pj-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fic-pj-chip {
	flex: 1 1 auto;
	height: 44px;
	box-sizing: border-box;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
	color: #ffffff;
	transition: background-color 0.2s, color 0.2s;
}
.fic-pj-chip:hover { background: rgba(255, 255, 255, 0.08); color: #ffffff; }
.fic-pj-chip.is-on { background: #ffffff; color: #161616; box-shadow: none; }

/* Hero: name, lead and news link centred against the 4:5 photo with the slanted left edge. */
.fic-pj-hero { background: #161616; color: #ffffff; padding: 0 0 clamp(72px, 8vw, 120px); }
.fic-pj-hero-inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
}
.fic-pj-hero-text { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.fic-pj-title {
	margin: 0;
	font-size: clamp(56px, 7.6vw, 120px);
	line-height: 0.94;
	font-weight: 700;
	letter-spacing: -0.04em;
}
.fic-pj-intro {
	margin: 0;
	max-width: 620px;
	font-size: clamp(19px, 1.7vw, 24px);
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: #E8EDD7;
}
.fic-pj-news {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	background: #ffffff;
	color: #161616;
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
	transition: opacity 0.2s ease, transform 0.2s ease, gap 0.3s ease;
}
.fic-pj-news:hover { color: #161616; opacity: 0.86; transform: translateY(-2px); gap: 12px; }
/* The focal point comes from the "Photo focal point" field (inline object-position). */
.fic-pj-photo {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	max-height: 640px;
	overflow: hidden;
	clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
	background: #262626;
}
.fic-pj-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fic-pj-body { background: #ffffff; padding: clamp(72px, 9vw, 140px) 0; }
/* Ministries with text only, or just two (USA, Ukraine): a grid whose rows line up. */
.fic-pj-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: clamp(48px, 5vw, 72px) clamp(40px, 6vw, 96px);
}
/* Ministries with photos (India): two columns that fill on their own, 01, 03 … | 02, 04 …
   Below 960px one column, back in 01, 02, 03 order (each item carries its order). */
.fic-pj-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(40px, 6vw, 96px);
	align-items: start;
}
.fic-pj-col { display: flex; flex-direction: column; gap: clamp(48px, 5vw, 72px); min-width: 0; }
.fic-pj-item { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.fic-pj-cols .fic-pj-item { gap: 16px; }
.fic-pj-num {
	font-family: var(--fic-serif);
	font-size: clamp(48px, 5vw, 72px);
	line-height: 1;
	font-weight: 200;
	letter-spacing: -0.05em;
	color: #0000FF;
}
.fic-pj-h {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #000000;
}
.fic-pj-text,
.fic-pj-prose,
.fic-pj-fallback { font-size: clamp(16px, 1.3vw, 19px); line-height: 1.6; color: #161616; }
.fic-pj-text p,
.fic-pj-prose p { margin: 0; text-wrap: pretty; }
.fic-pj-text p + p,
.fic-pj-text ul,
.fic-pj-text ol,
.fic-pj-text ul + p,
.fic-pj-text ol + p { margin: 16px 0 0; }
.fic-pj-text ul,
.fic-pj-text ol { padding-left: 1.2em; }
.fic-pj-prose p + p { margin-top: 28px; }
/* Photo grid: 2 per row at 3:2; with an odd count the first photo spans the row at 2:1.
   A click opens the lightbox (assets/js/lightbox.js). */
.fic-pj-gallery {
	margin-top: 8px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.fic-pj-gallery img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 12.67px;
	background: #D9D9D9;
	cursor: zoom-in;
	transition: transform 0.3s ease, filter 0.3s ease;
}
.fic-pj-gallery img:hover,
.fic-pj-gallery img:focus-visible { transform: scale(1.02); filter: brightness(1.05); }
.fic-pj-gallery img:first-child:nth-last-child(odd) { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
/* Page photos under all the ministries (Ukraine). */
.fic-pj-page-photos .fic-pj-gallery { margin-top: clamp(48px, 5vw, 72px); }
.fic-pj-btn-row { display: flex; justify-content: center; margin-top: 8px; }
.fic-pj-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13.784px 22.973px;
	border: 0;
	border-radius: 999px;
	background: #0000FF;
	color: #ffffff;
	font-family: inherit;
	font-size: 18.38px;
	line-height: 27.568px;
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s ease, gap 0.3s ease, transform 0.3s ease;
}
.fic-pj-btn:hover { background: #0000CC; color: #ffffff; gap: 16px; transform: translateY(-2px); }

/* One-column layout (Ethiopia, Dominican Republic): lead, numbered cards, text, photos in 860px. */
.fic-pj-stack { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 28px; }
.fic-pj-cardblock { display: flex; flex-direction: column; gap: clamp(24px, 3vw, 40px); }
.fic-pj-lead {
	margin: 0;
	font-size: clamp(24px, 2.4vw, 34px);
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: #000000;
}
/* Cards with full sentences (two, Dominican Republic); --labels: short labels (three, Ethiopia). */
.fic-pj-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.fic-pj-cards--labels { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.fic-pj-card {
	background: #F1F1F1;
	border-radius: 20px;
	padding: clamp(22px, 2.2vw, 28px);
	display: flex;
	flex-direction: column;
	gap: 28px;
	transition: transform 0.3s ease, background-color 0.3s ease;
}
.fic-pj-card:hover { transform: translateY(-4px); background: #E9E9EF; }
.fic-pj-card-num {
	font-family: var(--fic-serif);
	font-size: clamp(48px, 5vw, 72px);
	line-height: 1;
	font-weight: 200;
	letter-spacing: -0.05em;
	color: #0000FF;
}
.fic-pj-cards--labels .fic-pj-card-num { font-size: clamp(40px, 4vw, 56px); }
.fic-pj-card-text {
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #010010;
	text-wrap: pretty;
}
.fic-pj-cards--labels .fic-pj-card-text { line-height: 1.2; text-wrap: balance; }

/* Pop-up cards behind an item button ("Recovery Center programs"), opened by assets/js/projects.js. */
.fic-pj-modal {
	position: fixed;
	inset: 0;
	z-index: 1100;
	box-sizing: border-box;
	background: rgba(22, 22, 22, 0.7);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	overflow-y: auto;
	padding: clamp(16px, 4vw, 48px) 16px;
	opacity: 0;
	transition: opacity 0.2s ease;
}
.fic-pj-modal[hidden] { display: none; }
.fic-pj-modal.is-open { opacity: 1; }
.fic-pj-modal-panel {
	position: relative;
	margin: 0 auto;
	max-width: 1040px;
	background: #ffffff;
	border-radius: 20px;
	padding: clamp(28px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 3vw, 36px);
	color: #161616;
}
.fic-pj-modal-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: #F1F1F1;
	font-family: inherit;
	font-size: 24px;
	line-height: 1;
	font-weight: 400;
	color: #010010;
	cursor: pointer;
}
.fic-pj-modal-close:hover { background: #E5E5E5; }
.fic-pj-modal-title {
	margin: 0;
	padding-right: 48px;
	font-size: clamp(32px, 3.6vw, 52px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #010010;
}
.fic-pj-modal-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 16px; }
.fic-pj-modal-card {
	background: #F6F6F6;
	border-radius: 20px;
	padding: clamp(22px, 2.2vw, 28px);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.fic-pj-modal-h {
	margin: 0;
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #010010;
}
.fic-pj-modal-text { font-size: 16px; line-height: 1.6; color: #161616; }
.fic-pj-modal-text p { margin: 0; }
.fic-pj-modal-text p + p { margin-top: 12px; }
.fic-pj-modal-text a { font-weight: 600; color: #0000FF; text-decoration: none; white-space: nowrap; }
.fic-pj-modal-text a:hover { color: #0000FF; text-decoration: underline; }

/* Photo lightbox (assets/js/lightbox.js). */
.fic-lb {
	position: fixed;
	inset: 0;
	z-index: 1200;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 4vw, 64px);
	background: rgba(10, 10, 10, 0.92);
	opacity: 0;
	transition: opacity 0.25s ease;
	cursor: zoom-out;
}
.fic-lb.is-open { opacity: 1; }
.fic-lb-img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 12.67px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	transform: scale(0.96);
	transition: transform 0.25s ease;
	cursor: default;
}
.fic-lb.is-open .fic-lb-img { transform: scale(1); }
.fic-lb-btn {
	position: absolute;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-family: inherit;
	font-size: 26px;
	line-height: 1;
	font-weight: 400;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s;
}
.fic-lb-btn:hover,
.fic-lb-btn:focus-visible { background: rgba(255, 255, 255, 0.26); }
.fic-lb-close { top: 20px; right: 20px; font-size: 32px; }
.fic-lb-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.fic-lb-next { right: 20px; top: 50%; transform: translateY(-50%); }

@media (prefers-reduced-motion: reduce) {
	.fic-pj-news,
	.fic-pj-btn,
	.fic-pj-card,
	.fic-pj-gallery img,
	.fic-lb,
	.fic-lb-img,
	.fic-pj-modal { transition: none; }
	.fic-pj-news:hover,
	.fic-pj-btn:hover,
	.fic-pj-card:hover,
	.fic-pj-gallery img:hover { transform: none; }
}

/* Country pages — mobile. Sizes are fluid (clamp) above; only the design's two breakpoints remain:
   960px for the India columns, 640px for the hero photo. */
@media (max-width: 959px) {
	.fic-pj-cols { display: flex; flex-direction: column; gap: clamp(48px, 5vw, 72px); }
	.fic-pj-col { display: contents; }
}
@media (max-width: 640px) {
	/* The hero photo runs edge to edge and down to the white section (design data-m="bleed"). */
	.fic-pj-photo {
		width: calc(100% + 2 * var(--fic-pj-gut));
		max-width: none;
		margin: 0 calc(-1 * var(--fic-pj-gut)) -72px;
	}
	.fic-lb-prev,
	.fic-lb-next { top: auto; bottom: 20px; transform: none; }
}

/* ==========================================================================
   Contact page (/contact/). No mockup: assembled from existing parts —
   Blog title, 518px columns (country pages), footer icons, Donate popup form fields.
   ========================================================================== */
.fic-ct-body { background: #ffffff; }
.fic-ct-inner {
	max-width: 1168px;
	margin: 0 auto;
	padding: 125px 24px 140px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 48px;
}
.fic-ct-list {
	flex: 0 1 518px;
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #9a9a9a;
}
.fic-ct-row {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 24px 0;
	border-top: 1px solid #9a9a9a;
}
.fic-ct-icon {
	flex: none;
	width: 44px;
	height: 44px;
	box-sizing: border-box;
	border-radius: 999px;
	border: 1px solid #161616;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fic-ct-icon svg { display: block; }
.fic-ct-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fic-ct-value {
	font-size: 26px;
	line-height: 32px;
	font-weight: 500;
	letter-spacing: -0.01em;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.fic-ct-note { font-size: 15px; line-height: 1.55; color: #5f5f5f; }
.fic-ct-line { display: block; white-space: nowrap; }

.fic-ct-form { flex: 0 1 518px; min-width: 0; }
.fic-ct-h {
	margin: 0;
	font-size: 26px;
	line-height: 32px;
	font-weight: 500;
	letter-spacing: -0.01em;
}
.fic-ct-lead { margin: 12px 0 0; font-size: 18.7px; line-height: 28.5px; color: #5f5f5f; }
/* Contact Form 7 markup, styled like the Donate popup fields */
.fic-ct-form .wpcf7,
.fic-ct-form .fic-ct-formbox { margin-top: 32px; }
.fic-ct-form .wpcf7-form > p,
.fic-ct-fields > p { margin: 0 0 17px; font-size: 14px; line-height: 1.55; color: #6b6b6b; }
.fic-ct-form .wpcf7-form-control-wrap,
.fic-ct-field { display: block; }
.fic-ct-form input[type="text"],
.fic-ct-form input[type="email"],
.fic-ct-form textarea {
	width: 100%;
	min-width: 0;
	height: 52px;
	box-sizing: border-box;
	border: 1px solid #E0E0E0;
	border-radius: 12px;
	background: #F5F5F5;
	padding: 0 18px;
	font: inherit;
	font-size: 16px;
	font-weight: 400;
	color: #161616;
}
.fic-ct-form textarea { height: 160px; padding: 14px 18px; resize: vertical; }
.fic-ct-form input::placeholder,
.fic-ct-form textarea::placeholder { color: #8a8a8a; }
.fic-ct-form input:focus,
.fic-ct-form textarea:focus { outline: none; border-color: #0000FF; background: #ffffff; }
.fic-ct-form .wpcf7-form > p a,
.fic-ct-fields > p a { color: #161616; }
.fic-ct-form input[type="submit"] {
	margin-top: 5px;
	height: 54px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: #0000FF;
	color: #ffffff;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}
.fic-ct-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13px; color: #0000FF; }
.fic-ct-form .wpcf7-response-output { margin: 16px 0 0 !important; padding: 12px 16px !important; border-radius: 12px; font-size: 14px; }
.fic-ct .fic-partner-title,
.fic-pg .fic-partner-title { max-width: 900px; }

@media (max-width: 900px) {
	.fic-ct-inner { max-width: none; padding: 40px 20px 64px; flex-direction: column; align-items: stretch; gap: 56px; }
	.fic-ct-list { flex: none; width: 100%; }
	.fic-ct-row { gap: 14px; padding: 18px 0; }
	.fic-ct-value { font-size: 18px; line-height: 1.25; letter-spacing: normal; }
	.fic-ct-note { font-size: 14px; }
	.fic-ct-form { flex: none; width: 100%; }
	.fic-ct-h { font-size: 18px; line-height: 1.25; letter-spacing: normal; }
	.fic-ct-lead { margin-top: 8px; font-size: 15px; line-height: 1.5; }
	.fic-ct-form .wpcf7, .fic-ct-form .fic-ct-formbox { margin-top: 20px; }
	.fic-ct-form .wpcf7-form > p, .fic-ct-fields > p { margin-bottom: 14px; }
	.fic-ct-form input[type="text"],
	.fic-ct-form input[type="email"] { height: 48px; border-color: #e2e2e2; border-radius: 10px; background: #F1F1F1; padding: 0 14px; font-size: 15px; }
	.fic-ct-form textarea { border-color: #e2e2e2; border-radius: 10px; background: #F1F1F1; padding: 12px 14px; font-size: 15px; }
	.fic-ct-form input[type="submit"] { width: 100%; height: 52px; font-size: 15px; }
}

/* ==========================================================================
   Shared frame for older pages, blog posts, Thank you and 404:
   dark title block (Blog / Contact values) + white reading column.
   ========================================================================== */
.fic-pg-hero { background: #161616; color: #ffffff; }
.fic-pg-hero-inner {
	max-width: 1168px;
	margin: 0 auto;
	padding: 162px 24px 72px;
	box-sizing: border-box;
}
.fic-pg-meta { margin-bottom: 16px; font-size: 15px; line-height: 1.55; color: #BDBDBD; }
.fic-pg-title {
	margin: 0;
	max-width: 900px;
	font-size: 64px;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.fic-pg-body { background: #ffffff; }
.fic-pg-inner {
	max-width: 1168px;
	margin: 0 auto;
	padding: 88px 24px 120px;
	box-sizing: border-box;
}
.fic-article {
	max-width: 760px;
	font-size: 18.7px;
	line-height: 28.5px;
	color: #161616;
}
.fic-article > *:first-child { margin-top: 0; }
.fic-article p,
.fic-article ul,
.fic-article ol { margin: 0 0 20px; }
.fic-article ul,
.fic-article ol { padding-left: 1.2em; }
.fic-article h2 {
	margin: 48px 0 16px;
	font-size: 26px;
	line-height: 32px;
	font-weight: 500;
	letter-spacing: -0.01em;
}
.fic-article h3,
.fic-article h4,
.fic-article h5,
.fic-article h6 { margin: 32px 0 12px; font-size: 20px; line-height: 1.25; font-weight: 600; }
.fic-article a { color: #161616; }
.fic-article strong { font-weight: 600; }
.fic-article img { display: block; max-width: 100%; height: auto; border-radius: 12.67px; }
.fic-article-figure { margin: 32px 0; }
.fic-article-figure img { width: 100%; }
.fic-article-gallery {
	margin: 32px 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.fic-article-gallery img { width: 100%; height: 220px; object-fit: cover; border-radius: 12.67px; }
.fic-article-video {
	margin: 32px 0;
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 14px;
	overflow: hidden;
	background: #161616;
}
.fic-article-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fic-article-btn-wrap { margin: 24px 0; }
.fic-article .fic-article-btn {
	display: inline-flex;
	height: 50px;
	padding: 0 26px;
	align-items: center;
	border-radius: 999px;
	background: #0000FF;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}
.fic-article-back { margin: 48px 0 0; }
.fic-article-back .fic-pill-dark { display: inline-flex; }
.fic-pg-hero + .fic-pg-body .fic-article:empty { display: none; }
.fic-landing { padding-top: var(--fic-header-h); }

@media (max-width: 900px) {
	.fic-pg-hero-inner { max-width: none; padding: calc(var(--fic-header-h) + 72px) 20px 40px; }
	.fic-pg-meta { margin-bottom: 10px; font-size: 14px; }
	.fic-pg-title { font-size: 34px; line-height: 1.08; letter-spacing: -0.02em; }
	.fic-pg-inner { max-width: none; padding: 40px 20px 64px; }
	.fic-article { font-size: 15px; line-height: 1.5; }
	.fic-article p, .fic-article ul, .fic-article ol { margin-bottom: 14px; }
	.fic-article h2 { margin: 32px 0 10px; font-size: 18px; line-height: 1.25; letter-spacing: normal; }
	.fic-article h3, .fic-article h4, .fic-article h5, .fic-article h6 { margin: 24px 0 8px; font-size: 16px; }
	.fic-article-figure, .fic-article-gallery, .fic-article-video { margin: 24px 0; }
	.fic-article-gallery { gap: 8px; }
	.fic-article-gallery img { height: 120px; }
	.fic-article .fic-article-btn { display: flex; justify-content: center; height: 52px; padding: 0; }
	.fic-article-back { margin-top: 32px; }
}

/* ==========================================================================
   Privacy Policy (page-privacy-policy.php; client's design, design/privacy/page.html, 2026-10-28):
   light title block with the intro, contents list on the left (sticky below the header), numbered
   sections. The design is fluid (clamp), so one set of rules serves desktop and mobile.
   ========================================================================== */
.fic-pp-hero { background: #F1F1F1; }
.fic-pp-hero-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: clamp(160px, 16vw, 220px) clamp(20px, 5vw, 72px) clamp(64px, 7vw, 104px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.fic-pp-title {
	margin: 0;
	font-size: clamp(56px, 7.6vw, 120px);
	line-height: 0.94;
	font-weight: 700;
	letter-spacing: -0.04em;
	color: #010010;
}
.fic-pp-intro {
	max-width: 760px;
	font-size: clamp(19px, 1.7vw, 24px);
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: #161616;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.fic-pp-intro p { margin: 0; }
/* A line that is only bold text ("Effective date: …") goes under the intro as a small note (not in the design). */
.fic-pp-intro p:has(> strong:only-child) { order: 2; font-size: 15px; line-height: 22px; font-weight: 400; letter-spacing: 0; color: #555555; }
.fic-pp-intro strong { font-weight: 600; }
.fic-pp-intro a { color: inherit; }

.fic-pp-body { background: var(--fic-white); }
.fic-pp-inner {
	max-width: calc(1120px + 2 * clamp(20px, 5vw, 72px));
	margin: 0 auto;
	padding: clamp(72px, 9vw, 140px) clamp(20px, 5vw, 72px);
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(40px, 6vw, 96px);
	align-items: flex-start;
}
.fic-pp-toc {
	flex: 1 1 240px;
	max-width: 300px;
	position: sticky;
	top: 120px;
}
.fic-pp-toc ol { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.fic-pp-toc li { border-bottom: 1px solid #E5E5E5; }
.fic-pp-toc a {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	color: #010010;
	transition: color .2s ease, padding .2s ease;
}
.fic-pp-toc a:hover { opacity: 1; color: var(--fic-blue); padding-left: 6px; }
/* The section being read (assets/js/privacy.js; kept on client request, not in the design). */
.fic-pp-toc a.is-on { color: var(--fic-blue); }
.fic-pp-toc-num { flex: 0 0 auto; min-width: 24px; color: var(--fic-blue); }

.fic-pp-sections {
	flex: 999 1 480px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 5vw, 64px);
}
.fic-pp-section { display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 120px; }
.fic-pp-num {
	font-family: var(--fic-serif);
	font-size: clamp(40px, 4vw, 56px);
	line-height: 1;
	font-weight: 200;
	letter-spacing: -0.05em;
	color: var(--fic-blue);
}
.fic-pp-h {
	margin: 0;
	font-size: clamp(22px, 2vw, 26px);
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #000000;
}
.fic-pp-text { font-size: clamp(16px, 1.3vw, 19px); line-height: 1.6; color: #161616; }
.fic-pp-text p, .fic-pp-text ul, .fic-pp-text ol { margin: 0 0 16px; }
.fic-pp-text > *:last-child { margin-bottom: 0; }
.fic-pp-text ul, .fic-pp-text ol { padding-left: 1.2em; }
.fic-pp-text li + li { margin-top: 8px; }
.fic-pp-text strong { font-weight: 600; }
.fic-pp-text a { color: inherit; }
/* Email and phone never break inside ("info@freedom-" / "christ.org"). */
.fic-pp-text a[href^="mailto:"], .fic-pp-text a[href^="tel:"], .fic-pp .fic-nowrap { white-space: nowrap; }

/* Below ~857px the two columns wrap: the contents list stops being sticky and spans the width (design). */
@media (max-width: 860px) {
	.fic-pp-toc { position: static; max-width: none; }
}
@media (max-width: 640px) {
	/* "Политика конфиденциальности" on /ru/: the long word must fit a 350px column. */
	.fic-pp-title:lang(ru) { font-size: 30px; line-height: 1.1; letter-spacing: -0.02em; overflow-wrap: break-word; }
	.fic-pp-text p, .fic-pp-text ul, .fic-pp-text ol { margin-bottom: 12px; }
}

/* ==========================================================================
   Generic page content (pages without their own template yet)
   ========================================================================== */
.fic-page-content {
	max-width: 1168px;
	margin: 0 auto;
	padding: 60px 24px 80px;
	box-sizing: border-box;
	color: #ffffff;
}
.fic-header-light .fic-page-content { color: #161616; }

/* Footer logo = back to top */
.fic-footer-logo { display: inline-flex; line-height: 0; transition: opacity 0.2s ease; }
.fic-footer-logo:hover { opacity: 0.7; }

/* ==========================================================================
   Mission Trip 2026 (page-mission-trip-2026.php). The page keeps its own markup (fc-* classes, edited
   in WordPress); these rules give it the site's look: Inter, ink / light / white sections, blue accent,
   1168px container, pill buttons, serif numbers as in "Our work".
   ========================================================================== */
.fic-mt { background: #ffffff; color: #161616; }
.fic-mt .fc-trip { display: block; }
.fic-mt h1, .fic-mt h2, .fic-mt h3, .fic-mt p, .fic-mt ul { margin: 0; }
.fic-mt ul { padding: 0; list-style: none; }
.fic-mt em { font-style: normal; }
.fic-mt .fc-trip__wrap,
.fic-mt .fc-trip__wrap--tight,
.fic-mt .fc-trip__wrap--narrow {
	max-width: 1168px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}
.fic-mt .fc-section-eyebrow,
.fic-mt .fc-cta__eyebrow,
.fic-mt .fc-hero__eyebrow {
	display: block;
	margin-bottom: 18px;
	font-size: 15px;
	font-weight: 500;
	color: #0000FF;
}
.fic-mt h2 {
	font-size: 48px;
	line-height: 1.05;
	font-weight: 700;
	letter-spacing: -0.03em;
}
.fic-mt h2 .em { color: #0000FF; }

/* Hero: dark block with the text (eyebrow, title, then text + numbers), the team photo below it */
.fic-mt .fc-hero {
	display: flex;
	flex-direction: column;
	margin-top: calc(-1 * var(--fic-header-h));
	padding: calc(var(--fic-header-h) + 100px) 0 120px;
	background: #161616;
	color: #ffffff;
}
.fic-mt .fc-hero__inner {
	order: 1;
	display: grid;
	grid-template-columns: 1fr 420px;
	grid-template-areas: "eye eye" "title title" "sub meta";
	column-gap: 64px;
	align-items: end;
}
.fic-mt .fc-hero__eyebrow { grid-area: eye; color: #7B7BFF; }
.fic-mt .fc-hero__title {
	grid-area: title;
	font-size: 88px;
	line-height: .98;
	font-weight: 700;
	letter-spacing: -0.045em;
}
.fic-mt .fc-hero__title em { font-weight: 300; letter-spacing: -0.035em; }
.fic-mt .fc-hero__sub {
	grid-area: sub;
	margin-top: 40px;
	max-width: 560px;
	font-size: 22px;
	line-height: 1.4;
	color: rgba(255,255,255,.88);
}
.fic-mt .fc-hero__meta { grid-area: meta; display: flex; gap: 40px; }
.fic-mt .fc-hero__meta-item { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.35); }
.fic-mt .fc-hero__meta-num { font-size: 32px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; white-space: nowrap; }
.fic-mt .fc-hero__meta-lbl { margin-top: 6px; font-size: 15px; color: #BDBDBD; }
.fic-mt .fc-hero__photo,
.fic-mt .fc-hero__photo-cap {
	width: calc(100% - 48px);
	max-width: 1120px;
	margin: 0 auto;
}
.fic-mt .fc-hero__photo {
	order: 2;
	margin-top: 64px;
	aspect-ratio: 16 / 7;
	border-radius: 24px;
	background: #2a2a2a var(--fc-hero-photo) center 30% / cover no-repeat;
}
.fic-mt .fc-hero__photo-cap { order: 3; margin-top: 14px; font-size: 13px; color: #8a8a8a; text-align: right; }

/* Why we go: big quote on light grey */
.fic-mt .fc-why { background: #F1F1F1; padding: 120px 0; }
.fic-mt .fc-why__pull {
	max-width: 1000px;
	font-size: 40px;
	line-height: 1.25;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.fic-mt .fc-why__pull em { color: #0000FF; }
.fic-mt .fc-why__attr { margin-top: 32px; font-size: 15px; color: #6b6b6b; }

/* What you'll do: heading + text, three columns like "Our work" */
.fic-mt .fc-do { padding: 120px 0; }
.fic-mt .fc-do__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.fic-mt .fc-do__head-text { width: 420px; max-width: 100%; font-size: 20px; line-height: 1.4; }
.fic-mt .fc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 64px; }
.fic-mt .fc-pillar { border-top: 1px solid #9a9a9a; padding-top: 18px; }
.fic-mt .fc-pillar__num { font-family: var(--fic-serif); font-size: 48px; line-height: 1; color: #0000FF; }
.fic-mt .fc-pillar__title { margin-top: 16px; font-size: 20px; font-weight: 600; }
.fic-mt .fc-pillar__list { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.fic-mt .fc-pillar__list li { position: relative; padding-left: 18px; font-size: 15px; line-height: 1.55; }
.fic-mt .fc-pillar__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #0000FF;
}

/* Pick your week: white cards on light grey */
.fic-mt .fc-weeks { background: #F1F1F1; padding: 120px 0; }
.fic-mt .fc-weeks__head .fc-section-eyebrow { justify-content: flex-start !important; }
.fic-mt .fc-weeks__head p { margin-top: 20px; max-width: 560px; font-size: 20px; line-height: 1.4; }
.fic-mt .fc-weeks__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 56px; }
.fic-mt .fc-week {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 24px;
	border-radius: 20px;
	background: #ffffff;
}
.fic-mt .fc-week__num { font-family: var(--fic-serif); font-size: 40px; line-height: 1; color: #0000FF; }
.fic-mt .fc-week__label { font-size: 14px; color: #6b6b6b; }
.fic-mt .fc-week__dates { margin-top: 4px; font-size: 24px; font-weight: 600; letter-spacing: -0.02em; }
.fic-mt .fc-week__cta {
	align-self: flex-start;
	height: 40px;
	padding: 0 16px 0 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #161616;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	color: #161616;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
.fic-mt .fc-week__cta svg { width: 14px; height: 14px; }
.fic-mt .fc-week__cta svg path { fill: currentColor; }
.fic-mt .fc-week__cta:hover { background: #161616; color: #ffffff; opacity: 1; }
.fic-mt .fc-weeks__note { margin-top: 40px; font-size: 18px; line-height: 1.4; }
.fic-mt .fc-weeks__note em { color: #0000FF; font-weight: 600; }

/* The cost */
.fic-mt .fc-costs { padding: 120px 0; }
.fic-mt .fc-costs__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: start; }
.fic-mt .fc-costs__left p { margin-top: 20px; font-size: 20px; line-height: 1.4; }
.fic-mt .fc-costs__list { display: flex; flex-direction: column; }
.fic-mt .fc-cost {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	column-gap: 16px;
	row-gap: 8px;
	padding: 22px 0 26px;
	border-top: 1px solid #9a9a9a;
}
.fic-mt .fc-cost__lbl { font-family: var(--fic-serif); font-size: 32px; line-height: 1; color: #0000FF; }
.fic-mt .fc-cost__name { font-size: 20px; font-weight: 600; align-self: center; }
.fic-mt .fc-cost__num { font-size: 32px; font-weight: 700; letter-spacing: -0.02em; white-space: nowrap; }
.fic-mt .fc-cost__sub { grid-column: 2 / 4; font-size: 15px; line-height: 1.55; color: #6b6b6b; }
.fic-mt .fc-costs__split { margin-top: 16px; padding: 28px; border-radius: 20px; background: #F1F1F1; }
.fic-mt .fc-costs__split-title { font-size: 17px; font-weight: 600; }
.fic-mt .fc-costs__split-body { margin-top: 10px; font-size: 15px; line-height: 1.55; }
.fic-mt .fc-costs__split-body strong { color: #0000FF; font-weight: 600; }

/* What we ask of you: numbered rows */
.fic-mt .fc-commit { background: #F1F1F1; padding: 120px 0; }
.fic-mt .fc-commit__head .fc-section-eyebrow { justify-content: flex-start !important; }
.fic-mt .fc-commit__head p { margin-top: 20px; max-width: 560px; font-size: 20px; line-height: 1.4; }
.fic-mt .fc-commit__list { margin-top: 56px; }
.fic-mt .fc-commit-item {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 24px;
	padding: 28px 0;
	border-top: 1px solid #9a9a9a;
}
.fic-mt .fc-commit__num { font-family: var(--fic-serif); font-size: 48px; line-height: 1; color: #0000FF; }
.fic-mt .fc-commit__title { font-size: 22px; font-weight: 600; }
.fic-mt .fc-commit__desc { margin-top: 10px; max-width: 680px; font-size: 16px; line-height: 1.55; }

/* Apply: dark band like "Become a partner" */
.fic-mt .fc-cta { background: #161616; color: #ffffff; padding: 120px 0 100px; scroll-margin-top: var(--fic-header-h); }
.fic-mt .fc-cta__eyebrow { color: #7B7BFF; }
.fic-mt .fc-cta h2 { font-size: 64px; line-height: 1.05; }
.fic-mt .fc-cta h2 .script { color: #7B7BFF; }
.fic-mt .fc-cta p { margin-top: 20px; max-width: 560px; font-size: 20px; line-height: 1.4; color: #BDBDBD; }
.fic-mt .fc-cta__btn {
	margin-top: 32px;
	height: 54px;
	padding: 0 26px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border-radius: 999px;
	background: #0000FF;
	color: #ffffff;
	font-size: 17px;
	font-weight: 500;
	text-decoration: none;
}
.fic-mt .fc-cta__contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 64px;
	margin-top: 64px;
	padding-top: 32px;
	border-top: 1px solid var(--fic-rule-dark);
}
.fic-mt .fc-contact__lbl { font-size: 14px; color: #BDBDBD; }
.fic-mt .fc-contact__name { margin-top: 6px; font-size: 20px; font-weight: 600; }
.fic-mt .fc-contact__phone { display: inline-block; margin-top: 4px; font-size: 17px; color: #ffffff; text-decoration: none; }
.fic-mt .fc-foot { background: #161616; border-top: 1px solid var(--fic-rule-dark); }
.fic-mt .fc-foot p { max-width: 1168px; margin: 0 auto; padding: 22px 24px; box-sizing: border-box; font-size: 13px; color: #8a8a8a; }

@media (max-width: 900px) {
	.fic-mt .fc-trip__wrap,
	.fic-mt .fc-trip__wrap--tight,
	.fic-mt .fc-trip__wrap--narrow { padding: 0 20px; }
	.fic-mt h2 { font-size: 34px; }
	.fic-mt .fc-hero { padding: calc(var(--fic-header-h) + 56px) 0 72px; }
	.fic-mt .fc-hero__inner { grid-template-columns: 1fr; grid-template-areas: "eye" "title" "sub" "meta"; }
	/* "Dominican&nbsp;Republic" cannot wrap: the size follows the screen so it fits from 360px up. */
	.fic-mt .fc-hero__title { font-size: min(46px, 10.2vw); line-height: 1.02; letter-spacing: -0.04em; }
	.fic-mt .fc-hero__sub { margin-top: 20px; font-size: 18px; }
	.fic-mt .fc-hero__meta { flex-wrap: wrap; gap: 20px 28px; margin-top: 32px; }
	.fic-mt .fc-hero__meta-num { font-size: 24px; white-space: normal; }
	.fic-mt .fc-hero__photo,
	.fic-mt .fc-hero__photo-cap { width: calc(100% - 40px); }
	.fic-mt .fc-hero__photo { margin-top: 40px; aspect-ratio: 4 / 3; border-radius: 20px; background-position: 45% 30%; }
	.fic-mt .fc-hero__photo-cap { font-size: 12px; text-align: left; }
	.fic-mt .fc-why, .fic-mt .fc-do, .fic-mt .fc-weeks, .fic-mt .fc-costs, .fic-mt .fc-commit { padding: 72px 0; }
	.fic-mt .fc-why__pull { font-size: 26px; line-height: 1.3; }
	.fic-mt .fc-do__head-text, .fic-mt .fc-weeks__head p, .fic-mt .fc-costs__left p, .fic-mt .fc-commit__head p { font-size: 17px; }
	.fic-mt .fc-pillars, .fic-mt .fc-weeks__list { grid-template-columns: 1fr; margin-top: 40px; }
	.fic-mt .fc-pillars { gap: 40px; }
	.fic-mt .fc-week { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 20px; }
	.fic-mt .fc-week__num { font-size: 32px; width: 44px; }
	.fic-mt .fc-week__body { flex: 1 1 calc(100% - 60px); min-width: 0; }
	.fic-mt .fc-week__dates { font-size: 20px; }
	.fic-mt .fc-week__cta { margin-left: 60px; }
	.fic-mt .fc-costs__grid { grid-template-columns: 1fr; gap: 40px; }
	.fic-mt .fc-cost { grid-template-columns: 36px 1fr; }
	.fic-mt .fc-cost__lbl { font-size: 26px; }
	.fic-mt .fc-cost__name { font-size: 18px; }
	.fic-mt .fc-cost__num { grid-column: 2; font-size: 26px; }
	.fic-mt .fc-cost__sub { grid-column: 2; }
	.fic-mt .fc-costs__split { padding: 22px; }
	.fic-mt .fc-commit__list { margin-top: 40px; }
	.fic-mt .fc-commit-item { grid-template-columns: 44px 1fr; gap: 16px; padding: 22px 0; }
	.fic-mt .fc-commit__num { font-size: 32px; }
	.fic-mt .fc-commit__title { font-size: 19px; }
	.fic-mt .fc-commit__desc { font-size: 15px; }
	.fic-mt .fc-cta { padding: 72px 0 64px; }
	.fic-mt .fc-cta h2 { font-size: 44px; }
	.fic-mt .fc-cta p { font-size: 17px; }
	.fic-mt .fc-cta__contacts { margin-top: 48px; }
	.fic-mt .fc-foot p { padding: 18px 20px; }
}

/* ==========================================================================
   Design 2026-10-28: titles, leads, numbers and names on light sections are pure black (#000);
   body text stays #161616.
   ========================================================================== */
.fic-impact-title,
.fic-stat-num,
.fic-stat-label,
.fic-about-title,
.fic-about-lead,
.fic-sec-title,
.fic-work-h,
.fic-ab-title,
.fic-ab-lead,
.fic-ab-h2,
.fic-ab-member-name { color: #000000; }
/* Dark sections keep light titles ("Where we serve" white: designer 2026-10-29). */
.fic-stories .fic-sec-title,
.fic-ab-believe .fic-ab-h2,
.fic-where .fic-sec-title { color: #ffffff; }
