


/* ------------------------------
   1. Global safety and scope
------------------------------ */

html,
body{
	width:100%;
	max-width:100%;
	overflow-x:clip;
}

body .site,
body .site-content,
body .content-area,
body .entry-content,
body .wp-site-blocks,
body main{
	overflow:visible !important;
}

#ascx_17580,
#ascx_17580 *{
	box-sizing:border-box;
}

#ascx_17580{
	--asc-primary:#163247;
	--asc-primary-2:#1F425B;
	--asc-green:#7BA63A;
	--asc-green-2:#8CB94A;
	--asc-green-soft:#F3F8EA;
	--asc-coral:#E05A61;
	--asc-coral-2:#F06F76;
	--asc-dark:#071923;
	--asc-ink:#1D2D3A;
	--asc-text:#4C6170;
	--asc-muted:#6A7D89;
	--asc-line:#E7EDF2;
	--asc-bg:#F8FAFB;
	--asc-white:#FFFFFF;

	--asc-grad-dark:linear-gradient(135deg,#163247 0%,#244960 100%);
	--asc-grad-green:linear-gradient(135deg,#7BA63A 0%,#8CB94A 100%);
	--asc-grad-coral:linear-gradient(135deg,#E05A61 0%,#F06F76 100%);
	--asc-grad-brand:linear-gradient(90deg,#E05A61 0%,#7BA63A 100%);

	--asc-shadow-xs:0 3px 8px rgba(16,24,40,.035);
	--asc-shadow-sm:0 8px 18px rgba(16,24,40,.05);
	--asc-shadow-md:0 14px 30px rgba(16,24,40,.07);
	--asc-shadow-lg:0 20px 42px rgba(16,24,40,.09);

	--asc-radius-xl:30px;
	--asc-radius-lg:24px;
	--asc-radius-md:18px;
	--asc-radius-sm:12px;
	--asc-header-offset:0px;

	position:relative;
	width:100% !important;
	max-width:100% !important;
	min-width:0 !important;
	margin:0 !important;
	padding:0 !important;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	color:var(--asc-text);
	background:var(--asc-bg);
	overflow:visible !important;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
}

#ascx_17580 a{
	color:inherit;
}

#ascx_17580 img,
#ascx_17580 iframe,
#ascx_17580 video{
	display:block;
	max-width:100%;
	height:auto;
}

#ascx_17580 .asc-container{
	width:100%;
	max-width:1420px;
	margin:0 auto;
	padding:0 32px;
	position:relative;
	z-index:1;
}

#ascx_17580 .asc-container.wide{
	max-width:1520px;
}

#ascx_17580 .asc-container.narrow{
	max-width:1240px;
}

#ascx_17580 .asc-divider{
	border:0;
	height:1px;
	margin:0;
	background:var(--asc-line);
}

/* ------------------------------
   2. Shared sections
------------------------------ */

#ascx_17580 .asc-section{
	position:relative;
	padding:56px 0;
	background:transparent;
}

#ascx_17580 .asc-section + .asc-section{
	padding-top:40px;
}

#ascx_17580 .asc-heading{
	max-width:960px;
	margin:0 auto 36px;
	text-align:center;
}

#ascx_17580 .asc-heading h2{
	margin:10px auto 12px;
	max-width:900px;
	color:var(--asc-ink);
	font-size:clamp(26px,2.2vw,38px);
	line-height:1.14;
	letter-spacing:-.035em;
	font-weight:900;
	text-wrap:balance;
}

#ascx_17580 .asc-heading p{
	margin:0 auto;
	max-width:820px;
	color:var(--asc-muted);
	font-size:17px;
	line-height:1.75;
}

#ascx_17580 .asc-chip{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:8px 14px;
	border-radius:999px;
	background:#F5F7F8;
	border:1px solid #D9E1E7;
	color:#415764;
	font-size:11px;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase;
	line-height:1;
}

#ascx_17580 .asc-chip.dark{
	background:rgba(255,255,255,.14);
	border-color:rgba(255,255,255,.22);
	color:#fff;
}

#ascx_17580 .asc-grid-2,
#ascx_17580 .asc-grid-3,
#ascx_17580 .asc-grid-4{
	display:grid;
	gap:18px;
}

#ascx_17580 .asc-grid-2{
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:22px;
}

#ascx_17580 .asc-grid-3{
	grid-template-columns:repeat(3,minmax(0,1fr));
}

#ascx_17580 .asc-grid-4{
	grid-template-columns:repeat(4,minmax(0,1fr));
}

#ascx_17580 .asc-btn-row{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

#ascx_17580 .asc-btn{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:52px;
	padding:14px 22px;
	border-radius:12px;
	border:1px solid transparent;
	text-decoration:none;
	font-size:15px;
	font-weight:900;
	letter-spacing:-.01em;
	line-height:1.1;
	cursor:pointer;
	white-space:nowrap;
	transition:
		transform .16s ease,
		box-shadow .16s ease,
		background .16s ease,
		border-color .16s ease,
		color .16s ease;
}

#ascx_17580 .asc-btn:hover{
	transform:translateY(-2px);
}

#ascx_17580 .asc-btn.primary{
	background:var(--asc-grad-green);
	color:#fff;
	box-shadow:0 10px 20px rgba(123,166,58,.18);
}

#ascx_17580 .asc-btn.secondary{
	background:#fff;
	border-color:#DCE5EB;
	color:#244358;
	box-shadow:var(--asc-shadow-xs);
}

#ascx_17580 .asc-btn.ghost-dark{
	background:#fff;
	border-color:rgba(255,255,255,.35);
	color:#5F812D;
	box-shadow:0 10px 22px rgba(0,0,0,.12);
}

#ascx_17580 .asc-arrow{
	display:inline-flex;
	transition:transform .16s ease;
}

#ascx_17580 .asc-btn:hover .asc-arrow,
#ascx_17580 .asc-card-link:hover .asc-arrow{
	transform:translateX(3px);
}

/* ------------------------------
   3. Reveal and cards
------------------------------ */

#ascx_17580 .asc-reveal{
	opacity:0;
	transform:translateY(14px);
	transition:opacity .35s ease,transform .35s ease;
}

#ascx_17580 .asc-reveal.visible{
	opacity:1;
	transform:none;
}

#ascx_17580 :where(
	.asc-card,
	.asc-panel,
	.asc-service-card,
	.asc-resource-card,
	.asc-article-card,
	.asc-legal-card,
	.asc-contact-card,
	.asc-post-card
){
	position:relative;
	background:#fff;
	border:1px solid var(--asc-line);
	border-radius:22px;
	padding:26px;
	box-shadow:var(--asc-shadow-sm);
	overflow:hidden;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease;
}

#ascx_17580 :where(
	.asc-card,
	.asc-panel,
	.asc-service-card,
	.asc-resource-card,
	.asc-article-card,
	.asc-legal-card,
	.asc-contact-card,
	.asc-post-card
):hover{
	transform:translateY(-3px);
	box-shadow:var(--asc-shadow-md);
	border-color:#DCE5EB;
}

#ascx_17580 :where(
	.asc-card,
	.asc-panel,
	.asc-service-card,
	.asc-resource-card,
	.asc-article-card,
	.asc-legal-card,
	.asc-contact-card,
	.asc-post-card
)::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:4px;
	background:var(--asc-grad-green);
}

#ascx_17580 .asc-icon{
	width:52px;
	height:52px;
	display:grid;
	place-items:center;
	margin-bottom:16px;
	border-radius:16px;
	background:#F4F7F9;
	border:1px solid var(--asc-line);
	font-size:22px;
	color:#163247;
}

#ascx_17580 .asc-icon svg{
	width:24px;
	height:24px;
	display:block;
	stroke:currentColor;
	fill:none;
	stroke-width:1.9;
	stroke-linecap:round;
	stroke-linejoin:round;
}

#ascx_17580 :where(
	.asc-card,
	.asc-panel,
	.asc-service-card,
	.asc-resource-card,
	.asc-article-card,
	.asc-legal-card,
	.asc-contact-card,
	.asc-post-card
) h3{
	margin:0 0 12px;
	color:#223746;
	font-size:21px;
	line-height:1.2;
	font-weight:900;
	letter-spacing:-.025em;
	text-wrap:balance;
}

#ascx_17580 :where(
	.asc-card,
	.asc-panel,
	.asc-service-card,
	.asc-resource-card,
	.asc-article-card,
	.asc-legal-card,
	.asc-contact-card,
	.asc-post-card
) p{
	margin:0;
	color:#5A6F7D;
	font-size:15px;
	line-height:1.75;
}

#ascx_17580 .asc-card-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:16px;
	color:#5F812D;
	text-decoration:none;
	font-weight:900;
}

#ascx_17580 .asc-list,
#ascx_17580 .asc-cinematic-list,
#ascx_17580 .asc-systems-list{
	margin:14px 0 0;
	padding:0;
	list-style:none;
	display:grid;
	gap:10px;
}

#ascx_17580 .asc-list li,
#ascx_17580 .asc-cinematic-list li,
#ascx_17580 .asc-systems-list li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	color:#566D7B;
	font-size:15px;
	line-height:1.65;
}

#ascx_17580 .asc-check{
	flex:0 0 auto;
	width:22px;
	height:22px;
	display:inline-grid;
	place-items:center;
	margin-top:2px;
	border-radius:50%;
	background:var(--asc-green-soft);
	border:1px solid #D9E8C3;
	color:var(--asc-green);
	font-size:13px;
	font-weight:900;
}

/* ------------------------------
   4. Post cards
------------------------------ */

#ascx_17580 .asc-post-card{
	padding:0;
}

#ascx_17580 .asc-post-image{
	display:block;
	width:100%;
	aspect-ratio:16 / 9;
	overflow:hidden;
	background:#EEF3F6;
	border-bottom:1px solid var(--asc-line);
}

#ascx_17580 .asc-post-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .22s ease;
}

#ascx_17580 .asc-post-card:hover .asc-post-image img{
	transform:scale(1.025);
}

#ascx_17580 .asc-post-card h3,
#ascx_17580 .asc-post-card p,
#ascx_17580 .asc-post-card .asc-card-link{
	margin-left:24px;
	margin-right:24px;
}

#ascx_17580 .asc-post-card h3{
	margin-top:22px;
}

#ascx_17580 .asc-post-card .asc-card-link{
	margin-bottom:24px;
}

#ascx_17580 .asc-post-card h3 a{
	color:inherit;
	text-decoration:none;
}


/* ------------------------------
   5. Progress, sticky CTA, dots and mobile section nav
------------------------------ */


/* Sticky CTA - same as About page */


#ascx_17580 .asc-sticky-cta::after{
	content:none !important;
	display:none !important;
}

/* Desktop left section dots - same as About page */


#ascx_17580 .asc-dot-text{
	white-space:nowrap;
	letter-spacing:-0.01em;
}

#ascx_17580 .asc-dot:hover{
	transform:translateX(3px);
	background:rgba(248,250,251,.92);
	border-color:#E2EAF0;
	color:#223746;
}

#ascx_17580 .asc-dot.active{
	background:linear-gradient(135deg,#7D1F2A 0%,#A12D3D 100%);
	color:#fff;
	border-color:transparent;
	box-shadow:0 10px 24px rgba(125,31,42,.20);
}

#ascx_17580 .asc-dot.active .asc-dot-icon{
	background:rgba(255,255,255,.16);
	border-color:rgba(255,255,255,.10);
	color:#FFFFFF;
}

/* Scroll UI visibility states */

#ascx_17580 .asc-section-dots,
#ascx_17580 .asc-mobile-sections-toggle{
	transition:
		opacity .22s ease,
		transform .22s ease,
		box-shadow .22s ease;
}

#ascx_17580 .asc-mobile-sections-toggle{
	opacity:0;
	pointer-events:none;
	position:fixed;
	display:none;
}

#ascx_17580 .asc-section-dots.asc-scroll-ui-hidden,
#ascx_17580 .asc-mobile-sections-toggle.asc-scroll-ui-hidden{
	opacity:0 !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-section-dots.asc-scroll-ui-visible,
#ascx_17580 .asc-mobile-sections-toggle.asc-scroll-ui-visible{
	opacity:1 !important;
	pointer-events:auto !important;
}

#ascx_17580 .asc-section-dots.asc-scroll-ui-raised{
	transform:translateY(-20px);
}

#ascx_17580 .asc-mobile-sections-toggle.asc-scroll-ui-raised{
	transform:translateY(-20px);
}

/* Mobile section toggle and panel - same as About page */

#ascx_17580 .asc-mobile-sections-panel[hidden],
#ascx_17580 .asc-mobile-sections-overlay[hidden]{
	display:none !important;
}

#ascx_17580 .asc-mobile-sections-toggle{
	left:18px;
	bottom:20px;
	z-index:10020;
	align-items:center;
	gap:12px;
	padding:14px 18px;
	min-height:58px;
	border:0;
	border-radius:999px;
	background:linear-gradient(135deg,#163247 0%,#244960 60%,#7BA63A 100%);
	color:#fff;
	box-shadow:0 18px 38px rgba(16,24,40,.22);
	cursor:pointer;
	font-weight:800;
	font-size:14px;
	letter-spacing:-.01em;
	transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

#ascx_17580 .asc-mobile-sections-toggle:hover{
	transform:translateY(-2px);
	box-shadow:0 24px 42px rgba(16,24,40,.26);
}

#ascx_17580 .asc-mobile-sections-toggle:focus-visible,
#ascx_17580 .asc-mobile-sections-close:focus-visible,
#ascx_17580 .asc-mobile-dot:focus-visible{
	outline:3px solid rgba(123,166,58,.28);
	outline-offset:3px;
}

#ascx_17580 .asc-mobile-sections-toggle-icon{
	width:24px;
	height:24px;
	display:inline-flex;
	flex-direction:column;
	justify-content:center;
	gap:4px;
	flex-shrink:0;
}

#ascx_17580 .asc-mobile-sections-toggle-icon span{
	display:block;
	width:24px;
	height:2.5px;
	border-radius:999px;
	background:#fff;
}

#ascx_17580 .asc-mobile-sections-toggle-text{
	line-height:1;
	white-space:nowrap;
}

#ascx_17580 .asc-mobile-sections-overlay{
	position:fixed;
	inset:0;
	z-index:10010;
	background:rgba(10,20,30,.42);
	backdrop-filter:blur(5px);
	opacity:0;
	transition:opacity .2s ease;
}

#ascx_17580 .asc-mobile-sections-overlay.show{
	opacity:1;
}

#ascx_17580 .asc-mobile-sections-panel{
	position:fixed;
	left:18px;
	right:18px;
	bottom:104px;
	z-index:10015;
	background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFB 100%);
	border:1px solid rgba(22,50,71,.10);
	border-radius:24px;
	box-shadow:0 26px 60px rgba(16,24,40,.20);
	padding:18px;
	transform:translateY(18px) scale(.98);
	opacity:0;
	transition:transform .22s ease, opacity .22s ease;
	max-height:min(70vh, 560px);
	overflow:auto;
}

#ascx_17580 .asc-mobile-sections-panel.show{
	transform:translateY(0) scale(1);
	opacity:1;
}

#ascx_17580 .asc-mobile-sections-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	margin-bottom:14px;
	padding-bottom:12px;
	border-bottom:1px solid #E7EDF2;
}

#ascx_17580 .asc-mobile-sections-title{
	font-size:16px;
	font-weight:900;
	letter-spacing:-.02em;
	color:#1E3445;
}

#ascx_17580 .asc-mobile-sections-close{
	width:40px;
	height:40px;
	display:inline-grid;
	place-items:center;
	border-radius:12px;
	border:1px solid #E3EAF0;
	background:#fff;
	color:#203748;
	font-size:24px;
	line-height:1;
	cursor:pointer;
	box-shadow:var(--asc-shadow-xs);
}

#ascx_17580 .asc-mobile-sections-list{
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
}

#ascx_17580 .asc-mobile-dot{
	display:flex;
	align-items:center;
	gap:12px;
	width:100%;
	padding:14px 16px;
	min-height:54px;
	border-radius:16px;
	border:1px solid #E3EAF0;
	background:#fff;
	color:#334B5B;
	font-size:14px;
	font-weight:800;
	text-align:left;
	cursor:pointer;
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

#ascx_17580 .asc-mobile-dot:hover{
	transform:translateY(-1px);
	border-color:#D5E1E9;
	box-shadow:var(--asc-shadow-sm);
}

#ascx_17580 .asc-mobile-dot.active{
	background:linear-gradient(135deg,#203B4D 0%,#2B5674 100%);
	color:#fff;
	border-color:transparent;
	box-shadow:0 14px 30px rgba(31,54,72,.16);
}

#ascx_17580 .asc-mobile-dot-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:11px;
	background:linear-gradient(180deg,#F7F9FB 0%,#EEF3F6 100%);
	border:1px solid #E5ECF1;
	font-size:13px;
	font-weight:900;
	color:#45606F;
	flex-shrink:0;
}

#ascx_17580 .asc-mobile-dot.active .asc-mobile-dot-icon{
	background:rgba(255,255,255,.14);
	border-color:rgba(255,255,255,.12);
	color:#fff;
}

#ascx_17580 .asc-mobile-dot-text{
	white-space:nowrap;
	letter-spacing:-.01em;
}

/* Responsive behaviour matching About page */

@media (max-width:1100px){
	#ascx_17580 .asc-section-dots-wrap,
	#ascx_17580 .asc-section-dots{
		display:none !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle{
		display:inline-flex !important;
		left:18px;
		bottom:88px;
		width:56px !important;
		height:56px;
		min-height:56px;
		padding:0;
		justify-content:center;
		border-radius:50%;
		box-shadow:0 18px 34px rgba(16,24,40,.20);
	}

	#ascx_17580 .asc-mobile-sections-toggle-text{
		display:none;
	}

	#ascx_17580 .asc-mobile-sections-overlay{
		display:block;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		display:block;
	}

	#ascx_17580 .asc-sticky-cta{
		right:18px;
		bottom:88px;
		padding:0;
		background:transparent;
		border:0;
		box-shadow:none;
		backdrop-filter:none;
	}

	#ascx_17580 .asc-sticky-cta .label{
		display:none;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-btn{
		width:56px;
		height:56px;
		min-height:56px;
		padding:0;
		border-radius:50%;
		justify-content:center;
		box-shadow:0 18px 34px rgba(224,90,97,.22) !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-text{
		display:none;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-icon{
		width:20px;
		height:20px;
		font-size:16px;
	}
}

@media (max-width:767px){
	#ascx_17580 .asc-sticky-cta{
		display:none !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle{
		left:14px;
		right:auto;
		bottom:96px;
		width:52px !important;
		height:52px;
		min-height:52px;
		padding:0;
		justify-content:center;
		border-radius:50%;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		left:14px;
		right:14px;
		bottom:156px;
		border-radius:20px;
		padding:16px;
		max-height:62vh;
	}
}


/* ------------------------------
   6. Entry gateway
------------------------------ */

#ascx_17580 .asc-entry-gateway{
	position:relative;
	min-height:100vh;
	min-height:100svh;
	width:100%;
	overflow:hidden;
	isolation:isolate;
	background:var(--asc-dark);
	color:#fff;
}

#ascx_17580 .asc-entry-gateway::before{
	content:"";
	position:absolute;
	left:50%;
	top:-12%;
	z-index:5;
	width:6px;
	height:124%;
	border-radius:999px;
	background:linear-gradient(180deg,rgba(255,255,255,0),rgba(123,166,58,.95),rgba(255,255,255,0));
	box-shadow:0 0 26px rgba(123,166,58,.28);
	pointer-events:none;
	transform:translateX(-50%) rotate(13deg);
}

#ascx_17580 .asc-entry-gateway-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:1fr 1fr;
	min-height:100vh;
	min-height:100svh;
}

#ascx_17580 .asc-entry-panel{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:48px;
	overflow:hidden;
	color:#fff;
	text-decoration:none;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}

#ascx_17580 .asc-entry-panel.left{
	background-image:var(--wpr-bg-1a132502-78cc-47ae-ba9b-069ac50797d8);
}

#ascx_17580 .asc-entry-panel.right{
	background-image:var(--wpr-bg-48f01bba-629d-4c5a-9694-3f63ffd2b978);
}

#ascx_17580 .asc-entry-panel::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	background:
		linear-gradient(180deg, rgba(7,25,35,.35) 0%, rgba(7,25,35,.82) 100%),
		linear-gradient(90deg, rgba(7,25,35,.58), rgba(7,25,35,.18));
}

#ascx_17580 .asc-entry-content{
	position:relative;
	z-index:6;
	width:min(460px,100%);
	padding:32px 28px;
	border-radius:28px;
	text-align:center;
	background:rgba(255,255,255,.16);
	border:1px solid rgba(255,255,255,.24);
	box-shadow:0 24px 58px rgba(0,0,0,.24);
	transition:transform .22s ease,border-color .22s ease;
}

#ascx_17580 .asc-entry-panel:hover .asc-entry-content{
	transform:translateY(-5px);
	border-color:rgba(255,255,255,.34);
}

#ascx_17580 .asc-entry-kicker{
	display:inline-flex;
	margin-bottom:14px;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.9);
	border:1px solid rgba(255,255,255,.42);
	color:#163247;
	font-size:10px;
	font-weight:950;
	letter-spacing:.12em;
	text-transform:uppercase;
}

#ascx_17580 .asc-entry-content h2{
	margin:0 auto 12px;
	color:#fff;
	font-size:clamp(30px,4vw,54px);
	line-height:1;
	letter-spacing:-.055em;
	font-weight:950;
	text-wrap:balance;
	text-shadow:0 14px 35px rgba(0,0,0,.35);
}

#ascx_17580 .asc-entry-content p{
	margin:0 auto 22px;
	max-width:390px;
	color:rgba(255,255,255,.88);
	font-size:15px;
	line-height:1.6;
	font-weight:600;
}

#ascx_17580 .asc-entry-choice{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:48px;
	padding:13px 18px;
	border-radius:12px;
	color:#fff;
	font-size:14px;
	font-weight:950;
	text-decoration:none;
	background:var(--asc-grad-coral);
}

#ascx_17580 .asc-entry-choice.secondary-choice{
	background:var(--asc-grad-green);
}

#ascx_17580 .asc-entry-scroll-note{
	position:absolute;
	left:50%;
	bottom:20px;
	z-index:8;
	transform:translateX(-50%);
	color:rgba(255,255,255,.76);
	font-size:11px;
	font-weight:950;
	letter-spacing:.14em;
	text-transform:uppercase;
	pointer-events:none;
}

html.asc-entry-gateway-lock,
body.asc-entry-gateway-lock{
	overflow:hidden !important;
	height:100% !important;
}

#ascx_17580.asc-gateway-locked .asc-entry-gateway{
	position:fixed !important;
	inset:0 !important;
	z-index:2147483000 !important;
	width:100vw !important;
	height:100vh !important;
	height:100svh !important;
	opacity:1 !important;
	visibility:visible !important;
	pointer-events:auto !important;
}

#ascx_17580.asc-gateway-locked .asc-reading-progress,
#ascx_17580.asc-gateway-locked .asc-section-dots,
#ascx_17580.asc-gateway-locked .asc-sticky-cta{
	display:none !important;
}

#ascx_17580.asc-gateway-locked > *:not(.asc-entry-gateway):not(style):not(script):not(link){
	pointer-events:none !important;
}

#ascx_17580.asc-gateway-unlocked .asc-entry-gateway{
	position:fixed !important;
	inset:0 !important;
	z-index:2147483000 !important;
	opacity:0 !important;
	visibility:hidden !important;
	pointer-events:none !important;
	transition:opacity .35s ease,visibility .35s ease !important;
}

/* ------------------------------
   7. Main cinematic intro
------------------------------ */

#ascx_17580 .asc-cinematic-intro,
#ascx_17580 .asc-cinematic-sticky{
	background:#071923 !important;
}

#ascx_17580 .asc-cinematic-intro{
	position:relative;
	min-height:480vh;
	overflow:visible;
	isolation:isolate;
	color:#fff;

	--asc-cine-bg-scale:1.08;
	--asc-cine-bg-x:0px;
	--asc-cine-bg-y:0px;
	--asc-cine-bg-opacity:1;
	--asc-cine-blur:0px;

	--asc-cine-phase-one-opacity:1;
	--asc-cine-phase-one-x:0px;
	--asc-cine-phase-one-y:0px;
	--asc-cine-phase-one-scale:1;

	--asc-cine-phase-two-opacity:0;
	--asc-cine-phase-two-x:62vw;
	--asc-cine-phase-two-y:70px;
	--asc-cine-phase-two-scale:.94;

	--asc-cine-phase-three-opacity:0;
	--asc-cine-phase-three-x:62vw;
	--asc-cine-phase-three-y:70px;
	--asc-cine-phase-three-scale:.94;

	--asc-cine-phase-four-opacity:0;
	--asc-cine-phase-four-x:62vw;
	--asc-cine-phase-four-y:70px;
	--asc-cine-phase-four-scale:.94;

	--asc-cine-panel-opacity:0;
	--asc-cine-panel-y:28px;
	--asc-cine-wash-opacity:0;
	--asc-cine-hint-opacity:1;
}

#ascx_17580 .asc-cinematic-intro::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:120px;
	z-index:3;
	pointer-events:none;
	background:linear-gradient(180deg,rgba(7,25,35,0),rgba(7,25,35,.72));
}

#ascx_17580 .asc-cinematic-sticky{
	position:sticky;
	top:0;
	height:100vh;
	height:100svh;
	min-height:640px;
	display:block;
	overflow:hidden;
	z-index:2;
}

#ascx_17580 .asc-cinematic-stage,
#ascx_17580 .asc-cinematic-media,
#ascx_17580 .asc-cinematic-gradient,
#ascx_17580 .asc-cinematic-vignette,
#ascx_17580 .asc-cine-white-wash,
#ascx_17580 .asc-cine-next-wash{
	position:absolute;
	inset:0;
	pointer-events:none;
}

#ascx_17580 .asc-cinematic-stage{
	z-index:1;
	overflow:hidden;
}

#ascx_17580 .asc-cinematic-media{
	inset:-8%;
	z-index:1;
	opacity:var(--asc-cine-bg-opacity);
	transform:translate3d(var(--asc-cine-bg-x),var(--asc-cine-bg-y),0) scale(var(--asc-cine-bg-scale));
	will-change:transform,opacity;
}

#ascx_17580 .asc-cinematic-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	filter:saturate(1.03) contrast(1.03) brightness(.76) blur(var(--asc-cine-blur));
}

#ascx_17580 .asc-cinematic-gradient{
	z-index:4;
	background:
		linear-gradient(90deg,rgba(7,25,35,.82),rgba(7,25,35,.48) 38%,rgba(7,25,35,.48) 62%,rgba(7,25,35,.82)),
		linear-gradient(180deg,rgba(7,25,35,.74),rgba(7,25,35,.34) 48%,rgba(7,25,35,.88));
}

#ascx_17580 .asc-cinematic-vignette{
	z-index:5;
	background:
		radial-gradient(circle at 18% 18%, rgba(123,166,58,.20), transparent 30%),
		radial-gradient(circle at 82% 24%, rgba(123,166,58,.12), transparent 28%),
		radial-gradient(circle at 50% 45%, transparent 0%, rgba(4,14,22,.58) 100%);
}

#ascx_17580 .asc-cine-white-wash,
#ascx_17580 .asc-cine-next-wash{
	display:none !important;
}

#ascx_17580 .asc-cinematic-content,
#ascx_17580 .asc-cine-phase-two,
#ascx_17580 .asc-cine-phase-three,
#ascx_17580 .asc-cine-phase-four{
	position:absolute;
	left:50%;
	top:50%;
	z-index:9;
	width:min(980px, calc(100% - 44px));
	margin:0;
	display:grid;
	justify-items:center;
	text-align:center;
	will-change:opacity,transform;
}

#ascx_17580 .asc-cinematic-content.asc-cine-phase-one{
	opacity:var(--asc-cine-phase-one-opacity);
	transform:translate3d(calc(-50% + var(--asc-cine-phase-one-x)),calc(-50% + var(--asc-cine-phase-one-y)),0) scale(var(--asc-cine-phase-one-scale));
}

#ascx_17580 .asc-cine-phase-two{
	opacity:var(--asc-cine-phase-two-opacity);
	transform:translate3d(calc(-50% + var(--asc-cine-phase-two-x)),calc(-50% + var(--asc-cine-phase-two-y)),0) scale(var(--asc-cine-phase-two-scale));
}

#ascx_17580 .asc-cine-phase-three{
	opacity:var(--asc-cine-phase-three-opacity);
	transform:translate3d(calc(-50% + var(--asc-cine-phase-three-x)),calc(-50% + var(--asc-cine-phase-three-y)),0) scale(var(--asc-cine-phase-three-scale));
}

#ascx_17580 .asc-cine-phase-four{
	width:min(980px, calc(100% - 44px));
	opacity:var(--asc-cine-phase-four-opacity);
	transform:translate3d(calc(-50% + var(--asc-cine-phase-four-x)),calc(-50% + var(--asc-cine-phase-four-y)),0) scale(var(--asc-cine-phase-four-scale));
	text-align:left;
	justify-items:stretch;
}

#ascx_17580 .asc-cine-logo-wrap{
	position:relative;
	width:min(330px,74vw);
	margin:0 auto 24px;
}

#ascx_17580 .asc-cine-logo{
	width:100%;
	height:auto;
	padding:18px;
	border-radius:28px;
	background:rgba(255,255,255,.96);
	box-shadow:0 20px 46px rgba(0,0,0,.25);
}

#ascx_17580 .asc-cine-kicker,
#ascx_17580 .asc-cine-hero-kicker{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin:0 0 18px;
	padding:10px 16px;
	border-radius:999px;
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.24);
	color:#fff;
	font-size:12px;
	font-weight:950;
	letter-spacing:.15em;
	text-transform:uppercase;
}

#ascx_17580 .asc-cinematic-content h2,
#ascx_17580 .asc-cine-phase-two h3,
#ascx_17580 .asc-cine-phase-three h1{
	margin:0 auto 14px;
	max-width:980px;
	color:#fff;
	font-size:clamp(34px,5.6vw,72px);
	line-height:.96;
	font-weight:950;
	letter-spacing:-.075em;
	text-wrap:balance;
	text-shadow:0 16px 42px rgba(0,0,0,.32);
}

#ascx_17580 .asc-cine-phase-two h3{
	font-size:clamp(24px,4vw,44px);
	line-height:1.02;
}

#ascx_17580 .asc-cinematic-content p,
#ascx_17580 .asc-cine-phase-two p,
#ascx_17580 .asc-cine-phase-three p{
	margin:0 auto;
	max-width:850px;
	color:rgba(255,255,255,.92);
	font-size:clamp(13.5px,1vw,16px);
	line-height:1.58;
	font-weight:600;
	text-wrap:balance;
}

#ascx_17580 .asc-cinematic-actions{
	margin-top:22px;
	display:flex;
	justify-content:center;
	gap:10px;
	flex-wrap:wrap;
}

#ascx_17580 .asc-cine-phase-two::before,
#ascx_17580 .asc-cine-phase-three::before{
	content:"";
	position:absolute;
	inset:-16px -18px;
	z-index:-1;
	border-radius:24px;
	background:rgba(255,255,255,.15);
	border:1px solid rgba(255,255,255,.24);
	box-shadow:0 18px 42px rgba(0,0,0,.22);
}





/* ------------------------------
   8. Intro detail cards
------------------------------ */

#ascx_17580 .asc-cine-client-shell,
#ascx_17580 .asc-cine-image-caption{
	background:rgba(255,255,255,.9);
	border:1px solid rgba(190,226,132,.42);
	box-shadow:0 14px 30px rgba(0,0,0,.15);
}

#ascx_17580 .asc-cine-client-shell{
	width:100%;
	max-width:760px;
	margin:18px auto 0;
	padding:12px;
	border-radius:20px;
}

#ascx_17580 .asc-cine-client-note{
	margin-top:10px;
	color:#5E7381;
	font-size:11px;
	line-height:1.35;
	font-weight:900;
	text-align:center;
}

#ascx_17580 .asc-cine-hero-pills{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:8px;
	margin:18px auto 0;
	max-width:760px;
}

#ascx_17580 .asc-cine-hero-pill{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 11px;
	border-radius:999px;
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.22);
	color:#fff;
	font-size:11.5px;
	font-weight:900;
}

#ascx_17580 .asc-cine-summary-grid{
	display:grid;
	grid-template-columns:minmax(0,.92fr) minmax(290px,.98fr);
	gap:16px;
	align-items:center;
}

#ascx_17580 .asc-cine-summary-card{
	padding:14px;
	border-radius:18px;
	background:rgba(255,255,255,.15);
	border:1px solid rgba(255,255,255,.24);
	box-shadow:0 16px 36px rgba(0,0,0,.20);
	color:#fff;
}

#ascx_17580 .asc-cine-summary-card h3{
	margin:0 0 8px;
	color:#fff;
	font-size:clamp(20px,1.8vw,28px);
	line-height:1.08;
	font-weight:950;
	letter-spacing:-.04em;
}

#ascx_17580 .asc-cine-summary-card p{
	margin:0;
	color:rgba(255,255,255,.86);
	font-size:13.5px;
	line-height:1.58;
	font-weight:600;
}

#ascx_17580 .asc-cine-stats{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	margin-top:14px;
}

#ascx_17580 .asc-cine-stat{
	padding:12px 11px;
	border-radius:16px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.18);
}

#ascx_17580 .asc-cine-stat strong{
	display:block;
	margin-bottom:5px;
	color:#fff;
	font-size:24px;
	line-height:1;
	font-weight:950;
}

#ascx_17580 .asc-cine-stat span{
	display:block;
	color:rgba(255,255,255,.78);
	font-size:11px;
	line-height:1.35;
	font-weight:800;
}

#ascx_17580 .asc-cine-trust{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:14px;
	opacity:var(--asc-cine-panel-opacity);
	transform:translate3d(0,var(--asc-cine-panel-y),0);
}

#ascx_17580 .asc-cine-trust span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 10px;
	border-radius:999px;
	background:rgba(123,166,58,.26);
	border:1px solid rgba(190,226,132,.40);
	color:#fff;
	font-size:11px;
	font-weight:950;
}

#ascx_17580 .asc-cine-image-card{
	position:relative;
	overflow:hidden;
	border-radius:18px;
	min-height:285px;
	background:#102432;
	border:1px solid rgba(255,255,255,.22);
	box-shadow:0 16px 34px rgba(0,0,0,.20);
}

#ascx_17580 .asc-cine-image-card img{
	width:100%;
	height:100%;
	min-height:285px;
	object-fit:cover;
	object-position:center;
	filter:saturate(1.04) contrast(1.03);
}

#ascx_17580 .asc-cine-image-card::after{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg,rgba(7,25,35,.08),rgba(7,25,35,.66)),
		linear-gradient(90deg,rgba(7,25,35,.64),transparent 55%);
	pointer-events:none;
}

#ascx_17580 .asc-cine-image-caption{
	position:absolute;
	left:14px;
	right:14px;
	bottom:14px;
	z-index:2;
	padding:12px;
	border-radius:14px;
	background:rgba(255,255,255,.94);
}

#ascx_17580 .asc-cine-image-caption strong{
	display:block;
	margin-bottom:5px;
	color:#193041;
	font-size:13.5px;
	font-weight:900;
}

#ascx_17580 .asc-cine-image-caption span{
	display:block;
	color:#536977;
	font-size:11.5px;
	line-height:1.4;
	font-weight:700;
}

#ascx_17580 .asc-cinematic-scroll-hint{
	position:absolute;
	left:50%;
	bottom:26px;
	z-index:10;
	transform:translateX(-50%);
	color:rgba(255,255,255,.84);
	font-size:12px;
	font-weight:950;
	letter-spacing:.15em;
	text-transform:uppercase;
	opacity:var(--asc-cine-hint-opacity);
	pointer-events:none;
	text-shadow:0 8px 18px rgba(0,0,0,.4);
}

#ascx_17580 .asc-cinematic-scroll-hint::after{
	content:"";
	display:block;
	width:2px;
	height:34px;
	margin:10px auto 0;
	border-radius:999px;
	background:linear-gradient(180deg,#fff,rgba(255,255,255,0));
	animation:ascCineHint 1.25s ease-in-out infinite;
}

@keyframes ascCineHint{
	0%,100%{
		transform:translateY(0);
		opacity:.42;
	}
	50%{
		transform:translateY(8px);
		opacity:1;
	}
}

/* ------------------------------
   9. Green proof section
------------------------------ */

#ascx_17580 .asc-proof{
	position:relative;
	overflow:hidden;
	padding-top:72px;
	padding-bottom:72px;
	background:var(--asc-grad-green);
}

#ascx_17580 .asc-proof::before{
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 35%);
	pointer-events:none;
}

#ascx_17580 .asc-proof .asc-heading h2,
#ascx_17580 .asc-proof .asc-heading p{
	color:#fff;
}

#ascx_17580 .asc-dark-card{
	padding:28px;
	border-radius:22px;
	background:rgba(255,255,255,.13);
	border:1px solid rgba(255,255,255,.20);
	box-shadow:0 12px 24px rgba(52,83,15,.10);
	color:#fff;
}

#ascx_17580 .asc-dark-card h3{
	margin:0 0 14px;
	color:#fff;
	font-size:21px;
	font-weight:900;
}

#ascx_17580 .asc-dark-card p,
#ascx_17580 .asc-dark-card ul{
	color:rgba(255,255,255,.96);
	font-size:15px;
	line-height:1.75;
}

#ascx_17580 .asc-dark-card ul{
	margin:0;
	padding-left:18px;
}

/* ------------------------------
   11. Trust constellation
------------------------------ */

#ascx_17580 .asc-trust-constellation{
	position:relative !important;
	padding:72px 0 78px !important;
	background:
		radial-gradient(circle at 12% 16%, rgba(224,90,97,.05), transparent 30%),
		radial-gradient(circle at 88% 18%, rgba(123,166,58,.07), transparent 32%),
		linear-gradient(180deg,#F8FAFB 0%,#FFFFFF 52%,#F8FAFB 100%) !important;
	overflow:hidden !important;
	isolation:isolate !important;
	--asc-trust-progress:0;
	--asc-trust-spin:0deg;
}

#ascx_17580 .asc-trust-bg{
	position:absolute !important;
	inset:0 !important;
	z-index:0 !important;
	pointer-events:none !important;
	background:
		radial-gradient(circle at 18% 22%, rgba(224,90,97,.06), transparent 34%),
		radial-gradient(circle at 82% 18%, rgba(123,166,58,.08), transparent 34%) !important;
}

#ascx_17580 .asc-trust-stage{
	position:relative !important;
	min-height:620px !important;
	display:grid !important;
	place-items:center !important;
	perspective:1200px !important;
}

#ascx_17580 .asc-trust-stage::before,
#ascx_17580 .asc-trust-stage::after{
	content:"" !important;
	position:absolute !important;
	left:50% !important;
	top:50% !important;
	border-radius:50% !important;
	transform:
		translate(-50%,-50%)
		rotate(var(--asc-trust-spin))
		scale(calc(.94 + (var(--asc-trust-progress) * .08))) !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-trust-stage::before{
	width:min(720px,82vw) !important;
	height:min(720px,82vw) !important;
	border:1px solid rgba(231,237,242,.86) !important;
	opacity:.72 !important;
}

#ascx_17580 .asc-trust-stage::after{
	width:min(460px,66vw) !important;
	height:min(460px,66vw) !important;
	border:1px dashed rgba(123,166,58,.22) !important;
	opacity:.68 !important;
}

#ascx_17580 .asc-trust-core{
	position:relative !important;
	z-index:4 !important;
	width:min(360px,88vw) !important;
	min-height:245px !important;
	display:grid !important;
	place-items:center !important;
	text-align:center !important;
	opacity:calc(.72 + (var(--asc-trust-progress) * .28)) !important;
	transform:translate3d(0, calc((1 - var(--asc-trust-progress)) * 18px), 0) scale(calc(.96 + (var(--asc-trust-progress) * .04))) !important;
}

#ascx_17580 .asc-trust-core-ring,
#ascx_17580 .asc-trust-node,
#ascx_17580 .asc-trust-footer{
	background:#FFFFFF !important;
	border:1px solid #E7EDF2 !important;
	box-shadow:0 9px 24px rgba(16,24,40,.055) !important;
}

#ascx_17580 .asc-trust-core-ring{
	position:absolute !important;
	inset:0 !important;
	border-radius:24px !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-trust-core-ring::before,
#ascx_17580 .asc-trust-node::before,
#ascx_17580 .asc-trust-footer::before{
	content:"" !important;
	position:absolute !important;
	top:0 !important;
	left:0 !important;
	right:0 !important;
	height:4px !important;
	background:linear-gradient(90deg,#E05A61 0%,#F06F76 100%) !important;
}

#ascx_17580 .asc-trust-core-inner{
	position:relative !important;
	z-index:2 !important;
	padding:32px 28px !important;
}

#ascx_17580 .asc-trust-core-kicker{
	display:inline-flex !important;
	margin-bottom:14px !important;
	padding:8px 12px !important;
	border-radius:999px !important;
	background:#FDF1F2 !important;
	border:1px solid #F3CDD0 !important;
	color:#C4555D !important;
	font-size:11px !important;
	font-weight:800 !important;
	letter-spacing:.10em !important;
	text-transform:uppercase !important;
}

#ascx_17580 .asc-trust-core strong{
	display:block !important;
	margin-bottom:10px !important;
	color:#223746 !important;
	font-size:clamp(27px,2.4vw,36px) !important;
	line-height:1.05 !important;
	font-weight:800 !important;
}

#ascx_17580 .asc-trust-core p{
	margin:0 !important;
	color:#5A6F7D !important;
	font-size:15px !important;
	line-height:1.75 !important;
}

#ascx_17580 .asc-trust-nodes{
	position:absolute !important;
	inset:0 !important;
	z-index:5 !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-trust-node{
	--trust-current-x:0px;
	--trust-current-y:0px;
	--trust-current-scale:.86;
	--trust-current-opacity:0;
	--trust-current-blur:5px;

	position:absolute !important;
	left:50% !important;
	top:50% !important;
	width:210px !important;
	min-height:128px !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	justify-content:center !important;
	gap:7px !important;
	padding:20px !important;
	border-radius:22px !important;
	text-decoration:none !important;
	pointer-events:auto !important;
	opacity:var(--trust-current-opacity) !important;
	filter:blur(var(--trust-current-blur)) !important;
	transform:
		translate3d(calc(-50% + var(--trust-current-x)), calc(-50% + var(--trust-current-y)), 0)
		scale(var(--trust-current-scale)) !important;
	will-change:transform, opacity, filter !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-trust-node-wide{
	width:250px !important;
}

#ascx_17580 .asc-trust-node:hover{
	border-color:#DCE5EB !important;
	box-shadow:0 14px 34px rgba(16,24,40,.075) !important;
}

#ascx_17580 .asc-trust-icon{
	width:44px !important;
	height:44px !important;
	display:grid !important;
	place-items:center !important;
	border-radius:13px !important;
	background:#F4F7F9 !important;
	border:1px solid #E7EDF2 !important;
	color:#45606F !important;
	font-size:0 !important;
}

#ascx_17580 .asc-trust-icon svg{
	width:20px !important;
	height:20px !important;
	display:block !important;
	stroke:currentColor !important;
	fill:none !important;
	stroke-width:1.9 !important;
	stroke-linecap:round !important;
	stroke-linejoin:round !important;
}

#ascx_17580 .asc-trust-name{
	display:block !important;
	color:#223746 !important;
	font-size:18px !important;
	line-height:1.18 !important;
	font-weight:800 !important;
}

#ascx_17580 .asc-trust-link{
	display:inline-flex !important;
	align-items:center !important;
	gap:6px !important;
	margin-top:2px !important;
	color:#244960 !important;
	font-size:13px !important;
	font-weight:800 !important;
}

#ascx_17580 .asc-trust-link-arrow{
	display:inline-flex !important;
	margin-left:4px !important;
	color:#E05A61 !important;
	transition:transform .16s ease !important;
}

#ascx_17580 .asc-trust-node:hover .asc-trust-link{
	color:#E05A61 !important;
}

#ascx_17580 .asc-trust-node:hover .asc-trust-link-arrow{
	transform:translateX(3px) !important;
}

#ascx_17580 .asc-trust-footer{
	width:min(940px,100%) !important;
	margin:36px auto 0 !important;
	padding:22px 24px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:18px !important;
	border-radius:22px !important;
	position:relative !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-trust-footer strong{
	display:block !important;
	margin-bottom:6px !important;
	color:#223746 !important;
	font-size:18px !important;
	line-height:1.25 !important;
	font-weight:800 !important;
}

#ascx_17580 .asc-trust-footer span{
	display:block !important;
	color:#5A6F7D !important;
	font-size:14px !important;
	line-height:1.6 !important;
}

/* ------------------------------
   12. News and hygiene article sections
------------------------------ */

#ascx_17580 #asc-news,
#ascx_17580 #asc-article-stack.asc-dual-stack{
	position:relative !important;
	background:
		radial-gradient(circle at 12% 18%, rgba(255,255,255,.08), transparent 30%),
		radial-gradient(circle at 88% 18%, rgba(255,255,255,.06), transparent 32%),
		linear-gradient(135deg,#13332c 0%, #1f5a49 52%, #83c53f 100%) !important;
	color:#fff !important;
}

#ascx_17580 #asc-news{
	padding:86px 0 96px !important;
	border-bottom-left-radius:42px !important;
	border-bottom-right-radius:42px !important;
	box-shadow:0 20px 50px rgba(18,51,44,.16) !important;
	overflow:hidden !important;
	isolation:isolate !important;
}

#ascx_17580 #asc-news .asc-heading .asc-chip,
#ascx_17580 #asc-hygiene-articles .asc-heading .asc-chip{
	background:rgba(255,255,255,.12) !important;
	border:1px solid rgba(255,255,255,.18) !important;
	color:#FFFFFF !important;
}

#ascx_17580 #asc-news .asc-heading h2,
#ascx_17580 #asc-news .asc-heading p,
#ascx_17580 #asc-hygiene-articles .asc-heading h2,
#ascx_17580 #asc-hygiene-articles .asc-heading p{
	color:#FFFFFF !important;
}

#ascx_17580 #asc-news .asc-post-card,
#ascx_17580 #asc-legislation-updates .asc-post-card,
#ascx_17580 #asc-recent-articles .asc-post-card{
	background:#FFFFFF !important;
	border-color:rgba(255,255,255,.24) !important;
	box-shadow:0 16px 36px rgba(10,28,24,.17) !important;
}

#ascx_17580 #asc-news .asc-post-card h3,
#ascx_17580 #asc-news .asc-post-card h3 a,
#ascx_17580 #asc-legislation-updates .asc-post-card h3,
#ascx_17580 #asc-legislation-updates .asc-post-card h3 a,
#ascx_17580 #asc-recent-articles .asc-post-card h3,
#ascx_17580 #asc-recent-articles .asc-post-card h3 a{
	color:#223746 !important;
}

#ascx_17580 #asc-news .asc-card-link,
#ascx_17580 #asc-legislation-updates .asc-card-link,
#ascx_17580 #asc-recent-articles .asc-card-link{
	color:#5F812D !important;
}

#ascx_17580 #asc-hygiene-articles{
	position:relative !important;
	padding:86px 0 96px !important;
	background:linear-gradient(135deg,#3A1117 0%, #8F2630 52%, #E05A61 100%) !important;
	border-bottom-left-radius:42px !important;
	border-bottom-right-radius:42px !important;
	box-shadow:0 20px 50px rgba(80,18,26,.18) !important;
	overflow:hidden !important;
	isolation:isolate !important;
	color:#fff !important;
}

#ascx_17580 #asc-hygiene-articles .asc-post-card{
	background:#FFFFFF !important;
	border-color:rgba(255,255,255,.22) !important;
	box-shadow:0 18px 40px rgba(50,10,16,.18) !important;
}

#ascx_17580 #asc-hygiene-articles .asc-post-card::before{
	background:linear-gradient(90deg,#E05A61 0%, #F06F76 100%) !important;
}

#ascx_17580 #asc-hygiene-articles .asc-post-card h3,
#ascx_17580 #asc-hygiene-articles .asc-post-card h3 a{
	color:#223746 !important;
}

#ascx_17580 #asc-hygiene-articles .asc-card-link{
	color:#B13D4B !important;
}

/* ------------------------------
   13. Training matrix
------------------------------ */

#ascx_17580 #asc-training.asc-training-matrix{
	position:relative !important;
	min-height:auto !important;
	height:auto !important;
	padding:86px 0 96px !important;
	overflow:hidden !important;
	isolation:isolate !important;
	background:#FFFFFF !important;
}

#ascx_17580 #asc-training .asc-training-matrix-bg{
	display:none !important;
}

#ascx_17580 #asc-training > .asc-container.wide{
	min-height:0 !important;
}

#ascx_17580 #asc-training .asc-training-sticky{
	position:relative !important;
	top:auto !important;
	height:auto !important;
	min-height:auto !important;
	padding:0 !important;
	display:block !important;
	overflow:visible !important;
	transform:none !important;
}

#ascx_17580 #asc-training .asc-training-matrix-heading{
	max-width:980px !important;
	margin:0 auto 42px !important;
	opacity:1 !important;
	transform:none !important;
	text-align:center !important;
}

#ascx_17580 #asc-training .asc-training-matrix-heading .asc-chip{
	background:#F7FAF2 !important;
	color:#5F812D !important;
	border:1px solid #D9E8C3 !important;
	box-shadow:none !important;
	font-size:10px !important;
	padding:8px 13px !important;
}

#ascx_17580 #asc-training .asc-training-matrix-heading h2{
	margin:14px auto 12px !important;
	max-width:880px !important;
	color:#163247 !important;
	font-size:clamp(30px,3vw,46px) !important;
	line-height:1.06 !important;
	letter-spacing:-.055em !important;
	font-weight:950 !important;
}

#ascx_17580 #asc-training .asc-training-matrix-heading p{
	max-width:780px !important;
	margin:0 auto !important;
	color:#647887 !important;
	font-size:15.5px !important;
	line-height:1.7 !important;
	font-weight:600 !important;
}

#ascx_17580 #asc-training .asc-training-shell{
	display:grid !important;
	grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr) !important;
	gap:30px !important;
	align-items:start !important;
	overflow:visible !important;
	perspective:none !important;
	transform-style:flat !important;
}

#ascx_17580 #asc-training .asc-training-control-panel{
	position:sticky !important;
	top:24px !important;
	min-height:auto !important;
	padding:30px !important;
	border-radius:30px !important;
	overflow:hidden !important;
	transform:none !important;
	align-self:start !important;
	background:
		radial-gradient(circle at 100% 0%, rgba(123,166,58,.10), transparent 34%),
		linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%) !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 18px 42px rgba(16,24,40,.075) !important;
}

#ascx_17580 #asc-training .asc-training-control-glow{
	display:none !important;
}

#ascx_17580 #asc-training .asc-training-control-kicker{
	display:inline-flex !important;
	margin-bottom:16px !important;
	padding:8px 13px !important;
	border-radius:999px !important;
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	font-size:10px !important;
	font-weight:950 !important;
	letter-spacing:.12em !important;
	text-transform:uppercase !important;
}

#ascx_17580 #asc-training .asc-training-control-panel h3{
	margin:0 0 12px !important;
	color:#163247 !important;
	font-size:clamp(24px,2vw,32px) !important;
	line-height:1.08 !important;
	letter-spacing:-.045em !important;
	font-weight:950 !important;
}

#ascx_17580 #asc-training .asc-training-control-panel p{
	margin:0 !important;
	color:#607684 !important;
	font-size:14.5px !important;
	line-height:1.7 !important;
	font-weight:600 !important;
}

#ascx_17580 #asc-training .asc-training-control-stats{
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:10px !important;
	margin:22px 0 18px !important;
}

#ascx_17580 #asc-training .asc-training-control-stats div{
	padding:14px 12px !important;
	border-radius:16px !important;
	background:#F8FAFB !important;
	border:1px solid #E2EAF0 !important;
}

#ascx_17580 #asc-training .asc-training-control-stats strong{
	display:block !important;
	margin-bottom:6px !important;
	color:#163247 !important;
	font-size:25px !important;
	line-height:1 !important;
	font-weight:950 !important;
}

#ascx_17580 #asc-training .asc-training-control-stats span{
	display:block !important;
	color:#6A7D89 !important;
	font-size:11px !important;
	line-height:1.35 !important;
	font-weight:850 !important;
}

#ascx_17580 #asc-training .asc-training-focus-tags{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:8px !important;
	margin-bottom:22px !important;
}

#ascx_17580 #asc-training .asc-training-focus-tags span{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:8px 11px !important;
	border-radius:999px !important;
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	font-size:11px !important;
	font-weight:900 !important;
}

/* ------------------------------
   14. Training card deck
------------------------------ */

#ascx_17580 #asc-training .asc-training-carddeck{
	position:relative !important;
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	gap:18px !important;
	width:100% !important;
	height:auto !important;
	min-height:0 !important;
	overflow:visible !important;
	perspective:none !important;
	transform-style:flat !important;
	counter-reset:asc-course-counter !important;
}

#ascx_17580 #asc-training .asc-training-carddeck::before,
#ascx_17580 #asc-training .asc-training-carddeck::after{
	display:none !important;
	content:none !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-card{
	position:relative !important;
	left:auto !important;
	top:auto !important;
	z-index:1 !important;
	width:auto !important;
	height:auto !important;
	min-height:100% !important;
	display:flex !important;
	flex-direction:column !important;
	padding:0 !important;
	border-radius:24px !important;
	background:#FFFFFF !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 12px 28px rgba(16,24,40,.06) !important;
	opacity:1 !important;
	filter:none !important;
	transform:none !important;
	counter-increment:asc-course-counter !important;
	overflow:hidden !important;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-card::before{
	content:"" !important;
	position:absolute !important;
	left:18px !important;
	right:18px !important;
	top:0 !important;
	height:4px !important;
	border-radius:0 0 999px 999px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
	z-index:4 !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-card::after{
	content:"0" counter(asc-course-counter) !important;
	position:absolute !important;
	right:14px !important;
	top:14px !important;
	z-index:5 !important;
	padding:7px 10px !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.94) !important;
	border:1px solid rgba(220,232,238,.95) !important;
	color:#5F812D !important;
	font-size:10px !important;
	line-height:1 !important;
	font-weight:950 !important;
	letter-spacing:.08em !important;
	box-shadow:0 7px 14px rgba(16,24,40,.09) !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-image{
	display:block !important;
	width:100% !important;
	height:auto !important;
	aspect-ratio:16 / 10 !important;
	min-height:0 !important;
	max-height:none !important;
	overflow:hidden !important;
	background:#EEF3F6 !important;
	border-bottom:1px solid #E7EDF2 !important;
	border-radius:24px 24px 0 0 !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-image img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	object-position:center !important;
	filter:saturate(1.03) contrast(1.02) brightness(.98) !important;
	transform:none !important;
	transition:transform .2s ease !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-card:hover .asc-post-image img{
	transform:scale(1.035) !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-card h3{
	margin:16px 16px 12px !important;
	min-height:55px !important;
	color:#1D2D3A !important;
	font-size:14px !important;
	line-height:1.32 !important;
	font-weight:900 !important;
	letter-spacing:-.025em !important;
	display:-webkit-box !important;
	-webkit-line-clamp:3 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-card-link{
	margin:auto 16px 16px !important;
	padding-top:12px !important;
	border-top:1px solid #EDF2F5 !important;
	color:#5F812D !important;
	font-size:12.5px !important;
	line-height:1.3 !important;
	font-weight:950 !important;
	text-decoration:none !important;
}

#ascx_17580 #asc-training .asc-training-carddeck .asc-post-card:hover{
	transform:translateY(-5px) !important;
	border-color:#D6E6C2 !important;
	box-shadow:0 18px 40px rgba(16,24,40,.09) !important;
}

/* ------------------------------
   15. Online training options
------------------------------ */

#ascx_17580 #asc-online-training-options.asc-training-options-compact-section{
	position:relative !important;
	padding:92px 0 98px !important;
	overflow:hidden !important;
	isolation:isolate !important;
	background:
		radial-gradient(circle at 10% 16%, rgba(123,166,58,.12), transparent 30%),
		radial-gradient(circle at 90% 20%, rgba(224,90,97,.07), transparent 30%),
		linear-gradient(180deg,#F8FAFB 0%,#FFFFFF 48%,#F6FAF0 100%) !important;
}

#ascx_17580 #asc-online-training-options .asc-training-options-compact-bg{
	position:absolute !important;
	inset:0 !important;
	z-index:0 !important;
	background-image:var(--wpr-bg-7d2d64e8-b402-41b1-95d3-a256bc00a709) !important;
	background-size:cover !important;
	background-position:center center !important;
	background-repeat:no-repeat !important;
	opacity:.06 !important;
	transform:scale(1.02) !important;
	pointer-events:none !important;
}

#ascx_17580 #asc-online-training-options .asc-container{
	position:relative !important;
	z-index:3 !important;
}

#ascx_17580 #asc-online-training-options .asc-training-options-compact-card{
	position:relative !important;
	width:min(1120px, calc(100% - 64px)) !important;
	margin:0 auto !important;
	padding:42px 46px 38px !important;
	border-radius:34px !important;
	text-align:center !important;
	background:#FFFFFF !important;
	border:1px solid rgba(220,232,238,.98) !important;
	box-shadow:0 20px 48px rgba(16,24,40,.08) !important;
	overflow:hidden !important;
}

#ascx_17580 #asc-online-training-options .asc-training-options-compact-card::before{
	content:"" !important;
	position:absolute !important;
	left:40px !important;
	right:40px !important;
	top:0 !important;
	height:4px !important;
	border-radius:0 0 999px 999px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
}

#ascx_17580 #asc-online-training-options .asc-training-options-compact-heading{
	max-width:880px !important;
	margin:0 auto !important;
}

#ascx_17580 #asc-online-training-options .asc-training-options-compact-heading .asc-chip{
	background:#F7FAF2 !important;
	color:#5F812D !important;
	border:1px solid #D9E8C3 !important;
	box-shadow:none !important;
	font-size:10px !important;
	padding:8px 13px !important;
}

#ascx_17580 #asc-online-training-options .asc-training-options-compact-heading h2{
	margin:15px auto 12px !important;
	max-width:820px !important;
	color:#163247 !important;
	font-size:clamp(32px,3.2vw,48px) !important;
	line-height:1.04 !important;
	letter-spacing:-.055em !important;
	font-weight:950 !important;
}

#ascx_17580 #asc-online-training-options .asc-training-options-compact-heading p{
	margin:0 auto !important;
	max-width:790px !important;
	color:#5A707D !important;
	font-size:15px !important;
	line-height:1.7 !important;
	font-weight:600 !important;
}

#ascx_17580 #asc-online-training-options .asc-training-slider-inline{
	position:relative !important;
	margin:30px auto 0 !important;
	padding:24px 28px !important;
	width:min(940px, 100%) !important;
	border-radius:28px !important;
	background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFB 100%) !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 14px 32px rgba(16,24,40,.065) !important;
	overflow:hidden !important;
}

#ascx_17580 #asc-online-training-options .asc-training-slider-inline .metaslider img,
#ascx_17580 #asc-online-training-options .asc-training-slider-inline .metaslider .slides img{
	display:block !important;
	margin-left:auto !important;
	margin-right:auto !important;
	width:auto !important;
	max-width:100% !important;
	max-height:170px !important;
	object-fit:contain !important;
	border-radius:18px !important;
	box-shadow:
		0 10px 22px rgba(16,24,40,.08),
		0 0 0 1px rgba(220,232,238,.75) !important;
}

#ascx_17580 #asc-online-training-options .caption-wrap,
#ascx_17580 #asc-online-training-options .caption,
#ascx_17580 #asc-online-training-options .metaslider .caption,
#ascx_17580 #asc-online-training-options .flex-direction-nav{
	display:none !important;
}

#ascx_17580 #asc-online-training-options .flex-control-nav{
	position:relative !important;
	margin:18px 0 0 !important;
	padding:0 !important;
	display:flex !important;
	justify-content:center !important;
	align-items:center !important;
	gap:8px !important;
}

#ascx_17580 #asc-online-training-options .flex-control-nav a{
	display:block !important;
	width:8px !important;
	height:8px !important;
	border-radius:999px !important;
	background:#CAD6DE !important;
	text-indent:-9999px !important;
	overflow:hidden !important;
	transition:width .16s ease, background .16s ease !important;
}

#ascx_17580 #asc-online-training-options .flex-control-nav a.flex-active{
	width:28px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
}

#ascx_17580 #asc-online-training-options .asc-training-slider-note{
	margin:20px auto 0 !important;
	width:fit-content !important;
	max-width:100% !important;
	padding:10px 16px !important;
	border-radius:999px !important;
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	font-size:12px !important;
	line-height:1.45 !important;
	font-weight:850 !important;
}

/* ------------------------------
   16. Audit hero flow
------------------------------ */

#ascx_17580 .asc-audit-hero-flow{
	position:relative !important;
	min-height:420vh !important;
	background:#071923 !important;
	overflow:visible !important;
	isolation:isolate !important;
	color:#fff !important;

	--asc-audit-bg-scale:1.08;
	--asc-audit-bg-x:0px;
	--asc-audit-bg-y:0px;
	--asc-audit-bg-opacity:1;
	--asc-audit-bg-blur:0px;

	--asc-audit-phase-one-opacity:1;
	--asc-audit-phase-one-x:0px;
	--asc-audit-phase-one-y:0px;
	--asc-audit-phase-one-scale:1;

	--asc-audit-phase-two-opacity:0;
	--asc-audit-phase-two-x:62vw;
	--asc-audit-phase-two-y:70px;
	--asc-audit-phase-two-scale:.94;

	--asc-audit-phase-three-opacity:0;
	--asc-audit-phase-three-x:62vw;
	--asc-audit-phase-three-y:70px;
	--asc-audit-phase-three-scale:.94;

	--asc-audit-wash-opacity:0;
	--asc-audit-hint-opacity:1;
}

#ascx_17580 .asc-audit-hero-flow::after{
	content:"" !important;
	position:absolute !important;
	left:0 !important;
	right:0 !important;
	bottom:0 !important;
	height:120px !important;
	z-index:3 !important;
	pointer-events:none !important;
	background:linear-gradient(180deg,rgba(7,25,35,0),rgba(7,25,35,.72)) !important;
}

#ascx_17580 .asc-audit-flow-sticky{
	position:sticky !important;
	top:0 !important;
	height:100vh !important;
	height:100svh !important;
	min-height:660px !important;
	overflow:hidden !important;
	background:#071923 !important;
	z-index:2 !important;
}

#ascx_17580 .asc-audit-flow-stage,
#ascx_17580 .asc-audit-flow-media,
#ascx_17580 .asc-audit-flow-gradient,
#ascx_17580 .asc-audit-flow-vignette,
#ascx_17580 .asc-audit-flow-wash{
	position:absolute !important;
	inset:0 !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-audit-flow-stage{
	z-index:1 !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-audit-flow-media{
	inset:-7% !important;
	z-index:1 !important;
	opacity:var(--asc-audit-bg-opacity) !important;
	transform:translate3d(var(--asc-audit-bg-x), var(--asc-audit-bg-y), 0) scale(var(--asc-audit-bg-scale)) !important;
}

#ascx_17580 .asc-audit-flow-media img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	object-position:center center !important;
	filter:saturate(1.03) contrast(1.03) brightness(.74) blur(var(--asc-audit-bg-blur)) !important;
}

#ascx_17580 .asc-audit-flow-gradient{
	z-index:4 !important;
	background:
		linear-gradient(90deg,rgba(7,25,35,.82),rgba(7,25,35,.48) 38%,rgba(7,25,35,.48) 62%,rgba(7,25,35,.82)),
		linear-gradient(180deg,rgba(7,25,35,.74),rgba(7,25,35,.34) 48%,rgba(7,25,35,.88)) !important;
}

#ascx_17580 .asc-audit-flow-vignette{
	z-index:5 !important;
	background:
		radial-gradient(circle at 18% 18%, rgba(123,166,58,.20), transparent 30%),
		radial-gradient(circle at 82% 24%, rgba(123,166,58,.12), transparent 28%),
		radial-gradient(circle at 50% 45%, transparent 0%, rgba(4,14,22,.60) 100%) !important;
}

#ascx_17580 .asc-audit-flow-wash{
	display:none !important;
}

#ascx_17580 .asc-audit-flow-phase{
	position:absolute !important;
	left:50% !important;
	top:50% !important;
	z-index:9 !important;
	width:min(1040px, calc(100% - 44px)) !important;
	margin:0 !important;
	display:grid !important;
	justify-items:center !important;
	text-align:center !important;
	will-change:opacity, transform !important;
}

#ascx_17580 .asc-audit-flow-phase::before{
	content:"" !important;
	position:absolute !important;
	inset:-18px -20px !important;
	z-index:-1 !important;
	border-radius:28px !important;
	background:rgba(255,255,255,.15) !important;
	border:1px solid rgba(255,255,255,.24) !important;
	box-shadow:0 20px 50px rgba(0,0,0,.24) !important;
}

#ascx_17580 .asc-audit-flow-phase-one{
	opacity:var(--asc-audit-phase-one-opacity) !important;
	transform:translate3d(calc(-50% + var(--asc-audit-phase-one-x)), calc(-50% + var(--asc-audit-phase-one-y)), 0) scale(var(--asc-audit-phase-one-scale)) !important;
}

#ascx_17580 .asc-audit-flow-phase-two{
	opacity:var(--asc-audit-phase-two-opacity) !important;
	transform:translate3d(calc(-50% + var(--asc-audit-phase-two-x)), calc(-50% + var(--asc-audit-phase-two-y)), 0) scale(var(--asc-audit-phase-two-scale)) !important;
}

#ascx_17580 .asc-audit-flow-phase-three{
	width:min(1080px, calc(100% - 44px)) !important;
	justify-items:stretch !important;
	text-align:left !important;
	opacity:var(--asc-audit-phase-three-opacity) !important;
	transform:translate3d(calc(-50% + var(--asc-audit-phase-three-x)), calc(-50% + var(--asc-audit-phase-three-y)), 0) scale(var(--asc-audit-phase-three-scale)) !important;
}

#ascx_17580 .asc-audit-flow-phase .asc-chip{
	background:rgba(255,255,255,.14) !important;
	border-color:rgba(190,226,132,.32) !important;
	color:#FFFFFF !important;
	box-shadow:0 8px 18px rgba(0,0,0,.12) !important;
	font-size:9.5px !important;
	padding:7px 12px !important;
	line-height:1 !important;
	letter-spacing:.11em !important;
}

#ascx_17580 .asc-audit-flow-phase h2{
	margin:9px auto 8px !important;
	max-width:920px !important;
	color:#fff !important;
	font-size:clamp(24px, 2.35vw, 38px) !important;
	line-height:1.06 !important;
	letter-spacing:-.05em !important;
	font-weight:950 !important;
	text-shadow:0 14px 36px rgba(0,0,0,.34) !important;
}

#ascx_17580 .asc-audit-flow-phase p{
	margin:0 auto !important;
	max-width:820px !important;
	color:rgba(255,255,255,.88) !important;
	font-size:13px !important;
	line-height:1.48 !important;
	font-weight:650 !important;
}

#ascx_17580 .asc-audit-review-shell{
	width:min(820px, 100%) !important;
	margin:22px auto 0 !important;
	padding:16px !important;
	border-radius:22px !important;
	background:rgba(255,255,255,.88) !important;
	border:1px solid rgba(190,226,132,.42) !important;
	box-shadow:0 16px 36px rgba(0,0,0,.18) !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-audit-flow-cardgrid{
	display:grid !important;
	grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
	gap:12px !important;
	width:min(880px, 100%) !important;
	margin:22px auto 0 !important;
}

#ascx_17580 .asc-audit-flow-card{
	position:relative !important;
	min-height:136px !important;
	padding:15px !important;
	border-radius:18px !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(123,166,58,.34) !important;
	box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
	overflow:hidden !important;
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}

#ascx_17580 .asc-audit-flow-card::before{
	content:"" !important;
	position:absolute !important;
	top:0 !important;
	left:0 !important;
	right:0 !important;
	height:3px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
}

#ascx_17580 .asc-audit-flow-card:hover{
	transform:translateY(-3px) !important;
	border-color:rgba(140,185,74,.58) !important;
	box-shadow:0 18px 38px rgba(0,0,0,.22) !important;
}

#ascx_17580 .asc-audit-flow-card .asc-icon,
#ascx_17580 .asc-audit-about-card .asc-icon{
	width:40px !important;
	height:40px !important;
	min-width:40px !important;
	display:grid !important;
	place-items:center !important;
	margin:0 0 12px !important;
	border-radius:13px !important;
	background:rgba(255,255,255,.94) !important;
	border:1px solid rgba(190,226,132,.55) !important;
	color:#5F812D !important;
	box-shadow:0 8px 16px rgba(0,0,0,.11) !important;
	font-size:0 !important;
}

#ascx_17580 .asc-audit-flow-card .asc-icon svg,
#ascx_17580 .asc-audit-about-card .asc-icon svg{
	width:18px !important;
	height:18px !important;
	display:block !important;
	stroke:currentColor !important;
	fill:none !important;
	stroke-width:2 !important;
	stroke-linecap:round !important;
	stroke-linejoin:round !important;
}

#ascx_17580 .asc-audit-flow-card h3,
#ascx_17580 .asc-audit-about-card h3{
	margin:0 0 6px !important;
	color:#fff !important;
	font-weight:950 !important;
	text-shadow:0 8px 18px rgba(0,0,0,.24) !important;
}

#ascx_17580 .asc-audit-flow-card h3{
	font-size:14px !important;
	line-height:1.15 !important;
}

#ascx_17580 .asc-audit-flow-card p{
	margin:0 !important;
	color:rgba(255,255,255,.78) !important;
	font-size:10.8px !important;
	line-height:1.38 !important;
	font-weight:650 !important;
	text-align:left !important;
}

#ascx_17580 .asc-audit-flow-cta{
	width:min(760px, 100%) !important;
	margin:16px auto 0 !important;
	padding:12px 14px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:14px !important;
	border-radius:17px !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(123,166,58,.34) !important;
	box-shadow:0 14px 32px rgba(0,0,0,.18) !important;
}

#ascx_17580 .asc-audit-flow-cta strong{
	display:block !important;
	color:#fff !important;
	font-size:13px !important;
	line-height:1.25 !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-audit-flow-cta span{
	display:block !important;
	margin-top:3px !important;
	color:rgba(255,255,255,.76) !important;
	font-size:10.8px !important;
	line-height:1.35 !important;
	font-weight:650 !important;
}

/* ------------------------------
   17. Audit about split
------------------------------ */

#ascx_17580 .asc-audit-about-split{
	display:grid !important;
	grid-template-columns:minmax(0, 1fr) minmax(320px, .9fr) !important;
	gap:16px !important;
	align-items:stretch !important;
	margin-top:20px !important;
}

#ascx_17580 .asc-audit-about-media{
	position:relative !important;
	min-height:300px !important;
	border-radius:20px !important;
	overflow:hidden !important;
	background:rgba(255,255,255,.10) !important;
	border:1px solid rgba(255,255,255,.24) !important;
	box-shadow:0 16px 40px rgba(0,0,0,.20) !important;
}

#ascx_17580 .asc-audit-about-media img{
	width:100% !important;
	height:100% !important;
	min-height:300px !important;
	object-fit:cover !important;
	filter:saturate(1.04) contrast(1.03) brightness(.90) !important;
}

#ascx_17580 .asc-audit-about-media::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	background:
		linear-gradient(180deg, rgba(7,25,35,.06) 0%, rgba(7,25,35,.58) 100%),
		linear-gradient(90deg, rgba(7,25,35,.48), transparent 58%) !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-audit-about-image-title{
	position:absolute !important;
	left:14px !important;
	right:14px !important;
	top:14px !important;
	z-index:2 !important;
	padding:12px !important;
	border-radius:14px !important;
	background:rgba(255,255,255,.91) !important;
	border:1px solid rgba(255,255,255,.46) !important;
	color:#223746 !important;
	box-shadow:0 10px 24px rgba(0,0,0,.13) !important;
}

#ascx_17580 .asc-audit-about-image-title strong{
	display:block !important;
	color:#223746 !important;
	font-size:13px !important;
	line-height:1.25 !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-audit-about-image-title span{
	display:block !important;
	margin-top:5px !important;
	color:#5A6F7D !important;
	font-size:11px !important;
	line-height:1.35 !important;
	font-weight:700 !important;
}

#ascx_17580 .asc-audit-about-badges{
	position:absolute !important;
	left:14px !important;
	right:14px !important;
	bottom:14px !important;
	z-index:2 !important;
	display:flex !important;
	flex-wrap:wrap !important;
	gap:6px !important;
}

#ascx_17580 .asc-audit-about-badges span{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:6px 8px !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.92) !important;
	border:1px solid rgba(255,255,255,.50) !important;
	color:#163247 !important;
	font-size:9.5px !important;
	font-weight:950 !important;
	box-shadow:0 8px 18px rgba(0,0,0,.11) !important;
}

#ascx_17580 .asc-audit-about-card{
	padding:18px !important;
	border-radius:20px !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(123,166,58,.30) !important;
	box-shadow:0 16px 40px rgba(0,0,0,.20) !important;
}

#ascx_17580 .asc-audit-about-card h3{
	font-size:clamp(20px,1.8vw,27px) !important;
	line-height:1.07 !important;
	letter-spacing:-.04em !important;
}

#ascx_17580 .asc-audit-about-card p{
	margin:0 !important;
	color:rgba(255,255,255,.84) !important;
	font-size:12px !important;
	line-height:1.48 !important;
	text-align:left !important;
}

#ascx_17580 .asc-audit-about-card .asc-cinematic-list li{
	padding:8px 9px !important;
	border-radius:11px !important;
	background:rgba(255,255,255,.12) !important;
	border:1px solid rgba(255,255,255,.16) !important;
	color:rgba(255,255,255,.88) !important;
	font-size:10.8px !important;
	line-height:1.3 !important;
}

#ascx_17580 .asc-audit-flow-scroll-hint{
	position:absolute !important;
	left:50% !important;
	bottom:26px !important;
	z-index:10 !important;
	transform:translateX(-50%) !important;
	color:rgba(255,255,255,.84) !important;
	font-size:12px !important;
	font-weight:950 !important;
	letter-spacing:.15em !important;
	text-transform:uppercase !important;
	opacity:var(--asc-audit-hint-opacity) !important;
	pointer-events:none !important;
	text-shadow:0 8px 18px rgba(0,0,0,.40) !important;
}

#ascx_17580 .asc-audit-flow-scroll-hint::after{
	content:"" !important;
	display:block !important;
	width:2px !important;
	height:34px !important;
	margin:10px auto 0 !important;
	border-radius:999px !important;
	background:linear-gradient(180deg,#fff,rgba(255,255,255,0)) !important;
	animation:ascCineHint 1.25s ease-in-out infinite !important;
}

/* ------------------------------
   18. Systems cinematic journey
------------------------------ */

#ascx_17580 .asc-systems-cinematic{
	position:relative !important;
	min-height:420vh !important;
	background:#071923 !important;
	overflow:visible !important;
	isolation:isolate !important;
	color:#fff !important;

	--asc-sys-bg-scale:1.08;
	--asc-sys-bg-x:0px;
	--asc-sys-bg-y:0px;
	--asc-sys-bg-opacity:1;
	--asc-sys-bg-blur:0px;

	--asc-sys-phase-one-opacity:1;
	--asc-sys-phase-one-x:0px;
	--asc-sys-phase-one-y:0px;
	--asc-sys-phase-one-scale:1;

	--asc-sys-phase-two-opacity:0;
	--asc-sys-phase-two-x:62vw;
	--asc-sys-phase-two-y:70px;
	--asc-sys-phase-two-scale:.94;

	--asc-sys-phase-three-opacity:0;
	--asc-sys-phase-three-x:62vw;
	--asc-sys-phase-three-y:70px;
	--asc-sys-phase-three-scale:.94;

	--asc-sys-phase-four-opacity:0;
	--asc-sys-phase-four-x:62vw;
	--asc-sys-phase-four-y:70px;
	--asc-sys-phase-four-scale:.94;

	--asc-sys-wash-opacity:0;
	--asc-sys-hint-opacity:1;
}

#ascx_17580 .asc-systems-cinematic::after{
	content:"" !important;
	position:absolute !important;
	left:0 !important;
	right:0 !important;
	bottom:0 !important;
	height:120px !important;
	z-index:3 !important;
	pointer-events:none !important;
	background:linear-gradient(180deg,rgba(7,25,35,0),rgba(7,25,35,.72)) !important;
}

#ascx_17580 .asc-systems-cinematic-sticky{
	position:sticky !important;
	top:0 !important;
	height:100vh !important;
	height:100svh !important;
	min-height:760px !important;
	overflow:visible !important;
	background:#071923 !important;
	z-index:2 !important;
}

#ascx_17580 .asc-systems-cinematic-stage,
#ascx_17580 .asc-systems-cinematic-media,
#ascx_17580 .asc-systems-cinematic-gradient,
#ascx_17580 .asc-systems-cinematic-vignette,
#ascx_17580 .asc-systems-cinematic-wash{
	position:absolute !important;
	inset:0 !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-systems-cinematic-stage{
	z-index:1 !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-systems-cinematic-media{
	inset:-7% !important;
	z-index:1 !important;
	opacity:var(--asc-sys-bg-opacity) !important;
	transform:translate3d(var(--asc-sys-bg-x),var(--asc-sys-bg-y),0) scale(var(--asc-sys-bg-scale)) !important;
}

#ascx_17580 .asc-systems-cinematic-media img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	object-position:center center !important;
	filter:saturate(1.03) contrast(1.03) brightness(.74) blur(var(--asc-sys-bg-blur)) !important;
}

#ascx_17580 .asc-systems-cinematic-gradient{
	z-index:4 !important;
	background:
		linear-gradient(90deg,rgba(7,25,35,.82),rgba(7,25,35,.48) 38%,rgba(7,25,35,.48) 62%,rgba(7,25,35,.82)),
		linear-gradient(180deg,rgba(7,25,35,.74),rgba(7,25,35,.34) 48%,rgba(7,25,35,.88)) !important;
}

#ascx_17580 .asc-systems-cinematic-vignette{
	z-index:5 !important;
	background:
		radial-gradient(circle at 18% 18%, rgba(123,166,58,.20), transparent 30%),
		radial-gradient(circle at 82% 24%, rgba(123,166,58,.12), transparent 28%),
		radial-gradient(circle at 50% 45%, transparent 0%, rgba(4,14,22,.60) 100%) !important;
}

#ascx_17580 .asc-systems-cinematic-wash{
	display:none !important;
}

#ascx_17580 .asc-systems-cinematic-phase{
	position:absolute !important;
	left:50% !important;
	top:50% !important;
	z-index:9 !important;
	width:min(1180px, calc(100% - 48px)) !important;
	margin:0 !important;
	will-change:opacity,transform !important;
}

#ascx_17580 .asc-systems-cinematic-phase-one{
	opacity:var(--asc-sys-phase-one-opacity) !important;
	transform:translate3d(calc(-50% + var(--asc-sys-phase-one-x)),calc(-50% + var(--asc-sys-phase-one-y)),0) scale(var(--asc-sys-phase-one-scale)) !important;
}

#ascx_17580 .asc-systems-cinematic-phase-two{
	opacity:var(--asc-sys-phase-two-opacity) !important;
	transform:translate3d(calc(-50% + var(--asc-sys-phase-two-x)),calc(-50% + var(--asc-sys-phase-two-y)),0) scale(var(--asc-sys-phase-two-scale)) !important;
}

#ascx_17580 .asc-systems-cinematic-phase-three{
	opacity:var(--asc-sys-phase-three-opacity) !important;
	transform:translate3d(calc(-50% + var(--asc-sys-phase-three-x)),calc(-50% + var(--asc-sys-phase-three-y)),0) scale(var(--asc-sys-phase-three-scale)) !important;
}

#ascx_17580 .asc-systems-cinematic-phase-four{
	opacity:var(--asc-sys-phase-four-opacity) !important;
	transform:translate3d(calc(-50% + var(--asc-sys-phase-four-x)),calc(-50% + var(--asc-sys-phase-four-y)),0) scale(var(--asc-sys-phase-four-scale)) !important;
}

/* ------------------------------
   19. Systems glass panels
------------------------------ */

#ascx_17580 .asc-systems-about-inner,
#ascx_17580 .asc-toolkits-about-inner{
	position:relative !important;
	width:min(1180px, calc(100% - 48px)) !important;
	max-height:none !important;
	min-height:auto !important;
	padding:22px !important;
	border-radius:30px !important;
	overflow:visible !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(255,255,255,.24) !important;
	box-shadow:0 20px 50px rgba(0,0,0,.24) !important;
}

#ascx_17580 .asc-systems-about-inner::before{
	content:"" !important;
	position:absolute !important;
	inset:-8% !important;
	z-index:0 !important;
	background-size:cover !important;
	background-position:center center !important;
	background-repeat:no-repeat !important;
	filter:saturate(1.03) contrast(1.03) brightness(.78) !important;
	transform:scale(1.04) !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-systems-about-inner::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	z-index:1 !important;
	background:
		radial-gradient(circle at 18% 18%, rgba(123,166,58,.20), transparent 30%),
		radial-gradient(circle at 82% 24%, rgba(123,166,58,.12), transparent 28%),
		radial-gradient(circle at 50% 45%, transparent 0%, rgba(4,14,22,.62) 100%) !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-systems-about-inner > *,
#ascx_17580 .asc-toolkits-about-inner > *{
	position:relative !important;
	z-index:2 !important;
}

/* Specific background images */

#ascx_17580 .asc-fsms-about-panel.asc-systems-about-inner::before,
#ascx_17580 .asc-fsms-about-panel .asc-systems-about-inner::before{
	background-image:
		linear-gradient(90deg,rgba(7,25,35,.82),rgba(7,25,35,.50) 38%,rgba(7,25,35,.50) 62%,rgba(7,25,35,.82)),
		linear-gradient(180deg,rgba(7,25,35,.74),rgba(7,25,35,.40) 48%,rgba(7,25,35,.86)),
		var(--wpr-bg-afe1ff99-0694-450e-aaa5-9fdd8356a6f6) !important;
}

#ascx_17580 .asc-fssc-about-panel.asc-systems-about-inner::before,
#ascx_17580 .asc-fssc-about-panel .asc-systems-about-inner::before{
	background-image:
		linear-gradient(90deg,rgba(7,25,35,.82),rgba(7,25,35,.50) 38%,rgba(7,25,35,.50) 62%,rgba(7,25,35,.82)),
		linear-gradient(180deg,rgba(7,25,35,.74),rgba(7,25,35,.40) 48%,rgba(7,25,35,.86)),
		var(--wpr-bg-da782e58-3925-4ab8-89c1-e12611d2c497) !important;
}

#ascx_17580 .asc-public-health-about-panel.asc-systems-about-inner::before,
#ascx_17580 .asc-public-health-about-panel .asc-systems-about-inner::before{
	background-image:
		linear-gradient(90deg,rgba(7,25,35,.82),rgba(7,25,35,.50) 38%,rgba(7,25,35,.50) 62%,rgba(7,25,35,.82)),
		linear-gradient(180deg,rgba(7,25,35,.74),rgba(7,25,35,.40) 48%,rgba(7,25,35,.86)),
		var(--wpr-bg-d0bff7e1-e2c4-4e8a-8146-e2fef1f55aaf) !important;
}

/* Toolkits background */

#ascx_17580 .asc-toolkits-about-bg{
	position:absolute !important;
	inset:-8% !important;
	z-index:0 !important;
	background-image:
		linear-gradient(90deg,rgba(7,25,35,.82),rgba(7,25,35,.50) 38%,rgba(7,25,35,.50) 62%,rgba(7,25,35,.82)),
		linear-gradient(180deg,rgba(7,25,35,.74),rgba(7,25,35,.40) 48%,rgba(7,25,35,.86)),
		var(--wpr-bg-e02da578-db87-418d-8ec0-21263473387a) !important;
	background-size:cover !important;
	background-position:center center !important;
	background-repeat:no-repeat !important;
	filter:saturate(1.03) contrast(1.03) brightness(.78) !important;
	transform:scale(1.04) !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-toolkits-about-bg::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	background:
		radial-gradient(circle at 18% 18%, rgba(123,166,58,.20), transparent 30%),
		radial-gradient(circle at 82% 24%, rgba(123,166,58,.12), transparent 28%),
		radial-gradient(circle at 50% 45%, transparent 0%, rgba(4,14,22,.62) 100%) !important;
	pointer-events:none !important;
}

/* ------------------------------
   20. Systems and toolkit layouts
------------------------------ */

#ascx_17580 .asc-toolkits-about-layout,
#ascx_17580 .asc-systems-about-panel .asc-systems-split{
	display:grid !important;
	grid-template-columns:minmax(360px, .92fr) minmax(460px, 1.08fr) !important;
	gap:18px !important;
	align-items:stretch !important;
}

#ascx_17580 .asc-fsms-about-panel .asc-systems-split,
#ascx_17580 .asc-public-health-about-panel .asc-systems-split{
	display:grid !important;
	grid-template-columns:minmax(360px, .95fr) minmax(460px, 1.05fr) !important;
	gap:18px !important;
	align-items:stretch !important;
}

#ascx_17580 .asc-toolkits-about-media,
#ascx_17580 .asc-systems-about-panel .asc-systems-media{
	position:relative !important;
	min-height:420px !important;
	max-height:none !important;
	border-radius:22px !important;
	overflow:hidden !important;
	background:rgba(255,255,255,.10) !important;
	border:1px solid rgba(255,255,255,.24) !important;
	box-shadow:0 16px 40px rgba(0,0,0,.20) !important;
}

#ascx_17580 .asc-fsms-about-panel .asc-systems-media,
#ascx_17580 .asc-public-health-about-panel .asc-systems-media{
	min-height:350px !important;
	max-height:none !important;
	border-radius:22px !important;
}

#ascx_17580 .asc-toolkits-about-media img,
#ascx_17580 .asc-systems-about-panel .asc-systems-media img{
	width:100% !important;
	height:100% !important;
	min-height:420px !important;
	max-height:none !important;
	object-fit:cover !important;
	object-position:center center !important;
	filter:saturate(1.04) contrast(1.03) brightness(.90) !important;
}

#ascx_17580 .asc-fsms-about-panel .asc-systems-media img,
#ascx_17580 .asc-public-health-about-panel .asc-systems-media img{
	min-height:350px !important;
	max-height:none !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	object-position:center center !important;
}

#ascx_17580 .asc-toolkits-about-media::after,
#ascx_17580 .asc-systems-about-panel .asc-systems-media::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	background:
		linear-gradient(180deg, rgba(7,25,35,.06) 0%, rgba(7,25,35,.58) 100%),
		linear-gradient(90deg, rgba(7,25,35,.48), transparent 58%) !important;
	pointer-events:none !important;
}

/* Image labels and badges */

#ascx_17580 .asc-toolkits-about-image-title,
#ascx_17580 .asc-systems-about-panel .asc-systems-image-title{
	position:absolute !important;
	left:14px !important;
	right:14px !important;
	top:14px !important;
	z-index:2 !important;
	padding:12px 14px !important;
	border-radius:14px !important;
	background:rgba(255,255,255,.91) !important;
	border:1px solid rgba(255,255,255,.46) !important;
	color:#223746 !important;
	box-shadow:0 10px 24px rgba(0,0,0,.13) !important;
}

#ascx_17580 .asc-toolkits-about-image-title strong,
#ascx_17580 .asc-systems-image-title strong{
	display:block !important;
	color:#223746 !important;
	font-size:13px !important;
	line-height:1.25 !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-toolkits-about-image-title span,
#ascx_17580 .asc-systems-image-title span{
	display:block !important;
	margin-top:5px !important;
	color:#5A6F7D !important;
	font-size:11px !important;
	line-height:1.35 !important;
	font-weight:700 !important;
}

#ascx_17580 .asc-toolkits-about-badges,
#ascx_17580 .asc-systems-about-panel .asc-systems-badges{
	position:absolute !important;
	left:14px !important;
	right:14px !important;
	bottom:14px !important;
	z-index:2 !important;
	display:flex !important;
	flex-wrap:wrap !important;
	gap:6px !important;
}

#ascx_17580 .asc-toolkits-about-badges span,
#ascx_17580 .asc-systems-about-panel .asc-systems-badges span{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:6px 9px !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.92) !important;
	border:1px solid rgba(255,255,255,.50) !important;
	color:#163247 !important;
	font-size:9.5px !important;
	font-weight:950 !important;
	box-shadow:0 8px 18px rgba(0,0,0,.11) !important;
}

/* ------------------------------
   21. Systems dark cards, headings, lists
------------------------------ */

#ascx_17580 .asc-toolkits-about-card,
#ascx_17580 .asc-systems-about-panel .asc-systems-dark-card{
	position:relative !important;
	display:flex !important;
	flex-direction:column !important;
	padding:20px !important;
	max-height:none !important;
	overflow:visible !important;
	border-radius:22px !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(123,166,58,.30) !important;
	box-shadow:0 16px 40px rgba(0,0,0,.20) !important;
}

#ascx_17580 .asc-toolkits-about-card .asc-icon,
#ascx_17580 .asc-systems-about-panel .asc-systems-dark-card .asc-icon{
	width:42px !important;
	height:42px !important;
	min-width:42px !important;
	display:grid !important;
	place-items:center !important;
	margin:0 0 12px !important;
	border-radius:13px !important;
	background:rgba(255,255,255,.94) !important;
	border:1px solid rgba(190,226,132,.55) !important;
	color:#5F812D !important;
	box-shadow:0 8px 16px rgba(0,0,0,.11) !important;
	font-size:18px !important;
}

#ascx_17580 .asc-toolkits-about-card .asc-icon svg,
#ascx_17580 .asc-systems-about-panel .asc-systems-dark-card .asc-icon svg{
	width:21px !important;
	height:21px !important;
	display:block !important;
	stroke:currentColor !important;
	fill:none !important;
	stroke-width:2 !important;
}

#ascx_17580 .asc-systems-about-panel .asc-systems-heading,
#ascx_17580 .asc-systems-cinematic .asc-systems-heading,
#ascx_17580 .asc-toolkits-about-heading{
	max-width:920px !important;
	margin:0 auto 18px !important;
	text-align:center !important;
}

#ascx_17580 .asc-toolkits-about-heading{
	margin-bottom:14px !important;
	text-align:left !important;
}

#ascx_17580 .asc-toolkits-about-heading .asc-chip,
#ascx_17580 .asc-systems-about-panel .asc-systems-heading .asc-chip,
#ascx_17580 .asc-systems-cinematic .asc-systems-heading .asc-chip{
	background:rgba(255,255,255,.14) !important;
	border-color:rgba(190,226,132,.32) !important;
	color:#FFFFFF !important;
	box-shadow:0 8px 18px rgba(0,0,0,.12) !important;
	font-size:9.5px !important;
	padding:7px 12px !important;
	line-height:1 !important;
	letter-spacing:.11em !important;
}

#ascx_17580 .asc-toolkits-about-heading h2,
#ascx_17580 .asc-systems-about-panel .asc-systems-heading h2,
#ascx_17580 .asc-systems-cinematic .asc-systems-heading h2,
#ascx_17580 .asc-toolkits-about-card h3,
#ascx_17580 .asc-systems-about-panel .asc-systems-dark-card h3{
	color:#FFFFFF !important;
	text-shadow:0 12px 26px rgba(0,0,0,.30) !important;
}

#ascx_17580 .asc-systems-about-panel .asc-systems-heading h2,
#ascx_17580 .asc-systems-cinematic .asc-systems-heading h2{
	margin:9px auto 8px !important;
	max-width:920px !important;
	font-size:clamp(24px, 2.35vw, 38px) !important;
	line-height:1.06 !important;
	letter-spacing:-.05em !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-toolkits-about-heading h2{
	font-size:clamp(23px, 2vw, 33px) !important;
	line-height:1.08 !important;
	margin:9px 0 8px !important;
	letter-spacing:-.05em !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-toolkits-about-heading p,
#ascx_17580 .asc-systems-about-panel .asc-systems-heading p,
#ascx_17580 .asc-systems-cinematic .asc-systems-heading p,
#ascx_17580 .asc-toolkits-about-card p,
#ascx_17580 .asc-systems-about-panel .asc-systems-dark-card p{
	color:rgba(255,255,255,.84) !important;
}

#ascx_17580 .asc-systems-about-panel .asc-systems-heading p,
#ascx_17580 .asc-systems-cinematic .asc-systems-heading p{
	font-size:13px !important;
	line-height:1.48 !important;
	max-width:820px !important;
	margin:0 auto !important;
}

#ascx_17580 .asc-toolkits-about-heading p{
	font-size:12.5px !important;
	line-height:1.5 !important;
}

#ascx_17580 .asc-fsms-about-panel .asc-systems-dark-card h3,
#ascx_17580 .asc-public-health-about-panel .asc-systems-dark-card h3{
	font-size:clamp(22px, 2vw, 32px) !important;
	line-height:1.08 !important;
	margin:0 0 8px !important;
	color:#fff !important;
}

#ascx_17580 .asc-fsms-about-panel .asc-systems-dark-card p,
#ascx_17580 .asc-public-health-about-panel .asc-systems-dark-card p{
	font-size:12.2px !important;
	line-height:1.48 !important;
	color:rgba(255,255,255,.88) !important;
	margin:0 !important;
}

#ascx_17580 .asc-systems-about-panel .asc-systems-list,
#ascx_17580 .asc-systems-dark-card .asc-systems-list{
	margin-top:12px !important;
	gap:8px !important;
}

#ascx_17580 .asc-systems-list-2{
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	gap:7px !important;
	margin-top:12px !important;
}

#ascx_17580 .asc-systems-about-panel .asc-systems-list li,
#ascx_17580 .asc-systems-dark-card .asc-systems-list li{
	padding:7px 9px !important;
	border-radius:10px !important;
	background:rgba(255,255,255,.12) !important;
	border:1px solid rgba(255,255,255,.16) !important;
	color:rgba(255,255,255,.88) !important;
	font-size:10.8px !important;
	line-height:1.28 !important;
	font-weight:750 !important;
	min-height:30px !important;
}

#ascx_17580 .asc-public-health-about-panel .asc-systems-list li{
	font-size:11.5px !important;
	min-height:36px !important;
}

#ascx_17580 .asc-systems-about-panel .asc-systems-list .asc-check,
#ascx_17580 .asc-systems-dark-card .asc-systems-list .asc-check{
	width:17px !important;
	height:17px !important;
	min-width:17px !important;
	font-size:10px !important;
	margin-top:0 !important;
	background:rgba(123,166,58,.24) !important;
	border-color:rgba(190,226,132,.44) !important;
	color:#E0F4B5 !important;
}

#ascx_17580 .asc-fsms-about-panel .asc-btn-row,
#ascx_17580 .asc-public-health-about-panel .asc-btn-row{
	margin-top:14px !important;
}

#ascx_17580 .asc-fsms-about-panel .asc-btn,
#ascx_17580 .asc-public-health-about-panel .asc-btn{
	min-height:40px !important;
	padding:10px 14px !important;
	font-size:11.5px !important;
	border-radius:10px !important;
}

/* ------------------------------
   22. Toolkit/FSSC cards and CTAs
------------------------------ */

#ascx_17580 .asc-toolkits-about-cardgrid,
#ascx_17580 .asc-systems-article-about-inner .asc-systems-cardgrid{
	display:grid !important;
	grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
	gap:10px !important;
	margin-top:12px !important;
}

#ascx_17580 .asc-toolkits-about-cardgrid .asc-post-card,
#ascx_17580 .asc-systems-article-about-inner .asc-post-card{
	min-height:132px !important;
	padding:0 !important;
	border-radius:16px !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(123,166,58,.34) !important;
	box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-toolkits-about-cardgrid .asc-post-card::before,
#ascx_17580 .asc-systems-article-about-inner .asc-post-card::before{
	height:3px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
}

#ascx_17580 .asc-toolkits-about-cardgrid .asc-post-image{
	aspect-ratio:16 / 6.4 !important;
	max-height:74px !important;
	min-height:0 !important;
	border-bottom:1px solid rgba(255,255,255,.14) !important;
	background:rgba(255,255,255,.08) !important;
}

#ascx_17580 .asc-toolkits-about-cardgrid .asc-post-image img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	filter:saturate(1.04) contrast(1.02) brightness(.88) !important;
}

#ascx_17580 .asc-toolkits-about-cardgrid .asc-post-card h3,
#ascx_17580 .asc-systems-article-about-inner .asc-post-card h3{
	margin:9px 11px 5px !important;
	color:#FFFFFF !important;
	font-size:11.2px !important;
	line-height:1.18 !important;
	font-weight:950 !important;
	display:-webkit-box !important;
	-webkit-line-clamp:2 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
	text-shadow:0 8px 18px rgba(0,0,0,.24) !important;
}

#ascx_17580 .asc-toolkits-about-cardgrid .asc-card-link,
#ascx_17580 .asc-systems-article-about-inner .asc-card-link{
	margin:0 11px 10px !important;
	color:#D9F2A8 !important;
	font-size:10.4px !important;
	line-height:1.15 !important;
	font-weight:950 !important;
	text-decoration:none !important;
}

#ascx_17580 .asc-toolkits-about-cta,
#ascx_17580 .asc-systems-about-panel .asc-systems-cta-card{
	margin-top:12px !important;
	padding:12px 14px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:14px !important;
	border-radius:16px !important;
	background:rgba(255,255,255,.14) !important;
	border:1px solid rgba(123,166,58,.34) !important;
	box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
}

#ascx_17580 .asc-toolkits-about-cta strong,
#ascx_17580 .asc-systems-about-panel .asc-systems-cta-card strong{
	display:block !important;
	color:#FFFFFF !important;
	font-size:12.5px !important;
	line-height:1.25 !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-toolkits-about-cta span,
#ascx_17580 .asc-systems-about-panel .asc-systems-cta-card span{
	display:block !important;
	margin-top:3px !important;
	color:rgba(255,255,255,.76) !important;
	font-size:10.8px !important;
	line-height:1.35 !important;
	font-weight:650 !important;
}

#ascx_17580 .asc-toolkits-about-cta .asc-btn,
#ascx_17580 .asc-systems-about-panel .asc-systems-cta-card .asc-btn{
	min-height:38px !important;
	padding:9px 13px !important;
	font-size:11px !important;
	border-radius:10px !important;
}

/* FSSC article panel */

#ascx_17580 .asc-fssc-about-panel{
	max-height:none !important;
	overflow:visible !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-systems-cardgrid{
	display:grid !important;
	grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
	gap:12px !important;
	margin:16px auto 0 !important;
	width:min(880px, 100%) !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-post-card{
	min-height:142px !important;
	border-radius:16px !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-post-image{
	aspect-ratio:16 / 6.5 !important;
	max-height:78px !important;
	min-height:0 !important;
	border-bottom:1px solid rgba(255,255,255,.14) !important;
	background:rgba(255,255,255,.08) !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-post-image img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	filter:saturate(1.04) contrast(1.02) brightness(.88) !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-post-card h3{
	margin:10px 12px 6px !important;
	font-size:11.5px !important;
	line-height:1.18 !important;
	-webkit-line-clamp:2 !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-card-link{
	margin:0 12px 11px !important;
	font-size:10.5px !important;
	line-height:1.15 !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-systems-cta{
	margin-top:14px !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-systems-cta-card{
	padding:12px 14px !important;
	border-radius:16px !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-systems-cta-card strong{
	font-size:12.5px !important;
	line-height:1.25 !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-systems-cta-card span{
	font-size:10.8px !important;
	line-height:1.35 !important;
}

#ascx_17580 .asc-fssc-about-panel .asc-systems-cta-card .asc-btn{
	min-height:38px !important;
	padding:9px 13px !important;
	font-size:11px !important;
	border-radius:10px !important;
}

#ascx_17580 .asc-systems-cinematic .asc-cinematic-scroll-hint{
	opacity:var(--asc-sys-hint-opacity) !important;
	text-shadow:0 8px 18px rgba(0,0,0,.40) !important;
}


			/* ------------------------------
   23. Systems height-specific rules
------------------------------ */

@media (min-width:901px) and (max-width:1180px){
	#ascx_17580 .asc-systems-cinematic{
		min-height:420vh !important;
		padding:0 !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-systems-cinematic-sticky{
		position:sticky !important;
		top:0 !important;
		height:100vh !important;
		height:100svh !important;
		min-height:660px !important;
		overflow:hidden !important;
		display:block !important;
		background:#071923 !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase{
		position:absolute !important;
		left:50% !important;
		top:50% !important;
		width:min(1080px, calc(100% - 44px)) !important;
		margin:0 !important;
		will-change:opacity,transform !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase-one{
		opacity:var(--asc-sys-phase-one-opacity) !important;
		transform:translate3d(
			calc(-50% + var(--asc-sys-phase-one-x)),
			calc(-50% + var(--asc-sys-phase-one-y)),
			0
		) scale(var(--asc-sys-phase-one-scale)) !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase-two{
		opacity:var(--asc-sys-phase-two-opacity) !important;
		transform:translate3d(
			calc(-50% + var(--asc-sys-phase-two-x)),
			calc(-50% + var(--asc-sys-phase-two-y)),
			0
		) scale(var(--asc-sys-phase-two-scale)) !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase-three{
		opacity:var(--asc-sys-phase-three-opacity) !important;
		transform:translate3d(
			calc(-50% + var(--asc-sys-phase-three-x)),
			calc(-50% + var(--asc-sys-phase-three-y)),
			0
		) scale(var(--asc-sys-phase-three-scale)) !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase-four{
		opacity:var(--asc-sys-phase-four-opacity) !important;
		transform:translate3d(
			calc(-50% + var(--asc-sys-phase-four-x)),
			calc(-50% + var(--asc-sys-phase-four-y)),
			0
		) scale(var(--asc-sys-phase-four-scale)) !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase + .asc-systems-cinematic-phase{
		margin-top:0 !important;
	}

	#ascx_17580 .asc-systems-cinematic .asc-systems-about-inner,
	#ascx_17580 .asc-systems-cinematic .asc-toolkits-about-inner{
		width:min(980px, calc(100% - 28px)) !important;
		max-height:none !important;
		padding:12px !important;
	}

	#ascx_17580 .asc-toolkits-about-layout,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-split,
	#ascx_17580 .asc-public-health-about-panel .asc-systems-split{
		grid-template-columns:minmax(0,.88fr) minmax(320px,1.12fr) !important;
		gap:10px !important;
	}

	#ascx_17580 .asc-toolkits-about-media,
	#ascx_17580 .asc-toolkits-about-media img,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-media,
	#ascx_17580 .asc-public-health-about-panel .asc-systems-media,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-media img,
	#ascx_17580 .asc-public-health-about-panel .asc-systems-media img{
		min-height:300px !important;
		max-height:none !important;
	}
}

@media (min-width:901px) and (max-height:720px){
	#ascx_17580 .asc-systems-cinematic{
		min-height:auto !important;
		padding:58px 0 66px !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-systems-cinematic-sticky{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
		display:block !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:min(1180px, calc(100% - 48px)) !important;
		margin:0 auto !important;
		opacity:1 !important;
		transform:none !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase + .asc-systems-cinematic-phase{
		margin-top:28px !important;
	}

	#ascx_17580 .asc-systems-cinematic .asc-systems-about-inner,
	#ascx_17580 .asc-systems-cinematic .asc-toolkits-about-inner{
		width:100% !important;
		max-height:none !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-systems-cinematic .asc-cinematic-scroll-hint{
		display:none !important;
	}
}


/* ------------------------------
   24. Resources, legislation and articles
------------------------------ */

#ascx_17580 #asc-resources.asc-resources-nexus{
	position:relative !important;
	min-height:auto !important;
	padding:74px 0 82px !important;
	overflow:hidden !important;
	background:
		radial-gradient(circle at 10% 14%, rgba(123,166,58,.08), transparent 30%),
		radial-gradient(circle at 90% 18%, rgba(224,90,97,.055), transparent 32%),
		linear-gradient(180deg,#F8FAFB 0%,#FFFFFF 48%,#F8FAFB 100%) !important;
	isolation:isolate !important;
}

#ascx_17580 #asc-resources .asc-resources-hero-stage,
#ascx_17580 #asc-resources .asc-resources-hero-media,
#ascx_17580 #asc-resources .asc-resources-hero-gradient,
#ascx_17580 #asc-resources .asc-resources-hero-vignette{
	display:none !important;
}

#ascx_17580 #asc-resources .asc-resources-sticky{
	position:relative !important;
	top:auto !important;
	min-height:auto !important;
	display:block !important;
	padding-top:0 !important;
	padding-bottom:0 !important;
	perspective:none !important;
}

#ascx_17580 #asc-resources .asc-resources-hero-shell{
	position:relative !important;
	width:min(1180px,100%) !important;
	margin:0 auto !important;
	padding:36px 32px !important;
	border-radius:30px !important;
	background:
		radial-gradient(circle at 0% 0%, rgba(123,166,58,.055), transparent 32%),
		linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%) !important;
	border:1px solid #E7EDF2 !important;
	box-shadow:
		0 20px 46px rgba(16,24,40,.08),
		inset 0 1px 0 rgba(255,255,255,.92) !important;
	overflow:hidden !important;
}

#ascx_17580 #asc-resources .asc-resources-hero-shell::before{
	content:"" !important;
	position:absolute !important;
	left:34px !important;
	right:34px !important;
	top:0 !important;
	height:4px !important;
	border-radius:0 0 999px 999px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
}

#ascx_17580 #asc-resources .asc-resources-hero-heading{
	margin-bottom:28px !important;
}

#ascx_17580 #asc-resources .asc-resources-hero-heading .asc-chip{
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	box-shadow:none !important;
}

#ascx_17580 #asc-resources .asc-resources-hero-heading h2{
	color:#1D2D3A !important;
	text-shadow:none !important;
}

#ascx_17580 #asc-resources .asc-resources-hero-heading p{
	color:#6A7D89 !important;
	text-shadow:none !important;
}

#ascx_17580 #asc-resources .asc-resources-grid{
	position:relative !important;
	z-index:2 !important;
}

#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card){
	position:relative !important;
	background:#FFFFFF !important;
	border:1px solid #E7EDF2 !important;
	border-radius:20px !important;
	padding:24px !important;
	box-shadow:0 8px 20px rgba(16,24,40,.05) !important;
	color:#4C6170 !important;
	overflow:hidden !important;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease !important;
}

#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card)::before{
	content:"" !important;
	position:absolute !important;
	top:0 !important;
	left:0 !important;
	right:0 !important;
	height:4px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
}

#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card):hover{
	transform:translateY(-4px) !important;
	border-color:#D6E6C2 !important;
	box-shadow:0 16px 34px rgba(16,24,40,.085) !important;
}

#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card) h3{
	margin:0 0 10px !important;
	color:#223746 !important;
	font-size:19px !important;
	line-height:1.18 !important;
	font-weight:900 !important;
	letter-spacing:-.025em !important;
	text-shadow:none !important;
}

#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card) p{
	margin:0 !important;
	color:#5A6F7D !important;
	font-size:14.5px !important;
	line-height:1.7 !important;
}

#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card) .asc-card-link{
	display:inline-flex !important;
	align-items:center !important;
	gap:8px !important;
	margin-top:16px !important;
	color:#5F812D !important;
	font-size:14px !important;
	font-weight:950 !important;
	text-decoration:none !important;
}


/* ------------------------------
   25. Dual article stack
------------------------------ */

#ascx_17580 .asc-dual-stack{
	position:relative !important;
	min-height:255vh !important;
	padding:0 !important;
	overflow:visible !important;
	isolation:isolate !important;

	--asc-stack-progress:0;

	--asc-stack-top-y:0px;
	--asc-stack-top-scale:1;
	--asc-stack-top-opacity:1;
	--asc-stack-top-blur:0px;
	--asc-stack-top-rx:0deg;

	--asc-stack-bottom-y:82vh;
	--asc-stack-bottom-scale:.94;
	--asc-stack-bottom-opacity:.22;
	--asc-stack-bottom-blur:4px;
	--asc-stack-bottom-rx:-8deg;

	--asc-stack-bg-shift:0px;
	--asc-stack-glow:.24;
}

#ascx_17580 #asc-article-stack.asc-dual-stack{
	background:
		radial-gradient(circle at 12% 18%, rgba(255,255,255,.08), transparent 30%),
		radial-gradient(circle at 88% 20%, rgba(255,255,255,.07), transparent 32%),
		linear-gradient(135deg,#13332c 0%, #1f5a49 52%, #83c53f 100%) !important;
	color:#fff !important;
}

#ascx_17580 .asc-dual-stack-bg{
	position:absolute !important;
	inset:0 !important;
	z-index:0 !important;
	pointer-events:none !important;
	overflow:hidden !important;
	background:
		radial-gradient(circle at 12% 18%, rgba(255,255,255,.08), transparent 30%),
		radial-gradient(circle at 88% 20%, rgba(255,255,255,.07), transparent 32%) !important;
	opacity:1 !important;
}

#ascx_17580 .asc-dual-stack-bg::before,
#ascx_17580 .asc-dual-stack-bg::after{
	display:none !important;
	content:none !important;
}

#ascx_17580 .asc-dual-stack-sticky{
	position:sticky !important;
	top:0 !important;
	z-index:2 !important;
	height:100vh !important;
	height:100svh !important;
	min-height:680px !important;
	display:block !important;
	padding-top:42px !important;
	padding-bottom:42px !important;
	perspective:1400px !important;
	transform-style:preserve-3d !important;
	overflow:hidden !important;
}

body.admin-bar #ascx_17580 .asc-dual-stack-sticky{
	top:32px !important;
	height:calc(100vh - 32px) !important;
	height:calc(100svh - 32px) !important;
}

#ascx_17580 .asc-stack-panel{
	position:absolute !important;
	left:32px !important;
	right:32px !important;
	top:50% !important;
	transform-style:preserve-3d !important;
	will-change:transform, opacity, filter !important;
}

#ascx_17580 .asc-stack-panel-top{
	z-index:3 !important;
	opacity:var(--asc-stack-top-opacity) !important;
	filter:blur(var(--asc-stack-top-blur)) !important;
	transform:
		translate3d(0, calc(-50% + var(--asc-stack-top-y)), -40px)
		rotateX(var(--asc-stack-top-rx))
		scale(var(--asc-stack-top-scale)) !important;
}

#ascx_17580 .asc-stack-panel-bottom{
	z-index:4 !important;
	opacity:var(--asc-stack-bottom-opacity) !important;
	filter:blur(var(--asc-stack-bottom-blur)) !important;
	transform:
		translate3d(0, calc(-50% + var(--asc-stack-bottom-y)), 40px)
		rotateX(var(--asc-stack-bottom-rx))
		scale(var(--asc-stack-bottom-scale)) !important;
}

#ascx_17580 .asc-stack-panel-inner{
	width:min(1180px,100%) !important;
	margin:0 auto !important;
	max-height:calc(100svh - 86px) !important;
	overflow:hidden !important;
	padding:24px !important;
	border-radius:32px !important;
	background:rgba(255,255,255,.15) !important;
	border:1px solid rgba(255,255,255,.24) !important;
	box-shadow:0 20px 48px rgba(10,28,24,.20) !important;
	color:#FFFFFF !important;
}

#ascx_17580 .asc-stack-panel .asc-heading{
	margin-bottom:18px !important;
}

#ascx_17580 .asc-stack-panel .asc-heading .asc-chip{
	background:rgba(255,255,255,.12) !important;
	border:1px solid rgba(255,255,255,.18) !important;
	color:#FFFFFF !important;
	box-shadow:none !important;
}

#ascx_17580 .asc-stack-panel .asc-heading h2{
	color:#FFFFFF !important;
	font-size:clamp(24px,2.1vw,34px) !important;
	line-height:1.06 !important;
	margin-top:8px !important;
	margin-bottom:8px !important;
}

#ascx_17580 .asc-stack-panel .asc-heading p{
	color:rgba(255,255,255,.88) !important;
	font-size:13.5px !important;
	line-height:1.55 !important;
	max-width:760px !important;
}

#ascx_17580 .asc-stack-grid{
	gap:12px !important;
}

#ascx_17580 .asc-stack-grid .asc-post-card{
	border-radius:18px !important;
	background:#FFFFFF !important;
	border-color:rgba(255,255,255,.24) !important;
	box-shadow:0 10px 24px rgba(16,24,40,.06) !important;
	transition:
		transform .16s ease,
		box-shadow .16s ease,
		border-color .16s ease !important;
}

#ascx_17580 .asc-stack-grid .asc-post-card:hover{
	transform:translateY(-3px) !important;
	box-shadow:0 14px 32px rgba(16,24,40,.09) !important;
}

#ascx_17580 .asc-stack-grid .asc-post-image{
	aspect-ratio:16 / 6.7 !important;
	max-height:96px !important;
}

#ascx_17580 .asc-stack-grid .asc-post-card h3{
	margin:12px 14px 8px !important;
	color:#223746 !important;
	font-size:12.8px !important;
	line-height:1.18 !important;
	letter-spacing:-.025em !important;
	display:-webkit-box !important;
	-webkit-line-clamp:3 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-stack-grid .asc-post-card h3 a{
	color:#223746 !important;
	text-decoration:none !important;
}

#ascx_17580 .asc-stack-grid .asc-card-link{
	margin:0 14px 14px !important;
	font-size:11px !important;
	font-weight:950 !important;
	color:#5F812D !important;
}


/* ------------------------------
   26. FAQ
------------------------------ */

#ascx_17580 .asc-faq{
	max-width:920px !important;
	margin:0 auto !important;
	display:grid !important;
	gap:10px !important;
}

#ascx_17580 .asc-faq-item{
	background:#FFFFFF !important;
	border:1px solid #E7EDF2 !important;
	border-radius:18px !important;
	overflow:hidden !important;
	box-shadow:0 4px 10px rgba(16,24,40,.035) !important;
	transition:
		box-shadow .16s ease,
		border-color .16s ease,
		background .16s ease !important;
}

#ascx_17580 .asc-faq-item:hover{
	border-color:#D9E3E9 !important;
	box-shadow:0 7px 18px rgba(16,24,40,.045) !important;
}

#ascx_17580 .asc-faq-item.active{
	box-shadow:0 10px 26px rgba(16,24,40,.06) !important;
	border-color:#D6E0E7 !important;
	background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%) !important;
}

#ascx_17580 .asc-faq-q{
	width:100% !important;
	border:0 !important;
	background:transparent !important;
	padding:20px 22px !important;
	text-align:left !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:18px !important;
	cursor:pointer !important;
	font-size:16px !important;
	font-weight:900 !important;
	color:#223746 !important;
}

#ascx_17580 .asc-faq-icon{
	position:relative !important;
	flex-shrink:0 !important;
	width:24px !important;
	height:24px !important;
	border-radius:50% !important;
	background:rgba(127,174,59,.12) !important;
}

#ascx_17580 .asc-faq-icon::before,
#ascx_17580 .asc-faq-icon::after{
	content:"" !important;
	position:absolute !important;
	left:50% !important;
	top:50% !important;
	background:#7FAE3B !important;
	border-radius:2px !important;
	transform:translate(-50%,-50%) !important;
	transition:transform .14s ease, opacity .14s ease !important;
}

#ascx_17580 .asc-faq-icon::before{
	width:14px !important;
	height:2.5px !important;
}

#ascx_17580 .asc-faq-icon::after{
	width:2.5px !important;
	height:14px !important;
}

#ascx_17580 .asc-faq-item.active .asc-faq-icon::after{
	opacity:0 !important;
	transform:translate(-50%,-50%) scaleY(.2) !important;
}

#ascx_17580 .asc-faq-a{
	display:none !important;
}

#ascx_17580 .asc-faq-item.active .asc-faq-a{
	display:block !important;
	animation:ascFaqIn .16s ease-out !important;
}

@keyframes ascFaqIn{
	from{
		opacity:0;
		transform:translateY(-6px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}

#ascx_17580 .asc-faq-a p{
	margin:0 !important;
	padding:0 22px 20px !important;
	color:#5C707D !important;
	line-height:1.75 !important;
	font-size:15px !important;
}


/* ------------------------------
   27. Contact and form shell
------------------------------ */

#ascx_17580 .asc-contact-wrap{
	display:grid !important;
	grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr) !important;
	gap:0 !important;
	background:#fff !important;
	border:1px solid #E7EDF2 !important;
	border-radius:28px !important;
	overflow:hidden !important;
	box-shadow:0 18px 42px rgba(16,24,40,.075) !important;
}

#ascx_17580 .asc-contact-left{
	position:relative !important;
	overflow:hidden !important;
	padding:36px 34px !important;
	background:
		radial-gradient(circle at 100% 0%, rgba(123,166,58,.16), transparent 34%),
		linear-gradient(180deg,#193244 0%,#28485D 100%) !important;
	color:#fff !important;
}

#ascx_17580 .asc-contact-left::before{
	content:"" !important;
	position:absolute !important;
	width:300px !important;
	height:300px !important;
	right:-80px !important;
	top:-80px !important;
	background:radial-gradient(circle, rgba(255,255,255,.08), transparent 66%) !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-contact-left > *{
	position:relative !important;
	z-index:1 !important;
}

#ascx_17580 .asc-contact-left h2{
	margin:16px 0 14px !important;
	max-width:560px !important;
	color:#fff !important;
	font-size:clamp(30px,3vw,42px) !important;
	line-height:1.08 !important;
	letter-spacing:-.045em !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-contact-left p{
	margin:0 !important;
	color:rgba(255,255,255,.92) !important;
	font-size:15px !important;
	line-height:1.75 !important;
}

#ascx_17580 .asc-contact-points{
	display:grid !important;
	gap:10px !important;
	margin-top:18px !important;
}

#ascx_17580 .asc-contact-point{
	padding:13px 14px !important;
	border-radius:14px !important;
	background:rgba(255,255,255,.08) !important;
	border:1px solid rgba(255,255,255,.14) !important;
}

#ascx_17580 .asc-contact-point strong{
	display:block !important;
	margin-bottom:6px !important;
	color:#fff !important;
	font-size:14px !important;
	font-weight:900 !important;
}

#ascx_17580 .asc-contact-point span{
	display:block !important;
	color:rgba(255,255,255,.94) !important;
	font-size:14px !important;
	line-height:1.65 !important;
}

#ascx_17580 .asc-contact-point a{
	color:#fff !important;
	text-decoration:underline !important;
}

#ascx_17580 .asc-form-shell,
#ascx_17580 .asccontact-form-shell{
	position:relative !important;
	overflow:hidden !important;
	padding:30px 28px 26px !important;
	background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%) !important;
}

#ascx_17580 .asccontact-form-shell::before{
	content:"" !important;
	position:absolute !important;
	top:0 !important;
	left:0 !important;
	right:0 !important;
	height:5px !important;
	background:linear-gradient(90deg,#E05A61 0%,#7BA63A 100%) !important;
}

#ascx_17580 .asccontact-form-intro{
	position:relative !important;
	z-index:2 !important;
	margin-bottom:18px !important;
}

#ascx_17580 .asccontact-form-intro h3{
	margin:0 0 8px !important;
	color:#1D2D3A !important;
	font-size:24px !important;
	line-height:1.08 !important;
	font-weight:950 !important;
	letter-spacing:-.03em !important;
}

#ascx_17580 .asccontact-form-intro p{
	margin:0 !important;
	color:#6A7D89 !important;
	font-size:14px !important;
	line-height:1.75 !important;
}

#ascx_17580 .asccontact-form-step-progress{
	position:relative !important;
	z-index:2 !important;
	display:grid !important;
	grid-template-columns:repeat(3,1fr) !important;
	gap:10px !important;
	margin:0 0 18px !important;
	padding:0 !important;
	list-style:none !important;
}

#ascx_17580 .asccontact-form-step-progress li{
	padding:13px 12px !important;
	text-align:center !important;
	border-radius:14px !important;
	background:#F6F8FA !important;
	color:#556A77 !important;
	font-size:13px !important;
	font-weight:900 !important;
	border:1px solid #E5E7EB !important;
	transition:
		background .16s ease,
		color .16s ease,
		border-color .16s ease,
		box-shadow .16s ease !important;
}

#ascx_17580 .asccontact-form-step-progress li.active{
	background:#253746 !important;
	color:#fff !important;
	border-color:#253746 !important;
	box-shadow:0 7px 16px rgba(37,55,70,.13) !important;
}

#ascx_17580 .asccontact-form-body{
	position:relative !important;
	z-index:2 !important;
	border-top:1px solid #EDF3EF !important;
	padding-top:20px !important;
}

#ascx_17580 .asccontact-form-stage{
	display:none !important;
}

#ascx_17580 .asccontact-form-stage.active{
	display:block !important;
}

#ascx_17580 .asccontact-form-nav{
	display:flex !important;
	justify-content:space-between !important;
	gap:12px !important;
	margin-top:18px !important;
}

#ascx_17580 .asccontact-hidden{
	display:none !important;
}

#ascx_17580 .asccontact-step-btn{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:52px !important;
	padding:14px 20px !important;
	border-radius:14px !important;
	border:1px solid #D9E1E7 !important;
	background:#fff !important;
	color:#253746 !important;
	font-size:15px !important;
	font-weight:900 !important;
	cursor:pointer !important;
	box-shadow:0 4px 10px rgba(16,24,40,.035) !important;
	transition:
		background .16s ease,
		color .16s ease,
		box-shadow .16s ease,
		transform .16s ease !important;
}

#ascx_17580 .asccontact-step-btn:hover{
	transform:translateY(-1px) !important;
	box-shadow:0 7px 16px rgba(16,24,40,.055) !important;
}

#ascx_17580 .asccontact-step-btn.next{
	border:0 !important;
	background:linear-gradient(135deg,#7BA63A 0%,#8CB94A 100%) !important;
	color:#fff !important;
	box-shadow:0 9px 18px rgba(127,174,59,.15) !important;
}

#ascx_17580 .asccontact-mini-note{
	position:relative !important;
	z-index:2 !important;
	margin-top:16px !important;
	padding:14px 16px !important;
	border-radius:16px !important;
	background:#F8FBF5 !important;
	border:1px solid #E1ECD0 !important;
	color:#5F7481 !important;
	font-size:13px !important;
	line-height:1.75 !important;
}

#ascx_17580 .asccontact-form-success-note{
	margin-top:14px !important;
	padding:14px 15px !important;
	border-radius:14px !important;
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#567629 !important;
	font-size:14px !important;
	font-weight:800 !important;
	display:none !important;
}

#ascx_17580 .asccontact-form-success-note.show{
	display:block !important;
}


/* ------------------------------
   28. WPForms styling
------------------------------ */

#ascx_17580 .wpforms-container{
	margin:0 !important;
}

#ascx_17580 .wpforms-form .wpforms-field{
	margin-bottom:18px !important;
}

#ascx_17580 .wpforms-form .wpforms-field-label{
	font-size:12px !important;
	font-weight:900 !important;
	letter-spacing:.08em !important;
	text-transform:uppercase !important;
	color:#253746 !important;
	margin-bottom:10px !important;
}

#ascx_17580 .wpforms-form .wpforms-field-description{
	color:#5F7481 !important;
	font-size:12px !important;
	line-height:1.65 !important;
}

#ascx_17580 .wpforms-form input[type="text"],
#ascx_17580 .wpforms-form input[type="email"],
#ascx_17580 .wpforms-form input[type="tel"],
#ascx_17580 .wpforms-form input[type="number"],
#ascx_17580 .wpforms-form textarea,
#ascx_17580 .wpforms-form select{
	width:100% !important;
	min-height:54px !important;
	border-radius:14px !important;
	border:1px solid #D9E1E7 !important;
	background:#FFFFFF !important;
	padding:14px 15px !important;
	font-size:15px !important;
	color:#253746 !important;
	box-shadow:none !important;
	transition:border-color .16s ease, box-shadow .16s ease !important;
}

#ascx_17580 .wpforms-form textarea{
	min-height:136px !important;
	resize:vertical !important;
}

#ascx_17580 .wpforms-form input:focus,
#ascx_17580 .wpforms-form textarea:focus,
#ascx_17580 .wpforms-form select:focus{
	border-color:#8DBA48 !important;
	box-shadow:0 0 0 4px rgba(141,186,72,.12) !important;
	outline:none !important;
}

#ascx_17580 .wpforms-form button[type="submit"],
#ascx_17580 .wpforms-form .wpforms-submit{
	min-height:54px !important;
	padding:15px 24px !important;
	border-radius:14px !important;
	border:0 !important;
	background:linear-gradient(135deg,#7BA63A 0%,#8CB94A 100%) !important;
	color:#fff !important;
	font-weight:950 !important;
	font-size:15px !important;
	box-shadow:0 9px 18px rgba(127,174,59,.15) !important;
	cursor:pointer !important;
}

#ascx_17580 .wpforms-form .wpforms-field-radio ul,
#ascx_17580 .wpforms-form .wpforms-field-checkbox ul{
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	gap:14px !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

#ascx_17580 .wpforms-form .wpforms-field-radio li label,
#ascx_17580 .wpforms-form .wpforms-field-checkbox li label{
	display:flex !important;
	align-items:center !important;
	gap:12px !important;
	width:100% !important;
	min-height:70px !important;
	padding:15px !important;
	border-radius:16px !important;
	border:1px solid #DCE3E8 !important;
	background:#FFFFFF !important;
	color:#294250 !important;
	font-size:15px !important;
	font-weight:800 !important;
	cursor:pointer !important;
	transition:
		border-color .16s ease,
		box-shadow .16s ease,
		background .16s ease !important;
}

#ascx_17580 .wpforms-form .wpforms-field-radio li label:hover,
#ascx_17580 .wpforms-form .wpforms-field-checkbox li label:hover{
	border-color:#BFD7A4 !important;
	background:#FBFDF8 !important;
	box-shadow:0 5px 14px rgba(16,24,40,.04) !important;
}

#ascx_17580 .wpforms-form input[type="radio"],
#ascx_17580 .wpforms-form input[type="checkbox"]{
	accent-color:#7BA63A !important;
}


/* ------------------------------
   29. Responsive rules
------------------------------ */

@media (max-width:1180px){
	#ascx_17580 .asc-contact-wrap,
	#ascx_17580 #asc-training .asc-training-shell,
	#ascx_17580 .asc-audit-about-split{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 #asc-training .asc-training-control-panel{
		position:relative !important;
		top:auto !important;
	}

	#ascx_17580 #asc-training .asc-training-carddeck{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	#ascx_17580 .asc-trust-stage{
		min-height:auto !important;
		display:block !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-trust-stage::before,
	#ascx_17580 .asc-trust-stage::after{
		display:none !important;
	}

	#ascx_17580 .asc-trust-core{
		margin:0 auto 24px !important;
	}

	#ascx_17580 .asc-trust-nodes{
		position:relative !important;
		inset:auto !important;
		display:grid !important;
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		gap:18px !important;
		pointer-events:auto !important;
	}

	#ascx_17580 .asc-trust-node,
	#ascx_17580 .asc-trust-node-wide{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:auto !important;
		min-height:128px !important;
		opacity:1 !important;
		filter:none !important;
		transform:none !important;
	}

	#ascx_17580 .asc-dual-stack{
		min-height:auto !important;
		padding:58px 0 66px !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-dual-stack-sticky{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:auto !important;
		display:block !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
		overflow:visible !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-stack-panel{
		position:relative !important;
		left:auto !important;
		right:auto !important;
		top:auto !important;
		opacity:1 !important;
		filter:none !important;
		transform:none !important;
	}

	#ascx_17580 .asc-stack-panel + .asc-stack-panel{
		margin-top:24px !important;
	}

	#ascx_17580 .asc-stack-panel-inner{
		max-height:none !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-sticky-cta{
		display:none !important;
	}
}

@media (max-width:900px){
	#ascx_17580 .asc-entry-gateway-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-entry-gateway::before{
		display:none !important;
	}

	#ascx_17580 .asc-entry-panel{
		min-height:50svh;
		padding:28px 20px;
	}

	#ascx_17580 .asc-cine-summary-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-services-grid{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		width:100% !important;
	}

	#ascx_17580 .asc-service-animated-card{
		min-height:230px !important;
	}

	#ascx_17580 .asc-audit-flow-cardgrid{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	#ascx_17580 .asc-systems-cinematic{
		min-height:auto !important;
		padding:48px 0 58px !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-systems-cinematic-sticky{
		position:relative !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:100% !important;
		margin:0 auto !important;
		opacity:1 !important;
		transform:none !important;
	}

	#ascx_17580 .asc-systems-cinematic-phase + .asc-systems-cinematic-phase{
		margin-top:24px !important;
	}

	#ascx_17580 .asc-toolkits-about-layout,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-split,
	#ascx_17580 .asc-public-health-about-panel .asc-systems-split{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-systems-cinematic .asc-systems-about-inner,
	#ascx_17580 .asc-systems-cinematic .asc-toolkits-about-inner{
		width:100% !important;
		max-height:none !important;
		overflow:visible !important;
		padding:18px !important;
		border-radius:24px !important;
	}

	#ascx_17580 .asc-toolkits-about-media,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-media,
	#ascx_17580 .asc-public-health-about-panel .asc-systems-media,
	#ascx_17580 .asc-toolkits-about-media img,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-media img,
	#ascx_17580 .asc-public-health-about-panel .asc-systems-media img{
		min-height:230px !important;
		max-height:none !important;
	}

	#ascx_17580 .asc-toolkits-about-card,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-dark-card,
	#ascx_17580 .asc-public-health-about-panel .asc-systems-dark-card{
		max-height:none !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-toolkits-about-cardgrid,
	#ascx_17580 .asc-fssc-about-panel .asc-systems-cardgrid,
	#ascx_17580 .asc-fsms-about-panel .asc-systems-list-2{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-toolkits-about-cardgrid .asc-post-image,
	#ascx_17580 .asc-fssc-about-panel .asc-post-image{
		max-height:none !important;
		aspect-ratio:16 / 8 !important;
	}
}

@media (max-width:767px){
	#ascx_17580 .asc-container{
		padding:0 18px !important;
	}

	#ascx_17580 .asc-section{
		padding:42px 0 !important;
	}

	#ascx_17580 .asc-grid-2,
	#ascx_17580 .asc-grid-3,
	#ascx_17580 .asc-grid-4,
	#ascx_17580 .asc-services-grid,
	#ascx_17580 #asc-training .asc-training-carddeck,
	#ascx_17580 .asc-audit-flow-cardgrid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-section-dots{
		display:none !important;
	}

	#ascx_17580 .asc-heading h2{
		font-size:clamp(26px,8vw,36px);
	}

	#ascx_17580 .asc-heading p{
		font-size:14.5px;
		line-height:1.65;
	}

	#ascx_17580 .asc-btn{
		width:100%;
		white-space:normal;
		text-align:center;
	}

	#ascx_17580 #asc-resources.asc-resources-nexus{
		padding:52px 0 60px !important;
	}

	#ascx_17580 #asc-resources .asc-resources-hero-shell{
		padding:24px 16px !important;
		border-radius:22px !important;
	}

	#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card){
		padding:22px 18px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-stack-panel-inner{
		padding:18px !important;
		border-radius:24px !important;
	}

	#ascx_17580 .asc-stack-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-stack-grid .asc-post-image{
		max-height:none !important;
		aspect-ratio:16 / 9 !important;
	}

	#ascx_17580 .asc-stack-grid .asc-post-card h3{
		font-size:15px !important;
		-webkit-line-clamp:unset !important;
	}

	#ascx_17580 .asc-contact-left,
	#ascx_17580 .asc-form-shell,
	#ascx_17580 .asccontact-form-shell{
		padding:22px !important;
	}

	#ascx_17580 .asccontact-form-step-progress{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asccontact-form-nav{
		flex-direction:column !important;
	}

	#ascx_17580 .asccontact-step-btn{
		width:100% !important;
	}

	#ascx_17580 .wpforms-form .wpforms-field-radio ul,
	#ascx_17580 .wpforms-form .wpforms-field-checkbox ul{
		grid-template-columns:1fr !important;
	}
}


/* ------------------------------
   30. Reduced motion and mobile safety
------------------------------ */

@media (prefers-reduced-motion: reduce){
	#ascx_17580 *,
	#ascx_17580 *::before,
	#ascx_17580 *::after{
		animation-duration:.001ms !important;
		animation-iteration-count:1 !important;
		scroll-behavior:auto !important;
		transition-duration:.001ms !important;
	}

	#ascx_17580 .asc-reveal{
		opacity:1 !important;
		transform:none !important;
	}

	#ascx_17580 .asc-cinematic-scroll-hint,
	#ascx_17580 .asc-audit-flow-scroll-hint{
		display:none !important;
	}

	#ascx_17580 .asc-service-animated-card,
	#ascx_17580 .asc-trust-node,
	#ascx_17580 .asc-systems-cinematic-phase,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-stack-panel{
		filter:none !important;
		transform:none !important;
		opacity:1 !important;
	}
}

@media (max-width:767px){
	#ascx_17580 .asc-cinematic-intro,
	#ascx_17580 .asc-audit-hero-flow,
	#ascx_17580 .asc-systems-cinematic{
		min-height:auto !important;
		padding:48px 0 !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cinematic-sticky,
	#ascx_17580 .asc-audit-flow-sticky,
	#ascx_17580 .asc-systems-cinematic-sticky{
		position:relative !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-cinematic-stage,
	#ascx_17580 .asc-audit-flow-stage,
	#ascx_17580 .asc-systems-cinematic-stage{
		position:absolute !important;
		inset:0 !important;
		height:100% !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:calc(100% - 28px) !important;
		margin:0 auto 24px !important;
		opacity:1 !important;
		transform:none !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three{
		text-align:center !important;
		justify-items:center !important;
	}

	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase-three,
	#ascx_17580 .asc-systems-cinematic-phase{
		text-align:left !important;
		justify-items:stretch !important;
	}

	#ascx_17580 .asc-cinematic-scroll-hint,
	#ascx_17580 .asc-audit-flow-scroll-hint{
		display:none !important;
	}
}


/* ------------------------------
   31. Final stacking helpers
------------------------------ */

#ascx_17580 #asc-services,
#ascx_17580 #asc-hygiene-articles,
#ascx_17580 #asc-resources,
#ascx_17580 #asc-article-stack{
	position:relative !important;
	z-index:4 !important;
}

/* Final About-style scroll UI override for Home page */

@media (min-width:768px) and (max-width:1180px){
	#ascx_17580 .asc-sticky-cta{
		display:flex !important;
	}
}

@media (max-width:1100px){
	#ascx_17580 .asc-sticky-cta{
		display:flex !important;
		right:18px !important;
		bottom:88px !important;
		padding:0 !important;
		background:transparent !important;
		border:0 !important;
		box-shadow:none !important;
		backdrop-filter:none !important;
	}

	#ascx_17580 .asc-sticky-cta .label{
		display:none !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-btn{
		width:56px !important;
		height:56px !important;
		min-height:56px !important;
		padding:0 !important;
		border-radius:50% !important;
		justify-content:center !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-text{
		display:none !important;
	}
}

@media (max-width:767px){
	#ascx_17580 .asc-sticky-cta{
		display:none !important;
	}
}

/* =========================================================
   ASC HOME PERFORMANCE PATCH
   Improves sticky cinematic scroll sections on laptops
========================================================= */

/* 1. Shorten cinematic scroll distances.
   Your original 420vh&ndash;480vh sections feel slow and heavy. */
#ascx_17580 .asc-cinematic-intro{
	min-height:340vh !important;
}

#ascx_17580 .asc-audit-hero-flow{
	min-height:300vh !important;
}

#ascx_17580 .asc-systems-cinematic{
	min-height:340vh !important;
}

/* 2. Reduce forced tall sticky minimums.
   Very tall min-height values make laptop screens feel cramped/sluggish. */
#ascx_17580 .asc-cinematic-sticky{
	min-height:560px !important;
}

#ascx_17580 .asc-audit-flow-sticky{
	min-height:560px !important;
}

#ascx_17580 .asc-systems-cinematic-sticky{
	min-height:620px !important;
}

/* 3. Stop animating expensive image filters.
   Dynamic blur/filter on large full-screen images is one of the biggest causes of jank. */
#ascx_17580 .asc-cinematic-media img,
#ascx_17580 .asc-audit-flow-media img,
#ascx_17580 .asc-systems-cinematic-media img{
	filter:none !important;
	opacity:.86 !important;
	transform:translateZ(0) !important;
	backface-visibility:hidden !important;
	will-change:auto !important;
}

/* Keep the dark premium look using overlays, not image filters */
#ascx_17580 .asc-cinematic-gradient,
#ascx_17580 .asc-audit-flow-gradient,
#ascx_17580 .asc-systems-cinematic-gradient{
	background:
		linear-gradient(90deg,rgba(7,25,35,.86),rgba(7,25,35,.54) 38%,rgba(7,25,35,.54) 62%,rgba(7,25,35,.86)),
		linear-gradient(180deg,rgba(7,25,35,.78),rgba(7,25,35,.38) 48%,rgba(7,25,35,.90)) !important;
}

/* 4. Improve GPU compositing for animated layers */
#ascx_17580 .asc-cinematic-media,
#ascx_17580 .asc-audit-flow-media,
#ascx_17580 .asc-systems-cinematic-media,
#ascx_17580 .asc-cinematic-content,
#ascx_17580 .asc-cine-phase-two,
#ascx_17580 .asc-cine-phase-three,
#ascx_17580 .asc-cine-phase-four,
#ascx_17580 .asc-audit-flow-phase,
#ascx_17580 .asc-systems-cinematic-phase{
	backface-visibility:hidden !important;
	transform-style:flat !important;
}

/* 5. Remove blur from moving article panels/cards in cinematic-style sections */
#ascx_17580 .asc-service-animated-card,
#ascx_17580 .asc-trust-node,
#ascx_17580 .asc-stack-panel{
	filter:none !important;
}

/* 6. Better behaviour on shorter laptop screens */
@media (min-width:901px) and (max-height:780px){
	#ascx_17580 .asc-cinematic-intro{
		min-height:300vh !important;
	}

	#ascx_17580 .asc-audit-hero-flow{
		min-height:280vh !important;
	}

	#ascx_17580 .asc-systems-cinematic{
		min-height:320vh !important;
	}

	#ascx_17580 .asc-cinematic-sticky,
	#ascx_17580 .asc-audit-flow-sticky,
	#ascx_17580 .asc-systems-cinematic-sticky{
		min-height:100svh !important;
	}
}

#ascx_17580 .asc-audit-review-lite{
	background:rgba(255,255,255,.90) !important;
}

#ascx_17580 .asc-review-lite-grid{
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:12px !important;
	margin-bottom:16px !important;
}

#ascx_17580 .asc-review-lite-item{
	padding:16px !important;
	border-radius:16px !important;
	background:#FFFFFF !important;
	border:1px solid #E2EAF0 !important;
	text-align:left !important;
	box-shadow:0 8px 18px rgba(16,24,40,.06) !important;
}

#ascx_17580 .asc-review-lite-item strong{
	display:block !important;
	margin-bottom:6px !important;
	color:#163247 !important;
	font-size:14px !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-review-lite-item span{
	display:block !important;
	color:#5A6F7D !important;
	font-size:12.5px !important;
	line-height:1.5 !important;
	font-weight:650 !important;
}

@media (max-width:900px){
	#ascx_17580 .asc-review-lite-grid{
		grid-template-columns:1fr !important;
	}
}


/* =========================================================
   ASC CINEMATIC SMOOTH SCROLL FIX
   Targets: Welcome, Client Reviews, Toolkits/Template slides
   Purpose: smoother scroll on high-end and low-end computers
========================================================= */

/* Stop large background layers from being animated every scroll frame */
#ascx_17580 .asc-cinematic-media,
#ascx_17580 .asc-audit-flow-media,
#ascx_17580 .asc-systems-cinematic-media{
	transform:translateZ(0) scale(1.03) !important;
	will-change:auto !important;
	backface-visibility:hidden !important;
	contain:paint !important;
}

/* Keep images visually stable and cheap to paint */
#ascx_17580 .asc-cinematic-media img,
#ascx_17580 .asc-audit-flow-media img,
#ascx_17580 .asc-systems-cinematic-media img{
	filter:none !important;
	opacity:.84 !important;
	transform:none !important;
	will-change:auto !important;
	backface-visibility:hidden !important;
}

/* Make the sticky containers smoother without risking sticky clipping */
#ascx_17580 .asc-cinematic-sticky,
#ascx_17580 .asc-audit-flow-sticky,
#ascx_17580 .asc-systems-cinematic-sticky{
	transform:translateZ(0) !important;
	backface-visibility:hidden !important;
	isolation:isolate !important;
}


/* Reduce expensive glass/shadow paint on the problem slides */
#ascx_17580 .asc-cine-phase-two::before,
#ascx_17580 .asc-cine-phase-three::before,
#ascx_17580 .asc-audit-flow-phase::before{
	background:rgba(18,42,58,.72) !important;
	border:1px solid rgba(255,255,255,.18) !important;
	box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}

/* Lighter toolkit glass panel */
#ascx_17580 .asc-systems-about-inner,
#ascx_17580 .asc-toolkits-about-inner{
	background:rgba(18,42,58,.72) !important;
	box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
}

/* Reduce repaint pressure inside the template/toolkit slide */
#ascx_17580 .asc-toolkits-about-card,
#ascx_17580 .asc-toolkits-about-media,
#ascx_17580 .asc-audit-review-shell{
	box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
	contain:paint !important;
}

/* Prevent hidden/offscreen cinematic phases from catching unnecessary interaction */
#ascx_17580 .asc-cinematic-content,
#ascx_17580 .asc-cine-phase-two,
#ascx_17580 .asc-cine-phase-three,
#ascx_17580 .asc-cine-phase-four,
#ascx_17580 .asc-audit-flow-phase,
#ascx_17580 .asc-systems-cinematic-phase{
	backface-visibility:hidden !important;
	transform-style:flat !important;
}

/* Shorten the three expensive scroll scenes slightly */
#ascx_17580 .asc-cinematic-intro{
	min-height:280vh !important;
}

#ascx_17580 .asc-audit-hero-flow{
	min-height:260vh !important;
}

#ascx_17580 .asc-systems-cinematic{
	min-height:300vh !important;
}

/* ---------------------------------------------------------
   Low-end / lite-motion mode
   JS will add .asc-lite-motion on weaker devices.
   This removes sticky cinematic behaviour and stacks the slides.
--------------------------------------------------------- */

#ascx_17580.asc-lite-motion .asc-cinematic-intro,
#ascx_17580.asc-lite-motion .asc-audit-hero-flow,
#ascx_17580.asc-lite-motion .asc-systems-cinematic{
	min-height:auto !important;
	padding:56px 0 !important;
	overflow:hidden !important;
}

#ascx_17580.asc-lite-motion .asc-cinematic-sticky,
#ascx_17580.asc-lite-motion .asc-audit-flow-sticky,
#ascx_17580.asc-lite-motion .asc-systems-cinematic-sticky{
	position:relative !important;
	top:auto !important;
	height:auto !important;
	min-height:auto !important;
	overflow:visible !important;
	display:block !important;
}

#ascx_17580.asc-lite-motion .asc-cinematic-content,
#ascx_17580.asc-lite-motion .asc-cine-phase-two,
#ascx_17580.asc-lite-motion .asc-cine-phase-three,
#ascx_17580.asc-lite-motion .asc-cine-phase-four,
#ascx_17580.asc-lite-motion .asc-audit-flow-phase,
#ascx_17580.asc-lite-motion .asc-systems-cinematic-phase{
	position:relative !important;
	left:auto !important;
	top:auto !important;
	width:min(1120px, calc(100% - 36px)) !important;
	margin:0 auto 28px !important;
	opacity:1 !important;
	transform:none !important;
	filter:none !important;
}

#ascx_17580.asc-lite-motion .asc-cinematic-scroll-hint,
#ascx_17580.asc-lite-motion .asc-audit-flow-scroll-hint{
	display:none !important;
}

/* Make lite mode feel deliberate, not broken */
#ascx_17580.asc-lite-motion .asc-cinematic-content,
#ascx_17580.asc-lite-motion .asc-cine-phase-two,
#ascx_17580.asc-lite-motion .asc-cine-phase-three,
#ascx_17580.asc-lite-motion .asc-audit-flow-phase{
	padding:24px !important;
	border-radius:24px !important;
	background:rgba(18,42,58,.76) !important;
	border:1px solid rgba(255,255,255,.18) !important;
	box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}

/* Lite mode: make services a normal fast section on low-end devices */
#ascx_17580.asc-lite-motion .asc-services-showcase{
	min-height:auto !important;
	padding:64px 0 !important;
	overflow:hidden !important;
}

#ascx_17580.asc-lite-motion .asc-services-showcase .asc-container{
	position:relative !important;
	top:auto !important;
	min-height:auto !important;
	display:block !important;
	padding-top:0 !important;
	padding-bottom:0 !important;
	perspective:none !important;
}

#ascx_17580.asc-lite-motion .asc-services-grid{
	transform-style:flat !important;
	perspective:none !important;
}

#ascx_17580.asc-lite-motion .asc-services-heading{
	opacity:1 !important;
	transform:none !important;
}

#ascx_17580.asc-lite-motion .asc-service-animated-card{
	opacity:1 !important;
	filter:none !important;
	transform:none !important;
	will-change:auto !important;
}

/* =========================================================
   ASC SYSTEMS STATIC PREMIUM SECTION PATCH
   Converts Toolkits / FSMS / FSSC / Public Health section
   from cramped cinematic slides into a polished content hub
========================================================= */

#ascx_17580 .asc-systems-static{
	min-height:auto !important;
	padding:92px 0 104px !important;
	overflow:hidden !important;
	background:
		radial-gradient(circle at 8% 10%, rgba(123,166,58,.12), transparent 30%),
		radial-gradient(circle at 92% 12%, rgba(224,90,97,.08), transparent 32%),
		linear-gradient(180deg,#F8FAFB 0%,#FFFFFF 46%,#F7FAF2 100%) !important;
	color:#4C6170 !important;
	isolation:isolate !important;
}

#ascx_17580 .asc-systems-static .asc-systems-cinematic-sticky{
	position:relative !important;
	top:auto !important;
	height:auto !important;
	min-height:auto !important;
	overflow:visible !important;
	display:grid !important;
	gap:34px !important;
	background:transparent !important;
}

#ascx_17580 .asc-systems-static .asc-systems-cinematic-stage,
#ascx_17580 .asc-systems-static .asc-cinematic-scroll-hint{
	display:none !important;
}

#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
	position:relative !important;
	left:auto !important;
	top:auto !important;
	width:min(1240px, calc(100% - 64px)) !important;
	margin:0 auto !important;
	opacity:1 !important;
	transform:none !important;
	filter:none !important;
	will-change:auto !important;
}

#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase + .asc-systems-cinematic-phase{
	margin-top:0 !important;
}

/* Main white panels */

#ascx_17580 .asc-systems-static .asc-systems-about-inner,
#ascx_17580 .asc-systems-static .asc-toolkits-about-inner{
	width:100% !important;
	padding:30px !important;
	border-radius:34px !important;
	background:#FFFFFF !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 22px 52px rgba(16,24,40,.085) !important;
	overflow:hidden !important;
	color:#4C6170 !important;
}

#ascx_17580 .asc-systems-static .asc-systems-about-inner::before,
#ascx_17580 .asc-systems-static .asc-systems-about-inner::after,
#ascx_17580 .asc-systems-static .asc-toolkits-about-bg{
	display:none !important;
	content:none !important;
}

/* Add top accent line */

#ascx_17580 .asc-systems-static .asc-systems-about-inner::before,
#ascx_17580 .asc-systems-static .asc-toolkits-about-inner::before{
	content:"" !important;
	display:block !important;
	position:absolute !important;
	left:36px !important;
	right:36px !important;
	top:0 !important;
	height:5px !important;
	border-radius:0 0 999px 999px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 48%,#E05A61 100%) !important;
	z-index:5 !important;
}

/* Layouts */

#ascx_17580 .asc-systems-static .asc-toolkits-about-layout,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-split,
#ascx_17580 .asc-systems-static .asc-fsms-about-panel .asc-systems-split,
#ascx_17580 .asc-systems-static .asc-public-health-about-panel .asc-systems-split{
	display:grid !important;
	grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr) !important;
	gap:26px !important;
	align-items:stretch !important;
}

/* Image panels */

#ascx_17580 .asc-systems-static .asc-toolkits-about-media,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media{
	min-height:100% !important;
	height:auto !important;
	border-radius:26px !important;
	overflow:hidden !important;
	background:#EEF3F6 !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 14px 34px rgba(16,24,40,.075) !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
	width:100% !important;
	height:100% !important;
	min-height:420px !important;
	object-fit:cover !important;
	object-position:center !important;
	filter:none !important;
	opacity:1 !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-media::after,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	background:
		linear-gradient(180deg, rgba(7,25,35,.05) 0%, rgba(7,25,35,.58) 100%),
		linear-gradient(90deg, rgba(7,25,35,.42), transparent 58%) !important;
	pointer-events:none !important;
}

/* Image labels */

#ascx_17580 .asc-systems-static .asc-toolkits-about-image-title,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-image-title{
	left:18px !important;
	right:18px !important;
	top:18px !important;
	padding:15px 16px !important;
	border-radius:18px !important;
	background:rgba(255,255,255,.94) !important;
	border:1px solid rgba(255,255,255,.72) !important;
	box-shadow:0 12px 28px rgba(16,24,40,.13) !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-image-title strong,
#ascx_17580 .asc-systems-static .asc-systems-image-title strong{
	color:#163247 !important;
	font-size:14px !important;
	line-height:1.25 !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-image-title span,
#ascx_17580 .asc-systems-static .asc-systems-image-title span{
	color:#5A6F7D !important;
	font-size:12px !important;
	line-height:1.45 !important;
}

/* Badges */

#ascx_17580 .asc-systems-static .asc-toolkits-about-badges,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-badges{
	left:18px !important;
	right:18px !important;
	bottom:18px !important;
	gap:8px !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-badges span,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-badges span{
	padding:8px 11px !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.94) !important;
	border:1px solid rgba(255,255,255,.72) !important;
	color:#163247 !important;
	font-size:10.5px !important;
	font-weight:950 !important;
}

/* Content cards */

#ascx_17580 .asc-systems-static .asc-toolkits-about-card,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card{
	padding:28px !important;
	border-radius:28px !important;
	background:
		radial-gradient(circle at 100% 0%, rgba(123,166,58,.10), transparent 34%),
		linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%) !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 12px 30px rgba(16,24,40,.055) !important;
	color:#4C6170 !important;
}

/* Icons */

#ascx_17580 .asc-systems-static .asc-toolkits-about-card .asc-icon,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card .asc-icon{
	width:52px !important;
	height:52px !important;
	margin:0 0 16px !important;
	border-radius:16px !important;
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	box-shadow:none !important;
	font-size:22px !important;
}

/* Headings */

#ascx_17580 .asc-systems-static .asc-systems-heading,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading{
	max-width:920px !important;
	margin:0 auto 22px !important;
	text-align:left !important;
}

#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-heading{
	text-align:center !important;
}

#ascx_17580 .asc-systems-static .asc-systems-heading .asc-chip,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading .asc-chip{
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	box-shadow:none !important;
	font-size:10px !important;
	padding:8px 13px !important;
}

#ascx_17580 .asc-systems-static .asc-systems-heading h2,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading h2,
#ascx_17580 .asc-systems-static .asc-toolkits-about-card h3,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card h3{
	color:#163247 !important;
	text-shadow:none !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-systems-static .asc-systems-heading h2,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading h2{
	margin:14px 0 12px !important;
	font-size:clamp(28px,2.6vw,42px) !important;
	line-height:1.06 !important;
	letter-spacing:-.055em !important;
}

#ascx_17580 .asc-systems-static .asc-systems-heading p,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading p,
#ascx_17580 .asc-systems-static .asc-toolkits-about-card p,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card p{
	color:#5A6F7D !important;
	text-shadow:none !important;
	font-size:15px !important;
	line-height:1.7 !important;
	font-weight:600 !important;
}

/* Toolkit and FSSC post grids */

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cardgrid,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-systems-cardgrid{
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	gap:14px !important;
	margin-top:20px !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-card,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-card,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-card{
	min-height:auto !important;
	border-radius:20px !important;
	background:#FFFFFF !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 8px 20px rgba(16,24,40,.055) !important;
	overflow:hidden !important;
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-card:hover,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-card:hover,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-card:hover{
	transform:translateY(-4px) !important;
	border-color:#D6E6C2 !important;
	box-shadow:0 14px 32px rgba(16,24,40,.085) !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-card::before,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-card::before,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-card::before{
	height:4px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 100%) !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-image,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-image,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-image{
	aspect-ratio:16 / 8.2 !important;
	max-height:none !important;
	min-height:0 !important;
	border-bottom:1px solid #E7EDF2 !important;
	background:#EEF3F6 !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-image img,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-image img,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-image img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	filter:none !important;
	opacity:1 !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-card h3,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-card h3,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-card h3{
	margin:14px 16px 8px !important;
	color:#1D2D3A !important;
	font-size:14px !important;
	line-height:1.28 !important;
	font-weight:900 !important;
	text-shadow:none !important;
	display:-webkit-box !important;
	-webkit-line-clamp:3 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-card-link,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-card-link,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-card-link{
	margin:0 16px 16px !important;
	color:#5F812D !important;
	font-size:12.5px !important;
	line-height:1.3 !important;
	font-weight:950 !important;
	text-decoration:none !important;
}

/* Lists */

#ascx_17580 .asc-systems-static .asc-systems-list,
#ascx_17580 .asc-systems-static .asc-systems-list-2{
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	gap:10px !important;
	margin-top:18px !important;
}

#ascx_17580 .asc-systems-static .asc-systems-list li,
#ascx_17580 .asc-systems-static .asc-systems-dark-card .asc-systems-list li{
	padding:11px 12px !important;
	border-radius:14px !important;
	background:#F8FAFB !important;
	border:1px solid #E2EAF0 !important;
	color:#4C6170 !important;
	font-size:13px !important;
	line-height:1.35 !important;
	font-weight:800 !important;
	min-height:auto !important;
}

#ascx_17580 .asc-systems-static .asc-systems-list .asc-check,
#ascx_17580 .asc-systems-static .asc-systems-dark-card .asc-systems-list .asc-check{
	width:20px !important;
	height:20px !important;
	min-width:20px !important;
	background:#F3F8EA !important;
	border:1px solid #D9E8C3 !important;
	color:#7BA63A !important;
	font-size:12px !important;
}

/* CTA cards */

#ascx_17580 .asc-systems-static .asc-toolkits-about-cta,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card{
	margin-top:22px !important;
	padding:18px 20px !important;
	border-radius:22px !important;
	background:
		radial-gradient(circle at 100% 0%, rgba(123,166,58,.11), transparent 38%),
		linear-gradient(180deg,#F8FBF5 0%,#FFFFFF 100%) !important;
	border:1px solid #D9E8C3 !important;
	box-shadow:none !important;
	color:#4C6170 !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cta strong,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card strong,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card strong{
	color:#163247 !important;
	font-size:15px !important;
	line-height:1.3 !important;
	text-shadow:none !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cta span,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card span,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card span{
	color:#5A6F7D !important;
	font-size:13px !important;
	line-height:1.55 !important;
}

/* Button sizing inside this section */

#ascx_17580 .asc-systems-static .asc-btn{
	min-height:46px !important;
	padding:12px 17px !important;
	font-size:13px !important;
	border-radius:12px !important;
}

/* FSSC panel should look like a focused article block */

#ascx_17580 .asc-systems-static .asc-fssc-about-panel{
	text-align:center !important;
}

#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cardgrid{
	width:100% !important;
	margin-top:24px !important;
}

#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta{
	margin-top:24px !important;
}

/* Responsive */

@media (max-width:1180px){
	#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
		width:min(100%, calc(100% - 40px)) !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-layout,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-split,
	#ascx_17580 .asc-systems-static .asc-fsms-about-panel .asc-systems-split,
	#ascx_17580 .asc-systems-static .asc-public-health-about-panel .asc-systems-split{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
		min-height:320px !important;
	}
}

@media (max-width:767px){
	#ascx_17580 .asc-systems-static{
		padding:58px 0 66px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-sticky{
		gap:24px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
		width:calc(100% - 28px) !important;
		margin:0 auto !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-about-inner,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-inner{
		padding:20px !important;
		border-radius:24px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-card,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card{
		padding:22px !important;
		border-radius:22px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cardgrid,
	#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-systems-cardgrid,
	#ascx_17580 .asc-systems-static .asc-systems-list,
	#ascx_17580 .asc-systems-static .asc-systems-list-2{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
		min-height:240px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cta,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card{
		display:block !important;
		text-align:left !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cta .asc-btn,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card .asc-btn,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card .asc-btn{
		margin-top:14px !important;
		width:100% !important;
	}
}

/* =========================================================
   ASC SYSTEMS STATIC COMPACT FIX
   Makes Toolkits / FSMS / FSSC / Public Health smaller,
   prevents cut-off text, and removes oversized blocks.
   PLACE THIS AFTER THE EXISTING STATIC PATCH.
========================================================= */

/* Overall section: reduce vertical size */
#ascx_17580 .asc-systems-static{
	padding:54px 0 62px !important;
	background:
		radial-gradient(circle at 8% 10%, rgba(123,166,58,.08), transparent 28%),
		radial-gradient(circle at 92% 12%, rgba(224,90,97,.05), transparent 30%),
		linear-gradient(180deg,#F8FAFB 0%,#FFFFFF 52%,#F7FAF2 100%) !important;
	overflow:visible !important;
}

/* Reduce spacing between the four main blocks */
#ascx_17580 .asc-systems-static .asc-systems-cinematic-sticky{
	gap:22px !important;
	display:grid !important;
	overflow:visible !important;
}

/* Main phase width: slightly narrower, cleaner */
#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
	width:min(1120px, calc(100% - 44px)) !important;
	margin:0 auto !important;
	overflow:visible !important;
}

/* Main panels: smaller, no clipping */
#ascx_17580 .asc-systems-static .asc-systems-about-inner,
#ascx_17580 .asc-systems-static .asc-toolkits-about-inner{
	padding:18px !important;
	border-radius:24px !important;
	box-shadow:0 12px 28px rgba(16,24,40,.07) !important;
	overflow:visible !important;
}

/* Accent line: smaller and less loud */
#ascx_17580 .asc-systems-static .asc-systems-about-inner::before,
#ascx_17580 .asc-systems-static .asc-toolkits-about-inner::before{
	left:24px !important;
	right:24px !important;
	height:4px !important;
}

/* Two-column layout: make image column smaller */
#ascx_17580 .asc-systems-static .asc-toolkits-about-layout,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-split,
#ascx_17580 .asc-systems-static .asc-fsms-about-panel .asc-systems-split,
#ascx_17580 .asc-systems-static .asc-public-health-about-panel .asc-systems-split{
	grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr) !important;
	gap:16px !important;
	align-items:start !important;
}

/* Image blocks: reduce height heavily */
#ascx_17580 .asc-systems-static .asc-toolkits-about-media,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media{
	min-height:240px !important;
	height:240px !important;
	border-radius:18px !important;
	overflow:hidden !important;
	box-shadow:0 8px 20px rgba(16,24,40,.06) !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img,
#ascx_17580 .asc-systems-static .asc-fsms-about-panel .asc-systems-media img,
#ascx_17580 .asc-systems-static .asc-public-health-about-panel .asc-systems-media img{
	min-height:240px !important;
	height:240px !important;
	max-height:240px !important;
	object-fit:cover !important;
}

/* Image labels: smaller */
#ascx_17580 .asc-systems-static .asc-toolkits-about-image-title,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-image-title{
	left:12px !important;
	right:12px !important;
	top:12px !important;
	padding:10px 11px !important;
	border-radius:13px !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-image-title strong,
#ascx_17580 .asc-systems-static .asc-systems-image-title strong{
	font-size:12px !important;
	line-height:1.25 !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-image-title span,
#ascx_17580 .asc-systems-static .asc-systems-image-title span{
	font-size:10.5px !important;
	line-height:1.35 !important;
}

/* Badges: smaller and tighter */
#ascx_17580 .asc-systems-static .asc-toolkits-about-badges,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-badges{
	left:12px !important;
	right:12px !important;
	bottom:12px !important;
	gap:5px !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-badges span,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-badges span{
	padding:5px 7px !important;
	font-size:8.8px !important;
	line-height:1 !important;
}

/* Content card: much more compact */
#ascx_17580 .asc-systems-static .asc-toolkits-about-card,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card{
	padding:18px !important;
	border-radius:20px !important;
	box-shadow:0 8px 18px rgba(16,24,40,.045) !important;
	overflow:visible !important;
}

/* Icons: smaller */
#ascx_17580 .asc-systems-static .asc-toolkits-about-card .asc-icon,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card .asc-icon{
	width:40px !important;
	height:40px !important;
	min-width:40px !important;
	margin:0 0 10px !important;
	border-radius:12px !important;
	font-size:18px !important;
}

/* Section headings: reduce size */
#ascx_17580 .asc-systems-static .asc-systems-heading,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading{
	margin:0 0 14px !important;
	max-width:100% !important;
}

#ascx_17580 .asc-systems-static .asc-systems-heading .asc-chip,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading .asc-chip{
	font-size:8.8px !important;
	padding:6px 10px !important;
	letter-spacing:.09em !important;
}

#ascx_17580 .asc-systems-static .asc-systems-heading h2,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading h2{
	margin:10px 0 8px !important;
	font-size:clamp(21px,1.65vw,30px) !important;
	line-height:1.08 !important;
	letter-spacing:-.04em !important;
}

#ascx_17580 .asc-systems-static .asc-systems-heading p,
#ascx_17580 .asc-systems-static .asc-toolkits-about-heading p,
#ascx_17580 .asc-systems-static .asc-toolkits-about-card p,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card p{
	font-size:13px !important;
	line-height:1.55 !important;
	font-weight:600 !important;
}

/* Toolkit and article grids: tighter */
#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cardgrid,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-systems-cardgrid{
	gap:10px !important;
	margin-top:14px !important;
}

/* Cards: smaller, no forced oversized height */
#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-card,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-card,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-card{
	min-height:0 !important;
	border-radius:15px !important;
	box-shadow:0 5px 14px rgba(16,24,40,.045) !important;
	overflow:visible !important;
}

/* Hide images inside the small toolkit/article cards.
   This makes the section much shorter and avoids visual repetition. */
#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-image,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-image,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-image{
	display:none !important;
}

/* IMPORTANT: remove title cut-off */
#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-card h3,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-card h3,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-card h3{
	margin:14px 14px 8px !important;
	color:#1D2D3A !important;
	font-size:12.5px !important;
	line-height:1.3 !important;
	font-weight:850 !important;
	text-shadow:none !important;

	display:block !important;
	-webkit-line-clamp:unset !important;
	-webkit-box-orient:unset !important;
	overflow:visible !important;
	min-height:0 !important;
}

/* Card links: tighter */
#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-card-link,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-card-link,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-card-link{
	margin:0 14px 14px !important;
	padding-top:8px !important;
	border-top:1px solid #EDF2F5 !important;
	font-size:11.2px !important;
	line-height:1.2 !important;
}

/* FSMS / Public Health lists: smaller and no cut-off */
#ascx_17580 .asc-systems-static .asc-systems-list,
#ascx_17580 .asc-systems-static .asc-systems-list-2{
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	gap:7px !important;
	margin-top:12px !important;
}

#ascx_17580 .asc-systems-static .asc-systems-list li,
#ascx_17580 .asc-systems-static .asc-systems-dark-card .asc-systems-list li{
	padding:7px 8px !important;
	border-radius:10px !important;
	font-size:11.3px !important;
	line-height:1.25 !important;
	font-weight:750 !important;
	min-height:0 !important;
	overflow:visible !important;
}

#ascx_17580 .asc-systems-static .asc-systems-list .asc-check,
#ascx_17580 .asc-systems-static .asc-systems-dark-card .asc-systems-list .asc-check{
	width:17px !important;
	height:17px !important;
	min-width:17px !important;
	font-size:10px !important;
	margin-top:0 !important;
}

/* CTA cards: smaller */
#ascx_17580 .asc-systems-static .asc-toolkits-about-cta,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card{
	margin-top:14px !important;
	padding:12px 14px !important;
	border-radius:16px !important;
	gap:12px !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cta strong,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card strong,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card strong{
	font-size:12.5px !important;
	line-height:1.25 !important;
}

#ascx_17580 .asc-systems-static .asc-toolkits-about-cta span,
#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card span,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card span{
	font-size:11px !important;
	line-height:1.35 !important;
}

/* Buttons inside this section */
#ascx_17580 .asc-systems-static .asc-btn{
	min-height:38px !important;
	padding:9px 12px !important;
	font-size:11.5px !important;
	border-radius:10px !important;
}

/* FSSC resources panel: make it compact */
#ascx_17580 .asc-systems-static .asc-fssc-about-panel{
	padding:20px !important;
	text-align:left !important;
}

#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-heading{
	text-align:left !important;
	margin-bottom:14px !important;
}

#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cardgrid{
	width:100% !important;
	margin-top:12px !important;
}

/* Remove hover lift from this compact section to prevent awkward overflow */
#ascx_17580 .asc-systems-static .asc-post-card:hover,
#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid .asc-post-card:hover,
#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-post-card:hover,
#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-post-card:hover{
	transform:none !important;
}

/* Medium screens */
@media (max-width:1180px){
	#ascx_17580 .asc-systems-static{
		padding:44px 0 52px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
		width:calc(100% - 36px) !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-layout,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-split,
	#ascx_17580 .asc-systems-static .asc-fsms-about-panel .asc-systems-split,
	#ascx_17580 .asc-systems-static .asc-public-health-about-panel .asc-systems-split{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-media,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
		height:210px !important;
		min-height:210px !important;
		max-height:210px !important;
	}
}

/* Mobile */
@media (max-width:767px){
	#ascx_17580 .asc-systems-static{
		padding:38px 0 44px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-sticky{
		gap:18px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
		width:calc(100% - 24px) !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-about-inner,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-inner{
		padding:14px !important;
		border-radius:20px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-card,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card{
		padding:15px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-media,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
		height:190px !important;
		min-height:190px !important;
		max-height:190px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-heading h2,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-heading h2{
		font-size:22px !important;
		line-height:1.12 !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cardgrid,
	#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-systems-cardgrid,
	#ascx_17580 .asc-systems-static .asc-systems-list,
	#ascx_17580 .asc-systems-static .asc-systems-list-2{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cta,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card{
		display:block !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cta .asc-btn,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card .asc-btn,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card .asc-btn{
		width:100% !important;
		margin-top:10px !important;
	}
}

/* =========================================================
   ASC HOME RESPONSIVE MASTER PATCH
   Tablets, small tablets, mobile and small phones
   PLACE THIS AT THE VERY END OF THE EXISTING <style>
========================================================= */


/* =========================================================
   1. Tablet landscape / smaller laptop safety
   1180px and below
========================================================= */

@media (max-width:1180px){

	#ascx_17580{
		overflow-x:hidden !important;
	}

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		max-width:100% !important;
		padding-left:24px !important;
		padding-right:24px !important;
	}

	#ascx_17580 .asc-section{
		padding-top:56px !important;
		padding-bottom:56px !important;
	}

	#ascx_17580 .asc-section + .asc-section{
		padding-top:48px !important;
	}

	#ascx_17580 .asc-heading{
		margin-bottom:30px !important;
	}

	#ascx_17580 .asc-heading h2{
		font-size:clamp(28px,4vw,40px) !important;
		line-height:1.08 !important;
	}

	#ascx_17580 .asc-heading p{
		font-size:15.5px !important;
		line-height:1.7 !important;
	}

	#ascx_17580 .asc-grid-4{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	#ascx_17580 .asc-grid-3{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	#ascx_17580 .asc-grid-2{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-card,
	#ascx_17580 .asc-panel,
	#ascx_17580 .asc-service-card,
	#ascx_17580 .asc-resource-card,
	#ascx_17580 .asc-article-card,
	#ascx_17580 .asc-legal-card,
	#ascx_17580 .asc-contact-card,
	#ascx_17580 .asc-post-card{
		border-radius:20px !important;
	}

	/* Hide desktop section dots on tablet */
	#ascx_17580 .asc-section-dots-wrap,
	#ascx_17580 .asc-section-dots{
		display:none !important;
	}

	/* Mobile section button appears on tablet */
	#ascx_17580 .asc-mobile-sections-toggle{
		display:inline-flex !important;
		left:18px !important;
		bottom:88px !important;
		width:56px !important;
		height:56px !important;
		min-height:56px !important;
		padding:0 !important;
		border-radius:50% !important;
		justify-content:center !important;
		align-items:center !important;
		z-index:10020 !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle-text{
		display:none !important;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		left:18px !important;
		right:18px !important;
		bottom:156px !important;
		max-height:64vh !important;
		border-radius:22px !important;
	}

	/* Sticky CTA becomes circular on tablet */
	#ascx_17580 .asc-sticky-cta{
		display:flex !important;
		right:18px !important;
		bottom:88px !important;
		padding:0 !important;
		background:transparent !important;
		border:0 !important;
		box-shadow:none !important;
		backdrop-filter:none !important;
	}

	#ascx_17580 .asc-sticky-cta .label{
		display:none !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-btn{
		width:56px !important;
		height:56px !important;
		min-height:56px !important;
		padding:0 !important;
		border-radius:50% !important;
		justify-content:center !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-text{
		display:none !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-icon{
		width:20px !important;
		height:20px !important;
		font-size:16px !important;
	}

	/* Contact area */
	#ascx_17580 .asc-contact-wrap{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-contact-left,
	#ascx_17580 .asc-form-shell,
	#ascx_17580 .asccontact-form-shell{
		padding:30px !important;
	}

	/* Training section */
	#ascx_17580 #asc-training .asc-training-shell{
		grid-template-columns:1fr !important;
		gap:24px !important;
	}

	#ascx_17580 #asc-training .asc-training-control-panel{
		position:relative !important;
		top:auto !important;
		padding:26px !important;
	}

	#ascx_17580 #asc-training .asc-training-carddeck{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	/* Trust constellation becomes a normal grid */
	#ascx_17580 .asc-trust-stage{
		min-height:auto !important;
		display:block !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-trust-stage::before,
	#ascx_17580 .asc-trust-stage::after{
		display:none !important;
	}

	#ascx_17580 .asc-trust-core{
		margin:0 auto 24px !important;
		transform:none !important;
		opacity:1 !important;
	}

	#ascx_17580 .asc-trust-nodes{
		position:relative !important;
		inset:auto !important;
		display:grid !important;
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		gap:16px !important;
		pointer-events:auto !important;
	}

	#ascx_17580 .asc-trust-node,
	#ascx_17580 .asc-trust-node-wide{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:auto !important;
		min-height:120px !important;
		opacity:1 !important;
		filter:none !important;
		transform:none !important;
	}

	#ascx_17580 .asc-trust-footer{
		flex-direction:column !important;
		align-items:flex-start !important;
	}

	#ascx_17580 .asc-trust-footer .asc-btn{
		width:100% !important;
	}

	/* Dual article stack becomes normal sections */
	#ascx_17580 .asc-dual-stack{
		min-height:auto !important;
		padding:58px 0 66px !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-dual-stack-sticky{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:auto !important;
		display:block !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
		overflow:visible !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-stack-panel{
		position:relative !important;
		left:auto !important;
		right:auto !important;
		top:auto !important;
		opacity:1 !important;
		filter:none !important;
		transform:none !important;
	}

	#ascx_17580 .asc-stack-panel + .asc-stack-panel{
		margin-top:24px !important;
	}

	#ascx_17580 .asc-stack-panel-inner{
		max-height:none !important;
		overflow:visible !important;
	}
}


/* =========================================================
   2. Tablet portrait / iPad / small laptop
   1024px and below
========================================================= */

@media (max-width:1024px){

	/* Entry gateway stacks better on portrait tablets */
	#ascx_17580 .asc-entry-gateway-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-entry-gateway::before{
		display:none !important;
	}

	#ascx_17580 .asc-entry-panel{
		min-height:50svh !important;
		padding:34px 24px !important;
	}

	#ascx_17580 .asc-entry-content{
		width:min(520px,100%) !important;
		padding:28px 24px !important;
	}

	#ascx_17580 .asc-entry-content h2{
		font-size:clamp(30px,6vw,48px) !important;
	}

	/* Turn heavy cinematic sections into stacked premium sections on tablet */
	#ascx_17580 .asc-cinematic-intro,
	#ascx_17580 .asc-audit-hero-flow{
		min-height:auto !important;
		padding:60px 0 !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cinematic-sticky,
	#ascx_17580 .asc-audit-flow-sticky{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
		display:block !important;
	}

	#ascx_17580 .asc-cinematic-stage,
	#ascx_17580 .asc-audit-flow-stage{
		position:absolute !important;
		inset:0 !important;
		height:100% !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:min(920px, calc(100% - 48px)) !important;
		margin:0 auto 28px !important;
		opacity:1 !important;
		transform:none !important;
		filter:none !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-audit-flow-phase{
		padding:24px !important;
		border-radius:26px !important;
		background:rgba(18,42,58,.78) !important;
		border:1px solid rgba(255,255,255,.18) !important;
		box-shadow:0 14px 32px rgba(0,0,0,.18) !important;
	}

	#ascx_17580 .asc-cine-phase-four{
		text-align:left !important;
		justify-items:stretch !important;
	}

	#ascx_17580 .asc-cinematic-scroll-hint,
	#ascx_17580 .asc-audit-flow-scroll-hint{
		display:none !important;
	}

	#ascx_17580 .asc-cine-summary-grid,
	#ascx_17580 .asc-audit-about-split{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-cine-image-card,
	#ascx_17580 .asc-audit-about-media{
		min-height:300px !important;
	}

	#ascx_17580 .asc-audit-flow-cardgrid{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	#ascx_17580 .asc-audit-flow-cta{
		flex-direction:column !important;
		align-items:flex-start !important;
	}

	#ascx_17580 .asc-audit-flow-cta .asc-btn{
		width:100% !important;
	}

	/* Services */
	#ascx_17580 .asc-services-showcase{
		min-height:auto !important;
		padding:64px 0 !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-services-showcase .asc-container{
		position:relative !important;
		top:auto !important;
		min-height:auto !important;
		display:block !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-services-grid{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		width:100% !important;
		transform-style:flat !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-service-animated-card{
		min-height:230px !important;
		opacity:1 !important;
		filter:none !important;
		transform:none !important;
		will-change:auto !important;
	}

	/* Online training */
	#ascx_17580 #asc-online-training-options .asc-training-options-compact-card{
		width:100% !important;
		padding:34px 28px !important;
		border-radius:28px !important;
	}

	#ascx_17580 #asc-online-training-options .asc-training-slider-inline{
		padding:20px !important;
	}

	/* Resources */
	#ascx_17580 #asc-resources .asc-resources-hero-shell{
		padding:30px 24px !important;
		border-radius:26px !important;
	}
}


/* =========================================================
   3. Small tablets and large phones
   900px and below
========================================================= */

@media (max-width:900px){

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		padding-left:20px !important;
		padding-right:20px !important;
	}

	#ascx_17580 .asc-section{
		padding-top:50px !important;
		padding-bottom:50px !important;
	}

	#ascx_17580 .asc-grid-4,
	#ascx_17580 .asc-grid-3,
	#ascx_17580 .asc-grid-2,
	#ascx_17580 .asc-services-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-btn-row{
		flex-direction:column !important;
	}

	#ascx_17580 .asc-btn{
		width:100% !important;
		white-space:normal !important;
		text-align:center !important;
	}

	/* Audit cards */
	#ascx_17580 .asc-audit-flow-cardgrid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-review-lite-grid{
		grid-template-columns:1fr !important;
	}

	/* Systems static hub */
	#ascx_17580 .asc-systems-static{
		padding:44px 0 52px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-sticky{
		gap:20px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
		width:calc(100% - 32px) !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-layout,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-split,
	#ascx_17580 .asc-systems-static .asc-fsms-about-panel .asc-systems-split,
	#ascx_17580 .asc-systems-static .asc-public-health-about-panel .asc-systems-split{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-media,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
		height:220px !important;
		min-height:220px !important;
		max-height:220px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cardgrid,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cardgrid,
	#ascx_17580 .asc-systems-static .asc-systems-article-about-inner .asc-systems-cardgrid,
	#ascx_17580 .asc-systems-static .asc-systems-list,
	#ascx_17580 .asc-systems-static .asc-systems-list-2{
		grid-template-columns:1fr !important;
	}

	/* Contact form progress */
	#ascx_17580 .asccontact-form-step-progress{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .wpforms-form .wpforms-field-radio ul,
	#ascx_17580 .wpforms-form .wpforms-field-checkbox ul{
		grid-template-columns:1fr !important;
	}
}


/* =========================================================
   4. Mobile phones
   767px and below
========================================================= */

@media (max-width:767px){

	html,
	body{
		overflow-x:hidden !important;
	}

	#ascx_17580{
		overflow-x:hidden !important;
	}

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		padding-left:16px !important;
		padding-right:16px !important;
	}

	#ascx_17580 .asc-section{
		padding-top:42px !important;
		padding-bottom:42px !important;
	}

	#ascx_17580 .asc-section + .asc-section{
		padding-top:36px !important;
	}

	#ascx_17580 .asc-heading{
		margin-bottom:24px !important;
	}

	#ascx_17580 .asc-heading h2{
		font-size:clamp(25px,8vw,34px) !important;
		line-height:1.1 !important;
		letter-spacing:-.045em !important;
	}

	#ascx_17580 .asc-heading p{
		font-size:14.5px !important;
		line-height:1.65 !important;
	}

	#ascx_17580 .asc-chip{
		font-size:10px !important;
		padding:8px 12px !important;
		letter-spacing:.10em !important;
	}

	#ascx_17580 .asc-card,
	#ascx_17580 .asc-panel,
	#ascx_17580 .asc-service-card,
	#ascx_17580 .asc-resource-card,
	#ascx_17580 .asc-article-card,
	#ascx_17580 .asc-legal-card,
	#ascx_17580 .asc-contact-card,
	#ascx_17580 .asc-post-card{
		padding:22px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-post-card{
		padding:0 !important;
	}

	#ascx_17580 .asc-post-card h3,
	#ascx_17580 .asc-post-card p,
	#ascx_17580 .asc-post-card .asc-card-link{
		margin-left:18px !important;
		margin-right:18px !important;
	}

	#ascx_17580 .asc-post-card h3{
		margin-top:18px !important;
		font-size:18px !important;
	}

	#ascx_17580 .asc-post-card .asc-card-link{
		margin-bottom:20px !important;
	}

	/* Entry gateway mobile */
	#ascx_17580 .asc-entry-gateway{
		min-height:100svh !important;
	}

	#ascx_17580 .asc-entry-panel{
		min-height:50svh !important;
		padding:22px 16px !important;
	}

	#ascx_17580 .asc-entry-content{
		padding:22px 18px !important;
		border-radius:22px !important;
	}

	#ascx_17580 .asc-entry-content h2{
		font-size:clamp(26px,9vw,38px) !important;
		line-height:1.02 !important;
	}

	#ascx_17580 .asc-entry-content p{
		font-size:13.5px !important;
		line-height:1.55 !important;
	}

	#ascx_17580 .asc-entry-choice{
		width:100% !important;
		min-height:46px !important;
		padding:12px 14px !important;
	}

	#ascx_17580 .asc-entry-scroll-note{
		display:none !important;
	}

	/* Mobile floating UI */
	#ascx_17580 .asc-sticky-cta{
		display:none !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle{
		left:14px !important;
		bottom:92px !important;
		width:52px !important;
		height:52px !important;
		min-height:52px !important;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		left:14px !important;
		right:14px !important;
		bottom:154px !important;
		padding:16px !important;
		border-radius:20px !important;
		max-height:62vh !important;
	}

	#ascx_17580 .asc-mobile-dot{
		min-height:50px !important;
		padding:12px 14px !important;
		border-radius:14px !important;
	}

	#ascx_17580 .asc-mobile-dot-icon{
		width:30px !important;
		height:30px !important;
	}

	/* Cinematic sections on mobile */
	#ascx_17580 .asc-cinematic-intro,
	#ascx_17580 .asc-audit-hero-flow,
	#ascx_17580 .asc-systems-cinematic{
		min-height:auto !important;
		padding:44px 0 !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cinematic-sticky,
	#ascx_17580 .asc-audit-flow-sticky,
	#ascx_17580 .asc-systems-cinematic-sticky{
		position:relative !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:calc(100% - 24px) !important;
		margin:0 auto 22px !important;
		opacity:1 !important;
		transform:none !important;
		filter:none !important;
	}

	#ascx_17580 .asc-cinematic-content h2,
	#ascx_17580 .asc-cine-phase-two h3,
	#ascx_17580 .asc-cine-phase-three h1{
		font-size:clamp(28px,9vw,40px) !important;
		line-height:1.02 !important;
	}

	#ascx_17580 .asc-cinematic-content p,
	#ascx_17580 .asc-cine-phase-two p,
	#ascx_17580 .asc-cine-phase-three p{
		font-size:13.5px !important;
		line-height:1.6 !important;
	}

	#ascx_17580 .asc-cine-logo-wrap{
		width:min(240px,76vw) !important;
		margin-bottom:18px !important;
	}

	#ascx_17580 .asc-cine-logo{
		padding:14px !important;
		border-radius:22px !important;
	}

	#ascx_17580 .asc-cine-client-shell{
		padding:10px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-cine-summary-grid,
	#ascx_17580 .asc-cine-stats{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-cine-image-card,
	#ascx_17580 .asc-cine-image-card img{
		min-height:230px !important;
	}

	/* Services */
	#ascx_17580 .asc-services-showcase{
		padding:46px 0 !important;
	}

	#ascx_17580 .asc-service-animated-card{
		min-height:auto !important;
		padding:20px !important;
	}

	#ascx_17580 .asc-service-animated-card h3{
		font-size:18px !important;
	}

	#ascx_17580 .asc-service-animated-card p{
		font-size:13.5px !important;
		line-height:1.6 !important;
	}

	/* Online training proof */
	#ascx_17580 .asc-proof{
		padding-top:46px !important;
		padding-bottom:46px !important;
	}

	#ascx_17580 .asc-dark-card{
		padding:22px !important;
		border-radius:20px !important;
	}

	/* Training matrix */
	#ascx_17580 #asc-training.asc-training-matrix{
		padding:48px 0 54px !important;
	}

	#ascx_17580 #asc-training .asc-training-control-panel{
		padding:22px !important;
		border-radius:22px !important;
	}

	#ascx_17580 #asc-training .asc-training-control-stats{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 #asc-training .asc-training-carddeck{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 #asc-training .asc-training-carddeck .asc-post-card h3{
		min-height:0 !important;
		font-size:15px !important;
		-webkit-line-clamp:unset !important;
	}

	/* Online training slider */
	#ascx_17580 #asc-online-training-options.asc-training-options-compact-section{
		padding:48px 0 54px !important;
	}

	#ascx_17580 #asc-online-training-options .asc-training-options-compact-card{
		width:100% !important;
		padding:24px 18px !important;
		border-radius:22px !important;
	}

	#ascx_17580 #asc-online-training-options .asc-training-slider-inline{
		padding:16px !important;
		border-radius:20px !important;
	}

	#ascx_17580 #asc-online-training-options .asc-training-slider-inline .metaslider img,
	#ascx_17580 #asc-online-training-options .asc-training-slider-inline .metaslider .slides img{
		max-height:140px !important;
	}

	#ascx_17580 #asc-online-training-options .asc-training-slider-note{
		width:100% !important;
		border-radius:16px !important;
		text-align:center !important;
	}

	/* Audit */
	#ascx_17580 .asc-audit-flow-phase{
		padding:20px !important;
		border-radius:22px !important;
	}

	#ascx_17580 .asc-audit-flow-phase h2{
		font-size:clamp(24px,8vw,34px) !important;
		line-height:1.08 !important;
	}

	#ascx_17580 .asc-audit-review-shell{
		padding:14px !important;
		border-radius:20px !important;
	}

	#ascx_17580 .asc-audit-flow-card{
		min-height:auto !important;
		padding:16px !important;
	}

	#ascx_17580 .asc-audit-about-media,
	#ascx_17580 .asc-audit-about-media img{
		min-height:230px !important;
	}

	#ascx_17580 .asc-audit-about-card{
		padding:18px !important;
	}

	/* Systems static */
	#ascx_17580 .asc-systems-static{
		padding:38px 0 44px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-sticky{
		gap:18px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
		width:calc(100% - 24px) !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-about-inner,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-inner{
		padding:14px !important;
		border-radius:20px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-card,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card{
		padding:16px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-media,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
		height:190px !important;
		min-height:190px !important;
		max-height:190px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-heading h2,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-heading h2{
		font-size:22px !important;
		line-height:1.12 !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-heading p,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-heading p,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-card p,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-dark-card p{
		font-size:13px !important;
		line-height:1.55 !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cta,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card{
		display:block !important;
		padding:14px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-cta .asc-btn,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-cta-card .asc-btn,
	#ascx_17580 .asc-systems-static .asc-fssc-about-panel .asc-systems-cta-card .asc-btn{
		width:100% !important;
		margin-top:10px !important;
	}

	/* Resources */
	#ascx_17580 #asc-resources.asc-resources-nexus{
		padding:44px 0 50px !important;
	}

	#ascx_17580 #asc-resources .asc-resources-hero-shell{
		padding:22px 16px !important;
		border-radius:22px !important;
	}

	#ascx_17580 #asc-resources :is(.asc-article-card,.asc-legal-card){
		padding:20px 18px !important;
		border-radius:18px !important;
	}

	/* Article stack */
	#ascx_17580 .asc-dual-stack{
		padding:44px 0 50px !important;
	}

	#ascx_17580 .asc-stack-panel-inner{
		padding:18px !important;
		border-radius:22px !important;
	}

	#ascx_17580 .asc-stack-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-stack-grid .asc-post-image{
		max-height:none !important;
		aspect-ratio:16 / 9 !important;
	}

	#ascx_17580 .asc-stack-grid .asc-post-card h3{
		font-size:15px !important;
		-webkit-line-clamp:unset !important;
	}

	/* FAQ */
	#ascx_17580 .asc-faq-q{
		padding:18px !important;
		font-size:15px !important;
	}

	#ascx_17580 .asc-faq-a p{
		padding:0 18px 18px !important;
		font-size:14px !important;
	}

	/* Contact */
	#ascx_17580 .asc-contact-left,
	#ascx_17580 .asc-form-shell,
	#ascx_17580 .asccontact-form-shell{
		padding:22px !important;
	}

	#ascx_17580 .asc-contact-left h2{
		font-size:clamp(26px,8vw,34px) !important;
	}

	#ascx_17580 .asccontact-form-intro h3{
		font-size:22px !important;
	}

	#ascx_17580 .asccontact-form-nav{
		flex-direction:column !important;
	}

	#ascx_17580 .asccontact-step-btn{
		width:100% !important;
	}

	#ascx_17580 .wpforms-form input[type="text"],
	#ascx_17580 .wpforms-form input[type="email"],
	#ascx_17580 .wpforms-form input[type="tel"],
	#ascx_17580 .wpforms-form input[type="number"],
	#ascx_17580 .wpforms-form textarea,
	#ascx_17580 .wpforms-form select{
		min-height:50px !important;
		font-size:15px !important;
		border-radius:12px !important;
	}

	#ascx_17580 .wpforms-form .wpforms-field-radio li label,
	#ascx_17580 .wpforms-form .wpforms-field-checkbox li label{
		min-height:58px !important;
		padding:13px !important;
		border-radius:14px !important;
	}
}


/* =========================================================
   5. Small mobile phones
   540px and below
========================================================= */

@media (max-width:540px){

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		padding-left:14px !important;
		padding-right:14px !important;
	}

	#ascx_17580 .asc-heading h2{
		font-size:clamp(24px,9vw,32px) !important;
	}

	#ascx_17580 .asc-heading p{
		font-size:14px !important;
	}

	#ascx_17580 .asc-btn{
		min-height:48px !important;
		padding:13px 16px !important;
		font-size:14px !important;
	}

	#ascx_17580 .asc-entry-panel{
		padding:18px 14px !important;
	}

	#ascx_17580 .asc-entry-content{
		padding:20px 16px !important;
	}

	#ascx_17580 .asc-entry-content h2{
		font-size:clamp(25px,10vw,34px) !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase{
		width:calc(100% - 18px) !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-audit-flow-phase{
		padding:18px !important;
		border-radius:20px !important;
	}

	#ascx_17580 .asc-cine-hero-pills{
		justify-content:flex-start !important;
	}

	#ascx_17580 .asc-cine-hero-pill{
		font-size:10.8px !important;
		padding:7px 9px !important;
	}

	#ascx_17580 .asc-contact-point{
		padding:12px !important;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		left:10px !important;
		right:10px !important;
		bottom:148px !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle{
		left:10px !important;
	}

	#ascx_17580 .asc-systems-static .asc-systems-cinematic-phase{
		width:calc(100% - 18px) !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-media,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media,
	#ascx_17580 .asc-systems-static .asc-toolkits-about-media img,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-media img{
		height:170px !important;
		min-height:170px !important;
		max-height:170px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-image-title,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-image-title{
		padding:8px 9px !important;
	}

	#ascx_17580 .asc-systems-static .asc-toolkits-about-badges span,
	#ascx_17580 .asc-systems-static .asc-systems-about-panel .asc-systems-badges span{
		font-size:8px !important;
		padding:5px 6px !important;
	}
}


/* =========================================================
   6. Very small phones
   390px and below
========================================================= */

@media (max-width:390px){

	#ascx_17580 .asc-heading h2{
		font-size:25px !important;
	}

	#ascx_17580 .asc-entry-content h2{
		font-size:27px !important;
	}

	#ascx_17580 .asc-cinematic-content h2,
	#ascx_17580 .asc-cine-phase-two h3,
	#ascx_17580 .asc-cine-phase-three h1{
		font-size:27px !important;
	}

	#ascx_17580 .asc-card,
	#ascx_17580 .asc-panel,
	#ascx_17580 .asc-service-card,
	#ascx_17580 .asc-resource-card,
	#ascx_17580 .asc-article-card,
	#ascx_17580 .asc-legal-card,
	#ascx_17580 .asc-contact-card{
		padding:18px !important;
	}

	#ascx_17580 .asc-contact-left,
	#ascx_17580 .asc-form-shell,
	#ascx_17580 .asccontact-form-shell{
		padding:18px !important;
	}

	#ascx_17580 .asccontact-form-step-progress li{
		font-size:12px !important;
		padding:11px !important;
	}

	#ascx_17580 .wpforms-form .wpforms-field-label{
		font-size:11px !important;
	}
}


/* =========================================================
   7. Short-height tablets / small laptops
   Prevent sticky cinematic crowding
========================================================= */

@media (max-width:1180px) and (max-height:780px){

	#ascx_17580 .asc-cinematic-intro,
	#ascx_17580 .asc-audit-hero-flow,
	#ascx_17580 .asc-systems-cinematic{
		min-height:auto !important;
		padding-top:46px !important;
		padding-bottom:46px !important;
	}

	#ascx_17580 .asc-cinematic-sticky,
	#ascx_17580 .asc-audit-flow-sticky,
	#ascx_17580 .asc-systems-cinematic-sticky{
		position:relative !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-cinematic-scroll-hint,
	#ascx_17580 .asc-audit-flow-scroll-hint{
		display:none !important;
	}
}


/* =========================================================
   8. WordPress admin bar mobile/tablet correction
========================================================= */

@media (max-width:782px){



	body.admin-bar #ascx_17580.asc-gateway-locked .asc-entry-gateway{
		top:0 !important;
		height:100svh !important;
	}
}


/* =========================================================
   9. Reduced motion
   Accessibility and performance safety
========================================================= */

@media (prefers-reduced-motion: reduce){

	#ascx_17580 *,
	#ascx_17580 *::before,
	#ascx_17580 *::after{
		animation-duration:.001ms !important;
		animation-iteration-count:1 !important;
		scroll-behavior:auto !important;
		transition-duration:.001ms !important;
	}

	#ascx_17580 .asc-reveal{
		opacity:1 !important;
		transform:none !important;
	}

	#ascx_17580 .asc-cinematic-intro,
	#ascx_17580 .asc-audit-hero-flow,
	#ascx_17580 .asc-systems-cinematic,
	#ascx_17580 .asc-services-showcase,
	#ascx_17580 .asc-dual-stack{
		min-height:auto !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-cinematic-sticky,
	#ascx_17580 .asc-audit-flow-sticky,
	#ascx_17580 .asc-systems-cinematic-sticky,
	#ascx_17580 .asc-services-showcase .asc-container,
	#ascx_17580 .asc-dual-stack-sticky{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase,
	#ascx_17580 .asc-service-animated-card,
	#ascx_17580 .asc-trust-node,
	#ascx_17580 .asc-stack-panel{
		filter:none !important;
		transform:none !important;
		opacity:1 !important;
	}

	#ascx_17580 .asc-cinematic-scroll-hint,
	#ascx_17580 .asc-audit-flow-scroll-hint{
		display:none !important;
	}
}

/* =========================================================
   ASC HOME FINAL RESPONSIVE OVERRIDE
   Fixes mobile/tablet overflow, cinematic slides, client logos,
   MetaSlider clipping and small-device layout issues.
   PLACE THIS AS THE LAST CSS BEFORE 
========================================================= */


/* =========================================================
   1. Global overflow safety for tablets and phones
========================================================= */

@media (max-width:1180px){

	html,
	body{
		width:100% !important;
		max-width:100% !important;
		overflow-x:hidden !important;
	}

	#ascx_17580{
		width:100% !important;
		max-width:100% !important;
		overflow-x:hidden !important;
	}

	#ascx_17580 *,
	#ascx_17580 *::before,
	#ascx_17580 *::after{
		box-sizing:border-box !important;
	}

	#ascx_17580 img,
	#ascx_17580 iframe,
	#ascx_17580 video,
	#ascx_17580 canvas,
	#ascx_17580 svg{
		max-width:100% !important;
	}

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		width:100% !important;
		max-width:100% !important;
		padding-left:24px !important;
		padding-right:24px !important;
	}
}


/* =========================================================
   2. Tablet layout: 1180px and below
========================================================= */

@media (max-width:1180px){

	#ascx_17580 .asc-section{
		padding-top:58px !important;
		padding-bottom:58px !important;
	}

	#ascx_17580 .asc-heading{
		max-width:900px !important;
		margin-bottom:30px !important;
	}

	#ascx_17580 .asc-heading h2{
		font-size:clamp(28px,4vw,40px) !important;
		line-height:1.1 !important;
		letter-spacing:-.045em !important;
	}

	#ascx_17580 .asc-heading p{
		font-size:15.5px !important;
		line-height:1.7 !important;
	}

	#ascx_17580 .asc-grid-4,
	#ascx_17580 .asc-grid-3{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	#ascx_17580 .asc-grid-2{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-btn-row{
		gap:10px !important;
	}

	#ascx_17580 .asc-btn{
		white-space:normal !important;
		text-align:center !important;
	}

	/* Hide desktop dots */
	#ascx_17580 .asc-section-dots-wrap,
	#ascx_17580 .asc-section-dots{
		display:none !important;
	}

	/* Floating mobile section menu */
	#ascx_17580 .asc-mobile-sections-toggle{
		display:inline-flex !important;
		left:18px !important;
		bottom:88px !important;
		width:56px !important;
		height:56px !important;
		min-height:56px !important;
		padding:0 !important;
		border-radius:50% !important;
		justify-content:center !important;
		align-items:center !important;
		z-index:10020 !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle-text{
		display:none !important;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		left:18px !important;
		right:18px !important;
		bottom:154px !important;
		max-height:64vh !important;
		border-radius:22px !important;
	}

	/* Sticky CTA on tablet only */
	#ascx_17580 .asc-sticky-cta{
		display:flex !important;
		right:18px !important;
		bottom:88px !important;
		padding:0 !important;
		background:transparent !important;
		border:0 !important;
		box-shadow:none !important;
		backdrop-filter:none !important;
	}

	#ascx_17580 .asc-sticky-cta .label,
	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-text{
		display:none !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-btn{
		width:56px !important;
		height:56px !important;
		min-height:56px !important;
		padding:0 !important;
		border-radius:50% !important;
		justify-content:center !important;
	}

	#ascx_17580 .asc-sticky-cta .asc-sticky-cta-icon{
		width:20px !important;
		height:20px !important;
		font-size:16px !important;
	}
}


/* =========================================================
   3. Cinematic sections become safe stacked sections
   Tablets and phones
========================================================= */

@media (max-width:1024px){

	#ascx_17580 .asc-cinematic-intro,
	#ascx_17580 .asc-audit-hero-flow,
	#ascx_17580 .asc-systems-cinematic{
		min-height:auto !important;
		height:auto !important;
		padding:58px 0 !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cinematic-sticky,
	#ascx_17580 .asc-audit-flow-sticky,
	#ascx_17580 .asc-systems-cinematic-sticky{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:auto !important;
		overflow:visible !important;
		display:block !important;
		background:#071923 !important;
	}

	#ascx_17580 .asc-cinematic-stage,
	#ascx_17580 .asc-audit-flow-stage,
	#ascx_17580 .asc-systems-cinematic-stage{
		position:absolute !important;
		inset:0 !important;
		width:100% !important;
		height:100% !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cinematic-media,
	#ascx_17580 .asc-audit-flow-media,
	#ascx_17580 .asc-systems-cinematic-media{
		inset:0 !important;
		transform:none !important;
		width:100% !important;
		height:100% !important;
		contain:paint !important;
	}

	#ascx_17580 .asc-cinematic-media img,
	#ascx_17580 .asc-audit-flow-media img,
	#ascx_17580 .asc-systems-cinematic-media img{
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
		filter:none !important;
		opacity:.72 !important;
		transform:none !important;
	}

	/* All cinematic phases must be normal blocks */
	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		right:auto !important;
		bottom:auto !important;
		width:min(920px, calc(100% - 48px)) !important;
		max-width:100% !important;
		margin:0 auto 28px !important;
		padding:24px !important;
		opacity:1 !important;
		visibility:visible !important;
		transform:none !important;
		filter:none !important;
		will-change:auto !important;
		display:grid !important;
		justify-items:center !important;
		text-align:center !important;
		border-radius:26px !important;
		background:rgba(18,42,58,.80) !important;
		border:1px solid rgba(255,255,255,.18) !important;
		box-shadow:0 14px 34px rgba(0,0,0,.20) !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase-three,
	#ascx_17580 .asc-systems-cinematic-phase{
		text-align:left !important;
		justify-items:stretch !important;
	}

	#ascx_17580 .asc-cinematic-scroll-hint,
	#ascx_17580 .asc-audit-flow-scroll-hint,
	#ascx_17580 .asc-systems-cinematic .asc-cinematic-scroll-hint{
		display:none !important;
	}
}


/* =========================================================
   4. Critical fix for client brands slide
   This fixes the screenshot issue
========================================================= */

@media (max-width:1024px){

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide{
		width:min(920px, calc(100% - 48px)) !important;
		max-width:100% !important;
		padding:24px !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide::before{
		inset:0 !important;
		border-radius:26px !important;
		background:rgba(18,42,58,.80) !important;
		box-shadow:none !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide .asc-chip{
		max-width:100% !important;
		white-space:normal !important;
		text-align:center !important;
		line-height:1.25 !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide h3{
		width:100% !important;
		max-width:100% !important;
		margin:0 auto 12px !important;
		font-size:clamp(25px,5vw,38px) !important;
		line-height:1.08 !important;
		letter-spacing:-.055em !important;
		text-align:center !important;
		overflow:visible !important;
		word-break:normal !important;
		overflow-wrap:break-word !important;
		text-wrap:balance !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide p{
		width:100% !important;
		max-width:760px !important;
		margin:0 auto !important;
		font-size:14px !important;
		line-height:1.6 !important;
		text-align:center !important;
		overflow-wrap:break-word !important;
	}

	#ascx_17580 .asc-cine-client-shell{
		width:100% !important;
		max-width:100% !important;
		margin:18px auto 0 !important;
		padding:12px !important;
		border-radius:20px !important;
		overflow:hidden !important;
		background:rgba(255,255,255,.94) !important;
	}

	#ascx_17580 .asc-cine-client-slider,
	#ascx_17580 .asc-cine-client-slider .alignnormal,
	#ascx_17580 .asc-cine-client-slider .metaslider,
	#ascx_17580 .asc-cine-client-slider .metaslider .flexslider,
	#ascx_17580 .asc-cine-client-slider .metaslider .slides,
	#ascx_17580 .asc-cine-client-slider .metaslider .slides li{
		width:100% !important;
		max-width:100% !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cine-client-slider .metaslider img,
	#ascx_17580 .asc-cine-client-slider .metaslider .slides img{
		display:block !important;
		width:auto !important;
		max-width:100% !important;
		height:auto !important;
		max-height:88px !important;
		margin-left:auto !important;
		margin-right:auto !important;
		object-fit:contain !important;
	}

	#ascx_17580 .asc-cine-client-note{
		width:100% !important;
		max-width:100% !important;
		margin-top:10px !important;
		font-size:10.5px !important;
		line-height:1.35 !important;
		text-align:center !important;
		overflow-wrap:break-word !important;
	}
}


/* =========================================================
   5. Services, training, trust and contact tablet fixes
========================================================= */

@media (max-width:1024px){

	/* Services normal layout */
	#ascx_17580 .asc-services-showcase{
		min-height:auto !important;
		padding:64px 0 !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-services-showcase .asc-container{
		position:relative !important;
		top:auto !important;
		min-height:auto !important;
		display:block !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-services-grid{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		width:100% !important;
		max-width:100% !important;
		transform-style:flat !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-service-animated-card{
		min-height:auto !important;
		opacity:1 !important;
		filter:none !important;
		transform:none !important;
		will-change:auto !important;
	}

	/* Training */
	#ascx_17580 #asc-training .asc-training-shell{
		grid-template-columns:1fr !important;
		gap:24px !important;
	}

	#ascx_17580 #asc-training .asc-training-control-panel{
		position:relative !important;
		top:auto !important;
	}

	#ascx_17580 #asc-training .asc-training-carddeck{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}

	/* Trust constellation */
	#ascx_17580 .asc-trust-stage{
		min-height:auto !important;
		display:block !important;
		perspective:none !important;
	}

	#ascx_17580 .asc-trust-stage::before,
	#ascx_17580 .asc-trust-stage::after{
		display:none !important;
	}

	#ascx_17580 .asc-trust-core{
		margin:0 auto 24px !important;
		opacity:1 !important;
		transform:none !important;
	}

	#ascx_17580 .asc-trust-nodes{
		position:relative !important;
		inset:auto !important;
		display:grid !important;
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		gap:16px !important;
		pointer-events:auto !important;
	}

	#ascx_17580 .asc-trust-node,
	#ascx_17580 .asc-trust-node-wide{
		position:relative !important;
		left:auto !important;
		top:auto !important;
		width:auto !important;
		min-height:120px !important;
		opacity:1 !important;
		filter:none !important;
		transform:none !important;
	}

	#ascx_17580 .asc-trust-footer{
		flex-direction:column !important;
		align-items:flex-start !important;
	}

	#ascx_17580 .asc-trust-footer .asc-btn{
		width:100% !important;
	}

	/* Contact */
	#ascx_17580 .asc-contact-wrap{
		grid-template-columns:1fr !important;
	}
}


/* =========================================================
   6. Small tablets and large phones
========================================================= */

@media (max-width:900px){

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		padding-left:20px !important;
		padding-right:20px !important;
	}

	#ascx_17580 .asc-grid-4,
	#ascx_17580 .asc-grid-3,
	#ascx_17580 .asc-grid-2,
	#ascx_17580 .asc-services-grid,
	#ascx_17580 .asc-audit-flow-cardgrid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-btn-row{
		flex-direction:column !important;
	}

	#ascx_17580 .asc-btn{
		width:100% !important;
	}

	#ascx_17580 .asc-review-lite-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-cine-summary-grid,
	#ascx_17580 .asc-cine-stats,
	#ascx_17580 .asc-audit-about-split{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 #asc-training .asc-training-carddeck{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asccontact-form-step-progress{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .wpforms-form .wpforms-field-radio ul,
	#ascx_17580 .wpforms-form .wpforms-field-checkbox ul{
		grid-template-columns:1fr !important;
	}
}


/* =========================================================
   7. Mobile phones
========================================================= */

@media (max-width:767px){

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		padding-left:16px !important;
		padding-right:16px !important;
	}

	#ascx_17580 .asc-section{
		padding-top:44px !important;
		padding-bottom:44px !important;
	}

	#ascx_17580 .asc-heading{
		margin-bottom:24px !important;
	}

	#ascx_17580 .asc-heading h2{
		font-size:clamp(25px,8vw,34px) !important;
		line-height:1.1 !important;
		letter-spacing:-.045em !important;
	}

	#ascx_17580 .asc-heading p{
		font-size:14.5px !important;
		line-height:1.65 !important;
	}

	#ascx_17580 .asc-chip{
		max-width:100% !important;
		white-space:normal !important;
		text-align:center !important;
		font-size:9.8px !important;
		line-height:1.25 !important;
		padding:7px 11px !important;
		letter-spacing:.09em !important;
	}

	#ascx_17580 .asc-btn{
		min-height:48px !important;
		padding:13px 16px !important;
		font-size:14px !important;
		border-radius:12px !important;
	}

	/* Mobile: hide sticky CTA, keep section button */
	#ascx_17580 .asc-sticky-cta{
		display:none !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle{
		left:14px !important;
		bottom:94px !important;
		width:52px !important;
		height:52px !important;
		min-height:52px !important;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		left:14px !important;
		right:14px !important;
		bottom:154px !important;
		max-height:62vh !important;
		padding:16px !important;
		border-radius:20px !important;
	}

	/* Mobile cinematic card widths */
	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase{
		width:calc(100% - 24px) !important;
		margin-left:auto !important;
		margin-right:auto !important;
		padding:20px !important;
		border-radius:22px !important;
		overflow:hidden !important;
	}

	#ascx_17580 .asc-cinematic-content h2,
	#ascx_17580 .asc-cine-phase-two h3,
	#ascx_17580 .asc-cine-phase-three h1{
		width:100% !important;
		max-width:100% !important;
		font-size:clamp(27px,8.4vw,38px) !important;
		line-height:1.04 !important;
		letter-spacing:-.055em !important;
		overflow-wrap:break-word !important;
		text-wrap:balance !important;
	}

	#ascx_17580 .asc-cinematic-content p,
	#ascx_17580 .asc-cine-phase-two p,
	#ascx_17580 .asc-cine-phase-three p,
	#ascx_17580 .asc-audit-flow-phase p{
		font-size:13.5px !important;
		line-height:1.6 !important;
	}

	/* Client slide mobile refinement */
	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide{
		width:calc(100% - 24px) !important;
		padding:20px !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide h3{
		font-size:clamp(26px,8vw,34px) !important;
		line-height:1.08 !important;
	}

	#ascx_17580 .asc-cine-client-shell{
		padding:10px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-cine-client-slider .metaslider img,
	#ascx_17580 .asc-cine-client-slider .metaslider .slides img{
		max-height:72px !important;
	}

	/* Logo */
	#ascx_17580 .asc-cine-logo-wrap{
		width:min(230px,74vw) !important;
		margin-bottom:18px !important;
	}

	#ascx_17580 .asc-cine-logo{
		padding:14px !important;
		border-radius:20px !important;
	}

	/* Entry gateway */
	#ascx_17580 .asc-entry-gateway-grid{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-entry-gateway::before{
		display:none !important;
	}

	#ascx_17580 .asc-entry-panel{
		min-height:50svh !important;
		padding:22px 16px !important;
	}

	#ascx_17580 .asc-entry-content{
		padding:22px 18px !important;
		border-radius:22px !important;
	}

	#ascx_17580 .asc-entry-content h2{
		font-size:clamp(26px,9vw,38px) !important;
		line-height:1.02 !important;
	}

	#ascx_17580 .asc-entry-content p{
		font-size:13.5px !important;
		line-height:1.55 !important;
	}

	#ascx_17580 .asc-entry-choice{
		width:100% !important;
		min-height:46px !important;
		padding:12px 14px !important;
	}

	#ascx_17580 .asc-entry-scroll-note{
		display:none !important;
	}

	/* Cards */
	#ascx_17580 .asc-card,
	#ascx_17580 .asc-panel,
	#ascx_17580 .asc-service-card,
	#ascx_17580 .asc-resource-card,
	#ascx_17580 .asc-article-card,
	#ascx_17580 .asc-legal-card,
	#ascx_17580 .asc-contact-card{
		padding:20px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-post-card{
		padding:0 !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-post-card h3,
	#ascx_17580 .asc-post-card p,
	#ascx_17580 .asc-post-card .asc-card-link{
		margin-left:18px !important;
		margin-right:18px !important;
	}

	#ascx_17580 .asc-post-card h3{
		margin-top:18px !important;
		font-size:17px !important;
	}

	#ascx_17580 .asc-post-card .asc-card-link{
		margin-bottom:20px !important;
	}

	/* Contact */
	#ascx_17580 .asc-contact-left,
	#ascx_17580 .asc-form-shell,
	#ascx_17580 .asccontact-form-shell{
		padding:22px !important;
	}

	#ascx_17580 .asc-contact-left h2{
		font-size:clamp(26px,8vw,34px) !important;
	}

	#ascx_17580 .asccontact-form-nav{
		flex-direction:column !important;
	}

	#ascx_17580 .asccontact-step-btn{
		width:100% !important;
	}

	/* WPForms */
	#ascx_17580 .wpforms-form input[type="text"],
	#ascx_17580 .wpforms-form input[type="email"],
	#ascx_17580 .wpforms-form input[type="tel"],
	#ascx_17580 .wpforms-form input[type="number"],
	#ascx_17580 .wpforms-form textarea,
	#ascx_17580 .wpforms-form select{
		min-height:50px !important;
		border-radius:12px !important;
		font-size:15px !important;
	}

	#ascx_17580 .wpforms-form .wpforms-field-radio li label,
	#ascx_17580 .wpforms-form .wpforms-field-checkbox li label{
		min-height:58px !important;
		padding:13px !important;
		border-radius:14px !important;
	}
}


/* =========================================================
   8. Small phones
========================================================= */

@media (max-width:540px){

	#ascx_17580 .asc-container,
	#ascx_17580 .asc-container.wide,
	#ascx_17580 .asc-container.narrow{
		padding-left:14px !important;
		padding-right:14px !important;
	}

	#ascx_17580 .asc-heading h2{
		font-size:clamp(24px,8.8vw,32px) !important;
	}

	#ascx_17580 .asc-heading p{
		font-size:14px !important;
	}

	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase{
		width:calc(100% - 18px) !important;
		padding:18px !important;
		border-radius:20px !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide{
		width:calc(100% - 18px) !important;
		padding:18px !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide h3{
		font-size:clamp(24px,8.4vw,31px) !important;
	}

	#ascx_17580 .asc-cine-client-shell{
		padding:8px !important;
	}

	#ascx_17580 .asc-cine-client-slider .metaslider img,
	#ascx_17580 .asc-cine-client-slider .metaslider .slides img{
		max-height:62px !important;
	}

	#ascx_17580 .asc-mobile-sections-panel{
		left:10px !important;
		right:10px !important;
		bottom:148px !important;
	}

	#ascx_17580 .asc-mobile-sections-toggle{
		left:10px !important;
	}
}


/* =========================================================
   9. Very small phones
========================================================= */

@media (max-width:390px){

	#ascx_17580 .asc-heading h2{
		font-size:25px !important;
	}

	#ascx_17580 .asc-cinematic-content h2,
	#ascx_17580 .asc-cine-phase-two h3,
	#ascx_17580 .asc-cine-phase-three h1,
	#ascx_17580 .asc-entry-content h2{
		font-size:26px !important;
	}

	#ascx_17580 .asc-cine-phase-two.asc-cine-clients-slide h3{
		font-size:25px !important;
		line-height:1.08 !important;
	}

	#ascx_17580 .asc-cine-client-slider .metaslider img,
	#ascx_17580 .asc-cine-client-slider .metaslider .slides img{
		max-height:56px !important;
	}

	#ascx_17580 .asc-contact-left,
	#ascx_17580 .asc-form-shell,
	#ascx_17580 .asccontact-form-shell{
		padding:18px !important;
	}
}


/* =========================================================
   10. Landscape phones / short screens
========================================================= */

@media (max-width:900px) and (max-height:520px){

	#ascx_17580 .asc-entry-panel{
		min-height:auto !important;
		padding-top:28px !important;
		padding-bottom:28px !important;
	}

	#ascx_17580 .asc-cinematic-intro,
	#ascx_17580 .asc-audit-hero-flow,
	#ascx_17580 .asc-systems-cinematic{
		padding-top:36px !important;
		padding-bottom:36px !important;
	}

	#ascx_17580 .asc-cinematic-scroll-hint,
	#ascx_17580 .asc-audit-flow-scroll-hint{
		display:none !important;
	}
}


/* =========================================================
   11. Reduced motion final safety
========================================================= */

@media (prefers-reduced-motion: reduce){

	#ascx_17580 *,
	#ascx_17580 *::before,
	#ascx_17580 *::after{
		animation-duration:.001ms !important;
		animation-iteration-count:1 !important;
		scroll-behavior:auto !important;
		transition-duration:.001ms !important;
	}

	#ascx_17580 .asc-reveal,
	#ascx_17580 .asc-cinematic-content,
	#ascx_17580 .asc-cine-phase-two,
	#ascx_17580 .asc-cine-phase-three,
	#ascx_17580 .asc-cine-phase-four,
	#ascx_17580 .asc-audit-flow-phase,
	#ascx_17580 .asc-systems-cinematic-phase,
	#ascx_17580 .asc-service-animated-card,
	#ascx_17580 .asc-trust-node,
	#ascx_17580 .asc-stack-panel{
		opacity:1 !important;
		transform:none !important;
		filter:none !important;
	}
}

/* =========================================================
   ASC HOME CLEAN PREMIUM CONTACT SECTION
   Smaller, calmer, cleaner contact area
   Replace the previous premium contact CSS block with this
========================================================= */

#ascx_17580 #asc-contact.asc-contact-premium-section{
	position:relative !important;
	min-height:auto !important;
	padding:78px 0 !important;
	overflow:hidden !important;
	background:
		radial-gradient(circle at 8% 12%, rgba(123,166,58,.08), transparent 30%),
		radial-gradient(circle at 92% 16%, rgba(224,90,97,.045), transparent 32%),
		linear-gradient(180deg,#F8FAFB 0%,#FFFFFF 48%,#F7FAF2 100%) !important;
	color:#4C6170 !important;
	isolation:isolate !important;
}

/* Remove the heavy dark full-screen background */
#ascx_17580 #asc-contact.asc-contact-premium-section::before,
#ascx_17580 #asc-contact.asc-contact-premium-section::after{
	display:none !important;
	content:none !important;
}

#ascx_17580 .asc-contact-premium-shell{
	position:relative !important;
	z-index:2 !important;
	width:100% !important;
	min-height:auto !important;
	display:block !important;
	padding:0 28px !important;
}

#ascx_17580 .asc-contact-premium-inner{
	width:min(1240px,100%) !important;
	margin:0 auto !important;
	display:grid !important;
	grid-template-columns:minmax(300px,390px) minmax(0,1fr) !important;
	grid-template-areas:
		"photo form"
		"info form" !important;
	gap:18px !important;
	align-items:start !important;
}

/* ---------------------------------------------------------
   Photo card: smaller, calmer, not full-height
--------------------------------------------------------- */

#ascx_17580 .asc-contact-photo-card{
	grid-area:photo !important;
	position:relative !important;
	min-height:215px !important;
	height:215px !important;
	border-radius:24px !important;
	overflow:hidden !important;
	background:#EEF3F6 !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 12px 28px rgba(16,24,40,.07) !important;
}

#ascx_17580 .asc-contact-photo-card img{
	width:100% !important;
	height:100% !important;
	min-height:215px !important;
	max-height:215px !important;
	object-fit:cover !important;
	object-position:center center !important;
	filter:none !important;
	opacity:1 !important;
}

#ascx_17580 .asc-contact-photo-card::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	background:
		linear-gradient(180deg, rgba(7,25,35,.02) 0%, rgba(7,25,35,.52) 100%) !important;
	pointer-events:none !important;
}

#ascx_17580 .asc-contact-photo-badge{
	position:absolute !important;
	left:14px !important;
	right:14px !important;
	bottom:14px !important;
	z-index:2 !important;
	padding:12px 13px !important;
	border-radius:16px !important;
	background:rgba(255,255,255,.94) !important;
	border:1px solid rgba(255,255,255,.72) !important;
	box-shadow:0 10px 22px rgba(16,24,40,.12) !important;
}

#ascx_17580 .asc-contact-photo-badge strong{
	display:block !important;
	margin-bottom:4px !important;
	color:#163247 !important;
	font-size:13.5px !important;
	line-height:1.2 !important;
	font-weight:950 !important;
	letter-spacing:-.02em !important;
}

#ascx_17580 .asc-contact-photo-badge span{
	display:block !important;
	color:#5A6F7D !important;
	font-size:11.5px !important;
	line-height:1.45 !important;
	font-weight:700 !important;
}

/* ---------------------------------------------------------
   Info card: light, readable, less overwhelming
--------------------------------------------------------- */

#ascx_17580 .asc-contact-premium-info{
	grid-area:info !important;
	position:relative !important;
	display:block !important;
	padding:24px !important;
	border-radius:24px !important;
	background:#FFFFFF !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 12px 28px rgba(16,24,40,.065) !important;
	overflow:hidden !important;
	color:#4C6170 !important;
}

#ascx_17580 .asc-contact-premium-info::before{
	content:"" !important;
	position:absolute !important;
	left:24px !important;
	right:24px !important;
	top:0 !important;
	height:4px !important;
	border-radius:0 0 999px 999px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 70%,#E05A61 100%) !important;
}

#ascx_17580 .asc-contact-premium-info > *{
	position:relative !important;
	z-index:2 !important;
}

#ascx_17580 .asc-contact-premium-info .asc-chip{
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	box-shadow:none !important;
	font-size:9px !important;
	padding:7px 11px !important;
	letter-spacing:.09em !important;
}

#ascx_17580 .asc-contact-premium-info h2{
	margin:14px 0 10px !important;
	color:#163247 !important;
	font-size:clamp(24px,2.1vw,32px) !important;
	line-height:1.08 !important;
	letter-spacing:-.045em !important;
	font-weight:950 !important;
	text-shadow:none !important;
	text-wrap:balance !important;
}

#ascx_17580 .asc-contact-premium-info p{
	margin:0 !important;
	color:#5A6F7D !important;
	font-size:13.5px !important;
	line-height:1.65 !important;
	font-weight:600 !important;
}

#ascx_17580 .asc-contact-premium-pills{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:6px !important;
	margin-top:14px !important;
}

#ascx_17580 .asc-contact-premium-pills span{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:6px 8px !important;
	border-radius:999px !important;
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	font-size:10px !important;
	line-height:1 !important;
	font-weight:900 !important;
}

#ascx_17580 .asc-contact-premium-points{
	display:grid !important;
	gap:8px !important;
	margin-top:18px !important;
}

#ascx_17580 .asc-contact-premium-point{
	padding:11px 12px !important;
	border-radius:14px !important;
	background:#F8FAFB !important;
	border:1px solid #E2EAF0 !important;
}

#ascx_17580 .asc-contact-premium-point strong{
	display:block !important;
	margin-bottom:4px !important;
	color:#163247 !important;
	font-size:12px !important;
	line-height:1.25 !important;
	font-weight:950 !important;
	letter-spacing:-.01em !important;
}

#ascx_17580 .asc-contact-premium-point span,
#ascx_17580 .asc-contact-premium-point a{
	display:block !important;
	color:#5A6F7D !important;
	font-size:12.5px !important;
	line-height:1.45 !important;
	font-weight:700 !important;
}

#ascx_17580 .asc-contact-premium-point a{
	color:#5F812D !important;
	text-decoration:underline !important;
	text-underline-offset:3px !important;
}

/* ---------------------------------------------------------
   Form card: clean, premium, not enormous
--------------------------------------------------------- */

#ascx_17580 .asc-contact-premium-form-card{
	grid-area:form !important;
	position:relative !important;
	border-radius:26px !important;
	background:#FFFFFF !important;
	border:1px solid #E2EAF0 !important;
	box-shadow:0 18px 44px rgba(16,24,40,.09) !important;
	overflow:hidden !important;
	color:#4C6170 !important;
}

#ascx_17580 .asc-contact-premium-form-card::before{
	content:"" !important;
	position:absolute !important;
	left:28px !important;
	right:28px !important;
	top:0 !important;
	height:4px !important;
	border-radius:0 0 999px 999px !important;
	background:linear-gradient(90deg,#7BA63A 0%,#8CB94A 70%,#E05A61 100%) !important;
	z-index:3 !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-shell{
	padding:28px 30px 26px !important;
	background:
		radial-gradient(circle at 100% 0%, rgba(123,166,58,.06), transparent 30%),
		linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%) !important;
	overflow:visible !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-shell::before{
	display:none !important;
	content:none !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-intro{
	margin-bottom:16px !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-intro h3{
	margin:0 0 7px !important;
	color:#163247 !important;
	font-size:clamp(23px,1.8vw,30px) !important;
	line-height:1.08 !important;
	letter-spacing:-.04em !important;
	font-weight:950 !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-intro p{
	margin:0 !important;
	color:#647887 !important;
	font-size:13px !important;
	line-height:1.6 !important;
	font-weight:600 !important;
}

/* Step buttons: cleaner and smaller */

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress{
	gap:8px !important;
	margin-bottom:16px !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress li{
	padding:11px 10px !important;
	border-radius:13px !important;
	background:#F8FAFB !important;
	border:1px solid #E2EAF0 !important;
	color:#506674 !important;
	font-size:11px !important;
	line-height:1.2 !important;
	font-weight:900 !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress li.active{
	background:#163247 !important;
	color:#FFFFFF !important;
	border-color:#163247 !important;
	box-shadow:0 8px 18px rgba(22,50,71,.14) !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-body{
	padding-top:16px !important;
	border-top:1px solid #EDF2F5 !important;
}

/* Form fields: smaller, softer */

#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-field{
	margin-bottom:13px !important;
}

#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-field-label{
	font-size:10.5px !important;
	line-height:1.2 !important;
	letter-spacing:.08em !important;
	color:#253746 !important;
	margin-bottom:7px !important;
}

#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="text"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="email"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="tel"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="number"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form textarea,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form select{
	min-height:48px !important;
	padding:12px 13px !important;
	border-radius:13px !important;
	background:#FFFFFF !important;
	border:1px solid #DCE5EB !important;
	box-shadow:0 4px 12px rgba(16,24,40,.028) !important;
	font-size:14px !important;
	color:#253746 !important;
}

#ascx_17580 .asc-contact-premium-form-card .wpforms-form textarea{
	min-height:118px !important;
}

#ascx_17580 .asc-contact-premium-form-card .wpforms-form input:focus,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form textarea:focus,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form select:focus{
	border-color:#8CB94A !important;
	box-shadow:0 0 0 4px rgba(140,185,74,.12) !important;
	outline:none !important;
}

/* Buttons */

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-nav{
	margin-top:14px !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn{
	min-height:46px !important;
	padding:12px 16px !important;
	border-radius:13px !important;
	font-size:13.5px !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn.next,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form button[type="submit"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-submit{
	min-height:48px !important;
	padding:12px 18px !important;
	border-radius:13px !important;
	background:linear-gradient(135deg,#7BA63A 0%,#8CB94A 100%) !important;
	color:#fff !important;
	font-size:14px !important;
	font-weight:950 !important;
	box-shadow:0 10px 20px rgba(123,166,58,.16) !important;
}

/* Mini note */

#ascx_17580 .asc-contact-premium-form-card .asccontact-mini-note{
	margin-top:14px !important;
	padding:12px 13px !important;
	border-radius:14px !important;
	background:#F7FAF2 !important;
	border:1px solid #D9E8C3 !important;
	color:#5F7481 !important;
	font-size:12px !important;
	line-height:1.55 !important;
}

/* Consent checkbox */

#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-field-checkbox ul{
	grid-template-columns:1fr !important;
	gap:8px !important;
}

#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-field-checkbox li label{
	min-height:auto !important;
	padding:12px !important;
	border-radius:13px !important;
	font-size:13px !important;
	line-height:1.45 !important;
}

/* Hide the floating CTA because it overlaps the contact form and looks messy */
#ascx_17580 .asc-sticky-cta{
	display:none !important;
}

/* ---------------------------------------------------------
   Responsive
--------------------------------------------------------- */

@media (max-width:1180px){
	#ascx_17580 #asc-contact.asc-contact-premium-section{
		padding:58px 0 !important;
	}

	#ascx_17580 .asc-contact-premium-shell{
		padding:0 22px !important;
	}

	#ascx_17580 .asc-contact-premium-inner{
		width:min(920px,100%) !important;
		grid-template-columns:1fr !important;
		grid-template-areas:
			"photo"
			"info"
			"form" !important;
		gap:16px !important;
	}

	#ascx_17580 .asc-contact-photo-card{
		height:250px !important;
		min-height:250px !important;
	}

	#ascx_17580 .asc-contact-photo-card img{
		min-height:250px !important;
		max-height:250px !important;
	}
}

@media (max-width:767px){
	#ascx_17580 #asc-contact.asc-contact-premium-section{
		padding:42px 0 !important;
	}

	#ascx_17580 .asc-contact-premium-shell{
		padding:0 14px !important;
	}

	#ascx_17580 .asc-contact-photo-card,
	#ascx_17580 .asc-contact-premium-info,
	#ascx_17580 .asc-contact-premium-form-card{
		border-radius:20px !important;
	}

	#ascx_17580 .asc-contact-photo-card{
		height:210px !important;
		min-height:210px !important;
	}

	#ascx_17580 .asc-contact-photo-card img{
		min-height:210px !important;
		max-height:210px !important;
	}

	#ascx_17580 .asc-contact-photo-badge{
		left:10px !important;
		right:10px !important;
		bottom:10px !important;
		padding:10px !important;
		border-radius:14px !important;
	}

	#ascx_17580 .asc-contact-premium-info{
		padding:20px !important;
	}

	#ascx_17580 .asc-contact-premium-info h2{
		font-size:clamp(24px,7.5vw,31px) !important;
		line-height:1.08 !important;
	}

	#ascx_17580 .asc-contact-premium-info p{
		font-size:13px !important;
		line-height:1.6 !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-shell{
		padding:22px !important;
	}

	#ascx_17580 .asc-contact-premium-form-card::before{
		left:20px !important;
		right:20px !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-intro h3{
		font-size:23px !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="text"],
	#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="email"],
	#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="tel"],
	#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="number"],
	#ascx_17580 .asc-contact-premium-form-card .wpforms-form textarea,
	#ascx_17580 .asc-contact-premium-form-card .wpforms-form select{
		min-height:48px !important;
		font-size:14px !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-nav{
		flex-direction:column !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn{
		width:100% !important;
	}
}

@media (max-width:420px){
	#ascx_17580 .asc-contact-premium-shell{
		padding:0 10px !important;
	}

	#ascx_17580 .asc-contact-premium-info,
	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-shell{
		padding:18px !important;
	}

	#ascx_17580 .asc-contact-photo-card{
		height:185px !important;
		min-height:185px !important;
	}

	#ascx_17580 .asc-contact-photo-card img{
		min-height:185px !important;
		max-height:185px !important;
	}

	#ascx_17580 .asc-contact-photo-badge span{
		display:none !important;
	}
}



#ascx_17580 #asc-contact.asc-contact-premium-section{
	background:
		radial-gradient(circle at 8% 12%, rgba(255,255,255,.10), transparent 30%),
		radial-gradient(circle at 92% 18%, rgba(255,255,255,.08), transparent 32%),
		linear-gradient(135deg,#4F7026 0%, #5F812D 42%, #7BA63A 100%) !important;
	padding:84px 0 !important;
}

/* Main contact layout shell */
#ascx_17580 .asc-contact-premium-inner{
	align-items:stretch !important;
}

/* Contact photo card */
#ascx_17580 .asc-contact-photo-card{
	border:1px solid rgba(255,255,255,.24) !important;
	box-shadow:0 18px 42px rgba(22,50,71,.18) !important;
}

/* Left info card now feels connected to the green background */
#ascx_17580 .asc-contact-premium-info{
	background:rgba(255,255,255,.94) !important;
	border:1px solid rgba(255,255,255,.42) !important;
	box-shadow:0 18px 44px rgba(22,50,71,.18) !important;
}

#ascx_17580 .asc-contact-premium-info::before{
	background:linear-gradient(90deg,#5F812D 0%,#7BA63A 55%,#E05A61 100%) !important;
}

/* Make the chip match the article-link green */
#ascx_17580 .asc-contact-premium-info .asc-chip{
	background:#F3F8EA !important;
	border-color:#D9E8C3 !important;
	color:#5F812D !important;
}

/* Info pills */
#ascx_17580 .asc-contact-premium-pills span{
	background:#F3F8EA !important;
	border-color:#D9E8C3 !important;
	color:#5F812D !important;
}

/* Contact point cards */
#ascx_17580 .asc-contact-premium-point{
	background:#F8FBF5 !important;
	border-color:#D9E8C3 !important;
}

#ascx_17580 .asc-contact-premium-point strong{
	color:#163247 !important;
}

#ascx_17580 .asc-contact-premium-point span,
#ascx_17580 .asc-contact-premium-point a{
	color:#4C6170 !important;
}

#ascx_17580 .asc-contact-premium-point a{
	color:#5F812D !important;
	font-weight:900 !important;
}

/* ---------------------------------------------------------
   The actual form card
--------------------------------------------------------- */

#ascx_17580 .asc-contact-premium-form-card{
	background:
		radial-gradient(circle at 100% 0%, rgba(123,166,58,.18), transparent 36%),
		linear-gradient(180deg,#FFFFFF 0%,#F7FAF2 100%) !important;
	border:1px solid rgba(255,255,255,.48) !important;
	box-shadow:
		0 24px 58px rgba(22,50,71,.22),
		inset 0 1px 0 rgba(255,255,255,.95) !important;
	border-radius:30px !important;
}

#ascx_17580 .asc-contact-premium-form-card::before{
	background:linear-gradient(90deg,#5F812D 0%,#7BA63A 55%,#E05A61 100%) !important;
	height:5px !important;
}

/* Form inner shell */
#ascx_17580 .asc-contact-premium-form-card .asccontact-form-shell{
	background:transparent !important;
	padding:34px 36px 32px !important;
}

/* Form heading */
#ascx_17580 .asc-contact-premium-form-card .asccontact-form-intro h3{
	color:#163247 !important;
	font-size:clamp(26px,2vw,34px) !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-intro p{
	color:#566D7B !important;
	font-size:14px !important;
}

/* Step progress */
#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress{
	gap:10px !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress li{
	background:#FFFFFF !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	box-shadow:0 6px 14px rgba(16,24,40,.045) !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress li.active{
	background:linear-gradient(135deg,#5F812D 0%,#7BA63A 100%) !important;
	border-color:transparent !important;
	color:#FFFFFF !important;
	box-shadow:0 10px 22px rgba(95,129,45,.22) !important;
}

/* Form body divider */
#ascx_17580 .asc-contact-premium-form-card .asccontact-form-body{
	border-top:1px solid #D9E8C3 !important;
}

/* Labels */
#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-field-label{
	color:#163247 !important;
	font-size:11px !important;
	font-weight:950 !important;
}

/* Inputs */
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="text"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="email"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="tel"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="number"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form textarea,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form select{
	background:#FFFFFF !important;
	border:1px solid #D5E5C5 !important;
	color:#163247 !important;
	box-shadow:
		0 6px 16px rgba(16,24,40,.035),
		inset 0 1px 0 rgba(255,255,255,.96) !important;
}

#ascx_17580 .asc-contact-premium-form-card .wpforms-form input::placeholder,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form textarea::placeholder{
	color:#8A9BA5 !important;
}

/* Input focus state */
#ascx_17580 .asc-contact-premium-form-card .wpforms-form input:focus,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form textarea:focus,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form select:focus{
	border-color:#5F812D !important;
	box-shadow:
		0 0 0 4px rgba(95,129,45,.14),
		0 8px 18px rgba(16,24,40,.055) !important;
	outline:none !important;
}

/* Checkbox consent */
#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-field-checkbox li label{
	background:#FFFFFF !important;
	border:1px solid #D9E8C3 !important;
	color:#334B5B !important;
	box-shadow:0 6px 14px rgba(16,24,40,.035) !important;
}

#ascx_17580 .asc-contact-premium-form-card .wpforms-form input[type="checkbox"]{
	accent-color:#5F812D !important;
}

/* Previous / Next buttons */
#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn{
	background:#FFFFFF !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
	box-shadow:0 8px 18px rgba(16,24,40,.055) !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn:hover{
	transform:translateY(-2px) !important;
	box-shadow:0 12px 24px rgba(16,24,40,.075) !important;
}

/* Next and submit buttons */
#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn.next,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form button[type="submit"],
#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-submit,
#ascx_17580 .asc-contact-premium-form-card .asc-home-custom-submit{
	background:linear-gradient(135deg,#5F812D 0%,#7BA63A 100%) !important;
	color:#FFFFFF !important;
	border:0 !important;
	box-shadow:0 12px 26px rgba(95,129,45,.24) !important;
}

#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn.next:hover,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form button[type="submit"]:hover,
#ascx_17580 .asc-contact-premium-form-card .wpforms-form .wpforms-submit:hover,
#ascx_17580 .asc-contact-premium-form-card .asc-home-custom-submit:hover{
	transform:translateY(-2px) !important;
	box-shadow:0 16px 32px rgba(95,129,45,.30) !important;
}

/* Mini note */
#ascx_17580 .asc-contact-premium-form-card .asccontact-mini-note{
	background:#FFFFFF !important;
	border:1px solid #D9E8C3 !important;
	color:#5A6F7D !important;
	box-shadow:0 6px 16px rgba(16,24,40,.035) !important;
}

/* Success and error messages */
#ascx_17580 .asc-home-custom-form-message.success{
	background:#F3F8EA !important;
	border:1px solid #D9E8C3 !important;
	color:#5F812D !important;
}

#ascx_17580 .asc-home-custom-form-message.error{
	background:#FFF1F2 !important;
	border:1px solid #F3CDD0 !important;
	color:#A12D3D !important;
}

/* Responsive polishing */
@media (max-width:1180px){
	#ascx_17580 #asc-contact.asc-contact-premium-section{
		padding:64px 0 !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-shell{
		padding:30px !important;
	}
}

@media (max-width:767px){
	#ascx_17580 #asc-contact.asc-contact-premium-section{
		padding:46px 0 !important;
	}

	#ascx_17580 .asc-contact-premium-form-card{
		border-radius:22px !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-shell{
		padding:22px !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-intro h3{
		font-size:24px !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-step-progress{
		grid-template-columns:1fr !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-form-nav{
		flex-direction:column !important;
	}

	#ascx_17580 .asc-contact-premium-form-card .asccontact-step-btn{
		width:100% !important;
	}
}





/* =========================================================
   ASC HOME TRUST CONSTELLATION FINAL FIX
   Makes the trust section display fully and reliably.
   This prevents cards from appearing half-loaded or stacked
   over the centre card on desktop/laptop screens.
========================================================= */

#ascx_17580 .asc-trust-constellation{
	padding:72px 0 82px !important;
	overflow:visible !important;
}

#ascx_17580 .asc-trust-stage{
	min-height:auto !important;
	display:block !important;
	perspective:none !important;
	overflow:visible !important;
}

#ascx_17580 .asc-trust-stage::before,
#ascx_17580 .asc-trust-stage::after{
	display:none !important;
	content:none !important;
}

#ascx_17580 .asc-trust-core{
	width:min(420px,100%) !important;
	min-height:auto !important;
	margin:0 auto 26px !important;
	opacity:1 !important;
	transform:none !important;
}

#ascx_17580 .asc-trust-core-ring{
	position:absolute !important;
	inset:0 !important;
}

#ascx_17580 .asc-trust-nodes{
	position:relative !important;
	inset:auto !important;
	z-index:5 !important;
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	gap:18px !important;
	width:100% !important;
	max-width:1180px !important;
	margin:0 auto !important;
	pointer-events:auto !important;
}

#ascx_17580 .asc-trust-node,
#ascx_17580 .asc-trust-node-wide{
	position:relative !important;
	left:auto !important;
	top:auto !important;
	width:auto !important;
	min-height:128px !important;
	opacity:1 !important;
	visibility:visible !important;
	filter:none !important;
	transform:none !important;
	pointer-events:auto !important;
}

#ascx_17580 .asc-trust-node{
	display:flex !important;
}

#ascx_17580 .asc-trust-footer{
	margin-top:28px !important;
}

/* Tablet */
@media (max-width:1180px){
	#ascx_17580 .asc-trust-nodes{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		max-width:820px !important;
	}
}

/* Mobile */
@media (max-width:767px){
	#ascx_17580 .asc-trust-constellation{
		padding:46px 0 54px !important;
	}

	#ascx_17580 .asc-trust-core{
		width:100% !important;
		margin-bottom:18px !important;
	}

	#ascx_17580 .asc-trust-core-inner{
		padding:24px 20px !important;
	}

	#ascx_17580 .asc-trust-nodes{
		grid-template-columns:1fr !important;
		gap:14px !important;
	}

	#ascx_17580 .asc-trust-node,
	#ascx_17580 .asc-trust-node-wide{
		min-height:112px !important;
		padding:18px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-trust-footer{
		display:block !important;
		padding:20px !important;
		border-radius:18px !important;
	}

	#ascx_17580 .asc-trust-footer .asc-btn{
		width:100% !important;
		margin-top:14px !important;
	}
}



