/* ==========================================================================
   Previstar Brand Kit for Divi — v1.1
   Matches the original Previstar HTML styling.
   ========================================================================== */

:root {
	--previstar-navy:      #163C4B;
	--previstar-navy-deep: #011E2E;
	--previstar-navy-mid:  #1E4E61;
	--previstar-lime:      #BBD640;
	--previstar-lime-dk:   #9DB82C;
	--previstar-ice:       #F2F6F7;
	--previstar-line:      #D6E0E3;
	--previstar-body:      #3C4C52;
}

/* ==========================================================================
   1. KILL THE GLOBAL UPPERCASE  <-- the main fix
   Something site-wide is forcing caps on headings and paragraphs.
   In the original design ONLY eyebrows, buttons, nav and cycle chips
   were uppercase. This forces everything else back to sentence case.
   ========================================================================== */

body,
p,
h1, h2, h3, h4, h5, h6,
li,
.et_pb_text,
.et_pb_text p,
.et_pb_text h1,
.et_pb_text h2,
.et_pb_text h3,
.et_pb_blurb,
.et_pb_blurb p,
.et_pb_blurb h4,
.et_pb_blurb .et_pb_module_header,
.et_pb_blurb .et_pb_module_header a {
	text-transform: none !important;
}

/* Re-apply uppercase ONLY where the design calls for it */
.previstar-eyebrow,
.previstar-eyebrow p,
.et_pb_button,
.et_pb_menu .et-menu > li > a,
.previstar-cycle,
.previstar-cycle .previstar-chip {
	text-transform: uppercase !important;
}

/* ==========================================================================
   2. Typography - exact values from the source HTML
   ========================================================================== */

body,
.et_pb_module,
.et_pb_text p,
#main-content .container p {
	font-family: 'Open Sans', Arial, sans-serif !important;
	color: var(--previstar-body);
	font-size: 15.5px;
	line-height: 1.7;
	letter-spacing: 0 !important;
}

h1, h2, h3, h4, h5, h6,
.et_pb_button,
.et_pb_menu .et-menu li a,
.previstar-eyebrow,
.previstar-cycle {
	font-family: 'Poppins', Arial, sans-serif !important;
}

h1 {
	font-size: 44px !important;
	line-height: 1.12 !important;
	font-weight: 700 !important;
	letter-spacing: -0.5px !important;
	color: var(--previstar-navy);
	margin: 0 0 18px !important;
}

h2 {
	font-size: 32px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	color: var(--previstar-navy);
	margin: 0 0 14px !important;
}

h3, .et_pb_blurb h4, .et_pb_blurb .et_pb_module_header {
	font-size: 16px !important;
	line-height: 1.4 !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	color: var(--previstar-navy);
	margin: 0 0 8px !important;
}

/* Eyebrow label */
.previstar-eyebrow p {
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	color: var(--previstar-lime-dk) !important;
	margin: 0 0 12px !important;
	line-height: 1.6 !important;
}

/* Dark sections */
.et_pb_section[data-background-layout="dark"] h1,
.et_pb_section[data-background-layout="dark"] h2,
.et_pb_section[data-background-layout="dark"] h3,
.previstar-dark h1, .previstar-dark h2, .previstar-dark h3 {
	color: #ffffff !important;
}
.previstar-dark .previstar-eyebrow p { color: var(--previstar-lime) !important; }
.previstar-dark p { color: #C3D3D8 !important; }

/* ==========================================================================
   3. SPACING - rows, sections, modules
   ========================================================================== */

.et_pb_section {
	padding-top: 84px;
	padding-bottom: 84px;
}

.et_pb_row {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 26px;
	max-width: 1180px !important;
	width: 90% !important;
}
.et_pb_row:last-child { margin-bottom: 0; }

/* Card grids need a real gutter (HTML used 22px) */
.et_pb_row .et_pb_column {
	margin-bottom: 22px;
}

.et_pb_module { margin-bottom: 0; }
.et_pb_text { margin-bottom: 14px !important; }
.et_pb_divider { margin-bottom: 22px !important; }

/* ==========================================================================
   4. CARDS (blurbs) - equal height, icon, correct borders
   ========================================================================== */

.et_pb_blurb {
	background: #ffffff;
	border: 1px solid var(--previstar-line);
	border-top: 3px solid var(--previstar-lime);
	border-radius: 3px;
	padding: 24px !important;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Make every card in a row the same height */
.et_pb_row { display: flex; flex-wrap: wrap; }
.et_pb_row .et_pb_column { display: flex; flex-direction: column; }
.et_pb_row .et_pb_column > .et_pb_module { width: 100%; }

/* Icon circle - audience + module cards */
.et_pb_blurb .et_pb_main_blurb_image {
	margin-bottom: 12px;
}
.et_pb_blurb .et_pb_main_blurb_image img {
	width: 46px !important;
	height: 46px !important;
	padding: 11px;
	background: rgba(187, 214, 64, 0.12);
	border-radius: 50%;
}

/* Checkmark circle for the 8 "Difference" cards */
.et_pb_blurb .et-pb-icon {
	width: 38px !important;
	height: 38px !important;
	line-height: 34px !important;
	font-size: 16px !important;
	border: 2px solid var(--previstar-lime);
	border-radius: 50%;
	color: var(--previstar-navy) !important;
	display: block;
	text-align: center;
	margin-bottom: 12px;
}

.et_pb_blurb p {
	font-size: 14px !important;
	line-height: 1.6 !important;
	margin-bottom: 10px !important;
}

/* "Learn More ->" pinned to the bottom so cards align */
.et_pb_blurb span[style*="Poppins"] {
	margin-top: auto;
	display: block;
	padding-top: 8px;
}

/* ==========================================================================
   5. Buttons
   ========================================================================== */

.et_pb_button {
	letter-spacing: 0.08em !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	border-radius: 2px !important;
	border-width: 2px !important;
	padding: 14px 30px !important;
	margin: 6px 12px 6px 0 !important;
	transition: all .2s ease;
}
.et_pb_button:after { display: none !important; }
.et_pb_button:hover {
	padding: 14px 30px !important;
	background-color: var(--previstar-lime-dk) !important;
	border-color: var(--previstar-lime-dk) !important;
	color: var(--previstar-navy) !important;
}

/* ==========================================================================
   6. Check list
   ========================================================================== */

ul.previstar-check {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 15px;
}
ul.previstar-check li {
	position: relative;
	padding: 8px 0 8px 30px !important;
	text-transform: none !important;
}
ul.previstar-check li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 14px;
	width: 14px;
	height: 8px;
	border-left: 3px solid var(--previstar-lime);
	border-bottom: 3px solid var(--previstar-lime);
	transform: rotate(-45deg);
}

/* ==========================================================================
   7. Readiness cycle chips
   ========================================================================== */

.previstar-cycle {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	margin: 28px 0 30px;
}
.previstar-cycle .previstar-chip {
	border: 1px solid var(--previstar-lime);
	color: var(--previstar-navy);
	background: #fff;
	padding: 10px 16px;
	border-radius: 2px;
}
.previstar-cycle .previstar-chip:not(:last-child):after {
	content: "\2192";
	color: var(--previstar-lime-dk);
	margin-left: 14px;
}

/* ==========================================================================
   8. Pull quote (Section 03)
   ========================================================================== */

.previstar-pullquote p {
	border-left: 4px solid var(--previstar-lime);
	padding-left: 18px !important;
	font-size: 16px !important;
	color: var(--previstar-navy) !important;
	max-width: 760px;
	text-transform: none !important;
}

/* ==========================================================================
   9. Divider rule
   ========================================================================== */

.et_pb_divider:before {
	border-top-width: 4px !important;
	border-top-color: var(--previstar-lime) !important;
	width: 64px !important;
}

/* ==========================================================================
   10. Menu
   ========================================================================== */

.et_pb_menu .et-menu > li > a {
	letter-spacing: .08em !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	color: var(--previstar-navy) !important;
}
.et_pb_menu .et-menu > li > a:hover {
	color: var(--previstar-lime-dk) !important;
	opacity: 1;
}

/* ==========================================================================
   11. Responsive
   ========================================================================== */

@media (max-width: 980px) {
	h1 { font-size: 32px !important; }
	h2 { font-size: 25px !important; }
	.et_pb_section { padding-top: 56px; padding-bottom: 56px; }
	.previstar-cycle { font-size: 11px; }
	.et_pb_row { display: block; }
	.et_pb_row .et_pb_column { display: block; }
}
