/* Atlantic Elementor widgets */
.agm-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.agm-icon-sm { width: 0.875rem; height: 0.875rem; }
.agm-icon-fill { fill: currentColor; }
.agm-star { color: #fbbf24; fill: #fbbf24; }
.agm-eyebrow-light { color: #3fa9c4 !important; }
.agm-eyebrow-light::before { background: #3fa9c4 !important; }
.agm-eyebrow-center { justify-content: center; }
.agm-text-link {
	display: inline-flex; align-items: center; gap: 0.5rem;
	border-bottom: 1px solid #1d8da7; padding-bottom: 0.25rem;
	font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; color: #1d8da7;
}
.agm-text-link:hover { color: #156e82; }
.agm-btn-compact { padding: 0.75rem 1.5rem !important; }

/* Header */
.agm-site-header { position: fixed; inset-inline: 0; top: 0; z-index: 50; }
.agm-topbar { display: none; background: #022e56; color: #fff; }
@media (min-width: 1024px) { .agm-topbar { display: block; } }
.agm-topbar-inner { display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 0; font-size: 0.75rem; font-weight: 500; }
.agm-topbar-left { display: flex; align-items: center; gap: 1.5rem; }
.agm-topbar-link, .agm-topbar-muted { display: inline-flex; align-items: center; gap: 0.375rem; color: inherit; }
.agm-topbar-link:hover { color: #aedae6; }
.agm-topbar-muted { color: rgba(255,255,255,0.8); }
.agm-topbar-emergency { display: inline-flex; align-items: center; gap: 0.375rem; color: #aedae6; }
.agm-topbar .agm-icon { color: #3fa9c4; }
.agm-header-main { position: relative; background: #fff; border-bottom: 1px solid transparent; transition: all 0.3s; }
.agm-header-main.is-scrolled { border-bottom-color: #e2e8f0; box-shadow: 0 10px 30px rgba(2,46,86,0.05); }
.agm-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; position: relative; }
.agm-logo-img { height: 3rem; width: auto; transition: height 0.3s; }
/* section */
.agm-desktop-nav { display: none; align-self: stretch; }
@media (min-width: 1280px) { .agm-desktop-nav { display: block; } }
.agm-nav-triggers { display: flex; height: 100%; align-items: center; gap: 0.25rem; }
.agm-nav-trigger, .agm-nav-link {
	display: inline-flex; align-items: center; gap: 0.375rem; white-space: nowrap;
	padding: 0.5rem 1rem; font-size: 0.875rem; font-weight: 600; color: #022e56; background: transparent; border: 0; cursor: pointer;
}
.agm-nav-trigger:hover, .agm-nav-link:hover, .agm-nav-trigger.is-open, .agm-nav-link.is-active { background: #f0f4f4; color: #1d8da7; }
.agm-nav-trigger.is-open .agm-chevron { transform: rotate(180deg); }
.agm-chevron { transition: transform 0.3s; }
.agm-mega {
	position: absolute; inset-inline: 0; top: 100%; z-index: 40;
	border-top: 2px solid #1d8da7; background: #fff;
	box-shadow: 0 25px 50px rgba(2,46,86,0.15);
	opacity: 0; visibility: hidden; transform: translateY(-1rem); transition: all 0.35s ease-out; pointer-events: none;
}
.agm-mega.is-open { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.agm-mega[hidden] { display: none !important; }
.agm-mega.is-open[hidden] { display: block !important; }
.agm-mega-grid {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 3rem;
	padding: 2.5rem 0;
	align-items: stretch;
}
.agm-mega-featured {
	position: relative;
	display: block;
	min-height: 380px;
	height: 100%;
	align-self: stretch;
	overflow: hidden;
	background: #011528;
}
/* Beat theme/Elementor `img { height: auto; max-width: 100% }` so photos fill the frame */
.agm-mega-featured img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	transition: transform 0.7s;
}
.agm-mega-featured:hover img { transform: scale(1.05); }
.agm-mega-featured-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(2,46,86,0.08) 15%, rgba(1,21,40,0.9) 90%); }
.agm-mega-featured-copy { position: absolute; inset-inline: 0; bottom: 0; z-index: 2; padding: 1.75rem; }
.agm-mega-tagline { display: block; margin-top: 0.75rem; font-family: var(--agm-font-display); font-size: 1.5rem; font-weight: 300; text-transform: uppercase; letter-spacing: 0.08em; color: #fff; line-height: 1.3; }
.agm-mega-viewall { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1.25rem; border-bottom: 1px solid rgba(63,169,196,0.5); padding-bottom: 0.25rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2em; color: #aedae6; }
.agm-mega-right {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	align-self: stretch;
}
.agm-mega-explore { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.25em; color: #94a3b8; flex-shrink: 0; }
.agm-mega-children { margin-top: 0.75rem; display: grid; grid-template-columns: 1fr 1fr; flex: 1 1 auto; }
.agm-mega-child { display: flex; align-items: center; gap: 1rem; border-top: 1px solid #e2e8f0; padding: 1rem 0.5rem; }
.agm-mega-num { width: 2rem; font-family: var(--agm-font-display); font-size: 1.5rem; font-weight: 300; color: rgba(29,141,167,0.35); }
.agm-mega-child:hover .agm-mega-num { color: #1d8da7; }
.agm-mega-thumb {
	position: relative;
	display: block;
	height: 4rem;
	width: 6rem;
	overflow: hidden;
	flex-shrink: 0;
	background: #e2e8f0;
}
.agm-mega-thumb img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	transition: transform 0.5s;
}
.agm-mega-child:hover .agm-mega-thumb img { transform: scale(1.1); }
.agm-mega-child-label { display: block; font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #022e56; }
.agm-mega-child:hover .agm-mega-child-label { color: #1d8da7; }
.agm-mega-child-desc { display: block; margin-top: 0.25rem; font-size: 0.75rem; color: #64748b; line-height: 1.5; }
/* Pin phone + CTA to the bottom of the mega panel (matches tall featured column) */
.agm-mega-footer {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-top: 2px solid rgba(2,46,86,0.1);
	padding-top: 1.25rem;
	flex-shrink: 0;
}
.agm-mega-phone { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: #022e56; }
.agm-mega-phone .agm-icon { color: #1d8da7; }
.agm-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem;
	margin-left: auto;
	flex-shrink: 0;
}
.agm-header-phone {
	display: none; align-items: center; gap: 0.5rem; white-space: nowrap;
	border: 1px solid rgba(2,46,86,0.15); padding: 0.625rem 1rem;
	font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: #022e56;
}
@media (min-width: 1024px) { .agm-header-phone { display: inline-flex; } }
.agm-header-phone:hover { border-color: #1d8da7; color: #1d8da7; }
.agm-header-quote {
	/* Beat .btn-primary { display: inline-flex } from theme tokens */
	display: none !important;
	white-space: nowrap;
	text-align: center;
	line-height: 1.2;
	padding: 0.75rem 1.5rem;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	flex-shrink: 0;
}
@media (min-width: 500px) {
	.agm-header-quote {
		display: inline-flex !important;
	}
}
.agm-header-logo {
	display: block;
	min-width: 0;
	flex: 0 1 auto;
}
.agm-header-inner.container-site {
	width: 100%;
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
}
.agm-topbar-inner.container-site {
	width: 100%;
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
}
.agm-mobile-toggle {
	display: inline-flex;
	height: 2.75rem;
	width: 2.75rem;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border: 1px solid rgba(2,46,86,0.15);
	background: #fff;
	color: #022e56;
	cursor: pointer;
}
@media (min-width: 1280px) { .agm-mobile-toggle { display: none; } }
@media (max-width: 499px) {
	.agm-header-quote {
		display: none !important;
	}
	.agm-header-inner {
		gap: 0.75rem;
	}
	.agm-header-actions {
		gap: 0;
		margin-left: auto;
	}
	.agm-mobile-toggle {
		margin-left: 0;
	}
	.agm-header-logo .agm-logo-img {
		max-width: 100%;
	}
}
.agm-mobile-sheet {
	position: fixed;
	inset: 0;
	z-index: 60;
	background: rgba(1,21,40,0.45);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.agm-mobile-sheet.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.agm-mobile-sheet[hidden] { display: none !important; }
.agm-mobile-sheet.is-open[hidden] { display: block !important; }
.agm-mobile-sheet-panel {
	position: absolute; top: 0; right: 0;
	display: flex; flex-direction: column;
	width: min(320px, 92vw); height: 100%;
	background: #fff;
	box-shadow: -12px 0 40px rgba(1,21,40,0.12);
	box-sizing: border-box;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}
.agm-mobile-sheet.is-open .agm-mobile-sheet-panel {
	transform: translateX(0);
}
@media (prefers-reduced-motion: reduce) {
	.agm-mobile-sheet,
	.agm-mobile-sheet-panel {
		transition: none;
	}
}
.agm-mobile-sheet-head {
	display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
	flex-shrink: 0;
	border-bottom: 1px solid #f1f5f9;
	padding: 1.125rem 1rem 1.125rem 1.25rem;
	box-sizing: border-box;
}
.agm-mobile-sheet-panel .agm-mobile-logo {
	display: block !important;
	width: 160px;
	height: auto !important;
	max-width: calc(100% - 3rem) !important;
	object-fit: contain !important;
	object-position: left center;
}
.agm-mobile-close {
	display: inline-flex !important; align-items: center; justify-content: center;
	flex: 0 0 2.5rem;
	width: 2.5rem; height: 2.5rem;
	margin: 0; padding: 0;
	border: 0; border-radius: 0;
	background: transparent; color: #022e56; cursor: pointer;
	z-index: 1;
}
.agm-mobile-close:hover { background: #f0f4f4; color: #1d8da7; }
.agm-mobile-sheet-body {
	display: flex; flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
}
.agm-mobile-nav {
	flex: 0 0 auto;
	width: 100%;
	padding: 0.35rem 1.25rem 0;
	box-sizing: border-box;
}
.agm-mobile-acc {
	width: 100%;
	border-bottom: 1px solid #f1f5f9;
}
.agm-mobile-acc summary {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	box-sizing: border-box;
	list-style: none;
	padding: 0.875rem 0;
	font-size: 0.875rem; font-weight: 700; color: #022e56;
	cursor: pointer; user-select: none;
}
.agm-mobile-acc summary::-webkit-details-marker { display: none; }
.agm-mobile-acc summary::marker { content: ''; }
.agm-mobile-acc-label {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}
.agm-mobile-chevron {
	flex: 0 0 1.125rem;
	width: 1.125rem !important;
	height: 1.125rem !important;
	color: #022e56;
	opacity: 0.55;
	transition: transform 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.agm-mobile-acc[open] > summary .agm-mobile-chevron {
	transform: rotate(180deg);
	color: #1d8da7;
	opacity: 1;
}
.agm-mobile-acc summary:hover,
.agm-mobile-acc summary:hover .agm-mobile-chevron {
	color: #1d8da7;
}
.agm-mobile-acc summary:hover .agm-mobile-chevron { opacity: 1; }
.agm-mobile-acc-body {
	display: flex; flex-direction: column; gap: 0.125rem;
	width: 100%;
	padding: 0 0 0.75rem;
	box-sizing: border-box;
}
.agm-mobile-acc-body a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0.625rem 0 0.625rem 0.75rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: #475569;
	line-height: 1.4;
}
.agm-mobile-acc-body a:hover,
.agm-mobile-links a:hover { background: #f0f4f4; color: #1d8da7; }
.agm-mobile-links {
	margin-top: 0;
	display: flex; flex-direction: column;
	width: 100%;
	border-top: 1px solid #f1f5f9;
	padding: 0;
	box-sizing: border-box;
}
.agm-mobile-links a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0.875rem 0;
	font-size: 0.875rem;
	font-weight: 700;
	color: #022e56;
	line-height: 1.4;
	border-bottom: 1px solid #f1f5f9;
}
.agm-mobile-links a:last-child { border-bottom: 0; }
.agm-mobile-ctas {
	margin-top: auto;
	display: flex; flex-direction: column; gap: 0.75rem;
	width: 100%;
	padding: 1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px));
	box-sizing: border-box;
}
.agm-mobile-ctas .btn-primary,
.agm-mobile-ctas .btn-outline {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	justify-content: center;
	text-align: center;
	padding: 0.875rem 1.25rem;
}
body.agm-mobile-open { overflow: hidden; }

/* Footer */
.agm-site-footer { position: relative; overflow: hidden; border-top: 2px solid #1d8da7; background: #011528; color: #fff; }
.agm-footer-split { display: grid; border-bottom: 1px solid rgba(255,255,255,0.1); }
@media (min-width: 1024px) { .agm-footer-split { grid-template-columns: 1fr 1.1fr; } }
.agm-footer-brand { position: relative; background: #1d8da7; }
.agm-footer-brand-inner { padding: 3.5rem 1.25rem 6rem 0; }
@media (min-width: 640px) { .agm-footer-brand-inner { padding: 4rem 2.5rem 7rem 0; } }
@media (min-width: 1024px) { .agm-footer-brand-inner { padding: 5rem 8rem 5rem 0; } }
.agm-footer-logo { height: 4rem; width: auto; }
@media (min-width: 640px) { .agm-footer-logo { height: 5rem; } }
.agm-footer-rule { margin-top: 2rem; height: 1px; width: 4rem; background: rgba(255,255,255,0.4); }
.agm-footer-blurb { margin-top: 2rem; max-width: 28rem; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.85); }
.agm-footer-badges { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.agm-footer-badges span { border: 1px solid rgba(255,255,255,0.4); background: rgba(255,255,255,0.1); padding: 0.375rem 0.75rem; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; }
.agm-footer-social { margin-top: 2rem; display: flex; gap: 1.5rem; }
.agm-footer-social a { display: inline-flex; align-items: center; gap: 0.375rem; border-bottom: 1px solid rgba(255,255,255,0.4); padding-bottom: 2px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; color: rgba(255,255,255,0.85); }
.agm-footer-call-wrap { background: #011528; }
.agm-footer-call-inner { display: flex; height: 100%; flex-direction: column; justify-content: center; gap: 2.5rem; padding: 3.5rem 0; padding-left: 1.25rem; }
@media (min-width: 640px) { .agm-footer-call-inner { padding-left: 2.5rem; } }
@media (min-width: 1024px) { .agm-footer-call-inner { padding: 5rem 0; padding-left: 5rem; } }
.agm-call-card { display: block; border: 1px solid rgba(255,255,255,0.15); padding: 1.5rem; transition: border-color 0.3s; }
@media (min-width: 640px) { .agm-call-card { padding: 2.5rem; } }
.agm-call-card:hover { border-color: rgba(63,169,196,0.6); }
.agm-call-label { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.25em; color: rgba(255,255,255,0.4); transition: color 0.3s; }
.agm-call-label .agm-icon { transition: color 0.3s, transform 0.3s; }
.agm-call-number { display: block; margin-top: 1.25rem; white-space: nowrap; font-family: var(--agm-font-display); font-size: clamp(2rem, 3.4vw, 3.75rem); font-weight: 300; letter-spacing: 0.03em; color: #fff; }
.agm-call-tap { display: flex; align-items: center; gap: 0.5rem; margin-top: 1.25rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: #3fa9c4; transition: color 0.3s; }
.agm-call-tap .agm-icon { transition: color 0.3s, transform 0.3s; }
.agm-call-card:hover .agm-call-label,
.agm-call-card:hover .agm-call-tap,
.agm-call-card:hover .agm-call-label .agm-icon,
.agm-call-card:hover .agm-call-tap .agm-icon { color: #fff; }
.agm-call-card:hover .agm-call-label .agm-icon,
.agm-call-card:hover .agm-call-tap .agm-icon { transform: translate(2px, -2px); }
.agm-call-email-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.25em; color: rgba(255,255,255,0.4); }
.agm-call-email { display: inline-block; margin-top: 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.25); padding-bottom: 2px; font-size: 0.875rem; font-weight: 600; color: rgba(255,255,255,0.7); }
.agm-footer-cols { display: grid; gap: 3rem; padding: 3.5rem 0; }
@media (min-width: 640px) { .agm-footer-cols { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .agm-footer-cols { grid-template-columns: repeat(4, 1fr); } }
.agm-footer-col-title { display: flex; align-items: center; gap: 0.75rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.22em; color: #3fa9c4; margin: 0; }
.agm-footer-col-title span { height: 1px; flex: 1; background: rgba(255,255,255,0.1); }
.agm-footer-cols ul { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.agm-footer-cols a { display: flex; align-items: center; font-size: 0.875rem; color: rgba(255,255,255,0.6); transition: all 0.3s; }
.agm-footer-cols a:hover { transform: translateX(6px); color: #fff; }
.agm-footer-link-bar { display: inline-block; height: 1px; width: 0; margin-right: 0; background: #3fa9c4; transition: all 0.3s; }
.agm-footer-cols a:hover .agm-footer-link-bar { width: 1rem; margin-right: 0.625rem; }
.agm-footer-visit { gap: 1rem !important; font-size: 0.875rem; color: rgba(255,255,255,0.6); }
.agm-footer-visit li {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
}
.agm-footer-visit-row,
.agm-footer-visit a.agm-footer-visit-row {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.625rem;
	width: 100%;
	transform: none !important;
}
.agm-footer-visit a.agm-footer-visit-row:hover {
	transform: none !important;
	color: #fff;
}
.agm-footer-visit .agm-icon {
	flex: 0 0 auto;
	width: 1rem !important;
	height: 1rem !important;
	margin-top: 0.2em;
	color: #3fa9c4;
}
.agm-footer-visit-text {
	flex: 1 1 auto;
	min-width: 0;
	display: block;
	line-height: 1.55;
}
.agm-footer-emergency { color: #aedae6; }
.agm-footer-wordmark {
	border-top: 1px solid rgba(255,255,255,0.1);
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.agm-footer-wordmark img,
.agm-footer-wordmark .footer-mark-img {
	display: block;
	margin: 0 auto;
	width: min(280px, 55vw);
	max-width: 280px;
	height: auto;
}
.agm-footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); }
.agm-footer-bottom-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	padding: 1rem 1.25rem;
	text-align: center;
	font-size: 0.75rem;
	color: rgba(255,255,255,0.45);
}
.agm-footer-bottom-inner p {
	margin: 0;
	padding: 0;
	line-height: 1.45;
	max-width: 22rem;
}
.agm-footer-tagline {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: rgba(255,255,255,0.35);
	line-height: 1.5;
}
@media (min-width: 1024px) {
	.agm-footer-bottom-inner {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		padding: 1.25rem 0;
		text-align: left;
	}
	.agm-footer-bottom-inner p {
		max-width: none;
	}
}

/* Floating */
.agm-float-call {
	position: fixed; bottom: 1.25rem; left: 1.25rem; z-index: 40;
	display: flex; height: 3.5rem; width: 3.5rem; align-items: center; justify-content: center;
	background: #022e56; color: #fff; box-shadow: 0 20px 40px rgba(2,46,86,0.3);
}
@media (min-width: 768px) { .agm-float-call { display: none; } }
.agm-float-quote {
	position: fixed; bottom: 1.25rem; right: 1.25rem; z-index: 40;
	display: inline-flex; align-items: center; gap: 0.625rem;
	background: #1d8da7; color: #fff; padding: 1rem 1.5rem;
	font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em;
	box-shadow: 0 20px 40px rgba(2,46,86,0.3);
	transform: translateY(6rem); opacity: 0; pointer-events: none; transition: all 0.5s;
}
.agm-float-quote.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }

/* Marquee */
.agm-marquee { overflow: hidden; border-bottom: 1px solid #e2e8f0; background: #fff; padding: 1.25rem 0; }
.agm-marquee-row { display: flex; flex-shrink: 0; align-items: center; }
.agm-marquee-pair { display: flex; align-items: center; }
.agm-marquee-item { padding: 0 1.5rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.25em; color: rgba(2,46,86,0.7); }
@media (min-width: 640px) { .agm-marquee-item { font-size: 0.875rem; } }
.agm-marquee-dot { height: 0.5rem; width: 0.5rem; transform: rotate(45deg); background: #1d8da7; }

/* Areas */
.agm-areas-strip { overflow: hidden; border-block: 1px solid #e2e8f0; background: #fff; padding: 6rem 0 0; }
@media (min-width: 640px) { .agm-areas-strip { padding-top: 9rem; } }
.agm-areas-top { display: flex; flex-direction: column; gap: 2.5rem; }
@media (min-width: 1024px) { .agm-areas-top { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.agm-areas-left { max-width: 36rem; }
.agm-areas-heading { margin: 1rem 0 0; font-size: clamp(1.875rem, 3vw, 2.25rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.06em; color: #022e56; line-height: 1.18; }
.agm-areas-rule { margin-top: 1.5rem; width: 6rem; }
.agm-areas-right { max-width: 28rem; }
.agm-areas-body { margin: 1rem 0 0; font-size: 0.875rem; line-height: 1.7; color: #475569; }
.agm-areas-body:first-child { margin-top: 0; }
.agm-areas-right .agm-text-link { margin-top: 1.5rem; }
.agm-areas-marquees { margin-top: 4rem; margin-bottom: 4rem; display: flex; flex-direction: column; gap: 1.25rem; user-select: none; }
.agm-areas-town { padding: 0 1.75rem; font-family: var(--agm-font-display); font-size: clamp(3rem, 6vw, 4.5rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.05em; line-height: 1; }
.agm-areas-town-pair, .agm-areas-county-pair { display: flex; align-items: center; }
.agm-areas-diamond { height: 0.625rem; width: 0.625rem; transform: rotate(45deg); background: rgba(29,141,167,0.6); }
.agm-areas-diamond-sm { height: 0.375rem; width: 0.375rem; background: rgba(2,46,86,0.2); }
.agm-areas-county { padding: 0 1.75rem; font-family: var(--agm-font-display); font-size: clamp(1.5rem, 3vw, 1.875rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(2,46,86,0.25); line-height: 1; }

/* CTA band */
.agm-cta-band { position: relative; overflow: hidden; background: #022e56; padding: 6rem 0; }
@media (min-width: 640px) { .agm-cta-band { padding: 9rem 0; } }
.agm-cta-ghost {
	pointer-events: none; position: absolute; inset-inline: 0; top: 50%; transform: translateY(-50%);
	text-align: center; font-family: var(--agm-font-display); font-size: 18vw; font-weight: 800; text-transform: uppercase; line-height: 1; letter-spacing: -0.02em;
}
@media (min-width: 1024px) { .agm-cta-ghost { font-size: 13rem; } }
.agm-cta-glow { pointer-events: none; position: absolute; inset: 0; opacity: 0.5; background-image: radial-gradient(600px 240px at 85% 10%, rgba(29,141,167,0.3), transparent 70%), radial-gradient(500px 220px at 10% 90%, rgba(174,218,230,0.14), transparent 70%); }
.agm-cta-inner { position: relative; text-align: center; }
.agm-cta-heading { margin: 1.25rem auto 0; max-width: 48rem; font-size: clamp(1.875rem, 4vw, 3rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.05em; color: #fff; line-height: 1.15; }
.agm-cta-text { margin: 1.5rem auto 0; max-width: 42rem; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.7); }
.agm-cta-actions { margin-top: 2.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; }
.agm-cta-footnote { margin-top: 2.25rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(255,255,255,0.45); }

/* Stats */
.agm-stats-band { border-top: 1px solid #e2e8f0; background: #fff; padding: 5rem 0; }
@media (min-width: 640px) { .agm-stats-band { padding: 7rem 0; } }
.agm-stats-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; padding-bottom: 3rem; }
.agm-stats-meta { display: none; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.25em; color: #94a3b8; }
@media (min-width: 640px) { .agm-stats-meta { display: block; } }
.agm-stats-grid { display: grid; grid-template-columns: 1fr 1fr; border-left: 1px solid #e2e8f0; border-top: 1px solid #e2e8f0; }
@media (min-width: 1024px) { .agm-stats-grid { grid-template-columns: repeat(4, 1fr); } }
.agm-stat { position: relative; overflow: hidden; border-bottom: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; padding: 3rem 1rem; text-align: center; }
@media (min-width: 640px) { .agm-stat { padding: 3.5rem 1.5rem; } }
.agm-stat-hover { position: absolute; inset: 0; transform: translateY(100%); background: #f0f4f4; transition: transform 0.5s ease-out; }
.agm-stat:hover .agm-stat-hover { transform: translateY(0); }
.agm-stat-inner { position: relative; }
.agm-stat-index { font-size: 11px; font-weight: 700; letter-spacing: 0.25em; color: rgba(29,141,167,0.5); }
.agm-stat:hover .agm-stat-index { color: #1d8da7; }
.agm-stat-number { margin: 0.75rem 0 0; font-family: var(--agm-font-display); font-size: clamp(3rem, 5vw, 3.75rem); font-weight: 300; letter-spacing: 0.04em; color: #022e56; transition: all 0.5s; }
.agm-stat:hover .agm-stat-number { transform: translateY(-6px); color: #1d8da7; }
.agm-stat-diamond { display: block; margin: 1.25rem auto 0; height: 0.5rem; width: 0.5rem; background: #1d8da7; transition: transform 0.5s; }
.agm-stat:hover .agm-stat-diamond { transform: rotate(135deg); }
.agm-stat-rule { margin: 1rem auto 0; height: 1px; width: 2.5rem; border: 0; background: #cbd5e1; transition: all 0.5s; }
.agm-stat:hover .agm-stat-rule { width: 5rem; background: #1d8da7; }
.agm-stat-label { margin: 1rem 0 0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: #64748b; line-height: 1.5; }

/* Page hero */
.agm-page-hero { position: relative; overflow: hidden; }
.agm-page-hero-grid {
	display: grid;
	grid-template-columns: 1fr;
	width: 100%;
}
@media (min-width: 1024px) {
	.agm-page-hero-grid {
		grid-template-columns: 1.1fr 1fr;
		min-height: 82vh;
	}
}
.agm-page-hero-content { position: relative; display: flex; align-items: center; width: 100%; min-width: 0; }
.agm-page-hero-content::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(2,46,86,0.08) 1px, transparent 1px); background-size: 22px 22px; opacity: 0.5; pointer-events: none; }
.agm-page-hero-content-inner { position: relative; width: 100%; padding: 7rem 1.25rem 2.5rem; box-sizing: border-box; }
@media (min-width: 640px) { .agm-page-hero-content-inner { padding: 8rem 2rem 3rem; } }
@media (min-width: 1024px) { .agm-page-hero-content-inner { padding: 10rem 5rem 10rem 0; } }
.agm-breadcrumb { display: flex; align-items: center; gap: 0.75rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2em; color: #64748b; }
.agm-breadcrumb a:hover { color: #1d8da7; }
.agm-breadcrumb-sep { height: 0.75rem; width: 1px; transform: rotate(12deg); background: #cbd5e1; }
.agm-breadcrumb-current { color: #1d8da7; }
.agm-page-hero-title { margin: 1.5rem 0 0; font-size: clamp(2.25rem, 4vw, 3rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.04em; color: #022e56; line-height: 1.14; }
.agm-page-hero-rule { margin-top: 1.75rem; height: 1px; width: 5rem; background: #1d8da7; }
.agm-page-hero-intro { margin-top: 1.25rem; max-width: 36rem; font-size: 0.875rem; line-height: 1.7; color: #475569; }
/* Mobile: image first, then copy. Desktop: copy | media. */
.agm-page-hero-content { order: 2; }
.agm-page-hero-media {
	order: 1;
	position: relative;
	width: 100%;
	min-height: 16rem;
	height: 16rem;
	overflow: hidden;
	background: #022e56;
}
@media (min-width: 640px) {
	.agm-page-hero-media {
		min-height: 22rem;
		height: 22rem;
	}
}
@media (min-width: 1024px) {
	.agm-page-hero-content,
	.agm-page-hero-media { order: unset; }
	.agm-page-hero-media {
		min-height: 100%;
		height: auto;
		align-self: stretch;
	}
}
.agm-page-hero-media img,
.elementor .agm-page-hero-media img,
.elementor-widget-agm_page_hero .agm-page-hero-media img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}
.agm-page-hero-vertical { position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); display: none; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.35em; color: rgba(255,255,255,0.85); }
@media (min-width: 1024px) { .agm-page-hero-vertical { display: block; } }
.agm-page-hero-call { position: absolute; bottom: 1.5rem; left: 1.5rem; display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; box-shadow: 0 20px 40px rgba(2,46,86,0.1); }
.agm-page-hero-call .agm-icon { color: #1d8da7; }
.agm-page-hero-call-label { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: #64748b; }
.agm-page-hero-call-phone { display: block; font-weight: 700; color: #022e56; }

/* Home hero */
.agm-home-hero { position: relative; overflow: hidden; background: #022e56; }
.agm-home-hero-dots { pointer-events: none; position: absolute; inset: 0; opacity: 0.6; background-image: radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 22px 22px; }
.agm-home-hero-panel { pointer-events: none; position: absolute; inset-block: 0; right: 0; display: none; width: 44%; background: #012240; }
@media (min-width: 1024px) { .agm-home-hero-panel { display: block; } }
.agm-home-hero-grid { position: relative; display: grid; align-items: center; gap: 2.5rem; padding: 6.5rem 0 4rem; }
@media (min-width: 640px) { .agm-home-hero-grid { gap: 3.5rem; padding-top: 8rem; padding-bottom: 5.5rem; } }
@media (min-width: 1024px) { .agm-home-hero-grid { grid-template-columns: 1fr 1.05fr; gap: 3rem; padding-top: 10rem; padding-bottom: 8rem; } }
/* Mobile: image collage above copy. Desktop: copy left, media right (DOM order). */
.agm-home-hero-copy { max-width: 36rem; order: 2; }
.agm-home-hero-media { order: 1; }
@media (min-width: 1024px) {
	.agm-home-hero-copy,
	.agm-home-hero-media { order: unset; }
}
.agm-home-hero-title { margin: 1.5rem 0 0; font-family: var(--agm-font-display); font-size: clamp(1.875rem, 4vw, 3rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.05em; color: #fff; line-height: 1.16; }
.agm-home-hero-accent { color: #aedae6; }
.agm-home-hero-body { margin: 1.5rem 0 0; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.7); }
.agm-home-hero-ctas { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.agm-home-hero-trust { margin-top: 2.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.75rem; border-top: 1px solid rgba(255,255,255,0.15); padding-top: 1.5rem; }
.agm-home-hero-trust-item, .agm-home-hero-call { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: rgba(255,255,255,0.75); }
.agm-home-hero-trust-item .agm-icon, .agm-home-hero-call { color: #3fa9c4; }
.agm-home-hero-call:hover { color: #aedae6; }
.agm-home-hero-media {
	position: relative;
	overflow: visible !important;
}
.agm-home-hero-frame {
	pointer-events: none;
	position: absolute;
	left: -1.25rem;
	top: -1.25rem;
	display: none;
	height: 100%;
	width: 100%;
	border: 1px solid rgba(29, 141, 167, 0.4);
}
@media (min-width: 640px) { .agm-home-hero-frame { display: block; } }
.agm-home-hero-main {
	position: relative !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	z-index: 1;
}
@media (min-width: 1024px) { .agm-home-hero-main { aspect-ratio: 5 / 4; } }
.elementor .agm-home-hero-main img,
.agm-home-hero-main img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}
.elementor .agm-home-hero-secondary,
.agm-home-hero-secondary {
	position: absolute !important;
	bottom: -2rem !important;
	left: -0.75rem !important;
	top: auto !important;
	right: auto !important;
	width: 10rem !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	border: 4px solid #fff !important;
	box-shadow: 0 20px 40px rgba(2, 46, 86, 0.15);
	overflow: hidden;
	z-index: 3;
}
@media (min-width: 640px) {
	.elementor .agm-home-hero-secondary,
	.agm-home-hero-secondary {
		left: -2.5rem !important;
		width: 15rem !important;
	}
}
.elementor .agm-home-hero-secondary img,
.agm-home-hero-secondary img {
	position: static !important;
	inset: auto !important;
	display: block;
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
}
.agm-home-hero-badge {
	position: absolute;
	top: -1.25rem;
	right: 0.75rem;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.75rem 1.25rem;
}
@media (min-width: 640px) { .agm-home-hero-badge { right: 1.5rem; } }
.agm-home-hero-badge .agm-icon { color: #1d8da7; }
.agm-home-hero-badge span {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #022e56;
}

/* Home services */
.agm-home-services { border-top: 1px solid #e2e8f0; background: #fff; }
.agm-services-intro { padding: 6rem 0; }
@media (min-width: 640px) { .agm-services-intro { padding: 8rem 0; } }
.agm-services-intro-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.agm-services-meta { display: none; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.25em; color: #94a3b8; }
@media (min-width: 640px) { .agm-services-meta { display: block; } }
.agm-services-heading { margin: 2rem 0 0; font-family: var(--agm-font-display); font-size: clamp(2.25rem, 6vw, 4.5rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.03em; color: #022e56; line-height: 1.08; }
.agm-services-copy { margin-top: 3rem; display: grid; gap: 2.5rem; }
@media (min-width: 640px) { .agm-services-copy { grid-template-columns: 1fr 1fr; } }
.agm-services-copy p { margin: 0; font-size: 0.875rem; line-height: 1.7; color: #475569; }
@media (min-width: 640px) {
	.agm-services-copy p:last-child { border-left: 1px solid #e2e8f0; padding-left: 2.5rem; }
	.agm-services-drop::first-letter { float: left; margin-right: 0.75rem; font-family: var(--agm-font-display); font-size: 3.75rem; font-weight: 300; line-height: 0.85; color: #1d8da7; }
}
.agm-services-strip {
	display: flex;
	flex-direction: column;
	width: 100%;
}
/* Mobile / tablet: stacked image cards (flex:1 was collapsing height to ~0 in a column). */
.agm-service-tile {
	position: relative;
	display: block;
	height: 16.5rem;
	min-height: 16.5rem;
	overflow: hidden;
	border-top: 1px solid #e2e8f0;
	flex: 0 0 auto;
	width: 100%;
}
@media (min-width: 640px) {
	.agm-service-tile {
		height: 20rem;
		min-height: 20rem;
	}
}
@media (min-width: 1024px) {
	.agm-services-strip {
		flex-direction: row;
		height: 80vh;
		min-height: 28rem;
	}
	.agm-service-tile {
		height: auto;
		min-height: 0;
		flex: 1 1 0%;
		width: auto;
		border-top: 0;
		border-left: 1px solid #e2e8f0;
		transition: flex-grow 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
	}
	.agm-service-tile:first-child { border-left: 0; }
	.agm-service-tile:hover { flex: 2.4; transition-delay: 0s; }
}
.elementor-widget-agm_home_services .agm-service-tile > img,
.agm-service-tile > img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	transition: transform 0.7s ease-out;
}
.agm-service-tile:hover > img { transform: scale(1.05); }
.agm-service-overlay { position: absolute; inset: 0; z-index: 1; background: rgba(2,46,86,0.6); transition: background 0.7s; }
.agm-service-tile .agm-service-badge,
.agm-service-tile .agm-service-mobile,
.agm-service-tile .agm-service-desk-title,
.agm-service-tile .agm-service-desk-copy { z-index: 2; }
.agm-service-tile:hover .agm-service-overlay { background: rgba(2,46,86,0.4); }
.agm-service-badge { position: absolute; left: 1.25rem; top: 1.25rem; background: #1d8da7; padding: 0.375rem 0.75rem; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2em; color: #fff; }
.agm-service-mobile {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	z-index: 2;
	padding: 1.5rem 1.25rem;
	background: linear-gradient(180deg, transparent 0%, rgba(1, 21, 40, 0.75) 55%, rgba(1, 21, 40, 0.92) 100%);
}
@media (min-width: 1024px) { .agm-service-mobile { display: none; } }
.agm-service-mobile h3 {
	margin: 0;
	font-family: var(--agm-font-display);
	font-size: clamp(1.25rem, 5vw, 1.75rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #fff;
	line-height: 1.15;
}
.agm-service-mobile span {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.75rem;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #aedae6;
}
.agm-service-desk-title { position: absolute; inset-inline: 0; bottom: 0; display: none; padding: 2rem; }
@media (min-width: 1024px) { .agm-service-desk-title { display: block; } }
.agm-service-desk-title .vertical-text {
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font-family: var(--agm-font-display);
	font-size: 1.25rem;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff;
	line-height: 1;
}
.agm-service-desk-copy { position: absolute; inset-inline: 0; bottom: 0; display: none; padding: 2rem 2rem 2rem 6rem; }
@media (min-width: 1024px) { .agm-service-desk-copy { display: block; } }
.agm-service-desk-copy p { margin: 0; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.85); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.agm-service-desk-copy span { display: inline-flex; align-items: center; gap: 0.375rem; margin-top: 1rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; color: #aedae6; }

/* Shower specialty */
.agm-shower-specialty { position: relative; overflow: hidden; border-top: 1px solid #e2e8f0; background: #f0f4f4; padding: 6rem 0; }
@media (min-width: 640px) { .agm-shower-specialty { padding: 9rem 0; } }
.agm-shower-vertical { pointer-events: none; position: absolute; left: -0.5rem; top: 50%; transform: translateY(-50%); display: none; font-family: var(--agm-font-display); font-size: 7rem; font-weight: 300; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1; }
@media (min-width: 1280px) { .agm-shower-vertical { display: block; } }
.agm-shower-grid { position: relative; display: grid; align-items: center; gap: 3.5rem; }
@media (min-width: 1024px) { .agm-shower-grid { grid-template-columns: 1fr 1fr; gap: 5rem; } }
.agm-shower-media { position: relative; }
.agm-shower-shadow { pointer-events: none; position: absolute; right: -1.25rem; top: -1.25rem; height: 100%; width: 100%; background: rgba(29,141,167,0.15); clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%, 0 12%); }
.agm-shower-main { position: relative; aspect-ratio: 4/3; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 56px), calc(100% - 56px) 100%, 0 100%); }
.agm-shower-main img, .agm-shower-secondary img { width: 100%; height: 100%; object-fit: cover; }
.agm-shower-secondary { position: absolute; bottom: -2.5rem; right: -0.75rem; display: none; width: 13rem; border: 4px solid #f0f4f4; box-shadow: 0 20px 40px rgba(2,46,86,0.15); }
@media (min-width: 640px) { .agm-shower-secondary { display: block; } }
.agm-shower-secondary img { aspect-ratio: 1; }
.agm-shower-badge { position: absolute; left: 1.25rem; top: 1.25rem; background: #022e56; padding: 0.5rem 1rem; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2em; color: #fff; }
.agm-shower-heading { margin: 1rem 0 0; font-size: clamp(1.875rem, 3vw, 2.9rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.06em; color: #022e56; line-height: 1.15; }
.agm-shower-rule { margin-top: 1.5rem; width: 5rem; }
.agm-shower-text { margin: 1.5rem 0 0; line-height: 1.7; color: #475569; }
.agm-shower-features { list-style: none; margin: 2rem 0 0; padding: 0; }
.agm-shower-features li { display: flex; align-items: center; gap: 0.75rem; border-top: 1px solid #cbd5e1; padding: 1rem 0; font-size: 0.875rem; font-weight: 600; color: #022e56; }
.agm-shower-features .agm-icon { color: #1d8da7; }
.agm-shower-actions { margin-top: 2.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; }

/* Why choose */
.agm-why-choose { position: relative; overflow: hidden; background: #022e56; padding: 6rem 0; }
@media (min-width: 640px) { .agm-why-choose { padding: 10rem 0; } }
.agm-why-glow { pointer-events: none; position: absolute; inset: 0; opacity: 0.4; background-image: radial-gradient(700px 300px at 90% 0%, rgba(29,141,167,0.35), transparent 70%), radial-gradient(500px 260px at 0% 100%, rgba(174,218,230,0.15), transparent 70%); }
.agm-why-choose .container-site { position: relative; }
.agm-why-head { display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 1024px) { .agm-why-head { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.agm-why-heading { margin: 1rem 0 0; max-width: 42rem; font-size: clamp(1.875rem, 3vw, 2.9rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.06em; color: #fff; line-height: 1.18; }
.agm-why-intro { max-width: 28rem; margin: 0; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.7); }
.agm-why-grid { margin-top: 3.5rem; display: grid; gap: 2.5rem; align-items: stretch; }
@media (min-width: 1024px) { .agm-why-grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.agm-why-preview { position: relative; aspect-ratio: 4/3; overflow: hidden; background: #011528; }
@media (min-width: 1024px) {
	.agm-why-preview {
		aspect-ratio: auto;
		min-height: 470px;
		height: 100%;
	}
}
.elementor-widget-agm_why_choose .agm-why-img,
.agm-why-preview .agm-why-img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	opacity: 0;
	transform: scale(1.05);
	transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.agm-why-img.is-active { opacity: 1; transform: scale(1); }
.agm-why-preview-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(1,21,40,0) 35%, rgba(1,21,40,0.9) 100%); }
.agm-why-counter { position: absolute; left: 1.25rem; top: 1.25rem; border: 1px solid rgba(255,255,255,0.3); padding: 0.375rem 0.75rem; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.22em; color: rgba(255,255,255,0.8); }
.agm-why-preview-copy { position: absolute; inset-inline: 0; bottom: 0; padding: 1.75rem; }
.agm-why-preview-title { margin: 0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.22em; color: #3fa9c4; }
.agm-why-preview-text { margin: 0.75rem 0 0; max-width: 28rem; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.85); }
.agm-why-rows { display: flex; height: 100%; flex-direction: column; justify-content: center; border-block: 1px solid rgba(255,255,255,0.2); }
.agm-why-row {
	display: flex; align-items: center; gap: 1.25rem; width: 100%;
	border: 0; border-bottom: 1px solid rgba(255,255,255,0.2); background: transparent;
	padding: 2rem 0.5rem; text-align: left; cursor: pointer; color: inherit;
}
.agm-why-row:last-child { border-bottom: 0; }
.agm-why-num { font-family: var(--agm-font-display); font-size: 1.875rem; font-weight: 300; color: rgba(63,169,196,0.3); transition: color 0.5s; }
.agm-why-row.is-active .agm-why-num { color: #3fa9c4; }
.agm-why-row-title { flex: 1; font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.55); transition: all 0.5s; }
.agm-why-row.is-active .agm-why-row-title { transform: translateX(0.5rem); color: #fff; }
.agm-why-row .agm-icon { color: rgba(255,255,255,0.3); opacity: 0.4; transform: translateX(-0.5rem); transition: all 0.5s; }
.agm-why-row.is-active .agm-icon { color: #3fa9c4; opacity: 1; transform: translateX(0); }
.agm-why-footer { margin-top: 3.5rem; display: grid; gap: 1.5rem; border-top: 1px solid rgba(255,255,255,0.2); padding-top: 2rem; }
@media (min-width: 768px) { .agm-why-footer { grid-template-columns: 1fr 1fr auto; align-items: center; } }
.agm-why-footer p { margin: 0; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.6); }
.agm-why-cta { display: inline-flex; align-items: center; gap: 0.5rem; justify-self: start; border-bottom: 1px solid rgba(63,169,196,0.6); padding-bottom: 0.25rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: #3fa9c4; }
@media (min-width: 768px) { .agm-why-cta { justify-self: end; } }

/* Testimonials */
.agm-testimonials { border-top: 1px solid #e2e8f0; background: #f0f4f4; padding: 6rem 0; }
@media (min-width: 640px) { .agm-testimonials { padding: 10rem 0; } }
.agm-testimonials-head { max-width: 48rem; margin: 0 auto; text-align: center; }
.agm-testimonials-heading { margin: 1rem 0 0; font-size: clamp(1.875rem, 3vw, 2.9rem); font-weight: 300; text-transform: uppercase; letter-spacing: 0.06em; color: #022e56; }
.agm-testimonials-intro { margin: 1.25rem 0 0; font-size: 1rem; line-height: 1.7; color: #475569; }
.agm-testimonials-carousel { margin-top: 3rem; }
.agm-testimonials-viewport { overflow: hidden; }
.agm-testimonials-track { display: flex; transition: transform 0.5s ease; }
.agm-testimonial-slide { min-width: 100%; padding: 0 0.25rem; box-sizing: border-box; }
@media (min-width: 768px) { .agm-testimonial-slide { min-width: 50%; padding: 0 0.75rem; } }
.agm-testimonial { display: flex; height: 100%; flex-direction: column; margin: 0; border-top: 2px solid rgba(29,141,167,0.5); padding-top: 2rem; }
.agm-testimonial-icon { width: 2rem; height: 2rem; color: #aedae6; }
.agm-testimonial-stars { margin-top: 1rem; display: flex; gap: 0.25rem; }
.agm-testimonial-quote { margin: 1.25rem 0 0; flex: 1; font-size: 0.875rem; line-height: 1.7; color: #475569; }
.agm-testimonial-name { margin-top: 1.5rem; font-family: var(--agm-font-display); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; color: #022e56; }
.agm-testimonials-nav { margin-top: 2rem; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.agm-testimonials-btn {
	display: flex; height: 2.75rem; width: 2.75rem; align-items: center; justify-content: center;
	border: 1px solid rgba(2,46,86,0.2); background: transparent; color: #022e56; cursor: pointer;
}
.agm-testimonials-btn:hover { border-color: #1d8da7; color: #1d8da7; }
.agm-testimonials-dots { display: flex; gap: 0.5rem; align-items: center; }
.agm-testimonials-dot { height: 0.375rem; width: 1rem; background: rgba(2,46,86,0.15); transition: all 0.3s; }
.agm-testimonials-dot.is-active { width: 2rem; background: #1d8da7; }

/* Elementor section flush helpers for AGM widgets */
.elementor-widget-agm_home_hero,
.elementor-widget-agm_marquee,
.elementor-widget-agm_home_services,
.elementor-widget-agm_stats_band,
.elementor-widget-agm_shower_specialty,
.elementor-widget-agm_why_choose,
.elementor-widget-agm_areas_strip,
.elementor-widget-agm_testimonials,
.elementor-widget-agm_cta_band,
.elementor-widget-agm_header,
.elementor-widget-agm_footer,
.elementor-widget-agm_floating_ctas,
.elementor-widget-agm_page_hero,
.elementor-widget-agm_res_intro,
.elementor-widget-agm_res_window,
.elementor-widget-agm_res_custom_glass,
.elementor-widget-agm_res_plexiglass,
.elementor-widget-agm_res_table_tops,
.elementor-widget-agm_res_mirrors,
.elementor-widget-agm_res_shower_paths,
.elementor-widget-agm_res_local,
.elementor-widget-agm_res_final_cta,
.elementor-widget-agm_svc_split,
.elementor-widget-agm_svc_feature_band,
.elementor-widget-agm_svc_options_grid,
.elementor-widget-agm_svc_dual_cards,
.elementor-widget-agm_svc_process,
.elementor-widget-agm_svc_explore,
.elementor-widget-agm_svc_serving,
.elementor-widget-agm_svc_final_cta {
	width: 100%;
}

/* ========== Residential Glass hub ========== */

/* Shared res heading */
.agm-res-intro-heading,
.agm-res-window-heading,
.agm-res-custom-glass-heading,
.agm-res-plexiglass-heading,
.agm-res-table-tops-heading,
.agm-res-mirrors-heading,
.agm-res-shower-heading,
.agm-res-local-heading,
.agm-res-final-cta-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.agm-res-intro-heading,
	.agm-res-window-heading,
	.agm-res-custom-glass-heading,
	.agm-res-plexiglass-heading,
	.agm-res-table-tops-heading,
	.agm-res-mirrors-heading,
	.agm-res-shower-heading,
	.agm-res-local-heading,
	.agm-res-final-cta-heading { font-size: 2.25rem; }
}

/* Image cover override (beat Elementor img height:auto) */
.agm-page-hero-media,
.agm-res-intro-media,
.agm-res-window-media,
.agm-res-table-tops-media,
.agm-res-shower-card-media,
.agm-svc-split-media .img-frame,
.agm-svc-dual-card-media,
.agm-svc-explore-thumb {
	position: relative;
	overflow: hidden;
}
.agm-res-mirrors-media {
	position: relative;
	overflow: hidden;
}
.agm-page-hero-media img,
.agm-res-intro-media img,
.agm-res-window-media img,
.agm-res-table-tops-media img,
.agm-res-mirrors-media img,
.agm-res-shower-card-media img,
.agm-svc-split-media img,
.agm-svc-dual-card-media img,
.agm-svc-explore-thumb img,
.elementor-widget-agm_page_hero .agm-page-hero-media img,
.elementor-widget-agm_res_intro .agm-res-intro-media img,
.elementor-widget-agm_res_window .agm-res-window-media img,
.elementor-widget-agm_res_table_tops .agm-res-table-tops-media img,
.elementor-widget-agm_res_mirrors .agm-res-mirrors-media img,
.elementor-widget-agm_res_shower_paths .agm-res-shower-card-media img,
.elementor-widget-agm_svc_split .agm-svc-split-media img,
.elementor-widget-agm_svc_dual_cards .agm-svc-dual-card-media img,
.elementor-widget-agm_svc_explore .agm-svc-explore-thumb img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}

/* section */
.agm-res-intro {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-res-intro { padding: 8rem 0; } }
.agm-res-intro-grid {
	display: grid;
	gap: 2.5rem;
}
@media (min-width: 1024px) {
	.agm-res-intro-grid { grid-template-columns: 160px 1fr; gap: 4rem; }
}
.agm-res-intro-index-col {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}
@media (min-width: 1024px) {
	.agm-res-intro-index-col {
		flex-direction: column;
		align-items: flex-start;
		gap: 2rem;
	}
}
.agm-res-intro-index {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 3.75rem;
	font-weight: 800;
	line-height: 1;
	color: rgba(29, 141, 167, 0.2);
}
@media (min-width: 640px) { .agm-res-intro-index { font-size: 4.5rem; } }
.agm-res-intro-rule {
	display: block;
	height: 1px;
	width: 3rem;
	background: #1d8da7;
}
@media (min-width: 1024px) {
	.agm-res-intro-rule { height: 3rem; width: 1px; }
}
.agm-res-intro-vertical {
	display: none;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: #94a3b8;
}
@media (min-width: 1024px) { .agm-res-intro-vertical { display: block; } }
.agm-res-intro-lead {
	margin: 2rem 0 0;
	max-width: 56rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.25rem, 2.2vw, 1.5rem);
	font-weight: 300;
	line-height: 1.625;
	color: rgba(2, 46, 86, 0.85);
}
.agm-res-intro-body {
	margin: 1.5rem 0 0;
	max-width: 48rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-intro-media {
	margin-top: 3.5rem;
	aspect-ratio: 16 / 9;
}
@media (min-width: 640px) { .agm-res-intro-media { aspect-ratio: 21 / 9; } }
.agm-res-intro-caption {
	margin: 0.75rem 0 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #94a3b8;
}

/* section */
.agm-res-window {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-res-window { padding: 8rem 0; } }
.agm-res-window-card {
	overflow: hidden;
	border: 2px solid rgba(2, 46, 86, 0.15);
	background: #fff;
	box-shadow: 0 30px 70px -35px rgba(2, 46, 86, 0.35);
}
.agm-res-window-bar {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid rgba(2, 46, 86, 0.1);
	background: #022e56;
	padding: 0.875rem 1.25rem;
}
.agm-res-window-dot {
	display: block;
	height: 0.625rem;
	width: 0.625rem;
}
.agm-res-window-dot-teal { background: #3fa9c4; }
.agm-res-window-dot-glass { background: rgba(174, 218, 230, 0.7); }
.agm-res-window-dot-white { background: rgba(255, 255, 255, 0.25); }
.agm-res-window-bar-label {
	margin-left: 0.75rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: rgba(255, 255, 255, 0.75);
}
.agm-res-window-grid { display: grid; }
@media (min-width: 1024px) { .agm-res-window-grid { grid-template-columns: 1fr 1fr; } }
.agm-res-window-content { padding: 2rem; }
@media (min-width: 640px) { .agm-res-window-content { padding: 3rem; } }
@media (min-width: 1024px) { .agm-res-window-content { padding: 3.5rem; } }
.agm-res-window-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-window-tags {
	margin-top: 1.75rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.agm-res-window-tag {
	border: 1px solid #cbd5e1;
	background: #f0f4f4;
	padding: 0.375rem 0.75rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #475569;
}
.agm-res-window-cta-wrap { margin-top: 2.25rem; }
.agm-res-window-media {
	position: relative;
	min-height: 280px;
	overflow: hidden;
}
@media (min-width: 1024px) { .agm-res-window-media { min-height: 100%; height: 100%; } }
.agm-res-window-media img {
	position: absolute;
	inset: 0;
}
.agm-res-window-mullion-v {
	position: absolute;
	inset-block: 0;
	left: 50%;
	width: 0.625rem;
	transform: translateX(-50%);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 4px 12px rgba(2, 46, 86, 0.15);
}
.agm-res-window-mullion-h {
	position: absolute;
	inset-inline: 0;
	top: 50%;
	height: 0.625rem;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 4px 12px rgba(2, 46, 86, 0.15);
}
.agm-res-window-pane-border {
	position: absolute;
	inset: 0;
	border: 10px solid rgba(255, 255, 255, 0.9);
	pointer-events: none;
}

/* section */
.agm-res-custom-glass {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-res-custom-glass { padding: 8rem 0; } }
.agm-res-custom-glass-intro-wrap { max-width: 48rem; }
.agm-res-custom-glass-heading { margin-top: 1rem; }
.agm-res-custom-glass-intro {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-custom-glass-grid {
	margin-top: 3.5rem;
	display: grid;
	gap: 1px;
	border: 1px solid #e2e8f0;
	background: #e2e8f0;
}
@media (min-width: 640px) { .agm-res-custom-glass-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .agm-res-custom-glass-grid { grid-template-columns: repeat(3, 1fr); } }
.agm-res-custom-glass-tile {
	position: relative;
	height: 100%;
	background: #fff;
	padding: 2rem;
}
@media (min-width: 640px) { .agm-res-custom-glass-tile { padding: 2.5rem; } }
.agm-res-custom-glass-corner {
	position: absolute;
	font-size: 0.875rem;
	font-weight: 300;
	color: #cbd5e1;
	user-select: none;
	transition: color 0.3s;
}
.agm-res-custom-glass-tile:hover .agm-res-custom-glass-corner { color: rgba(255, 255, 255, 0.6); }
.agm-res-custom-glass-corner-tl { left: 0.5rem; top: 0.25rem; }
.agm-res-custom-glass-corner-tr { right: 0.5rem; top: 0.25rem; }
.agm-res-custom-glass-corner-bl { left: 0.5rem; bottom: 0.25rem; }
.agm-res-custom-glass-corner-br { right: 0.5rem; bottom: 0.25rem; }
.agm-res-custom-glass-num {
	position: relative;
	z-index: 1;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #1d8da7;
	transition: color 0.3s;
}
.agm-res-custom-glass-tile:hover .agm-res-custom-glass-num { color: rgba(255, 255, 255, 0.75); }
.agm-res-custom-glass-tile-title {
	position: relative;
	z-index: 1;
	margin: 1.25rem 0 0;
	font-size: 1.125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.35;
	color: #022e56;
	transition: color 0.3s;
}
.agm-res-custom-glass-tile:hover .agm-res-custom-glass-tile-title { color: #fff; }
.agm-res-custom-glass-footer {
	margin: 2.5rem 0 0;
	max-width: 48rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}

/* section */
.agm-res-plexiglass {
	position: relative;
	overflow: hidden;
	border-top: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 5rem 0;
}
@media (min-width: 640px) { .agm-res-plexiglass { padding: 7rem 0; } }
.agm-res-plexiglass-ghost {
	pointer-events: none;
	position: absolute;
	top: -0.75rem;
	left: 0;
	user-select: none;
	white-space: nowrap;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 15vw;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(2, 46, 86, 0.28);
}
@media (min-width: 1024px) {
	.agm-res-plexiglass-ghost {
		top: -2rem;
		font-size: 11rem;
	}
}
.agm-res-plexiglass-inner { position: relative; }
.agm-res-plexiglass-grid {
	display: grid;
	gap: 2.5rem;
	padding-top: 2.5rem;
}
@media (min-width: 640px) { .agm-res-plexiglass-grid { padding-top: 4rem; } }
@media (min-width: 1024px) {
	.agm-res-plexiglass-grid {
		grid-template-columns: 1fr auto;
		align-items: end;
		padding-top: 6rem;
	}
}
.agm-res-plexiglass-copy { max-width: 42rem; }
.agm-res-plexiglass-heading { margin-top: 1rem; }
.agm-res-plexiglass-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-plexiglass-cta { justify-self: start; }
@media (min-width: 1024px) { .agm-res-plexiglass-cta { justify-self: end; } }

/* section */
.agm-res-table-tops {
	overflow: hidden;
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-res-table-tops { padding: 9rem 0; } }
.agm-res-table-tops-grid {
	display: grid;
	align-items: center;
	gap: 4rem;
}
@media (min-width: 1024px) {
	.agm-res-table-tops-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-res-table-tops-media-wrap {
	position: relative;
	margin: 2rem 0.25rem 0;
}
@media (min-width: 640px) { .agm-res-table-tops-media-wrap { margin-inline: 0.75rem; } }
.agm-res-table-tops-dim {
	position: absolute;
	inset-inline: 0;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.agm-res-table-tops-dim-top { top: -1.75rem; }
.agm-res-table-tops-dim-bottom { bottom: -1.75rem; }
.agm-res-table-tops-tick {
	display: block;
	height: 0.75rem;
	width: 1px;
	background: #1d8da7;
}
.agm-res-table-tops-tick-muted { background: #cbd5e1; }
.agm-res-table-tops-dash {
	flex: 1;
	height: 0;
	border-top: 1px dashed rgba(29, 141, 167, 0.6);
}
.agm-res-table-tops-dash-muted { border-top-color: #cbd5e1; }
.agm-res-table-tops-dim-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #94a3b8;
	white-space: nowrap;
}
.agm-res-table-tops-dim-label-teal { color: #1d8da7; }
.agm-res-table-tops-media {
	aspect-ratio: 4 / 3;
	border: 1px solid #e2e8f0;
	box-shadow: 0 30px 60px -30px rgba(2, 46, 86, 0.3);
}
.agm-res-table-tops-heading { margin-top: 1rem; }
.agm-res-table-tops-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-table-tops-body + .agm-res-table-tops-body { margin-top: 1rem; }
.agm-res-table-tops-cta-wrap { margin-top: 2.25rem; }

/* section */
.agm-res-mirrors {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0 11rem;
}
@media (min-width: 640px) { .agm-res-mirrors { padding: 8rem 0 14rem; } }
.agm-res-mirrors-grid {
	display: grid;
	align-items: center;
	gap: 4rem;
}
@media (min-width: 1024px) {
	.agm-res-mirrors-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
	.agm-res-mirrors-media-col { order: 2; }
	.agm-res-mirrors-copy { order: 1; }
}
.agm-res-mirrors-reflect {
	margin: 0 auto;
	max-width: 28rem;
	overflow: visible;
	-webkit-box-reflect: below 2px linear-gradient(transparent 58%, rgba(2, 46, 86, 0.3));
}
.agm-res-mirrors-media {
	aspect-ratio: 4 / 5;
	width: 100%;
	border: 10px solid #fff;
	box-shadow: 0 25px 50px -12px rgba(2, 46, 86, 0.15);
	overflow: hidden;
}
.agm-res-mirrors-heading { margin-top: 1rem; }
.agm-res-mirrors-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-mirrors-body + .agm-res-mirrors-body { margin-top: 1rem; }
.agm-res-mirrors-cta-wrap { margin-top: 2.25rem; }

/* section */
.agm-res-shower {
	background: #022e56;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-res-shower { padding: 8rem 0; } }
.agm-res-shower-intro-wrap { max-width: 48rem; }
.agm-res-shower-heading {
	margin-top: 1rem;
	color: #fff;
}
.agm-res-shower-intro {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.75);
}
.agm-res-shower-grid {
	margin-top: 3rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 640px) { .agm-res-shower-grid { grid-template-columns: 1fr 1fr; } }
.agm-res-shower-card {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: inherit;
	text-decoration: none;
}
.agm-res-shower-card-media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.agm-res-shower-card-media img {
	transition: transform 0.7s ease-out;
}
.agm-res-shower-card:hover .agm-res-shower-card-media img { transform: scale(1.05); }
.agm-res-shower-card-overlay {
	position: absolute;
	inset: 0;
	background: rgba(2, 46, 86, 0.55);
	transition: background 0.5s;
}
.agm-res-shower-card:hover .agm-res-shower-card-overlay { background: rgba(2, 46, 86, 0.3); }
.agm-res-shower-card-footer {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem;
	z-index: 1;
}
@media (min-width: 640px) { .agm-res-shower-card-footer { padding: 2rem; } }
.agm-res-shower-card-action {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #3fa9c4;
}
.agm-res-shower-card-title {
	margin: 0.5rem 0 0;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #fff;
}
.agm-res-shower-card-icon {
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #fff;
	transition: all 0.3s;
}
.agm-res-shower-card:hover .agm-res-shower-card-icon {
	border-color: #3fa9c4;
	background: #1d8da7;
}
.agm-res-shower-card:hover .agm-res-shower-card-icon .agm-icon {
	transform: translate(2px, -2px);
}
.agm-res-shower-card-icon .agm-icon { transition: transform 0.3s; }

/* section */
.agm-res-local {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-res-local { padding: 8rem 0; } }
.agm-res-local-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-res-local-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-res-local-heading { margin-top: 1rem; }
.agm-res-local-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-local-body + .agm-res-local-body { margin-top: 1rem; }
.agm-res-local-panel {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
}
.agm-res-local-panel-head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
	padding: 1rem 1.5rem;
}
.agm-res-local-panel-head .agm-icon { color: #1d8da7; }
.agm-res-local-panel-title {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #022e56;
}
.agm-res-local-towns { list-style: none; margin: 0; padding: 0; }
.agm-res-local-town {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #e2e8f0;
	padding: 1rem 1.5rem;
}
.agm-res-local-town.is-featured { background: rgba(29, 141, 167, 0.1); }
.agm-res-local-town-name {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #475569;
}
.agm-res-local-town.is-featured .agm-res-local-town-name { color: #022e56; }
.agm-res-local-town-tag {
	background: #1d8da7;
	padding: 0.25rem 0.625rem;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #fff;
}
.agm-res-local-town-dot {
	display: block;
	height: 0.375rem;
	width: 0.375rem;
	background: rgba(29, 141, 167, 0.5);
	transform: rotate(45deg);
}
.agm-res-local-footer {
	padding: 1rem 1.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #64748b;
}

/* section */
.agm-res-final-cta {
	position: relative;
	overflow: hidden;
	border-top: 1px solid #e2e8f0;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-res-final-cta { padding: 8rem 0; } }
.agm-res-final-cta-dots {
	pointer-events: none;
	position: absolute;
	inset: 0;
	opacity: 0.5;
}
.agm-res-final-cta-inner { position: relative; }
.agm-res-final-cta-copy {
	margin: 0 auto;
	max-width: 42rem;
	text-align: center;
}
.agm-res-final-cta-heading { margin-top: 1rem; }
.agm-res-final-cta-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-res-final-cta-card {
	margin: 3rem auto 0;
	max-width: 48rem;
	display: grid;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 30px 70px -35px rgba(2, 46, 86, 0.35);
}
@media (min-width: 640px) { .agm-res-final-cta-card { grid-template-columns: 1fr 1fr; } }
.agm-res-final-cta-quote,
.agm-res-final-cta-call {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.75rem 2rem;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	text-decoration: none;
	transition: background 0.3s, color 0.3s;
}
.agm-res-final-cta-quote {
	background: #1d8da7;
	color: #fff;
}
.agm-res-final-cta-quote:hover { background: #156e82; color: #fff; }
.agm-res-final-cta-quote .agm-icon { transition: transform 0.3s; }
.agm-res-final-cta-quote:hover .agm-icon { transform: translateX(4px); }
.agm-res-final-cta-call { color: #022e56; }
.agm-res-final-cta-call:hover { background: #f0f4f4; color: #022e56; }
.agm-res-final-cta-call .agm-icon {
	color: #1d8da7;
	transition: transform 0.3s;
}
.agm-res-final-cta-call:hover .agm-icon { transform: translateY(-2px); }

/* ========== Child service page sections ========== */

/* Shared svc headings */
.agm-svc-split-heading,
.agm-svc-feature-band-heading,
.agm-svc-options-heading,
.agm-svc-dual-heading,
.agm-svc-process-heading,
.agm-svc-explore-heading,
.agm-svc-serving-heading,
.agm-svc-final-cta-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.agm-svc-split-heading,
	.agm-svc-feature-band-heading,
	.agm-svc-options-heading,
	.agm-svc-dual-heading,
	.agm-svc-process-heading,
	.agm-svc-explore-heading,
	.agm-svc-serving-heading,
	.agm-svc-final-cta-heading { font-size: 2.25rem; }
}

/* section */
.agm-svc-split-media {
	width: 100%;
}
.agm-svc-split-media .img-frame {
	aspect-ratio: 4 / 3;
	width: 100%;
	overflow: hidden;
}

/* section */
.agm-svc-split {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-split { padding: 8rem 0; } }
.agm-svc-split-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-svc-split-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
	.agm-svc-split--has-aside.agm-svc-split--no-media .agm-svc-split-grid {
		grid-template-columns: 1fr 360px;
		align-items: start;
		gap: 4rem;
	}
	.agm-svc-split--img-left .agm-svc-split-media { order: -1; }
}
.agm-svc-split--no-media:not(.agm-svc-split--has-aside) .agm-svc-split-grid {
	grid-template-columns: 1fr;
	max-width: 48rem;
}
.agm-svc-split-heading { margin-top: 1rem; }
.agm-svc-split-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-split-body + .agm-svc-split-body { margin-top: 1rem; }
.agm-svc-pullquote {
	margin: 2.5rem 0 0;
	max-width: 40rem;
	border-left: 2px solid #1d8da7;
	padding-left: 1.5rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 300;
	line-height: 1.5;
	color: rgba(2, 46, 86, 0.9);
}
@media (min-width: 640px) { .agm-svc-pullquote { padding-left: 2rem; } }
.agm-svc-split-cta-wrap { margin-top: 2rem; }
.agm-svc-aside {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 2rem;
	height: fit-content;
}
@media (min-width: 1024px) {
	.agm-svc-split--has-aside.agm-svc-split--no-media .agm-svc-aside { margin-top: 6rem; }
}
.agm-svc-aside--below {
	margin-top: 2.5rem;
	max-width: 28rem;
}
.agm-svc-aside-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	background: #1d8da7;
	color: #fff;
}
.agm-svc-aside-icon .agm-icon {
	width: 1.25rem;
	height: 1.25rem;
}
.agm-svc-aside-title {
	margin: 1.5rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #022e56;
}
.agm-svc-aside-text {
	margin: 1rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}

/* section */
.agm-svc-feature-band {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-feature-band { padding: 8rem 0; } }
.agm-svc-feature-band-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-svc-feature-band-grid { grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
	.agm-svc-feature-band-grid--solo { grid-template-columns: 1fr; max-width: 48rem; }
}
.agm-svc-feature-band-heading { margin-top: 1rem; }
.agm-svc-feature-band-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-feature-band-cta-wrap { margin-top: 2rem; }
.agm-svc-feature-band-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-block: 1px solid #e2e8f0;
}
.agm-svc-feature-band-list li {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	border-bottom: 1px solid #e2e8f0;
	padding: 1.25rem 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #022e56;
}
.agm-svc-feature-band-list li:last-child { border-bottom: 0; }
.agm-svc-feature-band-check {
	display: flex;
	height: 2.25rem;
	width: 2.25rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	background: #1d8da7;
	color: #fff;
}
.agm-svc-feature-band-check .agm-icon { color: #fff; width: 1rem; height: 1rem; }

/* section */
.agm-svc-options {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-options { padding: 8rem 0; } }
.agm-svc-options-intro-wrap { max-width: 48rem; }
.agm-svc-options-heading { margin-top: 1rem; }
.agm-svc-options-intro {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-options-grid {
	margin-top: 3.5rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 640px) { .agm-svc-options-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .agm-svc-options-grid { grid-template-columns: repeat(4, 1fr); } }
.agm-svc-options-card {
	position: relative;
	height: 100%;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.5rem;
	transition: box-shadow 0.3s;
}
.agm-svc-options-card:hover {
	box-shadow: 0 20px 45px -20px rgba(2, 46, 86, 0.3);
}
.agm-svc-options-num {
	display: block;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: rgba(2, 46, 86, 0.35);
}
.agm-svc-options-card-title {
	margin: 1.25rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1.35;
	color: #022e56;
}
@media (min-width: 640px) { .agm-svc-options-card-title { font-size: 1rem; } }
.agm-svc-options-card-desc {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #64748b;
}

/* section */
.agm-svc-dual {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-dual { padding: 8rem 0; } }
.agm-svc-dual-intro-wrap { max-width: 48rem; }
.agm-svc-dual-heading { margin-top: 1rem; }
.agm-svc-dual-intro {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-dual-grid {
	margin-top: 3.5rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 768px) { .agm-svc-dual-grid { grid-template-columns: 1fr 1fr; } }
.agm-svc-dual-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid #e2e8f0;
	background: #fff;
	overflow: hidden;
}
.agm-svc-dual-card-media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #e2e8f0;
}
.agm-svc-dual-card-body { padding: 2rem 2.5rem; }
.agm-svc-dual-card-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
}
.agm-svc-dual-card-text {
	margin: 1rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}
@media (min-width: 640px) { .agm-svc-dual-card-text { font-size: 1rem; } }
.agm-svc-dual-card-body .agm-text-link { margin-top: 1.5rem; }

/* section */
.agm-svc-process {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-process { padding: 8rem 0; } }
.agm-svc-process-intro-wrap { max-width: 48rem; }
.agm-svc-process-heading { margin-top: 1rem; }
.agm-svc-process-intro {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-process-steps {
	position: relative;
	margin-top: 4rem;
	display: grid;
	gap: 3rem;
}
@media (min-width: 768px) {
	.agm-svc-process-steps {
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
		gap: 2.5rem;
	}
}
.agm-svc-process-line {
	display: none;
	pointer-events: none;
	position: absolute;
	left: 1.5rem;
	right: 1.5rem;
	top: 1.5rem;
	height: 1px;
	background: #cbd5e1;
}
@media (min-width: 768px) { .agm-svc-process-line { display: block; } }
.agm-svc-process-step { position: relative; }
.agm-svc-process-num {
	position: relative;
	z-index: 1;
	display: flex;
	height: 3rem;
	width: 3rem;
	align-items: center;
	justify-content: center;
	border: 2px solid #1d8da7;
	border-radius: 999px;
	background: #fff;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.875rem;
	font-weight: 700;
	color: #1d8da7;
	box-shadow: 0 4px 12px rgba(2, 46, 86, 0.08);
}
.agm-svc-process-step-title {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
}
@media (min-width: 640px) { .agm-svc-process-step-title { font-size: 1.125rem; } }
.agm-svc-process-step-text {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}

/* section */
.agm-svc-explore {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-explore { padding: 8rem 0; } }
.agm-svc-explore-intro-wrap { max-width: 48rem; }
.agm-svc-explore-heading { margin-top: 1rem; }
.agm-svc-explore-intro {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-explore-list { margin-top: 3.5rem; border-bottom: 1px solid #e2e8f0; }
.agm-svc-explore-row {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	border-top: 1px solid #e2e8f0;
	padding: 1.5rem 0;
	text-decoration: none;
	color: inherit;
	transition: color 0.3s;
}
@media (min-width: 640px) { .agm-svc-explore-row { padding: 1.75rem 0; } }
.agm-svc-explore-num {
	width: 2.5rem;
	flex-shrink: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #1d8da7;
}
.agm-svc-explore-copy { flex: 1; min-width: 0; }
.agm-svc-explore-label {
	display: block;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.25rem, 3vw, 1.875rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #022e56;
	transition: transform 0.3s, color 0.3s;
}
.agm-svc-explore-row:hover .agm-svc-explore-label {
	transform: translateX(0.5rem);
	color: #1d8da7;
}
.agm-svc-explore-desc {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #64748b;
}
.agm-svc-explore-thumb {
	display: none;
	height: 3.5rem;
	width: 6rem;
	flex-shrink: 0;
	overflow: hidden;
	opacity: 0;
	transform: scale(0.95);
	transition: opacity 0.3s, transform 0.3s;
}
@media (min-width: 640px) { .agm-svc-explore-thumb { display: block; } }
.agm-svc-explore-row:hover .agm-svc-explore-thumb {
	opacity: 1;
	transform: scale(1);
}
.agm-svc-explore-arrow {
	flex-shrink: 0;
	color: #cbd5e1;
	transition: color 0.3s, transform 0.3s;
}
.agm-svc-explore-row:hover .agm-svc-explore-arrow {
	color: #1d8da7;
	transform: translateX(4px);
}

/* section */
.agm-svc-serving {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-serving { padding: 8rem 0; } }
.agm-svc-serving-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-svc-serving-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-svc-serving-heading { margin-top: 1rem; }
.agm-svc-serving-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-serving-body + .agm-svc-serving-body { margin-top: 1rem; }
.agm-svc-serving-panel {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
}
.agm-svc-serving-panel-head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
	padding: 1rem 1.5rem;
}
.agm-svc-serving-panel-head .agm-icon { color: #1d8da7; }
.agm-svc-serving-panel-title {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #022e56;
}
.agm-svc-serving-towns { list-style: none; margin: 0; padding: 0; }
.agm-svc-serving-town {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #e2e8f0;
	padding: 1rem 1.5rem;
}
.agm-svc-serving-town.is-featured { background: rgba(29, 141, 167, 0.1); }
.agm-svc-serving-town-name {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #475569;
}
.agm-svc-serving-town.is-featured .agm-svc-serving-town-name { color: #022e56; }
.agm-svc-serving-town-tag {
	background: #1d8da7;
	padding: 0.25rem 0.625rem;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #fff;
}
.agm-svc-serving-town-dot {
	display: block;
	height: 0.375rem;
	width: 0.375rem;
	background: rgba(29, 141, 167, 0.5);
	transform: rotate(45deg);
}
.agm-svc-serving-footer {
	padding: 1rem 1.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #64748b;
}

/* section */
.agm-svc-final-cta {
	position: relative;
	overflow: hidden;
	border-top: 1px solid #e2e8f0;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-svc-final-cta { padding: 8rem 0; } }
.agm-svc-final-cta-dots {
	pointer-events: none;
	position: absolute;
	inset: 0;
	opacity: 0.5;
}
.agm-svc-final-cta-inner { position: relative; }
.agm-svc-final-cta-copy {
	margin: 0 auto;
	max-width: 42rem;
	text-align: center;
}
.agm-svc-final-cta-heading { margin-top: 1rem; }
.agm-svc-final-cta-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-svc-final-cta-card {
	margin: 3rem auto 0;
	max-width: 48rem;
	display: grid;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 30px 70px -35px rgba(2, 46, 86, 0.35);
}
@media (min-width: 640px) { .agm-svc-final-cta-card { grid-template-columns: 1fr 1fr; } }
.agm-svc-final-cta-quote,
.agm-svc-final-cta-call {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.75rem 2rem;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	text-decoration: none;
	transition: background 0.3s, color 0.3s;
}
.agm-svc-final-cta-quote {
	background: #1d8da7;
	color: #fff;
}
.agm-svc-final-cta-quote:hover { background: #156e82; color: #fff; }
.agm-svc-final-cta-quote .agm-icon { transition: transform 0.3s; }
.agm-svc-final-cta-quote:hover .agm-icon { transform: translateX(4px); }
.agm-svc-final-cta-call { color: #022e56; }
.agm-svc-final-cta-call:hover { background: #f0f4f4; color: #022e56; }
.agm-svc-final-cta-call .agm-icon {
	color: #1d8da7;
	transition: transform 0.3s;
}
.agm-svc-final-cta-call:hover .agm-icon { transform: translateY(-2px); }

/* ==========================================================================
   Commercial Door Glass (agm-cd-*) + Commercial Glass (agm-cg-*)
   Rebuilt after widgets.css truncation - append only; do not rewrite above.
   ========================================================================== */

/* Shared commercial headings */
.agm-cd-heading,
.agm-cg-install-heading,
.agm-cg-storefront-heading,
.agm-cg-door-heading,
.agm-cg-contract-heading,
.agm-cg-curtain-heading,
.agm-cg-handrails-heading,
.agm-cg-emergency-heading,
.agm-cg-customers-heading,
.agm-cg-why-heading,
.agm-cg-serving-heading,
.agm-cg-final-cta-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.agm-cd-heading,
	.agm-cg-install-heading,
	.agm-cg-storefront-heading,
	.agm-cg-door-heading,
	.agm-cg-contract-heading,
	.agm-cg-curtain-heading,
	.agm-cg-handrails-heading,
	.agm-cg-emergency-heading,
	.agm-cg-customers-heading,
	.agm-cg-why-heading,
	.agm-cg-serving-heading,
	.agm-cg-final-cta-heading { font-size: 2.25rem; }
}
.agm-cd-heading--light,
.agm-cg-emergency-heading { color: #fff; }

/* --------------------------------------------------------------------------
   CD 01 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Storefront jobs (display window)
   -------------------------------------------------------------------------- */
.agm-cd-jobs {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-jobs { padding: 8rem 0; } }
.agm-cd-jobs-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cd-jobs-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cd-jobs-heading { margin-top: 1rem; }
.agm-cd-jobs-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-jobs-body + .agm-cd-jobs-body { margin-top: 1rem; }
.agm-cd-jobs-window {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 1.5rem;
}
@media (min-width: 640px) { .agm-cd-jobs-window { padding: 2rem; } }
.agm-cd-jobs-pane {
	border: 6px solid #cbd5e1;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.5), rgba(255, 255, 255, 0.4), rgba(174, 218, 230, 0.4));
	padding: 1.5rem;
}
@media (min-width: 640px) { .agm-cd-jobs-pane { padding: 2rem; } }
.agm-cd-jobs-pedestals {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
@media (min-width: 640px) { .agm-cd-jobs-pedestals { gap: 1.5rem; } }
.agm-cd-jobs-pedestal {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}
.agm-cd-jobs-plinth {
	display: flex;
	height: 4rem;
	width: 100%;
	align-items: flex-end;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.7);
	padding: 0 0.5rem 0.5rem;
	box-shadow: 0 1px 2px rgba(2, 46, 86, 0.06);
}
@media (min-width: 640px) { .agm-cd-jobs-plinth { height: 5rem; } }
.agm-cd-jobs-bar {
	display: block;
	height: 0.375rem;
	width: 2rem;
	background: rgba(29, 141, 167, 0.7);
}
.agm-cd-jobs-label {
	text-align: center;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #022e56;
}
@media (min-width: 640px) { .agm-cd-jobs-label { font-size: 10px; } }
.agm-cd-jobs-note {
	margin: 1.25rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #64748b;
}

/* --------------------------------------------------------------------------
   CD 02 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Repair work order
   -------------------------------------------------------------------------- */
.agm-cd-repair {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-repair { padding: 8rem 0; } }
.agm-cd-repair-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cd-repair-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cd-repair-heading { margin-top: 1rem; }
.agm-cd-repair-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-repair-body + .agm-cd-repair-body { margin-top: 1rem; }
.agm-cd-repair-actions { margin-top: 2.25rem; }
.agm-cd-repair-order {
	border: 1px solid #cbd5e1;
	background: #fff;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.35);
}
.agm-cd-repair-order-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 1px dashed #cbd5e1;
	padding: 1rem 1.5rem;
}
.agm-cd-repair-order-title {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #022e56;
}
.agm-cd-repair-order-tag {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #1d8da7;
}
.agm-cd-repair-order-label {
	margin: 0;
	padding: 1.25rem 1.5rem 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}
.agm-cd-repair-list {
	list-style: none;
	margin: 0;
	padding: 0.5rem 1.5rem 1rem;
}
.agm-cd-repair-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	border-bottom: 1px solid #f1f5f9;
	padding: 0.875rem 0;
}
.agm-cd-repair-item:last-child { border-bottom: 0; }
.agm-cd-repair-check {
	display: flex;
	height: 1rem;
	width: 1rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 2px solid #cbd5e1;
	transition: border-color 0.3s, background 0.3s;
}
.agm-cd-repair-check-dot {
	height: 0.375rem;
	width: 0.375rem;
	background: #fff;
	opacity: 0;
	transition: opacity 0.3s;
}
.agm-cd-repair-item:hover .agm-cd-repair-check {
	border-color: #1d8da7;
	background: #1d8da7;
}
.agm-cd-repair-item:hover .agm-cd-repair-check-dot { opacity: 1; }
.agm-cd-repair-item-text {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #475569;
}
@media (min-width: 640px) { .agm-cd-repair-item-text { font-size: 0.875rem; } }

/* --------------------------------------------------------------------------
   CD 03 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Door swing diagram
   -------------------------------------------------------------------------- */
.agm-cd-door {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-door { padding: 8rem 0; } }
.agm-cd-door-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cd-door-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
	.agm-cd-door-grid--media-left .agm-cd-door-visual { order: -1; }
	.agm-cd-door-grid--media-right .agm-cd-door-copy { order: -1; }
}
.agm-cd-door-heading { margin-top: 1rem; }
.agm-cd-door-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-door-body + .agm-cd-door-body { margin-top: 1rem; }
.agm-cd-door-visual {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 2rem;
}
.agm-cd-door-svg {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 24rem;
}
.agm-cd-door-caption {
	margin: 1rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #64748b;
}

/* --------------------------------------------------------------------------
   CD 04 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Entrances (parting doors)
   -------------------------------------------------------------------------- */
.agm-cd-entrances {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-entrances { padding: 8rem 0; } }
.agm-cd-entrances-head {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-cd-entrances-heading { margin-top: 1rem; }
.agm-cd-entrances-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-entrances-doors {
	position: relative;
	margin: 3.5rem auto 0;
	max-width: 32rem;
}
.agm-cd-entrances-header-bar {
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 0.5rem;
	background: #cbd5e1;
}
.agm-cd-entrances-leaves {
	display: flex;
	height: 16rem;
	align-items: stretch;
	justify-content: center;
	padding-top: 0.5rem;
}
@media (min-width: 640px) { .agm-cd-entrances-leaves { height: 18rem; } }
.agm-cd-entrances-leaf {
	position: relative;
	width: 50%;
	border: 1px solid rgba(255, 255, 255, 0.7);
	transition: transform 0.7s ease-out;
}
.agm-cd-entrances-leaf--left {
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.5));
}
.agm-cd-entrances-leaf--right {
	background: linear-gradient(225deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.5));
}
.agm-cd-entrances-doors:hover .agm-cd-entrances-leaf--left { transform: translateX(-0.75rem); }
.agm-cd-entrances-doors:hover .agm-cd-entrances-leaf--right { transform: translateX(0.75rem); }
.agm-cd-entrances-handle {
	position: absolute;
	top: 50%;
	height: 4rem;
	width: 0.375rem;
	border-radius: 999px;
	background: linear-gradient(180deg, #e2e8f0, #94a3b8, #e2e8f0);
	box-shadow: 0 1px 3px rgba(2, 46, 86, 0.2);
	transform: translateY(-50%);
}
.agm-cd-entrances-leaf--left .agm-cd-entrances-handle { right: 0.625rem; }
.agm-cd-entrances-leaf--right .agm-cd-entrances-handle { left: 0.625rem; }
.agm-cd-entrances-threshold {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	height: 0.375rem;
	background: #e2e8f0;
}
.agm-cd-entrances-note {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin: 3rem auto 0;
	max-width: 42rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.25rem 1.5rem;
}
.agm-cd-entrances-note-icon {
	display: flex;
	height: 2.25rem;
	width: 2.25rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	margin-top: 0.125rem;
	border: 1px solid rgba(29, 141, 167, 0.4);
	color: #1d8da7;
}
.agm-cd-entrances-note-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-entrances-note-label {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}

/* --------------------------------------------------------------------------
   CD 05 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Emergency band
   -------------------------------------------------------------------------- */
.agm-cd-emergency {
	position: relative;
	overflow: hidden;
	background: #022e56;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-emergency { padding: 7rem 0; } }
.agm-cd-emergency-ghost {
	pointer-events: none;
	position: absolute;
	right: -1.5rem;
	top: 50%;
	display: none;
	user-select: none;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 20rem;
	font-weight: 800;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.08);
	transform: translateY(-50%);
}
@media (min-width: 1024px) { .agm-cd-emergency-ghost { display: block; } }
.agm-cd-emergency-inner { position: relative; }
.agm-cd-emergency-grid {
	display: grid;
	align-items: center;
	gap: 3rem;
}
@media (min-width: 1024px) {
	.agm-cd-emergency-grid { grid-template-columns: 1.3fr 1fr; }
}
.agm-cd-emergency-heading { margin-top: 1rem; }
.agm-cd-emergency-body {
	margin: 1.5rem 0 0;
	max-width: 36rem;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.75);
}
.agm-cd-emergency-body + .agm-cd-emergency-body { margin-top: 1rem; }
.agm-cd-emergency-action {
	display: flex;
}
@media (min-width: 1024px) {
	.agm-cd-emergency-action { justify-content: flex-end; }
}
.agm-cd-emergency-call {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	background: #1d8da7;
	padding: 1.5rem 2rem;
	color: #fff;
	text-decoration: none;
	transition: background 0.3s;
}
.agm-cd-emergency-call:hover { background: #156e82; color: #fff; }
.agm-cd-emergency-call-icon {
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.4);
}
.agm-cd-emergency-call-label {
	display: block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: rgba(255, 255, 255, 0.7);
}
.agm-cd-emergency-call-number {
	display: block;
	margin-top: 0.25rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.5rem;
	font-weight: 300;
	letter-spacing: 0.03em;
}
.agm-cd-emergency-call-arrow { transition: transform 0.3s; }
.agm-cd-emergency-call:hover .agm-cd-emergency-call-arrow { transform: translateX(4px); }

/* --------------------------------------------------------------------------
   CD 06 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Renovation stair steps
   -------------------------------------------------------------------------- */
.agm-cd-renovations {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-renovations { padding: 8rem 0; } }
.agm-cd-renovations-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cd-renovations-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cd-renovations-heading { margin-top: 1rem; }
.agm-cd-renovations-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-renovations-body + .agm-cd-renovations-body { margin-top: 1rem; }
.agm-cd-renovations-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.agm-cd-renovations-step {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 1.25rem 1.5rem;
}
.agm-cd-renovations-step-num {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #1d8da7;
}
.agm-cd-renovations-step-label {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}

/* --------------------------------------------------------------------------
   CD 07 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Presentable wear ledger
   -------------------------------------------------------------------------- */
.agm-cd-presentable {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-presentable { padding: 8rem 0; } }
.agm-cd-presentable-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cd-presentable-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cd-presentable-heading { margin-top: 1rem; }
.agm-cd-presentable-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-presentable-body--media { margin-top: 2rem; }
.agm-cd-presentable-body--media + .agm-cd-presentable-body--media { margin-top: 1rem; }
.agm-cd-presentable-ledger {
	margin-top: 2.5rem;
	border-top: 1px solid #e2e8f0;
}
.agm-cd-presentable-row {
	display: flex;
	align-items: center;
	gap: 1rem;
	border-bottom: 1px solid #e2e8f0;
	padding: 1.25rem 0;
	transition: background 0.3s;
}
@media (min-width: 640px) { .agm-cd-presentable-row { gap: 1.5rem; } }
.agm-cd-presentable-row:hover { background: rgba(255, 255, 255, 0.7); }
.agm-cd-presentable-row-index {
	width: 2rem;
	flex-shrink: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: #94a3b8;
}
.agm-cd-presentable-row-icon {
	display: flex;
	height: 2.5rem;
	width: 2.5rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(29, 141, 167, 0.4);
	color: #1d8da7;
	transition: background 0.3s, color 0.3s;
}
.agm-cd-presentable-row:hover .agm-cd-presentable-row-icon {
	background: #1d8da7;
	color: #fff;
}
.agm-cd-presentable-row-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #022e56;
}
@media (min-width: 640px) { .agm-cd-presentable-row-label { font-size: 0.875rem; } }
.agm-cd-presentable-row-line {
	display: none;
	flex: 1;
	margin: 0 0.5rem;
	border-top: 1px dashed #cbd5e1;
	transition: border-color 0.3s;
}
@media (min-width: 640px) { .agm-cd-presentable-row-line { display: block; } }
.agm-cd-presentable-row:hover .agm-cd-presentable-row-line {
	border-color: rgba(29, 141, 167, 0.6);
}
.agm-cd-presentable-row-mark {
	margin-left: auto;
	height: 0.625rem;
	width: 0.625rem;
	flex-shrink: 0;
	border: 1px solid #cbd5e1;
	transform: rotate(45deg);
	transition: transform 0.3s, border-color 0.3s, background 0.3s;
}
@media (min-width: 640px) { .agm-cd-presentable-row-mark { margin-left: 0; } }
.agm-cd-presentable-row:hover .agm-cd-presentable-row-mark {
	transform: rotate(135deg);
	border-color: #1d8da7;
	background: rgba(29, 141, 167, 0.2);
}
.agm-cd-presentable-photo {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.agm-cd-presentable-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.agm-cd-presentable-tag {
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: flex;
	align-items: center;
	gap: 0.625rem;
	background: #022e56;
	padding: 0.625rem 1rem;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #fff;
	box-shadow: 0 10px 25px rgba(2, 46, 86, 0.25);
}
.agm-cd-presentable-tag-dot {
	height: 0.375rem;
	width: 0.375rem;
	background: #3fa9c4;
	transform: rotate(45deg);
}

/* --------------------------------------------------------------------------
   CD 08 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Serving shipping label
   -------------------------------------------------------------------------- */
.agm-cd-serving {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-serving { padding: 8rem 0; } }
.agm-cd-serving-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cd-serving-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cd-serving-heading { margin-top: 1rem; }
.agm-cd-serving-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-serving-label-wrap {
	display: flex;
	justify-content: center;
}
.agm-cd-serving-label {
	width: 100%;
	max-width: 28rem;
	border: 1px solid #cbd5e1;
	background: #fff;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.35);
}
.agm-cd-serving-label-head {
	border-bottom: 1px dashed #cbd5e1;
	padding: 1rem 1.5rem;
}
.agm-cd-serving-label-title {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #1d8da7;
}
.agm-cd-serving-label-body {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.5rem;
}
.agm-cd-serving-block-label {
	margin: 0;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}
.agm-cd-serving-block-value {
	margin: 0.25rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1.6;
	color: #022e56;
}
.agm-cd-serving-block-note {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
.agm-cd-serving-barcode {
	height: 2.5rem;
	border-top: 1px dashed #cbd5e1;
	opacity: 0.7;
	background-image: repeating-linear-gradient(
		90deg,
		#022e56 0 2px,
		transparent 2px 5px,
		#022e56 5px 9px,
		transparent 9px 12px
	);
}

/* --------------------------------------------------------------------------
   CD 09 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Final CTA question cards
   -------------------------------------------------------------------------- */
.agm-cd-final-cta {
	border-top: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cd-final-cta { padding: 8rem 0; } }
.agm-cd-final-cta-head {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-cd-final-cta-heading { margin-top: 1rem; }
.agm-cd-final-cta-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cd-final-cta-cards {
	display: grid;
	gap: 1rem;
	margin: 3rem auto 0;
	max-width: 56rem;
}
@media (min-width: 640px) {
	.agm-cd-final-cta-cards { grid-template-columns: repeat(3, 1fr); }
}
.agm-cd-final-cta-card {
	height: 100%;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.5rem;
}
.agm-cd-final-cta-card-num {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #1d8da7;
}
.agm-cd-final-cta-card-q {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
}
.agm-cd-final-cta-card-d {
	margin: 0.5rem 0 0;
	font-size: 0.75rem;
	line-height: 1.6;
	color: #64748b;
}
.agm-cd-final-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 3rem;
}

/* ==========================================================================
   Commercial Glass page sections (agm-cg-*)
   ========================================================================== */

/* --------------------------------------------------------------------------
   CG 01 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Install / practical focus card
   -------------------------------------------------------------------------- */
.agm-cg-install {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-install { padding: 8rem 0; } }
.agm-cg-install-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cg-install-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cg-install-heading { margin-top: 1rem; }
.agm-cg-install-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-install-body + .agm-cg-install-body { margin-top: 1rem; }
.agm-cg-focus-card {
	background: #022e56;
	padding: 2rem;
}
@media (min-width: 640px) { .agm-cg-focus-card { padding: 2.5rem; } }
.agm-cg-focus-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #3fa9c4;
}
.agm-cg-focus-list {
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}
.agm-cg-focus-item {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 1.25rem 0;
}
.agm-cg-focus-diamond {
	height: 0.75rem;
	width: 0.75rem;
	flex-shrink: 0;
	border: 2px solid #3fa9c4;
	transform: rotate(45deg);
}
.agm-cg-focus-text {
	flex: 1;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #fff;
}
@media (min-width: 640px) { .agm-cg-focus-text { font-size: 1rem; } }
.agm-cg-focus-num {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: rgba(255, 255, 255, 0.3);
}

/* --------------------------------------------------------------------------
   CG 02 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Storefront facade
   -------------------------------------------------------------------------- */
.agm-cg-storefront {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-storefront { padding: 8rem 0; } }
.agm-cg-storefront-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cg-storefront-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cg-storefront-heading { margin-top: 1rem; }
.agm-cg-storefront-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-storefront-body + .agm-cg-storefront-body { margin-top: 1rem; }
.agm-cg-storefront-cta { margin-top: 2.25rem; }
.agm-cg-facade {
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.5rem;
}
@media (min-width: 640px) { .agm-cg-facade { padding: 2rem; } }
.agm-cg-facade-awning {
	display: flex;
	height: 2rem;
	overflow: hidden;
}
.agm-cg-facade-stripe {
	flex: 1;
	background: #aedae6;
}
.agm-cg-facade-stripe--teal { background: #1d8da7; }
.agm-cg-facade-front {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: 0.375rem;
	border: 1px solid #cbd5e1;
	border-top: 0;
	background: #f0f4f4;
	padding: 0.625rem;
}
.agm-cg-facade-pane {
	height: 8rem;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.5));
}
@media (min-width: 640px) { .agm-cg-facade-pane { height: 10rem; } }
.agm-cg-facade-door {
	position: relative;
	height: 8rem;
	width: 3.5rem;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: linear-gradient(180deg, rgba(174, 218, 230, 0.8), rgba(174, 218, 230, 0.5));
}
@media (min-width: 640px) {
	.agm-cg-facade-door { height: 10rem; width: 4rem; }
}
.agm-cg-facade-door-bar {
	position: absolute;
	top: 50%;
	right: 0.375rem;
	height: 2.25rem;
	width: 0.25rem;
	border-radius: 999px;
	background: #94a3b8;
	transform: translateY(-50%);
}
.agm-cg-facade-sill {
	margin-top: 0.625rem;
	height: 0.375rem;
	background: #e2e8f0;
}
.agm-cg-facade-caption {
	margin: 1.25rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #64748b;
}

/* --------------------------------------------------------------------------
   CG 03 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Door glass push-bar band
   -------------------------------------------------------------------------- */
.agm-cg-door {
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
}
.agm-cg-door-grid {
	display: grid;
	align-items: center;
	gap: 2.5rem;
	padding: 4rem 0;
}
@media (min-width: 640px) { .agm-cg-door-grid { padding: 5rem 0; } }
@media (min-width: 1024px) {
	.agm-cg-door-grid {
		grid-template-columns: auto 1fr;
		gap: 4rem;
	}
}
.agm-cg-door-plate {
	position: relative;
	margin: 0 auto;
	height: 11rem;
	width: 7rem;
	border: 2px solid #cbd5e1;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.6));
}
.agm-cg-door-bar {
	position: absolute;
	top: 50%;
	left: 0.5rem;
	right: 0.5rem;
	height: 0.5rem;
	border-radius: 999px;
	background: linear-gradient(180deg, #cbd5e1, #64748b, #cbd5e1);
	box-shadow: 0 1px 3px rgba(2, 46, 86, 0.2);
	transform: translateY(-50%);
}
.agm-cg-door-push {
	position: absolute;
	inset-inline: 0;
	top: calc(50% + 10px);
	text-align: center;
	font-size: 7px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #64748b;
}
.agm-cg-door-heading { margin-top: 1rem; }
.agm-cg-door-body {
	margin: 1.25rem 0 0;
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-door-body + .agm-cg-door-body { margin-top: 1rem; }

/* --------------------------------------------------------------------------
   CG 04 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Contract glazing project board
   -------------------------------------------------------------------------- */
.agm-cg-contract {
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-contract { padding: 8rem 0; } }
.agm-cg-contract-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cg-contract-grid { grid-template-columns: 1fr 1.1fr; gap: 5rem; }
}
.agm-cg-contract-heading { margin-top: 1rem; }
.agm-cg-contract-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-contract-body + .agm-cg-contract-body { margin-top: 1rem; }
.agm-cg-contract-cta { margin-top: 2.25rem; }
.agm-cg-board {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	border: 1px solid #cbd5e1;
	background: #cbd5e1;
}
.agm-cg-board-cell {
	background: #fff;
	padding: 1.5rem;
}
@media (min-width: 640px) { .agm-cg-board-cell { padding: 2rem; } }
.agm-cg-board-step {
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}
.agm-cg-board-title {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}
@media (min-width: 640px) { .agm-cg-board-title { font-size: 1rem; } }
.agm-cg-board-rule {
	display: block;
	margin-top: 1rem;
	height: 0.25rem;
	width: 2rem;
	background: #1d8da7;
}
.agm-cg-board-note {
	margin: 0.75rem 0 0;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}

/* --------------------------------------------------------------------------
   CG 05 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Curtain wall grid
   -------------------------------------------------------------------------- */
.agm-cg-curtain {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-curtain { padding: 8rem 0; } }
.agm-cg-curtain-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cg-curtain-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cg-curtain-heading { margin-top: 1rem; }
.agm-cg-curtain-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-curtain-note {
	display: inline-block;
	margin: 1.5rem 0 0;
	border-left: 2px solid #1d8da7;
	padding-left: 1.25rem;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
.agm-cg-curtain-wall {
	display: grid;
	grid-template-columns: repeat(var(--agm-cg-curtain-cols, 6), 1fr);
	gap: 0.25rem;
}
.agm-cg-curtain-cell {
	aspect-ratio: 3 / 4;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.6), rgba(255, 255, 255, 0.4), rgba(174, 218, 230, 0.5));
}
.agm-cg-curtain-cell--lit {
	background: linear-gradient(135deg, rgba(63, 169, 196, 0.7), rgba(174, 218, 230, 0.6));
}

/* --------------------------------------------------------------------------
   CG 06 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Handrails open-scope panel
   -------------------------------------------------------------------------- */
.agm-cg-handrails {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-handrails { padding: 8rem 0; } }
.agm-cg-open-scope {
	margin: 0 auto;
	max-width: 56rem;
	border: 2px dashed #cbd5e1;
	background: #fff;
	padding: 2rem;
	text-align: center;
}
@media (min-width: 640px) { .agm-cg-open-scope { padding: 3.5rem; } }
.agm-cg-handrails-heading { margin-top: 1rem; }
.agm-cg-handrails-body {
	margin: 1.5rem auto 0;
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-handrails-body + .agm-cg-handrails-body { margin-top: 1rem; }
.agm-cg-handrails-tags {
	margin: 2rem 0 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}
.agm-cg-handrails-sep {
	margin: 0 0.5rem;
	color: #1d8da7;
}

/* --------------------------------------------------------------------------
   CG 07 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Emergency call card
   -------------------------------------------------------------------------- */
.agm-cg-emergency {
	background: #022e56;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-emergency { padding: 7rem 0; } }
.agm-cg-emergency-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cg-emergency-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cg-emergency-badge {
	position: relative;
	display: flex;
	height: 4rem;
	width: 4rem;
	align-items: center;
	justify-content: center;
	border: 2px solid #3fa9c4;
	border-radius: 999px;
}
.agm-cg-emergency-ping {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: #1d8da7;
	opacity: 0.25;
	animation: agm-cg-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes agm-cg-ping {
	75%, 100% { transform: scale(1.75); opacity: 0; }
}
.agm-cg-emergency-badge-text {
	position: relative;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.125rem;
	font-weight: 800;
	color: #fff;
}
.agm-cg-emergency-heading { margin-top: 2rem; }
.agm-cg-emergency-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.75);
}
.agm-cg-emergency-body + .agm-cg-emergency-body { margin-top: 1rem; }
.agm-cg-emergency-note {
	margin: 1rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.55);
}
.agm-cg-emergency-card {
	display: block;
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 2rem;
	text-decoration: none;
	transition: border-color 0.3s;
}
@media (min-width: 640px) { .agm-cg-emergency-card { padding: 2.5rem; } }
.agm-cg-emergency-card:hover { border-color: rgba(63, 169, 196, 0.6); }
.agm-cg-emergency-card-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: rgba(255, 255, 255, 0.4);
	transition: color 0.3s;
}
.agm-cg-emergency-card:hover .agm-cg-emergency-card-label {
	color: rgba(255, 255, 255, 0.8);
}
.agm-cg-emergency-card-number {
	display: block;
	margin-top: 1.25rem;
	white-space: nowrap;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(2rem, 3.4vw, 3.75rem);
	font-weight: 300;
	letter-spacing: 0.03em;
	color: #fff;
}
.agm-cg-emergency-card-tap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #3fa9c4;
	transition: color 0.3s;
}
.agm-cg-emergency-card:hover .agm-cg-emergency-card-tap { color: #fff; }
.agm-cg-emergency-card-tap .agm-icon { transition: transform 0.3s; }
.agm-cg-emergency-card:hover .agm-cg-emergency-card-tap .agm-icon {
	transform: translateX(4px);
}

/* --------------------------------------------------------------------------
   CG 08 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Customer roster
   -------------------------------------------------------------------------- */
.agm-cg-customers {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-customers { padding: 8rem 0; } }
.agm-cg-customers-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cg-customers-grid { grid-template-columns: 1fr 1.2fr; gap: 5rem; }
}
.agm-cg-customers-heading { margin-top: 1rem; }
.agm-cg-customers-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-customers-body + .agm-cg-customers-body { margin-top: 1rem; }
.agm-cg-roster {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1px;
	border: 1px solid #e2e8f0;
	background: #e2e8f0;
}
@media (min-width: 640px) {
	.agm-cg-roster { grid-template-columns: 1fr 1fr; }
}
.agm-cg-roster-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	background: #fff;
	padding: 1.25rem 1.5rem;
	transition: background 0.3s;
}
.agm-cg-roster-item:hover { background: #022e56; }
@media (min-width: 640px) {
	.agm-cg-roster-item--wide { grid-column: span 2; }
}
.agm-cg-roster-num {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #1d8da7;
	transition: color 0.3s;
}
.agm-cg-roster-item:hover .agm-cg-roster-num { color: #3fa9c4; }
.agm-cg-roster-text {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
	transition: color 0.3s;
}
.agm-cg-roster-item:hover .agm-cg-roster-text { color: #fff; }

/* --------------------------------------------------------------------------
   CG 09 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Why / one-team flow
   -------------------------------------------------------------------------- */
.agm-cg-why {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-why { padding: 8rem 0; } }
.agm-cg-why-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-cg-why-heading { margin-top: 1rem; }
.agm-cg-why-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-why-body + .agm-cg-why-body { margin-top: 1rem; }
.agm-cg-flow {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	margin: 3.5rem auto 0;
	max-width: 56rem;
}
@media (min-width: 640px) {
	.agm-cg-flow {
		flex-direction: row;
		gap: 0;
		justify-content: center;
	}
}
.agm-cg-flow-node {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.5rem 2rem;
}
.agm-cg-flow-icon { color: #1d8da7; }
.agm-cg-flow-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #022e56;
}
.agm-cg-flow-connector {
	display: none;
	height: 1px;
	width: 2.5rem;
	background: rgba(29, 141, 167, 0.5);
}
@media (min-width: 640px) { .agm-cg-flow-connector { display: block; } }
.agm-cg-flow-node--team {
	flex-direction: row;
	border: 0;
	background: #022e56;
	padding: 1.5rem 2rem;
}
.agm-cg-flow-team-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff;
}

/* --------------------------------------------------------------------------
   CG 10 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Coverage bar
   -------------------------------------------------------------------------- */
.agm-cg-serving {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-serving { padding: 8rem 0; } }
.agm-cg-serving-intro { max-width: 48rem; }
.agm-cg-serving-heading { margin-top: 1rem; }
.agm-cg-serving-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-coverage { margin-top: 3.5rem; }
.agm-cg-coverage-bar {
	display: flex;
	height: 0.75rem;
	width: 100%;
	overflow: hidden;
}
.agm-cg-coverage-seg { flex: 1; }
.agm-cg-coverage-seg--navy { background: #022e56; }
.agm-cg-coverage-seg--teal { background: #1d8da7; }
.agm-cg-coverage-seg--teal-light { background: #3fa9c4; }
.agm-cg-coverage-seg--glass { background: #aedae6; }
.agm-cg-coverage-legend {
	display: flex;
	width: 100%;
	margin-top: 1rem;
}
.agm-cg-coverage-cell {
	min-width: 0;
	flex: 1;
}
.agm-cg-coverage-town {
	margin: 0;
	padding-right: 0.5rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #022e56;
}
@media (min-width: 640px) { .agm-cg-coverage-town { font-size: 11px; } }
.agm-cg-coverage-tag {
	display: inline-block;
	margin-top: 0.25rem;
	background: #1d8da7;
	padding: 0.125rem 0.5rem;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff;
}

/* --------------------------------------------------------------------------
   CG 11 ÃÂÃÂ¢ÃÂÃÂÃÂÃÂ Final CTA project brief
   -------------------------------------------------------------------------- */
.agm-cg-final-cta {
	border-top: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cg-final-cta { padding: 8rem 0; } }
.agm-cg-brief {
	margin: 0 auto;
	max-width: 48rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 30px 70px -35px rgba(2, 46, 86, 0.3);
}
.agm-cg-brief-head {
	border-bottom: 1px dashed #cbd5e1;
	padding: 1.25rem 2rem;
}
@media (min-width: 640px) { .agm-cg-brief-head { padding: 1.25rem 3rem; } }
.agm-cg-brief-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #1d8da7;
}
.agm-cg-brief-body {
	padding: 3rem 2rem;
}
@media (min-width: 640px) { .agm-cg-brief-body { padding: 3rem; } }
.agm-cg-final-cta-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cg-final-cta-body + .agm-cg-final-cta-body { margin-top: 1rem; }
.agm-cg-brief-fields {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2.5rem;
}
.agm-cg-brief-field {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
}
.agm-cg-brief-field-label {
	flex-shrink: 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
.agm-cg-brief-field-line {
	flex: 1;
	border-bottom: 1px dashed #cbd5e1;
}
.agm-cg-brief-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 2.5rem;
}
.agm-cg-brief-phone {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid #cbd5e1;
	padding-bottom: 0.125rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #022e56;
	text-decoration: none;
	transition: border-color 0.3s, color 0.3s;
}
.agm-cg-brief-phone:hover {
	border-color: #1d8da7;
	color: #1d8da7;
}


/* Layout wrappers (structural hooks used in PHP markup) */
.agm-cd-emergency-call-text { display: block; }
.agm-cd-jobs-copy,
.agm-cd-repair-copy,
.agm-cd-renovations-copy,
.agm-cd-presentable-copy,
.agm-cd-serving-copy,
.agm-cd-emergency-copy,
.agm-cg-install-copy,
.agm-cg-storefront-copy,
.agm-cg-door-copy,
.agm-cg-contract-copy,
.agm-cg-curtain-copy,
.agm-cg-customers-copy,
.agm-cg-emergency-copy { min-width: 0; }
.agm-cd-presentable-media { min-width: 0; }

/* ==========================================================================
   RV / Vehicle Glass / Boat Glass page sections (agm-rv-*, agm-vg-*, agm-bg-*)
   Rebuilt to match emergent-design React pages ÃÂ¢ÃÂÃÂ append only.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Shared headings ÃÂ¢ÃÂÃÂ RV, VG, BG
   -------------------------------------------------------------------------- */
.agm-rv-heading,
.agm-vg-heading,
.agm-bg-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.agm-rv-heading,
	.agm-vg-heading,
	.agm-bg-heading { font-size: 2.25rem; }
}

/* Shared body copy helpers */
.agm-rv-road-body,
.agm-rv-crack-body,
.agm-rv-traits-body,
.agm-rv-elevation-body,
.agm-rv-leak-body,
.agm-rv-serving-body,
.agm-vg-zones-body,
.agm-vg-boat-body,
.agm-vg-rv-body,
.agm-vg-details-body,
.agm-vg-final-cta-body,
.agm-vg-parts-outro,
.agm-bg-elements-body,
.agm-bg-helm-body,
.agm-bg-photos-body,
.agm-bg-porthole-body,
.agm-bg-cutting-body,
.agm-bg-cutting-outro,
.agm-bg-bending-body,
.agm-bg-materials-body,
.agm-bg-hard-body,
.agm-bg-projects-body,
.agm-bg-checklist-body,
.agm-bg-ports-body,
.agm-bg-final-cta-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-rv-crack-body + .agm-rv-crack-body,
.agm-rv-traits-body + .agm-rv-traits-body,
.agm-rv-elevation-body + .agm-rv-elevation-body,
.agm-rv-leak-body + .agm-rv-leak-body,
.agm-rv-road-body + .agm-rv-road-body,
.agm-rv-serving-body + .agm-rv-serving-body,
.agm-vg-zones-body + .agm-vg-zones-body,
.agm-vg-boat-body + .agm-vg-boat-body,
.agm-vg-rv-body + .agm-vg-rv-body,
.agm-bg-elements-body + .agm-bg-elements-body,
.agm-bg-helm-body + .agm-bg-helm-body,
.agm-bg-photos-body + .agm-bg-photos-body,
.agm-bg-porthole-body + .agm-bg-porthole-body,
.agm-bg-hard-body + .agm-bg-hard-body,
.agm-bg-ports-body + .agm-bg-ports-body,
.agm-bg-projects-body + .agm-bg-projects-body,
.agm-bg-final-cta-body + .agm-bg-final-cta-body {
	margin-top: 1rem;
}

/* Shared teal left-border notes */
.agm-rv-road-note,
.agm-vg-zones-note,
.agm-bg-photos-note,
.agm-bg-checklist-note {
	margin-top: 1.5rem;
	border-left: 2px solid #1d8da7;
	padding-left: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #64748b;
}

/* Shared split grids */
.agm-rv-road-grid,
.agm-rv-crack-grid,
.agm-rv-traits-grid,
.agm-rv-elevation-grid,
.agm-rv-leak-grid,
.agm-rv-serving-grid,
.agm-vg-zones-grid,
.agm-vg-rv-grid,
.agm-vg-boat-grid,
.agm-bg-elements-grid,
.agm-bg-helm-grid,
.agm-bg-photos-grid,
.agm-bg-bending-grid,
.agm-bg-hard-grid,
.agm-bg-checklist-grid,
.agm-bg-ports-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-rv-road-grid,
	.agm-rv-crack-grid,
	.agm-rv-traits-grid,
	.agm-rv-elevation-grid,
	.agm-rv-leak-grid,
	.agm-rv-serving-grid,
	.agm-vg-zones-grid,
	.agm-vg-rv-grid,
	.agm-vg-boat-grid,
	.agm-bg-elements-grid,
	.agm-bg-helm-grid,
	.agm-bg-photos-grid,
	.agm-bg-bending-grid,
	.agm-bg-hard-grid,
	.agm-bg-checklist-grid,
	.agm-bg-ports-grid {
		grid-template-columns: 1fr 1fr;
		gap: 5rem;
	}
}

/* Shared section headings offset from eyebrow */
.agm-rv-road-heading,
.agm-rv-crack-heading,
.agm-rv-traits-heading,
.agm-rv-elevation-heading,
.agm-rv-leak-heading,
.agm-rv-diagnostic-heading,
.agm-rv-documents-heading,
.agm-rv-serving-heading,
.agm-rv-final-cta-heading,
.agm-vg-zones-heading,
.agm-vg-parts-heading,
.agm-vg-details-heading,
.agm-vg-rv-heading,
.agm-vg-boat-heading,
.agm-vg-final-cta-heading,
.agm-bg-elements-heading,
.agm-bg-helm-heading,
.agm-bg-photos-heading,
.agm-bg-porthole-heading,
.agm-bg-cutting-heading,
.agm-bg-bending-heading,
.agm-bg-hard-heading,
.agm-bg-projects-heading,
.agm-bg-checklist-heading,
.agm-bg-ports-heading,
.agm-bg-final-cta-heading {
	margin-top: 1rem;
}

/* Shared CTA action rows */
.agm-rv-crack-actions,
.agm-vg-boat-actions,
.agm-vg-rv-actions,
.agm-bg-helm-actions,
.agm-bg-bending-actions,
.agm-rv-final-cta-actions,
.agm-vg-final-cta-actions,
.agm-bg-final-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 2.25rem;
}
.agm-rv-final-cta-actions,
.agm-vg-final-cta-actions,
.agm-bg-final-cta-actions {
	margin-top: 3rem;
}

/* Shared diagram panel shells */
.agm-vg-zones-panel,
.agm-vg-rv-visual,
.agm-bg-helm-panel,
.agm-bg-bending-panel,
.agm-rv-leak-panel {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 1.5rem;
}
@media (min-width: 640px) {
	.agm-vg-zones-panel,
	.agm-vg-rv-visual,
	.agm-bg-helm-panel,
	.agm-bg-bending-panel,
	.agm-rv-leak-panel { padding: 2rem 2.5rem; }
}
.agm-bg-helm-panel,
.agm-bg-bending-panel { background: #fff; }

/* Shared SVG sizing */
.agm-rv-wiper-svg,
.agm-rv-leak-svg,
.agm-vg-zones-svg,
.agm-vg-rv-svg,
.agm-bg-helm-svg,
.agm-bg-bending-svg {
	display: block;
	width: 100%;
	max-width: 28rem;
	margin: 0 auto;
}

/* Shared legend rows (numbered glass zones) */
.agm-vg-zones-legend,
.agm-vg-rv-legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1.5rem;
	margin-top: 1.5rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #475569;
}
.agm-vg-zones-legend-item,
.agm-vg-rv-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}
.agm-vg-zones-legend-num,
.agm-vg-rv-legend-num {
	display: inline-flex;
	height: 1rem;
	width: 1rem;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	background: #022e56;
	font-size: 8px;
	font-weight: 700;
	color: #fff;
}

/* Shared caption under diagrams */
.agm-vg-zones-caption,
.agm-vg-rv-caption,
.agm-rv-leak-caption,
.agm-rv-elevation-caption,
.agm-bg-elements-caption,
.agm-bg-bending-caption {
	margin: 1rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #94a3b8;
}

/* ==========================================================================
   RV Glass (agm-rv-*)
   ========================================================================== */

/* RV 01 ÃÂ¢ÃÂÃÂ Road / wiper card / stress strip */
.agm-rv-road {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-road { padding: 8rem 0; } }
@media (min-width: 1024px) {
	.agm-rv-road-grid { grid-template-columns: 1fr 400px; }
}
.agm-rv-wiper-card {
	border: 1px solid #e2e8f0;
	background: rgba(240, 244, 244, 0.6);
	padding: 2rem;
}
@media (min-width: 640px) { .agm-rv-wiper-card { padding: 2.5rem; } }
.agm-rv-wiper-label {
	margin: 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #64748b;
}
.agm-rv-wiper-svg { margin-top: 1.5rem; max-width: 20rem; }
.agm-rv-wiper-arm {
	transform-box: fill-box;
	transform-origin: bottom center;
	transition: transform 0.5s ease-out;
}
.agm-rv-wiper-card:hover .agm-rv-wiper-arm { transform: rotate(20deg); }
.agm-rv-wiper-list {
	margin: 1.75rem auto 0;
	max-width: 220px;
	padding: 0;
	list-style: none;
}
.agm-rv-wiper-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	border-bottom: 1px solid #e2e8f0;
	padding: 0.75rem 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #022e56;
}
.agm-rv-wiper-item:last-child { border-bottom: 0; }
.agm-rv-wiper-diamond {
	flex-shrink: 0;
	height: 0.375rem;
	width: 0.375rem;
	background: #1d8da7;
	transform: rotate(45deg);
}
.agm-rv-road-strip {
	position: relative;
	margin-top: 4rem;
	overflow: hidden;
	background: #022e56;
	padding: 3rem 0;
}
.agm-rv-road-centerline {
	position: absolute;
	inset-inline: 0;
	top: 50%;
	border-top: 2px dashed rgba(255, 255, 255, 0.25);
}
.agm-rv-road-signs {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5rem;
}
@media (min-width: 640px) {
	.agm-rv-road-signs { grid-template-columns: repeat(4, 1fr); }
}
.agm-rv-road-sign {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.agm-rv-road-sign--flip { flex-direction: column-reverse; }
.agm-rv-road-sign-plate {
	border: 2px solid rgba(255, 255, 255, 0.85);
	background: #022e56;
	padding: 0.625rem 0.75rem;
	text-align: center;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.35;
	letter-spacing: 0.14em;
	color: #fff;
	box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
}
@media (min-width: 640px) {
	.agm-rv-road-sign-plate { font-size: 10px; }
}
.agm-rv-road-sign-post {
	display: block;
	height: 2rem;
	width: 0.25rem;
	background: #64748b;
}

/* RV 02 ÃÂ¢ÃÂÃÂ Windshield crack panel */
.agm-rv-crack {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-crack { padding: 8rem 0; } }
.agm-rv-crack-panel {
	position: relative;
	aspect-ratio: 16 / 9;
	border: 8px solid #fff;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.6));
	box-shadow: 0 25px 50px -12px rgba(2, 46, 86, 0.15);
}
.agm-rv-crack-svg {
	position: absolute;
	inset: 0;
	height: 100%;
	width: 100%;
	max-width: none;
}
.agm-rv-crack-impact {
	position: absolute;
	display: flex;
	height: 1rem;
	width: 1rem;
}
.agm-rv-crack-ping {
	position: absolute;
	inset: 0;
	border-radius: 9999px;
	background: #022e56;
	opacity: 0.3;
	animation: agm-rv-crack-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes agm-rv-crack-ping {
	75%, 100% { transform: scale(2); opacity: 0; }
}
.agm-rv-crack-core {
	position: relative;
	display: inline-flex;
	height: 100%;
	width: 100%;
	border-radius: 9999px;
	border: 2px solid #fff;
	background: rgba(2, 46, 86, 0.7);
}
.agm-rv-crack-badge {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
}

/* RV 03 ÃÂ¢ÃÂÃÂ Side window trait grid */
.agm-rv-traits {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-traits { padding: 8rem 0; } }
@media (min-width: 1024px) {
	.agm-rv-traits-diagrams { order: -1; }
}
.agm-rv-traits-diagrams {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
.agm-rv-trait {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 1.25rem;
}
.agm-rv-trait-stage {
	display: flex;
	height: 6rem;
	align-items: center;
	justify-content: center;
}
.agm-rv-trait-window {
	position: relative;
	display: block;
	height: 4rem;
	width: 5rem;
	border: 2px solid #94a3b8;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(63, 169, 196, 0.5));
}
.agm-rv-trait-window--rounded { border-radius: 1rem; }
.agm-rv-trait-window--small { transform: scale(0.75); }
.agm-rv-trait-window--framed { border-width: 8px; }
.agm-rv-trait-screw {
	position: absolute;
	height: 0.375rem;
	width: 0.375rem;
	border-radius: 9999px;
	background: #94a3b8;
}
.agm-rv-trait-screw--tl { left: 0.25rem; top: 0.25rem; }
.agm-rv-trait-screw--tr { right: 0.25rem; top: 0.25rem; }
.agm-rv-trait-screw--bl { left: 0.25rem; bottom: 0.25rem; }
.agm-rv-trait-screw--br { right: 0.25rem; bottom: 0.25rem; }
.agm-rv-trait-label {
	margin: 0.5rem 0 0;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #022e56;
}
.agm-rv-trait-note {
	margin: 0.25rem 0 0;
	text-align: center;
	font-size: 10px;
	line-height: 1.6;
	color: #64748b;
}

/* RV 04 ÃÂ¢ÃÂÃÂ Rear elevation diagram */
.agm-rv-elevation {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-elevation { padding: 8rem 0; } }
.agm-rv-elevation-visual {
	margin: 0 auto;
	max-width: 20rem;
}
.agm-rv-elevation-body-shell {
	position: relative;
	height: 18rem;
	border: 2px solid #cbd5e1;
	border-radius: 0.5rem 0.5rem 0 0;
	background: #fff;
}
.agm-rv-elevation-glass {
	position: absolute;
	left: 50%;
	top: 1.75rem;
	height: 6rem;
	width: 8rem;
	transform: translateX(-50%);
	border: 1px solid rgba(255, 255, 255, 0.8);
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.8), rgba(63, 169, 196, 0.5));
	box-shadow: inset 0 2px 4px rgba(2, 46, 86, 0.08);
}
.agm-rv-elevation-glass-label {
	position: absolute;
	left: 50%;
	top: 5.6rem;
	transform: translateX(-50%);
	background: #1d8da7;
	padding: 0.125rem 0.5rem;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff;
}
.agm-rv-elevation-ladder {
	position: absolute;
	top: 1rem;
	right: 0.75rem;
	bottom: 3rem;
	width: 1rem;
	border-left: 1px solid #cbd5e1;
	border-right: 1px solid #cbd5e1;
	background-image: repeating-linear-gradient(180deg, transparent 0 14px, #cbd5e1 14px 16px);
}
.agm-rv-elevation-light {
	position: absolute;
	bottom: 3.5rem;
	height: 0.75rem;
	width: 1.75rem;
	border-radius: 0.125rem;
	background: rgba(252, 165, 165, 0.8);
}
.agm-rv-elevation-light--left { left: 1rem; }
.agm-rv-elevation-light--right { right: 1rem; }
.agm-rv-elevation-bumper {
	position: absolute;
	inset-inline: 0;
	bottom: 2rem;
	height: 0.5rem;
	background: #cbd5e1;
}
.agm-rv-elevation-wheel {
	position: absolute;
	bottom: -1rem;
	height: 2rem;
	width: 2rem;
	border: 2px solid #cbd5e1;
	border-radius: 9999px;
	background: #fff;
}
.agm-rv-elevation-wheel--left { left: 2rem; }
.agm-rv-elevation-wheel--right { right: 2rem; }
.agm-rv-elevation-caption { margin-top: 2rem; letter-spacing: 0.2em; }

/* RV 05 ÃÂ¢ÃÂÃÂ Leak path cross-section */
.agm-rv-leak {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-leak { padding: 8rem 0; } }
@media (min-width: 1024px) {
	.agm-rv-leak-copy { order: 2; }
}

/* RV 06 ÃÂ¢ÃÂÃÂ Diagnostic problems board */
.agm-rv-diagnostic {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-diagnostic { padding: 8rem 0; } }
.agm-rv-diagnostic-intro { max-width: 48rem; }
.agm-rv-diagnostic-board {
	display: grid;
	gap: 1rem;
	margin-top: 3.5rem;
}
@media (min-width: 640px) {
	.agm-rv-diagnostic-board { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.agm-rv-diagnostic-board { grid-template-columns: repeat(3, 1fr); }
}
.agm-rv-diagnostic-cell {
	display: flex;
	height: 100%;
	align-items: center;
	gap: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.25rem;
	transition: border-color 0.3s, box-shadow 0.3s;
}
.agm-rv-diagnostic-cell:hover {
	border-color: #1d8da7;
	box-shadow: 0 16px 35px -18px rgba(2, 46, 86, 0.35);
}
.agm-rv-diagnostic-icon {
	display: flex;
	height: 2.25rem;
	width: 2.25rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid #cbd5e1;
	color: #94a3b8;
	transition: background 0.3s, border-color 0.3s, color 0.3s;
}
.agm-rv-diagnostic-cell:hover .agm-rv-diagnostic-icon {
	border-color: #1d8da7;
	background: #1d8da7;
	color: #fff;
}
.agm-rv-diagnostic-text {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.35;
	letter-spacing: 0.08em;
	color: #022e56;
}
@media (min-width: 640px) {
	.agm-rv-diagnostic-text { font-size: 0.875rem; }
}

/* RV 07 ÃÂ¢ÃÂÃÂ Document sleeve checklist */
.agm-rv-documents {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-documents { padding: 8rem 0; } }
.agm-rv-documents-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-rv-documents-body { text-align: center; }
.agm-rv-sleeve-wrap {
	position: relative;
	margin: 3rem auto 0;
	max-width: 42rem;
}
.agm-rv-sleeve {
	position: relative;
	border: 1px solid #cbd5e1;
	background: #fff;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.35);
}
.agm-rv-sleeve-notch {
	position: absolute;
	top: -1px;
	left: 50%;
	height: 1.5rem;
	width: 4rem;
	transform: translateX(-50%);
	border: 1px solid #cbd5e1;
	border-top: 0;
	border-radius: 0 0 9999px 9999px;
	background: #fff;
}
.agm-rv-sleeve-inner {
	padding: 3rem 1.5rem 2rem;
}
@media (min-width: 640px) {
	.agm-rv-sleeve-inner { padding: 3rem 2.5rem 2rem; }
}
.agm-rv-sleeve-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #e2e8f0;
	padding-bottom: 1rem;
}
.agm-rv-sleeve-label,
.agm-rv-sleeve-tag {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
}
.agm-rv-sleeve-label { color: #022e56; }
.agm-rv-sleeve-tag { color: #1d8da7; }
.agm-rv-sleeve-list {
	display: grid;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
	gap: 0 2rem;
}
@media (min-width: 640px) {
	.agm-rv-sleeve-list { grid-template-columns: repeat(2, 1fr); }
}
.agm-rv-sleeve-item {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	border-bottom: 1px solid #f1f5f9;
	padding: 0.75rem 0;
}
.agm-rv-sleeve-diamond {
	flex-shrink: 0;
	height: 0.375rem;
	width: 0.375rem;
	background: #1d8da7;
	transform: rotate(45deg);
}
.agm-rv-sleeve-text {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.6;
	letter-spacing: 0.06em;
	color: #475569;
}

/* RV 08 ÃÂ¢ÃÂÃÂ Serving signpost */
.agm-rv-serving {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-serving { padding: 8rem 0; } }
.agm-rv-signpost {
	position: relative;
	margin: 0 auto;
	max-width: 28rem;
	padding-left: 3rem;
}
.agm-rv-signpost-post {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1rem;
	width: 0.5rem;
	background: #cbd5e1;
}
.agm-rv-signpost-signs > * + * { margin-top: 1rem; }
.agm-rv-sign {
	padding: 0.75rem 1.25rem;
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
}
.agm-rv-sign--home {
	background: #022e56;
	color: #fff;
	box-shadow: 0 10px 15px rgba(0, 0, 0, 0.15);
	clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);
}
.agm-rv-sign:not(.agm-rv-sign--home) {
	border: 1px solid #cbd5e1;
	background: #fff;
	box-shadow: 0 1px 2px rgba(2, 46, 86, 0.06);
}
.agm-rv-sign-text {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
}
@media (min-width: 640px) {
	.agm-rv-sign-text { font-size: 0.875rem; }
}
.agm-rv-sign-text--muted { color: #475569; }
.agm-rv-signpost-tail {
	margin: 0;
	padding-left: 0.25rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}

/* RV 09 ÃÂ¢ÃÂÃÂ Final CTA answer trio */
.agm-rv-final-cta {
	border-top: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-rv-final-cta { padding: 8rem 0; } }
.agm-rv-final-cta-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-rv-final-cta-body { text-align: center; }
.agm-rv-answer-trio {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	gap: 1rem;
	margin: 3rem auto 0;
	max-width: 56rem;
}
@media (min-width: 640px) {
	.agm-rv-answer-trio {
		flex-direction: row;
		align-items: center;
	}
}
.agm-rv-answer-joiner {
	align-self: center;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.5rem;
	font-weight: 300;
	color: #1d8da7;
}
.agm-rv-answer {
	flex: 1 1 0;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.5rem 2rem;
	text-align: center;
	box-shadow: 0 1px 2px rgba(2, 46, 86, 0.06);
}
.agm-rv-answer-num {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #1d8da7;
}
.agm-rv-answer-label {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}
.agm-rv-answer-note {
	margin: 0.25rem 0 0;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #64748b;
}

/* ==========================================================================
   Vehicle Glass (agm-vg-*)
   ========================================================================== */

/* VG 01 ÃÂ¢ÃÂÃÂ Car glass zone diagram */
.agm-vg-zones {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-vg-zones { padding: 8rem 0; } }

/* VG 02 ÃÂ¢ÃÂÃÂ Parts grid with glyph shapes */
.agm-vg-parts {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-vg-parts { padding: 8rem 0; } }
.agm-vg-parts-intro { max-width: 48rem; }
.agm-vg-parts-grid {
	display: grid;
	gap: 1.25rem;
	margin-top: 3.5rem;
}
@media (min-width: 640px) {
	.agm-vg-parts-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.agm-vg-parts-grid { grid-template-columns: repeat(4, 1fr); }
}
.agm-vg-part {
	display: flex;
	height: 100%;
	flex-direction: column;
	border: 1px solid #e2e8f0;
	background: #fff;
	transition: box-shadow 0.3s;
}
.agm-vg-part:hover {
	box-shadow: 0 20px 45px -20px rgba(2, 46, 86, 0.3);
}
.agm-vg-part-stage {
	position: relative;
	display: flex;
	height: 7rem;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid #f1f5f9;
	background: rgba(240, 244, 244, 0.6);
}
.agm-vg-part-index {
	position: absolute;
	left: 1rem;
	top: 0.75rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: #94a3b8;
}
.agm-vg-part-glyph {
	display: block;
	height: 4rem;
	width: 6rem;
	background: linear-gradient(135deg, #eaf6fa, #aedae6, #7cc4d8);
	border: 2px solid #1d8da7;
	transition: transform 0.3s;
}
.agm-vg-part:hover .agm-vg-part-glyph {
	transform: scale(1.1) translateY(-0.25rem);
}
.agm-vg-part-glyph--windshield { clip-path: polygon(18% 84%, 29% 22%, 71% 22%, 81% 84%); }
.agm-vg-part-glyph--door { clip-path: polygon(17% 84%, 25% 25%, 85% 25%, 85% 84%); }
.agm-vg-part-glyph--rect { border-radius: 0.5rem; clip-path: inset(0 round 0.5rem); }
.agm-vg-part-glyph--back { clip-path: polygon(23% 22%, 77% 22%, 69% 81%, 31% 81%); }
.agm-vg-part-glyph--quarter { clip-path: polygon(29% 81%, 71% 81%, 71% 25%); }
.agm-vg-part-glyph--vent { clip-path: polygon(35% 25%, 35% 81%, 65% 81%); }
.agm-vg-part-glyph--sunroof {
	height: 1.125rem;
	width: 4.5rem;
	border-radius: 9999px;
}
.agm-vg-part-glyph--mirror {
	width: 3rem;
	border-radius: 50% / 45%;
}
.agm-vg-part-name {
	margin: 0;
	padding: 1.25rem 1.5rem;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
}
.agm-vg-parts-outro {
	max-width: 48rem;
	margin-top: 2.5rem;
}

/* VG 03 ÃÂ¢ÃÂÃÂ Vehicle details key tag */
.agm-vg-details {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-vg-details { padding: 8rem 0; } }
.agm-vg-details-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-vg-details-body { text-align: center; }
.agm-vg-tag-wrap {
	position: relative;
	margin: 3.5rem auto 0;
	max-width: 42rem;
}
.agm-vg-tag-ring {
	position: absolute;
	top: -1.5rem;
	left: 2.5rem;
	height: 3rem;
	width: 3rem;
	border: 4px solid #cbd5e1;
	border-radius: 9999px;
}
.agm-vg-tag-hole {
	position: absolute;
	top: 0.5rem;
	left: 3.65rem;
	height: 0.875rem;
	width: 0.875rem;
	border: 1px solid #cbd5e1;
	border-radius: 9999px;
	background: #fff;
}
.agm-vg-tag {
	border: 1px solid #cbd5e1;
	background: #fff;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.35);
}
.agm-vg-tag-head {
	margin-top: 1rem;
	background: #022e56;
	padding: 0.875rem 1.5rem;
}
@media (min-width: 640px) {
	.agm-vg-tag-head { padding: 0.875rem 2rem; }
}
.agm-vg-tag-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #fff;
}
.agm-vg-tag-fields {
	display: grid;
	gap: 1.75rem 2rem;
	padding: 2.25rem 1.5rem;
}
@media (min-width: 640px) {
	.agm-vg-tag-fields {
		grid-template-columns: repeat(2, 1fr);
		padding: 2.25rem 2rem;
	}
}
.agm-vg-tag-field--wide { grid-column: 1 / -1; }
.agm-vg-tag-field-label {
	margin: 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #64748b;
}
.agm-vg-tag-field-line {
	display: block;
	margin-top: 0.75rem;
	border-bottom: 1px dashed #cbd5e1;
}
.agm-vg-tag-footnote {
	margin: 0;
	border-top: 1px dashed #cbd5e1;
	padding: 1.25rem 1.5rem;
	font-size: 0.75rem;
	line-height: 1.7;
	color: #64748b;
}
@media (min-width: 640px) {
	.agm-vg-tag-footnote { padding: 1.25rem 2rem; }
}

/* VG 04 ÃÂ¢ÃÂÃÂ RV cross-link silhouette */
.agm-vg-rv {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-vg-rv { padding: 8rem 0; } }
@media (min-width: 1024px) {
	.agm-vg-rv-visual { order: -1; }
}
.agm-vg-rv-visual {
	border-color: #e2e8f0;
	background: #fff;
}

/* VG 05 ÃÂ¢ÃÂÃÂ Boat photo cross-link */
.agm-vg-boat {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-vg-boat { padding: 8rem 0; } }
.agm-vg-boat-photo {
	position: relative;
	aspect-ratio: 4 / 3;
}
.agm-vg-boat-photo img {
	position: absolute;
	inset: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.agm-vg-boat-wave {
	pointer-events: none;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.agm-vg-boat-badge {
	position: absolute;
	left: 1rem;
	top: 1rem;
}

/* VG 06 ÃÂ¢ÃÂÃÂ Final CTA message bubble */
.agm-vg-final-cta {
	border-top: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-vg-final-cta { padding: 8rem 0; } }
.agm-vg-final-cta-intro {
	margin: 0 auto;
	max-width: 42rem;
	text-align: center;
}
.agm-vg-final-cta-body { text-align: center; }
.agm-vg-bubble {
	position: relative;
	margin: 3rem auto 0;
	max-width: 42rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 2rem;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.3);
}
@media (min-width: 640px) {
	.agm-vg-bubble { padding: 2.5rem; }
}
.agm-vg-bubble-tail {
	position: absolute;
	right: 3rem;
	bottom: -9px;
	height: 1.25rem;
	width: 1.25rem;
	transform: rotate(45deg);
	border-right: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
}
.agm-vg-bubble-text {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 300;
	line-height: 1.6;
	color: #022e56;
}
.agm-vg-bubble-blank {
	border-bottom: 2px dashed rgba(29, 141, 167, 0.6);
	padding: 0 0.25rem;
	color: #94a3b8;
}
.agm-vg-bubble-note {
	margin: 1.25rem 0 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}

/* ==========================================================================
   Boat Glass (agm-bg-*)
   ========================================================================== */

/* BG 01 ÃÂ¢ÃÂÃÂ Coastal elements stress panel */
.agm-bg-elements {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-elements { padding: 8rem 0; } }
.agm-bg-elements-panel {
	position: relative;
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 3.5rem 2rem;
}
@media (min-width: 640px) {
	.agm-bg-elements-panel { padding: 3.5rem 3.5rem; }
}
.agm-bg-elements-pane {
	position: relative;
	margin: 0 auto;
	height: 11rem;
	width: 8rem;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.5));
	box-shadow: 0 10px 15px rgba(2, 46, 86, 0.1);
}
@media (min-width: 640px) {
	.agm-bg-elements-pane { height: 13rem; width: 10rem; }
}
.agm-bg-elements-pane-pulse {
	position: absolute;
	inset: 0;
	border: 2px solid rgba(29, 141, 167, 0.2);
	animation: agm-bg-pane-pulse 2s ease-in-out infinite;
}
@keyframes agm-bg-pane-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}
.agm-bg-elements-chip {
	position: absolute;
	border: 1px solid #cbd5e1;
	background: #fff;
	padding: 0.375rem 0.75rem;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #022e56;
}
.agm-bg-elements-chip--tl { left: 1rem; top: 1rem; }
.agm-bg-elements-chip--tr { right: 1rem; top: 1rem; }
.agm-bg-elements-chip--bl { left: 1rem; bottom: 1rem; }
.agm-bg-elements-chip--br { right: 1rem; bottom: 1rem; }
@media (min-width: 640px) {
	.agm-bg-elements-chip--tl { left: 1.5rem; top: 1.5rem; }
	.agm-bg-elements-chip--tr { right: 1.5rem; top: 1.5rem; }
	.agm-bg-elements-chip--bl { left: 1.5rem; bottom: 1.5rem; }
	.agm-bg-elements-chip--br { right: 1.5rem; bottom: 1.5rem; }
}
.agm-bg-elements-caption { margin-top: 1.25rem; letter-spacing: 0.2em; }

/* BG 02 ÃÂ¢ÃÂÃÂ Helm line-of-sight diagram */
.agm-bg-helm {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-helm { padding: 8rem 0; } }

/* BG 03 ÃÂ¢ÃÂÃÂ Photo + ruler frames */
.agm-bg-photos {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-photos { padding: 8rem 0; } }
@media (min-width: 1024px) {
	.agm-bg-photos-visual { order: -1; }
}
.agm-bg-photos-stack {
	position: relative;
	margin: 0 auto;
	max-width: 24rem;
	padding-bottom: 2.5rem;
	padding-right: 1.5rem;
}
.agm-bg-photos-frame {
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 0.75rem;
	box-shadow: 0 10px 15px rgba(2, 46, 86, 0.1);
}
.agm-bg-photos-frame--photo { transform: rotate(-2deg); }
.agm-bg-photos-frame--ruler {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 11rem;
	transform: rotate(3deg);
}
.agm-bg-photos-frame-inner {
	display: flex;
	aspect-ratio: 4 / 3;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	border: 1px dashed #cbd5e1;
	background: #f0f4f4;
}
.agm-bg-photos-icon { color: #1d8da7; height: 1.5rem; width: 1.5rem; }
.agm-bg-photos-frame-label {
	padding: 0 1rem;
	text-align: center;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}
.agm-bg-photos-ruler {
	display: flex;
	height: 1.5rem;
	align-items: flex-end;
	justify-content: space-between;
	border-bottom: 1px solid #cbd5e1;
	padding-bottom: 0.25rem;
}
.agm-bg-photos-tick {
	width: 1px;
	height: 0.5rem;
	background: #94a3b8;
}
.agm-bg-photos-tick--major { height: 0.875rem; }
.agm-bg-photos-ruler-label {
	margin: 0.5rem 0 0;
	text-align: center;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}

/* BG 04 ÃÂ¢ÃÂÃÂ Porthole band */
.agm-bg-porthole {
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	background: #f0f4f4;
}
.agm-bg-porthole-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
	padding: 4rem 0;
}
@media (min-width: 640px) {
	.agm-bg-porthole-inner { padding: 5rem 0; }
}
@media (min-width: 1024px) {
	.agm-bg-porthole-inner {
		flex-direction: row;
		gap: 4rem;
	}
}
.agm-bg-porthole-visual {
	position: relative;
	height: 10rem;
	width: 10rem;
	flex-shrink: 0;
}
.agm-bg-porthole-glass {
	position: absolute;
	inset: 0;
	border: 8px solid #cbd5e1;
	border-radius: 9999px;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.8), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.6));
	box-shadow: inset 0 2px 4px rgba(2, 46, 86, 0.08);
}
.agm-bg-porthole-bolt-arm {
	position: absolute;
	inset: 0;
}
.agm-bg-porthole-bolt {
	position: absolute;
	left: 50%;
	top: -4px;
	height: 0.625rem;
	width: 0.625rem;
	transform: translateX(-50%);
	border-radius: 9999px;
	background: #94a3b8;
	box-shadow: 0 1px 2px rgba(2, 46, 86, 0.15);
}
.agm-bg-porthole-body { max-width: 42rem; }

/* BG 05 ÃÂ¢ÃÂÃÂ Cutting bench shapes */
.agm-bg-cutting {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-cutting { padding: 8rem 0; } }
.agm-bg-cutting-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-bg-cutting-body { text-align: center; }
.agm-bg-cutting-bench {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	margin: 4rem auto 0;
	max-width: 56rem;
}
@media (min-width: 640px) {
	.agm-bg-cutting-bench { grid-template-columns: repeat(4, 1fr); }
}
.agm-bg-cutting-surface {
	display: flex;
	height: 7rem;
	align-items: flex-end;
	justify-content: center;
	border-bottom: 2px solid #cbd5e1;
}
.agm-bg-cutting-blank {
	display: block;
	background: linear-gradient(135deg, #aedae6, rgba(255, 255, 255, 0.6), rgba(63, 169, 196, 0.5));
	box-shadow: 0 10px 24px -10px rgba(2, 46, 86, 0.4);
}
.agm-bg-cutting-blank--curves {
	height: 5rem;
	width: 6rem;
	clip-path: polygon(0 100%, 0 30%, 25% 0, 75% 0, 100% 30%, 100% 100%);
}
.agm-bg-cutting-blank--angles {
	height: 5rem;
	width: 6rem;
	clip-path: polygon(20% 0, 100% 0, 80% 100%, 0 100%);
}
.agm-bg-cutting-blank--narrow {
	height: 5rem;
	width: 3.5rem;
	clip-path: polygon(30% 0, 70% 0, 70% 100%, 30% 100%);
}
.agm-bg-cutting-blank--mounts {
	height: 5rem;
	width: 6rem;
	clip-path: polygon(50% 0, 100% 35%, 85% 100%, 15% 100%, 0 35%);
}
.agm-bg-cutting-label {
	margin: 0;
	padding-top: 1rem;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #475569;
}
.agm-bg-cutting-outro {
	margin: 3.5rem auto 0;
	max-width: 48rem;
	text-align: center;
}

/* BG 06 ÃÂ¢ÃÂÃÂ Custom bending diagram */
.agm-bg-bending {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-bending { padding: 8rem 0; } }

/* BG 07 ÃÂ¢ÃÂÃÂ Materials chip strip */
.agm-bg-materials {
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	background: #cce8f3;
}
.agm-bg-materials-inner {
	display: grid;
	align-items: center;
	gap: 2rem;
	padding: 3.5rem 0;
}
@media (min-width: 640px) {
	.agm-bg-materials-inner { padding: 4rem 0; }
}
@media (min-width: 1024px) {
	.agm-bg-materials-inner { grid-template-columns: 1fr auto; }
}
.agm-bg-materials-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
}
@media (min-width: 640px) {
	.agm-bg-materials-heading { font-size: 1.875rem; }
}
.agm-bg-materials-body {
	margin-top: 1.25rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}
@media (min-width: 640px) {
	.agm-bg-materials-body { font-size: 1rem; }
}
.agm-bg-materials-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
@media (min-width: 1024px) {
	.agm-bg-materials-chips {
		flex-direction: column;
		align-items: flex-end;
	}
}
.agm-bg-materials-chip {
	padding: 0.75rem 1.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}
.agm-bg-materials-chip--outline {
	border: 1px solid rgba(2, 46, 86, 0.2);
	background: #fff;
	color: #022e56;
}
.agm-bg-materials-chip--solid {
	background: #1d8da7;
	color: #fff;
}

/* BG 08 ÃÂ¢ÃÂÃÂ Hard-to-find flow cards */
.agm-bg-hard {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-hard { padding: 8rem 0; } }
.agm-bg-hard-flow {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
}
@media (min-width: 640px) {
	.agm-bg-hard-flow { flex-direction: row; gap: 1.5rem; }
}
.agm-bg-hard-card {
	width: 100%;
	padding: 1.75rem;
	text-align: center;
}
@media (min-width: 640px) {
	.agm-bg-hard-card { flex: 1 1 0; }
}
.agm-bg-hard-card--from {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
}
.agm-bg-hard-card--to {
	border: 2px solid #1d8da7;
	background: #fff;
	box-shadow: 0 20px 45px -20px rgba(29, 141, 167, 0.4);
}
.agm-bg-hard-card-icon {
	display: block;
	margin: 0 auto;
	color: #94a3b8;
}
.agm-bg-hard-card-check {
	display: flex;
	height: 1.75rem;
	width: 1.75rem;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	border-radius: 9999px;
	background: #1d8da7;
	color: #fff;
}
.agm-bg-hard-card-title {
	margin: 1rem 0 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
.agm-bg-hard-card--to .agm-bg-hard-card-title { color: #022e56; }
.agm-bg-hard-card-note {
	margin: 0.375rem 0 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #94a3b8;
}
.agm-bg-hard-card-note--teal { color: #1d8da7; }
.agm-bg-hard-arrow {
	flex-shrink: 0;
	color: #1d8da7;
	transform: rotate(90deg);
}
@media (min-width: 640px) {
	.agm-bg-hard-arrow { transform: none; }
}

/* BG 09 ÃÂ¢ÃÂÃÂ Fanned project-type cards */
.agm-bg-projects {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-projects { padding: 8rem 0; } }
.agm-bg-projects-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-bg-projects-fan {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	margin: 4rem auto 0;
	max-width: 42rem;
}
@media (min-width: 1024px) {
	.agm-bg-projects-fan {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		height: 16rem;
		gap: 0;
	}
}
.agm-bg-projects-card {
	display: flex;
	width: 14rem;
	flex-direction: column;
	align-items: center;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 2.5rem 1.5rem;
	box-shadow: 0 20px 45px -20px rgba(2, 46, 86, 0.3);
	transition: transform 0.5s;
}
.agm-bg-projects-card--1 { transform: rotate(-6deg); }
.agm-bg-projects-card--2 { z-index: 1; }
.agm-bg-projects-card--3 { transform: rotate(6deg); }
@media (min-width: 1024px) {
	.agm-bg-projects-card--1 { transform: rotate(-6deg) translateX(-5rem); }
	.agm-bg-projects-card--3 { transform: rotate(6deg) translateX(5rem); }
	.agm-bg-projects-fan:hover .agm-bg-projects-card--1 {
		transform: rotate(-12deg) translateX(-7rem);
	}
	.agm-bg-projects-fan:hover .agm-bg-projects-card--2 {
		transform: translateY(-0.75rem);
	}
	.agm-bg-projects-fan:hover .agm-bg-projects-card--3 {
		transform: rotate(12deg) translateX(7rem);
	}
}
.agm-bg-projects-card-icon {
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(29, 141, 167, 0.4);
	color: #1d8da7;
}
.agm-bg-projects-card-label {
	margin: 1.25rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #022e56;
}
.agm-bg-projects-outro {
	margin: 4rem auto 0;
	max-width: 48rem;
	text-align: center;
}
.agm-bg-projects-body + .agm-bg-projects-body { margin-top: 1rem; }

/* BG 10 ÃÂ¢ÃÂÃÂ Clipboard quote checklist */
.agm-bg-checklist {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-checklist { padding: 8rem 0; } }
.agm-bg-clipboard {
	position: relative;
	margin: 0 auto;
	max-width: 28rem;
}
.agm-bg-clipboard-clip {
	position: absolute;
	top: -1rem;
	left: 50%;
	z-index: 1;
	height: 2rem;
	width: 6rem;
	transform: translateX(-50%);
	border-radius: 0.125rem;
	background: #1d8da7;
	box-shadow: 0 4px 6px rgba(2, 46, 86, 0.15);
}
.agm-bg-clipboard-board {
	border: 1px solid #cbd5e1;
	background: #fff;
	padding-top: 2.5rem;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.35);
}
.agm-bg-clipboard-title {
	margin: 0;
	border-bottom: 1px solid #e2e8f0;
	padding: 0 1.5rem 1rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #022e56;
}
@media (min-width: 640px) {
	.agm-bg-clipboard-title { padding: 0 2rem 1rem; }
}
.agm-bg-clipboard-list {
	margin: 0;
	padding: 0 1.5rem 1rem;
	list-style: none;
}
@media (min-width: 640px) {
	.agm-bg-clipboard-list { padding: 0 2rem 1rem; }
}
.agm-bg-clipboard-item {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	border-bottom: 1px solid #f1f5f9;
	padding: 0.875rem 0;
}
.agm-bg-clipboard-item:last-child { border-bottom: 0; }
.agm-bg-clipboard-num {
	flex-shrink: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #1d8da7;
}
.agm-bg-clipboard-text {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.6;
	letter-spacing: 0.06em;
	color: #475569;
}
@media (min-width: 640px) {
	.agm-bg-clipboard-text { font-size: 0.875rem; }
}

/* BG 11 ÃÂ¢ÃÂÃÂ Giant vehicle link band */
.agm-bg-vehicle-link {
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
}
.agm-bg-vehicle-link-inner {
	padding: 4rem 0;
}
@media (min-width: 640px) {
	.agm-bg-vehicle-link-inner { padding: 5rem 0; }
}
.agm-bg-vehicle-link-body {
	margin: 0;
	max-width: 48rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-bg-vehicle-link-anchor {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-top: 2.5rem;
	text-decoration: none;
	color: inherit;
}
.agm-bg-vehicle-link-label {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 4vw, 3rem);
	font-weight: 300;
	text-transform: uppercase;
	line-height: 1.15;
	letter-spacing: 0.04em;
	color: #022e56;
	transition: color 0.3s;
}
@media (min-width: 640px) {
	.agm-bg-vehicle-link-label { font-size: 3rem; }
}
.agm-bg-vehicle-link-anchor:hover .agm-bg-vehicle-link-label { color: #1d8da7; }
.agm-bg-vehicle-link-arrow {
	display: flex;
	height: 3rem;
	width: 3rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid #cbd5e1;
	color: #022e56;
	transition: background 0.3s, border-color 0.3s, color 0.3s;
}
@media (min-width: 640px) {
	.agm-bg-vehicle-link-arrow { height: 4rem; width: 4rem; }
}
.agm-bg-vehicle-link-anchor:hover .agm-bg-vehicle-link-arrow {
	border-color: #1d8da7;
	background: #1d8da7;
	color: #fff;
}
.agm-bg-vehicle-link-anchor:hover .agm-bg-vehicle-link-arrow .agm-icon {
	transform: translateX(0.25rem);
}

/* BG 12 ÃÂ¢ÃÂÃÂ Ports-of-call itinerary */
.agm-bg-ports {
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-ports { padding: 8rem 0; } }
.agm-bg-ports-list {
	position: relative;
	margin: 0;
	padding: 0 0 0 2.25rem;
	list-style: none;
	border-left: 2px dashed rgba(29, 141, 167, 0.4);
}
.agm-bg-ports-item { position: relative; }
.agm-bg-ports-item + .agm-bg-ports-item { margin-top: 1.75rem; }
.agm-bg-ports-anchor {
	position: absolute;
	left: -3.05rem;
	display: flex;
	height: 1.75rem;
	width: 1.75rem;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	background: #1d8da7;
	color: #fff;
	box-shadow: 0 4px 6px rgba(2, 46, 86, 0.15);
}
.agm-bg-ports-dot {
	position: absolute;
	left: -2.6rem;
	height: 1rem;
	width: 1rem;
	border: 2px solid #1d8da7;
	border-radius: 9999px;
	background: #fff;
}
.agm-bg-ports-name {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}
@media (min-width: 640px) {
	.agm-bg-ports-name { font-size: 1rem; }
}
.agm-bg-ports-name--muted { color: #475569; }
.agm-bg-ports-badge {
	margin-left: 0.75rem;
	background: #022e56;
	padding: 0.125rem 0.5rem;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #fff;
}
.agm-bg-ports-tail {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #64748b;
}

/* BG 13 ÃÂ¢ÃÂÃÂ Horizon gradient final CTA */
.agm-bg-final-cta {
	border-top: 1px solid #e2e8f0;
	background: linear-gradient(180deg, #ffffff 0%, #eaf6fb 45%, #bfe3ef 100%);
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-bg-final-cta { padding: 8rem 0; } }
.agm-bg-final-cta-inner {
	margin: 0 auto;
	max-width: 42rem;
	text-align: center;
}
.agm-bg-final-cta-body { text-align: center; }

/* Layout wrappers (structural hooks used in PHP markup) */
.agm-rv-road-copy,
.agm-rv-crack-copy,
.agm-rv-traits-copy,
.agm-rv-elevation-copy,
.agm-rv-leak-copy,
.agm-rv-serving-copy,
.agm-vg-zones-copy,
.agm-vg-rv-copy,
.agm-vg-boat-copy,
.agm-bg-elements-copy,
.agm-bg-helm-copy,
.agm-bg-photos-copy,
.agm-bg-porthole-copy,
.agm-bg-bending-copy,
.agm-bg-hard-copy,
.agm-bg-checklist-copy,
.agm-bg-ports-copy { min-width: 0; }

/* ==========================================================================
   About / Gallery / Contact / Blog / Custom Mirrors / Frameless / Window Glass
   Service Areas (remaining) / Shower Doors
   Appended after CD/CG and RV/VG/BG ÃÂ¢ÃÂÃÂ do not rewrite earlier blocks.
   ========================================================================== */
/* ==========================================================================
   About page (agm-about-*)
   ========================================================================== */

/* Shared about headings */
.agm-about-directory-heading,
.agm-about-credentials-heading,
.agm-about-counties-heading,
.agm-about-business-card-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.agm-about-directory-heading,
	.agm-about-credentials-heading,
	.agm-about-counties-heading,
	.agm-about-business-card-heading { font-size: 2.25rem; }
}
.agm-about-directory-heading { color: #fff; }

/* --------------------------------------------------------------------------
   About ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Glass directory
   -------------------------------------------------------------------------- */
.agm-about-directory {
	position: relative;
	overflow: hidden;
	background: #022e56;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-about-directory { padding: 8rem 0; } }
.agm-about-directory-dots {
	pointer-events: none;
	position: absolute;
	inset: 0;
	opacity: 0.15;
	background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 22px 22px;
}
.agm-about-directory-sheen {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: -25%;
	width: 50%;
	height: 100%;
	transform: skewX(-12deg);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
}
.agm-about-directory-inner { position: relative; }
.agm-about-directory-intro {
	display: grid;
	gap: 2.5rem;
}
@media (min-width: 1024px) {
	.agm-about-directory-intro {
		grid-template-columns: 1fr 1fr;
		align-items: end;
		gap: 2.5rem;
	}
}
.agm-about-directory-heading { margin-top: 1rem; }
.agm-about-directory-body {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.7);
}
.agm-about-directory-body + .agm-about-directory-body { margin-top: 1rem; }

.agm-about-panes {
	position: relative;
	margin-top: 4rem;
}
@media (min-width: 640px) { .agm-about-panes { margin-top: 5rem; } }
.agm-about-panes-grid {
	display: grid;
}
@media (min-width: 640px) { .agm-about-panes-grid { grid-template-columns: 1fr 1fr; } }

.agm-about-pane {
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.04);
	padding: 2rem;
	backdrop-filter: blur(4px);
}
@media (min-width: 640px) { .agm-about-pane { padding: 2.5rem; } }
@media (min-width: 1024px) { .agm-about-pane { padding: 3rem; } }
.agm-about-pane--left {
	border-bottom: 0;
}
@media (min-width: 640px) {
	.agm-about-pane--left {
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
		border-right: 0;
	}
}
.agm-about-pane-edge {
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
}
.agm-about-pane-bolt {
	position: absolute;
	height: 0.375rem;
	width: 0.375rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.25);
}
.agm-about-pane-bolt--tl { top: 0.75rem; left: 0.75rem; }
.agm-about-pane-bolt--tr { top: 0.75rem; right: 0.75rem; }
.agm-about-pane-bolt--bl { bottom: 0.75rem; left: 0.75rem; }
.agm-about-pane-bolt--br { bottom: 0.75rem; right: 0.75rem; }
.agm-about-pane-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}
.agm-about-pane-title {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #fff;
}
.agm-about-pane-count {
	flex-shrink: 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #3fa9c4;
}
.agm-about-pane-rule {
	display: block;
	margin-top: 1rem;
	height: 1px;
	width: 3rem;
	background: #1d8da7;
}
.agm-about-pane-list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}
.agm-about-pane-row {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding: 0.875rem 0;
	transition: background-color 0.3s;
}
.agm-about-pane-row:last-child { border-bottom: 0; }
.agm-about-pane-row:hover { background: rgba(255, 255, 255, 0.05); }
.agm-about-pane-index {
	flex-shrink: 0;
	width: 2.5rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: rgba(63, 169, 196, 0.8);
}
.agm-about-pane-text {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.7);
	transition: color 0.3s;
}
.agm-about-pane-row:hover .agm-about-pane-text { color: #fff; }
.agm-about-pane-diamond {
	margin-left: auto;
	flex-shrink: 0;
	height: 0.375rem;
	width: 0.375rem;
	transform: rotate(45deg);
	background: #3fa9c4;
	opacity: 0;
	transition: opacity 0.3s;
}
.agm-about-pane-row:hover .agm-about-pane-diamond { opacity: 1; }

.agm-about-patch {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
}
.agm-about-patch-disc {
	position: relative;
	display: flex;
	height: 3.5rem;
	width: 3.5rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: linear-gradient(135deg, #f1f5f9, #94a3b8, #475569);
	box-shadow: 0 10px 30px rgba(1, 21, 40, 0.6);
}
@media (min-width: 640px) {
	.agm-about-patch-disc { height: 4rem; width: 4rem; }
}
.agm-about-patch-core {
	height: 1.25rem;
	width: 1.25rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	background: #022e56;
}
.agm-about-patch-bolt {
	position: absolute;
	height: 0.25rem;
	width: 0.25rem;
	border-radius: 999px;
	background: rgba(2, 46, 86, 0.7);
}
.agm-about-patch-bolt--tl { top: 0.375rem; left: 0.375rem; }
.agm-about-patch-bolt--tr { top: 0.375rem; right: 0.375rem; }
.agm-about-patch-bolt--bl { bottom: 0.375rem; left: 0.375rem; }
.agm-about-patch-bolt--br { bottom: 0.375rem; right: 0.375rem; }

/* --------------------------------------------------------------------------
   About ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Credentials
   -------------------------------------------------------------------------- */
.agm-about-credentials {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-about-credentials { padding: 8rem 0; } }
.agm-about-credentials-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-about-credentials-grid {
		grid-template-columns: 1fr 380px;
		gap: 5rem;
	}
}
.agm-about-credentials-heading { margin-top: 1rem; }
.agm-about-credentials-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-about-credentials-body + .agm-about-credentials-body { margin-top: 1rem; }

.agm-about-stat {
	background: #022e56;
	padding: 2.5rem;
	text-align: center;
}
@media (min-width: 640px) { .agm-about-stat { padding: 3rem; } }
.agm-about-stat-icon {
	display: block;
	margin: 0 auto;
	height: 2.5rem;
	width: 2.5rem;
	color: #3fa9c4;
}
.agm-about-stat-value {
	margin: 1.5rem 0 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(3.5rem, 8vw, 4.5rem);
	font-weight: 800;
	line-height: 1;
	color: #fff;
}
.agm-about-stat-label {
	margin: 0.75rem 0 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #3fa9c4;
}
.agm-about-stat-rule {
	display: block;
	margin: 1.5rem auto 0;
	height: 1px;
	width: 3rem;
	background: rgba(255, 255, 255, 0.2);
}
.agm-about-stat-note {
	margin: 1.5rem 0 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: rgba(255, 255, 255, 0.5);
}

.agm-about-credential-cards {
	display: grid;
	gap: 1.5rem;
	margin-top: 3.5rem;
}
@media (min-width: 640px) {
	.agm-about-credential-cards { grid-template-columns: repeat(3, 1fr); }
}
.agm-about-credential {
	position: relative;
	height: 100%;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 2.5rem 1.5rem 2rem;
	text-align: center;
	box-shadow: 0 1px 2px rgba(2, 46, 86, 0.06);
}
.agm-about-credential-punch {
	position: absolute;
	left: 50%;
	top: 0.75rem;
	height: 0.75rem;
	width: 0.75rem;
	transform: translateX(-50%);
	border-radius: 999px;
	border: 1px solid #cbd5e1;
	background: #f0f4f4;
}
.agm-about-credential-icon {
	display: flex;
	height: 3rem;
	width: 3rem;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	border: 1px solid rgba(29, 141, 167, 0.4);
	color: #1d8da7;
}
.agm-about-credential-label {
	margin: 1.25rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #022e56;
}
.agm-about-credential-note {
	margin: 0.5rem 0 0;
	font-size: 0.75rem;
	line-height: 1.625;
	color: #64748b;
}

/* --------------------------------------------------------------------------
   About ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Counties
   -------------------------------------------------------------------------- */
.agm-about-counties {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-about-counties { padding: 8rem 0; } }
.agm-about-counties-intro { max-width: 48rem; }
.agm-about-counties-heading { margin-top: 1rem; }
.agm-about-counties-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-about-counties-grid {
	display: grid;
	gap: 1.5rem;
	margin-top: 3.5rem;
}
@media (min-width: 768px) {
	.agm-about-counties-grid { grid-template-columns: repeat(3, 1fr); }
}
.agm-about-county {
	height: 100%;
	background: #fff;
	padding: 2rem;
	border: 1px solid #e2e8f0;
}
.agm-about-county--home {
	border: 2px solid #1d8da7;
	box-shadow: 0 20px 45px -20px rgba(29, 141, 167, 0.4);
}
.agm-about-county-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}
.agm-about-county-name {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.5rem;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #022e56;
}
.agm-about-county-tag {
	background: #1d8da7;
	padding: 0.125rem 0.5rem;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #fff;
}
.agm-about-county-rule { margin-top: 1.25rem; }
.agm-about-county-list {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}
.agm-about-county-town {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #475569;
}
.agm-about-county-town:first-child { margin-top: 0; }
.agm-about-county-diamond {
	flex-shrink: 0;
	height: 0.25rem;
	width: 0.25rem;
	transform: rotate(45deg);
	background: #1d8da7;
}

/* --------------------------------------------------------------------------
   About ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Business card CTA
   -------------------------------------------------------------------------- */
.agm-about-business-card {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-about-business-card { padding: 8rem 0; } }
.agm-about-business-card-intro {
	margin: 0 auto;
	max-width: 42rem;
	text-align: center;
}
.agm-about-business-card-heading { margin-top: 1rem; }
.agm-about-business-card-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-about-card {
	margin: 3.5rem auto 0;
	max-width: 42rem;
	background: #022e56;
	padding: 2.5rem;
	text-align: center;
	box-shadow: 0 40px 80px -40px rgba(2, 46, 86, 0.6);
	transition: transform 0.5s;
}
@media (min-width: 640px) { .agm-about-card { padding: 3.5rem; } }
.agm-about-card:hover { transform: translateY(-0.5rem); }
.agm-about-card-logo {
	display: block;
	margin: 0 auto;
	height: 3.5rem;
	width: auto;
}
@media (min-width: 640px) { .agm-about-card-logo { height: 4rem; } }
.agm-about-card-tagline {
	margin: 1.25rem 0 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #3fa9c4;
}
.agm-about-card-rule {
	display: block;
	margin: 1.75rem auto 0;
	height: 1px;
	width: 4rem;
	background: rgba(255, 255, 255, 0.2);
}
.agm-about-card-phone {
	display: block;
	margin-top: 1.75rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 4vw, 2.25rem);
	font-weight: 300;
	letter-spacing: 0.03em;
	color: #fff;
	text-decoration: none;
	transition: color 0.3s;
}
.agm-about-card-phone:hover { color: #3fa9c4; }
.agm-about-card-email {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.75rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	transition: color 0.3s;
}
.agm-about-card-email:hover { color: #3fa9c4; }
.agm-about-card-address {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 1.25rem 0 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: rgba(255, 255, 255, 0.45);
}
.agm-about-card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 3rem;
}

/* ==========================================================================
   Gallery (agm-gallery-*)
   ========================================================================== */

/* Shared gallery headings */
.agm-gallery-archive-heading,
.agm-gallery-craft-heading,
.agm-gallery-frame-cta-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.agm-gallery-archive-heading,
	.agm-gallery-craft-heading,
	.agm-gallery-frame-cta-heading { font-size: 2.25rem; }
}
.agm-gallery-craft-heading { color: #fff; }

/* --------------------------------------------------------------------------
   Gallery ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Filter rail
   -------------------------------------------------------------------------- */
.agm-gallery-filter {
	background: #022e56;
	padding: 1.75rem 0;
}
.agm-gallery-perf {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0 1.25rem;
}
.agm-gallery-perf-hole {
	flex-shrink: 0;
	height: 0.625rem;
	width: 1rem;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.15);
}
.agm-gallery-filter-scroll {
	margin-top: 1.5rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.agm-gallery-filter-row {
	display: flex;
	min-width: max-content;
	align-items: stretch;
	gap: 0.75rem;
	padding: 0 1.25rem;
}
.agm-gallery-filter-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.05);
	padding: 1rem 1.75rem;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.3s, background 0.3s, color 0.3s;
	color: rgba(255, 255, 255, 0.75);
}
.agm-gallery-filter-btn:hover {
	border-color: rgba(255, 255, 255, 0.5);
	color: #fff;
}
.agm-gallery-filter-btn.is-active {
	border-color: #1d8da7;
	background: #1d8da7;
	color: #fff;
}
.agm-gallery-filter-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
}
.agm-gallery-filter-count {
	margin-top: 0.375rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #3fa9c4;
}
.agm-gallery-filter-btn.is-active .agm-gallery-filter-count { color: rgba(255, 255, 255, 0.8); }

/* --------------------------------------------------------------------------
   Gallery ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Archive grid
   -------------------------------------------------------------------------- */
.agm-gallery-archive {
	scroll-margin-top: 6rem;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-gallery-archive { padding: 9rem 0; } }
.agm-gallery-archive-head {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	border-bottom: 1px solid rgba(2, 46, 86, 0.1);
	padding-bottom: 2rem;
}
@media (min-width: 640px) {
	.agm-gallery-archive-head {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}
.agm-gallery-archive-heading { margin-top: 1rem; }
.agm-gallery-archive-count {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}
.agm-gallery-grid {
	margin-top: 3.5rem;
	column-count: 1;
	column-gap: 2rem;
}
@media (min-width: 640px) { .agm-gallery-grid { column-count: 2; } }
@media (min-width: 1024px) { .agm-gallery-grid { column-count: 3; } }
.agm-gallery-cell {
	break-inside: avoid;
	margin-bottom: 2rem;
}
.agm-gallery-cell[hidden] { display: none !important; }
.agm-gallery-card {
	display: block;
	width: 100%;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 0.75rem 0.75rem 1rem;
	text-align: left;
	box-shadow: 0 1px 2px rgba(2, 46, 86, 0.06);
	cursor: pointer;
	transition: transform 0.3s, box-shadow 0.3s;
}
.agm-gallery-card:hover {
	transform: translateY(-0.25rem);
	box-shadow: 0 20px 25px -5px rgba(2, 46, 86, 0.1);
}
.agm-gallery-card-media {
	position: relative;
	display: block;
	overflow: hidden;
}
.agm-gallery-ratio--0 { aspect-ratio: 4 / 5; }
.agm-gallery-ratio--1 { aspect-ratio: 4 / 3; }
.agm-gallery-ratio--2 { aspect-ratio: 1 / 1; }
.agm-gallery-ratio--3 { aspect-ratio: 3 / 4; }
.agm-gallery-ratio--4 { aspect-ratio: 4 / 3; }
.agm-gallery-ratio--5 { aspect-ratio: 4 / 5; }
.elementor .agm-gallery-card-media img,
.agm-gallery-card-media img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
	transition: transform 0.7s;
}
.agm-gallery-card:hover .agm-gallery-card-media img { transform: scale(1.05); }
.agm-gallery-card-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(2, 46, 86, 0);
	opacity: 0;
	transition: background 0.3s, opacity 0.3s;
}
.agm-gallery-card:hover .agm-gallery-card-overlay {
	background: rgba(2, 46, 86, 0.35);
	opacity: 1;
}
.agm-gallery-card-expand {
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.95);
	color: #022e56;
}
.agm-gallery-card-meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.75rem;
	padding: 0 0.25rem;
}
.agm-gallery-card-cat {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #1d8da7;
}
.agm-gallery-card-num {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.75rem;
	font-weight: 300;
	letter-spacing: 0.08em;
	color: #94a3b8;
}
.agm-gallery-card-caption {
	display: block;
	margin-top: 0.25rem;
	padding: 0 0.25rem;
	font-size: 0.875rem;
	line-height: 1.375;
	color: #475569;
}
.agm-gallery-archive-empty {
	margin: 2rem 0 0;
	text-align: center;
	font-size: 0.875rem;
	color: #64748b;
}
.agm-gallery-archive-empty[hidden] { display: none !important; }

/* --------------------------------------------------------------------------
   Gallery ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Lightbox
   -------------------------------------------------------------------------- */
body.agm-gallery-lock { overflow: hidden; }
.agm-gallery-lightbox[hidden] { display: none !important; }
.agm-gallery-lightbox:not([hidden]) {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
}
.agm-gallery-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(1, 21, 40, 0.92);
}
.agm-gallery-lightbox-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 64rem;
}
.agm-gallery-lightbox-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}
.agm-gallery-lightbox-bar-left {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.agm-gallery-lightbox-counter {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.875rem;
	font-weight: 300;
	letter-spacing: 0.2em;
	color: rgba(255, 255, 255, 0.8);
}
.agm-gallery-lightbox-badge {
	background: #1d8da7;
	padding: 0.25rem 0.75rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #fff;
}
.agm-gallery-lightbox-close {
	display: flex;
	height: 2.5rem;
	width: 2.5rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	background: #fff;
	color: #022e56;
	cursor: pointer;
	transition: background 0.3s, color 0.3s;
}
.agm-gallery-lightbox-close:hover {
	background: #1d8da7;
	color: #fff;
}
.agm-gallery-lightbox-stage {
	position: relative;
	background: #fff;
	padding: 0.625rem;
}
@media (min-width: 640px) { .agm-gallery-lightbox-stage { padding: 1rem; } }
.elementor .agm-gallery-lightbox-stage img,
.agm-gallery-lightbox-stage img {
	display: block;
	width: 100%;
	max-height: 68vh;
	object-fit: contain;
}
.agm-gallery-lightbox-navs[hidden] { display: none !important; }
.agm-gallery-lightbox-nav {
	position: absolute;
	top: 50%;
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 0;
	background: rgba(2, 46, 86, 0.85);
	color: #fff;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background 0.3s;
}
.agm-gallery-lightbox-nav:hover { background: #1d8da7; }
.agm-gallery-lightbox-nav--prev { left: 1.25rem; }
.agm-gallery-lightbox-nav--next { right: 1.25rem; }
@media (min-width: 640px) {
	.agm-gallery-lightbox-nav--prev { left: 1.5rem; }
	.agm-gallery-lightbox-nav--next { right: 1.5rem; }
}
.agm-gallery-lightbox-caption {
	margin: 1rem 0 0;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #fff;
}

/* --------------------------------------------------------------------------
   Gallery ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Craft index
   -------------------------------------------------------------------------- */
.agm-gallery-craft {
	position: relative;
	overflow: hidden;
	background: #022e56;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-gallery-craft { padding: 8rem 0; } }
.agm-gallery-craft-ghost {
	position: absolute;
	top: -1.5rem;
	right: 0;
	pointer-events: none;
	user-select: none;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(4rem, 22vw, 13rem);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
}
.agm-gallery-craft-inner { position: relative; }
.agm-gallery-craft-intro { max-width: 42rem; }
.agm-gallery-craft-heading { margin-top: 1rem; }
.agm-gallery-craft-rows { margin-top: 3.5rem; }
.agm-gallery-craft-row {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding: 1.5rem 0;
	text-align: left;
	background: transparent;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
	cursor: pointer;
	transition: background-color 0.3s;
	color: inherit;
}
@media (min-width: 640px) { .agm-gallery-craft-row { padding: 1.75rem 0; } }
.agm-gallery-craft-row:hover,
.agm-gallery-craft-row.is-active { background: rgba(255, 255, 255, 0.05); }
.agm-gallery-craft-row-main {
	display: flex;
	align-items: baseline;
	gap: 1.25rem;
}
@media (min-width: 640px) { .agm-gallery-craft-row-main { gap: 2rem; } }
.agm-gallery-craft-num {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.875rem;
	font-weight: 300;
	letter-spacing: 0.15em;
	color: rgba(63, 169, 196, 0.8);
}
.agm-gallery-craft-label {
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.5rem, 4vw, 3rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.65);
	transition: color 0.3s, transform 0.3s;
}
@media (min-width: 1024px) { .agm-gallery-craft-label { font-size: 3rem; } }
.agm-gallery-craft-row:hover .agm-gallery-craft-label,
.agm-gallery-craft-row.is-active .agm-gallery-craft-label {
	color: #fff;
}
.agm-gallery-craft-row:hover .agm-gallery-craft-label { transform: translateX(0.5rem); }
.agm-gallery-craft-row-end {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 1rem;
}
.agm-gallery-craft-count {
	display: none;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: rgba(255, 255, 255, 0.45);
}
@media (min-width: 640px) { .agm-gallery-craft-count { display: block; } }
.agm-gallery-craft-arrow {
	display: flex;
	height: 2.5rem;
	width: 2.5rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.7);
	transition: border-color 0.3s, background 0.3s, color 0.3s;
}
.agm-gallery-craft-row:hover .agm-gallery-craft-arrow {
	border-color: #1d8da7;
	background: #1d8da7;
	color: #fff;
}
.agm-gallery-craft-rule {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* --------------------------------------------------------------------------
   Gallery ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Frame CTA
   -------------------------------------------------------------------------- */
.agm-gallery-frame-cta {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-gallery-frame-cta { padding: 9rem 0; } }
.agm-gallery-frame {
	position: relative;
	margin: 0 auto;
	max-width: 56rem;
	border: 2px solid rgba(2, 46, 86, 0.15);
	padding: 0.625rem;
}
@media (min-width: 640px) { .agm-gallery-frame { padding: 1rem; } }
.agm-gallery-frame-corner {
	position: absolute;
	height: 1.25rem;
	width: 1.25rem;
}
.agm-gallery-frame-corner--tl { top: -0.375rem; left: -0.375rem; border-top: 2px solid #1d8da7; border-left: 2px solid #1d8da7; }
.agm-gallery-frame-corner--tr { top: -0.375rem; right: -0.375rem; border-top: 2px solid #1d8da7; border-right: 2px solid #1d8da7; }
.agm-gallery-frame-corner--bl { bottom: -0.375rem; left: -0.375rem; border-bottom: 2px solid #1d8da7; border-left: 2px solid #1d8da7; }
.agm-gallery-frame-corner--br { bottom: -0.375rem; right: -0.375rem; border-bottom: 2px solid #1d8da7; border-right: 2px solid #1d8da7; }
.agm-gallery-frame-inner {
	border: 1px dashed rgba(29, 141, 167, 0.5);
	background: rgba(240, 244, 244, 0.5);
	padding: 4rem 1.5rem;
	text-align: center;
}
@media (min-width: 640px) { .agm-gallery-frame-inner { padding: 6rem 1.5rem; } }
.agm-gallery-frame-cta-heading {
	margin: 1.25rem auto 0;
	max-width: 42rem;
}
.agm-gallery-frame-cta-body {
	margin: 1.5rem auto 0;
	max-width: 36rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}
@media (min-width: 640px) { .agm-gallery-frame-cta-body { font-size: 1rem; } }
.agm-gallery-frame-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 2.5rem;
}
.agm-gallery-frame-footnote {
	margin: 1.5rem 0 0;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #94a3b8;
}

/* ==========================================================================
   Contact (agm-contact-*)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Contact ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Directory rows
   -------------------------------------------------------------------------- */
.agm-contact-directory {
	border-top: 1px solid #e2e8f0;
	background: #fff;
}
.agm-contact-row {
	display: block;
	border-bottom: 1px solid #e2e8f0;
	color: inherit;
	text-decoration: none;
}
.agm-contact-row-inner {
	display: grid;
	gap: 1rem;
	padding: 2.25rem 0;
	transition: background-color 0.3s;
}
@media (min-width: 640px) {
	.agm-contact-row-inner {
		grid-template-columns: 220px 1fr auto;
		align-items: center;
		padding: 2.75rem 0;
	}
}
.agm-contact-row:hover .agm-contact-row-inner { background: #022e56; }
.agm-contact-row-head {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.agm-contact-row-icon {
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid #cbd5e1;
	color: #1d8da7;
	transition: border-color 0.3s, color 0.3s;
}
.agm-contact-row:hover .agm-contact-row-icon {
	border-color: #3fa9c4;
	color: #3fa9c4;
}
.agm-contact-row-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #94a3b8;
	transition: color 0.3s;
}
.agm-contact-row:hover .agm-contact-row-label { color: #3fa9c4; }
.agm-contact-row-main { min-width: 0; }
.agm-contact-row-value {
	display: block;
	overflow-wrap: anywhere;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.25rem;
	font-weight: 300;
	letter-spacing: 0.02em;
	color: #022e56;
	transition: color 0.3s;
}
@media (min-width: 640px) { .agm-contact-row-value { font-size: 1.875rem; } }
.agm-contact-row:hover .agm-contact-row-value { color: #fff; }
.agm-contact-row-sub {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
	transition: color 0.3s;
}
.agm-contact-row:hover .agm-contact-row-sub { color: rgba(255, 255, 255, 0.6); }
.agm-contact-row-action {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #1d8da7;
	transition: color 0.3s;
}
.agm-contact-row:hover .agm-contact-row-action { color: #3fa9c4; }
.agm-contact-row-action .agm-icon { transition: transform 0.3s; }
.agm-contact-row:hover .agm-contact-row-action .agm-icon {
	transform: translate(0.125rem, -0.125rem);
}

/* --------------------------------------------------------------------------
   Contact ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Form section
   -------------------------------------------------------------------------- */
.agm-contact-form-section {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-contact-form-section { padding: 8rem 0; } }
.agm-contact-form-grid {
	display: grid;
	gap: 2.5rem;
}
@media (min-width: 1024px) {
	.agm-contact-form-grid {
		grid-template-columns: 1.1fr 0.9fr;
		gap: 4rem;
	}
}
.agm-contact-doc {
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: 0 30px 70px -35px rgba(2, 46, 86, 0.35);
}
.agm-contact-doc-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	background: #022e56;
	padding: 1rem 2rem;
}
@media (min-width: 640px) { .agm-contact-doc-head { padding: 1rem 2.5rem; } }
.agm-contact-doc-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #fff;
}
.agm-contact-doc-badge {
	background: #1d8da7;
	padding: 0.25rem 0.625rem;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #fff;
}
.agm-contact-doc-body { padding: 2.5rem 2rem; }
@media (min-width: 640px) { .agm-contact-doc-body { padding: 3rem 2.5rem; } }
.agm-contact-form-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.5rem;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.15;
	color: #022e56;
}
.agm-contact-form-intro {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	color: #64748b;
}
.agm-contact-fields {
	display: grid;
	gap: 1.5rem;
	margin-top: 2rem;
}
@media (min-width: 640px) { .agm-contact-fields { grid-template-columns: 1fr 1fr; } }
.agm-contact-field--wide { grid-column: 1 / -1; }
.agm-contact-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	color: #022e56;
}
.agm-contact-input {
	display: block;
	width: 100%;
	margin-top: 0.5rem;
	border: 1px solid #cbd5e1;
	background: #fff;
	padding: 0 1rem;
	font-size: 1rem;
	line-height: 1.5;
	color: #022e56;
	border-radius: 0;
	transition: border-color 0.2s;
}
.agm-contact-input:not(.agm-contact-textarea) { height: 3rem; }
.agm-contact-input:focus {
	outline: none;
	border-color: #1d8da7;
}
.agm-contact-input[aria-invalid="true"] { border-color: #dc2626; }
.agm-contact-textarea {
	min-height: 8rem;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	resize: vertical;
}
.agm-contact-select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23022e56' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	padding-right: 2.5rem;
}
.agm-contact-error {
	margin: 0.375rem 0 0;
	font-size: 0.75rem;
	font-weight: 600;
	color: #dc2626;
}
.agm-contact-error[hidden] { display: none !important; }
.agm-contact-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.agm-contact-submit { margin-top: 2rem; }
@media (min-width: 640px) { .agm-contact-submit { width: auto; } }

.agm-contact-form[hidden] { display: none !important; }
.agm-contact-success[hidden] { display: none !important; }
.agm-contact-success-mark {
	display: flex;
	height: 3.5rem;
	width: 3.5rem;
	align-items: center;
	justify-content: center;
	background: #1d8da7;
	color: #fff;
}
.agm-contact-success-mark .agm-icon { height: 1.75rem; width: 1.75rem; }
.agm-contact-success-heading {
	margin: 1rem 0 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.5rem;
	font-weight: 700;
	color: #022e56;
}
.agm-contact-success-body {
	margin: 1rem 0 0;
	max-width: 28rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-contact-success-phone {
	font-weight: 700;
	color: #1d8da7;
	text-decoration: none;
}
.agm-contact-success-phone:hover { color: #156e82; }
.agm-contact-reset { margin-top: 0.5rem; }

.agm-contact-aside {
	display: flex;
	height: 100%;
	flex-direction: column;
	gap: 1.5rem;
}
.agm-contact-emergency {
	display: flex;
	align-items: center;
	gap: 1rem;
	background: #022e56;
	padding: 1.25rem 1.5rem;
	color: inherit;
	text-decoration: none;
	transition: background-color 0.3s;
}
.agm-contact-emergency:hover { background: #011528; }
.agm-contact-emergency-icon {
	position: relative;
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(63, 169, 196, 0.5);
	color: #3fa9c4;
}
@keyframes agm-contact-ping {
	75%, 100% { transform: scale(2); opacity: 0; }
}
.agm-contact-emergency-ping {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: #1d8da7;
	opacity: 0.2;
	animation: agm-contact-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}
.agm-contact-emergency-copy { min-width: 0; flex: 1; }
.agm-contact-emergency-eyebrow {
	display: block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #3fa9c4;
}
.agm-contact-emergency-title {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #fff;
}
.agm-contact-emergency-phone {
	white-space: nowrap;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.125rem;
	font-weight: 300;
	letter-spacing: 0.03em;
	color: #fff;
	transition: color 0.3s;
}
.agm-contact-emergency:hover .agm-contact-emergency-phone { color: #3fa9c4; }

/* --------------------------------------------------------------------------
   Contact ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Map (standalone widget + form aside)
   -------------------------------------------------------------------------- */
.agm-contact-map {
	flex: 1;
	border: 1px solid #e2e8f0;
	background: #fff;
}
.agm-contact-map-frame {
	display: block;
	width: 100%;
	height: 18rem;
	border: 0;
}
@media (min-width: 1024px) { .agm-contact-map-frame { height: 22rem; } }
.agm-contact-map-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid #e2e8f0;
	padding: 1.25rem 1.5rem;
}
.agm-contact-map-label {
	margin: 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}
.agm-contact-map-address {
	margin: 0.25rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	color: #022e56;
}
.agm-contact-map-link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #1d8da7;
	text-decoration: none;
	transition: color 0.3s;
}
.agm-contact-map-link:hover { color: #156e82; }

/* --------------------------------------------------------------------------
   Contact ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ Reassurance strip
   -------------------------------------------------------------------------- */
.agm-contact-reassurance {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 3rem 0;
}
.agm-contact-reassurance-line {
	margin: 0;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	line-height: 2;
	color: #64748b;
}
.agm-contact-reassurance-diamond {
	display: inline-block;
	margin: 0 0.75rem;
	height: 0.375rem;
	width: 0.375rem;
	vertical-align: middle;
	transform: rotate(45deg);
	background: #1d8da7;
}


/* ==========================================================================
   Blog, Custom Mirrors, Frameless Doors, Window Glass, Service Areas
   Missing widget sections ÃÂÃÂ¢ÃÂ¢ÃÂÃÂ¬ÃÂ¢ÃÂÃÂ plain CSS (no Tailwind)
   ========================================================================== */

/* --- Shared utilities --- */
.agm-icon-xs {
	width: 0.875rem;
	height: 0.875rem;
	flex-shrink: 0;
}

/* Shared display headings */
.agm-cm-heading,
.agm-fl-difference-heading,
.agm-fl-measured-heading,
.agm-fl-options-heading,
.agm-fl-why-heading,
.agm-fl-better-view-heading,
.agm-fl-replacing-band-heading,
.agm-fl-right-fit-heading,
.agm-fl-serving-route-heading,
.agm-fl-planning-cta-heading,
.agm-wg-repair-heading,
.agm-wg-replacement-heading,
.agm-wg-glass-types-title,
.agm-wg-sealing-heading,
.agm-wg-broken-heading,
.agm-wg-vs-heading,
.agm-wg-serving-heading,
.agm-wg-final-cta-heading,
.agm-blog-feed-heading,
.agm-blog-related-heading,
.agm-blog-note-heading,
.agm-blog-post-cta-heading,
.agm-areas-county-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
	text-wrap: balance;
}
@media (min-width: 640px) {
	.agm-cm-heading,
	.agm-fl-difference-heading,
	.agm-fl-measured-heading,
	.agm-fl-options-heading,
	.agm-fl-why-heading,
	.agm-fl-better-view-heading,
	.agm-fl-replacing-band-heading,
	.agm-fl-right-fit-heading,
	.agm-fl-serving-route-heading,
	.agm-fl-planning-cta-heading,
	.agm-wg-repair-heading,
	.agm-wg-replacement-heading,
	.agm-wg-glass-types-title,
	.agm-wg-sealing-heading,
	.agm-wg-broken-heading,
	.agm-wg-vs-heading,
	.agm-wg-serving-heading,
	.agm-wg-final-cta-heading,
	.agm-blog-feed-heading,
	.agm-blog-related-heading,
	.agm-blog-note-heading,
	.agm-blog-post-cta-heading,
	.agm-areas-county-heading { font-size: 2.25rem; }
}

/* Image cover overrides */
.agm-blog-featured-media,
.agm-blog-row-thumb,
.agm-blog-related-thumb,
.agm-cm-vanity-arch,
.agm-fl-better-view-media,
.agm-wg-replacement-media,
.agm-areas-banner-img {
	position: relative;
	overflow: hidden;
}
.agm-blog-featured-media img,
.agm-blog-row-thumb img,
.agm-blog-related-thumb img,
.agm-cm-vanity-arch img,
.agm-fl-better-view-media img,
.agm-wg-replacement-media img,
.agm-areas-banner-img,
.elementor-widget-agm_blog_featured .agm-blog-featured-media img,
.elementor-widget-agm_blog_feed .agm-blog-row-thumb img,
.elementor-widget-agm_blog_related .agm-blog-related-thumb img,
.elementor-widget-agm_cm_vanity .agm-cm-vanity-arch img,
.elementor-widget-agm_fl_better_view .agm-fl-better-view-media img,
.elementor-widget-agm_wg_replacement .agm-wg-replacement-media img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center !important;
}

/* ==========================================================================
   BLOG (agm-blog-*)
   ========================================================================== */

/* Featured */
.agm-blog-featured {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-blog-featured { padding: 8rem 0; } }
.agm-blog-featured .eyebrow { display: block; }
.agm-blog-featured-card {
	display: grid;
	margin-top: 2rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 30px 70px -35px rgba(2, 46, 86, 0.3);
	transition: box-shadow 0.3s;
}
@media (min-width: 1024px) {
	.agm-blog-featured-card { grid-template-columns: 1.2fr 1fr; }
}
.agm-blog-featured-card:hover {
	box-shadow: 0 40px 80px -35px rgba(2, 46, 86, 0.45);
}
.agm-blog-featured-media {
	min-height: 16.25rem;
}
.agm-blog-featured-media img {
	transition: transform 0.7s;
}
.group:hover .agm-blog-featured-media img {
	transform: scale(1.05);
}
.agm-blog-featured-badge {
	position: absolute;
	left: 1.25rem;
	top: 1.25rem;
	z-index: 1;
	background: #022e56;
	padding: 0.375rem 0.75rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #fff;
}
.agm-blog-featured-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}
@media (min-width: 640px) { .agm-blog-featured-body { padding: 3rem; } }
.agm-blog-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
.agm-blog-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}
.agm-blog-meta-item--cat { color: #1d8da7; }
.agm-blog-featured-title {
	display: block;
	margin-top: 1.25rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.35;
	color: #022e56;
	transition: color 0.3s;
}
.group:hover .agm-blog-featured-title { color: #1d8da7; }
.agm-blog-featured-excerpt {
	display: block;
	margin-top: 1.25rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-blog-featured-read {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 2rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #1d8da7;
}
.agm-blog-featured-read .agm-icon { transition: transform 0.3s; }
.group:hover .agm-blog-featured-read .agm-icon { transform: translateX(4px); }

/* Feed */
.agm-blog-feed {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-blog-feed { padding: 8rem 0; } }
.agm-blog-feed-head {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
@media (min-width: 1024px) {
	.agm-blog-feed-head {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}
.agm-blog-feed-intro { max-width: 36rem; }
.agm-blog-feed-intro .eyebrow + .agm-blog-feed-heading { margin-top: 1rem; }
.agm-blog-feed-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.agm-blog-filter {
	border: 1px solid #cbd5e1;
	background: #fff;
	padding: 0.5rem 1rem;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #475569;
	cursor: pointer;
	transition: border-color 0.3s, background 0.3s, color 0.3s;
}
.agm-blog-filter:hover {
	border-color: #1d8da7;
	color: #1d8da7;
}
.agm-blog-filter.is-active {
	border-color: #1d8da7;
	background: #1d8da7;
	color: #fff;
}
.agm-blog-feed-list { margin-top: 3.5rem; }
.agm-blog-row {
	display: grid;
	gap: 1.5rem;
	border-top: 1px solid #cbd5e1;
	padding: 2rem 0;
	text-decoration: none;
	color: inherit;
	transition: background 0.3s;
}
@media (min-width: 640px) {
	.agm-blog-row {
		grid-template-columns: 120px 1fr auto;
		align-items: center;
		gap: 2.5rem;
		padding: 2.5rem 0;
	}
}
.agm-blog-row:hover { background: #fff; }
.agm-blog-row-thumb {
	display: block;
	height: 8rem;
	width: 100%;
	overflow: hidden;
}
@media (min-width: 640px) {
	.agm-blog-row-thumb { height: 7.5rem; width: 7.5rem; }
}
.agm-blog-row-thumb img { transition: transform 0.7s; }
.group:hover .agm-blog-row-thumb img { transform: scale(1.05); }
.agm-blog-row-copy { display: block; min-width: 0; }
.agm-blog-row-title {
	display: block;
	margin-top: 0.75rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.35;
	color: #022e56;
	transition: color 0.3s;
}
.group:hover .agm-blog-row-title { color: #1d8da7; }
.agm-blog-row-excerpt {
	display: block;
	margin-top: 0.5rem;
	max-width: 42rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}
.agm-blog-row-arrow {
	display: none;
	height: 3rem;
	width: 3rem;
	align-items: center;
	justify-content: center;
	border: 1px solid #cbd5e1;
	color: #022e56;
	transition: border-color 0.3s, background 0.3s, color 0.3s;
}
@media (min-width: 640px) { .agm-blog-row-arrow { display: flex; } }
.group:hover .agm-blog-row-arrow {
	border-color: #1d8da7;
	background: #1d8da7;
	color: #fff;
}
.group:hover .agm-blog-row-arrow .agm-icon {
	transform: translate(-2px, -2px);
	transition: transform 0.3s;
}
.agm-blog-feed-empty {
	margin: 0;
	padding: 2.5rem 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #64748b;
}
.agm-blog-feed-empty[hidden] { display: none !important; }

/* Note CTA */
.agm-blog-note-cta {
	border-top: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-blog-note-cta { padding: 8rem 0; } }
.agm-blog-note {
	margin: 0 auto;
	max-width: 42rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 2rem;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.35);
}
@media (min-width: 640px) { .agm-blog-note { padding: 3rem; } }
.agm-blog-note-heading { margin-top: 1rem; }
.agm-blog-note-body {
	margin: 1.25rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-blog-note-signature {
	margin: 1.5rem 0 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.125rem;
	font-weight: 300;
	font-style: italic;
	color: #64748b;
}
.agm-blog-note-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
}
.agm-blog-note-phone {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid #cbd5e1;
	padding-bottom: 0.125rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #022e56;
	text-decoration: none;
	transition: border-color 0.3s, color 0.3s;
}
.agm-blog-note-phone:hover {
	border-color: #1d8da7;
	color: #1d8da7;
}

/* Article */
.agm-blog-article {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 5rem 0;
}
@media (min-width: 640px) { .agm-blog-article { padding: 7rem 0; } }
.agm-blog-article-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-blog-article-grid {
		grid-template-columns: 260px 1fr;
		gap: 5rem;
	}
}
@media (min-width: 1024px) {
	.agm-blog-meta-rail {
		position: sticky;
		top: 8rem;
		align-self: start;
	}
}
.agm-blog-back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #1d8da7;
	text-decoration: none;
	transition: color 0.3s;
}
.agm-blog-back-link:hover { color: #156e82; }
.agm-blog-rail-meta {
	margin-top: 2rem;
	border-top: 1px solid #e2e8f0;
	padding-top: 2rem;
}
.agm-blog-rail-key {
	margin: 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #94a3b8;
}
.agm-blog-rail-key--spaced { margin-top: 1.25rem; }
.agm-blog-rail-value {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}
.agm-blog-rail-card {
	margin-top: 2rem;
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 1.5rem;
}
.agm-blog-rail-prompt {
	margin: 0;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #64748b;
}
.agm-blog-rail-phone {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.75rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #022e56;
	text-decoration: none;
	transition: color 0.3s;
}
.agm-blog-rail-phone:hover { color: #1d8da7; }
.agm-blog-rail-phone .agm-icon { color: #1d8da7; }
.agm-blog-article-lead {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 300;
	line-height: 1.6;
	color: rgba(2, 46, 86, 0.9);
}
.agm-blog-article-p {
	margin: 1.75rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
@media (min-width: 640px) { .agm-blog-article-p { font-size: 1.125rem; } }

/* Related */
.agm-blog-related {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 5rem 0;
}
@media (min-width: 640px) { .agm-blog-related { padding: 7rem 0; } }
.agm-blog-related .eyebrow + .agm-blog-related-heading { margin-top: 1rem; }
.agm-blog-related-grid {
	display: grid;
	gap: 1.5rem;
	margin-top: 3rem;
}
@media (min-width: 768px) { .agm-blog-related-grid { grid-template-columns: 1fr 1fr; } }
.agm-blog-related-card {
	display: flex;
	gap: 1.5rem;
	height: 100%;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1.25rem;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.3s;
}
.agm-blog-related-card:hover {
	box-shadow: 0 20px 45px -20px rgba(2, 46, 86, 0.3);
}
.agm-blog-related-thumb {
	display: block;
	height: 7rem;
	width: 6rem;
	flex-shrink: 0;
	overflow: hidden;
}
@media (min-width: 640px) {
	.agm-blog-related-thumb { height: 8rem; width: 8rem; }
}
.agm-blog-related-thumb img { transition: transform 0.7s; }
.group:hover .agm-blog-related-thumb img { transform: scale(1.05); }
.agm-blog-related-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}
.agm-blog-related-cat {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #1d8da7;
}
.agm-blog-related-title {
	display: block;
	margin-top: 0.5rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1rem, 2vw, 1.125rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.35;
	color: #022e56;
	transition: color 0.3s;
}
.group:hover .agm-blog-related-title { color: #1d8da7; }
.agm-blog-related-read {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.75rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #64748b;
}
.agm-blog-related-read .agm-icon { transition: transform 0.3s; }
.group:hover .agm-blog-related-read .agm-icon { transform: translateX(4px); }

/* Post CTA band */
.agm-blog-post-cta {
	position: relative;
	overflow: hidden;
	background: #022e56;
	padding: 4rem 0;
}
@media (min-width: 640px) { .agm-blog-post-cta { padding: 5rem 0; } }
.agm-blog-post-cta-dots {
	pointer-events: none;
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
	background-size: 22px 22px;
	opacity: 0.1;
}
.agm-blog-post-cta-rule {
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 4px;
	background: #1d8da7;
}
.agm-blog-post-cta-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
@media (min-width: 1024px) {
	.agm-blog-post-cta-inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
.agm-blog-post-cta-heading {
	color: #fff;
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
}
.agm-blog-post-cta-body {
	margin: 0.75rem 0 0;
	max-width: 36rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.7);
}
.agm-blog-post-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.agm-blog-post-cta-call {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 0.75rem 1.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff;
	text-decoration: none;
	transition: border-color 0.3s, color 0.3s;
}
.agm-blog-post-cta-call:hover {
	border-color: #3fa9c4;
	color: #3fa9c4;
}

/* ==========================================================================
   CUSTOM MIRRORS (agm-cm-*)
   ========================================================================== */

/* Wall diagram */
.agm-cm-wall-diagram {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-wall-diagram { padding: 8rem 0; } }
.agm-cm-wall-diagram-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cm-wall-diagram-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cm-wall-diagram-heading { margin-top: 1rem; }
.agm-cm-wall-diagram-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-wall-diagram-body + .agm-cm-wall-diagram-body { margin-top: 1rem; }
.agm-cm-wall-diagram-note {
	margin: 1rem 0 0;
	border-left: 2px solid #1d8da7;
	padding-left: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #64748b;
}
.agm-cm-wall-diagram-visual {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 1.5rem;
}
@media (min-width: 640px) { .agm-cm-wall-diagram-visual { padding: 2.5rem; } }
.agm-cm-wall-diagram-marks {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
	border-bottom: 1px solid #cbd5e1;
	padding-bottom: 0.5rem;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: #94a3b8;
}
.agm-cm-wall-diagram-elevation {
	position: relative;
	margin: 0 auto;
	max-width: 20rem;
}
.agm-cm-wall-diagram-dot {
	position: absolute;
	top: 3.5rem;
	height: 0.75rem;
	width: 0.75rem;
	border-radius: 999px;
	background: rgba(29, 141, 167, 0.4);
}
.agm-cm-wall-diagram-dot--left { left: -2rem; }
.agm-cm-wall-diagram-dot--right { right: -2rem; }
.agm-cm-wall-diagram-mirror {
	margin: 0 auto;
	width: 66.666%;
	aspect-ratio: 4 / 3;
	border: 3px solid rgba(2, 46, 86, 0.7);
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.8), rgba(255, 255, 255, 0.6), rgba(174, 218, 230, 0.6));
	box-shadow: inset 0 2px 8px rgba(2, 46, 86, 0.08);
}
.agm-cm-wall-diagram-vanity {
	margin: 0 auto;
	width: 66.666%;
	border: 1px solid #cbd5e1;
	border-top: 0;
	background: #fff;
	padding: 0.75rem 1rem;
	text-align: center;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #94a3b8;
}
.agm-cm-wall-diagram-floor {
	margin-top: 3rem;
	border-top: 2px solid #cbd5e1;
}
.agm-cm-wall-diagram-caption {
	margin: 1.5rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #64748b;
}

/* Vanity */
.agm-cm-vanity {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-vanity { padding: 8rem 0; } }
.agm-cm-vanity-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cm-vanity-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
	.agm-cm-vanity-grid--media-right .agm-cm-vanity-media-col { order: 2; }
	.agm-cm-vanity-grid--media-right .agm-cm-vanity-copy { order: 1; }
}
.agm-cm-vanity-arch {
	margin: 0 auto;
	max-width: 24rem;
	aspect-ratio: 3 / 4;
	border: 8px solid #fff;
	border-radius: 999px 999px 0 0;
	box-shadow: 0 25px 50px -12px rgba(2, 46, 86, 0.15);
	overflow: hidden;
}
.agm-cm-vanity-caption {
	margin: 1.25rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}
.agm-cm-vanity-heading { margin-top: 1rem; }
.agm-cm-vanity-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-vanity-body + .agm-cm-vanity-body { margin-top: 1rem; }

/* Wall benefits */
.agm-cm-wall-benefits {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-wall-benefits { padding: 8rem 0; } }
.agm-cm-wall-benefits-intro-wrap { max-width: 48rem; }
.agm-cm-wall-benefits-heading { margin-top: 1rem; }
.agm-cm-wall-benefits-intro {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-wall-benefits-grid {
	display: grid;
	gap: 3rem;
	margin-top: 3.5rem;
}
@media (min-width: 640px) {
	.agm-cm-wall-benefits-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}
.agm-cm-wall-benefits-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}
.agm-cm-wall-benefits-word {
	display: block;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(3rem, 5vw, 3.75rem);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
	user-select: none;
}
.agm-cm-wall-benefits-rule {
	display: block;
	flex-shrink: 0;
	margin-top: 1.25rem;
	height: 2px;
	width: 2.5rem;
	background: #1d8da7;
}
.agm-cm-wall-benefits-text {
	margin: 1.25rem 0 0;
	max-width: 20rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-wall-benefits-footer {
	margin: 3.5rem 0 0;
	max-width: 48rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}

/* Full length */
.agm-cm-full-length {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-full-length { padding: 8rem 0; } }
.agm-cm-full-length-head {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-cm-full-length-heading { margin-top: 1rem; }
.agm-cm-full-length-grid {
	display: grid;
	align-items: center;
	gap: 3rem;
	margin-top: 4rem;
}
@media (min-width: 1024px) {
	.agm-cm-full-length-grid {
		grid-template-columns: 1fr auto 1fr;
		gap: 4rem;
	}
}
.agm-cm-full-length-body {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
@media (min-width: 1024px) {
	.agm-cm-full-length-col--left .agm-cm-full-length-body { text-align: right; }
}
.agm-cm-full-length-col--right .agm-cm-full-length-body + .agm-cm-full-length-body { margin-top: 1rem; }
.agm-cm-full-length-mirror {
	position: relative;
	height: 380px;
	width: 210px;
	overflow: hidden;
	border: 6px solid #fff;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.5));
	box-shadow: 0 25px 50px -12px rgba(2, 46, 86, 0.2);
}
@media (min-width: 640px) {
	.agm-cm-full-length-mirror { height: 460px; width: 240px; }
}
.agm-cm-full-length-sheen {
	position: absolute;
	inset-block: 0;
	left: -4rem;
	width: 3.5rem;
	background: rgba(255, 255, 255, 0.5);
	transform: skewX(-12deg);
	transition: transform 1s ease-out;
}
.group:hover .agm-cm-full-length-sheen { transform: skewX(-12deg) translateX(340px); }
.agm-cm-full-length-clips {
	position: absolute;
	inset-block: 1.5rem;
	left: -1rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.agm-cm-full-length-clips span {
	display: block;
	height: 1px;
	width: 0.75rem;
	background: rgba(100, 116, 139, 0.7);
}
.agm-cm-full-length-shadow {
	margin: 1rem auto 0;
	height: 0.75rem;
	width: 66.666%;
	border-radius: 999px;
	background: rgba(2, 46, 86, 0.1);
	filter: blur(4px);
}

/* Gym wall */
.agm-cm-gym-wall {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-gym-wall { padding: 8rem 0; } }
.agm-cm-gym-wall-panels {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.25rem;
	height: 16rem;
}
@media (min-width: 640px) {
	.agm-cm-gym-wall-panels {
		grid-template-columns: repeat(5, 1fr);
		height: 20rem;
	}
}
.agm-cm-gym-wall-panel {
	border: 1px solid #fff;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.6), rgba(255, 255, 255, 0.4), rgba(174, 218, 230, 0.5));
}
.agm-cm-gym-wall-panel--wide { display: none; }
@media (min-width: 640px) { .agm-cm-gym-wall-panel--wide { display: block; } }
.agm-cm-gym-wall-card {
	position: relative;
	z-index: 1;
	margin: -5rem 1rem 0;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 2rem;
	box-shadow: 0 30px 70px -35px rgba(2, 46, 86, 0.35);
}
@media (min-width: 640px) {
	.agm-cm-gym-wall-card {
		margin: -7rem 2.5rem 0;
		padding: 3rem;
	}
}
@media (min-width: 1024px) { .agm-cm-gym-wall-card { margin-inline: 4rem; } }
.agm-cm-gym-wall-heading { margin-top: 1rem; }
.agm-cm-gym-wall-copy {
	display: grid;
	gap: 1.25rem;
	margin-top: 1.5rem;
}
@media (min-width: 1024px) { .agm-cm-gym-wall-copy { grid-template-columns: repeat(3, 1fr); } }
.agm-cm-gym-wall-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}

/* Repair */
.agm-cm-repair {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-repair { padding: 8rem 0; } }
.agm-cm-repair-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cm-repair-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cm-repair-heading { margin-top: 1rem; }
.agm-cm-repair-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-repair-body + .agm-cm-repair-body { margin-top: 1rem; }
.agm-cm-repair-card {
	margin: 0 auto;
	max-width: 24rem;
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 1.5rem;
}
@media (min-width: 640px) { .agm-cm-repair-card { padding: 2rem; } }
.agm-cm-repair-swatch {
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.6));
}
.agm-cm-repair-crack {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.agm-cm-repair-tags {
	margin: 1.25rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}
.agm-cm-sep { margin: 0 0.35rem; color: #1d8da7; }
.agm-cm-repair-note {
	margin: 0.5rem 0 0;
	text-align: center;
	font-size: 0.75rem;
	line-height: 1.6;
	color: #64748b;
}

/* Installation */
.agm-cm-installation {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-installation { padding: 8rem 0; } }
.agm-cm-installation-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cm-installation-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cm-installation-heading { margin-top: 1rem; }
.agm-cm-installation-card {
	margin-top: 2.5rem;
	border: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 2rem;
}
@media (min-width: 640px) { .agm-cm-installation-card { padding: 2.5rem; } }
.agm-cm-installation-card-label {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #022e56;
}
.agm-cm-installation-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
}
.agm-cm-installation-phone {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid #cbd5e1;
	padding-bottom: 0.125rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #022e56;
	text-decoration: none;
	transition: border-color 0.3s, color 0.3s;
}
.agm-cm-installation-phone:hover {
	border-color: #1d8da7;
	color: #1d8da7;
}
.agm-cm-installation-text {
	margin: 0;
	border-top: 1px solid #cbd5e1;
	padding-top: 1.5rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-installation-text + .agm-cm-installation-text { margin-top: 2rem; }
.agm-cm-installation-ruled .agm-cm-installation-text:first-child { border-top: 0; padding-top: 0; }

/* Renovation */
.agm-cm-renovation {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-renovation { padding: 8rem 0; } }
.agm-cm-renovation-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-cm-renovation-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-cm-renovation-heading { margin-top: 1rem; }
.agm-cm-renovation-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-renovation-body + .agm-cm-renovation-body { margin-top: 1rem; }
.agm-cm-renovation-cta { margin-top: 2rem; }
.agm-cm-renovation-card {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	overflow: hidden;
}
.agm-cm-renovation-card-head {
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
	padding: 1rem 1.5rem;
}
.agm-cm-renovation-card-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #022e56;
}
.agm-cm-renovation-rows { display: grid; gap: 1px; background: #e2e8f0; }
.agm-cm-renovation-row {
	display: flex;
	align-items: center;
	gap: 1rem;
	background: #f0f4f4;
	padding: 1.25rem 1.5rem;
}
.agm-cm-renovation-row--link {
	text-decoration: none;
	color: inherit;
	transition: background 0.3s;
}
.agm-cm-renovation-row--link:hover { background: #fff; }
.agm-cm-renovation-thumb {
	height: 3.5rem;
	width: 3.5rem;
	flex-shrink: 0;
	border: 1px solid #e2e8f0;
	object-fit: cover;
}
.agm-cm-renovation-row-copy { flex: 1; min-width: 0; }
.agm-cm-renovation-row-title {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
}
.agm-cm-renovation-row-text {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	line-height: 1.5;
	color: #64748b;
}
.agm-cm-renovation-row-arrow {
	flex-shrink: 0;
	color: #1d8da7;
	transition: transform 0.3s;
}
.group:hover .agm-cm-renovation-row-arrow {
	transform: translate(2px, -2px);
}

/* Services index */
.agm-cm-services-index {
	background: #022e56;
	padding: 3.5rem 0;
}
@media (min-width: 640px) { .agm-cm-services-index { padding: 4rem 0; } }
.agm-cm-services-index-inner {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
@media (min-width: 1024px) {
	.agm-cm-services-index-inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
.agm-cm-services-index-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #3fa9c4;
}
.agm-cm-services-index-list {
	margin: 1rem 0 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 1.125rem;
	font-weight: 300;
	text-transform: uppercase;
	line-height: 1.6;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.85);
}
.agm-cm-services-index-sep { color: #3fa9c4; }
.agm-cm-services-index-note {
	margin: 0.75rem 0 0;
	font-size: 0.75rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.5);
}
.agm-cm-services-index-cta { flex-shrink: 0; }

/* Serving */
.agm-cm-serving {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-serving { padding: 8rem 0; } }
.agm-cm-serving-inner {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-cm-serving-pin {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	height: 3rem;
	width: 3rem;
	border-radius: 999px;
	border: 1px solid rgba(29, 141, 167, 0.4);
	color: #1d8da7;
}
.agm-cm-serving-heading { margin-top: 1.5rem; }
.agm-cm-serving-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-serving-towns {
	margin: 3rem 0 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.5rem, 3vw, 1.875rem);
	font-weight: 300;
	text-transform: uppercase;
	line-height: 1.5;
	letter-spacing: 0.08em;
	color: rgba(2, 46, 86, 0.8);
}
.agm-cm-serving-slash { color: #1d8da7; }
.agm-cm-serving-suffix { color: #94a3b8; }

/* Final CTA */
.agm-cm-final-cta {
	border-top: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-cm-final-cta { padding: 8rem 0; } }
.agm-cm-final-cta-bevel {
	margin: 0 auto;
	max-width: 56rem;
	border: 1px solid #cbd5e1;
	background: #fff;
	padding: 0.5rem;
	box-shadow: 0 35px 80px -40px rgba(2, 46, 86, 0.4);
}
.agm-cm-final-cta-panel {
	position: relative;
	overflow: hidden;
	border: 1px solid #e2e8f0;
	padding: 3.5rem 1.5rem;
	text-align: center;
}
@media (min-width: 640px) { .agm-cm-final-cta-panel { padding: 4rem; } }
.agm-cm-final-cta-sheen {
	pointer-events: none;
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 6rem;
	background: linear-gradient(180deg, rgba(174, 218, 230, 0.5), transparent);
}
.agm-cm-final-cta-heading { margin-top: 1rem; }
.agm-cm-final-cta-body {
	position: relative;
	margin: 1.5rem auto 0;
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-cm-final-cta-body + .agm-cm-final-cta-body { margin-top: 1rem; }
.agm-cm-final-cta-actions {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 2.5rem;
}

/* ==========================================================================
   FRAMELESS DOORS (agm-fl-*)
   ========================================================================== */

/* Difference */
.agm-fl-difference {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-difference { padding: 8rem 0; } }
.agm-fl-difference-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-fl-difference-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-fl-difference-heading { margin-top: 1rem; }
.agm-fl-difference-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-fl-difference-body + .agm-fl-difference-body { margin-top: 1rem; }
.agm-fl-difference-diptych {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
@media (min-width: 640px) { .agm-fl-difference-diptych { gap: 1.5rem; } }
.agm-fl-framed,
.agm-fl-frameless {
	position: relative;
	aspect-ratio: 3 / 4;
}
.agm-fl-framed {
	border: 6px solid #94a3b8;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.6), rgba(255, 255, 255, 0.4), rgba(174, 218, 230, 0.5));
}
.agm-fl-framed-mullion {
	position: absolute;
	background: rgba(148, 163, 184, 0.9);
}
.agm-fl-framed-mullion--v {
	inset-block: 0;
	left: 50%;
	width: 6px;
	transform: translateX(-50%);
}
.agm-fl-framed-mullion--h {
	inset-inline: 0;
	top: 50%;
	height: 6px;
	transform: translateY(-50%);
}
.agm-fl-frameless {
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.7), rgba(255, 255, 255, 0.5), rgba(174, 218, 230, 0.4));
	box-shadow: 0 20px 45px -20px rgba(2, 46, 86, 0.35);
}
.agm-fl-frameless-hinge {
	position: absolute;
	left: 0.625rem;
	width: 6px;
	height: 1rem;
	background: rgba(148, 163, 184, 0.8);
}
.agm-fl-frameless-hinge--top { top: 2rem; }
.agm-fl-frameless-hinge--bottom { bottom: 2rem; }
.agm-fl-frameless-handle {
	position: absolute;
	right: 0.75rem;
	top: 50%;
	height: 3.5rem;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, #e2e8f0, #94a3b8, #e2e8f0);
	transform: translateY(-50%);
}
.agm-fl-difference-caption {
	margin: 0.75rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
}
.agm-fl-difference-caption--muted { color: #94a3b8; }
.agm-fl-difference-caption--teal { color: #1d8da7; }

/* Measured */
.agm-fl-measured {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-measured { padding: 8rem 0; } }
.agm-fl-measured-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-fl-measured-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
	.agm-fl-measured-ticket { order: -1; }
}
.agm-fl-measured-heading { margin-top: 1rem; }
.agm-fl-measured-lede {
	margin: 1.5rem 0 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 300;
	line-height: 1.6;
	color: rgba(2, 46, 86, 0.9);
}
.agm-fl-measured-body {
	margin: 1.25rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-fl-measured-ticket {
	border: 1px solid #cbd5e1;
	background: #fff;
	box-shadow: 0 25px 55px -30px rgba(2, 46, 86, 0.35);
}
.agm-fl-ticket-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 1px dashed #cbd5e1;
	padding: 1rem 1.5rem;
}
.agm-fl-ticket-title,
.agm-fl-ticket-tag {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
}
.agm-fl-ticket-title { color: #022e56; }
.agm-fl-ticket-tag { color: #1d8da7; }
.agm-fl-ticket-rows {
	list-style: none;
	margin: 0;
	padding: 0.75rem 1.5rem;
}
.agm-fl-ticket-row {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	border-bottom: 1px solid #f1f5f9;
	padding: 1rem 0;
}
.agm-fl-ticket-row:last-child { border-bottom: 0; }
.agm-fl-ticket-row-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #64748b;
}
.agm-fl-ticket-leader {
	flex: 1;
	border-bottom: 1px dotted #cbd5e1;
	transform: translateY(-4px);
}
.agm-fl-ticket-row-value {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}
.agm-fl-ticket-foot {
	border-top: 1px dashed #cbd5e1;
	padding: 1rem 1.5rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #94a3b8;
}

/* Options */
.agm-fl-options {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-options { padding: 8rem 0; } }
.agm-fl-options-intro { max-width: 48rem; }
.agm-fl-options-heading { margin-top: 1rem; }
.agm-fl-options-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-fl-options-panel {
	display: grid;
	margin-top: 3rem;
	border: 1px solid #e2e8f0;
	background: #fff;
}
@media (min-width: 768px) { .agm-fl-options-panel { grid-template-columns: 1fr 1fr; } }
.agm-fl-options-col {
	padding: 2rem;
}
@media (min-width: 640px) { .agm-fl-options-col { padding: 3rem; } }
.agm-fl-options-col--glass {
	border-bottom: 1px solid #e2e8f0;
}
@media (min-width: 768px) {
	.agm-fl-options-col--glass {
		border-bottom: 0;
		border-right: 1px solid #e2e8f0;
	}
}
.agm-fl-options-icon {
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(29, 141, 167, 0.4);
	color: #1d8da7;
}
.agm-fl-options-col-title {
	margin: 1.5rem 0 0;
	font-size: 1.125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}
.agm-fl-options-list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}
.agm-fl-options-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	border-top: 1px solid #f1f5f9;
	padding: 0.875rem 0;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #475569;
}
.agm-fl-options-diamond {
	height: 6px;
	width: 6px;
	flex-shrink: 0;
	background: #1d8da7;
	transform: rotate(45deg);
}
.agm-fl-options-footer {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2.5rem;
}
@media (min-width: 1024px) {
	.agm-fl-options-footer {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
.agm-fl-options-note {
	margin: 0;
	max-width: 42rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.125rem, 2vw, 1.25rem);
	font-weight: 300;
	line-height: 1.6;
	color: rgba(2, 46, 86, 0.85);
}
.agm-fl-options-cta { flex-shrink: 0; }

/* Why */
.agm-fl-why {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-why { padding: 8rem 0; } }
.agm-fl-why-inner { margin: 0 auto; max-width: 64rem; }
.agm-fl-why-heading { margin-top: 1rem; }
.agm-fl-why-columns {
	margin-top: 3rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
@media (min-width: 768px) {
	.agm-fl-why-columns { column-count: 2; column-gap: 3rem; }
}
.agm-fl-why-columns p { margin: 0 0 1.5rem; break-inside: avoid; }
.agm-fl-why-dropcap {
	float: left;
	margin: 0.125rem 0.75rem 0 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 3.75rem;
	font-weight: 300;
	line-height: 0.8;
	color: #1d8da7;
}

/* Better view */
.agm-fl-better-view {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-better-view { padding: 8rem 0; } }
.agm-fl-better-view-intro { max-width: 48rem; }
.agm-fl-better-view-heading { margin-top: 1rem; }
.agm-fl-better-view-media {
	margin-top: 3rem;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
@media (min-width: 640px) { .agm-fl-better-view-media { aspect-ratio: 21 / 9; } }
.agm-fl-better-view-inset {
	pointer-events: none;
	position: absolute;
	inset: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.7);
}
@media (min-width: 640px) { .agm-fl-better-view-inset { inset: 1.5rem; } }
.agm-fl-better-view-grid {
	display: grid;
	gap: 2.5rem;
	margin-top: 3rem;
}
@media (min-width: 768px) { .agm-fl-better-view-grid { grid-template-columns: repeat(3, 1fr); } }
.agm-fl-better-view-card {
	margin: 0;
	border-top: 2px solid #1d8da7;
	padding-top: 1.25rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}

/* Replacing band */
.agm-fl-replacing-band {
	border-block: 1px solid #e2e8f0;
	background: #cce8f3;
}
.agm-fl-replacing-band-grid {
	display: grid;
	gap: 2rem;
	padding: 3.5rem 0;
}
@media (min-width: 640px) { .agm-fl-replacing-band-grid { padding: 4rem 0; } }
@media (min-width: 1024px) {
	.agm-fl-replacing-band-grid {
		grid-template-columns: 320px 1fr;
		align-items: center;
		gap: 4rem;
	}
}
.agm-fl-replacing-band-head {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}
.agm-fl-replacing-band-icon {
	display: flex;
	height: 3rem;
	width: 3rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #1d8da7;
}
.agm-fl-replacing-band-heading {
	font-size: clamp(1.25rem, 2vw, 1.5rem);
}
.agm-fl-replacing-band-body {
	display: grid;
	gap: 1.25rem;
}
@media (min-width: 640px) { .agm-fl-replacing-band-body { grid-template-columns: 1fr 1fr; } }
.agm-fl-replacing-band-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}

/* Right fit */
.agm-fl-right-fit {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-right-fit { padding: 8rem 0; } }
.agm-fl-right-fit-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-fl-right-fit-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-fl-right-fit-heading { margin-top: 1rem; }
.agm-fl-right-fit-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-fl-right-fit-body + .agm-fl-right-fit-body { margin-top: 1rem; }
.agm-fl-right-fit-card {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 2rem;
}
@media (min-width: 640px) { .agm-fl-right-fit-card { padding: 2.5rem; } }
.agm-fl-right-fit-card-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #64748b;
}
.agm-fl-right-fit-list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}
.agm-fl-right-fit-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
}
.agm-fl-right-fit-item + .agm-fl-right-fit-item { margin-top: 0.75rem; }
.agm-fl-right-fit-box {
	height: 0.75rem;
	width: 0.75rem;
	flex-shrink: 0;
	border: 2px solid #1d8da7;
}
.agm-fl-right-fit-note {
	margin: 1.5rem 0 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	line-height: 1.6;
	color: #64748b;
}

/* Serving route */
.agm-fl-serving-route {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-serving-route { padding: 8rem 0; } }
.agm-fl-serving-route-intro { max-width: 48rem; }
.agm-fl-serving-route-heading { margin-top: 1rem; }
.agm-fl-serving-route-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-fl-serving-route-scroll {
	margin-top: 4rem;
	overflow-x: auto;
	padding-bottom: 0.75rem;
}
.agm-fl-route {
	display: flex;
	min-width: 760px;
	align-items: flex-start;
}
.agm-fl-route-stop {
	display: flex;
	flex: 1;
	align-items: flex-start;
}
.agm-fl-route-stop--last { flex: none; }
.agm-fl-route-marker {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.agm-fl-route-dot {
	display: block;
	height: 0.75rem;
	width: 0.75rem;
	border-radius: 999px;
	border: 2px solid #1d8da7;
	background: #fff;
}
.agm-fl-route-dot--home {
	height: 1.25rem;
	width: 1.25rem;
	border-width: 4px;
	border-color: #fff;
	background: #1d8da7;
	box-shadow: 0 0 0 2px #1d8da7;
}
.agm-fl-route-name {
	margin-top: 0.75rem;
	white-space: nowrap;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
@media (min-width: 640px) { .agm-fl-route-name { font-size: 0.75rem; } }
.agm-fl-route-name--home { color: #022e56; }
.agm-fl-route-badge {
	margin-top: 0.5rem;
	background: #022e56;
	padding: 0.125rem 0.5rem;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #fff;
}
.agm-fl-route-line {
	flex: 1;
	margin-top: 9px;
	height: 1px;
	background: rgba(29, 141, 167, 0.4);
}

/* Planning CTA */
.agm-fl-planning-cta {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-fl-planning-cta { padding: 8rem 0; } }
.agm-fl-planning-cta-panel {
	position: relative;
	margin: 0 auto;
	max-width: 56rem;
	background: #cce8f3;
	padding: 4rem 1.5rem;
	text-align: center;
}
@media (min-width: 640px) { .agm-fl-planning-cta-panel { padding: 5rem 4rem; } }
.agm-fl-bracket {
	position: absolute;
	height: 2rem;
	width: 2rem;
}
.agm-fl-bracket--tl { left: 0; top: 0; border-top: 2px solid #1d8da7; border-left: 2px solid #1d8da7; }
.agm-fl-bracket--tr { right: 0; top: 0; border-top: 2px solid #1d8da7; border-right: 2px solid #1d8da7; }
.agm-fl-bracket--bl { left: 0; bottom: 0; border-bottom: 2px solid #1d8da7; border-left: 2px solid #1d8da7; }
.agm-fl-bracket--br { right: 0; bottom: 0; border-bottom: 2px solid #1d8da7; border-right: 2px solid #1d8da7; }
.agm-fl-planning-cta-eyebrow { justify-content: center; }
.agm-fl-planning-cta-heading { margin-top: 1rem; }
.agm-fl-planning-cta-body {
	margin: 1.5rem auto 0;
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-fl-planning-cta-body + .agm-fl-planning-cta-body { margin-top: 1rem; }
.agm-fl-planning-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 2.5rem;
}

/* ==========================================================================
   WINDOW GLASS (agm-wg-*)
   ========================================================================== */

/* Repair diagram */
.agm-wg-repair {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-wg-repair { padding: 8rem 0; } }
.agm-wg-repair-grid {
	display: grid;
	align-items: center;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-wg-repair-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-wg-repair-heading { margin-top: 1rem; }
.agm-wg-repair-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-repair-body + .agm-wg-repair-body { margin-top: 1rem; }
.agm-wg-repair-note {
	margin: 1.5rem 0 0;
	border-left: 2px solid #1d8da7;
	padding-left: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #64748b;
}
.agm-wg-repair-diagram-wrap {
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 2rem;
}
@media (min-width: 640px) { .agm-wg-repair-diagram-wrap { padding: 2.5rem; } }
.agm-wg-repair-frame {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	max-width: 20rem;
	margin: 0 auto;
	border: 8px solid #cbd5e1;
	background: #fff;
	padding: 0.5rem;
}
.agm-wg-repair-pane {
	display: block;
	aspect-ratio: 1;
	background: #f0f4f4;
}
.agm-wg-repair-pane--glass {
	position: relative;
	background: linear-gradient(135deg, rgba(174, 218, 230, 0.8), rgba(255, 255, 255, 0.6), rgba(174, 218, 230, 0.6));
}
.agm-wg-repair-pane-badge {
	position: absolute;
	right: 0.5rem;
	bottom: 0.5rem;
	background: #1d8da7;
	padding: 0.125rem 0.5rem;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff;
}
.agm-wg-repair-caption {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 1.5rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}
.agm-wg-repair-diamond {
	height: 0.5rem;
	width: 0.5rem;
	background: #1d8da7;
	transform: rotate(45deg);
}
.agm-wg-repair-reasons {
	margin: 3.5rem 0 0;
	max-width: 64rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #64748b;
}
.agm-wg-repair-reasons-label {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #022e56;
}
.agm-wg-repair-sep { margin: 0 0.5rem; color: #1d8da7; }
.agm-wg-repair-reason { text-transform: uppercase; }

/* Replacement */
.agm-wg-replacement {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
}
.agm-wg-replacement-grid {
	display: grid;
}
@media (min-width: 1024px) {
	.agm-wg-replacement-grid { grid-template-columns: minmax(300px, 1fr) 2fr; }
}
.agm-wg-replacement-media {
	position: relative;
	min-height: 17.5rem;
	overflow: hidden;
}
@media (min-width: 1024px) { .agm-wg-replacement-media { min-height: 100%; } }
.agm-wg-replacement-copy {
	padding: 5rem 0 5rem 1.25rem;
}
@media (min-width: 640px) { .agm-wg-replacement-copy { padding: 7rem 0 7rem 3.5rem; } }
.agm-wg-replacement-heading { margin-top: 1rem; }
.agm-wg-replacement-body {
	margin: 1.5rem 0 0;
	max-width: 36rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-replacement-body + .agm-wg-replacement-body { margin-top: 1rem; }
.agm-wg-replacement-cta { margin-top: 2.25rem; }

/* Glass types */
.agm-wg-glass-types {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-wg-glass-types { padding: 8rem 0; } }
.agm-wg-glass-types-grid {
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 768px) { .agm-wg-glass-types-grid { grid-template-columns: 1fr 1fr; } }
.agm-wg-glass-types-card {
	height: 100%;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 2rem;
}
@media (min-width: 640px) { .agm-wg-glass-types-card { padding: 3rem; } }
.agm-wg-glass-types-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	color: #1d8da7;
}
.agm-wg-section-view {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 6rem;
	margin-top: 2rem;
	border: 1px solid #e2e8f0;
	background: #f0f4f4;
}
.agm-wg-section-lite {
	display: block;
	height: 4rem;
	width: 10px;
	background: linear-gradient(180deg, #aedae6, rgba(63, 169, 196, 0.6));
}
.agm-wg-section-gap {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 4rem;
	width: 3rem;
	border-inline: 1px dashed rgba(29, 141, 167, 0.5);
}
.agm-wg-section-gap-label {
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #94a3b8;
}
.agm-wg-glass-types-title { margin-top: 2rem; }
.agm-wg-glass-types-body {
	margin: 1rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-glass-types-body + .agm-wg-glass-types-body { margin-top: 0.75rem; }

/* Sealing */
.agm-wg-sealing {
	border-block: 1px solid #e2e8f0;
	background: #cce8f3;
	padding: 5rem 0;
}
@media (min-width: 640px) { .agm-wg-sealing { padding: 7rem 0; } }
.agm-wg-sealing-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-wg-sealing-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
}
.agm-wg-sealing-heading { margin-top: 1rem; }
.agm-wg-sealing-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-sealing-body + .agm-wg-sealing-body { margin-top: 1rem; }
.agm-wg-sealing-rows {
	list-style: none;
	margin: 0;
	padding: 0;
	border-block: 1px solid rgba(203, 213, 225, 0.7);
}
.agm-wg-sealing-row {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	border-bottom: 1px solid rgba(203, 213, 225, 0.7);
	padding: 1.25rem 0;
}
.agm-wg-sealing-row:last-child { border-bottom: 0; }
.agm-wg-sealing-icon {
	display: flex;
	height: 2.75rem;
	width: 2.75rem;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(29, 141, 167, 0.4);
	background: #fff;
	color: #1d8da7;
}
.agm-wg-sealing-label {
	flex: 1;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #022e56;
}
@media (min-width: 640px) { .agm-wg-sealing-label { font-size: 1rem; } }
.agm-wg-sealing-note {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
.agm-wg-sealing-pullquote {
	margin: 2rem 0 0;
	border-left: 4px solid #1d8da7;
	background: #fff;
	padding: 1rem 1.5rem;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}

/* Broken */
.agm-wg-broken {
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-wg-broken { padding: 8rem 0; } }
.agm-wg-broken-grid {
	display: grid;
	gap: 3.5rem;
}
@media (min-width: 1024px) {
	.agm-wg-broken-grid { grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
}
.agm-wg-broken-statement {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(2.25rem, 4vw, 3rem);
	font-weight: 300;
	line-height: 1.15;
	letter-spacing: 0.02em;
	color: #022e56;
	text-wrap: balance;
}
.agm-wg-broken-dot { color: #1d8da7; }
.agm-wg-broken-heading { margin-top: 1rem; }
.agm-wg-broken-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-broken-body + .agm-wg-broken-body { margin-top: 1rem; }

/* VS panel */
.agm-wg-vs {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-wg-vs { padding: 8rem 0; } }
.agm-wg-vs-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-wg-vs-intro .eyebrow { justify-content: center; }
.agm-wg-vs-heading { margin-top: 1rem; }
.agm-wg-vs-intro-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-vs-panel {
	position: relative;
	display: grid;
	margin: 3.5rem auto 0;
	max-width: 64rem;
	border: 1px solid #e2e8f0;
	background: #fff;
}
@media (min-width: 768px) { .agm-wg-vs-panel { grid-template-columns: 1fr 1fr; } }
.agm-wg-vs-badge {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	display: none;
	height: 3.5rem;
	width: 3.5rem;
	align-items: center;
	justify-content: center;
	border: 2px solid #1d8da7;
	border-radius: 999px;
	background: #fff;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #1d8da7;
	transform: translate(-50%, -50%);
}
@media (min-width: 768px) { .agm-wg-vs-badge { display: flex; } }
.agm-wg-vs-cell {
	padding: 2rem;
}
@media (min-width: 640px) { .agm-wg-vs-cell { padding: 3rem; } }
.agm-wg-vs-cell--focus {
	border-bottom: 1px solid #e2e8f0;
}
@media (min-width: 768px) {
	.agm-wg-vs-cell--focus {
		border-bottom: 0;
		border-right: 1px solid #e2e8f0;
	}
}
.agm-wg-vs-chip {
	display: inline-block;
	padding: 0.375rem 0.75rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
}
.agm-wg-vs-chip--solid { background: #1d8da7; color: #fff; }
.agm-wg-vs-chip--outline { border: 1px solid #cbd5e1; color: #64748b; }
.agm-wg-vs-cell-title {
	margin: 1.5rem 0 0;
	font-size: 1.25rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #022e56;
}
.agm-wg-vs-cell-body {
	margin: 1rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #475569;
}

/* Serving window */
.agm-wg-serving {
	border-top: 1px solid #e2e8f0;
	background: #f0f4f4;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-wg-serving { padding: 8rem 0; } }
.agm-wg-serving-intro {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-wg-serving-heading { margin-top: 0; }
.agm-wg-serving-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-serving-window {
	margin: 3.5rem auto 0;
	max-width: 56rem;
}
.agm-wg-serving-frame {
	border: 10px solid #fff;
	background: #fff;
	box-shadow: 0 35px 70px -35px rgba(2, 46, 86, 0.45);
}
.agm-wg-serving-lites {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.375rem;
}
@media (min-width: 640px) { .agm-wg-serving-lites { grid-template-columns: repeat(3, 1fr); } }
.agm-wg-serving-lite {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 7rem;
	overflow: hidden;
	background-image: linear-gradient(135deg, #f0f8fb 0%, #ddf1f6 45%, #cce8f3 100%);
}
@media (min-width: 640px) { .agm-wg-serving-lite { height: 9rem; } }
.agm-wg-serving-lite--home {
	background: #022e56;
	background-image: none;
}
.agm-wg-serving-sheen {
	pointer-events: none;
	position: absolute;
	left: -33%;
	top: 0;
	height: 100%;
	width: 50%;
	transform: skewX(-12deg);
	background: rgba(255, 255, 255, 0.4);
	opacity: 0;
	transition: opacity 0.5s;
}
.agm-wg-serving-lite:hover .agm-wg-serving-sheen { opacity: 1; }
.agm-wg-serving-pin {
	display: flex;
	margin-bottom: 0.5rem;
	color: #aedae6;
}
.agm-wg-serving-pin .agm-icon { width: 1rem; height: 1rem; }
.agm-wg-serving-town {
	padding: 0 0.5rem;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(2, 46, 86, 0.75);
	transition: color 0.3s;
}
@media (min-width: 640px) { .agm-wg-serving-town { font-size: 0.75rem; } }
.agm-wg-serving-lite:hover .agm-wg-serving-town { color: #022e56; }
.agm-wg-serving-lite--home .agm-wg-serving-town { color: #fff; }
.agm-wg-serving-lite--home:hover .agm-wg-serving-town { color: #fff; }
.agm-wg-serving-badge {
	margin-top: 0.5rem;
	background: #1d8da7;
	padding: 0.125rem 0.5rem;
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #fff;
}
.agm-wg-serving-sill {
	display: block;
	margin: 0 auto;
	height: 0.5rem;
	width: 104%;
	transform: translateX(-2%);
	background: #fff;
	box-shadow: 0 4px 12px rgba(2, 46, 86, 0.12);
}
.agm-wg-serving-note {
	margin: 1.5rem 0 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}

/* Areas remaining + Shower */
.agm-areas-text-hero{position:relative;overflow:hidden;padding:8rem 0 4rem}
@media(min-width:640px){.agm-areas-text-hero{padding:10rem 0 6rem}}
@media(min-width:1024px){.agm-areas-text-hero{padding:11rem 0 6rem}}
.agm-areas-hero-dots{pointer-events:none;position:absolute;inset:0;background-image:radial-gradient(rgba(2,46,86,.08) 1px,transparent 1px);background-size:22px 22px;opacity:.6}
.agm-areas-hero-inner{position:relative}
.agm-areas-hero-title{margin:1rem 0 0;max-width:48rem;font-family:var(--agm-font-display,"Archivo",sans-serif);font-size:clamp(2.25rem,4vw,3rem);font-weight:300;text-transform:uppercase;letter-spacing:.05em;line-height:1.15;color:#022e56;text-wrap:balance}
.agm-areas-hero-intro{margin:1.5rem 0 0;max-width:42rem;font-size:1rem;line-height:1.7;color:#475569}
@media(min-width:640px){.agm-areas-hero-intro{font-size:1.125rem}}
.agm-areas-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.25rem}
.agm-areas-banner{position:relative;height:42vh;width:100%;overflow:hidden}
@media(min-width:640px){.agm-areas-banner{height:56vh}}
.agm-areas-county-grid{border-top:1px solid #e2e8f0;background:#fff;padding:6rem 0}
@media(min-width:640px){.agm-areas-county-grid{padding:10rem 0}}
.agm-areas-county-rule{margin-top:1.5rem;width:5rem}
.agm-areas-county-cols{display:grid;gap:3rem;margin-top:3.5rem}
@media(min-width:768px){.agm-areas-county-cols{grid-template-columns:repeat(3,1fr)}}
.agm-areas-county-name{margin:0;font-family:var(--agm-font-display,"Archivo",sans-serif);font-size:1.125rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#022e56}
.agm-areas-county-list{list-style:none;margin:1rem 0 0;padding:0}
.agm-areas-county-town{display:flex;align-items:center;gap:.75rem;border-top:1px solid #e2e8f0;padding:1rem 0;font-size:.875rem;font-weight:600;color:#334155}
.agm-areas-county-pin{width:1rem;height:1rem;flex-shrink:0;color:#1d8da7}
.agm-areas-county-more{border-top:1px solid #e2e8f0;padding:1rem 0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#94a3b8}
.agm-areas-county-footnote{margin:3.5rem 0 0;max-width:48rem;border-top:1px solid #e2e8f0;padding-top:2rem;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-specialty{position:relative;overflow:hidden;border-top:1px solid #e2e8f0;background:#f0f4f4;padding:6rem 0}
@media(min-width:640px){.agm-shower-specialty{padding:9rem 0}}
.agm-shower-vertical{pointer-events:none;position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);display:none;font-family:var(--agm-font-display,"Archivo",sans-serif);font-size:7rem;font-weight:300;text-transform:uppercase;letter-spacing:.08em;line-height:1}
@media(min-width:1280px){.agm-shower-vertical{display:block}}
.agm-shower-grid{position:relative;display:grid;align-items:center;gap:3.5rem}
@media(min-width:1024px){.agm-shower-grid{grid-template-columns:1fr 1fr;gap:5rem}}
.agm-shower-media{position:relative}
.agm-shower-shadow{pointer-events:none;position:absolute;right:-1.25rem;top:-1.25rem;height:100%;width:100%;background:rgba(29,141,167,.15);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 12%)}
.agm-shower-main{position:relative;aspect-ratio:4/3;clip-path:polygon(0 0,100% 0,100% calc(100% - 56px),calc(100% - 56px) 100%,0 100%)}
.agm-shower-secondary{position:absolute;bottom:-2.5rem;right:-.75rem;display:none;width:13rem;border:4px solid #f0f4f4;box-shadow:0 20px 40px rgba(2,46,86,.15)}
@media(min-width:640px){.agm-shower-secondary{display:block}}
.agm-shower-secondary img{aspect-ratio:1}
.agm-shower-badge{position:absolute;left:1.25rem;top:1.25rem;background:#022e56;padding:.5rem 1rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#fff}
.agm-shower-heading{margin-top:1rem}
.agm-shower-rule{margin-top:1.5rem;width:5rem}
.agm-shower-text{margin:1.5rem 0 0;line-height:1.7;color:#475569}
.agm-shower-features{list-style:none;margin:2rem 0 0;padding:0}
.agm-shower-features li{display:flex;align-items:center;gap:.75rem;border-top:1px solid #cbd5e1;padding:1rem 0;font-size:.875rem;font-weight:600;color:#022e56}
.agm-shower-features .agm-icon{color:#1d8da7}
.agm-shower-actions{margin-top:2.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}
.agm-shower-styles{border-top:1px solid #e2e8f0;background:#f0f4f4;padding:6rem 0}
@media(min-width:640px){.agm-shower-styles{padding:8rem 0}}
.agm-shower-styles-intro-wrap{max-width:48rem}
.agm-shower-styles-heading{margin-top:1rem}
.agm-shower-styles-intro{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-styles-grid{display:grid;gap:1.5rem;margin-top:3.5rem}
@media(min-width:640px){.agm-shower-styles-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.agm-shower-styles-grid{grid-template-columns:repeat(4,1fr)}}
.agm-shower-styles-card{display:flex;flex-direction:column;height:100%;border:1px solid #e2e8f0;background:#fff;transition:box-shadow .3s}
.group:hover .agm-shower-styles-card{box-shadow:0 20px 45px -20px rgba(2,46,86,.3)}
.agm-shower-styles-swatch-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid #e2e8f0;background:#f0f4f4;transition:transform .5s}
.group:hover .agm-shower-styles-swatch-wrap{transform:scale(1.02)}
.agm-shower-styles-num{position:absolute;right:.75rem;top:.75rem;font-family:var(--agm-font-display,"Archivo",sans-serif);font-size:.75rem;font-weight:700;letter-spacing:.2em;color:rgba(2,46,86,.4)}
.agm-shower-styles-card-body{padding:1.25rem 1.5rem}
@media(min-width:640px){.agm-shower-styles-card-body{padding:1.5rem}}
.agm-shower-styles-card-title{margin:0;font-size:.875rem;font-weight:700;text-transform:uppercase;line-height:1.35;letter-spacing:.08em;color:#022e56}
@media(min-width:640px){.agm-shower-styles-card-title{font-size:1rem}}
.agm-shower-styles-note{display:flex;flex-direction:column;justify-content:space-between;height:100%;border:1px solid #022e56;background:#022e56;padding:1.5rem 2rem}
.agm-shower-styles-note-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:#3fa9c4}
.agm-shower-styles-note-text{margin:2rem 0 0;font-size:.875rem;line-height:1.7;color:rgba(255,255,255,.8)}
.agm-shower-swatch{position:relative;display:block;width:100%;height:100%;background:linear-gradient(135deg,rgba(174,218,230,.7),rgba(255,255,255,.4),rgba(174,218,230,.5))}
.agm-shower-swatch-glass{position:absolute;inset:0;background:linear-gradient(135deg,rgba(174,218,230,.7),rgba(255,255,255,.4),rgba(174,218,230,.5))}
.agm-shower-swatch-hinge{position:absolute;left:.75rem;width:8px;height:1rem;background:rgba(148,163,184,.8)}
.agm-shower-swatch-hinge--top{top:1.5rem}
.agm-shower-swatch-hinge--bottom{bottom:1.5rem}
.agm-shower-swatch-frame-top{position:absolute;inset-inline:0;top:0;height:6px;background:rgba(148,163,184,.9)}
.agm-shower-swatch-frame-left{position:absolute;inset-block:0;left:0;width:6px;background:rgba(148,163,184,.9)}


.agm-shower-swatch-stripes{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(174,218,230,.7) 0 3px,rgba(255,255,255,.92) 3px 12px)}
.agm-shower-swatch-frost{position:absolute;inset:0;background:linear-gradient(135deg,#fff,rgba(174,218,230,.8),#fff)}
.agm-shower-swatch-panel{position:absolute;border:1px solid rgba(255,255,255,.8);background:rgba(174,218,230,.5)}
.agm-shower-swatch-panel--back{left:16%;top:16%;height:64%;width:52%}
.agm-shower-swatch-panel--front{left:36%;top:30%;height:64%;width:52%;background:rgba(174,218,230,.35)}
.agm-shower-swatch-handle{position:absolute;left:50%;top:50%;height:4rem;width:6px;border-radius:999px;background:linear-gradient(180deg,#e2e8f0,#64748b,#e2e8f0);box-shadow:0 2px 4px rgba(2,46,86,.15);transform:translate(-50%,-50%)}
.agm-shower-swatch-measure-h{position:absolute;inset-inline:.75rem;top:.75rem;display:flex;align-items:center;gap:.25rem}
.agm-shower-swatch-measure-h i{display:block;height:8px;width:1px;background:#1d8da7}
.agm-shower-swatch-dash-h{flex:1;height:1px;border-top:1px dashed rgba(29,141,167,.7)}
.agm-shower-swatch-measure-v{position:absolute;inset-block:.75rem;left:.75rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}
.agm-shower-swatch-measure-v i{display:block;height:1px;width:8px;background:#1d8da7}
.agm-shower-swatch-dash-v{flex:1;width:1px;border-left:1px dashed rgba(29,141,167,.7)}
.agm-shower-door-visual{overflow:hidden;border-top:1px solid #e2e8f0;background:#fff;padding:6rem 0}
@media(min-width:640px){.agm-shower-door-visual{padding:8rem 0}}
.agm-shower-door-visual-grid{display:grid;align-items:center;gap:4rem}
@media(min-width:1024px){.agm-shower-door-visual-grid{grid-template-columns:1fr 1fr;gap:6rem}}
.agm-shower-door-visual-heading{margin-top:1rem}
.agm-shower-door-visual-body{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-door-visual-body+.agm-shower-door-visual-body{margin-top:1rem}
.agm-shower-door-visual-body--muted{font-size:.875rem;color:#64748b}
.agm-shower-door-visual-cta{margin-top:2rem}
.agm-shower-door-visual-stage{position:relative;margin:0 auto;max-width:24rem}
.agm-shower-door-visual-perspective{perspective:1400px}
.agm-shower-door{position:relative;aspect-ratio:3/4;transition:transform .7s ease-out;transform-style:preserve-3d;transform-origin:right center}
.group:hover .agm-shower-door{transform:rotateY(7deg)}
.agm-shower-door-sheen{pointer-events:none;position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent,rgba(255,255,255,.1))}
.agm-shower-door-edge{pointer-events:none;position:absolute;inset:0;border:1px solid rgba(255,255,255,.6)}
.agm-shower-door-handle{pointer-events:none;position:absolute;left:1rem;top:50%;height:6rem;width:6px;border-radius:999px;background:linear-gradient(180deg,#f1f5f9,#94a3b8,#f1f5f9);box-shadow:0 2px 4px rgba(2,46,86,.15);transform:translateY(-50%)}
.agm-shower-door-hinge{pointer-events:none;position:absolute;right:.625rem;width:8px;height:2rem;background:rgba(203,213,225,.9);box-shadow:0 1px 2px rgba(2,46,86,.1)}
.agm-shower-door-hinge--top{top:2.5rem}
.agm-shower-door-hinge--bottom{bottom:2.5rem}
.agm-shower-door-chip{position:absolute;left:1rem;top:1rem;padding:.375rem .75rem;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:#022e56}
.agm-shower-door-shadow{margin:1.25rem auto 0;height:.75rem;width:75%;border-radius:999px;background:rgba(2,46,86,.1);filter:blur(4px)}
.agm-shower-door-caption{position:absolute;right:-2.25rem;top:50%;display:none;transform:translateY(-50%);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.35em;color:#94a3b8}
@media(min-width:640px){.agm-shower-door-caption{display:block}}
.agm-shower-replacing{border-top:1px solid #e2e8f0;background:#fff;padding:6rem 0}
@media(min-width:640px){.agm-shower-replacing{padding:8rem 0}}
.agm-shower-replacing-grid{display:grid;align-items:center;gap:3.5rem}
@media(min-width:1024px){.agm-shower-replacing-grid{grid-template-columns:1fr 1fr;gap:5rem}}
.agm-shower-replacing-heading{margin-top:1rem}
.agm-shower-replacing-body{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-replacing-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.75rem}
.agm-shower-replacing-chip{border:1px solid #cbd5e1;background:#f0f4f4;padding:.375rem .75rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#475569}
.agm-shower-replacing-body--after{margin-top:1.75rem}
.agm-shower-replacing-media{position:relative;margin-top:1rem;margin-right:1rem}
@media(min-width:640px){.agm-shower-replacing-media{margin-right:1.5rem;margin-top:1.5rem}}
.agm-shower-replacing-offset{pointer-events:none;position:absolute;right:-1rem;top:-1rem;height:100%;width:100%;border:2px solid rgba(29,141,167,.4)}
@media(min-width:640px){.agm-shower-replacing-offset{right:-1.5rem;top:-1.5rem}}
.agm-shower-replacing-frame{position:relative;aspect-ratio:4/3}
.agm-shower-renovations{border-top:1px solid #e2e8f0;background:#f0f4f4;padding:6rem 0}
@media(min-width:640px){.agm-shower-renovations{padding:8rem 0}}
.agm-shower-renovations-intro-wrap{max-width:48rem}
.agm-shower-renovations-heading{margin-top:1rem}
.agm-shower-renovations-intro{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-renovations-grid{display:grid;gap:1.5rem;margin-top:3.5rem}
@media(min-width:768px){.agm-shower-renovations-grid{grid-template-columns:1fr 1fr}}
.agm-shower-renovations-card{height:100%;border:1px solid #e2e8f0;background:#fff;padding:2rem}
@media(min-width:640px){.agm-shower-renovations-card{padding:2.5rem}}
.agm-shower-renovations-icon{display:flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border:1px solid rgba(29,141,167,.4);color:#1d8da7}
.agm-shower-renovations-card-title{margin:1.5rem 0 0;font-size:1.125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#022e56}
.agm-shower-renovations-card-text{margin:1rem 0 0;font-size:.875rem;line-height:1.7;color:#475569}
@media(min-width:640px){.agm-shower-renovations-card-text{font-size:1rem}}
.agm-shower-renovations-goal{margin:2rem 0 0;border-left:4px solid #1d8da7;background:#fff;padding:1.25rem 1.5rem;font-family:var(--agm-font-display,"Archivo",sans-serif);font-size:clamp(1.125rem,2vw,1.25rem);font-weight:300;line-height:1.6;color:#022e56}
@media(min-width:640px){.agm-shower-renovations-goal{padding:1.25rem 2rem}}
.agm-shower-why{border-top:1px solid #e2e8f0;background:#fff;padding:6rem 0}
@media(min-width:640px){.agm-shower-why{padding:8rem 0}}
.agm-shower-why-grid{display:grid;gap:3.5rem}
@media(min-width:1024px){.agm-shower-why-grid{grid-template-columns:1fr 1fr;gap:5rem}}
.agm-shower-why-heading{margin-top:1rem}
.agm-shower-why-body{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-why-pullquote{margin:1.5rem 0 0;border-left:2px solid #1d8da7;padding-left:1.5rem;font-size:.875rem;line-height:1.7;color:#64748b}
.agm-shower-why-list{list-style:none;margin:0;padding:0;border-block:1px solid #e2e8f0}
.agm-shower-why-row{display:flex;align-items:center;gap:1.25rem;border-bottom:1px solid #e2e8f0;padding:1.25rem 0}
.agm-shower-why-row:last-child{border-bottom:0}
.agm-shower-why-check{display:flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;background:#1d8da7;color:#fff}
.agm-shower-why-check .agm-icon{width:1rem;height:1rem;color:#fff}
.agm-shower-why-text{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#022e56}
@media(min-width:640px){.agm-shower-why-text{font-size:1rem}}
.agm-shower-serving-radar{border-top:1px solid #e2e8f0;background:#f0f4f4;padding:6rem 0}
@media(min-width:640px){.agm-shower-serving-radar{padding:8rem 0}}
.agm-shower-serving-radar-grid{display:grid;align-items:center;gap:4rem}
@media(min-width:1024px){.agm-shower-serving-radar-grid{grid-template-columns:1fr 1fr;gap:5rem}}
.agm-shower-serving-radar-heading{margin-top:1rem}
.agm-shower-serving-radar-body{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-serving-radar-note{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:#64748b}
.agm-shower-serving-radar-dot{display:block;height:.5rem;width:.5rem;border-radius:999px;background:#1d8da7}
.agm-shower-serving-radar-visual{position:relative;margin:0 auto;aspect-ratio:1;width:100%;max-width:28rem}
.agm-shower-radar-ring{pointer-events:none;position:absolute;border-radius:999px;border:1px solid rgba(29,141,167,.25)}
.agm-shower-radar-ring--1{inset:0}
.agm-shower-radar-ring--2{inset:14%}
.agm-shower-radar-ring--3{inset:28%;border-color:rgba(29,141,167,.3)}
.agm-shower-radar-ring--4{inset:40%;border-color:rgba(29,141,167,.3);background:rgba(255,255,255,.7);box-shadow:inset 0 2px 8px rgba(2,46,86,.06)}
.agm-shower-radar-cross{pointer-events:none;position:absolute;background:rgba(29,141,167,.15)}
.agm-shower-radar-cross--h{inset-inline:0;top:50%;height:1px}
.agm-shower-radar-cross--v{inset-block:0;left:50%;width:1px}
.agm-shower-radar-pulse{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.agm-shower-radar-ping{position:absolute;inset:0;border-radius:999px;background:#1d8da7;opacity:.4;animation:agm-radar-ping 2s cubic-bezier(0,0,.2,1) infinite}
@keyframes agm-radar-ping{75%,100%{transform:scale(2);opacity:0}}
.agm-shower-radar-core{position:relative;display:block;height:1rem;width:1rem;border-radius:999px;border:2px solid #fff;background:#1d8da7;box-shadow:0 2px 4px rgba(2,46,86,.15)}
.agm-shower-radar-center{position:absolute;left:50%;top:50%;margin-top:1rem;transform:translateX(-50%);white-space:nowrap;background:#022e56;padding:.375rem .75rem;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#fff}
@media(min-width:640px){.agm-shower-radar-center{font-size:10px}}
.agm-shower-radar-town{position:absolute;border:1px solid #cbd5e1;background:#fff;padding:.375rem .625rem;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#475569;box-shadow:0 1px 2px rgba(2,46,86,.06);transition:border-color .3s,color .3s}
@media(min-width:640px){.agm-shower-radar-town{padding:.375rem .75rem;font-size:10px}}
.agm-shower-radar-town:hover{border-color:#1d8da7;color:#1d8da7}
.agm-shower-planning-cta{border-top:1px solid #e2e8f0;background:#cce8f3;padding:6rem 0}
@media(min-width:640px){.agm-shower-planning-cta{padding:8rem 0}}
.agm-shower-planning-cta-grid{display:grid;gap:3.5rem}
@media(min-width:1024px){.agm-shower-planning-cta-grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem}}
.agm-shower-planning-cta-heading{margin-top:1rem}
.agm-shower-planning-cta-body{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:#475569}
.agm-shower-planning-cta-card{border:1px solid #e2e8f0;background:#fff;padding:2rem;box-shadow:0 30px 70px -35px rgba(2,46,86,.3)}
@media(min-width:640px){.agm-shower-planning-cta-card{padding:2.5rem}}
.agm-shower-planning-cta-card-body{margin:0;font-size:.875rem;line-height:1.7;color:#475569}
@media(min-width:640px){.agm-shower-planning-cta-card-body{font-size:1rem}}
.agm-shower-planning-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem}
.agm-shower-planning-cta-phone{display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid #cbd5e1;padding-bottom:.125rem;font-size:.875rem;font-weight:700;color:#022e56;text-decoration:none;transition:border-color .3s,color .3s}
.agm-shower-planning-cta-phone:hover{border-color:#1d8da7;color:#1d8da7}

/* ==========================================================================
   Coverage patch ÃÂ¢ÃÂÃÂ layout wrappers + truncated section tails
   ========================================================================== */

/* Gallery aliases / empty state */
.agm-gallery-heading { /* alias if used */ }
.agm-gallery-archive-heading.agm-gallery-heading,
.agm-gallery-heading {
	margin: 0;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(1.875rem, 3vw, 2.25rem);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.18;
	color: #022e56;
}
.agm-gallery-count,
.agm-gallery-archive-count {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #64748b;
}
.agm-gallery-item { break-inside: avoid; margin-bottom: 2rem; }
.agm-gallery-empty,
.agm-gallery-archive-empty {
	margin: 2rem 0 0;
	text-align: center;
	font-size: 0.875rem;
	color: #64748b;
}

/* Contact form bits */
.agm-contact-error--form {
	margin: 1rem 0 0;
	padding: 0.75rem 1rem;
	border: 1px solid #fecaca;
	background: #fef2f2;
	font-size: 0.875rem;
	font-weight: 600;
	color: #dc2626;
}
.agm-contact-name { /* input name hook */ }
.agm-contact-reassurance-item { display: inline; }

/* Blog */
.agm-blog-article-body {
	margin-top: 2rem;
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #334155;
}
.agm-blog-article-body p { margin: 0 0 1.25rem; }
.agm-blog-empty {
	margin: 2rem 0 0;
	text-align: center;
	font-size: 0.875rem;
	color: #64748b;
}

/* Window glass final CTA (was truncated in prior fragment) */
.agm-wg-final-cta {
	border-top: 1px solid #e2e8f0;
	background: #fff;
	padding: 6rem 0;
}
@media (min-width: 640px) { .agm-wg-final-cta { padding: 8rem 0; } }
.agm-wg-final-cta-inner {
	margin: 0 auto;
	max-width: 48rem;
	text-align: center;
}
.agm-wg-final-cta-heading { margin-top: 1rem; }
.agm-wg-final-cta-body {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.agm-wg-final-cta-call-label {
	margin: 3.5rem 0 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #94a3b8;
}
.agm-wg-final-cta-phone {
	display: block;
	margin-top: 0.75rem;
	font-family: var(--agm-font-display, "Archivo", sans-serif);
	font-size: clamp(3rem, 6vw, 3.75rem);
	font-weight: 300;
	letter-spacing: 0.03em;
	color: #022e56;
	text-decoration: none;
	transition: color 0.3s;
}
.agm-wg-final-cta-phone:hover { color: #1d8da7; }
.agm-wg-final-cta-actions { margin-top: 2.5rem; }

/* Shared layout wrappers */
.agm-vg-boat-media,
.agm-bg-checklist-visual,
.agm-bg-elements-visual,
.agm-bg-materials-copy,
.agm-cm-installation-copy,
.agm-cm-renovation-copy,
.agm-cm-repair-copy,
.agm-cm-services-index-copy,
.agm-cm-wall-diagram-copy,
.agm-cm-full-length-stage,
.agm-fl-difference-copy,
.agm-fl-difference-panel,
.agm-fl-measured-copy,
.agm-fl-right-fit-copy,
.agm-wg-broken-copy,
.agm-wg-repair-copy,
.agm-wg-sealing-copy,
.agm-shower-door-visual-copy,
.agm-shower-planning-cta-copy,
.agm-shower-replacing-content,
.agm-shower-serving-radar-copy,
.agm-shower-why-content,
.agm-shower-copy { min-width: 0; }

.agm-bg-cutting-slot {
	display: block;
	height: 0.25rem;
	background: #022e56;
}
.agm-bg-ports-item--home { background: #022e56; color: #fff; }
.agm-bg-ports-item--tail { opacity: 0.85; }
.agm-cm-wall-benefits-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

