/* Owlsora Elements — Industries widget (site plan + industry cards) */

.spar {
	--spar-bg: #E8F1FA;
	--spar-max: 1200px;
	--spar-pad-y: 104px;
	--spar-pad-x: 16px;
	--spar-gap: 40px;
	--spar-eyebrow: #0B6BF0;
	--spar-title: #0B1A3D;
	--spar-sub: #56658A;
	--spar-water: #2D8CFF;
	--spar-land: #FFFDF6;
	--spar-navy: #0B1A3D;
	--spar-pin: #2D8CFF;
	--spar-pin-hq: #0B6BF0;
	--spar-map-radius: 30px;
	--spar-card-bg: #FFFFFF;
	--spar-card-title: #0B1A3D;
	--spar-chip-bg: #EEF5FC;
	--spar-chip: #2A3A66;
	--spar-chip-hover: #0B6BF0;
	--spar-hq-bg: #0B1A3D;
	--spar-card-radius: 24px;

	position: relative;
	background-color: var(--spar-bg);
	color: #060F24;
	font-family: "Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.6;
}
.spar *,
.spar *::before,
.spar *::after { box-sizing: border-box; }
.spar--texture {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%230b1a3d' fill-opacity='.06'%3E%3Ccircle cx='12' cy='20' r='1.4'/%3E%3Ccircle cx='70' cy='44' r='1'/%3E%3Ccircle cx='130' cy='12' r='1.2'/%3E%3Ccircle cx='40' cy='96' r='1.4'/%3E%3Ccircle cx='110' cy='80' r='1'/%3E%3Ccircle cx='150' cy='130' r='1.3'/%3E%3Ccircle cx='86' cy='140' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
}
.spar.owe-stretch { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }

.spar__inner {
	max-width: var(--spar-max);
	margin: 0 auto;
	padding-top: var(--spar-pad-y);
	padding-bottom: var(--spar-pad-y);
	padding-left: max(var(--spar-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--spar-pad-x), env(safe-area-inset-right, 0px));
}

/* heading */
.spar__head { max-width: 900px; margin: 0 auto; text-align: center; }
.spar__eyebrow { display: block; margin-bottom: 14px; color: var(--spar-eyebrow); font-size: 15px; font-weight: 800; letter-spacing: .01em; }
.spar .spar__title {
	margin: 0;
	padding: 0;
	color: var(--spar-title);
	font-family: "Anton", Impact, "Arial Narrow Bold", sans-serif;
	font-size: clamp(46px, 6vw, 84px);
	font-weight: 400;
	line-height: .98;
	text-transform: uppercase;
	text-wrap: balance;
}
.spar .spar__sub { margin: 22px 0 0; color: var(--spar-sub); font-size: 20px; line-height: 1.6; }

/* layout */
.spar__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--spar-gap); margin-top: 52px; align-items: start; }
.spar--single .spar__layout { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 980px) { .spar__layout { grid-template-columns: minmax(0, 1fr); } }

/* map */
.spar__map {
	position: relative;
	overflow: hidden;
	background: var(--spar-water);
	border: 4px solid var(--spar-navy);
	border-radius: var(--spar-map-radius);
	box-shadow: 0 22px 50px rgba(11, 26, 61, .22);
}
.spar__map svg { display: block; width: 100%; height: auto; }
.spar__map-gulf { font-family: "Anton", Impact, sans-serif; }
.spar__map-county { font-family: "Figtree", system-ui, sans-serif; }
.spar__map-script { font-family: "Kaushan Script", "Brush Script MT", cursive; }
.spar__pin { cursor: pointer; }
.spar__pin .spar__dot { transition: r .15s ease; }
.spar__pin:hover .spar__dot,
.spar__pin:focus .spar__dot { r: 9; }
.spar__pin.is-hq:hover .spar__dot,
.spar__pin.is-hq:focus .spar__dot { r: 11; }
.spar__pin-label {
	font-family: "Figtree", system-ui, sans-serif;
	font-size: 16px;
	font-weight: 700;
	fill: var(--spar-navy);
	paint-order: stroke;
	stroke: #fff;
	stroke-width: 5px;
	stroke-linejoin: round;
}
.spar__pin.is-hq .spar__pin-label { font-size: 18px; }
.spar__pin { cursor: default; }
.spar__pin:hover .spar__dot { r: 6; }
.spar__pin.is-hq:hover .spar__dot { r: 9; }
.spar__pin:focus { outline: none; }
.spar__pin:focus-visible .spar__pin-label { fill: var(--spar-pin-hq); }
.spar__legend {
	position: absolute;
	right: 14px;
	bottom: 14px;
	max-width: 220px;
	padding: 10px 14px;
	background: rgba(255, 255, 255, .95);
	border: 2px solid var(--spar-navy);
	border-radius: 14px;
	color: #060F24;
	font-size: 13px;
	line-height: 1.4;
}
.spar__legend b { display: block; margin-bottom: 4px; color: var(--spar-pin-hq); font-family: "Anton", Impact, sans-serif; font-size: 18px; font-weight: 400; line-height: 1; text-transform: uppercase; }
@media (max-width: 640px) {
	.spar__legend { position: static; max-width: none; border: 0; border-top: 3px solid var(--spar-navy); border-radius: 0; }
}

/* county cards */
.spar__counties { display: grid; gap: 22px; min-width: 0; }
.spar__county {
	padding: 24px 26px;
	background: var(--spar-card-bg);
	border-radius: var(--spar-card-radius);
	box-shadow: 0 8px 20px rgba(11, 26, 61, .08);
}
.spar .spar__county-title {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	color: var(--spar-card-title);
	font-family: "Anton", Impact, "Arial Narrow Bold", sans-serif;
	font-size: 28px;
	font-weight: 400;
	line-height: .98;
	text-transform: uppercase;
}
.spar__county-title small { color: var(--spar-sub); font-family: "Figtree", system-ui, sans-serif; font-size: 14px; font-weight: 700; text-transform: none; white-space: nowrap; }
.spar .spar__chips { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.spar .spar__chips li { margin: 0; }
.spar__chip {
	display: inline-block;
	padding: 8px 14px;
	background: var(--spar-chip-bg);
	border: 1px solid rgba(6, 15, 36, .12);
	border-radius: 999px;
	color: var(--spar-chip);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	text-decoration: none;
	transition: border-color .15s ease, color .15s ease;
}
.spar a.spar__chip:hover,
.spar a.spar__chip:focus-visible { border-color: var(--spar-chip-hover); color: var(--spar-chip-hover); }
.spar .spar__chip.is-hq { background: var(--spar-hq-bg); border-color: var(--spar-hq-bg); color: #FFFFFF; }
.spar a.spar__chip.is-hq:hover { color: #FFFFFF; border-color: var(--spar-chip-hover); }
.spar a:focus-visible { outline: 3px solid #2D8CFF; outline-offset: 3px; }

@media (max-width: 420px) {
	.spar__county { padding: 22px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.spar * { transition: none !important; }
}

/* Full width: drop the padding of a container that only holds this widget */
.e-con:has(> .elementor-widget-ow-areas:only-child .owe-stretch),
.e-con:has(> .e-con-inner > .elementor-widget-ow-areas:only-child .owe-stretch) {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--margin-top: 0px;
	--margin-bottom: 0px;
	padding: 0;
}
.elementor-widget-wrap:has(> .elementor-widget-ow-areas:only-child .owe-stretch) { padding: 0 !important; }
.elementor-section:has(.elementor-widget-wrap > .elementor-widget-ow-areas:only-child .owe-stretch) { padding-top: 0; padding-bottom: 0; }
.elementor-widget-ow-areas:has(.owe-stretch) { margin-top: 0; margin-bottom: 0; --kit-widget-spacing: 0px; }
