/**
 * Fixa Building Exhibition Landing — standalone styles
 * Design: ui-ux-pro-max + Fixa brand tokens
 */

:root {
	/* Brand tokens — Fixa organizational palette */
	--bld-primary: #025f50;
	--bld-primary-deep: #024a40;
	--bld-primary-soft: #036b5b;
	--bld-accent: #f15b55;
	--bld-accent-hover: #e04e48;
	--bld-ink: #15332d;
	--bld-navy: #0b2449;
	--bld-navy-deep: #081b38;
	--bld-muted: #5a6f69;
	--bld-surface: #ffffff;
	--bld-tint: #f3faf8;
	--bld-tint-2: #e8f5f1;
	--bld-line: #dbe9e5;
	--bld-shadow: 0 12px 32px rgba(2, 95, 80, 0.08);
	--bld-shadow-lg: 0 24px 48px rgba(2, 95, 80, 0.12);
	--bld-radius: 20px;
	--bld-radius-sm: 14px;
	--bld-header-h: 76px;
	--bld-container: 1180px;
	--bld-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--bld-fast: 200ms;
	--bld-med: 280ms;
}

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

html {
	scroll-behavior: smooth;
}

body.fixa-bld-page {
	margin: 0;
	font-family: "Yekan Bakh", Tahoma, Arial, sans-serif;
	color: var(--bld-ink);
	background: var(--bld-surface);
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
}

body.fixa-bld-page img {
	max-width: 100%;
	display: block;
}

body.fixa-bld-page a {
	color: inherit;
	text-decoration: none;
}

.fixa-bld-skip {
	position: absolute;
	inset-inline-start: 12px;
	top: -60px;
	z-index: 10000;
	padding: 10px 16px;
	border-radius: 10px;
	background: var(--bld-primary);
	color: #fff;
	font-weight: 800;
	transition: top var(--bld-fast) ease;
}

.fixa-bld-skip:focus {
	top: 12px;
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.fixa-bld-container {
	width: min(var(--bld-container), calc(100% - 32px));
	margin-inline: auto;
}

.fixa-bld-icon {
	width: 1.25em;
	height: 1.25em;
	flex: 0 0 auto;
	display: block;
}

/* ---------- Buttons ---------- */
.fixa-bld-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 14px;
	border: 1px solid transparent;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
	transition: background-color var(--bld-fast) ease, border-color var(--bld-fast) ease, color var(--bld-fast) ease, box-shadow var(--bld-fast) ease, opacity var(--bld-fast) ease;
}

.fixa-bld-btn:focus-visible {
	outline: 2px solid var(--bld-primary);
	outline-offset: 3px;
}

.fixa-bld-btn--primary,
a.fixa-bld-btn--primary,
a.fixa-bld-btn--primary:link,
a.fixa-bld-btn--primary:visited,
button.fixa-bld-btn--primary {
	background: var(--bld-accent);
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(241, 91, 85, 0.28);
}

.fixa-bld-btn--primary:hover,
a.fixa-bld-btn--primary:hover,
a.fixa-bld-btn--primary:active,
button.fixa-bld-btn--primary:hover {
	background: var(--bld-accent-hover);
	color: #ffffff !important;
}

.fixa-bld-btn--primary .fixa-bld-icon,
a.fixa-bld-btn--primary .fixa-bld-icon {
	color: #ffffff;
}

.fixa-bld-btn--outline {
	background: #fff;
	border-color: #9fc9bf;
	color: var(--bld-primary);
}

.fixa-bld-btn--outline:hover {
	border-color: var(--bld-primary);
	background: var(--bld-tint);
	color: var(--bld-primary);
}

.fixa-bld-btn--ghost {
	background: rgba(2, 95, 80, 0.06);
	color: var(--bld-primary);
}

.fixa-bld-btn--ghost:hover {
	background: rgba(2, 95, 80, 0.12);
	color: var(--bld-primary);
}

.fixa-bld-btn--sm {
	min-height: 40px;
	padding: 0 14px;
	font-size: 14px;
	border-radius: 12px;
}

.fixa-bld-btn--lg {
	min-height: 52px;
	padding: 0 26px;
	font-size: 15px;
}

/* ---------- Header ---------- */
.fixa-bld-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	height: var(--bld-header-h);
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid transparent;
	transition: height var(--bld-med) var(--bld-ease), box-shadow var(--bld-med) ease, border-color var(--bld-med) ease;
}

.fixa-bld-header.is-scrolled {
	--bld-header-h: 64px;
	border-bottom-color: var(--bld-line);
	box-shadow: 0 8px 24px rgba(2, 95, 80, 0.06);
}

.fixa-bld-header__inner {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.fixa-bld-header__brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.fixa-bld-header__brand img {
	width: 112px;
	height: auto;
}

.fixa-bld-header__divider {
	width: 1px;
	height: 22px;
	background: var(--bld-line);
}

.fixa-bld-header__sub {
	font-weight: 900;
	color: var(--bld-primary);
	font-size: 14px;
}

.fixa-bld-nav {
	display: flex;
	align-items: center;
	gap: 22px;
	font-size: 14px;
	font-weight: 800;
}

.fixa-bld-nav a {
	cursor: pointer;
	color: var(--bld-muted);
	transition: color var(--bld-fast) ease;
}

.fixa-bld-nav a:hover,
.fixa-bld-nav a:focus-visible {
	color: var(--bld-primary);
}

.fixa-bld-nav__cta,
.fixa-bld-nav__cta:link,
.fixa-bld-nav__cta:visited {
	color: #ffffff !important;
	background: var(--bld-accent);
	padding: 8px 14px;
	border-radius: 12px;
	box-shadow: 0 8px 18px rgba(241, 91, 85, 0.22);
}

.fixa-bld-nav__cta:hover,
.fixa-bld-nav__cta:active,
.fixa-bld-nav__cta:focus-visible {
	background: var(--bld-accent-hover) !important;
	color: #ffffff !important;
}

.fixa-bld-header__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.fixa-bld-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--bld-line);
	border-radius: 12px;
	background: #fff;
	color: var(--bld-primary);
	cursor: pointer;
	place-items: center;
}

.fixa-bld-menu-toggle .fixa-bld-menu-toggle__close {
	display: none;
}

.fixa-bld-menu-toggle[aria-expanded="true"] .fixa-bld-menu-toggle__open {
	display: none;
}

.fixa-bld-menu-toggle[aria-expanded="true"] .fixa-bld-menu-toggle__close {
	display: block;
}

/* ---------- Header over hero (top of page) ---------- */
.fixa-bld-header:not(.is-scrolled) {
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* The hero shows its own brand lockup; the header logo appears once scrolled. */
.fixa-bld-header .fixa-bld-header__brand {
	transition: opacity var(--bld-med) ease, visibility var(--bld-med) ease;
}

.fixa-bld-header:not(.is-scrolled) .fixa-bld-header__brand {
	opacity: 0;
	visibility: hidden;
}

.fixa-bld-header:not(.is-scrolled) .fixa-bld-btn--ghost,
.fixa-bld-header:not(.is-scrolled) .fixa-bld-menu-toggle {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.22);
	color: #fff;
}

.fixa-bld-header:not(.is-scrolled) .fixa-bld-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

@media (min-width: 961px) {
	.fixa-bld-header:not(.is-scrolled) .fixa-bld-nav a:not(.fixa-bld-nav__cta) {
		color: rgba(255, 255, 255, 0.82);
	}

	.fixa-bld-header:not(.is-scrolled) .fixa-bld-nav a:not(.fixa-bld-nav__cta):hover,
	.fixa-bld-header:not(.is-scrolled) .fixa-bld-nav a:not(.fixa-bld-nav__cta):focus-visible {
		color: #fff;
	}
}

/* ---------- Hero ---------- */
.fixa-bld-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: clamp(600px, 42vw, 860px);
	margin-top: calc(-1 * var(--bld-header-h));
	padding: calc(var(--bld-header-h) + 32px) 0 88px;
	overflow: hidden;
	background: var(--bld-navy);
	color: #fff;
}

.fixa-bld-hero__slides {
	position: absolute;
	inset: 0;
	z-index: -2;
	/* Mirror the photo so the building sits opposite the (right-side) content. */
	transform: scaleX(-1);
}

.fixa-bld-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 900ms ease;
}

.fixa-bld-hero__slide.is-active {
	opacity: 1;
}

.fixa-bld-hero__slide img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 70% center;
	transform: scale(1.04);
	transition: transform 7s ease-out;
}

.fixa-bld-hero__slide.is-active img {
	transform: scale(1);
}

/* Navy wash on the text side + soft diagonal light bands, fading into the photo. */
.fixa-bld-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(8, 27, 56, 0.55) 0%, rgba(8, 27, 56, 0) 22%),
		linear-gradient(0deg, rgba(8, 27, 56, 0.45) 0%, rgba(8, 27, 56, 0) 26%),
		linear-gradient(270deg, rgba(9, 31, 64, 0.97) 0%, rgba(11, 36, 73, 0.93) 26%, rgba(13, 42, 84, 0.74) 42%, rgba(13, 42, 84, 0.24) 58%, rgba(13, 42, 84, 0) 70%);
}

.fixa-bld-hero__overlay::before,
.fixa-bld-hero__overlay::after {
	content: "";
	position: absolute;
	top: -10%;
	bottom: -10%;
	right: -8%;
	width: 26%;
	transform: skewX(28deg);
	background: linear-gradient(270deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0));
}

.fixa-bld-hero__overlay::after {
	right: 6%;
	width: 12%;
	background: linear-gradient(270deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
}

.fixa-bld-hero__inner {
	display: flex;
	/* RTL: flex-start = physical right, where the navy wash sits. */
	justify-content: flex-start;
}

.fixa-bld-hero__content {
	width: min(640px, 100%);
	text-align: right;
}

.fixa-bld-hero__brand {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin-bottom: clamp(36px, 5vw, 64px);
}

.fixa-bld-hero__brand img {
	width: clamp(104px, 8.4vw, 136px);
	height: auto;
	filter: brightness(0) invert(1);
}

.fixa-bld-hero__brand-divider {
	width: 1px;
	height: 38px;
	background: rgba(255, 255, 255, 0.45);
}

.fixa-bld-hero__brand-sub {
	font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78);
}

.fixa-bld-hero__title {
	margin: 0 0 22px;
	font-size: clamp(32px, 3.4vw, 56px);
	line-height: 1.42;
	font-weight: 800;
	color: #fff;
	letter-spacing: 0;
	text-wrap: balance;
}

.fixa-bld-hero__subtitle {
	margin: 0 0 clamp(32px, 3vw, 44px);
	font-size: clamp(16px, 1.3vw, 21px);
	line-height: 1.85;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.78);
}

.fixa-bld-hero__actions {
	display: flex;
	flex-wrap: wrap;
	/* Primary button first, on the far right. */
	justify-content: flex-start;
	gap: 16px 28px;
}

.fixa-bld-hero__actions .fixa-bld-btn {
	min-width: 210px;
	min-height: 56px;
	border-radius: 14px;
	font-size: 15px;
}

body.fixa-bld-page .fixa-bld-btn--light,
body.fixa-bld-page a.fixa-bld-btn--light:visited {
	background: #fff;
	color: var(--bld-navy);
	gap: 22px;
	box-shadow: 0 14px 30px rgba(3, 14, 32, 0.28);
}

body.fixa-bld-page .fixa-bld-btn--light:hover {
	background: #eef3fa;
	color: var(--bld-navy);
}

.fixa-bld-btn--light .fixa-bld-icon {
	transition: transform var(--bld-fast) var(--bld-ease);
}

.fixa-bld-btn--light:hover .fixa-bld-icon {
	transform: translateX(-3px);
}

body.fixa-bld-page .fixa-bld-btn--glass,
body.fixa-bld-page a.fixa-bld-btn--glass:visited {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.55);
	color: #fff;
	font-weight: 700;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

body.fixa-bld-page .fixa-bld-btn--glass:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff;
}

.fixa-bld-hero .fixa-bld-btn:focus-visible,
.fixa-bld-hero__arrow:focus-visible,
.fixa-bld-hero__dot:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.fixa-bld-hero__tagline {
	display: flex;
	/* dir="ltr": row-reverse puts the rule on the right, text flush right. */
	flex-direction: row-reverse;
	align-items: flex-start;
	text-align: right;
	gap: 32px;
	margin: clamp(44px, 5vw, 76px) 0 0;
	font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.75;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.72);
}

.fixa-bld-hero__tagline-line {
	flex: 0 0 56px;
	height: 1px;
	margin-top: 0.85em;
	background: rgba(255, 255, 255, 0.55);
}

/* Slider controls */
.fixa-bld-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: background-color var(--bld-fast) ease;
}

.fixa-bld-hero__arrow:hover {
	background: rgba(255, 255, 255, 0.12);
}

.fixa-bld-hero__arrow .fixa-bld-icon {
	width: 30px;
	height: 30px;
}

.fixa-bld-hero__arrow--next {
	left: clamp(12px, 2vw, 36px);
}

.fixa-bld-hero__arrow--prev {
	right: clamp(12px, 2vw, 36px);
}

.fixa-bld-hero__dots {
	position: absolute;
	bottom: 28px;
	left: 50%;
	z-index: 2;
	display: flex;
	gap: 6px;
	transform: translateX(-50%);
}

.fixa-bld-hero__dot {
	position: relative;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.fixa-bld-hero__dot::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border: 1.5px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	transition: background-color var(--bld-fast) ease, width var(--bld-fast) ease, height var(--bld-fast) ease;
}

.fixa-bld-hero__dot.is-active::before {
	width: 14px;
	height: 14px;
	background: #fff;
	border-color: #fff;
}

.fixa-bld-trust {
	border-bottom: 1px solid var(--bld-line);
	background: #fff;
}

.fixa-bld-trust__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 18px 0;
}

.fixa-bld-trust__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	font-size: 13px;
	font-weight: 800;
	color: var(--bld-primary);
}

.fixa-bld-trust__item .fixa-bld-icon {
	width: 34px;
	height: 34px;
	padding: 7px;
	border-radius: 10px;
	background: var(--bld-tint-2);
	color: var(--bld-accent);
}

/* ---------- Sections ---------- */
.fixa-bld-section {
	padding: 84px 0;
}

.fixa-bld-section--tint {
	background: linear-gradient(180deg, var(--bld-tint) 0%, #fff 100%);
}

.fixa-bld-section__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 40px;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--bld-med) var(--bld-ease), transform var(--bld-med) var(--bld-ease);
}

.fixa-bld-section__head.is-visible {
	opacity: 1;
	transform: none;
}

.fixa-bld-section__head h2 {
	margin: 0 0 10px;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.4;
	color: var(--bld-primary);
	font-weight: 900;
}

.fixa-bld-section__desc {
	margin: 0;
	color: var(--bld-muted);
	font-size: 15px;
}

/* About */
.fixa-bld-about {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

.fixa-bld-about__col {
	padding: 28px;
	border: 1px solid var(--bld-line);
	border-radius: var(--bld-radius);
	background: #fff;
	box-shadow: var(--bld-shadow);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--bld-med) var(--bld-ease), transform var(--bld-med) var(--bld-ease), border-color var(--bld-fast) ease, box-shadow var(--bld-fast) ease;
}

.fixa-bld-about__col.is-visible {
	opacity: 1;
	transform: none;
}

.fixa-bld-about__col:hover {
	border-color: #9fc9bf;
	box-shadow: var(--bld-shadow-lg);
}

.fixa-bld-about__col h3 {
	margin: 0 0 12px;
	font-size: 20px;
	color: var(--bld-primary);
}

.fixa-bld-about__col p {
	margin: 0 0 12px;
	color: var(--bld-muted);
	font-size: 14px;
}

.fixa-bld-about__col p:last-child {
	margin-bottom: 0;
}

/* Pillars */
.fixa-bld-pillars {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}

.fixa-bld-pillar-card {
	position: relative;
	padding: 24px 18px;
	border-radius: var(--bld-radius);
	border: 1px solid var(--bld-line);
	background: #fff;
	box-shadow: var(--bld-shadow);
	min-height: 220px;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--bld-med) var(--bld-ease), transform var(--bld-med) var(--bld-ease), border-color var(--bld-fast) ease, box-shadow var(--bld-fast) ease;
}

.fixa-bld-pillar-card.is-visible {
	opacity: 1;
	transform: none;
}

.fixa-bld-pillar-card:hover {
	border-color: #9fc9bf;
	box-shadow: var(--bld-shadow-lg);
}

.fixa-bld-pillar-card__num {
	position: absolute;
	top: 14px;
	inset-inline-start: 16px;
	font-size: 12px;
	font-weight: 900;
	color: #9fc9bf;
}

.fixa-bld-pillar-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: var(--bld-tint-2);
	color: var(--bld-primary);
	margin: 18px 0 14px;
}

.fixa-bld-pillar-card h3 {
	margin: 0 0 8px;
	font-size: 16px;
	color: var(--bld-primary);
}

.fixa-bld-pillar-card p {
	margin: 0;
	font-size: 13px;
	color: var(--bld-muted);
}

/* Why list */
.fixa-bld-why-list {
	display: grid;
	gap: 14px;
	max-width: 920px;
	margin-inline: auto;
}

.fixa-bld-why-item {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 20px 22px;
	border-radius: var(--bld-radius);
	border: 1px solid var(--bld-line);
	background: #fff;
	box-shadow: var(--bld-shadow);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--bld-med) var(--bld-ease), transform var(--bld-med) var(--bld-ease), border-color var(--bld-fast) ease;
}

.fixa-bld-why-item.is-visible {
	opacity: 1;
	transform: none;
}

.fixa-bld-why-item:hover {
	border-color: #9fc9bf;
}

.fixa-bld-why-item__icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: rgba(241, 91, 85, 0.1);
	color: var(--bld-accent);
	flex: 0 0 auto;
}

.fixa-bld-why-item__body h3 {
	margin: 0 0 6px;
	font-size: 17px;
	color: var(--bld-primary);
}

.fixa-bld-why-item__body p {
	margin: 0;
	font-size: 14px;
	color: var(--bld-muted);
}

/* Services */
.fixa-bld-svc {
	--svc-green: #0f6e52;
	--svc-green-deep: #0a5f47;
	--svc-mint: #d9f0e5;
	--svc-coral: #f15b55;
	color: #fff;
}

.fixa-bld-svc__main {
	padding: 72px 0 84px;
	background:
		radial-gradient(ellipse 60% 55% at 50% 72%, rgba(118, 196, 150, 0.55) 0%, rgba(118, 196, 150, 0) 70%),
		linear-gradient(180deg, #0c6a4f 0%, #1b7b5c 55%, #16775a 100%);
}

.fixa-bld-svc__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	flex-wrap: wrap;
	margin-bottom: 52px;
}

.fixa-bld-svc__title {
	margin: 0;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #fff;
}

.fixa-bld-svc__label {
	position: relative;
	max-width: 5.6em;
	margin: 0;
	padding-top: 26px;
	font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
	font-size: clamp(26px, 3vw, 40px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: #fff;
}

.fixa-bld-svc__mark {
	position: absolute;
	top: -8px;
	left: 3.3em;
	width: 38px;
	height: 34px;
	fill: none;
	stroke-width: 4;
	stroke-linecap: butt;
}

/* Horizontal rail of icon badges, edge to edge. */
.fixa-bld-svc__rail {
	position: relative;
	margin-bottom: 56px;
}

.fixa-bld-svc__rail::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 50%;
	height: 2px;
	background: rgba(255, 255, 255, 0.78);
}

.fixa-bld-svc__rail-inner {
	position: relative;
	display: flex;
	justify-content: space-around;
	gap: 12px;
}

.fixa-bld-svc__rail-icon {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--svc-mint);
	box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.08), 0 10px 22px rgba(0, 45, 32, 0.28);
	color: var(--svc-coral);
}

.fixa-bld-svc__rail-icon .fixa-bld-icon {
	width: 38px;
	height: 38px;
}

.fixa-bld-svc__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 18px;
	width: min(640px, 100%);
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.fixa-bld-service-card {
	display: grid;
	place-items: center;
	min-height: 76px;
	padding: 14px 18px;
	border-radius: 14px;
	background: linear-gradient(180deg, #e3f5ec 0%, var(--svc-mint) 100%);
	box-shadow: 0 14px 26px rgba(0, 40, 28, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.7);
	color: #14261f;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.6;
	text-align: center;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--bld-med) var(--bld-ease), transform var(--bld-med) var(--bld-ease), box-shadow var(--bld-fast) ease;
}

.fixa-bld-service-card.is-visible {
	opacity: 1;
	transform: none;
}

.fixa-bld-service-card:hover {
	box-shadow: 0 18px 32px rgba(0, 40, 28, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.fixa-bld-svc__plans {
	padding: 64px 0 72px;
	background: var(--svc-green-deep);
}

.fixa-bld-svc__plans-title {
	margin: 0 0 36px;
	text-align: center;
	font-size: clamp(22px, 2.6vw, 32px);
	font-weight: 800;
	line-height: 1.5;
	color: #fff;
}

.fixa-bld-svc__plan-list {
	width: min(720px, 100%);
	margin: 0 auto;
}

.fixa-bld-svc__plan {
	display: grid;
	grid-template-columns: 170px 1fr;
	align-items: center;
	gap: 24px;
	padding: 20px 0;
}

.fixa-bld-svc__plan + .fixa-bld-svc__plan {
	border-top: 2px solid rgba(255, 255, 255, 0.8);
}

.fixa-bld-svc__plan dt {
	font-size: 20px;
	font-weight: 800;
	color: #fff;
}

.fixa-bld-svc__plan dd {
	margin: 0;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(255, 255, 255, 0.86);
}

/* Benefits */
.fixa-bld-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.fixa-bld-benefit-card {
	padding: 26px 22px;
	border-radius: var(--bld-radius);
	border: 1px solid var(--bld-line);
	background: #fff;
	box-shadow: var(--bld-shadow);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity var(--bld-med) var(--bld-ease), transform var(--bld-med) var(--bld-ease), border-color var(--bld-fast) ease;
}

.fixa-bld-benefit-card.is-visible {
	opacity: 1;
	transform: none;
}

.fixa-bld-benefit-card:hover {
	border-color: #9fc9bf;
}

.fixa-bld-benefit-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: rgba(241, 91, 85, 0.1);
	color: var(--bld-accent);
	margin-bottom: 14px;
}

.fixa-bld-benefit-card h3 {
	margin: 0 0 8px;
	font-size: 17px;
	color: var(--bld-primary);
}

.fixa-bld-benefit-card p {
	margin: 0;
	font-size: 14px;
	color: var(--bld-muted);
}

/* Lead / Form */
.fixa-bld-lead {
	position: relative;
	overflow: hidden;
	background: linear-gradient(145deg, var(--bld-primary-deep) 0%, var(--bld-primary) 58%, var(--bld-primary-soft) 100%);
	color: #fff;
}

.fixa-bld-lead__glow {
	position: absolute;
	inset: -20% auto auto -10%;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(241, 91, 85, 0.28), transparent 65%);
	pointer-events: none;
}

.fixa-bld-lead__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 36px;
	align-items: start;
}

.fixa-bld-lead__intro h2 {
	margin: 0 0 12px;
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.35;
	color: #fff;
}

.fixa-bld-lead__intro p {
	margin: 0 0 22px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 15px;
}

.fixa-bld-lead__points {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: grid;
	gap: 12px;
}

.fixa-bld-lead__points li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	font-size: 14px;
}

.fixa-bld-lead__points .fixa-bld-icon {
	color: #ffd2cf;
}

.fixa-bld-lead__phone {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.16);
	font-weight: 800;
	cursor: pointer;
	transition: background-color var(--bld-fast) ease;
}

.fixa-bld-lead__phone:hover {
	background: rgba(255, 255, 255, 0.16);
}

.fixa-bld-form {
	padding: 28px;
	border-radius: 24px;
	background: #fff;
	color: var(--bld-ink);
	box-shadow: var(--bld-shadow-lg);
}

.fixa-bld-form__row {
	margin-bottom: 16px;
}

.fixa-bld-form label,
.fixa-bld-form__label-text {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 800;
	color: var(--bld-primary);
}

.fixa-bld-form__optional {
	color: var(--bld-muted);
	font-weight: 600;
}

.fixa-bld-form input[type="text"],
.fixa-bld-form input[type="tel"],
.fixa-bld-form select,
.fixa-bld-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #ccd9d5;
	border-radius: 12px;
	background: #fff;
	font: inherit;
	color: var(--bld-ink);
	transition: border-color var(--bld-fast) ease, box-shadow var(--bld-fast) ease;
}

.fixa-bld-form textarea {
	min-height: 96px;
	resize: vertical;
}

.fixa-bld-form input:focus,
.fixa-bld-form select:focus,
.fixa-bld-form textarea:focus {
	outline: none;
	border-color: var(--bld-primary);
	box-shadow: 0 0 0 3px rgba(2, 95, 80, 0.12);
}

.fixa-bld-form input.has-error,
.fixa-bld-form select.has-error,
.fixa-bld-form textarea.has-error {
	border-color: var(--bld-accent);
}

.fixa-bld-form__error {
	display: block;
	min-height: 18px;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--bld-accent);
}

.fixa-bld-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.fixa-bld-chip {
	cursor: pointer;
}

.fixa-bld-chip input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.fixa-bld-chip span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid var(--bld-line);
	background: var(--bld-tint);
	font-size: 12px;
	font-weight: 800;
	color: var(--bld-primary);
	transition: background-color var(--bld-fast) ease, border-color var(--bld-fast) ease, color var(--bld-fast) ease;
}

.fixa-bld-chip input:checked + span {
	background: var(--bld-primary);
	border-color: var(--bld-primary);
	color: #fff;
}

.fixa-bld-chip input:focus-visible + span {
	outline: 2px solid var(--bld-primary);
	outline-offset: 2px;
}

.fixa-bld-form__honeypot {
	position: absolute;
	left: -9999px;
	opacity: 0;
	height: 0;
	overflow: hidden;
}

.fixa-bld-form__submit,
.fixa-bld-form__submit:hover,
.fixa-bld-form__submit:focus-visible {
	color: #ffffff !important;
}

.fixa-bld-form__submit .fixa-bld-icon,
.fixa-bld-form__submit-text {
	color: #ffffff !important;
}

.fixa-bld-mobile-bar .fixa-bld-btn--primary,
.fixa-bld-mobile-bar .fixa-bld-btn--primary:link,
.fixa-bld-mobile-bar .fixa-bld-btn--primary:visited,
.fixa-bld-mobile-bar .fixa-bld-btn--primary:hover {
	color: #ffffff !important;
}

.fixa-bld-form__submit {
	width: 100%;
	margin-top: 8px;
}

.fixa-bld-form__submit.is-loading {
	opacity: 0.75;
	cursor: wait;
}

.fixa-bld-form__notice {
	margin: 14px 0 0;
	padding: 12px 14px;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 800;
}

.fixa-bld-form__notice.is-success {
	background: #e8f7f2;
	color: var(--bld-primary);
}

.fixa-bld-form__notice.is-error {
	background: #fff0ef;
	color: var(--bld-accent);
}

.fixa-bld-form__privacy {
	margin: 12px 0 0;
	font-size: 12px;
	color: var(--bld-muted);
	text-align: center;
}

/* Footer */
.fixa-bld-footer {
	background: #024a40;
	color: rgba(255, 255, 255, 0.88);
	padding: 42px 0 110px;
}

.fixa-bld-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding-bottom: 22px;
}

.fixa-bld-footer__brand img {
	width: 110px;
	filter: brightness(0) invert(1);
	margin-bottom: 10px;
}

.fixa-bld-footer__brand p {
	margin: 0;
	font-size: 13px;
	color: #bbddd5;
}

.fixa-bld-footer__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.fixa-bld-footer__contact a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.08);
	font-weight: 800;
	font-size: 14px;
	cursor: pointer;
	transition: background-color var(--bld-fast) ease;
}

.fixa-bld-footer__contact a:hover {
	background: rgba(255, 255, 255, 0.14);
}

.fixa-bld-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 16px;
	font-size: 12px;
	color: #9fc9bf;
}

/* Mobile sticky CTA bar */
.fixa-bld-mobile-bar {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 1100;
	display: none;
	gap: 10px;
	padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(12px);
	border-top: 1px solid var(--bld-line);
	box-shadow: 0 -10px 28px rgba(2, 95, 80, 0.08);
}

.fixa-bld-mobile-bar .fixa-bld-btn {
	flex: 1;
}

.fixa-bld-mobile-bar.is-hidden {
	transform: translateY(110%);
	opacity: 0;
	pointer-events: none;
}

.fixa-bld-mobile-bar {
	transition: transform var(--bld-med) var(--bld-ease), opacity var(--bld-med) ease;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.fixa-bld-section__head,
	.fixa-bld-about__col,
	.fixa-bld-pillar-card,
	.fixa-bld-why-item,
	.fixa-bld-service-card,
	.fixa-bld-benefit-card {
		opacity: 1;
		transform: none;
	}

	.fixa-bld-hero__slide img {
		transform: none;
	}
}

/* Responsive */
@media (max-width: 1100px) {
	.fixa-bld-pillars {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.fixa-bld-nav {
		display: none;
		position: absolute;
		inset-inline: 16px;
		top: calc(var(--bld-header-h) + 8px);
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 10px;
		border-radius: 16px;
		background: #fff;
		border: 1px solid var(--bld-line);
		box-shadow: var(--bld-shadow-lg);
	}

	.fixa-bld-nav.is-open {
		display: flex;
	}

	.fixa-bld-nav a {
		padding: 12px 14px;
		border-radius: 12px;
	}

	.fixa-bld-nav a:hover {
		background: var(--bld-tint);
	}

	.fixa-bld-nav__cta {
		text-align: center;
		margin-top: 4px;
	}

	.fixa-bld-menu-toggle {
		display: grid;
	}

	.fixa-bld-about,
	.fixa-bld-lead__inner {
		grid-template-columns: 1fr;
	}

	/* Hero: photo on top, content on a navy wash at the bottom. */
	.fixa-bld-hero {
		align-items: flex-end;
		min-height: max(640px, min(100svh, 860px));
		padding-bottom: 72px;
	}

	.fixa-bld-hero__slides {
		transform: none;
	}

	.fixa-bld-hero__slide img {
		object-position: 72% center;
	}

	.fixa-bld-hero__overlay {
		background:
			linear-gradient(180deg, rgba(8, 27, 56, 0.6) 0%, rgba(8, 27, 56, 0) 20%),
			linear-gradient(0deg, rgba(9, 31, 64, 0.98) 0%, rgba(10, 34, 70, 0.93) 38%, rgba(12, 40, 80, 0.55) 62%, rgba(12, 40, 80, 0) 82%);
	}

	.fixa-bld-hero__overlay::before,
	.fixa-bld-hero__overlay::after {
		display: none;
	}

	.fixa-bld-hero__content {
		width: min(560px, 100%);
	}

	.fixa-bld-hero__brand {
		margin-bottom: 24px;
	}

	.fixa-bld-hero__actions {
		gap: 12px;
	}

	.fixa-bld-hero__actions .fixa-bld-btn {
		min-width: 0;
	}

	.fixa-bld-hero__tagline {
		margin-top: 32px;
		gap: 16px;
	}

	.fixa-bld-hero__tagline-line {
		flex-basis: 40px;
	}

	.fixa-bld-hero__arrow {
		display: none;
	}

	.fixa-bld-hero__dots {
		bottom: 20px;
	}

	.fixa-bld-trust__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fixa-bld-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fixa-bld-mobile-bar {
		display: flex;
	}

	.fixa-bld-footer {
		padding-bottom: 120px;
	}
}

@media (max-width: 380px) {
	.fixa-bld-svc__cards {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.fixa-bld-container {
		width: calc(100% - 24px);
	}

	.fixa-bld-section {
		padding: 56px 0;
	}

	.fixa-bld-header__brand img {
		width: 96px;
	}

	.fixa-bld-header__sub {
		display: none;
	}

	.fixa-bld-header__divider {
		display: none;
	}

	.fixa-bld-header__actions .fixa-bld-btn--ghost span {
		display: none;
	}

	.fixa-bld-hero {
		min-height: max(600px, min(100svh, 760px));
		padding-bottom: 64px;
	}

	.fixa-bld-hero__brand {
		gap: 12px;
		margin-bottom: 18px;
	}

	.fixa-bld-hero__brand img {
		width: 92px;
	}

	.fixa-bld-hero__brand-divider {
		height: 26px;
	}

	.fixa-bld-hero__brand-sub {
		font-size: 10px;
	}

	.fixa-bld-hero__title {
		margin-bottom: 14px;
		font-size: clamp(26px, 7.6vw, 34px);
	}

	.fixa-bld-hero__subtitle {
		margin-bottom: 24px;
		font-size: 15px;
	}

	.fixa-bld-hero__actions {
		flex-wrap: nowrap;
		gap: 10px;
	}

	.fixa-bld-hero__actions .fixa-bld-btn {
		flex: 1 1 0;
		min-height: 50px;
		padding-inline: 12px;
		font-size: 14px;
		gap: 10px;
	}

	.fixa-bld-hero__tagline {
		margin-top: 24px;
		font-size: 11px;
	}

	.fixa-bld-svc__main {
		padding: 52px 0 60px;
	}

	.fixa-bld-svc__head {
		margin-bottom: 36px;
	}

	.fixa-bld-svc__rail {
		margin-bottom: 36px;
	}

	.fixa-bld-svc__rail-inner {
		justify-content: space-between;
	}

	.fixa-bld-svc__rail-icon {
		width: 52px;
		height: 52px;
		box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.08), 0 8px 16px rgba(0, 45, 32, 0.28);
	}

	.fixa-bld-svc__rail-icon .fixa-bld-icon {
		width: 28px;
		height: 28px;
	}

	.fixa-bld-svc__cards {
		gap: 12px;
	}

	.fixa-bld-service-card {
		min-height: 64px;
		padding: 12px 10px;
		font-size: 14px;
	}

	.fixa-bld-svc__plans {
		padding: 48px 0 52px;
	}

	.fixa-bld-svc__plan {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 18px 0;
	}

	.fixa-bld-svc__plan dt {
		font-size: 18px;
	}

	.fixa-bld-pillars,
	.fixa-bld-benefits,
	.fixa-bld-trust__inner {
		grid-template-columns: 1fr;
	}

	.fixa-bld-form {
		padding: 20px;
	}

	.fixa-bld-footer__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}
