/* ==========================================================================
   MV Security V7 — Deep Navy
   Dark immersive theme for Managed Vulnerabilities
   ========================================================================== */

/* --------------------------------------------------------------------------
   WP BLOCK OVERRIDES — neutralize wp-block-group defaults
   -------------------------------------------------------------------------- */

.mv3-front.wp-block-group,
.mv3-header.wp-block-group,
.mv3-footer.wp-block-group,
.mv3-footer__col.wp-block-group,
.mv3-cta.wp-block-group,
.mv3-hero.wp-block-group,
.mv3-hero__inner.wp-block-group,
.mv3-hero__content.wp-block-group,
.mv3-stats.wp-block-group,
.mv3-stats__inner.wp-block-group,
.mv3-stat.wp-block-group,
.mv3-findings.wp-block-group,
.mv3-findings__inner.wp-block-group,
.mv3-findings__header.wp-block-group,
.mv3-findings__grid.wp-block-group,
.mv3-finding-card.wp-block-group,
.mv3-finding-card__header.wp-block-group,
.mv3-process.wp-block-group,
.mv3-process__inner.wp-block-group,
.mv3-process__steps.wp-block-group,
.mv3-step.wp-block-group,
.mv3-why.wp-block-group,
.mv3-why__inner.wp-block-group,
.mv3-why__grid.wp-block-group,
.mv3-why-card.wp-block-group,
.mv3-trust.wp-block-group,
.mv3-trust__inner.wp-block-group,
.mv3-trust__quotes.wp-block-group,
.mv3-quote.wp-block-group,
.mv3-trust__badges.wp-block-group {
	padding: 0;
	margin: 0;
}

/* Neutralize default browser margins on paragraphs replacing spans.
   Only reset elements that were originally <span> (no inherent margin).
   Elements that were already <p> keep their CSS-defined margins. */
p.mv3-stat__number,
p.mv3-stat__label,
p.mv3-severity,
p.mv3-finding-card__category,
p.mv3-step__number,
p.mv3-why-card__number,
p.mv3-trust-badge,
p.mv3-quote__role,
p.mv3-quote__org {
	margin: 0;
}

/* wp:separator used as stat divider line */
hr.mv3-stat__line {
	width: 40px;
	height: 2px;
	background: var(--mv3-accent);
	margin: 1rem auto;
	border: none;
	opacity: 1;
}

/* Stats grid — restore grid layout on wp-block-group */
.mv3-stats__inner.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	text-align: center;
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 4rem 2rem;
}

/* Hero inner — restore grid layout */
.mv3-hero__inner.wp-block-group {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 5rem 2rem 6rem;
}

/* Findings grid — restore grid layout */
.mv3-findings__grid.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* Finding card header — restore flex layout */
.mv3-finding-card__header.wp-block-group {
	display: flex !important;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

/* Process steps — restore flex layout */
.mv3-process__steps.wp-block-group {
	display: flex !important;
	align-items: flex-start;
	gap: 0;
	margin-top: 1rem;
}

/* Why grid — restore grid layout */
.mv3-why__grid.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}

/* Trust quotes — restore grid layout */
.mv3-trust__quotes.wp-block-group {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5rem;
	margin-bottom: 3rem;
}

/* Trust badges — restore flex layout */
.mv3-trust__badges.wp-block-group {
	display: flex !important;
	gap: 1rem;
	flex-wrap: wrap;
	justify-content: center;
}

/* Section inner containers — restore padding and max-width */
.mv3-findings__inner.wp-block-group {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

.mv3-process__inner.wp-block-group {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

.mv3-why__inner.wp-block-group {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

.mv3-trust__inner.wp-block-group {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

/* Finding cards — restore padding */
.mv3-finding-card.wp-block-group {
	background: var(--mv3-surface);
	border: 1px solid var(--mv3-border);
	border-left: 4px solid var(--mv3-cyan);
	padding: 1.75rem;
	transition: box-shadow 0.2s ease, background 0.2s ease;
}

.mv3-finding-card.wp-block-group:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	background: var(--mv3-elevated);
}

.mv3-finding-card--critical.wp-block-group { border-left-color: #e63946; }
.mv3-finding-card--high.wp-block-group { border-left-color: #f4a261; }
.mv3-finding-card--medium.wp-block-group { border-left-color: #e9c46a; }
.mv3-finding-card--low.wp-block-group { border-left-color: #2a9d8f; }

/* Quote blockquotes — restore padding */
.mv3-quote.wp-block-group {
	padding: 2rem;
	background: var(--mv3-base);
	border: 1px solid var(--mv3-border);
	border-left: 4px solid var(--mv3-cyan);
}

/* Quote role/org styling (replaces footer strong/span) */
p.mv3-quote__role {
	font-style: normal;
}

p.mv3-quote__role strong {
	font-family: var(--mv3-font-heading);
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mv3-text-primary);
}

p.mv3-quote__org {
	font-size: 0.8rem;
	color: var(--mv3-text-muted);
	margin-top: 0.15rem;
}

/* Hero buttons — override wp-block-button defaults */
.mv3-hero__actions .wp-block-button {
	background: none;
	border: none;
	padding: 0;
	border-radius: 0;
}

.mv3-hero__actions .mv3-btn--primary .wp-block-button__link {
	background: var(--mv3-accent) !important;
	color: #ffffff !important;
	font-family: var(--mv3-font-heading);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.875rem 2rem !important;
	border-radius: 2px !important;
	border: 2px solid var(--mv3-accent) !important;
	text-decoration: none;
	transition: all 0.2s ease;
}

.mv3-hero__actions .mv3-btn--primary .wp-block-button__link:hover {
	background: var(--mv3-accent-hover) !important;
	border-color: var(--mv3-accent-hover) !important;
	color: #ffffff !important;
}

.mv3-hero__actions .mv3-btn--ghost .wp-block-button__link {
	background: transparent !important;
	color: var(--mv3-text-primary) !important;
	font-family: var(--mv3-font-heading);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.875rem 2rem !important;
	border-radius: 2px !important;
	border: 2px solid var(--mv3-border-subtle) !important;
	text-decoration: none;
	transition: all 0.2s ease;
}

.mv3-hero__actions .mv3-btn--ghost .wp-block-button__link:hover {
	border-color: var(--mv3-text-primary) !important;
	color: var(--mv3-text-primary) !important;
}

/* Header inner — restore original flex layout with padding */
.mv3-header__inner.wp-block-group {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 0 2rem;
	height: 72px;
}

/* Footer inner — restore original padding */
.mv3-footer__inner.wp-block-group {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 4rem 2rem 2rem;
}

/* Footer grid — restore original 4-column grid */
.mv3-footer__grid.wp-block-group {
	display: grid !important;
	grid-template-columns: 2fr 1fr 1fr 1.5fr;
	gap: 3rem;
	margin-bottom: 3rem;
	padding: 0;
}

/* Footer bottom — restore flex layout */
.mv3-footer__bottom.wp-block-group {
	padding-top: 2rem;
	border-top: 1px solid var(--mv3-border);
	margin: 0;
}

/* wp:navigation block — match original nav styling */
.mv3-nav.wp-block-navigation {
	font-family: var(--mv3-font-heading);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.mv3-nav.wp-block-navigation a {
	color: var(--mv3-text-secondary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mv3-nav.wp-block-navigation a:hover {
	color: var(--mv3-text-primary);
}

.mv3-nav.wp-block-navigation .mv3-nav__cta a {
	background: var(--mv3-accent);
	color: #ffffff !important;
	padding: 0.5rem 1.25rem;
	border-radius: 2px;
}

.mv3-nav.wp-block-navigation .mv3-nav__cta a:hover {
	background: var(--mv3-accent-hover);
	color: #ffffff !important;
}

/* Footer navigation blocks — match original link styling */
.mv3-footer__links.wp-block-navigation {
	gap: 0;
	text-transform: none;
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 0;
}

.mv3-footer .mv3-footer__links.wp-block-navigation .wp-block-navigation-item__content,
.mv3-footer__links.wp-block-navigation .wp-block-navigation-item__content {
	font-size: 0.9rem;
	color: var(--mv3-cyan) !important;
	text-decoration: none;
	text-transform: none;
	font-weight: 400;
	letter-spacing: 0;
	transition: color 0.2s ease;
}

.mv3-footer .mv3-footer__links.wp-block-navigation .wp-block-navigation-item__content:hover,
.mv3-footer__links.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--mv3-text-primary) !important;
}

/* Footer legal navigation */
.mv3-footer__legal.wp-block-navigation {
	text-transform: none;
	font-weight: 400;
	letter-spacing: 0;
}

.mv3-footer .mv3-footer__legal.wp-block-navigation .wp-block-navigation-item__content,
.mv3-footer__legal.wp-block-navigation .wp-block-navigation-item__content {
	font-size: 0.8rem;
	color: var(--mv3-text-muted) !important;
	text-transform: none;
	font-weight: 400;
	letter-spacing: 0;
}

.mv3-footer .mv3-footer__legal.wp-block-navigation .wp-block-navigation-item__content:hover,
.mv3-footer__legal.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--mv3-cyan) !important;
}

/* CTA section — wp:group replaces original .mv3-cta__inner */
.mv3-cta.wp-block-group {
	background: var(--mv3-elevated);
	border-top: 1px solid var(--mv3-border);
	max-width: 100% !important;
	text-align: center;
	padding: 6rem 2rem !important;
}

/* Constrain CTA content width */
.mv3-cta .mv3-cta__title {
	max-width: var(--mv3-content-width);
	margin-left: auto;
	margin-right: auto;
}

.mv3-cta .mv3-cta__desc {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2.5rem;
}

.mv3-cta .wp-block-buttons {
	margin-bottom: 1rem;
}

.mv3-cta .mv3-cta__note {
	margin-top: 0;
}

/* wp:buttons inside CTA */
.mv3-cta .wp-block-buttons {
	justify-content: center;
}

/* Reset wp-block-button wrapper — it should not be styled like a button */
.mv3-cta .wp-block-button {
	background: none;
	border: none;
	padding: 0;
	border-radius: 0;
}

.mv3-cta .wp-block-button__link {
	background: var(--mv3-accent) !important;
	color: #ffffff !important;
	font-family: var(--mv3-font-heading);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 1.125rem 2.75rem !important;
	border-radius: 2px !important;
	text-decoration: none;
	transition: all 0.2s ease;
	display: inline-block;
}

.mv3-cta .wp-block-button__link:hover {
	background: var(--mv3-accent-hover) !important;
	color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   RESET & BASE
   -------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--mv3-base: #0a1628;
	--mv3-surface: #0f1d32;
	--mv3-elevated: #162540;
	--mv3-accent: #e63946;
	--mv3-accent-hover: #c1121f;
	--mv3-cyan: #22d3ee;
	--mv3-text-primary: #e8edf3;
	--mv3-text-secondary: #8899aa;
	--mv3-text-muted: #556677;
	--mv3-border: #1a2d45;
	--mv3-border-subtle: #243650;

	--mv3-font-body: 'Atkinson Hyperlegible Next', system-ui, sans-serif;
	--mv3-font-heading: 'Inter', system-ui, sans-serif;

	--mv3-content-width: 1200px;
	--mv3-narrow-width: 800px;
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--mv3-font-body);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--mv3-text-primary);
	background-color: var(--mv3-base);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--mv3-cyan);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--mv3-accent);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mv3-font-heading);
	color: var(--mv3-text-primary);
	line-height: 1.15;
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   BUTTONS
   -------------------------------------------------------------------------- */

.mv3-btn {
	display: inline-block;
	font-family: var(--mv3-font-heading);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.875rem 2rem;
	border-radius: 2px;
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
	border: 2px solid transparent;
}

.mv3-btn--primary {
	background: var(--mv3-accent);
	color: #ffffff;
	border-color: var(--mv3-accent);
}

.mv3-btn--primary:hover {
	background: var(--mv3-accent-hover);
	border-color: var(--mv3-accent-hover);
	color: #ffffff;
}

.mv3-btn--ghost {
	background: transparent;
	color: var(--mv3-text-primary);
	border-color: var(--mv3-border-subtle);
}

.mv3-btn--ghost:hover {
	border-color: var(--mv3-text-primary);
	color: var(--mv3-text-primary);
}

.mv3-btn--large {
	font-size: 1rem;
	padding: 1.125rem 2.75rem;
}

/* --------------------------------------------------------------------------
   SECTION UTILITIES
   -------------------------------------------------------------------------- */

.mv3-section-eyebrow {
	font-family: var(--mv3-font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--mv3-cyan);
	margin: 0 0 0.75rem;
}

.mv3-section-title {
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 800;
	margin: 0 0 1rem;
	max-width: 600px;
	color: var(--mv3-text-primary);
}

.mv3-section-desc {
	font-size: 1.125rem;
	color: var(--mv3-text-secondary);
	line-height: 1.7;
	max-width: 560px;
	margin: 0 0 2.5rem;
}

/* --------------------------------------------------------------------------
   HEADER
   -------------------------------------------------------------------------- */

.mv3-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10, 22, 40, 0.95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--mv3-border);
}

.mv3-header__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 0 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 72px;
}

.mv3-logo {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	text-decoration: none;
	color: var(--mv3-text-primary);
}

.mv3-logo:hover {
	color: var(--mv3-text-primary);
}

.mv3-logo__mark {
	font-family: 'Courier New', monospace;
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--mv3-accent);
	background: var(--mv3-surface);
	border: 1px solid var(--mv3-border);
	padding: 0.25rem 0.5rem;
	border-radius: 2px;
}

.mv3-logo__text {
	font-family: var(--mv3-font-heading);
	font-weight: 700;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1.3;
	color: var(--mv3-text-primary);
}

.mv3-nav__list {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
}

.mv3-nav__list a {
	font-family: var(--mv3-font-heading);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--mv3-text-secondary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mv3-nav__list a:hover {
	color: var(--mv3-text-primary);
}

.mv3-nav__cta {
	background: var(--mv3-accent);
	color: #ffffff !important;
	padding: 0.5rem 1.25rem;
	border-radius: 2px;
}

.mv3-nav__cta:hover {
	background: var(--mv3-accent-hover);
	color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */

.mv3-hero {
	background: var(--mv3-base);
	border-bottom: 1px solid var(--mv3-border);
}

.mv3-hero__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 5rem 2rem 6rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
}

.mv3-hero__eyebrow {
	font-family: var(--mv3-font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--mv3-cyan);
	margin: 0 0 1.25rem;
}

.mv3-hero__title {
	font-family: var(--mv3-font-heading);
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 900;
	line-height: 1.05;
	color: var(--mv3-text-primary);
	margin: 0 0 1.5rem;
}

.mv3-hero__title em {
	font-style: normal;
	color: var(--mv3-accent);
}

.mv3-hero__subtitle {
	font-size: 1.2rem;
	line-height: 1.7;
	color: var(--mv3-text-secondary);
	margin: 0 0 2rem;
	max-width: 500px;
}

.mv3-hero__actions {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

/* Terminal */

.mv3-terminal {
	background: var(--mv3-surface);
	border: 1px solid var(--mv3-border);
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
}

.mv3-terminal__bar {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	background: rgba(0, 0, 0, 0.3);
}

.mv3-terminal__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.mv3-terminal__dot--red { background: #e63946; }
.mv3-terminal__dot--yellow { background: #f4a261; }
.mv3-terminal__dot--green { background: #2a9d8f; }

.mv3-terminal__title {
	font-family: 'Courier New', monospace;
	font-size: 0.7rem;
	color: var(--mv3-text-muted);
	margin-left: 0.5rem;
}

.mv3-terminal__body {
	padding: 1.5rem;
	font-family: 'Courier New', monospace;
	font-size: 0.8rem;
	line-height: 1.6;
	color: var(--mv3-text-secondary);
	overflow-x: auto;
}

.mv3-terminal__body code {
	font-family: inherit;
	font-size: inherit;
	background: none;
}

/* Terminal text colors */
.t-gray { color: var(--mv3-text-muted); }
.t-blue { color: var(--mv3-cyan); }
.t-green { color: #2a9d8f; }
.t-white { color: #ffffff; }
.t-underline { text-decoration: underline; color: var(--mv3-cyan); }

.t-badge {
	display: inline-block;
	padding: 0.1em 0.5em;
	border-radius: 2px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.t-badge--critical { background: #e63946; color: #fff; }
.t-badge--high { background: #f4a261; color: #1a1a2e; }
.t-badge--medium { background: #e9c46a; color: #1a1a2e; }
.t-badge--low { background: #2a9d8f; color: #fff; }

/* --------------------------------------------------------------------------
   STATS
   -------------------------------------------------------------------------- */

.mv3-stats {
	background: var(--mv3-surface);
	border-bottom: 1px solid var(--mv3-border);
}

.mv3-stats__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 4rem 2rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	text-align: center;
}

.mv3-stat__number {
	display: block;
	font-family: var(--mv3-font-heading);
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	font-weight: 700;
	color: var(--mv3-text-primary);
	line-height: 1.2;
}

.mv3-stat__line {
	display: block;
	width: 40px;
	height: 2px;
	background: var(--mv3-accent);
	margin: 1rem auto;
}

.mv3-stat__label {
	display: block;
	font-family: var(--mv3-font-heading);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--mv3-text-secondary);
}

/* --------------------------------------------------------------------------
   FINDINGS / WHAT WE FIND
   -------------------------------------------------------------------------- */

.mv3-findings {
	background: var(--mv3-base);
}

.mv3-findings__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

.mv3-findings__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.mv3-finding-card {
	background: var(--mv3-surface);
	border: 1px solid var(--mv3-border);
	border-left: 4px solid var(--mv3-cyan);
	padding: 1.75rem;
	transition: box-shadow 0.2s ease, background 0.2s ease;
}

.mv3-finding-card:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	background: var(--mv3-elevated);
}

.mv3-finding-card--critical { border-left-color: #e63946; }
.mv3-finding-card--high { border-left-color: #f4a261; }
.mv3-finding-card--medium { border-left-color: #e9c46a; }
.mv3-finding-card--low { border-left-color: #2a9d8f; }

.mv3-finding-card__header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.mv3-severity {
	font-family: var(--mv3-font-heading);
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 0.2em 0.6em;
	border-radius: 2px;
}

.mv3-severity--critical { background: #e63946; color: #fff; }
.mv3-severity--high { background: #f4a261; color: #1a1a2e; }
.mv3-severity--medium { background: #e9c46a; color: #1a1a2e; }
.mv3-severity--low { background: #2a9d8f; color: #fff; }

.mv3-finding-card__category {
	font-family: var(--mv3-font-heading);
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--mv3-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.mv3-finding-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
	color: var(--mv3-text-primary);
}

.mv3-finding-card__desc {
	font-size: 0.925rem;
	color: var(--mv3-text-secondary);
	line-height: 1.65;
	margin: 0;
}

/* --------------------------------------------------------------------------
   PROCESS
   -------------------------------------------------------------------------- */

.mv3-process {
	background: var(--mv3-surface);
	border-top: 1px solid var(--mv3-border);
	border-bottom: 1px solid var(--mv3-border);
}

.mv3-process__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

.mv3-process__steps {
	display: flex;
	align-items: flex-start;
	gap: 0;
	margin-top: 1rem;
}

.mv3-step {
	flex: 1;
	text-align: center;
	padding: 0 1.5rem;
}

.mv3-step__number {
	display: inline-block;
	font-family: var(--mv3-font-heading);
	font-size: 2.5rem;
	font-weight: 900;
	color: var(--mv3-accent);
	line-height: 1;
	margin-bottom: 1rem;
}

.mv3-step__title {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
	color: var(--mv3-text-primary);
}

.mv3-step__desc {
	font-size: 0.9rem;
	color: var(--mv3-text-secondary);
	line-height: 1.65;
	margin: 0;
}

.mv3-step__connector {
	flex: 0 0 auto;
	width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 1.25rem;
	position: relative;
}

.mv3-step__connector::before {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: var(--mv3-border-subtle);
	position: relative;
}

.mv3-step__connector::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin-top: 0.625rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--mv3-accent);
}

/* --------------------------------------------------------------------------
   WHY US
   -------------------------------------------------------------------------- */

.mv3-why {
	background: var(--mv3-base);
}

.mv3-why__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

.mv3-why__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}

.mv3-why-card {
	padding: 0;
}

.mv3-why-card__number {
	display: block;
	font-family: var(--mv3-font-heading);
	font-size: 3rem;
	font-weight: 900;
	color: rgba(34, 211, 238, 0.45);
	line-height: 1;
	margin-bottom: 1rem;
}

.mv3-why-card__title {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
	color: var(--mv3-text-primary);
}

.mv3-why-card__desc {
	font-size: 0.95rem;
	color: var(--mv3-text-secondary);
	line-height: 1.7;
	margin: 0;
}

/* --------------------------------------------------------------------------
   TRUST / SOCIAL PROOF
   -------------------------------------------------------------------------- */

.mv3-trust {
	background: var(--mv3-surface);
	border-top: 1px solid var(--mv3-border);
	border-bottom: 1px solid var(--mv3-border);
}

.mv3-trust__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
}

.mv3-trust__quotes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5rem;
	margin-bottom: 3rem;
}

.mv3-quote {
	margin: 0;
	padding: 2rem;
	background: var(--mv3-base);
	border: 1px solid var(--mv3-border);
	border-left: 4px solid var(--mv3-cyan);
}

.mv3-quote__text {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--mv3-text-primary);
	margin: 0 0 1.25rem;
	font-style: italic;
}

.mv3-quote__footer {
	font-style: normal;
}

.mv3-quote__footer strong {
	display: block;
	font-family: var(--mv3-font-heading);
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mv3-text-primary);
}

.mv3-quote__footer span {
	display: block;
	font-size: 0.8rem;
	color: var(--mv3-text-muted);
	margin-top: 0.15rem;
}

.mv3-trust__badges {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	justify-content: center;
}

.mv3-trust-badge {
	font-family: var(--mv3-font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--mv3-text-secondary);
	border: 1px solid var(--mv3-border-subtle);
	padding: 0.6rem 1.25rem;
	border-radius: 2px;
	background: var(--mv3-base);
}

/* --------------------------------------------------------------------------
   CTA
   -------------------------------------------------------------------------- */

.mv3-cta {
	background: var(--mv3-elevated);
	border-top: 1px solid var(--mv3-border);
}

.mv3-cta__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 6rem 2rem;
	text-align: center;
}

.mv3-cta__title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	color: var(--mv3-text-primary);
	margin: 0 0 1rem;
}

.mv3-cta__desc {
	font-size: 1.15rem;
	line-height: 1.7;
	color: var(--mv3-text-secondary);
	max-width: 560px;
	margin: 0 auto 2.5rem;
}

.mv3-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

.mv3-cta__note {
	font-size: 0.85rem;
	color: var(--mv3-text-muted);
	margin: 0;
}

.mv3-cta__note a {
	color: var(--mv3-text-secondary);
	text-decoration: underline;
}

.mv3-cta__note a:hover {
	color: var(--mv3-text-primary);
}

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */

.mv3-footer {
	background: #07101e;
	border-top: 1px solid var(--mv3-border);
}

.mv3-footer__inner {
	max-width: var(--mv3-content-width);
	margin: 0 auto;
	padding: 4rem 2rem 2rem;
}

.mv3-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1.5fr;
	gap: 3rem;
	margin-bottom: 3rem;
}

.mv3-logo--footer {
	margin-bottom: 1rem;
}

.mv3-logo--footer .mv3-logo__text {
	color: var(--mv3-text-secondary);
}

.mv3-footer__tagline {
	font-size: 0.9rem;
	color: var(--mv3-text-muted);
	line-height: 1.6;
	margin: 0;
	max-width: 280px;
}

.mv3-footer__heading {
	font-family: var(--mv3-font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--mv3-text-primary);
	margin: 0 0 1rem;
}

.mv3-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mv3-footer__links li {
	margin-bottom: 0.5rem;
}

.mv3-footer__links a {
	font-size: 0.9rem;
	color: var(--mv3-cyan);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mv3-footer__links a:hover {
	color: var(--mv3-text-primary);
}

.mv3-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 2rem;
	border-top: 1px solid var(--mv3-border);
}

.mv3-footer__bottom p {
	font-size: 0.8rem;
	color: var(--mv3-text-muted);
	margin: 0;
}

.mv3-footer__legal {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1.5rem;
}

.mv3-footer__legal a {
	font-size: 0.8rem;
	color: var(--mv3-text-muted);
}

.mv3-footer__legal a:hover {
	color: var(--mv3-cyan);
}

/* --------------------------------------------------------------------------
   404
   -------------------------------------------------------------------------- */

.mv3-404 {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	text-align: center;
	background: var(--mv3-base);
}

.mv3-404__inner {
	max-width: 560px;
	padding: 4rem 2rem;
}

.mv3-404__code {
	display: block;
	font-family: var(--mv3-font-heading);
	font-size: 8rem;
	font-weight: 900;
	color: var(--mv3-elevated);
	line-height: 1;
	margin-bottom: 1rem;
}

.mv3-404__title {
	font-size: 2rem;
	margin: 0 0 1rem;
	color: var(--mv3-text-primary);
}

.mv3-404__desc {
	font-size: 1.05rem;
	color: var(--mv3-text-secondary);
	line-height: 1.7;
	margin: 0 0 2rem;
}

/* --------------------------------------------------------------------------
   PAGE CONTENT (Inner pages)
   -------------------------------------------------------------------------- */

.page-content {
	background: var(--mv3-base);
	min-height: 100vh;
	padding: 8rem 2rem 5rem;
}

.page-content__inner {
	max-width: 800px;
	margin: 0 auto;
}

.page-content__inner h1 {
	font-family: var(--mv3-font-heading);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	color: var(--mv3-text-primary);
	margin: 0 0 2rem;
	line-height: 1.15;
}

.page-content__inner h2 {
	font-family: var(--mv3-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--mv3-text-primary);
	margin: 2.5rem 0 1rem;
}

.page-content__inner h3 {
	font-family: var(--mv3-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--mv3-text-primary);
	margin: 2rem 0 0.75rem;
}

.page-content__inner p {
	color: var(--mv3-text-secondary);
	line-height: 1.8;
	margin: 0 0 1.25rem;
}

.page-content__inner a {
	color: var(--mv3-cyan);
}

.page-content__inner a:hover {
	color: var(--mv3-accent);
}

.page-content__inner ul,
.page-content__inner ol {
	color: var(--mv3-text-secondary);
	line-height: 1.8;
	margin: 0 0 1.25rem;
	padding-left: 1.5rem;
}

.page-content__inner blockquote {
	border-left: 4px solid var(--mv3-cyan);
	padding: 1rem 1.5rem;
	margin: 1.5rem 0;
	background: var(--mv3-surface);
	color: var(--mv3-text-secondary);
}

.page-content__inner hr {
	border: none;
	border-top: 1px solid var(--mv3-border);
	margin: 2rem 0;
}

.page-content__inner img {
	border-radius: 4px;
	border: 1px solid var(--mv3-border);
}

/* --------------------------------------------------------------------------
   INNER-PAGE COMPONENTS (used via block className on pages, e.g. Services)
   -------------------------------------------------------------------------- */

/* Align post content with the post title (kill WP root padding) */
.page-content__inner .wp-block-post-content.has-global-padding {
	padding-left: 0;
	padding-right: 0;
}

/* Lead paragraph under the page title */
.page-content__inner p.mv-page-lead {
	font-size: 1.2rem;
	line-height: 1.7;
	max-width: 640px;
	margin-left: 0 !important;
	margin-bottom: 3rem;
}

/* Section heading with accent bar (echoes the front-page stat lines) */
.page-content__inner h2.mv-heading-bar {
	margin: 3.5rem 0 1.25rem;
	scroll-margin-top: 7rem;
}

.page-content__inner h2.mv-heading-bar::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	background: var(--mv3-accent);
	margin-top: 0.875rem;
}

/* Small-card grid for scope/deliverable breakdowns */
.mv-svc-grid.wp-block-group {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin: 1.5rem 0 1rem;
}

/* Kill WP flow-layout margins on grid children so rows align and
   cards in the same row stretch to equal height */
.mv-svc-grid.wp-block-group > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.mv-svc-card.wp-block-group {
	background: var(--mv3-surface);
	border: 1px solid var(--mv3-border);
	border-left: 3px solid var(--mv3-cyan);
	border-radius: 4px;
	padding: 1.25rem 1.5rem;
}

.page-content__inner .mv-svc-card h3 {
	font-size: 1rem;
	margin: 0 0 0.375rem;
}

.page-content__inner .mv-svc-card p {
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0;
}

/* Closing CTA panel for inner pages */
.mv-page-cta.wp-block-group {
	margin-top: 4.5rem;
	padding: 2.5rem 2rem;
	background: var(--mv3-elevated);
	border: 1px solid var(--mv3-border);
	border-radius: 4px;
	text-align: center;
}

.page-content__inner .mv-page-cta p {
	max-width: 520px;
	margin: 0 auto 1.5rem;
}

.mv-page-cta .wp-block-buttons {
	justify-content: center;
}

.mv-page-cta .wp-block-button {
	background: none;
	border: none;
	padding: 0;
}

.mv-page-cta .wp-block-button__link {
	background: var(--mv3-accent) !important;
	color: #ffffff !important;
	font-family: var(--mv3-font-heading);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 1rem 2.25rem !important;
	border-radius: 2px !important;
	text-decoration: none;
	transition: all 0.2s ease;
	display: inline-block;
}

.mv-page-cta .wp-block-button__link:hover {
	background: var(--mv3-accent-hover) !important;
	color: #ffffff !important;
}

@media (max-width: 640px) {
	.mv-svc-grid.wp-block-group {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------------------
   CONTACT FORM (Contact Form 7, styled to match the theme)
   -------------------------------------------------------------------------- */

.mv-contact-form.wp-block-group {
	margin: 0;
	padding: 2rem;
	background: var(--mv3-surface);
	border: 1px solid var(--mv3-border);
	border-radius: 4px;
	color-scheme: dark;
}

.mv-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem 1.5rem;
}

.mv-contact-form label {
	display: block;
	font-family: var(--mv3-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--mv3-text-primary);
}

.mv-contact-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.5rem;
}

.mv-contact-form input[type="text"],
.mv-contact-form input[type="email"],
.mv-contact-form select,
.mv-contact-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 0.875rem;
	background: var(--mv3-base);
	border: 1px solid var(--mv3-border-subtle);
	border-radius: 2px;
	color: var(--mv3-text-primary);
	font-family: var(--mv3-font-body);
	font-size: 1rem;
	line-height: 1.5;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mv-contact-form input:focus,
.mv-contact-form select:focus,
.mv-contact-form textarea:focus {
	outline: none;
	border-color: var(--mv3-cyan);
	box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.15);
}

.mv-contact-form textarea {
	resize: vertical;
	min-height: 160px;
}

.mv-contact-form .wpcf7-submit {
	background: var(--mv3-accent);
	color: #ffffff;
	font-family: var(--mv3-font-heading);
	font-weight: 700;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 1rem 2.25rem;
	border: none;
	border-radius: 2px;
	cursor: pointer;
	transition: background 0.2s ease;
}

.mv-contact-form .wpcf7-submit:hover {
	background: var(--mv3-accent-hover);
}

.mv-contact-form .wpcf7-spinner {
	margin: 0 0 0 1rem;
}

/* Inline validation errors — reset the label typography they inherit */
.mv-contact-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.375rem;
	font-family: var(--mv3-font-body);
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	color: #f2707a;
}

.mv-contact-form .wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 0.875rem 1.125rem;
	border: 1px solid var(--mv3-border) !important;
	border-left-width: 3px !important;
	border-radius: 2px;
	color: var(--mv3-text-secondary);
	font-size: 0.9375rem;
}

.mv-contact-form .wpcf7-form.sent .wpcf7-response-output {
	border-left-color: var(--mv3-cyan) !important;
	color: var(--mv3-text-primary);
}

.mv-contact-form .wpcf7-form.invalid .wpcf7-response-output,
.mv-contact-form .wpcf7-form.unaccepted .wpcf7-response-output,
.mv-contact-form .wpcf7-form.failed .wpcf7-response-output,
.mv-contact-form .wpcf7-form.aborted .wpcf7-response-output {
	border-left-color: #f2707a !important;
}

@media (max-width: 640px) {
	.mv-form__grid {
		grid-template-columns: 1fr;
	}

	.mv-contact-form.wp-block-group {
		padding: 1.5rem 1.25rem;
	}
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.mv3-hero__inner,
	.mv3-hero__inner.wp-block-group {
		grid-template-columns: 1fr;
		gap: 3rem;
		padding: 3rem 2rem 4rem;
	}

	.mv3-findings__grid,
	.mv3-findings__grid.wp-block-group {
		grid-template-columns: repeat(2, 1fr);
	}

	.mv3-process__steps,
	.mv3-process__steps.wp-block-group {
		flex-direction: column;
		align-items: stretch;
	}

	.mv3-step,
	.mv3-step.wp-block-group {
		text-align: left;
		padding: 1.5rem 0;
		display: flex;
		gap: 1.25rem;
		align-items: flex-start;
	}

	.mv3-step__number,
	p.mv3-step__number {
		flex: 0 0 auto;
		font-size: 2rem;
		margin-bottom: 0;
	}

	.mv3-step__connector {
		width: 100%;
		height: 1px;
		padding-top: 0;
	}

	.mv3-step__connector::before {
		width: 100%;
		height: 1px;
	}

	.mv3-step__connector::after {
		display: none;
	}

	.mv3-why__grid,
	.mv3-why__grid.wp-block-group {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.mv3-trust__quotes,
	.mv3-trust__quotes.wp-block-group {
		grid-template-columns: 1fr;
	}

	.mv3-footer__grid,
	.mv3-footer__grid.wp-block-group {
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.mv3-header__inner.wp-block-group,
	.mv3-header__inner {
		flex-wrap: wrap;
		height: auto;
		padding-top: 0.75rem;
		padding-bottom: 0;
		gap: 0;
	}

	.mv3-nav.wp-block-navigation,
	.mv3-nav__list {
		width: 100%;
		border-top: 1px solid var(--mv3-border);
		margin-top: 0.5rem;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		gap: 0;
		justify-content: space-between;
	}

	.mv3-nav.wp-block-navigation a,
	.mv3-nav__list a {
		font-size: 0.7rem;
		padding: 0.25rem 0.3rem;
		letter-spacing: 0.02em;
	}

	.mv3-nav.wp-block-navigation .mv3-nav__cta a,
	.mv3-nav__cta {
		font-size: 0.65rem;
		padding: 0.2rem 0.6rem;
		white-space: nowrap;
	}

	.mv3-logo__mark {
		font-size: 1rem;
		padding: 0.2rem 0.4rem;
	}

	.mv3-logo__text {
		font-size: 0.6rem;
	}

	.mv3-stats__inner,
	.mv3-stats__inner.wp-block-group {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}

	.mv3-findings__grid,
	.mv3-findings__grid.wp-block-group {
		grid-template-columns: 1fr;
	}

	.mv3-footer__grid,
	.mv3-footer__grid.wp-block-group {
		grid-template-columns: 1fr;
	}

	.mv3-hero__inner,
	.mv3-hero__inner.wp-block-group {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 2.5rem 1.25rem 3rem;
	}

	.mv3-footer__bottom {
		flex-direction: column;
		gap: 1rem;
		text-align: center;
	}

	.mv3-footer__legal {
		justify-content: center;
	}

	.mv3-hero__title {
		font-size: 2rem;
	}

	.mv3-terminal__body {
		font-size: 0.65rem;
		padding: 1rem;
	}

	.page-content {
		padding: 6rem 1.25rem 3rem;
	}
}

@media (max-width: 600px) {
	.mv3-stats__inner,
	.mv3-stats__inner.wp-block-group {
		grid-template-columns: 1fr;
	}

	.mv3-cta__inner {
		padding: 4rem 1.5rem;
	}
}
