/*
Theme Name: Summit (Kadence Child)
Template: kadence
Version: 1.0
*/

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

/* ── Brand Tokens (Kadence Global Palette + hex fallbacks) ── */
:root {
	--c-blue:    var(--global-palette1, #1171BA);
	--c-blue-l:  var(--global-palette2, #3D97DC);
	--c-ink:     var(--global-palette3, #14181B);
	--c-ink2:    var(--global-palette4, #1C2227);
	--c-muted:   var(--global-palette5, #5A6470);
	--c-paper:   var(--global-palette6, #F6F6F3);
	--c-paper2:  var(--global-palette7, #ECECE7);

	--font-head: 'Saira Condensed', sans-serif;
	--font-body: 'IBM Plex Sans', sans-serif;
}

/* ── Base overrides ── */
html {
	font-size: 16px;
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-body);
	background: var(--c-ink);
	color: var(--c-paper);
	-webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
a   { text-decoration: none; color: inherit; }

/* ── Container ── */
.summit-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 48px;
}

/* ── Section Label (small uppercase cap) ── */
.summit-section-label {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--c-blue-l);
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.summit-section-label::after {
	content: '';
	display: block;
	width: 32px;
	height: 1px;
	background: var(--c-blue-l);
	opacity: 0.6;
}

/* ── Buttons ── */
.summit-btn,
.wp-block-button.summit-btn .wp-block-button__link {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--c-blue);
	padding: 14px 28px;
	border: 2px solid var(--c-blue);
	border-radius: 0;
	transition: background 0.2s, border-color 0.2s;
}

.summit-btn:hover,
.wp-block-button.summit-btn .wp-block-button__link:hover {
	background: var(--c-blue-l);
	border-color: var(--c-blue-l);
	color: #fff;
}

.summit-btn-ghost,
.wp-block-button.summit-btn-ghost .wp-block-button__link {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-paper);
	background: transparent;
	padding: 14px 28px;
	border: 2px solid rgba(246,246,243,0.35);
	border-radius: 0;
	transition: border-color 0.2s, color 0.2s;
}

.summit-btn-ghost:hover,
.wp-block-button.summit-btn-ghost .wp-block-button__link:hover {
	border-color: var(--c-paper);
	color: #fff;
}

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
.summit-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
}

/* core/cover generates its own overlay — boost the gradient */
.summit-hero.wp-block-cover {
	min-height: 100vh;
	background-position: center 30%;
}

.summit-hero.wp-block-cover .wp-block-cover__gradient-background {
	background: linear-gradient(
		to bottom,
		rgba(20,24,27,0.25) 0%,
		rgba(20,24,27,0.45) 40%,
		rgba(20,24,27,0.85) 75%,
		rgba(20,24,27,0.98) 100%
	) !important;
}

.summit-hero .wp-block-cover__inner-container {
	padding: 120px 48px 96px;
	max-width: 1280px;
	margin: 0 auto;
	width: 100%;
	align-self: flex-end;
}

/* Hero eyebrow */
.summit-hero-eyebrow {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--c-blue-l);
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}

.summit-hero-eyebrow::after {
	content: '';
	display: block;
	width: 32px;
	height: 1px;
	background: var(--c-blue-l);
	opacity: 0.6;
}

/* Hero H1 */
.summit-hero h1,
.summit-hero .wp-block-heading.is-style-hero-headline {
	font-family: var(--font-head);
	font-weight: 700;
	font-size: clamp(2.5rem, 4.25vw, 4.25rem);
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--c-paper);
	max-width: 820px;
	margin-bottom: 28px;
}

.summit-hero h1 .accent,
.summit-hero h1 strong {
	color: var(--c-blue-l);
	font-weight: inherit;
}

/* Hero subtext */
.summit-hero .summit-hero-subtext,
.summit-hero > .wp-block-cover__inner-container > p {
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.65;
	color: rgba(246,246,243,0.75);
	max-width: 560px;
	margin-bottom: 40px;
}

/* Hero button group */
.summit-hero .wp-block-buttons {
	gap: 16px;
	flex-wrap: wrap;
}

/* ══════════════════════════════════════════
   TRUST STRIP
══════════════════════════════════════════ */
.summit-trust {
	background: var(--c-blue);
	border-top: 3px solid var(--c-blue-l);
}

.summit-trust .wp-block-columns {
	margin: 0 !important;
	gap: 0 !important;
}

.summit-trust .wp-block-column {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 24px;
	border-right: 1px solid rgba(255,255,255,0.2);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
}

.summit-trust .wp-block-column:last-child {
	border-right: none;
}

.summit-trust p {
	margin: 0;
	color: #fff;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
}

/* ══════════════════════════════════════════
   WHAT WE DO
══════════════════════════════════════════ */
.summit-what {
	background: var(--c-ink2);
	padding: 112px 48px 96px;
}

.summit-what .wp-block-columns {
	gap: 80px;
	align-items: start;
	max-width: 1280px;
	margin: 0 auto;
}

.summit-what h2 {
	font-family: var(--font-head);
	font-weight: 800;
	font-size: clamp(2.25rem, 3vw, 3.25rem);
	line-height: 1.0;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--c-paper);
	margin-bottom: 28px;
	margin-top: 12px;
}

.summit-what p {
	font-size: 1rem;
	line-height: 1.75;
	color: rgba(246,246,243,0.7);
	max-width: 480px;
}

.summit-what .wp-block-image img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	object-position: center;
	filter: brightness(0.88) contrast(1.05);
}

/* ══════════════════════════════════════════
   SERVICES
══════════════════════════════════════════ */
.summit-services {
	background: var(--c-ink);
	padding: 112px 48px;
}

.summit-services > * {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.summit-services h2 {
	font-family: var(--font-head);
	font-weight: 800;
	font-size: clamp(2rem, 2.8vw, 3rem);
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--c-paper);
	line-height: 1.0;
	margin-top: 14px;
	margin-bottom: 64px;
	max-width: 520px;
}

.summit-services .wp-block-columns {
	gap: 2px;
	align-items: stretch;
}

/* ── Service Card ── */
.summit-svc-card {
	background: var(--c-ink2);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s;
}

.summit-svc-card:hover {
	transform: translateY(-4px);
}

.summit-svc-card .wp-block-image {
	margin: 0;
}

.summit-svc-card .wp-block-image img {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	object-position: center;
	display: block;
	filter: brightness(0.82) contrast(1.05) saturate(0.9);
	transition: filter 0.3s;
}

.summit-svc-card:hover .wp-block-image img {
	filter: brightness(0.92) contrast(1.05) saturate(1.0);
}

.summit-svc-card-body {
	padding: 32px 32px 36px;
	flex: 1;
	display: flex;
	flex-direction: column;
	border-top: 3px solid var(--c-blue);
}

.summit-svc-card h3 {
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 1.625rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--c-paper);
	margin-bottom: 14px;
	line-height: 1.05;
}

.summit-svc-card p {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: rgba(246,246,243,0.65);
	flex: 1;
	margin-bottom: 20px;
}

.summit-svc-card a.summit-card-link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-blue-l);
	border-bottom: 1px solid var(--c-blue-l);
	padding-bottom: 2px;
	align-self: flex-start;
	transition: color 0.2s, border-color 0.2s;
}

.summit-svc-card a.summit-card-link:hover {
	color: var(--c-paper);
	border-color: var(--c-paper);
}

/* ══════════════════════════════════════════
   STATS
══════════════════════════════════════════ */
.summit-stats {
	position: relative;
	overflow: hidden;
}

.summit-stats.wp-block-cover {
	min-height: 0;
}

.summit-stats.wp-block-cover .wp-block-cover__gradient-background {
	background: rgba(20,24,27,0.87) !important;
}

.summit-stats .wp-block-cover__inner-container {
	padding: 0;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
}

.summit-stats .wp-block-columns {
	gap: 0;
	margin: 0;
}

.summit-stat-block {
	padding: 80px 64px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-right: 1px solid rgba(255,255,255,0.08);
}

.summit-stat-block:last-child {
	border-right: none;
}

.summit-stat-rule {
	width: 40px;
	height: 3px;
	background: var(--c-blue);
	display: block;
	margin-bottom: 8px;
}

.summit-stat-block h2,
.summit-stat-number {
	font-family: var(--font-head);
	font-weight: 800;
	font-size: clamp(4rem, 6vw, 7rem);
	line-height: 1;
	color: var(--c-paper);
	letter-spacing: -0.01em;
	margin: 0;
}

.summit-stat-block h2 strong,
.summit-stat-number .accent {
	color: var(--c-blue-l);
	font-weight: inherit;
}

.summit-stat-block p,
.summit-stat-label {
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	color: rgba(246,246,243,0.65);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	max-width: 220px;
	margin: 0;
}

/* ══════════════════════════════════════════
   CTA
══════════════════════════════════════════ */
.summit-cta {
	background: var(--c-ink2);
	padding: 120px 48px;
	border-top: 1px solid rgba(255,255,255,0.06);
}

.summit-cta > * {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.summit-cta h2 {
	font-family: var(--font-head);
	font-weight: 800;
	font-size: clamp(2.25rem, 3vw, 3.5rem);
	text-transform: uppercase;
	letter-spacing: 0.01em;
	line-height: 1.0;
	color: var(--c-paper);
	margin-top: 14px;
	margin-bottom: 28px;
}

.summit-cta p {
	font-size: 1rem;
	line-height: 1.75;
	color: rgba(246,246,243,0.65);
	max-width: 440px;
	margin-bottom: 40px;
}

.summit-cta .wp-block-button .wp-block-button__link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--c-blue);
	padding: 16px 36px;
	border: 2px solid var(--c-blue);
	border-radius: 0;
	transition: background 0.2s, border-color 0.2s;
}

.summit-cta .wp-block-button .wp-block-button__link:hover {
	background: var(--c-blue-l);
	border-color: var(--c-blue-l);
	color: #fff;
}

/* ══════════════════════════════════════════
   GLOBAL HEADING OVERRIDES (in summit sections)
══════════════════════════════════════════ */
/* .summit-hero h1 is deliberately NOT in this list — it carries its own weight (700,
   softer than the section headings) in the HERO block above. Re-adding it here would
   silently override that, since this rule is later with equal specificity. */
.summit-what h2,
.summit-services h2,
.summit-cta h2 {
	font-family: var(--font-head);
	font-weight: 800;
	text-transform: uppercase;
}

/* ══════════════════════════════════════════
   MOBILE — stack at 768px
══════════════════════════════════════════ */
@media (max-width: 768px) {

	.summit-container,
	.summit-what,
	.summit-services,
	.summit-cta {
		padding-left: 24px;
		padding-right: 24px;
	}

	.summit-hero .wp-block-cover__inner-container {
		padding: 80px 24px 64px;
	}

	.summit-what {
		padding-top: 72px;
		padding-bottom: 64px;
	}

	.summit-what .wp-block-columns {
		gap: 40px;
		flex-direction: column;
	}

	.summit-services {
		padding-top: 72px;
		padding-bottom: 72px;
	}

	.summit-services .wp-block-columns {
		flex-direction: column;
		gap: 2px;
	}

	.summit-stat-block {
		padding: 48px 24px;
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,0.08);
	}

	.summit-stats .wp-block-columns {
		flex-direction: column;
	}

	.summit-cta {
		padding-top: 72px;
		padding-bottom: 72px;
	}

	.summit-trust .wp-block-columns {
		flex-direction: column;
	}

	.summit-trust .wp-block-column {
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,0.2);
		padding: 14px 20px;
	}

	.summit-trust .wp-block-column:last-child {
		border-bottom: none;
	}
}

/* ---- Header: solid dark bar, light nav, sized logo ---- */
.site-header-wrap,
.site-main-header-inner-wrap,
.site-header-row-container-inner { background: var(--c-ink); }
.site-header .header-navigation .menu > .menu-item > a,
.site-header .header-menu-container a { color: var(--c-paper); }
.site-header .header-navigation .menu > .menu-item > a:hover { color: var(--c-blue-l); }
.site-header .custom-logo { height: 48px !important; width: auto !important; max-width: none !important; }
.site-header-item .site-branding a { line-height: 0; }

/* Logo now rendered natively by Kadence (custom_logo, editable in Customizer). Size it: */
.site-branding a.brand img.custom-logo { height: 48px !important; width: auto !important; max-width: none !important; }

/* ============ PILOT FIXES: gaps, brand blue, buttons ============ */
/* 1. Brand colors now come from the Kadence global palette (Customizer > Colors),
      which is set to the brand hues. Elements below use var(--global-paletteN). */
/* 2. Dark backdrop so nothing light shows behind/between sections */
html, body, .site, .content-bg, .content-container.site-container, .site-main, .entry-content { background-color: var(--global-palette3, #14181B); }
/* 3. Seamless full-bleed sections — remove the 32px block gap */
.entry-content > *,
.summit-hero, .summit-trust, .summit-what, .summit-services, .summit-stats, .summit-cta {
	margin-top: 0 !important; margin-bottom: 0 !important;
}
/* 4a. Primary button = brand blue */
.summit-btn > .wp-block-button__link {
	background-color: var(--global-palette1, #1171BA) !important; border: 2px solid var(--global-palette1, #1171BA) !important;
	color: #fff !important; border-radius: 0 !important;
}
.summit-btn > .wp-block-button__link:hover { background-color: #0d5c96 !important; border-color: #0d5c96 !important; }
/* 4b. Ghost button = white text + visible border, fill on hover */
.summit-btn-ghost > .wp-block-button__link {
	background: transparent !important; color: #F6F6F3 !important;
	border: 2px solid rgba(246,246,243,.55) !important; border-radius: 0 !important;
}
.summit-btn-ghost > .wp-block-button__link:hover { background: #F6F6F3 !important; color: #14181B !important; border-color: #F6F6F3 !important; }
/* 5. Trust strip / any blue band -> brand blue (in case of hardcoded default) */
.summit-trust { background-color: var(--global-palette1, #1171BA) !important; }

/* ============ PILOT FIXES 2: single-layer buttons + centering ============ */
/* The outer .summit-btn / .summit-btn-ghost wrapper had its OWN bg+padding+border,
   creating a box around the real (inner link) button and a partial hover.
   Strip the wrapper so the inner link IS the whole button. */
.summit-btn, .summit-btn-ghost {
	background: transparent !important;
	padding: 0 !important;
	border: 0 !important;
}
.summit-btn > .wp-block-button__link,
.summit-btn-ghost > .wp-block-button__link {
	display: inline-block;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
/* Center the stats (60+ / 15) area */
.summit-stats { text-align: center; }
.summit-stats .summit-stats-cols {
	justify-content: center !important;
	gap: 90px;
}
/* Center the bottom CTA content + button */
.summit-cta { text-align: center; }
.summit-cta .summit-cta-buttons { justify-content: center !important; }

/* ============ PILOT FIX 3: center the trust strip ============ */
.summit-trust { text-align: center; }
.summit-trust .summit-trust-inner {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	justify-content: center !important;
	text-align: center;
}
.summit-trust .summit-trust-col {
	text-align: center !important;
	justify-content: center;
}

/* trust strip: group the 3 items in the center (not stretched across) */
.summit-trust .summit-trust-inner { gap: 64px; }
.summit-trust .summit-trust-col {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
}

/* ---- shared inner-page hero (shorter than the homepage hero) ---- */
.summit-page-hero.wp-block-cover { min-height: 52vh !important; }
.summit-page-hero .wp-block-cover__inner-container { max-width: 1280px; margin-left: auto; margin-right: auto; width: 100%; }

/* ============ Header nav polish + active-item fix ============ */
.site-header .header-navigation .menu > .menu-item > a {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 13px;
	font-weight: 600;
	position: relative;
	color: var(--global-palette6, #F6F6F3);
}
/* animated underline on hover + current page */
.site-header .header-navigation .menu > .menu-item > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px;
	background: var(--global-palette1, #1171BA);
	transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.site-header .header-navigation .menu > .menu-item:hover > a::after,
.site-header .header-navigation .menu > .current-menu-item > a::after,
.site-header .header-navigation .menu > .current-menu-ancestor > a::after { transform: scaleX(1); }
/* FIX: current/active item was dark-on-dark (invisible) */
.site-header .header-navigation .menu > .current-menu-item > a,
.site-header .header-navigation .menu > .current_page_item > a,
.site-header .header-navigation .menu > .current-menu-ancestor > a { color: #fff !important; }
/* "Request Info" nav button */
.site-header .header-navigation .menu > .summit-nav-cta { display: flex; align-items: center; }
.site-header .header-navigation .menu > .summit-nav-cta > a {
	background: var(--global-palette1, #1171BA);
	color: #fff !important;
	padding: 9px 20px !important;
	transition: background-color .15s ease;
}
.site-header .header-navigation .menu > .summit-nav-cta > a::after { display: none; }
.site-header .header-navigation .menu > .summit-nav-cta:hover > a { background: #0d5c96; }

/* ============ CTA sections: fully centered on ALL pages ============ */
.summit-cta,
.summit-cta .wp-block-group__inner-container { text-align: center !important; }
/* the numbered/section label is a flex row — center it (with its dash) */
.summit-cta .summit-section-label,
.summit-cta .sd-section-label,
.summit-cta .summit-cta-label { justify-content: center !important; }
/* headings + paragraphs centered & centered-block */
.summit-cta h2,
.summit-cta p {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 760px;
}
/* button group centered regardless of wrapper class */
.summit-cta .wp-block-buttons,
.summit-cta .summit-cta-buttons { justify-content: center !important; }
