/* =====================================================================
   Massing Cloud — brand skin over WPWiseBones (Bootstrap 5)
   Ink #0E1430 · Void #070A18 · Cyan #2DE2E6 · Blue #5B8CFF · Violet #B14CFF
   A dark, technical AEC identity with a cyan→blue→violet gradient accent.
   Strategy: dark header / hero / footer, light readable content & docs,
   gradient CTAs. Built for conversion + long-form documentation.
   ===================================================================== */

:root {
	--ms-void:      #070A18;
	--ms-ink:       #0E1430;
	--ms-ink-2:     #0B1126;
	--ms-ink-soft:  #141B3A;
	--ms-cyan:      #2DE2E6;
	--ms-blue:      #5B8CFF;
	--ms-violet:    #B14CFF;
	--ms-mist:      #EAF2FF;
	--ms-line:      #e3e8f5;
	--ms-line-dk:   rgba(255,255,255,.10);
	--ms-text:      #2c3a5e;
	--ms-text-soft: #5a648a;

	--ms-gradient:  linear-gradient(100deg, #2DE2E6 0%, #5B8CFF 50%, #B14CFF 100%);
	--ms-gradient-soft: linear-gradient(135deg, rgba(45,226,230,.12), rgba(177,76,255,.12));

	--bs-primary:      #5B8CFF;
	--bs-primary-rgb:  91, 140, 255;
	--bs-link-color:        #3a6bff;
	--bs-link-color-rgb:    58, 107, 255;
	--bs-link-hover-color:  #2a4fd6;
	--bs-body-font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--ms-display: 'Space Grotesk', var(--bs-body-font-family);
}

body { font-family: var(--bs-body-font-family); -webkit-font-smoothing: antialiased; color: var(--ms-text); }
h1,h2,h3,h4,h5,h6,.navbar-brand,.display-1,.display-2,.display-3,.display-4,.ms-price__amt {
	font-family: var(--ms-display); color: var(--ms-ink); letter-spacing: -.02em; font-weight: 700;
}
h2 { font-size: clamp(1.8rem, 1.1rem + 2.2vw, 2.6rem); }
.lead { font-size: 1.18rem; line-height: 1.6; }
html { scroll-behavior: smooth; }
::selection { background: rgba(91,140,255,.30); }
code, pre, kbd { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace; }

/* ── Buttons ───────────────────────────────────────────────────────────── */
.btn { transition: transform .12s ease, box-shadow .15s ease, filter .15s ease; border-radius: .6rem; font-weight: 600; }
.btn-lg { padding: .8rem 1.6rem; }

/* Primary CTA = the Massing gradient */
.btn-primary, .btn-success {
	--bs-btn-bg: transparent; --bs-btn-border-color: transparent;
	background-image: var(--ms-gradient); border: 0; color: #06122b;
	--bs-btn-color: #06122b; --bs-btn-hover-color: #06122b;
	box-shadow: 0 .5rem 1.4rem rgba(91,140,255,.35);
}
.btn-primary:hover, .btn-success:hover { color: #06122b; transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 .7rem 1.8rem rgba(177,76,255,.4); }

.btn-outline-primary {
	--bs-btn-color: #3a6bff; --bs-btn-border-color: rgba(91,140,255,.55);
	--bs-btn-hover-bg: rgba(91,140,255,.08); --bs-btn-hover-border-color: #5B8CFF; --bs-btn-hover-color: #2a4fd6;
}
/* Light/ghost button used on dark sections */
.btn-light { --bs-btn-bg:#fff; --bs-btn-color:var(--ms-ink); --bs-btn-hover-bg:var(--ms-mist); }
.btn-outline-light { --bs-btn-color:#dbe4ff; --bs-btn-border-color:rgba(255,255,255,.35); --bs-btn-hover-bg:rgba(255,255,255,.1); --bs-btn-hover-color:#fff; --bs-btn-hover-border-color:#fff; }

/* ── Recolour Bootstrap utilities ─────────────────────────────────────────── */
.text-primary { color: #3a6bff !important; }
.bg-primary   { background-color: var(--ms-blue) !important; }
.text-gradient { background: var(--ms-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
a { color: #3a6bff; } a:hover { color: #2a4fd6; }

/* ── Header (dark, sticky) ────────────────────────────────────────────────── */
.site-header.navbar {
	background: rgba(7,10,24,.85) !important; backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--ms-line-dk);
}
.site-header .navbar-brand, .site-header .nav-link, .site-header .site-title a { color: #eaf0ff !important; }
.site-header .nav-link:hover, .site-header .current-menu-item > a { color: #fff !important; }
.site-header .custom-logo { height: 38px; width: auto; }
.site-header .navbar-toggler { border-color: rgba(255,255,255,.3); }
.site-header .navbar-toggler-icon { filter: invert(1); }
.site-header .search-form .search-field { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); color:#fff; }
.site-header .search-form .search-field::placeholder { color: rgba(255,255,255,.5); }

/* ── Nav "Launch app" CTA ─────────────────────────────────────────────────── */
.main-navigation .ms-nav-cta { display: flex; align-items: center; margin-left: .5rem; list-style: none; }
.main-navigation .ms-nav-cta .btn { color: #06122b !important; }

/* ── Eyebrow + sections ───────────────────────────────────────────────────── */
.ms-eyebrow, .rw-eyebrow {
	display: inline-block; font-family: var(--ms-display); font-weight: 600; font-size: .8rem;
	letter-spacing: .14em; text-transform: uppercase;
	background: var(--ms-gradient); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ms-section { padding: 5rem 0; }
.ms-section--mist { background: linear-gradient(180deg, #f5f8ff, #eef3ff); }
.ms-section--dark { background: var(--ms-ink); color: #c7d2f0; }
.ms-section--dark h2, .ms-section--dark h3 { color: #fff; }

/* ── Hero (dark, gradient glow, wire-grid) ────────────────────────────────── */
.wpb-hero, .ms-hero {
	position: relative; overflow: hidden; color: #eaf0ff;
	background:
		radial-gradient(900px 500px at 78% -10%, rgba(177,76,255,.28), transparent 60%),
		radial-gradient(800px 500px at 10% 10%, rgba(45,226,230,.20), transparent 55%),
		linear-gradient(180deg, var(--ms-void), var(--ms-ink) 70%);
	padding: 6rem 0 5rem;
}
.ms-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
	background-image: linear-gradient(rgba(91,140,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(91,140,255,.07) 1px, transparent 1px);
	background-size: 44px 44px; mask-image: radial-gradient(70% 60% at 50% 40%, #000, transparent);
}
.ms-hero .container { position: relative; z-index: 1; }
.ms-hero h1 { color: #fff; }
.ms-hero .lead { color: #b9c6ee; }
.ms-hero-badge {
	display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .8rem; border-radius: 999px;
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); color: #cdd8f7; font-size: .85rem;
}
.ms-hero-badge .dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--ms-cyan); box-shadow: 0 0 12px var(--ms-cyan); }
.ms-hero-trust { color: #8fa0cf; font-size: .9rem; }
.ms-hero-trust .bi-star-fill { color: var(--ms-cyan); }

/* Hero visual: floating massing card */
.ms-hero-visual { position: relative; min-height: 320px; }
.ms-glass {
	background: linear-gradient(180deg, rgba(20,27,58,.9), rgba(11,17,38,.92));
	border: 1px solid rgba(120,150,255,.22); border-radius: 1.1rem;
	box-shadow: 0 30px 80px -30px rgba(0,0,0,.7); padding: 1.1rem 1.25rem; color: #dce5ff;
}
.ms-hero-visual .ms-mark { width: 100%; max-width: 360px; display: block; margin: 0 auto; filter: drop-shadow(0 20px 50px rgba(91,140,255,.35)); }
.ms-hero-anim { width: 100%; height: auto; display: block; border-radius: 1rem; border: 1px solid rgba(120,150,255,.22); box-shadow: 0 30px 80px -30px rgba(0,0,0,.7); }
.ms-lifecycle { width: 100%; max-width: 960px; height: auto; display: block; margin-inline: auto; border-radius: 1rem; border: 1px solid rgba(255,255,255,.09); box-shadow: 0 24px 70px -34px rgba(0,0,0,.65); }

/* Hero OS chips */
.ms-hero-os { margin-top: 1rem; color: #9fb0dc; font-weight: 600; font-size: .9rem; display: flex; align-items: center; gap: .5rem; justify-content: center; }
.ms-hero-os span { color: #55648f; }
.ms-hero-os .bi { color: var(--ms-cyan); }
@media (min-width: 992px) { .ms-hero-os { justify-content: flex-start; } }

/* ── Highlight-reel slides (LinkedIn carousel on-site) ────────────────────── */
.ms-slides { display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .5rem .25rem 1.25rem; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.ms-slides::-webkit-scrollbar { height: 8px; }
.ms-slides::-webkit-scrollbar-thumb { background: rgba(120,150,255,.35); border-radius: 8px; }
.ms-slide { scroll-snap-align: center; flex: 0 0 clamp(260px, 78vw, 340px); min-height: 340px; display: flex; flex-direction: column;
	background: linear-gradient(180deg, rgba(20,27,58,.9), rgba(11,17,38,.95)); border: 1px solid rgba(120,150,255,.18);
	border-radius: 1.1rem; padding: 1.6rem 1.5rem; position: relative; overflow: hidden; }
.ms-slide::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--slide-accent, var(--ms-blue)); }
.ms-slide::after { content: ""; position: absolute; width: 220px; height: 220px; right: -80px; top: -80px; border-radius: 50%;
	background: radial-gradient(circle, var(--slide-accent, var(--ms-blue)), transparent 70%); opacity: .16; }
.ms-slide__eyebrow { font-family: var(--ms-display); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--slide-accent, var(--ms-blue)); }
.ms-slide__title { font-family: var(--ms-display); color: #fff; font-size: 1.5rem; line-height: 1.12; margin: .8rem 0 0; letter-spacing: -.01em; }
.ms-slide__rule { display: block; width: 44px; height: 3px; border-radius: 3px; background: var(--slide-accent, var(--ms-blue)); margin: 1rem 0; }
.ms-slide__text { color: #b9c6ee; font-size: .98rem; margin: 0; flex: 1; }
.ms-slide__brand { color: #6f7da6; font-size: .85rem; margin-top: 1rem; }
.ms-slide--acq  { --slide-accent: #5B8CFF; }
.ms-slide--cost { --slide-accent: #2DE2E6; }
.ms-slide--gc   { --slide-accent: #34d399; }
.ms-slide--fin  { --slide-accent: #f5a623; }
.ms-slide--open { --slide-accent: #ff6ea9; }
.ms-slide--life { --slide-accent: #B14CFF; }

/* ── Promo video ──────────────────────────────────────────────────────────── */
.ms-video { max-width: 920px; margin-inline: auto; border-radius: 1rem; overflow: hidden; border: 1px solid rgba(120,150,255,.22); box-shadow: 0 30px 80px -30px rgba(0,0,0,.7); background: #05070f; }
.ms-video__el { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #05070f; }
.ms-float {
	position: absolute; border-radius: .8rem; padding: .6rem .85rem; font-size: .85rem; font-weight: 600;
	background: rgba(11,17,38,.92); border: 1px solid rgba(120,150,255,.3); color: #eaf0ff;
	box-shadow: 0 16px 40px -16px rgba(0,0,0,.8);
}
.ms-float--metric { top: 8%; right: 2%; }
.ms-float--metric .n { font-family: var(--ms-display); font-size: 1.3rem; background: var(--ms-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ms-float--tag { bottom: 6%; left: 0; }
.ms-float--tag .bi { color: var(--ms-cyan); }

/* ── "Replaces" strip ─────────────────────────────────────────────────────── */
.ms-replaces { background: var(--ms-ink-2); color: #aab6dd; }
.ms-replaces__lead { font-size: .85rem; text-transform: uppercase; letter-spacing: .12em; color: #9aa6cf; }
.ms-replaces__row { display: flex; flex-wrap: wrap; gap: 1.5rem 2.2rem; justify-content: center; font-weight: 600; color: #cdd8f7; }
.ms-replaces__row .bi { color: var(--ms-cyan); margin-right: .35rem; }

/* ── Icon boxes / feature cards ───────────────────────────────────────────── */
.wpb-icon-box, .ms-card {
	background: #fff; border: 1px solid var(--ms-line); border-radius: 1rem; padding: 1.6rem;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.wpb-icon-box:hover, .ms-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -22px rgba(14,20,48,.4); border-color: rgba(91,140,255,.4); }
.wpb-icon-box__icon, .ms-card__icon {
	width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: .8rem; margin-bottom: 1rem;
	background: var(--ms-gradient-soft); color: #3a6bff; font-size: 1.4rem;
}
.ms-card__icon .bi { background: var(--ms-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ── Problem cards ────────────────────────────────────────────────────────── */
.ms-prob { background:#fff; border:1px solid var(--ms-line); border-left: 4px solid var(--ms-violet); border-radius: .9rem; padding: 1.5rem; }
.ms-prob__icon { font-size: 1.5rem; color: var(--ms-violet); }

/* ── Pricing (4-tier) ─────────────────────────────────────────────────────── */
.ms-price {
	background: #fff; border: 1px solid var(--ms-line); border-radius: 1.1rem; padding: 1.8rem 1.6rem; height: 100%;
	display: flex; flex-direction: column;
}
.ms-price h3 { font-size: 1.15rem; }
.ms-price__audience { color: var(--ms-text-soft); font-size: .85rem; min-height: 2.4em; }
.ms-price__amt { font-family: var(--ms-display); font-size: 2.6rem; font-weight: 700; color: var(--ms-ink); margin: .4rem 0; }
.ms-price__per { font-size: .95rem; color: var(--ms-text-soft); font-weight: 500; }
.ms-price ul { list-style: none; padding: 0; margin: 1rem 0 1.4rem; flex: 1; }
.ms-price ul li { padding: .4rem 0 .4rem 1.6rem; position: relative; font-size: .92rem; border-bottom: 1px dashed var(--ms-line); }
.ms-price ul li::before { content: "\F26E"; font-family: "bootstrap-icons"; position: absolute; left: 0; color: #2bb8a6; }
.ms-price--featured {
	border: 0; position: relative; background: var(--ms-ink); color: #c7d2f0;
	box-shadow: 0 30px 70px -30px rgba(91,140,255,.6);
}
.ms-price--featured::before {
	content: ""; position: absolute; inset: -1px; border-radius: 1.15rem; padding: 1px; z-index: -1;
	background: var(--ms-gradient);
}
.ms-price--featured h3, .ms-price--featured .ms-price__amt { color: #fff; }
.ms-price--featured ul li { border-color: rgba(255,255,255,.12); }
.ms-price--featured ul li::before { color: var(--ms-cyan); }
.ms-price__flag {
	position: absolute; top: -.85rem; left: 50%; transform: translateX(-50%);
	background: var(--ms-gradient); color: #06122b; font-weight: 700; font-size: .72rem; letter-spacing: .06em;
	text-transform: uppercase; padding: .25rem .8rem; border-radius: 999px;
}

/* ── Pricing toggle (monthly / annual) ────────────────────────────────────── */
.ms-pricing { text-align: center; }
.ms-pricing .row { text-align: left; }
.ms-toggle { display: inline-flex; gap: .25rem; background: #e9eefb; border-radius: 999px; padding: .28rem; }
.ms-toggle__btn { border: 0; background: transparent; padding: .45rem 1.1rem; border-radius: 999px; font-weight: 600; color: var(--ms-ink); cursor: pointer; font-family: var(--ms-display); transition: background .15s ease; }
.ms-toggle__btn.is-active { background: #fff; box-shadow: 0 1px 4px rgba(14,20,48,.14); }
.ms-toggle__save { display: inline-block; font-size: .66rem; font-weight: 700; color: #1f9d86; background: rgba(45,226,230,.18); padding: .05rem .45rem; border-radius: 999px; margin-left: .3rem; vertical-align: middle; }
.ms-pricing .ms-amt--year { display: none; }
.ms-pricing.is-annual .ms-amt--month { display: none; }
.ms-pricing.is-annual .ms-amt--year { display: block; }
.ms-price__sub { font-size: .78rem; color: var(--ms-text-soft); margin: -.4rem 0 .5rem; }
.ms-price--featured .ms-price__sub { color: #9fb0dc; }

/* ── Add-ons ──────────────────────────────────────────────────────────────── */
.ms-addon-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ms-line); border-radius: 1rem; padding: 1.5rem; height: 100%; position: relative; }
.ms-addon-card__icon { position: absolute; top: 1.25rem; right: 1.25rem; font-size: 1.6rem; }
.ms-addon-card__icon .bi { background: var(--ms-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ms-addon-card__body { flex: 1; }
.ms-addon-card__list { margin: .5rem 0 0; }
.ms-addon-card__list li { font-size: .9rem; }
.ms-addon-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ms-line); }
.ms-addon-card__price { font-family: var(--ms-display); font-size: 1.6rem; font-weight: 700; color: var(--ms-ink); }
.ms-addon-card__yr { margin: .5rem 0 0; font-size: .82rem; }
.ms-addon-card__yr a { color: var(--ms-text-soft); }

/* ── Comparison table ─────────────────────────────────────────────────────── */
.ms-compare-table th, .ms-compare-table td { text-align: center; }
.ms-compare-table td:first-child, .ms-compare-table th:first-child { text-align: left; }
.ms-y::before { content: "\F26E"; font-family: "bootstrap-icons"; color: #2bb8a6; font-size: 1.1rem; }
.ms-n::before { content: "\F62A"; font-family: "bootstrap-icons"; color: #c2cad8; font-size: 1.1rem; }

/* ── Check lists ──────────────────────────────────────────────────────────── */
.ms-check { list-style: none; padding: 0; }
.ms-check li { padding: .35rem 0 .35rem 1.7rem; position: relative; }
.ms-check li::before { content: "\F26E"; font-family: "bootstrap-icons"; position: absolute; left: 0; color: #2bb8a6; }

/* ── Stats / trust band ───────────────────────────────────────────────────── */
.ms-stat__n { font-family: var(--ms-display); font-weight: 700; font-size: clamp(1.8rem, 1rem + 3vw, 2.8rem); line-height: 1.05; }
.ms-stat__l { font-size: .9rem; margin-top: .35rem; }

/* ── Pillars / risk reversal ──────────────────────────────────────────────── */
.ms-pillar { text-align: center; padding: 1.4rem 1rem; }
.ms-pillar__icon { width: 3.2rem; height: 3.2rem; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--ms-gradient-soft); }
.ms-pillar__icon .bi { font-size: 1.5rem; background: var(--ms-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ── Download cards ───────────────────────────────────────────────────────── */
.ms-dl-card { background: #fff; border: 1px solid var(--ms-line); border-radius: 1rem; padding: 1.75rem 1.5rem; text-align: center; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.ms-dl-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -22px rgba(14,20,48,.4); border-color: rgba(91,140,255,.4); }
.ms-dl-card__icon { font-size: 2.4rem; line-height: 1; margin-bottom: .5rem; }
.ms-dl-card__icon .bi { background: var(--ms-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ── Integrations row ─────────────────────────────────────────────────────── */
.ms-integrations { text-align: center; border-top: 1px solid var(--ms-line); padding-top: 1.75rem; }
.ms-integrations__lead { font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; color: var(--ms-text-soft); margin-bottom: 1rem; }
.ms-integrations__row { display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; justify-content: center; align-items: center; font-weight: 600; color: var(--ms-ink); }
.ms-integrations__row span { display: inline-flex; align-items: center; gap: .4rem; }
.ms-integrations__row .bi { color: #3a6bff; }

/* ── Lead capture ─────────────────────────────────────────────────────────── */
.ms-lead { background: var(--ms-gradient-soft); border: 1px solid var(--ms-line); border-radius: 1.2rem; padding: 2rem; }
.ms-lead__inner { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; justify-content: space-between; }
.ms-lead__copy { flex: 1; min-width: 260px; }
.ms-lead__title { margin: 0 0 .35rem; font-size: 1.3rem; }
.ms-lead__text { color: var(--ms-text-soft); margin: 0; font-size: .95rem; }
.ms-lead__form { display: flex; gap: .5rem; flex-wrap: wrap; }
.ms-lead__email { padding: .7rem .9rem; border: 1px solid var(--ms-line); border-radius: .6rem; min-width: 240px; }
.ms-lead__done { color: #1f9d86; font-weight: 600; }
@media (max-width: 575.98px) { .ms-lead { padding: 1.4rem; } .ms-lead__email { min-width: 0; flex: 1; } }

/* ── FAQ accordion ────────────────────────────────────────────────────────── */
.ms-faq .accordion-item { border: 1px solid var(--ms-line); border-radius: .8rem !important; margin-bottom: .75rem; overflow: hidden; }
.ms-faq .accordion-button { font-weight: 600; color: var(--ms-ink); }
.ms-faq .accordion-button:not(.collapsed) { background: var(--ms-gradient-soft); color: var(--ms-ink); box-shadow: none; }
.ms-faq .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(91,140,255,.25); }

/* ── Docs layout ──────────────────────────────────────────────────────────── */
.ms-doc h3 { margin-top: 2rem; }
.ms-doc code { background: #eef2fc; color: #3a4a7a; padding: .12rem .4rem; border-radius: .3rem; font-size: .9em; }
.ms-doc pre { background: var(--ms-ink); color: #cfe3ff; padding: 1rem 1.25rem; border-radius: .7rem; overflow:auto; }
.ms-doc pre code { background: none; color: inherit; }
.ms-doc table code { white-space: nowrap; }
.nav-pills .nav-link.active { background-image: var(--ms-gradient); color: #06122b; }
.nav-pills .nav-link { color: var(--ms-ink); }

/* ── Final CTA panel ──────────────────────────────────────────────────────── */
.ms-cta-panel {
	border-radius: 1.4rem; padding: 3.5rem 2rem; text-align: center; color: #eaf0ff; position: relative; overflow: hidden;
	background:
		radial-gradient(600px 300px at 80% 0%, rgba(177,76,255,.4), transparent 60%),
		radial-gradient(600px 300px at 10% 100%, rgba(45,226,230,.3), transparent 60%),
		linear-gradient(180deg, var(--ms-ink), var(--ms-ink-2));
}
.ms-cta-panel h2 { color: #fff; }
.ms-cta-panel .lead { color: #c2cee9; }

/* ── Footer (dark) ────────────────────────────────────────────────────────── */
.site-footer.ms-footer, .ms-footer { background: var(--ms-void); color: #9fabcf; }
.ms-footer__brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: #fff; font-family: var(--ms-display); font-weight: 700; font-size: 1.2rem; }
.ms-footer__brand img { height: 38px; width: auto; }
.ms-footer__tag { color: #9aa6c8; font-size: .92rem; margin: 1rem 0 1.25rem; max-width: 34ch; }
.ms-footer__h { color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1rem; }
.ms-footer__links { list-style: none; padding: 0; margin: 0; }
.ms-footer__links li { margin-bottom: .55rem; }
.ms-footer__links a { color: #9fabcf; text-decoration: none; }
.ms-footer__links a:hover { color: var(--ms-cyan); }
.ms-footer__contact { list-style: none; padding: 0; margin: 0; }
.ms-footer__contact li { margin-bottom: .4rem; }
.ms-footer__contact a { color: #9fabcf; text-decoration: none; font-size: .92rem; }
.ms-footer__contact a:hover { color: var(--ms-cyan); }
.ms-footer__bottom { border-top: 1px solid var(--ms-line-dk); color: #8e9abf; font-size: .9rem; }
.ms-footer__legal a { color: #9fabcf; text-decoration: none; margin-left: 1.1rem; }
.ms-footer__legal a:hover { color: #fff; }

/* ── WooCommerce price suffix ─────────────────────────────────────────────── */
.massing-per { font-size: .9rem; color: var(--ms-text-soft); }
.woocommerce ul.products li.product .price { color: var(--ms-ink); font-weight: 700; }

/* ── Reveal-on-scroll ─────────────────────────────────────────────────────── */
.ms-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.ms-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ms-reveal { opacity: 1; transform: none; transition: none; } }

/* ── Marketing template: let sections run edge-to-edge ────────────────────── */
.ms-marketing { overflow-x: clip; }

/* ── Mobile tuning (PageSpeed mobile + readability) ───────────────────────── */
@media (max-width: 575.98px) {
	.ms-section { padding: 3rem 0; }
	.wpb-hero, .ms-hero { padding: 3.5rem 0 3rem; }
	.ms-hero h1, .display-4 { font-size: 2rem; }
	.ms-cta-panel { padding: 2.25rem 1.25rem; border-radius: 1rem; }
	.ms-price { padding: 1.4rem 1.25rem; }
	.ms-price__amt { font-size: 2.2rem; }
	.ms-replaces__row { gap: .9rem 1.4rem; font-size: .92rem; }
	.ms-hero-visual { min-height: 0; margin-top: 1.5rem; }
}
/* Prevent any accidental horizontal scroll on small screens. */
@media (max-width: 767.98px) {
	html, body { overflow-x: hidden; }
	.ms-lifecycle { border-radius: .6rem; }
}
