/*
Theme Name: FSA
Theme URI: https://foodsafetyadv.gr/
Author: Food Safety Adv
Description: Food Safety Adv redesign based on the approved homepage visual direction.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: foodsafetyadv
Tags: custom-menu, custom-logo, featured-images, translation-ready
*/

/* Bundle is enqueued separately (assets/css/style.css) for cache-busting. */

/* Main navigation typography: preserve the menu labels' natural casing. */
.fsa-nav-menu > li > a {
	text-transform: none;
}

/* FSA Draft 3 — sitewide chrome + homepage sections. */
body {
	--d3-blue: #1A2EBC;
	--d3-navy: #064c87;
	--d3-cyan: #00a79d;
	--d3-pale: #f4fafd;
	--d3-line: #c9dfea;
	--d3-heading: #1A2EBC;
	--d3-text: #334e68;
	--d3-muted: #60758a;
	--d3-space-1: .5rem;
	--d3-space-2: 1rem;
	--d3-space-3: 1.5rem;
	--d3-space-4: 2rem;
	--d3-space-5: 3rem;
	--d3-space-6: 4rem;
	background: #fff !important;
	background-image: none !important;
	color: var(--d3-text);
	font-size: .9375rem;
	font-family: var(--font-body);
	line-height: 1.55;
}

.fsa-container {
	width: min(100% - 40px, var(--fsa-container));
	max-width: var(--fsa-container);
	margin-inline: auto;
	padding-inline: 0;
}

.fsa-header-bar {
	position: relative;
	top: auto;
	z-index: 100;
	background: #fff;
	box-shadow: 0 1px 9px rgba(0,50,140,.12);
}

.fsa-hero--under-header {
	margin-top: 0;
	padding-top: 0;
}
.fsa-topbar-collapse { display: none; }
.fsa-nav-wrap,
.fsa-nav-wrap--overlay { background: #fff !important; color: var(--d3-blue); }
.fsa-nav { min-height: 84px; display: flex; align-items: center; gap: clamp(18px,2vw,34px); }
.fsa-nav__brand { flex: 0 0 auto; }
.fsa-nav__brand img,
.custom-logo { width: auto; max-width: 260px; max-height: 58px; }
.fsa-logo--on-dark { display: none !important; }
.fsa-logo--on-light { display: block !important; }
.fsa-nav__menu { margin-left: auto; }
.fsa-nav-menu { display: flex; align-items: center; gap: clamp(12px,1.55vw,28px); }
.fsa-nav-menu > li > a {
	padding: 30px 0;
	color: var(--d3-blue) !important;
	font-size: .84rem;
	font-weight: 600;
	white-space: nowrap;
}
.fsa-nav-menu > li > a:hover,
.fsa-nav-menu > li.current-menu-item > a { color: var(--d3-cyan) !important; }

.fsa-draft3-nav__actions { display: flex; align-items: center; gap: 10px; }
.fsa-draft3-search,
.fsa-draft3-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 15px;
	border: 1px solid #bbd7ef;
	border-radius: 7px;
	background: #fff;
	color: var(--d3-blue) !important;
	font-family: inherit;
	font-size: .88rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}
.fsa-draft3-search svg,
.fsa-draft3-login svg { width: 20px; height: 20px; }
.fsa-draft3-login {
	padding-inline: 20px;
	border-color: var(--d3-navy);
	background: var(--d3-navy);
	color: #fff !important;
	box-shadow: 0 6px 16px rgba(6,76,135,.2);
}

.fsa-header-lang {
	position: relative;
	display: inline-flex;
}
.fsa-header-lang__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid #bbd7ef;
	border-radius: 7px;
	background: #fff;
	color: var(--d3-blue);
	font-family: inherit;
	font-size: .88rem;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1;
	cursor: pointer;
}
.fsa-header-lang__toggle:hover,
.fsa-header-lang__toggle:focus-visible {
	border-color: var(--d3-blue);
	outline: none;
}
.fsa-header-lang__toggle[aria-expanded="true"] .fsa-header-lang__chevron {
	transform: rotate(180deg);
}
.fsa-header-lang__chevron {
	display: block;
	width: 10px;
	height: 7px;
	transition: transform .15s ease;
}
.fsa-header-lang__list {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 140;
	min-width: 100%;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	background: #fff;
	border: 1px solid #bbd7ef;
	border-radius: 7px;
	box-shadow: 0 10px 24px rgba(0, 50, 140, .12);
}
.fsa-header-lang__list[hidden] {
	display: none;
}
.fsa-header-lang__item {
	margin: 0;
}
.fsa-header-lang__link {
	display: block;
	padding: 8px 14px;
	color: var(--d3-blue);
	font-size: .88rem;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}
.fsa-header-lang__link:hover,
.fsa-header-lang__item.is-current .fsa-header-lang__link {
	background: #f3f8fc;
}

.home .fsa-main--front { padding: 0; }
.home .fsa-hero-cover,
.home .fsa-hero-cover--under-header {
	position: relative;
	min-height: clamp(460px,42vw,580px);
	margin-top: 0;
	padding: 0;
	background: #e8f4fa;
	color: var(--d3-blue);
	overflow: hidden;
}
.home .fsa-hero-cover__media {
	left: 0;
	width: 100%;
	overflow: hidden;
}
.home .fsa-hero-cover__bg-img {
	object-fit: cover;
	object-position: center center;
	filter: none;
}
.home .fsa-hero-cover__overlay {
	background: linear-gradient(90deg,rgba(236,247,252,.9) 0%,rgba(236,247,252,.7) 34%,rgba(236,247,252,.2) 58%,rgba(236,247,252,.06) 100%) !important;
	opacity: 1 !important;
}
.home .fsa-hero-cover__person {
	position: absolute;
	right: clamp(6%, 20vw, 20%);
	bottom: -14px;
	z-index: 2;
	width: min(42%, 520px);
	pointer-events: none;
}
.home .fsa-hero-cover__person-img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: bottom center;
}
.home .fsa-hero-cover__body {
	position: relative;
	z-index: 3;
	min-height: inherit;
	align-items: flex-start;
	justify-content: center;
	padding-block: clamp(56px,6vw,88px);
	padding-right: min(46%, 540px);
	text-align: left;
}
.home .fsa-hero-cover__body::before {
	content: "ONLINE ΕΚΠΑΙΔΕΥΣΗ";
	display: block;
	margin-bottom: 8px;
	color: var(--d3-cyan);
	font-size: .94rem;
	font-weight: 800;
	letter-spacing: .035em;
}
.home .fsa-hero-cover__title {
	max-width: 790px;
	margin: 0;
	color: var(--d3-blue);
	font-size: clamp(2rem,3.2vw,3.65rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.025em;
	text-shadow: none;
}
.home .fsa-hero-cover__text-image {
	width: min(100%,720px);
	max-height: 230px;
	object-fit: contain;
	object-position: left center;
}
.home .fsa-hero-cover__subtitle {
	max-width: 650px;
	margin: 14px 0 0;
	color: var(--d3-blue);
	font-size: clamp(1rem, 1.4vw, 1.35rem);
	font-weight: 400;
	line-height: 1.15;
	text-shadow: none;
}
.home .fsa-hero-cover__actions {
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 14px;
	margin-top: 24px;
}

.home .fsa-hero-cover__actions .fsa-hero-btn {
	max-width: 100%;
	min-height: 52px;
	padding: 12px 28px;
	border-radius: 8px;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: .02em;
	box-shadow: none;
}

.home .fsa-hero-cover__actions .fsa-hero-btn--primary {
	width: auto;
	background: #0AA58C;
	border: 2px solid #0AA58C;
	color: #fff !important;
}

.home .fsa-hero-cover__actions .fsa-hero-btn--outline {
	width: auto;
	background: #fff;
	border: 2px solid var(--d3-blue);
	color: var(--d3-blue) !important;
}

.home .fsa-hero-cover__actions .fsa-hero-btn--primary:hover,
.home .fsa-hero-cover__actions .fsa-hero-btn--primary:focus-visible {
	background: #088f7a;
	border-color: #088f7a;
	color: #fff !important;
}

.home .fsa-hero-cover__actions .fsa-hero-btn--outline:hover,
.home .fsa-hero-cover__actions .fsa-hero-btn--outline:focus-visible {
	background: #f3f8fc;
	border-color: var(--d3-blue);
	color: var(--d3-blue) !important;
}

.home .fsa-hero-cover__motto {
	position: absolute;
	right: clamp(50px, 10.5vw, 180px);
	top: 32%;
	z-index: 3;
	margin: 0;
	max-width: 250px;
	color: var(--d3-blue);
	font-family: var(--font-handwritten);
	font-size: clamp(1.05rem, 1.45vw, 2.0rem);
	font-weight: 600;
	line-height: 1.5;
	transform: rotate(-9deg);
	text-align: left;
	pointer-events: none;
	text-shadow: 0 0 25px #FFFFFF, 0 0 25px #FFFFFF, 0 0 25px #FFFFFF;
}

.home .fsa-hero-cover--image .fsa-hero-cover__video {
	display: none !important;
}

@media (max-width: 900px) {
	.home .fsa-hero-cover__body {
		padding-right: 24px;
		padding-bottom: 52%;
	}
	.home .fsa-hero-cover__person {
		right: 0;
		width: min(72%, 380px);
	}
	.home .fsa-hero-cover__motto {
		position: static;
		transform: none;
		margin: 18px 24px 0;
		max-width: none;
	}
}

.home .fsa-home-features {
	position: relative;
	z-index: 3;
	padding: 0;
	min-height: 0;
	margin-top: 0;
	background: #fff;
	border-bottom: 1px solid #e2eff7;
}
.home .fsa-home-features > .fsa-container {
	width: 100%;
	max-width: none;
}
.home .fsa-home-features__grid {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 0;
	max-width: none;
	min-height: 188px;
	margin-inline: auto;
	background: #fff;
}
.home .fsa-home-card {
	min-width: 0;
	margin: 0;
	padding: 28px clamp(24px,2.4vw,42px);
	display: grid;
	grid-template-columns: 46px 1fr;
	align-items: center;
	column-gap: 16px;
	border: 0;
	border-right: 1px solid #e1edf5;
	border-radius: 0;
	box-shadow: none;
	text-align: left;
}
.home .fsa-home-card:last-child { border-right: 0; }
.home .fsa-home-card__icon {
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0;
	color: var(--d3-cyan);
	font-size: 1.75rem;
	line-height: 1;
}
.home .fsa-home-card__icon .fsa-home-icon,
.home .fsa-home-card__icon .fsa-hero-cover__icon-svg {
	width: 1em;
	height: 1em;
	font-size: inherit;
}
.home .fsa-home-card h2 { margin: 0; color: var(--d3-heading); font-size: 1rem; font-weight: 700; line-height: 1.3; }
.home .fsa-home-card p { max-width: 220px; margin: 8px 0 0; color: var(--d3-text); font-size: .90625rem; line-height: 1.5; }

.home .fsa-draft3-learning-benefits {
	display: grid;
	grid-template-columns: repeat(6,minmax(0,1fr));
	align-items: center;
	min-height: 88px;
	background: #f4fcff;
}
.home .fsa-draft3-learning-benefits-section {
	width: 100%;
}
.home .fsa-draft3-learning-benefit {
	display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    align-items: center;
    gap: 0px;
    padding: 14px 12px;
}
.home .fsa-draft3-learning-benefit__icon,
.home .fsa-draft3-learning-benefit svg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	color: var(--d3-cyan);
	font-size: 1.75rem;
	line-height: 1;
}
.home .fsa-draft3-learning-benefit svg {
	fill: none;
	stroke: var(--d3-cyan);
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.home .fsa-draft3-learning-benefit__icon .fsa-home-icon {
	font-size: inherit;
}
.home .fsa-draft3-learning-benefit p {
	margin: 0 8px;
	color: var(--d3-text);
	font-size: 1.10rem;
	line-height: 1.4;
}
.home .fsa-draft3-learning-benefit + .fsa-draft3-learning-benefit { border-left: 1px solid #e0edf3; }
.home .fsa-draft3-learning-benefit p { color: var(--d3-heading); }

.home .fsa-section:not(.fsa-home-training-section) { padding-block: 56px; }
.home .fsa-section .fsa-section-head { max-width: 44rem; margin-bottom: 32px; }
.home .fsa-section .fsa-section-head h1,
.home .fsa-section .fsa-section-head h2,
.home .fsa-section .fsa-section-head h3,
.home .fsa-section .section-title {
	color: var(--d3-heading);
	font-size: clamp(1.75rem,2.25vw,2rem);
	font-weight: 700;
	line-height: 1.15;
}
.home .fsa-section-head p { color: var(--d3-text); font-size: .9375rem; line-height: 1.55; }
.home .fsa-eyebrow,
.home .section-eyebrow { color: var(--d3-cyan); font-size: .8125rem; font-weight: 700; letter-spacing: .045em; }

/* Unified homepage section headers — description / title / right link (no underlines). */
.home .fsa-home-section-header {
	position: relative;
	margin-bottom: 32px;
}
.home .fsa-home-section-header--has-more {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 32px;
	align-items: center;
}
.home .fsa-home-section-header .fsa-section-head {
	max-width: none;
	margin: 0;
	text-align: left;
}
.home .fsa-home-section-header .fsa-eyebrow,
.home .fsa-home-section-header .section-eyebrow {
	margin: 0 0 10px;
	color: var(--d3-cyan);
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.home .fsa-home-section-header .fsa-section-head h1,
.home .fsa-home-section-header .fsa-section-head h2,
.home .fsa-home-section-header .fsa-section-head h3,
.home .fsa-home-section-header .section-title {
	margin: 0;
	color: var(--d3-blue);
	font-size: clamp(1.85rem, 2.4vw, 2.3125rem);
	font-weight: 700;
	line-height: 1.2;
}
.home .fsa-home-section-header .fsa-section-head h1::after,
.home .fsa-home-section-header .fsa-section-head h2::after,
.home .fsa-home-section-header .fsa-section-head h3::after,
.home .fsa-home-section-header .section-title::after {
	display: none !important;
	content: none !important;
}
.home .fsa-home-section-header .fsa-section-head .section-description,
.home .fsa-home-section-header .fsa-section-head p:not(.fsa-eyebrow):not(.section-eyebrow) {
	display: none;
}
.home .fsa-home-section-header__all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--d3-blue);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
	white-space: nowrap;
}
.home .fsa-home-section-header__all:hover,
.home .fsa-home-section-header__all:focus-visible {
	color: var(--d3-navy);
	text-decoration: none !important;
}
.home .fsa-home-section-header__all span {
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
}

.home .fsa-home-why {
	padding-block: 0;
	background: linear-gradient(110deg,#effbff 0%,#fff 57%,#edf9ff 100%);
}
.home .fsa-home-why__card {
	min-height: 475px;
	display: grid;
	grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr);
	align-items: stretch;
	gap: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
.home .fsa-home-why__content {
	order: 2;
	padding: clamp(44px,5vw,76px);
	border-left: 2px solid #8acff0;
}
.home .fsa-home-why__media { order: 1; margin: 0; align-self: end; height: 100%; }
.home .fsa-home-why__image { width: 100%; height: 100%; object-fit: contain; object-position: bottom center; }
.home .fsa-home-why .fsa-section-head h2,
.home .fsa-home-why .fsa-section-head p,
.home .fsa-home-why__item { color: var(--d3-blue); }
.home .fsa-home-why__list { display: grid; gap: 13px; margin-top: 24px; }
.home .fsa-home-why__check-wrap { color: var(--d3-cyan); }

.home .fsa-draft3-experience {
	background: linear-gradient(110deg,#edfaff,#fff 58%,#eefaff);
}
.home .fsa-draft3-experience__grid {
	display: grid;
	grid-template-columns: minmax(280px,.72fr) minmax(190px,.4fr) minmax(0,1.3fr);
	align-items: center;
	min-height: 440px;
}
.home .fsa-draft3-experience__portrait {
	position: relative;
	align-self: end;
	height: 570px;
	z-index: 1;
}
.home .fsa-draft3-experience__portrait-bg {
	position: absolute;
	left: 50%;
	bottom: -2%;
	z-index: 0;
	width: 145%;
	height: 108%;
	max-width: none;
	transform: translateX(-52%);
	object-fit: contain;
	object-position: center bottom;
	pointer-events: none;
}
.home .fsa-draft3-experience__portrait-img,
.home .fsa-draft3-experience__portrait img:not(.fsa-draft3-experience__portrait-bg) {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: bottom center;
}
.home .fsa-draft3-experience__aside {
	margin: 0;
	padding: 28px;
	color: #174cf5;
	font-size: .9375rem;
	line-height: 1.55;
}
.home .fsa-draft3-experience__quote {
	position: relative;
	padding: 30px 20px 30px 58px;
	border-left: 2px solid #91d8f7;
	color: #174cf5;
}
.home .fsa-draft3-experience__quote::before {
    content: "“";
    position: absolute;
    top: 70px;
    left: 25px;
    color: #96c6f4;
    font-size: 8rem;
    font-weight: 800;
    line-height: 1;
    font-family: var(--font-heading);
}
.home .fsa-draft3-experience__eyebrow {
	margin: 0 0 12px;
	color: var(--d3-cyan);
	font-size: .9375rem;
	font-weight: 600;
	letter-spacing: .015em;
}
.home .fsa-draft3-experience blockquote {
	max-width: 785px;
	align-items: flex-end;
	float: right;
	margin: 18px auto;
	font-style: italic;
}
.home .fsa-draft3-experience blockquote p { margin: 0 0 16px; line-height: 1.55; }
.home .fsa-draft3-experience__signature {
	flex: 0 0 auto;
	margin: 2px 0 0;
	color: var(--d3-blue);
	font-family: var(--font-heading);
	font-size: 3.2rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
}
.home .fsa-draft3-experience__signature-media {
	flex: 0 0 auto;
	margin: 0;
	line-height: 0;
}
.home .fsa-draft3-experience__signature-img {
	display: block;
	width: auto;
	max-width: min(220px, 48vw);
	height: auto;
	max-height: 88px;
	object-fit: contain;
}
.home .fsa-draft3-experience__signature-row {
	display: flex;
	align-items: flex-start;
	gap: 48px;
	max-width: 430px;
	float: right;
}
.home .fsa-draft3-experience__name {
	max-width: 420px;
	margin: 16px 0 0;
	color: #174cf5;
	line-height: 1.35;
}

/* Training section layout (cards) — header uses shared .fsa-home-section-header. */
.home .fsa-home-training-section .fsa-container {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	padding-left: var(--fsa-container-padding-x);
	padding-right: var(--fsa-container-padding-x);
}

/* Training package cards — features + starting price. */
.fsa-training-card__features {
	display: grid;
	gap: 8px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}
.fsa-training-card__features li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--d3-blue);
	font-size: .92rem;
	font-weight: 500;
	line-height: 1.35;
}
.fsa-training-card__feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.15rem;
	color: var(--d3-blue);
	font-size: .95rem;
}
.fsa-training-card__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	margin: 16px 0 0;
	color: var(--d3-blue);
	line-height: 1.2;
}
.fsa-training-card__price-from,
.fsa-training-card__price-vat {
	font-size: .8rem;
	font-weight: 500;
}
.fsa-training-card__price-amount {
	font-size: 1.35rem;
	font-weight: 700;
}
.home .fsa-home-training .fsa-service-card--training .fsa-service-card__body {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.home .fsa-home-training .fsa-service-card--training .fsa-service-card__excerpt {
	margin: 0;
	color: #5a6f8c;
	font-size: .95rem;
	line-height: 1.45;
}
.home .fsa-home-training .fsa-service-card--training .fsa-training-card__features {
	margin-top: 12px;
}
.home .fsa-home-training .fsa-service-card--training .fsa-training-card__price {
	margin-top: auto;
	padding-top: 14px;
}
.home .fsa-home-training .fsa-service-card--training .fsa-service-card__more {
	margin-top: 14px;
}

.home .fsa-draft3-business {
	background: linear-gradient(90deg,#f3fbff,#dff4ff);
	border-block: 1px solid #d9edf7;
}
.home .fsa-draft3-business__inner {
	display: grid;
	grid-template-columns: 76px minmax(0,1fr) auto;
	align-items: center;
	gap: 22px;
	min-height: 135px;
}
.home .fsa-draft3-business__icon {
	width: 70px;
	height: 58px;
	fill: var(--d3-blue);
	stroke: var(--d3-blue);
	stroke-width: 2;
}
.home .fsa-draft3-business__copy h2 { margin: 0 0 5px; color: var(--d3-blue); font-size: 1.55rem; }
.home .fsa-draft3-business__copy p { max-width: 650px; margin: 0; color: #3159ae; line-height: 1.35; }
.home .fsa-draft3-business__cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 16px 24px;
	border-radius: 5px;
	background: var(--d3-navy);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
}

.home .fsa-home-promo-banner {
	min-height: 180px;
	background: linear-gradient(90deg,#f1fbff,#dff4ff);
	color: var(--d3-blue);
}
.home .fsa-home-promo-banner__overlay {
	background: linear-gradient(90deg,rgba(239,250,255,.97),rgba(225,246,255,.7));
}
.home .fsa-home-promo-banner__inner { align-items: flex-start; padding-block: 35px; text-align: left; }
.home .fsa-home-promo-banner__eyebrow,
.home .fsa-home-promo-banner__title,
.home .fsa-home-promo-banner__subtitle { color: var(--d3-blue); text-shadow: none; }
.home .fsa-home-promo-banner__title { font-size: clamp(1.55rem,2.4vw,2.35rem); }

.home .fsa-home-services-section {
	padding: 28px 0 32px;
	background: #fff;
}
.home .fsa-home-services-section__eyebrow {
	margin: 0 0 12px;
	color: var(--d3-cyan);
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .025em;
}
.home .fsa-home-services-section .fsa-section-head h2,
.home .fsa-home-services-section .fsa-section-head h3,
.home .fsa-home-services-section .fsa-section-head .section-title {
	color: var(--d3-blue) !important;
}
.home .fsa-home-services-section .fsa-section-head p {
	display: none;
}
.home .fsa-home-services-section .fsa-section-head h2::after,
.home .fsa-home-services-section .fsa-section-head h3::after {
	display: none !important;
	content: none !important;
}
.home .fsa-home-services-section .fsa-home-services {
	display: block;
	margin: 0;
}
.home .fsa-home-services-carousel {
	position: relative;
	padding: 0 36px;
}
.home .fsa-home-services-carousel .owl-stage {
	display: flex;
	align-items: stretch;
}
.home .fsa-home-services-carousel .owl-item {
	display: flex;
	height: auto;
}
.home .fsa-home-services-carousel .fsa-home-services__slide,
.home .fsa-home-services-carousel .item {
	display: flex;
	width: 100%;
	height: 100%;
}
.home .fsa-home-services-carousel .fsa-service-card {
	width: 100%;
	height: 100%;
}
.home .fsa-home-services-carousel .owl-nav {
	margin: 0;
}
.home .fsa-home-services-carousel .owl-nav button.owl-prev,
.home .fsa-home-services-carousel .owl-nav button.owl-next {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 1px solid #bfdcf0;
	border-radius: 50%;
	background: #fff;
	color: var(--d3-blue);
	box-shadow: 0 2px 8px rgba(5, 61, 126, 0.08);
	transform: translateY(-50%);
	font-size: 0;
	line-height: 1;
}
.home .fsa-home-services-carousel .owl-nav button.owl-prev { left: 0; }
.home .fsa-home-services-carousel .owl-nav button.owl-next { right: 0; }
.home .fsa-home-services-carousel .owl-nav button:hover {
	background: var(--d3-blue);
	border-color: var(--d3-blue);
	color: #fff;
}
.home .fsa-home-services-carousel .owl-nav button span,
.home .fsa-home-services-carousel__nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
}
.home .fsa-home-services-carousel .owl-nav button.disabled {
	opacity: 0.35;
	pointer-events: none;
}
.home .fsa-home-services-section .fsa-service-card {
	min-height: 104px;
	padding: 14px 12px;
	display: grid;
	grid-template-columns: 48px minmax(0,1fr) 28px;
	grid-template-rows: auto 1fr;
	align-items: center;
	column-gap: 10px;
	border: 1px solid #bfdcf0;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(5,61,126,.05);
}
.home .fsa-home-services-section .fsa-service-card__head { display: contents; }
.home .fsa-home-services-section .fsa-service-card__icon {
	grid-column: 1;
	grid-row: 1 / 3;
	width: 42px;
	height: 42px;
	color: #073bf4;
}
.home .fsa-home-services-section .fsa-service-card__icon-svg { width: 42px; height: 42px; }
.home .fsa-home-services-section .fsa-service-card h3 {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 10px;
	color: #073bf4;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.12;
}
.home .fsa-home-services-section .fsa-service-card p {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	margin: 0;
	color: #3159ae;
	font-size: .78rem;
	line-height: 1.2;
}
.home .fsa-home-services-section .fsa-service-card__more {
	grid-column: 3;
	grid-row: 1 / 3;
	align-self: center;
	justify-self: end;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #073bf4;
}
.home .fsa-home-services-section .fsa-service-card__more-text { display: none; }
.home .fsa-home-services-section .fsa-service-card__more-arrow,
.home .fsa-home-services-section .fsa-service-card__more-arrow-svg { width: 28px; height: 18px; }
.home .fsa-home-services-section .fsa-service-card__more-arrow-svg {
	transition: transform .2s ease;
}
.home .fsa-home-services-section .fsa-service-card__more-arrow {
	display: block;
	padding: 0;
	border: 0;
	border-radius: 0;
}
.home .fsa-home-services-section .fsa-service-card:hover .fsa-service-card__more-arrow {
	color: #073bf4;
	border: 0;
}
.home .fsa-home-services-section .fsa-service-card:hover .fsa-service-card__more-arrow-svg,
.home .fsa-home-services-section .fsa-service-card:focus-visible .fsa-service-card__more-arrow-svg {
	transform: translateX(4px);
}

.home .fsa-draft3-sectors { padding: 48px 0 40px; background: #fff; }
.home .fsa-draft3-sectors__eyebrow {
	margin: 0 0 4px;
	color: var(--d3-cyan);
	font-size: .9rem;
	font-weight: 800;
}
.home .fsa-draft3-sectors h2 {
	margin: 0 0 16px;
	color: var(--d3-heading);
	font-size: clamp(1.75rem,2.25vw,2rem);
	font-weight: 700;
	line-height: 1.15;
}
.home .fsa-draft3-sectors__grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.home .fsa-draft3-sector {
	overflow: hidden;
	border: 1px solid var(--d3-line);
	border-radius: 6px;
	background: #fff;
	text-align: center;
}
.home .fsa-draft3-sector__visual {
	height: 115px;
	background-size: cover;
	background-position: center;
}
.home .fsa-draft3-sector--1 .fsa-draft3-sector__visual { background-image: linear-gradient(rgba(0,70,160,.05),rgba(0,70,160,.05)),url("assets/images/home-why.jpg"); }
.home .fsa-draft3-sector--2 .fsa-draft3-sector__visual { background-image: linear-gradient(135deg,#dff7ff,#75c4e6); }
.home .fsa-draft3-sector--3 .fsa-draft3-sector__visual { background-image: linear-gradient(135deg,#e5eef4,#7895aa); }
.home .fsa-draft3-sector--4 .fsa-draft3-sector__visual { background-image: linear-gradient(135deg,#fff1be,#efaa34); }
.home .fsa-draft3-sector--5 .fsa-draft3-sector__visual { background-image: linear-gradient(135deg,#bceca7,#4a9e55); }
.home .fsa-draft3-sector--6 .fsa-draft3-sector__visual { background-image: linear-gradient(135deg,#e7eef6,#8297ae); }
.home .fsa-draft3-sector h3 {
	min-height: 54px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	color: var(--d3-heading);
	font-size: .90625rem;
	font-weight: 600;
	line-height: 1.2;
}

.home .fsa-home-recent-posts { background: #f7fcff; }
.home .fsa-trust-section {
	background: linear-gradient(100deg,#006595,#00518a 58%,#003c77);
	color: #fff;
}
.home .fsa-trust-section .fsa-section-head h2,
.home .fsa-trust-section .fsa-section-head p,
.home .fsa-trust-card__value,
.home .fsa-trust-card__label { color: #fff; }
.home .fsa-trust-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
.home .fsa-trust-card {
	border: 0;
	border-right: 1px solid rgba(255,255,255,.28);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.home .fsa-trust-card:last-child { border-right: 0; }
.home .fsa-home-action-cta { background: linear-gradient(90deg,#00608f,#00528e); }
.home .fsa-home-action-cta__orb { display: none; }
.home .fsa-home-action-cta__inner { min-height: 150px; }
.fsa-draft3-proof {
	position: relative;
	padding: 24px 0 26px;
	overflow: hidden;
	background: radial-gradient(circle at 75% 15%,rgba(0,197,216,.14),transparent 28%), linear-gradient(105deg,#006495 0%,#00558e 52%,#003f79 100%);
	color: #fff;
}
.fsa-draft3-proof::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg,transparent 0 58%,rgba(255,255,255,.04) 58% 59%,transparent 59%);
	pointer-events: none;
}
.fsa-draft3-proof__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 24px 40px;
}
.fsa-draft3-proof__eyebrow {
	margin: 0 0 4px;
	color: #25e4e9;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: .045em;
}
.fsa-draft3-proof__head h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.65rem,2.3vw,2.35rem);
	font-weight: 400;
	line-height: 1.12;
}
.fsa-draft3-proof__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 54px;
	padding: 0 30px;
	border-radius: 5px;
	background: #00b9ad;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(0,32,88,.18);
	transition: background .2s ease,transform .2s ease;
}
.fsa-draft3-proof__cta:hover { background: #00a39a; transform: translateY(-2px); }
.fsa-draft3-proof__cta svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.fsa-draft3-proof__items {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(5,minmax(0,1fr));
	align-items: center;
}
.fsa-draft3-proof__item {
	display: grid;
	grid-template-columns: 54px minmax(0,1fr);
	align-items: center;
	gap: 14px;
	min-height: 68px;
	padding: 5px 24px;
	border-right: 1px solid rgba(43,229,234,.55);
}
.fsa-draft3-proof__item:first-child { padding-left: 0; }
.fsa-draft3-proof__item:last-child { padding-right: 0; border-right: 0; }
.fsa-draft3-proof__item svg {
	width: 44px;
	height: 44px;
	fill: none;
	stroke: #20e2e5;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.fsa-draft3-proof__item-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: #20e2e5;
	font-size: 1.65rem;
	line-height: 1;
}
.fsa-draft3-proof__item:nth-child(2) .fsa-draft3-proof__item-icon,
.fsa-draft3-proof__item:nth-child(5) .fsa-draft3-proof__item-icon,
.fsa-draft3-proof__item:nth-child(2) svg,
.fsa-draft3-proof__item:nth-child(5) svg { fill: #20e2e5; stroke: #20e2e5; color: #20e2e5; }
.fsa-draft3-proof__item p { margin: 0; color: #fff; font-size: .875rem; line-height: 1.4; }

.fsa-footer { background: #fff; color: #315799; border-top: 1px solid var(--d3-line); }
.fsa-footer__top,
.fsa-footer__bottom { background: #fff; }
.fsa-footer a,
.fsa-footer__copy { color: #315799; }
.fsa-draft3-footer {
	min-height: 148px;
	padding: 22px 0 20px;
	border-top: 2px solid var(--d3-navy);
	background: #fff;
}
.fsa-draft3-footer__top {
	display: flex;
	align-items: center;
	gap: 22px;
}
.fsa-draft3-footer__brand { flex: 0 0 auto; }
.fsa-draft3-footer__brand .fsa-logo-link { display: block; }
.fsa-draft3-footer__brand .fsa-logo--on-dark { display: none !important; }
.fsa-draft3-footer__brand .fsa-logo--on-light {
	display: block !important;
	width: auto;
	max-width: 190px;
	max-height: 48px;
}
.fsa-draft3-footer__nav {
	display: flex;
	align-items: center;
	gap: 0;
	margin-left: 8px;
}
.fsa-draft3-footer__nav a {
	padding: 0 11px;
	border-right: 1px solid #c7d6e8;
	color: var(--d3-blue);
	font-size: .78rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.fsa-draft3-footer__social {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 0 auto;
	padding: 0;
	list-style: none;
}
.fsa-draft3-footer__social a,
.fsa-draft3-footer__social span { display: flex; color: var(--d3-blue); }
.fsa-draft3-footer__social svg { width: 21px; height: 21px; fill: currentColor; }
.fsa-draft3-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 20px;
}
.fsa-draft3-footer__bottom p { margin: 0; color: #6a7da8; font-size: .74rem; }
.fsa-draft3-footer__bottom nav { display: flex; gap: 0; }
.fsa-draft3-footer__bottom nav a {
	padding: 0 12px;
	border-right: 1px solid #c7d6e8;
	color: #6a7da8;
	font-size: .75rem;
	text-decoration: none;
}
.fsa-draft3-footer__bottom nav a:last-child,
.fsa-draft3-footer__nav a:last-child { border-right: 0; }

/* Desktop typography: keep all supporting copy comfortably readable. */
@media (min-width: 75rem) {
	body { font-size: 1.0625rem; }
	.fsa-nav-menu > li > a { font-size: 1.1425rem; }
	.fsa-draft3-search,
	.fsa-draft3-login,
	.fsa-header-lang__toggle { font-size: 1.0625rem; }
	.home .fsa-hero-cover__eyebrow { font-size: 1.0025rem; }
	.home .fsa-hero-cover__title { font-size: clamp(calc(1rem + 1px), calc(2.2vw + 1px), calc(2.65rem + 1px)); }
	.home .fsa-hero-cover__subtitle { font-size: 1.65rem; }
	.home .fsa-hero-cover__actions a { font-size: 1.0625rem; }

	.home .fsa-home-card h2 { font-size: 1.2125rem; }
	.home .fsa-home-card p { font-size: 1.0825rem; }
	.home .fsa-draft3-learning-benefit p { font-size: 0.95rem; }

	.home .fsa-draft3-experience__aside { font-size: 1.1625rem;font-weight: 500; }
	.home .fsa-draft3-experience__eyebrow { font-size: 1.25rem; }
	.home .fsa-draft3-experience blockquote p { font-size: 1.35rem; }
	.home .fsa-draft3-experience__name { font-size: 1.0625rem; }

	.home .fsa-home-section-header .fsa-section-head h2 { font-size: 2.3125rem; }
	.home .fsa-home-section-header .fsa-eyebrow { font-size: .95rem; }
	.home .fsa-home-section-header__all { font-size: 1.1125rem; }
	.home .fsa-home-training .fsa-service-card h3 { font-size: 1.2125rem; line-height: 1.3; }
	.home .fsa-home-training .fsa-service-card__excerpt { font-size: 1.0625rem; line-height: 1.55; }
	.home .fsa-home-training .fsa-service-card__category { font-size: .9125rem; }
	.home .fsa-home-training .fsa-training-card__features li { font-size: .98rem; }
	.home .fsa-home-training .fsa-training-card__price-amount { font-size: 1.45rem; }

	.home .fsa-home-services-section__eyebrow { font-size: 1.0125rem; }
	.home .fsa-home-services-section .fsa-service-card { min-height: 116px; }
	.home .fsa-home-services-section .fsa-service-card h3 { font-size: 1.1625rem; }
	.home .fsa-home-services-section .fsa-service-card p { font-size: .9625rem; font-weight: 300; line-height: 1.3; }

	.fsa-draft3-proof__eyebrow { font-size: 1.1125rem; }
	.fsa-draft3-proof__head h2 { font-size: clamp(calc(1.65rem + 1px),calc(2.3vw + 1px),calc(2.35rem + 1px)); }
	.fsa-draft3-proof__item p { font-size: 1.0625rem; }
	.fsa-draft3-proof__cta { font-size: 1.0625rem; }

	.fsa-draft3-footer__nav a { font-size: .9625rem; }
	.fsa-draft3-footer__bottom p,
	.fsa-draft3-footer__bottom nav a { font-size: .9125rem; }
}

@media (max-width: 74.99875rem) {
	.fsa-nav__menu { display: none; }
	.fsa-nav-toggle { display: flex; margin-left: auto; }
	.home .fsa-home-features__grid { grid-template-columns: repeat(2,1fr); }
	.home .fsa-home-card:nth-child(2n) { border-right: 0; }
	.home .fsa-draft3-learning-benefits { grid-template-columns: repeat(3,1fr); }
	.home .fsa-draft3-learning-benefit:nth-child(3n + 1) { border-left: 0; }
	.fsa-draft3-proof__items { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 20px; }
	.fsa-draft3-proof__item:nth-child(3) { border-right: 0; }
	.home .fsa-draft3-sectors__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.fsa-draft3-footer__top { flex-wrap: wrap; }
	.fsa-draft3-footer__nav { order: 3; width: 100%; margin-left: 0; flex-wrap: wrap; }
}

@media (min-width: 36rem) {
	.home .fsa-home-training-section .fsa-container { max-width: 540px; }
}

@media (min-width: 48rem) {
	.home .fsa-home-training-section .fsa-container { max-width: 720px; }
}

@media (min-width: 62rem) {
	.home .fsa-home-training-section .fsa-container { max-width: var(--container-width); }
}

@media (max-width: 61.99875rem) {
	.home .fsa-hero-cover__media { left: 42%; width: 58%; opacity: .45; }
	.home .fsa-hero-cover__body { padding-right: 36%; }
	.home .fsa-home-why__card { grid-template-columns: .8fr 1.2fr; }
}

@media (max-width: 47.99875rem) {
	.fsa-container { width: min(100% - 28px,var(--fsa-container)); }
	.fsa-nav { min-height: 70px; }
	.fsa-nav__brand img,
	.custom-logo { max-width: 190px; max-height: 48px; }
	.fsa-draft3-search span,
	.fsa-draft3-login span { display: none; }
	.fsa-draft3-search,
	.fsa-draft3-login { width: 42px; padding: 0; }
	.fsa-header-lang__toggle { min-height: 42px; padding: 0 10px; }
	.home .fsa-hero-cover { min-height: 570px; }
	.home .fsa-hero-cover__media { inset: auto 0 0 28%; width: 72%; height: 48%; opacity: .65; }
	.home .fsa-hero-cover__body { justify-content: flex-start; padding: 46px 0 250px; }
	.home .fsa-hero-cover__title { font-size: clamp(1.8rem,8vw,2.65rem); }
	.home .fsa-home-features__grid { grid-template-columns: repeat(2,1fr); }
	.home .fsa-home-card,
	.home .fsa-home-card:nth-child(3n) { border-right: 1px solid #e1edf5; }
	.home .fsa-home-card:nth-child(2n) { border-right: 0; }
	.home .fsa-home-why__card { grid-template-columns: 1fr; }
	.home .fsa-home-why__media { min-height: 330px; }
	.home .fsa-home-why__content { border-left: 0; border-top: 2px solid #8acff0; }
	.home .fsa-draft3-experience__grid { grid-template-columns: 1fr; padding-top: 30px; }
	.home .fsa-draft3-experience__portrait { height: 360px; }
	.home .fsa-draft3-experience__aside { padding: 24px 0; }
	.home .fsa-draft3-experience__quote { padding: 28px 10px 32px 52px; border-left: 0; border-top: 2px solid #91d8f7; }
	.home .fsa-draft3-business__inner { grid-template-columns: 64px 1fr; padding-block: 24px; }
	.home .fsa-draft3-business__cta { grid-column: 2; justify-self: start; }
	.home .fsa-home-services-carousel { padding: 0 28px; }
	.home .fsa-trust-grid { grid-template-columns: 1fr; }
	.home .fsa-trust-card { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.28); }
	.fsa-draft3-proof__inner { grid-template-columns: 1fr; }
	.fsa-draft3-proof__cta { justify-self: start; }
	.fsa-draft3-proof__items { grid-template-columns: 1fr 1fr; }
	.fsa-draft3-proof__item,
	.fsa-draft3-proof__item:nth-child(3) { padding-inline: 16px; border-right: 1px solid rgba(43,229,234,.55); }
	.fsa-draft3-proof__item:nth-child(2n) { border-right: 0; }
	.home .fsa-draft3-learning-benefits { grid-template-columns: repeat(2,1fr); }
	.home .fsa-draft3-learning-benefit:nth-child(3n + 1) { border-left: 1px solid #e0edf3; }
	.home .fsa-draft3-learning-benefit:nth-child(2n + 1) { border-left: 0; }
	.home .fsa-section:not(.fsa-home-training-section) { padding-block: 40px; }
	.fsa-draft3-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 35.99875rem) {
	.home .fsa-home-features__grid { grid-template-columns: 1fr; }
	.home .fsa-home-card,
	.home .fsa-home-card:nth-child(2n),
	.home .fsa-home-card:nth-child(3n) { border-right: 0; border-bottom: 1px solid #e1edf5; }
	.home .fsa-hero-cover__actions { align-items: stretch; flex-direction: column; }
	.fsa-draft3-proof__items { grid-template-columns: 1fr; }
	.fsa-draft3-proof__item,
	.fsa-draft3-proof__item:nth-child(2n),
	.fsa-draft3-proof__item:nth-child(3) {
		padding: 12px 0;
		border-right: 0;
		border-bottom: 1px solid rgba(43,229,234,.35);
	}
	.fsa-draft3-proof__item:last-child { border-bottom: 0; }
	.fsa-draft3-proof__cta { width: 100%; }
	.home .fsa-draft3-sectors__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.home .fsa-draft3-business__inner { grid-template-columns: 1fr; text-align: center; }
	.home .fsa-draft3-business__icon,
	.home .fsa-draft3-business__cta { grid-column: 1; justify-self: center; }
	.home .fsa-draft3-learning-benefits { grid-template-columns: 1fr; }
	.home .fsa-draft3-learning-benefit { border-left: 0 !important; }
	.home .fsa-section:not(.fsa-home-training-section) { padding-block: 32px; }
	.home .fsa-home-section-header--has-more {
		grid-template-columns: 1fr;
		row-gap: 12px;
	}
	.home .fsa-home-section-header__all {
		justify-self: start;
		margin-top: 0;
		white-space: normal;
	}
	.fsa-draft3-footer__nav a { width: 50%; padding: 7px 8px; }
}

/* —— Products / store page extras —— */
body.fsa-page-store .fsa-main--store {
	background: var(--d3-pale);
}
body.fsa-page-store .fsa-store-card__title a {
	text-decoration: none;
}
body.fsa-page-store .fsa-store__heading {
	color: var(--d3-heading);
}
