:root {
	--fc-ink: #173d45;
	--fc-ink-deep: #092f39;
	--fc-sea: #5ab8c3;
	--fc-sea-light: #dff3f2;
	--fc-paper: #fbf7ee;
	--fc-sand: #ead7b4;
	--fc-ember: #ef6d4b;
	--fc-coral: #d84f59;
	--fc-leaf: #4c7f5f;
	--fc-shadow: 0 24px 70px rgba(9, 47, 57, .16);
}

.fc-page {
	background: var(--fc-paper);
	color: var(--fc-ink);
	overflow: hidden;
}

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

.fc-page h1,
.fc-page h2,
.fc-page h3,
.fc-page p { margin-top: 0; }

.fc-page h2 {
	max-width: 880px;
	margin-bottom: 22px;
	font-size: clamp(2.25rem, 5vw, 4.75rem);
	line-height: .98;
	letter-spacing: -.045em;
	color: var(--fc-ink-deep);
}

.fc-page p { font-size: clamp(1.02rem, 1.45vw, 1.2rem); line-height: 1.65; }

.fc-hero {
	position: relative;
	min-height: min(860px, calc(100svh - 80px));
	display: flex;
	align-items: stretch;
	isolation: isolate;
	background: #dff3f2;
}

.fc-hero__art,
.fc-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }

.fc-hero__art { object-fit: cover; object-position: center center; z-index: -2; }

.fc-hero__veil {
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(250, 250, 244, .98) 0%, rgba(250, 250, 244, .9) 34%, rgba(250, 250, 244, .38) 58%, rgba(250, 250, 244, 0) 78%),
		linear-gradient(0deg, rgba(9, 47, 57, .24), transparent 30%);
}

.fc-page .fc-hero__inner {
	width: 100%;
	max-width: 1540px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: inherit;
	padding-left: clamp(24px, 5vw, 88px);
	padding-right: clamp(24px, 5vw, 88px);
	padding-top: clamp(72px, 11vh, 120px);
	padding-bottom: clamp(32px, 6vh, 72px);
}

.fc-hero__copy { width: min(720px, 54%); }

.fc-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 22px;
	font-size: .82rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--fc-coral);
}

.fc-kicker--link { color: var(--fc-ink); text-decoration: none; }
.fc-kicker--link:hover { color: var(--fc-coral); }

.fc-hero h1 {
	max-width: 650px;
	margin: 0 0 24px;
	font-size: clamp(4rem, 8vw, 7.6rem);
	font-weight: 780;
	line-height: .82;
	letter-spacing: -.06em;
	color: var(--fc-ink-deep);
	text-wrap: balance;
}

.fc-hero__lead { max-width: 660px; margin-bottom: 0; font-size: clamp(1.18rem, 2vw, 1.55rem) !important; line-height: 1.42 !important; }

.fc-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.fc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 13px 23px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

.fc-button:hover { transform: translateY(-2px); }
.fc-button:focus-visible,
.fc-text-button:focus-visible,
.fc-amulet-tab:focus-visible,
.fc-mold-tile:focus-visible { outline: 3px solid #ffd27b; outline-offset: 4px; }

.fc-button--primary { background: var(--fc-coral); color: #fff; box-shadow: 0 12px 30px rgba(216, 79, 89, .25); }
.fc-button--primary:hover { background: #c83f4a; color: #fff; }
.fc-button--ghost { border-color: rgba(9, 47, 57, .32); background: rgba(255,255,255,.58); color: var(--fc-ink-deep); backdrop-filter: blur(8px); }
.fc-button--ghost:hover { background: #fff; color: var(--fc-ink-deep); }

.fc-hero__facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	width: min(720px, 54%);
	margin: auto 0 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(9, 47, 57, .12);
	border-radius: 20px;
	background: rgba(9, 47, 57, .12);
	box-shadow: 0 14px 35px rgba(9, 47, 57, .1);
	backdrop-filter: blur(12px);
}

.fc-hero__facts div { min-width: 0; padding: 16px 18px; background: rgba(255,255,255,.72); }
.fc-hero__facts dt { white-space: nowrap; font-size: clamp(1.3rem, 2vw, 1.8rem); font-variant-numeric: tabular-nums; font-weight: 850; line-height: 1; color: var(--fc-ink-deep); }
.fc-hero__facts dd { margin: 5px 0 0; font-size: .84rem; color: rgba(23, 61, 69, .76); }

.fc-section { position: relative; padding: clamp(76px, 10vw, 150px) 0; }
.fc-section--paper { background: var(--fc-paper); }
.fc-section--mist { background: linear-gradient(135deg, #eef8f5, #f7efe2); }

.fc-story { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(42px, 8vw, 110px); align-items: center; }
.fc-story__copy { max-width: 670px; }
.fc-lead { font-size: clamp(1.22rem, 1.8vw, 1.5rem) !important; line-height: 1.55 !important; }
.fc-story blockquote {
	margin: 32px 0 0;
	padding: 20px 0 20px 25px;
	border-left: 4px solid var(--fc-ember);
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	font-weight: 750;
	line-height: 1.35;
	color: var(--fc-ink-deep);
}

.fc-story__figure { position: relative; min-width: 0; margin: 0; isolation: isolate; }
.fc-story__figure::before { content: ''; position: absolute; inset: 14px -12px -14px 12px; border-radius: 32px; background: var(--fc-sand); z-index: -1; }
.fc-story__figure img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 8px solid #fff; border-radius: 28px; box-shadow: var(--fc-shadow); }
.fc-story__figure figcaption { display: block; width: calc(100% - 36px); max-width: calc(100% - 36px); margin: 14px 12px 0 24px; overflow-wrap: anywhere; white-space: normal; font-size: .9rem; color: rgba(23,61,69,.72); }

.fc-section--deep { background: var(--fc-ink-deep); color: #eaf7f4; }
.fc-section-heading { max-width: 840px; margin-bottom: clamp(38px, 6vw, 72px); }
.fc-section-heading > p { max-width: 720px; color: rgba(23, 61, 69, .8); }
.fc-section-heading--light h2 { color: #fff; }
.fc-section-heading--light > p { color: rgba(234, 247, 244, .78); }
.fc-section-heading--light .fc-kicker { color: #ff9d76; }

.fc-island-layout { --fc-haze-opacity: .86; display: grid; grid-template-columns: minmax(0, 1fr) minmax(350px, .44fr); gap: clamp(24px, 3vw, 44px); align-items: stretch; }
.fc-board { min-width: 0; }
.fc-board__stage { position: relative; aspect-ratio: 1.414 / 1; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: clamp(20px, 3vw, 38px); background: #c9e8e6; box-shadow: 0 34px 80px rgba(0,0,0,.36); isolation: isolate; }
.fc-board__stage > img { display: block; width: 100%; height: 100%; object-fit: cover; }

.fc-board__mold-haze {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(circle at 28% 24%, rgba(136, 112, 88, .9), transparent 30%),
		radial-gradient(circle at 72% 63%, rgba(45, 58, 48, .92), transparent 38%),
		linear-gradient(135deg, rgba(25, 38, 35, .78), rgba(78, 57, 48, .84));
	mix-blend-mode: multiply;
	opacity: var(--fc-haze-opacity);
	transition: opacity .65s ease;
}

.fc-board__fire {
	position: absolute;
	left: 44.5%;
	top: 82.5%;
	width: clamp(62px, 10.5%, 116px);
	display: grid;
	place-items: center;
	opacity: 0;
	transform: translate(-50%, -50%) scale(.45);
	transition: opacity .8s ease, transform 1.1s cubic-bezier(.2,.8,.2,1), filter .8s ease;
	z-index: 4;
	pointer-events: none;
}

.fc-board__fire img { display: block; width: 100%; height: auto; filter: drop-shadow(0 0 10px rgba(255,153,60,.46)); }
.fc-island-layout.is-complete .fc-board__fire { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.fc-island-layout.is-complete .fc-board__fire img { animation: fc-fire-glow 1.5s ease-in-out infinite alternate; }

@keyframes fc-fire-glow {
	from { transform: translateY(1px) scale(.97); filter: drop-shadow(0 0 8px rgba(255,138,55,.5)); }
	to { transform: translateY(-2px) scale(1.04); filter: drop-shadow(0 0 20px rgba(255,190,82,.82)); }
}

.fc-mold-grid { position: absolute; inset: -2%; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, 1fr); z-index: 3; }
.fc-mold-tile {
	position: relative;
	margin: -2%;
	padding: 0;
	border: 0;
	clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%);
	background-color: #402f35;
	background-image: linear-gradient(rgba(8,21,25,.2), rgba(8,21,25,.46)), url('mold-cards.webp');
	background-size: 400% 400%;
	background-position: calc(var(--fc-col) * 33.333%) calc(var(--fc-row) * 33.333%);
	cursor: pointer;
	box-shadow: inset 0 0 0 2px rgba(240,217,187,.16), inset 0 0 28px rgba(0,0,0,.34);
	transition: opacity .52s ease var(--fc-delay), transform .52s cubic-bezier(.2,.85,.2,1) var(--fc-delay), filter .3s ease;
}

.fc-mold-tile:hover { filter: brightness(1.17); z-index: 2; }
.fc-mold-tile.is-revealed { opacity: 0; transform: scale(.72) rotate(var(--fc-tilt, 4deg)); pointer-events: none; }
.fc-mold-tile:nth-child(3n) { --fc-tilt: -5deg; }
.fc-mold-tile:nth-child(4n) { --fc-tilt: 7deg; }

.fc-board-guide { align-self: stretch; padding: clamp(24px, 2.4vw, 34px); border: 1px solid rgba(255,255,255,.13); border-radius: 28px; background: rgba(255,255,255,.055); }
.fc-board-guide__count { display: flex; align-items: baseline; gap: 11px; margin-bottom: 16px; }
.fc-board-guide__count strong { font-size: clamp(3rem, 6vw, 5.4rem); font-weight: 850; line-height: .8; color: #fff; }
.fc-board-guide__count span { max-width: 105px; font-size: .9rem; line-height: 1.25; color: rgba(234,247,244,.66); }
.fc-progress { height: 5px; margin-bottom: 22px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.12); }
.fc-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff8a62, #ffd174); transition: width .5s ease; }
.fc-board-guide__message { margin-bottom: 20px; font-size: 1.02rem !important; color: rgba(234,247,244,.74); }
.fc-board-outcome { margin-bottom: 22px; overflow: hidden; border: 1px solid rgba(255,209,116,.58); border-radius: 22px; background: #fff8e8; box-shadow: 0 18px 42px rgba(0,0,0,.2); }
.fc-board-outcome[hidden] { display: none; }
.fc-board-outcome > div { padding: 17px 19px; }
.fc-board-outcome > div:first-child { background: #f6ded5; }
.fc-board-outcome > div + div { border-top: 1px solid rgba(120,74,45,.14); }
.fc-board-outcome span { display: block; margin-bottom: 5px; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; color: rgba(58,58,44,.62); }
.fc-board-outcome strong { color: #a63e45; font-size: 1.05rem; text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(166,62,69,.48); }
.fc-board-outcome p { margin: 0; color: var(--fc-ink-deep); font-size: 1rem; font-weight: 760; line-height: 1.42; }
.fc-board-outcome.is-updating { animation: fc-outcome-in .38s ease both; }
.fc-board-outcome.is-final { border-color: #ffd174; box-shadow: 0 0 38px rgba(255,166,66,.28); }

@keyframes fc-outcome-in {
	from { opacity: .35; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}
.fc-board-guide__note { padding: 22px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.06); }
.fc-board-guide__note strong { display: block; margin-bottom: 7px; color: #ffd174; }
.fc-board-guide__note p { margin: 0; font-size: .96rem; line-height: 1.55; color: rgba(234,247,244,.75); }
.fc-text-button { margin-top: 24px; padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.fc-text-button:disabled { opacity: .4; cursor: default; }

.fc-amulets { display: grid; grid-template-columns: minmax(210px, .31fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 80px); align-items: stretch; }
.fc-amulets__tabs { display: flex; flex-direction: column; gap: 8px; }
.fc-amulet-tab {
	position: relative;
	padding: 15px 18px 15px 43px;
	border: 0;
	border-radius: 14px;
	background: transparent;
	color: rgba(23,61,69,.72);
	font: inherit;
	font-weight: 760;
	text-align: left;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.fc-amulet-tab::before { content: ''; position: absolute; left: 17px; top: 50%; width: 12px; height: 12px; border: 2px solid currentColor; border-radius: 50%; transform: translateY(-50%); }
.fc-amulet-tab:hover { color: var(--fc-ink-deep); transform: translateX(3px); }
.fc-amulet-tab.is-active { background: #fff; color: var(--fc-coral); box-shadow: 0 10px 30px rgba(28,62,66,.09); }
.fc-amulet-tab.is-active::before { background: currentColor; box-shadow: inset 0 0 0 3px #fff; }

.fc-amulet-panel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr); min-height: 440px; overflow: hidden; border-radius: 34px; background: #fff; box-shadow: var(--fc-shadow); }
.fc-amulet-panel__art { min-height: 360px; padding: clamp(22px, 4vw, 48px); display: grid; place-items: center; background: radial-gradient(circle at 50% 42%, #fff 0, #f3e7d4 72%, #e7d2ae 100%); }
.fc-amulet-panel__art img { display: block; width: 100%; max-height: 360px; object-fit: contain; filter: drop-shadow(0 18px 25px rgba(64,42,38,.2)); transition: opacity .18s ease, transform .28s ease; }
.fc-amulet-panel.is-changing img { opacity: 0; transform: scale(.96); }
.fc-amulet-panel__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 5vw, 70px); background: var(--fc-ink-deep); color: #fff; }
.fc-amulet-panel__copy > span { margin-bottom: 16px; font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: #ff9d76; }
.fc-amulet-panel__copy h3 { margin-bottom: 18px; font-size: clamp(2rem, 4vw, 3.8rem); line-height: .98; letter-spacing: -.04em; color: #fff; }
.fc-amulet-panel__copy p { color: rgba(255,255,255,.76); }
.fc-amulet-panel__copy blockquote { margin: 22px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.16); font-size: clamp(1.1rem, 2vw, 1.35rem); font-weight: 700; line-height: 1.45; color: #ffd174; }

.fc-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; list-style: none; background: rgba(23,61,69,.12); border-radius: 26px; overflow: hidden; }
.fc-flow li { min-height: 290px; padding: clamp(24px, 3vw, 38px); background: #fffdf8; }
.fc-flow li > span { display: block; margin-bottom: 54px; font-size: .82rem; font-weight: 850; color: var(--fc-coral); }
.fc-flow strong { display: block; margin-bottom: 13px; font-size: 1.18rem; line-height: 1.25; color: var(--fc-ink-deep); }
.fc-flow p { margin: 0; font-size: .97rem; line-height: 1.55; color: rgba(23,61,69,.74); }

.fc-section--zones { background: #e6f1ed; }
.fc-zones { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.fc-zone { position: relative; min-height: 330px; padding: 28px; overflow: hidden; border-radius: 26px; color: #fff; box-shadow: 0 16px 36px rgba(20,48,51,.12); }
.fc-zone::after { content: ''; position: absolute; right: -42px; bottom: -62px; width: 170px; height: 170px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.05), 0 0 0 56px rgba(255,255,255,.035); }
.fc-zone > span { display: block; margin-bottom: 58px; font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; opacity: .7; }
.fc-zone h3 { max-width: 240px; margin-bottom: 18px; font-size: clamp(1.5rem, 2.5vw, 2.15rem); line-height: 1.08; color: #fff; }
.fc-zone p { position: relative; z-index: 1; margin: 0; font-size: .98rem; line-height: 1.55; color: rgba(255,255,255,.78); }
.fc-zone--gray { background: #657478; }
.fc-zone--black { background: #182b31; }
.fc-zone--brown { background: #785142; }
.fc-zone--red { background: #b94f52; }

.fc-section--gallery { background: #fffdf8; }
.fc-gallery-intro { display: grid; grid-template-columns: 1fr .7fr; gap: 50px; align-items: end; margin-bottom: 52px; }
.fc-gallery-intro p { margin: 0; color: rgba(23,61,69,.78); }
.fc-gallery { display: grid; grid-template-columns: 1.35fr .65fr; grid-template-rows: 1fr auto; gap: 18px; }
.fc-gallery figure { margin: 0; overflow: hidden; border-radius: 28px; }
.fc-gallery figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fc-gallery__wide { grid-row: 1 / span 2; min-height: 640px; }
.fc-gallery > figure:not(.fc-gallery__wide) { min-height: 350px; }
.fc-gallery__quote { position: relative; min-height: 270px; padding: 34px; border-radius: 28px; background: var(--fc-coral); color: #fff; }
.fc-gallery__quote > span { position: absolute; top: 2px; right: 25px; font-family: Georgia, serif; font-size: 9rem; line-height: 1; opacity: .16; }
.fc-gallery__quote p { position: relative; z-index: 1; margin: 58px 0 0; font-size: clamp(1.18rem, 2.1vw, 1.55rem); font-weight: 720; line-height: 1.38; }

.fc-section--video { background: var(--fc-ink-deep); color: #fff; }
.fc-video-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(38px, 7vw, 90px); align-items: center; }
.fc-video-copy h2 { color: #fff; }
.fc-video-copy p { color: rgba(255,255,255,.72); }
.fc-video-copy .fc-kicker { color: #ff9d76; }
.fc-video-quote { margin: 0; padding: 0 0 0 22px; border-left: 3px solid #ff9d76; }
.fc-video-quote p { margin-bottom: 15px; color: #fff; font-size: clamp(1.12rem, 1.7vw, 1.35rem); font-weight: 700; line-height: 1.5; }
.fc-video-quote cite { color: #ffd174; font-size: .86rem; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.fc-text-link { display: inline-flex; gap: 9px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: #ffd174; font-weight: 760; text-decoration: none; }
.fc-text-link:hover { color: #fff; }
.fc-video-shell { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 30px; background: #102f36; box-shadow: 0 30px 70px rgba(0,0,0,.32); }
.fc-video-shell > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) brightness(.55); }
.fc-video-shell__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.fc-video-shell__mark { width: 72px; height: 72px; margin-bottom: 17px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.fc-video-shell__mark svg { width: 34px; height: 34px; fill: #fff; }
.fc-video-shell__overlay strong { font-size: 1.35rem; color: #fff; }
.fc-video-shell__overlay > span:last-child { margin-top: 4px; font-size: .92rem; color: rgba(255,255,255,.7); }
.fc-video-shell.has-video iframe { display: block; width: 100%; height: 100%; border: 0; }

.fc-section--grant { background: linear-gradient(130deg, #f6ead7, #e3f1ec); }
.fc-grant { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(45px, 8vw, 100px); align-items: center; }
.fc-grant__copy p { max-width: 700px; margin-bottom: 30px; }
.fc-grant__logo { padding: clamp(30px, 5vw, 58px); border-radius: 30px; background: rgba(255,255,255,.82); box-shadow: var(--fc-shadow); }
.fc-grant__logo span { display: block; margin-bottom: 20px; font-size: .82rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; color: rgba(23,61,69,.62); }
.fc-grant__logo img { display: block; width: 100%; height: auto; }

.fc-reveal { opacity: 0; transform: translateY(26px); transition: opacity .72s ease, transform .72s cubic-bezier(.2,.75,.2,1); }
.fc-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
	.fc-hero__copy { width: min(690px, 63%); }
	.fc-hero__facts { width: min(690px, 63%); }
	.fc-flow { grid-template-columns: repeat(3, 1fr); }
	.fc-flow li:nth-child(4), .fc-flow li:nth-child(5) { min-height: 240px; }
	.fc-zones { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
	.fc-page h2 { font-size: clamp(2.35rem, 10vw, 3.8rem); }
	.fc-hero { min-height: 760px; }
	.fc-hero__art { object-position: 62% center; }
	.fc-hero__veil { background: linear-gradient(90deg, rgba(250,250,244,.98), rgba(250,250,244,.84) 57%, rgba(250,250,244,.25)); }
	.fc-hero__copy { width: 78%; }
	.fc-hero__facts { width: 100%; }
	.fc-story,
	.fc-island-layout,
	.fc-amulets,
	.fc-gallery-intro,
	.fc-video-layout,
	.fc-grant { grid-template-columns: 1fr; }
	.fc-board-guide { display: grid; grid-template-columns: minmax(0, .5fr) 1fr; gap: 8px 24px; align-items: start; }
	.fc-board-guide__count { grid-row: 1 / span 2; }
	.fc-progress { margin-top: 13px; }
	.fc-board-guide__message { grid-column: 2; grid-row: 2; min-height: 0; }
	.fc-board-outcome,
	.fc-board-guide__note,
	.fc-text-button { grid-column: 1 / -1; }
	.fc-amulets__tabs { flex-direction: row; overflow-x: auto; padding: 4px 3px 14px; scrollbar-width: thin; }
	.fc-amulet-tab { flex: 0 0 auto; }
	.fc-amulet-panel { grid-template-columns: 1fr; }
	.fc-amulet-panel__art { min-height: 300px; }
	.fc-flow { grid-template-columns: repeat(2, 1fr); }
	.fc-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
	.fc-gallery__wide { grid-column: 1 / -1; grid-row: auto; min-height: 500px; }
	.fc-gallery > figure:not(.fc-gallery__wide), .fc-gallery__quote { min-height: 300px; }
}

@media (max-width: 560px) {
	.fc-section { padding: 72px 0; }
	.fc-hero { min-height: 790px; }
	.fc-hero__art { object-position: 67% center; }
	.fc-hero__veil { background: linear-gradient(180deg, rgba(250,250,244,.95) 0%, rgba(250,250,244,.8) 55%, rgba(9,47,57,.3) 100%); }
	.fc-hero__inner { justify-content: flex-start; padding-top: 78px; }
	.fc-hero__copy { width: 100%; }
	.fc-hero h1 { font-size: clamp(3.2rem, 16vw, 4.6rem); }
	.fc-hero__lead { max-width: 94%; }
	.fc-hero__facts { grid-template-columns: repeat(2, 1fr); margin-top: auto; }
	.fc-story__figure::before { inset: 12px -8px -12px 8px; }
	.fc-board__stage { border-radius: 18px; }
	.fc-island-layout { gap: 16px; }
	.fc-board-guide { display: block; padding: 22px; border-radius: 20px; }
	.fc-board-guide__message { min-height: auto; }
	.fc-amulet-panel { border-radius: 24px; }
	.fc-amulet-panel__art { min-height: 250px; padding: 22px; }
	.fc-flow,
	.fc-zones,
	.fc-gallery { grid-template-columns: 1fr; }
	.fc-flow li { min-height: auto; }
	.fc-flow li > span { margin-bottom: 28px; }
	.fc-zone { min-height: 270px; }
	.fc-gallery__wide { grid-column: auto; min-height: 360px; }
	.fc-gallery > figure:not(.fc-gallery__wide) { min-height: 280px; }
	.fc-video-shell, .fc-grant__logo { border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.fc-page *, .fc-page *::before, .fc-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.fc-reveal { opacity: 1; transform: none; }
}
