/* Fantastic Care - front-end styles
   Palette: navy #24216a / deep #191747, orange #f58b0b, ink #343544.
   Orange is only used as small text on dark backgrounds; on white use orange-ink. */

:root {
	--fc-navy: #24216a;
	--fc-navy-deep: #191747;
	--fc-orange: #f58b0b;
	--fc-orange-hover: #e47b00;
	--fc-orange-ink: #984800;
	--fc-surface: #f5f6f8;
	--fc-ink: #343544;
	--fc-muted: #5a5b6c;
	--fc-head: 'Oswald', 'Noto Sans Thai', sans-serif;
	--fc-ease: cubic-bezier(.22, .8, .24, 1);
	--fc-gutter: clamp(16px, 4vw, 48px);

	--i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
	--i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--i-print: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V2h12v7M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 14h12v8H6z'/%3E%3C/svg%3E");
	--i-ruler: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z'/%3E%3Cpath d='m14.5 12.5 2-2M11.5 9.5l2-2M8.5 6.5l2-2M17.5 15.5l2-2'/%3E%3C/svg%3E");
	--i-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.1-3.1a2 2 0 0 0-2.8 0L6 21'/%3E%3C/svg%3E");
	--i-sign: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 13v8M12 3v3M18 6H5.5a1 1 0 0 0-.8.4L3 8.5l1.7 2.1a1 1 0 0 0 .8.4H18a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1Z'/%3E%3C/svg%3E");
	--i-pen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E");
	--i-wrench: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-7.9 7.9l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 7.9-7.9l-3.8 3.8z'/%3E%3C/svg%3E");
	--i-list: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2M12 11h4M12 16h4M8 11h.01M8 16h.01'/%3E%3C/svg%3E");
}

html {
	scroll-behavior: smooth;
	accent-color: var(--fc-navy);
	scrollbar-color: var(--fc-navy) var(--fc-surface);
	-webkit-tap-highlight-color: rgb(245 139 11 / .25);
}
body { overflow-x: clip; }
::selection { background: var(--fc-orange); color: var(--fc-navy-deep); }
a, button, summary, label, select, input[type='checkbox'] { touch-action: manipulation; }
input, textarea { caret-color: var(--fc-navy); }
h1, h2, h3, h4 { text-wrap: balance; }
.fc-main p, .fc-main li { text-wrap: pretty; }
.wp-site-blocks > * { margin-block-start: 0; }
.fc-main .wp-block-post-content > * { margin-block: 0; }
.fc-main img { height: auto; }
.fc-main :focus-visible,
.fc-header :focus-visible,
.fc-footer :focus-visible { outline: 3px solid var(--fc-navy); outline-offset: 3px; }
.fc-footer :focus-visible,
.fc-band :focus-visible,
.fc-hero :focus-visible,
.fc-split__panel :focus-visible { outline-color: #fff; }

/* Icon helpers: icon is drawn with a CSS mask so it takes the text colour. */
.fc-i-arrow { --ico: var(--i-arrow); }
.fc-i-print { --ico: var(--i-print); }
.fc-i-ruler { --ico: var(--i-ruler); }
.fc-i-image { --ico: var(--i-image); }
.fc-i-sign { --ico: var(--i-sign); }
.fc-i-pen { --ico: var(--i-pen); }
.fc-i-wrench { --ico: var(--i-wrench); }
.fc-i-list { --ico: var(--i-list); }

/* ---------- Header ---------- */
.wp-site-blocks > header { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header { top: var(--wp-admin--admin-bar--height, 32px); }
.fc-header { position: relative; background: #fff; box-shadow: 0 2px 12px rgb(25 23 71 / .14); }
.fc-header__row { gap: 0; align-items: stretch; }
.fc-header__brand { flex: 1 1 520px; gap: 24px; padding: 10px var(--fc-gutter); }
.fc-logo { margin: 0; }
.fc-logo a { display: inline-flex; }
.fc-logo img { display: block; width: auto; height: 84px; transition: height .35s var(--fc-ease); }
.fc-header.is-scrolled .fc-logo img { height: 54px; }

.fc-nav { font-family: var(--fc-head); }
.fc-nav .wp-block-navigation__container { gap: clamp(16px, 2.4vw, 32px); }
.fc-nav .wp-block-navigation-item__content {
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--fc-navy);
	padding: 6px 0;
	text-decoration: none;
	background: linear-gradient(var(--fc-orange), var(--fc-orange)) left bottom / 0 2px no-repeat;
	transition: background-size .35s var(--fc-ease), color .2s;
}
.fc-nav .wp-block-navigation-item__content:hover,
.fc-nav .current-menu-item > .wp-block-navigation-item__content,
.fc-nav [aria-current='page'] { background-size: 100% 2px; color: var(--fc-navy); text-decoration: none; }
.fc-nav .wp-block-navigation__responsive-container-open { color: var(--fc-navy); }
.fc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--fc-navy);
	color: #fff;
}
.fc-nav .is-menu-open .wp-block-navigation-item__content { color: #fff; font-size: 22px; }

.fc-header__tools {
	flex: 0 0 340px;
	gap: 18px;
	padding: 12px clamp(16px, 3vw, 40px);
	background: var(--fc-orange);
	align-items: center;
	justify-content: center;
}
.fc-search { flex: 1 1 auto; margin: 0; min-width: 0; }
.fc-search .wp-block-search__inside-wrapper { position: relative; padding: 0; border: 0; background: #fff; border-radius: 4px; }
.fc-search .wp-block-search__input {
	border: 0;
	background: transparent;
	min-width: 0;
	padding: 8px 40px 8px 12px;
	font-family: inherit;
	font-size: 14px;
	color: var(--fc-ink);
}
.fc-search .wp-block-search__button {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--fc-navy);
	color: #fff;
}
.fc-search .wp-block-search__button svg { width: 16px; height: 16px; fill: currentColor; }
.fc-tools { display: flex; gap: 10px; }
.fc-tool {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: var(--fc-navy);
	transition: background .25s, color .25s, transform .3s var(--fc-ease);
}
.fc-tool::before {
	content: '';
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--ico) center / contain no-repeat;
	mask: var(--ico) center / contain no-repeat;
}
.fc-tool:hover { background: var(--fc-navy); color: #fff; transform: translateY(-2px); }

.fc-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--fc-orange);
	transform: scaleX(0);
	transform-origin: left;
	pointer-events: none;
}

@media (max-width: 900px) {
	.fc-header__row { flex-direction: column; }
	.fc-header__brand { flex: 0 0 auto; }
	.fc-header__tools { flex: 0 0 auto; width: 100%; }
	.fc-logo img { height: 64px; }
	.fc-header.is-scrolled .fc-logo img { height: 48px; }
	.fc-header.is-scrolled .fc-header__tools { display: none; }
}

/* ---------- Hero ---------- */
.fc-main .fc-hero {
	position: relative;
	display: grid;
	place-items: center;
	min-height: clamp(520px, 80vh, 720px);
	overflow: hidden;
	isolation: isolate;
	background: var(--fc-navy-deep);
	padding: 64px var(--fc-gutter) 96px;
	text-align: center;
}
.fc-hero__slides { position: absolute; inset: -90px 0 0; z-index: -2; will-change: transform; }
.fc-hero .fc-hero__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 1.2s ease;
}
.fc-hero .fc-hero__slide.is-active { opacity: 1; }
.fc-hero .fc-hero__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fc-js .fc-hero .fc-hero__slide.is-active img { animation: fc-kenburns 10s ease-out forwards; }
@keyframes fc-kenburns {
	from { transform: scale(1.02); }
	to { transform: scale(1.12) translate(-1%, -1%); }
}
/* margin: 0 — WordPress gives every block in a flow layout a top margin, which pushed this overlay
   19px below the top of the hero and left a strip of untinted photo under the header. */
.fc-main .fc-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	margin: 0;
	background: linear-gradient(180deg, rgb(25 23 71 / .6), rgb(25 23 71 / .3) 45%, rgb(10 9 30 / .78));
}
.fc-hero__content { position: relative; max-width: 1200px; display: flex; flex-direction: column; align-items: center; }
.fc-main .fc-hero__title {
	margin: 0;
	color: #fff;
	font-size: clamp(46px, 12vw, 160px);
	line-height: .95;
	letter-spacing: -.02em;
	text-transform: uppercase;
	filter: drop-shadow(0 6px 22px rgb(0 0 0 / .5));
}
.fc-hero__title .fc-w { display: inline-block; overflow: hidden; white-space: nowrap; padding-bottom: .05em; vertical-align: top; }
.fc-js .fc-hero__title .fc-ch {
	display: inline-block;
	transform: translateY(110%);
	animation: fc-rise .85s var(--fc-ease) forwards;
	animation-delay: calc(.15s + var(--i, 0) * .05s);
}
@keyframes fc-rise { to { transform: none; } }
.fc-main .fc-hero__kicker {
	margin: .35em 0 0;
	font-family: var(--fc-head);
	font-weight: 700;
	font-size: clamp(22px, 3.6vw, 40px);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--fc-orange);
	text-shadow: 0 2px 10px rgb(0 0 0 / .55);
}
.fc-js .fc-hero__kicker { clip-path: inset(0 100% 0 0); animation: fc-wipe .9s var(--fc-ease) 1s forwards; }
@keyframes fc-wipe { to { clip-path: inset(0 0 0 0); } }
.fc-main .fc-hero__sub {
	margin: clamp(32px, 6vw, 64px) 0 0;
	color: #fff;
	font-size: clamp(17px, 2.2vw, 24px);
	font-weight: 500;
	text-shadow: 0 2px 8px rgb(0 0 0 / .75);
}
.fc-main .fc-hero__cta { margin: 22px 0 0; }
.fc-js .fc-hero__sub,
.fc-js .fc-hero__cta { opacity: 0; transform: translateY(14px); animation: fc-up .8s var(--fc-ease) 1.3s forwards; }
.fc-js .fc-hero__cta { animation-delay: 1.5s; }
@keyframes fc-up { to { opacity: 1; transform: none; } }

.fc-main .fc-hero .wp-block-button__link { transition: transform .3s var(--fc-ease), background .2s; }
.fc-main .fc-hero .wp-block-button__link:hover { transform: translateY(-3px); }

.fc-hero__ctl { position: absolute; left: clamp(16px, 3vw, 32px); bottom: 22px; z-index: 3; display: flex; align-items: center; gap: 14px; }
.fc-dot { position: relative; width: 12px; height: 12px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; transition: background .3s, transform .3s; }
.fc-dot::before { content: ''; position: absolute; inset: -14px; }
.fc-dot[aria-current='true'] { background: var(--fc-orange); border-color: var(--fc-orange); transform: scale(1.25); }
.fc-pause { width: 28px; height: 28px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: rgb(25 23 71 / .55); color: #fff; font-size: 11px; line-height: 1; cursor: pointer; }
.fc-pause:hover { background: var(--fc-orange); border-color: var(--fc-orange); color: var(--fc-navy); }
.fc-main .fc-hero__guide {
	position: absolute;
	right: clamp(16px, 3vw, 32px);
	bottom: 22px;
	z-index: 3;
	margin: 0;
	background: #fff;
	border-radius: 2px;
	box-shadow: 0 10px 24px rgb(0 0 0 / .3);
}
.fc-hero__guide a { display: block; padding: 10px 18px; color: var(--fc-navy); font-size: 14px; font-weight: 600; text-decoration: none; }
.fc-hero__guide a::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 8px;
	vertical-align: -1px;
	background: currentColor;
	transform: rotate(90deg);
	-webkit-mask: var(--i-arrow) center / contain no-repeat;
	mask: var(--i-arrow) center / contain no-repeat;
	transition: transform .3s var(--fc-ease);
}
.fc-hero__guide a:hover::after { transform: rotate(90deg) translateX(4px); }

/* ---------- Symptom ticker ---------- */
.fc-main .fc-ticker { background: var(--fc-navy); border-bottom: 3px solid var(--fc-orange); overflow: hidden; }
.fc-main .fc-ticker__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 14px var(--fc-gutter);
	list-style: none;
}
.fc-ticker__list li {
	position: relative;
	margin: 0;
	padding: 0 30px;
	color: #fff;
	font-family: var(--fc-head);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .06em;
	white-space: nowrap;
}
.fc-ticker__list li::after {
	content: '';
	position: absolute;
	right: -4px;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--fc-orange);
	transform: translateY(-50%) rotate(45deg);
}
.fc-js .fc-main .fc-ticker__list { flex-wrap: nowrap; justify-content: flex-start; width: max-content; padding-inline: 0; animation: fc-marquee 40s linear infinite; }
.fc-ticker:hover .fc-ticker__list { animation-play-state: paused; }
@keyframes fc-marquee { to { transform: translateX(-50%); } }

/* ---------- Repair topics ---------- */
.fc-main .fc-topics { padding: clamp(56px, 8vw, 96px) var(--fc-gutter); background: var(--fc-surface); }
.fc-topics__head { max-width: 1120px; margin: 0 auto 40px; text-align: center; }
/* Section title: Thai is the headline, the English translation sits under it as a small line. */
.fc-main .fc-title { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; color: var(--fc-navy); }
.fc-title__th { font-size: clamp(32px, 5vw, 50px); font-weight: 700; line-height: 1.25; }
.fc-title__en { font-family: var(--fc-head); font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fc-orange-ink); }
.fc-main .fc-topics__lead { max-width: 46rem; margin: 14px auto 0; color: var(--fc-muted); font-size: 15px; }
.fc-main .fc-topics__grid {
	max-width: 1120px;
	margin: 0 auto;
	padding: 6px;
	background: #fff;
	border: 1px solid #dcdce6;
}

.wp-block-image.fc-card { position: relative; margin: 0; overflow: hidden; background: #000; }
.wp-block-image.fc-card a { display: block; }
.wp-block-image.fc-card img { display: block; width: 100%; height: clamp(220px, 26vw, 300px); object-fit: cover; opacity: .92; transition: transform .8s var(--fc-ease), opacity .4s; }
.wp-block-image.fc-card:hover img,
.wp-block-image.fc-card:focus-within img { transform: scale(1.06); opacity: 1; }
.wp-block-image.fc-card figcaption {
	position: absolute;
	inset: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 12px 24px;
	background: linear-gradient(90deg, rgb(25 23 71 / .96), rgb(36 33 106 / .9));
	border-bottom: 3px solid var(--fc-orange);
	color: #fff;
	font-family: var(--fc-head);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	pointer-events: none;
}
.wp-block-image.fc-card figcaption::after {
	content: '';
	flex: none;
	width: 16px;
	height: 16px;
	margin-left: 12px;
	background: currentColor;
	opacity: .8;
	-webkit-mask: var(--i-arrow) center / contain no-repeat;
	mask: var(--i-arrow) center / contain no-repeat;
	transition: transform .35s var(--fc-ease);
}
.wp-block-image.fc-card:hover figcaption::after { transform: translateX(6px); }

/* ---------- Before repair ---------- */
.fc-main .fc-band { position: relative; isolation: isolate; overflow: hidden; background: var(--fc-navy); color: #fff; padding: clamp(48px, 6vw, 76px) var(--fc-gutter); }
.wp-block-image.fc-band__bg { position: absolute; inset: 0; z-index: -1; margin: 0; opacity: .18; }
.fc-band__bg img { display: block; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: luminosity; }
.fc-main .fc-band__cols { max-width: 1120px; margin: 0 auto; align-items: center; gap: 32px; }
.fc-band__box { padding: 28px; background: rgb(255 255 255 / .96); color: var(--fc-ink); box-shadow: 0 24px 40px -22px rgb(0 0 0 / .6); }
.fc-main .fc-band__box h3 { margin: 0 0 12px; color: var(--fc-navy); font-size: clamp(26px, 3vw, 34px); line-height: 1.3; }
.fc-main .fc-band__box p:last-child { margin: 0; font-size: 14px; color: var(--fc-muted); }

.fc-band__mid { display: flex; flex-direction: column; align-items: center; text-align: center; }
.fc-nozzle { width: min(100%, 300px); padding: 18px; background: #fff; border: 1px solid #e1e1ec; color: var(--fc-navy); box-shadow: 0 24px 40px -20px rgb(0 0 0 / .55); }
.fc-main .fc-nozzle h4 { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; color: var(--fc-navy); font-size: 20px; }
.fc-nozzle h4::before { content: ''; width: 26px; height: 26px; background: var(--fc-orange-ink); -webkit-mask: var(--i-print) center / contain no-repeat; mask: var(--i-print) center / contain no-repeat; }
.fc-main .fc-nozzle p { margin: 6px 0 0; color: var(--fc-muted); font-size: 14px; }
.fc-main .fc-nozzle__pattern {
	position: relative;
	height: 90px;
	margin: 12px 0 4px;
	background:
		repeating-linear-gradient(90deg, #00aeef 0 10px, transparent 10px 14px) 0 0 / 100% 14px no-repeat,
		repeating-linear-gradient(90deg, #ec008c 0 10px, transparent 10px 14px) 0 24px / 100% 14px no-repeat,
		repeating-linear-gradient(90deg, #ffd400 0 10px, transparent 10px 14px) 0 48px / 100% 14px no-repeat,
		repeating-linear-gradient(90deg, #222 0 10px, transparent 10px 14px) 0 72px / 100% 14px no-repeat;
}
.fc-js .fc-nozzle__pattern { clip-path: inset(0 100% 0 0); }
.fc-js .fc-nozzle.is-in .fc-nozzle__pattern { animation: fc-print 1.8s steps(28) .4s forwards; }
.fc-nozzle__pattern::after { content: ''; position: absolute; top: -5px; bottom: -5px; left: 0; width: 6px; border-radius: 2px; background: var(--fc-navy); opacity: 0; }
.fc-js .fc-nozzle.is-in .fc-nozzle__pattern::after { animation: fc-head 1.8s steps(28) .4s forwards; }
@keyframes fc-print { to { clip-path: inset(0 0 0 0); } }
@keyframes fc-head { 0% { opacity: 1; left: 0; } 96% { opacity: 1; } 100% { opacity: 0; left: calc(100% - 6px); } }
.fc-main .fc-band__mid .fc-refs { margin: 14px 0 0; max-width: 300px; color: #d9d8ee; font-size: 14px; }
.fc-band__mid .fc-refs a { display: inline-block; padding-block: 3px; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.fc-band__mid .fc-refs a:hover { color: var(--fc-orange); }

.fc-band__side { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-left: 28px; border-left: 1px solid #5a5791; }
.fc-main .fc-checklist { margin: 0; padding: 0; list-style: none; color: #e5e4f3; font-size: 14px; }
.fc-checklist li { position: relative; margin: 0 0 10px; padding-left: 28px; }
.fc-checklist li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .4em;
	width: 16px;
	height: 16px;
	background: var(--fc-orange);
	-webkit-mask: var(--i-check) center / contain no-repeat;
	mask: var(--i-check) center / contain no-repeat;
}
.wp-block-image.fc-band__thumb { flex: none; margin: 0; }
.fc-band__thumb img { display: block; width: 112px; height: 112px; object-fit: cover; }

@media (max-width: 781px) {
	.fc-band__side { padding: 24px 0 0; border-left: 0; border-top: 1px solid #5a5791; }
}

/* ---------- Industry ---------- */
.fc-main .fc-industry-sec { padding: clamp(52px, 6vw, 80px) var(--fc-gutter); background: var(--fc-surface); text-align: center; }
.fc-industry-grid { max-width: 960px; margin: 40px auto 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 36px 28px; }
.fc-industry { display: flex; flex-direction: column; align-items: center; }
.fc-industry__icon {
	display: grid;
	place-items: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 14px;
	border: 2px solid rgb(245 139 11 / .55);
	border-radius: 50%;
	color: var(--fc-orange-ink);
	transition: background .3s, color .3s, transform .45s var(--fc-ease);
}
.fc-industry__icon::before { content: ''; width: 34px; height: 34px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.fc-industry:hover .fc-industry__icon { background: var(--fc-orange); color: var(--fc-navy); transform: translateY(-5px) rotate(-5deg); }
.fc-main .fc-industry p { margin: 0; color: #3b3c4d; font-size: 15px; font-weight: 700; }

/* ---------- Repair support split ---------- */
.fc-main .fc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-block: 0; }
.fc-split > .wp-block-column { margin: 0; flex-basis: auto; }
.fc-split__panel { position: relative; isolation: isolate; display: flex; align-items: center; height: 100%; overflow: hidden; padding: clamp(40px, 6vw, 80px); background: var(--fc-navy); color: #fff; }
.wp-block-image.fc-split__bg { position: absolute; inset: 0; z-index: -1; margin: 0; opacity: .38; }
.fc-split__bg img { display: block; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.fc-split__text { max-width: 28rem; }
.fc-main .fc-split__text h3 { margin: 0 0 16px; color: #fff; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.3; }
.fc-main .fc-split__text p.fc-split__body { margin: 0 0 24px; color: #e5e4f3; font-size: 15px; }
.fc-split__text .wp-block-button__link { background: #fff; color: var(--fc-navy); }
.fc-split__text .wp-block-button__link:hover { background: var(--fc-orange); color: var(--fc-navy); }
.fc-split__photo { height: 100%; margin: 0; overflow: hidden; }
.fc-split__photo img { display: block; width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
@media (max-width: 781px) {
	.fc-main .fc-split { grid-template-columns: 1fr; }
}

/* ---------- Footer ---------- */
.fc-footer { padding: 48px var(--fc-gutter) 24px; background: var(--fc-navy); border-top: 3px solid var(--fc-orange); color: #c6c5df; }
.fc-footer__top { max-width: 1120px; margin: 0 auto; padding-bottom: 32px; border-bottom: 1px solid #504c86; gap: 32px; align-items: center; }
.fc-footer__brand { gap: 20px; align-items: center; }
.fc-footer .fc-logo img { height: 76px; padding: 8px 12px; background: #fff; border-radius: 4px; }
.fc-footer__tag { margin: 0; color: #deddf0; font-size: 15px; line-height: 1.6; }
.fc-footer__nav { font-family: var(--fc-head); }
.fc-footer__nav .wp-block-navigation-item__content { color: #deddf0; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: color .2s; }
.fc-footer__nav .wp-block-navigation-item__content:hover { color: var(--fc-orange); text-decoration: none; }
.fc-footer__bottom { max-width: 1120px; margin: 20px auto 0; gap: 8px 24px; font-size: 14px; }
.fc-footer__bottom p { margin: 0; color: #c6c5df; }

/* ---------- Buttons (extra polish) ---------- */
.wp-block-button__link { transition: background .2s, color .2s, transform .3s var(--fc-ease); }

/* ---------- Scroll reveal (only when JS is running) ----------
   Only a few elements get a reveal, each with its own motion: card wipe, icon pop, checklist tick.
   "still" has no movement; it only tells the nozzle test to start printing. */
.fc-js .fc-r { opacity: 0; transition: opacity .8s var(--fc-ease), transform .8s var(--fc-ease); transition-delay: calc(var(--fc-i, 0) * 90ms); }
.fc-js .fc-r--pop { transform: scale(.7); }
.fc-js .fc-r--tick { transform: translateX(-12px); }
.fc-js .fc-r.is-in { opacity: 1; transform: none; }
.fc-js .fc-r--still { opacity: 1; transform: none; }
/* wipe: the observed element keeps its box (so the observer can see it); only its media is revealed */
.fc-js .fc-r--wipe { opacity: 1; transform: none; }
.fc-js .fc-r--wipe > a,
.fc-js .fc-r--wipe > img { clip-path: inset(0 100% 0 0); transition: clip-path 1s var(--fc-ease); transition-delay: calc(var(--fc-i, 0) * 110ms); }
.fc-js .fc-r--wipe.is-in > a,
.fc-js .fc-r--wipe.is-in > img { clip-path: inset(0 0 0 0); }
.fc-js .wp-block-image.fc-card.fc-r--wipe figcaption { transform: translateY(-110%); transition: transform .7s var(--fc-ease); transition-delay: calc(.45s + var(--fc-i, 0) * 110ms); }
.fc-js .wp-block-image.fc-card.fc-r--wipe.is-in figcaption { transform: none; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.fc-js .fc-r,
	.fc-js .fc-hero__sub,
	.fc-js .fc-hero__cta,
	.fc-js .fc-hero__kicker,
	.fc-js .fc-hero__title .fc-ch,
	.fc-js .fc-nozzle__pattern,
	.fc-js .fc-r--wipe > a,
	.fc-js .fc-r--wipe > img,
	.fc-js .wp-block-image.fc-card.fc-r--wipe figcaption { opacity: 1 !important; transform: none !important; clip-path: none !important; animation: none !important; transition: none !important; }
	.fc-js .fc-hero .fc-hero__slide.is-active img,
	.fc-js .fc-main .fc-ticker__list { animation: none !important; }
	.fc-js .fc-main .fc-ticker__list { flex-wrap: wrap; justify-content: center; width: auto; }
	.fc-nozzle__pattern::after { display: none; }
}
