/* _content/E239F.Web.Branding/Components/BrandButton.razor.rz.scp.css */
[b-77k7zg4ab3] .epoxy-btn {
    border-radius: 4px;
    padding-inline: 1.5rem;
    min-height: 44px;
}

[b-77k7zg4ab3] .epoxy-btn.mud-button-filled-primary:hover {
    background-color: var(--epoxy-red-deep);
}
/* _content/E239F.Web.Branding/Components/BrandCountyMap.razor.rz.scp.css */
/* BrandCountyMap — styles ported from preview/county-map.html and adapted for
   Blazor scoped CSS. Brand tokens come from the global epoxy239-brand.css. */

.bcm-root[b-9qfbvu3fla] {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 0;
	color: var(--epoxy-text-on-dark);
	font-family: var(--epoxy-font-body);
}

/* TOOLBAR — role + map-view pill toggles, right-aligned. */
.bcm-toolbar[b-9qfbvu3fla] {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: center;
	justify-content: flex-end;
}

.bcm-toggle-group[b-9qfbvu3fla] {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--epoxy-surface);
	border: 1px solid var(--epoxy-divider-on-dark);
	border-radius: 999px;
	padding: 4px 4px 4px 14px;
}

.bcm-glabel[b-9qfbvu3fla] {
	font-size: 0.66rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--epoxy-text-secondary-on-dark);
	margin-right: 4px;
}

.bcm-toggle-group button[b-9qfbvu3fla] {
	background: transparent;
	border: none;
	color: var(--epoxy-text-on-dark);
	padding: 6px 12px;
	border-radius: 999px;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: all 150ms ease-out;
}

.bcm-toggle-group button:hover[b-9qfbvu3fla]     { color: var(--epoxy-red); }
.bcm-toggle-group button.active[b-9qfbvu3fla] {
	background: var(--epoxy-red);
	color: var(--epoxy-white);
	font-weight: 700;
	box-shadow: 0 2px 8px 0 rgba(214, 40, 40, 0.3);
}

/* STAT PILLS */
.bcm-stats[b-9qfbvu3fla] {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.bcm-label[b-9qfbvu3fla] {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--epoxy-red);
	margin-right: 10px;
}

.bcm-stats button[b-9qfbvu3fla] {
	background: var(--epoxy-surface);
	border: 1px solid var(--epoxy-divider-on-dark);
	color: var(--epoxy-text-on-dark);
	padding: 8px 14px;
	border-radius: 999px;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: all 150ms ease-out;
}

.bcm-stats button:hover[b-9qfbvu3fla] {
	border-color: var(--epoxy-red);
	color: var(--epoxy-white);
	background: var(--epoxy-surface-elevated);
}

.bcm-stats button.active[b-9qfbvu3fla] {
	background: var(--epoxy-red);
	border-color: var(--epoxy-red);
	color: var(--epoxy-white);
	font-weight: 700;
	box-shadow: 0 4px 14px 0 rgba(214, 40, 40, 0.25);
}

/* CANVAS — the SVG host. */
.bcm-canvas-wrap[b-9qfbvu3fla] {
	position: relative;
	min-height: 0;
}

.bcm-canvas[b-9qfbvu3fla] {
	background-color: #1c1e22;
	border: 1px solid var(--epoxy-divider-on-dark);
	border-radius: 8px;
	min-height: 480px;
	width: 100%;
	overflow: hidden;
	position: relative;
}

[b-9qfbvu3fla] svg.bcm-svg {
	width: 100%;
	height: 100%;
	display: block;
}

[b-9qfbvu3fla] svg.bcm-svg[data-mapview="interactive"]              { cursor: grab; }
[b-9qfbvu3fla] svg.bcm-svg[data-mapview="interactive"]:active       { cursor: grabbing; }

/* COUNTY POLYGONS */
[b-9qfbvu3fla] path.bcm-county {
	stroke: rgba(214, 40, 40, 0.55);
	stroke-width: 0.7;
	stroke-linejoin: round;
	transition: fill 220ms ease-out, stroke 150ms;
	cursor: pointer;
}

/* State-level polygons in the US overview need a beefier stroke so the
   borders are visible at the country-wide scale — at 0.7 they vanish into
   the canvas background. */
[b-9qfbvu3fla] path.bcm-county--state {
	stroke: rgba(214, 40, 40, 0.85);
	stroke-width: 1.4;
}

[b-9qfbvu3fla] path.bcm-county--state:hover {
	stroke-width: 2.4;
}

/* US-overview labels: bigger 2-letter state abbreviation, easier to read at
   the country scale than the default per-county 11px. */
[b-9qfbvu3fla] text.bcm-county-label--state {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	opacity: 1;
}

[b-9qfbvu3fla] path.bcm-county:hover {
	stroke: var(--epoxy-red);
	stroke-width: 1.6;
	filter: drop-shadow(0 0 12px rgba(214, 40, 40, 0.7));
}

[b-9qfbvu3fla] path.bcm-county.selected {
	fill: var(--epoxy-white) !important;
	stroke: var(--epoxy-red);
	stroke-width: 2.4;
	filter:
		drop-shadow(0 0 8px rgba(255, 255, 255, 0.85))
		drop-shadow(0 0 22px rgba(214, 40, 40, 0.7));
}

/* Highlighted = every county in the zone the user just clicked/inspected.
   Visually matches `.selected` so the WHOLE zone reads as one selected unit
   (single-county clicks promote to zone-wide selection via the C# handler).
   The white fill + bright glow makes a 3-county zone look as crisp as a
   single-county selection — no "active one, dimmed siblings" ambiguity.
   :not(.bcm-county--state) keeps this off the US-overview state polygons;
   their highlight is a glow ring only, so the paintAll red/amber fill (which
   encodes claimed vs leads-only) shines through. */
[b-9qfbvu3fla] path.bcm-county.highlighted:not(.bcm-county--state) {
	fill: var(--epoxy-white) !important;
	stroke: var(--epoxy-red);
	stroke-width: 2.6;
	filter:
		drop-shadow(0 0 8px rgba(255, 255, 255, 0.85))
		drop-shadow(0 0 22px rgba(214, 40, 40, 0.7));
}

/* US-overview state highlight: glow + brighter stroke, no fill override. */
[b-9qfbvu3fla] path.bcm-county--state.highlighted {
	stroke: var(--epoxy-red);
	stroke-width: 2.8;
	filter:
		drop-shadow(0 0 8px rgba(214, 40, 40, 0.85))
		drop-shadow(0 0 18px rgba(214, 40, 40, 0.55));
}

/* Draft = the user is building a zone; this is the running selection. Distinct
   from .highlighted (read-only inspect) by the red-translucent fill so it's
   obvious which counties are "in the bag" while the builder is open. */
[b-9qfbvu3fla] path.bcm-county.draft {
	fill: rgba(214, 40, 40, 0.45) !important;
	stroke: #ff4040;
	stroke-width: 2.4;
	filter:
		drop-shadow(0 0 6px rgba(255, 64, 64, 0.85))
		drop-shadow(0 0 14px rgba(214, 40, 40, 0.55));
}

/* FL silhouette ribbon */
[b-9qfbvu3fla] path.bcm-fl-outline {
	fill: none;
	stroke: var(--epoxy-red);
	stroke-width: 1.8;
	stroke-linejoin: round;
	stroke-linecap: round;
	pointer-events: none;
	filter: drop-shadow(0 0 10px rgba(214, 40, 40, 0.55));
}

/* Per-zone aggregated lead total — one label per Territory, drawn at the
   zone-group centroid when the "Leads" stat is active. */
[b-9qfbvu3fla] text.bcm-zone-leads-label {
	font-family: var(--epoxy-font-display);
	font-size: 22px;
	font-weight: 700;
	fill: var(--epoxy-white);
	letter-spacing: 0.02em;
	pointer-events: none;
	text-shadow:
		0 0 6px rgba(0, 0, 0, 0.95),
		0 0 14px rgba(0, 0, 0, 0.6),
		0 1px 2px rgba(0, 0, 0, 0.8);
}

/* County numeric labels — leads / tasa de cierre overlay. */
[b-9qfbvu3fla] text.bcm-county-label {
	font-family: var(--epoxy-font-display);
	font-size: 11px;
	fill: var(--epoxy-white);
	font-weight: 400;
	letter-spacing: 0.04em;
	pointer-events: none;
	text-shadow: 0 1px 3px rgba(0,0,0,0.85), 0 0 4px rgba(0,0,0,0.6);
	opacity: 0;
	transition: opacity 220ms ease-out;
}

[b-9qfbvu3fla] svg.bcm-svg[data-active-stat="leads"] text.bcm-county-label,
[b-9qfbvu3fla] svg.bcm-svg[data-active-stat="conversion"] text.bcm-county-label {
	opacity: 1;
}

[b-9qfbvu3fla] text.bcm-county-label.selected-label {
	fill: #0B0B0B;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.4);
}

/* Mobile — stack the toolbars and let the canvas fill width. */
@media (max-width: 900px) {
	.bcm-toolbar[b-9qfbvu3fla] { justify-content: flex-start; }
	.bcm-canvas[b-9qfbvu3fla] { min-height: 360px; }
}
/* _content/E239F.Web.Branding/Components/BrandFooter.razor.rz.scp.css */
.epoxy-footer[b-umwr1cn2qb] {
    background-color: var(--epoxy-black);
    color: var(--epoxy-white);
    border-top: 1px solid var(--epoxy-divider-on-dark);
}

.epoxy-footer__inner[b-umwr1cn2qb] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 4vw, 3rem);
}

@media (min-width: 768px) {
    .epoxy-footer__inner[b-umwr1cn2qb] {
        grid-template-columns: 1fr auto;
        gap: 3rem;
        align-items: center;
    }
}

.epoxy-footer__brand[b-umwr1cn2qb] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.epoxy-footer__tagline[b-umwr1cn2qb] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-size: 0.875rem;
    color: var(--epoxy-text-secondary-on-dark);
    max-width: 38ch;
    margin: 0;
}

.epoxy-footer__links[b-umwr1cn2qb]  ul,
.epoxy-footer__links ul[b-umwr1cn2qb] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.epoxy-footer__links[b-umwr1cn2qb]  a,
.epoxy-footer__links a[b-umwr1cn2qb] {
    color: var(--epoxy-text-secondary-on-dark);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 120ms ease-out;
}

.epoxy-footer__links[b-umwr1cn2qb]  a:hover,
.epoxy-footer__links a:hover[b-umwr1cn2qb] {
    color: var(--epoxy-red);
}

.epoxy-footer__shield[b-umwr1cn2qb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.epoxy-footer__shield-text[b-umwr1cn2qb] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--epoxy-red);
    margin: 0;
    max-width: 14ch;
}

.epoxy-footer__strip[b-umwr1cn2qb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.5rem;
    padding: 1rem clamp(1rem, 4vw, 3rem);
    border-top: 1px solid var(--epoxy-divider-on-dark);
    font-family: var(--epoxy-font-body), sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.epoxy-footer__url[b-umwr1cn2qb] {
    margin-left: auto;
    color: var(--epoxy-text-secondary-on-dark);
}

.epoxy-footer__legal[b-umwr1cn2qb] {
    border-top: 1px solid var(--epoxy-divider-on-dark);
    background-color: rgba(0, 0, 0, 0.35);
    font-family: var(--epoxy-font-body), sans-serif;
    font-size: 0.75rem;
    color: var(--epoxy-text-secondary-on-dark);
}

.epoxy-footer__legal-inner[b-umwr1cn2qb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1.5rem;
    padding: 0.85rem clamp(1rem, 4vw, 3rem);
}

.epoxy-footer__legal-links[b-umwr1cn2qb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.epoxy-footer__legal-links a[b-umwr1cn2qb] {
    color: var(--epoxy-text-secondary-on-dark);
    text-decoration: none;
    transition: color 120ms ease-out;
}

.epoxy-footer__legal-links a:hover[b-umwr1cn2qb] {
    color: var(--epoxy-red);
}

.epoxy-footer__credit a[b-umwr1cn2qb] {
    color: var(--epoxy-white);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--epoxy-red);
    transition: color 120ms ease-out;
}

.epoxy-footer__credit a:hover[b-umwr1cn2qb] {
    color: var(--epoxy-red);
}
/* _content/E239F.Web.Branding/Components/BrandHero.razor.rz.scp.css */
.epoxy-hero[b-i3uxf018ds] {
    position: relative;
    overflow: hidden;
    padding-block: clamp(2.5rem, 5vw, 4.5rem);
    padding-inline: clamp(1rem, 4vw, 3rem);
    color: var(--epoxy-white);
    isolation: isolate;
}

.epoxy-hero--dark[b-i3uxf018ds] { background-color: var(--epoxy-black); }
.epoxy-hero--surface[b-i3uxf018ds] { background-color: var(--epoxy-surface); }

.epoxy-hero__photo[b-i3uxf018ds] {
    position: absolute;
    inset: 0;
    background-image: var(--hero-bg);
    background-size: cover;
    background-position: center;
    z-index: -2;
}

.epoxy-hero__scrim[b-i3uxf018ds] {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 17, 20, 0.55) 0%, rgba(15, 17, 20, 0.9) 100%);
    z-index: -1;
}

.epoxy-hero__inner[b-i3uxf018ds] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    max-width: 760px;
}

.epoxy-hero__headline[b-i3uxf018ds] {
    color: var(--epoxy-white);
    margin: 0;
}

.epoxy-hero__subhead[b-i3uxf018ds] {
    font-size: clamp(1rem, 1.4vw, 1.125rem);
    line-height: 1.6;
    color: var(--epoxy-text-secondary-on-dark);
    max-width: 60ch;
    margin: 0;
}

.epoxy-hero__cta[b-i3uxf018ds] {
    margin-top: 0.75rem;
}

.epoxy-hero__extra[b-i3uxf018ds] {
    margin-top: 0.75rem;
}
/* _content/E239F.Web.Branding/Components/CertificationShield.razor.rz.scp.css */
.epoxy-shield[b-2q07rrnkjr] {
    display: inline-block;
    line-height: 0;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.45));
}

.epoxy-shield svg[b-2q07rrnkjr] {
    display: block;
    width: 100%;
    height: 100%;
}

.epoxy-shield--small[b-2q07rrnkjr] {
    width: 64px;
    height: 76px;
}

.epoxy-shield--medium[b-2q07rrnkjr] {
    width: 120px;
    height: 144px;
}

.epoxy-shield--large[b-2q07rrnkjr] {
    width: 200px;
    height: 240px;
}
/* _content/E239F.Web.Branding/Components/Epoxy239Logo.razor.rz.scp.css */
.epoxy-logo[b-dx1xbsw408] {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
    text-decoration: none;
    user-select: none;
    gap: 0.25rem;
}

.epoxy-logo__img[b-dx1xbsw408] {
    display: block;
    width: auto;
    height: 100%;
    object-fit: contain;
    /* Fixed red neon glow — no hover variant. The hover state was bumping the
       blur radius wide enough that on gradient backgrounds (e.g. LoginLayout)
       the drop-shadow boundary clipped to a visible square halo. */
    filter:
        drop-shadow(0 0 4px  rgba(214, 40, 40, 0.85))
        drop-shadow(0 0 12px rgba(214, 40, 40, 0.55))
        drop-shadow(0 0 24px rgba(214, 40, 40, 0.35));
}

/* Sizes — control the rendered logo height. */
.epoxy-logo--small[b-dx1xbsw408]  { height: 32px; }
.epoxy-logo--medium[b-dx1xbsw408] { height: 48px; }
.epoxy-logo--large[b-dx1xbsw408]  { height: 96px; }
/* _content/E239F.Web.Branding/Components/PricingCard.razor.rz.scp.css */
.epoxy-pricing[b-dhm83o74rr] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    background-color: var(--epoxy-surface);
    color: var(--epoxy-white);
    border-radius: 12px;
    border: 1px solid var(--epoxy-divider-on-dark);
    padding: 1.5rem 1.25rem 1.25rem;
    overflow: hidden;
}

.epoxy-pricing[b-dhm83o74rr]::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: var(--tier-accent, var(--epoxy-divider-on-dark));
}

.epoxy-pricing--certified[b-dhm83o74rr] { --tier-accent: #B8BBC0; }     /* light cement edge for entry tier */
.epoxy-pricing--select[b-dhm83o74rr]    { --tier-accent: var(--epoxy-red); }       /* brand red for the popular tier */
.epoxy-pricing--premium[b-dhm83o74rr]   { --tier-accent: var(--epoxy-white); }     /* clean white for prestige tier */

.epoxy-pricing.is-highlighted[b-dhm83o74rr] {
    border-color: var(--epoxy-red);
    box-shadow: 0 0 0 1px var(--epoxy-red);
}

.epoxy-pricing__flag[b-dhm83o74rr] {
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    font-family: var(--epoxy-font-body), sans-serif;
    font-weight: 700;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--epoxy-white);
    background-color: var(--epoxy-red);
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.epoxy-pricing__head[b-dhm83o74rr] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.epoxy-pricing__plan[b-dhm83o74rr] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-weight: 600;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--tier-accent);
}

.epoxy-pricing__tier[b-dhm83o74rr] {
    font-family: var(--epoxy-font-display), sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1;
    margin: 0;
    color: var(--epoxy-white);
}

.epoxy-pricing__price[b-dhm83o74rr] {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
    margin-top: 0.25rem;
}

.epoxy-pricing__amount[b-dhm83o74rr] {
    font-family: var(--epoxy-font-display), sans-serif;
    font-size: 2rem;
    line-height: 1;
    color: var(--epoxy-white);
}

.epoxy-pricing__cadence[b-dhm83o74rr] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-size: 0.8125rem;
    color: var(--epoxy-text-secondary-on-dark);
}

.epoxy-pricing__setup[b-dhm83o74rr] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-size: 0.75rem;
    color: var(--epoxy-text-secondary-on-dark);
    margin: 0;
    line-height: 1.4;
}

.epoxy-pricing__perks[b-dhm83o74rr] {
    list-style: none;
    padding: 0;
    margin: 0.25rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.epoxy-pricing__perks li[b-dhm83o74rr] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--epoxy-text-secondary-on-dark);
    padding-left: 1.125rem;
    position: relative;
}

.epoxy-pricing__perks li[b-dhm83o74rr]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--tier-accent);
}

.epoxy-pricing__cta[b-dhm83o74rr] {
    margin-top: auto;
    padding-top: 0.5rem;
}
/* _content/E239F.Web.Branding/Components/ValuePropCard.razor.rz.scp.css */
.epoxy-vp[b-ew8cxukf9v] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1rem 0.25rem;
}

.epoxy-vp__icon[b-ew8cxukf9v] {
    color: var(--epoxy-red) !important;
}

.epoxy-vp__title[b-ew8cxukf9v] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--epoxy-white);
    margin: 0;
    line-height: 1.3;
}

.epoxy-vp__body[b-ew8cxukf9v] {
    font-family: var(--epoxy-font-body), sans-serif;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--epoxy-text-secondary-on-dark);
    margin: 0;
}
