﻿/* =========================================================
   AUTOCARD SOLUTIONS - EAGLE STUDIOS v4
   Main Stylesheet
   ========================================================= */


/* =========================================================
   ROOT VARIABLES
   ========================================================= */

:root{
	--acs-navy:#323593;
	--acs-blue:#1E77BA;
	--acs-cyan:#46C8E4;
	--acs-light:#F5FAFF;
	--acs-soft:#EAF5FC;
	--acs-text:#1C2430;
	--acs-muted:#667085;
	--acs-border:rgba(50,53,147,.12);
	--acs-shadow:0 24px 70px rgba(50,53,147,.14);
	--acs-navbar-height:84px;
}


/* =========================================================
   GLOBAL RESET
   ========================================================= */

*,
*::before,
*::after{
	box-sizing:border-box;
}

html{
	width:100%;
	max-width:100%;
	min-height:100%;
	overflow-x:hidden;
	overflow-y:auto;
}

body{
	width:100%;
	max-width:100%;
	min-height:100%;
	margin:0;
	color:var(--acs-text);
	background:#fff;
	font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	overflow-x:visible;
	overflow-y:visible;
}

main{
	width:100%;
	max-width:100%;
	overflow:visible;
}

section{
	width:100%;
	max-width:100%;
}

img,
svg,
video,
canvas{
	max-width:100%;
	height:auto;
}


/* =========================================================
   GLOBAL HELPERS
   ========================================================= */

.py-lg-6{
	padding-top:6rem;
	padding-bottom:6rem;
}

.acs-maxw-800{
	max-width:800px;
}

.text-white-75{
	color:rgba(255,255,255,.75);
}


/* =========================================================
   FIXED NAVBAR / SCROLL OFFSET
   ========================================================= */

#payment-puzzle,
#solutions,
#industries,
#statement-review,
[id$="-detail"]{
	scroll-margin-top:110px;
}


/* =========================================================
   NAVBAR / FIXED HEADER
   ========================================================= */

#navbar,
.navbar{
	margin-bottom:0;
	border-bottom:0;
}

.acs-navbar{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:1030;
	min-height:var(--acs-navbar-height);
	padding-top:.85rem;
	padding-bottom:.85rem;
	background:#fff;
	border-bottom:0;
	box-shadow:none;
	transform:translateY(0);
	transition:
		transform .28s ease,
		box-shadow .25s ease;
}

.acs-navbar.acs-navbar-hidden{
	transform:translateY(-110%);
}

.acs-navbar.acs-navbar-scrolled{
	background:#fff;
	border-bottom:0;
	box-shadow:0 18px 45px rgba(23,43,101,.22);
}

/* Brand: square icon + editable text */
.navbar-brand.acs-navbar-brand{
	display:inline-flex !important;
	align-items:center;
	gap:.65rem;
	flex-shrink:1 !important;
	min-width:0;
	max-width:calc(100vw - 96px);
	margin-right:1.5rem !important;
	padding:0;
	text-decoration:none;
}

.acs-nav-icon{
	display:block;
	width:54px;
	height:54px;
	flex:0 0 auto;
	object-fit:contain;
	filter:drop-shadow(0 8px 18px rgba(0,0,0,.16));
}

.acs-nav-brand-text{
	color:var(--acs-navy);
	font-size:1.35rem;
	font-weight:800;
	letter-spacing:-.035em;
	line-height:1;
	white-space:nowrap;
	text-shadow:0 4px 16px rgba(0,0,0,.22);
}

/* Nav links */
.acs-navbar .nav-link{
	color:var(--acs-navy) !important;
	font-size:.95rem;
	font-weight:600;
	letter-spacing:.01em;
	padding:.6rem .8rem;
	opacity:.92;
	transition:
		opacity .2s ease,
		color .2s ease,
		background-color .2s ease;
}

.acs-navbar .nav-link:hover,
.acs-navbar .nav-link:focus,
.acs-navbar .nav-link.active{
	color:var(--acs-navy); !important;
	opacity:1;
}

/* Free Audit button */
.acs-nav-cta{
	background:linear-gradient(135deg, var(--acs-cyan), var(--acs-blue));
	color:#fff !important;
	border:0;
	font-size:.9rem;
	font-weight:800;
	box-shadow:0 10px 24px rgba(0,0,0,.18);
	transition:
		transform .2s ease,
		filter .2s ease,
		box-shadow .2s ease;
}

.acs-nav-cta:hover,
.acs-nav-cta:focus{
	color:#fff !important;
	filter:brightness(.98);
	transform:translateY(-1px);
	box-shadow:0 14px 30px rgba(0,0,0,.22);
}

/* Partner Login pill */
.acs-partner-link{
	display:inline-flex !important;
	align-items:center;
	gap:.45rem;
	padding:.45rem .9rem !important;
	background:rgba(50,53,147,.06);
	border:1px solid rgba(50,53,147,.22);
	border-radius:999px;
}

.acs-partner-link i{
	color:#ffd76a;
	font-size:.9rem;
}

/* Mobile hamburger */
.acs-navbar-toggler{
	display:flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	padding:0;
	border:1px solid rgba(50,53,147,.30);
	border-radius:.65rem;
	box-shadow:none !important;
}
.acs-navbar .navbar-toggler-icon{
	width:24px;
	height:24px;
	background-size:24px 24px;
	filter:invert(1);
}

/* Tablet + Mobile */
@media (max-width:991.98px){
	:root{
		--acs-navbar-height:76px;
	}

	.acs-navbar{
		min-height:var(--acs-navbar-height);
		padding-top:.75rem;
		padding-bottom:.75rem;
		background:#fff;
	}

	.navbar-brand.acs-navbar-brand{
		max-width:calc(100vw - 88px);
		margin-right:.75rem !important;
	}

	.acs-nav-icon{
		width:46px;
		height:46px;
	}

	.acs-nav-brand-text{
		font-size:1.05rem;
		letter-spacing:-.04em;
	}

	.acs-navbar .navbar-collapse{
	margin-top:1rem;
	padding:1rem;
	background:#fff;
	border:1px solid rgba(50,53,147,.12);
	border-radius:1.25rem;
	box-shadow:0 18px 45px rgba(50,53,147,.10);
	}

	.acs-navbar .nav-link{
		padding:.75rem 0;
	}

	.acs-nav-cta{
		display:inline-flex;
		justify-content:center;
		margin-top:.5rem;
	}

	.acs-partner-link{
		justify-content:center;
		margin-top:.5rem;
	}
}

/* Small Mobile */
@media (max-width:575.98px){
	:root{
		--acs-navbar-height:70px;
	}

	.acs-navbar{
		min-height:var(--acs-navbar-height);
		padding-top:.65rem;
		padding-bottom:.65rem;
	}

	.navbar-brand.acs-navbar-brand{
		max-width:calc(100vw - 82px);
	}

	.acs-nav-icon{
		width:42px;
		height:42px;
	}

	.acs-nav-brand-text{
		font-size:.95rem;
	}
}

/* Very Narrow Phones */
@media (max-width:360px){
	.acs-nav-brand-text{
		display:none;
	}
}
/* =========================================================
   NAVBAR DROPDOWN
   ========================================================= */

.acs-nav-dropdown .dropdown-toggle::after{
	margin-left:.45rem;
	vertical-align:.12em;
	border-top:.35em solid;
	border-right:.32em solid transparent;
	border-left:.32em solid transparent;
	opacity:.8;
}

.acs-dropdown-menu{
	min-width:310px;
	padding:.75rem;
	margin-top:0;
	border:1px solid rgba(255,255,255,.18);
	border-radius:1.25rem;
	background:rgba(255,255,255,.96);
	backdrop-filter:blur(16px);
	-webkit-backdrop-filter:blur(16px);
	box-shadow:0 24px 70px rgba(23,43,101,.22);
}
.acs-nav-dropdown{
	position:relative;
}

.acs-nav-dropdown::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:100%;
	height:14px;
}
.acs-dropdown-item{
	display:flex;
	align-items:flex-start;
	gap:.85rem;
	padding:.85rem;
	border-radius:.95rem;
	color:var(--acs-navy);
	white-space:normal;
	transition:background-color .2s ease, transform .2s ease, color .2s ease;
}

.acs-dropdown-item:hover,
.acs-dropdown-item:focus{
	background:linear-gradient(135deg, rgba(70,200,228,.14), rgba(30,119,186,.12));
	color:var(--acs-navy);
	transform:translateX(2px);
}

.acs-dropdown-icon{
	width:42px;
	height:42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 42px;
	border-radius:999px;
	background:linear-gradient(135deg, var(--acs-cyan), var(--acs-blue));
	color:#fff;
	box-shadow:0 10px 24px rgba(30,119,186,.18);
}

.acs-dropdown-item strong{
	display:block;
	font-size:.95rem;
	font-weight:800;
	line-height:1.2;
	margin-bottom:.15rem;
}

.acs-dropdown-item small{
	display:block;
	font-size:.78rem;
	line-height:1.35;
	color:var(--acs-navy);
}

@media (min-width:992px){
	.acs-nav-dropdown:hover .dropdown-menu{
		display:block;
	}

	.acs-nav-dropdown:hover .dropdown-toggle::after{
		transform:rotate(180deg);
	}
}

@media (max-width:991.98px){
	.acs-dropdown-menu{
		min-width:100%;
		margin-top:.5rem;
		background:#fff;
		border:1px solid rgba(50,53,147,.12);
		border-radius:1rem;
		box-shadow:0 12px 30px rgba(50,53,147,.10);
	}

	.acs-dropdown-item{
		color:var(--acs-navy);
	}

	.acs-dropdown-item:hover,
	.acs-dropdown-item:focus{
		background:rgba(255,255,255,.1);
		color:var(--acs-navy);
		transform:none;
	}

	.acs-dropdown-item small{
		color:var(--acs-muted);
	}
}
/* =========================================================
   TYPOGRAPHY
   ========================================================= */

.acs-hero h1{
	color:var(--acs-navy);
	letter-spacing:-.04em;
}

.acs-eyebrow{
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--acs-blue);
}

.acs-eyebrow-light{
	color:#bff4ff;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.btn-primary{
	background:linear-gradient(135deg, var(--acs-blue), var(--acs-navy));
	border:0;
	box-shadow:0 12px 30px rgba(30,119,186,.25);
}

.btn-primary:hover{
	filter:brightness(.96);
	transform:translateY(-1px);
}

.btn-outline-primary{
	border-color:var(--acs-blue);
	color:var(--acs-blue);
}

.btn-outline-primary:hover{
	background:var(--acs-blue);
	border-color:var(--acs-blue);
}

/* Hero button behavior */
.acs-hero-actions .btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:58px;
	line-height:1.25;
	text-align:center;
}

@media (max-width:991.98px){
	.acs-hero-actions{
		max-width:360px;
	}

	.acs-hero-actions .btn{
		width:100%;
	}
}

@media (min-width:992px){
	.acs-hero-actions .btn{
		width:auto;
	}
}
/* =========================================================
   HERO SECTION
   ========================================================= */

.acs-hero{
	min-height:88vh;
	padding:8rem 0 5rem;
	background:
		radial-gradient(circle at 80% 20%, rgba(70,200,228,.25), transparent 34%),
		linear-gradient(135deg, #ffffff 0%, #f5fbff 48%, #eaf6ff 100%);
	overflow:visible;
}


/* =========================================================
   HERO TRUST ROW
   ========================================================= */

.acs-trust-row{
	display:flex;
	flex-wrap:wrap;
	gap:.75rem 1rem;
	color:var(--acs-muted);
	font-size:.92rem;
}

.acs-trust-row span{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
}

.acs-trust-row i{
	color:var(--acs-blue);
}


/* =========================================================
   HERO VISUAL / LOGO GLOBE
   ========================================================= */

.acs-hero-visual{
	position:relative;
	min-height:420px;
	display:flex;
	align-items:center;
	justify-content:center;
	max-width:100%;
	overflow:visible;
}

.acs-globe{
	max-width:390px;
	width:100%;
	filter:drop-shadow(0 30px 45px rgba(50,53,147,.18));
}


/* =========================================================
   HERO FLOATING CARDS
   ========================================================= */

.acs-floating-card{
	position:absolute;
	display:flex;
	align-items:center;
	gap:.6rem;
	background:rgba(255,255,255,.92);
	backdrop-filter:blur(10px);
	border:1px solid var(--acs-border);
	border-radius:999px;
	padding:.85rem 1.15rem;
	box-shadow:var(--acs-shadow);
	color:var(--acs-navy);
	font-weight:700;
	white-space:nowrap;
	max-width:calc(100vw - 2rem);
}

.acs-floating-card i{
	color:var(--acs-blue);
	font-size:1.25rem;
}

.acs-card-top{
	top:16%;
	right:4%;
}

.acs-card-bottom{
	bottom:16%;
	left:4%;
}
/* =========================================================
   SHARED HERO CAROUSEL
   ========================================================= */

.acs-hero-carousel{
	--acs-hero-height:560px;
	--acs-hero-navbar-offset:var(--acs-navbar-height);
	position:relative;
	isolation:isolate;
	width:100%;
	min-height:var(--acs-hero-height);
	margin-top:var(--acs-hero-navbar-offset);
	overflow:hidden;
	background:#101828;
}

.acs-hero-carousel-bg{
	position:absolute;
	inset:0;
	z-index:0;
	width:100%;
	height:100%;
}

.acs-hero-carousel-bg .carousel-inner,
.acs-hero-carousel-bg .carousel-item{
	width:100%;
	height:100%;
}

.acs-hero-carousel-bg img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 24%;
}

.acs-hero-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background:
		linear-gradient(rgba(10,30,60,.78), rgba(10,30,60,.38)),
		radial-gradient(circle at center, rgba(70,200,228,.18), transparent 55%);
	pointer-events:none;
}

.acs-hero-content{
	position:relative;
	z-index:2;
}

@media (max-width:991.98px){
	.acs-hero-carousel{
		--acs-hero-height:520px;
	}

	.acs-hero-content{
		padding-top:3rem;
		padding-bottom:3rem;
	}
}

@media (max-width:575.98px){
	.acs-hero-carousel{
		--acs-hero-height:500px;
	}

	.acs-hero-carousel-bg img{
		object-position:center top;
	}

	.acs-hero-content{
		padding-top:3.5rem;
		padding-bottom:3.5rem;
	}
}
/* =========================================================
   SHARED PRODUCT VISUALS
   ========================================================= */

.acs-product-visual{
	width:100%;
	min-height:520px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	background:transparent;
}

.acs-product-visual img{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:500px;
	object-fit:contain;
	background:transparent;
	border-radius:0;
	box-shadow:none;
}

.acs-product-visual-lg{
	min-height:620px;
}

.acs-product-visual-lg img{
	max-height:620px;
}

.acs-product-visual-wide img{
	width:115%;
	max-width:760px;
	max-height:none;
}

@media (max-width:991.98px){
	.acs-product-visual{
		min-height:420px;
	}

	.acs-product-visual img{
		max-height:400px;
	}

	.acs-product-visual-lg{
		min-height:440px;
		padding:1.5rem;
	}

	.acs-product-visual-lg img{
		max-height:420px;
	}

	.acs-product-visual-wide img{
		width:100%;
		max-width:680px;
		max-height:none;
	}
}

@media (max-width:575.98px){
	.acs-product-visual{
		min-height:320px;
	}

	.acs-product-visual img{
		max-height:300px;
	}

	.acs-product-visual-lg{
		min-height:360px;
		padding:1rem;
	}

	.acs-product-visual-lg img{
		max-height:340px;
	}

	.acs-product-visual-wide img{
		width:100%;
		max-width:100%;
		max-height:none;
	}
}
/* =========================================================
   STATIC HERO
   ========================================================= */

.acs-static-hero{
	position:relative;
	isolation:isolate;
	width:100%;
	min-height:560px;
	margin-top:var(--acs-navbar-height);
	overflow:hidden;
	background-color:#101828;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	background-attachment:fixed;
}

.acs-static-hero-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(rgba(10,30,60,.72), rgba(10,30,60,.32));
	pointer-events:none;
}

.acs-static-hero-content{
	position:relative;
	z-index:2;
}

@media (max-width:991.98px){
	.acs-static-hero{
		min-height:460px;
		background-attachment:scroll;
	}
}

@media (max-width:575.98px){
	.acs-static-hero{
		min-height:420px;
	}
}
/* =========================================================
   PRODUCT OPTION LAYOUT
   ========================================================= */

.acs-product-option{
	height:100%;
}

.acs-product-option-visual{
	width:100%;
	min-height:340px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:1.75rem;
}

.acs-product-option-visual img{
	display:block;
	width:100%;
	max-width:420px;
	max-height:320px;
	object-fit:contain;
	border-radius:0;
	box-shadow:none;
}

.acs-product-option h3{
	color:var(--acs-text);
}

.acs-product-option p{
	max-width:360px;
	margin-left:auto;
	margin-right:auto;
	line-height:1.7;
}

@media (max-width:991.98px){
	.acs-product-option-visual{
		min-height:300px;
	}

	.acs-product-option-visual img{
		max-width:360px;
		max-height:280px;
	}
}

@media (max-width:575.98px){
	.acs-product-option-visual{
		min-height:260px;
		margin-bottom:1.5rem;
	}

	.acs-product-option-visual img{
		max-width:320px;
		max-height:240px;
	}
}
/* =========================================================
   SECTION BACKGROUNDS
   ========================================================= */

.acs-section-light{
	background:var(--acs-light);
}

.acs-section-blue{
	background:
		radial-gradient(circle at 15% 20%, rgba(70,200,228,.24), transparent 30%),
		linear-gradient(135deg, var(--acs-navy), var(--acs-blue));
}


/* =========================================================
   MEDIA CARDS
   ========================================================= */

.acs-media-card{
	background:#fff;
	border:1px solid var(--acs-border);
	border-radius:1.5rem;
	overflow:hidden;
	box-shadow:var(--acs-shadow);
}

.acs-media-card img{
	width:100%;
	display:block;
}

.acs-media-card-white{
	padding:3rem;
}


/* =========================================================
   ICON BOXES
   ========================================================= */

.acs-icon-box{
	width:48px;
	height:48px;
	border-radius:1rem;
	background:linear-gradient(135deg, rgba(70,200,228,.18), rgba(30,119,186,.12));
	color:var(--acs-blue);
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	font-size:1.25rem;
}


/* =========================================================
   FEATURE CARDS
   ========================================================= */

.acs-feature-card{
	background:#fff;
	border:1px solid var(--acs-border);
	border-radius:1.5rem;
	padding:1.5rem;
	box-shadow:0 18px 45px rgba(50,53,147,.08);
	transition:transform .2s ease, box-shadow .2s ease;
}

.acs-feature-card:hover{
	transform:translateY(-4px);
	box-shadow:var(--acs-shadow);
}

.acs-feature-icon{
	width:54px;
	height:54px;
	border-radius:1.2rem;
	background:linear-gradient(135deg, var(--acs-blue), var(--acs-cyan));
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.45rem;
	margin-bottom:1.25rem;
}


/* =========================================================
   INDUSTRY CARDS
   ========================================================= */

.acs-industry-card{
	background:#fff;
	border:1px solid var(--acs-border);
	border-radius:1.5rem;
	padding:1.5rem;
	box-shadow:0 18px 45px rgba(50,53,147,.08);
	transition:transform .2s ease, box-shadow .2s ease;
}

.acs-industry-card:hover{
	transform:translateY(-4px);
	box-shadow:var(--acs-shadow);
}

.acs-industry-card i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:54px;
	height:54px;
	border-radius:1.2rem;
	background:var(--acs-soft);
	color:var(--acs-blue);
	font-size:1.45rem;
	margin-bottom:1.25rem;
}


/* =========================================================
   STATEMENT REVIEW CTA SECTION
   ========================================================= */

.acs-cta-section{
	background:
		linear-gradient(180deg, #ffffff 0%, #f2faff 100%);
}

.acs-cta-card{
	background:#fff;
	border:1px solid var(--acs-border);
	border-radius:2rem;
	padding:4rem 2rem;
	box-shadow:var(--acs-shadow);
}


/* =========================================================
   AOS MOBILE OVERFLOW PROTECTION
   ========================================================= */

[data-aos]{
	max-width:100%;
}


/* =========================================================
   TABLET + MOBILE RESPONSIVE STYLES
   ========================================================= */

@media (max-width:991.98px){
	.py-lg-6{
		padding-top:4rem;
		padding-bottom:4rem;
	}

	.acs-hero{
		min-height:auto;
		padding:7rem 0 4rem;
		text-align:center;
	}

	.acs-hero h1{
		letter-spacing:-.03em;
	}

	.acs-trust-row{
		justify-content:center;
	}

	.acs-hero-visual{
		min-height:320px;
		max-width:100%;
		overflow:visible;
	}

	.acs-globe{
		max-width:270px;
		width:82%;
	}

	.acs-floating-card{
		font-size:.82rem;
		padding:.7rem .9rem;
		max-width:calc(100vw - 2rem);
	}

	.acs-card-top{
		top:12%;
		right:1rem;
	}

	.acs-card-bottom{
		bottom:12%;
		left:1rem;
	}

	.acs-media-card-white{
		padding:2rem;
	}

	.acs-cta-card{
		padding:3rem 1.5rem;
	}

	[data-aos="fade-left"],
	[data-aos="fade-right"]{
		transform:none !important;
	}
}


/* =========================================================
   SMALL MOBILE RESPONSIVE STYLES
   ========================================================= */

@media (max-width:575.98px){
	.acs-hero{
		padding:6.5rem 0 3.5rem;
	}

	.acs-hero h1{
		font-size:2.35rem;
	}

	.acs-hero .lead{
		font-size:1rem;
	}

	.acs-hero .btn{
		width:100%;
	}

	.acs-hero-visual{
		min-height:285px;
	}

	.acs-globe{
		max-width:235px;
		width:78%;
	}

	.acs-floating-card{
		font-size:.76rem;
		padding:.62rem .78rem;
		box-shadow:0 14px 35px rgba(50,53,147,.12);
	}

	.acs-floating-card i{
		font-size:1rem;
	}

	.acs-card-top{
		top:10%;
		right:.5rem;
	}

	.acs-card-bottom{
		bottom:10%;
		left:.5rem;
	}

	.acs-feature-card,
	.acs-industry-card{
		border-radius:1.25rem;
		padding:1.25rem;
	}

	.acs-cta-card{
		border-radius:1.5rem;
		padding:2.5rem 1.25rem;
	}
}


/* =========================================================
   MOBILE HORIZONTAL WIGGLE FIX
   ========================================================= */

@media (max-width:991.98px){
	body{
		overflow-x:hidden;
	}

	.container,
	.container-fluid{
		max-width:100%;
		overflow-x:hidden;
	}

	.row{
		margin-left:0;
		margin-right:0;
	}

	[class*="col-"]{
		padding-left:.75rem;
		padding-right:.75rem;
	}

	.acs-hero{
		overflow-x:hidden !important;
		overflow-y:visible !important;
	}

	.acs-hero-visual{
		overflow:visible !important;
		min-height:auto !important;
		padding-bottom:2rem;
	}

	.acs-section-light,
	.acs-section-blue,
	.acs-cta-section,
	section{
		overflow-x:hidden;
	}

	[data-aos]{
		transform:none !important;
	}
}


/* =========================================================
   LEGAL CONTENT / MODALS
   ========================================================= */

.acs-legal-modal-content{
	background:linear-gradient(135deg, var(--acs-navy), var(--acs-blue));
	color:#fff;
	border:0;
}

.acs-legal-modal-content .modal-body{
	background:transparent;
}

/* Legal hero used inside modal content */
.acs-legal-hero{
	padding-top:8rem !important;
	background:
		radial-gradient(circle at 80% 20%, rgba(70,200,228,.28), transparent 34%),
		linear-gradient(135deg, var(--acs-navy), var(--acs-blue));
	border-bottom:1px solid rgba(255,255,255,.16);
}

.acs-legal-hero h1{
	color:#fff;
	letter-spacing:-.035em;
}

.acs-legal-hero .lead{
	color:rgba(255,255,255,.78) !important;
}

.acs-legal-hero .acs-eyebrow{
	color:#bff4ff;
}

/* Legal body/card area */
.acs-legal-section{
	background:#f5faff;
	padding-top:3rem !important;
}

.acs-legal-card{
	background:#fff;
	border:1px solid var(--acs-border);
	border-radius:1.5rem;
	box-shadow:var(--acs-shadow);
	padding:3rem;
	color:var(--acs-text);
}

.acs-legal-card h2{
	color:var(--acs-navy);
	font-size:1.35rem;
	font-weight:800;
	margin-top:2.25rem;
	margin-bottom:1rem;
}

.acs-legal-card h2:first-of-type{
	margin-top:0;
}

.acs-legal-card p{
	color:var(--acs-muted);
	line-height:1.75;
	margin-bottom:1.15rem;
}

.acs-legal-card a{
	color:var(--acs-blue);
	font-weight:600;
	text-decoration:none;
}

.acs-legal-card a:hover{
	text-decoration:underline;
}

/* Modal legal content width refinement */
.acs-legal-modal-content .acs-legal-section .container{
	max-width:100%;
	padding-left:2rem;
	padding-right:2rem;
}

.acs-legal-modal-content .acs-legal-section .col-lg-9{
	width:100%;
	max-width:980px;
	flex:0 0 auto;
}

.acs-legal-modal-content .acs-legal-card{
	margin-left:auto;
	margin-right:auto;
}

/* Modal close button */
.acs-modal-close{
	position:absolute;
	top:1rem;
	right:1.25rem;
	z-index:10;
	width:42px;
	height:42px;
	border:0;
	border-radius:999px;
	background:var(--acs-navy);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:2rem;
	line-height:1;
	box-shadow:0 10px 28px rgba(0,0,0,.22);
	opacity:.95;
	transition:transform .2s ease, opacity .2s ease, background .2s ease;
}

.acs-modal-close:hover{
	background:var(--acs-blue);
	opacity:1;
	transform:translateY(-1px);
}

.acs-modal-close span{
	display:block;
	line-height:.85;
	margin-top:-2px;
}

@media (max-width:575.98px){
	.acs-legal-hero{
		padding-top:5rem !important;
		padding-left:1rem;
		padding-right:1rem;
	}

	.acs-legal-section{
		padding-top:2rem !important;
	}

	.acs-legal-card{
		padding:2rem 1.25rem;
		border-radius:1.25rem;
	}

	.acs-legal-card h2{
		font-size:1.15rem;
	}

	.acs-legal-modal-content .acs-legal-section .container{
		padding-left:1rem;
		padding-right:1rem;
	}

	.acs-modal-close{
		top:.75rem;
		right:.75rem;
		width:38px;
		height:38px;
		font-size:1.75rem;
	}
}